@flipdish/ui-library 0.10.0 → 0.11.0
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/dist/components/atoms/Button/index.cjs +4 -1
- package/dist/components/atoms/Button/index.cjs.map +1 -1
- package/dist/components/atoms/Button/index.d.ts +2 -0
- package/dist/components/atoms/Button/index.d.ts.map +1 -1
- package/dist/components/atoms/Button/index.js +4 -1
- package/dist/components/atoms/Button/index.js.map +1 -1
- package/dist/components/atoms/Checkbox/index.cjs +4 -2
- package/dist/components/atoms/Checkbox/index.cjs.map +1 -1
- package/dist/components/atoms/Checkbox/index.d.ts +3 -1
- package/dist/components/atoms/Checkbox/index.d.ts.map +1 -1
- package/dist/components/atoms/Checkbox/index.js +4 -2
- package/dist/components/atoms/Checkbox/index.js.map +1 -1
- package/dist/components/atoms/Input/index.cjs +7 -4
- package/dist/components/atoms/Input/index.cjs.map +1 -1
- package/dist/components/atoms/Input/index.d.ts +6 -2
- package/dist/components/atoms/Input/index.d.ts.map +1 -1
- package/dist/components/atoms/Input/index.js +7 -4
- package/dist/components/atoms/Input/index.js.map +1 -1
- package/dist/components/atoms/RadioButton/index.cjs +8 -4
- package/dist/components/atoms/RadioButton/index.cjs.map +1 -1
- package/dist/components/atoms/RadioButton/index.d.ts +8 -3
- package/dist/components/atoms/RadioButton/index.d.ts.map +1 -1
- package/dist/components/atoms/RadioButton/index.js +8 -4
- package/dist/components/atoms/RadioButton/index.js.map +1 -1
- package/dist/components/atoms/Toggle/index.cjs +4 -2
- package/dist/components/atoms/Toggle/index.cjs.map +1 -1
- package/dist/components/atoms/Toggle/index.d.ts +3 -1
- package/dist/components/atoms/Toggle/index.d.ts.map +1 -1
- package/dist/components/atoms/Toggle/index.js +4 -2
- package/dist/components/atoms/Toggle/index.js.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.cjs +3 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.cjs.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.d.ts.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.js +3 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.js.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.cjs +9 -5
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.cjs.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.d.ts +5 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.d.ts.map +1 -1
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.js +9 -5
- package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.js.map +1 -1
- package/dist/components/molecules/Breadcrumbs/index.cjs +4 -2
- package/dist/components/molecules/Breadcrumbs/index.cjs.map +1 -1
- package/dist/components/molecules/Breadcrumbs/index.d.ts +8 -2
- package/dist/components/molecules/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/molecules/Breadcrumbs/index.js +4 -2
- package/dist/components/molecules/Breadcrumbs/index.js.map +1 -1
- package/dist/components/molecules/Pagination/components/pagination-base.cjs +11 -4
- package/dist/components/molecules/Pagination/components/pagination-base.cjs.map +1 -1
- package/dist/components/molecules/Pagination/components/pagination-base.d.ts +8 -1
- package/dist/components/molecules/Pagination/components/pagination-base.d.ts.map +1 -1
- package/dist/components/molecules/Pagination/components/pagination-base.js +11 -4
- package/dist/components/molecules/Pagination/components/pagination-base.js.map +1 -1
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.cjs +16 -16
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.cjs.map +1 -1
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.d.ts +8 -8
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.d.ts.map +1 -1
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.js +16 -16
- package/dist/components/molecules/ProgressSteps/components/progress-step-base.js.map +1 -1
- package/dist/components/molecules/ProgressSteps/index.cjs +19 -12
- package/dist/components/molecules/ProgressSteps/index.cjs.map +1 -1
- package/dist/components/molecules/ProgressSteps/index.d.ts +3 -3
- package/dist/components/molecules/ProgressSteps/index.d.ts.map +1 -1
- package/dist/components/molecules/ProgressSteps/index.js +19 -12
- package/dist/components/molecules/ProgressSteps/index.js.map +1 -1
- package/dist/components/molecules/ProgressSteps/progressSteps.types.d.ts +10 -0
- package/dist/components/molecules/ProgressSteps/progressSteps.types.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-avatar.js.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.js.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.js.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.js.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.js.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.cjs +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.cjs.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.d.ts +3 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.d.ts.map +1 -1
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.js +4 -2
- package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.js.map +1 -1
- package/dist/components/molecules/Select/components/multi-select.cjs +4 -2
- package/dist/components/molecules/Select/components/multi-select.cjs.map +1 -1
- package/dist/components/molecules/Select/components/multi-select.d.ts +1 -1
- package/dist/components/molecules/Select/components/multi-select.d.ts.map +1 -1
- package/dist/components/molecules/Select/components/multi-select.js +4 -2
- package/dist/components/molecules/Select/components/multi-select.js.map +1 -1
- package/dist/components/molecules/Select/components/select-item.cjs +6 -3
- package/dist/components/molecules/Select/components/select-item.cjs.map +1 -1
- package/dist/components/molecules/Select/components/select-item.d.ts +3 -1
- package/dist/components/molecules/Select/components/select-item.d.ts.map +1 -1
- package/dist/components/molecules/Select/components/select-item.js +6 -3
- package/dist/components/molecules/Select/components/select-item.js.map +1 -1
- package/dist/components/molecules/Select/components/select-shared.cjs.map +1 -1
- package/dist/components/molecules/Select/components/select-shared.d.ts +6 -0
- package/dist/components/molecules/Select/components/select-shared.d.ts.map +1 -1
- package/dist/components/molecules/Select/components/select-shared.js.map +1 -1
- package/dist/components/molecules/Select/index.cjs +6 -4
- package/dist/components/molecules/Select/index.cjs.map +1 -1
- package/dist/components/molecules/Select/index.d.ts +1 -1
- package/dist/components/molecules/Select/index.d.ts.map +1 -1
- package/dist/components/molecules/Select/index.js +6 -4
- package/dist/components/molecules/Select/index.js.map +1 -1
- package/dist/components/molecules/Tabs/index.cjs +24 -8
- package/dist/components/molecules/Tabs/index.cjs.map +1 -1
- package/dist/components/molecules/Tabs/index.d.ts +17 -7
- package/dist/components/molecules/Tabs/index.d.ts.map +1 -1
- package/dist/components/molecules/Tabs/index.js +24 -8
- package/dist/components/molecules/Tabs/index.js.map +1 -1
- package/dist/components/organisms/ActivityFeed/index.cjs +8 -2
- package/dist/components/organisms/ActivityFeed/index.cjs.map +1 -1
- package/dist/components/organisms/ActivityFeed/index.d.ts +3 -1
- package/dist/components/organisms/ActivityFeed/index.d.ts.map +1 -1
- package/dist/components/organisms/ActivityFeed/index.js +8 -2
- package/dist/components/organisms/ActivityFeed/index.js.map +1 -1
- package/dist/components/organisms/CommandMenu/components/command-menu-item.cjs +5 -1
- package/dist/components/organisms/CommandMenu/components/command-menu-item.cjs.map +1 -1
- package/dist/components/organisms/CommandMenu/components/command-menu-item.d.ts +2 -0
- package/dist/components/organisms/CommandMenu/components/command-menu-item.d.ts.map +1 -1
- package/dist/components/organisms/CommandMenu/components/command-menu-item.js +5 -1
- package/dist/components/organisms/CommandMenu/components/command-menu-item.js.map +1 -1
- package/dist/components/organisms/CommandMenu/index.cjs +6 -4
- package/dist/components/organisms/CommandMenu/index.cjs.map +1 -1
- package/dist/components/organisms/CommandMenu/index.d.ts +8 -2
- package/dist/components/organisms/CommandMenu/index.d.ts.map +1 -1
- package/dist/components/organisms/CommandMenu/index.js +6 -4
- package/dist/components/organisms/CommandMenu/index.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs +3 -2
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.d.ts +6 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.js +3 -2
- package/dist/components/organisms/HeaderNavigation/components/mobile-header.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs +9 -6
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts +10 -2
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js +9 -6
- package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs +2 -2
- package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts +3 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-button.js +2 -2
- package/dist/components/organisms/HeaderNavigation/components/nav-button.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs +4 -4
- package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-item.d.ts +3 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-item.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-item.js +4 -4
- package/dist/components/organisms/HeaderNavigation/components/nav-item.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-list.cjs +9 -3
- package/dist/components/organisms/HeaderNavigation/components/nav-list.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-list.d.ts +3 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-list.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/components/nav-list.js +9 -3
- package/dist/components/organisms/HeaderNavigation/components/nav-list.js.map +1 -1
- package/dist/components/organisms/HeaderNavigation/headerNavigation.types.d.ts +17 -8
- package/dist/components/organisms/HeaderNavigation/headerNavigation.types.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/index.cjs +9 -2
- package/dist/components/organisms/HeaderNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/HeaderNavigation/index.d.ts +10 -1
- package/dist/components/organisms/HeaderNavigation/index.d.ts.map +1 -1
- package/dist/components/organisms/HeaderNavigation/index.js +10 -3
- package/dist/components/organisms/HeaderNavigation/index.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs +2 -2
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts +8 -2
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js +2 -2
- package/dist/components/organisms/SidebarNavigation/components/mobile-header.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +15 -5
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts +12 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +15 -5
- package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs +2 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts +3 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-button.js +2 -2
- package/dist/components/organisms/SidebarNavigation/components/nav-button.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs +4 -4
- package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts +3 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-item.js +4 -4
- package/dist/components/organisms/SidebarNavigation/components/nav-item.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-list.cjs +9 -3
- package/dist/components/organisms/SidebarNavigation/components/nav-list.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-list.d.ts +3 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-list.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/nav-list.js +9 -3
- package/dist/components/organisms/SidebarNavigation/components/nav-list.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts +3 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js +1 -1
- package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.cjs +10 -6
- package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.d.ts +7 -1
- package/dist/components/organisms/SidebarNavigation/index.d.ts.map +1 -1
- package/dist/components/organisms/SidebarNavigation/index.js +11 -7
- package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
- package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts +21 -8
- package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts.map +1 -1
- package/dist/components/organisms/Table/index.cjs +13 -8
- package/dist/components/organisms/Table/index.cjs.map +1 -1
- package/dist/components/organisms/Table/index.d.ts +17 -3
- package/dist/components/organisms/Table/index.d.ts.map +1 -1
- package/dist/components/organisms/Table/index.js +13 -8
- package/dist/components/organisms/Table/index.js.map +1 -1
- package/dist/utilities/testIdUtils/index.cjs +70 -0
- package/dist/utilities/testIdUtils/index.cjs.map +1 -0
- package/dist/utilities/testIdUtils/index.d.ts +57 -0
- package/dist/utilities/testIdUtils/index.d.ts.map +1 -0
- package/dist/utilities/testIdUtils/index.js +58 -0
- package/dist/utilities/testIdUtils/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.js","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","Button","AriaDialogTrigger","AriaButton","AriaPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-select.js","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","Button","AriaDialogTrigger","AriaButton","AriaPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ var Avatar = require('@flipdish/ui-library/components/atoms/Avatar');
|
|
|
6
6
|
var Checkbox = require('@flipdish/ui-library/components/atoms/Checkbox');
|
|
7
7
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
8
8
|
var isReactComponent = require('@flipdish/ui-library/utilities/isReactComponent');
|
|
9
|
+
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
9
10
|
var React = require('react');
|
|
10
11
|
var reactAriaComponents = require('react-aria-components');
|
|
11
12
|
var selectShared = require('./select-shared.cjs');
|
|
@@ -33,12 +34,14 @@ const sizes = {
|
|
|
33
34
|
checkbox: 'md',
|
|
34
35
|
},
|
|
35
36
|
};
|
|
36
|
-
const SelectItem = ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator = 'checkmark', selectionIndicatorAlign = 'right', ...props }) => {
|
|
37
|
-
const { size } = React.useContext(selectShared.SelectContext);
|
|
37
|
+
const SelectItem = ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator = 'checkmark', selectionIndicatorAlign = 'right', 'data-testid': dataTestId, ...props }) => {
|
|
38
|
+
const { size, testIdPrefix } = React.useContext(selectShared.SelectContext);
|
|
38
39
|
const labelOrChildren = label || (typeof children === 'string' ? children : '');
|
|
39
40
|
const textValue = supportingText ? `${labelOrChildren} ${supportingText}` : labelOrChildren;
|
|
40
41
|
const isLeft = selectionIndicatorAlign === 'left';
|
|
41
|
-
|
|
42
|
+
const itemTestId = dataTestId ??
|
|
43
|
+
(testIdPrefix ? testIdUtils.joinTestId(testIdPrefix, `item-${id !== undefined ? testIdUtils.slugifyTestId(String(id)) : testIdUtils.slugifyTestId(labelOrChildren)}`) : undefined);
|
|
44
|
+
return (jsxRuntime.jsx(reactAriaComponents.ListBoxItem, { id: id, "data-testid": itemTestId, value: value ?? {
|
|
42
45
|
id,
|
|
43
46
|
label: labelOrChildren,
|
|
44
47
|
avatarUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-item.cjs","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"sourcesContent":[null],"names":["useContext","SelectContext","_jsx","AriaListBoxItem","cx","_jsxs","CheckboxBase","Avatar","isReactComponent","isValidElement","AriaText","Check"],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-item.cjs","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"sourcesContent":[null],"names":["useContext","SelectContext","joinTestId","slugifyTestId","_jsx","AriaListBoxItem","cx","_jsxs","CheckboxBase","Avatar","isReactComponent","isValidElement","AriaText","Check"],"mappings":"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"}
|
|
@@ -5,7 +5,9 @@ interface SelectItemProps extends Omit<AriaListBoxItemProps<SelectItemType>, 'id
|
|
|
5
5
|
selectionIndicator?: 'checkmark' | 'checkbox' | 'none';
|
|
6
6
|
/** The alignment of the selection indicator. */
|
|
7
7
|
selectionIndicatorAlign?: 'left' | 'right';
|
|
8
|
+
/** Overrides the derived `data-testid` for the option (defaults to `<root>--item-<id>`). */
|
|
9
|
+
'data-testid'?: string;
|
|
8
10
|
}
|
|
9
|
-
export declare const SelectItem: ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator, selectionIndicatorAlign, ...props }: SelectItemProps) => import("react").JSX.Element;
|
|
11
|
+
export declare const SelectItem: ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator, selectionIndicatorAlign, "data-testid": dataTestId, ...props }: SelectItemProps) => import("react").JSX.Element;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=select-item.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA2BtD,UAAU,eAAgB,SAAQ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc;IAChG,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IACvD,gDAAgD;IAChD,uBAAuB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,GAAI,gLAcxB,eAAe,gCAkFjB,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Avatar } from '@flipdish/ui-library/components/atoms/Avatar';
|
|
|
4
4
|
import { CheckboxBase } from '@flipdish/ui-library/components/atoms/Checkbox';
|
|
5
5
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
6
6
|
import { isReactComponent } from '@flipdish/ui-library/utilities/isReactComponent';
|
|
7
|
+
import { joinTestId, slugifyTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
7
8
|
import { useContext, isValidElement } from 'react';
|
|
8
9
|
import { ListBoxItem, Text } from 'react-aria-components';
|
|
9
10
|
import { SelectContext } from './select-shared.js';
|
|
@@ -31,12 +32,14 @@ const sizes = {
|
|
|
31
32
|
checkbox: 'md',
|
|
32
33
|
},
|
|
33
34
|
};
|
|
34
|
-
const SelectItem = ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator = 'checkmark', selectionIndicatorAlign = 'right', ...props }) => {
|
|
35
|
-
const { size } = useContext(SelectContext);
|
|
35
|
+
const SelectItem = ({ label, id, value, avatarUrl, supportingText, isDisabled, icon: Icon, className, children, selectionIndicator = 'checkmark', selectionIndicatorAlign = 'right', 'data-testid': dataTestId, ...props }) => {
|
|
36
|
+
const { size, testIdPrefix } = useContext(SelectContext);
|
|
36
37
|
const labelOrChildren = label || (typeof children === 'string' ? children : '');
|
|
37
38
|
const textValue = supportingText ? `${labelOrChildren} ${supportingText}` : labelOrChildren;
|
|
38
39
|
const isLeft = selectionIndicatorAlign === 'left';
|
|
39
|
-
|
|
40
|
+
const itemTestId = dataTestId ??
|
|
41
|
+
(testIdPrefix ? joinTestId(testIdPrefix, `item-${id !== undefined ? slugifyTestId(String(id)) : slugifyTestId(labelOrChildren)}`) : undefined);
|
|
42
|
+
return (jsx(ListBoxItem, { id: id, "data-testid": itemTestId, value: value ?? {
|
|
40
43
|
id,
|
|
41
44
|
label: labelOrChildren,
|
|
42
45
|
avatarUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-item.js","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"sourcesContent":[null],"names":["_jsx","AriaListBoxItem","_jsxs","AriaText"],"mappings":"
|
|
1
|
+
{"version":3,"file":"select-item.js","sources":["../../../../../src/components/molecules/Select/components/select-item.tsx"],"sourcesContent":[null],"names":["_jsx","AriaListBoxItem","_jsxs","AriaText"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-shared.cjs","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"sourcesContent":[null],"names":["createContext"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"select-shared.cjs","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"sourcesContent":[null],"names":["createContext"],"mappings":";;;;AA2CO,MAAM,KAAK,GAAG;AACnB,IAAA,EAAE,EAAE;AACF,QAAA,IAAI,EAAE,uEAAuE;AAC7E,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,aAAa,EAAE,WAAW;AAC1B,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;IACD,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACjI,EAAE,EAAE,EAAE,IAAI,EAAE,wCAAwC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE;;AAG9H,MAAM,aAAa,GAAGA,mBAAa,CAAsD,EAAE,IAAI,EAAE,IAAI,EAAE;;;;;"}
|
|
@@ -29,6 +29,11 @@ export interface CommonProps {
|
|
|
29
29
|
placeholder?: string;
|
|
30
30
|
/** Whether to hide the required indicator from the label. */
|
|
31
31
|
hideRequiredIndicator?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Overrides the root `data-testid`. Options derive their testids from this prefix
|
|
34
|
+
* (e.g. `<root>--item-uk`).
|
|
35
|
+
*/
|
|
36
|
+
'data-testid'?: string;
|
|
32
37
|
}
|
|
33
38
|
export declare const sizes: {
|
|
34
39
|
sm: {
|
|
@@ -55,5 +60,6 @@ export declare const sizes: {
|
|
|
55
60
|
};
|
|
56
61
|
export declare const SelectContext: import("react").Context<{
|
|
57
62
|
size: "sm" | "md" | "lg";
|
|
63
|
+
testIdPrefix?: string;
|
|
58
64
|
}>;
|
|
59
65
|
//# sourceMappingURL=select-shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-shared.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG;IAC3B,sCAAsC;IACtC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"select-shared.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG;IAC3B,sCAAsC;IACtC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;CAUjB,CAAC;AAEF,eAAO,MAAM,aAAa;UAAyB,IAAI,GAAG,IAAI,GAAG,IAAI;mBAAiB,MAAM;EAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-shared.js","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"sourcesContent":[null],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"select-shared.js","sources":["../../../../../src/components/molecules/Select/components/select-shared.tsx"],"sourcesContent":[null],"names":[],"mappings":";;AA2CO,MAAM,KAAK,GAAG;AACnB,IAAA,EAAE,EAAE;AACF,QAAA,IAAI,EAAE,uEAAuE;AAC7E,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,aAAa,EAAE,WAAW;AAC1B,QAAA,QAAQ,EAAE,QAAQ;AACnB,KAAA;IACD,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACjI,EAAE,EAAE,EAAE,IAAI,EAAE,wCAAwC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE;;AAG9H,MAAM,aAAa,GAAG,aAAa,CAAsD,EAAE,IAAI,EAAE,IAAI,EAAE;;;;"}
|
|
@@ -6,6 +6,7 @@ var Avatar = require('@flipdish/ui-library/components/atoms/Avatar');
|
|
|
6
6
|
var Input = require('@flipdish/ui-library/components/atoms/Input');
|
|
7
7
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
8
8
|
var isReactComponent = require('@flipdish/ui-library/utilities/isReactComponent');
|
|
9
|
+
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
9
10
|
var React = require('react');
|
|
10
11
|
var reactAriaComponents = require('react-aria-components');
|
|
11
12
|
var combobox = require('./components/combobox.cjs');
|
|
@@ -14,8 +15,8 @@ var selectItem = require('./components/select-item.cjs');
|
|
|
14
15
|
var selectShared = require('./components/select-shared.cjs');
|
|
15
16
|
var multiSelect = require('./components/multi-select.cjs');
|
|
16
17
|
|
|
17
|
-
const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, ref }) => {
|
|
18
|
-
return (jsxRuntime.jsx(reactAriaComponents.Button, { ref: ref, className: cx.cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (isFocused || isOpen) && 'ring-2 ring-brand', isDisabled && 'cursor-not-allowed opacity-50'), children: jsxRuntime.jsx(reactAriaComponents.SelectValue, { className: (state) => cx.cx('flex h-max w-full items-center justify-start truncate text-left align-middle', selectShared.sizes[size].root,
|
|
18
|
+
const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, ref, 'data-testid': dataTestId, }) => {
|
|
19
|
+
return (jsxRuntime.jsx(reactAriaComponents.Button, { ref: ref, "data-testid": dataTestId, className: cx.cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (isFocused || isOpen) && 'ring-2 ring-brand', isDisabled && 'cursor-not-allowed opacity-50'), children: jsxRuntime.jsx(reactAriaComponents.SelectValue, { className: (state) => cx.cx('flex h-max w-full items-center justify-start truncate text-left align-middle', selectShared.sizes[size].root,
|
|
19
20
|
// With icon
|
|
20
21
|
(state.selectedItems[0]?.icon || icon) && selectShared.sizes[size].withIcon,
|
|
21
22
|
// Icon styles
|
|
@@ -25,8 +26,9 @@ const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, r
|
|
|
25
26
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [selectedItem?.avatarUrl ? (jsxRuntime.jsx(Avatar.Avatar, { size: "xs", src: selectedItem.avatarUrl, alt: selectedItem.label, className: cx.cx(size === 'sm' && 'size-5') })) : isReactComponent.isReactComponent(Icon) ? (jsxRuntime.jsx(Icon, { "data-icon": true, "aria-hidden": "true" })) : React.isValidElement(Icon) ? (Icon) : null, selectedItem ? (jsxRuntime.jsxs("span", { className: cx.cx('flex w-full truncate', selectShared.sizes[size].textContainer), children: [jsxRuntime.jsx("p", { className: cx.cx('truncate font-medium text-primary', selectShared.sizes[size].text), children: selectedItem?.label }), selectedItem?.supportingText && jsxRuntime.jsx("p", { className: cx.cx('text-tertiary', selectShared.sizes[size].text), children: selectedItem?.supportingText })] })) : (jsxRuntime.jsx("p", { className: cx.cx('text-placeholder', selectShared.sizes[size].text), children: placeholder })), jsxRuntime.jsx(uiIcons.ChevronDown, { "aria-hidden": "true", className: cx.cx('ml-auto shrink-0 text-fg-quaternary', size === 'lg' ? 'size-5' : 'size-4 stroke-[2.25px]') })] }));
|
|
26
27
|
} }) }));
|
|
27
28
|
};
|
|
28
|
-
const Select = ({ placeholder = 'Select', icon, size = 'md', children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, ...rest }) => {
|
|
29
|
-
|
|
29
|
+
const Select = ({ placeholder = 'Select', icon, size = 'md', children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, 'data-testid': dataTestId, ...rest }) => {
|
|
30
|
+
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'select', rootName: 'select' });
|
|
31
|
+
return (jsxRuntime.jsx(selectShared.SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsxRuntime.jsx(reactAriaComponents.Select, { ...rest, "data-testid": rootTestId, className: (state) => cx.cx('flex flex-col gap-1.5', typeof className === 'function' ? className(state) : className), children: (state) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [label && (jsxRuntime.jsx(Input.Label, { isRequired: hideRequiredIndicator ? false : state.isRequired, tooltip: tooltip, children: label })), jsxRuntime.jsx(SelectValue, { ...state, size, placeholder, icon: icon, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger') }), jsxRuntime.jsx(popover.Popover, { size: size, className: popoverClassName, children: jsxRuntime.jsx(reactAriaComponents.ListBox, { items: items, className: "size-full outline-hidden", children: children }) }), hint && (jsxRuntime.jsx(Input.HintText, { isInvalid: state.isInvalid, className: cx.cx(size === 'sm' && 'text-xs'), children: hint }))] })) }) }));
|
|
30
32
|
};
|
|
31
33
|
const _Select = Select;
|
|
32
34
|
_Select.ComboBox = combobox.ComboBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/molecules/Select/index.tsx"],"sourcesContent":[null],"names":["_jsx","AriaButton","cx","AriaSelectValue","sizes","_jsxs","Avatar","isReactComponent","isValidElement","ChevronDown","SelectContext","AriaSelect","_Fragment","Label","Popover","AriaListBox","HintText","ComboBox","SelectItem"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/molecules/Select/index.tsx"],"sourcesContent":[null],"names":["_jsx","AriaButton","cx","AriaSelectValue","sizes","_jsxs","Avatar","isReactComponent","isValidElement","ChevronDown","useResolvedTestId","SelectContext","AriaSelect","_Fragment","Label","joinTestId","Popover","AriaListBox","HintText","ComboBox","SelectItem"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface SelectProps extends Omit<AriaSelectProps<SelectItemType>, 'chil
|
|
|
18
18
|
icon?: FC | ReactNode;
|
|
19
19
|
children: ReactNode | ((item: SelectItemType) => ReactNode);
|
|
20
20
|
}
|
|
21
|
-
declare const Select: ({ placeholder, icon, size, children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, ...rest }: SelectProps) => import("react").JSX.Element;
|
|
21
|
+
declare const Select: ({ placeholder, icon, size, children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, "data-testid": dataTestId, ...rest }: SelectProps) => import("react").JSX.Element;
|
|
22
22
|
declare const _Select: typeof Select & {
|
|
23
23
|
ComboBox: typeof ComboBox;
|
|
24
24
|
Item: typeof SelectItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Select/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Select/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAO,aAAa,EAAE,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,KAAK,WAAW,EAAiB,KAAK,cAAc,EAAS,MAAM,4BAA4B,CAAC;AAEzG,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,KAAK,WAAW,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEzG,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,WAAW;IAC1I,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC;CAC7D;AAkFD,QAAA,MAAM,MAAM,GAAI,4JAcb,WAAW,gCAoCb,CAAC;AAEF,QAAA,MAAM,OAAO,EAAa,OAAO,MAAM,GAAG;IACxC,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,EAAE,OAAO,UAAU,CAAC;CACzB,CAAC;AAIF;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { Avatar } from '@flipdish/ui-library/components/atoms/Avatar';
|
|
|
4
4
|
import { Label, HintText } from '@flipdish/ui-library/components/atoms/Input';
|
|
5
5
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
6
6
|
import { isReactComponent } from '@flipdish/ui-library/utilities/isReactComponent';
|
|
7
|
+
import { useResolvedTestId, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
7
8
|
import { isValidElement } from 'react';
|
|
8
9
|
import { Select as Select$1, ListBox, Button, SelectValue as SelectValue$1 } from 'react-aria-components';
|
|
9
10
|
import { ComboBox } from './components/combobox.js';
|
|
@@ -12,8 +13,8 @@ import { SelectItem } from './components/select-item.js';
|
|
|
12
13
|
import { SelectContext, sizes } from './components/select-shared.js';
|
|
13
14
|
export { MultiSelect } from './components/multi-select.js';
|
|
14
15
|
|
|
15
|
-
const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, ref }) => {
|
|
16
|
-
return (jsx(Button, { ref: ref, className: cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (isFocused || isOpen) && 'ring-2 ring-brand', isDisabled && 'cursor-not-allowed opacity-50'), children: jsx(SelectValue$1, { className: (state) => cx('flex h-max w-full items-center justify-start truncate text-left align-middle', sizes[size].root,
|
|
16
|
+
const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, ref, 'data-testid': dataTestId, }) => {
|
|
17
|
+
return (jsx(Button, { ref: ref, "data-testid": dataTestId, className: cx('relative flex w-full cursor-pointer items-center rounded-lg bg-primary shadow-xs ring-1 ring-primary outline-hidden transition duration-100 ease-linear ring-inset', (isFocused || isOpen) && 'ring-2 ring-brand', isDisabled && 'cursor-not-allowed opacity-50'), children: jsx(SelectValue$1, { className: (state) => cx('flex h-max w-full items-center justify-start truncate text-left align-middle', sizes[size].root,
|
|
17
18
|
// With icon
|
|
18
19
|
(state.selectedItems[0]?.icon || icon) && sizes[size].withIcon,
|
|
19
20
|
// Icon styles
|
|
@@ -23,8 +24,9 @@ const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, r
|
|
|
23
24
|
return (jsxs(Fragment, { children: [selectedItem?.avatarUrl ? (jsx(Avatar, { size: "xs", src: selectedItem.avatarUrl, alt: selectedItem.label, className: cx(size === 'sm' && 'size-5') })) : isReactComponent(Icon) ? (jsx(Icon, { "data-icon": true, "aria-hidden": "true" })) : isValidElement(Icon) ? (Icon) : null, selectedItem ? (jsxs("span", { className: cx('flex w-full truncate', sizes[size].textContainer), children: [jsx("p", { className: cx('truncate font-medium text-primary', sizes[size].text), children: selectedItem?.label }), selectedItem?.supportingText && jsx("p", { className: cx('text-tertiary', sizes[size].text), children: selectedItem?.supportingText })] })) : (jsx("p", { className: cx('text-placeholder', sizes[size].text), children: placeholder })), jsx(ChevronDown, { "aria-hidden": "true", className: cx('ml-auto shrink-0 text-fg-quaternary', size === 'lg' ? 'size-5' : 'size-4 stroke-[2.25px]') })] }));
|
|
24
25
|
} }) }));
|
|
25
26
|
};
|
|
26
|
-
const Select = ({ placeholder = 'Select', icon, size = 'md', children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, ...rest }) => {
|
|
27
|
-
|
|
27
|
+
const Select = ({ placeholder = 'Select', icon, size = 'md', children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, 'data-testid': dataTestId, ...rest }) => {
|
|
28
|
+
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'select', rootName: 'select' });
|
|
29
|
+
return (jsx(SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsx(Select$1, { ...rest, "data-testid": rootTestId, className: (state) => cx('flex flex-col gap-1.5', typeof className === 'function' ? className(state) : className), children: (state) => (jsxs(Fragment, { children: [label && (jsx(Label, { isRequired: hideRequiredIndicator ? false : state.isRequired, tooltip: tooltip, children: label })), jsx(SelectValue, { ...state, size, placeholder, icon: icon, "data-testid": joinTestId(rootTestId, 'trigger') }), jsx(Popover, { size: size, className: popoverClassName, children: jsx(ListBox, { items: items, className: "size-full outline-hidden", children: children }) }), hint && (jsx(HintText, { isInvalid: state.isInvalid, className: cx(size === 'sm' && 'text-xs'), children: hint }))] })) }) }));
|
|
28
30
|
};
|
|
29
31
|
const _Select = Select;
|
|
30
32
|
_Select.ComboBox = ComboBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/molecules/Select/index.tsx"],"sourcesContent":[null],"names":["_jsx","AriaButton","AriaSelectValue","_jsxs","AriaSelect","_Fragment","AriaListBox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/molecules/Select/index.tsx"],"sourcesContent":[null],"names":["_jsx","AriaButton","AriaSelectValue","_jsxs","AriaSelect","_Fragment","AriaListBox"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var Badge = require('@flipdish/ui-library/components/atoms/Badge');
|
|
5
5
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
6
6
|
var isReactComponent = require('@flipdish/ui-library/utilities/isReactComponent');
|
|
7
|
+
var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
|
|
7
8
|
var React = require('react');
|
|
8
9
|
var reactAriaComponents = require('react-aria-components');
|
|
9
10
|
|
|
@@ -49,10 +50,12 @@ const TabListContext = React.createContext({
|
|
|
49
50
|
size: 'sm',
|
|
50
51
|
type: 'button-brand',
|
|
51
52
|
});
|
|
52
|
-
const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationProp, fullWidth, className, children, ...otherProps }) => {
|
|
53
|
+
const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationProp, fullWidth, className, children, 'data-testid': dataTestId, ...otherProps }) => {
|
|
53
54
|
const context = reactAriaComponents.useSlottedContext(reactAriaComponents.TabsContext);
|
|
54
55
|
const orientation = orientationProp ?? context?.orientation ?? 'horizontal';
|
|
55
|
-
|
|
56
|
+
const prefix = testIdUtils.useTestIdPrefix();
|
|
57
|
+
const listTestId = dataTestId ?? (prefix ? testIdUtils.joinTestId(prefix, 'list') : undefined);
|
|
58
|
+
return (jsxRuntime.jsx(TabListContext.Provider, { value: { size, type, orientation, fullWidth }, children: jsxRuntime.jsx(reactAriaComponents.TabList, { ...otherProps, "data-testid": listTestId, className: (state) => cx.cx('group flex', getHorizontalStyles({
|
|
56
59
|
size,
|
|
57
60
|
fullWidth,
|
|
58
61
|
})[type], orientation === 'vertical' && 'w-max flex-col',
|
|
@@ -61,13 +64,25 @@ const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationP
|
|
|
61
64
|
type === 'underline' &&
|
|
62
65
|
'relative before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-border-secondary', typeof className === 'function' ? className(state) : className), children: children ?? (otherProps.items ? (item) => jsxRuntime.jsx(Tab, { ...item, children: item.children }) : undefined) }) }));
|
|
63
66
|
};
|
|
64
|
-
const TabPanel = (props) => {
|
|
65
|
-
|
|
67
|
+
const TabPanel = ({ 'data-testid': dataTestId, ...props }) => {
|
|
68
|
+
const prefix = testIdUtils.useTestIdPrefix();
|
|
69
|
+
const idPart = props.id !== undefined ? testIdUtils.slugifyTestId(String(props.id)) : 'panel';
|
|
70
|
+
const panelTestId = dataTestId ?? (prefix ? testIdUtils.joinTestId(prefix, `panel-${idPart}`) : undefined);
|
|
71
|
+
return (jsxRuntime.jsx(reactAriaComponents.TabPanel, { ...props, "data-testid": panelTestId, className: (state) => cx.cx('outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2', typeof props.className === 'function' ? props.className(state) : props.className) }));
|
|
66
72
|
};
|
|
67
|
-
const Tab = ({ label, children, badge, icon: Icon, className, ...otherProps }) => {
|
|
73
|
+
const Tab = ({ label, children, badge, icon: Icon, className, 'data-testid': dataTestId, ...otherProps }) => {
|
|
68
74
|
const { size = 'sm', type = 'button-brand', fullWidth } = React.useContext(TabListContext);
|
|
69
75
|
const showPillColorBadge = type === 'underline' || type === 'line' || type === 'button-brand';
|
|
70
|
-
|
|
76
|
+
const prefix = testIdUtils.useTestIdPrefix();
|
|
77
|
+
const idPart = otherProps.id !== undefined
|
|
78
|
+
? testIdUtils.slugifyTestId(String(otherProps.id))
|
|
79
|
+
: typeof label === 'string'
|
|
80
|
+
? testIdUtils.slugifyTestId(label)
|
|
81
|
+
: typeof children === 'string'
|
|
82
|
+
? testIdUtils.slugifyTestId(children)
|
|
83
|
+
: 'item';
|
|
84
|
+
const tabTestId = dataTestId ?? (prefix ? testIdUtils.joinTestId(prefix, `tab-${idPart}`) : undefined);
|
|
85
|
+
return (jsxRuntime.jsx(reactAriaComponents.Tab, { ...otherProps, "data-testid": tabTestId, className: (prop) => cx.cx('z-10 flex h-max cursor-pointer items-center justify-center gap-2 rounded-md whitespace-nowrap text-quaternary transition duration-100 ease-linear', 'group-orientation-vertical:justify-start', fullWidth && 'w-full flex-1', sizes[size].base, sizes[size][type], getTabStyles(prop)[type], typeof className === 'function' ? className(prop) : className), children: (state) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [React.isValidElement(Icon) && Icon, isReactComponent.isReactComponent(Icon) && jsxRuntime.jsx(Icon, { "data-icon": true, className: "transition-inherit-all" }), jsxRuntime.jsxs("span", { className: cx.cx('flex items-center gap-1.5', type !== 'line' && 'px-0.5'), children: [typeof children === 'function' ? children(state) : children || label, badge && (jsxRuntime.jsx(Badge.Badge, { size: "sm", type: showPillColorBadge ? 'pill-color' : 'modern', color: showPillColorBadge && (state.isHovered || state.isSelected) ? 'brand' : 'gray', className: cx.cx('hidden transition-inherit-all md:flex', size === 'sm' && '-my-px'), children: badge }))] })] })) }));
|
|
71
86
|
};
|
|
72
87
|
/**
|
|
73
88
|
* Organises related content into labelled panels, showing one at a time.
|
|
@@ -75,8 +90,9 @@ const Tab = ({ label, children, badge, icon: Icon, className, ...otherProps }) =
|
|
|
75
90
|
*
|
|
76
91
|
* @summary switch between labelled content panels
|
|
77
92
|
*/
|
|
78
|
-
const Tabs = ({ className, ...props }) => {
|
|
79
|
-
|
|
93
|
+
const Tabs = ({ className, 'data-testid': dataTestId, ...props }) => {
|
|
94
|
+
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'tabs', rootName: 'tabs' });
|
|
95
|
+
return (jsxRuntime.jsx(testIdUtils.TestIdProvider, { value: rootTestId, children: jsxRuntime.jsx(reactAriaComponents.Tabs, { keyboardActivation: "manual", ...props, "data-testid": rootTestId, className: (state) => cx.cx('flex w-full flex-col', typeof className === 'function' ? className(state) : className) }) }));
|
|
80
96
|
};
|
|
81
97
|
Tabs.Panel = TabPanel;
|
|
82
98
|
Tabs.List = TabList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/molecules/Tabs/index.tsx"],"sourcesContent":[null],"names":["cx","createContext","useSlottedContext","TabsContext","_jsx","AriaTabList","AriaTabPanel","useContext","AriaTab","_jsxs","isValidElement","isReactComponent","Badge","AriaTabs"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/molecules/Tabs/index.tsx"],"sourcesContent":[null],"names":["cx","createContext","useSlottedContext","TabsContext","useTestIdPrefix","joinTestId","_jsx","AriaTabList","slugifyTestId","AriaTabPanel","useContext","AriaTab","_jsxs","_Fragment","isValidElement","isReactComponent","Badge","useResolvedTestId","TestIdProvider","AriaTabs"],"mappings":"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"}
|
|
@@ -36,9 +36,13 @@ export interface TabListComponentProps<T extends object, K extends Orientation>
|
|
|
36
36
|
items?: T[];
|
|
37
37
|
/** Whether the tab list is full width. */
|
|
38
38
|
fullWidth?: boolean;
|
|
39
|
+
/** Overrides the derived `data-testid` for the tab list (defaults to `<root>--list`). */
|
|
40
|
+
'data-testid'?: string;
|
|
39
41
|
}
|
|
40
|
-
export declare const TabList: <T extends Orientation>({ size, type, orientation: orientationProp, fullWidth, className, children, ...otherProps }: TabListComponentProps<TabComponentProps, T>) => import("react").JSX.Element;
|
|
41
|
-
export declare const TabPanel: (props: ComponentPropsWithRef<typeof AriaTabPanel>
|
|
42
|
+
export declare const TabList: <T extends Orientation>({ size, type, orientation: orientationProp, fullWidth, className, children, "data-testid": dataTestId, ...otherProps }: TabListComponentProps<TabComponentProps, T>) => import("react").JSX.Element;
|
|
43
|
+
export declare const TabPanel: ({ "data-testid": dataTestId, ...props }: ComponentPropsWithRef<typeof AriaTabPanel> & {
|
|
44
|
+
"data-testid"?: string;
|
|
45
|
+
}) => import("react").JSX.Element;
|
|
42
46
|
export interface TabComponentProps extends AriaTabProps {
|
|
43
47
|
/** The label of the tab. */
|
|
44
48
|
label?: ReactNode;
|
|
@@ -50,8 +54,10 @@ export interface TabComponentProps extends AriaTabProps {
|
|
|
50
54
|
}> | ReactNode;
|
|
51
55
|
/** The badge displayed next to the label. */
|
|
52
56
|
badge?: number | string;
|
|
57
|
+
/** Overrides the derived `data-testid` for the tab (defaults to `<root>--tab-<id>`). */
|
|
58
|
+
'data-testid'?: string;
|
|
53
59
|
}
|
|
54
|
-
export declare const Tab: ({ label, children, badge, icon: Icon, className, ...otherProps }: TabComponentProps) => import("react").JSX.Element;
|
|
60
|
+
export declare const Tab: ({ label, children, badge, icon: Icon, className, "data-testid": dataTestId, ...otherProps }: TabComponentProps) => import("react").JSX.Element;
|
|
55
61
|
/**
|
|
56
62
|
* Organises related content into labelled panels, showing one at a time.
|
|
57
63
|
* Compose with `Tabs.List` (`TabList`), `Tabs.Item` (`Tab`), and `Tabs.Panel` (`TabPanel`).
|
|
@@ -59,10 +65,14 @@ export declare const Tab: ({ label, children, badge, icon: Icon, className, ...o
|
|
|
59
65
|
* @summary switch between labelled content panels
|
|
60
66
|
*/
|
|
61
67
|
export declare const Tabs: {
|
|
62
|
-
({ className, ...props }: ComponentPropsWithRef<typeof AriaTabs>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
({ className, "data-testid": dataTestId, ...props }: ComponentPropsWithRef<typeof AriaTabs> & {
|
|
69
|
+
"data-testid"?: string;
|
|
70
|
+
}): import("react").JSX.Element;
|
|
71
|
+
Panel: ({ "data-testid": dataTestId, ...props }: ComponentPropsWithRef<typeof AriaTabPanel> & {
|
|
72
|
+
"data-testid"?: string;
|
|
73
|
+
}) => import("react").JSX.Element;
|
|
74
|
+
List: <T extends Orientation>({ size, type, orientation: orientationProp, fullWidth, className, children, "data-testid": dataTestId, ...otherProps }: TabListComponentProps<TabComponentProps, T>) => import("react").JSX.Element;
|
|
75
|
+
Item: ({ label, children, badge, icon: Icon, className, "data-testid": dataTestId, ...otherProps }: TabComponentProps) => import("react").JSX.Element;
|
|
66
76
|
};
|
|
67
77
|
export {};
|
|
68
78
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Tabs/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Tabs/index.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,QAAQ,IAAI,YAAY,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC9I,OAAO,EAGL,QAAQ,IAAI,YAAY,EACxB,IAAI,IAAI,QAAQ,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAG7C,KAAK,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,gBAAgB,GAAG,WAAW,CAAC;AACzG,KAAK,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,eAAe,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAClG,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;AAqCjF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAmBV,CAAC;AAYF,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,WAAW,CAAE,SAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACxH,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,gCAAgC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChB,qHAAqH;IACrH,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yFAAyF;IACzF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,WAAW,EAAE,wHAS5C,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,CAAC,gCAqC7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,yCAAyC,qBAAqB,CAAC,OAAO,YAAY,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,gCAiBxI,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC;IAClE,wDAAwD;IACxD,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAC9C,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,GAAG,GAAI,6FAA6F,iBAAiB,gCAyDjI,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,IAAI;yDAAwD,qBAAqB,CAAC,OAAO,QAAQ,CAAC,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;qDAjG1E,qBAAqB,CAAC,OAAO,YAAY,CAAC,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;WAhDjH,CAAC,SAAS,WAAW,0HAS1C,qBAAqB,CAAC,iBAAiB,EAAE,CAAC,CAAC;wGAuEmE,iBAAiB;CA8EjI,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Badge } from '@flipdish/ui-library/components/atoms/Badge';
|
|
3
3
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
4
4
|
import { isReactComponent } from '@flipdish/ui-library/utilities/isReactComponent';
|
|
5
|
+
import { useTestIdPrefix, slugifyTestId, joinTestId, useResolvedTestId, TestIdProvider } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
5
6
|
import { createContext, useContext, isValidElement } from 'react';
|
|
6
7
|
import { Tab as Tab$1, useSlottedContext, TabsContext, TabList as TabList$1, TabPanel as TabPanel$1, Tabs as Tabs$1 } from 'react-aria-components';
|
|
7
8
|
|
|
@@ -47,10 +48,12 @@ const TabListContext = createContext({
|
|
|
47
48
|
size: 'sm',
|
|
48
49
|
type: 'button-brand',
|
|
49
50
|
});
|
|
50
|
-
const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationProp, fullWidth, className, children, ...otherProps }) => {
|
|
51
|
+
const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationProp, fullWidth, className, children, 'data-testid': dataTestId, ...otherProps }) => {
|
|
51
52
|
const context = useSlottedContext(TabsContext);
|
|
52
53
|
const orientation = orientationProp ?? context?.orientation ?? 'horizontal';
|
|
53
|
-
|
|
54
|
+
const prefix = useTestIdPrefix();
|
|
55
|
+
const listTestId = dataTestId ?? (prefix ? joinTestId(prefix, 'list') : undefined);
|
|
56
|
+
return (jsx(TabListContext.Provider, { value: { size, type, orientation, fullWidth }, children: jsx(TabList$1, { ...otherProps, "data-testid": listTestId, className: (state) => cx('group flex', getHorizontalStyles({
|
|
54
57
|
size,
|
|
55
58
|
fullWidth,
|
|
56
59
|
})[type], orientation === 'vertical' && 'w-max flex-col',
|
|
@@ -59,13 +62,25 @@ const TabList = ({ size = 'sm', type = 'button-brand', orientation: orientationP
|
|
|
59
62
|
type === 'underline' &&
|
|
60
63
|
'relative before:absolute before:inset-x-0 before:bottom-0 before:h-px before:bg-border-secondary', typeof className === 'function' ? className(state) : className), children: children ?? (otherProps.items ? (item) => jsx(Tab, { ...item, children: item.children }) : undefined) }) }));
|
|
61
64
|
};
|
|
62
|
-
const TabPanel = (props) => {
|
|
63
|
-
|
|
65
|
+
const TabPanel = ({ 'data-testid': dataTestId, ...props }) => {
|
|
66
|
+
const prefix = useTestIdPrefix();
|
|
67
|
+
const idPart = props.id !== undefined ? slugifyTestId(String(props.id)) : 'panel';
|
|
68
|
+
const panelTestId = dataTestId ?? (prefix ? joinTestId(prefix, `panel-${idPart}`) : undefined);
|
|
69
|
+
return (jsx(TabPanel$1, { ...props, "data-testid": panelTestId, className: (state) => cx('outline-focus-ring focus-visible:outline-2 focus-visible:outline-offset-2', typeof props.className === 'function' ? props.className(state) : props.className) }));
|
|
64
70
|
};
|
|
65
|
-
const Tab = ({ label, children, badge, icon: Icon, className, ...otherProps }) => {
|
|
71
|
+
const Tab = ({ label, children, badge, icon: Icon, className, 'data-testid': dataTestId, ...otherProps }) => {
|
|
66
72
|
const { size = 'sm', type = 'button-brand', fullWidth } = useContext(TabListContext);
|
|
67
73
|
const showPillColorBadge = type === 'underline' || type === 'line' || type === 'button-brand';
|
|
68
|
-
|
|
74
|
+
const prefix = useTestIdPrefix();
|
|
75
|
+
const idPart = otherProps.id !== undefined
|
|
76
|
+
? slugifyTestId(String(otherProps.id))
|
|
77
|
+
: typeof label === 'string'
|
|
78
|
+
? slugifyTestId(label)
|
|
79
|
+
: typeof children === 'string'
|
|
80
|
+
? slugifyTestId(children)
|
|
81
|
+
: 'item';
|
|
82
|
+
const tabTestId = dataTestId ?? (prefix ? joinTestId(prefix, `tab-${idPart}`) : undefined);
|
|
83
|
+
return (jsx(Tab$1, { ...otherProps, "data-testid": tabTestId, className: (prop) => cx('z-10 flex h-max cursor-pointer items-center justify-center gap-2 rounded-md whitespace-nowrap text-quaternary transition duration-100 ease-linear', 'group-orientation-vertical:justify-start', fullWidth && 'w-full flex-1', sizes[size].base, sizes[size][type], getTabStyles(prop)[type], typeof className === 'function' ? className(prop) : className), children: (state) => (jsxs(Fragment, { children: [isValidElement(Icon) && Icon, isReactComponent(Icon) && jsx(Icon, { "data-icon": true, className: "transition-inherit-all" }), jsxs("span", { className: cx('flex items-center gap-1.5', type !== 'line' && 'px-0.5'), children: [typeof children === 'function' ? children(state) : children || label, badge && (jsx(Badge, { size: "sm", type: showPillColorBadge ? 'pill-color' : 'modern', color: showPillColorBadge && (state.isHovered || state.isSelected) ? 'brand' : 'gray', className: cx('hidden transition-inherit-all md:flex', size === 'sm' && '-my-px'), children: badge }))] })] })) }));
|
|
69
84
|
};
|
|
70
85
|
/**
|
|
71
86
|
* Organises related content into labelled panels, showing one at a time.
|
|
@@ -73,8 +88,9 @@ const Tab = ({ label, children, badge, icon: Icon, className, ...otherProps }) =
|
|
|
73
88
|
*
|
|
74
89
|
* @summary switch between labelled content panels
|
|
75
90
|
*/
|
|
76
|
-
const Tabs = ({ className, ...props }) => {
|
|
77
|
-
|
|
91
|
+
const Tabs = ({ className, 'data-testid': dataTestId, ...props }) => {
|
|
92
|
+
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'tabs', rootName: 'tabs' });
|
|
93
|
+
return (jsx(TestIdProvider, { value: rootTestId, children: jsx(Tabs$1, { keyboardActivation: "manual", ...props, "data-testid": rootTestId, className: (state) => cx('flex w-full flex-col', typeof className === 'function' ? className(state) : className) }) }));
|
|
78
94
|
};
|
|
79
95
|
Tabs.Panel = TabPanel;
|
|
80
96
|
Tabs.List = TabList;
|