@elliemae/ds-form 2.0.0-alpha.1 → 2.0.0-alpha.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/cjs/Checkbox/DSCheckbox.js +20 -17
- package/cjs/Checkbox/elements/CheckMark.js +1 -1
- package/cjs/Checkbox/index.js +2 -4
- package/cjs/CheckboxGroup/DSCheckboxGroup.js +28 -20
- package/cjs/CheckboxGroup/index.js +1 -1
- package/cjs/ComboBox/DSComboBox.js +3 -7
- package/cjs/ComboBox/index.js +6 -7
- package/cjs/ComboBox/v1/DSComboBox.js +49 -47
- package/cjs/ComboBox/v1/components/AllOption.js +8 -3
- package/cjs/ComboBox/v1/components/ClearIndicator.js +3 -4
- package/cjs/ComboBox/v1/components/Control.js +15 -7
- package/cjs/ComboBox/v1/components/CustomOption.js +16 -10
- package/cjs/ComboBox/v1/components/CustomOptionMulti.js +17 -11
- package/cjs/ComboBox/v1/components/DropdownIndicator.js +10 -6
- package/cjs/ComboBox/v1/components/MenuList.js +10 -4
- package/cjs/ComboBox/v1/components/MultiSelectHeader.js +5 -2
- package/cjs/ComboBox/v1/components/MultiValueLabel.js +5 -4
- package/cjs/ComboBox/v1/components/MultiValueRemove.js +6 -1
- package/cjs/ComboBox/v1/components/SelectMenu.js +30 -22
- package/cjs/ComboBox/v1/components/SingleValueLabel.js +5 -4
- package/cjs/ComboBox/v1/components/ValueContainer.js +9 -4
- package/cjs/ComboBox/v1/components/calculateWidth.js +4 -0
- package/cjs/ComboBox/v1/components/getoptions.js +11 -6
- package/cjs/ComboBox/v1/index.js +3 -7
- package/cjs/ComboBox/v1/withSelectStringValueConverter.js +29 -17
- package/cjs/ComboBox/v2/Combobox.js +23 -17
- package/cjs/ComboBox/v2/components/AllOption.js +8 -3
- package/cjs/ComboBox/v2/components/ClearIndicator.js +10 -6
- package/cjs/ComboBox/v2/components/Content.js +8 -3
- package/cjs/ComboBox/v2/components/Control.js +15 -7
- package/cjs/ComboBox/v2/components/CustomOption.js +18 -12
- package/cjs/ComboBox/v2/components/CustomOptionMulti.js +23 -15
- package/cjs/ComboBox/v2/components/DropdownIndicator.js +12 -7
- package/cjs/ComboBox/v2/components/GroupHeading.js +9 -4
- package/cjs/ComboBox/v2/components/IndicatorSeparator.js +13 -5
- package/cjs/ComboBox/v2/components/LoadingIndicator.js +3 -3
- package/cjs/ComboBox/v2/components/MenuList.js +11 -5
- package/cjs/ComboBox/v2/components/MultiSelectHeader.js +15 -12
- package/cjs/ComboBox/v2/components/MultiValueLabel.js +5 -4
- package/cjs/ComboBox/v2/components/MultiValueRemove.js +7 -2
- package/cjs/ComboBox/v2/components/SelectMenu.js +9 -4
- package/cjs/ComboBox/v2/components/SingleValueLabel.js +5 -4
- package/cjs/ComboBox/v2/components/ValueContainer.js +11 -5
- package/cjs/ComboBox/v2/components/calculateWidth.js +4 -0
- package/cjs/ComboBox/v2/components/getoptions.js +11 -6
- package/cjs/ComboBox/v2/components/useMenuListHeight.js +5 -0
- package/cjs/ComboBox/v2/context.js +1 -1
- package/cjs/ComboBox/v2/index.js +1 -1
- package/cjs/ComboBox/v3/ComboBox.js +33 -0
- package/cjs/ComboBox/v3/ComboBoxCTX.js +55 -0
- package/cjs/ComboBox/v3/ComboboxDataTestids.js +17 -0
- package/cjs/ComboBox/v3/config/constants.js +14 -0
- package/cjs/ComboBox/v3/config/useComboBox.js +122 -0
- package/cjs/ComboBox/v3/config/useGetPropsWithDefault.js +11 -0
- package/cjs/ComboBox/v3/index.d.js +2 -0
- package/cjs/ComboBox/v3/index.js +10 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js +33 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js +28 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/index.js +11 -0
- package/cjs/ComboBox/v3/parts/a11y-messages/styled.js +15 -0
- package/cjs/ComboBox/v3/parts/container/Container.js +67 -0
- package/cjs/ComboBox/v3/parts/container/index.js +9 -0
- package/cjs/ComboBox/v3/parts/container/styled.js +23 -0
- package/cjs/ComboBox/v3/parts/controls/Controls.js +71 -0
- package/cjs/ComboBox/v3/parts/controls/index.js +9 -0
- package/cjs/ComboBox/v3/parts/controls/styled.js +65 -0
- package/cjs/ComboBox/v3/parts/controls-input/ControlsInput.js +67 -0
- package/cjs/ComboBox/v3/parts/controls-input/styled.js +27 -0
- package/cjs/ComboBox/v3/parts/controls-input/useControlsInput.js +77 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +33 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/index.js +2 -0
- package/cjs/ComboBox/v3/parts/dropdown-indicator/styled.js +17 -0
- package/cjs/ComboBox/v3/parts/empty-state/index.js +27 -0
- package/cjs/ComboBox/v3/parts/empty-state/styled.js +19 -0
- package/cjs/ComboBox/v3/parts/header-list/HeaderList.js +113 -0
- package/cjs/ComboBox/v3/parts/header-list/index.js +9 -0
- package/cjs/ComboBox/v3/parts/header-list/styled.js +58 -0
- package/cjs/ComboBox/v3/parts/header-list/useHeaderListHandlers.js +73 -0
- package/cjs/ComboBox/v3/parts/menu-list/MenuList.js +81 -0
- package/cjs/ComboBox/v3/parts/menu-list/index.js +9 -0
- package/cjs/ComboBox/v3/parts/menu-list/styled.js +33 -0
- package/cjs/ComboBox/v3/parts/menu-list/useItemRenderer.js +105 -0
- package/cjs/ComboBox/v3/parts/menu-list/useMenuList.js +61 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +63 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/index.js +9 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/styled.js +23 -0
- package/cjs/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +71 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js +28 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/index.js +9 -0
- package/cjs/ComboBox/v3/parts/single-selected-value-container/styled.js +15 -0
- package/cjs/ComboBox/v3/propTypes.js +25 -0
- package/cjs/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +152 -0
- package/cjs/ComboBox/v3/utils/hooks/useOnElementResize.js +37 -0
- package/cjs/ComboBox/v3/utils/listHelper.js +39 -0
- package/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +25 -18
- package/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js +24 -18
- package/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +9 -5
- package/cjs/ComboBoxFreeSolo/components/SingleValue.js +7 -2
- package/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +9 -5
- package/cjs/DateInput/DSDateInput.js +37 -30
- package/cjs/DateInput/components/DateInputImpl.js +25 -19
- package/cjs/DateInput/components/DateInputs.js +61 -48
- package/cjs/DateInput/components/utils.js +32 -19
- package/cjs/DateInput/index.js +1 -1
- package/cjs/DateInputV2/components/DSDateInput.js +39 -33
- package/cjs/DateInputV2/components/DateInputs.js +33 -24
- package/cjs/DateInputV2/components/propsTypes.js +17 -17
- package/cjs/DateInputV2/components/styled.js +24 -21
- package/cjs/DateInputV2/components/utils.js +37 -24
- package/cjs/DateInputV2/index.js +1 -1
- package/cjs/ExpandableInput/DSExpandableInput.js +27 -24
- package/cjs/ExpandableInput/ExpandableInputImpl.js +24 -13
- package/cjs/FloatingLabelInput/DSFloatingLabelInput.js +121 -118
- package/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +36 -31
- package/cjs/FloatingLabelInput/getSvgPath.js +12 -9
- package/cjs/FormItem/DSFormItemLayout.js +38 -31
- package/cjs/FormItem/Error/DSError.js +7 -6
- package/cjs/FormItem/Feedback.js +6 -5
- package/cjs/FormItem/Label/DSLabel.js +14 -13
- package/cjs/FormItem/Suffix/Suffix.js +6 -10
- package/cjs/FormItem/ValidationFieldWrapper.js +10 -4
- package/cjs/FormItem/defaultProps.js +1 -1
- package/cjs/FormItem/index.js +2 -2
- package/cjs/Input/DSInput.js +10 -4
- package/cjs/Input/InputAddonWrapper.js +30 -18
- package/cjs/Input/InputImpl.js +93 -83
- package/cjs/Input/index.js +1 -1
- package/cjs/InputGroup/AddonWrapper.js +15 -11
- package/cjs/InputGroup/DSInputGroup.js +21 -18
- package/cjs/InputGroup/index.js +1 -1
- package/cjs/InputMask/DSInputMask.js +9 -3
- package/cjs/InputMask/DSInputMaskDeprecated.js +40 -28
- package/cjs/InputMask/InputMaskContext.js +1 -1
- package/cjs/InputMask/MaskTypes.js +6 -1
- package/cjs/InputMask/addons/AutoCorrectedDatePipe.js +11 -4
- package/cjs/InputMask/index.js +1 -1
- package/cjs/InputMask/mask_types/DateInputMask.js +25 -14
- package/cjs/InputMask/mask_types/DateTimeInputMask.js +25 -14
- package/cjs/InputMask/mask_types/DictionaryInputMask.js +16 -9
- package/cjs/InputMask/mask_types/NumberInputMask.js +35 -27
- package/cjs/InputMask/mask_types/PhoneInputMask.js +25 -14
- package/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +25 -14
- package/cjs/InputMask/mask_types/SsnInputMask.js +25 -14
- package/cjs/InputMask/mask_types/UsZipCodeInputMask.js +16 -9
- package/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +25 -14
- package/cjs/InputMask/mask_types/index.js +9 -4
- package/cjs/InputMask/props.js +1 -2
- package/cjs/InputProtected/DSInputProtected.js +23 -25
- package/cjs/InputProtected/index.js +3 -2
- package/cjs/InputProtected/props.js +1 -2
- package/cjs/LargeInputText/DSLargeInputText.js +51 -42
- package/cjs/LargeInputText/index.js +1 -1
- package/cjs/MenuItem/components/MenuItem/index.js +55 -0
- package/cjs/MenuItem/components/MenuItem/styled.js +15 -0
- package/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js +71 -0
- package/cjs/MenuItem/components/MultiMenuItem/styled.js +15 -0
- package/cjs/MenuItem/components/Section/index.js +38 -0
- package/cjs/MenuItem/components/Section/props.js +16 -0
- package/cjs/MenuItem/components/Section/styled.js +20 -0
- package/cjs/MenuItem/components/Separator/index.js +29 -0
- package/cjs/MenuItem/components/Separator/styled.js +20 -0
- package/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js +70 -0
- package/cjs/MenuItem/components/SubmenuItem/index.js +142 -0
- package/cjs/MenuItem/components/SubmenuItem/styled.js +20 -0
- package/cjs/MenuItem/components/index.js +22 -0
- package/cjs/MenuItem/components/styled.js +45 -0
- package/cjs/MenuItem/index.js +22 -0
- package/cjs/MenuItem/props.js +28 -0
- package/cjs/Radio/Circle.js +7 -6
- package/cjs/Radio/DSRadio.js +14 -9
- package/cjs/Radio/index.js +1 -1
- package/cjs/RadioGroup/DSRadioGroup.js +29 -21
- package/cjs/RadioGroup/index.js +1 -1
- package/cjs/RequiredMark/RequiredMark.js +9 -8
- package/cjs/SearchBox/DSSearchBox.js +34 -33
- package/cjs/SearchBox/NavSearchBox.js +26 -30
- package/cjs/SearchBox/SButton.js +15 -12
- package/cjs/SearchBox/SearchBoxToggle.js +17 -20
- package/cjs/SearchBox/index.js +1 -1
- package/cjs/SearchBox/styled.js +1 -1
- package/cjs/SearchBox/useSearch.js +13 -7
- package/cjs/SearchBox/withSearchable.js +21 -15
- package/cjs/TextBox/DSTextBox.js +16 -8
- package/cjs/TextBox/index.js +1 -1
- package/cjs/TimeInput/DSTimeInput.js +48 -40
- package/cjs/TimeInput/TimeInputImpl.js +20 -14
- package/cjs/TimeInput/TimeInputs.js +54 -36
- package/cjs/TimeInput/index.js +1 -1
- package/cjs/TimeInput/utils.js +13 -11
- package/cjs/Toggle/DSToggle.js +8 -3
- package/cjs/Toggle/DSToggleImpl.js +37 -32
- package/cjs/Toggle/DSToggleRender.js +46 -41
- package/cjs/Toggle/index.js +1 -1
- package/cjs/Toggle/props.js +11 -11
- package/cjs/Toggle/toggleHelper.js +21 -18
- package/cjs/index.js +72 -30
- package/esm/Checkbox/DSCheckbox.js +11 -6
- package/esm/CheckboxGroup/DSCheckboxGroup.js +21 -13
- package/esm/ComboBox/index.js +1 -0
- package/esm/ComboBox/v1/DSComboBox.js +34 -28
- package/esm/ComboBox/v1/components/AllOption.js +5 -0
- package/esm/ComboBox/v1/components/ClearIndicator.js +1 -1
- package/esm/ComboBox/v1/components/Control.js +14 -6
- package/esm/ComboBox/v1/components/CustomOption.js +12 -6
- package/esm/ComboBox/v1/components/CustomOptionMulti.js +12 -6
- package/esm/ComboBox/v1/components/DropdownIndicator.js +6 -1
- package/esm/ComboBox/v1/components/MenuList.js +7 -1
- package/esm/ComboBox/v1/components/MultiSelectHeader.js +4 -1
- package/esm/ComboBox/v1/components/MultiValueLabel.js +4 -3
- package/esm/ComboBox/v1/components/MultiValueRemove.js +5 -0
- package/esm/ComboBox/v1/components/SelectMenu.js +26 -18
- package/esm/ComboBox/v1/components/SingleValueLabel.js +4 -3
- package/esm/ComboBox/v1/components/ValueContainer.js +5 -0
- package/esm/ComboBox/v1/components/calculateWidth.js +4 -0
- package/esm/ComboBox/v1/components/getoptions.js +11 -6
- package/esm/ComboBox/v1/withSelectStringValueConverter.js +28 -16
- package/esm/ComboBox/v2/Combobox.js +14 -6
- package/esm/ComboBox/v2/components/AllOption.js +5 -0
- package/esm/ComboBox/v2/components/ClearIndicator.js +6 -1
- package/esm/ComboBox/v2/components/Content.js +5 -0
- package/esm/ComboBox/v2/components/Control.js +14 -6
- package/esm/ComboBox/v2/components/CustomOption.js +12 -6
- package/esm/ComboBox/v2/components/CustomOptionMulti.js +14 -6
- package/esm/ComboBox/v2/components/DropdownIndicator.js +8 -2
- package/esm/ComboBox/v2/components/GroupHeading.js +5 -0
- package/esm/ComboBox/v2/components/IndicatorSeparator.js +11 -3
- package/esm/ComboBox/v2/components/MenuList.js +7 -1
- package/esm/ComboBox/v2/components/MultiSelectHeader.js +4 -1
- package/esm/ComboBox/v2/components/MultiValueLabel.js +4 -3
- package/esm/ComboBox/v2/components/MultiValueRemove.js +5 -0
- package/esm/ComboBox/v2/components/SelectMenu.js +5 -0
- package/esm/ComboBox/v2/components/SingleValueLabel.js +4 -3
- package/esm/ComboBox/v2/components/ValueContainer.js +7 -1
- package/esm/ComboBox/v2/components/calculateWidth.js +4 -0
- package/esm/ComboBox/v2/components/getoptions.js +11 -6
- package/esm/ComboBox/v2/components/useMenuListHeight.js +5 -0
- package/esm/ComboBox/v3/ComboBox.js +24 -0
- package/esm/ComboBox/v3/ComboBoxCTX.js +49 -0
- package/esm/ComboBox/v3/ComboboxDataTestids.js +13 -0
- package/esm/ComboBox/v3/config/constants.js +10 -0
- package/esm/ComboBox/v3/config/useComboBox.js +114 -0
- package/esm/ComboBox/v3/config/useGetPropsWithDefault.js +7 -0
- package/esm/ComboBox/v3/index.d.js +1 -0
- package/esm/ComboBox/v3/index.js +1 -0
- package/esm/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.js +25 -0
- package/esm/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.js +20 -0
- package/esm/ComboBox/v3/parts/a11y-messages/index.js +2 -0
- package/esm/ComboBox/v3/parts/a11y-messages/styled.js +7 -0
- package/esm/ComboBox/v3/parts/container/Container.js +59 -0
- package/esm/ComboBox/v3/parts/container/index.js +1 -0
- package/esm/ComboBox/v3/parts/container/styled.js +13 -0
- package/esm/ComboBox/v3/parts/controls/Controls.js +63 -0
- package/esm/ComboBox/v3/parts/controls/index.js +1 -0
- package/esm/ComboBox/v3/parts/controls/styled.js +52 -0
- package/esm/ComboBox/v3/parts/controls-input/ControlsInput.js +59 -0
- package/esm/ComboBox/v3/parts/controls-input/styled.js +16 -0
- package/esm/ComboBox/v3/parts/controls-input/useControlsInput.js +73 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.js +26 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/index.js +1 -0
- package/esm/ComboBox/v3/parts/dropdown-indicator/styled.js +8 -0
- package/esm/ComboBox/v3/parts/empty-state/index.js +19 -0
- package/esm/ComboBox/v3/parts/empty-state/styled.js +10 -0
- package/esm/ComboBox/v3/parts/header-list/HeaderList.js +105 -0
- package/esm/ComboBox/v3/parts/header-list/index.js +1 -0
- package/esm/ComboBox/v3/parts/header-list/styled.js +41 -0
- package/esm/ComboBox/v3/parts/header-list/useHeaderListHandlers.js +69 -0
- package/esm/ComboBox/v3/parts/menu-list/MenuList.js +73 -0
- package/esm/ComboBox/v3/parts/menu-list/index.js +1 -0
- package/esm/ComboBox/v3/parts/menu-list/styled.js +23 -0
- package/esm/ComboBox/v3/parts/menu-list/useItemRenderer.js +97 -0
- package/esm/ComboBox/v3/parts/menu-list/useMenuList.js +57 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +54 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/index.js +1 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/styled.js +13 -0
- package/esm/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.js +67 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.js +20 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/index.js +1 -0
- package/esm/ComboBox/v3/parts/single-selected-value-container/styled.js +7 -0
- package/esm/ComboBox/v3/propTypes.js +21 -0
- package/esm/ComboBox/v3/utils/hooks/useKeyboardNavigation.js +148 -0
- package/esm/ComboBox/v3/utils/hooks/useOnElementResize.js +33 -0
- package/esm/ComboBox/v3/utils/listHelper.js +30 -0
- package/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +23 -16
- package/esm/ComboBoxFreeSolo/components/MultiValueLabel.js +21 -15
- package/esm/ComboBoxFreeSolo/components/MultiValueRemove.js +6 -1
- package/esm/ComboBoxFreeSolo/components/SingleValue.js +5 -0
- package/esm/ComboBoxFreeSolo/components/SingleValueRemove.js +6 -1
- package/esm/DateInput/DSDateInput.js +33 -26
- package/esm/DateInput/components/DateInputImpl.js +23 -17
- package/esm/DateInput/components/DateInputs.js +56 -42
- package/esm/DateInput/components/utils.js +25 -12
- package/esm/DateInputV2/components/DSDateInput.js +39 -33
- package/esm/DateInputV2/components/DateInputs.js +23 -14
- package/esm/DateInputV2/components/styled.js +19 -16
- package/esm/DateInputV2/components/utils.js +25 -12
- package/esm/ExpandableInput/DSExpandableInput.js +27 -24
- package/esm/ExpandableInput/ExpandableInputImpl.js +21 -10
- package/esm/FloatingLabelInput/DSFloatingLabelInput.js +121 -118
- package/esm/FloatingLabelInput/FloatingLabelInputImpl.js +24 -18
- package/esm/FloatingLabelInput/getSvgPath.js +12 -9
- package/esm/FormItem/DSFormItemLayout.js +26 -18
- package/esm/FormItem/Error/DSError.js +5 -4
- package/esm/FormItem/Feedback.js +5 -4
- package/esm/FormItem/Label/DSLabel.js +11 -10
- package/esm/FormItem/Suffix/Suffix.js +2 -6
- package/esm/FormItem/ValidationFieldWrapper.js +9 -3
- package/esm/Input/DSInput.js +7 -1
- package/esm/Input/InputAddonWrapper.js +27 -15
- package/esm/Input/InputImpl.js +47 -36
- package/esm/InputGroup/AddonWrapper.js +12 -8
- package/esm/InputGroup/DSInputGroup.js +20 -17
- package/esm/InputMask/DSInputMask.js +6 -0
- package/esm/InputMask/DSInputMaskDeprecated.js +36 -24
- package/esm/InputMask/MaskTypes.js +5 -0
- package/esm/InputMask/addons/AutoCorrectedDatePipe.js +11 -4
- package/esm/InputMask/mask_types/DateInputMask.js +23 -12
- package/esm/InputMask/mask_types/DateTimeInputMask.js +23 -12
- package/esm/InputMask/mask_types/DictionaryInputMask.js +13 -6
- package/esm/InputMask/mask_types/NumberInputMask.js +33 -25
- package/esm/InputMask/mask_types/PhoneInputMask.js +23 -12
- package/esm/InputMask/mask_types/PhoneInternationalInputMask.js +23 -12
- package/esm/InputMask/mask_types/SsnInputMask.js +23 -12
- package/esm/InputMask/mask_types/UsZipCodeInputMask.js +13 -6
- package/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +23 -12
- package/esm/InputMask/mask_types/index.js +5 -0
- package/esm/InputMask/props.js +1 -2
- package/esm/InputProtected/DSInputProtected.js +12 -10
- package/esm/InputProtected/index.js +1 -1
- package/esm/InputProtected/props.js +1 -2
- package/esm/LargeInputText/DSLargeInputText.js +47 -38
- package/esm/MenuItem/components/MenuItem/index.js +45 -0
- package/esm/MenuItem/components/MenuItem/styled.js +7 -0
- package/esm/MenuItem/components/MultiMenuItem/MultiMenuItem.js +62 -0
- package/esm/MenuItem/components/MultiMenuItem/styled.js +7 -0
- package/esm/MenuItem/components/Section/index.js +29 -0
- package/esm/MenuItem/components/Section/props.js +11 -0
- package/esm/MenuItem/components/Section/styled.js +11 -0
- package/esm/MenuItem/components/Separator/index.js +21 -0
- package/esm/MenuItem/components/Separator/styled.js +11 -0
- package/esm/MenuItem/components/SingleMenuItem/SingleMenuItem.js +61 -0
- package/esm/MenuItem/components/SubmenuItem/index.js +129 -0
- package/esm/MenuItem/components/SubmenuItem/styled.js +11 -0
- package/esm/MenuItem/components/index.js +6 -0
- package/esm/MenuItem/components/styled.js +34 -0
- package/esm/MenuItem/index.js +6 -0
- package/esm/MenuItem/props.js +23 -0
- package/esm/Radio/Circle.js +5 -4
- package/esm/Radio/DSRadio.js +7 -2
- package/esm/RadioGroup/DSRadioGroup.js +21 -13
- package/esm/RequiredMark/RequiredMark.js +7 -6
- package/esm/SearchBox/DSSearchBox.js +28 -25
- package/esm/SearchBox/NavSearchBox.js +9 -9
- package/esm/SearchBox/SButton.js +14 -11
- package/esm/SearchBox/SearchBoxToggle.js +11 -13
- package/esm/SearchBox/useSearch.js +12 -6
- package/esm/SearchBox/withSearchable.js +17 -11
- package/esm/TextBox/DSTextBox.js +12 -4
- package/esm/TimeInput/DSTimeInput.js +45 -37
- package/esm/TimeInput/TimeInputImpl.js +17 -11
- package/esm/TimeInput/TimeInputs.js +47 -29
- package/esm/TimeInput/utils.js +9 -7
- package/esm/Toggle/DSToggle.js +5 -0
- package/esm/Toggle/DSToggleImpl.js +35 -30
- package/esm/Toggle/DSToggleRender.js +39 -33
- package/esm/Toggle/toggleHelper.js +21 -18
- package/esm/index.js +26 -13
- package/package.json +282 -22
- package/types/Checkbox/DSCheckbox.d.ts +78 -13
- package/types/Checkbox/elements/CheckMark.d.ts +1 -1
- package/types/Checkbox/props.d.ts +58 -12
- package/types/CheckboxGroup/DSCheckboxGroup.d.ts +51 -7
- package/types/CheckboxGroup/props.d.ts +37 -6
- package/types/ComboBox/index.d.ts +1 -0
- package/types/ComboBox/v2/Combobox.d.ts +56 -1
- package/types/ComboBox/v3/ComboBox.d.ts +62 -0
- package/types/ComboBox/v3/ComboBoxCTX.d.ts +6 -0
- package/types/ComboBox/v3/ComboboxDataTestids.d.ts +11 -0
- package/types/ComboBox/v3/config/constants.d.ts +8 -0
- package/types/ComboBox/v3/config/useComboBox.d.ts +2 -0
- package/types/ComboBox/v3/config/useGetPropsWithDefault.d.ts +2 -0
- package/types/ComboBox/v3/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/a11y-messages/MultiAllyMessages.d.ts +3 -0
- package/types/ComboBox/v3/parts/a11y-messages/SingleAllyMessages.d.ts +3 -0
- package/types/ComboBox/v3/parts/a11y-messages/index.d.ts +2 -0
- package/types/ComboBox/v3/parts/a11y-messages/styled.d.ts +1 -0
- package/types/ComboBox/v3/parts/container/Container.d.ts +3 -0
- package/types/ComboBox/v3/parts/container/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/container/styled.d.ts +3 -0
- package/types/ComboBox/v3/parts/controls/Controls.d.ts +3 -0
- package/types/ComboBox/v3/parts/controls/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/controls/styled.d.ts +7 -0
- package/types/ComboBox/v3/parts/controls-input/ControlsInput.d.ts +3 -0
- package/types/ComboBox/v3/parts/controls-input/styled.d.ts +4 -0
- package/types/ComboBox/v3/parts/controls-input/useControlsInput.d.ts +12 -0
- package/types/ComboBox/v3/parts/dropdown-indicator/DropdownIndicator.d.ts +3 -0
- package/types/ComboBox/v3/parts/dropdown-indicator/index.d.ts +0 -0
- package/types/ComboBox/v3/parts/dropdown-indicator/styled.d.ts +1 -0
- package/types/ComboBox/v3/parts/empty-state/index.d.ts +3 -0
- package/types/ComboBox/v3/parts/empty-state/styled.d.ts +2 -0
- package/types/ComboBox/v3/parts/header-list/HeaderList.d.ts +3 -0
- package/types/ComboBox/v3/parts/header-list/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/header-list/styled.d.ts +7 -0
- package/types/ComboBox/v3/parts/header-list/useHeaderListHandlers.d.ts +12 -0
- package/types/ComboBox/v3/parts/menu-list/MenuList.d.ts +3 -0
- package/types/ComboBox/v3/parts/menu-list/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/menu-list/styled.d.ts +10 -0
- package/types/ComboBox/v3/parts/menu-list/useItemRenderer.d.ts +2 -0
- package/types/ComboBox/v3/parts/menu-list/useMenuList.d.ts +2 -0
- package/types/ComboBox/v3/parts/multi-selected-values-container/MultiSelectedValuesContainer.d.ts +3 -0
- package/types/ComboBox/v3/parts/multi-selected-values-container/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/multi-selected-values-container/styled.d.ts +3 -0
- package/types/ComboBox/v3/parts/multi-selected-values-container/useGroupPills.d.ts +2 -0
- package/types/ComboBox/v3/parts/single-selected-value-container/SingleSelectedValueContainer.d.ts +3 -0
- package/types/ComboBox/v3/parts/single-selected-value-container/index.d.ts +1 -0
- package/types/ComboBox/v3/parts/single-selected-value-container/styled.d.ts +1 -0
- package/types/ComboBox/v3/propTypes.d.ts +51 -0
- package/types/ComboBox/v3/tests/combobox-general.test.d.ts +1 -0
- package/types/ComboBox/v3/tests/combobox-multi-select.test.d.ts +1 -0
- package/types/ComboBox/v3/tests/combobox-single-select.test.d.ts +1 -0
- package/types/ComboBox/v3/tests/combobox-special-keys.test.d.ts +1 -0
- package/types/ComboBox/v3/tests/utils.d.ts +22 -0
- package/types/ComboBox/v3/utils/hooks/useKeyboardNavigation.d.ts +4 -0
- package/types/ComboBox/v3/utils/hooks/useOnElementResize.d.ts +3 -0
- package/types/ComboBox/v3/utils/listHelper.d.ts +7 -0
- package/types/DateInput/DSDateInput.d.ts +97 -16
- package/types/DateInput/components/utils.d.ts +8 -8
- package/types/DateInput/props.d.ts +97 -16
- package/types/DateInputV2/components/DSDateInput.d.ts +72 -5
- package/types/DateInputV2/components/DateInputs.d.ts +1 -1
- package/types/DateInputV2/components/props.d.ts +61 -10
- package/types/DateInputV2/components/styled.d.ts +4 -4
- package/types/DateInputV2/components/utils.d.ts +8 -8
- package/types/FloatingLabelInput/DSFloatingLabelInput.d.ts +120 -21
- package/types/FormItem/DSFormItemLayout.d.ts +392 -61
- package/types/FormItem/Error/DSError.d.ts +21 -3
- package/types/FormItem/Suffix/Suffix.d.ts +3 -3
- package/types/FormItem/defaultProps.d.ts +120 -21
- package/types/FormItem/index.d.ts +1 -1
- package/types/FormItem/props.d.ts +229 -39
- package/types/InputGroup/DSInputGroup.d.ts +56 -8
- package/types/InputGroup/props.d.ts +43 -7
- package/types/InputMask/DSInputMask.d.ts +172 -30
- package/types/InputMask/mask_types/DateInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/DateTimeInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/DictionaryInputMask.d.ts +37 -36
- package/types/InputMask/mask_types/NumberInputMask.d.ts +46 -45
- package/types/InputMask/mask_types/PhoneInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/PhoneInternationalInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/SsnInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/UsZipCodeInputMask.d.ts +34 -33
- package/types/InputMask/mask_types/ZipCodeSearchInputMask.d.ts +34 -33
- package/types/InputMask/props.d.ts +172 -30
- package/types/InputProtected/DSInputProtected.d.ts +57 -10
- package/types/InputProtected/index.d.ts +1 -0
- package/types/InputProtected/props.d.ts +43 -8
- package/types/LargeInputText/DSLargeInputText.d.ts +163 -27
- package/types/LargeInputText/props.d.ts +163 -27
- package/types/MenuItem/components/MenuItem/index.d.ts +20 -0
- package/types/MenuItem/components/MenuItem/styled.d.ts +1 -0
- package/types/MenuItem/components/MultiMenuItem/MultiMenuItem.d.ts +21 -0
- package/types/MenuItem/components/MultiMenuItem/styled.d.ts +1 -0
- package/types/MenuItem/components/Section/index.d.ts +12 -0
- package/types/MenuItem/components/Section/props.d.ts +14 -0
- package/types/MenuItem/components/Section/styled.d.ts +2 -0
- package/types/MenuItem/components/Separator/index.d.ts +8 -0
- package/types/MenuItem/components/Separator/styled.d.ts +2 -0
- package/types/MenuItem/components/SingleMenuItem/SingleMenuItem.d.ts +16 -0
- package/types/MenuItem/components/SubmenuItem/index.d.ts +20 -0
- package/types/MenuItem/components/SubmenuItem/styled.d.ts +2 -0
- package/types/MenuItem/components/index.d.ts +6 -0
- package/types/MenuItem/components/styled.d.ts +3 -0
- package/types/MenuItem/index.d.ts +1 -0
- package/types/MenuItem/props.d.ts +37 -0
- package/types/Radio/Circle.d.ts +1 -1
- package/types/Radio/DSRadio.d.ts +79 -13
- package/types/RadioGroup/DSRadioGroup.d.ts +51 -7
- package/types/RadioGroup/props.d.ts +37 -6
- package/types/SearchBox/DSSearchBox.d.ts +146 -21
- package/types/SearchBox/NavSearchBox.d.ts +18 -3
- package/types/SearchBox/SButton.d.ts +13 -2
- package/types/SearchBox/props.d.ts +133 -22
- package/types/SearchBox/styled.d.ts +1 -48
- package/types/TextBox/DSTextBox.d.ts +148 -22
- package/types/TimeInput/DSTimeInput.d.ts +83 -12
- package/types/TimeInput/utils.d.ts +8 -8
- package/types/Toggle/DSToggle.d.ts +84 -12
- package/types/index.d.ts +29 -10
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
11
|
var React = require('react');
|
|
6
12
|
var Select = require('react-select');
|
|
7
13
|
var reactWindow = require('react-window');
|
|
@@ -21,8 +27,8 @@ var memoize__default = /*#__PURE__*/_interopDefaultLegacy(memoize);
|
|
|
21
27
|
|
|
22
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
29
|
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
25
|
-
const createItemData = memoize__default[
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
31
|
+
const createItemData = memoize__default["default"]((items, options) => {
|
|
26
32
|
if (items !== null && items !== void 0 && items.findIndex) {
|
|
27
33
|
const index = items.findIndex(item => item.props.isFocused);
|
|
28
34
|
if (index > -1) return {
|
|
@@ -55,7 +61,7 @@ const scrollTo = (listRef, type) => {
|
|
|
55
61
|
}
|
|
56
62
|
};
|
|
57
63
|
|
|
58
|
-
const MenuList = /*#__PURE__*/React__default[
|
|
64
|
+
const MenuList = /*#__PURE__*/React__default["default"].memo(props => {
|
|
59
65
|
const {
|
|
60
66
|
children: options,
|
|
61
67
|
selectProps,
|
|
@@ -101,7 +107,7 @@ const MenuList = /*#__PURE__*/React__default['default'].memo(props => {
|
|
|
101
107
|
|
|
102
108
|
React.useEffect(() => setInsideFalseAtClosing, []);
|
|
103
109
|
if (!options.length) return /*#__PURE__*/jsxRuntime.jsx(Select.components.MenuList, _objectSpread({}, props));
|
|
104
|
-
return /*#__PURE__*/_jsx__default[
|
|
110
|
+
return /*#__PURE__*/_jsx__default["default"]("div", {
|
|
105
111
|
role: "list",
|
|
106
112
|
"data-testid": "combobox-menu-list"
|
|
107
113
|
}, void 0, isMulti && /*#__PURE__*/jsxRuntime.jsx(MultiSelectHeader, _objectSpread({}, props)), /*#__PURE__*/jsxRuntime.jsx(reactWindow.FixedSizeList, {
|
|
@@ -112,7 +118,7 @@ const MenuList = /*#__PURE__*/React__default['default'].memo(props => {
|
|
|
112
118
|
scrollTo(listRef);
|
|
113
119
|
}
|
|
114
120
|
},
|
|
115
|
-
className:
|
|
121
|
+
className: "combobox-menu-list ".concat(isMulti && 'combobox-menu-list-is-multi'),
|
|
116
122
|
height: height,
|
|
117
123
|
itemCount: options.length,
|
|
118
124
|
itemData: itemData,
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
4
7
|
var React = require('react');
|
|
5
8
|
var styled = require('styled-components');
|
|
6
9
|
var DSButton = require('@elliemae/ds-button');
|
|
@@ -26,9 +29,9 @@ const MultiSelectHeader = props => {
|
|
|
26
29
|
} = React.useContext(context.DropDownContext);
|
|
27
30
|
const isClearButtonDisabled = selectedItems === 0;
|
|
28
31
|
const isAllButtonDisabled = selectedItems === totalItems;
|
|
29
|
-
return /*#__PURE__*/_jsx__default[
|
|
30
|
-
value:
|
|
31
|
-
})), !selectAllDisabled && /*#__PURE__*/_jsx__default[
|
|
32
|
+
return /*#__PURE__*/_jsx__default["default"](HeaderWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](ContentWrapper, {}, void 0, /*#__PURE__*/_jsx__default["default"](HeaderTitle, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText.SimpleTruncatedTooltipText, {
|
|
33
|
+
value: "".concat(selectedItems, " selected")
|
|
34
|
+
})), !selectAllDisabled && /*#__PURE__*/_jsx__default["default"](ActionButtons, {}, void 0, /*#__PURE__*/_jsx__default["default"](StyledButton, {
|
|
32
35
|
"data-testid": "combobox-all-btn",
|
|
33
36
|
buttonType: "text",
|
|
34
37
|
labelText: "All",
|
|
@@ -37,12 +40,12 @@ const MultiSelectHeader = props => {
|
|
|
37
40
|
disabled: isAllButtonDisabled,
|
|
38
41
|
"aria-disabled": isAllButtonDisabled ? 'true' : 'false',
|
|
39
42
|
variant: isAllButtonDisabled && DSButton.BUTTON_VARIANT.DISABLED
|
|
40
|
-
}), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default[
|
|
43
|
+
}), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](StyledSeparator, {
|
|
41
44
|
orientation: "vertical",
|
|
42
45
|
position: "center",
|
|
43
46
|
type: "group-level",
|
|
44
47
|
margin: "none"
|
|
45
|
-
})), /*#__PURE__*/_jsx__default[
|
|
48
|
+
})), /*#__PURE__*/_jsx__default["default"](StyledButton, {
|
|
46
49
|
"data-testid": "combobox-clear-btn",
|
|
47
50
|
buttonType: "text",
|
|
48
51
|
labelText: "Clear",
|
|
@@ -51,29 +54,29 @@ const MultiSelectHeader = props => {
|
|
|
51
54
|
disabled: isClearButtonDisabled,
|
|
52
55
|
"aria-disabled": isClearButtonDisabled ? 'true' : 'false',
|
|
53
56
|
variant: isClearButtonDisabled && DSButton.BUTTON_VARIANT.DISABLED
|
|
54
|
-
}))), _DSSeparator || (_DSSeparator = /*#__PURE__*/_jsx__default[
|
|
57
|
+
}))), _DSSeparator || (_DSSeparator = /*#__PURE__*/_jsx__default["default"](DSSeparator__default["default"], {
|
|
55
58
|
position: "center",
|
|
56
59
|
type: "non-form",
|
|
57
60
|
margin: "none"
|
|
58
61
|
})));
|
|
59
62
|
};
|
|
60
63
|
|
|
61
|
-
const HeaderWrapper = /*#__PURE__*/styled__default[
|
|
64
|
+
const HeaderWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
62
65
|
componentId: "sc-zjm4r5-0"
|
|
63
66
|
})(["display:flex;flex-direction:column;padding:0 ", ";"], props => props.theme.space.xs);
|
|
64
|
-
const ContentWrapper = /*#__PURE__*/styled__default[
|
|
67
|
+
const ContentWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
65
68
|
componentId: "sc-zjm4r5-1"
|
|
66
69
|
})(["display:grid;align-items:flex-end;justify-content:space-between;height:", ";padding-bottom:4px;grid-template-columns:minmax(0,1fr) 104px;"], props => props.theme.space.s);
|
|
67
|
-
const HeaderTitle = /*#__PURE__*/styled__default[
|
|
70
|
+
const HeaderTitle = /*#__PURE__*/styled__default["default"].span.withConfig({
|
|
68
71
|
componentId: "sc-zjm4r5-2"
|
|
69
72
|
})(["color:", ";text-overflow:ellipsis;"], props => props.theme.colors.neutral[500]);
|
|
70
|
-
const ActionButtons = /*#__PURE__*/styled__default[
|
|
73
|
+
const ActionButtons = /*#__PURE__*/styled__default["default"].div.withConfig({
|
|
71
74
|
componentId: "sc-zjm4r5-3"
|
|
72
75
|
})(["display:inline-flex;color:", ";"], props => props.theme.colors.neutral[500]);
|
|
73
|
-
const StyledSeparator = /*#__PURE__*/styled__default[
|
|
76
|
+
const StyledSeparator = /*#__PURE__*/styled__default["default"](DSSeparator__default["default"]).withConfig({
|
|
74
77
|
componentId: "sc-zjm4r5-4"
|
|
75
78
|
})(["height:auto;width:auto;"]);
|
|
76
|
-
const StyledButton = /*#__PURE__*/styled__default[
|
|
79
|
+
const StyledButton = /*#__PURE__*/styled__default["default"](DSButton__default["default"]).withConfig({
|
|
77
80
|
componentId: "sc-zjm4r5-5"
|
|
78
81
|
})(["padding:0 ", ";"], props => props.theme.space.xxs);
|
|
79
82
|
|
|
@@ -10,10 +10,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
11
11
|
var DSTruncatedTooltipText__default = /*#__PURE__*/_interopDefaultLegacy(DSTruncatedTooltipText);
|
|
12
12
|
|
|
13
|
-
function MultiValueLabel({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
function MultiValueLabel(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
children
|
|
16
|
+
} = _ref;
|
|
17
|
+
return /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText__default["default"], {
|
|
17
18
|
tooltipPlacement: DSPopper.PopperPositions.TOP,
|
|
18
19
|
value: children
|
|
19
20
|
});
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
9
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
5
10
|
require('react');
|
|
@@ -15,13 +20,13 @@ const _excluded = ["innerProps"];
|
|
|
15
20
|
|
|
16
21
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
22
|
|
|
18
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
23
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
24
|
|
|
20
25
|
function MultiValueRemove(_ref) {
|
|
21
26
|
let {
|
|
22
27
|
innerProps
|
|
23
28
|
} = _ref,
|
|
24
|
-
rest = _objectWithoutProperties__default[
|
|
29
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
25
30
|
|
|
26
31
|
const innerPropsWithOutRemoval = _objectSpread(_objectSpread({}, innerProps), {}, {
|
|
27
32
|
onClick: () => {},
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
3
8
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
9
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
10
|
require('react');
|
|
@@ -19,7 +24,7 @@ var _TriggerComponent, _TriggerComponent2;
|
|
|
19
24
|
|
|
20
25
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
26
|
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
27
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
28
|
const TriggerComponent = dsClassnames.aggregatedClasses('div')('combobox-trigger', null);
|
|
24
29
|
|
|
25
30
|
const SelectMenu = props => {
|
|
@@ -45,15 +50,15 @@ const SelectMenu = props => {
|
|
|
45
50
|
styleMenu.width = 'auto';
|
|
46
51
|
}
|
|
47
52
|
|
|
48
|
-
return /*#__PURE__*/_jsx__default[
|
|
53
|
+
return /*#__PURE__*/_jsx__default["default"](DSPopper__default["default"], {
|
|
49
54
|
contentComponent: /*#__PURE__*/jsxRuntime.jsx(Content, _objectSpread(_objectSpread({}, props), {}, {
|
|
50
55
|
styleMenu: styleMenu
|
|
51
56
|
})),
|
|
52
57
|
isOpen: true,
|
|
53
58
|
placement: DSPopper.PopperPositions.BOTTOM_START,
|
|
54
|
-
preventOverflow: _TriggerComponent || (_TriggerComponent = /*#__PURE__*/_jsx__default[
|
|
59
|
+
preventOverflow: _TriggerComponent || (_TriggerComponent = /*#__PURE__*/_jsx__default["default"](TriggerComponent, {})),
|
|
55
60
|
showArrow: false,
|
|
56
|
-
triggerComponent: _TriggerComponent2 || (_TriggerComponent2 = /*#__PURE__*/_jsx__default[
|
|
61
|
+
triggerComponent: _TriggerComponent2 || (_TriggerComponent2 = /*#__PURE__*/_jsx__default["default"](TriggerComponent, {})),
|
|
57
62
|
zIndex: zIndex
|
|
58
63
|
});
|
|
59
64
|
};
|
|
@@ -10,10 +10,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
11
11
|
var DSTruncatedTooltipText__default = /*#__PURE__*/_interopDefaultLegacy(DSTruncatedTooltipText);
|
|
12
12
|
|
|
13
|
-
function SingleValueLabel({
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
function SingleValueLabel(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
children
|
|
16
|
+
} = _ref;
|
|
17
|
+
return /*#__PURE__*/_jsx__default["default"](DSTruncatedTooltipText__default["default"], {
|
|
17
18
|
tooltipPlacement: DSPopper.PopperPositions.TOP,
|
|
18
19
|
value: children
|
|
19
20
|
});
|
|
@@ -4,9 +4,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
13
|
var React = require('react');
|
|
8
14
|
var Select = require('react-select');
|
|
9
|
-
var
|
|
15
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
10
16
|
var context = require('../context.js');
|
|
11
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
18
|
|
|
@@ -19,12 +25,12 @@ const _excluded = ["children"];
|
|
|
19
25
|
|
|
20
26
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
21
27
|
|
|
22
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
29
|
function ValueContainer(_ref) {
|
|
24
30
|
let {
|
|
25
31
|
children
|
|
26
32
|
} = _ref,
|
|
27
|
-
rest = _objectWithoutProperties__default[
|
|
33
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
28
34
|
|
|
29
35
|
const valueContainerRef = React.useRef(null);
|
|
30
36
|
const {
|
|
@@ -47,7 +53,7 @@ function ValueContainer(_ref) {
|
|
|
47
53
|
setTouchClick(false);
|
|
48
54
|
},
|
|
49
55
|
ref: valueContainerRef,
|
|
50
|
-
className:
|
|
56
|
+
className: dsUtilities.cx('combobox-v2-value-container', inputInFocus && 'in-focus', value && clearable && 'has-value', removeDropdownIndicator && 'dropdown-indicator-removed'),
|
|
51
57
|
children: /*#__PURE__*/jsxRuntime.jsx(Select.components.ValueContainer, _objectSpread(_objectSpread({}, rest), {}, {
|
|
52
58
|
children: children
|
|
53
59
|
}))
|
|
@@ -55,4 +61,4 @@ function ValueContainer(_ref) {
|
|
|
55
61
|
}
|
|
56
62
|
|
|
57
63
|
exports.ValueContainer = ValueContainer;
|
|
58
|
-
exports[
|
|
64
|
+
exports["default"] = ValueContainer;
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
8
|
+
|
|
5
9
|
const letterFactor = 5.7;
|
|
6
10
|
const fixedSpace = 45;
|
|
7
11
|
function calculateWidth(options) {
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
|
+
|
|
7
|
+
const getOptions = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
showAllOption,
|
|
10
|
+
isMulti,
|
|
11
|
+
allOption,
|
|
12
|
+
options
|
|
13
|
+
} = _ref;
|
|
14
|
+
return showAllOption && isMulti ? [allOption, ...options] : options;
|
|
15
|
+
};
|
|
11
16
|
|
|
12
17
|
exports.getOptions = getOptions;
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
8
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
9
|
+
|
|
5
10
|
/* eslint-disable no-restricted-syntax */
|
|
6
11
|
|
|
7
12
|
/* eslint-disable max-statements */
|
|
@@ -8,6 +8,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
8
8
|
|
|
9
9
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
10
|
|
|
11
|
-
const DropDownContext = /*#__PURE__*/React__default[
|
|
11
|
+
const DropDownContext = /*#__PURE__*/React__default["default"].createContext();
|
|
12
12
|
|
|
13
13
|
exports.DropDownContext = DropDownContext;
|
package/cjs/ComboBox/v2/index.js
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
+
require('react');
|
|
7
|
+
var reactDesc = require('react-desc');
|
|
8
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
9
|
+
var useComboBox = require('./config/useComboBox.js');
|
|
10
|
+
var Container = require('./parts/container/Container.js');
|
|
11
|
+
var propTypes = require('./propTypes.js');
|
|
12
|
+
var ComboBoxCTX = require('./ComboBoxCTX.js');
|
|
13
|
+
|
|
14
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
|
+
|
|
16
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
17
|
+
|
|
18
|
+
var _Container;
|
|
19
|
+
|
|
20
|
+
const DSComboBox = props => {
|
|
21
|
+
const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props, ComboBoxCTX.defaultProps);
|
|
22
|
+
dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, propTypes.propTypes);
|
|
23
|
+
const ctx = useComboBox.useComboBox(props);
|
|
24
|
+
return /*#__PURE__*/_jsx__default["default"](ComboBoxCTX.ComboBoxContext.Provider, {
|
|
25
|
+
value: ctx
|
|
26
|
+
}, void 0, _Container || (_Container = /*#__PURE__*/_jsx__default["default"](Container.Container, {})));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const DSComboBoxWithSchema = reactDesc.describe(DSComboBox);
|
|
30
|
+
DSComboBoxWithSchema.propTypes = propTypes.propTypes;
|
|
31
|
+
|
|
32
|
+
exports.DSComboBox = DSComboBox;
|
|
33
|
+
exports.DSComboBoxWithSchema = DSComboBoxWithSchema;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var lodash = require('lodash');
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
9
|
+
const defaultProps = {
|
|
10
|
+
placeholder: '',
|
|
11
|
+
options: [],
|
|
12
|
+
selectedValues: null,
|
|
13
|
+
hasError: false,
|
|
14
|
+
inline: false,
|
|
15
|
+
autoFocus: false,
|
|
16
|
+
startPlacementPreference: 'bottom-start',
|
|
17
|
+
placementOrderPreference: ['bottom-start', 'bottom-end'],
|
|
18
|
+
onClearAll: lodash.noop,
|
|
19
|
+
onSelectAll: lodash.noop,
|
|
20
|
+
onCreate: lodash.noop,
|
|
21
|
+
withToggle: false,
|
|
22
|
+
onChange: lodash.noop,
|
|
23
|
+
onKeyDown: lodash.noop,
|
|
24
|
+
onFilter: lodash.noop,
|
|
25
|
+
onMenuOpen: lodash.noop
|
|
26
|
+
};
|
|
27
|
+
const defaultContext = {
|
|
28
|
+
props: defaultProps,
|
|
29
|
+
showPopover: false,
|
|
30
|
+
setShowPopover: lodash.noop,
|
|
31
|
+
scrollOptionIntoView: lodash.noop,
|
|
32
|
+
referenceElement: null,
|
|
33
|
+
hasFocus: false,
|
|
34
|
+
setHasFocus: lodash.noop,
|
|
35
|
+
pillGroupRef: /*#__PURE__*/React.createRef(),
|
|
36
|
+
setReferenceElement: lodash.noop,
|
|
37
|
+
inputRef: /*#__PURE__*/React.createRef(),
|
|
38
|
+
listRef: /*#__PURE__*/React.createRef(),
|
|
39
|
+
wrapperListRef: /*#__PURE__*/React.createRef(),
|
|
40
|
+
controlsWrapperRef: /*#__PURE__*/React.createRef(),
|
|
41
|
+
selectedOptionsRef: /*#__PURE__*/React.createRef(),
|
|
42
|
+
showSelectedValue: false,
|
|
43
|
+
setShowSelectedValue: lodash.noop,
|
|
44
|
+
focusOptionIdx: '',
|
|
45
|
+
setCurrentOption: lodash.noop,
|
|
46
|
+
showSelectedOptions: false,
|
|
47
|
+
setShowSelectedOptions: lodash.noop
|
|
48
|
+
};
|
|
49
|
+
/** Context for cross component communication */
|
|
50
|
+
|
|
51
|
+
const ComboBoxContext = /*#__PURE__*/React.createContext(defaultContext);
|
|
52
|
+
|
|
53
|
+
exports.ComboBoxContext = ComboBoxContext;
|
|
54
|
+
exports["default"] = ComboBoxContext;
|
|
55
|
+
exports.defaultProps = defaultProps;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const ComboboxDataTestid = {
|
|
6
|
+
INPUT: 'combobox-input',
|
|
7
|
+
LIST: 'combobox-menu-list',
|
|
8
|
+
SELECTED_VALUES: 'combobox-selected-values',
|
|
9
|
+
SELECT_ALL_BUTTON: 'combobox-all-btn',
|
|
10
|
+
CLEAR_ALL_BUTTON: 'combobox-clear-btn',
|
|
11
|
+
DROPDOWN: 'combobox-dropdown-btn',
|
|
12
|
+
OPTION: 'combobox-option',
|
|
13
|
+
SHOW_ALL_BUTTON: 'combobox-show-all-btn',
|
|
14
|
+
SHOW_SELECTED_OPTIONS_BUTTON: 'combobox-selected-options-btn'
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.ComboboxDataTestid = ComboboxDataTestid;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const DATA_TESTID = {
|
|
6
|
+
COMBOBOX_MENU_LIST: 'combobox-menu-list',
|
|
7
|
+
COMBOBOX_CLEAR_BTN: 'combobox-clear-btn',
|
|
8
|
+
COMBOBOX_ALL_BTN: 'combobox-all-btn',
|
|
9
|
+
COMBOBOX_DROPDOWN_BTN: 'combobox-dropdown-btn',
|
|
10
|
+
COMBOBOX_OPTION: 'combobox-option',
|
|
11
|
+
COMBOBOX: 'combobox'
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.DATA_TESTID = DATA_TESTID;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
14
|
+
var React = require('react');
|
|
15
|
+
var reactVirtual = require('react-virtual');
|
|
16
|
+
var useGetPropsWithDefault = require('./useGetPropsWithDefault.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
21
|
+
|
|
22
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
+
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
|
+
const useComboBox = props => {
|
|
26
|
+
const [showPopover, setShowPopover] = React.useState(false);
|
|
27
|
+
const [referenceElement, setReferenceElement] = React.useState(null);
|
|
28
|
+
const [showSelectedValue, setShowSelectedValue] = React.useState(false);
|
|
29
|
+
const [showSelectedOptions, setShowSelectedOptions] = React.useState(false);
|
|
30
|
+
const [hasFocus, setHasFocus] = React.useState(false);
|
|
31
|
+
const [focusOptionIdx, setCurrentOption] = React.useState('');
|
|
32
|
+
const inputRef = React.useRef(null);
|
|
33
|
+
const listRef = React.useRef(null);
|
|
34
|
+
const wrapperListRef = React.useRef(null);
|
|
35
|
+
const selectedOptionsRef = React.useRef(null);
|
|
36
|
+
const controlsWrapperRef = React.useRef(null);
|
|
37
|
+
const pillGroupRef = React.useRef(null);
|
|
38
|
+
const propsWithDefaults = useGetPropsWithDefault.useGetComboBoxWithDefaultsProps(props);
|
|
39
|
+
const {
|
|
40
|
+
options,
|
|
41
|
+
selectedValues
|
|
42
|
+
} = propsWithDefaults; // ---------------------------------------------------------------------------
|
|
43
|
+
// Menu Options with/out selected filter
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
|
|
46
|
+
const selectedValuesWithSections = React.useCallback(() => {
|
|
47
|
+
var _items2;
|
|
48
|
+
|
|
49
|
+
const multiSelectedValue = selectedValues;
|
|
50
|
+
const items = [];
|
|
51
|
+
options.forEach(option => {
|
|
52
|
+
const isSelectedValue = multiSelectedValue.find(item => item.dsId === option.dsId);
|
|
53
|
+
|
|
54
|
+
if (isSelectedValue) {
|
|
55
|
+
items.push(option);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (option.type === 'section') {
|
|
59
|
+
var _items;
|
|
60
|
+
|
|
61
|
+
if (((_items = items[items.length - 1]) === null || _items === void 0 ? void 0 : _items.type) === 'section') {
|
|
62
|
+
items[items.length - 1] = option;
|
|
63
|
+
} else {
|
|
64
|
+
items.push(option);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
if (((_items2 = items[items.length - 1]) === null || _items2 === void 0 ? void 0 : _items2.type) === 'section') {
|
|
70
|
+
items.pop();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return items;
|
|
74
|
+
}, [options, selectedValues]);
|
|
75
|
+
const correctOptions = React.useMemo(() => showSelectedOptions && Array.isArray(selectedValues) && selectedValues.length > 0 ? selectedValuesWithSections() : options, [options, selectedValuesWithSections, selectedValues, showSelectedOptions]); // ===========================================================================
|
|
76
|
+
// Virtualization setup
|
|
77
|
+
// ===========================================================================
|
|
78
|
+
|
|
79
|
+
const virtualListHelpers = reactVirtual.useVirtual({
|
|
80
|
+
size: correctOptions.length,
|
|
81
|
+
parentRef: listRef,
|
|
82
|
+
overscan: 15,
|
|
83
|
+
paddingStart: 0
|
|
84
|
+
}); // ===========================================================================
|
|
85
|
+
// Scroll into view function
|
|
86
|
+
// ===========================================================================
|
|
87
|
+
|
|
88
|
+
const scrollOptionIntoView = React.useCallback(function (dsId) {
|
|
89
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
90
|
+
align: 'center'
|
|
91
|
+
};
|
|
92
|
+
virtualListHelpers.scrollToIndex(correctOptions.findIndex(opt => opt.dsId === dsId), opts);
|
|
93
|
+
}, [correctOptions, virtualListHelpers]);
|
|
94
|
+
const ctx = React.useMemo(() => ({
|
|
95
|
+
props: _objectSpread(_objectSpread({}, propsWithDefaults), {}, {
|
|
96
|
+
options: correctOptions
|
|
97
|
+
}),
|
|
98
|
+
virtualListHelpers,
|
|
99
|
+
showPopover,
|
|
100
|
+
referenceElement,
|
|
101
|
+
inputRef,
|
|
102
|
+
showSelectedValue,
|
|
103
|
+
listRef,
|
|
104
|
+
focusOptionIdx,
|
|
105
|
+
selectedOptionsRef,
|
|
106
|
+
controlsWrapperRef,
|
|
107
|
+
hasFocus,
|
|
108
|
+
pillGroupRef,
|
|
109
|
+
showSelectedOptions,
|
|
110
|
+
wrapperListRef,
|
|
111
|
+
setShowSelectedOptions,
|
|
112
|
+
setHasFocus,
|
|
113
|
+
setCurrentOption,
|
|
114
|
+
scrollOptionIntoView,
|
|
115
|
+
setShowSelectedValue,
|
|
116
|
+
setReferenceElement,
|
|
117
|
+
setShowPopover
|
|
118
|
+
}), [scrollOptionIntoView, correctOptions, propsWithDefaults, virtualListHelpers, focusOptionIdx, showSelectedValue, wrapperListRef, showSelectedOptions, showPopover, pillGroupRef, referenceElement, inputRef, selectedOptionsRef, controlsWrapperRef, hasFocus, listRef]);
|
|
119
|
+
return ctx;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
exports.useComboBox = useComboBox;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var dsPropsHelpers = require('@elliemae/ds-props-helpers');
|
|
6
|
+
var ComboBoxCTX = require('../ComboBoxCTX.js');
|
|
7
|
+
|
|
8
|
+
// we have to merge the "default" nested default values with what the user gives us...
|
|
9
|
+
const useGetComboBoxWithDefaultsProps = props => dsPropsHelpers.useMemoMergePropsWithDefault(props, ComboBoxCTX.defaultProps);
|
|
10
|
+
|
|
11
|
+
exports.useGetComboBoxWithDefaultsProps = useGetComboBoxWithDefaultsProps;
|