@elliemae/ds-controlled-form 3.0.0-alpha.0 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/controlled-autocomplete/config/useAutocomplete.js +15 -1
- package/dist/cjs/controlled-autocomplete/config/useAutocomplete.js.map +1 -1
- package/dist/cjs/controlled-autocomplete/parts/menu-list/useItemRenderer.js +19 -3
- package/dist/cjs/controlled-autocomplete/parts/menu-list/useItemRenderer.js.map +1 -1
- package/dist/cjs/controlled-checkbox/react-desc-prop-types.js +63 -0
- package/dist/cjs/controlled-checkbox/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/controlled-combobox/ComboBox.js +5 -7
- package/dist/cjs/controlled-combobox/ComboBox.js.map +2 -2
- package/dist/cjs/controlled-combobox/ComboBoxCTX.js +1 -4
- package/dist/cjs/controlled-combobox/ComboBoxCTX.js.map +2 -2
- package/dist/cjs/controlled-combobox/ComboboxDataTestids.js +2 -1
- package/dist/cjs/controlled-combobox/ComboboxDataTestids.js.map +2 -2
- package/dist/cjs/controlled-combobox/config/useComboBox.js +30 -51
- package/dist/cjs/controlled-combobox/config/useComboBox.js.map +2 -2
- package/dist/cjs/controlled-combobox/config/useCorrectOptions.js +77 -0
- package/dist/cjs/controlled-combobox/config/useCorrectOptions.js.map +7 -0
- package/dist/cjs/controlled-combobox/index.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/a11y-messages/{MultiAllyMessages.js → FocusMenuItem.js} +26 -17
- package/dist/cjs/controlled-combobox/parts/a11y-messages/FocusMenuItem.js.map +7 -0
- package/dist/cjs/controlled-combobox/parts/a11y-messages/{SingleAllyMessages.js → SelectedValuesAllyMsg.js} +24 -10
- package/dist/cjs/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js.map +7 -0
- package/dist/cjs/controlled-combobox/parts/a11y-messages/index.js +4 -4
- package/dist/cjs/controlled-combobox/parts/a11y-messages/index.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/container/Container.js +34 -21
- package/dist/cjs/controlled-combobox/parts/container/Container.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/container/styled.js +6 -7
- package/dist/cjs/controlled-combobox/parts/container/styled.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/controls/Controls.js +18 -9
- package/dist/cjs/controlled-combobox/parts/controls/Controls.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/controls/styled.js +4 -9
- package/dist/cjs/controlled-combobox/parts/controls/styled.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/{single-selected-value-container/SingleSelectedValueContainer.js → controls/useOnPillsNavigation.js} +33 -17
- package/dist/cjs/controlled-combobox/parts/controls/useOnPillsNavigation.js.map +7 -0
- package/dist/cjs/controlled-combobox/parts/controls-input/ControlsInput.js +7 -7
- package/dist/cjs/controlled-combobox/parts/controls-input/ControlsInput.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/controls-input/useControlsInput.js +25 -9
- package/dist/cjs/controlled-combobox/parts/controls-input/useControlsInput.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js +7 -4
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/styled.js +4 -3
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/styled.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/header-list/HeaderList.js +13 -9
- package/dist/cjs/controlled-combobox/parts/header-list/HeaderList.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/header-list/styled.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/header-list/useHeaderListHandlers.js +18 -6
- package/dist/cjs/controlled-combobox/parts/header-list/useHeaderListHandlers.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/menu-list/MenuList.js +19 -14
- package/dist/cjs/controlled-combobox/parts/menu-list/MenuList.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/menu-list/styled.js +5 -0
- package/dist/cjs/controlled-combobox/parts/menu-list/styled.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/menu-list/useItemRenderer.js +40 -28
- package/dist/cjs/controlled-combobox/parts/menu-list/useItemRenderer.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/menu-list/useMenuList.js +8 -10
- package/dist/cjs/controlled-combobox/parts/menu-list/useMenuList.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +25 -12
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +2 -2
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js +4 -5
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js.map +2 -2
- package/dist/cjs/controlled-combobox/react-desc-prop-types.js +73 -0
- package/dist/cjs/controlled-combobox/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/controlled-combobox/{index.d.js → sharedTypes.js} +3 -3
- package/dist/cjs/controlled-combobox/sharedTypes.js.map +7 -0
- package/dist/cjs/controlled-combobox/utils/hooks/useKeyboardNavigation.js +20 -31
- package/dist/cjs/controlled-combobox/utils/hooks/useKeyboardNavigation.js.map +2 -2
- package/dist/cjs/controlled-combobox/utils/listHelper.js +2 -2
- package/dist/cjs/controlled-combobox/utils/listHelper.js.map +2 -2
- package/dist/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +18 -1
- package/dist/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
- package/dist/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +21 -4
- package/dist/cjs/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
- package/dist/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +17 -4
- package/dist/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +42 -52
- package/dist/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +17 -4
- package/dist/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +23 -12
- package/dist/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +21 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +21 -5
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +21 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +17 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +17 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +17 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +21 -4
- package/dist/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +15 -4
- package/dist/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
- package/dist/cjs/controlled-toggle/ControlledToggle.js +17 -4
- package/dist/cjs/controlled-toggle/ControlledToggle.js.map +1 -1
- package/dist/esm/controlled-autocomplete/config/useAutocomplete.js +17 -1
- package/dist/esm/controlled-autocomplete/config/useAutocomplete.js.map +1 -1
- package/dist/esm/controlled-autocomplete/parts/menu-list/useItemRenderer.js +21 -3
- package/dist/esm/controlled-autocomplete/parts/menu-list/useItemRenderer.js.map +1 -1
- package/dist/esm/controlled-checkbox/react-desc-prop-types.js +36 -0
- package/dist/esm/controlled-checkbox/react-desc-prop-types.js.map +7 -0
- package/dist/esm/controlled-combobox/ComboBox.js +6 -8
- package/dist/esm/controlled-combobox/ComboBox.js.map +2 -2
- package/dist/esm/controlled-combobox/ComboBoxCTX.js +1 -4
- package/dist/esm/controlled-combobox/ComboBoxCTX.js.map +2 -2
- package/dist/esm/controlled-combobox/ComboboxDataTestids.js +2 -1
- package/dist/esm/controlled-combobox/ComboboxDataTestids.js.map +2 -2
- package/dist/esm/controlled-combobox/config/useComboBox.js +32 -51
- package/dist/esm/controlled-combobox/config/useComboBox.js.map +2 -2
- package/dist/esm/controlled-combobox/config/useCorrectOptions.js +48 -0
- package/dist/esm/controlled-combobox/config/useCorrectOptions.js.map +7 -0
- package/dist/esm/controlled-combobox/index.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/a11y-messages/FocusMenuItem.js +30 -0
- package/dist/esm/controlled-combobox/parts/a11y-messages/FocusMenuItem.js.map +7 -0
- package/dist/esm/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js +33 -0
- package/dist/esm/controlled-combobox/parts/a11y-messages/SelectedValuesAllyMsg.js.map +7 -0
- package/dist/esm/controlled-combobox/parts/a11y-messages/index.js +4 -4
- package/dist/esm/controlled-combobox/parts/a11y-messages/index.js.map +1 -1
- package/dist/esm/controlled-combobox/parts/container/Container.js +36 -21
- package/dist/esm/controlled-combobox/parts/container/Container.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/container/styled.js +6 -7
- package/dist/esm/controlled-combobox/parts/container/styled.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/controls/Controls.js +18 -9
- package/dist/esm/controlled-combobox/parts/controls/Controls.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/controls/styled.js +4 -9
- package/dist/esm/controlled-combobox/parts/controls/styled.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/controls/useOnPillsNavigation.js +35 -0
- package/dist/esm/controlled-combobox/parts/controls/useOnPillsNavigation.js.map +7 -0
- package/dist/esm/controlled-combobox/parts/controls-input/ControlsInput.js +7 -7
- package/dist/esm/controlled-combobox/parts/controls-input/ControlsInput.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/controls-input/useControlsInput.js +25 -9
- package/dist/esm/controlled-combobox/parts/controls-input/useControlsInput.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js +7 -4
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/styled.js +5 -4
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/styled.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/header-list/HeaderList.js +13 -9
- package/dist/esm/controlled-combobox/parts/header-list/HeaderList.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/header-list/styled.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/header-list/useHeaderListHandlers.js +18 -6
- package/dist/esm/controlled-combobox/parts/header-list/useHeaderListHandlers.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/menu-list/MenuList.js +21 -16
- package/dist/esm/controlled-combobox/parts/menu-list/MenuList.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/menu-list/styled.js +5 -0
- package/dist/esm/controlled-combobox/parts/menu-list/styled.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/menu-list/useItemRenderer.js +42 -28
- package/dist/esm/controlled-combobox/parts/menu-list/useItemRenderer.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/menu-list/useMenuList.js +8 -10
- package/dist/esm/controlled-combobox/parts/menu-list/useMenuList.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +26 -13
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js.map +2 -2
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js +4 -5
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js.map +2 -2
- package/dist/esm/controlled-combobox/{propTypes.js → react-desc-prop-types.js} +28 -8
- package/dist/esm/controlled-combobox/react-desc-prop-types.js.map +7 -0
- package/dist/esm/controlled-combobox/sharedTypes.js +2 -0
- package/dist/esm/{controlled-checkbox/index.d.js.map → controlled-combobox/sharedTypes.js.map} +0 -0
- package/dist/esm/controlled-combobox/utils/hooks/useKeyboardNavigation.js +20 -31
- package/dist/esm/controlled-combobox/utils/hooks/useKeyboardNavigation.js.map +2 -2
- package/dist/esm/controlled-combobox/utils/listHelper.js +2 -2
- package/dist/esm/controlled-combobox/utils/listHelper.js.map +2 -2
- package/dist/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +20 -1
- package/dist/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js.map +1 -1
- package/dist/esm/controlled-date-range-picker/config/useRangePickerLogic.js +23 -4
- package/dist/esm/controlled-date-range-picker/config/useRangePickerLogic.js.map +1 -1
- package/dist/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +19 -4
- package/dist/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +44 -52
- package/dist/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +19 -4
- package/dist/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +25 -12
- package/dist/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +23 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +23 -5
- package/dist/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +23 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +19 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +19 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +19 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +23 -4
- package/dist/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +17 -4
- package/dist/esm/controlled-date-time-picker/utils/dateTimeHelpers.js.map +1 -1
- package/dist/esm/controlled-toggle/ControlledToggle.js +19 -4
- package/dist/esm/controlled-toggle/ControlledToggle.js.map +1 -1
- package/package.json +15 -14
- package/dist/cjs/controlled-checkbox/index.d.js +0 -20
- package/dist/cjs/controlled-checkbox/index.d.js.map +0 -7
- package/dist/cjs/controlled-checkbox/propTypes.js +0 -20
- package/dist/cjs/controlled-checkbox/propTypes.js.map +0 -7
- package/dist/cjs/controlled-combobox/config/constants.js +0 -42
- package/dist/cjs/controlled-combobox/config/constants.js.map +0 -7
- package/dist/cjs/controlled-combobox/config/useGetPropsWithDefault.js +0 -37
- package/dist/cjs/controlled-combobox/config/useGetPropsWithDefault.js.map +0 -7
- package/dist/cjs/controlled-combobox/index.d.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/index.js +0 -20
- package/dist/cjs/controlled-combobox/parts/dropdown-indicator/index.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/empty-state/index.js +0 -45
- package/dist/cjs/controlled-combobox/parts/empty-state/index.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/empty-state/styled.js +0 -40
- package/dist/cjs/controlled-combobox/parts/empty-state/styled.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/styled.js +0 -48
- package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/styled.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/single-selected-value-container/index.js +0 -35
- package/dist/cjs/controlled-combobox/parts/single-selected-value-container/index.js.map +0 -7
- package/dist/cjs/controlled-combobox/parts/single-selected-value-container/styled.js +0 -40
- package/dist/cjs/controlled-combobox/parts/single-selected-value-container/styled.js.map +0 -7
- package/dist/cjs/controlled-combobox/propTypes.js +0 -55
- package/dist/cjs/controlled-combobox/propTypes.js.map +0 -7
- package/dist/esm/controlled-checkbox/index.d.js +0 -2
- package/dist/esm/controlled-checkbox/propTypes.js +0 -2
- package/dist/esm/controlled-checkbox/propTypes.js.map +0 -7
- package/dist/esm/controlled-combobox/config/constants.js +0 -13
- package/dist/esm/controlled-combobox/config/constants.js.map +0 -7
- package/dist/esm/controlled-combobox/config/useGetPropsWithDefault.js +0 -8
- package/dist/esm/controlled-combobox/config/useGetPropsWithDefault.js.map +0 -7
- package/dist/esm/controlled-combobox/index.d.js +0 -2
- package/dist/esm/controlled-combobox/index.d.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js +0 -21
- package/dist/esm/controlled-combobox/parts/a11y-messages/MultiAllyMessages.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js +0 -19
- package/dist/esm/controlled-combobox/parts/a11y-messages/SingleAllyMessages.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/index.js +0 -2
- package/dist/esm/controlled-combobox/parts/dropdown-indicator/index.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/empty-state/index.js +0 -16
- package/dist/esm/controlled-combobox/parts/empty-state/index.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/empty-state/styled.js +0 -11
- package/dist/esm/controlled-combobox/parts/empty-state/styled.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/styled.js +0 -19
- package/dist/esm/controlled-combobox/parts/multi-selected-values-container/styled.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js +0 -19
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/index.js +0 -6
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/index.js.map +0 -7
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/styled.js +0 -11
- package/dist/esm/controlled-combobox/parts/single-selected-value-container/styled.js.map +0 -7
- package/dist/esm/controlled-combobox/propTypes.js.map +0 -7
- package/dist/types/controlled-autocomplete/Autocomplete.d.ts +0 -62
- package/dist/types/controlled-autocomplete/AutocompleteCTX.d.ts +0 -6
- package/dist/types/controlled-autocomplete/AutocompleteDataTestids.d.ts +0 -11
- package/dist/types/controlled-autocomplete/config/constants.d.ts +0 -8
- package/dist/types/controlled-autocomplete/config/useAutocomplete.d.ts +0 -2
- package/dist/types/controlled-autocomplete/config/useGetPropsWithDefault.d.ts +0 -2
- package/dist/types/controlled-autocomplete/index.d.ts +0 -1
- package/dist/types/controlled-autocomplete/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/a11y-messages/index.d.ts +0 -2
- package/dist/types/controlled-autocomplete/parts/a11y-messages/styled.d.ts +0 -1
- package/dist/types/controlled-autocomplete/parts/container/Container.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/container/index.d.ts +0 -1
- package/dist/types/controlled-autocomplete/parts/container/styled.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/controls/Controls.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/controls/index.d.ts +0 -1
- package/dist/types/controlled-autocomplete/parts/controls/styled.d.ts +0 -8
- package/dist/types/controlled-autocomplete/parts/controls/useControlsInput.d.ts +0 -9
- package/dist/types/controlled-autocomplete/parts/menu-list/MenuList.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/menu-list/index.d.ts +0 -1
- package/dist/types/controlled-autocomplete/parts/menu-list/styled.d.ts +0 -10
- package/dist/types/controlled-autocomplete/parts/menu-list/useItemRenderer.d.ts +0 -3
- package/dist/types/controlled-autocomplete/parts/menu-list/useMenuList.d.ts +0 -2
- package/dist/types/controlled-autocomplete/propTypes.d.ts +0 -51
- package/dist/types/controlled-autocomplete/utils/hooks/useKeyboardNavigation.d.ts +0 -4
- package/dist/types/controlled-autocomplete/utils/hooks/useOnElementResize.d.ts +0 -3
- package/dist/types/controlled-autocomplete/utils/listHelper.d.ts +0 -7
- package/dist/types/controlled-checkbox/ControlledCheckbox.d.ts +0 -0
- package/dist/types/controlled-checkbox/config/useValidateProps.d.ts +0 -0
- package/dist/types/controlled-checkbox/index.d.d.ts +0 -0
- package/dist/types/controlled-checkbox/index.d.ts +0 -1
- package/dist/types/controlled-checkbox/propTypes.d.ts +0 -0
- package/dist/types/controlled-checkbox/styles.d.ts +0 -0
- package/dist/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +0 -0
- package/dist/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +0 -0
- package/dist/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +0 -0
- package/dist/types/controlled-checkbox/utils/setMultipleRefs.d.ts +0 -0
- package/dist/types/controlled-checkbox/utils/styleHelpers.d.ts +0 -0
- package/dist/types/controlled-combobox/ComboBox.d.ts +0 -71
- package/dist/types/controlled-combobox/ComboBoxCTX.d.ts +0 -6
- package/dist/types/controlled-combobox/ComboboxDataTestids.d.ts +0 -11
- package/dist/types/controlled-combobox/config/constants.d.ts +0 -8
- package/dist/types/controlled-combobox/config/useComboBox.d.ts +0 -2
- package/dist/types/controlled-combobox/config/useGetPropsWithDefault.d.ts +0 -2
- package/dist/types/controlled-combobox/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/a11y-messages/index.d.ts +0 -2
- package/dist/types/controlled-combobox/parts/a11y-messages/styled.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/container/Container.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/container/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/container/styled.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/controls/Controls.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/controls/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/controls/styled.d.ts +0 -6
- package/dist/types/controlled-combobox/parts/controls-input/ControlsInput.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/controls-input/styled.d.ts +0 -4
- package/dist/types/controlled-combobox/parts/controls-input/useControlsInput.d.ts +0 -12
- package/dist/types/controlled-combobox/parts/dropdown-indicator/DropdownIndicator.d.ts +0 -4
- package/dist/types/controlled-combobox/parts/dropdown-indicator/index.d.ts +0 -0
- package/dist/types/controlled-combobox/parts/dropdown-indicator/styled.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/empty-state/index.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/empty-state/styled.d.ts +0 -2
- package/dist/types/controlled-combobox/parts/header-list/HeaderList.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/header-list/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/header-list/styled.d.ts +0 -5
- package/dist/types/controlled-combobox/parts/header-list/useHeaderListHandlers.d.ts +0 -10
- package/dist/types/controlled-combobox/parts/menu-list/MenuList.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/menu-list/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/menu-list/styled.d.ts +0 -11
- package/dist/types/controlled-combobox/parts/menu-list/useItemRenderer.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/menu-list/useMenuList.d.ts +0 -2
- package/dist/types/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/multi-selected-values-container/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/multi-selected-values-container/styled.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/multi-selected-values-container/useGroupPills.d.ts +0 -2
- package/dist/types/controlled-combobox/parts/single-selected-value-container/SingleSelectedValueContainer.d.ts +0 -3
- package/dist/types/controlled-combobox/parts/single-selected-value-container/index.d.ts +0 -1
- package/dist/types/controlled-combobox/parts/single-selected-value-container/styled.d.ts +0 -1
- package/dist/types/controlled-combobox/propTypes.d.ts +0 -60
- package/dist/types/controlled-combobox/tests/combobox-general.test.d.ts +0 -1
- package/dist/types/controlled-combobox/tests/combobox-multi-select.test.d.ts +0 -1
- package/dist/types/controlled-combobox/tests/combobox-single-select.test.d.ts +0 -1
- package/dist/types/controlled-combobox/tests/combobox-special-keys.test.d.ts +0 -1
- package/dist/types/controlled-combobox/tests/utils.d.ts +0 -22
- package/dist/types/controlled-combobox/utils/hooks/useKeyboardNavigation.d.ts +0 -4
- package/dist/types/controlled-combobox/utils/hooks/useOnElementResize.d.ts +0 -3
- package/dist/types/controlled-combobox/utils/listHelper.d.ts +0 -7
- package/dist/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +0 -20
- package/dist/types/controlled-date-range-picker/ControlledDateRangePickerCTX.d.ts +0 -6
- package/dist/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +0 -3
- package/dist/types/controlled-date-range-picker/ControlledDateRangePickerTypes.d.ts +0 -6
- package/dist/types/controlled-date-range-picker/config/useControlledDateRangePicker.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/config/useGetPropsWithDefault.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/config/useRangePickerLogic.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/config/useValidateProps.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/index.d.ts +0 -3
- package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeCalendar.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeContent.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeFromDate.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/parts/ControlledDateRangeToDate.d.ts +0 -2
- package/dist/types/controlled-date-range-picker/propTypes.d.ts +0 -9
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +0 -1
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +0 -1
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +0 -1
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +0 -1
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +0 -1
- package/dist/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +0 -92
- package/dist/types/controlled-date-time-picker/ControlledDateTimePickerCTX.d.ts +0 -6
- package/dist/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +0 -55
- package/dist/types/controlled-date-time-picker/ControlledDateTimePickerTypes.d.ts +0 -20
- package/dist/types/controlled-date-time-picker/config/useControlledDateTimePicker.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +0 -4
- package/dist/types/controlled-date-time-picker/config/useGetPropsWithDefault.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/config/useValidateProps.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/index.d.ts +0 -7
- package/dist/types/controlled-date-time-picker/parts/ClearButton/ClearButton.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +0 -11
- package/dist/types/controlled-date-time-picker/parts/ControlledDateTimePickerContent.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +0 -15
- package/dist/types/controlled-date-time-picker/parts/DateInputs/DateInputs.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +0 -16
- package/dist/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +0 -15
- package/dist/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.d.ts +0 -3
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +0 -6
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.d.ts +0 -4
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +0 -66
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +0 -9
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +0 -9
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +0 -22
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +0 -8
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +0 -13
- package/dist/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +0 -12
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +0 -21
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +0 -12
- package/dist/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/PickersIcons.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.d.ts +0 -3
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.d.ts +0 -3
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.d.ts +0 -3
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +0 -28
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.d.ts +0 -3
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.d.ts +0 -4
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +0 -65
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.d.ts +0 -6
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +0 -4
- package/dist/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/Styleds.d.ts +0 -16
- package/dist/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +0 -16
- package/dist/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +0 -15
- package/dist/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +0 -15
- package/dist/types/controlled-date-time-picker/parts/TimeInputs/TimeInputs.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.d.ts +0 -2
- package/dist/types/controlled-date-time-picker/parts/config.d.ts +0 -5
- package/dist/types/controlled-date-time-picker/propTypes.d.ts +0 -81
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.auto-advance.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.clear-button.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.manual-delete-values.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.onChange-meta-info.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/tests/date-time-picker.types-dom.test.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/utils/constants.d.ts +0 -44
- package/dist/types/controlled-date-time-picker/utils/dateHelpers.d.ts +0 -39
- package/dist/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +0 -8
- package/dist/types/controlled-date-time-picker/utils/hooks/useGetDayFromDateString.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.d.ts +0 -5
- package/dist/types/controlled-date-time-picker/utils/hooks/useGetStartingFocusedDay.d.ts +0 -8
- package/dist/types/controlled-date-time-picker/utils/hooks/useOnClickOutside.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/utils/numberHelpers.d.ts +0 -1
- package/dist/types/controlled-date-time-picker/utils/stringHelpers.d.ts +0 -36
- package/dist/types/controlled-date-time-picker/utils/timeHelpers.d.ts +0 -2
- package/dist/types/controlled-toggle/ControlledToggle.d.ts +0 -98
- package/dist/types/controlled-toggle/defaultProps.d.ts +0 -12
- package/dist/types/controlled-toggle/index.d.ts +0 -1
- package/dist/types/controlled-toggle/propTypes.d.ts +0 -75
- package/dist/types/controlled-toggle/styles.d.ts +0 -8
- package/dist/types/controlled-toggle/tests/DSControlledToggle.keyboard.test.d.ts +0 -1
- package/dist/types/controlled-toggle/tests/DSControlledToggle.test.d.ts +0 -1
- package/dist/types/controlled-toggle/utils/addTooltipOnReadOnly.d.ts +0 -2
- package/dist/types/controlled-toggle/utils/styleHelpers.d.ts +0 -36
- package/dist/types/index.d.ts +0 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/controlled-combobox/parts/menu-list/useItemRenderer.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo, useContext, useCallback } from 'react';\nimport {
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo, useContext, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { SingleMenuItem, MultiMenuItem, Section, Separator } from '@elliemae/ds-common/MenuItem';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { StyledCreatableLabel } from './styled';\nimport { isSelected } from '../../utils/listHelper';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nimport { DSComboboxT } from '../../react-desc-prop-types';\n\nconst useItemRenderer = (): Array<JSX.Element> | undefined => {\n const {\n props: { options, onCreate, onChange, selectedValues, onFilter, innerRef },\n setShowPopover,\n focusOptionIdx,\n virtualListHelpers,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n const CBItem = multiple ? MultiMenuItem : SingleMenuItem;\n\n const handleClick = useCallback(\n (option: DSComboboxT.ItemOption | DSComboboxT.ItemCreatableOption, e: Event) => {\n if (option.type === 'creatable') {\n if (innerRef.current) {\n onCreate(innerRef.current.value);\n innerRef.current.value = '';\n onFilter('');\n }\n return;\n }\n if (!multiple) {\n if (!option.disabled) setShowPopover(false);\n if (innerRef.current) innerRef.current.value = '';\n } else if (innerRef.current) {\n onFilter(innerRef.current.value);\n }\n onChange(option);\n e.stopPropagation();\n e.preventDefault();\n },\n [onFilter, onChange, setShowPopover, multiple, innerRef],\n );\n\n const handleOnMouseDown = useCallback((e: React.MouseEvent<HTMLLIElement>) => {\n e.preventDefault();\n }, []);\n\n const ItemRenderer = useMemo(\n (): Array<JSX.Element> | undefined =>\n virtualListHelpers?.virtualItems.map((vItem) => {\n const option = options[vItem.index];\n const generalProps = {\n wrapperStyles: { position: 'absolute', top: vItem.start, left: 0, width: '100%' },\n key: `${option.dsId}`,\n innerRef: vItem.measureRef,\n };\n if (option.type === 'section') {\n return <Section label={option.label} {...generalProps} />;\n }\n if (option.type === 'separator') {\n return <Separator {...generalProps} />;\n }\n if (option.type === 'option') {\n return (\n <CBItem\n {...generalProps}\n value={option.value}\n label={option.label}\n dataTestid={ComboboxDataTestid.OPTION}\n disabled={option.disabled}\n onClick={(e: Event) => handleClick(option, e)}\n onMouseDown={handleOnMouseDown}\n isActive={option.dsId === focusOptionIdx}\n isSelected={isSelected(selectedValues, option)}\n tabIndex={-1}\n />\n );\n }\n if (option.type === 'creatable') {\n return (\n <SingleMenuItem\n dataTestid={ComboboxDataTestid.OPTION}\n isActive={option.dsId === focusOptionIdx}\n {...generalProps}\n render={({ label }: { label: string }) => (\n <Grid cols={['min-content', 'auto']} height=\"16px\" gutter=\"xxs\" alignItems=\"center\">\n <StyledCreatableLabel>Add:</StyledCreatableLabel>\n <span>{label}</span>\n </Grid>\n )}\n label={option.label}\n onClick={(e: Event) => handleClick(option, e)}\n />\n );\n }\n return <></>;\n }),\n [options, focusOptionIdx, selectedValues, innerRef, virtualListHelpers?.virtualItems],\n );\n\n return ItemRenderer;\n};\n\nexport { useItemRenderer };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwD;AACxD,qBAAqB;AACrB,sBAAkE;AAClE,yBAAgC;AAChC,oBAAqC;AACrC,wBAA2B;AAC3B,iCAAmC;AAGnC,MAAM,kBAAkB,MAAsC;AAC5D,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,UAAU,UAAU,gBAAgB,UAAU;AAAA,IAChE;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,WAAW,MAAM,QAAQ;AAC/B,QAAM,SAAS,WAAW,gCAAgB;AAE1C,QAAM,cAAc,8BAClB,CAAC,QAAkE,MAAa;AAC9E,QAAI,OAAO,SAAS,aAAa;AAC/B,UAAI,SAAS,SAAS;AACpB,iBAAS,SAAS,QAAQ;AAC1B,iBAAS,QAAQ,QAAQ;AACzB,iBAAS;AAAA;AAEX;AAAA;AAEF,QAAI,CAAC,UAAU;AACb,UAAI,CAAC,OAAO;AAAU,uBAAe;AACrC,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAAA,eACtC,SAAS,SAAS;AAC3B,eAAS,SAAS,QAAQ;AAAA;AAE5B,aAAS;AACT,MAAE;AACF,MAAE;AAAA,KAEJ,CAAC,UAAU,UAAU,gBAAgB,UAAU;AAGjD,QAAM,oBAAoB,8BAAY,CAAC,MAAuC;AAC5E,MAAE;AAAA,KACD;AAEH,QAAM,eAAe,0BACnB,MACE,oBAAoB,aAAa,IAAI,CAAC,UAAU;AAC9C,UAAM,SAAS,QAAQ,MAAM;AAC7B,UAAM,eAAe;AAAA,MACnB,eAAe,EAAE,UAAU,YAAY,KAAK,MAAM,OAAO,MAAM,GAAG,OAAO;AAAA,MACzE,KAAK,GAAG,OAAO;AAAA,MACf,UAAU,MAAM;AAAA;AAElB,QAAI,OAAO,SAAS,WAAW;AAC7B,aAAO,mDAAC,yBAAD;AAAA,QAAS,OAAO,OAAO;AAAA,SAAW;AAAA;AAE3C,QAAI,OAAO,SAAS,aAAa;AAC/B,aAAO,mDAAC,2BAAD,mBAAe;AAAA;AAExB,QAAI,OAAO,SAAS,UAAU;AAC5B,aACE,mDAAC,QAAD,iCACM,eADN;AAAA,QAEE,OAAO,OAAO;AAAA,QACd,OAAO,OAAO;AAAA,QACd,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO;AAAA,QACjB,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA,QAC3C,aAAa;AAAA,QACb,UAAU,OAAO,SAAS;AAAA,QAC1B,YAAY,kCAAW,gBAAgB;AAAA,QACvC,UAAU;AAAA;AAAA;AAIhB,QAAI,OAAO,SAAS,aAAa;AAC/B,aACE,mDAAC,gCAAD;AAAA,QACE,YAAY,8CAAmB;AAAA,QAC/B,UAAU,OAAO,SAAS;AAAA,SACtB,eAHN;AAAA,QAIE,QAAQ,CAAC,EAAE,YACT,mDAAC,qBAAD;AAAA,UAAM,MAAM,CAAC,eAAe;AAAA,UAAS,QAAO;AAAA,UAAO,QAAO;AAAA,UAAM,YAAW;AAAA,WACzE,mDAAC,oCAAD,MAAsB,SACtB,mDAAC,QAAD,MAAO;AAAA,QAGX,OAAO,OAAO;AAAA,QACd,SAAS,CAAC,MAAa,YAAY,QAAQ;AAAA;AAAA;AAIjD,WAAO;AAAA,MAEX,CAAC,SAAS,gBAAgB,gBAAgB,UAAU,oBAAoB;AAG1E,SAAO;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -34,8 +34,7 @@ var import_react = require("react");
|
|
|
34
34
|
var import_ComboBoxCTX = require("../../ComboBoxCTX");
|
|
35
35
|
const useMenuList = () => {
|
|
36
36
|
const {
|
|
37
|
-
props: { inline, selectedValues, onMenuOpen, options },
|
|
38
|
-
inputRef,
|
|
37
|
+
props: { inline, selectedValues, onMenuOpen, options, innerRef },
|
|
39
38
|
setCurrentOption,
|
|
40
39
|
scrollOptionIntoView,
|
|
41
40
|
hasFocus,
|
|
@@ -52,27 +51,26 @@ const useMenuList = () => {
|
|
|
52
51
|
if (showPopover || inline) {
|
|
53
52
|
if (onMenuOpen)
|
|
54
53
|
onMenuOpen();
|
|
55
|
-
if (
|
|
54
|
+
if (innerRef.current?.value !== "") {
|
|
56
55
|
getFirstOption();
|
|
57
56
|
} else if (Array.isArray(selectedValues)) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
scrollOptionIntoView(multiSelectedValues[multiSelectedValues.length - 1].dsId);
|
|
57
|
+
if (selectedValues && selectedValues.length > 0) {
|
|
58
|
+
setCurrentOption(selectedValues[selectedValues.length - 1].dsId);
|
|
59
|
+
scrollOptionIntoView(selectedValues[selectedValues.length - 1].dsId);
|
|
62
60
|
} else {
|
|
63
61
|
getFirstOption();
|
|
64
62
|
}
|
|
65
63
|
} else {
|
|
66
64
|
const singleSelectedValue = selectedValues;
|
|
67
65
|
if (singleSelectedValue) {
|
|
68
|
-
setCurrentOption(
|
|
69
|
-
scrollOptionIntoView(
|
|
66
|
+
setCurrentOption(singleSelectedValue.dsId);
|
|
67
|
+
scrollOptionIntoView(singleSelectedValue.dsId);
|
|
70
68
|
} else {
|
|
71
69
|
getFirstOption();
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
72
|
}
|
|
75
|
-
}, [showPopover, inline, hasFocus,
|
|
73
|
+
}, [showPopover, inline, hasFocus, innerRef.current?.value]);
|
|
76
74
|
};
|
|
77
75
|
module.exports = __toCommonJS(useMenuList_exports);
|
|
78
76
|
//# sourceMappingURL=useMenuList.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/controlled-combobox/parts/menu-list/useMenuList.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useEffect, useContext } from 'react';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport type {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsC;AACtC,yBAAgC;AAGhC,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY
|
|
4
|
+
"sourcesContent": ["import { useEffect, useContext } from 'react';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport type { DSComboboxT } from '../../react-desc-prop-types';\n\nconst useMenuList = (): void => {\n const {\n props: { inline, selectedValues, onMenuOpen, options, innerRef },\n setCurrentOption,\n scrollOptionIntoView,\n hasFocus,\n showPopover,\n } = useContext(ComboBoxContext);\n\n useEffect(() => {\n const getFirstOption = () => {\n for (let i = 0; i < options.length; i += 1)\n if (!['section', 'separator'].includes(options[i].type)) {\n setCurrentOption(options[i].dsId);\n break;\n }\n };\n if (showPopover || inline) {\n if (onMenuOpen) onMenuOpen();\n if (innerRef.current?.value !== '') {\n getFirstOption();\n } else if (Array.isArray(selectedValues)) {\n if (selectedValues && selectedValues.length > 0) {\n setCurrentOption(selectedValues[selectedValues.length - 1].dsId);\n scrollOptionIntoView(selectedValues[selectedValues.length - 1].dsId);\n } else {\n getFirstOption();\n }\n } else {\n const singleSelectedValue = selectedValues as DSComboboxT.ItemOption;\n if (singleSelectedValue) {\n setCurrentOption(singleSelectedValue.dsId);\n scrollOptionIntoView(singleSelectedValue.dsId);\n } else {\n getFirstOption();\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showPopover, inline, hasFocus, innerRef.current?.value]);\n};\n\nexport { useMenuList };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAsC;AACtC,yBAAgC;AAGhC,MAAM,cAAc,MAAY;AAC9B,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ,gBAAgB,YAAY,SAAS;AAAA,IACtD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,8BAAU,MAAM;AACd,UAAM,iBAAiB,MAAM;AAC3B,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,YAAI,CAAC,CAAC,WAAW,aAAa,SAAS,QAAQ,GAAG,OAAO;AACvD,2BAAiB,QAAQ,GAAG;AAC5B;AAAA;AAAA;AAGN,QAAI,eAAe,QAAQ;AACzB,UAAI;AAAY;AAChB,UAAI,SAAS,SAAS,UAAU,IAAI;AAClC;AAAA,iBACS,MAAM,QAAQ,iBAAiB;AACxC,YAAI,kBAAkB,eAAe,SAAS,GAAG;AAC/C,2BAAiB,eAAe,eAAe,SAAS,GAAG;AAC3D,+BAAqB,eAAe,eAAe,SAAS,GAAG;AAAA,eAC1D;AACL;AAAA;AAAA,aAEG;AACL,cAAM,sBAAsB;AAC5B,YAAI,qBAAqB;AACvB,2BAAiB,oBAAoB;AACrC,+BAAqB,oBAAoB;AAAA,eACpC;AACL;AAAA;AAAA;AAAA;AAAA,KAKL,CAAC,aAAa,QAAQ,UAAU,SAAS,SAAS;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -31,37 +31,50 @@ __export(MultiSelectedValuesContainer_exports, {
|
|
|
31
31
|
});
|
|
32
32
|
var React = __toESM(require("react"));
|
|
33
33
|
var import_react = __toESM(require("react"));
|
|
34
|
-
var import_ds_grid = require("@elliemae/ds-grid");
|
|
35
34
|
var import_ds_pills = require("@elliemae/ds-pills");
|
|
36
35
|
var import_ComboBoxCTX = require("../../ComboBoxCTX");
|
|
37
36
|
var import_useGroupPills = require("./useGroupPills");
|
|
38
|
-
var
|
|
37
|
+
var import_ComboboxDataTestids = require("../../ComboboxDataTestids");
|
|
39
38
|
const MultiSelectedValuesContainer = () => {
|
|
40
39
|
const {
|
|
41
|
-
props: { selectedValues },
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
props: { selectedValues, onChange, innerRef },
|
|
41
|
+
pillGroupRef,
|
|
42
|
+
showPopover,
|
|
43
|
+
setShowPopover
|
|
44
44
|
} = (0, import_react.useContext)(import_ComboBoxCTX.ComboBoxContext);
|
|
45
45
|
const multiSelectedValue = selectedValues;
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const correctPillsToShow = (0, import_useGroupPills.useGroupPills)() || 1;
|
|
47
|
+
const handleClickOnPills = (0, import_react.useCallback)((e) => {
|
|
48
|
+
if (!showPopover) {
|
|
49
|
+
setShowPopover(true);
|
|
50
|
+
innerRef.current?.focus();
|
|
51
|
+
}
|
|
52
|
+
e.stopPropagation();
|
|
53
|
+
}, [setShowPopover, innerRef, showPopover]);
|
|
54
|
+
const pills = (0, import_react.useMemo)(() => /* @__PURE__ */ import_react.default.createElement("div", {
|
|
55
|
+
style: { width: "max-content" },
|
|
56
|
+
"data-testid": import_ComboboxDataTestids.ComboboxDataTestid.SELECTED_VALUES
|
|
50
57
|
}, /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillGroupV2, {
|
|
58
|
+
onClick: handleClickOnPills,
|
|
51
59
|
innerRef: pillGroupRef
|
|
52
60
|
}, multiSelectedValue.length > 0 && multiSelectedValue.slice(0, correctPillsToShow).map((option) => /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillV2, {
|
|
53
61
|
size: "s",
|
|
54
62
|
key: option.value,
|
|
55
63
|
label: option.label,
|
|
56
|
-
type: "
|
|
64
|
+
type: "removable",
|
|
65
|
+
tabIndex: -1,
|
|
66
|
+
onRemove: () => {
|
|
67
|
+
onChange(option);
|
|
68
|
+
innerRef.current?.focus();
|
|
69
|
+
}
|
|
57
70
|
})), multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && /* @__PURE__ */ import_react.default.createElement(import_ds_pills.DSPillV2, {
|
|
58
71
|
size: "s",
|
|
59
72
|
labelTruncated: false,
|
|
60
73
|
key: "grouped",
|
|
61
74
|
label: `+${multiSelectedValue.length - correctPillsToShow}`,
|
|
62
75
|
type: "value"
|
|
63
|
-
}))), [pillGroupRef, multiSelectedValue, correctPillsToShow]);
|
|
64
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null,
|
|
76
|
+
}))), [pillGroupRef, innerRef, onChange, handleClickOnPills, multiSelectedValue, correctPillsToShow]);
|
|
77
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, pills);
|
|
65
78
|
};
|
|
66
79
|
module.exports = __toCommonJS(MultiSelectedValuesContainer_exports);
|
|
67
80
|
//# sourceMappingURL=MultiSelectedValuesContainer.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/controlled-combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useMemo, useContext } from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,
|
|
4
|
+
"sourcesContent": ["import React, { useMemo, useContext, useCallback } from 'react';\nimport { DSPillGroupV2, DSPillV2 } from '@elliemae/ds-pills';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { useGroupPills } from './useGroupPills';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { ComboboxDataTestid } from '../../ComboboxDataTestids';\nconst MultiSelectedValuesContainer = (): JSX.Element => {\n const {\n props: { selectedValues, onChange, innerRef },\n pillGroupRef,\n showPopover,\n setShowPopover,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValue = selectedValues as DSComboboxT.ItemOption[];\n const correctPillsToShow = useGroupPills() || 1;\n\n const handleClickOnPills = useCallback(\n (e: Event) => {\n if (!showPopover) {\n setShowPopover(true);\n innerRef.current?.focus();\n }\n e.stopPropagation();\n },\n [setShowPopover, innerRef, showPopover],\n );\n\n const pills = useMemo(\n () => (\n <div style={{ width: 'max-content' }} data-testid={ComboboxDataTestid.SELECTED_VALUES}>\n <DSPillGroupV2 onClick={handleClickOnPills} innerRef={pillGroupRef}>\n {multiSelectedValue.length > 0 &&\n multiSelectedValue.slice(0, correctPillsToShow).map((option) => (\n <DSPillV2\n size=\"s\"\n key={option.value}\n label={option.label}\n type=\"removable\"\n tabIndex={-1}\n onRemove={() => {\n onChange(option);\n innerRef.current?.focus();\n }}\n />\n ))}\n {multiSelectedValue.length > 0 && correctPillsToShow !== multiSelectedValue.length && (\n <DSPillV2\n size=\"s\"\n labelTruncated={false}\n key=\"grouped\"\n label={`+${multiSelectedValue.length - correctPillsToShow}`}\n type=\"value\"\n />\n )}\n </DSPillGroupV2>\n </div>\n ),\n\n [pillGroupRef, innerRef, onChange, handleClickOnPills, multiSelectedValue, correctPillsToShow],\n );\n\n return <>{pills}</>;\n};\n\nexport { MultiSelectedValuesContainer };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwD;AACxD,sBAAwC;AACxC,yBAAgC;AAChC,2BAA8B;AAE9B,iCAAmC;AACnC,MAAM,+BAA+B,MAAmB;AACtD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,UAAU;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,qBAAqB;AAC3B,QAAM,qBAAqB,6CAAmB;AAE9C,QAAM,qBAAqB,8BACzB,CAAC,MAAa;AACZ,QAAI,CAAC,aAAa;AAChB,qBAAe;AACf,eAAS,SAAS;AAAA;AAEpB,MAAE;AAAA,KAEJ,CAAC,gBAAgB,UAAU;AAG7B,QAAM,QAAQ,0BACZ,MACE,mDAAC,OAAD;AAAA,IAAK,OAAO,EAAE,OAAO;AAAA,IAAiB,eAAa,8CAAmB;AAAA,KACpE,mDAAC,+BAAD;AAAA,IAAe,SAAS;AAAA,IAAoB,UAAU;AAAA,KACnD,mBAAmB,SAAS,KAC3B,mBAAmB,MAAM,GAAG,oBAAoB,IAAI,CAAC,WACnD,mDAAC,0BAAD;AAAA,IACE,MAAK;AAAA,IACL,KAAK,OAAO;AAAA,IACZ,OAAO,OAAO;AAAA,IACd,MAAK;AAAA,IACL,UAAU;AAAA,IACV,UAAU,MAAM;AACd,eAAS;AACT,eAAS,SAAS;AAAA;AAAA,OAIzB,mBAAmB,SAAS,KAAK,uBAAuB,mBAAmB,UAC1E,mDAAC,0BAAD;AAAA,IACE,MAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,KAAI;AAAA,IACJ,OAAO,IAAI,mBAAmB,SAAS;AAAA,IACvC,MAAK;AAAA,QAOf,CAAC,cAAc,UAAU,UAAU,oBAAoB,oBAAoB;AAG7E,SAAO,wFAAG;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -41,8 +41,7 @@ const getGroupedPillWidth = (remainingPills) => {
|
|
|
41
41
|
};
|
|
42
42
|
const useGroupPills = () => {
|
|
43
43
|
const {
|
|
44
|
-
props: { selectedValues },
|
|
45
|
-
inputRef,
|
|
44
|
+
props: { selectedValues, innerRef },
|
|
46
45
|
selectedOptionsRef,
|
|
47
46
|
controlsWrapperRef,
|
|
48
47
|
pillGroupRef
|
|
@@ -50,7 +49,7 @@ const useGroupPills = () => {
|
|
|
50
49
|
const multiSelectedValues = selectedValues;
|
|
51
50
|
const [pillsToShow, setPillsToShow] = (0, import_react.useState)(multiSelectedValues.length);
|
|
52
51
|
const { width } = (0, import_useOnElementResize.useOnElementResize)(controlsWrapperRef);
|
|
53
|
-
const { width: widthInput } = (0, import_useOnElementResize.useOnElementResize)(
|
|
52
|
+
const { width: widthInput } = (0, import_useOnElementResize.useOnElementResize)(innerRef || null);
|
|
54
53
|
(0, import_react.useEffect)(() => {
|
|
55
54
|
if (multiSelectedValues.length !== pillsToShow) {
|
|
56
55
|
setPillsToShow(multiSelectedValues.length);
|
|
@@ -64,7 +63,7 @@ const useGroupPills = () => {
|
|
|
64
63
|
let currentWidth = 0;
|
|
65
64
|
const referenceWidth = selectedOptionsRef.current.offsetWidth;
|
|
66
65
|
const pills = [
|
|
67
|
-
...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-
|
|
66
|
+
...selectedOptionsRef.current.querySelectorAll(".ds-pill-wrapper-removable")
|
|
68
67
|
];
|
|
69
68
|
const pillsWidth = pills.map((pill) => pill?.offsetWidth);
|
|
70
69
|
pillsWidth.forEach((pillWidth, idx) => {
|
|
@@ -82,7 +81,7 @@ const useGroupPills = () => {
|
|
|
82
81
|
if (pillGroupRef.current)
|
|
83
82
|
pillGroupRef.current.style.width = "fit-content";
|
|
84
83
|
}
|
|
85
|
-
}, [selectedOptionsRef,
|
|
84
|
+
}, [selectedOptionsRef, innerRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);
|
|
86
85
|
return pillsToShow;
|
|
87
86
|
};
|
|
88
87
|
module.exports = __toCommonJS(useGroupPills_exports);
|
package/dist/cjs/controlled-combobox/parts/multi-selected-values-container/useGroupPills.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/controlled-combobox/parts/multi-selected-values-container/useGroupPills.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useContext, useEffect, useState, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiE;AACjE,gCAAmC;AACnC,yBAAgC;AAGhC,MAAM,sBAAsB,CAAC,mBAAmC;AAC9D,MAAI,mBAAmB;AAAG,WAAO;AACjC,QAAM,SAAS,eAAe,WAAW;AACzC,SAAO,IAAK,UAAS,KAAK;AAAA;AAE5B,MAAM,gBAAgB,MAAc;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE
|
|
4
|
+
"sourcesContent": ["import { useContext, useEffect, useState, useLayoutEffect } from 'react';\nimport { useOnElementResize } from '../../utils/hooks/useOnElementResize';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { DSComboboxT } from '../../react-desc-prop-types';\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 = (): number => {\n const {\n props: { selectedValues, innerRef },\n selectedOptionsRef,\n controlsWrapperRef,\n pillGroupRef,\n } = useContext(ComboBoxContext);\n\n const multiSelectedValues = selectedValues as DSComboboxT.ItemOption[];\n const [pillsToShow, setPillsToShow] = useState(multiSelectedValues.length);\n const { width } = useOnElementResize(controlsWrapperRef);\n const { width: widthInput } = useOnElementResize(innerRef || null);\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, widthInput]);\n\n useLayoutEffect(() => {\n if (selectedOptionsRef.current) {\n if (pillGroupRef.current) 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 if (!(multiSelectedValues.length > 0 && pillsToShow !== multiSelectedValues.length)) {\n const nextPillsToShow = lastPillFit + 1;\n\n if (nextPillsToShow !== pillsToShow) {\n setPillsToShow(nextPillsToShow);\n }\n }\n\n if (pillGroupRef.current) pillGroupRef.current.style.width = 'fit-content';\n }\n }, [selectedOptionsRef, innerRef, multiSelectedValues, pillsToShow, pillGroupRef, width, widthInput]);\n\n return pillsToShow;\n};\n\nexport { useGroupPills };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiE;AACjE,gCAAmC;AACnC,yBAAgC;AAGhC,MAAM,sBAAsB,CAAC,mBAAmC;AAC9D,MAAI,mBAAmB;AAAG,WAAO;AACjC,QAAM,SAAS,eAAe,WAAW;AACzC,SAAO,IAAK,UAAS,KAAK;AAAA;AAE5B,MAAM,gBAAgB,MAAc;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,sBAAsB;AAC5B,QAAM,CAAC,aAAa,kBAAkB,2BAAS,oBAAoB;AACnE,QAAM,EAAE,UAAU,kDAAmB;AACrC,QAAM,EAAE,OAAO,eAAe,kDAAmB,YAAY;AAC7D,8BAAU,MAAM;AACd,QAAI,oBAAoB,WAAW,aAAa;AAC9C,qBAAe,oBAAoB;AAAA;AAAA,KAGpC,CAAC,oBAAoB,QAAQ,OAAO;AAEvC,oCAAgB,MAAM;AACpB,QAAI,mBAAmB,SAAS;AAC9B,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAC7D,UAAI,cAAc;AAClB,UAAI,eAAe;AACnB,YAAM,iBAAiB,mBAAmB,QAAQ;AAClD,YAAM,QAA0B;AAAA,QAC9B,GAAG,mBAAmB,QAAQ,iBAAiB;AAAA;AAEjD,YAAM,aAAa,MAAM,IAAI,CAAC,SAAS,MAAM;AAC7C,iBAAW,QAAQ,CAAC,WAAW,QAAQ;AACrC,wBAAgB;AAChB,YAAI,eAAe,oBAAoB,oBAAoB,SAAS,MAAM,MAAM,gBAAgB;AAC9F,wBAAc;AAAA;AAAA;AAGlB,UAAI,CAAE,qBAAoB,SAAS,KAAK,gBAAgB,oBAAoB,SAAS;AACnF,cAAM,kBAAkB,cAAc;AAEtC,YAAI,oBAAoB,aAAa;AACnC,yBAAe;AAAA;AAAA;AAInB,UAAI,aAAa;AAAS,qBAAa,QAAQ,MAAM,QAAQ;AAAA;AAAA,KAE9D,CAAC,oBAAoB,UAAU,qBAAqB,aAAa,cAAc,OAAO;AAEzF,SAAO;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
25
|
+
var __export = (target, all) => {
|
|
26
|
+
for (var name in all)
|
|
27
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
28
|
+
};
|
|
29
|
+
var __reExport = (target, module2, copyDefault, desc) => {
|
|
30
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
31
|
+
for (let key of __getOwnPropNames(module2))
|
|
32
|
+
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
33
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
34
|
+
}
|
|
35
|
+
return target;
|
|
36
|
+
};
|
|
37
|
+
var __toESM = (module2, isNodeMode) => {
|
|
38
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
39
|
+
};
|
|
40
|
+
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
41
|
+
return (module2, temp) => {
|
|
42
|
+
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
43
|
+
};
|
|
44
|
+
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
45
|
+
var react_desc_prop_types_exports = {};
|
|
46
|
+
__export(react_desc_prop_types_exports, {
|
|
47
|
+
ComboboxPropTypes: () => ComboboxPropTypes
|
|
48
|
+
});
|
|
49
|
+
var React = __toESM(require("react"));
|
|
50
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
51
|
+
const ComboboxPropTypes = __spreadProps(__spreadValues({}, import_ds_props_helpers.globalAttributesPropTypes), {
|
|
52
|
+
placeholder: import_ds_props_helpers.PropTypes.string.description("input s placeholder value").defaultValue(""),
|
|
53
|
+
options: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.array, import_ds_props_helpers.PropTypes.object]).isRequired.description("List of options").defaultValue([]),
|
|
54
|
+
selectedValues: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.object), import_ds_props_helpers.PropTypes.object]).description("Array of option or single option selected"),
|
|
55
|
+
disabled: import_ds_props_helpers.PropTypes.bool.description("wheter or not the input is disabled").defaultValue("false"),
|
|
56
|
+
autoFocus: import_ds_props_helpers.PropTypes.bool.description("Whether the combo box uses auto focus or not").defaultValue("false"),
|
|
57
|
+
hasError: import_ds_props_helpers.PropTypes.bool.description("Whether the combo box has error or not").defaultValue("false"),
|
|
58
|
+
onChange: import_ds_props_helpers.PropTypes.func.description("function triggered when an option is selected it will send the options selected").defaultValue(""),
|
|
59
|
+
onSelectAll: import_ds_props_helpers.PropTypes.func.description("function triggered when ALL button is selected from the header menu list").defaultValue(""),
|
|
60
|
+
onFilter: import_ds_props_helpers.PropTypes.func.description("function triggered when user type in the combobox input").defaultValue(""),
|
|
61
|
+
onCreate: import_ds_props_helpers.PropTypes.func.description('function triggered when user select "create" a new item whenever is not a match in the all option list').defaultValue(""),
|
|
62
|
+
onClearAll: import_ds_props_helpers.PropTypes.func.description("function triggered when user select CLEAR button from the header menu list").defaultValue(""),
|
|
63
|
+
onCancel: import_ds_props_helpers.PropTypes.func.description("function triggered when user press ESC key").defaultValue(""),
|
|
64
|
+
onMenuOpen: import_ds_props_helpers.PropTypes.func.description("function triggered when user open the menu list").defaultValue(""),
|
|
65
|
+
inputMinWidth: import_ds_props_helpers.PropTypes.any.description("Minimum width for the combo box input controller").defaultValue(void 0),
|
|
66
|
+
menuMinWidth: import_ds_props_helpers.PropTypes.any.description("Minimum width for the dropdown menu").defaultValue(void 0),
|
|
67
|
+
menuMaxHeight: import_ds_props_helpers.PropTypes.any.description("Maximum height for the dropdown menu").defaultValue(void 0),
|
|
68
|
+
withoutPortal: import_ds_props_helpers.PropTypes.bool.description("Whether the combobox menu is rendered in a portal or not").defaultValue(false),
|
|
69
|
+
zIndex: import_ds_props_helpers.PropTypes.number.description("The z-index of the combobox menu").defaultValue(10),
|
|
70
|
+
innerRef: import_ds_props_helpers.PropTypes.object.description("ref to the component s container")
|
|
71
|
+
});
|
|
72
|
+
module.exports = __toCommonJS(react_desc_prop_types_exports);
|
|
73
|
+
//# sourceMappingURL=react-desc-prop-types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/controlled-combobox/react-desc-prop-types.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { globalAttributesPropTypes, PropTypes } from '@elliemae/ds-props-helpers';\n\nexport declare namespace DSComboboxT {\n export interface CommonItemOptions {\n dsId: string;\n disabled?: boolean;\n render?: React.ComponentType<unknown>;\n }\n export interface ItemSeparatorOptions extends CommonItemOptions {\n type: 'separator';\n }\n\n export interface ItemSectionOptions extends CommonItemOptions {\n type: 'section';\n label: string;\n }\n\n export interface ItemOption extends CommonItemOptions {\n value: string;\n label: string;\n type: 'option';\n }\n\n export interface ItemCreatableOption extends CommonItemOptions {\n label: string;\n type: 'creatable';\n }\n\n export type OptionTypes = ItemOption | ItemSectionOptions | ItemSeparatorOptions | ItemCreatableOption;\n\n export type SelectedOptionsT = ItemOption[] | ItemOption | null;\n export interface PropsOptional {\n innerRef: React.RefObject<HTMLInputElement>;\n }\n export interface DefaultProps {\n placeholder?: string;\n options: OptionTypes[];\n selectedValues: SelectedOptionsT;\n hasError?: boolean;\n inline?: boolean;\n autoFocus?: boolean;\n startPlacementPreference?: string;\n placementOrderPreference?: string[];\n withoutPortal?: boolean;\n zIndex?: number;\n inputMinWidth?: number;\n menuMinWidth?: number;\n menuMaxHeight?: number;\n disabled?: boolean;\n onKeyDown: (e: React.KeyboardEvent<HTMLInputElement>, value: ItemOption | undefined) => void;\n onChange: (value: ItemOption | null) => void;\n onBlur: () => void;\n onSelectAll: () => void;\n onClearAll: () => void;\n onFilter: (value: string) => void;\n onCreate: (label: string) => void;\n onMenuOpen?: () => void;\n onCancel?: () => void;\n }\n\n export interface Props extends DefaultProps, PropsOptional {}\n}\n\nexport const ComboboxPropTypes = {\n ...globalAttributesPropTypes,\n placeholder: PropTypes.string.description('input s placeholder value').defaultValue(''),\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n .isRequired.description('List of options')\n .defaultValue([]),\n selectedValues: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object]).description(\n 'Array of option or single option selected',\n ),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),\n autoFocus: PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),\n hasError: PropTypes.bool.description('Whether the combo box has error or not').defaultValue('false'),\n onChange: PropTypes.func\n .description('function triggered when an option is selected it will send the options selected')\n .defaultValue(''),\n onSelectAll: PropTypes.func\n .description('function triggered when ALL button is selected from the header menu list')\n .defaultValue(''),\n onFilter: PropTypes.func.description('function triggered when user type in the combobox input').defaultValue(''),\n onCreate: PropTypes.func\n .description(\n 'function triggered when user select \"create\" a new item whenever is not a match in the all option list',\n )\n .defaultValue(''),\n onClearAll: PropTypes.func\n .description('function triggered when user select CLEAR button from the header menu list')\n .defaultValue(''),\n onCancel: PropTypes.func.description('function triggered when user press ESC key').defaultValue(''),\n onMenuOpen: PropTypes.func.description('function triggered when user open the menu list').defaultValue(''),\n inputMinWidth: PropTypes.any.description('Minimum width for the combo box input controller').defaultValue(undefined),\n menuMinWidth: PropTypes.any.description('Minimum width for the dropdown menu').defaultValue(undefined),\n menuMaxHeight: PropTypes.any.description('Maximum height for the dropdown menu').defaultValue(undefined),\n withoutPortal: PropTypes.bool\n .description('Whether the combobox menu is rendered in a portal or not')\n .defaultValue(false),\n zIndex: PropTypes.number.description('The z-index of the combobox menu').defaultValue(10),\n innerRef: PropTypes.object.description('ref to the component s container'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAAqD;AA+D9C,MAAM,oBAAoB,iCAC5B,oDAD4B;AAAA,EAE/B,aAAa,kCAAU,OAAO,YAAY,6BAA6B,aAAa;AAAA,EACpF,SAAS,kCAAU,UAAU,CAAC,kCAAU,OAAO,kCAAU,SACtD,WAAW,YAAY,mBACvB,aAAa;AAAA,EAChB,gBAAgB,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,SAAS,kCAAU,SAAS,YAC3F;AAAA,EAEF,UAAU,kCAAU,KAAK,YAAY,uCAAuC,aAAa;AAAA,EACzF,WAAW,kCAAU,KAAK,YAAY,gDAAgD,aAAa;AAAA,EACnG,UAAU,kCAAU,KAAK,YAAY,0CAA0C,aAAa;AAAA,EAC5F,UAAU,kCAAU,KACjB,YAAY,mFACZ,aAAa;AAAA,EAChB,aAAa,kCAAU,KACpB,YAAY,4EACZ,aAAa;AAAA,EAChB,UAAU,kCAAU,KAAK,YAAY,2DAA2D,aAAa;AAAA,EAC7G,UAAU,kCAAU,KACjB,YACC,0GAED,aAAa;AAAA,EAChB,YAAY,kCAAU,KACnB,YAAY,8EACZ,aAAa;AAAA,EAChB,UAAU,kCAAU,KAAK,YAAY,8CAA8C,aAAa;AAAA,EAChG,YAAY,kCAAU,KAAK,YAAY,mDAAmD,aAAa;AAAA,EACvG,eAAe,kCAAU,IAAI,YAAY,oDAAoD,aAAa;AAAA,EAC1G,cAAc,kCAAU,IAAI,YAAY,uCAAuC,aAAa;AAAA,EAC5F,eAAe,kCAAU,IAAI,YAAY,wCAAwC,aAAa;AAAA,EAC9F,eAAe,kCAAU,KACtB,YAAY,4DACZ,aAAa;AAAA,EAChB,QAAQ,kCAAU,OAAO,YAAY,oCAAoC,aAAa;AAAA,EACtF,UAAU,kCAAU,OAAO,YAAY;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -21,7 +21,7 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
|
21
21
|
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
22
22
|
};
|
|
23
23
|
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
24
|
-
var
|
|
24
|
+
var sharedTypes_exports = {};
|
|
25
25
|
var React = __toESM(require("react"));
|
|
26
|
-
module.exports = __toCommonJS(
|
|
27
|
-
//# sourceMappingURL=
|
|
26
|
+
module.exports = __toCommonJS(sharedTypes_exports);
|
|
27
|
+
//# sourceMappingURL=sharedTypes.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/controlled-combobox/sharedTypes.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import { useVirtual } from 'react-virtual';\nimport { DSComboboxT } from './react-desc-prop-types';\n\nexport declare namespace DSComboboxInternalsT {\n export interface ComboBoxContextT {\n props: DSComboboxT.Props;\n virtualListHelpers?: ReturnType<typeof useVirtual>;\n showPopover: boolean;\n setShowPopover: React.Dispatch<React.SetStateAction<boolean>>;\n referenceElement: HTMLElement | null;\n setReferenceElement: React.Dispatch<React.SetStateAction<HTMLElement | null>>;\n hasFocus: boolean;\n pillGroupRef: React.RefObject<HTMLDivElement>;\n scrollOptionIntoView: (dsId: string) => void;\n setHasFocus: React.Dispatch<React.SetStateAction<boolean>>;\n listRef: React.RefObject<HTMLDivElement>;\n wrapperListRef: React.RefObject<HTMLDivElement>;\n selectedOptionsRef: React.RefObject<HTMLDivElement>;\n controlsWrapperRef: React.RefObject<HTMLDivElement>;\n selectAllCheckboxRef: React.RefObject<HTMLInputElement>;\n toggleSelectionButtonRef: React.RefObject<HTMLButtonElement>;\n focusOptionIdx: string;\n setCurrentOption: React.Dispatch<React.SetStateAction<string>>;\n showSelectedOptions: boolean;\n setShowSelectedOptions: React.Dispatch<React.SetStateAction<boolean>>;\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA,YAAuB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -33,7 +33,7 @@ var React = __toESM(require("react"));
|
|
|
33
33
|
var import_react = require("react");
|
|
34
34
|
var import_ComboBoxCTX = require("../../ComboBoxCTX");
|
|
35
35
|
var import_listHelper = require("../listHelper");
|
|
36
|
-
const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type);
|
|
36
|
+
const isOptionFocuseable = (opt) => !["section", "separator"].includes(opt.type) && !opt.disabled;
|
|
37
37
|
const useKeyboardNavigation = () => {
|
|
38
38
|
const {
|
|
39
39
|
props: {
|
|
@@ -46,13 +46,12 @@ const useKeyboardNavigation = () => {
|
|
|
46
46
|
options,
|
|
47
47
|
selectedValues,
|
|
48
48
|
onFilter,
|
|
49
|
-
withoutPortal
|
|
49
|
+
withoutPortal,
|
|
50
|
+
innerRef
|
|
50
51
|
},
|
|
51
52
|
setShowPopover,
|
|
52
53
|
showPopover,
|
|
53
|
-
setShowSelectedValue,
|
|
54
54
|
focusOptionIdx,
|
|
55
|
-
inputRef,
|
|
56
55
|
setCurrentOption,
|
|
57
56
|
scrollOptionIntoView,
|
|
58
57
|
selectAllCheckboxRef,
|
|
@@ -63,39 +62,31 @@ const useKeyboardNavigation = () => {
|
|
|
63
62
|
const currentItem = options.find((item) => item.dsId === focusOptionIdx);
|
|
64
63
|
const selectOption = (0, import_react.useCallback)(() => {
|
|
65
64
|
if (multiple) {
|
|
66
|
-
if (
|
|
67
|
-
onFilter(
|
|
65
|
+
if (innerRef.current)
|
|
66
|
+
onFilter(innerRef.current.value);
|
|
68
67
|
} else {
|
|
69
68
|
onFilter("");
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
setShowSelectedValue(true);
|
|
69
|
+
if (innerRef.current)
|
|
70
|
+
innerRef.current.value = "";
|
|
73
71
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
focusOptionIdx,
|
|
80
|
-
setShowPopover,
|
|
81
|
-
showPopover,
|
|
82
|
-
onFilter,
|
|
83
|
-
inputRef,
|
|
84
|
-
setShowSelectedValue,
|
|
85
|
-
onChange
|
|
86
|
-
]);
|
|
72
|
+
const selectedOption = options.find((item) => item.dsId === focusOptionIdx);
|
|
73
|
+
onChange(selectedOption);
|
|
74
|
+
if (!selectedOption.disabled && !multiple)
|
|
75
|
+
setShowPopover(false);
|
|
76
|
+
}, [multiple, options, focusOptionIdx, setShowPopover, onFilter, innerRef, onChange]);
|
|
87
77
|
const onInputKeyDown = (0, import_react.useCallback)((e) => {
|
|
88
78
|
const targetElement = e.target;
|
|
89
79
|
onKeyDown(e, currentItem);
|
|
90
80
|
if (e.key === "Enter" && currentItem?.type === "creatable") {
|
|
91
81
|
onCreate(targetElement.value);
|
|
92
82
|
onFilter("");
|
|
93
|
-
if (
|
|
94
|
-
|
|
83
|
+
if (innerRef.current)
|
|
84
|
+
innerRef.current.value = "";
|
|
95
85
|
return;
|
|
96
86
|
}
|
|
97
87
|
if (e.key === "Enter" || e.keyCode === 32 && e.altKey) {
|
|
98
88
|
e.preventDefault();
|
|
89
|
+
e.stopPropagation();
|
|
99
90
|
if (!showPopover && !inline) {
|
|
100
91
|
setShowPopover(true);
|
|
101
92
|
} else {
|
|
@@ -110,6 +101,7 @@ const useKeyboardNavigation = () => {
|
|
|
110
101
|
}
|
|
111
102
|
if (e.key === "ArrowDown") {
|
|
112
103
|
e.preventDefault();
|
|
104
|
+
e.stopPropagation();
|
|
113
105
|
if (showPopover || inline) {
|
|
114
106
|
const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable);
|
|
115
107
|
setCurrentOption(options[nextItemIndex].dsId);
|
|
@@ -120,6 +112,7 @@ const useKeyboardNavigation = () => {
|
|
|
120
112
|
}
|
|
121
113
|
if (e.key === "ArrowUp") {
|
|
122
114
|
e.preventDefault();
|
|
115
|
+
e.stopPropagation();
|
|
123
116
|
if (showPopover || inline) {
|
|
124
117
|
const nextItemIndex = (0, import_listHelper.findInCircularList)(options, currentItemIndex, isOptionFocuseable, -1);
|
|
125
118
|
setCurrentOption(options[nextItemIndex].dsId);
|
|
@@ -136,9 +129,9 @@ const useKeyboardNavigation = () => {
|
|
|
136
129
|
if (e.key === "Escape") {
|
|
137
130
|
if (onCancel)
|
|
138
131
|
onCancel();
|
|
139
|
-
if (
|
|
132
|
+
if (innerRef.current && innerRef.current?.value !== "") {
|
|
140
133
|
onFilter("");
|
|
141
|
-
|
|
134
|
+
innerRef.current.value = "";
|
|
142
135
|
}
|
|
143
136
|
if (!inline)
|
|
144
137
|
setShowPopover(false);
|
|
@@ -151,7 +144,6 @@ const useKeyboardNavigation = () => {
|
|
|
151
144
|
onChange(null);
|
|
152
145
|
}
|
|
153
146
|
onFilter("");
|
|
154
|
-
setShowSelectedValue(true);
|
|
155
147
|
}
|
|
156
148
|
if (e.key === "Tab" && !inline && !withoutPortal) {
|
|
157
149
|
const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;
|
|
@@ -160,13 +152,11 @@ const useKeyboardNavigation = () => {
|
|
|
160
152
|
element.focus();
|
|
161
153
|
}
|
|
162
154
|
}
|
|
163
|
-
if (e.key === "Tab" && inline) {
|
|
164
|
-
}
|
|
165
155
|
}, [
|
|
166
156
|
currentItemIndex,
|
|
167
157
|
options,
|
|
168
158
|
currentItem,
|
|
169
|
-
|
|
159
|
+
innerRef,
|
|
170
160
|
multiple,
|
|
171
161
|
showPopover,
|
|
172
162
|
selectedValues,
|
|
@@ -179,7 +169,6 @@ const useKeyboardNavigation = () => {
|
|
|
179
169
|
onFilter,
|
|
180
170
|
setCurrentOption,
|
|
181
171
|
setShowPopover,
|
|
182
|
-
setShowSelectedValue,
|
|
183
172
|
selectOption,
|
|
184
173
|
onCancel,
|
|
185
174
|
selectAllCheckboxRef,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/controlled-combobox/utils/hooks/useKeyboardNavigation.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext } from 'react';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAwC;AAExC,yBAAgC;AAChC,wBAAmC;AAEnC,MAAM,qBAAqB,CAAC,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable max-depth */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useCallback, useContext } from 'react';\nimport { DSComboboxT } from '../../react-desc-prop-types';\nimport { ComboBoxContext } from '../../ComboBoxCTX';\nimport { findInCircularList } from '../listHelper';\n\nconst isOptionFocuseable = (opt: DSComboboxT.OptionTypes): boolean =>\n !['section', 'separator'].includes(opt.type) && !opt.disabled;\n\nexport const useKeyboardNavigation = () => {\n const {\n props: {\n inline,\n onSelectAll,\n onCancel,\n onKeyDown,\n onChange,\n onCreate,\n options,\n selectedValues,\n onFilter,\n withoutPortal,\n innerRef,\n },\n setShowPopover,\n showPopover,\n focusOptionIdx,\n setCurrentOption,\n scrollOptionIntoView,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n } = useContext(ComboBoxContext);\n\n const multiple = Array.isArray(selectedValues);\n\n const currentItemIndex = options.findIndex((opt) => opt.dsId === focusOptionIdx);\n const currentItem = options.find((item) => item.dsId === focusOptionIdx) as\n | DSComboboxT.ItemOption\n | DSComboboxT.ItemCreatableOption;\n const selectOption = useCallback(() => {\n if (multiple) {\n if (innerRef.current) onFilter(innerRef.current.value);\n } else {\n onFilter('');\n if (innerRef.current) innerRef.current.value = '';\n }\n const selectedOption = options.find((item) => item.dsId === focusOptionIdx) as DSComboboxT.ItemOption;\n onChange(selectedOption);\n if (!selectedOption.disabled && !multiple) setShowPopover(false);\n }, [multiple, options, focusOptionIdx, setShowPopover, onFilter, innerRef, onChange]);\n\n const onInputKeyDown: React.KeyboardEventHandler<HTMLInputElement> = useCallback(\n (e) => {\n const targetElement = e.target as HTMLInputElement;\n\n // =============================================================================\n // CUSTOM KEYS\n // =============================================================================\n onKeyDown(e, currentItem as DSComboboxT.ItemOption);\n // =============================================================================\n // ENTER KEY TO CREATE ELEMENTS\n // =============================================================================\n if (e.key === 'Enter' && currentItem?.type === 'creatable') {\n onCreate(targetElement.value);\n onFilter('');\n if (innerRef.current) innerRef.current.value = '';\n return;\n }\n\n // =============================================================================\n // Enter and space on selection\n // =============================================================================\n if (e.key === 'Enter' || (e.keyCode === 32 && e.altKey)) {\n e.preventDefault();\n e.stopPropagation();\n\n if (!showPopover && !inline) {\n setShowPopover(true);\n } else {\n selectOption();\n }\n }\n\n if (e.key === 'Enter' && e.altKey) {\n setShowPopover(false);\n }\n\n if (e.key === 'a' && e.ctrlKey && multiple) {\n onSelectAll();\n }\n // =============================================================================\n // ARROWS UP AND DOWN\n // =============================================================================\n\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n e.stopPropagation();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n }\n }\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n e.stopPropagation();\n if (showPopover || inline) {\n const nextItemIndex = findInCircularList(options, currentItemIndex, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n } else {\n setShowPopover(true);\n setTimeout(() => {\n const nextItemIndex = findInCircularList(options, 0, isOptionFocuseable, -1);\n setCurrentOption(options[nextItemIndex].dsId);\n scrollOptionIntoView(options[nextItemIndex].dsId);\n });\n }\n }\n // =============================================================================\n // ESCAPE\n // =============================================================================\n if (e.key === 'Escape') {\n if (onCancel) onCancel();\n if (innerRef.current && innerRef.current?.value !== '') {\n onFilter('');\n innerRef.current.value = '';\n }\n if (!inline) setShowPopover(false);\n }\n // =============================================================================\n // BACKSPACE\n // =============================================================================\n if (e.key === 'Backspace' && targetElement.value.length <= 0 && !inline) {\n if (multiple && !targetElement.value) {\n if (selectedValues.length > 0) onChange(selectedValues[selectedValues.length - 1]);\n } else {\n onChange(null);\n }\n onFilter('');\n }\n\n if (e.key === 'Tab' && !inline && !withoutPortal) {\n const element = selectAllCheckboxRef.current ?? toggleSelectionButtonRef.current;\n if (element) {\n e.preventDefault();\n element.focus();\n }\n }\n\n // if (e.key === 'Tab' && multiple) {\n // }\n },\n [\n currentItemIndex,\n options,\n currentItem,\n innerRef,\n multiple,\n showPopover,\n selectedValues,\n inline,\n scrollOptionIntoView,\n onKeyDown,\n onSelectAll,\n onChange,\n onCreate,\n onFilter,\n setCurrentOption,\n setShowPopover,\n selectOption,\n onCancel,\n selectAllCheckboxRef,\n toggleSelectionButtonRef,\n withoutPortal,\n ],\n );\n\n return { onInputKeyDown };\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAAwC;AAExC,yBAAgC;AAChC,wBAAmC;AAEnC,MAAM,qBAAqB,CAAC,QAC1B,CAAC,CAAC,WAAW,aAAa,SAAS,IAAI,SAAS,CAAC,IAAI;AAEhD,MAAM,wBAAwB,MAAM;AACzC,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,6BAAW;AAEf,QAAM,WAAW,MAAM,QAAQ;AAE/B,QAAM,mBAAmB,QAAQ,UAAU,CAAC,QAAQ,IAAI,SAAS;AACjE,QAAM,cAAc,QAAQ,KAAK,CAAC,SAAS,KAAK,SAAS;AAGzD,QAAM,eAAe,8BAAY,MAAM;AACrC,QAAI,UAAU;AACZ,UAAI,SAAS;AAAS,iBAAS,SAAS,QAAQ;AAAA,WAC3C;AACL,eAAS;AACT,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAAA;AAEjD,UAAM,iBAAiB,QAAQ,KAAK,CAAC,SAAS,KAAK,SAAS;AAC5D,aAAS;AACT,QAAI,CAAC,eAAe,YAAY,CAAC;AAAU,qBAAe;AAAA,KACzD,CAAC,UAAU,SAAS,gBAAgB,gBAAgB,UAAU,UAAU;AAE3E,QAAM,iBAA+D,8BACnE,CAAC,MAAM;AACL,UAAM,gBAAgB,EAAE;AAKxB,cAAU,GAAG;AAIb,QAAI,EAAE,QAAQ,WAAW,aAAa,SAAS,aAAa;AAC1D,eAAS,cAAc;AACvB,eAAS;AACT,UAAI,SAAS;AAAS,iBAAS,QAAQ,QAAQ;AAC/C;AAAA;AAMF,QAAI,EAAE,QAAQ,WAAY,EAAE,YAAY,MAAM,EAAE,QAAS;AACvD,QAAE;AACF,QAAE;AAEF,UAAI,CAAC,eAAe,CAAC,QAAQ;AAC3B,uBAAe;AAAA,aACV;AACL;AAAA;AAAA;AAIJ,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ;AACjC,qBAAe;AAAA;AAGjB,QAAI,EAAE,QAAQ,OAAO,EAAE,WAAW,UAAU;AAC1C;AAAA;AAMF,QAAI,EAAE,QAAQ,aAAa;AACzB,QAAE;AACF,QAAE;AACF,UAAI,eAAe,QAAQ;AACzB,cAAM,gBAAgB,0CAAmB,SAAS,kBAAkB;AACpE,yBAAiB,QAAQ,eAAe;AACxC,6BAAqB,QAAQ,eAAe;AAAA,aACvC;AACL,uBAAe;AAAA;AAAA;AAGnB,QAAI,EAAE,QAAQ,WAAW;AACvB,QAAE;AACF,QAAE;AACF,UAAI,eAAe,QAAQ;AACzB,cAAM,gBAAgB,0CAAmB,SAAS,kBAAkB,oBAAoB;AACxF,yBAAiB,QAAQ,eAAe;AACxC,6BAAqB,QAAQ,eAAe;AAAA,aACvC;AACL,uBAAe;AACf,mBAAW,MAAM;AACf,gBAAM,gBAAgB,0CAAmB,SAAS,GAAG,oBAAoB;AACzE,2BAAiB,QAAQ,eAAe;AACxC,+BAAqB,QAAQ,eAAe;AAAA;AAAA;AAAA;AAOlD,QAAI,EAAE,QAAQ,UAAU;AACtB,UAAI;AAAU;AACd,UAAI,SAAS,WAAW,SAAS,SAAS,UAAU,IAAI;AACtD,iBAAS;AACT,iBAAS,QAAQ,QAAQ;AAAA;AAE3B,UAAI,CAAC;AAAQ,uBAAe;AAAA;AAK9B,QAAI,EAAE,QAAQ,eAAe,cAAc,MAAM,UAAU,KAAK,CAAC,QAAQ;AACvE,UAAI,YAAY,CAAC,cAAc,OAAO;AACpC,YAAI,eAAe,SAAS;AAAG,mBAAS,eAAe,eAAe,SAAS;AAAA,aAC1E;AACL,iBAAS;AAAA;AAEX,eAAS;AAAA;AAGX,QAAI,EAAE,QAAQ,SAAS,CAAC,UAAU,CAAC,eAAe;AAChD,YAAM,UAAU,qBAAqB,WAAW,yBAAyB;AACzE,UAAI,SAAS;AACX,UAAE;AACF,gBAAQ;AAAA;AAAA;AAAA,KAOd;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIJ,SAAO,EAAE;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -35,8 +35,8 @@ __export(listHelper_exports, {
|
|
|
35
35
|
isSelectedValueMultiple: () => isSelectedValueMultiple
|
|
36
36
|
});
|
|
37
37
|
var React = __toESM(require("react"));
|
|
38
|
-
const getSelectableOptions = (options) => options
|
|
39
|
-
const getOptions = (options) => options
|
|
38
|
+
const getSelectableOptions = (options) => options.filter((option) => option.type === "option" && !option.disabled);
|
|
39
|
+
const getOptions = (options) => options.filter((option) => option.type === "option");
|
|
40
40
|
const isSelectedValueEmpty = (value) => Array.isArray(value) ? value.length === 0 : !value;
|
|
41
41
|
const isSelectedValueMultiple = (value) => Array.isArray(value);
|
|
42
42
|
const isSelected = (value, activeOption) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/controlled-combobox/utils/listHelper.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,uBAAuB,CAAC,YACnC,
|
|
4
|
+
"sourcesContent": ["import { DSComboboxT } from '../react-desc-prop-types';\n\nexport const getSelectableOptions = (options: Array<DSComboboxT.OptionTypes>): Array<DSComboboxT.OptionTypes> =>\n options.filter((option) => option.type === 'option' && !option.disabled);\n\nexport const getOptions = (options: Array<DSComboboxT.OptionTypes>): Array<DSComboboxT.OptionTypes> =>\n options.filter((option) => option.type === 'option');\n\nexport const isSelectedValueEmpty = (value: DSComboboxT.SelectedOptionsT): boolean =>\n Array.isArray(value) ? value.length === 0 : !value;\n\nexport const isSelectedValueMultiple = (value: DSComboboxT.SelectedOptionsT): boolean => Array.isArray(value);\n\nexport const isSelected = (value: DSComboboxT.SelectedOptionsT, activeOption: DSComboboxT.ItemOption): boolean => {\n if (isSelectedValueMultiple(value)) {\n const multiValue = value as DSComboboxT.ItemOption[];\n return multiValue.some((item) => item?.value === activeOption?.value);\n }\n const singleValue = value as DSComboboxT.ItemOption;\n return singleValue?.value === activeOption.value;\n};\n\nexport const findInCircularList = (\n list: DSComboboxT.OptionTypes[],\n from: number,\n criteria: (item: DSComboboxT.OptionTypes) => boolean,\n step = 1,\n // eslint-disable-next-line max-params\n): number => {\n for (let i = (from + step + list.length) % list.length; i !== from; i = (i + step + list.length) % list.length) {\n if (criteria(list[i])) return i;\n }\n return from; // return same item\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,uBAAuB,CAAC,YACnC,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS,YAAY,CAAC,OAAO;AAE1D,MAAM,aAAa,CAAC,YACzB,QAAQ,OAAO,CAAC,WAAW,OAAO,SAAS;AAEtC,MAAM,uBAAuB,CAAC,UACnC,MAAM,QAAQ,SAAS,MAAM,WAAW,IAAI,CAAC;AAExC,MAAM,0BAA0B,CAAC,UAAiD,MAAM,QAAQ;AAEhG,MAAM,aAAa,CAAC,OAAqC,iBAAkD;AAChH,MAAI,wBAAwB,QAAQ;AAClC,UAAM,aAAa;AACnB,WAAO,WAAW,KAAK,CAAC,SAAS,MAAM,UAAU,cAAc;AAAA;AAEjE,QAAM,cAAc;AACpB,SAAO,aAAa,UAAU,aAAa;AAAA;AAGtC,MAAM,qBAAqB,CAChC,MACA,MACA,UACA,OAAO,MAEI;AACX,WAAS,IAAK,QAAO,OAAO,KAAK,UAAU,KAAK,QAAQ,MAAM,MAAM,IAAK,KAAI,OAAO,KAAK,UAAU,KAAK,QAAQ;AAC9G,QAAI,SAAS,KAAK;AAAK,aAAO;AAAA;AAEhC,SAAO;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|