@salt-ds/core 0.0.0-snapshot-20230419162206
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/README.md +1 -0
- package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js +31 -0
- package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnounce.js +22 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnounce.js.map +1 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerContext.js +12 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerContext.js.map +1 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerProvider.js +78 -0
- package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerProvider.js.map +1 -0
- package/dist-cjs/packages/core/src/aria-announcer/useAriaAnnouncer.js +67 -0
- package/dist-cjs/packages/core/src/aria-announcer/useAriaAnnouncer.js.map +1 -0
- package/dist-cjs/packages/core/src/avatar/Avatar.css.js +9 -0
- package/dist-cjs/packages/core/src/avatar/Avatar.css.js.map +1 -0
- package/dist-cjs/packages/core/src/avatar/Avatar.js +76 -0
- package/dist-cjs/packages/core/src/avatar/Avatar.js.map +1 -0
- package/dist-cjs/packages/core/src/avatar/useAvatarImage.js +39 -0
- package/dist-cjs/packages/core/src/avatar/useAvatarImage.js.map +1 -0
- package/dist-cjs/packages/core/src/border-item/BorderItem.css.js +9 -0
- package/dist-cjs/packages/core/src/border-item/BorderItem.css.js.map +1 -0
- package/dist-cjs/packages/core/src/border-item/BorderItem.js +64 -0
- package/dist-cjs/packages/core/src/border-item/BorderItem.js.map +1 -0
- package/dist-cjs/packages/core/src/border-layout/BorderLayout.js +56 -0
- package/dist-cjs/packages/core/src/border-layout/BorderLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/breakpoints/Breakpoints.js +15 -0
- package/dist-cjs/packages/core/src/breakpoints/Breakpoints.js.map +1 -0
- package/dist-cjs/packages/core/src/button/Button.css.js +9 -0
- package/dist-cjs/packages/core/src/button/Button.css.js.map +1 -0
- package/dist-cjs/packages/core/src/button/Button.js +70 -0
- package/dist-cjs/packages/core/src/button/Button.js.map +1 -0
- package/dist-cjs/packages/core/src/button/useButton.js +65 -0
- package/dist-cjs/packages/core/src/button/useButton.js.map +1 -0
- package/dist-cjs/packages/core/src/card/Card.css.js +9 -0
- package/dist-cjs/packages/core/src/card/Card.css.js.map +1 -0
- package/dist-cjs/packages/core/src/card/Card.js +45 -0
- package/dist-cjs/packages/core/src/card/Card.js.map +1 -0
- package/dist-cjs/packages/core/src/card/InteractableCard.css.js +9 -0
- package/dist-cjs/packages/core/src/card/InteractableCard.css.js.map +1 -0
- package/dist-cjs/packages/core/src/card/InteractableCard.js +57 -0
- package/dist-cjs/packages/core/src/card/InteractableCard.js.map +1 -0
- package/dist-cjs/packages/core/src/card/useInteractableCard.js +63 -0
- package/dist-cjs/packages/core/src/card/useInteractableCard.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js +9 -0
- package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/Checkbox.js +95 -0
- package/dist-cjs/packages/core/src/checkbox/Checkbox.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js +9 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js +62 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js +9 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js +48 -0
- package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +33 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +32 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +37 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +26 -0
- package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js +13 -0
- package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
- package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js +13 -0
- package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
- package/dist-cjs/packages/core/src/flex-item/FlexItem.css.js +9 -0
- package/dist-cjs/packages/core/src/flex-item/FlexItem.css.js.map +1 -0
- package/dist-cjs/packages/core/src/flex-item/FlexItem.js +64 -0
- package/dist-cjs/packages/core/src/flex-item/FlexItem.js.map +1 -0
- package/dist-cjs/packages/core/src/flex-layout/FlexLayout.css.js +9 -0
- package/dist-cjs/packages/core/src/flex-layout/FlexLayout.css.js.map +1 -0
- package/dist-cjs/packages/core/src/flex-layout/FlexLayout.js +83 -0
- package/dist-cjs/packages/core/src/flex-layout/FlexLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/flow-layout/FlowLayout.js +22 -0
- package/dist-cjs/packages/core/src/flow-layout/FlowLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/grid-item/GridItem.css.js +9 -0
- package/dist-cjs/packages/core/src/grid-item/GridItem.css.js.map +1 -0
- package/dist-cjs/packages/core/src/grid-item/GridItem.js +73 -0
- package/dist-cjs/packages/core/src/grid-item/GridItem.js.map +1 -0
- package/dist-cjs/packages/core/src/grid-layout/GridLayout.css.js +9 -0
- package/dist-cjs/packages/core/src/grid-layout/GridLayout.css.js.map +1 -0
- package/dist-cjs/packages/core/src/grid-layout/GridLayout.js +60 -0
- package/dist-cjs/packages/core/src/grid-layout/GridLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/index.js +156 -0
- package/dist-cjs/packages/core/src/index.js.map +1 -0
- package/dist-cjs/packages/core/src/link/Link.css.js +9 -0
- package/dist-cjs/packages/core/src/link/Link.css.js.map +1 -0
- package/dist-cjs/packages/core/src/link/Link.js +65 -0
- package/dist-cjs/packages/core/src/link/Link.js.map +1 -0
- package/dist-cjs/packages/core/src/panel/Panel.css.js +9 -0
- package/dist-cjs/packages/core/src/panel/Panel.css.js.map +1 -0
- package/dist-cjs/packages/core/src/panel/Panel.js +34 -0
- package/dist-cjs/packages/core/src/panel/Panel.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js +9 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButton.js +86 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButton.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js +9 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js +61 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js +9 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js +48 -0
- package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js +19 -0
- package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
- package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js +13 -0
- package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
- package/dist-cjs/packages/core/src/salt-provider/SaltProvider.css.js +9 -0
- package/dist-cjs/packages/core/src/salt-provider/SaltProvider.css.js.map +1 -0
- package/dist-cjs/packages/core/src/salt-provider/SaltProvider.js +166 -0
- package/dist-cjs/packages/core/src/salt-provider/SaltProvider.js.map +1 -0
- package/dist-cjs/packages/core/src/spinner/Spinner.css.js +9 -0
- package/dist-cjs/packages/core/src/spinner/Spinner.css.js.map +1 -0
- package/dist-cjs/packages/core/src/spinner/Spinner.js +89 -0
- package/dist-cjs/packages/core/src/spinner/Spinner.js.map +1 -0
- package/dist-cjs/packages/core/src/spinner/svgSpinners/SpinnerSVG.js +82 -0
- package/dist-cjs/packages/core/src/spinner/svgSpinners/SpinnerSVG.js.map +1 -0
- package/dist-cjs/packages/core/src/split-layout/SplitLayout.js +25 -0
- package/dist-cjs/packages/core/src/split-layout/SplitLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/stack-layout/StackLayout.css.js +9 -0
- package/dist-cjs/packages/core/src/stack-layout/StackLayout.css.js.map +1 -0
- package/dist-cjs/packages/core/src/stack-layout/StackLayout.js +63 -0
- package/dist-cjs/packages/core/src/stack-layout/StackLayout.js.map +1 -0
- package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.css.js +9 -0
- package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.css.js.map +1 -0
- package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.js +52 -0
- package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.js.map +1 -0
- package/dist-cjs/packages/core/src/status-indicator/ValidationStatus.js +13 -0
- package/dist-cjs/packages/core/src/status-indicator/ValidationStatus.js.map +1 -0
- package/dist-cjs/packages/core/src/text/Display.js +47 -0
- package/dist-cjs/packages/core/src/text/Display.js.map +1 -0
- package/dist-cjs/packages/core/src/text/Headings.js +54 -0
- package/dist-cjs/packages/core/src/text/Headings.js.map +1 -0
- package/dist-cjs/packages/core/src/text/Label.js +19 -0
- package/dist-cjs/packages/core/src/text/Label.js.map +1 -0
- package/dist-cjs/packages/core/src/text/Text.css.js +9 -0
- package/dist-cjs/packages/core/src/text/Text.css.js.map +1 -0
- package/dist-cjs/packages/core/src/text/Text.js +58 -0
- package/dist-cjs/packages/core/src/text/Text.js.map +1 -0
- package/dist-cjs/packages/core/src/theme/Density.js +8 -0
- package/dist-cjs/packages/core/src/theme/Density.js.map +1 -0
- package/dist-cjs/packages/core/src/theme/Mode.js +8 -0
- package/dist-cjs/packages/core/src/theme/Mode.js.map +1 -0
- package/dist-cjs/packages/core/src/theme/Theme.js +19 -0
- package/dist-cjs/packages/core/src/theme/Theme.js.map +1 -0
- package/dist-cjs/packages/core/src/tooltip/Tooltip.css.js +9 -0
- package/dist-cjs/packages/core/src/tooltip/Tooltip.css.js.map +1 -0
- package/dist-cjs/packages/core/src/tooltip/Tooltip.js +115 -0
- package/dist-cjs/packages/core/src/tooltip/Tooltip.js.map +1 -0
- package/dist-cjs/packages/core/src/tooltip/useAriaAnnounce.js +95 -0
- package/dist-cjs/packages/core/src/tooltip/useAriaAnnounce.js.map +1 -0
- package/dist-cjs/packages/core/src/tooltip/useTooltip.js +109 -0
- package/dist-cjs/packages/core/src/tooltip/useTooltip.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/capitalize.js +10 -0
- package/dist-cjs/packages/core/src/utils/capitalize.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/createChainedFunction.js +22 -0
- package/dist-cjs/packages/core/src/utils/createChainedFunction.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/createContext.js +16 -0
- package/dist-cjs/packages/core/src/utils/createContext.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/debounce.js +24 -0
- package/dist-cjs/packages/core/src/utils/debounce.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/makePrefixer.js +8 -0
- package/dist-cjs/packages/core/src/utils/makePrefixer.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/marginMiddleware.js +22 -0
- package/dist-cjs/packages/core/src/utils/marginMiddleware.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/mergeProps.js +25 -0
- package/dist-cjs/packages/core/src/utils/mergeProps.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/ownerDocument.js +10 -0
- package/dist-cjs/packages/core/src/utils/ownerDocument.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/ownerWindow.js +13 -0
- package/dist-cjs/packages/core/src/utils/ownerWindow.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/setRef.js +14 -0
- package/dist-cjs/packages/core/src/utils/setRef.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useControlled.js +60 -0
- package/dist-cjs/packages/core/src/utils/useControlled.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useFloatingUI.js +38 -0
- package/dist-cjs/packages/core/src/utils/useFloatingUI.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useForkRef.js +21 -0
- package/dist-cjs/packages/core/src/utils/useForkRef.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useId.js +55 -0
- package/dist-cjs/packages/core/src/utils/useId.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useIsFocusVisible.js +108 -0
- package/dist-cjs/packages/core/src/utils/useIsFocusVisible.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useIsomorphicLayoutEffect.js +10 -0
- package/dist-cjs/packages/core/src/utils/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/usePrevious.js +16 -0
- package/dist-cjs/packages/core/src/utils/usePrevious.js.map +1 -0
- package/dist-cjs/packages/core/src/utils/useResponsiveProp.js +71 -0
- package/dist-cjs/packages/core/src/utils/useResponsiveProp.js.map +1 -0
- package/dist-cjs/packages/core/src/viewport/ViewportProvider.js +48 -0
- package/dist-cjs/packages/core/src/viewport/ViewportProvider.js.map +1 -0
- package/dist-es/node_modules/style-inject/dist/style-inject.es.js +29 -0
- package/dist-es/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnounce.js +18 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnounce.js.map +1 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerContext.js +8 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerContext.js.map +1 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerProvider.js +73 -0
- package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerProvider.js.map +1 -0
- package/dist-es/packages/core/src/aria-announcer/useAriaAnnouncer.js +63 -0
- package/dist-es/packages/core/src/aria-announcer/useAriaAnnouncer.js.map +1 -0
- package/dist-es/packages/core/src/avatar/Avatar.css.js +7 -0
- package/dist-es/packages/core/src/avatar/Avatar.css.js.map +1 -0
- package/dist-es/packages/core/src/avatar/Avatar.js +72 -0
- package/dist-es/packages/core/src/avatar/Avatar.js.map +1 -0
- package/dist-es/packages/core/src/avatar/useAvatarImage.js +35 -0
- package/dist-es/packages/core/src/avatar/useAvatarImage.js.map +1 -0
- package/dist-es/packages/core/src/border-item/BorderItem.css.js +7 -0
- package/dist-es/packages/core/src/border-item/BorderItem.css.js.map +1 -0
- package/dist-es/packages/core/src/border-item/BorderItem.js +59 -0
- package/dist-es/packages/core/src/border-item/BorderItem.js.map +1 -0
- package/dist-es/packages/core/src/border-layout/BorderLayout.js +52 -0
- package/dist-es/packages/core/src/border-layout/BorderLayout.js.map +1 -0
- package/dist-es/packages/core/src/breakpoints/Breakpoints.js +11 -0
- package/dist-es/packages/core/src/breakpoints/Breakpoints.js.map +1 -0
- package/dist-es/packages/core/src/button/Button.css.js +7 -0
- package/dist-es/packages/core/src/button/Button.css.js.map +1 -0
- package/dist-es/packages/core/src/button/Button.js +65 -0
- package/dist-es/packages/core/src/button/Button.js.map +1 -0
- package/dist-es/packages/core/src/button/useButton.js +61 -0
- package/dist-es/packages/core/src/button/useButton.js.map +1 -0
- package/dist-es/packages/core/src/card/Card.css.js +7 -0
- package/dist-es/packages/core/src/card/Card.css.js.map +1 -0
- package/dist-es/packages/core/src/card/Card.js +41 -0
- package/dist-es/packages/core/src/card/Card.js.map +1 -0
- package/dist-es/packages/core/src/card/InteractableCard.css.js +7 -0
- package/dist-es/packages/core/src/card/InteractableCard.css.js.map +1 -0
- package/dist-es/packages/core/src/card/InteractableCard.js +53 -0
- package/dist-es/packages/core/src/card/InteractableCard.js.map +1 -0
- package/dist-es/packages/core/src/card/useInteractableCard.js +59 -0
- package/dist-es/packages/core/src/card/useInteractableCard.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/Checkbox.css.js +7 -0
- package/dist-es/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/Checkbox.js +91 -0
- package/dist-es/packages/core/src/checkbox/Checkbox.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js +7 -0
- package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/CheckboxGroup.js +58 -0
- package/dist-es/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js +7 -0
- package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/CheckboxIcon.js +44 -0
- package/dist-es/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +29 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +28 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +33 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +22 -0
- package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js +9 -0
- package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
- package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js +9 -0
- package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
- package/dist-es/packages/core/src/flex-item/FlexItem.css.js +7 -0
- package/dist-es/packages/core/src/flex-item/FlexItem.css.js.map +1 -0
- package/dist-es/packages/core/src/flex-item/FlexItem.js +59 -0
- package/dist-es/packages/core/src/flex-item/FlexItem.js.map +1 -0
- package/dist-es/packages/core/src/flex-layout/FlexLayout.css.js +7 -0
- package/dist-es/packages/core/src/flex-layout/FlexLayout.css.js.map +1 -0
- package/dist-es/packages/core/src/flex-layout/FlexLayout.js +77 -0
- package/dist-es/packages/core/src/flex-layout/FlexLayout.js.map +1 -0
- package/dist-es/packages/core/src/flow-layout/FlowLayout.js +18 -0
- package/dist-es/packages/core/src/flow-layout/FlowLayout.js.map +1 -0
- package/dist-es/packages/core/src/grid-item/GridItem.css.js +7 -0
- package/dist-es/packages/core/src/grid-item/GridItem.css.js.map +1 -0
- package/dist-es/packages/core/src/grid-item/GridItem.js +68 -0
- package/dist-es/packages/core/src/grid-item/GridItem.js.map +1 -0
- package/dist-es/packages/core/src/grid-layout/GridLayout.css.js +7 -0
- package/dist-es/packages/core/src/grid-layout/GridLayout.css.js.map +1 -0
- package/dist-es/packages/core/src/grid-layout/GridLayout.js +56 -0
- package/dist-es/packages/core/src/grid-layout/GridLayout.js.map +1 -0
- package/dist-es/packages/core/src/index.js +61 -0
- package/dist-es/packages/core/src/index.js.map +1 -0
- package/dist-es/packages/core/src/link/Link.css.js +7 -0
- package/dist-es/packages/core/src/link/Link.css.js.map +1 -0
- package/dist-es/packages/core/src/link/Link.js +61 -0
- package/dist-es/packages/core/src/link/Link.js.map +1 -0
- package/dist-es/packages/core/src/panel/Panel.css.js +7 -0
- package/dist-es/packages/core/src/panel/Panel.css.js.map +1 -0
- package/dist-es/packages/core/src/panel/Panel.js +30 -0
- package/dist-es/packages/core/src/panel/Panel.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButton.css.js +7 -0
- package/dist-es/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButton.js +82 -0
- package/dist-es/packages/core/src/radio-button/RadioButton.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js +7 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js +57 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js +7 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js +44 -0
- package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js +15 -0
- package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
- package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js +9 -0
- package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
- package/dist-es/packages/core/src/salt-provider/SaltProvider.css.js +7 -0
- package/dist-es/packages/core/src/salt-provider/SaltProvider.css.js.map +1 -0
- package/dist-es/packages/core/src/salt-provider/SaltProvider.js +151 -0
- package/dist-es/packages/core/src/salt-provider/SaltProvider.js.map +1 -0
- package/dist-es/packages/core/src/spinner/Spinner.css.js +7 -0
- package/dist-es/packages/core/src/spinner/Spinner.css.js.map +1 -0
- package/dist-es/packages/core/src/spinner/Spinner.js +84 -0
- package/dist-es/packages/core/src/spinner/Spinner.js.map +1 -0
- package/dist-es/packages/core/src/spinner/svgSpinners/SpinnerSVG.js +78 -0
- package/dist-es/packages/core/src/spinner/svgSpinners/SpinnerSVG.js.map +1 -0
- package/dist-es/packages/core/src/split-layout/SplitLayout.js +21 -0
- package/dist-es/packages/core/src/split-layout/SplitLayout.js.map +1 -0
- package/dist-es/packages/core/src/stack-layout/StackLayout.css.js +7 -0
- package/dist-es/packages/core/src/stack-layout/StackLayout.css.js.map +1 -0
- package/dist-es/packages/core/src/stack-layout/StackLayout.js +59 -0
- package/dist-es/packages/core/src/stack-layout/StackLayout.js.map +1 -0
- package/dist-es/packages/core/src/status-indicator/StatusIndicator.css.js +7 -0
- package/dist-es/packages/core/src/status-indicator/StatusIndicator.css.js.map +1 -0
- package/dist-es/packages/core/src/status-indicator/StatusIndicator.js +48 -0
- package/dist-es/packages/core/src/status-indicator/StatusIndicator.js.map +1 -0
- package/dist-es/packages/core/src/status-indicator/ValidationStatus.js +9 -0
- package/dist-es/packages/core/src/status-indicator/ValidationStatus.js.map +1 -0
- package/dist-es/packages/core/src/text/Display.js +41 -0
- package/dist-es/packages/core/src/text/Display.js.map +1 -0
- package/dist-es/packages/core/src/text/Headings.js +47 -0
- package/dist-es/packages/core/src/text/Headings.js.map +1 -0
- package/dist-es/packages/core/src/text/Label.js +15 -0
- package/dist-es/packages/core/src/text/Label.js.map +1 -0
- package/dist-es/packages/core/src/text/Text.css.js +7 -0
- package/dist-es/packages/core/src/text/Text.css.js.map +1 -0
- package/dist-es/packages/core/src/text/Text.js +54 -0
- package/dist-es/packages/core/src/text/Text.js.map +1 -0
- package/dist-es/packages/core/src/theme/Density.js +4 -0
- package/dist-es/packages/core/src/theme/Density.js.map +1 -0
- package/dist-es/packages/core/src/theme/Mode.js +4 -0
- package/dist-es/packages/core/src/theme/Mode.js.map +1 -0
- package/dist-es/packages/core/src/theme/Theme.js +15 -0
- package/dist-es/packages/core/src/theme/Theme.js.map +1 -0
- package/dist-es/packages/core/src/tooltip/Tooltip.css.js +7 -0
- package/dist-es/packages/core/src/tooltip/Tooltip.css.js.map +1 -0
- package/dist-es/packages/core/src/tooltip/Tooltip.js +111 -0
- package/dist-es/packages/core/src/tooltip/Tooltip.js.map +1 -0
- package/dist-es/packages/core/src/tooltip/useAriaAnnounce.js +91 -0
- package/dist-es/packages/core/src/tooltip/useAriaAnnounce.js.map +1 -0
- package/dist-es/packages/core/src/tooltip/useTooltip.js +105 -0
- package/dist-es/packages/core/src/tooltip/useTooltip.js.map +1 -0
- package/dist-es/packages/core/src/utils/capitalize.js +6 -0
- package/dist-es/packages/core/src/utils/capitalize.js.map +1 -0
- package/dist-es/packages/core/src/utils/createChainedFunction.js +18 -0
- package/dist-es/packages/core/src/utils/createChainedFunction.js.map +1 -0
- package/dist-es/packages/core/src/utils/createContext.js +12 -0
- package/dist-es/packages/core/src/utils/createContext.js.map +1 -0
- package/dist-es/packages/core/src/utils/debounce.js +20 -0
- package/dist-es/packages/core/src/utils/debounce.js.map +1 -0
- package/dist-es/packages/core/src/utils/makePrefixer.js +4 -0
- package/dist-es/packages/core/src/utils/makePrefixer.js.map +1 -0
- package/dist-es/packages/core/src/utils/marginMiddleware.js +18 -0
- package/dist-es/packages/core/src/utils/marginMiddleware.js.map +1 -0
- package/dist-es/packages/core/src/utils/mergeProps.js +21 -0
- package/dist-es/packages/core/src/utils/mergeProps.js.map +1 -0
- package/dist-es/packages/core/src/utils/ownerDocument.js +6 -0
- package/dist-es/packages/core/src/utils/ownerDocument.js.map +1 -0
- package/dist-es/packages/core/src/utils/ownerWindow.js +9 -0
- package/dist-es/packages/core/src/utils/ownerWindow.js.map +1 -0
- package/dist-es/packages/core/src/utils/setRef.js +10 -0
- package/dist-es/packages/core/src/utils/setRef.js.map +1 -0
- package/dist-es/packages/core/src/utils/useControlled.js +56 -0
- package/dist-es/packages/core/src/utils/useControlled.js.map +1 -0
- package/dist-es/packages/core/src/utils/useFloatingUI.js +33 -0
- package/dist-es/packages/core/src/utils/useFloatingUI.js.map +1 -0
- package/dist-es/packages/core/src/utils/useForkRef.js +17 -0
- package/dist-es/packages/core/src/utils/useForkRef.js.map +1 -0
- package/dist-es/packages/core/src/utils/useId.js +30 -0
- package/dist-es/packages/core/src/utils/useId.js.map +1 -0
- package/dist-es/packages/core/src/utils/useIsFocusVisible.js +103 -0
- package/dist-es/packages/core/src/utils/useIsFocusVisible.js.map +1 -0
- package/dist-es/packages/core/src/utils/useIsomorphicLayoutEffect.js +6 -0
- package/dist-es/packages/core/src/utils/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist-es/packages/core/src/utils/usePrevious.js +12 -0
- package/dist-es/packages/core/src/utils/usePrevious.js.map +1 -0
- package/dist-es/packages/core/src/utils/useResponsiveProp.js +64 -0
- package/dist-es/packages/core/src/utils/useResponsiveProp.js.map +1 -0
- package/dist-es/packages/core/src/viewport/ViewportProvider.js +42 -0
- package/dist-es/packages/core/src/viewport/ViewportProvider.js.map +1 -0
- package/dist-types/aria-announcer/AriaAnnounce.d.ts +8 -0
- package/dist-types/aria-announcer/AriaAnnouncerContext.d.ts +6 -0
- package/dist-types/aria-announcer/AriaAnnouncerProvider.d.ts +10 -0
- package/dist-types/aria-announcer/index.d.ts +4 -0
- package/dist-types/aria-announcer/useAriaAnnouncer.d.ts +6 -0
- package/dist-types/avatar/Avatar.d.ts +26 -0
- package/dist-types/avatar/index.d.ts +2 -0
- package/dist-types/avatar/useAvatarImage.d.ts +2 -0
- package/dist-types/border-item/BorderItem.d.ts +26 -0
- package/dist-types/border-item/index.d.ts +1 -0
- package/dist-types/border-layout/BorderLayout.d.ts +25 -0
- package/dist-types/border-layout/index.d.ts +1 -0
- package/dist-types/breakpoints/Breakpoints.d.ts +8 -0
- package/dist-types/breakpoints/index.d.ts +1 -0
- package/dist-types/button/Button.d.ts +19 -0
- package/dist-types/button/index.d.ts +2 -0
- package/dist-types/button/useButton.d.ts +22 -0
- package/dist-types/card/Card.d.ts +17 -0
- package/dist-types/card/InteractableCard.d.ts +14 -0
- package/dist-types/card/index.d.ts +2 -0
- package/dist-types/card/useInteractableCard.d.ts +21 -0
- package/dist-types/checkbox/Checkbox.d.ts +56 -0
- package/dist-types/checkbox/CheckboxGroup.d.ts +30 -0
- package/dist-types/checkbox/CheckboxIcon.d.ts +10 -0
- package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +4 -0
- package/dist-types/checkbox/assets/CheckboxCheckedIconHD.d.ts +4 -0
- package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +4 -0
- package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +4 -0
- package/dist-types/checkbox/assets/index.d.ts +4 -0
- package/dist-types/checkbox/index.d.ts +3 -0
- package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +9 -0
- package/dist-types/checkbox/internal/useCheckboxGroup.d.ts +2 -0
- package/dist-types/flex-item/FlexItem.d.ts +25 -0
- package/dist-types/flex-item/index.d.ts +1 -0
- package/dist-types/flex-layout/FlexLayout.d.ts +39 -0
- package/dist-types/flex-layout/index.d.ts +1 -0
- package/dist-types/flow-layout/FlowLayout.d.ts +20 -0
- package/dist-types/flow-layout/index.d.ts +1 -0
- package/dist-types/grid-item/GridItem.d.ts +26 -0
- package/dist-types/grid-item/index.d.ts +1 -0
- package/dist-types/grid-layout/GridLayout.d.ts +27 -0
- package/dist-types/grid-layout/index.d.ts +1 -0
- package/dist-types/index.d.ts +26 -0
- package/dist-types/link/Link.d.ts +13 -0
- package/dist-types/link/index.d.ts +1 -0
- package/dist-types/panel/Panel.d.ts +19 -0
- package/dist-types/panel/index.d.ts +1 -0
- package/dist-types/radio-button/RadioButton.d.ts +45 -0
- package/dist-types/radio-button/RadioButtonGroup.d.ts +29 -0
- package/dist-types/radio-button/RadioButtonIcon.d.ts +11 -0
- package/dist-types/radio-button/index.d.ts +3 -0
- package/dist-types/radio-button/internal/RadioGroupContext.d.ts +7 -0
- package/dist-types/radio-button/internal/useRadioGroup.d.ts +1 -0
- package/dist-types/salt-provider/SaltProvider.d.ts +38 -0
- package/dist-types/salt-provider/index.d.ts +1 -0
- package/dist-types/spinner/Spinner.d.ts +44 -0
- package/dist-types/spinner/index.d.ts +1 -0
- package/dist-types/spinner/svgSpinners/SpinnerSVG.d.ts +5 -0
- package/dist-types/split-layout/SplitLayout.d.ts +28 -0
- package/dist-types/split-layout/index.d.ts +1 -0
- package/dist-types/stack-layout/StackLayout.d.ts +24 -0
- package/dist-types/stack-layout/index.d.ts +1 -0
- package/dist-types/status-indicator/StatusIndicator.d.ts +10 -0
- package/dist-types/status-indicator/ValidationStatus.d.ts +2 -0
- package/dist-types/status-indicator/index.d.ts +2 -0
- package/dist-types/text/Display.d.ts +5 -0
- package/dist-types/text/Headings.d.ts +6 -0
- package/dist-types/text/Label.d.ts +3 -0
- package/dist-types/text/Text.d.ts +23 -0
- package/dist-types/text/index.d.ts +4 -0
- package/dist-types/theme/Density.d.ts +2 -0
- package/dist-types/theme/Mode.d.ts +2 -0
- package/dist-types/theme/Theme.d.ts +3 -0
- package/dist-types/theme/index.d.ts +3 -0
- package/dist-types/tooltip/Tooltip.d.ts +46 -0
- package/dist-types/tooltip/index.d.ts +2 -0
- package/dist-types/tooltip/useAriaAnnounce.d.ts +9 -0
- package/dist-types/tooltip/useTooltip.d.ts +56 -0
- package/dist-types/utils/capitalize.d.ts +1 -0
- package/dist-types/utils/createChainedFunction.d.ts +3 -0
- package/dist-types/utils/createContext.d.ts +2 -0
- package/dist-types/utils/debounce.d.ts +4 -0
- package/dist-types/utils/index.d.ts +20 -0
- package/dist-types/utils/inferElementType.d.ts +2 -0
- package/dist-types/utils/makePrefixer.d.ts +2 -0
- package/dist-types/utils/marginMiddleware.d.ts +2 -0
- package/dist-types/utils/mergeProps.d.ts +12 -0
- package/dist-types/utils/ownerDocument.d.ts +1 -0
- package/dist-types/utils/ownerWindow.d.ts +1 -0
- package/dist-types/utils/polymorphicTypes.d.ts +14 -0
- package/dist-types/utils/setRef.d.ts +2 -0
- package/dist-types/utils/useControlled.d.ts +24 -0
- package/dist-types/utils/useFloatingUI.d.ts +34 -0
- package/dist-types/utils/useForkRef.d.ts +2 -0
- package/dist-types/utils/useId.d.ts +2 -0
- package/dist-types/utils/useIsFocusVisible.d.ts +8 -0
- package/dist-types/utils/useIsomorphicLayoutEffect.d.ts +2 -0
- package/dist-types/utils/usePrevious.d.ts +2 -0
- package/dist-types/utils/useResponsiveProp.d.ts +10 -0
- package/dist-types/viewport/ViewportProvider.d.ts +8 -0
- package/dist-types/viewport/index.d.ts +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
require('react');
|
|
7
|
+
var makePrefixer = require('../utils/makePrefixer.js');
|
|
8
|
+
require('../utils/useFloatingUI.js');
|
|
9
|
+
require('../utils/useId.js');
|
|
10
|
+
require('../salt-provider/SaltProvider.js');
|
|
11
|
+
require('../viewport/ViewportProvider.js');
|
|
12
|
+
var clsx = require('clsx');
|
|
13
|
+
require('./RadioButtonIcon.css.js');
|
|
14
|
+
|
|
15
|
+
const withBaseName = makePrefixer.makePrefixer("saltRadioButtonIcon");
|
|
16
|
+
const RadioButtonIcon = ({
|
|
17
|
+
checked,
|
|
18
|
+
error,
|
|
19
|
+
disabled
|
|
20
|
+
}) => {
|
|
21
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
|
|
22
|
+
className: clsx.clsx(withBaseName(), {
|
|
23
|
+
[withBaseName("checked")]: checked,
|
|
24
|
+
[withBaseName("error")]: error,
|
|
25
|
+
[withBaseName("disabled")]: disabled
|
|
26
|
+
}),
|
|
27
|
+
height: "14",
|
|
28
|
+
viewBox: "0 0 14 14",
|
|
29
|
+
width: "14",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", {
|
|
32
|
+
className: withBaseName("circle"),
|
|
33
|
+
cx: "7",
|
|
34
|
+
cy: "7",
|
|
35
|
+
r: "6.5"
|
|
36
|
+
}),
|
|
37
|
+
checked && /* @__PURE__ */ jsxRuntime.jsx("circle", {
|
|
38
|
+
className: withBaseName("checked-circle"),
|
|
39
|
+
cx: "7",
|
|
40
|
+
cy: "7",
|
|
41
|
+
r: "3.2"
|
|
42
|
+
})
|
|
43
|
+
]
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.RadioButtonIcon = RadioButtonIcon;
|
|
48
|
+
//# sourceMappingURL=RadioButtonIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport \"./RadioButtonIcon.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps {\n checked?: boolean;\n error?: boolean;\n disabled?: boolean;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({\n checked,\n error,\n disabled,\n}: RadioButtonIconProps) => {\n return (\n <svg\n className={clsx(withBaseName(), {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"error\")]: error,\n [withBaseName(\"disabled\")]: disabled,\n })}\n height=\"14\"\n viewBox=\"0 0 14 14\"\n width=\"14\"\n >\n <circle className={withBaseName(\"circle\")} cx=\"7\" cy=\"7\" r=\"6.5\" />\n {checked && (\n <circle\n className={withBaseName(\"checked-circle\")}\n cx=\"7\"\n cy=\"7\"\n r=\"3.2\"\n />\n )}\n </svg>\n );\n};\n"],"names":["makePrefixer","jsxs","clsx","jsx"],"mappings":";;;;;;;;;;;;;;AAIA,MAAM,YAAA,GAAeA,0BAAa,qBAAqB,CAAA,CAAA;AAWhD,MAAM,kBAAkB,CAAC;AAAA,EAC9B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AACF,CAA4B,KAAA;AAC1B,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,MAC3B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,MACzB,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,KAC7B,CAAA;AAAA,IACD,MAAO,EAAA,IAAA;AAAA,IACP,OAAQ,EAAA,WAAA;AAAA,IACR,KAAM,EAAA,IAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,QAAA,EAAA;AAAA,QAAO,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,QAAG,EAAG,EAAA,GAAA;AAAA,QAAI,EAAG,EAAA,GAAA;AAAA,QAAI,CAAE,EAAA,KAAA;AAAA,OAAM,CAAA;AAAA,MAChE,2BACEA,cAAA,CAAA,QAAA,EAAA;AAAA,QACC,SAAA,EAAW,aAAa,gBAAgB,CAAA;AAAA,QACxC,EAAG,EAAA,GAAA;AAAA,QACH,EAAG,EAAA,GAAA;AAAA,QACH,CAAE,EAAA,KAAA;AAAA,OACJ,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var createContext = require('../../utils/createContext.js');
|
|
6
|
+
require('react');
|
|
7
|
+
require('../../utils/useFloatingUI.js');
|
|
8
|
+
require('../../utils/useId.js');
|
|
9
|
+
require('../../salt-provider/SaltProvider.js');
|
|
10
|
+
require('../../viewport/ViewportProvider.js');
|
|
11
|
+
require('clsx');
|
|
12
|
+
|
|
13
|
+
const RadioGroupContext = createContext.createContext(
|
|
14
|
+
"RadioGroupContext",
|
|
15
|
+
{}
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
exports.RadioGroupContext = RadioGroupContext;
|
|
19
|
+
//# sourceMappingURL=RadioGroupContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { createContext } from \"../../utils\";\n\nexport interface RadioGroupContextValue {\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue>(\n \"RadioGroupContext\",\n {}\n);\n"],"names":["createContext"],"mappings":";;;;;;;;;;;;AASO,MAAM,iBAAoB,GAAAA,2BAAA;AAAA,EAC/B,mBAAA;AAAA,EACA,EAAC;AACH;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var RadioGroupContext = require('./RadioGroupContext.js');
|
|
7
|
+
|
|
8
|
+
function useRadioGroup() {
|
|
9
|
+
return React.useContext(RadioGroupContext.RadioGroupContext);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
exports.useRadioGroup = useRadioGroup;
|
|
13
|
+
//# sourceMappingURL=useRadioGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRadioGroup.js","sources":["../src/radio-button/internal/useRadioGroup.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { RadioGroupContext } from \"./RadioGroupContext\";\n\nexport function useRadioGroup() {\n return useContext(RadioGroupContext);\n}\n"],"names":["useContext","RadioGroupContext"],"mappings":";;;;;;;AAGO,SAAS,aAAgB,GAAA;AAC9B,EAAA,OAAOA,iBAAWC,mCAAiB,CAAA,CAAA;AACrC;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
|
+
|
|
5
|
+
var css_248z = ".salt-provider {\n display: contents;\n}\n";
|
|
6
|
+
styleInject_es(css_248z);
|
|
7
|
+
|
|
8
|
+
module.exports = css_248z;
|
|
9
|
+
//# sourceMappingURL=SaltProvider.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaltProvider.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
require('../aria-announcer/AriaAnnouncerContext.js');
|
|
9
|
+
require('../utils/useFloatingUI.js');
|
|
10
|
+
require('../utils/useId.js');
|
|
11
|
+
var useIsomorphicLayoutEffect = require('../utils/useIsomorphicLayoutEffect.js');
|
|
12
|
+
var ViewportProvider = require('../viewport/ViewportProvider.js');
|
|
13
|
+
var AriaAnnouncerProvider = require('../aria-announcer/AriaAnnouncerProvider.js');
|
|
14
|
+
var Breakpoints = require('../breakpoints/Breakpoints.js');
|
|
15
|
+
var SaltProvider$1 = require('./SaltProvider.css.js');
|
|
16
|
+
var window = require('@salt-ds/window');
|
|
17
|
+
var styles = require('@salt-ds/styles');
|
|
18
|
+
|
|
19
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
+
|
|
21
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
|
+
|
|
23
|
+
const DEFAULT_DENSITY = "medium";
|
|
24
|
+
const DEFAULT_THEME_NAME = "salt-theme";
|
|
25
|
+
const DEFAULT_MODE = "light";
|
|
26
|
+
const DensityContext = React.createContext(DEFAULT_DENSITY);
|
|
27
|
+
const ThemeContext = React.createContext({
|
|
28
|
+
theme: "",
|
|
29
|
+
mode: DEFAULT_MODE
|
|
30
|
+
});
|
|
31
|
+
const BreakpointContext = React.createContext(Breakpoints.DEFAULT_BREAKPOINTS);
|
|
32
|
+
const createThemedChildren = (children, themeName, density, mode, applyClassesTo) => {
|
|
33
|
+
var _a;
|
|
34
|
+
const themeNames = themeName === DEFAULT_THEME_NAME ? [DEFAULT_THEME_NAME] : [DEFAULT_THEME_NAME, themeName];
|
|
35
|
+
if (applyClassesTo === "root") {
|
|
36
|
+
return children;
|
|
37
|
+
} else if (applyClassesTo === "child") {
|
|
38
|
+
if (React__default["default"].isValidElement(children)) {
|
|
39
|
+
return React__default["default"].cloneElement(children, {
|
|
40
|
+
className: clsx.clsx(
|
|
41
|
+
(_a = children.props) == null ? void 0 : _a.className,
|
|
42
|
+
...themeNames,
|
|
43
|
+
`salt-density-${density}`
|
|
44
|
+
),
|
|
45
|
+
"data-mode": mode
|
|
46
|
+
});
|
|
47
|
+
} else {
|
|
48
|
+
console.warn(
|
|
49
|
+
`
|
|
50
|
+
SaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.
|
|
51
|
+
Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a
|
|
52
|
+
div element will wrap your child elements`
|
|
53
|
+
);
|
|
54
|
+
return children;
|
|
55
|
+
}
|
|
56
|
+
} else {
|
|
57
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
58
|
+
className: clsx.clsx(
|
|
59
|
+
`salt-provider`,
|
|
60
|
+
...themeNames,
|
|
61
|
+
`salt-density-${density}`
|
|
62
|
+
),
|
|
63
|
+
"data-mode": mode,
|
|
64
|
+
children
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
function SaltProvider({
|
|
69
|
+
applyClassesTo: applyClassesToProp,
|
|
70
|
+
children,
|
|
71
|
+
density: densityProp,
|
|
72
|
+
theme: themeProp,
|
|
73
|
+
mode: modeProp,
|
|
74
|
+
breakpoints: breakpointsProp
|
|
75
|
+
}) {
|
|
76
|
+
var _a;
|
|
77
|
+
const inheritedDensity = React.useContext(DensityContext);
|
|
78
|
+
const { theme: inheritedThemes, mode: inheritedMode } = useTheme();
|
|
79
|
+
const isRoot = inheritedThemes === void 0 || inheritedThemes === "";
|
|
80
|
+
const density = (_a = densityProp != null ? densityProp : inheritedDensity) != null ? _a : DEFAULT_DENSITY;
|
|
81
|
+
const themeName = themeProp != null ? themeProp : inheritedThemes === "" ? DEFAULT_THEME_NAME : inheritedThemes;
|
|
82
|
+
const mode = modeProp != null ? modeProp : inheritedMode;
|
|
83
|
+
const breakpoints = breakpointsProp != null ? breakpointsProp : Breakpoints.DEFAULT_BREAKPOINTS;
|
|
84
|
+
const applyClassesTo = applyClassesToProp != null ? applyClassesToProp : isRoot ? "root" : "scope";
|
|
85
|
+
const themeContextValue = React.useMemo(
|
|
86
|
+
() => ({ theme: themeName, mode }),
|
|
87
|
+
[themeName, mode]
|
|
88
|
+
);
|
|
89
|
+
const themedChildren = createThemedChildren(
|
|
90
|
+
children,
|
|
91
|
+
themeName,
|
|
92
|
+
density,
|
|
93
|
+
mode,
|
|
94
|
+
applyClassesTo
|
|
95
|
+
);
|
|
96
|
+
const { window: targetWindow } = window.useWindow();
|
|
97
|
+
styles.useComponentCssInjection({
|
|
98
|
+
id: "salt-provider",
|
|
99
|
+
css: SaltProvider$1,
|
|
100
|
+
window: targetWindow
|
|
101
|
+
});
|
|
102
|
+
useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
|
|
103
|
+
const themeNames = themeName === DEFAULT_THEME_NAME ? [DEFAULT_THEME_NAME] : [DEFAULT_THEME_NAME, themeName];
|
|
104
|
+
if (applyClassesTo === "root") {
|
|
105
|
+
if (isRoot) {
|
|
106
|
+
targetWindow.document.documentElement.classList.add(
|
|
107
|
+
...themeNames,
|
|
108
|
+
`salt-density-${density}`
|
|
109
|
+
);
|
|
110
|
+
targetWindow.document.documentElement.dataset.mode = mode;
|
|
111
|
+
} else {
|
|
112
|
+
console.warn(
|
|
113
|
+
"\nSaltProvider can only apply CSS classes to the root if it is the root level SaltProvider."
|
|
114
|
+
);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return () => {
|
|
118
|
+
if (applyClassesTo === "root") {
|
|
119
|
+
targetWindow.document.documentElement.classList.remove(
|
|
120
|
+
...themeNames,
|
|
121
|
+
`salt-density-${density}`
|
|
122
|
+
);
|
|
123
|
+
targetWindow.document.documentElement.dataset.mode = void 0;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}, [applyClassesTo, density, isRoot, mode, themeName]);
|
|
127
|
+
const saltProvider = /* @__PURE__ */ jsxRuntime.jsx(DensityContext.Provider, {
|
|
128
|
+
value: density,
|
|
129
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, {
|
|
130
|
+
value: themeContextValue,
|
|
131
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(BreakpointContext.Provider, {
|
|
132
|
+
value: breakpoints,
|
|
133
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ViewportProvider.ViewportProvider, {
|
|
134
|
+
children: themedChildren
|
|
135
|
+
})
|
|
136
|
+
})
|
|
137
|
+
})
|
|
138
|
+
});
|
|
139
|
+
if (isRoot) {
|
|
140
|
+
return /* @__PURE__ */ jsxRuntime.jsx(AriaAnnouncerProvider.AriaAnnouncerProvider, {
|
|
141
|
+
children: saltProvider
|
|
142
|
+
});
|
|
143
|
+
} else {
|
|
144
|
+
return saltProvider;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const useTheme = () => {
|
|
148
|
+
return React.useContext(ThemeContext);
|
|
149
|
+
};
|
|
150
|
+
function useDensity(density) {
|
|
151
|
+
const densityFromContext = React.useContext(DensityContext);
|
|
152
|
+
return density || densityFromContext || DEFAULT_DENSITY;
|
|
153
|
+
}
|
|
154
|
+
const useBreakpoints = () => {
|
|
155
|
+
return React.useContext(BreakpointContext);
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
exports.BreakpointContext = BreakpointContext;
|
|
159
|
+
exports.DEFAULT_DENSITY = DEFAULT_DENSITY;
|
|
160
|
+
exports.DensityContext = DensityContext;
|
|
161
|
+
exports.SaltProvider = SaltProvider;
|
|
162
|
+
exports.ThemeContext = ThemeContext;
|
|
163
|
+
exports.useBreakpoints = useBreakpoints;
|
|
164
|
+
exports.useDensity = useDensity;
|
|
165
|
+
exports.useTheme = useTheme;
|
|
166
|
+
//# sourceMappingURL=SaltProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, {\n createContext,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport { Breakpoints, DEFAULT_BREAKPOINTS } from \"../breakpoints\";\nimport { Density, Mode, ThemeName } from \"../theme\";\nimport { ViewportProvider } from \"../viewport\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nimport saltProviderCss from \"./SaltProvider.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\n\nconst DEFAULT_MODE = \"light\";\n\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n}\n\nexport const DensityContext = createContext<Density>(DEFAULT_DENSITY);\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: \"\",\n mode: DEFAULT_MODE,\n});\n\nexport const BreakpointContext =\n createContext<Breakpoints>(DEFAULT_BREAKPOINTS);\n\nconst createThemedChildren = (\n children: ReactNode,\n themeName: ThemeName,\n density: Density,\n mode: Mode,\n applyClassesTo?: TargetElement\n) => {\n const themeNames =\n themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n if (applyClassesTo === \"root\") {\n return children;\n } else if (applyClassesTo === \"child\") {\n if (React.isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return React.cloneElement(children, {\n className: clsx(\n children.props?.className,\n ...themeNames,\n `salt-density-${density}`\n ),\n // @ts-ignore\n \"data-mode\": mode,\n });\n } else {\n console.warn(\n `\\nSaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.\n Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a\n div element will wrap your child elements`\n );\n return children;\n }\n } else {\n return (\n <div\n className={clsx(\n `salt-provider`,\n ...themeNames,\n `salt-density-${density}`\n )}\n data-mode={mode}\n >\n {children}\n </div>\n );\n }\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ntype SaltProviderBaseProps = {\n applyClassesTo?: TargetElement;\n density?: Density;\n theme?: ThemeName;\n mode?: Mode;\n breakpoints?: Breakpoints;\n};\n\ninterface SaltProviderThatAppliesClassesToChild extends SaltProviderBaseProps {\n children: ReactElement;\n applyClassesTo: \"child\";\n}\n\ninterface SaltProviderThatInjectsThemeElement extends SaltProviderBaseProps {\n children: ReactNode;\n}\n\ninterface SaltProviderThatClassesToRoot\n extends SaltProviderThatInjectsThemeElement {\n applyClassesTo: \"root\";\n}\n\ntype SaltProviderProps =\n | SaltProviderThatAppliesClassesToChild\n | SaltProviderThatInjectsThemeElement\n | SaltProviderThatClassesToRoot;\n\nexport function SaltProvider({\n applyClassesTo: applyClassesToProp,\n children,\n density: densityProp,\n theme: themeProp,\n mode: modeProp,\n breakpoints: breakpointsProp,\n}: SaltProviderProps) {\n const inheritedDensity = useContext(DensityContext);\n const { theme: inheritedThemes, mode: inheritedMode } = useTheme();\n\n const isRoot = inheritedThemes === undefined || inheritedThemes === \"\";\n const density = densityProp ?? inheritedDensity ?? DEFAULT_DENSITY;\n const themeName =\n themeProp ??\n (inheritedThemes === \"\" ? DEFAULT_THEME_NAME : inheritedThemes);\n const mode = modeProp ?? inheritedMode;\n const breakpoints = breakpointsProp ?? DEFAULT_BREAKPOINTS;\n\n const applyClassesTo = applyClassesToProp ?? (isRoot ? \"root\" : \"scope\");\n\n const themeContextValue = useMemo(\n () => ({ theme: themeName, mode }),\n [themeName, mode]\n );\n\n const themedChildren = createThemedChildren(\n children,\n themeName,\n density,\n mode,\n applyClassesTo\n );\n\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-provider\",\n css: saltProviderCss,\n window: targetWindow,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNames =\n themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n if (applyClassesTo === \"root\") {\n if (isRoot) {\n // add the styles we want to apply\n targetWindow.document.documentElement.classList.add(\n ...themeNames,\n `salt-density-${density}`\n );\n targetWindow.document.documentElement.dataset.mode = mode;\n } else {\n console.warn(\n \"\\nSaltProvider can only apply CSS classes to the root if it is the root level SaltProvider.\"\n );\n }\n }\n return () => {\n if (applyClassesTo === \"root\") {\n // When unmounting/remounting, remove the applied styles from the root\n targetWindow.document.documentElement.classList.remove(\n ...themeNames,\n `salt-density-${density}`\n );\n targetWindow.document.documentElement.dataset.mode = undefined;\n }\n };\n }, [applyClassesTo, density, isRoot, mode, themeName]);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRoot) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n } else {\n return saltProvider;\n }\n}\n\nexport const useTheme = (): ThemeContextProps => {\n return useContext(ThemeContext);\n};\n\n/**\n * `useDensity` merges density value from `DensityContext` with the one from component's props.\n */\nexport function useDensity(density?: Density): Density {\n const densityFromContext = useContext(DensityContext);\n return density || densityFromContext || DEFAULT_DENSITY;\n}\n\nexport const useBreakpoints = (): Breakpoints => {\n return useContext(BreakpointContext);\n};\n"],"names":["createContext","DEFAULT_BREAKPOINTS","React","clsx","jsx","useContext","useMemo","useWindow","useComponentCssInjection","saltProviderCss","useIsomorphicLayoutEffect","ViewportProvider","AriaAnnouncerProvider"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
|
+
|
|
5
|
+
var css_248z = "/* Styles applied to the root element */\n.saltSpinner {\n position: relative;\n}\n\n/* Styles applied to the SVG stop elements */\n.saltSpinner-gradientStop {\n stop-color: var(--saltSpinner-gradient-color, var(--salt-accent-background));\n}\n\n/* Styles applied when `size=\"default\"` */\n.saltSpinner-default {\n height: var(--salt-size-base);\n width: var(--salt-size-base);\n}\n\n/* Styles applied when `size=\"large\"` */\n.saltSpinner-large {\n height: calc(var(--salt-size-base) * 2);\n width: calc(var(--salt-size-base) * 2);\n}\n\n/* Styles applied to the SVG */\n.saltSpinner-spinner {\n animation: spinner 0.9s linear infinite;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n}\n\n@keyframes spinner {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n";
|
|
6
|
+
styleInject_es(css_248z);
|
|
7
|
+
|
|
8
|
+
module.exports = css_248z;
|
|
9
|
+
//# sourceMappingURL=Spinner.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
require('../aria-announcer/AriaAnnouncerContext.js');
|
|
9
|
+
var useAriaAnnouncer = require('../aria-announcer/useAriaAnnouncer.js');
|
|
10
|
+
var makePrefixer = require('../utils/makePrefixer.js');
|
|
11
|
+
require('../utils/useFloatingUI.js');
|
|
12
|
+
var useId = require('../utils/useId.js');
|
|
13
|
+
require('../salt-provider/SaltProvider.js');
|
|
14
|
+
require('../viewport/ViewportProvider.js');
|
|
15
|
+
var SpinnerSVG = require('./svgSpinners/SpinnerSVG.js');
|
|
16
|
+
var Spinner$1 = require('./Spinner.css.js');
|
|
17
|
+
var window = require('@salt-ds/window');
|
|
18
|
+
var styles = require('@salt-ds/styles');
|
|
19
|
+
|
|
20
|
+
const SpinnerSizeValues = ["default", "large"];
|
|
21
|
+
const withBaseName = makePrefixer.makePrefixer("saltSpinner");
|
|
22
|
+
const Spinner = React.forwardRef(
|
|
23
|
+
function Spinner2({
|
|
24
|
+
"aria-label": ariaLabel = "loading",
|
|
25
|
+
announcerInterval = 5e3,
|
|
26
|
+
announcerTimeout = 2e4,
|
|
27
|
+
completionAnnouncement = `finished ${ariaLabel}`,
|
|
28
|
+
disableAnnouncer,
|
|
29
|
+
role = "img",
|
|
30
|
+
className,
|
|
31
|
+
size = "default",
|
|
32
|
+
id: idProp,
|
|
33
|
+
...rest
|
|
34
|
+
}, ref) {
|
|
35
|
+
const id = useId.useId(idProp);
|
|
36
|
+
const { window: targetWindow } = window.useWindow();
|
|
37
|
+
styles.useComponentCssInjection({
|
|
38
|
+
id: "salt-spinner",
|
|
39
|
+
css: Spinner$1,
|
|
40
|
+
window: targetWindow
|
|
41
|
+
});
|
|
42
|
+
const { announce } = useAriaAnnouncer.useAriaAnnouncer();
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
if (disableAnnouncer)
|
|
45
|
+
return;
|
|
46
|
+
announce(ariaLabel);
|
|
47
|
+
const startTime = new Date().getTime();
|
|
48
|
+
const interval = announcerInterval > 0 && setInterval(() => {
|
|
49
|
+
if (new Date().getTime() - startTime > announcerTimeout) {
|
|
50
|
+
announce(
|
|
51
|
+
`${ariaLabel} is still in progress, but will no longer announce.`
|
|
52
|
+
);
|
|
53
|
+
interval && clearInterval(interval);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
announce(ariaLabel);
|
|
57
|
+
}, announcerInterval);
|
|
58
|
+
return () => {
|
|
59
|
+
if (disableAnnouncer)
|
|
60
|
+
return;
|
|
61
|
+
interval && clearInterval(interval);
|
|
62
|
+
if (completionAnnouncement) {
|
|
63
|
+
announce(completionAnnouncement);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}, [
|
|
67
|
+
announce,
|
|
68
|
+
announcerInterval,
|
|
69
|
+
announcerTimeout,
|
|
70
|
+
ariaLabel,
|
|
71
|
+
completionAnnouncement,
|
|
72
|
+
disableAnnouncer
|
|
73
|
+
]);
|
|
74
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
75
|
+
"aria-label": ariaLabel,
|
|
76
|
+
className: clsx.clsx(withBaseName(), withBaseName(size), className),
|
|
77
|
+
ref,
|
|
78
|
+
role,
|
|
79
|
+
...rest,
|
|
80
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(SpinnerSVG.SpinnerSVG, {
|
|
81
|
+
id
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
exports.Spinner = Spinner;
|
|
88
|
+
exports.SpinnerSizeValues = SpinnerSizeValues;
|
|
89
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useEffect } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { makePrefixer, useId } from \"../utils\";\nimport { SpinnerSVG } from \"./svgSpinners/SpinnerSVG\";\n\nimport spinnerCss from \"./Spinner.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"default | large\" />\n */\n\nexport const SpinnerSizeValues = [\"default\", \"large\"] as const;\nexport type SpinnerSize = typeof SpinnerSizeValues[number];\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'default', 'large'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"default\",\n id: idProp,\n ...rest\n },\n ref\n ) {\n const id = useId(idProp);\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-spinner\",\n css: spinnerCss,\n window: targetWindow,\n });\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n announcerInterval > 0 &&\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // The announcer will stop after `announcerTimeout` time\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`\n );\n interval && clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n interval && clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={clsx(withBaseName(), withBaseName(size), className)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SpinnerSVG id={id} />\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Spinner","useId","useWindow","useComponentCssInjection","spinnerCss","useAriaAnnouncer","useEffect","jsx","clsx","SpinnerSVG"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBa,MAAA,iBAAA,GAAoB,CAAC,SAAA,EAAW,OAAO,EAAA;AAEpD,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAqCxC,MAAM,OAAU,GAAAC,gBAAA;AAAA,EACrB,SAASC,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,yBAAyB,CAAY,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACrC,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,SAAA;AAAA,IACP,EAAI,EAAA,MAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,EAAE,MAAA,EAAQ,YAAa,EAAA,GAAIC,gBAAU,EAAA,CAAA;AAC3C,IAAyBC,+BAAA,CAAA;AAAA,MACvB,EAAI,EAAA,cAAA;AAAA,MACJ,GAAK,EAAAC,SAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,QAAS,EAAA,GAAIC,iCAAiB,EAAA,CAAA;AAEtC,IAAAC,eAAA,CAAU,MAAM;AACd,MAAI,IAAA,gBAAA;AAAkB,QAAA,OAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAA;AAErC,MAAA,MAAM,QACJ,GAAA,iBAAA,GAAoB,CACpB,IAAA,WAAA,CAAY,MAAM;AAChB,QAAA,IAAI,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,CAAG,EAAA,SAAA,CAAA,mDAAA,CAAA;AAAA,WACL,CAAA;AACA,UAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,UAAA,OAAA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAAA,SACjB,iBAAiB,CAAA,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAI,IAAA,gBAAA;AAAkB,UAAA,OAAA;AAEtB,QAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA,CAAA;AAAA,SACjC;AAAA,OACF,CAAA;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAWC,SAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,MAC7D,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAAD,cAAA,CAAAE,qBAAA,EAAA;AAAA,QAAW,EAAA;AAAA,OAAQ,CAAA;AAAA,KACtB,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
require('react');
|
|
7
|
+
var makePrefixer = require('../../utils/makePrefixer.js');
|
|
8
|
+
require('../../utils/useFloatingUI.js');
|
|
9
|
+
require('../../utils/useId.js');
|
|
10
|
+
require('../../salt-provider/SaltProvider.js');
|
|
11
|
+
require('../../viewport/ViewportProvider.js');
|
|
12
|
+
require('clsx');
|
|
13
|
+
|
|
14
|
+
const withBaseName = makePrefixer.makePrefixer("saltSpinner");
|
|
15
|
+
const SpinnerSVG = (props) => {
|
|
16
|
+
const { id: idProp, rest } = props;
|
|
17
|
+
const id = idProp || "svg-spinner";
|
|
18
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
|
|
19
|
+
className: withBaseName("spinner"),
|
|
20
|
+
viewBox: "0 0 28 28",
|
|
21
|
+
id,
|
|
22
|
+
...rest,
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsxRuntime.jsxs("defs", {
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsxs("linearGradient", {
|
|
27
|
+
id: `${id}-1`,
|
|
28
|
+
x1: "100%",
|
|
29
|
+
x2: "0%",
|
|
30
|
+
y1: "78%",
|
|
31
|
+
y2: "78%",
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx("stop", {
|
|
34
|
+
className: withBaseName("gradientStop"),
|
|
35
|
+
offset: "0%"
|
|
36
|
+
}),
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx("stop", {
|
|
38
|
+
className: withBaseName("gradientStop"),
|
|
39
|
+
offset: "100%"
|
|
40
|
+
})
|
|
41
|
+
]
|
|
42
|
+
}),
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsxs("linearGradient", {
|
|
44
|
+
id: `${id}-2`,
|
|
45
|
+
x1: "13%",
|
|
46
|
+
x2: "100%",
|
|
47
|
+
y1: "0%",
|
|
48
|
+
y2: "87%",
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("stop", {
|
|
51
|
+
className: withBaseName("gradientStop"),
|
|
52
|
+
offset: "0%"
|
|
53
|
+
}),
|
|
54
|
+
/* @__PURE__ */ jsxRuntime.jsx("stop", {
|
|
55
|
+
className: withBaseName("gradientStop"),
|
|
56
|
+
offset: "100%",
|
|
57
|
+
stopOpacity: "0"
|
|
58
|
+
})
|
|
59
|
+
]
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
}),
|
|
63
|
+
/* @__PURE__ */ jsxRuntime.jsxs("g", {
|
|
64
|
+
fill: "none",
|
|
65
|
+
fillRule: "evenodd",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", {
|
|
68
|
+
d: "M28 14H24C24 8.47715 19.5228 4 14 4C8.47715 4 4 8.47715 4 14 H 0 C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14Z",
|
|
69
|
+
fill: `url(#${id}-1)`
|
|
70
|
+
}),
|
|
71
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", {
|
|
72
|
+
d: "M4 14 C4 19.5228 8.47715 24 14 24V28C6.26801 28 0 21.732 0 14 Z",
|
|
73
|
+
fill: `url(#${id}-2)`
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
})
|
|
77
|
+
]
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
exports.SpinnerSVG = SpinnerSVG;
|
|
82
|
+
//# sourceMappingURL=SpinnerSVG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpinnerSVG.js","sources":["../src/spinner/svgSpinners/SpinnerSVG.tsx"],"sourcesContent":["import { SVGAttributes } from \"react\";\nimport { makePrefixer } from \"../../utils\";\n\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\n/* SVG based on MD, do not change viewbox attribute */\nexport const SpinnerSVG = (props: {\n id?: string;\n rest?: Omit<SVGAttributes<SVGSVGElement>, \"id\">;\n}) => {\n const { id: idProp, rest } = props;\n const id = idProp || \"svg-spinner\";\n\n return (\n <svg\n className={withBaseName(\"spinner\")}\n viewBox=\"0 0 28 28\"\n id={id}\n {...rest}\n >\n <defs>\n <linearGradient id={`${id}-1`} x1=\"100%\" x2=\"0%\" y1=\"78%\" y2=\"78%\">\n <stop className={withBaseName(\"gradientStop\")} offset=\"0%\" />\n <stop className={withBaseName(\"gradientStop\")} offset=\"100%\" />\n </linearGradient>\n <linearGradient id={`${id}-2`} x1=\"13%\" x2=\"100%\" y1=\"0%\" y2=\"87%\">\n <stop className={withBaseName(\"gradientStop\")} offset=\"0%\" />\n <stop\n className={withBaseName(\"gradientStop\")}\n offset=\"100%\"\n stopOpacity=\"0\"\n />\n </linearGradient>\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M28 14H24C24 8.47715 19.5228 4 14 4C8.47715 4 4 8.47715 4 14 H 0 C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14Z\"\n fill={`url(#${id}-1)`}\n />\n <path\n d=\"M4 14 C4 19.5228 8.47715 24 14 24V28C6.26801 28 0 21.732 0 14 Z\"\n fill={`url(#${id}-2)`}\n />\n </g>\n </svg>\n );\n};\n"],"names":["makePrefixer","jsxs","jsx"],"mappings":";;;;;;;;;;;;;AAGA,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAGlC,MAAA,UAAA,GAAa,CAAC,KAGrB,KAAA;AACJ,EAAA,MAAM,EAAE,EAAA,EAAI,MAAQ,EAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAC7B,EAAA,MAAM,KAAK,MAAU,IAAA,aAAA,CAAA;AAErB,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,IACjC,OAAQ,EAAA,WAAA;AAAA,IACR,EAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAACA,eAAA,CAAA,MAAA,EAAA;AAAA,QACC,QAAA,EAAA;AAAA,0BAACA,eAAA,CAAA,gBAAA,EAAA;AAAA,YAAe,IAAI,CAAG,EAAA,EAAA,CAAA,EAAA,CAAA;AAAA,YAAQ,EAAG,EAAA,MAAA;AAAA,YAAO,EAAG,EAAA,IAAA;AAAA,YAAK,EAAG,EAAA,KAAA;AAAA,YAAM,EAAG,EAAA,KAAA;AAAA,YAC3D,QAAA,EAAA;AAAA,8BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,IAAA;AAAA,eAAK,CAAA;AAAA,8BAC1DA,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,MAAA;AAAA,eAAO,CAAA;AAAA,aAAA;AAAA,WAC/D,CAAA;AAAA,0BACCD,eAAA,CAAA,gBAAA,EAAA;AAAA,YAAe,IAAI,CAAG,EAAA,EAAA,CAAA,EAAA,CAAA;AAAA,YAAQ,EAAG,EAAA,KAAA;AAAA,YAAM,EAAG,EAAA,MAAA;AAAA,YAAO,EAAG,EAAA,IAAA;AAAA,YAAK,EAAG,EAAA,KAAA;AAAA,YAC3D,QAAA,EAAA;AAAA,8BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,IAAA;AAAA,eAAK,CAAA;AAAA,8BAC1DA,cAAA,CAAA,MAAA,EAAA;AAAA,gBACC,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBACtC,MAAO,EAAA,MAAA;AAAA,gBACP,WAAY,EAAA,GAAA;AAAA,eACd,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,sBACCD,eAAA,CAAA,GAAA,EAAA;AAAA,QAAE,IAAK,EAAA,MAAA;AAAA,QAAO,QAAS,EAAA,SAAA;AAAA,QACtB,QAAA,EAAA;AAAA,0BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,CAAE,EAAA,uHAAA;AAAA,YACF,MAAM,CAAQ,KAAA,EAAA,EAAA,CAAA,GAAA,CAAA;AAAA,WAChB,CAAA;AAAA,0BACCA,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,CAAE,EAAA,iEAAA;AAAA,YACF,MAAM,CAAQ,KAAA,EAAA,EAAA,CAAA,GAAA,CAAA;AAAA,WAChB,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var FlexLayout = require('../flex-layout/FlexLayout.js');
|
|
8
|
+
|
|
9
|
+
const SplitLayout = React.forwardRef(
|
|
10
|
+
({ endItem, startItem, ...rest }, ref) => {
|
|
11
|
+
const justify = endItem && !startItem ? "end" : "space-between";
|
|
12
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(FlexLayout.FlexLayout, {
|
|
13
|
+
ref,
|
|
14
|
+
justify,
|
|
15
|
+
...rest,
|
|
16
|
+
children: [
|
|
17
|
+
startItem,
|
|
18
|
+
endItem
|
|
19
|
+
]
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
exports.SplitLayout = SplitLayout;
|
|
25
|
+
//# sourceMappingURL=SplitLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitLayout.js","sources":["../src/split-layout/SplitLayout.tsx"],"sourcesContent":["import { ElementType, forwardRef, ReactElement, ReactNode } from \"react\";\nimport { FlexLayout, FlexLayoutProps } from \"../flex-layout\";\nimport { PolymorphicComponentPropWithRef, PolymorphicRef } from \"../utils\";\n\nexport type SplitLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Defines the default behavior for how flex items are laid out along the cross axis on the current line.\n */\n align?: FlexLayoutProps<ElementType>[\"align\"];\n /**\n * Establishes the main-axis, defining the direction children are placed. Default is \"row\".\n */\n direction?: FlexLayoutProps<ElementType>[\"direction\"];\n /**\n * End component to be rendered.\n */\n endItem?: ReactNode;\n /**\n * Controls the space between left and right items.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Start component to be rendered.\n */\n startItem?: ReactNode;\n }\n >;\n\ntype SplitLayoutComponent = <T extends ElementType = \"div\">(\n props: SplitLayoutProps<T>\n) => ReactElement | null;\n\nexport const SplitLayout: SplitLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n { endItem, startItem, ...rest }: SplitLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const justify = endItem && !startItem ? \"end\" : \"space-between\";\n return (\n <FlexLayout ref={ref} justify={justify} {...rest}>\n {startItem}\n {endItem}\n </FlexLayout>\n );\n }\n);\n"],"names":["forwardRef","jsxs","FlexLayout"],"mappings":";;;;;;;;AAmCO,MAAM,WAAoC,GAAAA,gBAAA;AAAA,EAC/C,CACE,EAAE,OAAA,EAAS,SAAc,EAAA,GAAA,IAAA,IACzB,GACG,KAAA;AACH,IAAA,MAAM,OAAU,GAAA,OAAA,IAAW,CAAC,SAAA,GAAY,KAAQ,GAAA,eAAA,CAAA;AAChD,IAAA,uBACGC,eAAA,CAAAC,qBAAA,EAAA;AAAA,MAAW,GAAA;AAAA,MAAU,OAAA;AAAA,MAAmB,GAAG,IAAA;AAAA,MACzC,QAAA,EAAA;AAAA,QAAA,SAAA;AAAA,QACA,OAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
|
+
|
|
5
|
+
var css_248z = "/* Default variables applied to the root element */\n.saltStackLayout {\n --stackLayout-gap-multiplier: var(--stackLayout-gap-density-multiplier, 3);\n --stackLayout-separator-weight: var(--salt-size-border, 1);\n --stackLayout-gap: calc(var(--salt-size-unit) * var(--stackLayout-gap-multiplier));\n}\n\n.saltStackLayout-separator > * {\n position: relative;\n}\n.saltStackLayout-separator > *:not(:last-child)::after {\n position: absolute;\n display: block;\n content: \"\";\n background-color: var(--salt-separable-secondary-borderColor);\n}\n\n/* \n * Seperator offset based on seperator alignment\n * var(--stackLayout-separator-weight) is used to take into account the thickness of the seperator,so even at higher weights it will be at the start/center/end\n*/\n.saltStackLayout-separator-start {\n --stackLayout-seperator-offset: calc(var(--stackLayout-separator-weight) * -1);\n}\n.saltStackLayout-separator-center {\n --stackLayout-seperator-offset: calc((var(--stackLayout-gap) * -0.5) + (var(--stackLayout-separator-weight) * -0.5));\n}\n.saltStackLayout-separator-end {\n --stackLayout-seperator-offset: calc(var(--stackLayout-gap) * -1);\n}\n\n/* When alignment is 'row' and we have seperators (last child doesn't need a seperator) */\n.saltStackLayout-row.saltStackLayout-separator > *:not(:last-child)::after {\n height: 100%;\n width: var(--stackLayout-separator-weight);\n right: var(--stackLayout-seperator-offset);\n top: 0;\n}\n\n/* When alignment is 'column' and we have seperators (last child doesn't need a seperator) */\n.saltStackLayout-column.saltStackLayout-separator > *:not(:last-child)::after {\n width: 100%;\n height: var(--stackLayout-separator-weight);\n bottom: var(--stackLayout-seperator-offset);\n left: 0;\n}\n";
|
|
6
|
+
styleInject_es(css_248z);
|
|
7
|
+
|
|
8
|
+
module.exports = css_248z;
|
|
9
|
+
//# sourceMappingURL=StackLayout.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StackLayout.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var FlexLayout = require('../flex-layout/FlexLayout.js');
|
|
8
|
+
var makePrefixer = require('../utils/makePrefixer.js');
|
|
9
|
+
require('../utils/useFloatingUI.js');
|
|
10
|
+
require('../utils/useId.js');
|
|
11
|
+
var useResponsiveProp = require('../utils/useResponsiveProp.js');
|
|
12
|
+
var clsx = require('clsx');
|
|
13
|
+
var StackLayout$1 = require('./StackLayout.css.js');
|
|
14
|
+
var window = require('@salt-ds/window');
|
|
15
|
+
var styles = require('@salt-ds/styles');
|
|
16
|
+
|
|
17
|
+
const withBaseName = makePrefixer.makePrefixer("saltStackLayout");
|
|
18
|
+
const StackLayout = React.forwardRef(
|
|
19
|
+
({
|
|
20
|
+
children,
|
|
21
|
+
className,
|
|
22
|
+
direction = "column",
|
|
23
|
+
gap,
|
|
24
|
+
separators,
|
|
25
|
+
style,
|
|
26
|
+
...rest
|
|
27
|
+
}, ref) => {
|
|
28
|
+
const { window: targetWindow } = window.useWindow();
|
|
29
|
+
styles.useComponentCssInjection({
|
|
30
|
+
id: "salt-stack-layout",
|
|
31
|
+
css: StackLayout$1,
|
|
32
|
+
window: targetWindow
|
|
33
|
+
});
|
|
34
|
+
const flexGap = useResponsiveProp.useResponsiveProp(gap, 3);
|
|
35
|
+
const separatorAlignment = separators === true ? "center" : separators;
|
|
36
|
+
const flexDirection = useResponsiveProp.useResponsiveProp(direction, "column");
|
|
37
|
+
const stackLayoutStyles = {
|
|
38
|
+
...style,
|
|
39
|
+
"--stackLayout-gap-multiplier": flexGap
|
|
40
|
+
};
|
|
41
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FlexLayout.FlexLayout, {
|
|
42
|
+
className: clsx.clsx(
|
|
43
|
+
withBaseName(),
|
|
44
|
+
withBaseName(flexDirection),
|
|
45
|
+
{
|
|
46
|
+
[withBaseName("separator")]: !!separatorAlignment,
|
|
47
|
+
[separatorAlignment ? withBaseName(`separator-${separatorAlignment}`) : ""]: separatorAlignment
|
|
48
|
+
},
|
|
49
|
+
className
|
|
50
|
+
),
|
|
51
|
+
ref,
|
|
52
|
+
direction,
|
|
53
|
+
style: stackLayoutStyles,
|
|
54
|
+
wrap: false,
|
|
55
|
+
gap: flexGap,
|
|
56
|
+
...rest,
|
|
57
|
+
children
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
|
|
62
|
+
exports.StackLayout = StackLayout;
|
|
63
|
+
//# sourceMappingURL=StackLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StackLayout.js","sources":["../src/stack-layout/StackLayout.tsx"],"sourcesContent":["import { ElementType, forwardRef, ReactElement } from \"react\";\nimport {\n FlexLayout,\n FlexLayoutProps,\n LayoutDirection,\n LayoutSeparator,\n} from \"../flex-layout\";\nimport {\n makePrefixer,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n ResponsiveProp,\n useResponsiveProp,\n} from \"../utils\";\nimport { clsx } from \"clsx\";\nimport stackLayoutCss from \"./StackLayout.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltStackLayout\");\n\nexport type StackLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Defines the default behavior for how flex items are laid out along the cross axis on the current line, default is \"stretch\".\n */\n align?: FlexLayoutProps<ElementType>[\"align\"];\n /**\n * Establishes the main-axis, defining the direction children are placed. Default is \"column\".\n */\n direction?: ResponsiveProp<LayoutDirection>;\n /**\n * Controls the space between items, default is 3.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Adds a separator between elements, default is false.\n */\n separators?: LayoutSeparator | boolean;\n }\n >;\n\ntype StackLayoutComponent = <T extends ElementType = \"div\">(\n props: StackLayoutProps<T>\n) => ReactElement | null;\n\nexport const StackLayout: StackLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n children,\n className,\n direction = \"column\",\n gap,\n separators,\n style,\n ...rest\n }: StackLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-stack-layout\",\n css: stackLayoutCss,\n window: targetWindow,\n });\n\n const flexGap = useResponsiveProp(gap, 3);\n const separatorAlignment = separators === true ? \"center\" : separators;\n const flexDirection = useResponsiveProp(direction, \"column\");\n const stackLayoutStyles = {\n ...style,\n \"--stackLayout-gap-multiplier\": flexGap,\n };\n return (\n <FlexLayout\n className={clsx(\n withBaseName(),\n withBaseName(flexDirection),\n {\n [withBaseName(\"separator\")]: !!separatorAlignment,\n [separatorAlignment\n ? withBaseName(`separator-${separatorAlignment}`)\n : \"\"]: separatorAlignment,\n },\n className\n )}\n ref={ref}\n direction={direction}\n style={stackLayoutStyles}\n wrap={false}\n gap={flexGap}\n {...rest}\n >\n {children}\n </FlexLayout>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","stackLayoutCss","useResponsiveProp","jsx","FlexLayout","clsx"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,YAAA,GAAeA,0BAAa,iBAAiB,CAAA,CAAA;AA6B5C,MAAM,WAAoC,GAAAC,gBAAA;AAAA,EAC/C,CACE;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAY,GAAA,QAAA;AAAA,IACZ,GAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,EAAE,MAAA,EAAQ,YAAa,EAAA,GAAIC,gBAAU,EAAA,CAAA;AAC3C,IAAyBC,+BAAA,CAAA;AAAA,MACvB,EAAI,EAAA,mBAAA;AAAA,MACJ,GAAK,EAAAC,aAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAUC,mCAAkB,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AACxC,IAAM,MAAA,kBAAA,GAAqB,UAAe,KAAA,IAAA,GAAO,QAAW,GAAA,UAAA,CAAA;AAC5D,IAAM,MAAA,aAAA,GAAgBA,mCAAkB,CAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AAC3D,IAAA,MAAM,iBAAoB,GAAA;AAAA,MACxB,GAAG,KAAA;AAAA,MACH,8BAAgC,EAAA,OAAA;AAAA,KAClC,CAAA;AACA,IAAA,uBACGC,cAAA,CAAAC,qBAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb,aAAa,aAAa,CAAA;AAAA,QAC1B;AAAA,UACE,CAAC,YAAA,CAAa,WAAW,CAAA,GAAI,CAAC,CAAC,kBAAA;AAAA,UAC/B,CAAC,kBACG,GAAA,YAAA,CAAa,CAAa,UAAA,EAAA,kBAAA,CAAA,CAAoB,IAC9C,EAAK,GAAA,kBAAA;AAAA,SACX;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAO,EAAA,iBAAA;AAAA,MACP,IAAM,EAAA,KAAA;AAAA,MACN,GAAK,EAAA,OAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|