@flipdish/ui-library 0.9.2 → 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/Pagination/index.cjs +1 -1
- package/dist/components/molecules/Pagination/index.cjs.map +1 -1
- package/dist/components/molecules/Pagination/index.js +1 -1
- package/dist/components/molecules/Pagination/index.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 +39 -4
- package/dist/components/molecules/Select/components/multi-select.cjs.map +1 -1
- package/dist/components/molecules/Select/components/multi-select.d.ts +3 -1
- package/dist/components/molecules/Select/components/multi-select.d.ts.map +1 -1
- package/dist/components/molecules/Select/components/multi-select.js +40 -5
- 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 +8 -4
- package/dist/components/molecules/Select/index.cjs.map +1 -1
- package/dist/components/molecules/Select/index.d.ts +9 -1
- package/dist/components/molecules/Select/index.d.ts.map +1 -1
- package/dist/components/molecules/Select/index.js +7 -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/DatePicker/components/date-range-picker.d.ts +1 -2
- package/dist/components/organisms/DatePicker/components/date-range-picker.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/components/range-calendar.d.ts +1 -1
- package/dist/components/organisms/DatePicker/components/range-calendar.d.ts.map +1 -1
- package/dist/components/organisms/DatePicker/index.d.ts +2 -2
- package/dist/components/organisms/DatePicker/index.d.ts.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
- package/dist/components/molecules/MultiSelect/index.cjs +0 -8
- package/dist/components/molecules/MultiSelect/index.cjs.map +0 -1
- package/dist/components/molecules/MultiSelect/index.d.ts +0 -8
- package/dist/components/molecules/MultiSelect/index.d.ts.map +0 -1
- package/dist/components/molecules/MultiSelect/index.js +0 -2
- package/dist/components/molecules/MultiSelect/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group-radio-button.js","sources":["../../../../../src/components/molecules/RadioGroup/components/radio-group-radio-button.tsx"],"sourcesContent":[null],"names":["_jsx","AriaRadioGroup","AriaRadio","_jsxs","AriaLabel","AriaText"],"mappings":"
|
|
1
|
+
{"version":3,"file":"radio-group-radio-button.js","sources":["../../../../../src/components/molecules/RadioGroup/components/radio-group-radio-button.tsx"],"sourcesContent":[null],"names":["_jsx","AriaRadioGroup","AriaRadio","_jsxs","AriaLabel","AriaText"],"mappings":";;;;;AAeA;;;;;AAKG;MACU,qBAAqB,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,EAA8B,KAAI;AAC1I,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AAE7G,IAAA,QACEA,GAAA,CAACC,UAAc,EAAA,EAAA,GACT,KAAK,iBACI,UAAU,EACvB,SAAS,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,qBAAqB,EAAE,OAAO,SAAS,KAAK,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,YAE9G,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MACdD,GAAA,CAACE,KAAS,IACR,UAAU,EAAE,IAAI,CAAC,QAAQ,EAEzB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAA,aAAA,EACJ,UAAU,CAAC,UAAU,EAAE,CAAA,OAAA,EAAU,IAAI,CAAC,KAAK,CAAA,CAAE,CAAC,EAC3D,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,KACpD,EAAE,CACA,sFAAsF,EACtF,IAAI,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,EACjC,UAAU,GAAG,mBAAmB,GAAG,uBAAuB,EAC1D,UAAU,IAAI,4DAA4D,EAC1E,cAAc,IAAI,4BAA4B,CAC/C,EAAA,QAAA,EAGF,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAC1CC,4BACEH,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,QAAQ,EACnC,UAAU,GAAG,gBAAgB,GAAG,qBAAqB,EACrD,UAAU,IAAI,yCAAyC,EACvD,cAAc,IAAI,+CAA+C,CAClE,EAAA,QAAA,EAEDA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,UAAU,EACrC,UAAU,GAAG,aAAa,GAAG,WAAW,EACxC,UAAU,IAAI,uBAAuB,CACtC,EAAA,CACD,GACE,EAENG,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,aACjEA,IAAA,CAACC,KAAS,IAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,aACvFJ,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,IAAI,KAAK,IAAI,GAAG,qBAAqB,GAAG,qBAAqB,CAAC,EAAA,QAAA,EACrH,IAAI,CAAC,KAAK,GACN,EACPA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC,EAAA,QAAA,EAAG,IAAI,CAAC,cAAc,GAAQ,CAAA,EAAA,CAC/F,EACZA,GAAA,CAACK,IAAQ,IAAC,IAAI,EAAC,aAAa,EAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,EAAE,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC,EAAA,QAAA,EACvG,IAAI,CAAC,WAAW,EAAA,CACR,IACP,CAAA,EAAA,CACL,CACJ,EAAA,EA9CI,IAAI,CAAC,KAAK,CA+CL,CACb,CAAC,EAAA,CACa;AAErB;;;;"}
|
|
@@ -6,6 +6,7 @@ var Button = require('@flipdish/ui-library/components/atoms/Button');
|
|
|
6
6
|
var FeaturedIcon = require('@flipdish/ui-library/components/atoms/FeaturedIcon');
|
|
7
7
|
var Input = require('@flipdish/ui-library/components/atoms/Input');
|
|
8
8
|
var cx = require('@flipdish/ui-library/utilities/cx');
|
|
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 selectItem = require('./select-item.cjs');
|
|
@@ -31,9 +32,10 @@ const MultiSelectFooter = ({ size = 'sm', onReset, onSelectAll, className }) =>
|
|
|
31
32
|
return (jsxRuntime.jsxs("div", { className: cx.cx('flex items-center justify-between border-t border-secondary p-3', className), children: [jsxRuntime.jsx(Button.Button, { size: btnSize, color: "secondary", onClick: onReset, children: "Reset" }), jsxRuntime.jsx(Button.Button, { size: btnSize, color: "secondary", onClick: onSelectAll, children: "Select all" })] }));
|
|
32
33
|
};
|
|
33
34
|
const MultiSelectEmptyState = ({ title = 'No results found', description = 'Please try a different search term.', onClearSearch, className, }) => (jsxRuntime.jsxs("div", { className: cx.cx('flex flex-col items-center gap-3 px-4 py-4', className), children: [jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-3", children: [jsxRuntime.jsx(FeaturedIcon.FeaturedIcon, { icon: uiIcons.SearchLg, size: "sm", color: "gray", theme: "modern" }), jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm", children: [jsxRuntime.jsx("p", { className: "font-semibold text-primary", children: title }), jsxRuntime.jsx("p", { className: "text-tertiary", children: description })] })] }), onClearSearch && (jsxRuntime.jsx(Button.Button, { size: "sm", color: "link-color", onClick: onClearSearch, children: "Clear search" }))] }));
|
|
34
|
-
const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, placeholder = 'Select', label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter = true, showSearch = true, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, }) => {
|
|
35
|
+
const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, 'aria-label': ariaLabel, placeholder = 'Select', label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter = true, showSearch = true, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, 'data-testid': dataTestId, }) => {
|
|
35
36
|
const { contains } = reactAriaComponents.useFilter({ sensitivity: 'base' });
|
|
36
37
|
const [searchValue, setSearchValue] = React.useState('');
|
|
38
|
+
const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'multi-select', rootName: 'multi-select' });
|
|
37
39
|
const triggerRef = React.useRef(null);
|
|
38
40
|
const [popoverWidth, setPopoverWidth] = React.useState('');
|
|
39
41
|
const onResize = React.useCallback(() => {
|
|
@@ -42,14 +44,47 @@ const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSe
|
|
|
42
44
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
43
45
|
setPopoverWidth(`${rect.width}px`);
|
|
44
46
|
}, []);
|
|
45
|
-
|
|
47
|
+
// Controlled when `selectedKeys` is supplied; otherwise track selection internally
|
|
48
|
+
// (seeded from `defaultSelectedKeys`) so the trigger summary, footer, and item ticks
|
|
49
|
+
// all reflect choices even without the parent wiring `onSelectionChange`.
|
|
50
|
+
const isControlled = selectedKeys !== undefined;
|
|
51
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = React.useState(defaultSelectedKeys ?? new Set());
|
|
52
|
+
const currentSelectedKeys = isControlled ? selectedKeys : internalSelectedKeys;
|
|
53
|
+
const handleSelectionChange = (keys) => {
|
|
54
|
+
if (!isControlled)
|
|
55
|
+
setInternalSelectedKeys(keys);
|
|
56
|
+
onSelectionChange?.(keys);
|
|
57
|
+
};
|
|
58
|
+
const handleReset = () => {
|
|
59
|
+
if (!isControlled)
|
|
60
|
+
setInternalSelectedKeys(new Set());
|
|
61
|
+
onReset?.();
|
|
62
|
+
};
|
|
63
|
+
// Every selectable key — from `items` when data-driven, else from the ids of the
|
|
64
|
+
// static `MultiSelect.Item` children, so "Select all" works in both modes.
|
|
65
|
+
const getSelectableKeys = () => {
|
|
66
|
+
if (items)
|
|
67
|
+
return new Set(items.map((item) => item.id));
|
|
68
|
+
if (typeof children === 'function')
|
|
69
|
+
return new Set();
|
|
70
|
+
return new Set(React.Children.toArray(children)
|
|
71
|
+
.filter(React.isValidElement)
|
|
72
|
+
.map((child) => child.props.id)
|
|
73
|
+
.filter((id) => id != null));
|
|
74
|
+
};
|
|
75
|
+
const handleSelectAll = () => {
|
|
76
|
+
if (!isControlled)
|
|
77
|
+
setInternalSelectedKeys(getSelectableKeys());
|
|
78
|
+
onSelectAll?.();
|
|
79
|
+
};
|
|
80
|
+
const selectedCount = currentSelectedKeys instanceof Set ? currentSelectedKeys.size : currentSelectedKeys === 'all' ? (items?.length ?? 0) : 0;
|
|
46
81
|
const hasSelection = selectedCount > 0;
|
|
47
82
|
const handleClearSearch = React.useCallback(() => {
|
|
48
83
|
setSearchValue('');
|
|
49
84
|
}, []);
|
|
50
|
-
return (jsxRuntime.jsx(selectShared.SelectContext.Provider, { value: { size }, children: jsxRuntime.jsxs("div", { ref: ref, className: cx.cx('flex flex-col gap-1.5', className), children: [label && (jsxRuntime.jsx(Input.Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { ref: triggerRef, isDisabled: isDisabled, onClick: onResize, className: (state) => 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', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxRuntime.jsxs("span", { className: cx.cx('flex w-full items-center truncate text-left', selectShared.sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxRuntime.jsxs("span", { className: cx.cx('flex items-center', selectShared.sizes[size].textContainer), children: [jsxRuntime.jsx("span", { className: cx.cx('font-medium text-primary', selectShared.sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsxRuntime.jsx("span", { className: cx.cx('text-tertiary', selectShared.sizes[size].text), children: supportingText })] })) : (jsxRuntime.jsx("span", { 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]') })] }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx.cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden will-change-transform', state.isEntering &&
|
|
85
|
+
return (jsxRuntime.jsx(selectShared.SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsxRuntime.jsxs("div", { ref: ref, "data-testid": rootTestId, className: cx.cx('flex flex-col gap-1.5', className), children: [label && (jsxRuntime.jsx(Input.Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { ref: triggerRef, "data-testid": testIdUtils.joinTestId(rootTestId, 'trigger'), isDisabled: isDisabled, "aria-label": label ? undefined : ariaLabel, "aria-invalid": isInvalid || undefined, "aria-required": isRequired || undefined, onClick: onResize, className: (state) => 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', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxRuntime.jsxs("span", { className: cx.cx('flex w-full items-center truncate text-left', selectShared.sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxRuntime.jsxs("span", { className: cx.cx('flex items-center', selectShared.sizes[size].textContainer), children: [jsxRuntime.jsx("span", { className: cx.cx('font-medium text-primary', selectShared.sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsxRuntime.jsx("span", { className: cx.cx('text-tertiary', selectShared.sizes[size].text), children: supportingText })] })) : (jsxRuntime.jsx("span", { 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]') })] }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx.cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden will-change-transform', state.isEntering &&
|
|
51
86
|
'duration-150 ease-out animate-in fade-in placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', state.isExiting &&
|
|
52
|
-
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxRuntime.jsxs(reactAriaComponents.Dialog, { className: "outline-hidden", children: [jsxRuntime.jsxs(reactAriaComponents.Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsxRuntime.jsx("div", { className: cx.cx('border-b border-secondary', searchSizes[size].wrapper), children: jsxRuntime.jsx(reactAriaComponents.SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxRuntime.jsxs("div", { className: cx.cx('flex items-center', searchSizes[size].root), children: [jsxRuntime.jsx(uiIcons.SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsxRuntime.jsx(reactAriaComponents.Input, { placeholder: "Search", className: cx.cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsxRuntime.jsx(reactAriaComponents.ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys:
|
|
87
|
+
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxRuntime.jsxs(reactAriaComponents.Dialog, { className: "outline-hidden", children: [jsxRuntime.jsxs(reactAriaComponents.Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsxRuntime.jsx("div", { className: cx.cx('border-b border-secondary', searchSizes[size].wrapper), children: jsxRuntime.jsx(reactAriaComponents.SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxRuntime.jsxs("div", { className: cx.cx('flex items-center', searchSizes[size].root), children: [jsxRuntime.jsx(uiIcons.SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsxRuntime.jsx(reactAriaComponents.Input, { placeholder: "Search", className: cx.cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsxRuntime.jsx(reactAriaComponents.ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys: currentSelectedKeys, onSelectionChange: handleSelectionChange, renderEmptyState: () => (jsxRuntime.jsx(MultiSelectEmptyState, { title: emptyStateTitle, description: emptyStateDescription, onClearSearch: searchValue ? handleClearSearch : undefined })), className: cx.cx('overflow-y-auto py-1 outline-hidden', popoverMaxHeights[size]), children: children })] }), showFooter && jsxRuntime.jsx(MultiSelectFooter, { size: size, onReset: handleReset, onSelectAll: handleSelectAll })] }) })] }), hint && (jsxRuntime.jsx(Input.HintText, { isInvalid: isInvalid, className: cx.cx(size === 'sm' && 'text-xs'), children: hint }))] }) }));
|
|
53
88
|
};
|
|
54
89
|
const MultiSelect = MultiSelectRoot;
|
|
55
90
|
MultiSelect.Item = selectItem.SelectItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.cjs","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"sourcesContent":[null],"names":["_jsxs","cx","_jsx","Button","FeaturedIcon","SearchLg","useFilter","useState","useRef","useCallback","SelectContext","Label","AriaDialogTrigger","AriaButton","sizes","ChevronDown","AriaPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox","HintText","SelectItem"],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-select.cjs","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"sourcesContent":[null],"names":["_jsxs","cx","_jsx","Button","FeaturedIcon","SearchLg","useFilter","useState","useResolvedTestId","useRef","useCallback","Children","isValidElement","SelectContext","Label","AriaDialogTrigger","AriaButton","joinTestId","sizes","ChevronDown","AriaPopover","AriaDialog","AriaAutocomplete","AriaSearchField","AriaInput","AriaListBox","HintText","SelectItem"],"mappings":"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"}
|
|
@@ -50,6 +50,8 @@ export interface MultiSelectProps extends RefAttributes<HTMLDivElement>, CommonP
|
|
|
50
50
|
isRequired?: boolean;
|
|
51
51
|
/** Whether the select is in an invalid state. */
|
|
52
52
|
isInvalid?: boolean;
|
|
53
|
+
/** Accessible name for the trigger, for when no visible `label` is provided. */
|
|
54
|
+
'aria-label'?: string;
|
|
53
55
|
/** Additional class name for the popover. */
|
|
54
56
|
popoverClassName?: string;
|
|
55
57
|
/** Additional class name for the root element. */
|
|
@@ -77,7 +79,7 @@ export interface MultiSelectProps extends RefAttributes<HTMLDivElement>, CommonP
|
|
|
77
79
|
/** Supporting text displayed next to the selected count in the trigger. */
|
|
78
80
|
supportingText?: ReactNode;
|
|
79
81
|
}
|
|
80
|
-
declare const MultiSelectRoot: ({ items, children, size, selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, placeholder, label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter, showSearch, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, }: MultiSelectProps) => import("react").JSX.Element;
|
|
82
|
+
declare const MultiSelectRoot: ({ items, children, size, selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, "aria-label": ariaLabel, placeholder, label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter, showSearch, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, "data-testid": dataTestId, }: MultiSelectProps) => import("react").JSX.Element;
|
|
81
83
|
declare const MultiSelect: typeof MultiSelectRoot & {
|
|
82
84
|
Item: typeof SelectItem;
|
|
83
85
|
Footer: typeof MultiSelectFooter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-select.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Select/components/multi-select.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAYvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,KAAK,WAAW,EAAiB,KAAK,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAoB9F,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,iBAAiB,GAAI,2CAAkD,sBAAsB,gCAalG,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,qBAAqB,GAAI,mDAK5B,0BAA0B,gCAe5B,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,aAAa,CAAC,cAAc,CAAC,EAAE,WAAW;IAClF,2CAA2C;IAC3C,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC;IAC5D,gDAAgD;IAChD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gDAAgD;IAChD,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC9C,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACtD,2EAA2E;IAC3E,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,eAAe,GAAI,mYA4BtB,gBAAgB,gCA0KlB,CAAC;AAEF,QAAA,MAAM,WAAW,EAAsB,OAAO,eAAe,GAAG;IAC9D,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,MAAM,EAAE,OAAO,iBAAiB,CAAC;IACjC,UAAU,EAAE,OAAO,qBAAqB,CAAC;CAC1C,CAAC;AAMF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -4,7 +4,8 @@ import { Button as Button$1 } from '@flipdish/ui-library/components/atoms/Button
|
|
|
4
4
|
import { FeaturedIcon } from '@flipdish/ui-library/components/atoms/FeaturedIcon';
|
|
5
5
|
import { Label, HintText } from '@flipdish/ui-library/components/atoms/Input';
|
|
6
6
|
import { cx } from '@flipdish/ui-library/utilities/cx';
|
|
7
|
-
import {
|
|
7
|
+
import { useResolvedTestId, joinTestId } from '@flipdish/ui-library/utilities/testIdUtils';
|
|
8
|
+
import { useState, useRef, useCallback, Children, isValidElement } from 'react';
|
|
8
9
|
import { useFilter, DialogTrigger, Button, Popover, Dialog, Autocomplete, SearchField, Input, ListBox } from 'react-aria-components';
|
|
9
10
|
import { SelectItem } from './select-item.js';
|
|
10
11
|
import { SelectContext, sizes } from './select-shared.js';
|
|
@@ -29,9 +30,10 @@ const MultiSelectFooter = ({ size = 'sm', onReset, onSelectAll, className }) =>
|
|
|
29
30
|
return (jsxs("div", { className: cx('flex items-center justify-between border-t border-secondary p-3', className), children: [jsx(Button$1, { size: btnSize, color: "secondary", onClick: onReset, children: "Reset" }), jsx(Button$1, { size: btnSize, color: "secondary", onClick: onSelectAll, children: "Select all" })] }));
|
|
30
31
|
};
|
|
31
32
|
const MultiSelectEmptyState = ({ title = 'No results found', description = 'Please try a different search term.', onClearSearch, className, }) => (jsxs("div", { className: cx('flex flex-col items-center gap-3 px-4 py-4', className), children: [jsxs("div", { className: "flex flex-col items-center gap-3", children: [jsx(FeaturedIcon, { icon: SearchLg, size: "sm", color: "gray", theme: "modern" }), jsxs("div", { className: "flex flex-col items-center gap-0.5 text-center text-sm", children: [jsx("p", { className: "font-semibold text-primary", children: title }), jsx("p", { className: "text-tertiary", children: description })] })] }), onClearSearch && (jsx(Button$1, { size: "sm", color: "link-color", onClick: onClearSearch, children: "Clear search" }))] }));
|
|
32
|
-
const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, placeholder = 'Select', label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter = true, showSearch = true, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, }) => {
|
|
33
|
+
const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSelectedKeys, onSelectionChange, isDisabled, isRequired, isInvalid, 'aria-label': ariaLabel, placeholder = 'Select', label, hint, tooltip, hideRequiredIndicator, popoverClassName, className, onReset, onSelectAll, showFooter = true, showSearch = true, emptyStateTitle, emptyStateDescription, selectedCountFormatter, supportingText, ref, 'data-testid': dataTestId, }) => {
|
|
33
34
|
const { contains } = useFilter({ sensitivity: 'base' });
|
|
34
35
|
const [searchValue, setSearchValue] = useState('');
|
|
36
|
+
const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'multi-select', rootName: 'multi-select' });
|
|
35
37
|
const triggerRef = useRef(null);
|
|
36
38
|
const [popoverWidth, setPopoverWidth] = useState('');
|
|
37
39
|
const onResize = useCallback(() => {
|
|
@@ -40,14 +42,47 @@ const MultiSelectRoot = ({ items, children, size = 'md', selectedKeys, defaultSe
|
|
|
40
42
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
41
43
|
setPopoverWidth(`${rect.width}px`);
|
|
42
44
|
}, []);
|
|
43
|
-
|
|
45
|
+
// Controlled when `selectedKeys` is supplied; otherwise track selection internally
|
|
46
|
+
// (seeded from `defaultSelectedKeys`) so the trigger summary, footer, and item ticks
|
|
47
|
+
// all reflect choices even without the parent wiring `onSelectionChange`.
|
|
48
|
+
const isControlled = selectedKeys !== undefined;
|
|
49
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = useState(defaultSelectedKeys ?? new Set());
|
|
50
|
+
const currentSelectedKeys = isControlled ? selectedKeys : internalSelectedKeys;
|
|
51
|
+
const handleSelectionChange = (keys) => {
|
|
52
|
+
if (!isControlled)
|
|
53
|
+
setInternalSelectedKeys(keys);
|
|
54
|
+
onSelectionChange?.(keys);
|
|
55
|
+
};
|
|
56
|
+
const handleReset = () => {
|
|
57
|
+
if (!isControlled)
|
|
58
|
+
setInternalSelectedKeys(new Set());
|
|
59
|
+
onReset?.();
|
|
60
|
+
};
|
|
61
|
+
// Every selectable key — from `items` when data-driven, else from the ids of the
|
|
62
|
+
// static `MultiSelect.Item` children, so "Select all" works in both modes.
|
|
63
|
+
const getSelectableKeys = () => {
|
|
64
|
+
if (items)
|
|
65
|
+
return new Set(items.map((item) => item.id));
|
|
66
|
+
if (typeof children === 'function')
|
|
67
|
+
return new Set();
|
|
68
|
+
return new Set(Children.toArray(children)
|
|
69
|
+
.filter(isValidElement)
|
|
70
|
+
.map((child) => child.props.id)
|
|
71
|
+
.filter((id) => id != null));
|
|
72
|
+
};
|
|
73
|
+
const handleSelectAll = () => {
|
|
74
|
+
if (!isControlled)
|
|
75
|
+
setInternalSelectedKeys(getSelectableKeys());
|
|
76
|
+
onSelectAll?.();
|
|
77
|
+
};
|
|
78
|
+
const selectedCount = currentSelectedKeys instanceof Set ? currentSelectedKeys.size : currentSelectedKeys === 'all' ? (items?.length ?? 0) : 0;
|
|
44
79
|
const hasSelection = selectedCount > 0;
|
|
45
80
|
const handleClearSearch = useCallback(() => {
|
|
46
81
|
setSearchValue('');
|
|
47
82
|
}, []);
|
|
48
|
-
return (jsx(SelectContext.Provider, { value: { size }, children: jsxs("div", { ref: ref, className: cx('flex flex-col gap-1.5', className), children: [label && (jsx(Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxs(DialogTrigger, { children: [jsx(Button, { ref: triggerRef, isDisabled: isDisabled, onClick: onResize, className: (state) => 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', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxs("span", { className: cx('flex w-full items-center truncate text-left', sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxs("span", { className: cx('flex items-center', sizes[size].textContainer), children: [jsx("span", { className: cx('font-medium text-primary', sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsx("span", { className: cx('text-tertiary', sizes[size].text), children: supportingText })] })) : (jsx("span", { 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]') })] }) }), jsx(Popover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden will-change-transform', state.isEntering &&
|
|
83
|
+
return (jsx(SelectContext.Provider, { value: { size, testIdPrefix: rootTestId }, children: jsxs("div", { ref: ref, "data-testid": rootTestId, className: cx('flex flex-col gap-1.5', className), children: [label && (jsx(Label, { isRequired: hideRequiredIndicator ? false : isRequired, isInvalid: isInvalid, tooltip: tooltip, children: label })), jsxs(DialogTrigger, { children: [jsx(Button, { ref: triggerRef, "data-testid": joinTestId(rootTestId, 'trigger'), isDisabled: isDisabled, "aria-label": label ? undefined : ariaLabel, "aria-invalid": isInvalid || undefined, "aria-required": isRequired || undefined, onClick: onResize, className: (state) => 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', (state.isFocusVisible || state.isPressed) && 'ring-2 ring-brand', state.isDisabled && 'cursor-not-allowed opacity-50'), children: jsxs("span", { className: cx('flex w-full items-center truncate text-left', sizes[size].root, '*:data-icon:shrink-0 *:data-icon:text-fg-quaternary'), children: [hasSelection ? (jsxs("span", { className: cx('flex items-center', sizes[size].textContainer), children: [jsx("span", { className: cx('font-medium text-primary', sizes[size].text), children: selectedCountFormatter ? selectedCountFormatter(selectedCount) : `${selectedCount} selected` }), supportingText && jsx("span", { className: cx('text-tertiary', sizes[size].text), children: supportingText })] })) : (jsx("span", { 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]') })] }) }), jsx(Popover, { placement: "bottom", offset: 4, containerPadding: 0, style: { width: popoverWidth || undefined }, className: (state) => cx('w-(--trigger-width) origin-(--trigger-anchor-point) overflow-hidden rounded-lg bg-primary shadow-lg ring-1 ring-secondary_alt outline-hidden will-change-transform', state.isEntering &&
|
|
49
84
|
'duration-150 ease-out animate-in fade-in placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', state.isExiting &&
|
|
50
|
-
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxs(Dialog, { className: "outline-hidden", children: [jsxs(Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsx("div", { className: cx('border-b border-secondary', searchSizes[size].wrapper), children: jsx(SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxs("div", { className: cx('flex items-center', searchSizes[size].root), children: [jsx(SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsx(Input, { placeholder: "Search", className: cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsx(ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys:
|
|
85
|
+
'duration-100 ease-in animate-out fade-out placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5', popoverClassName), children: jsxs(Dialog, { className: "outline-hidden", children: [jsxs(Autocomplete, { filter: contains, inputValue: searchValue, onInputChange: setSearchValue, children: [showSearch && (jsx("div", { className: cx('border-b border-secondary', searchSizes[size].wrapper), children: jsx(SearchField, { "aria-label": "Search", value: searchValue, onChange: setSearchValue, autoFocus: true, children: jsxs("div", { className: cx('flex items-center', searchSizes[size].root), children: [jsx(SearchLg, { "data-icon": true, "aria-hidden": "true", className: "shrink-0 text-fg-quaternary" }), jsx(Input, { placeholder: "Search", className: cx('w-full appearance-none bg-transparent text-primary caret-alpha-black/90 outline-hidden placeholder:text-placeholder', searchSizes[size].text) })] }) }) })), jsx(ListBox, { "aria-label": label || 'Options', items: items, selectionMode: "multiple", selectedKeys: currentSelectedKeys, onSelectionChange: handleSelectionChange, renderEmptyState: () => (jsx(MultiSelectEmptyState, { title: emptyStateTitle, description: emptyStateDescription, onClearSearch: searchValue ? handleClearSearch : undefined })), className: cx('overflow-y-auto py-1 outline-hidden', popoverMaxHeights[size]), children: children })] }), showFooter && jsx(MultiSelectFooter, { size: size, onReset: handleReset, onSelectAll: handleSelectAll })] }) })] }), hint && (jsx(HintText, { isInvalid: isInvalid, className: cx(size === 'sm' && 'text-xs'), children: hint }))] }) }));
|
|
51
86
|
};
|
|
52
87
|
const MultiSelect = MultiSelectRoot;
|
|
53
88
|
MultiSelect.Item = SelectItem;
|
|
@@ -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,15 +6,17 @@ 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');
|
|
12
13
|
var popover = require('./components/popover.cjs');
|
|
13
14
|
var selectItem = require('./components/select-item.cjs');
|
|
14
15
|
var selectShared = require('./components/select-shared.cjs');
|
|
16
|
+
var multiSelect = require('./components/multi-select.cjs');
|
|
15
17
|
|
|
16
|
-
const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, ref }) => {
|
|
17
|
-
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,
|
|
18
20
|
// With icon
|
|
19
21
|
(state.selectedItems[0]?.icon || icon) && selectShared.sizes[size].withIcon,
|
|
20
22
|
// Icon styles
|
|
@@ -24,8 +26,9 @@ const SelectValue = ({ isOpen, isFocused, isDisabled, size, placeholder, icon, r
|
|
|
24
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]') })] }));
|
|
25
27
|
} }) }));
|
|
26
28
|
};
|
|
27
|
-
const Select = ({ placeholder = 'Select', icon, size = 'md', children, items, popoverClassName, label, hint, tooltip, hideRequiredIndicator, className, ...rest }) => {
|
|
28
|
-
|
|
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 }))] })) }) }));
|
|
29
32
|
};
|
|
30
33
|
const _Select = Select;
|
|
31
34
|
_Select.ComboBox = combobox.ComboBox;
|
|
@@ -33,5 +36,6 @@ _Select.Item = selectItem.SelectItem;
|
|
|
33
36
|
|
|
34
37
|
exports.SelectContext = selectShared.SelectContext;
|
|
35
38
|
exports.sizes = selectShared.sizes;
|
|
39
|
+
exports.MultiSelect = multiSelect.MultiSelect;
|
|
36
40
|
exports.Select = _Select;
|
|
37
41
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -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":";;;;;;;;;;;;;;;;;AA6CA,MAAM,WAAW,GAAG,CAAC,EACnB,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,GAAG,EACH,aAAa,EAAE,UAAU,GACqB,KAAI;IAClD,QACEA,eAACC,0BAAU,EAAA,EACT,GAAG,EAAE,GAAG,EAAA,aAAA,EACK,UAAU,EACvB,SAAS,EAAEC,KAAE,CACX,oKAAoK,EACpK,CAAC,SAAS,IAAI,MAAM,KAAK,mBAAmB,EAC5C,UAAU,IAAI,+BAA+B,CAC9C,EAAA,QAAA,EAEDF,cAAA,CAACG,+BAAe,EAAA,EACd,SAAS,EAAE,CAAC,KAAK,KACfD,KAAE,CACA,8EAA8E,EAE9EE,kBAAK,CAAC,IAAI,CAAC,CAAC,IAAI;;AAGhB,YAAA,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,KAAKA,kBAAK,CAAC,IAAI,CAAC,CAAC,QAAQ;;AAG9D,YAAA,qDAAqD,CACtD,EAAA,QAAA,EAGF,CAAC,KAAK,KAAI;gBACT,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3C,gBAAA,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI;gBAEvC,QACEC,kDACG,YAAY,EAAE,SAAS,IACtBL,cAAA,CAACM,aAAM,EAAA,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,SAAS,EAAEJ,KAAE,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,EAAA,CAAI,IAClHK,iCAAgB,CAAC,IAAI,CAAC,IACxBP,cAAA,CAAC,IAAI,EAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAA,EAAuB,MAAM,GAAG,IACnCQ,oBAAc,CAAC,IAAI,CAAC,IACtB,IAAI,IACF,IAAI,EAEP,YAAY,IACXH,eAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAEH,KAAE,CAAC,sBAAsB,EAAEE,kBAAK,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,aACpEJ,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAEE,KAAE,CAAC,mCAAmC,EAAEE,kBAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAG,YAAY,EAAE,KAAK,EAAA,CAAK,EACjG,YAAY,EAAE,cAAc,IAAIJ,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAEE,KAAE,CAAC,eAAe,EAAEE,kBAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAG,YAAY,EAAE,cAAc,EAAA,CAAK,CAAA,EAAA,CACnH,KAEPJ,cAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAEE,KAAE,CAAC,kBAAkB,EAAEE,kBAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAA,QAAA,EAAG,WAAW,GAAK,CAC1E,EAEDJ,eAACS,mBAAW,EAAA,EAAA,aAAA,EACE,MAAM,EAClB,SAAS,EAAEP,KAAE,CAAC,qCAAqC,EAAE,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,wBAAwB,CAAC,EAAA,CACzG,CAAA,EAAA,CACD;YAEP,CAAC,EAAA,CACe,EAAA,CACP;AAEjB,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,EACd,WAAW,GAAG,QAAQ,EACtB,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,IAAI,EACJ,OAAO,EACP,qBAAqB,EACrB,SAAS,EACT,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACK,KAAI;AAChB,IAAA,MAAM,UAAU,GAAGQ,6BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAEnG,IAAA,QACEV,cAAA,CAACW,0BAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EAAA,QAAA,EAC/DX,eAACY,0BAAU,EAAA,EAAA,GACL,IAAI,EAAA,aAAA,EACK,UAAU,EACvB,SAAS,EAAE,CAAC,KAAK,KAAKV,KAAE,CAAC,uBAAuB,EAAE,OAAO,SAAS,KAAK,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,EAAA,QAAA,EAEhH,CAAC,KAAK,MACLG,eAAA,CAAAQ,mBAAA,EAAA,EAAA,QAAA,EAAA,CACG,KAAK,KACJb,cAAA,CAACc,WAAK,IAAC,UAAU,EAAE,qBAAqB,GAAG,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAA,QAAA,EAClF,KAAK,EAAA,CACA,CACT,EAEDd,cAAA,CAAC,WAAW,EAAA,EAAA,GAAK,KAAK,EAAQ,IAAI,EAAE,WAAW,EAAI,IAAI,EAAE,IAAI,EAAA,aAAA,EAAee,sBAAU,CAAC,UAAU,EAAE,SAAS,CAAC,GAAI,EAEjHf,cAAA,CAACgB,eAAO,EAAA,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAA,QAAA,EAC9ChB,eAACiB,2BAAW,EAAA,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAC5D,QAAQ,EAAA,CACG,GACN,EAET,IAAI,KACHjB,eAACkB,cAAQ,EAAA,EAAC,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAEhB,KAAE,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,EAAA,QAAA,EAC5E,IAAI,GACI,CACZ,CAAA,EAAA,CACA,CACJ,EAAA,CACU,EAAA,CACU;AAE7B,CAAC;AAED,MAAM,OAAO,GAAG;AAIhB,OAAO,CAAC,QAAQ,GAAGiB,iBAAQ;AAC3B,OAAO,CAAC,IAAI,GAAGC,qBAAU;;;;;;;"}
|
|
@@ -3,6 +3,14 @@ import type { SelectProps as AriaSelectProps } from 'react-aria-components';
|
|
|
3
3
|
import { ComboBox } from './components/combobox';
|
|
4
4
|
import { SelectItem } from './components/select-item';
|
|
5
5
|
import { type CommonProps, type SelectItemType } from './components/select-shared';
|
|
6
|
+
export type { MultiSelectProps } from './components/multi-select';
|
|
7
|
+
/**
|
|
8
|
+
* An interactive dropdown that lets the user select multiple options from a
|
|
9
|
+
* searchable list, with built-in Reset and Select all footer actions.
|
|
10
|
+
*
|
|
11
|
+
* @summary pick multiple options from a searchable dropdown list
|
|
12
|
+
*/
|
|
13
|
+
export { MultiSelect } from './components/multi-select';
|
|
6
14
|
export { type CommonProps, SelectContext, type SelectItemType, sizes } from './components/select-shared';
|
|
7
15
|
export interface SelectProps extends Omit<AriaSelectProps<SelectItemType>, 'children' | 'items'>, RefAttributes<HTMLDivElement>, CommonProps {
|
|
8
16
|
items?: SelectItemType[];
|
|
@@ -10,7 +18,7 @@ export interface SelectProps extends Omit<AriaSelectProps<SelectItemType>, 'chil
|
|
|
10
18
|
icon?: FC | ReactNode;
|
|
11
19
|
children: ReactNode | ((item: SelectItemType) => ReactNode);
|
|
12
20
|
}
|
|
13
|
-
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;
|
|
14
22
|
declare const _Select: typeof Select & {
|
|
15
23
|
ComboBox: typeof ComboBox;
|
|
16
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"}
|