@sprinklrjs/spaceweb 10.1.0 → 12.14.4
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/allComponentsAndUtilities.d.ts +1 -0
- package/allComponentsAndUtilities.js +2 -1
- package/asyncSelect/asyncSelect.d.ts +4 -2
- package/asyncSelect/asyncSelect.js +43 -108
- package/asyncSelect/groupedAsyncSelect.d.ts +5 -0
- package/asyncSelect/groupedAsyncSelect.js +41 -0
- package/asyncSelect/helpers.d.ts +9 -3
- package/asyncSelect/helpers.js +35 -4
- package/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +17 -12
- package/asyncSelect/hooks/useAsyncOptionHandlers.js +73 -26
- package/asyncSelect/hooks/useAsyncSelect.d.ts +10 -0
- package/asyncSelect/hooks/useAsyncSelect.js +182 -0
- package/asyncSelect/hooks/useResolveSelectedOptions.d.ts +10 -7
- package/asyncSelect/hooks/useResolveSelectedOptions.js +59 -47
- package/asyncSelect/index.d.ts +4 -1
- package/asyncSelect/index.js +8 -0
- package/asyncSelect/types.d.ts +63 -12
- package/avatar/avatar.js +12 -2
- package/avatar/index.d.ts +1 -1
- package/avatar/styled-component.js +7 -22
- package/avatar/types.d.ts +1 -1
- package/badge/styled-component.js +10 -8
- package/banner/banner-item.d.ts +12 -0
- package/banner/banner-item.js +14 -0
- package/banner/banner.d.ts +19 -0
- package/banner/banner.js +56 -0
- package/banner/index.d.ts +5 -0
- package/banner/index.js +14 -0
- package/banner/locale.d.ts +6 -0
- package/banner/locale.js +2 -0
- package/banner/package.json +4 -0
- package/banner/styled-component.d.ts +6 -0
- package/banner/styled-component.js +39 -0
- package/banner/types.d.ts +26 -0
- package/banner/types.js +2 -0
- package/breadcrumb/breadcrumb-item.d.ts +7 -0
- package/breadcrumb/breadcrumb-item.js +41 -0
- package/breadcrumb/breadcrumb.d.ts +7 -0
- package/breadcrumb/breadcrumb.js +29 -0
- package/breadcrumb/index.d.ts +4 -0
- package/breadcrumb/index.js +17 -0
- package/breadcrumb/package.json +4 -0
- package/breadcrumb/styled-components.d.ts +7 -0
- package/breadcrumb/styled-components.js +19 -0
- package/breadcrumb/types.d.ts +38 -0
- package/breadcrumb/types.js +2 -0
- package/button/Button.d.ts +3 -3
- package/button/Button.js +14 -2
- package/button/IconButton/IconButton.d.ts +2 -4
- package/button/IconButton/IconButton.js +5 -2
- package/button/IconButton/types.d.ts +10 -1
- package/button/basewebAdapter.d.ts +9 -6
- package/button/basewebAdapter.js +1 -1
- package/button/styled-components.js +30 -25
- package/button/types.d.ts +4 -1
- package/button-group/ButtonGroup.d.ts +1 -0
- package/button-group/ButtonGroup.js +9 -5
- package/button-group/StatefulButtonGroup.d.ts +1 -0
- package/button-group/index.d.ts +1 -2
- package/button-group/index.js +1 -5
- package/button-group/styled-components.d.ts +34 -0
- package/button-group/styled-components.js +60 -12
- package/button-group/types.d.ts +3 -0
- package/checkbox/basewebAdapters.d.ts +5 -2
- package/checkbox/basewebAdapters.js +9 -2
- package/checkbox/index.d.ts +1 -1
- package/checkbox/index.js +1 -2
- package/checkbox/styled-components.js +1 -1
- package/checkbox/types.d.ts +15 -8
- package/color-picker/ColorPalette.d.ts +9 -0
- package/color-picker/ColorPalette.js +26 -0
- package/color-picker/ColorPicker.d.ts +3 -0
- package/color-picker/ColorPicker.js +35 -0
- package/color-picker/Swatch.d.ts +12 -0
- package/color-picker/Swatch.js +40 -0
- package/color-picker/colors.d.ts +1 -0
- package/color-picker/colors.js +109 -0
- package/color-picker/getContrastRatio.d.ts +1 -0
- package/color-picker/getContrastRatio.js +23 -0
- package/color-picker/index.d.ts +3 -0
- package/color-picker/index.js +7 -0
- package/color-picker/locale.d.ts +3 -0
- package/color-picker/locale.js +2 -0
- package/color-picker/package.json +4 -0
- package/color-picker/styled-component.d.ts +1 -0
- package/color-picker/styled-component.js +5 -0
- package/color-picker/types.d.ts +15 -0
- package/color-picker/types.js +2 -0
- package/currency/Currency.d.ts +3 -0
- package/currency/Currency.js +14 -0
- package/currency/constants.d.ts +3 -0
- package/currency/constants.js +8 -0
- package/currency/index.d.ts +5 -0
- package/currency/index.js +12 -0
- package/currency/package.json +4 -0
- package/currency/types.d.ts +7 -0
- package/currency/types.js +2 -0
- package/currency/useCurrency.d.ts +2 -0
- package/currency/useCurrency.js +12 -0
- package/currency/utils.d.ts +8 -0
- package/currency/utils.js +11 -0
- package/date-input/Before.d.ts +4 -2
- package/date-input/Before.js +4 -4
- package/date-input/CalendarIconButton.js +7 -1
- package/date-input/DateInput.d.ts +1 -1
- package/date-input/DateInput.js +47 -26
- package/date-input/styled-components.d.ts +2 -2
- package/date-input/styled-components.js +10 -8
- package/date-input/types.d.ts +4 -2
- package/date-picker/Calendar.d.ts +1 -1
- package/date-picker/Calendar.js +16 -6
- package/date-picker/DateInput.d.ts +3 -2
- package/date-picker/DateInput.js +19 -17
- package/date-picker/DatePickerContent.d.ts +9 -3
- package/date-picker/DatePickerContent.js +59 -8
- package/date-picker/DatePickerInput.js +13 -16
- package/date-picker/DateTimeContainer.d.ts +4 -2
- package/date-picker/DateTimeContainer.js +5 -5
- package/date-picker/StatelessDatePicker.d.ts +1 -1
- package/date-picker/StatelessDatePicker.js +40 -20
- package/date-picker/TimeInput.d.ts +5 -2
- package/date-picker/TimeInput.js +4 -2
- package/date-picker/index.d.ts +1 -0
- package/date-picker/index.js +3 -1
- package/date-picker/locale.d.ts +2 -0
- package/date-picker/stateful-container.d.ts +1 -1
- package/date-picker/stateful-container.js +11 -8
- package/date-picker/styled-components.d.ts +0 -1
- package/date-picker/styled-components.js +54 -27
- package/date-picker/types.d.ts +10 -1
- package/date-picker/utils.d.ts +10 -7
- package/date-picker/utils.js +12 -4
- package/date-time/DateTime.d.ts +3 -0
- package/date-time/DateTime.js +12 -0
- package/date-time/index.d.ts +3 -0
- package/date-time/index.js +9 -0
- package/date-time/package.json +4 -0
- package/date-time/types.d.ts +21 -0
- package/date-time/types.js +18 -0
- package/date-time/useDateTime.d.ts +2 -0
- package/date-time/useDateTime.js +13 -0
- package/date-time/variants.d.ts +4 -0
- package/date-time/variants.js +87 -0
- package/esm/allComponentsAndUtilities.d.ts +1 -0
- package/esm/allComponentsAndUtilities.js +2 -0
- package/esm/asyncSelect/asyncSelect.d.ts +4 -2
- package/esm/asyncSelect/asyncSelect.js +46 -111
- package/esm/asyncSelect/groupedAsyncSelect.d.ts +5 -0
- package/esm/asyncSelect/groupedAsyncSelect.js +37 -0
- package/esm/asyncSelect/helpers.d.ts +9 -3
- package/esm/asyncSelect/helpers.js +31 -3
- package/esm/asyncSelect/hooks/useAsyncOptionHandlers.d.ts +17 -12
- package/esm/asyncSelect/hooks/useAsyncOptionHandlers.js +76 -29
- package/esm/asyncSelect/hooks/useAsyncSelect.d.ts +10 -0
- package/esm/asyncSelect/hooks/useAsyncSelect.js +178 -0
- package/esm/asyncSelect/hooks/useResolveSelectedOptions.d.ts +10 -7
- package/esm/asyncSelect/hooks/useResolveSelectedOptions.js +62 -50
- package/esm/asyncSelect/index.d.ts +4 -1
- package/esm/asyncSelect/index.js +3 -0
- package/esm/asyncSelect/types.d.ts +63 -12
- package/esm/avatar/avatar.js +12 -2
- package/esm/avatar/index.d.ts +1 -1
- package/esm/avatar/styled-component.js +7 -22
- package/esm/avatar/types.d.ts +1 -1
- package/esm/badge/styled-component.js +10 -8
- package/esm/banner/banner-item.d.ts +12 -0
- package/esm/banner/banner-item.js +12 -0
- package/esm/banner/banner.d.ts +19 -0
- package/esm/banner/banner.js +54 -0
- package/esm/banner/index.d.ts +5 -0
- package/esm/banner/index.js +3 -0
- package/esm/banner/locale.d.ts +6 -0
- package/esm/banner/locale.js +1 -0
- package/esm/banner/styled-component.d.ts +6 -0
- package/esm/banner/styled-component.js +35 -0
- package/esm/banner/types.d.ts +26 -0
- package/esm/banner/types.js +1 -0
- package/esm/breadcrumb/breadcrumb-item.d.ts +7 -0
- package/esm/breadcrumb/breadcrumb-item.js +39 -0
- package/esm/breadcrumb/breadcrumb.d.ts +7 -0
- package/esm/breadcrumb/breadcrumb.js +27 -0
- package/esm/breadcrumb/index.d.ts +4 -0
- package/esm/breadcrumb/index.js +3 -0
- package/esm/breadcrumb/styled-components.d.ts +7 -0
- package/esm/breadcrumb/styled-components.js +15 -0
- package/esm/breadcrumb/types.d.ts +38 -0
- package/esm/breadcrumb/types.js +1 -0
- package/esm/button/Button.d.ts +3 -3
- package/esm/button/Button.js +14 -2
- package/esm/button/IconButton/IconButton.d.ts +2 -4
- package/esm/button/IconButton/IconButton.js +5 -2
- package/esm/button/IconButton/types.d.ts +10 -1
- package/esm/button/basewebAdapter.d.ts +9 -6
- package/esm/button/basewebAdapter.js +1 -1
- package/esm/button/styled-components.js +30 -25
- package/esm/button/types.d.ts +4 -1
- package/esm/button-group/ButtonGroup.d.ts +1 -0
- package/esm/button-group/ButtonGroup.js +9 -5
- package/esm/button-group/StatefulButtonGroup.d.ts +1 -0
- package/esm/button-group/index.d.ts +1 -2
- package/esm/button-group/index.js +0 -1
- package/esm/button-group/styled-components.d.ts +34 -0
- package/esm/button-group/styled-components.js +58 -11
- package/esm/button-group/types.d.ts +3 -0
- package/esm/checkbox/basewebAdapters.d.ts +5 -2
- package/esm/checkbox/basewebAdapters.js +9 -2
- package/esm/checkbox/index.d.ts +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/checkbox/styled-components.js +1 -1
- package/esm/checkbox/types.d.ts +15 -8
- package/esm/color-picker/ColorPalette.d.ts +9 -0
- package/esm/color-picker/ColorPalette.js +22 -0
- package/esm/color-picker/ColorPicker.d.ts +3 -0
- package/esm/color-picker/ColorPicker.js +31 -0
- package/esm/color-picker/Swatch.d.ts +12 -0
- package/esm/color-picker/Swatch.js +37 -0
- package/esm/color-picker/colors.d.ts +1 -0
- package/esm/color-picker/colors.js +106 -0
- package/esm/color-picker/getContrastRatio.d.ts +1 -0
- package/esm/color-picker/getContrastRatio.js +19 -0
- package/esm/color-picker/index.d.ts +3 -0
- package/esm/color-picker/index.js +2 -0
- package/esm/color-picker/locale.d.ts +3 -0
- package/esm/color-picker/locale.js +1 -0
- package/esm/color-picker/styled-component.d.ts +1 -0
- package/esm/color-picker/styled-component.js +2 -0
- package/esm/color-picker/types.d.ts +15 -0
- package/esm/color-picker/types.js +1 -0
- package/esm/currency/Currency.d.ts +3 -0
- package/esm/currency/Currency.js +10 -0
- package/esm/currency/constants.d.ts +3 -0
- package/esm/currency/constants.js +5 -0
- package/esm/currency/index.d.ts +5 -0
- package/esm/currency/index.js +5 -0
- package/esm/currency/types.d.ts +7 -0
- package/esm/currency/types.js +1 -0
- package/esm/currency/useCurrency.d.ts +2 -0
- package/esm/currency/useCurrency.js +8 -0
- package/esm/currency/utils.d.ts +8 -0
- package/esm/currency/utils.js +7 -0
- package/esm/date-input/Before.d.ts +4 -2
- package/esm/date-input/Before.js +4 -4
- package/esm/date-input/CalendarIconButton.js +7 -1
- package/esm/date-input/DateInput.d.ts +1 -1
- package/esm/date-input/DateInput.js +48 -27
- package/esm/date-input/styled-components.d.ts +2 -2
- package/esm/date-input/styled-components.js +10 -7
- package/esm/date-input/types.d.ts +4 -2
- package/esm/date-picker/Calendar.d.ts +1 -1
- package/esm/date-picker/Calendar.js +17 -7
- package/esm/date-picker/DateInput.d.ts +3 -2
- package/esm/date-picker/DateInput.js +20 -18
- package/esm/date-picker/DatePickerContent.d.ts +9 -3
- package/esm/date-picker/DatePickerContent.js +60 -9
- package/esm/date-picker/DatePickerInput.js +13 -16
- package/esm/date-picker/DateTimeContainer.d.ts +4 -2
- package/esm/date-picker/DateTimeContainer.js +5 -5
- package/esm/date-picker/StatelessDatePicker.d.ts +1 -1
- package/esm/date-picker/StatelessDatePicker.js +40 -20
- package/esm/date-picker/TimeInput.d.ts +5 -2
- package/esm/date-picker/TimeInput.js +4 -2
- package/esm/date-picker/index.d.ts +1 -0
- package/esm/date-picker/index.js +1 -0
- package/esm/date-picker/locale.d.ts +2 -0
- package/esm/date-picker/stateful-container.d.ts +1 -1
- package/esm/date-picker/stateful-container.js +11 -8
- package/esm/date-picker/styled-components.d.ts +0 -1
- package/esm/date-picker/styled-components.js +53 -26
- package/esm/date-picker/types.d.ts +10 -1
- package/esm/date-picker/utils.d.ts +10 -7
- package/esm/date-picker/utils.js +13 -5
- package/esm/date-time/DateTime.d.ts +3 -0
- package/esm/date-time/DateTime.js +8 -0
- package/esm/date-time/index.d.ts +3 -0
- package/esm/date-time/index.js +3 -0
- package/esm/date-time/types.d.ts +21 -0
- package/esm/date-time/types.js +15 -0
- package/esm/date-time/useDateTime.d.ts +2 -0
- package/esm/date-time/useDateTime.js +9 -0
- package/esm/date-time/variants.d.ts +4 -0
- package/esm/date-time/variants.js +84 -0
- package/esm/form-control/context.d.ts +6 -13
- package/esm/form-control/context.js +10 -9
- package/esm/form-control/form-control.d.ts +1 -1
- package/esm/form-control/form-control.js +17 -12
- package/esm/form-control/styled-component.js +18 -7
- package/esm/helpers/ClearIconButton.js +3 -1
- package/esm/helpers/StyledTombstone.d.ts +1 -0
- package/esm/helpers/StyledTombstone.js +17 -0
- package/esm/helpers/baseui/useConvertOverrides.js +6 -1
- package/esm/helpers/baseui/withThemeOverride.js +1 -1
- package/esm/helpers/commonStyles.d.ts +2 -2
- package/esm/helpers/commonStyles.js +3 -6
- package/esm/helpers/index.d.ts +1 -0
- package/esm/helpers/index.js +8 -0
- package/esm/helpers/styletron.d.ts +14 -3
- package/esm/helpers/themeHelpers.d.ts +1 -0
- package/esm/helpers/themeHelpers.js +13 -0
- package/esm/hooks/useAutoFocus.d.ts +6 -7
- package/esm/hooks/useAutoFocus.js +19 -13
- package/esm/hooks/useCombinedRef.d.ts +1 -0
- package/esm/hooks/useCombinedRef.js +33 -0
- package/esm/hooks/useIsMobileDevice.d.ts +1 -0
- package/esm/hooks/useIsMobileDevice.js +6 -0
- package/esm/hooks/useMatchMedia.d.ts +3 -0
- package/esm/hooks/useMatchMedia.js +49 -0
- package/esm/icon/components/alert-solid.js +2 -0
- package/esm/icon/components/alert.js +2 -0
- package/esm/icon/components/calendar-solid.js +2 -0
- package/esm/icon/components/chevron-down.js +2 -0
- package/esm/icon/components/chevron-left.d.ts +3 -0
- package/esm/icon/components/chevron-left.js +8 -0
- package/esm/icon/components/chevron-right.d.ts +3 -0
- package/esm/icon/components/chevron-right.js +8 -0
- package/esm/icon/components/close.js +2 -0
- package/esm/icon/components/error-clr.js +2 -0
- package/esm/icon/components/error-solid.js +2 -0
- package/esm/icon/components/error.js +2 -0
- package/esm/icon/components/imagePreview.js +2 -0
- package/esm/icon/components/info.js +2 -0
- package/esm/icon/components/play-video.js +2 -0
- package/esm/icon/components/reset-color.d.ts +3 -0
- package/esm/icon/components/reset-color.js +8 -0
- package/esm/icon/components/search.js +2 -0
- package/esm/icon/components/tick.js +2 -0
- package/esm/icon/components/tickCircle-solid.js +2 -0
- package/esm/icon/components/user.js +2 -0
- package/esm/icon/components/video-non-playable.js +2 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.js +2 -0
- package/esm/input/basewebAdapters.d.ts +1 -1
- package/esm/input/basewebAdapters.js +18 -3
- package/esm/input/index.d.ts +2 -1
- package/esm/input/index.js +1 -0
- package/esm/input/styled-components.d.ts +1 -1
- package/esm/input/styled-components.js +8 -6
- package/esm/input/types.d.ts +10 -4
- package/esm/layer/useLayersContextValue.js +3 -2
- package/esm/list/avatar-list-item.d.ts +12 -22
- package/esm/list/avatar-list-item.js +8 -10
- package/esm/list/divider.js +6 -3
- package/esm/list/index.d.ts +1 -1
- package/esm/list/index.js +1 -1
- package/esm/list/list-item.d.ts +3 -1
- package/esm/list/list-item.js +9 -6
- package/esm/list/list.d.ts +10 -5
- package/esm/list/list.js +47 -6
- package/esm/list/styled-component.d.ts +1 -0
- package/esm/list/styled-component.js +23 -17
- package/esm/list/types.d.ts +8 -0
- package/esm/list/utils.d.ts +2 -0
- package/esm/list/utils.js +10 -0
- package/esm/locale/en_US.js +35 -0
- package/esm/locale/types.d.ts +21 -0
- package/esm/menu/MenuContext.d.ts +2 -1
- package/esm/menu/MenuContext.js +1 -0
- package/esm/menu/menu-item.d.ts +8 -2
- package/esm/menu/menu-item.js +11 -11
- package/esm/menu/menu.d.ts +6 -0
- package/esm/menu/menu.js +11 -11
- package/esm/menu/types.d.ts +1 -0
- package/esm/menu/useKeyboardNavigation.d.ts +6 -3
- package/esm/menu/useKeyboardNavigation.js +21 -14
- package/esm/menu/useStatefulMenu.d.ts +5 -2
- package/esm/menu/useStatefulMenu.js +14 -8
- package/esm/modal/adapter.d.ts +1 -1
- package/esm/modal/index.d.ts +1 -1
- package/esm/modal/index.js +1 -1
- package/esm/modal/modal.js +5 -5
- package/esm/modal/overrides.d.ts +2 -3
- package/esm/modal/overrides.js +6 -8
- package/esm/modal/styled-components.d.ts +1 -1
- package/esm/modal/styled-components.js +8 -8
- package/esm/number/Number.d.ts +3 -0
- package/esm/number/Number.js +10 -0
- package/esm/number/constants.d.ts +2 -0
- package/esm/number/constants.js +4 -0
- package/esm/number/index.d.ts +5 -0
- package/esm/number/index.js +5 -0
- package/esm/number/types.d.ts +6 -0
- package/esm/number/types.js +1 -0
- package/esm/number/useNumber.d.ts +2 -0
- package/esm/number/useNumber.js +8 -0
- package/esm/overrides/index.d.ts +1 -1
- package/esm/overrides/index.js +1 -1
- package/esm/overrides/mergeOverrides.d.ts +3 -2
- package/esm/overrides/mergeOverrides.js +5 -4
- package/esm/payment-card/basewebAdapters.d.ts +2 -0
- package/esm/payment-card/basewebAdapters.js +27 -4
- package/esm/payment-card/styled-components.js +25 -6
- package/esm/payment-card/types.d.ts +4 -2
- package/esm/phone-input/country-select-container.js +1 -1
- package/esm/phone-input/country-select.js +4 -6
- package/esm/phone-input/default-props.d.ts +6 -9
- package/esm/phone-input/default-props.js +7 -9
- package/esm/phone-input/flag-container.js +1 -1
- package/esm/phone-input/phone-input.d.ts +0 -6
- package/esm/phone-input/phone-input.js +21 -12
- package/esm/phone-input/stateful-phone-input-container.js +4 -3
- package/esm/phone-input/stateful-phone-input.d.ts +0 -6
- package/esm/phone-input/styled-components.d.ts +9 -1
- package/esm/phone-input/styled-components.js +21 -7
- package/esm/phone-input/types.d.ts +2 -1
- package/esm/phone-input/utils.d.ts +10 -3
- package/esm/phone-input/utils.js +10 -5
- package/esm/popover/adapter.d.ts +4 -3
- package/esm/popover/adapter.js +15 -0
- package/esm/popover/overrides.js +8 -19
- package/esm/popover/popover.d.ts +6 -3
- package/esm/popover/popover.js +13 -6
- package/esm/popover/stateful-popover.js +2 -2
- package/esm/popover/types.d.ts +10 -2
- package/esm/popover/types.js +2 -1
- package/esm/popover/utils.d.ts +12 -0
- package/esm/popover/utils.js +9 -0
- package/esm/progress/circular/styled-component.d.ts +1 -1
- package/esm/progress/circular/styled-component.js +3 -3
- package/esm/progress/linear/styled-component.d.ts +1 -1
- package/esm/progress/linear/styled-component.js +5 -5
- package/esm/radio/basewebAdapters.d.ts +8 -11
- package/esm/radio/basewebAdapters.js +6 -3
- package/esm/radio/radio.js +6 -5
- package/esm/radio/styled-components.js +9 -11
- package/esm/radio/types.d.ts +13 -6
- package/esm/search/index.d.ts +1 -0
- package/esm/search/index.js +1 -0
- package/esm/search/search.d.ts +1 -1
- package/esm/search/search.js +15 -6
- package/esm/search/stateful-search.d.ts +3 -0
- package/esm/search/stateful-search.js +15 -0
- package/esm/search/styled-components.d.ts +1 -10
- package/esm/search/styled-components.js +54 -24
- package/esm/search/types.d.ts +8 -2
- package/esm/select/adaptor.d.ts +1 -1
- package/esm/select/base-select.d.ts +36 -16
- package/esm/select/base-select.js +185 -88
- package/esm/select/constants.d.ts +3 -0
- package/esm/select/constants.js +3 -1
- package/esm/select/default-props.d.ts +9 -5
- package/esm/select/default-props.js +4 -1
- package/esm/select/index.d.ts +4 -4
- package/esm/select/index.js +3 -3
- package/esm/select/locale.d.ts +4 -0
- package/esm/select/mobileSelect/MobileSelect.js +3 -5
- package/esm/select/mobileSelect/MobileSheet.js +3 -1
- package/esm/select/multi-value.js +22 -12
- package/esm/select/overlaySelect/OverlaySelect.js +10 -18
- package/esm/select/overlaySelect/hooks/useControlRef.d.ts +9 -0
- package/esm/select/overlaySelect/hooks/useControlRef.js +33 -0
- package/esm/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +24 -0
- package/esm/select/overlaySelect/{useOverlaySelectOverrides.js → hooks/useOverlaySelectOverrides.js} +31 -28
- package/esm/select/overlaySelect/{usePopover.d.ts → hooks/usePopover.d.ts} +1 -1
- package/esm/select/overlaySelect/{usePopover.js → hooks/usePopover.js} +2 -2
- package/esm/select/overrides.d.ts +3 -1
- package/esm/select/overrides.js +19 -13
- package/esm/select/select-variants.js +2 -2
- package/esm/select/select.d.ts +9 -5
- package/esm/select/select.js +9 -3
- package/esm/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +118 -0
- package/esm/select/selectMenuAdapter/CollapsibleSelectMenu.js +70 -0
- package/esm/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -32
- package/esm/select/selectMenuAdapter/SelectMenuAdapter.js +11 -5
- package/esm/select/selectMenuAdapter/SelectMenuItem.d.ts +8 -2
- package/esm/select/selectMenuAdapter/SelectMenuItem.js +2 -4
- package/esm/select/selectMenuAdapter/hooks/useGetExpandedGroup.d.ts +6 -0
- package/esm/select/selectMenuAdapter/hooks/useGetExpandedGroup.js +16 -0
- package/esm/select/selectMenuAdapter/types.d.ts +42 -0
- package/esm/select/selectMenuAdapter/types.js +1 -0
- package/esm/select/stateful-select.d.ts +9 -5
- package/esm/select/stateful-select.js +3 -3
- package/esm/select/styled-component.d.ts +15 -4
- package/esm/select/styled-component.js +60 -10
- package/esm/select/types.d.ts +36 -9
- package/esm/select/types.js +1 -0
- package/esm/select/utils/default-filter-options.d.ts +2 -1
- package/esm/select/utils/default-filter-options.js +5 -1
- package/esm/select/utils/hidden-element.d.ts +6 -0
- package/esm/select/utils/hidden-element.js +16 -0
- package/esm/select/utils/merge-options.d.ts +2 -0
- package/esm/select/utils/merge-options.js +18 -0
- package/esm/select/utils/test-utils.d.ts +1 -0
- package/esm/select/utils/test-utils.js +7 -0
- package/esm/slider/mark.d.ts +3 -3
- package/esm/slider/slider.js +2 -1
- package/esm/slider/stateful-slider.js +1 -1
- package/esm/slider/styled-components.js +4 -4
- package/esm/slider/types.d.ts +9 -2
- package/esm/snackbar/Snackbar.js +12 -12
- package/esm/snackbar/styled-component.js +9 -6
- package/esm/spacewebProvider/CustomBaseProvider.js +1 -0
- package/esm/spacewebProvider/SpacewebProvider.d.ts +3 -1
- package/esm/spacewebProvider/SpacewebProvider.js +9 -9
- package/esm/stack/stack.js +6 -13
- package/esm/style/_buildUtils.d.ts +1 -1
- package/esm/style/_buildUtils.js +3 -1
- package/esm/style/_parseStyle.js +12 -7
- package/esm/style/useMemoizedStyletron.d.ts +1 -1
- package/esm/style/useMemoizedStyletron.js +6 -1
- package/esm/styleEngine/styleEngine.d.ts +1 -2
- package/esm/switch/__test__/switch.spec.js +13 -0
- package/esm/switch/styled-components.js +14 -21
- package/esm/switch/switch.js +5 -2
- package/esm/switch/types.d.ts +8 -11
- package/esm/tag/avatar-tag.js +23 -16
- package/esm/tag/styled-components.js +32 -27
- package/esm/tag/tag.js +20 -12
- package/esm/tag/types.d.ts +2 -2
- package/esm/tag/utils.d.ts +50 -0
- package/esm/tag/utils.js +64 -0
- package/esm/textarea/basewebAdapters.js +4 -4
- package/esm/textarea/styled-components.d.ts +1 -1
- package/esm/textarea/textarea.js +4 -8
- package/esm/textarea/types.d.ts +7 -5
- package/esm/theme/Provider.d.ts +10 -0
- package/esm/theme/Provider.js +61 -0
- package/esm/theme/context.d.ts +1 -10
- package/esm/theme/context.js +1 -61
- package/esm/theme/index.d.ts +1 -0
- package/esm/theme/index.js +1 -0
- package/esm/themes/index.js +1 -1
- package/esm/themes/responsive-theme.d.ts +2 -2
- package/esm/time-picker/TimePicker.d.ts +1 -6
- package/esm/time-picker/TimePicker.js +4 -4
- package/esm/time-picker/types.d.ts +3 -1
- package/esm/time-range-picker/RangeSelector.js +6 -5
- package/esm/time-range-picker/RangeSelectorContainer.js +27 -27
- package/esm/time-range-picker/TimeRangeList.js +8 -1
- package/esm/time-range-picker/TimeRangePicker.js +26 -17
- package/esm/time-range-picker/index.d.ts +1 -1
- package/esm/time-range-picker/index.js +1 -1
- package/esm/time-range-picker/locale.d.ts +3 -0
- package/esm/time-range-picker/types.d.ts +17 -3
- package/esm/time-range-picker/utils.d.ts +47 -18
- package/esm/time-range-picker/utils.js +94 -16
- package/esm/time-zone-picker/TimezonePicker.d.ts +1 -6
- package/esm/time-zone-picker/TimezonePicker.js +5 -7
- package/esm/time-zone-picker/types.d.ts +2 -0
- package/esm/tooltip/disabled-tooltip-container.d.ts +26 -1
- package/esm/tooltip/overrides.js +1 -2
- package/esm/tooltip/stateful-tooltip-container.d.ts +26 -1
- package/esm/tooltip/stateful-tooltip.d.ts +27 -1
- package/esm/tooltip/stateful-tooltip.js +2 -2
- package/esm/tooltip/tooltip.d.ts +1 -1
- package/esm/tooltip/tooltip.js +7 -4
- package/esm/tooltip/types.d.ts +12 -2
- package/esm/types.d.ts +5 -3
- package/esm/typography/Typography.js +14 -1
- package/esm/typography/constants.d.ts +56 -0
- package/esm/typography/constants.js +56 -0
- package/esm/typography/index.d.ts +1 -0
- package/esm/typography/index.js +1 -0
- package/esm/typography/styled-components.js +12 -4
- package/esm/typography/types.d.ts +1 -1
- package/esm/utils/intlNumberFormatUtils/index.d.ts +7 -0
- package/esm/utils/intlNumberFormatUtils/index.js +36 -0
- package/esm/utils/intlNumberFormatUtils/types.d.ts +21 -0
- package/esm/utils/intlNumberFormatUtils/types.js +6 -0
- package/esm/video/Video.js +4 -2
- package/esm/video/types.d.ts +2 -0
- package/form-control/context.d.ts +6 -13
- package/form-control/context.js +11 -10
- package/form-control/form-control.d.ts +1 -1
- package/form-control/form-control.js +16 -11
- package/form-control/styled-component.js +18 -7
- package/helpers/ClearIconButton.js +3 -1
- package/helpers/StyledTombstone.d.ts +1 -0
- package/helpers/StyledTombstone.js +21 -0
- package/helpers/baseui/useConvertOverrides.js +6 -1
- package/helpers/baseui/withThemeOverride.js +1 -1
- package/helpers/commonStyles.d.ts +2 -2
- package/helpers/commonStyles.js +3 -6
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +10 -1
- package/helpers/styletron.d.ts +14 -3
- package/helpers/themeHelpers.d.ts +1 -0
- package/helpers/themeHelpers.js +15 -1
- package/hooks/useAutoFocus.d.ts +6 -7
- package/hooks/useAutoFocus.js +19 -14
- package/hooks/useCombinedRef.d.ts +1 -0
- package/hooks/useCombinedRef.js +35 -1
- package/hooks/useIsMobileDevice.d.ts +1 -0
- package/hooks/useIsMobileDevice.js +11 -0
- package/hooks/useMatchMedia.d.ts +3 -0
- package/hooks/useMatchMedia.js +52 -0
- package/icon/components/alert-solid.js +2 -0
- package/icon/components/alert.js +2 -0
- package/icon/components/calendar-solid.js +2 -0
- package/icon/components/chevron-down.js +2 -0
- package/icon/components/chevron-left.d.ts +3 -0
- package/icon/components/chevron-left.js +11 -0
- package/icon/components/chevron-right.d.ts +3 -0
- package/icon/components/chevron-right.js +11 -0
- package/icon/components/close.js +2 -0
- package/icon/components/error-clr.js +2 -0
- package/icon/components/error-solid.js +2 -0
- package/icon/components/error.js +2 -0
- package/icon/components/imagePreview.js +2 -0
- package/icon/components/info.js +2 -0
- package/icon/components/play-video.js +2 -0
- package/icon/components/reset-color.d.ts +3 -0
- package/icon/components/reset-color.js +11 -0
- package/icon/components/search.js +2 -0
- package/icon/components/tick.js +2 -0
- package/icon/components/tickCircle-solid.js +2 -0
- package/icon/components/user.js +2 -0
- package/icon/components/video-non-playable.js +2 -0
- package/index.d.ts +2 -0
- package/index.js +3 -0
- package/input/basewebAdapters.d.ts +1 -1
- package/input/basewebAdapters.js +18 -3
- package/input/index.d.ts +2 -1
- package/input/index.js +3 -1
- package/input/styled-components.d.ts +1 -1
- package/input/styled-components.js +7 -5
- package/input/types.d.ts +10 -4
- package/layer/useLayersContextValue.js +2 -1
- package/list/avatar-list-item.d.ts +12 -22
- package/list/avatar-list-item.js +6 -8
- package/list/divider.js +6 -3
- package/list/index.d.ts +1 -1
- package/list/index.js +2 -1
- package/list/list-item.d.ts +3 -1
- package/list/list-item.js +9 -6
- package/list/list.d.ts +10 -5
- package/list/list.js +47 -6
- package/list/styled-component.d.ts +1 -0
- package/list/styled-component.js +24 -18
- package/list/types.d.ts +8 -0
- package/list/utils.d.ts +2 -0
- package/list/utils.js +14 -0
- package/locale/en_US.js +35 -0
- package/locale/types.d.ts +21 -0
- package/menu/MenuContext.d.ts +2 -1
- package/menu/MenuContext.js +1 -0
- package/menu/menu-item.d.ts +8 -2
- package/menu/menu-item.js +11 -11
- package/menu/menu.d.ts +6 -0
- package/menu/menu.js +11 -11
- package/menu/types.d.ts +1 -0
- package/menu/useKeyboardNavigation.d.ts +6 -3
- package/menu/useKeyboardNavigation.js +21 -14
- package/menu/useStatefulMenu.d.ts +5 -2
- package/menu/useStatefulMenu.js +14 -8
- package/modal/adapter.d.ts +1 -1
- package/modal/index.d.ts +1 -1
- package/modal/index.js +1 -2
- package/modal/modal.js +4 -4
- package/modal/overrides.d.ts +2 -3
- package/modal/overrides.js +7 -9
- package/modal/styled-components.d.ts +1 -1
- package/modal/styled-components.js +8 -9
- package/number/Number.d.ts +3 -0
- package/number/Number.js +14 -0
- package/number/constants.d.ts +2 -0
- package/number/constants.js +7 -0
- package/number/index.d.ts +5 -0
- package/number/index.js +12 -0
- package/number/package.json +4 -0
- package/number/types.d.ts +6 -0
- package/number/types.js +2 -0
- package/number/useNumber.d.ts +2 -0
- package/number/useNumber.js +12 -0
- package/overrides/index.d.ts +1 -1
- package/overrides/index.js +2 -1
- package/overrides/mergeOverrides.d.ts +3 -2
- package/overrides/mergeOverrides.js +6 -4
- package/package.json +18 -12
- package/payment-card/basewebAdapters.d.ts +2 -0
- package/payment-card/basewebAdapters.js +27 -4
- package/payment-card/styled-components.js +24 -5
- package/payment-card/types.d.ts +4 -2
- package/phone-input/country-select-container.js +1 -1
- package/phone-input/country-select.js +4 -6
- package/phone-input/default-props.d.ts +6 -9
- package/phone-input/default-props.js +8 -9
- package/phone-input/flag-container.js +1 -1
- package/phone-input/phone-input.d.ts +0 -6
- package/phone-input/phone-input.js +20 -11
- package/phone-input/stateful-phone-input-container.js +4 -3
- package/phone-input/stateful-phone-input.d.ts +0 -6
- package/phone-input/styled-components.d.ts +9 -1
- package/phone-input/styled-components.js +22 -7
- package/phone-input/types.d.ts +2 -1
- package/phone-input/utils.d.ts +10 -3
- package/phone-input/utils.js +11 -5
- package/popover/adapter.d.ts +4 -3
- package/popover/adapter.js +16 -1
- package/popover/overrides.js +8 -19
- package/popover/popover.d.ts +6 -3
- package/popover/popover.js +12 -5
- package/popover/stateful-popover.js +2 -2
- package/popover/types.d.ts +10 -2
- package/popover/types.js +5 -4
- package/popover/utils.d.ts +12 -0
- package/popover/utils.js +11 -1
- package/progress/circular/styled-component.d.ts +1 -1
- package/progress/circular/styled-component.js +4 -4
- package/progress/linear/styled-component.d.ts +1 -1
- package/progress/linear/styled-component.js +5 -5
- package/radio/basewebAdapters.d.ts +8 -11
- package/radio/basewebAdapters.js +6 -3
- package/radio/radio.js +6 -5
- package/radio/styled-components.js +9 -11
- package/radio/types.d.ts +13 -6
- package/search/index.d.ts +1 -0
- package/search/index.js +3 -1
- package/search/search.d.ts +1 -1
- package/search/search.js +14 -5
- package/search/stateful-search.d.ts +3 -0
- package/search/stateful-search.js +19 -0
- package/search/styled-components.d.ts +1 -10
- package/search/styled-components.js +56 -25
- package/search/types.d.ts +8 -2
- package/select/adaptor.d.ts +1 -1
- package/select/base-select.d.ts +36 -16
- package/select/base-select.js +183 -86
- package/select/constants.d.ts +3 -0
- package/select/constants.js +4 -2
- package/select/default-props.d.ts +9 -5
- package/select/default-props.js +4 -1
- package/select/index.d.ts +4 -4
- package/select/index.js +4 -2
- package/select/locale.d.ts +4 -0
- package/select/mobileSelect/MobileSelect.js +3 -5
- package/select/mobileSelect/MobileSheet.js +3 -1
- package/select/multi-value.js +21 -11
- package/select/overlaySelect/OverlaySelect.js +9 -17
- package/select/overlaySelect/hooks/useControlRef.d.ts +9 -0
- package/select/overlaySelect/hooks/useControlRef.js +37 -0
- package/select/overlaySelect/hooks/useOverlaySelectOverrides.d.ts +24 -0
- package/select/overlaySelect/{useOverlaySelectOverrides.js → hooks/useOverlaySelectOverrides.js} +31 -28
- package/select/overlaySelect/{usePopover.d.ts → hooks/usePopover.d.ts} +1 -1
- package/select/overlaySelect/{usePopover.js → hooks/usePopover.js} +2 -2
- package/select/overrides.d.ts +3 -1
- package/select/overrides.js +20 -14
- package/select/select-variants.js +2 -2
- package/select/select.d.ts +9 -5
- package/select/select.js +9 -3
- package/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +118 -0
- package/select/selectMenuAdapter/CollapsibleSelectMenu.js +74 -0
- package/select/selectMenuAdapter/SelectMenuAdapter.d.ts +2 -32
- package/select/selectMenuAdapter/SelectMenuAdapter.js +11 -5
- package/select/selectMenuAdapter/SelectMenuItem.d.ts +8 -2
- package/select/selectMenuAdapter/SelectMenuItem.js +2 -4
- package/select/selectMenuAdapter/hooks/useGetExpandedGroup.d.ts +6 -0
- package/select/selectMenuAdapter/hooks/useGetExpandedGroup.js +20 -0
- package/select/selectMenuAdapter/types.d.ts +42 -0
- package/select/selectMenuAdapter/types.js +2 -0
- package/select/stateful-select.d.ts +9 -5
- package/select/stateful-select.js +3 -3
- package/select/styled-component.d.ts +15 -4
- package/select/styled-component.js +58 -11
- package/select/types.d.ts +36 -9
- package/select/types.js +2 -1
- package/select/utils/default-filter-options.d.ts +2 -1
- package/select/utils/default-filter-options.js +6 -5
- package/select/utils/hidden-element.d.ts +6 -0
- package/select/utils/hidden-element.js +19 -0
- package/select/utils/merge-options.d.ts +2 -0
- package/select/utils/merge-options.js +22 -0
- package/select/utils/test-utils.d.ts +1 -0
- package/select/utils/test-utils.js +11 -0
- package/slider/mark.d.ts +3 -3
- package/slider/slider.js +2 -1
- package/slider/stateful-slider.js +1 -1
- package/slider/styled-components.js +4 -4
- package/slider/types.d.ts +9 -2
- package/snackbar/Snackbar.js +12 -12
- package/snackbar/styled-component.js +9 -6
- package/spacewebProvider/CustomBaseProvider.js +1 -0
- package/spacewebProvider/SpacewebProvider.d.ts +3 -1
- package/spacewebProvider/SpacewebProvider.js +8 -8
- package/stack/stack.js +6 -13
- package/style/_buildUtils.d.ts +1 -1
- package/style/_buildUtils.js +3 -1
- package/style/_parseStyle.js +12 -7
- package/style/useMemoizedStyletron.d.ts +1 -1
- package/style/useMemoizedStyletron.js +6 -1
- package/styleEngine/styleEngine.d.ts +1 -2
- package/switch/__test__/switch.spec.js +13 -0
- package/switch/styled-components.js +14 -21
- package/switch/switch.js +5 -2
- package/switch/types.d.ts +8 -11
- package/tag/avatar-tag.js +23 -16
- package/tag/styled-components.js +32 -27
- package/tag/tag.js +19 -11
- package/tag/types.d.ts +2 -2
- package/tag/utils.d.ts +50 -0
- package/tag/utils.js +67 -1
- package/textarea/basewebAdapters.js +3 -3
- package/textarea/styled-components.d.ts +1 -1
- package/textarea/textarea.js +3 -7
- package/textarea/types.d.ts +7 -5
- package/theme/Provider.d.ts +10 -0
- package/theme/Provider.js +65 -0
- package/theme/context.d.ts +1 -10
- package/theme/context.js +1 -61
- package/theme/index.d.ts +1 -0
- package/theme/index.js +1 -0
- package/themes/index.js +1 -1
- package/themes/responsive-theme.d.ts +2 -2
- package/time-picker/TimePicker.d.ts +1 -6
- package/time-picker/TimePicker.js +4 -4
- package/time-picker/types.d.ts +3 -1
- package/time-range-picker/RangeSelector.js +5 -4
- package/time-range-picker/RangeSelectorContainer.js +26 -26
- package/time-range-picker/TimeRangeList.js +8 -1
- package/time-range-picker/TimeRangePicker.js +25 -16
- package/time-range-picker/index.d.ts +1 -1
- package/time-range-picker/index.js +4 -1
- package/time-range-picker/locale.d.ts +3 -0
- package/time-range-picker/types.d.ts +17 -3
- package/time-range-picker/utils.d.ts +47 -18
- package/time-range-picker/utils.js +98 -17
- package/time-zone-picker/TimezonePicker.d.ts +1 -6
- package/time-zone-picker/TimezonePicker.js +5 -7
- package/time-zone-picker/types.d.ts +2 -0
- package/tooltip/disabled-tooltip-container.d.ts +26 -1
- package/tooltip/overrides.js +1 -2
- package/tooltip/stateful-tooltip-container.d.ts +26 -1
- package/tooltip/stateful-tooltip.d.ts +27 -1
- package/tooltip/stateful-tooltip.js +2 -2
- package/tooltip/tooltip.d.ts +1 -1
- package/tooltip/tooltip.js +7 -4
- package/tooltip/types.d.ts +12 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/types.d.ts +5 -3
- package/typography/Typography.js +14 -1
- package/typography/constants.d.ts +56 -0
- package/typography/constants.js +57 -1
- package/typography/index.d.ts +1 -0
- package/typography/index.js +3 -1
- package/typography/styled-components.js +11 -3
- package/typography/types.d.ts +1 -1
- package/utils/intlNumberFormatUtils/index.d.ts +7 -0
- package/utils/intlNumberFormatUtils/index.js +40 -0
- package/utils/intlNumberFormatUtils/types.d.ts +21 -0
- package/utils/intlNumberFormatUtils/types.js +9 -0
- package/utils/package.json +4 -0
- package/video/Video.js +4 -2
- package/video/types.d.ts +2 -0
- package/esm/icon/components/chevron-right-solid.d.ts +0 -3
- package/esm/icon/components/chevron-right-solid.js +0 -6
- package/esm/phone-input/virtualized-country-select-dropdown.d.ts +0 -31
- package/esm/phone-input/virtualized-country-select-dropdown.js +0 -33
- package/esm/select/overlaySelect/useOverlaySelectOverrides.d.ts +0 -14
- package/esm/style/_escapeClassName.d.ts +0 -6
- package/esm/style/_escapeClassName.js +0 -6
- package/icon/components/chevron-right-solid.d.ts +0 -3
- package/icon/components/chevron-right-solid.js +0 -9
- package/phone-input/virtualized-country-select-dropdown.d.ts +0 -31
- package/phone-input/virtualized-country-select-dropdown.js +0 -35
- package/select/overlaySelect/useOverlaySelectOverrides.d.ts +0 -14
- package/style/_escapeClassName.d.ts +0 -6
- package/style/_escapeClassName.js +0 -9
package/esm/menu/menu-item.js
CHANGED
|
@@ -14,19 +14,20 @@ import { Popover } from '../popover';
|
|
|
14
14
|
import { useLocale } from '../locale';
|
|
15
15
|
import { canHighlightItem } from './helpers';
|
|
16
16
|
import { useMenuContext } from './MenuContext';
|
|
17
|
+
import cx from '../classNames';
|
|
17
18
|
var listItemOverrides = {
|
|
18
19
|
ListItem: {
|
|
19
20
|
props: {
|
|
20
21
|
overrides: {
|
|
21
22
|
Root: {
|
|
22
23
|
style: function (_a, _b) {
|
|
23
|
-
var theme = _a.theme;
|
|
24
|
-
var $disabled = _b.$disabled, $highlighted = _b.$highlighted, $selected = _b.$selected;
|
|
24
|
+
var getStyle = _a.getStyle, theme = _a.theme;
|
|
25
|
+
var $disabled = _b.$disabled, $highlighted = _b.$highlighted, $selected = _b.$selected, $outlined = _b.$outlined;
|
|
25
26
|
var hoverBackgroundColor = getComponentTheme(theme, 'list').hoverBackgroundColor;
|
|
26
|
-
return {
|
|
27
|
+
return getStyle(cx({ 'outline-01 outline-offset-0': $outlined }), {
|
|
27
28
|
backgroundColor: $highlighted || $selected ? hoverBackgroundColor : 'none',
|
|
28
29
|
cursor: $disabled ? 'not-allowed' : 'pointer',
|
|
29
|
-
};
|
|
30
|
+
});
|
|
30
31
|
},
|
|
31
32
|
},
|
|
32
33
|
},
|
|
@@ -34,13 +35,12 @@ var listItemOverrides = {
|
|
|
34
35
|
},
|
|
35
36
|
};
|
|
36
37
|
var MenuItem = React.forwardRef(function (_a, ref) {
|
|
37
|
-
var _b;
|
|
38
38
|
var selected = _a.selected, highlighted = _a.highlighted, overrides = _a.overrides, getChildMenu = _a.getChildMenu, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, onMouseOver = _a.onMouseOver, renderAll = _a.renderAll, restProps = __rest(_a, ["selected", "highlighted", "overrides", "getChildMenu", "onMouseEnter", "onMouseLeave", "onMouseOver", "renderAll"]);
|
|
39
|
-
var
|
|
39
|
+
var _b = __read(useState(false), 2), hovered = _b[0], setHovered = _b[1];
|
|
40
40
|
var ChildMenu = getChildMenu === null || getChildMenu === void 0 ? void 0 : getChildMenu();
|
|
41
41
|
var ownRef = useRef(null);
|
|
42
42
|
var itemRef = useCombinedRefs(ref, ownRef);
|
|
43
|
-
var
|
|
43
|
+
var _c = useMenuContext(), highlightedItem = _c.highlightedItem, setHighlightedItem = _c.setHighlightedItem, setMenuContainerRef = _c.setMenuContainerRef, listItemFocusVisible = _c.listItemFocusVisible, nestedMenuOpen = _c.nestedMenuOpen, setNestedMenuOpen = _c.setNestedMenuOpen;
|
|
44
44
|
var locale = useLocale();
|
|
45
45
|
useEffect(function () {
|
|
46
46
|
var _a, _b;
|
|
@@ -48,8 +48,8 @@ var MenuItem = React.forwardRef(function (_a, ref) {
|
|
|
48
48
|
}, [setMenuContainerRef]);
|
|
49
49
|
var isItemHighlighted = highlighted || (highlightedItem !== null && highlightedItem === ownRef.current);
|
|
50
50
|
var mergedOverrides = useMemo(function () { return mergeOverrides(listItemOverrides, overrides); }, [overrides]);
|
|
51
|
-
var
|
|
52
|
-
var
|
|
51
|
+
var _d = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.ListItem, ListItem), 2), ListItemOverride = _d[0], listItemProps = _d[1];
|
|
52
|
+
var _e = __read(useOverrides(mergedOverrides === null || mergedOverrides === void 0 ? void 0 : mergedOverrides.Popover, Popover), 2), PopoverOverride = _e[0], popoverProps = _e[1];
|
|
53
53
|
var onMouseOverRef = useLatest(onMouseOver);
|
|
54
54
|
var handleMouseOver = useCallback(function (e) {
|
|
55
55
|
var _a;
|
|
@@ -61,7 +61,7 @@ var MenuItem = React.forwardRef(function (_a, ref) {
|
|
|
61
61
|
var resetMenu = useCallback(function () { return setHighlightedItem(null); }, [setHighlightedItem]);
|
|
62
62
|
var closeNestedMenu = useCallback(function () { return setNestedMenuOpen(false); }, [setNestedMenuOpen]);
|
|
63
63
|
var id = useUniqueId();
|
|
64
|
-
var listItem = (_jsx(ListItemOverride, __assign({ id: id.toString(), ref: itemRef, role: "menuitem", "aria-label": ChildMenu ? locale.menu.nestedMenuItemAriaLabel : undefined, selected: selected, "aria-selected": selected, "data-haschildmenu": Boolean(ChildMenu), highlighted: isItemHighlighted, endEnhancer: ChildMenu && _jsx(ChevronDown, { size: 10, className: "transform -rotate-90" }, void 0), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, restProps, { onMouseOver: handleMouseOver }, listItemProps), void 0));
|
|
64
|
+
var listItem = (_jsx(ListItemOverride, __assign({ id: id.toString(), ref: itemRef, role: "menuitem", "aria-label": ChildMenu ? locale.menu.nestedMenuItemAriaLabel : undefined, selected: selected, "aria-selected": selected, "data-haschildmenu": Boolean(ChildMenu), highlighted: isItemHighlighted, "$outlined": isItemHighlighted && listItemFocusVisible, endEnhancer: ChildMenu && _jsx(ChevronDown, { size: 10, className: "transform -rotate-90" }, void 0), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, restProps, { onMouseOver: handleMouseOver }, listItemProps), void 0));
|
|
65
65
|
var handleMouseEnter = useCombinedHandler(function () { return setHovered(true); }, onMouseEnter);
|
|
66
66
|
var handleMouseLeave = useCombinedHandler(function () { return setHovered(false); }, onMouseLeave);
|
|
67
67
|
// when we have opened child menu using hover, then after switching to keyboard hovered state remains true
|
|
@@ -74,7 +74,7 @@ var MenuItem = React.forwardRef(function (_a, ref) {
|
|
|
74
74
|
if (!ChildMenu) {
|
|
75
75
|
return listItem;
|
|
76
76
|
}
|
|
77
|
-
return (_jsx(PopoverOverride, __assign({ content: ChildMenu, isOpen: isItemHighlighted && (hovered || nestedMenuOpen), placement: "rightTop", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseLeaveDelay: 30, triggerType: "hover",
|
|
77
|
+
return (_jsx(PopoverOverride, __assign({ content: ChildMenu, isOpen: isItemHighlighted && (hovered || nestedMenuOpen), placement: "rightTop", onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, onMouseLeaveDelay: 30, triggerType: "hover", renderAll: renderAll, onClickOutside: resetMenu, onEsc: closeNestedMenu }, popoverProps, { children: listItem }), void 0));
|
|
78
78
|
});
|
|
79
79
|
MenuItem.displayName = 'MenuItem';
|
|
80
80
|
export default React.memo(MenuItem);
|
package/esm/menu/menu.d.ts
CHANGED
|
@@ -10,9 +10,14 @@ declare const _default: import("react").MemoExoticComponent<import("react").Forw
|
|
|
10
10
|
style?: import("..").Styles;
|
|
11
11
|
} & {
|
|
12
12
|
children?: import("react").ReactNode;
|
|
13
|
+
virtual?: boolean | undefined;
|
|
13
14
|
overrides?: {
|
|
14
15
|
Root?: import("../overrides").Override<Record<string, any>> | undefined;
|
|
15
16
|
} | undefined;
|
|
17
|
+
scrollElement?: HTMLElement | null | undefined;
|
|
18
|
+
overscanCount?: number | undefined;
|
|
19
|
+
estimateItemSize?: number | undefined;
|
|
20
|
+
$showFocusOutline?: boolean | undefined;
|
|
16
21
|
} & Record<string, any>> | undefined;
|
|
17
22
|
} | undefined;
|
|
18
23
|
onHighlightedItemChange?: ((item?: HTMLElement | null | undefined) => void) | undefined;
|
|
@@ -21,5 +26,6 @@ declare const _default: import("react").MemoExoticComponent<import("react").Forw
|
|
|
21
26
|
resetMenuOnMouseLeave?: boolean | undefined;
|
|
22
27
|
reducer?: import("./types").Reducer | undefined;
|
|
23
28
|
captureScroll?: boolean | undefined;
|
|
29
|
+
selectOnTab?: boolean | undefined;
|
|
24
30
|
} & import("react").RefAttributes<MenuRef>>>;
|
|
25
31
|
export default _default;
|
package/esm/menu/menu.js
CHANGED
|
@@ -9,20 +9,21 @@ import { defaultReducer } from './helpers';
|
|
|
9
9
|
import { MenuProvider } from './MenuContext';
|
|
10
10
|
import useItemContainerEventHandlers from './useItemContainerEventHandlers';
|
|
11
11
|
import useStatefulMenu from './useStatefulMenu';
|
|
12
|
-
import { useNestedMenuContext } from './nested-menu-context';
|
|
13
12
|
var Menu = forwardRef(function (_a, ref) {
|
|
14
|
-
var _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, _c = _a.focusWhenNavigationEnabled, focusWhenNavigationEnabled = _c === void 0 ? true : _c, children = _a.children, overrides = _a.overrides, onHighlightedItemChange = _a.onHighlightedItemChange, disableAutoHighlight = _a.disableAutoHighlight, resetMenuOnMouseLeave = _a.resetMenuOnMouseLeave, resetMenuHighlightOnMouseLeave = _a.resetMenuHighlightOnMouseLeave,
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
13
|
+
var _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, _c = _a.focusWhenNavigationEnabled, focusWhenNavigationEnabled = _c === void 0 ? true : _c, _d = _a.virtual, virtual = _d === void 0 ? false : _d, overscanCount = _a.overscanCount, _e = _a.scrollElement, scrollElement = _e === void 0 ? null : _e, estimateItemSize = _a.estimateItemSize, children = _a.children, overrides = _a.overrides, onHighlightedItemChange = _a.onHighlightedItemChange, disableAutoHighlight = _a.disableAutoHighlight, resetMenuOnMouseLeave = _a.resetMenuOnMouseLeave, resetMenuHighlightOnMouseLeave = _a.resetMenuHighlightOnMouseLeave, _f = _a.reducer, reducer = _f === void 0 ? defaultReducer : _f, captureScroll = _a.captureScroll, _g = _a.selectOnTab, selectOnTab = _g === void 0 ? false : _g, restProps = __rest(_a, ["disableNavigationOnMount", "focusWhenNavigationEnabled", "virtual", "overscanCount", "scrollElement", "estimateItemSize", "children", "overrides", "onHighlightedItemChange", "disableAutoHighlight", "resetMenuOnMouseLeave", "resetMenuHighlightOnMouseLeave", "reducer", "captureScroll", "selectOnTab"]);
|
|
14
|
+
var _h = __read(useState(null), 2), listRef = _h[0], setListRef = _h[1];
|
|
15
|
+
var _j = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.List, List), 2), ListOverride = _j[0], listProps = _j[1];
|
|
16
|
+
var _k = __read(useState(null), 2), listItemsContainer = _k[0], setListItemsContainer = _k[1];
|
|
17
|
+
var _l = useStatefulMenu({
|
|
19
18
|
disableNavigationOnMount: disableNavigationOnMount,
|
|
20
19
|
disableAutoHighlight: disableAutoHighlight,
|
|
21
20
|
focusWhenNavigationEnabled: focusWhenNavigationEnabled,
|
|
22
21
|
onHighlightedItemChange: onHighlightedItemChange,
|
|
23
22
|
listItemsContainerRef: listItemsContainer,
|
|
24
23
|
reducer: reducer,
|
|
25
|
-
|
|
24
|
+
selectOnTab: selectOnTab,
|
|
25
|
+
children: children,
|
|
26
|
+
}), turnOnKeyboardNavigation = _l.turnOnKeyboardNavigation, turnOffKeyboardNavigation = _l.turnOffKeyboardNavigation, highlightedItem = _l.highlightedItem, setHighlightedItem = _l.setHighlightedItem, nestedMenuOpen = _l.nestedMenuOpen, listItemFocusVisible = _l.listItemFocusVisible, setNestedMenuOpen = _l.setNestedMenuOpen;
|
|
26
27
|
var setScrollTarget = useScrollCapture({ enabled: captureScroll });
|
|
27
28
|
var setListCombinedRef = useCombinedRefs(setListRef, setScrollTarget);
|
|
28
29
|
var menuContextValue = useMemo(function () { return ({
|
|
@@ -30,8 +31,9 @@ var Menu = forwardRef(function (_a, ref) {
|
|
|
30
31
|
setHighlightedItem: setHighlightedItem,
|
|
31
32
|
setMenuContainerRef: setListItemsContainer,
|
|
32
33
|
nestedMenuOpen: nestedMenuOpen,
|
|
34
|
+
listItemFocusVisible: listItemFocusVisible,
|
|
33
35
|
setNestedMenuOpen: setNestedMenuOpen,
|
|
34
|
-
}); }, [highlightedItem, setHighlightedItem, nestedMenuOpen, setNestedMenuOpen]);
|
|
36
|
+
}); }, [highlightedItem, setHighlightedItem, nestedMenuOpen, listItemFocusVisible, setNestedMenuOpen]);
|
|
35
37
|
useItemContainerEventHandlers({
|
|
36
38
|
listItemsContainer: listItemsContainer,
|
|
37
39
|
resetMenuHighlightOnMouseLeave: resetMenuHighlightOnMouseLeave || resetMenuOnMouseLeave,
|
|
@@ -48,9 +50,7 @@ var Menu = forwardRef(function (_a, ref) {
|
|
|
48
50
|
}
|
|
49
51
|
return menuRef;
|
|
50
52
|
}, [turnOnKeyboardNavigation, turnOffKeyboardNavigation, setHighlightedItem, listRef]);
|
|
51
|
-
|
|
52
|
-
var $showFocusOutline = Object.keys(nestedMenuContext).length !== 0;
|
|
53
|
-
return (_jsx(MenuProvider, __assign({ value: menuContextValue }, { children: _jsx(ListOverride, __assign({ ref: setListCombinedRef, "$showFocusOutline": $showFocusOutline, role: "menu" }, restProps, listProps, { children: children }), void 0) }), void 0));
|
|
53
|
+
return (_jsx(MenuProvider, __assign({ value: menuContextValue }, { children: _jsx(ListOverride, __assign({ ref: setListCombinedRef, role: "menu", virtual: virtual, overscanCount: overscanCount, scrollElement: scrollElement, estimateItemSize: estimateItemSize }, restProps, listProps, { children: children }), void 0) }), void 0));
|
|
54
54
|
});
|
|
55
55
|
Menu.displayName = 'Menu';
|
|
56
56
|
export default memo(Menu);
|
package/esm/menu/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { Reducer } from './types';
|
|
3
3
|
declare type Params = {
|
|
4
4
|
/**
|
|
@@ -9,15 +9,18 @@ declare type Params = {
|
|
|
9
9
|
disableNavigationOnMount?: boolean;
|
|
10
10
|
disableAutoHighlight?: boolean;
|
|
11
11
|
reducer: Reducer;
|
|
12
|
+
selectOnTab?: boolean;
|
|
13
|
+
children?: ReactNode;
|
|
12
14
|
};
|
|
13
15
|
declare type NavigationUtils = {
|
|
14
16
|
highlightedItem: HTMLElement | null;
|
|
15
|
-
setHighlightedItem:
|
|
17
|
+
setHighlightedItem: (item: HTMLElement | null, showFocusVisibleStyles?: boolean) => void;
|
|
16
18
|
turnOnKeyboardNavigation: () => void;
|
|
17
19
|
turnOffKeyboardNavigation: () => void;
|
|
20
|
+
listItemFocusVisible: boolean;
|
|
18
21
|
navigationEnabled: boolean;
|
|
19
22
|
nestedMenuOpen: boolean;
|
|
20
23
|
setNestedMenuOpen: (open: boolean) => void;
|
|
21
24
|
};
|
|
22
|
-
declare const useKeyboardNavigation: ({ listItemsContainerRef, disableNavigationOnMount, focusWhenNavigationEnabled, disableAutoHighlight, reducer, }: Params) => NavigationUtils;
|
|
25
|
+
declare const useKeyboardNavigation: ({ listItemsContainerRef, disableNavigationOnMount, focusWhenNavigationEnabled, disableAutoHighlight, reducer, selectOnTab, children, }: Params) => NavigationUtils;
|
|
23
26
|
export default useKeyboardNavigation;
|
|
@@ -5,27 +5,29 @@ import { useDocument } from '../spacewebProvider/DocumentProvider';
|
|
|
5
5
|
import { getFirstHighlightableElement, getNextHighlightedItem } from './helpers';
|
|
6
6
|
import { useNestedMenuContext } from './nested-menu-context';
|
|
7
7
|
var useKeyboardNavigation = function (_a) {
|
|
8
|
-
var listItemsContainerRef = _a.listItemsContainerRef, _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, _c = _a.focusWhenNavigationEnabled, focusWhenNavigationEnabled = _c === void 0 ? true : _c, disableAutoHighlight = _a.disableAutoHighlight, reducer = _a.reducer;
|
|
9
|
-
var _d = __read(useState(null), 2), highlightedItem = _d[0],
|
|
10
|
-
var _e = __read(useState(
|
|
11
|
-
var _f = __read(useState(
|
|
8
|
+
var listItemsContainerRef = _a.listItemsContainerRef, _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, _c = _a.focusWhenNavigationEnabled, focusWhenNavigationEnabled = _c === void 0 ? true : _c, disableAutoHighlight = _a.disableAutoHighlight, reducer = _a.reducer, selectOnTab = _a.selectOnTab, children = _a.children;
|
|
9
|
+
var _d = __read(useState(null), 2), highlightedItem = _d[0], _setHighlightedItem = _d[1];
|
|
10
|
+
var _e = __read(useState(false), 2), listItemFocusVisible = _e[0], setListItemFocusVisible = _e[1];
|
|
11
|
+
var _f = __read(useState(!disableNavigationOnMount), 2), navigationEnabled = _f[0], setNavigationEnabled = _f[1];
|
|
12
|
+
var _g = __read(useState(false), 2), nestedMenuOpen = _g[0], setNestedMenuOpen = _g[1];
|
|
12
13
|
var highlightedItemRef = useLatest(highlightedItem);
|
|
13
14
|
var reducerRef = useLatest(reducer);
|
|
14
15
|
var ownerDocument = useDocument();
|
|
16
|
+
var setHighlightedItem = function (item, showFocusVisibleStyles) {
|
|
17
|
+
if (showFocusVisibleStyles === void 0) { showFocusVisibleStyles = false; }
|
|
18
|
+
_setHighlightedItem(item);
|
|
19
|
+
setListItemFocusVisible(showFocusVisibleStyles);
|
|
20
|
+
};
|
|
15
21
|
// highlight first item in the list if prevHighlighted item is no longer in dom
|
|
16
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps -- run this hook whenever menu re-renders
|
|
17
22
|
useLayoutEffect(function () {
|
|
18
23
|
var isHighlightedItemInDom = ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body.contains(highlightedItem);
|
|
19
|
-
if (!
|
|
20
|
-
disableAutoHighlight ||
|
|
21
|
-
isHighlightedItemInDom ||
|
|
22
|
-
!navigationEnabled ||
|
|
23
|
-
!listItemsContainerRef) {
|
|
24
|
+
if (disableAutoHighlight || isHighlightedItemInDom || !navigationEnabled || !listItemsContainerRef) {
|
|
24
25
|
return;
|
|
25
26
|
}
|
|
26
27
|
var firstHighlightableItem = getFirstHighlightableElement(listItemsContainerRef).firstHighlightableItem;
|
|
27
28
|
firstHighlightableItem && setHighlightedItem(firstHighlightableItem);
|
|
28
|
-
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps -- run this hook only when children changes
|
|
30
|
+
}, [children]);
|
|
29
31
|
useEffect(function () {
|
|
30
32
|
// Scroll the selected item into view for the first time when menu opens up
|
|
31
33
|
window.requestAnimationFrame(function () {
|
|
@@ -38,7 +40,7 @@ var useKeyboardNavigation = function (_a) {
|
|
|
38
40
|
setNestedMenuOpen(false);
|
|
39
41
|
}, [setNavigationEnabled, setNestedMenuOpen]);
|
|
40
42
|
var turnOffKeyboardNavigation = useCallback(function () { return setNavigationEnabled(false); }, []);
|
|
41
|
-
var
|
|
43
|
+
var _h = useNestedMenuContext(), getMenuInfo = _h.getMenuInfo, getParentMenuInfo = _h.getParentMenuInfo, getChildMenuInfo = _h.getChildMenuInfo;
|
|
42
44
|
// Highlight previously selected item or first highlightable item on mount
|
|
43
45
|
useEffect(function () {
|
|
44
46
|
if (disableAutoHighlight || !listItemsContainerRef) {
|
|
@@ -75,13 +77,17 @@ var useKeyboardNavigation = function (_a) {
|
|
|
75
77
|
// Stop scrolling the menu
|
|
76
78
|
event.preventDefault();
|
|
77
79
|
}
|
|
78
|
-
|
|
80
|
+
else if (event.key === 'Tab' && selectOnTab) {
|
|
81
|
+
_highlightedItem === null || _highlightedItem === void 0 ? void 0 : _highlightedItem.click();
|
|
82
|
+
event.preventDefault();
|
|
83
|
+
}
|
|
84
|
+
setHighlightedItem(nextItemToHighlight, true);
|
|
79
85
|
/**
|
|
80
86
|
* When Menu mounts for the first time inside popover, it renders outside visible viewport until popover measures position of anchor/target element.
|
|
81
87
|
* By calling `scrollIntoView` after keydown(instead useEffect), avoiding scrollIntoView call for the first render.
|
|
82
88
|
*/
|
|
83
89
|
(_a = nextItemToHighlight === null || nextItemToHighlight === void 0 ? void 0 : nextItemToHighlight.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(nextItemToHighlight, { block: 'nearest' });
|
|
84
|
-
}, [getMenuInfo, getParentMenuInfo, highlightedItemRef, listItemsContainerRef, ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body]);
|
|
90
|
+
}, [getMenuInfo, getParentMenuInfo, highlightedItemRef, listItemsContainerRef, ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.body, selectOnTab]);
|
|
85
91
|
useEffect(function () {
|
|
86
92
|
if (!navigationEnabled) {
|
|
87
93
|
return undefined;
|
|
@@ -115,6 +121,7 @@ var useKeyboardNavigation = function (_a) {
|
|
|
115
121
|
return {
|
|
116
122
|
highlightedItem: highlightedItem,
|
|
117
123
|
setHighlightedItem: setHighlightedItem,
|
|
124
|
+
listItemFocusVisible: listItemFocusVisible,
|
|
118
125
|
turnOffKeyboardNavigation: turnOffKeyboardNavigation,
|
|
119
126
|
turnOnKeyboardNavigation: turnOnKeyboardNavigation,
|
|
120
127
|
navigationEnabled: navigationEnabled,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { Reducer } from './types';
|
|
3
3
|
declare type UseStatefulMenu = (params: {
|
|
4
4
|
disableNavigationOnMount?: boolean;
|
|
@@ -7,11 +7,14 @@ declare type UseStatefulMenu = (params: {
|
|
|
7
7
|
listItemsContainerRef: HTMLElement | null;
|
|
8
8
|
onHighlightedItemChange?: (item?: HTMLElement | null) => void;
|
|
9
9
|
reducer?: Reducer;
|
|
10
|
+
selectOnTab?: boolean;
|
|
11
|
+
children?: ReactNode;
|
|
10
12
|
}) => {
|
|
11
13
|
highlightedItem: HTMLElement | null;
|
|
12
|
-
setHighlightedItem:
|
|
14
|
+
setHighlightedItem: (item: HTMLElement | null, showFocusVisibleStyles?: boolean) => void;
|
|
13
15
|
turnOnKeyboardNavigation: () => void;
|
|
14
16
|
turnOffKeyboardNavigation: () => void;
|
|
17
|
+
listItemFocusVisible: boolean;
|
|
15
18
|
navigationEnabled: boolean;
|
|
16
19
|
nestedMenuOpen: boolean;
|
|
17
20
|
setNestedMenuOpen: (open: boolean) => void;
|
|
@@ -4,7 +4,7 @@ import { defaultReducer } from './helpers';
|
|
|
4
4
|
import { useNestedMenuContext } from './nested-menu-context';
|
|
5
5
|
import useKeyboardNavigation from './useKeyboardNavigation';
|
|
6
6
|
var useStatefulMenu = function (_a) {
|
|
7
|
-
var _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, focusWhenNavigationEnabled = _a.focusWhenNavigationEnabled, listItemsContainerRef = _a.listItemsContainerRef, onHighlightedItemChange = _a.onHighlightedItemChange, disableAutoHighlight = _a.disableAutoHighlight, _c = _a.reducer, reducer = _c === void 0 ? defaultReducer : _c;
|
|
7
|
+
var _b = _a.disableNavigationOnMount, disableNavigationOnMount = _b === void 0 ? false : _b, focusWhenNavigationEnabled = _a.focusWhenNavigationEnabled, listItemsContainerRef = _a.listItemsContainerRef, onHighlightedItemChange = _a.onHighlightedItemChange, disableAutoHighlight = _a.disableAutoHighlight, _c = _a.reducer, reducer = _c === void 0 ? defaultReducer : _c, selectOnTab = _a.selectOnTab, children = _a.children;
|
|
8
8
|
useEffect(function () {
|
|
9
9
|
// focusWhenNavigationEnabled is true, then make listContainer focusable if required
|
|
10
10
|
if (focusWhenNavigationEnabled && listItemsContainerRef && listItemsContainerRef.tabIndex < 0) {
|
|
@@ -17,7 +17,9 @@ var useStatefulMenu = function (_a) {
|
|
|
17
17
|
focusWhenNavigationEnabled: focusWhenNavigationEnabled,
|
|
18
18
|
listItemsContainerRef: listItemsContainerRef,
|
|
19
19
|
reducer: reducer,
|
|
20
|
-
|
|
20
|
+
selectOnTab: selectOnTab,
|
|
21
|
+
children: children,
|
|
22
|
+
}), highlightedItem = _d.highlightedItem, setHighlightedItem = _d.setHighlightedItem, turnOnKeyboardNavigation = _d.turnOnKeyboardNavigation, turnOffKeyboardNavigation = _d.turnOffKeyboardNavigation, listItemFocusVisible = _d.listItemFocusVisible, navigationEnabled = _d.navigationEnabled, nestedMenuOpen = _d.nestedMenuOpen, setNestedMenuOpen = _d.setNestedMenuOpen;
|
|
21
23
|
var _e = useNestedMenuContext(), unregisterMenu = _e.unregisterMenu, registerMenu = _e.registerMenu, getParentMenuInfo = _e.getParentMenuInfo;
|
|
22
24
|
useEffect(function () {
|
|
23
25
|
if (!listItemsContainerRef)
|
|
@@ -44,20 +46,24 @@ var useStatefulMenu = function (_a) {
|
|
|
44
46
|
(_a = onHighlightedItemChangeRef.current) === null || _a === void 0 ? void 0 : _a.call(onHighlightedItemChangeRef, highlightedItem);
|
|
45
47
|
}, [highlightedItem, onHighlightedItemChangeRef]);
|
|
46
48
|
useEffect(function () {
|
|
47
|
-
var
|
|
49
|
+
var activeElement;
|
|
48
50
|
// set aria-activedescendant to current focused element whenever highlighted item changes
|
|
49
|
-
if (navigationEnabled && (highlightedItem === null || highlightedItem === void 0 ? void 0 : highlightedItem.id)) {
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
if (navigationEnabled && (highlightedItem === null || highlightedItem === void 0 ? void 0 : highlightedItem.id) && document.activeElement) {
|
|
52
|
+
activeElement = document.activeElement;
|
|
53
|
+
activeElement.setAttribute('aria-activedescendant', highlightedItem.id);
|
|
52
54
|
}
|
|
53
|
-
|
|
54
|
-
(
|
|
55
|
+
return function () {
|
|
56
|
+
if (activeElement) {
|
|
57
|
+
activeElement.removeAttribute('aria-activedescendant');
|
|
58
|
+
}
|
|
59
|
+
};
|
|
55
60
|
}, [navigationEnabled, highlightedItem]);
|
|
56
61
|
return {
|
|
57
62
|
highlightedItem: highlightedItem,
|
|
58
63
|
setHighlightedItem: setHighlightedItem,
|
|
59
64
|
turnOffKeyboardNavigation: turnOffKeyboardNavigation,
|
|
60
65
|
turnOnKeyboardNavigation: turnOnKeyboardNavigation,
|
|
66
|
+
listItemFocusVisible: listItemFocusVisible,
|
|
61
67
|
navigationEnabled: navigationEnabled,
|
|
62
68
|
nestedMenuOpen: nestedMenuOpen,
|
|
63
69
|
setNestedMenuOpen: setNestedMenuOpen,
|
package/esm/modal/adapter.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ import { StyleUtils } from '../types';
|
|
|
3
3
|
import { Role, Size } from './types';
|
|
4
4
|
import { ValueOf } from '../utility-types';
|
|
5
5
|
export declare const getWidthFromSize: ({ px2rem }: StyleUtils, size: Size) => string;
|
|
6
|
-
export declare const roleMap: Record<Role, ValueOf<ROLE>>;
|
|
6
|
+
export declare const roleMap: Record<Role, ValueOf<typeof ROLE>>;
|
package/esm/modal/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { default as Modal } from './modal';
|
|
|
2
2
|
export { default as ModalHeader } from './modal-header';
|
|
3
3
|
export { default as ModalFooter } from './modal-footer';
|
|
4
4
|
export { FocusOnce } from 'baseui/modal';
|
|
5
|
-
export { ModalBody, StyledRoot,
|
|
5
|
+
export { ModalBody, StyledRoot, StyledClose, StyledDialog, StyledDialogContainer, StyledModal, } from './styled-components';
|
|
6
6
|
export type { SharedProps, ModalProps, ModalState, Size, Role, } from './types';
|
|
7
7
|
export { CLOSE_SOURCE } from './types';
|
package/esm/modal/index.js
CHANGED
|
@@ -2,5 +2,5 @@ export { default as Modal } from './modal';
|
|
|
2
2
|
export { default as ModalHeader } from './modal-header';
|
|
3
3
|
export { default as ModalFooter } from './modal-footer';
|
|
4
4
|
export { FocusOnce } from 'baseui/modal';
|
|
5
|
-
export { ModalBody, StyledRoot,
|
|
5
|
+
export { ModalBody, StyledRoot, StyledClose, StyledDialog, StyledDialogContainer, StyledModal, } from './styled-components';
|
|
6
6
|
export { CLOSE_SOURCE } from './types';
|
package/esm/modal/modal.js
CHANGED
|
@@ -6,15 +6,17 @@ import { useConvertOverrides } from '../helpers/baseui/useConvertOverrides';
|
|
|
6
6
|
import Close from '../icon/components/close';
|
|
7
7
|
import { useStyle } from '../style';
|
|
8
8
|
import { getWidthFromSize, roleMap } from './adapter';
|
|
9
|
-
import { getCloseButtonProps, getDialogContainerStyles, getDialogStyles
|
|
9
|
+
import { getCloseButtonProps, getDialogContainerStyles, getDialogStyles } from './overrides';
|
|
10
10
|
import { StyledModal } from './styled-components';
|
|
11
11
|
import { add$props } from '../helpers';
|
|
12
|
+
import { useLocale } from '../locale';
|
|
12
13
|
var CloseButton = function (closeProps) { return (_jsx(IconButton, __assign({}, closeProps, { children: _jsx(Close, {}, void 0) }), void 0)); };
|
|
13
14
|
var Modal = function (_a) {
|
|
14
15
|
var _b = _a.size, size = _b === void 0 ? 'md' : _b, _c = _a.role, role = _c === void 0 ? 'dialog' : _c, ariaLabel = _a.ariaLabel, overrides = _a.overrides, props = __rest(_a, ["size", "role", "ariaLabel", "overrides"]);
|
|
15
16
|
var utils = useStyle();
|
|
16
17
|
var theme = utils.theme;
|
|
17
18
|
var sharedProps = add$props({ dialogSize: size });
|
|
19
|
+
var locale = useLocale();
|
|
18
20
|
var _overrides = useConvertOverrides({
|
|
19
21
|
DialogContainer: { style: getDialogContainerStyles, props: sharedProps },
|
|
20
22
|
Dialog: {
|
|
@@ -23,12 +25,10 @@ var Modal = function (_a) {
|
|
|
23
25
|
},
|
|
24
26
|
Close: {
|
|
25
27
|
component: CloseButton,
|
|
26
|
-
props: getCloseButtonProps(utils, sharedProps),
|
|
28
|
+
props: getCloseButtonProps(utils, sharedProps, locale.modal.closeAriaLabel),
|
|
27
29
|
},
|
|
28
|
-
Backdrop: { style: getBackdropStyles, props: sharedProps },
|
|
29
30
|
}, overrides, [overrides, theme]);
|
|
30
|
-
|
|
31
|
-
return (_jsx(StyledModal, __assign({}, props, { size: getWidthFromSize(utils, size), role: roleMap[role], unstable_ModalBackdropScroll: true, overrides: _overrides }), void 0));
|
|
31
|
+
return (_jsx(StyledModal, __assign({}, props, { size: getWidthFromSize(utils, size), role: roleMap[role], overrides: _overrides }), void 0));
|
|
32
32
|
};
|
|
33
33
|
Modal.displayName = 'Modal';
|
|
34
34
|
export default React.memo(Modal);
|
package/esm/modal/overrides.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { Styles, StyleUtils } from '../types';
|
|
|
3
3
|
import { SharedProps } from './types';
|
|
4
4
|
export declare const getDialogContainerStyles: Styles;
|
|
5
5
|
export declare const getDialogStyles: Styles;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const getCloseButtonProps: ({ px2rem, direction, theme }: StyleUtils, { $dialogSize }: {
|
|
6
|
+
export declare const getCloseButtonProps: ({ px2rem, theme }: StyleUtils, { $dialogSize }: {
|
|
8
7
|
$dialogSize: SharedProps['$size'];
|
|
9
|
-
}) => IconButtonProps;
|
|
8
|
+
}, ariaLabel: string) => IconButtonProps;
|
package/esm/modal/overrides.js
CHANGED
|
@@ -38,17 +38,15 @@ export var getDialogStyles = [
|
|
|
38
38
|
getDialogHeightControl,
|
|
39
39
|
transitionDuration,
|
|
40
40
|
];
|
|
41
|
-
export var
|
|
42
|
-
|
|
43
|
-
var _c;
|
|
44
|
-
var px2rem = _a.px2rem, direction = _a.direction, theme = _a.theme;
|
|
41
|
+
export var getCloseButtonProps = function (_a, _b, ariaLabel) {
|
|
42
|
+
var px2rem = _a.px2rem, theme = _a.theme;
|
|
45
43
|
var $dialogSize = _b.$dialogSize;
|
|
46
|
-
|
|
47
|
-
return {
|
|
44
|
+
return ({
|
|
48
45
|
size: 'sm',
|
|
46
|
+
'aria-label': ariaLabel,
|
|
49
47
|
overrides: {
|
|
50
48
|
BaseButton: {
|
|
51
|
-
style: __assign(
|
|
49
|
+
style: __assign({ position: 'absolute', top: px2rem(12), right: px2rem(16) }, ($dialogSize === 'fullPage'
|
|
52
50
|
? {
|
|
53
51
|
top: px2rem(-44),
|
|
54
52
|
right: px2rem(0),
|
|
@@ -63,5 +61,5 @@ export var getCloseButtonProps = function (_a, _b) {
|
|
|
63
61
|
: {})),
|
|
64
62
|
},
|
|
65
63
|
},
|
|
66
|
-
};
|
|
64
|
+
});
|
|
67
65
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModalProps as BaseModalProps } from 'baseui/modal';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
export { StyledRoot,
|
|
3
|
+
export { StyledRoot, StyledClose, StyledDialog, StyledDialogContainer } from 'baseui/modal';
|
|
4
4
|
export declare const StyledModal: React.ComponentType<BaseModalProps>;
|
|
5
5
|
export declare const StyledModalHeader: import("../style/styled").StyledComponent;
|
|
6
6
|
export declare const ModalBody: import("../style/styled").StyledComponent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Modal as BaseModal } from 'baseui/modal';
|
|
2
2
|
import withThemeOverride from '../helpers/baseui/withThemeOverride';
|
|
3
3
|
import { styled } from '../style';
|
|
4
|
-
export { StyledRoot,
|
|
4
|
+
export { StyledRoot, StyledClose, StyledDialog, StyledDialogContainer } from 'baseui/modal';
|
|
5
5
|
// @ts-ignore
|
|
6
6
|
BaseModal.displayName = 'BaseUIModal';
|
|
7
7
|
export var StyledModal = withThemeOverride(BaseModal, function (theme) { return ({
|
|
@@ -13,19 +13,19 @@ export var StyledModal = withThemeOverride(BaseModal, function (theme) { return
|
|
|
13
13
|
contentSecondary: theme.spr.text02,
|
|
14
14
|
},
|
|
15
15
|
}); });
|
|
16
|
-
export var StyledModalHeader = styled('div', 'typography-h4 spr-text-01 font-bold border-t-0 border-r-0 border-l-0', function (_a, _b) {
|
|
16
|
+
export var StyledModalHeader = styled('div', 'typography-h4 spr-text-01 font-bold border-t-0 border-r-0 border-l-0 pt-4 px-6', function (_a, _b) {
|
|
17
17
|
var px2rem = _a.px2rem;
|
|
18
18
|
var $noBorder = _b.$noBorder;
|
|
19
19
|
return ({ lineHeight: $noBorder ? px2rem(28) : px2rem(24) });
|
|
20
20
|
}, function (utils, _a) {
|
|
21
21
|
var $noBorder = _a.$noBorder;
|
|
22
|
-
return ($noBorder ? '
|
|
22
|
+
return ($noBorder ? 'pb-0' : 'border-b-1 border-solid spr-border-02 pb-4');
|
|
23
23
|
});
|
|
24
|
-
export var ModalBody = styled('div', 'typography-bl1 spr-text-01 overflow-auto flex-grow');
|
|
25
|
-
export var StyledModalFooter = styled('div', 'border-b-0 border-l-0 border-r-0', function (_a) {
|
|
26
|
-
var px2rem = _a.px2rem
|
|
27
|
-
return ({ lineHeight: px2rem(28), textAlign:
|
|
24
|
+
export var ModalBody = styled('div', 'typography-bl1 spr-text-01 overflow-auto flex-grow px-6 py-4');
|
|
25
|
+
export var StyledModalFooter = styled('div', 'border-b-0 border-l-0 border-r-0 pb-4 px-6', function (_a) {
|
|
26
|
+
var px2rem = _a.px2rem;
|
|
27
|
+
return ({ lineHeight: px2rem(28), textAlign: 'right' });
|
|
28
28
|
}, function (utils, _a) {
|
|
29
29
|
var $noBorder = _a.$noBorder;
|
|
30
|
-
return ($noBorder ? '
|
|
30
|
+
return ($noBorder ? 'pt-0' : 'border-t-1 border-solid spr-border-02 pt-4');
|
|
31
31
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
//hooks
|
|
3
|
+
import { useNumber } from './useNumber';
|
|
4
|
+
//constants
|
|
5
|
+
import { DEFAULT_VARIANT } from './constants';
|
|
6
|
+
export var Number = function (_a) {
|
|
7
|
+
var value = _a.value, _b = _a.variant, variant = _b === void 0 ? DEFAULT_VARIANT : _b, numberOptions = _a.numberOptions;
|
|
8
|
+
var formattedNumber = useNumber({ value: value, variant: variant, numberOptions: numberOptions });
|
|
9
|
+
return _jsx(_Fragment, { children: formattedNumber }, void 0);
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useLocale } from '../locale';
|
|
2
|
+
import { getFormattedNumber } from '../utils/intlNumberFormatUtils';
|
|
3
|
+
import { DEFAULT_VARIANT } from './constants';
|
|
4
|
+
export var useNumber = function (_a) {
|
|
5
|
+
var value = _a.value, _b = _a.variant, variant = _b === void 0 ? DEFAULT_VARIANT : _b, numberOptions = _a.numberOptions;
|
|
6
|
+
var langCode = useLocale().langCode;
|
|
7
|
+
return getFormattedNumber({ value: value, locale: langCode, variant: variant, numberOptions: numberOptions });
|
|
8
|
+
};
|
package/esm/overrides/index.d.ts
CHANGED
package/esm/overrides/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { Overrides, OverridesObject } from './types';
|
|
1
|
+
import { Override, OverrideObject, Overrides, OverridesObject } from './types';
|
|
2
|
+
declare const mergeOverride: <T>(_target?: Override<T> | undefined, _source?: Override<T> | undefined) => OverrideObject<T>;
|
|
2
3
|
declare const mergeOverrides: <T>(target: Overrides<T>, source?: Overrides<T>) => OverridesObject<T>;
|
|
3
|
-
export { mergeOverrides };
|
|
4
|
+
export { mergeOverrides, mergeOverride };
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
2
|
import { isValidElement } from 'react';
|
|
3
|
+
import { isValidElementType } from 'react-is';
|
|
3
4
|
import _mergeWith from 'lodash/mergeWith';
|
|
4
5
|
import _isObject from 'lodash/isObject';
|
|
5
6
|
import { combineRefs } from '../hooks/useCombinedRef';
|
|
6
7
|
var mergeOverride = function (_target, _source) {
|
|
7
|
-
var target =
|
|
8
|
-
var source =
|
|
8
|
+
var target = isValidElementType(_target) ? { component: _target } : _target;
|
|
9
|
+
var source = isValidElementType(_source) ? { component: _source } : _source;
|
|
9
10
|
var merged = __assign(__assign({}, target), source);
|
|
10
11
|
if ((target === null || target === void 0 ? void 0 : target.props) && (source === null || source === void 0 ? void 0 : source.props)) {
|
|
11
12
|
// deep merge
|
|
@@ -14,7 +15,7 @@ var mergeOverride = function (_target, _source) {
|
|
|
14
15
|
* React elements are object. _merge deep merges react elements as well, which is not we usually want.
|
|
15
16
|
* Check tests for more information
|
|
16
17
|
*/
|
|
17
|
-
if (isValidElement(b))
|
|
18
|
+
if (isValidElement(b) || isValidElementType(b))
|
|
18
19
|
return b;
|
|
19
20
|
return undefined;
|
|
20
21
|
});
|
|
@@ -39,4 +40,4 @@ var mergeOverrides = function (target, source) {
|
|
|
39
40
|
return acc;
|
|
40
41
|
}, {});
|
|
41
42
|
};
|
|
42
|
-
export { mergeOverrides };
|
|
43
|
+
export { mergeOverrides, mergeOverride };
|