@elliemae/ds-form 1.57.0-rc.1 → 1.57.0-rc.13
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/ComboBox/v3/ComboBox/package.json +10 -0
- package/ComboBox/v3/ComboBoxCTX/package.json +10 -0
- package/ComboBox/v3/config/useComboBox/package.json +10 -0
- package/ComboBox/v3/config/useGetPropsWithDefault/package.json +10 -0
- package/ComboBox/v3/package.json +10 -0
- package/ComboBox/v3/parts/a11y-messages/MultiAllyMessages/package.json +10 -0
- package/ComboBox/v3/parts/a11y-messages/SingleAllyMessages/package.json +10 -0
- package/ComboBox/v3/parts/a11y-messages/package.json +10 -0
- package/ComboBox/v3/parts/a11y-messages/styled/package.json +10 -0
- package/ComboBox/v3/parts/container/Container/package.json +10 -0
- package/ComboBox/v3/parts/container/package.json +10 -0
- package/ComboBox/v3/parts/container/styled/package.json +10 -0
- package/ComboBox/v3/parts/controls/Controls/package.json +10 -0
- package/ComboBox/v3/parts/controls/package.json +10 -0
- package/ComboBox/v3/parts/controls/styled/package.json +10 -0
- package/ComboBox/v3/parts/controls-input/ControlsInput/package.json +10 -0
- package/ComboBox/v3/parts/controls-input/styled/package.json +10 -0
- package/ComboBox/v3/parts/controls-input/useControlsInput/package.json +10 -0
- package/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator/package.json +10 -0
- package/ComboBox/v3/parts/dropdown-indicator/package.json +10 -0
- package/ComboBox/v3/parts/dropdown-indicator/styled/package.json +10 -0
- package/ComboBox/v3/parts/empty-state/package.json +10 -0
- package/ComboBox/v3/parts/empty-state/styled/package.json +10 -0
- package/ComboBox/v3/parts/header-list/HeaderList/package.json +10 -0
- package/ComboBox/v3/parts/header-list/package.json +10 -0
- package/ComboBox/v3/parts/header-list/styled/package.json +10 -0
- package/ComboBox/v3/parts/menu-list/MenuList/package.json +10 -0
- package/ComboBox/v3/parts/menu-list/MenuListInline/package.json +10 -0
- package/ComboBox/v3/parts/menu-list/package.json +10 -0
- package/ComboBox/v3/parts/menu-list/styled/package.json +10 -0
- package/ComboBox/v3/parts/menu-list/useMenuList/package.json +10 -0
- package/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer/package.json +10 -0
- package/ComboBox/v3/parts/multi-selected-values-container/package.json +10 -0
- package/ComboBox/v3/parts/multi-selected-values-container/styled/package.json +10 -0
- package/ComboBox/v3/parts/multi-selected-values-container/useGroupPills/package.json +10 -0
- package/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer/package.json +10 -0
- package/ComboBox/v3/parts/single-selected-value-container/package.json +10 -0
- package/ComboBox/v3/parts/single-selected-value-container/styled/package.json +10 -0
- package/ComboBox/v3/propTypes/package.json +10 -0
- package/ComboBox/v3/tests/utils/package.json +10 -0
- package/ComboBox/v3/utils/hooks/useKeyboardNavigation/package.json +10 -0
- package/ComboBox/v3/utils/hooks/useOnElementResize/package.json +10 -0
- package/ComboBox/v3/utils/hooks/useOnWindowResize/package.json +10 -0
- package/ComboBox/v3/utils/listHelper/package.json +10 -0
- package/MenuItem/components/MenuItem/package.json +10 -0
- package/MenuItem/components/MenuItem/styled/package.json +10 -0
- package/MenuItem/components/MultiMenuItem/MultiMenuItem/package.json +10 -0
- package/MenuItem/components/MultiMenuItem/styled/package.json +10 -0
- package/MenuItem/components/Section/package.json +10 -0
- package/MenuItem/components/Section/props/package.json +10 -0
- package/MenuItem/components/Section/styled/package.json +10 -0
- package/MenuItem/components/Separator/package.json +10 -0
- package/MenuItem/components/Separator/styled/package.json +10 -0
- package/MenuItem/components/SingleMenuItem/SingleMenuItem/package.json +10 -0
- package/MenuItem/components/SingleMenuItem/styled/package.json +10 -0
- package/MenuItem/components/SubmenuItem/package.json +10 -0
- package/MenuItem/components/SubmenuItem/styled/package.json +10 -0
- package/MenuItem/components/package.json +10 -0
- package/MenuItem/components/styled/package.json +10 -0
- package/MenuItem/package.json +10 -0
- package/MenuItem/props/package.json +10 -0
- package/cjs/Checkbox/DSCheckbox.js +2 -2
- package/cjs/Checkbox/DSCheckbox.js.map +1 -1
- package/cjs/Checkbox/index.js +1 -1
- package/cjs/CheckboxGroup/DSCheckboxGroup.js +2 -3
- package/cjs/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/cjs/CheckboxGroup/index.js +2 -3
- package/cjs/CheckboxGroup/index.js.map +1 -1
- package/cjs/CheckboxGroup/props.js +1 -1
- package/cjs/ComboBox/DSComboBox.js +2 -6
- package/cjs/ComboBox/DSComboBox.js.map +1 -1
- package/cjs/ComboBox/index.js +40 -6
- package/cjs/ComboBox/index.js.map +1 -1
- package/cjs/ComboBox/v1/DSComboBox.js +3 -4
- package/cjs/ComboBox/v1/DSComboBox.js.map +1 -1
- package/cjs/ComboBox/v1/components/AllOption.js +1 -1
- package/cjs/ComboBox/v1/components/ClearIndicator.js +2 -3
- package/cjs/ComboBox/v1/components/ClearIndicator.js.map +1 -1
- package/cjs/ComboBox/v1/components/CustomOptionMulti.js +1 -1
- package/cjs/ComboBox/v1/components/DropdownIndicator.js +2 -3
- package/cjs/ComboBox/v1/components/DropdownIndicator.js.map +1 -1
- package/cjs/ComboBox/v1/components/MenuList.js +1 -1
- package/cjs/ComboBox/v1/components/SelectMenu.js +3 -3
- package/cjs/ComboBox/v1/components/SelectMenu.js.map +1 -1
- package/cjs/ComboBox/v1/index.js +2 -3
- package/cjs/ComboBox/v1/index.js.map +1 -1
- package/cjs/ComboBox/v2/Combobox.js +5 -10
- package/cjs/ComboBox/v2/Combobox.js.map +1 -1
- package/cjs/ComboBox/v2/components/AllOption.js +1 -1
- package/cjs/ComboBox/v2/components/ClearIndicator.js +2 -3
- package/cjs/ComboBox/v2/components/ClearIndicator.js.map +1 -1
- package/cjs/ComboBox/v2/components/CustomOptionMulti.js +1 -1
- package/cjs/ComboBox/v2/components/DropdownIndicator.js +2 -3
- package/cjs/ComboBox/v2/components/DropdownIndicator.js.map +1 -1
- package/cjs/ComboBox/v2/components/MenuList.js +1 -1
- package/cjs/ComboBox/v2/components/ValueContainer.js +2 -2
- package/cjs/ComboBox/v2/components/ValueContainer.js.map +1 -1
- package/cjs/ComboBox/v2/index.js +2 -5
- package/cjs/ComboBox/v2/index.js.map +1 -1
- package/cjs/ComboBox/v3/ComboBox.js +69 -0
- package/cjs/ComboBox/v3/ComboBox.js.map +1 -0
- package/cjs/ComboBox/v3/ComboBoxCTX.js +47 -0
- package/cjs/ComboBox/v3/ComboBoxCTX.js.map +1 -0
- package/cjs/ComboBox/v3/config/useComboBox.js +69 -0
- package/cjs/ComboBox/v3/config/useComboBox.js.map +1 -0
- package/cjs/ComboBox/v3/config/useGetPropsWithDefault.js +15 -0
- package/cjs/ComboBox/v3/config/useGetPropsWithDefault.js.map +1 -0
- package/cjs/ComboBox/v3/index.d.js +3 -0
- package/cjs/ComboBox/v3/index.d.js.map +1 -0
- package/cjs/ComboBox/v3/index.js +54 -0
- package/cjs/ComboBox/v3/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js +33 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js.map +1 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js +27 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js.map +1 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/index.js +17 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/styled.js +16 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/container/Container.js +79 -0
- package/cjs/ComboBox/v3/parts/container/Container.js.map +1 -0
- package/cjs/ComboBox/v3/parts/container/index.js +47 -0
- package/cjs/ComboBox/v3/parts/container/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/container/styled.js +24 -0
- package/cjs/ComboBox/v3/parts/container/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls/Controls.js +81 -0
- package/cjs/ComboBox/v3/parts/controls/Controls.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls/index.js +35 -0
- package/cjs/ComboBox/v3/parts/controls/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls/styled.js +48 -0
- package/cjs/ComboBox/v3/parts/controls/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls-input/ControlsInput.js +63 -0
- package/cjs/ComboBox/v3/parts/controls-input/ControlsInput.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls-input/styled.js +30 -0
- package/cjs/ComboBox/v3/parts/controls-input/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/controls-input/useControlsInput.js +92 -0
- package/cjs/ComboBox/v3/parts/controls-input/useControlsInput.js.map +1 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +37 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js.map +1 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/index.js +3 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/styled.js +18 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/empty-state/index.js +24 -0
- package/cjs/ComboBox/v3/parts/empty-state/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/empty-state/styled.js +20 -0
- package/cjs/ComboBox/v3/parts/empty-state/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/header-list/HeaderList.js +94 -0
- package/cjs/ComboBox/v3/parts/header-list/HeaderList.js.map +1 -0
- package/cjs/ComboBox/v3/parts/header-list/index.js +17 -0
- package/cjs/ComboBox/v3/parts/header-list/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/header-list/styled.js +40 -0
- package/cjs/ComboBox/v3/parts/header-list/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/menu-list/MenuList.js +62 -0
- package/cjs/ComboBox/v3/parts/menu-list/MenuList.js.map +1 -0
- package/cjs/ComboBox/v3/parts/menu-list/MenuListInline.js +44 -0
- package/cjs/ComboBox/v3/parts/menu-list/MenuListInline.js.map +1 -0
- package/cjs/ComboBox/v3/parts/menu-list/index.js +27 -0
- package/cjs/ComboBox/v3/parts/menu-list/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/menu-list/styled.js +39 -0
- package/cjs/ComboBox/v3/parts/menu-list/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/menu-list/useMenuList.js +88 -0
- package/cjs/ComboBox/v3/parts/menu-list/useMenuList.js.map +1 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +77 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +1 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/index.js +22 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/styled.js +24 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/styled.js.map +1 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +76 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js.map +1 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js +27 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +1 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/index.js +15 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/index.js.map +1 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/styled.js +16 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/styled.js.map +1 -0
- package/cjs/ComboBox/v3/propTypes.js +22 -0
- package/cjs/ComboBox/v3/propTypes.js.map +1 -0
- package/cjs/ComboBox/v3/tests/utils.js +23 -0
- package/cjs/ComboBox/v3/tests/utils.js.map +1 -0
- package/cjs/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +153 -0
- package/cjs/ComboBox/v3/utils/hooks/useKeyboardNavigation.js.map +1 -0
- package/cjs/ComboBox/v3/utils/hooks/useOnElementResize.js +52 -0
- package/cjs/ComboBox/v3/utils/hooks/useOnElementResize.js.map +1 -0
- package/cjs/ComboBox/v3/utils/hooks/useOnWindowResize.js +51 -0
- package/cjs/ComboBox/v3/utils/hooks/useOnWindowResize.js.map +1 -0
- package/cjs/ComboBox/v3/utils/listHelper.js +38 -0
- package/cjs/ComboBox/v3/utils/listHelper.js.map +1 -0
- package/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +38 -6
- package/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +1 -1
- package/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +2 -3
- package/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/cjs/ComboBoxFreeSolo/components/SingleValue.js +1 -1
- package/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +2 -3
- package/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/cjs/ComboBoxFreeSolo/index.js +38 -6
- package/cjs/ComboBoxFreeSolo/index.js.map +1 -1
- package/cjs/DateInput/DSDateInput.js +4 -6
- package/cjs/DateInput/DSDateInput.js.map +1 -1
- package/cjs/DateInput/components/DateInputImpl.js +2 -4
- package/cjs/DateInput/components/DateInputImpl.js.map +1 -1
- package/cjs/DateInput/components/DateInputs.js +8 -13
- package/cjs/DateInput/components/DateInputs.js.map +1 -1
- package/cjs/DateInput/components/utils.js +7 -8
- package/cjs/DateInput/components/utils.js.map +1 -1
- package/cjs/DateInput/index.js +2 -4
- package/cjs/DateInput/index.js.map +1 -1
- package/cjs/DateInputV2/components/DSDateInput.js +2 -3
- package/cjs/DateInputV2/components/DSDateInput.js.map +1 -1
- package/cjs/DateInputV2/components/DateInputs.js +1 -2
- package/cjs/DateInputV2/components/DateInputs.js.map +1 -1
- package/cjs/DateInputV2/components/helpers.js +1 -2
- package/cjs/DateInputV2/components/helpers.js.map +1 -1
- package/cjs/DateInputV2/components/styled.js +3 -3
- package/cjs/DateInputV2/components/styled.js.map +1 -1
- package/cjs/DateInputV2/components/utils.js +12 -13
- package/cjs/DateInputV2/components/utils.js.map +1 -1
- package/cjs/DateInputV2/index.js +2 -3
- package/cjs/DateInputV2/index.js.map +1 -1
- package/cjs/ExpandableInput/DSExpandableInput.js +1 -1
- package/cjs/ExpandableInput/ExpandableInputImpl.js +1 -1
- package/cjs/ExpandableInput/index.js +1 -1
- package/cjs/FloatingLabelInput/DSFloatingLabelInput.js +2 -2
- package/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +2 -3
- package/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/cjs/FloatingLabelInput/index.js +2 -2
- package/cjs/FormItem/DSFormItemLayout.js +3 -4
- package/cjs/FormItem/DSFormItemLayout.js.map +1 -1
- package/cjs/FormItem/defaultProps.js +1 -1
- package/cjs/FormItem/index.js +2 -2
- package/cjs/Input/DSInput.js +1 -1
- package/cjs/Input/InputImpl.js +2 -3
- package/cjs/Input/InputImpl.js.map +1 -1
- package/cjs/Input/index.js +1 -1
- package/cjs/InputMask/DSInputMask.js +1 -1
- package/cjs/InputMask/DSInputMaskDeprecated.js +1 -1
- package/cjs/InputMask/index.js +1 -1
- package/cjs/InputMask/mask_types/DateInputMask.js +1 -1
- package/cjs/InputMask/mask_types/DateTimeInputMask.js +1 -1
- package/cjs/InputMask/mask_types/DictionaryInputMask.js +1 -1
- package/cjs/InputMask/mask_types/NumberInputMask.js +1 -1
- package/cjs/InputMask/mask_types/PhoneInputMask.js +1 -1
- package/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +1 -1
- package/cjs/InputMask/mask_types/SsnInputMask.js +1 -1
- package/cjs/InputMask/mask_types/UsZipCodeInputMask.js +1 -1
- package/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +1 -1
- package/cjs/InputMask/mask_types/index.js +1 -1
- package/cjs/InputProtected/DSInputProtected.js +9 -18
- package/cjs/InputProtected/DSInputProtected.js.map +1 -1
- package/cjs/InputProtected/index.js +4 -7
- package/cjs/InputProtected/index.js.map +1 -1
- package/cjs/InputProtected/options.js.map +1 -1
- package/cjs/MenuItem/components/MenuItem/index.js +53 -0
- package/cjs/MenuItem/components/MenuItem/index.js.map +1 -0
- package/cjs/MenuItem/components/MenuItem/styled.js +16 -0
- package/cjs/MenuItem/components/MenuItem/styled.js.map +1 -0
- package/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js +65 -0
- package/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js.map +1 -0
- package/cjs/MenuItem/components/MultiMenuItem/styled.js +16 -0
- package/cjs/MenuItem/components/MultiMenuItem/styled.js.map +1 -0
- package/cjs/MenuItem/components/Section/index.js +30 -0
- package/cjs/MenuItem/components/Section/index.js.map +1 -0
- package/cjs/MenuItem/components/Section/props.js +16 -0
- package/cjs/MenuItem/components/Section/props.js.map +1 -0
- package/cjs/MenuItem/components/Section/styled.js +28 -0
- package/cjs/MenuItem/components/Section/styled.js.map +1 -0
- package/cjs/MenuItem/components/Separator/index.js +18 -0
- package/cjs/MenuItem/components/Separator/index.js.map +1 -0
- package/cjs/MenuItem/components/Separator/styled.js +28 -0
- package/cjs/MenuItem/components/Separator/styled.js.map +1 -0
- package/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js +65 -0
- package/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js.map +1 -0
- package/cjs/MenuItem/components/SingleMenuItem/styled.js +20 -0
- package/cjs/MenuItem/components/SingleMenuItem/styled.js.map +1 -0
- package/cjs/MenuItem/components/SubmenuItem/index.js +123 -0
- package/cjs/MenuItem/components/SubmenuItem/index.js.map +1 -0
- package/cjs/MenuItem/components/SubmenuItem/styled.js +24 -0
- package/cjs/MenuItem/components/SubmenuItem/styled.js.map +1 -0
- package/cjs/MenuItem/components/index.js +47 -0
- package/cjs/MenuItem/components/index.js.map +1 -0
- package/cjs/MenuItem/components/styled.js +54 -0
- package/cjs/MenuItem/components/styled.js.map +1 -0
- package/cjs/MenuItem/index.js +47 -0
- package/cjs/MenuItem/index.js.map +1 -0
- package/cjs/MenuItem/props.js +26 -0
- package/cjs/MenuItem/props.js.map +1 -0
- package/cjs/RadioGroup/DSRadioGroup.js +2 -2
- package/cjs/RadioGroup/index.js +2 -2
- package/cjs/SearchBox/DSSearchBox.js +4 -8
- package/cjs/SearchBox/DSSearchBox.js.map +1 -1
- package/cjs/SearchBox/NavSearchBox.js +5 -13
- package/cjs/SearchBox/NavSearchBox.js.map +1 -1
- package/cjs/SearchBox/SearchBoxToggle.js +3 -6
- package/cjs/SearchBox/SearchBoxToggle.js.map +1 -1
- package/cjs/SearchBox/index.js +2 -6
- package/cjs/SearchBox/index.js.map +1 -1
- package/cjs/SearchBox/styled.js +1 -1
- package/cjs/SearchBox/useSearch.js +2 -2
- package/cjs/SearchBox/useSearch.js.map +1 -1
- package/cjs/SearchBox/withSearchable.js +2 -2
- package/cjs/SearchBox/withSearchable.js.map +1 -1
- package/cjs/TextBox/DSTextBox.js +1 -1
- package/cjs/TextBox/index.js +1 -1
- package/cjs/TimeInput/DSTimeInput.js +3 -4
- package/cjs/TimeInput/DSTimeInput.js.map +1 -1
- package/cjs/TimeInput/TimeInputImpl.js +3 -4
- package/cjs/TimeInput/TimeInputImpl.js.map +1 -1
- package/cjs/TimeInput/TimeInputs.js +2 -3
- package/cjs/TimeInput/TimeInputs.js.map +1 -1
- package/cjs/TimeInput/index.js +3 -4
- package/cjs/TimeInput/index.js.map +1 -1
- package/cjs/TimeInput/utils.js +2 -3
- package/cjs/TimeInput/utils.js.map +1 -1
- package/cjs/Toggle/DSToggle.js +1 -1
- package/cjs/Toggle/DSToggleImpl.js +1 -1
- package/cjs/Toggle/DSToggleRender.js +2 -3
- package/cjs/Toggle/DSToggleRender.js.map +1 -1
- package/cjs/Toggle/index.js +1 -1
- package/cjs/index.js +152 -72
- package/cjs/index.js.map +1 -1
- package/cjs/{utils-328f60e2.js → utils-f82fe290.js} +6 -7
- package/cjs/utils-f82fe290.js.map +1 -0
- package/esm/Checkbox/DSCheckbox.js +2 -2
- package/esm/Checkbox/DSCheckbox.js.map +1 -1
- package/esm/Checkbox/defaultProps.js +1 -1
- package/esm/Checkbox/index.js +2 -2
- package/esm/Checkbox/props.js +1 -1
- package/esm/CheckboxGroup/DSCheckboxGroup.js +3 -4
- package/esm/CheckboxGroup/DSCheckboxGroup.js.map +1 -1
- package/esm/CheckboxGroup/index.js +3 -4
- package/esm/CheckboxGroup/index.js.map +1 -1
- package/esm/CheckboxGroup/props.js +2 -2
- package/esm/ComboBox/DSComboBox.js +3 -7
- package/esm/ComboBox/DSComboBox.js.map +1 -1
- package/esm/ComboBox/index.js +39 -7
- package/esm/ComboBox/index.js.map +1 -1
- package/esm/ComboBox/v1/DSComboBox.js +4 -5
- package/esm/ComboBox/v1/DSComboBox.js.map +1 -1
- package/esm/ComboBox/v1/components/AllOption.js +2 -2
- package/esm/ComboBox/v1/components/ClearIndicator.js +1 -1
- package/esm/ComboBox/v1/components/ClearIndicator.js.map +1 -1
- package/esm/ComboBox/v1/components/CustomOptionMulti.js +2 -2
- package/esm/ComboBox/v1/components/DropdownIndicator.js +1 -1
- package/esm/ComboBox/v1/components/DropdownIndicator.js.map +1 -1
- package/esm/ComboBox/v1/components/MenuList.js +2 -2
- package/esm/ComboBox/v1/components/SelectMenu.js +1 -1
- package/esm/ComboBox/v1/components/SelectMenu.js.map +1 -1
- package/esm/ComboBox/v1/index.js +3 -4
- package/esm/ComboBox/v1/index.js.map +1 -1
- package/esm/ComboBox/v2/Combobox.js +3 -6
- package/esm/ComboBox/v2/Combobox.js.map +1 -1
- package/esm/ComboBox/v2/components/AllOption.js +2 -2
- package/esm/ComboBox/v2/components/ClearIndicator.js +1 -1
- package/esm/ComboBox/v2/components/ClearIndicator.js.map +1 -1
- package/esm/ComboBox/v2/components/CustomOptionMulti.js +2 -2
- package/esm/ComboBox/v2/components/DropdownIndicator.js +1 -1
- package/esm/ComboBox/v2/components/DropdownIndicator.js.map +1 -1
- package/esm/ComboBox/v2/components/MenuList.js +2 -2
- package/esm/ComboBox/v2/components/ValueContainer.js +1 -1
- package/esm/ComboBox/v2/components/ValueContainer.js.map +1 -1
- package/esm/ComboBox/v2/index.js +3 -6
- package/esm/ComboBox/v2/index.js.map +1 -1
- package/esm/ComboBox/v3/ComboBox.js +60 -0
- package/esm/ComboBox/v3/ComboBox.js.map +1 -0
- package/esm/ComboBox/v3/ComboBoxCTX.js +41 -0
- package/esm/ComboBox/v3/ComboBoxCTX.js.map +1 -0
- package/esm/ComboBox/v3/config/useComboBox.js +61 -0
- package/esm/ComboBox/v3/config/useComboBox.js.map +1 -0
- package/esm/ComboBox/v3/config/useGetPropsWithDefault.js +11 -0
- package/esm/ComboBox/v3/config/useGetPropsWithDefault.js.map +1 -0
- package/esm/ComboBox/v3/index.d.js +2 -0
- package/esm/ComboBox/v3/index.d.js.map +1 -0
- package/esm/ComboBox/v3/index.js +45 -0
- package/esm/ComboBox/v3/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js +25 -0
- package/esm/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js.map +1 -0
- package/esm/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js +19 -0
- package/esm/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js.map +1 -0
- package/esm/ComboBox/v3/parts/a11y-messages/index.js +8 -0
- package/esm/ComboBox/v3/parts/a11y-messages/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/a11y-messages/styled.js +8 -0
- package/esm/ComboBox/v3/parts/a11y-messages/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/container/Container.js +71 -0
- package/esm/ComboBox/v3/parts/container/Container.js.map +1 -0
- package/esm/ComboBox/v3/parts/container/index.js +39 -0
- package/esm/ComboBox/v3/parts/container/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/container/styled.js +14 -0
- package/esm/ComboBox/v3/parts/container/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls/Controls.js +73 -0
- package/esm/ComboBox/v3/parts/controls/Controls.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls/index.js +27 -0
- package/esm/ComboBox/v3/parts/controls/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls/styled.js +36 -0
- package/esm/ComboBox/v3/parts/controls/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls-input/ControlsInput.js +55 -0
- package/esm/ComboBox/v3/parts/controls-input/ControlsInput.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls-input/styled.js +19 -0
- package/esm/ComboBox/v3/parts/controls-input/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/controls-input/useControlsInput.js +84 -0
- package/esm/ComboBox/v3/parts/controls-input/useControlsInput.js.map +1 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +30 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js.map +1 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/index.js +2 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/styled.js +9 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/empty-state/index.js +16 -0
- package/esm/ComboBox/v3/parts/empty-state/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/empty-state/styled.js +11 -0
- package/esm/ComboBox/v3/parts/empty-state/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/header-list/HeaderList.js +86 -0
- package/esm/ComboBox/v3/parts/header-list/HeaderList.js.map +1 -0
- package/esm/ComboBox/v3/parts/header-list/index.js +9 -0
- package/esm/ComboBox/v3/parts/header-list/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/header-list/styled.js +26 -0
- package/esm/ComboBox/v3/parts/header-list/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/menu-list/MenuList.js +54 -0
- package/esm/ComboBox/v3/parts/menu-list/MenuList.js.map +1 -0
- package/esm/ComboBox/v3/parts/menu-list/MenuListInline.js +36 -0
- package/esm/ComboBox/v3/parts/menu-list/MenuListInline.js.map +1 -0
- package/esm/ComboBox/v3/parts/menu-list/index.js +18 -0
- package/esm/ComboBox/v3/parts/menu-list/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/menu-list/styled.js +28 -0
- package/esm/ComboBox/v3/parts/menu-list/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/menu-list/useMenuList.js +80 -0
- package/esm/ComboBox/v3/parts/menu-list/useMenuList.js.map +1 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +68 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +1 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/index.js +14 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/styled.js +14 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/styled.js.map +1 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +67 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js.map +1 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js +19 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +1 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/index.js +7 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/index.js.map +1 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/styled.js +8 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/styled.js.map +1 -0
- package/esm/ComboBox/v3/propTypes.js +18 -0
- package/esm/ComboBox/v3/propTypes.js.map +1 -0
- package/esm/ComboBox/v3/tests/utils.js +19 -0
- package/esm/ComboBox/v3/tests/utils.js.map +1 -0
- package/esm/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +149 -0
- package/esm/ComboBox/v3/utils/hooks/useKeyboardNavigation.js.map +1 -0
- package/esm/ComboBox/v3/utils/hooks/useOnElementResize.js +44 -0
- package/esm/ComboBox/v3/utils/hooks/useOnElementResize.js.map +1 -0
- package/esm/ComboBox/v3/utils/hooks/useOnWindowResize.js +43 -0
- package/esm/ComboBox/v3/utils/hooks/useOnWindowResize.js.map +1 -0
- package/esm/ComboBox/v3/utils/listHelper.js +30 -0
- package/esm/ComboBox/v3/utils/listHelper.js.map +1 -0
- package/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +39 -7
- package/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +1 -1
- package/esm/ComboBoxFreeSolo/components/MultiValueRemove.js +1 -1
- package/esm/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
- package/esm/ComboBoxFreeSolo/components/SingleValue.js +1 -1
- package/esm/ComboBoxFreeSolo/components/SingleValueRemove.js +1 -1
- package/esm/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
- package/esm/ComboBoxFreeSolo/index.js +39 -7
- package/esm/ComboBoxFreeSolo/index.js.map +1 -1
- package/esm/DateInput/DSDateInput.js +3 -5
- package/esm/DateInput/DSDateInput.js.map +1 -1
- package/esm/DateInput/components/DateInputImpl.js +2 -4
- package/esm/DateInput/components/DateInputImpl.js.map +1 -1
- package/esm/DateInput/components/DateInputs.js +7 -11
- package/esm/DateInput/components/DateInputs.js.map +1 -1
- package/esm/DateInput/components/utils.js +1 -2
- package/esm/DateInput/components/utils.js.map +1 -1
- package/esm/DateInput/index.js +2 -4
- package/esm/DateInput/index.js.map +1 -1
- package/esm/DateInputV2/components/DSDateInput.js +2 -3
- package/esm/DateInputV2/components/DSDateInput.js.map +1 -1
- package/esm/DateInputV2/components/DateInputs.js +1 -2
- package/esm/DateInputV2/components/DateInputs.js.map +1 -1
- package/esm/DateInputV2/components/helpers.js +1 -2
- package/esm/DateInputV2/components/helpers.js.map +1 -1
- package/esm/DateInputV2/components/utils.js +1 -2
- package/esm/DateInputV2/components/utils.js.map +1 -1
- package/esm/DateInputV2/index.js +2 -3
- package/esm/DateInputV2/index.js.map +1 -1
- package/esm/ExpandableInput/DSExpandableInput.js +1 -1
- package/esm/ExpandableInput/ExpandableInputImpl.js +1 -1
- package/esm/ExpandableInput/index.js +1 -1
- package/esm/FloatingLabelInput/DSFloatingLabelInput.js +2 -2
- package/esm/FloatingLabelInput/FloatingLabelInputImpl.js +1 -1
- package/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
- package/esm/FloatingLabelInput/index.js +2 -2
- package/esm/FormItem/DSFormItemLayout.js +2 -2
- package/esm/FormItem/DSFormItemLayout.js.map +1 -1
- package/esm/FormItem/defaultProps.js +1 -1
- package/esm/FormItem/index.js +2 -2
- package/esm/Input/DSInput.js +1 -1
- package/esm/Input/InputImpl.js +1 -1
- package/esm/Input/InputImpl.js.map +1 -1
- package/esm/Input/index.js +1 -1
- package/esm/InputMask/DSInputMask.js +1 -1
- package/esm/InputMask/DSInputMaskDeprecated.js +1 -1
- package/esm/InputMask/index.js +1 -1
- package/esm/InputMask/mask_types/DateInputMask.js +1 -1
- package/esm/InputMask/mask_types/DateTimeInputMask.js +1 -1
- package/esm/InputMask/mask_types/DictionaryInputMask.js +1 -1
- package/esm/InputMask/mask_types/NumberInputMask.js +1 -1
- package/esm/InputMask/mask_types/PhoneInputMask.js +1 -1
- package/esm/InputMask/mask_types/PhoneInternationalInputMask.js +1 -1
- package/esm/InputMask/mask_types/SsnInputMask.js +1 -1
- package/esm/InputMask/mask_types/UsZipCodeInputMask.js +1 -1
- package/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +1 -1
- package/esm/InputMask/mask_types/index.js +1 -1
- package/esm/InputProtected/DSInputProtected.js +4 -9
- package/esm/InputProtected/DSInputProtected.js.map +1 -1
- package/esm/InputProtected/index.js +2 -6
- package/esm/InputProtected/index.js.map +1 -1
- package/esm/InputProtected/options.js.map +1 -1
- package/esm/MenuItem/components/MenuItem/index.js +43 -0
- package/esm/MenuItem/components/MenuItem/index.js.map +1 -0
- package/esm/MenuItem/components/MenuItem/styled.js +8 -0
- package/esm/MenuItem/components/MenuItem/styled.js.map +1 -0
- package/esm/MenuItem/components/MultiMenuItem/MultiMenuItem.js +56 -0
- package/esm/MenuItem/components/MultiMenuItem/MultiMenuItem.js.map +1 -0
- package/esm/MenuItem/components/MultiMenuItem/styled.js +8 -0
- package/esm/MenuItem/components/MultiMenuItem/styled.js.map +1 -0
- package/esm/MenuItem/components/Section/index.js +21 -0
- package/esm/MenuItem/components/Section/index.js.map +1 -0
- package/esm/MenuItem/components/Section/props.js +11 -0
- package/esm/MenuItem/components/Section/props.js.map +1 -0
- package/esm/MenuItem/components/Section/styled.js +18 -0
- package/esm/MenuItem/components/Section/styled.js.map +1 -0
- package/esm/MenuItem/components/Separator/index.js +10 -0
- package/esm/MenuItem/components/Separator/index.js.map +1 -0
- package/esm/MenuItem/components/Separator/styled.js +18 -0
- package/esm/MenuItem/components/Separator/styled.js.map +1 -0
- package/esm/MenuItem/components/SingleMenuItem/SingleMenuItem.js +55 -0
- package/esm/MenuItem/components/SingleMenuItem/SingleMenuItem.js.map +1 -0
- package/esm/MenuItem/components/SingleMenuItem/styled.js +11 -0
- package/esm/MenuItem/components/SingleMenuItem/styled.js.map +1 -0
- package/esm/MenuItem/components/SubmenuItem/index.js +110 -0
- package/esm/MenuItem/components/SubmenuItem/index.js.map +1 -0
- package/esm/MenuItem/components/SubmenuItem/styled.js +15 -0
- package/esm/MenuItem/components/SubmenuItem/styled.js.map +1 -0
- package/esm/MenuItem/components/index.js +31 -0
- package/esm/MenuItem/components/index.js.map +1 -0
- package/esm/MenuItem/components/styled.js +44 -0
- package/esm/MenuItem/components/styled.js.map +1 -0
- package/esm/MenuItem/index.js +31 -0
- package/esm/MenuItem/index.js.map +1 -0
- package/esm/MenuItem/props.js +21 -0
- package/esm/MenuItem/props.js.map +1 -0
- package/esm/RadioGroup/DSRadioGroup.js +3 -3
- package/esm/RadioGroup/index.js +3 -3
- package/esm/RadioGroup/props.js +1 -1
- package/esm/SearchBox/DSSearchBox.js +3 -5
- package/esm/SearchBox/DSSearchBox.js.map +1 -1
- package/esm/SearchBox/NavSearchBox.js +2 -6
- package/esm/SearchBox/NavSearchBox.js.map +1 -1
- package/esm/SearchBox/SearchBoxToggle.js +3 -5
- package/esm/SearchBox/SearchBoxToggle.js.map +1 -1
- package/esm/SearchBox/index.js +2 -6
- package/esm/SearchBox/index.js.map +1 -1
- package/esm/SearchBox/styled.js +1 -1
- package/esm/SearchBox/useSearch.js +1 -1
- package/esm/SearchBox/useSearch.js.map +1 -1
- package/esm/SearchBox/withSearchable.js +1 -1
- package/esm/SearchBox/withSearchable.js.map +1 -1
- package/esm/TextBox/DSTextBox.js +1 -1
- package/esm/TextBox/index.js +1 -1
- package/esm/TimeInput/DSTimeInput.js +3 -4
- package/esm/TimeInput/DSTimeInput.js.map +1 -1
- package/esm/TimeInput/TimeInputImpl.js +2 -3
- package/esm/TimeInput/TimeInputImpl.js.map +1 -1
- package/esm/TimeInput/TimeInputs.js +2 -3
- package/esm/TimeInput/TimeInputs.js.map +1 -1
- package/esm/TimeInput/index.js +3 -4
- package/esm/TimeInput/index.js.map +1 -1
- package/esm/TimeInput/utils.js +2 -3
- package/esm/TimeInput/utils.js.map +1 -1
- package/esm/Toggle/DSToggle.js +2 -2
- package/esm/Toggle/DSToggleImpl.js +2 -2
- package/esm/Toggle/DSToggleRender.js +1 -1
- package/esm/Toggle/DSToggleRender.js.map +1 -1
- package/esm/Toggle/index.js +2 -2
- package/esm/Toggle/props.js +1 -1
- package/esm/index.js +120 -70
- package/esm/index.js.map +1 -1
- package/esm/{prop-types-cc01d273.js → prop-types-45aa1e9c.js} +2 -2
- package/esm/{prop-types-cc01d273.js.map → prop-types-45aa1e9c.js.map} +1 -1
- package/esm/{utils-0a7eb302.js → utils-ced363ec.js} +2 -3
- package/esm/utils-ced363ec.js.map +1 -0
- package/package.json +17 -17
- package/cjs/utils-328f60e2.js.map +0 -1
- package/esm/utils-0a7eb302.js.map +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
6
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var ComboBox_v3_utils_hooks_useOnElementResize = require('../../utils/hooks/useOnElementResize.js');
|
|
9
|
+
var ComboBox_v3_ComboBoxCTX = require('../../ComboBoxCTX.js');
|
|
10
|
+
|
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
+
|
|
13
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
14
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
15
|
+
|
|
16
|
+
var getGroupedPillWidth = function getGroupedPillWidth(remainingPills) {
|
|
17
|
+
if (remainingPills === 0) return 0;
|
|
18
|
+
var digits = remainingPills.toString().length;
|
|
19
|
+
return 8 * (digits - 1) + 31;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var useGroupPills = function useGroupPills(pillGroupRef) {
|
|
23
|
+
var _useContext = React.useContext(ComboBox_v3_ComboBoxCTX.ComboBoxContext),
|
|
24
|
+
selectedValues = _useContext.props.selectedValues,
|
|
25
|
+
selectedOptionsRef = _useContext.selectedOptionsRef,
|
|
26
|
+
controlsWrapperRef = _useContext.controlsWrapperRef;
|
|
27
|
+
|
|
28
|
+
var multiSelectedValues = selectedValues;
|
|
29
|
+
|
|
30
|
+
var _useState = React.useState(multiSelectedValues.length),
|
|
31
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
32
|
+
pillsToShow = _useState2[0],
|
|
33
|
+
setPillsToShow = _useState2[1];
|
|
34
|
+
|
|
35
|
+
var _useOnElementResize = ComboBox_v3_utils_hooks_useOnElementResize.useOnElementResize(controlsWrapperRef),
|
|
36
|
+
width = _useOnElementResize.width;
|
|
37
|
+
|
|
38
|
+
React.useEffect(function () {
|
|
39
|
+
if (multiSelectedValues.length !== pillsToShow) {
|
|
40
|
+
setPillsToShow(multiSelectedValues.length);
|
|
41
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
|
+
|
|
43
|
+
}, [multiSelectedValues.length, width]);
|
|
44
|
+
React.useLayoutEffect(function () {
|
|
45
|
+
if (selectedOptionsRef.current) {
|
|
46
|
+
pillGroupRef.current.style.width = 'max-content';
|
|
47
|
+
var lastPillFit = -1;
|
|
48
|
+
var currentWidth = 0;
|
|
49
|
+
var referenceWidth = selectedOptionsRef.current.offsetWidth;
|
|
50
|
+
|
|
51
|
+
var pills = _toConsumableArray__default['default'](selectedOptionsRef.current.querySelectorAll('.ds-pill-wrapper-removable'));
|
|
52
|
+
|
|
53
|
+
var pillsWidth = pills.map(function (pill) {
|
|
54
|
+
return pill === null || pill === void 0 ? void 0 : pill.offsetWidth;
|
|
55
|
+
});
|
|
56
|
+
pillsWidth.forEach(function (pillWidth, idx) {
|
|
57
|
+
currentWidth += pillWidth;
|
|
58
|
+
|
|
59
|
+
if (currentWidth + getGroupedPillWidth(multiSelectedValues.length - idx - 1) <= referenceWidth) {
|
|
60
|
+
lastPillFit = idx;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
var nextPillsToShow = lastPillFit + 1;
|
|
64
|
+
|
|
65
|
+
if (nextPillsToShow !== pillsToShow) {
|
|
66
|
+
setPillsToShow(nextPillsToShow);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
pillGroupRef.current.style.width = 'fit-content';
|
|
70
|
+
}
|
|
71
|
+
}, [selectedOptionsRef, multiSelectedValues, pillsToShow, pillGroupRef, width]);
|
|
72
|
+
return pillsToShow;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
exports.useGroupPills = useGroupPills;
|
|
76
|
+
//# sourceMappingURL=useGroupPills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGroupPills.js","sources":["../../../../../../src/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport ComboBoxContext from '../../ComboBoxCTX';\nimport { CBOptionT } from '../../index.d';\n\nconst getGroupedPillWidth = (remainingPills: number): number => {\n if (remainingPills === 0) return 0;\n const digits = remainingPills.toString().length;\n return 8 * (digits - 1) + 31;\n};\nconst useGroupPills = (pillGroupRef: React.MutableRefObject<HTMLDivElement>): number => {\n const {\n props: { selectedValues },\n selectedOptionsRef,\n controlsWrapperRef,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as CBOptionT[];\n const [pillsToShow, setPillsToShow] = useState(multiSelectedValues.length);\n const { width } = useOnElementResize(controlsWrapperRef);\n useEffect(() => {\n if (multiSelectedValues.length !== pillsToShow) {\n setPillsToShow(multiSelectedValues.length);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [multiSelectedValues.length, width]);\n\n useLayoutEffect(() => {\n if (selectedOptionsRef.current) {\n pillGroupRef.current.style.width = 'max-content';\n let lastPillFit = -1;\n let currentWidth = 0;\n const referenceWidth = selectedOptionsRef.current.offsetWidth;\n const pills: HTMLDivElement[] = [\n ...selectedOptionsRef.current.querySelectorAll('.ds-pill-wrapper-removable'),\n ] as HTMLDivElement[];\n const pillsWidth = pills.map((pill) => pill?.offsetWidth);\n pillsWidth.forEach((pillWidth, idx) => {\n currentWidth += pillWidth;\n if (currentWidth + getGroupedPillWidth(multiSelectedValues.length - idx - 1) <= referenceWidth) {\n lastPillFit = idx;\n }\n });\n const nextPillsToShow = lastPillFit + 1;\n\n if (nextPillsToShow !== pillsToShow) {\n setPillsToShow(nextPillsToShow);\n }\n pillGroupRef.current.style.width = 'fit-content';\n }\n }, [selectedOptionsRef, multiSelectedValues, pillsToShow, pillGroupRef, width]);\n\n return pillsToShow;\n};\n\nexport { useGroupPills };\n"],"names":["getGroupedPillWidth","remainingPills","digits","toString","length","useGroupPills","pillGroupRef","useContext","ComboBoxContext","selectedValues","props","selectedOptionsRef","controlsWrapperRef","multiSelectedValues","useState","pillsToShow","setPillsToShow","useOnElementResize","width","useEffect","useLayoutEffect","current","style","lastPillFit","currentWidth","referenceWidth","offsetWidth","pills","querySelectorAll","pillsWidth","map","pill","forEach","pillWidth","idx","nextPillsToShow"],"mappings":";;;;;;;;;;;;;;;AAKA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,cAAD,EAAoC;AAC9D,MAAIA,cAAc,KAAK,CAAvB,EAA0B,OAAO,CAAP;AAC1B,MAAMC,MAAM,GAAGD,cAAc,CAACE,QAAf,GAA0BC,MAAzC;AACA,SAAO,KAAKF,MAAM,GAAG,CAAd,IAAmB,EAA1B;AACD,CAJD;;IAKMG,aAAa,GAAG,SAAhBA,aAAgB,CAACC,YAAD,EAAkE;AACtF,oBAIIC,gBAAU,CAACC,uCAAD,CAJd;AAAA,MACWC,cADX,eACEC,KADF,CACWD,cADX;AAAA,MAEEE,kBAFF,eAEEA,kBAFF;AAAA,MAGEC,kBAHF,eAGEA,kBAHF;;AAMA,MAAMC,mBAAmB,GAAGJ,cAA5B;;AACA,kBAAsCK,cAAQ,CAACD,mBAAmB,CAACT,MAArB,CAA9C;AAAA;AAAA,MAAOW,WAAP;AAAA,MAAoBC,cAApB;;AACA,4BAAkBC,6DAAkB,CAACL,kBAAD,CAApC;AAAA,MAAQM,KAAR,uBAAQA,KAAR;;AACAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIN,mBAAmB,CAACT,MAApB,KAA+BW,WAAnC,EAAgD;AAC9CC,MAAAA,cAAc,CAACH,mBAAmB,CAACT,MAArB,CAAd;AACD,KAHa;;AAKf,GALQ,EAKN,CAACS,mBAAmB,CAACT,MAArB,EAA6Bc,KAA7B,CALM,CAAT;AAOAE,EAAAA,qBAAe,CAAC,YAAM;AACpB,QAAIT,kBAAkB,CAACU,OAAvB,EAAgC;AAC9Bf,MAAAA,YAAY,CAACe,OAAb,CAAqBC,KAArB,CAA2BJ,KAA3B,GAAmC,aAAnC;AACA,UAAIK,WAAW,GAAG,CAAC,CAAnB;AACA,UAAIC,YAAY,GAAG,CAAnB;AACA,UAAMC,cAAc,GAAGd,kBAAkB,CAACU,OAAnB,CAA2BK,WAAlD;;AACA,UAAMC,KAAuB,0CACxBhB,kBAAkB,CAACU,OAAnB,CAA2BO,gBAA3B,CAA4C,4BAA5C,CADwB,CAA7B;;AAGA,UAAMC,UAAU,GAAGF,KAAK,CAACG,GAAN,CAAU,UAACC,IAAD;AAAA,eAAUA,IAAV,aAAUA,IAAV,uBAAUA,IAAI,CAAEL,WAAhB;AAAA,OAAV,CAAnB;AACAG,MAAAA,UAAU,CAACG,OAAX,CAAmB,UAACC,SAAD,EAAYC,GAAZ,EAAoB;AACrCV,QAAAA,YAAY,IAAIS,SAAhB;;AACA,YAAIT,YAAY,GAAGxB,mBAAmB,CAACa,mBAAmB,CAACT,MAApB,GAA6B8B,GAA7B,GAAmC,CAApC,CAAlC,IAA4ET,cAAhF,EAAgG;AAC9FF,UAAAA,WAAW,GAAGW,GAAd;AACD;AACF,OALD;AAMA,UAAMC,eAAe,GAAGZ,WAAW,GAAG,CAAtC;;AAEA,UAAIY,eAAe,KAAKpB,WAAxB,EAAqC;AACnCC,QAAAA,cAAc,CAACmB,eAAD,CAAd;AACD;;AACD7B,MAAAA,YAAY,CAACe,OAAb,CAAqBC,KAArB,CAA2BJ,KAA3B,GAAmC,aAAnC;AACD;AACF,GAvBc,EAuBZ,CAACP,kBAAD,EAAqBE,mBAArB,EAA0CE,WAA1C,EAAuDT,YAAvD,EAAqEY,KAArE,CAvBY,CAAf;AAyBA,SAAOH,WAAP;AACD;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var DSTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
|
|
7
|
+
var ComboBox_v3_ComboBoxCTX = require('../../ComboBoxCTX.js');
|
|
8
|
+
var ComboBox_v3_parts_singleSelectedValueContainer_styled = require('./styled.js');
|
|
9
|
+
require('styled-components');
|
|
10
|
+
|
|
11
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
+
|
|
13
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
+
|
|
15
|
+
var SingleSelectedValueContainer = function SingleSelectedValueContainer() {
|
|
16
|
+
var _useContext = React.useContext(ComboBox_v3_ComboBoxCTX.ComboBoxContext),
|
|
17
|
+
selectedValues = _useContext.props.selectedValues,
|
|
18
|
+
showSelectedValue = _useContext.showSelectedValue;
|
|
19
|
+
|
|
20
|
+
var singleSelectedValue = selectedValues;
|
|
21
|
+
return /*#__PURE__*/React__default['default'].createElement(ComboBox_v3_parts_singleSelectedValueContainer_styled.StyledSingleSelectedValue, null, showSelectedValue ? /*#__PURE__*/React__default['default'].createElement(DSTruncatedTooltipText.SimpleTruncatedTooltipText, {
|
|
22
|
+
value: singleSelectedValue === null || singleSelectedValue === void 0 ? void 0 : singleSelectedValue.label
|
|
23
|
+
}) : null);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.SingleSelectedValueContainer = SingleSelectedValueContainer;
|
|
27
|
+
//# sourceMappingURL=SingleSelectedValueContainer.js.map
|
package/cjs/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSelectedValueContainer.js","sources":["../../../../../../src/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\n\nimport { CBOptionT } from '../../index.d';\nimport ComboBoxContext from '../../ComboBoxCTX';\n\nimport { StyledSingleSelectedValue } from './styled';\nconst SingleSelectedValueContainer = (): JSX.Element => {\n const {\n props: { selectedValues },\n showSelectedValue,\n } = useContext(ComboBoxContext);\n\n const singleSelectedValue = selectedValues as CBOptionT;\n return (\n <StyledSingleSelectedValue>\n {showSelectedValue ? <SimpleTruncatedTooltipText value={singleSelectedValue?.label} /> : null}\n </StyledSingleSelectedValue>\n );\n};\n\nexport { SingleSelectedValueContainer };\n"],"names":["SingleSelectedValueContainer","useContext","ComboBoxContext","selectedValues","props","showSelectedValue","singleSelectedValue","React","StyledSingleSelectedValue","SimpleTruncatedTooltipText","label"],"mappings":";;;;;;;;;;;;;;IAOMA,4BAA4B,GAAG,SAA/BA,4BAA+B,GAAmB;AACtD,oBAGIC,gBAAU,CAACC,uCAAD,CAHd;AAAA,MACWC,cADX,eACEC,KADF,CACWD,cADX;AAAA,MAEEE,iBAFF,eAEEA,iBAFF;;AAKA,MAAMC,mBAAmB,GAAGH,cAA5B;AACA,sBACEI,wCAACC,+EAAD,QACGH,iBAAiB,gBAAGE,wCAACE,iDAAD;AAA4B,IAAA,KAAK,EAAEH,mBAAF,aAAEA,mBAAF,uBAAEA,mBAAmB,CAAEI;AAAxD,IAAH,GAAuE,IAD3F,CADF;AAKD;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ComboBox_v3_parts_singleSelectedValueContainer_SingleSelectedValueContainer = require('./SingleSelectedValueContainer.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('@elliemae/ds-truncated-tooltip-text');
|
|
8
|
+
require('../../ComboBoxCTX.js');
|
|
9
|
+
require('./styled.js');
|
|
10
|
+
require('styled-components');
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
exports.SingleSelectedValueContainer = ComboBox_v3_parts_singleSelectedValueContainer_SingleSelectedValueContainer.SingleSelectedValueContainer;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var styled = require('styled-components');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
10
|
+
|
|
11
|
+
var StyledSingleSelectedValue = /*#__PURE__*/styled__default['default'].div.withConfig({
|
|
12
|
+
componentId: "sc-ui9n59-0"
|
|
13
|
+
})(["width:100%;display:flex;align-items:center;"]);
|
|
14
|
+
|
|
15
|
+
exports.StyledSingleSelectedValue = StyledSingleSelectedValue;
|
|
16
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../../../../src/ComboBox/v3/parts/single-selected-value-container/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const StyledSingleSelectedValue = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n`;\n"],"names":["StyledSingleSelectedValue","styled","div"],"mappings":";;;;;;;;;;IAEaA,yBAAyB,gBAAGC,0BAAM,CAACC,GAAV;AAAA;AAAA;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var reactDesc = require('react-desc');
|
|
6
|
+
|
|
7
|
+
var propTypes = {
|
|
8
|
+
placeholder: reactDesc.PropTypes.string.description('').defaultValue(''),
|
|
9
|
+
options: reactDesc.PropTypes.array.description('').defaultValue([]),
|
|
10
|
+
selectedValues: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.object), reactDesc.PropTypes.object]).description(''),
|
|
11
|
+
autoFocus: reactDesc.PropTypes.bool.description('').defaultValue('false'),
|
|
12
|
+
hasError: reactDesc.PropTypes.bool.description('').defaultValue('false'),
|
|
13
|
+
onChange: reactDesc.PropTypes.func.description('').defaultValue(''),
|
|
14
|
+
onSelectAll: reactDesc.PropTypes.func.description('').defaultValue(''),
|
|
15
|
+
onFilter: reactDesc.PropTypes.func.description('').defaultValue(''),
|
|
16
|
+
onCreate: reactDesc.PropTypes.func.description('').defaultValue(''),
|
|
17
|
+
onClear: reactDesc.PropTypes.func.description('').defaultValue(''),
|
|
18
|
+
onClearAll: reactDesc.PropTypes.func.description('').defaultValue('')
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
exports.propTypes = propTypes;
|
|
22
|
+
//# sourceMappingURL=propTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propTypes.js","sources":["../../../../src/ComboBox/v3/propTypes.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\n\nexport const propTypes = {\n placeholder: PropTypes.string.description('').defaultValue(''),\n options: PropTypes.array.description('').defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).description(''),\n autoFocus: PropTypes.bool.description('').defaultValue('false'),\n hasError: PropTypes.bool.description('').defaultValue('false'),\n onChange: PropTypes.func.description('').defaultValue(''),\n onSelectAll: PropTypes.func.description('').defaultValue(''),\n onFilter: PropTypes.func.description('').defaultValue(''),\n onCreate: PropTypes.func.description('').defaultValue(''),\n onClear: PropTypes.func.description('').defaultValue(''),\n onClearAll: PropTypes.func.description('').defaultValue(''),\n};\n"],"names":["propTypes","placeholder","PropTypes","string","description","defaultValue","options","array","selectedValues","oneOfType","arrayOf","object","autoFocus","bool","hasError","onChange","func","onSelectAll","onFilter","onCreate","onClear","onClearAll"],"mappings":";;;;;;IAEaA,SAAS,GAAG;AACvBC,EAAAA,WAAW,EAAEC,mBAAS,CAACC,MAAV,CAAiBC,WAAjB,CAA6B,EAA7B,EAAiCC,YAAjC,CAA8C,EAA9C,CADU;AAEvBC,EAAAA,OAAO,EAAEJ,mBAAS,CAACK,KAAV,CAAgBH,WAAhB,CAA4B,EAA5B,EAAgCC,YAAhC,CAA6C,EAA7C,CAFc;AAGvBG,EAAAA,cAAc,EAAEN,mBAAS,CAACO,SAAV,CAAoB,CAACP,mBAAS,CAACQ,OAAV,CAAkBR,mBAAS,CAACS,MAA5B,CAAD,EAAsCT,mBAAS,CAACS,MAAhD,CAApB,EAA6EP,WAA7E,CAAyF,EAAzF,CAHO;AAIvBQ,EAAAA,SAAS,EAAEV,mBAAS,CAACW,IAAV,CAAeT,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,OAA5C,CAJY;AAKvBS,EAAAA,QAAQ,EAAEZ,mBAAS,CAACW,IAAV,CAAeT,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,OAA5C,CALa;AAMvBU,EAAAA,QAAQ,EAAEb,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C,CANa;AAOvBY,EAAAA,WAAW,EAAEf,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C,CAPU;AAQvBa,EAAAA,QAAQ,EAAEhB,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C,CARa;AASvBc,EAAAA,QAAQ,EAAEjB,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C,CATa;AAUvBe,EAAAA,OAAO,EAAElB,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C,CAVc;AAWvBgB,EAAAA,UAAU,EAAEnB,mBAAS,CAACc,IAAV,CAAeZ,WAAf,CAA2B,EAA3B,EAA+BC,YAA/B,CAA4C,EAA5C;AAXW;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var basicOptions = [{
|
|
6
|
+
dsId: '1',
|
|
7
|
+
type: 'option',
|
|
8
|
+
value: 'id_1',
|
|
9
|
+
label: 'Luke Skywalker too long this text is super long'
|
|
10
|
+
}, {
|
|
11
|
+
dsId: '2',
|
|
12
|
+
type: 'option',
|
|
13
|
+
value: 'id_2',
|
|
14
|
+
label: 'Obi-Wan Kenobi'
|
|
15
|
+
}, {
|
|
16
|
+
dsId: '3',
|
|
17
|
+
type: 'option',
|
|
18
|
+
value: 'id_3',
|
|
19
|
+
label: 'Padme Amidala'
|
|
20
|
+
}];
|
|
21
|
+
|
|
22
|
+
exports.basicOptions = basicOptions;
|
|
23
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../../../src/ComboBox/v3/tests/utils.tsx"],"sourcesContent":["export const basicOptions = [\n {\n dsId: '1',\n type: 'option',\n value: 'id_1',\n label: 'Luke Skywalker too long this text is super long',\n },\n {\n dsId: '2',\n type: 'option',\n value: 'id_2',\n label: 'Obi-Wan Kenobi',\n },\n {\n dsId: '3',\n type: 'option',\n value: 'id_3',\n label: 'Padme Amidala',\n },\n];\n"],"names":["basicOptions","dsId","type","value","label"],"mappings":";;;;IAAaA,YAAY,GAAG,CAC1B;AACEC,EAAAA,IAAI,EAAE,GADR;AAEEC,EAAAA,IAAI,EAAE,QAFR;AAGEC,EAAAA,KAAK,EAAE,MAHT;AAIEC,EAAAA,KAAK,EAAE;AAJT,CAD0B,EAO1B;AACEH,EAAAA,IAAI,EAAE,GADR;AAEEC,EAAAA,IAAI,EAAE,QAFR;AAGEC,EAAAA,KAAK,EAAE,MAHT;AAIEC,EAAAA,KAAK,EAAE;AAJT,CAP0B,EAa1B;AACEH,EAAAA,IAAI,EAAE,GADR;AAEEC,EAAAA,IAAI,EAAE,QAFR;AAGEC,EAAAA,KAAK,EAAE,MAHT;AAIEC,EAAAA,KAAK,EAAE;AAJT,CAb0B;;;;"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var ComboBox_v3_ComboBoxCTX = require('../../ComboBoxCTX.js');
|
|
7
|
+
var ComboBox_v3_utils_listHelper = require('../listHelper.js');
|
|
8
|
+
|
|
9
|
+
/* eslint-disable max-lines */
|
|
10
|
+
var useKeyboardNavigation = function useKeyboardNavigation() {
|
|
11
|
+
var _useContext = React.useContext(ComboBox_v3_ComboBoxCTX.ComboBoxContext),
|
|
12
|
+
_useContext$props = _useContext.props,
|
|
13
|
+
inline = _useContext$props.inline,
|
|
14
|
+
onChange = _useContext$props.onChange,
|
|
15
|
+
onCreate = _useContext$props.onCreate,
|
|
16
|
+
options = _useContext$props.options,
|
|
17
|
+
selectedValues = _useContext$props.selectedValues,
|
|
18
|
+
onFilter = _useContext$props.onFilter,
|
|
19
|
+
setShowPopover = _useContext.setShowPopover,
|
|
20
|
+
showPopover = _useContext.showPopover,
|
|
21
|
+
setShowSelectedValue = _useContext.setShowSelectedValue,
|
|
22
|
+
focusOptionIdx = _useContext.focusOptionIdx,
|
|
23
|
+
inputRef = _useContext.inputRef,
|
|
24
|
+
setCurrentOption = _useContext.setCurrentOption;
|
|
25
|
+
|
|
26
|
+
var multiple = Array.isArray(selectedValues);
|
|
27
|
+
var selectableOptions = ComboBox_v3_utils_listHelper.getOptions(options);
|
|
28
|
+
var lastOption = selectableOptions.length - 1;
|
|
29
|
+
var focusOption = selectableOptions[focusOptionIdx];
|
|
30
|
+
React.useEffect(function () {
|
|
31
|
+
if (focusOptionIdx >= 0) {
|
|
32
|
+
var _document$querySelect;
|
|
33
|
+
|
|
34
|
+
(_document$querySelect = document.querySelector('.ds-list-item-active')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.scrollIntoView(false);
|
|
35
|
+
}
|
|
36
|
+
}, [focusOptionIdx]);
|
|
37
|
+
var selectOption = React.useCallback(function () {
|
|
38
|
+
if (multiple) {
|
|
39
|
+
onFilter(inputRef.current.value);
|
|
40
|
+
} else {
|
|
41
|
+
onFilter('');
|
|
42
|
+
inputRef.current.value = '';
|
|
43
|
+
setShowSelectedValue(true);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
onChange(focusOption);
|
|
47
|
+
setShowPopover(multiple ? true : !showPopover);
|
|
48
|
+
}, [multiple, setShowPopover, showPopover, focusOption, onFilter, inputRef, setShowSelectedValue, onChange]);
|
|
49
|
+
var onInputKeyDown = React.useCallback(function (e) {
|
|
50
|
+
var targetElement = e.target; // =============================================================================
|
|
51
|
+
// ENTER KEY TO CREATE ELEMENTS
|
|
52
|
+
// =============================================================================
|
|
53
|
+
|
|
54
|
+
if (e.key === 'Enter' && onCreate && !selectableOptions.length) {
|
|
55
|
+
onCreate(targetElement.value);
|
|
56
|
+
onFilter('');
|
|
57
|
+
inputRef.current.value = '';
|
|
58
|
+
return;
|
|
59
|
+
} // =============================================================================
|
|
60
|
+
// ENTER AND SPACE KEY SELECT OPTIONS AND OPEN CLOSE THE POPOVER
|
|
61
|
+
// =============================================================================
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
if (e.keyCode === 32 && targetElement.value === '' || e.key === 'Enter') {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
|
|
67
|
+
if (!showPopover) {
|
|
68
|
+
setShowPopover(true);
|
|
69
|
+
} else {
|
|
70
|
+
selectOption();
|
|
71
|
+
}
|
|
72
|
+
} // =============================================================================
|
|
73
|
+
// CTRL + ENTER + MULTIPLE: SELECT AND CLOSE MENU
|
|
74
|
+
// =============================================================================
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
if (e.key === 'Enter' && e.ctrlKey && multiple) {
|
|
78
|
+
setShowPopover(false);
|
|
79
|
+
} // =============================================================================
|
|
80
|
+
// ARROWS UP AND DOWN
|
|
81
|
+
// =============================================================================
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
if (e.key === 'ArrowDown') {
|
|
85
|
+
if (showPopover || inline) {
|
|
86
|
+
setCurrentOption(function (prevState) {
|
|
87
|
+
return prevState === lastOption ? 0 : focusOptionIdx + 1;
|
|
88
|
+
});
|
|
89
|
+
} else {
|
|
90
|
+
setShowPopover(true);
|
|
91
|
+
setCurrentOption(0);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (e.key === 'ArrowUp') {
|
|
96
|
+
if (showPopover || inline) {
|
|
97
|
+
setCurrentOption(function (prevState) {
|
|
98
|
+
return prevState === 0 ? lastOption : focusOptionIdx - 1;
|
|
99
|
+
});
|
|
100
|
+
} else {
|
|
101
|
+
setShowPopover(true);
|
|
102
|
+
setCurrentOption(lastOption);
|
|
103
|
+
}
|
|
104
|
+
} // =============================================================================
|
|
105
|
+
// ESCAPE
|
|
106
|
+
// =============================================================================
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
if (e.key === 'Escape' && !inline) {
|
|
110
|
+
setCurrentOption(0);
|
|
111
|
+
setShowPopover(false);
|
|
112
|
+
} // =============================================================================
|
|
113
|
+
// BACKSPACE
|
|
114
|
+
// =============================================================================
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
if (e.key === 'Backspace' && targetElement.value.length <= 0 && !inline) {
|
|
118
|
+
if (multiple && !targetElement.value) {
|
|
119
|
+
var multiSelectedValues = selectedValues;
|
|
120
|
+
if (multiSelectedValues.length > 0) onChange(multiSelectedValues[multiSelectedValues.length - 1]);
|
|
121
|
+
} else {
|
|
122
|
+
onChange(null);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
onFilter('');
|
|
126
|
+
setShowSelectedValue(true);
|
|
127
|
+
} // =============================================================================
|
|
128
|
+
// SHIFT + TAB ON SINGLE SELECT: SELECT AND RETURN TO INPUT
|
|
129
|
+
// =============================================================================
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
if (e.key === 'Tab' && e.shiftKey && !multiple && showPopover) {
|
|
133
|
+
selectOption();
|
|
134
|
+
e.preventDefault();
|
|
135
|
+
} // =============================================================================
|
|
136
|
+
// TAB + SINGLE SELECT
|
|
137
|
+
// =============================================================================
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
if (e.key === 'Tab' && showPopover && !multiple) {
|
|
141
|
+
selectOption();
|
|
142
|
+
setShowPopover(false);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
if (e.key === 'Tab' && inline) {
|
|
146
|
+
e.preventDefault();
|
|
147
|
+
}
|
|
148
|
+
}, [focusOptionIdx, selectableOptions, inputRef, lastOption, multiple, showPopover, selectedValues, inline, onChange, onCreate, onFilter, setCurrentOption, setShowPopover, setShowSelectedValue, selectOption]);
|
|
149
|
+
return onInputKeyDown;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
exports.useKeyboardNavigation = useKeyboardNavigation;
|
|
153
|
+
//# sourceMappingURL=useKeyboardNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../../../../../src/ComboBox/v3/utils/hooks/useKeyboardNavigation.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useEffect, useContext } from 'react';\nimport { CBOptionT } from '../../index.d';\nimport ComboBoxContext from '../../ComboBoxCTX';\nimport { getOptions } from '../listHelper';\nexport const useKeyboardNavigation = (): React.KeyboardEventHandler => {\n const {\n props: { inline, onChange, onCreate, options, selectedValues, onFilter },\n setShowPopover,\n showPopover,\n setShowSelectedValue,\n focusOptionIdx,\n inputRef,\n setCurrentOption,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n const selectableOptions = getOptions(options);\n const lastOption = selectableOptions.length - 1;\n const focusOption = selectableOptions[focusOptionIdx];\n\n useEffect(() => {\n if (focusOptionIdx >= 0) {\n document.querySelector('.ds-list-item-active')?.scrollIntoView(false);\n }\n }, [focusOptionIdx]);\n\n const selectOption = useCallback(() => {\n if (multiple) {\n onFilter(inputRef.current.value);\n } else {\n onFilter('');\n inputRef.current.value = '';\n setShowSelectedValue(true);\n }\n onChange(focusOption);\n setShowPopover(multiple ? true : !showPopover);\n }, [multiple, setShowPopover, showPopover, focusOption, onFilter, inputRef, setShowSelectedValue, onChange]);\n\n const onInputKeyDown = useCallback(\n (e) => {\n const targetElement = e.target as HTMLInputElement;\n // =============================================================================\n // ENTER KEY TO CREATE ELEMENTS\n // =============================================================================\n if (e.key === 'Enter' && onCreate && !selectableOptions.length) {\n onCreate(targetElement.value);\n onFilter('');\n inputRef.current.value = '';\n return;\n }\n // =============================================================================\n // ENTER AND SPACE KEY SELECT OPTIONS AND OPEN CLOSE THE POPOVER\n // =============================================================================\n if ((e.keyCode === 32 && targetElement.value === '') || e.key === 'Enter') {\n e.preventDefault();\n if (!showPopover) {\n setShowPopover(true);\n } else {\n selectOption();\n }\n }\n\n // =============================================================================\n // CTRL + ENTER + MULTIPLE: SELECT AND CLOSE MENU\n // =============================================================================\n if (e.key === 'Enter' && e.ctrlKey && multiple) {\n setShowPopover(false);\n }\n // =============================================================================\n // ARROWS UP AND DOWN\n // =============================================================================\n if (e.key === 'ArrowDown') {\n if (showPopover || inline) {\n setCurrentOption((prevState) => (prevState === lastOption ? 0 : focusOptionIdx + 1));\n } else {\n setShowPopover(true);\n setCurrentOption(0);\n }\n }\n if (e.key === 'ArrowUp') {\n if (showPopover || inline) {\n setCurrentOption((prevState) => (prevState === 0 ? lastOption : focusOptionIdx - 1));\n } else {\n setShowPopover(true);\n setCurrentOption(lastOption);\n }\n }\n // =============================================================================\n // ESCAPE\n // =============================================================================\n if (e.key === 'Escape' && !inline) {\n setCurrentOption(0);\n setShowPopover(false);\n }\n // =============================================================================\n // BACKSPACE\n // =============================================================================\n if (e.key === 'Backspace' && targetElement.value.length <= 0 && !inline) {\n if (multiple && !targetElement.value) {\n const multiSelectedValues = selectedValues as CBOptionT[];\n if (multiSelectedValues.length > 0) onChange(multiSelectedValues[multiSelectedValues.length - 1]);\n } else {\n onChange(null);\n }\n onFilter('');\n setShowSelectedValue(true);\n }\n // =============================================================================\n // SHIFT + TAB ON SINGLE SELECT: SELECT AND RETURN TO INPUT\n // =============================================================================\n if (e.key === 'Tab' && e.shiftKey && !multiple && showPopover) {\n selectOption();\n e.preventDefault();\n }\n // =============================================================================\n // TAB + SINGLE SELECT\n // =============================================================================\n if (e.key === 'Tab' && showPopover && !multiple) {\n selectOption();\n setShowPopover(false);\n }\n\n if (e.key === 'Tab' && inline) {\n e.preventDefault();\n }\n },\n [\n focusOptionIdx,\n selectableOptions,\n inputRef,\n lastOption,\n multiple,\n showPopover,\n selectedValues,\n inline,\n onChange,\n onCreate,\n onFilter,\n setCurrentOption,\n setShowPopover,\n setShowSelectedValue,\n selectOption,\n ],\n );\n\n return onInputKeyDown;\n};\n"],"names":["useKeyboardNavigation","useContext","ComboBoxContext","props","inline","onChange","onCreate","options","selectedValues","onFilter","setShowPopover","showPopover","setShowSelectedValue","focusOptionIdx","inputRef","setCurrentOption","multiple","Array","isArray","selectableOptions","getOptions","lastOption","length","focusOption","useEffect","document","querySelector","scrollIntoView","selectOption","useCallback","current","value","onInputKeyDown","e","targetElement","target","key","keyCode","preventDefault","ctrlKey","prevState","multiSelectedValues","shiftKey"],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
11
|
+
|
|
12
|
+
// Taken and modified from https://stackoverflow.com/a/60218754
|
|
13
|
+
|
|
14
|
+
var useOnElementResize = function useOnElementResize(targetRef) {
|
|
15
|
+
var _targetRef$current, _targetRef$current2;
|
|
16
|
+
|
|
17
|
+
var _useState = React.useState(targetRef.current ? (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.offsetWidth : 0),
|
|
18
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
19
|
+
width = _useState2[0],
|
|
20
|
+
setWidth = _useState2[1];
|
|
21
|
+
|
|
22
|
+
var _useState3 = React.useState(targetRef.current ? (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.offsetWidth : 0),
|
|
23
|
+
_useState4 = _slicedToArray__default['default'](_useState3, 2),
|
|
24
|
+
height = _useState4[0],
|
|
25
|
+
setHeight = _useState4[1];
|
|
26
|
+
|
|
27
|
+
var observer = React.useRef(null);
|
|
28
|
+
React.useEffect(function () {
|
|
29
|
+
function outputsize() {
|
|
30
|
+
var _targetRef$current3, _targetRef$current4;
|
|
31
|
+
|
|
32
|
+
setWidth((_targetRef$current3 = targetRef.current) === null || _targetRef$current3 === void 0 ? void 0 : _targetRef$current3.offsetWidth);
|
|
33
|
+
setHeight((_targetRef$current4 = targetRef.current) === null || _targetRef$current4 === void 0 ? void 0 : _targetRef$current4.offsetHeight);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
observer.current = new ResizeObserver(outputsize).observe(targetRef.current);
|
|
37
|
+
return function () {
|
|
38
|
+
var _observer$current;
|
|
39
|
+
|
|
40
|
+
(_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
|
|
41
|
+
};
|
|
42
|
+
}, [targetRef]);
|
|
43
|
+
return React.useMemo(function () {
|
|
44
|
+
return {
|
|
45
|
+
width: width,
|
|
46
|
+
height: height
|
|
47
|
+
};
|
|
48
|
+
}, [width, height]);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
exports.useOnElementResize = useOnElementResize;
|
|
52
|
+
//# sourceMappingURL=useOnElementResize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnElementResize.js","sources":["../../../../../../src/ComboBox/v3/utils/hooks/useOnElementResize.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// Custom hook to track dimension of a component\n// Taken and modified from https://stackoverflow.com/a/60218754\nconst useOnElementResize = (targetRef: React.RefObject<HTMLDivElement>): Record<'width' | 'height', number> => {\n const [width, setWidth] = useState(targetRef.current ? targetRef.current?.offsetWidth : 0);\n const [height, setHeight] = useState(targetRef.current ? targetRef.current?.offsetWidth : 0);\n const observer = useRef(null);\n\n useEffect(() => {\n function outputsize() {\n setWidth(targetRef.current?.offsetWidth);\n setHeight(targetRef.current?.offsetHeight);\n }\n\n observer.current = new ResizeObserver(outputsize).observe(targetRef.current);\n\n return () => {\n observer.current?.disconnect();\n };\n }, [targetRef]);\n\n return useMemo(\n () => ({\n width,\n height,\n }),\n [width, height],\n );\n};\n\nexport { useOnElementResize };\n"],"names":["useOnElementResize","targetRef","useState","current","offsetWidth","width","setWidth","height","setHeight","observer","useRef","useEffect","outputsize","offsetHeight","ResizeObserver","observe","disconnect","useMemo"],"mappings":";;;;;;;;;;;AAGA;;IACMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,SAAD,EAAoF;AAAA;;AAC7G,kBAA0BC,cAAQ,CAACD,SAAS,CAACE,OAAV,yBAAoBF,SAAS,CAACE,OAA9B,uDAAoB,mBAAmBC,WAAvC,GAAqD,CAAtD,CAAlC;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,mBAA4BJ,cAAQ,CAACD,SAAS,CAACE,OAAV,0BAAoBF,SAAS,CAACE,OAA9B,wDAAoB,oBAAmBC,WAAvC,GAAqD,CAAtD,CAApC;AAAA;AAAA,MAAOG,MAAP;AAAA,MAAeC,SAAf;;AACA,MAAMC,QAAQ,GAAGC,YAAM,CAAC,IAAD,CAAvB;AAEAC,EAAAA,eAAS,CAAC,YAAM;AACd,aAASC,UAAT,GAAsB;AAAA;;AACpBN,MAAAA,QAAQ,wBAACL,SAAS,CAACE,OAAX,wDAAC,oBAAmBC,WAApB,CAAR;AACAI,MAAAA,SAAS,wBAACP,SAAS,CAACE,OAAX,wDAAC,oBAAmBU,YAApB,CAAT;AACD;;AAEDJ,IAAAA,QAAQ,CAACN,OAAT,GAAmB,IAAIW,cAAJ,CAAmBF,UAAnB,EAA+BG,OAA/B,CAAuCd,SAAS,CAACE,OAAjD,CAAnB;AAEA,WAAO,YAAM;AAAA;;AACX,2BAAAM,QAAQ,CAACN,OAAT,wEAAkBa,UAAlB;AACD,KAFD;AAGD,GAXQ,EAWN,CAACf,SAAD,CAXM,CAAT;AAaA,SAAOgB,aAAO,CACZ;AAAA,WAAO;AACLZ,MAAAA,KAAK,EAALA,KADK;AAELE,MAAAA,MAAM,EAANA;AAFK,KAAP;AAAA,GADY,EAKZ,CAACF,KAAD,EAAQE,MAAR,CALY,CAAd;AAOD;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
11
|
+
|
|
12
|
+
// Taken and modified from https://stackoverflow.com/a/60218754
|
|
13
|
+
|
|
14
|
+
var useDimensions = function useDimensions(targetRef) {
|
|
15
|
+
var queryDimension = React.useCallback(function (dimension) {
|
|
16
|
+
return targetRef.current ? targetRef.current[dimension] : 0;
|
|
17
|
+
}, []);
|
|
18
|
+
|
|
19
|
+
var _useState = React.useState(targetRef.current ? targetRef.current.offsetWidth : 0),
|
|
20
|
+
_useState2 = _slicedToArray__default['default'](_useState, 2),
|
|
21
|
+
width = _useState2[0],
|
|
22
|
+
setWidth = _useState2[1];
|
|
23
|
+
|
|
24
|
+
var _useState3 = React.useState(targetRef.current ? targetRef.current.offsetWidth : 0),
|
|
25
|
+
_useState4 = _slicedToArray__default['default'](_useState3, 2),
|
|
26
|
+
height = _useState4[0],
|
|
27
|
+
setHeight = _useState4[1];
|
|
28
|
+
|
|
29
|
+
var handleResize = React.useCallback(function () {
|
|
30
|
+
setWidth(queryDimension('offsetWidth'));
|
|
31
|
+
setHeight(queryDimension('offsetHeight'));
|
|
32
|
+
}, []);
|
|
33
|
+
React.useEffect(function () {
|
|
34
|
+
window.addEventListener('resize', handleResize);
|
|
35
|
+
return function () {
|
|
36
|
+
return window.removeEventListener('resize', handleResize);
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
React.useLayoutEffect(function () {
|
|
40
|
+
handleResize();
|
|
41
|
+
}, []);
|
|
42
|
+
return React.useMemo(function () {
|
|
43
|
+
return {
|
|
44
|
+
width: width,
|
|
45
|
+
height: height
|
|
46
|
+
};
|
|
47
|
+
}, [width, height]);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
exports.useDimensions = useDimensions;
|
|
51
|
+
//# sourceMappingURL=useOnWindowResize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnWindowResize.js","sources":["../../../../../../src/ComboBox/v3/utils/hooks/useOnWindowResize.tsx"],"sourcesContent":["import { useLayoutEffect, useState, useCallback, useEffect, useMemo } from 'react';\n\n// Custom hook to track dimension of a component\n// Taken and modified from https://stackoverflow.com/a/60218754\nconst useDimensions = (targetRef) => {\n const queryDimension = useCallback((dimension) => (targetRef.current ? targetRef.current[dimension] : 0), []);\n\n const [width, setWidth] = useState(targetRef.current ? targetRef.current.offsetWidth : 0);\n const [height, setHeight] = useState(targetRef.current ? targetRef.current.offsetWidth : 0);\n\n const handleResize = useCallback(() => {\n setWidth(queryDimension('offsetWidth'));\n setHeight(queryDimension('offsetHeight'));\n }, []);\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n useLayoutEffect(() => {\n handleResize();\n }, []);\n\n return useMemo(\n () => ({\n width,\n height,\n }),\n [width, height],\n );\n};\n\nexport { useDimensions };\n"],"names":["useDimensions","targetRef","queryDimension","useCallback","dimension","current","useState","offsetWidth","width","setWidth","height","setHeight","handleResize","useEffect","window","addEventListener","removeEventListener","useLayoutEffect","useMemo"],"mappings":";;;;;;;;;;;AAGA;;IACMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,SAAD,EAAe;AACnC,MAAMC,cAAc,GAAGC,iBAAW,CAAC,UAACC,SAAD;AAAA,WAAgBH,SAAS,CAACI,OAAV,GAAoBJ,SAAS,CAACI,OAAV,CAAkBD,SAAlB,CAApB,GAAmD,CAAnE;AAAA,GAAD,EAAwE,EAAxE,CAAlC;;AAEA,kBAA0BE,cAAQ,CAACL,SAAS,CAACI,OAAV,GAAoBJ,SAAS,CAACI,OAAV,CAAkBE,WAAtC,GAAoD,CAArD,CAAlC;AAAA;AAAA,MAAOC,KAAP;AAAA,MAAcC,QAAd;;AACA,mBAA4BH,cAAQ,CAACL,SAAS,CAACI,OAAV,GAAoBJ,SAAS,CAACI,OAAV,CAAkBE,WAAtC,GAAoD,CAArD,CAApC;AAAA;AAAA,MAAOG,MAAP;AAAA,MAAeC,SAAf;;AAEA,MAAMC,YAAY,GAAGT,iBAAW,CAAC,YAAM;AACrCM,IAAAA,QAAQ,CAACP,cAAc,CAAC,aAAD,CAAf,CAAR;AACAS,IAAAA,SAAS,CAACT,cAAc,CAAC,cAAD,CAAf,CAAT;AACD,GAH+B,EAG7B,EAH6B,CAAhC;AAKAW,EAAAA,eAAS,CAAC,YAAM;AACdC,IAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkCH,YAAlC;AACA,WAAO;AAAA,aAAME,MAAM,CAACE,mBAAP,CAA2B,QAA3B,EAAqCJ,YAArC,CAAN;AAAA,KAAP;AACD,GAHQ,EAGN,EAHM,CAAT;AAKAK,EAAAA,qBAAe,CAAC,YAAM;AACpBL,IAAAA,YAAY;AACb,GAFc,EAEZ,EAFY,CAAf;AAIA,SAAOM,aAAO,CACZ;AAAA,WAAO;AACLV,MAAAA,KAAK,EAALA,KADK;AAELE,MAAAA,MAAM,EAANA;AAFK,KAAP;AAAA,GADY,EAKZ,CAACF,KAAD,EAAQE,MAAR,CALY,CAAd;AAOD;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var getSelectableOptions = function getSelectableOptions(options) {
|
|
6
|
+
return options ? options.filter(function (option) {
|
|
7
|
+
return option.type === 'option' && !option.disabled;
|
|
8
|
+
}) : [];
|
|
9
|
+
};
|
|
10
|
+
var getOptions = function getOptions(options) {
|
|
11
|
+
return options ? options.filter(function (option) {
|
|
12
|
+
return option.type === 'option';
|
|
13
|
+
}) : [];
|
|
14
|
+
};
|
|
15
|
+
var isSelectedValueEmpty = function isSelectedValueEmpty(value) {
|
|
16
|
+
return Array.isArray(value) ? value.length === 0 : !value;
|
|
17
|
+
};
|
|
18
|
+
var isSelectedValueMultiple = function isSelectedValueMultiple(value) {
|
|
19
|
+
return Array.isArray(value);
|
|
20
|
+
};
|
|
21
|
+
var isSelected = function isSelected(value, activeOption) {
|
|
22
|
+
if (isSelectedValueMultiple(value)) {
|
|
23
|
+
var multiValue = value;
|
|
24
|
+
return multiValue.some(function (item) {
|
|
25
|
+
return (item === null || item === void 0 ? void 0 : item.value) === (activeOption === null || activeOption === void 0 ? void 0 : activeOption.value);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var singleValue = value;
|
|
30
|
+
return (singleValue === null || singleValue === void 0 ? void 0 : singleValue.value) === activeOption.value;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.getOptions = getOptions;
|
|
34
|
+
exports.getSelectableOptions = getSelectableOptions;
|
|
35
|
+
exports.isSelected = isSelected;
|
|
36
|
+
exports.isSelectedValueEmpty = isSelectedValueEmpty;
|
|
37
|
+
exports.isSelectedValueMultiple = isSelectedValueMultiple;
|
|
38
|
+
//# sourceMappingURL=listHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listHelper.js","sources":["../../../../../src/ComboBox/v3/utils/listHelper.tsx"],"sourcesContent":["import { CBOptionsT, CBOptionT } from '../index.d';\n\nexport const getSelectableOptions = (options: Array<CBOptionT>): Array<CBOptionT> =>\n options ? options.filter((option) => option.type === 'option' && !option.disabled) : [];\n\nexport const getOptions = (options: Array<CBOptionT>): Array<CBOptionT> =>\n options ? options.filter((option) => option.type === 'option') : [];\n\nexport const isSelectedValueEmpty = (value: CBOptionT | Array<CBOptionT>): boolean =>\n Array.isArray(value) ? value.length === 0 : !value;\n\nexport const isSelectedValueMultiple = (value: CBOptionT | Array<CBOptionT>): boolean => Array.isArray(value);\n\nexport const isSelected = (value: CBOptionsT, activeOption: CBOptionT): boolean => {\n if (isSelectedValueMultiple(value)) {\n const multiValue = value as CBOptionT[];\n return multiValue.some((item) => item?.value === activeOption?.value);\n }\n const singleValue = value as CBOptionT;\n return singleValue?.value === activeOption.value;\n};\n"],"names":["getSelectableOptions","options","filter","option","type","disabled","getOptions","isSelectedValueEmpty","value","Array","isArray","length","isSelectedValueMultiple","isSelected","activeOption","multiValue","some","item","singleValue"],"mappings":";;;;IAEaA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAAA,SAClCA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAACC,MAAD;AAAA,WAAYA,MAAM,CAACC,IAAP,KAAgB,QAAhB,IAA4B,CAACD,MAAM,CAACE,QAAhD;AAAA,GAAf,CAAH,GAA8E,EADnD;AAAA;IAGvBC,UAAU,GAAG,SAAbA,UAAa,CAACL,OAAD;AAAA,SACxBA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAACC,MAAD;AAAA,WAAYA,MAAM,CAACC,IAAP,KAAgB,QAA5B;AAAA,GAAf,CAAH,GAA0D,EADzC;AAAA;IAGbG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD;AAAA,SAClCC,KAAK,CAACC,OAAN,CAAcF,KAAd,IAAuBA,KAAK,CAACG,MAAN,KAAiB,CAAxC,GAA4C,CAACH,KADX;AAAA;IAGvBI,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACJ,KAAD;AAAA,SAAkDC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAlD;AAAA;IAE1BK,UAAU,GAAG,SAAbA,UAAa,CAACL,KAAD,EAAoBM,YAApB,EAAyD;AACjF,MAAIF,uBAAuB,CAACJ,KAAD,CAA3B,EAAoC;AAClC,QAAMO,UAAU,GAAGP,KAAnB;AACA,WAAOO,UAAU,CAACC,IAAX,CAAgB,UAACC,IAAD;AAAA,aAAU,CAAAA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAET,KAAN,OAAgBM,YAAhB,aAAgBA,YAAhB,uBAAgBA,YAAY,CAAEN,KAA9B,CAAV;AAAA,KAAhB,CAAP;AACD;;AACD,MAAMU,WAAW,GAAGV,KAApB;AACA,SAAO,CAAAU,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEV,KAAb,MAAuBM,YAAY,CAACN,KAA3C;AACD;;;;;;;;"}
|