@salt-ds/core 1.37.0 → 1.37.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1753 -0
- package/css/salt-core.css +75 -37
- package/dist-cjs/accordion/Accordion.js +31 -123
- package/dist-cjs/accordion/Accordion.js.map +1 -1
- package/dist-cjs/accordion/AccordionContext.js +0 -101
- package/dist-cjs/accordion/AccordionContext.js.map +1 -1
- package/dist-cjs/accordion/AccordionGroup.js +1 -103
- package/dist-cjs/accordion/AccordionGroup.js.map +1 -1
- package/dist-cjs/accordion/AccordionHeader.js +33 -136
- package/dist-cjs/accordion/AccordionHeader.js.map +1 -1
- package/dist-cjs/accordion/AccordionPanel.js +22 -117
- package/dist-cjs/accordion/AccordionPanel.js.map +1 -1
- package/dist-cjs/aria-announcer/AriaAnnounce.js +0 -2
- package/dist-cjs/aria-announcer/AriaAnnounce.js.map +1 -1
- package/dist-cjs/aria-announcer/AriaAnnouncerContext.js +0 -2
- package/dist-cjs/aria-announcer/AriaAnnouncerContext.js.map +1 -1
- package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js +8 -10
- package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
- package/dist-cjs/aria-announcer/useAriaAnnouncer.js +0 -106
- package/dist-cjs/aria-announcer/useAriaAnnouncer.js.map +1 -1
- package/dist-cjs/avatar/Avatar.js +18 -117
- package/dist-cjs/avatar/Avatar.js.map +1 -1
- package/dist-cjs/avatar/useAvatarImage.js +0 -101
- package/dist-cjs/avatar/useAvatarImage.js.map +1 -1
- package/dist-cjs/badge/Badge.js +8 -108
- package/dist-cjs/badge/Badge.js.map +1 -1
- package/dist-cjs/banner/Banner.js +18 -115
- package/dist-cjs/banner/Banner.js.map +1 -1
- package/dist-cjs/banner/BannerActions.js +1 -103
- package/dist-cjs/banner/BannerActions.js.map +1 -1
- package/dist-cjs/banner/BannerContent.js +1 -103
- package/dist-cjs/banner/BannerContent.js.map +1 -1
- package/dist-cjs/border-item/BorderItem.js +17 -111
- package/dist-cjs/border-item/BorderItem.js.map +1 -1
- package/dist-cjs/border-layout/BorderLayout.js +12 -108
- package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
- package/dist-cjs/breakpoints/BreakpointProvider.js +2 -111
- package/dist-cjs/breakpoints/BreakpointProvider.js.map +1 -1
- package/dist-cjs/breakpoints/Breakpoints.js +0 -2
- package/dist-cjs/breakpoints/Breakpoints.js.map +1 -1
- package/dist-cjs/button/Button.js +24 -120
- package/dist-cjs/button/Button.js.map +1 -1
- package/dist-cjs/button/useButton.js +0 -2
- package/dist-cjs/button/useButton.js.map +1 -1
- package/dist-cjs/card/Card.js +21 -115
- package/dist-cjs/card/Card.js.map +1 -1
- package/dist-cjs/checkbox/Checkbox.css.js +1 -1
- package/dist-cjs/checkbox/Checkbox.js +62 -150
- package/dist-cjs/checkbox/Checkbox.js.map +1 -1
- package/dist-cjs/checkbox/CheckboxGroup.js +32 -123
- package/dist-cjs/checkbox/CheckboxGroup.js.map +1 -1
- package/dist-cjs/checkbox/CheckboxIcon.js +24 -131
- package/dist-cjs/checkbox/CheckboxIcon.js.map +1 -1
- package/dist-cjs/checkbox/internal/CheckboxGroupContext.js +0 -101
- package/dist-cjs/checkbox/internal/CheckboxGroupContext.js.map +1 -1
- package/dist-cjs/checkbox/internal/useCheckboxGroup.js +0 -2
- package/dist-cjs/checkbox/internal/useCheckboxGroup.js.map +1 -1
- package/dist-cjs/combo-box/ComboBox.js +30 -124
- package/dist-cjs/combo-box/ComboBox.js.map +1 -1
- package/dist-cjs/combo-box/useComboBox.js +1 -102
- package/dist-cjs/combo-box/useComboBox.js.map +1 -1
- package/dist-cjs/dialog/Dialog.js +38 -143
- package/dist-cjs/dialog/Dialog.js.map +1 -1
- package/dist-cjs/dialog/DialogActions.js +1 -104
- package/dist-cjs/dialog/DialogActions.js.map +1 -1
- package/dist-cjs/dialog/DialogCloseButton.js +11 -110
- package/dist-cjs/dialog/DialogCloseButton.js.map +1 -1
- package/dist-cjs/dialog/DialogContent.css.js +1 -1
- package/dist-cjs/dialog/DialogContent.js +39 -113
- package/dist-cjs/dialog/DialogContent.js.map +1 -1
- package/dist-cjs/dialog/DialogContext.js +0 -2
- package/dist-cjs/dialog/DialogContext.js.map +1 -1
- package/dist-cjs/dialog/DialogHeader.js +24 -125
- package/dist-cjs/dialog/DialogHeader.js.map +1 -1
- package/dist-cjs/divider/Divider.js +15 -110
- package/dist-cjs/divider/Divider.js.map +1 -1
- package/dist-cjs/drawer/Drawer.js +13 -114
- package/dist-cjs/drawer/Drawer.js.map +1 -1
- package/dist-cjs/drawer/DrawerCloseButton.js +8 -110
- package/dist-cjs/drawer/DrawerCloseButton.js.map +1 -1
- package/dist-cjs/dropdown/Dropdown.js +35 -134
- package/dist-cjs/dropdown/Dropdown.js.map +1 -1
- package/dist-cjs/file-drop-zone/FileDropZone.js +21 -116
- package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
- package/dist-cjs/file-drop-zone/FileDropZoneIcon.js +2 -9
- package/dist-cjs/file-drop-zone/FileDropZoneIcon.js.map +1 -1
- package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +14 -110
- package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
- package/dist-cjs/file-drop-zone/internal/utils.js +1 -4
- package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
- package/dist-cjs/flex-item/FlexItem.js +10 -106
- package/dist-cjs/flex-item/FlexItem.js.map +1 -1
- package/dist-cjs/flex-layout/FlexLayout.js +21 -117
- package/dist-cjs/flex-layout/FlexLayout.js.map +1 -1
- package/dist-cjs/flow-layout/FlowLayout.js +1 -9
- package/dist-cjs/flow-layout/FlowLayout.js.map +1 -1
- package/dist-cjs/form-field/FormField.js +30 -121
- package/dist-cjs/form-field/FormField.js.map +1 -1
- package/dist-cjs/form-field/FormFieldHelperText.js +24 -114
- package/dist-cjs/form-field/FormFieldHelperText.js.map +1 -1
- package/dist-cjs/form-field/FormFieldLabel.js +15 -106
- package/dist-cjs/form-field/FormFieldLabel.js.map +1 -1
- package/dist-cjs/form-field-context/FormFieldContext.js +0 -100
- package/dist-cjs/form-field-context/FormFieldContext.js.map +1 -1
- package/dist-cjs/form-field-context/useFormFieldProps.js +0 -2
- package/dist-cjs/form-field-context/useFormFieldProps.js.map +1 -1
- package/dist-cjs/grid-item/GridItem.js +10 -106
- package/dist-cjs/grid-item/GridItem.js.map +1 -1
- package/dist-cjs/grid-layout/GridLayout.js +13 -109
- package/dist-cjs/grid-layout/GridLayout.js.map +1 -1
- package/dist-cjs/index.js +0 -2
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/input/Input.js +49 -149
- package/dist-cjs/input/Input.js.map +1 -1
- package/dist-cjs/interactable-card/InteractableCard.js +28 -122
- package/dist-cjs/interactable-card/InteractableCard.js.map +1 -1
- package/dist-cjs/interactable-card/InteractableCardGroup.js +9 -106
- package/dist-cjs/interactable-card/InteractableCardGroup.js.map +1 -1
- package/dist-cjs/interactable-card/InteractableCardGroupContext.js +0 -100
- package/dist-cjs/interactable-card/InteractableCardGroupContext.js.map +1 -1
- package/dist-cjs/interactable-card/useInteractableCard.js +0 -2
- package/dist-cjs/interactable-card/useInteractableCard.js.map +1 -1
- package/dist-cjs/link/Link.js +22 -117
- package/dist-cjs/link/Link.js.map +1 -1
- package/dist-cjs/link-card/LinkCard.js +18 -113
- package/dist-cjs/link-card/LinkCard.js.map +1 -1
- package/dist-cjs/list-box/ListBox.js +8 -106
- package/dist-cjs/list-box/ListBox.js.map +1 -1
- package/dist-cjs/list-control/ListControlContext.js +0 -100
- package/dist-cjs/list-control/ListControlContext.js.map +1 -1
- package/dist-cjs/list-control/ListControlState.js +3 -104
- package/dist-cjs/list-control/ListControlState.js.map +1 -1
- package/dist-cjs/menu/Menu.js +2 -10
- package/dist-cjs/menu/Menu.js.map +1 -1
- package/dist-cjs/menu/MenuBase.js +10 -109
- package/dist-cjs/menu/MenuBase.js.map +1 -1
- package/dist-cjs/menu/MenuContext.js +0 -100
- package/dist-cjs/menu/MenuContext.js.map +1 -1
- package/dist-cjs/menu/MenuGroup.js +14 -114
- package/dist-cjs/menu/MenuGroup.js.map +1 -1
- package/dist-cjs/menu/MenuItem.js +51 -143
- package/dist-cjs/menu/MenuItem.js.map +1 -1
- package/dist-cjs/menu/MenuPanel.js +27 -123
- package/dist-cjs/menu/MenuPanel.js.map +1 -1
- package/dist-cjs/menu/MenuPanelBase.js +1 -7
- package/dist-cjs/menu/MenuPanelBase.js.map +1 -1
- package/dist-cjs/menu/MenuPanelContext.js +0 -100
- package/dist-cjs/menu/MenuPanelContext.js.map +1 -1
- package/dist-cjs/menu/MenuTrigger.js +20 -118
- package/dist-cjs/menu/MenuTrigger.js.map +1 -1
- package/dist-cjs/menu/MenuTriggerContext.js +0 -100
- package/dist-cjs/menu/MenuTriggerContext.js.map +1 -1
- package/dist-cjs/multiline-input/MultilineInput.js +54 -161
- package/dist-cjs/multiline-input/MultilineInput.js.map +1 -1
- package/dist-cjs/navigation-item/ExpansionIcon.js +1 -5
- package/dist-cjs/navigation-item/ExpansionIcon.js.map +1 -1
- package/dist-cjs/navigation-item/NavigationItem.js +32 -132
- package/dist-cjs/navigation-item/NavigationItem.js.map +1 -1
- package/dist-cjs/navigation-item/NavigationItemAction.js +0 -102
- package/dist-cjs/navigation-item/NavigationItemAction.js.map +1 -1
- package/dist-cjs/option/Option.js +32 -120
- package/dist-cjs/option/Option.js.map +1 -1
- package/dist-cjs/option/OptionGroup.js +14 -114
- package/dist-cjs/option/OptionGroup.js.map +1 -1
- package/dist-cjs/option/OptionList.js +17 -117
- package/dist-cjs/option/OptionList.js.map +1 -1
- package/dist-cjs/option/OptionListBase.js +9 -105
- package/dist-cjs/option/OptionListBase.js.map +1 -1
- package/dist-cjs/overlay/Overlay.js +18 -114
- package/dist-cjs/overlay/Overlay.js.map +1 -1
- package/dist-cjs/overlay/OverlayContext.js +0 -100
- package/dist-cjs/overlay/OverlayContext.js.map +1 -1
- package/dist-cjs/overlay/OverlayPanel.js +34 -127
- package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
- package/dist-cjs/overlay/OverlayPanelCloseButton.js +7 -109
- package/dist-cjs/overlay/OverlayPanelCloseButton.js.map +1 -1
- package/dist-cjs/overlay/OverlayPanelContent.css.js +1 -1
- package/dist-cjs/overlay/OverlayPanelContent.js +41 -107
- package/dist-cjs/overlay/OverlayPanelContent.js.map +1 -1
- package/dist-cjs/overlay/OverlayTrigger.js +6 -111
- package/dist-cjs/overlay/OverlayTrigger.js.map +1 -1
- package/dist-cjs/pagination/CompactInput.js +20 -114
- package/dist-cjs/pagination/CompactInput.js.map +1 -1
- package/dist-cjs/pagination/CompactPaginator.js +21 -123
- package/dist-cjs/pagination/CompactPaginator.js.map +1 -1
- package/dist-cjs/pagination/GoToInput.js +31 -114
- package/dist-cjs/pagination/GoToInput.js.map +1 -1
- package/dist-cjs/pagination/PageButton.js +17 -112
- package/dist-cjs/pagination/PageButton.js.map +1 -1
- package/dist-cjs/pagination/PageRanges.js +15 -126
- package/dist-cjs/pagination/PageRanges.js.map +1 -1
- package/dist-cjs/pagination/Pagination.js +6 -103
- package/dist-cjs/pagination/Pagination.js.map +1 -1
- package/dist-cjs/pagination/PaginationContext.js +0 -2
- package/dist-cjs/pagination/PaginationContext.js.map +1 -1
- package/dist-cjs/pagination/Paginator.js +19 -121
- package/dist-cjs/pagination/Paginator.js.map +1 -1
- package/dist-cjs/pagination/usePagination.js +0 -2
- package/dist-cjs/pagination/usePagination.js.map +1 -1
- package/dist-cjs/pagination/usePaginationContext.js +0 -2
- package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
- package/dist-cjs/panel/Panel.js +9 -104
- package/dist-cjs/panel/Panel.js.map +1 -1
- package/dist-cjs/parent-child-layout/ParentChildLayout.js +24 -123
- package/dist-cjs/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -103
- package/dist-cjs/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-cjs/pill/Pill.js +17 -115
- package/dist-cjs/pill/Pill.js.map +1 -1
- package/dist-cjs/pill-input/PillInput.js +97 -204
- package/dist-cjs/pill-input/PillInput.js.map +1 -1
- package/dist-cjs/pill-input/useTruncatePills.js +0 -2
- package/dist-cjs/pill-input/useTruncatePills.js.map +1 -1
- package/dist-cjs/progress/CircularProgress/CircularProgress.js +44 -153
- package/dist-cjs/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-cjs/progress/LinearProgress/LinearProgress.js +28 -125
- package/dist-cjs/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-cjs/radio-button/RadioButton.css.js +1 -1
- package/dist-cjs/radio-button/RadioButton.js +60 -150
- package/dist-cjs/radio-button/RadioButton.js.map +1 -1
- package/dist-cjs/radio-button/RadioButtonGroup.js +36 -127
- package/dist-cjs/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-cjs/radio-button/RadioButtonIcon.js +45 -134
- package/dist-cjs/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-cjs/radio-button/internal/RadioGroupContext.js +0 -101
- package/dist-cjs/radio-button/internal/RadioGroupContext.js.map +1 -1
- package/dist-cjs/radio-button/internal/useRadioGroup.js +0 -2
- package/dist-cjs/radio-button/internal/useRadioGroup.js.map +1 -1
- package/dist-cjs/salt-provider/SaltProvider.js +32 -155
- package/dist-cjs/salt-provider/SaltProvider.js.map +1 -1
- package/dist-cjs/scrim/Scrim.js +16 -111
- package/dist-cjs/scrim/Scrim.js.map +1 -1
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +1 -104
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
- package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js +1 -6
- package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
- package/dist-cjs/spinner/Spinner.js +16 -116
- package/dist-cjs/spinner/Spinner.js.map +1 -1
- package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js +43 -141
- package/dist-cjs/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
- package/dist-cjs/split-layout/SplitLayout.js +13 -107
- package/dist-cjs/split-layout/SplitLayout.js.map +1 -1
- package/dist-cjs/stack-layout/StackLayout.js +21 -116
- package/dist-cjs/stack-layout/StackLayout.js.map +1 -1
- package/dist-cjs/status-adornment/ErrorAdornment.js +5 -11
- package/dist-cjs/status-adornment/ErrorAdornment.js.map +1 -1
- package/dist-cjs/status-adornment/StatusAdornment.js +9 -104
- package/dist-cjs/status-adornment/StatusAdornment.js.map +1 -1
- package/dist-cjs/status-adornment/SuccessAdornment.js +18 -14
- package/dist-cjs/status-adornment/SuccessAdornment.js.map +1 -1
- package/dist-cjs/status-adornment/WarningAdornment.js +1 -12
- package/dist-cjs/status-adornment/WarningAdornment.js.map +1 -1
- package/dist-cjs/status-indicator/StatusIndicator.js +10 -103
- package/dist-cjs/status-indicator/StatusIndicator.js.map +1 -1
- package/dist-cjs/status-indicator/ValidationStatus.js +0 -2
- package/dist-cjs/status-indicator/ValidationStatus.js.map +1 -1
- package/dist-cjs/switch/Switch.js +44 -150
- package/dist-cjs/switch/Switch.js.map +1 -1
- package/dist-cjs/tag/Tag.js +17 -112
- package/dist-cjs/tag/Tag.js.map +1 -1
- package/dist-cjs/text/Code.js +1 -8
- package/dist-cjs/text/Code.js.map +1 -1
- package/dist-cjs/text/Display.js +4 -30
- package/dist-cjs/text/Display.js.map +1 -1
- package/dist-cjs/text/Headings.js +4 -26
- package/dist-cjs/text/Headings.js.map +1 -1
- package/dist-cjs/text/Label.js +1 -8
- package/dist-cjs/text/Label.js.map +1 -1
- package/dist-cjs/text/Text.js +21 -117
- package/dist-cjs/text/Text.js.map +1 -1
- package/dist-cjs/text/TextAction.js +1 -9
- package/dist-cjs/text/TextAction.js.map +1 -1
- package/dist-cjs/text/TextNotation.js +1 -9
- package/dist-cjs/text/TextNotation.js.map +1 -1
- package/dist-cjs/theme/Accent.js +0 -2
- package/dist-cjs/theme/Accent.js.map +1 -1
- package/dist-cjs/theme/ActionFont.js +0 -2
- package/dist-cjs/theme/ActionFont.js.map +1 -1
- package/dist-cjs/theme/Corner.js +0 -2
- package/dist-cjs/theme/Corner.js.map +1 -1
- package/dist-cjs/theme/Density.js +0 -2
- package/dist-cjs/theme/Density.js.map +1 -1
- package/dist-cjs/theme/HeadingFont.js +0 -2
- package/dist-cjs/theme/HeadingFont.js.map +1 -1
- package/dist-cjs/theme/Mode.js +0 -2
- package/dist-cjs/theme/Mode.js.map +1 -1
- package/dist-cjs/theme/Theme.js +0 -2
- package/dist-cjs/theme/Theme.js.map +1 -1
- package/dist-cjs/toast/Toast.js +17 -116
- package/dist-cjs/toast/Toast.js.map +1 -1
- package/dist-cjs/toast/ToastContent.js +1 -104
- package/dist-cjs/toast/ToastContent.js.map +1 -1
- package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
- package/dist-cjs/toggle-button/ToggleButton.js +18 -111
- package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
- package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +10 -107
- package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -1
- package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +0 -100
- package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
- package/dist-cjs/tooltip/Tooltip.js +25 -119
- package/dist-cjs/tooltip/Tooltip.js.map +1 -1
- package/dist-cjs/tooltip/TooltipBase.js +25 -117
- package/dist-cjs/tooltip/TooltipBase.js.map +1 -1
- package/dist-cjs/tooltip/useAriaAnnounce.js +2 -104
- package/dist-cjs/tooltip/useAriaAnnounce.js.map +1 -1
- package/dist-cjs/tooltip/useTooltip.js +4 -103
- package/dist-cjs/tooltip/useTooltip.js.map +1 -1
- package/dist-cjs/utils/capitalize.js +0 -2
- package/dist-cjs/utils/capitalize.js.map +1 -1
- package/dist-cjs/utils/createChainedFunction.js +0 -2
- package/dist-cjs/utils/createChainedFunction.js.map +1 -1
- package/dist-cjs/utils/createContext.js +0 -2
- package/dist-cjs/utils/createContext.js.map +1 -1
- package/dist-cjs/utils/debounce.js +0 -2
- package/dist-cjs/utils/debounce.js.map +1 -1
- package/dist-cjs/utils/getRefFromChildren.js +4 -3
- package/dist-cjs/utils/getRefFromChildren.js.map +1 -1
- package/dist-cjs/utils/makePrefixer.js +0 -2
- package/dist-cjs/utils/makePrefixer.js.map +1 -1
- package/dist-cjs/utils/marginMiddleware.js +0 -2
- package/dist-cjs/utils/marginMiddleware.js.map +1 -1
- package/dist-cjs/utils/mergeProps.js +0 -2
- package/dist-cjs/utils/mergeProps.js.map +1 -1
- package/dist-cjs/utils/ownerDocument.js +0 -2
- package/dist-cjs/utils/ownerDocument.js.map +1 -1
- package/dist-cjs/utils/ownerWindow.js +0 -2
- package/dist-cjs/utils/ownerWindow.js.map +1 -1
- package/dist-cjs/utils/renderProps.js +1 -5
- package/dist-cjs/utils/renderProps.js.map +1 -1
- package/dist-cjs/utils/setRef.js +0 -2
- package/dist-cjs/utils/setRef.js.map +1 -1
- package/dist-cjs/utils/useControlled.js +0 -2
- package/dist-cjs/utils/useControlled.js.map +1 -1
- package/dist-cjs/utils/useEventCallback.js +4 -3
- package/dist-cjs/utils/useEventCallback.js.map +1 -1
- package/dist-cjs/utils/useFloatingUI/useFloatingUI.js +6 -33
- package/dist-cjs/utils/useFloatingUI/useFloatingUI.js.map +1 -1
- package/dist-cjs/utils/useForkRef.js +0 -2
- package/dist-cjs/utils/useForkRef.js.map +1 -1
- package/dist-cjs/utils/useId.js +5 -8
- package/dist-cjs/utils/useId.js.map +1 -1
- package/dist-cjs/utils/useIsFocusVisible.js +0 -2
- package/dist-cjs/utils/useIsFocusVisible.js.map +1 -1
- package/dist-cjs/utils/useIsomorphicLayoutEffect.js +0 -2
- package/dist-cjs/utils/useIsomorphicLayoutEffect.js.map +1 -1
- package/dist-cjs/utils/usePrevious.js +0 -2
- package/dist-cjs/utils/usePrevious.js.map +1 -1
- package/dist-cjs/utils/useResizeObserver.js +5 -7
- package/dist-cjs/utils/useResizeObserver.js.map +1 -1
- package/dist-cjs/utils/useResponsiveProp.js +2 -5
- package/dist-cjs/utils/useResponsiveProp.js.map +1 -1
- package/dist-cjs/utils/useValueEffect.js +1 -108
- package/dist-cjs/utils/useValueEffect.js.map +1 -1
- package/dist-cjs/viewport/ViewportProvider.js +1 -109
- package/dist-cjs/viewport/ViewportProvider.js.map +1 -1
- package/dist-es/accordion/Accordion.js +31 -121
- package/dist-es/accordion/Accordion.js.map +1 -1
- package/dist-es/accordion/AccordionContext.js +0 -99
- package/dist-es/accordion/AccordionContext.js.map +1 -1
- package/dist-es/accordion/AccordionGroup.js +1 -101
- package/dist-es/accordion/AccordionGroup.js.map +1 -1
- package/dist-es/accordion/AccordionHeader.js +33 -134
- package/dist-es/accordion/AccordionHeader.js.map +1 -1
- package/dist-es/accordion/AccordionPanel.js +22 -115
- package/dist-es/accordion/AccordionPanel.js.map +1 -1
- package/dist-es/aria-announcer/AriaAnnounce.js.map +1 -1
- package/dist-es/aria-announcer/AriaAnnouncerContext.js.map +1 -1
- package/dist-es/aria-announcer/AriaAnnouncerProvider.js +8 -8
- package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
- package/dist-es/aria-announcer/useAriaAnnouncer.js +0 -104
- package/dist-es/aria-announcer/useAriaAnnouncer.js.map +1 -1
- package/dist-es/avatar/Avatar.js +18 -115
- package/dist-es/avatar/Avatar.js.map +1 -1
- package/dist-es/avatar/useAvatarImage.js +0 -99
- package/dist-es/avatar/useAvatarImage.js.map +1 -1
- package/dist-es/badge/Badge.js +8 -106
- package/dist-es/badge/Badge.js.map +1 -1
- package/dist-es/banner/Banner.js +18 -113
- package/dist-es/banner/Banner.js.map +1 -1
- package/dist-es/banner/BannerActions.js +1 -101
- package/dist-es/banner/BannerActions.js.map +1 -1
- package/dist-es/banner/BannerContent.js +1 -101
- package/dist-es/banner/BannerContent.js.map +1 -1
- package/dist-es/border-item/BorderItem.js +17 -109
- package/dist-es/border-item/BorderItem.js.map +1 -1
- package/dist-es/border-layout/BorderLayout.js +12 -106
- package/dist-es/border-layout/BorderLayout.js.map +1 -1
- package/dist-es/breakpoints/BreakpointProvider.js +2 -109
- package/dist-es/breakpoints/BreakpointProvider.js.map +1 -1
- package/dist-es/breakpoints/Breakpoints.js.map +1 -1
- package/dist-es/button/Button.js +24 -118
- package/dist-es/button/Button.js.map +1 -1
- package/dist-es/button/useButton.js.map +1 -1
- package/dist-es/card/Card.js +21 -113
- package/dist-es/card/Card.js.map +1 -1
- package/dist-es/checkbox/Checkbox.css.js +1 -1
- package/dist-es/checkbox/Checkbox.js +62 -148
- package/dist-es/checkbox/Checkbox.js.map +1 -1
- package/dist-es/checkbox/CheckboxGroup.js +32 -121
- package/dist-es/checkbox/CheckboxGroup.js.map +1 -1
- package/dist-es/checkbox/CheckboxIcon.js +24 -129
- package/dist-es/checkbox/CheckboxIcon.js.map +1 -1
- package/dist-es/checkbox/internal/CheckboxGroupContext.js +0 -99
- package/dist-es/checkbox/internal/CheckboxGroupContext.js.map +1 -1
- package/dist-es/checkbox/internal/useCheckboxGroup.js.map +1 -1
- package/dist-es/combo-box/ComboBox.js +30 -122
- package/dist-es/combo-box/ComboBox.js.map +1 -1
- package/dist-es/combo-box/useComboBox.js +1 -100
- package/dist-es/combo-box/useComboBox.js.map +1 -1
- package/dist-es/dialog/Dialog.js +38 -141
- package/dist-es/dialog/Dialog.js.map +1 -1
- package/dist-es/dialog/DialogActions.js +1 -102
- package/dist-es/dialog/DialogActions.js.map +1 -1
- package/dist-es/dialog/DialogCloseButton.js +11 -104
- package/dist-es/dialog/DialogCloseButton.js.map +1 -1
- package/dist-es/dialog/DialogContent.css.js +1 -1
- package/dist-es/dialog/DialogContent.js +40 -112
- package/dist-es/dialog/DialogContent.js.map +1 -1
- package/dist-es/dialog/DialogContext.js.map +1 -1
- package/dist-es/dialog/DialogHeader.js +24 -119
- package/dist-es/dialog/DialogHeader.js.map +1 -1
- package/dist-es/divider/Divider.js +15 -108
- package/dist-es/divider/Divider.js.map +1 -1
- package/dist-es/drawer/Drawer.js +13 -112
- package/dist-es/drawer/Drawer.js.map +1 -1
- package/dist-es/drawer/DrawerCloseButton.js +7 -103
- package/dist-es/drawer/DrawerCloseButton.js.map +1 -1
- package/dist-es/dropdown/Dropdown.js +35 -132
- package/dist-es/dropdown/Dropdown.js.map +1 -1
- package/dist-es/file-drop-zone/FileDropZone.js +21 -114
- package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
- package/dist-es/file-drop-zone/FileDropZoneIcon.js +2 -7
- package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -1
- package/dist-es/file-drop-zone/FileDropZoneTrigger.js +14 -108
- package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
- package/dist-es/file-drop-zone/internal/utils.js +1 -2
- package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
- package/dist-es/flex-item/FlexItem.js +10 -104
- package/dist-es/flex-item/FlexItem.js.map +1 -1
- package/dist-es/flex-layout/FlexLayout.js +21 -115
- package/dist-es/flex-layout/FlexLayout.js.map +1 -1
- package/dist-es/flow-layout/FlowLayout.js +1 -7
- package/dist-es/flow-layout/FlowLayout.js.map +1 -1
- package/dist-es/form-field/FormField.js +30 -119
- package/dist-es/form-field/FormField.js.map +1 -1
- package/dist-es/form-field/FormFieldHelperText.js +24 -108
- package/dist-es/form-field/FormFieldHelperText.js.map +1 -1
- package/dist-es/form-field/FormFieldLabel.js +15 -104
- package/dist-es/form-field/FormFieldLabel.js.map +1 -1
- package/dist-es/form-field-context/FormFieldContext.js +0 -98
- package/dist-es/form-field-context/FormFieldContext.js.map +1 -1
- package/dist-es/form-field-context/useFormFieldProps.js.map +1 -1
- package/dist-es/grid-item/GridItem.js +10 -104
- package/dist-es/grid-item/GridItem.js.map +1 -1
- package/dist-es/grid-layout/GridLayout.js +13 -107
- package/dist-es/grid-layout/GridLayout.js.map +1 -1
- package/dist-es/input/Input.js +49 -147
- package/dist-es/input/Input.js.map +1 -1
- package/dist-es/interactable-card/InteractableCard.js +28 -120
- package/dist-es/interactable-card/InteractableCard.js.map +1 -1
- package/dist-es/interactable-card/InteractableCardGroup.js +9 -104
- package/dist-es/interactable-card/InteractableCardGroup.js.map +1 -1
- package/dist-es/interactable-card/InteractableCardGroupContext.js +0 -98
- package/dist-es/interactable-card/InteractableCardGroupContext.js.map +1 -1
- package/dist-es/interactable-card/useInteractableCard.js.map +1 -1
- package/dist-es/link/Link.js +22 -115
- package/dist-es/link/Link.js.map +1 -1
- package/dist-es/link-card/LinkCard.js +18 -111
- package/dist-es/link-card/LinkCard.js.map +1 -1
- package/dist-es/list-box/ListBox.js +8 -104
- package/dist-es/list-box/ListBox.js.map +1 -1
- package/dist-es/list-control/ListControlContext.js +0 -98
- package/dist-es/list-control/ListControlContext.js.map +1 -1
- package/dist-es/list-control/ListControlState.js +3 -102
- package/dist-es/list-control/ListControlState.js.map +1 -1
- package/dist-es/menu/Menu.js +2 -8
- package/dist-es/menu/Menu.js.map +1 -1
- package/dist-es/menu/MenuBase.js +10 -107
- package/dist-es/menu/MenuBase.js.map +1 -1
- package/dist-es/menu/MenuContext.js +0 -98
- package/dist-es/menu/MenuContext.js.map +1 -1
- package/dist-es/menu/MenuGroup.js +14 -112
- package/dist-es/menu/MenuGroup.js.map +1 -1
- package/dist-es/menu/MenuItem.js +51 -141
- package/dist-es/menu/MenuItem.js.map +1 -1
- package/dist-es/menu/MenuPanel.js +27 -121
- package/dist-es/menu/MenuPanel.js.map +1 -1
- package/dist-es/menu/MenuPanelBase.js +1 -5
- package/dist-es/menu/MenuPanelBase.js.map +1 -1
- package/dist-es/menu/MenuPanelContext.js +0 -98
- package/dist-es/menu/MenuPanelContext.js.map +1 -1
- package/dist-es/menu/MenuTrigger.js +20 -116
- package/dist-es/menu/MenuTrigger.js.map +1 -1
- package/dist-es/menu/MenuTriggerContext.js +0 -98
- package/dist-es/menu/MenuTriggerContext.js.map +1 -1
- package/dist-es/multiline-input/MultilineInput.js +54 -159
- package/dist-es/multiline-input/MultilineInput.js.map +1 -1
- package/dist-es/navigation-item/ExpansionIcon.js +1 -3
- package/dist-es/navigation-item/ExpansionIcon.js.map +1 -1
- package/dist-es/navigation-item/NavigationItem.js +32 -130
- package/dist-es/navigation-item/NavigationItem.js.map +1 -1
- package/dist-es/navigation-item/NavigationItemAction.js +0 -100
- package/dist-es/navigation-item/NavigationItemAction.js.map +1 -1
- package/dist-es/option/Option.js +32 -118
- package/dist-es/option/Option.js.map +1 -1
- package/dist-es/option/OptionGroup.js +14 -112
- package/dist-es/option/OptionGroup.js.map +1 -1
- package/dist-es/option/OptionList.js +17 -115
- package/dist-es/option/OptionList.js.map +1 -1
- package/dist-es/option/OptionListBase.js +9 -103
- package/dist-es/option/OptionListBase.js.map +1 -1
- package/dist-es/overlay/Overlay.js +18 -112
- package/dist-es/overlay/Overlay.js.map +1 -1
- package/dist-es/overlay/OverlayContext.js +0 -98
- package/dist-es/overlay/OverlayContext.js.map +1 -1
- package/dist-es/overlay/OverlayPanel.js +34 -125
- package/dist-es/overlay/OverlayPanel.js.map +1 -1
- package/dist-es/overlay/OverlayPanelCloseButton.js +7 -103
- package/dist-es/overlay/OverlayPanelCloseButton.js.map +1 -1
- package/dist-es/overlay/OverlayPanelContent.css.js +1 -1
- package/dist-es/overlay/OverlayPanelContent.js +43 -103
- package/dist-es/overlay/OverlayPanelContent.js.map +1 -1
- package/dist-es/overlay/OverlayTrigger.js +6 -109
- package/dist-es/overlay/OverlayTrigger.js.map +1 -1
- package/dist-es/pagination/CompactInput.js +20 -112
- package/dist-es/pagination/CompactInput.js.map +1 -1
- package/dist-es/pagination/CompactPaginator.js +21 -121
- package/dist-es/pagination/CompactPaginator.js.map +1 -1
- package/dist-es/pagination/GoToInput.js +31 -112
- package/dist-es/pagination/GoToInput.js.map +1 -1
- package/dist-es/pagination/PageButton.js +17 -110
- package/dist-es/pagination/PageButton.js.map +1 -1
- package/dist-es/pagination/PageRanges.js +15 -124
- package/dist-es/pagination/PageRanges.js.map +1 -1
- package/dist-es/pagination/Pagination.js +6 -101
- package/dist-es/pagination/Pagination.js.map +1 -1
- package/dist-es/pagination/PaginationContext.js.map +1 -1
- package/dist-es/pagination/Paginator.js +19 -119
- package/dist-es/pagination/Paginator.js.map +1 -1
- package/dist-es/pagination/usePagination.js.map +1 -1
- package/dist-es/pagination/usePaginationContext.js.map +1 -1
- package/dist-es/panel/Panel.js +9 -102
- package/dist-es/panel/Panel.js.map +1 -1
- package/dist-es/parent-child-layout/ParentChildLayout.js +24 -121
- package/dist-es/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js +0 -101
- package/dist-es/parent-child-layout/useIsViewportLargerThanBreakpoint.js.map +1 -1
- package/dist-es/pill/Pill.js +17 -109
- package/dist-es/pill/Pill.js.map +1 -1
- package/dist-es/pill-input/PillInput.js +97 -202
- package/dist-es/pill-input/PillInput.js.map +1 -1
- package/dist-es/pill-input/useTruncatePills.js.map +1 -1
- package/dist-es/progress/CircularProgress/CircularProgress.js +44 -151
- package/dist-es/progress/CircularProgress/CircularProgress.js.map +1 -1
- package/dist-es/progress/LinearProgress/LinearProgress.js +28 -123
- package/dist-es/progress/LinearProgress/LinearProgress.js.map +1 -1
- package/dist-es/radio-button/RadioButton.css.js +1 -1
- package/dist-es/radio-button/RadioButton.js +60 -148
- package/dist-es/radio-button/RadioButton.js.map +1 -1
- package/dist-es/radio-button/RadioButtonGroup.js +36 -125
- package/dist-es/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-es/radio-button/RadioButtonIcon.js +45 -132
- package/dist-es/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-es/radio-button/internal/RadioGroupContext.js +0 -99
- package/dist-es/radio-button/internal/RadioGroupContext.js.map +1 -1
- package/dist-es/radio-button/internal/useRadioGroup.js.map +1 -1
- package/dist-es/salt-provider/SaltProvider.js +32 -153
- package/dist-es/salt-provider/SaltProvider.js.map +1 -1
- package/dist-es/scrim/Scrim.js +16 -109
- package/dist-es/scrim/Scrim.js.map +1 -1
- package/dist-es/segmented-button-group/SegmentedButtonGroup.js +1 -102
- package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -1
- package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -4
- package/dist-es/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
- package/dist-es/spinner/Spinner.js +16 -114
- package/dist-es/spinner/Spinner.js.map +1 -1
- package/dist-es/spinner/svgSpinners/SpinnerSVG.js +43 -139
- package/dist-es/spinner/svgSpinners/SpinnerSVG.js.map +1 -1
- package/dist-es/split-layout/SplitLayout.js +13 -105
- package/dist-es/split-layout/SplitLayout.js.map +1 -1
- package/dist-es/stack-layout/StackLayout.js +21 -114
- package/dist-es/stack-layout/StackLayout.js.map +1 -1
- package/dist-es/status-adornment/ErrorAdornment.js +5 -9
- package/dist-es/status-adornment/ErrorAdornment.js.map +1 -1
- package/dist-es/status-adornment/StatusAdornment.js +9 -102
- package/dist-es/status-adornment/StatusAdornment.js.map +1 -1
- package/dist-es/status-adornment/SuccessAdornment.js +18 -12
- package/dist-es/status-adornment/SuccessAdornment.js.map +1 -1
- package/dist-es/status-adornment/WarningAdornment.js +1 -10
- package/dist-es/status-adornment/WarningAdornment.js.map +1 -1
- package/dist-es/status-indicator/StatusIndicator.js +10 -101
- package/dist-es/status-indicator/StatusIndicator.js.map +1 -1
- package/dist-es/status-indicator/ValidationStatus.js.map +1 -1
- package/dist-es/switch/Switch.js +44 -148
- package/dist-es/switch/Switch.js.map +1 -1
- package/dist-es/tag/Tag.js +17 -110
- package/dist-es/tag/Tag.js.map +1 -1
- package/dist-es/text/Code.js +1 -6
- package/dist-es/text/Code.js.map +1 -1
- package/dist-es/text/Display.js +4 -28
- package/dist-es/text/Display.js.map +1 -1
- package/dist-es/text/Headings.js +4 -24
- package/dist-es/text/Headings.js.map +1 -1
- package/dist-es/text/Label.js +1 -6
- package/dist-es/text/Label.js.map +1 -1
- package/dist-es/text/Text.js +21 -115
- package/dist-es/text/Text.js.map +1 -1
- package/dist-es/text/TextAction.js +1 -7
- package/dist-es/text/TextAction.js.map +1 -1
- package/dist-es/text/TextNotation.js +1 -7
- package/dist-es/text/TextNotation.js.map +1 -1
- package/dist-es/theme/Accent.js.map +1 -1
- package/dist-es/theme/ActionFont.js.map +1 -1
- package/dist-es/theme/Corner.js.map +1 -1
- package/dist-es/theme/HeadingFont.js.map +1 -1
- package/dist-es/theme/Theme.js.map +1 -1
- package/dist-es/toast/Toast.js +17 -114
- package/dist-es/toast/Toast.js.map +1 -1
- package/dist-es/toast/ToastContent.js +1 -102
- package/dist-es/toast/ToastContent.js.map +1 -1
- package/dist-es/toggle-button/ToggleButton.css.js +1 -1
- package/dist-es/toggle-button/ToggleButton.js +18 -109
- package/dist-es/toggle-button/ToggleButton.js.map +1 -1
- package/dist-es/toggle-button-group/ToggleButtonGroup.js +10 -105
- package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -1
- package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +0 -98
- package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -1
- package/dist-es/tooltip/Tooltip.js +25 -117
- package/dist-es/tooltip/Tooltip.js.map +1 -1
- package/dist-es/tooltip/TooltipBase.js +25 -115
- package/dist-es/tooltip/TooltipBase.js.map +1 -1
- package/dist-es/tooltip/useAriaAnnounce.js +2 -102
- package/dist-es/tooltip/useAriaAnnounce.js.map +1 -1
- package/dist-es/tooltip/useTooltip.js +4 -101
- package/dist-es/tooltip/useTooltip.js.map +1 -1
- package/dist-es/utils/capitalize.js.map +1 -1
- package/dist-es/utils/createChainedFunction.js.map +1 -1
- package/dist-es/utils/createContext.js.map +1 -1
- package/dist-es/utils/debounce.js.map +1 -1
- package/dist-es/utils/getRefFromChildren.js +4 -1
- package/dist-es/utils/getRefFromChildren.js.map +1 -1
- package/dist-es/utils/marginMiddleware.js.map +1 -1
- package/dist-es/utils/mergeProps.js.map +1 -1
- package/dist-es/utils/ownerDocument.js.map +1 -1
- package/dist-es/utils/ownerWindow.js.map +1 -1
- package/dist-es/utils/renderProps.js +1 -3
- package/dist-es/utils/renderProps.js.map +1 -1
- package/dist-es/utils/setRef.js.map +1 -1
- package/dist-es/utils/useControlled.js.map +1 -1
- package/dist-es/utils/useEventCallback.js +4 -1
- package/dist-es/utils/useEventCallback.js.map +1 -1
- package/dist-es/utils/useFloatingUI/useFloatingUI.js +6 -31
- package/dist-es/utils/useFloatingUI/useFloatingUI.js.map +1 -1
- package/dist-es/utils/useForkRef.js.map +1 -1
- package/dist-es/utils/useId.js +2 -2
- package/dist-es/utils/useId.js.map +1 -1
- package/dist-es/utils/useIsFocusVisible.js.map +1 -1
- package/dist-es/utils/usePrevious.js.map +1 -1
- package/dist-es/utils/useResizeObserver.js +5 -5
- package/dist-es/utils/useResizeObserver.js.map +1 -1
- package/dist-es/utils/useResponsiveProp.js +2 -3
- package/dist-es/utils/useResponsiveProp.js.map +1 -1
- package/dist-es/utils/useValueEffect.js +1 -106
- package/dist-es/utils/useValueEffect.js.map +1 -1
- package/dist-es/viewport/ViewportProvider.js +1 -107
- package/dist-es/viewport/ViewportProvider.js.map +1 -1
- package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +1 -1
- package/package.json +8 -7
|
@@ -8,112 +8,12 @@ import '../utils/useId.js';
|
|
|
8
8
|
import { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect.js';
|
|
9
9
|
import '../salt-provider/SaltProvider.js';
|
|
10
10
|
import '../viewport/ViewportProvider.js';
|
|
11
|
-
import '../accordion/AccordionGroup.js';
|
|
12
|
-
import '../accordion/AccordionPanel.js';
|
|
13
|
-
import '../accordion/Accordion.js';
|
|
14
|
-
import '../accordion/AccordionHeader.js';
|
|
15
|
-
import '../avatar/Avatar.js';
|
|
16
|
-
import '../badge/Badge.js';
|
|
17
|
-
import '../banner/Banner.js';
|
|
18
|
-
import '../banner/BannerActions.js';
|
|
19
|
-
import '../banner/BannerContent.js';
|
|
20
|
-
import '../border-item/BorderItem.js';
|
|
21
|
-
import '../border-layout/BorderLayout.js';
|
|
22
|
-
import '../breakpoints/BreakpointProvider.js';
|
|
23
|
-
import '../button/Button.js';
|
|
24
|
-
import '../card/Card.js';
|
|
25
|
-
import '../checkbox/Checkbox.js';
|
|
26
|
-
import '../checkbox/CheckboxGroup.js';
|
|
27
|
-
import '@salt-ds/icons';
|
|
28
|
-
import '@salt-ds/styles';
|
|
29
|
-
import '@salt-ds/window';
|
|
30
|
-
import '../combo-box/ComboBox.js';
|
|
31
|
-
import '../dialog/Dialog.js';
|
|
32
|
-
import '../dialog/DialogHeader.js';
|
|
33
|
-
import '../dialog/DialogActions.js';
|
|
34
|
-
import '../dialog/DialogContent.js';
|
|
35
|
-
import '../dialog/DialogContext.js';
|
|
36
|
-
import '../dialog/DialogCloseButton.js';
|
|
37
|
-
import '../divider/Divider.js';
|
|
38
|
-
import '../drawer/Drawer.js';
|
|
39
|
-
import '../drawer/DrawerCloseButton.js';
|
|
40
|
-
import '../dropdown/Dropdown.js';
|
|
41
|
-
import '../file-drop-zone/FileDropZone.js';
|
|
42
|
-
import '../file-drop-zone/FileDropZoneIcon.js';
|
|
43
|
-
import '../file-drop-zone/FileDropZoneTrigger.js';
|
|
44
|
-
import '../flex-item/FlexItem.js';
|
|
45
|
-
import '../flex-layout/FlexLayout.js';
|
|
46
|
-
import '../flow-layout/FlowLayout.js';
|
|
47
|
-
import '../form-field/FormField.js';
|
|
48
|
-
import '../form-field-context/FormFieldContext.js';
|
|
49
|
-
import '../status-indicator/StatusIndicator.js';
|
|
50
|
-
import '../text/Text.js';
|
|
51
|
-
import '../text/Code.js';
|
|
52
|
-
import '../text/Display.js';
|
|
53
|
-
import '../text/Headings.js';
|
|
54
|
-
import '../text/Label.js';
|
|
55
|
-
import '../text/TextAction.js';
|
|
56
|
-
import '../text/TextNotation.js';
|
|
57
|
-
import '../grid-item/GridItem.js';
|
|
58
|
-
import '../grid-layout/GridLayout.js';
|
|
59
|
-
import '../input/Input.js';
|
|
60
|
-
import '../interactable-card/InteractableCard.js';
|
|
61
|
-
import '../interactable-card/InteractableCardGroup.js';
|
|
62
|
-
import '../interactable-card/InteractableCardGroupContext.js';
|
|
63
|
-
import '../link/Link.js';
|
|
64
|
-
import '../link-card/LinkCard.js';
|
|
65
|
-
import '../list-box/ListBox.js';
|
|
66
|
-
import '../list-control/ListControlContext.js';
|
|
67
|
-
import '@floating-ui/react';
|
|
68
|
-
import '../menu/MenuContext.js';
|
|
69
|
-
import '../menu/MenuItem.js';
|
|
70
|
-
import '../menu/MenuPanel.js';
|
|
71
|
-
import '../menu/MenuPanelContext.js';
|
|
72
|
-
import '../menu/MenuTriggerContext.js';
|
|
73
|
-
import '../menu/MenuGroup.js';
|
|
74
|
-
import '../multiline-input/MultilineInput.js';
|
|
75
|
-
import '../navigation-item/NavigationItem.js';
|
|
76
|
-
import '../option/Option.js';
|
|
77
|
-
import '../option/OptionGroup.js';
|
|
78
|
-
import '../overlay/OverlayContext.js';
|
|
79
|
-
import '../overlay/OverlayPanel.js';
|
|
80
|
-
import '../overlay/OverlayPanelCloseButton.js';
|
|
81
|
-
import '../overlay/OverlayPanelContent.js';
|
|
82
|
-
import '../pagination/Pagination.js';
|
|
83
|
-
import '../pagination/Paginator.js';
|
|
84
|
-
import '../pagination/CompactInput.js';
|
|
85
|
-
import '../pagination/CompactPaginator.js';
|
|
86
|
-
import '../pagination/GoToInput.js';
|
|
87
|
-
import '../panel/Panel.js';
|
|
88
|
-
import '../parent-child-layout/ParentChildLayout.js';
|
|
89
|
-
import '../pill/Pill.js';
|
|
90
|
-
import '../progress/CircularProgress/CircularProgress.js';
|
|
91
|
-
import '../progress/LinearProgress/LinearProgress.js';
|
|
92
|
-
import '../radio-button/RadioButton.js';
|
|
93
|
-
import '../radio-button/RadioButtonGroup.js';
|
|
94
|
-
import '../scrim/Scrim.js';
|
|
95
|
-
import '../segmented-button-group/SegmentedButtonGroup.js';
|
|
96
|
-
import '../spinner/Spinner.js';
|
|
97
|
-
import '../stack-layout/StackLayout.js';
|
|
98
|
-
import '../status-adornment/StatusAdornment.js';
|
|
99
|
-
import '../toast/Toast.js';
|
|
100
|
-
import '../toast/ToastContent.js';
|
|
101
|
-
import '../split-layout/SplitLayout.js';
|
|
102
|
-
import '../switch/Switch.js';
|
|
103
|
-
import '../tag/Tag.js';
|
|
104
|
-
import '../toggle-button/ToggleButton.js';
|
|
105
|
-
import '../toggle-button-group/ToggleButtonGroup.js';
|
|
106
|
-
import '../toggle-button-group/ToggleButtonGroupContext.js';
|
|
107
|
-
import './Tooltip.js';
|
|
108
|
-
import '../semantic-icon-provider/SemanticIconProvider.js';
|
|
109
11
|
|
|
110
12
|
function getDocument(floating) {
|
|
111
|
-
|
|
112
|
-
return (_a = floating == null ? void 0 : floating.ownerDocument) != null ? _a : document;
|
|
13
|
+
return (floating == null ? void 0 : floating.ownerDocument) ?? document;
|
|
113
14
|
}
|
|
114
15
|
function getWindow(value) {
|
|
115
|
-
|
|
116
|
-
return (_a = getDocument(value).defaultView) != null ? _a : window;
|
|
16
|
+
return getDocument(value).defaultView ?? window;
|
|
117
17
|
}
|
|
118
18
|
function isElement(value) {
|
|
119
19
|
return value ? value instanceof getWindow(value).Element : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAriaAnnounce.js","sources":["../src/tooltip/useAriaAnnounce.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from \"@floating-ui/react\";\nimport { type PointerEvent, useEffect, useRef } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nfunction getDocument(floating: HTMLElement | null) {\n return floating?.ownerDocument ?? document;\n}\n\n// TODO: Check whether can be anything more restrictive than `any`\n// biome-ignore lint/suspicious/noExplicitAny: see comment above\nfunction getWindow(value: any) {\n return getDocument(value).defaultView ?? window;\n}\n\nfunction isElement(value: unknown): value is HTMLElement {\n return value ? value instanceof getWindow(value).Element : false;\n}\n\nfunction getDelay(\n value: Props[\"delay\"],\n prop: \"open\" | \"close\",\n pointerType?: PointerEvent[\"pointerType\"],\n) {\n if (pointerType && pointerType !== \"mouse\") {\n return 0;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value?.[prop];\n}\n\ntype Props = {\n delay?: number | Partial<{ open: number; close: number }>;\n};\n\nexport const useAriaAnnounce = (\n context: FloatingContext,\n { delay = 0 }: Props,\n): ElementProps => {\n const { open, dataRef, refs } = context;\n\n const pointerTypeRef = useRef<PointerEvent[\"pointerType\"]>();\n const timeoutRef = useRef<number>();\n const blockMouseMoveRef = useRef(true);\n const { announce } = useAriaAnnouncer();\n\n useIsomorphicLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n }\n });\n\n useEffect(() => {\n const reference = refs.reference.current;\n function announceFloating() {\n const tooltipContent = refs.floating.current?.innerText;\n\n if (tooltipContent) {\n announce(tooltipContent);\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n clearTimeout(timeoutRef.current);\n\n if (open) {\n return;\n }\n\n blockMouseMoveRef.current = false;\n dataRef.current.openEvent = event;\n\n if (delay) {\n timeoutRef.current = window.setTimeout(\n () => {\n announceFloating();\n },\n getDelay(delay, \"open\", pointerTypeRef.current),\n );\n } else {\n announceFloating();\n }\n }\n\n if (isElement(reference)) {\n reference.addEventListener(\"mouseenter\", onMouseEnter);\n return () => {\n reference.removeEventListener(\"mouseenter\", onMouseEnter);\n };\n }\n }, [dataRef, delay, open, refs.reference, refs.floating, announce]);\n\n function setPointerRef(event: PointerEvent) {\n pointerTypeRef.current = event.pointerType;\n }\n\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n },\n };\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAriaAnnounce.js","sources":["../src/tooltip/useAriaAnnounce.ts"],"sourcesContent":["import type { ElementProps, FloatingContext } from \"@floating-ui/react\";\nimport { type PointerEvent, useEffect, useRef } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nfunction getDocument(floating: HTMLElement | null) {\n return floating?.ownerDocument ?? document;\n}\n\n// TODO: Check whether can be anything more restrictive than `any`\n// biome-ignore lint/suspicious/noExplicitAny: see comment above\nfunction getWindow(value: any) {\n return getDocument(value).defaultView ?? window;\n}\n\nfunction isElement(value: unknown): value is HTMLElement {\n return value ? value instanceof getWindow(value).Element : false;\n}\n\nfunction getDelay(\n value: Props[\"delay\"],\n prop: \"open\" | \"close\",\n pointerType?: PointerEvent[\"pointerType\"],\n) {\n if (pointerType && pointerType !== \"mouse\") {\n return 0;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value?.[prop];\n}\n\ntype Props = {\n delay?: number | Partial<{ open: number; close: number }>;\n};\n\nexport const useAriaAnnounce = (\n context: FloatingContext,\n { delay = 0 }: Props,\n): ElementProps => {\n const { open, dataRef, refs } = context;\n\n const pointerTypeRef = useRef<PointerEvent[\"pointerType\"]>();\n const timeoutRef = useRef<number>();\n const blockMouseMoveRef = useRef(true);\n const { announce } = useAriaAnnouncer();\n\n useIsomorphicLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n }\n });\n\n useEffect(() => {\n const reference = refs.reference.current;\n function announceFloating() {\n const tooltipContent = refs.floating.current?.innerText;\n\n if (tooltipContent) {\n announce(tooltipContent);\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n clearTimeout(timeoutRef.current);\n\n if (open) {\n return;\n }\n\n blockMouseMoveRef.current = false;\n dataRef.current.openEvent = event;\n\n if (delay) {\n timeoutRef.current = window.setTimeout(\n () => {\n announceFloating();\n },\n getDelay(delay, \"open\", pointerTypeRef.current),\n );\n } else {\n announceFloating();\n }\n }\n\n if (isElement(reference)) {\n reference.addEventListener(\"mouseenter\", onMouseEnter);\n return () => {\n reference.removeEventListener(\"mouseenter\", onMouseEnter);\n };\n }\n }, [dataRef, delay, open, refs.reference, refs.floating, announce]);\n\n function setPointerRef(event: PointerEvent) {\n pointerTypeRef.current = event.pointerType;\n }\n\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n },\n };\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAKA,SAAS,YAAY,QAA8B,EAAA;AACjD,EAAA,OAAA,CAAO,qCAAU,aAAiB,KAAA,QAAA;AACpC;AAIA,SAAS,UAAU,KAAY,EAAA;AAC7B,EAAO,OAAA,WAAA,CAAY,KAAK,CAAA,CAAE,WAAe,IAAA,MAAA;AAC3C;AAEA,SAAS,UAAU,KAAsC,EAAA;AACvD,EAAA,OAAO,KAAQ,GAAA,KAAA,YAAiB,SAAU,CAAA,KAAK,EAAE,OAAU,GAAA,KAAA;AAC7D;AAEA,SAAS,QAAA,CACP,KACA,EAAA,IAAA,EACA,WACA,EAAA;AACA,EAAI,IAAA,WAAA,IAAe,gBAAgB,OAAS,EAAA;AAC1C,IAAO,OAAA,CAAA;AAAA;AAGT,EAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,IAAO,OAAA,KAAA;AAAA;AAGT,EAAA,OAAO,KAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA;AACjB;AAMO,MAAM,kBAAkB,CAC7B,OAAA,EACA,EAAE,KAAA,GAAQ,GACO,KAAA;AACjB,EAAA,MAAM,EAAE,IAAA,EAAM,OAAS,EAAA,IAAA,EAAS,GAAA,OAAA;AAEhC,EAAA,MAAM,iBAAiB,MAAoC,EAAA;AAC3D,EAAA,MAAM,aAAa,MAAe,EAAA;AAClC,EAAM,MAAA,iBAAA,GAAoB,OAAO,IAAI,CAAA;AACrC,EAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA;AAEtC,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,cAAA,CAAe,OAAU,GAAA,KAAA,CAAA;AAAA;AAC3B,GACD,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,SAAA,GAAY,KAAK,SAAU,CAAA,OAAA;AACjC,IAAA,SAAS,gBAAmB,GAAA;AA1DhC,MAAA,IAAA,EAAA;AA2DM,MAAA,MAAM,cAAiB,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,QAAS,CAAA,OAAA,KAAd,IAAuB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA;AAE9C,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,QAAA,CAAS,cAAc,CAAA;AAAA;AACzB;AAGF,IAAA,SAAS,aAAa,KAAmB,EAAA;AACvC,MAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAE/B,MAAA,IAAI,IAAM,EAAA;AACR,QAAA;AAAA;AAGF,MAAA,iBAAA,CAAkB,OAAU,GAAA,KAAA;AAC5B,MAAA,OAAA,CAAQ,QAAQ,SAAY,GAAA,KAAA;AAE5B,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,UAAA,CAAW,UAAU,MAAO,CAAA,UAAA;AAAA,UAC1B,MAAM;AACJ,YAAiB,gBAAA,EAAA;AAAA,WACnB;AAAA,UACA,QAAS,CAAA,KAAA,EAAO,MAAQ,EAAA,cAAA,CAAe,OAAO;AAAA,SAChD;AAAA,OACK,MAAA;AACL,QAAiB,gBAAA,EAAA;AAAA;AACnB;AAGF,IAAI,IAAA,SAAA,CAAU,SAAS,CAAG,EAAA;AACxB,MAAU,SAAA,CAAA,gBAAA,CAAiB,cAAc,YAAY,CAAA;AACrD,MAAA,OAAO,MAAM;AACX,QAAU,SAAA,CAAA,mBAAA,CAAoB,cAAc,YAAY,CAAA;AAAA,OAC1D;AAAA;AACF,GACF,EAAG,CAAC,OAAA,EAAS,KAAO,EAAA,IAAA,EAAM,KAAK,SAAW,EAAA,IAAA,CAAK,QAAU,EAAA,QAAQ,CAAC,CAAA;AAElE,EAAA,SAAS,cAAc,KAAqB,EAAA;AAC1C,IAAA,cAAA,CAAe,UAAU,KAAM,CAAA,WAAA;AAAA;AAGjC,EAAO,OAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,aAAe,EAAA,aAAA;AAAA,MACf,cAAgB,EAAA;AAAA,KAClB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,YAAe,GAAA;AACb,QAAA,YAAA,CAAa,WAAW,OAAO,CAAA;AAAA;AACjC;AACF,GACF;AACF;;;;"}
|
|
@@ -7,105 +7,7 @@ import { useFloatingUI } from '../utils/useFloatingUI/useFloatingUI.js';
|
|
|
7
7
|
import '../utils/useId.js';
|
|
8
8
|
import '../salt-provider/SaltProvider.js';
|
|
9
9
|
import '../viewport/ViewportProvider.js';
|
|
10
|
-
import '../accordion/AccordionGroup.js';
|
|
11
|
-
import '../accordion/AccordionPanel.js';
|
|
12
|
-
import '../accordion/Accordion.js';
|
|
13
|
-
import '../accordion/AccordionHeader.js';
|
|
14
|
-
import '../aria-announcer/AriaAnnouncerContext.js';
|
|
15
|
-
import '../avatar/Avatar.js';
|
|
16
|
-
import '../badge/Badge.js';
|
|
17
|
-
import '../banner/Banner.js';
|
|
18
|
-
import '../banner/BannerActions.js';
|
|
19
|
-
import '../banner/BannerContent.js';
|
|
20
|
-
import '../border-item/BorderItem.js';
|
|
21
|
-
import '../border-layout/BorderLayout.js';
|
|
22
|
-
import '../breakpoints/BreakpointProvider.js';
|
|
23
|
-
import '../button/Button.js';
|
|
24
|
-
import '../card/Card.js';
|
|
25
|
-
import '../checkbox/Checkbox.js';
|
|
26
|
-
import '../checkbox/CheckboxGroup.js';
|
|
27
|
-
import '@salt-ds/icons';
|
|
28
|
-
import '@salt-ds/styles';
|
|
29
|
-
import '@salt-ds/window';
|
|
30
|
-
import '../combo-box/ComboBox.js';
|
|
31
|
-
import '../dialog/Dialog.js';
|
|
32
|
-
import '../dialog/DialogHeader.js';
|
|
33
|
-
import '../dialog/DialogActions.js';
|
|
34
|
-
import '../dialog/DialogContent.js';
|
|
35
|
-
import '../dialog/DialogContext.js';
|
|
36
|
-
import '../dialog/DialogCloseButton.js';
|
|
37
|
-
import '../divider/Divider.js';
|
|
38
|
-
import '../drawer/Drawer.js';
|
|
39
|
-
import '../drawer/DrawerCloseButton.js';
|
|
40
|
-
import '../dropdown/Dropdown.js';
|
|
41
|
-
import '../file-drop-zone/FileDropZone.js';
|
|
42
|
-
import '../file-drop-zone/FileDropZoneIcon.js';
|
|
43
|
-
import '../file-drop-zone/FileDropZoneTrigger.js';
|
|
44
|
-
import '../flex-item/FlexItem.js';
|
|
45
|
-
import '../flex-layout/FlexLayout.js';
|
|
46
|
-
import '../flow-layout/FlowLayout.js';
|
|
47
|
-
import '../form-field/FormField.js';
|
|
48
|
-
import '../form-field-context/FormFieldContext.js';
|
|
49
|
-
import '../status-indicator/StatusIndicator.js';
|
|
50
|
-
import '../text/Text.js';
|
|
51
|
-
import '../text/Code.js';
|
|
52
|
-
import '../text/Display.js';
|
|
53
|
-
import '../text/Headings.js';
|
|
54
|
-
import '../text/Label.js';
|
|
55
|
-
import '../text/TextAction.js';
|
|
56
|
-
import '../text/TextNotation.js';
|
|
57
|
-
import '../grid-item/GridItem.js';
|
|
58
|
-
import '../grid-layout/GridLayout.js';
|
|
59
|
-
import '../input/Input.js';
|
|
60
|
-
import '../interactable-card/InteractableCard.js';
|
|
61
|
-
import '../interactable-card/InteractableCardGroup.js';
|
|
62
|
-
import '../interactable-card/InteractableCardGroupContext.js';
|
|
63
|
-
import '../link/Link.js';
|
|
64
|
-
import '../link-card/LinkCard.js';
|
|
65
|
-
import '../list-box/ListBox.js';
|
|
66
|
-
import '../list-control/ListControlContext.js';
|
|
67
|
-
import '../menu/MenuContext.js';
|
|
68
|
-
import '../menu/MenuItem.js';
|
|
69
|
-
import '../menu/MenuPanel.js';
|
|
70
|
-
import '../menu/MenuPanelContext.js';
|
|
71
|
-
import '../menu/MenuTriggerContext.js';
|
|
72
|
-
import '../menu/MenuGroup.js';
|
|
73
|
-
import '../multiline-input/MultilineInput.js';
|
|
74
|
-
import '../navigation-item/NavigationItem.js';
|
|
75
|
-
import '../option/Option.js';
|
|
76
|
-
import '../option/OptionGroup.js';
|
|
77
|
-
import '../overlay/OverlayContext.js';
|
|
78
|
-
import '../overlay/OverlayPanel.js';
|
|
79
|
-
import '../overlay/OverlayPanelCloseButton.js';
|
|
80
|
-
import '../overlay/OverlayPanelContent.js';
|
|
81
|
-
import '../pagination/Pagination.js';
|
|
82
|
-
import '../pagination/Paginator.js';
|
|
83
|
-
import '../pagination/CompactInput.js';
|
|
84
|
-
import '../pagination/CompactPaginator.js';
|
|
85
|
-
import '../pagination/GoToInput.js';
|
|
86
|
-
import '../panel/Panel.js';
|
|
87
|
-
import '../parent-child-layout/ParentChildLayout.js';
|
|
88
|
-
import '../pill/Pill.js';
|
|
89
|
-
import '../progress/CircularProgress/CircularProgress.js';
|
|
90
|
-
import '../progress/LinearProgress/LinearProgress.js';
|
|
91
|
-
import '../radio-button/RadioButton.js';
|
|
92
|
-
import '../radio-button/RadioButtonGroup.js';
|
|
93
|
-
import '../scrim/Scrim.js';
|
|
94
|
-
import '../segmented-button-group/SegmentedButtonGroup.js';
|
|
95
|
-
import '../spinner/Spinner.js';
|
|
96
|
-
import '../stack-layout/StackLayout.js';
|
|
97
|
-
import '../status-adornment/StatusAdornment.js';
|
|
98
|
-
import '../toast/Toast.js';
|
|
99
|
-
import '../toast/ToastContent.js';
|
|
100
|
-
import '../split-layout/SplitLayout.js';
|
|
101
|
-
import '../switch/Switch.js';
|
|
102
|
-
import '../tag/Tag.js';
|
|
103
|
-
import '../toggle-button/ToggleButton.js';
|
|
104
|
-
import '../toggle-button-group/ToggleButtonGroup.js';
|
|
105
|
-
import '../toggle-button-group/ToggleButtonGroupContext.js';
|
|
106
|
-
import './Tooltip.js';
|
|
107
10
|
import { useAriaAnnounce } from './useAriaAnnounce.js';
|
|
108
|
-
import '../semantic-icon-provider/SemanticIconProvider.js';
|
|
109
11
|
|
|
110
12
|
function useTooltip(props) {
|
|
111
13
|
const {
|
|
@@ -117,7 +19,7 @@ function useTooltip(props) {
|
|
|
117
19
|
placement: placementProp,
|
|
118
20
|
disableHoverListener,
|
|
119
21
|
disableFocusListener
|
|
120
|
-
} = props
|
|
22
|
+
} = props ?? {};
|
|
121
23
|
const arrowRef = useRef(null);
|
|
122
24
|
const [open, setOpen] = useControlled({
|
|
123
25
|
controlled: openProp,
|
|
@@ -168,6 +70,7 @@ function useTooltip(props) {
|
|
|
168
70
|
};
|
|
169
71
|
const getTooltipProps = () => {
|
|
170
72
|
const { tabIndex, ...tooltipProps } = getFloatingProps({
|
|
73
|
+
// @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.
|
|
171
74
|
"data-placement": placement,
|
|
172
75
|
ref: floating
|
|
173
76
|
});
|
|
@@ -179,8 +82,8 @@ function useTooltip(props) {
|
|
|
179
82
|
const getTooltipPosition = () => {
|
|
180
83
|
var _a, _b;
|
|
181
84
|
return {
|
|
182
|
-
top: y
|
|
183
|
-
left: x
|
|
85
|
+
top: y ?? 0,
|
|
86
|
+
left: x ?? 0,
|
|
184
87
|
position: strategy,
|
|
185
88
|
width: (_a = elements.floating) == null ? void 0 : _a.offsetWidth,
|
|
186
89
|
height: (_b = elements.floating) == null ? void 0 : _b.offsetHeight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n limitShift,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { type HTMLProps, useRef } from \"react\";\nimport {\n type UseFloatingUIProps,\n useControlled,\n useFloatingUI,\n} from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * When `true`, the tooltip will be disabled.\n */\n disabled?: boolean;\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n disabled,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open: disabled ? false : open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !(disableHoverListener || disabled),\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !(disableFocusListener || disabled) }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { enabled: !disabled }),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["open"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import {\n arrow,\n flip,\n limitShift,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react\";\nimport { type HTMLProps, useRef } from \"react\";\nimport {\n type UseFloatingUIProps,\n useControlled,\n useFloatingUI,\n} from \"../utils\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n /**\n * When `true`, the tooltip will be disabled.\n */\n disabled?: boolean;\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay,\n disabled,\n leaveDelay,\n open: openProp,\n onOpenChange,\n placement: placementProp,\n disableHoverListener,\n disableFocusListener,\n } = props ?? {};\n\n const arrowRef = useRef<SVGSVGElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const { floating, reference, x, y, strategy, placement, context, elements } =\n useFloatingUI({\n open: disabled ? false : open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware: [\n offset(8),\n shift({ limiter: limitShift() }),\n flip({\n fallbackAxisSideDirection: \"end\",\n fallbackStrategy: \"initialPlacement\",\n }),\n arrow({ element: arrowRef }),\n ],\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !(disableHoverListener || disabled),\n handleClose: safePolygon(),\n }),\n useFocus(context, { enabled: !(disableFocusListener || disabled) }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { enabled: !disabled }),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const arrowProps = {\n ref: arrowRef,\n context,\n };\n\n const getTooltipProps = (): HTMLProps<HTMLDivElement> => {\n // tabIndex raises false positives because it is set to \"-1\".\n const { tabIndex, ...tooltipProps } = getFloatingProps({\n // @ts-expect-error - `data-*` props need extra typing when not used on a DOM element.\n \"data-placement\": placement,\n ref: floating,\n });\n\n return tooltipProps;\n };\n\n const getTriggerProps = () =>\n getReferenceProps({\n ref: reference,\n });\n\n const getTooltipPosition = () => ({\n top: y ?? 0,\n left: x ?? 0,\n position: strategy,\n width: elements.floating?.offsetWidth,\n height: elements.floating?.offsetHeight,\n });\n\n return {\n arrowProps,\n open,\n floating,\n reference,\n getTooltipProps,\n getTriggerProps,\n getTooltipPosition,\n };\n}\n"],"names":["open"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capitalize.js","sources":["../src/utils/capitalize.ts"],"sourcesContent":["export function capitalize(value: string): string {\n return value.length > 0 ? value[0].toUpperCase() + value.slice(1) : value;\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,KAAuB,EAAA;AAChD,EAAO,OAAA,KAAA,CAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,
|
|
1
|
+
{"version":3,"file":"capitalize.js","sources":["../src/utils/capitalize.ts"],"sourcesContent":["export function capitalize(value: string): string {\n return value.length > 0 ? value[0].toUpperCase() + value.slice(1) : value;\n}\n"],"names":[],"mappings":"AAAO,SAAS,WAAW,KAAuB,EAAA;AAChD,EAAO,OAAA,KAAA,CAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,CAAC,CAAE,CAAA,WAAA,EAAgB,GAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAI,GAAA,KAAA;AACtE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createChainedFunction.js","sources":["../src/utils/createChainedFunction.ts"],"sourcesContent":["type ChainedFunction<Args extends any[], This> =\n | ((this: This, ...args: Args) => any)\n | undefined\n | null;\n\nexport function createChainedFunction<Args extends any[], This>(\n ...funcs: ChainedFunction<Args, This>[]\n): (this: This, ...args: Args) => any {\n return funcs.reduce<(this: This, ...args: Args) => any>(\n (acc, func) => {\n if (func == null) {\n return acc;\n }\n\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n },\n () => {},\n );\n}\n"],"names":[],"mappings":"AAKO,SAAS,yBACX,KACiC,EAAA;AACpC,EAAA,OAAO,KAAM,CAAA,MAAA;AAAA,IACX,CAAC,KAAK,IAAS,KAAA;AACb,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAO,OAAA,GAAA
|
|
1
|
+
{"version":3,"file":"createChainedFunction.js","sources":["../src/utils/createChainedFunction.ts"],"sourcesContent":["type ChainedFunction<Args extends any[], This> =\n | ((this: This, ...args: Args) => any)\n | undefined\n | null;\n\nexport function createChainedFunction<Args extends any[], This>(\n ...funcs: ChainedFunction<Args, This>[]\n): (this: This, ...args: Args) => any {\n return funcs.reduce<(this: This, ...args: Args) => any>(\n (acc, func) => {\n if (func == null) {\n return acc;\n }\n\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n },\n () => {},\n );\n}\n"],"names":[],"mappings":"AAKO,SAAS,yBACX,KACiC,EAAA;AACpC,EAAA,OAAO,KAAM,CAAA,MAAA;AAAA,IACX,CAAC,KAAK,IAAS,KAAA;AACb,MAAA,IAAI,QAAQ,IAAM,EAAA;AAChB,QAAO,OAAA,GAAA;AAAA;AAGT,MAAO,OAAA,SAAS,mBAAmB,IAAM,EAAA;AACvC,QAAI,GAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA;AACpB,QAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA;AAAA,OACvB;AAAA,KACF;AAAA,IACA,MAAM;AAAA;AAAC,GACT;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createContext.js","sources":["../src/utils/createContext.ts"],"sourcesContent":["import { type Context, createContext as createReactContext } from \"react\";\n\nexport function createContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType,\n): Context<ContextValueType> {\n const context = createReactContext<ContextValueType>(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n context.displayName = name;\n }\n return context;\n}\n"],"names":["createReactContext"],"mappings":";;AAEgB,SAAA,aAAA,CACd,MACA,YAC2B,EAAA;AAC3B,EAAM,MAAA,OAAA,GAAUA,gBAAqC,YAAY,CAAA
|
|
1
|
+
{"version":3,"file":"createContext.js","sources":["../src/utils/createContext.ts"],"sourcesContent":["import { type Context, createContext as createReactContext } from \"react\";\n\nexport function createContext<ContextValueType>(\n name: string,\n defaultValue: ContextValueType,\n): Context<ContextValueType> {\n const context = createReactContext<ContextValueType>(defaultValue);\n if (process.env.NODE_ENV !== \"production\") {\n context.displayName = name;\n }\n return context;\n}\n"],"names":["createReactContext"],"mappings":";;AAEgB,SAAA,aAAA,CACd,MACA,YAC2B,EAAA;AAC3B,EAAM,MAAA,OAAA,GAAUA,gBAAqC,YAAY,CAAA;AACjE,EAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,IAAA,OAAA,CAAQ,WAAc,GAAA,IAAA;AAAA;AAExB,EAAO,OAAA,OAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce.js","sources":["../src/utils/debounce.ts"],"sourcesContent":["export interface Cancelable {\n clear(): void;\n}\n\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n // Corresponds to 10 frames at 60 Hz.\n wait = 166,\n leading = false,\n): T & Cancelable {\n let timeout: number;\n const debounced: T & Cancelable = function debounced(\n this: typeof debounced,\n ...args\n ) {\n const later = () => {\n func.apply(this, args);\n };\n clearTimeout(timeout);\n if (leading) {\n later();\n }\n timeout = window.setTimeout(later, wait);\n } as T & Cancelable;\n\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n\n return debounced;\n}\n"],"names":["debounced"],"mappings":"AAIO,SAAS,QACd,CAAA,IAAA,EAEA,IAAO,GAAA,GAAA,EACP,UAAU,KACM,EAAA;AAChB,EAAI,IAAA,OAAA
|
|
1
|
+
{"version":3,"file":"debounce.js","sources":["../src/utils/debounce.ts"],"sourcesContent":["export interface Cancelable {\n clear(): void;\n}\n\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n // Corresponds to 10 frames at 60 Hz.\n wait = 166,\n leading = false,\n): T & Cancelable {\n let timeout: number;\n const debounced: T & Cancelable = function debounced(\n this: typeof debounced,\n ...args\n ) {\n const later = () => {\n func.apply(this, args);\n };\n clearTimeout(timeout);\n if (leading) {\n later();\n }\n timeout = window.setTimeout(later, wait);\n } as T & Cancelable;\n\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n\n return debounced;\n}\n"],"names":["debounced"],"mappings":"AAIO,SAAS,QACd,CAAA,IAAA,EAEA,IAAO,GAAA,GAAA,EACP,UAAU,KACM,EAAA;AAChB,EAAI,IAAA,OAAA;AACJ,EAAM,MAAA,SAAA,GAA4B,SAASA,UAAAA,CAAAA,GAEtC,IACH,EAAA;AACA,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAI,CAAA;AAAA,KACvB;AACA,IAAA,YAAA,CAAa,OAAO,CAAA;AACpB,IAAA,IAAI,OAAS,EAAA;AACX,MAAM,KAAA,EAAA;AAAA;AAER,IAAU,OAAA,GAAA,MAAA,CAAO,UAAW,CAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACzC;AAEA,EAAA,SAAA,CAAU,QAAQ,MAAM;AACtB,IAAA,YAAA,CAAa,OAAO,CAAA;AAAA,GACtB;AAEA,EAAO,OAAA,SAAA;AACT;;;;"}
|
|
@@ -4,7 +4,10 @@ function getRefFromChildren(child) {
|
|
|
4
4
|
if (!child || !isValidElement(child)) {
|
|
5
5
|
return null;
|
|
6
6
|
}
|
|
7
|
-
return Object.prototype.propertyIsEnumerable.call(child.props, "ref") ? child.props.ref :
|
|
7
|
+
return Object.prototype.propertyIsEnumerable.call(child.props, "ref") ? child.props.ref : (
|
|
8
|
+
// @ts-expect-error - ref is not defined on ReactNode
|
|
9
|
+
child.ref
|
|
10
|
+
);
|
|
8
11
|
}
|
|
9
12
|
|
|
10
13
|
export { getRefFromChildren };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRefFromChildren.js","sources":["../src/utils/getRefFromChildren.ts"],"sourcesContent":["import { type ReactNode, isValidElement } from \"react\";\n\nexport function getRefFromChildren(child: ReactNode) {\n if (!child || !isValidElement(child)) {\n return null;\n }\n\n return Object.prototype.propertyIsEnumerable.call(child.props, \"ref\")\n ? child.props.ref\n : // @ts-expect-error - ref is not defined on ReactNode\n child.ref;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,mBAAmB,KAAkB,EAAA;AACnD,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,cAAA,CAAe,KAAK,CAAG,EAAA;AACpC,IAAO,OAAA,IAAA
|
|
1
|
+
{"version":3,"file":"getRefFromChildren.js","sources":["../src/utils/getRefFromChildren.ts"],"sourcesContent":["import { type ReactNode, isValidElement } from \"react\";\n\nexport function getRefFromChildren(child: ReactNode) {\n if (!child || !isValidElement(child)) {\n return null;\n }\n\n return Object.prototype.propertyIsEnumerable.call(child.props, \"ref\")\n ? child.props.ref\n : // @ts-expect-error - ref is not defined on ReactNode\n child.ref;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,mBAAmB,KAAkB,EAAA;AACnD,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,cAAA,CAAe,KAAK,CAAG,EAAA;AACpC,IAAO,OAAA,IAAA;AAAA;AAGT,EAAO,OAAA,MAAA,CAAO,UAAU,oBAAqB,CAAA,IAAA,CAAK,MAAM,KAAO,EAAA,KAAK,CAChE,GAAA,KAAA,CAAM,KAAM,CAAA,GAAA;AAAA;AAAA,IAEZ,KAAM,CAAA;AAAA,GAAA;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marginMiddleware.js","sources":["../src/utils/marginMiddleware.ts"],"sourcesContent":["import type { Middleware } from \"@floating-ui/core\";\n\nexport const margin = (value = 0): Middleware => ({\n name: \"margin\",\n options: value,\n fn(middlewareState) {\n const { x, y, elements } = middlewareState;\n\n if (elements.floating.children.length > 0) {\n const rootChildElement = elements.floating.children[0] as HTMLElement;\n rootChildElement.style.setProperty(\"margin\", value.toString());\n }\n return {\n x: x,\n y: y,\n };\n },\n});\n"],"names":[],"mappings":"AAEa,MAAA,MAAA,GAAS,CAAC,KAAA,GAAQ,CAAmB,MAAA;AAAA,EAChD,IAAM,EAAA,QAAA;AAAA,EACN,OAAS,EAAA,KAAA;AAAA,EACT,GAAG,eAAiB,EAAA;AAClB,IAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,QAAA,EAAa,GAAA,eAAA
|
|
1
|
+
{"version":3,"file":"marginMiddleware.js","sources":["../src/utils/marginMiddleware.ts"],"sourcesContent":["import type { Middleware } from \"@floating-ui/core\";\n\nexport const margin = (value = 0): Middleware => ({\n name: \"margin\",\n options: value,\n fn(middlewareState) {\n const { x, y, elements } = middlewareState;\n\n if (elements.floating.children.length > 0) {\n const rootChildElement = elements.floating.children[0] as HTMLElement;\n rootChildElement.style.setProperty(\"margin\", value.toString());\n }\n return {\n x: x,\n y: y,\n };\n },\n});\n"],"names":[],"mappings":"AAEa,MAAA,MAAA,GAAS,CAAC,KAAA,GAAQ,CAAmB,MAAA;AAAA,EAChD,IAAM,EAAA,QAAA;AAAA,EACN,OAAS,EAAA,KAAA;AAAA,EACT,GAAG,eAAiB,EAAA;AAClB,IAAA,MAAM,EAAE,CAAA,EAAG,CAAG,EAAA,QAAA,EAAa,GAAA,eAAA;AAE3B,IAAA,IAAI,QAAS,CAAA,QAAA,CAAS,QAAS,CAAA,MAAA,GAAS,CAAG,EAAA;AACzC,MAAA,MAAM,gBAAmB,GAAA,QAAA,CAAS,QAAS,CAAA,QAAA,CAAS,CAAC,CAAA;AACrD,MAAA,gBAAA,CAAiB,KAAM,CAAA,WAAA,CAAY,QAAU,EAAA,KAAA,CAAM,UAAU,CAAA;AAAA;AAE/D,IAAO,OAAA;AAAA,MACL,CAAA;AAAA,MACA;AAAA,KACF;AAAA;AAEJ,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeProps.js","sources":["../src/utils/mergeProps.ts"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { createChainedFunction } from \"./createChainedFunction\";\n\ninterface Props {\n [key: string]: unknown;\n}\n\n/**\n * This utility merges two prop objects according to the following rules:\n *\n * - If the prop is a function and begins with \"on\" then chain the functions together\n * - If the prop key is \"className\" then merge them using `clsx`\n * - If the prop is anything else, then use the value from the second parameter unless it's undefined then use the value from the first parameter\n */\nexport function mergeProps(\n propsA: Props,\n propsB: Props,\n): Record<string, unknown> {\n const props = { ...propsA };\n\n Object.keys(propsB).forEach((key) => {\n const a: any = props[key];\n const b: any = propsB[key];\n\n if (\n typeof a === \"function\" &&\n typeof b === \"function\" &&\n key.indexOf(\"on\") === 0\n ) {\n props[key] = createChainedFunction(a, b);\n } else if (\n typeof a === \"string\" &&\n typeof b === \"string\" &&\n key === \"className\"\n ) {\n props[key] = clsx(a, b);\n } else {\n props[key] = b !== undefined ? b : a;\n }\n });\n\n return props;\n}\n"],"names":[],"mappings":";;;AAcgB,SAAA,UAAA,CACd,QACA,MACyB,EAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,EAAE,GAAG,MAAO,EAAA
|
|
1
|
+
{"version":3,"file":"mergeProps.js","sources":["../src/utils/mergeProps.ts"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { createChainedFunction } from \"./createChainedFunction\";\n\ninterface Props {\n [key: string]: unknown;\n}\n\n/**\n * This utility merges two prop objects according to the following rules:\n *\n * - If the prop is a function and begins with \"on\" then chain the functions together\n * - If the prop key is \"className\" then merge them using `clsx`\n * - If the prop is anything else, then use the value from the second parameter unless it's undefined then use the value from the first parameter\n */\nexport function mergeProps(\n propsA: Props,\n propsB: Props,\n): Record<string, unknown> {\n const props = { ...propsA };\n\n Object.keys(propsB).forEach((key) => {\n const a: any = props[key];\n const b: any = propsB[key];\n\n if (\n typeof a === \"function\" &&\n typeof b === \"function\" &&\n key.indexOf(\"on\") === 0\n ) {\n props[key] = createChainedFunction(a, b);\n } else if (\n typeof a === \"string\" &&\n typeof b === \"string\" &&\n key === \"className\"\n ) {\n props[key] = clsx(a, b);\n } else {\n props[key] = b !== undefined ? b : a;\n }\n });\n\n return props;\n}\n"],"names":[],"mappings":";;;AAcgB,SAAA,UAAA,CACd,QACA,MACyB,EAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,EAAE,GAAG,MAAO,EAAA;AAE1B,EAAA,MAAA,CAAO,IAAK,CAAA,MAAM,CAAE,CAAA,OAAA,CAAQ,CAAC,GAAQ,KAAA;AACnC,IAAM,MAAA,CAAA,GAAS,MAAM,GAAG,CAAA;AACxB,IAAM,MAAA,CAAA,GAAS,OAAO,GAAG,CAAA;AAEzB,IACE,IAAA,OAAO,CAAM,KAAA,UAAA,IACb,OAAO,CAAA,KAAM,cACb,GAAI,CAAA,OAAA,CAAQ,IAAI,CAAA,KAAM,CACtB,EAAA;AACA,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,qBAAsB,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,KACzC,MAAA,IACE,OAAO,CAAM,KAAA,QAAA,IACb,OAAO,CAAM,KAAA,QAAA,IACb,QAAQ,WACR,EAAA;AACA,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,IAAK,CAAA,CAAA,EAAG,CAAC,CAAA;AAAA,KACjB,MAAA;AACL,MAAA,KAAA,CAAM,GAAG,CAAA,GAAI,CAAM,KAAA,KAAA,CAAA,GAAY,CAAI,GAAA,CAAA;AAAA;AACrC,GACD,CAAA;AAED,EAAO,OAAA,KAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownerDocument.js","sources":["../src/utils/ownerDocument.ts"],"sourcesContent":["export function ownerDocument(node: Node | null | undefined): Document {\n return node?.ownerDocument || document;\n}\n"],"names":[],"mappings":"AAAO,SAAS,cAAc,IAAyC,EAAA;AACrE,EAAA,OAAA,CAAO,6BAAM,aAAiB,KAAA,QAAA
|
|
1
|
+
{"version":3,"file":"ownerDocument.js","sources":["../src/utils/ownerDocument.ts"],"sourcesContent":["export function ownerDocument(node: Node | null | undefined): Document {\n return node?.ownerDocument || document;\n}\n"],"names":[],"mappings":"AAAO,SAAS,cAAc,IAAyC,EAAA;AACrE,EAAA,OAAA,CAAO,6BAAM,aAAiB,KAAA,QAAA;AAChC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownerWindow.js","sources":["../src/utils/ownerWindow.ts"],"sourcesContent":["import { ownerDocument } from \"./ownerDocument\";\n\nexport function ownerWindow(node: Node | null | undefined) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,YAAY,IAA+B,EAAA;AACzD,EAAM,MAAA,GAAA,GAAM,cAAc,IAAI,CAAA
|
|
1
|
+
{"version":3,"file":"ownerWindow.js","sources":["../src/utils/ownerWindow.ts"],"sourcesContent":["import { ownerDocument } from \"./ownerDocument\";\n\nexport function ownerWindow(node: Node | null | undefined) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,YAAY,IAA+B,EAAA;AACzD,EAAM,MAAA,GAAA,GAAM,cAAc,IAAI,CAAA;AAC9B,EAAA,OAAO,IAAI,WAAe,IAAA,MAAA;AAC5B;;;;"}
|
|
@@ -17,9 +17,7 @@ function renderProps(Type, props) {
|
|
|
17
17
|
throw new Error("Render function did not return a valid React element");
|
|
18
18
|
}
|
|
19
19
|
if (Type) {
|
|
20
|
-
return /* @__PURE__ */ jsx(Type, {
|
|
21
|
-
...restProps
|
|
22
|
-
});
|
|
20
|
+
return /* @__PURE__ */ jsx(Type, { ...restProps });
|
|
23
21
|
}
|
|
24
22
|
throw new Error("Type or render should be provided");
|
|
25
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderProps.js","sources":["../src/utils/renderProps.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type ReactElement,\n cloneElement,\n isValidElement,\n} from \"react\";\nimport { mergeProps } from \"./mergeProps\";\n\nexport interface RenderPropsType {\n render?: ReactElement | ((props: any) => ReactElement);\n}\n\nexport function renderProps<Type extends ElementType>(\n Type: Type | null,\n props: RenderPropsType & ComponentProps<Type>,\n): ReactElement {\n const { render, ...rest } = props;\n // Case 1: If render is a valid React element, clone it with merged props\n if (isValidElement(render)) {\n const renderProps = render.props as ComponentProps<Type>;\n return cloneElement(render, mergeProps(rest, renderProps));\n }\n\n const restProps = rest as ComponentProps<Type>;\n\n // Case 2: If render is a function, call it with the rest of the props\n if (typeof render === \"function\") {\n const renderedElement = render(restProps);\n if (isValidElement(renderedElement)) {\n return renderedElement;\n }\n throw new Error(\"Render function did not return a valid React element\");\n }\n\n if (Type) {\n // Case 3: If render is not provided, render the Type component with the rest of the props\n return <Type {...restProps} />;\n }\n\n throw new Error(\"Type or render should be provided\");\n}\n"],"names":["renderProps"],"mappings":";;;;AAagB,SAAA,WAAA,CACd,MACA,KACc,EAAA;AACd,
|
|
1
|
+
{"version":3,"file":"renderProps.js","sources":["../src/utils/renderProps.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type ElementType,\n type ReactElement,\n cloneElement,\n isValidElement,\n} from \"react\";\nimport { mergeProps } from \"./mergeProps\";\n\nexport interface RenderPropsType {\n render?: ReactElement | ((props: any) => ReactElement);\n}\n\nexport function renderProps<Type extends ElementType>(\n Type: Type | null,\n props: RenderPropsType & ComponentProps<Type>,\n): ReactElement {\n const { render, ...rest } = props;\n // Case 1: If render is a valid React element, clone it with merged props\n if (isValidElement(render)) {\n const renderProps = render.props as ComponentProps<Type>;\n return cloneElement(render, mergeProps(rest, renderProps));\n }\n\n const restProps = rest as ComponentProps<Type>;\n\n // Case 2: If render is a function, call it with the rest of the props\n if (typeof render === \"function\") {\n const renderedElement = render(restProps);\n if (isValidElement(renderedElement)) {\n return renderedElement;\n }\n throw new Error(\"Render function did not return a valid React element\");\n }\n\n if (Type) {\n // Case 3: If render is not provided, render the Type component with the rest of the props\n return <Type {...restProps} />;\n }\n\n throw new Error(\"Type or render should be provided\");\n}\n"],"names":["renderProps"],"mappings":";;;;AAagB,SAAA,WAAA,CACd,MACA,KACc,EAAA;AACd,EAAA,MAAM,EAAE,MAAA,EAAQ,GAAG,IAAA,EAAS,GAAA,KAAA;AAE5B,EAAI,IAAA,cAAA,CAAe,MAAM,CAAG,EAAA;AAC1B,IAAA,MAAMA,eAAc,MAAO,CAAA,KAAA;AAC3B,IAAA,OAAO,YAAa,CAAA,MAAA,EAAQ,UAAW,CAAA,IAAA,EAAMA,YAAW,CAAC,CAAA;AAAA;AAG3D,EAAA,MAAM,SAAY,GAAA,IAAA;AAGlB,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAM,MAAA,eAAA,GAAkB,OAAO,SAAS,CAAA;AACxC,IAAI,IAAA,cAAA,CAAe,eAAe,CAAG,EAAA;AACnC,MAAO,OAAA,eAAA;AAAA;AAET,IAAM,MAAA,IAAI,MAAM,sDAAsD,CAAA;AAAA;AAGxE,EAAA,IAAI,IAAM,EAAA;AAER,IAAO,uBAAA,GAAA,CAAC,IAAM,EAAA,EAAA,GAAG,SAAW,EAAA,CAAA;AAAA;AAG9B,EAAM,MAAA,IAAI,MAAM,mCAAmC,CAAA;AACrD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setRef.js","sources":["../src/utils/setRef.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nexport function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null,\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n"],"names":[],"mappings":"AAEgB,SAAA,MAAA,CACd,KAKA,KACM,EAAA;AACN,EAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,IAAA,GAAA,CAAI,KAAK,CAAA
|
|
1
|
+
{"version":3,"file":"setRef.js","sources":["../src/utils/setRef.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nexport function setRef<T>(\n ref:\n | MutableRefObject<T | null>\n | ((instance: T | null) => void)\n | null\n | undefined,\n value: T | null,\n): void {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n"],"names":[],"mappings":"AAEgB,SAAA,MAAA,CACd,KAKA,KACM,EAAA;AACN,EAAI,IAAA,OAAO,QAAQ,UAAY,EAAA;AAC7B,IAAA,GAAA,CAAI,KAAK,CAAA;AAAA,aACA,GAAK,EAAA;AACd,IAAA,GAAA,CAAI,OAAU,GAAA,KAAA;AAAA;AAElB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useControlled.js","sources":["../src/utils/useControlled.ts"],"sourcesContent":["import {\n type Dispatch,\n type SetStateAction,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport interface UseControlledProps<T> {\n /**\n * Holds the component value when it's controlled.\n */\n controlled?: T;\n /**\n * The default value when uncontrolled.\n */\n default: T;\n /**\n * The component name displayed in warnings.\n */\n name: string;\n /**\n * The name of the state variable displayed in warnings.\n */\n state?: string;\n}\n\n/**\n * Copied from MUI (v5) useControlled hook with one additional returned value\n * @see https://github.com/mui-org/material-ui/blob/0979e6a54ba47c278d1f535953c0520a86349811/packages/material-ui-utils/src/useControlled.js\n */\nexport function useControlled<S>({\n controlled,\n default: defaultProp,\n name,\n state = \"value\",\n}: UseControlledProps<S>): [S, Dispatch<SetStateAction<S>>, boolean] {\n const { current: isControlled } = useRef(controlled !== undefined);\n const [valueState, setValue] = useState<S>(defaultProp);\n const value = controlled !== undefined ? controlled : valueState;\n const { current: defaultValue } = useRef(defaultProp);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (isControlled !== (controlled !== undefined)) {\n console.error(\n [\n `Salt: A component is changing the ${\n isControlled ? \"\" : \"un\"\n }controlled ${state} state of ${name} to be ${\n isControlled ? \"un\" : \"\"\n }controlled.`,\n \"Elements should not switch from uncontrolled to controlled (or vice versa).\",\n `Decide between using a controlled or uncontrolled ${name} element for the lifetime of the component.`,\n \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\",\n \"More info: https://reactjs.org/link/controlled-components\",\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [state, name, controlled]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses JSON.stringify to compare defaultProp\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error(\n [\n `Salt: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [JSON.stringify(defaultProp, ignoreReactElements)]);\n\n const setValueIfUncontrolled: Dispatch<SetStateAction<S>> = useCallback(\n (newValue) => {\n if (!isControlled) {\n setValue(newValue);\n }\n },\n [],\n );\n\n return [value, setValueIfUncontrolled, isControlled];\n}\n\n// Ignore ReactElements in JSON, they contain circular refs\nfunction ignoreReactElements<T>(key: string, value: T): T | null {\n return isValidElement(value) ? null : value;\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,aAAiB,CAAA;AAAA,EAC/B,UAAA;AAAA,EACA,OAAS,EAAA,WAAA;AAAA,EACT,IAAA;AAAA,EACA,KAAQ,GAAA
|
|
1
|
+
{"version":3,"file":"useControlled.js","sources":["../src/utils/useControlled.ts"],"sourcesContent":["import {\n type Dispatch,\n type SetStateAction,\n isValidElement,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nexport interface UseControlledProps<T> {\n /**\n * Holds the component value when it's controlled.\n */\n controlled?: T;\n /**\n * The default value when uncontrolled.\n */\n default: T;\n /**\n * The component name displayed in warnings.\n */\n name: string;\n /**\n * The name of the state variable displayed in warnings.\n */\n state?: string;\n}\n\n/**\n * Copied from MUI (v5) useControlled hook with one additional returned value\n * @see https://github.com/mui-org/material-ui/blob/0979e6a54ba47c278d1f535953c0520a86349811/packages/material-ui-utils/src/useControlled.js\n */\nexport function useControlled<S>({\n controlled,\n default: defaultProp,\n name,\n state = \"value\",\n}: UseControlledProps<S>): [S, Dispatch<SetStateAction<S>>, boolean] {\n const { current: isControlled } = useRef(controlled !== undefined);\n const [valueState, setValue] = useState<S>(defaultProp);\n const value = controlled !== undefined ? controlled : valueState;\n const { current: defaultValue } = useRef(defaultProp);\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (isControlled !== (controlled !== undefined)) {\n console.error(\n [\n `Salt: A component is changing the ${\n isControlled ? \"\" : \"un\"\n }controlled ${state} state of ${name} to be ${\n isControlled ? \"un\" : \"\"\n }controlled.`,\n \"Elements should not switch from uncontrolled to controlled (or vice versa).\",\n `Decide between using a controlled or uncontrolled ${name} element for the lifetime of the component.`,\n \"The nature of the state is determined during the first render, it's considered controlled if the value is not `undefined`.\",\n \"More info: https://reactjs.org/link/controlled-components\",\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [state, name, controlled]);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: uses JSON.stringify to compare defaultProp\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error(\n [\n `Salt: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` +\n `To suppress this warning opt to use a controlled ${name}.`,\n ].join(\"\\n\"),\n );\n }\n }\n return undefined;\n }, [JSON.stringify(defaultProp, ignoreReactElements)]);\n\n const setValueIfUncontrolled: Dispatch<SetStateAction<S>> = useCallback(\n (newValue) => {\n if (!isControlled) {\n setValue(newValue);\n }\n },\n [],\n );\n\n return [value, setValueIfUncontrolled, isControlled];\n}\n\n// Ignore ReactElements in JSON, they contain circular refs\nfunction ignoreReactElements<T>(key: string, value: T): T | null {\n return isValidElement(value) ? null : value;\n}\n"],"names":[],"mappings":";;AAiCO,SAAS,aAAiB,CAAA;AAAA,EAC/B,UAAA;AAAA,EACA,OAAS,EAAA,WAAA;AAAA,EACT,IAAA;AAAA,EACA,KAAQ,GAAA;AACV,CAAqE,EAAA;AACnE,EAAA,MAAM,EAAE,OAAS,EAAA,YAAA,EAAiB,GAAA,MAAA,CAAO,eAAe,KAAS,CAAA,CAAA;AACjE,EAAA,MAAM,CAAC,UAAA,EAAY,QAAQ,CAAA,GAAI,SAAY,WAAW,CAAA;AACtD,EAAM,MAAA,KAAA,GAAQ,UAAe,KAAA,KAAA,CAAA,GAAY,UAAa,GAAA,UAAA;AACtD,EAAA,MAAM,EAAE,OAAA,EAAS,YAAa,EAAA,GAAI,OAAO,WAAW,CAAA;AAEpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,YAAA,MAAkB,eAAe,KAAY,CAAA,CAAA,EAAA;AAC/C,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAAA,kCAAA,EACE,YAAe,GAAA,EAAA,GAAK,IACtB,CAAA,WAAA,EAAc,KAAK,CAAA,UAAA,EAAa,IAAI,CAAA,OAAA,EAClC,YAAe,GAAA,IAAA,GAAO,EACxB,CAAA,WAAA,CAAA;AAAA,YACA,6EAAA;AAAA,YACA,qDAAqD,IAAI,CAAA,2CAAA,CAAA;AAAA,YACzD,4HAAA;AAAA,YACA;AAAA,WACF,CAAE,KAAK,IAAI;AAAA,SACb;AAAA;AACF;AAEF,IAAO,OAAA,KAAA,CAAA;AAAA,GACN,EAAA,CAAC,KAAO,EAAA,IAAA,EAAM,UAAU,CAAC,CAAA;AAG5B,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,MAAI,IAAA,CAAC,YAAgB,IAAA,YAAA,KAAiB,WAAa,EAAA;AACjD,QAAQ,OAAA,CAAA,KAAA;AAAA,UACN;AAAA,YACE,CAA6C,0CAAA,EAAA,KAAK,CAA6B,0BAAA,EAAA,IAAI,8EAC7B,IAAI,CAAA,CAAA;AAAA,WAC5D,CAAE,KAAK,IAAI;AAAA,SACb;AAAA;AACF;AAEF,IAAO,OAAA,KAAA,CAAA;AAAA,KACN,CAAC,IAAA,CAAK,UAAU,WAAa,EAAA,mBAAmB,CAAC,CAAC,CAAA;AAErD,EAAA,MAAM,sBAAsD,GAAA,WAAA;AAAA,IAC1D,CAAC,QAAa,KAAA;AACZ,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAA,QAAA,CAAS,QAAQ,CAAA;AAAA;AACnB,KACF;AAAA,IACA;AAAC,GACH;AAEA,EAAO,OAAA,CAAC,KAAO,EAAA,sBAAA,EAAwB,YAAY,CAAA;AACrD;AAGA,SAAS,mBAAA,CAAuB,KAAa,KAAoB,EAAA;AAC/D,EAAO,OAAA,cAAA,CAAe,KAAK,CAAA,GAAI,IAAO,GAAA,KAAA;AACxC;;;;"}
|
|
@@ -7,7 +7,10 @@ function useEventCallback(fn) {
|
|
|
7
7
|
ref.current = fn;
|
|
8
8
|
});
|
|
9
9
|
return useCallback(
|
|
10
|
-
(...args) => (
|
|
10
|
+
(...args) => (
|
|
11
|
+
// biome-ignore lint/style/noCommaOperator: This is a valid use case for the comma operator
|
|
12
|
+
(0, ref.current)(...args)
|
|
13
|
+
),
|
|
11
14
|
[]
|
|
12
15
|
);
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEventCallback.js","sources":["../src/utils/useEventCallback.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport function useEventCallback<Args extends unknown[], Return>(\n fn: (...args: Args) => Return,\n): (...args: Args) => Return {\n const ref = useRef(fn);\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback(\n (...args: Args) =>\n // biome-ignore lint/style/noCommaOperator: This is a valid use case for the comma operator\n (void 0, ref.current)(...args),\n [],\n );\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,iBACd,EAC2B,EAAA;AAC3B,EAAM,MAAA,GAAA,GAAM,OAAO,EAAE,CAAA
|
|
1
|
+
{"version":3,"file":"useEventCallback.js","sources":["../src/utils/useEventCallback.ts"],"sourcesContent":["import { useCallback, useRef } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./useIsomorphicLayoutEffect\";\n\n/**\n * https://github.com/facebook/react/issues/14099#issuecomment-440013892\n */\nexport function useEventCallback<Args extends unknown[], Return>(\n fn: (...args: Args) => Return,\n): (...args: Args) => Return {\n const ref = useRef(fn);\n useIsomorphicLayoutEffect(() => {\n ref.current = fn;\n });\n return useCallback(\n (...args: Args) =>\n // biome-ignore lint/style/noCommaOperator: This is a valid use case for the comma operator\n (void 0, ref.current)(...args),\n [],\n );\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,iBACd,EAC2B,EAAA;AAC3B,EAAM,MAAA,GAAA,GAAM,OAAO,EAAE,CAAA;AACrB,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,GAAA,CAAI,OAAU,GAAA,EAAA;AAAA,GACf,CAAA;AACD,EAAO,OAAA,WAAA;AAAA,IACL,CAAI,GAAA,IAAA;AAAA;AAAA,MAAA,IAEO,GAAA,CAAI,OAAS,EAAA,GAAG,IAAI;AAAA,KAAA;AAAA,IAC/B;AAAC,GACH;AACF;;;;"}
|
|
@@ -22,28 +22,9 @@ const DefaultFloatingComponent = forwardRef(function DefaultFloatingComponent2(p
|
|
|
22
22
|
const { themeNext } = useTheme();
|
|
23
23
|
const ChosenSaltProvider = themeNext ? SaltProviderNext : SaltProvider;
|
|
24
24
|
if (focusManagerProps && open) {
|
|
25
|
-
return /* @__PURE__ */ jsx(FloatingPortal, {
|
|
26
|
-
children: /* @__PURE__ */ jsx(ChosenSaltProvider, {
|
|
27
|
-
children: /* @__PURE__ */ jsx(FloatingFocusManager, {
|
|
28
|
-
...focusManagerProps,
|
|
29
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
30
|
-
style,
|
|
31
|
-
...rest,
|
|
32
|
-
ref
|
|
33
|
-
})
|
|
34
|
-
})
|
|
35
|
-
})
|
|
36
|
-
});
|
|
25
|
+
return /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsx(ChosenSaltProvider, { children: /* @__PURE__ */ jsx(FloatingFocusManager, { ...focusManagerProps, children: /* @__PURE__ */ jsx("div", { style, ...rest, ref }) }) }) });
|
|
37
26
|
}
|
|
38
|
-
return open ? /* @__PURE__ */ jsx(FloatingPortal, {
|
|
39
|
-
children: /* @__PURE__ */ jsx(ChosenSaltProvider, {
|
|
40
|
-
children: /* @__PURE__ */ jsx("div", {
|
|
41
|
-
style,
|
|
42
|
-
...rest,
|
|
43
|
-
ref
|
|
44
|
-
})
|
|
45
|
-
})
|
|
46
|
-
}) : null;
|
|
27
|
+
return open ? /* @__PURE__ */ jsx(FloatingPortal, { children: /* @__PURE__ */ jsx(ChosenSaltProvider, { children: /* @__PURE__ */ jsx("div", { style, ...rest, ref }) }) }) : null;
|
|
47
28
|
});
|
|
48
29
|
const FloatingComponentContext = createContext({
|
|
49
30
|
Component: DefaultFloatingComponent
|
|
@@ -54,10 +35,7 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
54
35
|
function FloatingComponentProvider(props) {
|
|
55
36
|
const { Component, children } = props;
|
|
56
37
|
const value = useMemo(() => ({ Component }), [Component]);
|
|
57
|
-
return /* @__PURE__ */ jsx(FloatingComponentContext.Provider, {
|
|
58
|
-
value,
|
|
59
|
-
children
|
|
60
|
-
});
|
|
38
|
+
return /* @__PURE__ */ jsx(FloatingComponentContext.Provider, { value, children });
|
|
61
39
|
}
|
|
62
40
|
function useFloatingComponent() {
|
|
63
41
|
return useContext(FloatingComponentContext);
|
|
@@ -80,16 +58,13 @@ function FloatingPlatformProvider(props) {
|
|
|
80
58
|
} = props;
|
|
81
59
|
const floatingPlatformContextValue = useMemo(
|
|
82
60
|
() => ({
|
|
83
|
-
platform: platformProp
|
|
84
|
-
middleware: middleware
|
|
61
|
+
platform: platformProp ?? platform,
|
|
62
|
+
middleware: middleware ?? defaultGetMiddleware,
|
|
85
63
|
animationFrame: animationFrame || false
|
|
86
64
|
}),
|
|
87
65
|
[platformProp, middleware, animationFrame]
|
|
88
66
|
);
|
|
89
|
-
return /* @__PURE__ */ jsx(FloatingPlatformContext.Provider, {
|
|
90
|
-
value: floatingPlatformContextValue,
|
|
91
|
-
children
|
|
92
|
-
});
|
|
67
|
+
return /* @__PURE__ */ jsx(FloatingPlatformContext.Provider, { value: floatingPlatformContextValue, children });
|
|
93
68
|
}
|
|
94
69
|
function useFloatingPlatform() {
|
|
95
70
|
return useContext(FloatingPlatformContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n type FloatingFocusManagerProps,\n FloatingPortal,\n type Middleware,\n type Platform,\n type Strategy,\n type UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport { SaltProvider, SaltProviderNext, useTheme } from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n width,\n height,\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext ? SaltProviderNext : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps,\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\" | \"nodeId\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform,\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame],\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n ...other\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason,\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n ...other,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["DefaultFloatingComponent","open"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useFloatingUI.js","sources":["../src/utils/useFloatingUI/useFloatingUI.tsx"],"sourcesContent":["import {\n FloatingFocusManager,\n type FloatingFocusManagerProps,\n FloatingPortal,\n type Middleware,\n type Platform,\n type Strategy,\n type UseFloatingOptions,\n autoUpdate,\n flip,\n limitShift,\n platform,\n shift,\n useFloating,\n} from \"@floating-ui/react\";\nimport {\n type ComponentPropsWithoutRef,\n type ReactNode,\n createContext,\n forwardRef,\n useContext,\n useMemo,\n} from \"react\";\nimport { SaltProvider, SaltProviderNext, useTheme } from \"../../salt-provider\";\n\nexport interface FloatingComponentProps\n extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * Whether the floating component is open (used for determining whether to show the component)\n * We pass this as a prop rather than not rendering the component to allow more advanced use-cases e.g.\n * for caching windows and reusing them, rather than always spawning a new one\n */\n open: boolean;\n /**\n * Use this prop when `FloatingFocusManager` is needed for floating component\n */\n focusManagerProps?: Omit<FloatingFocusManagerProps, \"children\">;\n /**\n * Position and sizing optional props for the floating component. `top`, `left`, and `position` for floating elements where they aren't positioned with relative to the trigger.\n * `width` and `height` are used to define the size of the floating element.\n *\n */\n top?: number;\n left?: number;\n width?: number;\n height?: number;\n position?: Strategy;\n}\n\nconst DefaultFloatingComponent = forwardRef<\n HTMLDivElement,\n FloatingComponentProps\n>(function DefaultFloatingComponent(props, ref) {\n const {\n open,\n top,\n left,\n position,\n width,\n height,\n focusManagerProps,\n ...rest\n } = props;\n const style = {\n top,\n left,\n position,\n };\n\n const { themeNext } = useTheme();\n\n const ChosenSaltProvider = themeNext ? SaltProviderNext : SaltProvider;\n\n if (focusManagerProps && open) {\n return (\n <FloatingPortal>\n <ChosenSaltProvider>\n <FloatingFocusManager {...focusManagerProps}>\n <div style={style} {...rest} ref={ref} />\n </FloatingFocusManager>\n </ChosenSaltProvider>\n </FloatingPortal>\n );\n }\n\n return open ? (\n <FloatingPortal>\n <ChosenSaltProvider>\n <div style={style} {...rest} ref={ref} />\n </ChosenSaltProvider>\n </FloatingPortal>\n ) : null;\n});\n\nexport interface FloatingComponentContextType {\n Component: typeof DefaultFloatingComponent;\n}\n\nconst FloatingComponentContext = createContext<FloatingComponentContextType>({\n Component: DefaultFloatingComponent,\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n FloatingComponentContext.displayName = \"FloatingComponentContext\";\n}\n\nexport interface FloatingComponentProviderProps\n extends FloatingComponentContextType {\n children: ReactNode;\n}\n\nexport function FloatingComponentProvider(\n props: FloatingComponentProviderProps,\n) {\n const { Component, children } = props;\n const value = useMemo(() => ({ Component }), [Component]);\n\n return (\n <FloatingComponentContext.Provider value={value}>\n {children}\n </FloatingComponentContext.Provider>\n );\n}\n\nexport function useFloatingComponent() {\n return useContext(FloatingComponentContext);\n}\n\nexport interface UseFloatingUIProps\n extends Pick<\n UseFloatingOptions,\n \"placement\" | \"strategy\" | \"open\" | \"onOpenChange\" | \"nodeId\"\n > {\n /**\n * Function to update the default middleware used to extend or replace it\n */\n middleware?: Middleware[];\n}\n\ntype GetMiddleware = (middleware: Middleware[]) => Middleware[];\n\nconst defaultGetMiddleware: GetMiddleware = (defaultMiddleware) =>\n defaultMiddleware;\n\ninterface FloatingPlatformContextType {\n platform: Platform;\n middleware: GetMiddleware;\n animationFrame: boolean;\n}\n\nconst defaultFloatingPlaform: FloatingPlatformContextType = {\n platform,\n middleware: defaultGetMiddleware,\n animationFrame: false,\n};\n\nconst FloatingPlatformContext = createContext<FloatingPlatformContextType>(\n defaultFloatingPlaform,\n);\n\nexport interface FloatingPlatformProviderProps {\n platform?: Platform;\n middleware?: GetMiddleware;\n children: ReactNode;\n animationFrame?: boolean;\n}\n\nexport function FloatingPlatformProvider(props: FloatingPlatformProviderProps) {\n const {\n platform: platformProp,\n middleware,\n animationFrame,\n children,\n } = props;\n\n const floatingPlatformContextValue = useMemo<FloatingPlatformContextType>(\n () => ({\n platform: platformProp ?? platform,\n middleware: middleware ?? defaultGetMiddleware,\n animationFrame: animationFrame || false,\n }),\n [platformProp, middleware, animationFrame],\n );\n\n return (\n <FloatingPlatformContext.Provider value={floatingPlatformContextValue}>\n {children}\n </FloatingPlatformContext.Provider>\n );\n}\n\nexport function useFloatingPlatform() {\n return useContext(FloatingPlatformContext);\n}\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = [\n flip(),\n shift({ limiter: limitShift() }),\n];\n\ntype UseFloatingRefs = ReturnType<typeof useFloating>[\"refs\"];\n\nexport interface UseFloatingUIReturn extends ReturnType<typeof useFloating> {\n reference: UseFloatingRefs[\"setReference\"];\n floating: UseFloatingRefs[\"setFloating\"];\n}\n\nexport function useFloatingUI(props: UseFloatingUIProps): UseFloatingUIReturn {\n const {\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open = false,\n onOpenChange,\n ...other\n } = props;\n\n const handleOpenChange: UseFloatingUIProps[\"onOpenChange\"] = (\n open,\n boolean,\n reason,\n ) => {\n update();\n onOpenChange?.(open, boolean, reason);\n };\n\n const {\n platform: contextPlatform,\n middleware: contextMiddleware,\n animationFrame,\n } = useFloatingPlatform();\n\n const { refs, update, ...rest } = useFloating({\n ...other,\n middleware: contextMiddleware(middleware),\n open,\n onOpenChange: handleOpenChange,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, { animationFrame });\n\n return cleanup;\n },\n platform: contextPlatform,\n });\n\n return {\n reference: refs.setReference,\n floating: refs.setFloating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":["DefaultFloatingComponent","open"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useForkRef.js","sources":["../src/utils/useForkRef.ts"],"sourcesContent":["import { type Ref, useMemo } from \"react\";\nimport { setRef } from \"./setRef\";\n\nexport function useForkRef<Instance>(\n refA: Ref<Instance> | null | undefined,\n refB: Ref<Instance> | null | undefined,\n): Ref<Instance> | null {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means React will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return useMemo(() => {\n if (refA == null && refB == null) {\n return () => null;\n }\n return (refValue) => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n"],"names":[],"mappings":";;;AAGgB,SAAA,UAAA,CACd,MACA,IACsB,EAAA;AAMtB,EAAA,OAAO,QAAQ,MAAM;AACnB,IAAI,IAAA,IAAA,IAAQ,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AAChC,MAAA,OAAO,MAAM,IAAA
|
|
1
|
+
{"version":3,"file":"useForkRef.js","sources":["../src/utils/useForkRef.ts"],"sourcesContent":["import { type Ref, useMemo } from \"react\";\nimport { setRef } from \"./setRef\";\n\nexport function useForkRef<Instance>(\n refA: Ref<Instance> | null | undefined,\n refB: Ref<Instance> | null | undefined,\n): Ref<Instance> | null {\n /**\n * This will create a new function if the ref props change and are defined.\n * This means React will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior\n */\n return useMemo(() => {\n if (refA == null && refB == null) {\n return () => null;\n }\n return (refValue) => {\n setRef(refA, refValue);\n setRef(refB, refValue);\n };\n }, [refA, refB]);\n}\n"],"names":[],"mappings":";;;AAGgB,SAAA,UAAA,CACd,MACA,IACsB,EAAA;AAMtB,EAAA,OAAO,QAAQ,MAAM;AACnB,IAAI,IAAA,IAAA,IAAQ,IAAQ,IAAA,IAAA,IAAQ,IAAM,EAAA;AAChC,MAAA,OAAO,MAAM,IAAA;AAAA;AAEf,IAAA,OAAO,CAAC,QAAa,KAAA;AACnB,MAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AACrB,MAAA,MAAA,CAAO,MAAM,QAAQ,CAAA;AAAA,KACvB;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA;AACjB;;;;"}
|