@patternfly/react-core 6.0.0-alpha.33 → 6.0.0-alpha.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/DragDrop/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -0
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/Modal/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/esm/components/Label/Label.d.ts.map +1 -1
- package/dist/esm/components/Label/Label.js +8 -1
- package/dist/esm/components/Label/Label.js.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/esm/components/Toolbar/ToolbarFilter.js +2 -3
- package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/{components → deprecated/components}/Chip/Chip.d.ts +6 -18
- package/dist/esm/deprecated/components/Chip/Chip.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Chip/Chip.js +35 -0
- package/dist/esm/deprecated/components/Chip/Chip.js.map +1 -0
- package/dist/esm/{components → deprecated/components}/Chip/ChipGroup.d.ts +7 -14
- package/dist/esm/deprecated/components/Chip/ChipGroup.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Chip/ChipGroup.js +29 -0
- package/dist/esm/deprecated/components/Chip/ChipGroup.js.map +1 -0
- package/dist/esm/deprecated/components/Chip/index.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Chip/index.js.map +1 -0
- package/dist/esm/deprecated/components/Select/Select.d.ts +1 -1
- package/dist/esm/deprecated/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/deprecated/components/Select/Select.js +2 -2
- package/dist/esm/deprecated/components/Select/Select.js.map +1 -1
- package/dist/esm/deprecated/components/index.d.ts +1 -0
- package/dist/esm/deprecated/components/index.d.ts.map +1 -1
- package/dist/esm/deprecated/components/index.js +1 -0
- package/dist/esm/deprecated/components/index.js.map +1 -1
- package/dist/js/components/Label/Label.d.ts.map +1 -1
- package/dist/js/components/Label/Label.js +8 -1
- package/dist/js/components/Label/Label.js.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
- package/dist/js/components/Toolbar/ToolbarFilter.js +2 -3
- package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
- package/dist/js/components/index.d.ts +0 -1
- package/dist/js/components/index.d.ts.map +1 -1
- package/dist/js/components/index.js +0 -1
- package/dist/js/components/index.js.map +1 -1
- package/dist/js/{components → deprecated/components}/Chip/Chip.d.ts +6 -18
- package/dist/js/deprecated/components/Chip/Chip.d.ts.map +1 -0
- package/dist/js/deprecated/components/Chip/Chip.js +38 -0
- package/dist/js/deprecated/components/Chip/Chip.js.map +1 -0
- package/dist/js/{components → deprecated/components}/Chip/ChipGroup.d.ts +7 -14
- package/dist/js/deprecated/components/Chip/ChipGroup.d.ts.map +1 -0
- package/dist/js/deprecated/components/Chip/ChipGroup.js +32 -0
- package/dist/js/deprecated/components/Chip/ChipGroup.js.map +1 -0
- package/dist/js/deprecated/components/Chip/index.d.ts.map +1 -0
- package/dist/js/deprecated/components/Chip/index.js.map +1 -0
- package/dist/js/deprecated/components/Select/Select.d.ts +1 -1
- package/dist/js/deprecated/components/Select/Select.d.ts.map +1 -1
- package/dist/js/deprecated/components/Select/Select.js +2 -2
- package/dist/js/deprecated/components/Select/Select.js.map +1 -1
- package/dist/js/deprecated/components/index.d.ts +1 -0
- package/dist/js/deprecated/components/index.d.ts.map +1 -1
- package/dist/js/deprecated/components/index.js +1 -0
- package/dist/js/deprecated/components/index.js.map +1 -1
- package/dist/umd/react-core.min.js +2 -2
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Label/Label.tsx +8 -1
- package/src/components/Select/examples/SelectMultiTypeahead.tsx +8 -7
- package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +8 -7
- package/src/components/TextInputGroup/examples/TextInputGroupFilters.tsx +12 -6
- package/src/components/Toolbar/ToolbarFilter.tsx +7 -8
- package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +29 -44
- package/src/components/index.ts +0 -1
- package/src/demos/examples/TextInputGroup/AttributeValueFiltering.tsx +7 -7
- package/src/demos/examples/TextInputGroup/AutoCompleteSearch.tsx +7 -7
- package/src/deprecated/components/Chip/Chip.tsx +104 -0
- package/src/deprecated/components/Chip/ChipGroup.tsx +111 -0
- package/src/{components → deprecated/components}/Chip/__tests__/Chip.test.tsx +25 -60
- package/src/{components → deprecated/components}/Chip/__tests__/ChipGroup.test.tsx +11 -28
- package/src/{components → deprecated/components}/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +11 -12
- package/src/{components → deprecated/components}/Chip/__tests__/__snapshots__/ChipGroup.test.tsx.snap +6 -8
- package/src/{components → deprecated/components}/Chip/examples/Chip.md +6 -0
- package/src/{components → deprecated/components}/Chip/examples/ChipDefault.tsx +2 -1
- package/src/{components → deprecated/components}/Chip/examples/ChipGroupInline.tsx +1 -1
- package/src/{components → deprecated/components}/Chip/examples/ChipGroupRemovableCategories.tsx +1 -1
- package/src/{components → deprecated/components}/Chip/examples/ChipGroupWithCategories.tsx +1 -1
- package/src/deprecated/components/Select/Select.tsx +2 -2
- package/src/deprecated/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +25 -31
- package/src/deprecated/components/Select/examples/Select.md +1 -1
- package/src/deprecated/components/index.ts +1 -0
- package/dist/dynamic/components/Chip/package.json +0 -1
- package/dist/esm/components/Chip/Chip.d.ts.map +0 -1
- package/dist/esm/components/Chip/Chip.js +0 -95
- package/dist/esm/components/Chip/Chip.js.map +0 -1
- package/dist/esm/components/Chip/ChipGroup.d.ts.map +0 -1
- package/dist/esm/components/Chip/ChipGroup.js +0 -87
- package/dist/esm/components/Chip/ChipGroup.js.map +0 -1
- package/dist/esm/components/Chip/index.d.ts.map +0 -1
- package/dist/esm/components/Chip/index.js.map +0 -1
- package/dist/js/components/Chip/Chip.d.ts.map +0 -1
- package/dist/js/components/Chip/Chip.js +0 -98
- package/dist/js/components/Chip/Chip.js.map +0 -1
- package/dist/js/components/Chip/ChipGroup.d.ts.map +0 -1
- package/dist/js/components/Chip/ChipGroup.js +0 -90
- package/dist/js/components/Chip/ChipGroup.js.map +0 -1
- package/dist/js/components/Chip/index.d.ts.map +0 -1
- package/dist/js/components/Chip/index.js.map +0 -1
- package/src/components/Chip/Chip.tsx +0 -216
- package/src/components/Chip/ChipGroup.tsx +0 -214
- /package/dist/esm/{components → deprecated/components}/Chip/index.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Chip/index.js +0 -0
- /package/dist/js/{components → deprecated/components}/Chip/index.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Chip/index.js +0 -0
- /package/src/{components → deprecated/components}/Chip/index.ts +0 -0
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-alpha.33","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-alpha.33","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-alpha.33","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.0.0-alpha.
|
|
3
|
+
"version": "6.0.0-alpha.34",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"react": "^17 || ^18",
|
|
74
74
|
"react-dom": "^17 || ^18"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "63b08e20d51c68fd202a07d2dadf798b994226ad"
|
|
77
77
|
}
|
|
@@ -202,13 +202,20 @@ export const Label: React.FunctionComponent<LabelProps> = ({
|
|
|
202
202
|
|
|
203
203
|
const LabelComponent = (isOverflowLabel || isAddLabel ? 'button' : 'span') as any;
|
|
204
204
|
|
|
205
|
+
let _closeBtnAriaLabel = 'Close label';
|
|
206
|
+
if (closeBtnAriaLabel) {
|
|
207
|
+
_closeBtnAriaLabel = closeBtnAriaLabel;
|
|
208
|
+
} else if (typeof children === 'string') {
|
|
209
|
+
_closeBtnAriaLabel = `Close ${children}`;
|
|
210
|
+
}
|
|
211
|
+
|
|
205
212
|
const defaultButton = (
|
|
206
213
|
<Button
|
|
207
214
|
type="button"
|
|
208
215
|
variant="plain"
|
|
209
216
|
hasNoPadding
|
|
210
217
|
onClick={onClose}
|
|
211
|
-
aria-label={
|
|
218
|
+
aria-label={_closeBtnAriaLabel}
|
|
212
219
|
{...closeBtnProps}
|
|
213
220
|
>
|
|
214
221
|
<TimesIcon />
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
TextInputGroup,
|
|
10
10
|
TextInputGroupMain,
|
|
11
11
|
TextInputGroupUtilities,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Label,
|
|
13
|
+
LabelGroup,
|
|
14
14
|
Button
|
|
15
15
|
} from '@patternfly/react-core';
|
|
16
16
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
@@ -153,19 +153,20 @@ export const SelectMultiTypeahead: React.FunctionComponent = () => {
|
|
|
153
153
|
isExpanded={isOpen}
|
|
154
154
|
aria-controls="select-multi-typeahead-listbox"
|
|
155
155
|
>
|
|
156
|
-
<
|
|
156
|
+
<LabelGroup aria-label="Current selections">
|
|
157
157
|
{selected.map((selection, index) => (
|
|
158
|
-
<
|
|
158
|
+
<Label
|
|
159
159
|
key={index}
|
|
160
|
-
|
|
160
|
+
variant="outline"
|
|
161
|
+
onClose={(ev) => {
|
|
161
162
|
ev.stopPropagation();
|
|
162
163
|
onSelect(selection);
|
|
163
164
|
}}
|
|
164
165
|
>
|
|
165
166
|
{selection}
|
|
166
|
-
</
|
|
167
|
+
</Label>
|
|
167
168
|
))}
|
|
168
|
-
</
|
|
169
|
+
</LabelGroup>
|
|
169
170
|
</TextInputGroupMain>
|
|
170
171
|
<TextInputGroupUtilities>
|
|
171
172
|
{selected.length > 0 && (
|
|
@@ -9,8 +9,8 @@ import {
|
|
|
9
9
|
TextInputGroup,
|
|
10
10
|
TextInputGroupMain,
|
|
11
11
|
TextInputGroupUtilities,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Label,
|
|
13
|
+
LabelGroup,
|
|
14
14
|
Button
|
|
15
15
|
} from '@patternfly/react-core';
|
|
16
16
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
@@ -163,19 +163,20 @@ export const SelectMultiTypeaheadCreatable: React.FunctionComponent = () => {
|
|
|
163
163
|
isExpanded={isOpen}
|
|
164
164
|
aria-controls="select-multi-create-typeahead-listbox"
|
|
165
165
|
>
|
|
166
|
-
<
|
|
166
|
+
<LabelGroup aria-label="Current selections">
|
|
167
167
|
{selected.map((selection, index) => (
|
|
168
|
-
<
|
|
168
|
+
<Label
|
|
169
169
|
key={index}
|
|
170
|
-
|
|
170
|
+
variant="outline"
|
|
171
|
+
onClose={(ev) => {
|
|
171
172
|
ev.stopPropagation();
|
|
172
173
|
onSelect(selection);
|
|
173
174
|
}}
|
|
174
175
|
>
|
|
175
176
|
{selection}
|
|
176
|
-
</
|
|
177
|
+
</Label>
|
|
177
178
|
))}
|
|
178
|
-
</
|
|
179
|
+
</LabelGroup>
|
|
179
180
|
</TextInputGroupMain>
|
|
180
181
|
<TextInputGroupUtilities>
|
|
181
182
|
{selected.length > 0 && (
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
TextInputGroup,
|
|
4
|
+
TextInputGroupMain,
|
|
5
|
+
TextInputGroupUtilities,
|
|
6
|
+
Label,
|
|
7
|
+
LabelGroup,
|
|
8
|
+
Button
|
|
9
|
+
} from '@patternfly/react-core';
|
|
4
10
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
5
11
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
6
12
|
|
|
@@ -52,13 +58,13 @@ export const TextInputGroupFilters: React.FunctionComponent = () => {
|
|
|
52
58
|
return (
|
|
53
59
|
<TextInputGroup>
|
|
54
60
|
<TextInputGroupMain icon={showSearchIcon && <SearchIcon />} value={inputValue} onChange={handleInputChange}>
|
|
55
|
-
<
|
|
61
|
+
<LabelGroup>
|
|
56
62
|
{currentChips.map((currentChip) => (
|
|
57
|
-
<
|
|
63
|
+
<Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
|
|
58
64
|
{currentChip}
|
|
59
|
-
</
|
|
65
|
+
</Label>
|
|
60
66
|
))}
|
|
61
|
-
</
|
|
67
|
+
</LabelGroup>
|
|
62
68
|
</TextInputGroupMain>
|
|
63
69
|
{showUtilities && (
|
|
64
70
|
<TextInputGroupUtilities>
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
import { ToolbarItem, ToolbarItemProps } from './ToolbarItem';
|
|
4
|
-
import { ChipGroup } from '../Chip';
|
|
5
|
-
import { Chip } from '../Chip';
|
|
6
4
|
import { ToolbarContentContext, ToolbarContext } from './ToolbarUtils';
|
|
7
5
|
import { PickOptional } from '../../helpers/typeUtils';
|
|
6
|
+
import { Label, LabelGroup } from '../Label';
|
|
8
7
|
|
|
9
8
|
export interface ToolbarChipGroup {
|
|
10
9
|
/** A unique key to identify this chip group category */
|
|
@@ -107,7 +106,7 @@ class ToolbarFilter extends React.Component<ToolbarFilterProps, ToolbarFilterSta
|
|
|
107
106
|
|
|
108
107
|
const chipGroup = chips.length ? (
|
|
109
108
|
<ToolbarItem variant="chip-group">
|
|
110
|
-
<
|
|
109
|
+
<LabelGroup
|
|
111
110
|
key={categoryKey}
|
|
112
111
|
categoryName={typeof categoryName === 'string' ? categoryName : categoryName.name}
|
|
113
112
|
isClosable={deleteChipGroup !== undefined}
|
|
@@ -117,16 +116,16 @@ class ToolbarFilter extends React.Component<ToolbarFilterProps, ToolbarFilterSta
|
|
|
117
116
|
>
|
|
118
117
|
{chips.map((chip) =>
|
|
119
118
|
typeof chip === 'string' ? (
|
|
120
|
-
<
|
|
119
|
+
<Label variant="outline" key={chip} onClose={() => deleteChip(categoryKey, chip)}>
|
|
121
120
|
{chip}
|
|
122
|
-
</
|
|
121
|
+
</Label>
|
|
123
122
|
) : (
|
|
124
|
-
<
|
|
123
|
+
<Label key={chip.key} onClose={() => deleteChip(categoryKey, chip)}>
|
|
125
124
|
{chip.node}
|
|
126
|
-
</
|
|
125
|
+
</Label>
|
|
127
126
|
)
|
|
128
127
|
)}
|
|
129
|
-
</
|
|
128
|
+
</LabelGroup>
|
|
130
129
|
</ToolbarItem>
|
|
131
130
|
) : null;
|
|
132
131
|
|
|
@@ -103,57 +103,48 @@ exports[`Toolbar should render with custom chip content 1`] = `
|
|
|
103
103
|
class="pf-v5-c-toolbar__item pf-m-chip-group"
|
|
104
104
|
>
|
|
105
105
|
<div
|
|
106
|
-
|
|
107
|
-
class="pf-v5-c-chip-group pf-m-category"
|
|
108
|
-
data-ouia-component-type="PF5/ChipGroup"
|
|
109
|
-
data-ouia-safe="true"
|
|
110
|
-
role="group"
|
|
106
|
+
class="pf-v5-c-label-group pf-m-category"
|
|
111
107
|
>
|
|
112
108
|
<div
|
|
113
|
-
class="pf-v5-c-
|
|
109
|
+
class="pf-v5-c-label-group__main"
|
|
114
110
|
>
|
|
115
111
|
<span
|
|
116
|
-
|
|
112
|
+
aria-hidden="true"
|
|
113
|
+
class="pf-v5-c-label-group__label"
|
|
117
114
|
id="pf-random-id-0"
|
|
118
115
|
>
|
|
119
116
|
Status
|
|
120
117
|
</span>
|
|
121
118
|
<ul
|
|
122
119
|
aria-labelledby="pf-random-id-0"
|
|
123
|
-
class="pf-v5-c-
|
|
120
|
+
class="pf-v5-c-label-group__list"
|
|
124
121
|
role="list"
|
|
125
122
|
>
|
|
126
123
|
<li
|
|
127
|
-
class="pf-v5-c-
|
|
124
|
+
class="pf-v5-c-label-group__list-item"
|
|
128
125
|
>
|
|
129
|
-
<
|
|
130
|
-
class="pf-v5-c-
|
|
131
|
-
data-ouia-component-id="OUIA-Generated-Chip-1"
|
|
132
|
-
data-ouia-component-type="PF5/Chip"
|
|
133
|
-
data-ouia-safe="true"
|
|
126
|
+
<span
|
|
127
|
+
class="pf-v5-c-label pf-m-outline"
|
|
134
128
|
>
|
|
135
129
|
<span
|
|
136
|
-
class="pf-v5-c-
|
|
130
|
+
class="pf-v5-c-label__content"
|
|
137
131
|
>
|
|
138
132
|
<span
|
|
139
|
-
class="pf-v5-c-
|
|
140
|
-
id="pf-random-id-1"
|
|
133
|
+
class="pf-v5-c-label__text"
|
|
141
134
|
>
|
|
142
135
|
New
|
|
143
136
|
</span>
|
|
144
137
|
</span>
|
|
145
138
|
<span
|
|
146
|
-
class="pf-v5-c-
|
|
139
|
+
class="pf-v5-c-label__actions"
|
|
147
140
|
>
|
|
148
141
|
<button
|
|
149
142
|
aria-disabled="false"
|
|
150
|
-
aria-label="
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
data-ouia-component-id="close"
|
|
143
|
+
aria-label="Close New"
|
|
144
|
+
class="pf-v5-c-button pf-m-plain pf-m-no-padding"
|
|
145
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-2"
|
|
154
146
|
data-ouia-component-type="PF5/Button"
|
|
155
147
|
data-ouia-safe="true"
|
|
156
|
-
id="remove_pf-random-id-1"
|
|
157
148
|
type="button"
|
|
158
149
|
>
|
|
159
150
|
<svg
|
|
@@ -171,39 +162,33 @@ exports[`Toolbar should render with custom chip content 1`] = `
|
|
|
171
162
|
</svg>
|
|
172
163
|
</button>
|
|
173
164
|
</span>
|
|
174
|
-
</
|
|
165
|
+
</span>
|
|
175
166
|
</li>
|
|
176
167
|
<li
|
|
177
|
-
class="pf-v5-c-
|
|
168
|
+
class="pf-v5-c-label-group__list-item"
|
|
178
169
|
>
|
|
179
|
-
<
|
|
180
|
-
class="pf-v5-c-
|
|
181
|
-
data-ouia-component-id="OUIA-Generated-Chip-2"
|
|
182
|
-
data-ouia-component-type="PF5/Chip"
|
|
183
|
-
data-ouia-safe="true"
|
|
170
|
+
<span
|
|
171
|
+
class="pf-v5-c-label pf-m-outline"
|
|
184
172
|
>
|
|
185
173
|
<span
|
|
186
|
-
class="pf-v5-c-
|
|
174
|
+
class="pf-v5-c-label__content"
|
|
187
175
|
>
|
|
188
176
|
<span
|
|
189
|
-
class="pf-v5-c-
|
|
190
|
-
id="pf-random-id-2"
|
|
177
|
+
class="pf-v5-c-label__text"
|
|
191
178
|
>
|
|
192
179
|
Pending
|
|
193
180
|
</span>
|
|
194
181
|
</span>
|
|
195
182
|
<span
|
|
196
|
-
class="pf-v5-c-
|
|
183
|
+
class="pf-v5-c-label__actions"
|
|
197
184
|
>
|
|
198
185
|
<button
|
|
199
186
|
aria-disabled="false"
|
|
200
|
-
aria-label="
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
data-ouia-component-id="close"
|
|
187
|
+
aria-label="Close Pending"
|
|
188
|
+
class="pf-v5-c-button pf-m-plain pf-m-no-padding"
|
|
189
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-3"
|
|
204
190
|
data-ouia-component-type="PF5/Button"
|
|
205
191
|
data-ouia-safe="true"
|
|
206
|
-
id="remove_pf-random-id-2"
|
|
207
192
|
type="button"
|
|
208
193
|
>
|
|
209
194
|
<svg
|
|
@@ -221,19 +206,19 @@ exports[`Toolbar should render with custom chip content 1`] = `
|
|
|
221
206
|
</svg>
|
|
222
207
|
</button>
|
|
223
208
|
</span>
|
|
224
|
-
</
|
|
209
|
+
</span>
|
|
225
210
|
</li>
|
|
226
211
|
</ul>
|
|
227
212
|
</div>
|
|
228
213
|
<div
|
|
229
|
-
class="pf-v5-c-
|
|
214
|
+
class="pf-v5-c-label-group__close"
|
|
230
215
|
>
|
|
231
216
|
<button
|
|
232
217
|
aria-disabled="false"
|
|
233
|
-
aria-label="Close
|
|
218
|
+
aria-label="Close label group"
|
|
234
219
|
aria-labelledby="remove_group_pf-random-id-0 pf-random-id-0"
|
|
235
|
-
class="pf-v5-c-button pf-m-plain"
|
|
236
|
-
data-ouia-component-id="
|
|
220
|
+
class="pf-v5-c-button pf-m-plain pf-m-no-padding"
|
|
221
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-4"
|
|
237
222
|
data-ouia-component-type="PF5/Button"
|
|
238
223
|
data-ouia-safe="true"
|
|
239
224
|
id="remove_group_pf-random-id-0"
|
package/src/components/index.ts
CHANGED
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
MenuList,
|
|
10
10
|
MenuItem,
|
|
11
11
|
Popper,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
Divider,
|
|
13
|
+
Label,
|
|
14
|
+
LabelGroup
|
|
15
15
|
} from '@patternfly/react-core';
|
|
16
16
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
17
17
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
@@ -224,13 +224,13 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
|
|
|
224
224
|
onFocus={() => setMenuIsOpen(true)}
|
|
225
225
|
onKeyDown={handleTextInputKeyDown}
|
|
226
226
|
>
|
|
227
|
-
<
|
|
227
|
+
<LabelGroup>
|
|
228
228
|
{currentChips.map((currentChip) => (
|
|
229
|
-
<
|
|
229
|
+
<Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
|
|
230
230
|
{currentChip}
|
|
231
|
-
</
|
|
231
|
+
</Label>
|
|
232
232
|
))}
|
|
233
|
-
</
|
|
233
|
+
</LabelGroup>
|
|
234
234
|
</TextInputGroupMain>
|
|
235
235
|
{showUtilities && (
|
|
236
236
|
<TextInputGroupUtilities>
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
MenuList,
|
|
10
10
|
MenuItem,
|
|
11
11
|
Popper,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
Divider,
|
|
13
|
+
Label,
|
|
14
|
+
LabelGroup
|
|
15
15
|
} from '@patternfly/react-core';
|
|
16
16
|
import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
|
|
17
17
|
import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
|
|
@@ -218,13 +218,13 @@ export const AutoCompleteSearch: React.FunctionComponent = () => {
|
|
|
218
218
|
placeholder="search"
|
|
219
219
|
aria-label="Search input"
|
|
220
220
|
>
|
|
221
|
-
<
|
|
221
|
+
<LabelGroup>
|
|
222
222
|
{currentChips.map((currentChip) => (
|
|
223
|
-
<
|
|
223
|
+
<Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
|
|
224
224
|
{currentChip}
|
|
225
|
-
</
|
|
225
|
+
</Label>
|
|
226
226
|
))}
|
|
227
|
-
</
|
|
227
|
+
</LabelGroup>
|
|
228
228
|
</TextInputGroupMain>
|
|
229
229
|
{showUtilities && (
|
|
230
230
|
<TextInputGroupUtilities>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TooltipPosition } from '../../../components/Tooltip';
|
|
3
|
+
import { Label, LabelProps } from '../../../components/Label';
|
|
4
|
+
import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../../helpers';
|
|
5
|
+
|
|
6
|
+
export interface ChipProps extends LabelProps, OUIAProps {
|
|
7
|
+
/** Badge to add to the chip. The badge will be rendered after the chip text. */
|
|
8
|
+
badge?: React.ReactNode;
|
|
9
|
+
/** Content rendered inside the chip text */
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
/** Aria Label for close button */
|
|
12
|
+
closeBtnAriaLabel?: string;
|
|
13
|
+
/** Additional classes added to the chip item */
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Flag indicating if the chip is an overflow chip */
|
|
16
|
+
isOverflowChip?: boolean;
|
|
17
|
+
/** Flag indicating if chip is read only */
|
|
18
|
+
isReadOnly?: boolean;
|
|
19
|
+
/** Function that is called when clicking on the chip close button */
|
|
20
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
21
|
+
/** @deprecated Component that will be used for chip. It is recommended that <button> or <li> are used when the chip is an overflow chip. */
|
|
22
|
+
component?: React.ReactNode;
|
|
23
|
+
/** Position of the tooltip which is displayed if text is longer */
|
|
24
|
+
tooltipPosition?:
|
|
25
|
+
| TooltipPosition
|
|
26
|
+
| 'auto'
|
|
27
|
+
| 'top'
|
|
28
|
+
| 'bottom'
|
|
29
|
+
| 'left'
|
|
30
|
+
| 'right'
|
|
31
|
+
| 'top-start'
|
|
32
|
+
| 'top-end'
|
|
33
|
+
| 'bottom-start'
|
|
34
|
+
| 'bottom-end'
|
|
35
|
+
| 'left-start'
|
|
36
|
+
| 'left-end'
|
|
37
|
+
| 'right-start'
|
|
38
|
+
| 'right-end';
|
|
39
|
+
|
|
40
|
+
/** Css property expressed in percentage or any css unit that overrides the default value of the max-width of the chip's text */
|
|
41
|
+
textMaxWidth?: string;
|
|
42
|
+
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
43
|
+
ouiaId?: number | string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
class Chip extends React.Component<ChipProps> {
|
|
47
|
+
static displayName = 'Chip';
|
|
48
|
+
constructor(props: ChipProps) {
|
|
49
|
+
super(props);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static defaultProps: ChipProps = {
|
|
53
|
+
className: '',
|
|
54
|
+
isOverflowChip: false,
|
|
55
|
+
isReadOnly: false,
|
|
56
|
+
tooltipPosition: 'top' as 'auto' | 'top' | 'bottom' | 'left' | 'right',
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
58
|
+
onClick: (_e: React.MouseEvent) => undefined as any,
|
|
59
|
+
textMaxWidth: '16ch'
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
render() {
|
|
63
|
+
const {
|
|
64
|
+
isOverflowChip,
|
|
65
|
+
children,
|
|
66
|
+
badge,
|
|
67
|
+
onClick,
|
|
68
|
+
className,
|
|
69
|
+
textMaxWidth,
|
|
70
|
+
isReadOnly,
|
|
71
|
+
closeBtnAriaLabel,
|
|
72
|
+
tooltipPosition,
|
|
73
|
+
ouiaId,
|
|
74
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
75
|
+
component,
|
|
76
|
+
...props
|
|
77
|
+
} = this.props;
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<Label
|
|
81
|
+
variant="outline"
|
|
82
|
+
className={className}
|
|
83
|
+
textMaxWidth={textMaxWidth}
|
|
84
|
+
tooltipPosition={tooltipPosition}
|
|
85
|
+
{...(!isReadOnly &&
|
|
86
|
+
!isOverflowChip && {
|
|
87
|
+
onClose: onClick,
|
|
88
|
+
closeBtnAriaLabel: closeBtnAriaLabel ? closeBtnAriaLabel : `Close ${children}`
|
|
89
|
+
})}
|
|
90
|
+
{...(isOverflowChip && { onClick, variant: 'overflow' })}
|
|
91
|
+
{...getOUIAProps(
|
|
92
|
+
isOverflowChip ? 'OverflowChip' : Chip.displayName,
|
|
93
|
+
ouiaId !== undefined ? ouiaId : getDefaultOUIAId(Chip.displayName)
|
|
94
|
+
)}
|
|
95
|
+
{...props}
|
|
96
|
+
>
|
|
97
|
+
{children}
|
|
98
|
+
{badge && <React.Fragment> {badge}</React.Fragment>}
|
|
99
|
+
</Label>
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export { Chip };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { LabelGroup, LabelGroupProps } from '../../../components/Label';
|
|
3
|
+
import { TooltipPosition } from '../../../components/Tooltip';
|
|
4
|
+
import { getOUIAProps, OUIAProps } from '../../../helpers';
|
|
5
|
+
|
|
6
|
+
export interface ChipGroupProps extends Omit<LabelGroupProps, 'ref'>, OUIAProps {
|
|
7
|
+
/** Content rendered inside the chip group. Should be <Chip> elements. */
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
/** Additional classes added to the chip item */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Flag for having the chip group default to expanded */
|
|
12
|
+
defaultIsOpen?: boolean;
|
|
13
|
+
/** Customizable "Show Less" text string */
|
|
14
|
+
expandedText?: string;
|
|
15
|
+
/** Customizeable template string. Use variable "${remaining}" for the overflow chip count. */
|
|
16
|
+
collapsedText?: string;
|
|
17
|
+
/** Category name text for the chip group category. If this prop is supplied the chip group with have a label and category styling applied */
|
|
18
|
+
categoryName?: string;
|
|
19
|
+
/** Aria label for chip group that does not have a category name */
|
|
20
|
+
'aria-label'?: string;
|
|
21
|
+
/** Set number of chips to show before overflow */
|
|
22
|
+
numChips?: number;
|
|
23
|
+
/** Flag if chip group can be closed*/
|
|
24
|
+
isClosable?: boolean;
|
|
25
|
+
/** Aria label for close button */
|
|
26
|
+
closeBtnAriaLabel?: string;
|
|
27
|
+
/** Function that is called when clicking on the chip group close button or on an overflow chip */
|
|
28
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
29
|
+
/** @deprecated Function that is called when clicking on the overflow (expand/collapse) chip button */
|
|
30
|
+
onOverflowChipClick?: (event: React.MouseEvent) => void;
|
|
31
|
+
/** Position of the tooltip which is displayed if the category name text is longer */
|
|
32
|
+
tooltipPosition?:
|
|
33
|
+
| TooltipPosition
|
|
34
|
+
| 'auto'
|
|
35
|
+
| 'top'
|
|
36
|
+
| 'bottom'
|
|
37
|
+
| 'left'
|
|
38
|
+
| 'right'
|
|
39
|
+
| 'top-start'
|
|
40
|
+
| 'top-end'
|
|
41
|
+
| 'bottom-start'
|
|
42
|
+
| 'bottom-end'
|
|
43
|
+
| 'left-start'
|
|
44
|
+
| 'left-end'
|
|
45
|
+
| 'right-start'
|
|
46
|
+
| 'right-end';
|
|
47
|
+
/** Value to overwrite the randomly generated data-ouia-component-id.*/
|
|
48
|
+
ouiaId?: number | string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
class ChipGroup extends React.Component<ChipGroupProps> {
|
|
52
|
+
static displayName = 'ChipGroup';
|
|
53
|
+
constructor(props: ChipGroupProps) {
|
|
54
|
+
super(props);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static defaultProps: ChipGroupProps = {
|
|
58
|
+
expandedText: 'Show Less',
|
|
59
|
+
collapsedText: '${remaining} more',
|
|
60
|
+
categoryName: '',
|
|
61
|
+
defaultIsOpen: false,
|
|
62
|
+
numChips: 3,
|
|
63
|
+
isClosable: false,
|
|
64
|
+
closeBtnAriaLabel: 'Close chip group',
|
|
65
|
+
tooltipPosition: 'top',
|
|
66
|
+
'aria-label': 'Chip group category'
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
render() {
|
|
70
|
+
const {
|
|
71
|
+
categoryName,
|
|
72
|
+
children,
|
|
73
|
+
className,
|
|
74
|
+
isClosable,
|
|
75
|
+
closeBtnAriaLabel,
|
|
76
|
+
'aria-label': ariaLabel,
|
|
77
|
+
onClick,
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
79
|
+
onOverflowChipClick,
|
|
80
|
+
numChips,
|
|
81
|
+
expandedText,
|
|
82
|
+
collapsedText,
|
|
83
|
+
ouiaId,
|
|
84
|
+
defaultIsOpen,
|
|
85
|
+
tooltipPosition,
|
|
86
|
+
...props
|
|
87
|
+
} = this.props;
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<LabelGroup
|
|
91
|
+
className={className}
|
|
92
|
+
categoryName={categoryName}
|
|
93
|
+
numLabels={numChips}
|
|
94
|
+
isClosable={isClosable}
|
|
95
|
+
closeBtnAriaLabel={closeBtnAriaLabel}
|
|
96
|
+
aria-label={ariaLabel}
|
|
97
|
+
onClick={onClick}
|
|
98
|
+
expandedText={expandedText}
|
|
99
|
+
collapsedText={collapsedText}
|
|
100
|
+
defaultIsOpen={defaultIsOpen}
|
|
101
|
+
tooltipPosition={tooltipPosition}
|
|
102
|
+
{...getOUIAProps(ChipGroup.displayName, ouiaId)}
|
|
103
|
+
{...props}
|
|
104
|
+
>
|
|
105
|
+
{children}
|
|
106
|
+
</LabelGroup>
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { ChipGroup };
|