diff --git a/packages/react-templates/src/components/Dropdown/DropdownSimple.tsx b/packages/react-templates/src/components/Dropdown/SimpleDropdown.tsx similarity index 89% rename from packages/react-templates/src/components/Dropdown/DropdownSimple.tsx rename to packages/react-templates/src/components/Dropdown/SimpleDropdown.tsx index 580691996d3..31e770ea1a0 100644 --- a/packages/react-templates/src/components/Dropdown/DropdownSimple.tsx +++ b/packages/react-templates/src/components/Dropdown/SimpleDropdown.tsx @@ -10,7 +10,7 @@ import { MenuToggle, MenuToggleElement, MenuToggleProps } from '@patternfly/reac import { Divider } from '@patternfly/react-core/dist/esm/components/Divider'; import { OUIAProps } from '@patternfly/react-core/dist/esm/helpers'; -export interface DropdownSimpleItem extends Omit { +export interface SimpleDropdownItem extends Omit { /** Content of the dropdown item. If the isDivider prop is true, this prop will be ignored. */ content?: React.ReactNode; /** Unique identifier for the dropdown item, which is used in the dropdown onSelect callback */ @@ -25,9 +25,9 @@ export interface DropdownSimpleItem extends Omit { isDivider?: boolean; } -export interface DropdownSimpleProps extends Omit, OUIAProps { +export interface SimpleDropdownProps extends Omit, OUIAProps { /** Initial items of the dropdown. */ - initialItems?: DropdownSimpleItem[]; + initialItems?: SimpleDropdownItem[]; /** @hide Forwarded ref */ innerRef?: React.Ref; /** Flag indicating the dropdown should be disabled. */ @@ -54,7 +54,7 @@ export interface DropdownSimpleProps extends Omit, OUIA toggleProps?: MenuToggleProps; } -const DropdownSimpleBase: React.FunctionComponent = ({ +const SimpleDropdownBase: React.FunctionComponent = ({ innerRef, initialItems, onSelect: onSelectProp, @@ -68,7 +68,7 @@ const DropdownSimpleBase: React.FunctionComponent = ({ toggleProps, shouldFocusToggleOnSelect, ...props -}: DropdownSimpleProps) => { +}: SimpleDropdownProps) => { const [isOpen, setIsOpen] = React.useState(false); const onSelect = (event: React.MouseEvent, value: string | number) => { @@ -132,8 +132,8 @@ const DropdownSimpleBase: React.FunctionComponent = ({ ); }; -export const DropdownSimple = React.forwardRef((props: DropdownSimpleProps, ref: React.Ref) => ( - +export const SimpleDropdown = React.forwardRef((props: SimpleDropdownProps, ref: React.Ref) => ( + )); -DropdownSimple.displayName = 'DropdownSimple'; +SimpleDropdown.displayName = 'SimpleDropdown'; diff --git a/packages/react-templates/src/components/Dropdown/__tests__/DropdownSimple.test.tsx b/packages/react-templates/src/components/Dropdown/__tests__/SimpleDropdown.test.tsx similarity index 84% rename from packages/react-templates/src/components/Dropdown/__tests__/DropdownSimple.test.tsx rename to packages/react-templates/src/components/Dropdown/__tests__/SimpleDropdown.test.tsx index ddd8b37df66..3df52331954 100644 --- a/packages/react-templates/src/components/Dropdown/__tests__/DropdownSimple.test.tsx +++ b/packages/react-templates/src/components/Dropdown/__tests__/SimpleDropdown.test.tsx @@ -1,30 +1,30 @@ import * as React from 'react'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { DropdownSimple } from '../DropdownSimple'; +import { SimpleDropdown } from '../SimpleDropdown'; import styles from '@patternfly/react-styles/css/components/MenuToggle/menu-toggle'; describe('Dropdown toggle', () => { test('Renders dropdown toggle as not disabled when isDisabled is not true', () => { - render(); + render(); expect(screen.getByRole('button', { name: 'Dropdown' })).not.toBeDisabled(); }); test('Renders dropdown toggle as disabled when isDisabled is true', () => { - render(); + render(); expect(screen.getByRole('button', { name: 'Dropdown' })).toBeDisabled(); }); test('Passes toggleVariant', () => { - render(); + render(); expect(screen.getByRole('button', { name: 'Dropdown' })).toHaveClass(styles.modifiers.plain); }); test('Passes toggleAriaLabel', () => { - render(); + render(); expect(screen.getByRole('button')).toHaveAccessibleName('Aria label content'); }); @@ -32,7 +32,7 @@ describe('Dropdown toggle', () => { test('Calls onToggle with next isOpen state when dropdown toggle is clicked', async () => { const onToggle = jest.fn(); const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -46,7 +46,7 @@ describe('Dropdown toggle', () => { render(
- +
); @@ -59,7 +59,7 @@ describe('Dropdown toggle', () => { const onSelect = jest.fn(); const items = [{ content: 'Action', value: 1 }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -73,7 +73,7 @@ describe('Dropdown toggle', () => { const onSelect = jest.fn(); const items = [{ content: 'Action', value: 1 }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -82,13 +82,13 @@ describe('Dropdown toggle', () => { }); test('Does not pass isToggleFullWidth to menu toggle by default', () => { - render(); + render(); expect(screen.getByRole('button', { name: 'Dropdown' })).not.toHaveClass(styles.modifiers.fullWidth); }); test('Passes isToggleFullWidth to menu toggle when passed in', () => { - render(); + render(); expect(screen.getByRole('button', { name: 'Dropdown' })).toHaveClass(styles.modifiers.fullWidth); }); @@ -96,7 +96,7 @@ describe('Dropdown toggle', () => { test('Does not focus toggle on item select by default', async () => { const items = [{ content: 'Action', value: 1 }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -109,7 +109,7 @@ describe('Dropdown toggle', () => { test('Focuses toggle on item select when shouldFocusToggleOnSelect is true', async () => { const items = [{ content: 'Action', value: 1 }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -120,7 +120,7 @@ describe('Dropdown toggle', () => { }); test('Matches snapshot', () => { - const { asFragment } = render(); + const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); }); @@ -133,7 +133,7 @@ describe('Dropdown items', () => { { value: 'separator', isDivider: true } ]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -147,7 +147,7 @@ describe('Dropdown items', () => { test('Renders with a link item', async () => { const items = [{ content: 'Link', value: 1, to: '#' }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -159,7 +159,7 @@ describe('Dropdown items', () => { test('Renders with items not disabled by default', async () => { const items = [{ content: 'Action', value: 1 }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -171,7 +171,7 @@ describe('Dropdown items', () => { test('Renders with a disabled item', async () => { const items = [{ content: 'Action', value: 1, isDisabled: true }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -183,7 +183,7 @@ describe('Dropdown items', () => { test('Spreads props on item', async () => { const items = [{ content: 'Action', value: 1, id: 'Test' }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -196,7 +196,7 @@ describe('Dropdown items', () => { const onClick = jest.fn(); const items = [{ content: 'Action', value: 1, onClick }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -213,7 +213,7 @@ describe('Dropdown items', () => { { content: 'Action 2', value: 2 } ]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -227,7 +227,7 @@ describe('Dropdown items', () => { const onClick = jest.fn(); const items = [{ content: 'Action', value: 1, onClick, isDisabled: true }]; const user = userEvent.setup(); - render(); + render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); @@ -244,7 +244,7 @@ describe('Dropdown items', () => { { content: 'Link', value: 'separator', to: '#', ouiaId: '3' } ]; const user = userEvent.setup(); - const { asFragment } = render(); + const { asFragment } = render(); const toggle = screen.getByRole('button', { name: 'Dropdown' }); await user.click(toggle); diff --git a/packages/react-templates/src/components/Dropdown/__tests__/__snapshots__/DropdownSimple.test.tsx.snap b/packages/react-templates/src/components/Dropdown/__tests__/__snapshots__/SimpleDropdown.test.tsx.snap similarity index 100% rename from packages/react-templates/src/components/Dropdown/__tests__/__snapshots__/DropdownSimple.test.tsx.snap rename to packages/react-templates/src/components/Dropdown/__tests__/__snapshots__/SimpleDropdown.test.tsx.snap diff --git a/packages/react-templates/src/components/Dropdown/examples/DropdownTemplates.md b/packages/react-templates/src/components/Dropdown/examples/DropdownTemplates.md index b34291beb88..92382f1b179 100644 --- a/packages/react-templates/src/components/Dropdown/examples/DropdownTemplates.md +++ b/packages/react-templates/src/components/Dropdown/examples/DropdownTemplates.md @@ -4,30 +4,21 @@ section: components subsection: menus template: true beta: true -propComponents: ['DropdownSimple', 'DropdownSimpleItem'] +propComponents: ['SimpleDropdown', 'SimpleDropdownItem'] --- Note: Templates live in their own package at [@patternfly/react-templates](https://www.npmjs.com/package/@patternfly/react-templates)! For custom use cases, please see the dropdown component suite from [@patternfly/react-core](https://www.npmjs.com/package/@patternfly/react-core). -import { -Checkbox, -Divider, -Dropdown, -DropdownItem, -DropdownList, -Flex, -FlexItem, -MenuToggle -} from '@patternfly/react-core'; -import { DropdownSimple } from '@patternfly/react-templates'; +import { Checkbox, Flex, FlexItem } from '@patternfly/react-core'; +import { SimpleDropdown } from '@patternfly/react-templates'; import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon'; ## Examples ### Simple -```ts file="./DropdownSimpleExample.tsx" +```ts file="./SimpleDropdownExample.tsx" ``` diff --git a/packages/react-templates/src/components/Dropdown/examples/DropdownSimpleExample.tsx b/packages/react-templates/src/components/Dropdown/examples/SimpleDropdownExample.tsx similarity index 83% rename from packages/react-templates/src/components/Dropdown/examples/DropdownSimpleExample.tsx rename to packages/react-templates/src/components/Dropdown/examples/SimpleDropdownExample.tsx index 6129f7ff33f..449cd238a58 100644 --- a/packages/react-templates/src/components/Dropdown/examples/DropdownSimpleExample.tsx +++ b/packages/react-templates/src/components/Dropdown/examples/SimpleDropdownExample.tsx @@ -1,12 +1,12 @@ import React from 'react'; import { Checkbox, Flex, FlexItem } from '@patternfly/react-core'; -import { DropdownSimple, DropdownSimpleItem } from '@patternfly/react-templates'; +import { SimpleDropdown, SimpleDropdownItem } from '@patternfly/react-templates'; import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon'; -export const DropdownSimpleExample: React.FunctionComponent = () => { +export const SimpleDropdownExample: React.FunctionComponent = () => { const [isDisabled, setIsDisabled] = React.useState(false); - const items: DropdownSimpleItem[] = [ + const items: SimpleDropdownItem[] = [ // eslint-disable-next-line no-console { content: 'Action', value: 1, onClick: () => console.log('Action clicked') }, // Prevent default click behavior on link for example purposes @@ -21,17 +21,17 @@ export const DropdownSimpleExample: React.FunctionComponent = () => { , checked: boolean) => setIsDisabled(checked)} style={{ marginBottom: 20 }} /> - + - { /> - { +export interface SimpleSelectOption extends Omit { /** Content of the select option. */ content: React.ReactNode; /** Value of the select option. */ value: string | number; } -export interface SelectSimpleProps extends Omit { +export interface SimpleSelectProps extends Omit { /** @hide Forwarded ref */ innerRef?: React.Ref; /** Initial options of the select. */ - initialOptions?: SelectSimpleOption[]; + initialOptions?: SimpleSelectOption[]; /** Callback triggered on selection. */ onSelect?: (_event: React.MouseEvent, selection: string | number) => void; /** Callback triggered when the select opens or closes. */ @@ -34,7 +34,7 @@ export interface SelectSimpleProps extends Omit { toggleProps?: MenuToggleProps; } -const SelectSimpleBase: React.FunctionComponent = ({ +const SimpleSelectBase: React.FunctionComponent = ({ innerRef, initialOptions, isDisabled, @@ -44,7 +44,7 @@ const SelectSimpleBase: React.FunctionComponent = ({ toggleWidth = '200px', toggleProps, ...props -}: SelectSimpleProps) => { +}: SimpleSelectProps) => { const [isOpen, setIsOpen] = React.useState(false); const [selected, setSelected] = React.useState('Select a value'); @@ -106,8 +106,8 @@ const SelectSimpleBase: React.FunctionComponent = ({ ); }; -export const SelectSimple = React.forwardRef((props: SelectSimpleProps, ref: React.Ref) => ( - +export const SimpleSelect = React.forwardRef((props: SimpleSelectProps, ref: React.Ref) => ( + )); -SelectSimple.displayName = 'SelectSimple'; +SimpleSelect.displayName = 'SimpleSelect'; diff --git a/packages/react-templates/src/components/Select/SelectTypeahead.tsx b/packages/react-templates/src/components/Select/TypeaheadSelect.tsx similarity index 92% rename from packages/react-templates/src/components/Select/SelectTypeahead.tsx rename to packages/react-templates/src/components/Select/TypeaheadSelect.tsx index 943c3b695f9..eeb9bf37af1 100644 --- a/packages/react-templates/src/components/Select/SelectTypeahead.tsx +++ b/packages/react-templates/src/components/Select/TypeaheadSelect.tsx @@ -15,18 +15,18 @@ import { } from '@patternfly/react-core'; import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon'; -export interface SelectTypeaheadOption extends Omit { +export interface TypeaheadSelectOption extends Omit { /** Content of the select option. */ content: string | number; /** Value of the select option. */ value: string | number; } -export interface SelectTypeaheadProps extends Omit { +export interface TypeaheadSelectProps extends Omit { /** @hide Forwarded ref */ innerRef?: React.Ref; /** Initial options of the select. */ - initialOptions: SelectTypeaheadOption[]; + initialOptions: TypeaheadSelectOption[]; /** Callback triggered on selection. */ onSelect?: ( _event: React.MouseEvent | React.KeyboardEvent, @@ -48,7 +48,7 @@ export interface SelectTypeaheadProps extends Omit { toggleProps?: MenuToggleProps; } -export const SelectTypeaheadBase: React.FunctionComponent = ({ +export const TypeaheadSelectBase: React.FunctionComponent = ({ innerRef, initialOptions, onSelect, @@ -60,12 +60,12 @@ export const SelectTypeaheadBase: React.FunctionComponent toggleWidth, toggleProps, ...props -}: SelectTypeaheadProps) => { +}: TypeaheadSelectProps) => { const [isOpen, setIsOpen] = React.useState(false); const [selected, setSelected] = React.useState(''); const [inputValue, setInputValue] = React.useState(''); const [filterValue, setFilterValue] = React.useState(''); - const [selectOptions, setSelectOptions] = React.useState(initialOptions); + const [selectOptions, setSelectOptions] = React.useState(initialOptions); const [focusedItemIndex, setFocusedItemIndex] = React.useState(null); const [activeItemId, setActiveItemId] = React.useState(null); const textInputRef = React.useRef(); @@ -73,7 +73,7 @@ export const SelectTypeaheadBase: React.FunctionComponent const NO_RESULTS = 'no results'; React.useEffect(() => { - let newSelectOptions: SelectTypeaheadOption[] = initialOptions; + let newSelectOptions: TypeaheadSelectOption[] = initialOptions; // Filter menu items based on the text input value when one exists if (filterValue) { @@ -134,7 +134,7 @@ export const SelectTypeaheadBase: React.FunctionComponent const selectOption = ( _event: React.MouseEvent | React.KeyboardEvent | undefined, - option: SelectTypeaheadOption + option: TypeaheadSelectOption ) => { onSelect && onSelect(_event, option.value); @@ -317,10 +317,10 @@ export const SelectTypeaheadBase: React.FunctionComponent ); }; -SelectTypeaheadBase.displayName = 'SelectTypeaheadBase'; +TypeaheadSelectBase.displayName = 'TypeaheadSelectBase'; -export const SelectTypeahead = React.forwardRef((props: SelectTypeaheadProps, ref: React.Ref) => ( - +export const TypeaheadSelect = React.forwardRef((props: TypeaheadSelectProps, ref: React.Ref) => ( + )); -SelectTypeahead.displayName = 'SelectTypeahead'; +TypeaheadSelect.displayName = 'TypeaheadSelect'; diff --git a/packages/react-templates/src/components/Select/examples/SelectTemplates.md b/packages/react-templates/src/components/Select/examples/SelectTemplates.md index db22de4f084..237d67df510 100644 --- a/packages/react-templates/src/components/Select/examples/SelectTemplates.md +++ b/packages/react-templates/src/components/Select/examples/SelectTemplates.md @@ -4,21 +4,21 @@ section: components subsection: menus template: true beta: true -propComponents: ['SelectSimple', 'CheckboxSelect', 'SelectTypeahead'] +propComponents: ['SimpleSelect', 'CheckboxSelect', 'TypeaheadSelect'] --- Note: Templates live in their own package at [@patternfly/react-templates](https://www.npmjs.com/package/@patternfly/react-templates)! For custom use cases, please see the select component suite from [@patternfly/react-core](https://www.npmjs.com/package/@patternfly/react-core). -import { SelectOption, Checkbox } from '@patternfly/react-core'; -import { SelectSimple, CheckboxSelect, SelectTypeahead } from '@patternfly/react-templates'; +import { Checkbox } from '@patternfly/react-core'; +import { SimpleSelect, CheckboxSelect, TypeaheadSelect } from '@patternfly/react-templates'; ## Select template examples ### Simple -```ts file="SelectSimpleDemo.tsx" +```ts file="SimpleSelectDemo.tsx" ``` @@ -30,6 +30,6 @@ import { SelectSimple, CheckboxSelect, SelectTypeahead } from '@patternfly/react ### Typeahead -```ts file="SelectTypeaheadDemo.tsx" +```ts file="TypeaheadSelectDemo.tsx" ``` diff --git a/packages/react-templates/src/components/Select/examples/SelectSimpleDemo.tsx b/packages/react-templates/src/components/Select/examples/SimpleSelectDemo.tsx similarity index 80% rename from packages/react-templates/src/components/Select/examples/SelectSimpleDemo.tsx rename to packages/react-templates/src/components/Select/examples/SimpleSelectDemo.tsx index 4fa50b9825a..3a2d67f277a 100644 --- a/packages/react-templates/src/components/Select/examples/SelectSimpleDemo.tsx +++ b/packages/react-templates/src/components/Select/examples/SimpleSelectDemo.tsx @@ -1,11 +1,11 @@ import React from 'react'; import { Checkbox } from '@patternfly/react-core'; -import { SelectSimple, SelectSimpleOption } from '@patternfly/react-templates'; +import { SimpleSelect, SimpleSelectOption } from '@patternfly/react-templates'; export const SelectSimpleDemo: React.FunctionComponent = () => { const [isDisabled, setIsDisabled] = React.useState(false); - const initialOptions: SelectSimpleOption[] = [ + const initialOptions: SimpleSelectOption[] = [ { content: 'Option 1', value: 'Option 1' }, { content: 'Option 2', value: 'Option 2', description: 'Option with description' }, { content: 'Option 3', value: 'Option 3' } @@ -20,7 +20,7 @@ export const SelectSimpleDemo: React.FunctionComponent = () => { onChange={(_event, checked) => setIsDisabled(checked)} style={{ marginBottom: 20 }} /> - + ); }; diff --git a/packages/react-templates/src/components/Select/examples/SelectTypeaheadDemo.tsx b/packages/react-templates/src/components/Select/examples/TypeaheadSelectDemo.tsx similarity index 81% rename from packages/react-templates/src/components/Select/examples/SelectTypeaheadDemo.tsx rename to packages/react-templates/src/components/Select/examples/TypeaheadSelectDemo.tsx index d189783d3f0..765fda790b2 100644 --- a/packages/react-templates/src/components/Select/examples/SelectTypeaheadDemo.tsx +++ b/packages/react-templates/src/components/Select/examples/TypeaheadSelectDemo.tsx @@ -1,8 +1,8 @@ import React from 'react'; -import { SelectTypeahead, SelectTypeaheadOption } from '@patternfly/react-templates'; +import { TypeaheadSelect, TypeaheadSelectOption } from '@patternfly/react-templates'; export const SelectTypeaheadDemo: React.FunctionComponent = () => { - const initialOptions: SelectTypeaheadOption[] = [ + const initialOptions: TypeaheadSelectOption[] = [ { content: 'Alabama', value: 'option1' }, { content: 'Florida', value: 'option2' }, { content: 'New Jersey', value: 'option3' }, @@ -12,7 +12,7 @@ export const SelectTypeaheadDemo: React.FunctionComponent = () => { ]; return ( - `No state was found for "${filter}"`} diff --git a/packages/react-templates/src/components/Select/index.ts b/packages/react-templates/src/components/Select/index.ts index c01277b9ccc..b5a5cb3446e 100644 --- a/packages/react-templates/src/components/Select/index.ts +++ b/packages/react-templates/src/components/Select/index.ts @@ -1,3 +1,3 @@ -export * from './SelectSimple'; +export * from './SimpleSelect'; export * from './CheckboxSelect'; -export * from './SelectTypeahead'; +export * from './TypeaheadSelect';