@purpur/library 9.0.9 → 9.1.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/CHANGELOG.json +63 -0
- package/CHANGELOG.md +28 -1
- package/dist/LICENSE.txt +48 -27
- package/dist/{autocomplete-B_OBQM2h.js → autocomplete-B421J7CS.js} +2 -2
- package/dist/{autocomplete-B_OBQM2h.js.map → autocomplete-B421J7CS.js.map} +1 -1
- package/dist/{autocomplete-DJ3zbA0m.mjs → autocomplete-B8L-dTmF.mjs} +3 -3
- package/dist/{autocomplete-DJ3zbA0m.mjs.map → autocomplete-B8L-dTmF.mjs.map} +1 -1
- package/dist/autocomplete.cjs.js +1 -1
- package/dist/autocomplete.es.js +1 -1
- package/dist/button-Cv7NlYbv.mjs +109 -0
- package/dist/button-Cv7NlYbv.mjs.map +1 -0
- package/dist/button-Dqxdc3nC.js +2 -0
- package/dist/button-Dqxdc3nC.js.map +1 -0
- package/dist/button.cjs.js +1 -1
- package/dist/button.es.js +1 -1
- package/dist/{calendar-BSdvi_DA.js → calendar-C-F-pVCe.js} +2 -2
- package/dist/{calendar-BSdvi_DA.js.map → calendar-C-F-pVCe.js.map} +1 -1
- package/dist/{calendar-9p_aA7KY.mjs → calendar-DWpnuylk.mjs} +2 -2
- package/dist/{calendar-9p_aA7KY.mjs.map → calendar-DWpnuylk.mjs.map} +1 -1
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/chat-field-CxOqk0-9.js +2 -0
- package/dist/chat-field-CxOqk0-9.js.map +1 -0
- package/dist/chat-field-yK-TwW0D.mjs +149 -0
- package/dist/chat-field-yK-TwW0D.mjs.map +1 -0
- package/dist/chat-field.cjs.js +2 -0
- package/dist/chat-field.cjs.js.map +1 -0
- package/dist/chat-field.es.js +5 -0
- package/dist/chat-field.es.js.map +1 -0
- package/dist/components/autocomplete/src/autocomplete.d.ts.map +1 -1
- package/dist/components/button/src/button.d.ts +4 -0
- package/dist/components/button/src/button.d.ts.map +1 -1
- package/dist/components/chat-field/src/chat-field.d.ts +71 -0
- package/dist/components/chat-field/src/chat-field.d.ts.map +1 -0
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts.map +1 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +6 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts +2 -0
- package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-content.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-frame.d.ts +2 -1
- package/dist/components/drawer/src/drawer-frame.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-handle.d.ts +2 -1
- package/dist/components/drawer/src/drawer-handle.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-header.d.ts +2 -0
- package/dist/components/drawer/src/drawer-header.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-scroll-area.d.ts +2 -0
- package/dist/components/drawer/src/drawer-scroll-area.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.context.d.ts +6 -2
- package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.d.ts +3 -0
- package/dist/components/drawer/src/drawer.d.ts.map +1 -1
- package/dist/components/drawer/src/types.d.ts +1 -0
- package/dist/components/drawer/src/types.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-combobox.d.ts +34 -0
- package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown-select.d.ts +34 -0
- package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown-shared.d.ts +51 -0
- package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown.d.ts +6 -0
- package/dist/components/dropdown/src/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown.types.d.ts +94 -0
- package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdown.d.ts +38 -0
- package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownFilter.d.ts +9 -0
- package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownHighlight.d.ts +19 -0
- package/dist/components/dropdown/src/useDropdownHighlight.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownInput.d.ts +12 -0
- package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -0
- package/dist/components/dropdown/src/useOnClickOutside.d.ts +2 -0
- package/dist/components/dropdown/src/useOnClickOutside.d.ts.map +1 -0
- package/dist/components/listbox/src/listbox-item.d.ts +2 -0
- package/dist/components/listbox/src/listbox-item.d.ts.map +1 -1
- package/dist/components/notification/src/notification.d.ts +2 -1
- package/dist/components/notification/src/notification.d.ts.map +1 -1
- package/dist/components/search-field/src/search-field-autocomplete.d.ts +73 -0
- package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -0
- package/dist/components/search-field/src/search-field-base.d.ts +97 -0
- package/dist/components/search-field/src/search-field-base.d.ts.map +1 -0
- package/dist/components/search-field/src/search-field.d.ts +123 -41
- package/dist/components/search-field/src/search-field.d.ts.map +1 -1
- package/dist/components/text-field/src/text-field-ai.d.ts +669 -0
- package/dist/components/text-field/src/text-field-ai.d.ts.map +1 -0
- package/dist/components/text-field/src/text-field-base.d.ts +671 -0
- package/dist/components/text-field/src/text-field-base.d.ts.map +1 -0
- package/dist/components/text-field/src/text-field.d.ts +42 -4
- package/dist/components/text-field/src/text-field.d.ts.map +1 -1
- package/dist/components-metadata.js +30 -1
- package/dist/{date-field-Ch2lM7-P.mjs → date-field-4tYMPw89.mjs} +2 -2
- package/dist/{date-field-Ch2lM7-P.mjs.map → date-field-4tYMPw89.mjs.map} +1 -1
- package/dist/{date-field-DTI5mQkg.js → date-field-B7ipm5sH.js} +2 -2
- package/dist/{date-field-DTI5mQkg.js.map → date-field-B7ipm5sH.js.map} +1 -1
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.es.js +1 -1
- package/dist/{date-picker-Dk39IXG5.js → date-picker-B8L1Hm8r.js} +2 -2
- package/dist/{date-picker-Dk39IXG5.js.map → date-picker-B8L1Hm8r.js.map} +1 -1
- package/dist/{date-picker-Bt3IaH23.mjs → date-picker-Bp_XpoOF.mjs} +4 -4
- package/dist/{date-picker-Bt3IaH23.mjs.map → date-picker-Bp_XpoOF.mjs.map} +1 -1
- package/dist/date-picker.cjs.js +1 -1
- package/dist/date-picker.es.js +1 -1
- package/dist/dismissable-chip-group-Cd23yjBa.js +2 -0
- package/dist/dismissable-chip-group-Cd23yjBa.js.map +1 -0
- package/dist/dismissable-chip-group-D-gD93ON.mjs +89 -0
- package/dist/dismissable-chip-group-D-gD93ON.mjs.map +1 -0
- package/dist/dismissable-chip-group.cjs.js +1 -1
- package/dist/dismissable-chip-group.es.js +5 -2
- package/dist/drawer-UdK-u7IX.js +2 -0
- package/dist/drawer-UdK-u7IX.js.map +1 -0
- package/dist/drawer-Vi9H2O3N.mjs +562 -0
- package/dist/drawer-Vi9H2O3N.mjs.map +1 -0
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/dropdown-BC6evqyq.js +2 -0
- package/dist/dropdown-BC6evqyq.js.map +1 -0
- package/dist/dropdown-C-Ze4gvG.mjs +771 -0
- package/dist/dropdown-C-Ze4gvG.mjs.map +1 -0
- package/dist/dropdown.cjs.js +2 -0
- package/dist/dropdown.cjs.js.map +1 -0
- package/dist/dropdown.es.js +6 -0
- package/dist/dropdown.es.js.map +1 -0
- package/dist/{hero-banner-B5HKmkXc.mjs → hero-banner-BjwICxaJ.mjs} +2 -2
- package/dist/{hero-banner-B5HKmkXc.mjs.map → hero-banner-BjwICxaJ.mjs.map} +1 -1
- package/dist/{hero-banner-OnNSuxNT.js → hero-banner-yGRM4OlS.js} +2 -2
- package/dist/{hero-banner-OnNSuxNT.js.map → hero-banner-yGRM4OlS.js.map} +1 -1
- package/dist/hero-banner.cjs.js +1 -1
- package/dist/hero-banner.es.js +1 -1
- package/dist/illustrative-icon/assets/json/cart-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/cart-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/document-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/document-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/support-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/support-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/user-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/user-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/document-checkmark-duocolor-animated.cjs.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-duocolor-animated.es.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-offblack-animated.cjs.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-offblack-animated.es.js +2 -2
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-offblack-animated.es.js +1 -1
- package/dist/libraries/library/src/chat-field.d.ts +6 -0
- package/dist/libraries/library/src/chat-field.d.ts.map +1 -0
- package/dist/libraries/library/src/dropdown.d.ts +6 -0
- package/dist/libraries/library/src/dropdown.d.ts.map +1 -0
- package/dist/libraries/library/src/library.d.ts +2 -0
- package/dist/libraries/library/src/library.d.ts.map +1 -1
- package/dist/libraries/theme/src/theme-props.d.ts +1 -0
- package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
- package/dist/libraries/tokens/dist/border/variables.d.ts +1 -0
- package/dist/libraries/tokens/dist/border/variables.dark.d.ts +1 -0
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +603 -592
- package/dist/library.es.js.map +1 -1
- package/dist/listbox-COBHLRtB.js +2 -0
- package/dist/listbox-COBHLRtB.js.map +1 -0
- package/dist/listbox-DG4KmQP_.mjs +66 -0
- package/dist/listbox-DG4KmQP_.mjs.map +1 -0
- package/dist/listbox.cjs.js +1 -1
- package/dist/listbox.es.js +1 -1
- package/dist/{modal-CQiJ98iI.js → modal-DMeRO1wE.js} +2 -2
- package/dist/{modal-CQiJ98iI.js.map → modal-DMeRO1wE.js.map} +1 -1
- package/dist/{modal-B1eJu9HN.mjs → modal-fTWvPEPW.mjs} +2 -2
- package/dist/{modal-B1eJu9HN.mjs.map → modal-fTWvPEPW.mjs.map} +1 -1
- package/dist/modal.cjs.js +1 -1
- package/dist/modal.es.js +1 -1
- package/dist/{notification-BtcM7Ndu.mjs → notification-BvoL7BIW.mjs} +60 -51
- package/dist/notification-BvoL7BIW.mjs.map +1 -0
- package/dist/notification-DE1pvk9W.js +2 -0
- package/dist/notification-DE1pvk9W.js.map +1 -0
- package/dist/{notification-banner-CbKcE7o4.mjs → notification-banner-C4gkkSlf.mjs} +2 -2
- package/dist/{notification-banner-CbKcE7o4.mjs.map → notification-banner-C4gkkSlf.mjs.map} +1 -1
- package/dist/{notification-banner-B0CUuKZn.js → notification-banner-COH7wJu2.js} +2 -2
- package/dist/{notification-banner-B0CUuKZn.js.map → notification-banner-COH7wJu2.js.map} +1 -1
- package/dist/notification-banner.cjs.js +1 -1
- package/dist/notification-banner.es.js +1 -1
- package/dist/notification.cjs.js +1 -1
- package/dist/notification.es.js +1 -1
- package/dist/{popover-D6k4-oO1.js → popover-BnUVNqSi.js} +2 -2
- package/dist/{popover-D6k4-oO1.js.map → popover-BnUVNqSi.js.map} +1 -1
- package/dist/{popover-D3b2gHm-.mjs → popover-lxTyKALA.mjs} +2 -2
- package/dist/{popover-D3b2gHm-.mjs.map → popover-lxTyKALA.mjs.map} +1 -1
- package/dist/popover.cjs.js +1 -1
- package/dist/popover.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/{quantity-selector-Djf8APeL.mjs → quantity-selector-CsR6KTG3.mjs} +3 -3
- package/dist/{quantity-selector-Djf8APeL.mjs.map → quantity-selector-CsR6KTG3.mjs.map} +1 -1
- package/dist/{quantity-selector-Bc-4Dnpc.js → quantity-selector-DWDg4aFO.js} +2 -2
- package/dist/{quantity-selector-Bc-4Dnpc.js.map → quantity-selector-DWDg4aFO.js.map} +1 -1
- package/dist/quantity-selector.cjs.js +1 -1
- package/dist/quantity-selector.es.js +1 -1
- package/dist/search-field-Caj2dKLn.mjs +151 -0
- package/dist/search-field-Caj2dKLn.mjs.map +1 -0
- package/dist/search-field-DAktzYb0.js +2 -0
- package/dist/search-field-DAktzYb0.js.map +1 -0
- package/dist/search-field.cjs.js +1 -1
- package/dist/search-field.es.js +3 -2
- package/dist/{stepper-CTdGj87I.mjs → stepper-B351hexi.mjs} +3 -3
- package/dist/{stepper-CTdGj87I.mjs.map → stepper-B351hexi.mjs.map} +1 -1
- package/dist/{stepper-BaoOY4Ea.js → stepper-Cb4_9D2h.js} +2 -2
- package/dist/{stepper-BaoOY4Ea.js.map → stepper-Cb4_9D2h.js.map} +1 -1
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/dist/{table-D7qthqj_.mjs → table-DXYHrKI7.mjs} +5 -5
- package/dist/{table-D7qthqj_.mjs.map → table-DXYHrKI7.mjs.map} +1 -1
- package/dist/{table-TdOPMFoP.js → table-x3SDCR-z.js} +2 -2
- package/dist/{table-TdOPMFoP.js.map → table-x3SDCR-z.js.map} +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.es.js +1 -1
- package/dist/text-field-BQYzwIrG.mjs +322 -0
- package/dist/text-field-BQYzwIrG.mjs.map +1 -0
- package/dist/text-field-BwxGMWds.js +2 -0
- package/dist/text-field-BwxGMWds.js.map +1 -0
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.es.js +4 -3
- package/dist/tokens/border/variables.css +1 -0
- package/dist/tokens/border/variables.d.ts +1 -0
- package/dist/tokens/border/variables.dark.css +1 -0
- package/dist/tokens/border/variables.dark.d.ts +1 -0
- package/dist/tokens/border/variables.dark.js +1 -0
- package/dist/tokens/border/variables.dark.json +1 -0
- package/dist/tokens/border/variables.dark.scss +1 -0
- package/dist/tokens/border/variables.js +1 -0
- package/dist/tokens/border/variables.json +1 -0
- package/dist/tokens/border/variables.scss +1 -0
- package/dist/tokens.cjs.js +1 -1
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +337 -336
- package/dist/tokens.es.js.map +1 -1
- package/dist/{tooltip-BtGtu3ph.mjs → tooltip-BHsVKFJ3.mjs} +2 -2
- package/dist/{tooltip-BtGtu3ph.mjs.map → tooltip-BHsVKFJ3.mjs.map} +1 -1
- package/dist/{tooltip-eUP35j3v.js → tooltip-B_qTqtcF.js} +2 -2
- package/dist/{tooltip-eUP35j3v.js.map → tooltip-B_qTqtcF.js.map} +1 -1
- package/dist/tooltip.cjs.js +1 -1
- package/dist/tooltip.es.js +1 -1
- package/dist/use-autocomplete.es-BHDgQLae.js +2 -0
- package/dist/use-autocomplete.es-BHDgQLae.js.map +1 -0
- package/dist/use-autocomplete.es-CVv3z8t6.mjs +142 -0
- package/dist/use-autocomplete.es-CVv3z8t6.mjs.map +1 -0
- package/package.json +22 -20
- package/src/aliases.ts +8 -0
- package/src/chat-field.ts +6 -0
- package/src/dropdown.ts +6 -0
- package/src/entries.js +2 -0
- package/src/library.ts +4 -0
- package/tokens/border/variables.css +1 -0
- package/tokens/border/variables.d.ts +1 -0
- package/tokens/border/variables.dark.css +1 -0
- package/tokens/border/variables.dark.d.ts +1 -0
- package/tokens/border/variables.dark.js +1 -0
- package/tokens/border/variables.dark.json +1 -0
- package/tokens/border/variables.dark.scss +1 -0
- package/tokens/border/variables.js +1 -0
- package/tokens/border/variables.json +1 -0
- package/tokens/border/variables.scss +1 -0
- package/dist/button-BxdChrq-.js +0 -2
- package/dist/button-BxdChrq-.js.map +0 -1
- package/dist/button-D-BBdNhd.mjs +0 -105
- package/dist/button-D-BBdNhd.mjs.map +0 -1
- package/dist/dismissable-chip-group-CnziecOt.js +0 -2
- package/dist/dismissable-chip-group-CnziecOt.js.map +0 -1
- package/dist/dismissable-chip-group-ZCYOt1sB.mjs +0 -79
- package/dist/dismissable-chip-group-ZCYOt1sB.mjs.map +0 -1
- package/dist/drawer-B6j8nfAY.mjs +0 -530
- package/dist/drawer-B6j8nfAY.mjs.map +0 -1
- package/dist/drawer-CJsLdd2x.js +0 -2
- package/dist/drawer-CJsLdd2x.js.map +0 -1
- package/dist/listbox-BmjBtIv8.js +0 -2
- package/dist/listbox-BmjBtIv8.js.map +0 -1
- package/dist/listbox-oDeP8FvH.mjs +0 -65
- package/dist/listbox-oDeP8FvH.mjs.map +0 -1
- package/dist/notification-BtcM7Ndu.mjs.map +0 -1
- package/dist/notification-Dsg3Vzfi.js +0 -2
- package/dist/notification-Dsg3Vzfi.js.map +0 -1
- package/dist/search-field-0CBoxcNH.js +0 -2
- package/dist/search-field-0CBoxcNH.js.map +0 -1
- package/dist/search-field-aP_i6Nr0.mjs +0 -91
- package/dist/search-field-aP_i6Nr0.mjs.map +0 -1
- package/dist/text-field-9zPmL99g.mjs +0 -185
- package/dist/text-field-9zPmL99g.mjs.map +0 -1
- package/dist/text-field-CKCwxTJX.js +0 -2
- package/dist/text-field-CKCwxTJX.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownOption } from './dropdown.types';
|
|
3
|
+
export declare const DropdownCombobox: React.ForwardRefExoticComponent<{
|
|
4
|
+
id?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
listboxLabel?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
helperText?: string;
|
|
9
|
+
errorText?: string;
|
|
10
|
+
valid?: boolean;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
negative?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
readOnly?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
"data-testid"?: string;
|
|
18
|
+
} & {
|
|
19
|
+
combobox: true;
|
|
20
|
+
options: DropdownOption[];
|
|
21
|
+
multiple?: boolean;
|
|
22
|
+
selectedOption?: DropdownOption;
|
|
23
|
+
selectedOptions?: DropdownOption[];
|
|
24
|
+
onSelect?: (option: DropdownOption | undefined, selectedOptions: DropdownOption[]) => void;
|
|
25
|
+
filterOption?: (inputValue: string | undefined, option: DropdownOption) => boolean;
|
|
26
|
+
inputValue?: string;
|
|
27
|
+
defaultInputValue?: string;
|
|
28
|
+
onInputChange?: (value: string) => void;
|
|
29
|
+
noOptionsText?: React.ReactNode;
|
|
30
|
+
highlightFirstOption?: boolean;
|
|
31
|
+
openOnFocus?: boolean;
|
|
32
|
+
listboxMaxHeight?: string | number;
|
|
33
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
//# sourceMappingURL=dropdown-combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-combobox.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAatE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA4N3B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownOption } from './dropdown.types';
|
|
3
|
+
export declare const DropdownSelect: React.ForwardRefExoticComponent<{
|
|
4
|
+
id?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
listboxLabel?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
helperText?: string;
|
|
9
|
+
errorText?: string;
|
|
10
|
+
valid?: boolean;
|
|
11
|
+
loading?: boolean;
|
|
12
|
+
negative?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
readOnly?: boolean;
|
|
16
|
+
className?: string;
|
|
17
|
+
"data-testid"?: string;
|
|
18
|
+
} & {
|
|
19
|
+
combobox?: false;
|
|
20
|
+
options: DropdownOption[];
|
|
21
|
+
multiple?: boolean;
|
|
22
|
+
selectedOption?: DropdownOption;
|
|
23
|
+
selectedOptions?: DropdownOption[];
|
|
24
|
+
onSelect?: (option: DropdownOption | undefined, selectedOptions: DropdownOption[]) => void;
|
|
25
|
+
openOnFocus?: boolean;
|
|
26
|
+
listboxMaxHeight?: string | number;
|
|
27
|
+
filterOption?: never;
|
|
28
|
+
onInputChange?: never;
|
|
29
|
+
inputValue?: never;
|
|
30
|
+
defaultInputValue?: never;
|
|
31
|
+
noOptionsText?: never;
|
|
32
|
+
highlightFirstOption?: never;
|
|
33
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
34
|
+
//# sourceMappingURL=dropdown-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-select.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,kBAAkB,CAAC;AAYpE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAmKzB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownOption } from './dropdown.types';
|
|
3
|
+
declare const cx: (...args: import('classnames').ArgumentArray) => string;
|
|
4
|
+
export declare const rootClassName = "purpur-dropdown";
|
|
5
|
+
type GetTestId = (name: string) => string | undefined;
|
|
6
|
+
type DropdownLabelProps = {
|
|
7
|
+
fieldId: string;
|
|
8
|
+
htmlForSuffix?: string;
|
|
9
|
+
label?: string;
|
|
10
|
+
getTestId: GetTestId;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
negative: boolean;
|
|
13
|
+
required: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare const DropdownLabel: ({ fieldId, htmlForSuffix, label, getTestId, disabled, negative, required, }: DropdownLabelProps) => React.JSX.Element | null;
|
|
16
|
+
type DropdownEndAdornmentsProps = {
|
|
17
|
+
getTestId: GetTestId;
|
|
18
|
+
loading?: boolean;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
negative: boolean;
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
isOpen?: boolean;
|
|
23
|
+
readOnly?: boolean;
|
|
24
|
+
showChevronOpen: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare const DropdownEndAdornments: ({ getTestId, loading, disabled, negative, isValid, isOpen, readOnly, showChevronOpen, }: DropdownEndAdornmentsProps) => React.JSX.Element;
|
|
27
|
+
type DropdownTagsProps = {
|
|
28
|
+
selectedItems: DropdownOption[];
|
|
29
|
+
getTestId: GetTestId;
|
|
30
|
+
disabled: boolean;
|
|
31
|
+
onRemove: (option: DropdownOption) => void;
|
|
32
|
+
isSelect?: boolean;
|
|
33
|
+
};
|
|
34
|
+
export declare const DropdownTags: ({ selectedItems, getTestId, disabled, onRemove, isSelect, }: DropdownTagsProps) => React.JSX.Element | null;
|
|
35
|
+
type DropdownFooterProps = {
|
|
36
|
+
errorText?: string;
|
|
37
|
+
helperText?: string;
|
|
38
|
+
helperTextId: string;
|
|
39
|
+
negative: boolean;
|
|
40
|
+
};
|
|
41
|
+
export declare const DropdownFooter: ({ errorText, helperText, helperTextId, negative, }: DropdownFooterProps) => React.JSX.Element;
|
|
42
|
+
type DropdownListboxItemsProps = {
|
|
43
|
+
optionsToShow: DropdownOption[];
|
|
44
|
+
getListboxItemProps: (option: DropdownOption, index: number) => Record<string, unknown>;
|
|
45
|
+
multiple?: boolean;
|
|
46
|
+
fieldId: string;
|
|
47
|
+
noOptionsText?: React.ReactNode;
|
|
48
|
+
};
|
|
49
|
+
export declare const DropdownListboxItems: ({ optionsToShow, getListboxItemProps, multiple, fieldId, noOptionsText, }: DropdownListboxItemsProps) => React.JSX.Element | React.JSX.Element[];
|
|
50
|
+
export { cx };
|
|
51
|
+
//# sourceMappingURL=dropdown-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-shared.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown-shared.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,QAAA,MAAM,EAAE,yDAAiB,CAAC;AAC1B,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAE/C,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEtD,KAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,6EAQ3B,kBAAkB,6BAepB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,yFASnC,0BAA0B,sBA+B5B,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,6DAM1B,iBAAiB,6BA2BnB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,oDAK5B,mBAAmB,sBASrB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,2EAMlC,yBAAyB,4CA+B3B,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DropdownProps } from './dropdown.types';
|
|
3
|
+
export declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
export type { ComboboxProps, DropdownOption, DropdownProps, SelectProps } from './dropdown.types';
|
|
5
|
+
export { useDropdown } from './useDropdown';
|
|
6
|
+
//# sourceMappingURL=dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAiB,aAAa,EAAe,MAAM,kBAAkB,CAAC;AAIlF,eAAO,MAAM,QAAQ,sFAMnB,CAAC;AAIH,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export type DropdownOption = {
|
|
2
|
+
label: string;
|
|
3
|
+
id: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
};
|
|
7
|
+
/** Shared props across all variants */
|
|
8
|
+
type DropdownBaseProps = {
|
|
9
|
+
/** Unique id used to prefix all sub-element ids. */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Visible label rendered above the field. */
|
|
12
|
+
label?: string;
|
|
13
|
+
/** Accessible label for the listbox popup (required for select/combobox). */
|
|
14
|
+
listboxLabel?: string;
|
|
15
|
+
/** Placeholder text shown when no value is selected. */
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/** Helper text rendered below the field. */
|
|
18
|
+
helperText?: string;
|
|
19
|
+
/** Error text rendered below the field. Puts the field in an error state. */
|
|
20
|
+
errorText?: string;
|
|
21
|
+
/** Render the field with a valid (success) appearance. */
|
|
22
|
+
valid?: boolean;
|
|
23
|
+
/** Show a loading spinner inside the field. */
|
|
24
|
+
loading?: boolean;
|
|
25
|
+
/** Render on dark backgrounds. */
|
|
26
|
+
negative?: boolean;
|
|
27
|
+
/** Mark the field as required. */
|
|
28
|
+
required?: boolean;
|
|
29
|
+
/** Disable the field. */
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
/** Make the field read-only. */
|
|
32
|
+
readOnly?: boolean;
|
|
33
|
+
className?: string;
|
|
34
|
+
["data-testid"]?: string;
|
|
35
|
+
};
|
|
36
|
+
export type SelectProps = DropdownBaseProps & {
|
|
37
|
+
combobox?: false;
|
|
38
|
+
options: DropdownOption[];
|
|
39
|
+
/** Enable multi-select mode. */
|
|
40
|
+
multiple?: boolean;
|
|
41
|
+
/** Currently selected option (single-select, controlled). */
|
|
42
|
+
selectedOption?: DropdownOption;
|
|
43
|
+
/** Currently selected options (multi-select, controlled). */
|
|
44
|
+
selectedOptions?: DropdownOption[];
|
|
45
|
+
/** Fired when an option is selected or deselected. */
|
|
46
|
+
onSelect?: (option: DropdownOption | undefined, selectedOptions: DropdownOption[]) => void;
|
|
47
|
+
/** Open the listbox when the trigger receives focus. */
|
|
48
|
+
openOnFocus?: boolean;
|
|
49
|
+
/** Maximum height of the listbox popup. */
|
|
50
|
+
listboxMaxHeight?: string | number;
|
|
51
|
+
/** Not applicable. */
|
|
52
|
+
filterOption?: never;
|
|
53
|
+
/** Not applicable. */
|
|
54
|
+
onInputChange?: never;
|
|
55
|
+
/** Not applicable. */
|
|
56
|
+
inputValue?: never;
|
|
57
|
+
/** Not applicable. */
|
|
58
|
+
defaultInputValue?: never;
|
|
59
|
+
/** Not applicable. */
|
|
60
|
+
noOptionsText?: never;
|
|
61
|
+
/** Not applicable. */
|
|
62
|
+
highlightFirstOption?: never;
|
|
63
|
+
};
|
|
64
|
+
export type ComboboxProps = DropdownBaseProps & {
|
|
65
|
+
combobox: true;
|
|
66
|
+
options: DropdownOption[];
|
|
67
|
+
/** Enable multi-select mode. */
|
|
68
|
+
multiple?: boolean;
|
|
69
|
+
/** Currently selected option (single-select, controlled). */
|
|
70
|
+
selectedOption?: DropdownOption;
|
|
71
|
+
/** Currently selected options (multi-select, controlled). */
|
|
72
|
+
selectedOptions?: DropdownOption[];
|
|
73
|
+
/** Fired when an option is selected or deselected. */
|
|
74
|
+
onSelect?: (option: DropdownOption | undefined, selectedOptions: DropdownOption[]) => void;
|
|
75
|
+
/** Custom filter for autocomplete results. */
|
|
76
|
+
filterOption?: (inputValue: string | undefined, option: DropdownOption) => boolean;
|
|
77
|
+
/** Controlled input value. */
|
|
78
|
+
inputValue?: string;
|
|
79
|
+
/** Default input value (uncontrolled). */
|
|
80
|
+
defaultInputValue?: string;
|
|
81
|
+
/** Fired when the text-input value changes. */
|
|
82
|
+
onInputChange?: (value: string) => void;
|
|
83
|
+
/** Text shown when filtering yields no results. */
|
|
84
|
+
noOptionsText?: React.ReactNode;
|
|
85
|
+
/** Highlight the first option automatically. */
|
|
86
|
+
highlightFirstOption?: boolean;
|
|
87
|
+
/** Open the listbox when the input receives focus. */
|
|
88
|
+
openOnFocus?: boolean;
|
|
89
|
+
/** Maximum height of the listbox popup. */
|
|
90
|
+
listboxMaxHeight?: string | number;
|
|
91
|
+
};
|
|
92
|
+
export type DropdownProps = SelectProps | ComboboxProps;
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=dropdown.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown.types.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/dropdown.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { ListboxItemProps, ListboxProps } from '../../listbox/src/listbox';
|
|
3
|
+
import { DropdownOption } from './dropdown.types';
|
|
4
|
+
export type UseDropdownParams = {
|
|
5
|
+
id: string;
|
|
6
|
+
variant: "select" | "combobox";
|
|
7
|
+
options: DropdownOption[];
|
|
8
|
+
listboxLabel: string;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
selectedOption?: DropdownOption;
|
|
11
|
+
selectedOptions?: DropdownOption[];
|
|
12
|
+
onSelect?: (option: DropdownOption | undefined, selectedOptions: DropdownOption[]) => void;
|
|
13
|
+
filterOption?: (inputValue: string | undefined, option: DropdownOption) => boolean;
|
|
14
|
+
inputValue?: string;
|
|
15
|
+
defaultInputValue?: string;
|
|
16
|
+
onInputChange?: (value: string) => void;
|
|
17
|
+
noOptionsText?: React.ReactNode;
|
|
18
|
+
highlightFirstOption?: boolean;
|
|
19
|
+
openOnFocus?: boolean;
|
|
20
|
+
listboxMaxHeight?: string | number;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
readOnly?: boolean;
|
|
23
|
+
["data-testid"]?: string;
|
|
24
|
+
};
|
|
25
|
+
export type UseDropdownReturn = {
|
|
26
|
+
rootRef: React.RefObject<HTMLDivElement | null>;
|
|
27
|
+
triggerProps: Record<string, unknown>;
|
|
28
|
+
inputProps: Record<string, unknown> | null;
|
|
29
|
+
listboxProps: ListboxProps;
|
|
30
|
+
getListboxItemProps: (option: DropdownOption, index: number) => ListboxItemProps;
|
|
31
|
+
optionsToShow: DropdownOption[];
|
|
32
|
+
isOpen: boolean;
|
|
33
|
+
highlightedOption: DropdownOption | undefined;
|
|
34
|
+
selectedItems: DropdownOption[];
|
|
35
|
+
anchorStyle: CSSProperties;
|
|
36
|
+
};
|
|
37
|
+
export declare const useDropdown: ({ id, variant, options, listboxLabel, multiple, selectedOption, selectedOptions, onSelect, filterOption, inputValue: controlledInputValue, defaultInputValue, onInputChange, noOptionsText, highlightFirstOption, openOnFocus, listboxMaxHeight, disabled, readOnly, ["data-testid"]: dataTestId, }: UseDropdownParams) => UseDropdownReturn;
|
|
38
|
+
//# sourceMappingURL=useDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdown.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAG3F,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAAC;IACjF,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,WAAW,EAAE,aAAa,CAAC;CAC5B,CAAC;AAIF,eAAO,MAAM,WAAW,GAAI,qSAoBzB,iBAAiB,KAAG,iBAiTtB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DropdownOption } from './dropdown.types';
|
|
2
|
+
export declare const getFilteredOptions: ({ options, searchTerm, filterOption, selectedOption, multiple, }: {
|
|
3
|
+
options: DropdownOption[];
|
|
4
|
+
searchTerm: string | undefined;
|
|
5
|
+
filterOption?: (inputValue: string | undefined, option: DropdownOption) => boolean;
|
|
6
|
+
selectedOption?: DropdownOption;
|
|
7
|
+
multiple: boolean;
|
|
8
|
+
}) => DropdownOption[];
|
|
9
|
+
//# sourceMappingURL=useDropdownFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdownFilter.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdownFilter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiBvD,eAAO,MAAM,kBAAkB,GAAI,kEAMhC;IACD,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;IACnF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB,KAAG,cAAc,EAKjB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DropdownOption } from './dropdown.types';
|
|
2
|
+
export type HighlightedOption = DropdownOption & {
|
|
3
|
+
isSetByClickEvent?: boolean;
|
|
4
|
+
};
|
|
5
|
+
export type UseDropdownHighlightParams = {
|
|
6
|
+
options: DropdownOption[];
|
|
7
|
+
highlightFirstOption: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const useDropdownHighlight: ({ options, highlightFirstOption, }: UseDropdownHighlightParams) => {
|
|
10
|
+
highlightedOption: HighlightedOption | undefined;
|
|
11
|
+
listboxRef: import('react').RefObject<HTMLUListElement | null>;
|
|
12
|
+
optionRefs: import('react').RefObject<Record<string, HTMLLIElement>>;
|
|
13
|
+
findNextOption: (direction: "ArrowUp" | "ArrowDown", optionsToShow: DropdownOption[]) => DropdownOption | undefined;
|
|
14
|
+
highlightOption: (option: DropdownOption | undefined) => void;
|
|
15
|
+
highlightByClick: (option: DropdownOption) => void;
|
|
16
|
+
highlightSelected: (option: DropdownOption, eventType: "CLICK" | "KEYBOARD") => void;
|
|
17
|
+
resetHighlight: () => void;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=useDropdownHighlight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdownHighlight.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdownHighlight.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAAG;IACvC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,oCAGlC,0BAA0B;;;;gCAoBd,SAAS,GAAG,WAAW,iBACnB,cAAc,EAAE,KAC9B,cAAc,GAAG,SAAS;8BAcI,cAAc,GAAG,SAAS;+BAKzB,cAAc;gCAMb,cAAc,aAAa,OAAO,GAAG,UAAU;;CAsBnF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DropdownOption } from './dropdown.types';
|
|
2
|
+
export type UseDropdownInputParams = {
|
|
3
|
+
controlledInputValue?: string;
|
|
4
|
+
defaultInputValue?: string;
|
|
5
|
+
selectedOption?: DropdownOption;
|
|
6
|
+
onInputChange?: (value: string) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const useDropdownInput: ({ controlledInputValue, defaultInputValue, selectedOption, onInputChange, }: UseDropdownInputParams) => {
|
|
9
|
+
displayInputValue: string;
|
|
10
|
+
populateInputField: (value: string) => void;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=useDropdownInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdownInput.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useDropdownInput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,6EAK9B,sBAAsB;;gCAUY,MAAM;CAS1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnClickOutside.d.ts","sourceRoot":"","sources":["../../../../../../components/dropdown/src/useOnClickOutside.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,GAAI,SAAS,WAAW,GAAG,IAAI,EAAE,UAAU,MAAM,IAAI,SAgBlF,CAAC"}
|
|
@@ -7,6 +7,8 @@ export type ListboxItemProps = Omit<BaseProps<"li">, "role"> & {
|
|
|
7
7
|
selected?: boolean;
|
|
8
8
|
disabled?: boolean;
|
|
9
9
|
noninteractive?: boolean;
|
|
10
|
+
/** When true, hides the built-in checkmark icon while preserving `aria-selected`. */
|
|
11
|
+
hideSelectedIcon?: boolean;
|
|
10
12
|
};
|
|
11
13
|
export declare const ListboxItem: React.ForwardRefExoticComponent<Omit<ListboxItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
|
|
12
14
|
export declare const isListboxItem: (child?: ReactNode) => child is ReactElement<ListboxItemProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAWtD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"listbox-item.d.ts","sourceRoot":"","sources":["../../../../../../components/listbox/src/listbox-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAWtD,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,WAAW,qGAoCtB,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,SAAS,KAAG,KAAK,IAAI,YAAY,CAAC,gBAAgB,CAChB,CAAC"}
|
|
@@ -6,8 +6,9 @@ export declare const NOTIFICATION_STATUS: {
|
|
|
6
6
|
readonly WARNING: "warning";
|
|
7
7
|
readonly ERROR: "error";
|
|
8
8
|
readonly INFO: "info";
|
|
9
|
+
readonly AI: "ai";
|
|
9
10
|
};
|
|
10
|
-
export declare const notificationStatuses: ("error" | "success" | "warning" | "info")[];
|
|
11
|
+
export declare const notificationStatuses: ("error" | "success" | "warning" | "info" | "ai")[];
|
|
11
12
|
export type NotificationStatus = (typeof NOTIFICATION_STATUS)[keyof typeof NOTIFICATION_STATUS];
|
|
12
13
|
export declare const NOTIFICATION_ARIA_LIVE: {
|
|
13
14
|
readonly POLITE: "polite";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../../../components/notification/src/notification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../../../components/notification/src/notification.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAe/D,eAAO,MAAM,mBAAmB;;;;;;CAMtB,CAAC;AAEX,eAAO,MAAM,oBAAoB,qDAAqC,CAAC;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEhG,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,eAAO,MAAM,0BAA0B,4BAAwC,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAEvE,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,eAAO,MAAM,iBAAiB,wCAAmC,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAmB1F,KAAK,YAAY,GAAG,SAAS,GAAG;IAC9B,CAAC,WAAW,CAAC,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC;AAEvF,eAAO,MAAM,YAAY;;;kBA1BP,oBAAoB;iBACvB,cAAc;aAClB,kBAAkB;cACjB,MAAM;WACT,gBAAgB;aACd,OAAO;IAChB;;;OAGG;WACI,OAAO;eACH,OAAO;;;;kBAXF,oBAAoB;iBACvB,cAAc;aAClB,kBAAkB;cACjB,MAAM;WACT,gBAAgB;aACd,OAAO;IAChB;;;OAGG;WACI,OAAO;eACH,OAAO;sEAmHnB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AutocompleteOption } from '@purpur/use-autocomplete';
|
|
3
|
+
import { SearchFieldAutocompleteEnhancements, SearchFieldBaseProps } from './search-field-base';
|
|
4
|
+
export type SearchFieldAutocompleteProps = SearchFieldBaseProps & Extract<SearchFieldAutocompleteEnhancements, {
|
|
5
|
+
suggestions: AutocompleteOption[];
|
|
6
|
+
}>;
|
|
7
|
+
export declare const SearchFieldAutocomplete: React.ForwardRefExoticComponent<(Omit<{
|
|
8
|
+
"data-testid"?: string;
|
|
9
|
+
clearButtonAriaLabel: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
iconOnlySearchButton?: boolean;
|
|
12
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
13
|
+
onClear: () => void;
|
|
14
|
+
onSearch?: (e: React.FormEvent<HTMLFormElement>) => void;
|
|
15
|
+
searchButtonLabel?: string;
|
|
16
|
+
variant: "button-attached" | "no-button";
|
|
17
|
+
formRef?: React.RefObject<HTMLFormElement>;
|
|
18
|
+
} & {
|
|
19
|
+
iconOnlySearchButton?: false;
|
|
20
|
+
searchButtonLabel: string;
|
|
21
|
+
variant: "button-attached";
|
|
22
|
+
} & Omit<import('../../text-field/src/text-field').TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
23
|
+
onSelectSuggestion?: (option: AutocompleteOption) => void;
|
|
24
|
+
openSuggestionsOnFocus?: boolean;
|
|
25
|
+
suggestionsMaxHeight?: string | number;
|
|
26
|
+
} & {
|
|
27
|
+
suggestions: AutocompleteOption[];
|
|
28
|
+
suggestionsLabel: string;
|
|
29
|
+
}, "ref"> | Omit<{
|
|
30
|
+
"data-testid"?: string;
|
|
31
|
+
clearButtonAriaLabel: string;
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
iconOnlySearchButton?: boolean;
|
|
34
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
35
|
+
onClear: () => void;
|
|
36
|
+
onSearch?: (e: React.FormEvent<HTMLFormElement>) => void;
|
|
37
|
+
searchButtonLabel?: string;
|
|
38
|
+
variant: "button-attached" | "no-button";
|
|
39
|
+
formRef?: React.RefObject<HTMLFormElement>;
|
|
40
|
+
} & {
|
|
41
|
+
iconOnlySearchButton: true;
|
|
42
|
+
searchButtonLabel: string;
|
|
43
|
+
variant: "button-attached";
|
|
44
|
+
} & Omit<import('../../text-field/src/text-field').TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
45
|
+
onSelectSuggestion?: (option: AutocompleteOption) => void;
|
|
46
|
+
openSuggestionsOnFocus?: boolean;
|
|
47
|
+
suggestionsMaxHeight?: string | number;
|
|
48
|
+
} & {
|
|
49
|
+
suggestions: AutocompleteOption[];
|
|
50
|
+
suggestionsLabel: string;
|
|
51
|
+
}, "ref"> | Omit<{
|
|
52
|
+
"data-testid"?: string;
|
|
53
|
+
clearButtonAriaLabel: string;
|
|
54
|
+
disabled?: boolean;
|
|
55
|
+
iconOnlySearchButton?: boolean;
|
|
56
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
57
|
+
onClear: () => void;
|
|
58
|
+
onSearch?: (e: React.FormEvent<HTMLFormElement>) => void;
|
|
59
|
+
searchButtonLabel?: string;
|
|
60
|
+
variant: "button-attached" | "no-button";
|
|
61
|
+
formRef?: React.RefObject<HTMLFormElement>;
|
|
62
|
+
} & {
|
|
63
|
+
searchButtonLabel?: never;
|
|
64
|
+
variant: "no-button";
|
|
65
|
+
} & Omit<import('../../text-field/src/text-field').TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
66
|
+
onSelectSuggestion?: (option: AutocompleteOption) => void;
|
|
67
|
+
openSuggestionsOnFocus?: boolean;
|
|
68
|
+
suggestionsMaxHeight?: string | number;
|
|
69
|
+
} & {
|
|
70
|
+
suggestions: AutocompleteOption[];
|
|
71
|
+
suggestionsLabel: string;
|
|
72
|
+
}, "ref">) & React.RefAttributes<HTMLInputElement>>;
|
|
73
|
+
//# sourceMappingURL=search-field-autocomplete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-field-autocomplete.d.ts","sourceRoot":"","sources":["../../../../../../components/search-field/src/search-field-autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,0BAA0B,CAAC;AAIpF,OAAO,EACL,KAAK,mCAAmC,EAExC,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAK7B,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,GAC7D,OAAO,CAAC,mCAAmC,EAAE;IAAE,WAAW,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAqEnC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { default as React, ChangeEvent, CSSProperties, FormEvent, RefObject } from 'react';
|
|
2
|
+
import { TextFieldProps } from '../../text-field/src/text-field';
|
|
3
|
+
import { AutocompleteOption } from '@purpur/use-autocomplete';
|
|
4
|
+
export declare const searchFieldVariants: readonly ["button-attached", "no-button"];
|
|
5
|
+
type Variant = (typeof searchFieldVariants)[number];
|
|
6
|
+
type DefaultProps = {
|
|
7
|
+
["data-testid"]?: string;
|
|
8
|
+
/**
|
|
9
|
+
* An accessible label for the clear button.
|
|
10
|
+
* */
|
|
11
|
+
clearButtonAriaLabel: string;
|
|
12
|
+
/**
|
|
13
|
+
* Disables both the input field and submit button if `true`.
|
|
14
|
+
* */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Will display only a search icon in the search button if `true`.
|
|
18
|
+
* */
|
|
19
|
+
iconOnlySearchButton?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Event handler called when the value of the search field changes.
|
|
22
|
+
* */
|
|
23
|
+
onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Event handler called when the clear button is clicked.
|
|
26
|
+
* */
|
|
27
|
+
onClear: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Event handler called when the search form is submitted.
|
|
30
|
+
* */
|
|
31
|
+
onSearch?: (e: FormEvent<HTMLFormElement>) => void;
|
|
32
|
+
/**
|
|
33
|
+
* The label text (or `aria-label` if `iconOnlySearchButton` is `true`) of the search button.
|
|
34
|
+
* */
|
|
35
|
+
searchButtonLabel?: string;
|
|
36
|
+
variant: Variant;
|
|
37
|
+
formRef?: RefObject<HTMLFormElement>;
|
|
38
|
+
};
|
|
39
|
+
type TextSearchButton = {
|
|
40
|
+
iconOnlySearchButton?: false;
|
|
41
|
+
searchButtonLabel: string;
|
|
42
|
+
variant: "button-attached";
|
|
43
|
+
};
|
|
44
|
+
type IconOnlySearchButton = {
|
|
45
|
+
iconOnlySearchButton: true;
|
|
46
|
+
searchButtonLabel: string;
|
|
47
|
+
variant: "button-attached";
|
|
48
|
+
};
|
|
49
|
+
type NoButton = {
|
|
50
|
+
searchButtonLabel?: never;
|
|
51
|
+
variant: "no-button";
|
|
52
|
+
};
|
|
53
|
+
export type SearchFieldBaseProps = DefaultProps & (TextSearchButton | IconOnlySearchButton | NoButton) & Omit<TextFieldProps, "startAdornment" | "endAdornment" | "afterField" | "onChange" | "variant">;
|
|
54
|
+
type SearchFieldAutocompleteSharedProps = {
|
|
55
|
+
/**
|
|
56
|
+
* Called when the user selects a suggestion.
|
|
57
|
+
*/
|
|
58
|
+
onSelectSuggestion?: (option: AutocompleteOption) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Open the suggestions listbox when the input receives focus.
|
|
61
|
+
*/
|
|
62
|
+
openSuggestionsOnFocus?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum height of the suggestions listbox. A number is interpreted as px.
|
|
65
|
+
*/
|
|
66
|
+
suggestionsMaxHeight?: string | number;
|
|
67
|
+
};
|
|
68
|
+
type SearchFieldWithoutAutocomplete = SearchFieldAutocompleteSharedProps & {
|
|
69
|
+
suggestions?: never;
|
|
70
|
+
suggestionsLabel?: never;
|
|
71
|
+
};
|
|
72
|
+
type SearchFieldWithAutocomplete = SearchFieldAutocompleteSharedProps & {
|
|
73
|
+
/**
|
|
74
|
+
* The list of suggestions to display in a listbox below the field.
|
|
75
|
+
* No filtering is applied — pass the already-correct (pre-filtered) list.
|
|
76
|
+
* If autocomplete should stay enabled while there are temporarily no matches,
|
|
77
|
+
* pass an empty array instead of `undefined` or `null`. Changing this prop
|
|
78
|
+
* from an absent value to an array switches between the regular and
|
|
79
|
+
* autocomplete variants, which causes a re-render, drops input focus, and
|
|
80
|
+
* hides the listbox.
|
|
81
|
+
*/
|
|
82
|
+
suggestions: AutocompleteOption[];
|
|
83
|
+
/**
|
|
84
|
+
* Accessible label for the suggestions listbox.
|
|
85
|
+
*/
|
|
86
|
+
suggestionsLabel: string;
|
|
87
|
+
};
|
|
88
|
+
export type SearchFieldAutocompleteEnhancements = SearchFieldWithoutAutocomplete | SearchFieldWithAutocomplete;
|
|
89
|
+
export declare const SearchFieldBase: React.ForwardRefExoticComponent<(Omit<DefaultProps & TextSearchButton & Omit<TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
90
|
+
wrapperStyle?: CSSProperties;
|
|
91
|
+
}, "ref"> | Omit<DefaultProps & IconOnlySearchButton & Omit<TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
92
|
+
wrapperStyle?: CSSProperties;
|
|
93
|
+
}, "ref"> | Omit<DefaultProps & NoButton & Omit<TextFieldProps, "onChange" | "variant" | "afterField" | "endAdornment" | "startAdornment"> & {
|
|
94
|
+
wrapperStyle?: CSSProperties;
|
|
95
|
+
}, "ref">) & React.RefAttributes<HTMLInputElement>>;
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=search-field-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-field-base.d.ts","sourceRoot":"","sources":["../../../../../../components/search-field/src/search-field-base.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAMnE,eAAO,MAAM,mBAAmB,2CAA4C,CAAC;AAE7E,KAAK,OAAO,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,KAAK,YAAY,GAAG;IAClB,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC;IACzB;;SAEK;IACL,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;SAEK;IACL,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;SAEK;IACL,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;SAEK;IACL,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACtD;;SAEK;IACL,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;SAEK;IACL,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACnD;;SAEK;IACL,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;CACtC,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,oBAAoB,CAAC,EAAE,KAAK,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,iBAAiB,CAAC,EAAE,KAAK,CAAC;IAC1B,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAC7C,CAAC,gBAAgB,GAAG,oBAAoB,GAAG,QAAQ,CAAC,GACpD,IAAI,CAAC,cAAc,EAAE,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;AAMlG,KAAK,kCAAkC,GAAG;IACxC;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC1D;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxC,CAAC;AAEF,KAAK,8BAA8B,GAAG,kCAAkC,GAAG;IACzE,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,gBAAgB,CAAC,EAAE,KAAK,CAAC;CAC1B,CAAC;AAEF,KAAK,2BAA2B,GAAG,kCAAkC,GAAG;IACtE;;;;;;;;OAQG;IACH,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAC3C,8BAA8B,GAC9B,2BAA2B,CAAC;AAKhC,eAAO,MAAM,eAAe;mBA/CX,aAAa;;mBAAb,aAAa;;mBAAb,aAAa;mDAkH7B,CAAC"}
|