Skip to content

Commit

Permalink
pr feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
kmcfaul committed Mar 25, 2024
1 parent af43060 commit 631fe5b
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 32 deletions.
2 changes: 2 additions & 0 deletions packages/react-core/src/components/Select/examples/Select.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';

Select builds off of the menu component suite to adapt commonly used properties and functions to create a select menu. See the [menu documentation](/components/menus/menu) for a full list of properties that may be used to further customize a select menu. View the [custom menu examples](/components/menus/custom-menus) to see examples of fully functional select menus.

For use cases that do not require a lot of customization, there are various template components available to use in the `@react-templates` package. These templates have a streamlined API and logic, making them easier to set up and use, but are limited in scope and flexibility. See the [templates page](/components/menus/select/react-templates) for details.

### Single select
To let users select a single item from a list, use a single select menu.

Expand Down
8 changes: 4 additions & 4 deletions packages/react-templates/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
"subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
},
"dependencies": {
"@patternfly/react-core": "^5.3.0-prerelease.4",
"@patternfly/react-icons": "^5.3.0-prerelease.0",
"@patternfly/react-styles": "^5.3.0-prerelease.0",
"@patternfly/react-tokens": "^5.3.0-prerelease.0",
"@patternfly/react-core": "^5.3.0-prerelease.9",
"@patternfly/react-icons": "^5.3.0-prerelease.1",
"@patternfly/react-styles": "^5.3.0-prerelease.1",
"@patternfly/react-tokens": "^5.3.0-prerelease.1",
"tslib": "^2.5.0"
},
"peerDependencies": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React from 'react';
import { Select, SelectList } from '@patternfly/react-core/dist/esm/components/Select';
import { MenuToggle, MenuToggleElement } from '@patternfly/react-core/dist/esm/components/MenuToggle';

export interface SimpleSelectProps {
export interface SelectSimpleProps {
/** @hide Forwarded ref */
innerRef?: React.Ref<any>;
/** Initial options of the select. */
Expand All @@ -17,15 +17,15 @@ export interface SimpleSelectProps {
toggleContent?: React.ReactNode;
}

const SimpleSelectBase: React.FunctionComponent<SimpleSelectProps> = ({
const SelectSimpleBase: React.FunctionComponent<SelectSimpleProps> = ({
innerRef,
initialOptions,
isDisabled,
onSelect,
onToggle,
toggleContent,
...props
}: SimpleSelectProps) => {
}: SelectSimpleProps) => {
const [isOpen, setIsOpen] = React.useState(false);
const [selected, setSelected] = React.useState<string>('Select a value');

Expand Down Expand Up @@ -57,26 +57,24 @@ const SimpleSelectBase: React.FunctionComponent<SimpleSelectProps> = ({
);

return (
<React.Fragment>
<Select
id="single-select"
isOpen={isOpen}
selected={selected}
onSelect={_onSelect}
onOpenChange={(isOpen) => setIsOpen(isOpen)}
toggle={toggle}
shouldFocusToggleOnSelect
ref={innerRef}
{...props}
>
<SelectList>{initialOptions}</SelectList>
</Select>
</React.Fragment>
<Select
id="single-select"
isOpen={isOpen}
selected={selected}
onSelect={_onSelect}
onOpenChange={(isOpen) => setIsOpen(isOpen)}
toggle={toggle}
shouldFocusToggleOnSelect
ref={innerRef}
{...props}
>
<SelectList>{initialOptions}</SelectList>
</Select>
);
};

export const SimpleSelect = React.forwardRef((props: SimpleSelectProps, ref: React.Ref<any>) => (
<SimpleSelectBase {...props} innerRef={ref} />
export const SelectSimple = React.forwardRef((props: SelectSimpleProps, ref: React.Ref<any>) => (
<SelectSimpleBase {...props} innerRef={ref} />
));

SimpleSelect.displayName = 'SelectOption';
SelectSimple.displayName = 'SelectSimple';
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React from 'react';
import { SelectOption, Checkbox } from '@patternfly/react-core';
import { SimpleSelect } from '@patternfly/react-templates';
import { SelectSimple } from '@patternfly/react-templates';

export const SelectBasic: React.FunctionComponent = () => {
export const SelectSimpleDemo: React.FunctionComponent = () => {
const [isDisabled, setIsDisabled] = React.useState<boolean>(false);

const initialOptions = [
Expand All @@ -26,7 +26,7 @@ export const SelectBasic: React.FunctionComponent = () => {
onChange={(_event, checked) => setIsDisabled(checked)}
style={{ marginBottom: 20 }}
/>
<SimpleSelect initialOptions={initialOptions} isDisabled={isDisabled} />
<SelectSimple initialOptions={initialOptions} isDisabled={isDisabled} />
</React.Fragment>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ propComponents: ['SimpleSelect']

Note: Templates live in their own package at [@patternfly/react-templates](https://www.npmjs.com/package/@patternfly/react-templates)!

For custom use cases, please the select component suite from [@patternfly/react-core](https://www.npmjs.com/package/@patternfly/react-core).
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 { SimpleSelect } from '@patternfly/react-templates';
import { SelectSimple } from '@patternfly/react-templates';

## Select template examples

### Simple

```ts file="SimpleSelectDemo.tsx"
```ts file="SelectSimpleDemo.tsx"

```
2 changes: 1 addition & 1 deletion packages/react-templates/src/components/Select/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export * from './SimpleSelect';
export * from './SelectSimple';
7 changes: 7 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3988,10 +3988,17 @@
puppeteer-cluster "^0.23.0"
xmldoc "^1.1.2"

<<<<<<< HEAD
"@patternfly/[email protected]":
version "5.3.0-prerelease.4"
resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-5.3.0-prerelease.4.tgz#e7285a2e143165da0d92d6578d398a817ee1d553"
integrity sha512-YnNdxS+IR13EeFvANWRO09d5KhG4xwVVj137qRZD+qD7cZnGq9F4YJ8+dG88dBgoT+XLkM1spM2EaLxJms5l+Q==
=======
"@patternfly/[email protected]":
version "5.2.1"
resolved "https://registry.yarnpkg.com/@patternfly/patternfly/-/patternfly-5.2.1.tgz#7ca014a1fdb45c8ac88abf7b57fccb8731e27542"
integrity sha512-n5xFjyj1J4eIFZ7XeU6K44POKRAuDlO5yALPbn084y+jPy1j861AaQ+zIUbzCi4IzBlHrvoXVKij7p1zy7Ditg==
>>>>>>> 671866f40 (pr feedback)

"@pkgjs/parseargs@^0.11.0":
version "0.11.0"
Expand Down

0 comments on commit 631fe5b

Please sign in to comment.