@salt-ds/lab 1.0.0-alpha.2 → 1.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-cjs/packages/lab/src/banner/Banner.css.js +1 -1
- package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-cjs/packages/lab/src/carousel/Carousel.js +7 -6
- package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/Color.js +9 -0
- package/dist-cjs/packages/lab/src/color-chooser/Color.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/ColorHelpers.js +2 -2
- package/dist-cjs/packages/lab/src/color-chooser/ColorHelpers.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/Swatch.css.js +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/color-utils.js +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/color-utils.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -3
- package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
- package/dist-cjs/packages/lab/src/contact-details/ContactDetails.css.js +1 -1
- package/dist-cjs/packages/lab/src/content-status/ContentStatus.css.js +1 -1
- package/dist-cjs/packages/lab/src/dialog/DialogContent.js +0 -1
- package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
- package/dist-cjs/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
- package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
- package/dist-cjs/packages/lab/src/index.js +0 -5
- package/dist-cjs/packages/lab/src/index.js.map +1 -1
- package/dist-cjs/packages/lab/src/list/Highlighter.css.js +1 -1
- package/dist-cjs/packages/lab/src/list/ListItem.css.js +1 -1
- package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js +1 -5
- package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
- package/dist-cjs/packages/lab/src/logo/Logo.css.js +1 -1
- package/dist-cjs/packages/lab/src/metric/MetricContent.css.js +1 -1
- package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
- package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +1 -1
- package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/Pill.css.js +1 -1
- package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.css.js +1 -1
- package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.css.js +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +44 -25
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +20 -66
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js +1 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +9 -5
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +1 -1
- package/dist-cjs/packages/lab/src/skip-link/SkipLink.css.js +1 -1
- package/dist-cjs/packages/lab/src/slider/Slider.css.js +1 -1
- package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js +1 -0
- package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tabstrip.css.js +1 -1
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.css.js +1 -1
- package/dist-cjs/packages/lab/src/toolbar/Tooltray.css.js +1 -1
- package/dist-es/packages/lab/src/banner/Banner.css.js +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarCarousel.js +2 -2
- package/dist-es/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
- package/dist-es/packages/lab/src/calendar/internal/utils.js +1 -1
- package/dist-es/packages/lab/src/calendar/useCalendar.js +1 -1
- package/dist-es/packages/lab/src/carousel/Carousel.js +7 -6
- package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
- package/dist-es/packages/lab/src/cascading-menu/internal/useRefsManager.js +1 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js +1 -1
- package/dist-es/packages/lab/src/color-chooser/Color.js +9 -0
- package/dist-es/packages/lab/src/color-chooser/Color.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
- package/dist-es/packages/lab/src/color-chooser/ColorHelpers.js +2 -2
- package/dist-es/packages/lab/src/color-chooser/ColorHelpers.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/Swatch.css.js +1 -1
- package/dist-es/packages/lab/src/color-chooser/color-utils.js +1 -1
- package/dist-es/packages/lab/src/color-chooser/color-utils.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -3
- package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
- package/dist-es/packages/lab/src/contact-details/ContactDetails.css.js +1 -1
- package/dist-es/packages/lab/src/content-status/ContentStatus.css.js +1 -1
- package/dist-es/packages/lab/src/dialog/DialogContent.js +0 -1
- package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
- package/dist-es/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
- package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
- package/dist-es/packages/lab/src/index.js +1 -3
- package/dist-es/packages/lab/src/index.js.map +1 -1
- package/dist-es/packages/lab/src/list/Highlighter.css.js +1 -1
- package/dist-es/packages/lab/src/list/ListItem.css.js +1 -1
- package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js +2 -2
- package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/useList.js +1 -1
- package/dist-es/packages/lab/src/logo/Logo.css.js +1 -1
- package/dist-es/packages/lab/src/metric/MetricContent.css.js +1 -1
- package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
- package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
- package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +1 -1
- package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
- package/dist-es/packages/lab/src/pill/Pill.css.js +1 -1
- package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.css.js +1 -1
- package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.css.js +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButton.css.js +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButton.js +46 -27
- package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +23 -69
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js +1 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +10 -5
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
- package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +1 -1
- package/dist-es/packages/lab/src/responsive/useDynamicCollapse.js +1 -1
- package/dist-es/packages/lab/src/skip-link/SkipLink.css.js +1 -1
- package/dist-es/packages/lab/src/skip-link/internal/useManageFocusOnTarget.js +1 -1
- package/dist-es/packages/lab/src/slider/Slider.css.js +1 -1
- package/dist-es/packages/lab/src/slider/internal/useSliderMouseDown.js +1 -1
- package/dist-es/packages/lab/src/stepper-input/useStepperInput.js +1 -0
- package/dist-es/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/Tabstrip.css.js +1 -1
- package/dist-es/packages/lab/src/toggle-button/ToggleButton.css.js +1 -1
- package/dist-es/packages/lab/src/toolbar/Tooltray.css.js +1 -1
- package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +1 -1
- package/dist-es/packages/lab/src/utils/useEventCallback.js +1 -1
- package/dist-types/color-chooser/Color.d.ts +2 -0
- package/dist-types/color-chooser/ColorHelpers.d.ts +3 -1
- package/dist-types/contact-details/ContactAvatar.d.ts +3 -4
- package/dist-types/index.d.ts +0 -1
- package/dist-types/radio-button/RadioButton.d.ts +33 -10
- package/dist-types/radio-button/RadioButtonGroup.d.ts +22 -12
- package/dist-types/radio-button/RadioButtonIcon.d.ts +4 -6
- package/dist-types/radio-button/index.d.ts +0 -1
- package/dist-types/stepper-input/useStepperInput.d.ts +1 -0
- package/package.json +4 -4
- package/dist-cjs/packages/lab/src/avatar/Avatar.css.js +0 -9
- package/dist-cjs/packages/lab/src/avatar/Avatar.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/avatar/Avatar.js +0 -62
- package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +0 -1
- package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -45
- package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
- package/dist-cjs/packages/lab/src/avatar/internal/constants.js +0 -8
- package/dist-cjs/packages/lab/src/avatar/internal/constants.js.map +0 -1
- package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js +0 -47
- package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.css.js +0 -9
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js +0 -142
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js.map +0 -1
- package/dist-es/packages/lab/src/avatar/Avatar.css.js +0 -7
- package/dist-es/packages/lab/src/avatar/Avatar.css.js.map +0 -1
- package/dist-es/packages/lab/src/avatar/Avatar.js +0 -58
- package/dist-es/packages/lab/src/avatar/Avatar.js.map +0 -1
- package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -41
- package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
- package/dist-es/packages/lab/src/avatar/internal/constants.js +0 -4
- package/dist-es/packages/lab/src/avatar/internal/constants.js.map +0 -1
- package/dist-es/packages/lab/src/avatar/internal/useLoaded.js +0 -43
- package/dist-es/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.css.js +0 -7
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.css.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js +0 -138
- package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js.map +0 -1
- package/dist-types/avatar/Avatar.d.ts +0 -13
- package/dist-types/avatar/index.d.ts +0 -1
- package/dist-types/avatar/internal/DefaultAvatar.d.ts +0 -2
- package/dist-types/avatar/internal/constants.d.ts +0 -1
- package/dist-types/avatar/internal/useLoaded.d.ts +0 -2
- package/dist-types/radio-button/RadioButtonBase.d.ts +0 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { createContext } from \"@salt-ds/core\";\n\nexport interface RadioGroupContextValue {\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n}\n\nexport const RadioGroupContext = createContext(\n \"RadioGroupContext\",\n {}
|
|
1
|
+
{"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { createContext } from \"@salt-ds/core\";\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,kBAAA;AAAA,EAC/B,mBAAA;AAAA,EACA,EAAC;AACH;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = "/* CSS Variables for the Skip Link */\n.saltSkipLink {\n --skipLink-padding: var(--saltSkipLink-padding, var(--salt-size-unit));\n --skipLink-margin: var(--saltSkipLink-margin, var(--salt-size-unit));\n --skipLink-background: var(--saltSkipLink-background, var(--salt-actionable-primary-background));\n --skipLink-color: var(--saltSkipLink-color, var(--salt-text-primary-foreground));\n}\n\n/* Overrides */\n.saltSkipLink {\n --saltLink-color-focus: var(--skipLink-color);\n}\n\n.saltSkipLink-target {\n --skipLink-target-focus: var(--salt-focused-outline);\n}\n\n/*Styles applied when the link is focused to hide the Skip Link when not in focus*/\n.saltSkipLink {\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n display: block;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n}\n\n/* Styles applied when the link is focused to display the Skip Link only when in focus*/\n.saltSkipLink:focus {\n opacity: 1;\n width: auto;\n height: auto;\n white-space: nowrap;\n margin: var(--skipLink-margin);\n padding: calc(var(--skipLink-padding) - 1px) var(--skipLink-padding) var(--skipLink-padding);\n background: var(--skipLink-background);\n color: var(--skipLink-color);\n box-shadow: var(--salt-overlayable-shadow-popout);\n}\n\n.saltSkipLink {\n font-size: var(--salt-text-fontSize);\n font-family: var(--saltSkipLink-fontFamily, var(--salt-
|
|
5
|
+
var css_248z = "/* CSS Variables for the Skip Link */\n.saltSkipLink {\n --skipLink-padding: var(--saltSkipLink-padding, var(--salt-size-unit));\n --skipLink-margin: var(--saltSkipLink-margin, var(--salt-size-unit));\n --skipLink-background: var(--saltSkipLink-background, var(--salt-actionable-primary-background));\n --skipLink-color: var(--saltSkipLink-color, var(--salt-text-primary-foreground));\n}\n\n/* Overrides */\n.saltSkipLink {\n --saltLink-color-focus: var(--skipLink-color);\n}\n\n.saltSkipLink-target {\n --skipLink-target-focus: var(--salt-focused-outline);\n}\n\n/*Styles applied when the link is focused to hide the Skip Link when not in focus*/\n.saltSkipLink {\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n display: block;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n}\n\n/* Styles applied when the link is focused to display the Skip Link only when in focus*/\n.saltSkipLink:focus {\n opacity: 1;\n width: auto;\n height: auto;\n white-space: nowrap;\n margin: var(--skipLink-margin);\n padding: calc(var(--skipLink-padding) - 1px) var(--skipLink-padding) var(--skipLink-padding);\n background: var(--skipLink-background);\n color: var(--skipLink-color);\n box-shadow: var(--salt-overlayable-shadow-popout);\n}\n\n.saltSkipLink {\n font-size: var(--salt-text-fontSize);\n font-family: var(--saltSkipLink-fontFamily, var(--salt-text-fontFamily));\n line-height: var(--saltSkipLink-lineHeight, var(--salt-text-lineHeight));\n}\n\n/*Styles applied to the skip link focus target*/\n.saltSkipLink-target {\n outline: var(--skipLink-target-focus);\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = ".salt-density-high {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 2px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 2px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 3px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-medium {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 4px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 4px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 6px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-low {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 8px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 8px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 9px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-touch {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 12px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 12px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 12px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.saltSlider {\n --slider-rail-height: var(--saltSlider-rail-height, 8px);\n --slider-rail-color: var(--saltSlider-rail-color, var(--salt-
|
|
5
|
+
var css_248z = ".salt-density-high {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 2px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 2px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 3px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-medium {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 4px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 4px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 6px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-low {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 8px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 8px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 9px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.salt-density-touch {\n --slider-clickable-paddingTop: var(--saltSlider-clickable-paddingTop, 12px);\n --slider-clickable-paddingBottom: var(--saltSlider-clickable-paddingBottom, 12px);\n --slider-paddingTop: var(--saltSlider-paddingTop, 12px);\n --slider-paddingBottom: var(--saltSlider-paddingBottom, 0);\n}\n\n.saltSlider {\n --slider-rail-height: var(--saltSlider-rail-height, 8px);\n --slider-rail-color: var(--saltSlider-rail-color, var(--salt-track-borderColor));\n\n --slider-rail-mark-height: var(--saltSlider-rail-mark-height, 7px);\n --slider-rail-mark-color: var(--saltSlider-rail-mark-color, var(--slider-rail-color));\n\n --slider-selection-color: var(--saltSlider-selection-color, var(--salt-accent-background));\n --slider-selection-height: var(--saltSlider-selection-height, 2px);\n\n --slider-handle-size: var(--saltSlider-handle-size, calc(var(--salt-size-base) * 0.5));\n --slider-handle-outlineStyle: var(--saltSlider-handle-outlineStyle, var(--salt-focused-outlineStyle));\n --slider-handle-outlineWidth: var(--saltSlider-handle-outlineWidth, var(--salt-focused-outlineWidth));\n --slider-handle-outlineColor: var(--saltSlider-handle-outlineColor, var(--salt-focused-outlineColor));\n --slider-handle-outlineOffset: var(--saltSlider-handle-outlineOffset, var(--salt-focused-outlineOffset));\n\n --slider-arrow-height: var(--saltSlider-arrow-height, 6px);\n --slider-arrow-width: var(--saltSlider-arrow-width, 8px);\n --slider-arrow-color: var(--saltSlider-arrow-color, var(--slider-selection-color));\n\n --slider-borderStyle: var(--saltSlider-borderStyle, none);\n --slider-borderWidth: var(--saltSlider-borderWidth, 0);\n --slider-borderColor: var(--saltSlider-borderColor, transparent);\n --slider-width: var(--saltSlider-width, 300px);\n\n --slider-clickable-paddingLeft: var(--saltSlider-clickable-paddingLeft, calc(var(--salt-size-base) * 0.5));\n --slider-clickable-paddingRight: var(--saltSlider-clickable-paddingRight, calc(var(--salt-size-base) * 0.5));\n\n --slider-label-fontSize: var(--saltSlider-label-fontSize, var(--salt-text-label-fontSize));\n --slider-label-paddingLeft: var(--saltSlider-label-paddingLeft, 0);\n --slider-label-paddingRight: var(--saltSlider-label-paddingRight, 0);\n}\n\n.saltSlider {\n width: var(--slider-width);\n border-style: var(--slider-borderStyle);\n border-width: var(--slider-borderWidth);\n border-color: var(--slider-borderColor);\n\n display: flex;\n flex-direction: column;\n align-items: stretch;\n\n padding-top: var(--slider-paddingTop);\n padding-bottom: var(--slider-paddingBottom);\n}\n\n.saltSlider-disabled {\n}\n\n.saltSlider-clickable {\n padding: var(--slider-clickable-paddingTop) var(--slider-clickable-paddingRight) var(--slider-clickable-paddingBottom) var(--slider-clickable-paddingLeft);\n margin-right: calc(-1 * var(--slider-clickable-paddingRight));\n margin-left: calc(-1 * var(--slider-clickable-paddingLeft));\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: stretch;\n}\n\n.saltSlider-track {\n display: grid;\n grid-template-rows: auto auto auto;\n align-items: end;\n grid-template-columns: auto auto auto;\n row-gap: 0;\n transition: grid-template-columns 100ms ease;\n}\n\n.saltSliderRail {\n grid-row: 1;\n grid-column-start: 1;\n grid-column-end: -1;\n height: var(--slider-rail-height);\n border-style: solid;\n border-width: 0 1px 1px 1px;\n border-color: var(--slider-rail-color);\n}\n\n.saltSliderRailMarks {\n grid-row: 2;\n grid-column-start: 1;\n grid-column-end: -1;\n /*height: var(--markedRail-height);*/\n display: grid;\n grid-template-rows: auto;\n}\n\n.saltSliderRailMarks-mark {\n grid-row: 1;\n width: 0;\n height: var(--slider-rail-mark-height);\n border-left: 1px solid var(--slider-rail-mark-color);\n}\n\n.saltSliderRailMarks-max {\n margin-left: -1px;\n}\n\n.saltSliderMarkLabels {\n grid-row: 3;\n grid-column-start: 1;\n grid-column-end: -1;\n\n display: grid;\n grid-template-rows: auto;\n justify-items: center;\n}\n\n.saltSliderMarkLabels-label {\n color: var(--saltSlider-label-text-color, var(--salt-text-secondary-foreground));\n font-size: var(--slider-label-fontSize);\n margin-top: var(--saltSlider-label-marginTop);\n line-height: var(--saltSlider-label-lineHeight, var(--salt-text-lineHeight));\n\n white-space: nowrap;\n}\n\n.saltSliderSelection {\n grid-row: 1;\n grid-column-start: 1;\n grid-column-end: -2;\n height: var(--slider-selection-height);\n background: var(--slider-selection-color);\n}\n\n.saltSliderSelection-range {\n grid-row: 1;\n grid-column-start: 2;\n grid-column-end: -2;\n height: var(--slider-selection-height);\n background: var(--slider-selection-color);\n}\n\n.saltSliderHandle-box:focus-visible {\n outline-style: var(--slider-handle-outlineStyle);\n outline-width: var(--slider-handle-outlineWidth);\n outline-color: var(--slider-handle-outlineColor);\n outline-offset: var(--slider-handle-outlineOffset);\n}\n\n.saltSliderHandle {\n margin-left: calc(var(--slider-arrow-width) * -0.5);\n grid-row: 1;\n width: 0;\n height: 0;\n border-left: calc(var(--slider-arrow-width) * 0.5) solid transparent;\n border-right: calc(var(--slider-arrow-width) * 0.5) solid transparent;\n border-bottom: calc(var(--slider-arrow-height)) solid var(--slider-arrow-color);\n position: relative;\n}\n\n.saltSliderHandle-min {\n border-left: none;\n margin-left: 0;\n}\n\n.saltSliderHandle-max {\n border-right: none;\n}\n\n.saltSlider-label {\n color: var(--saltSlider-label-text-color, var(--salt-text-secondary-foreground));\n font-size: var(--slider-label-fontSize);\n margin-top: var(--saltSlider-label-marginTop);\n line-height: var(--saltSlider-label-lineHeight, var(--salt-text-lineHeight));\n\n padding-left: var(--slider-label-paddingLeft);\n padding-right: var(--slider-label-paddingRight);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -185,6 +185,7 @@ const useStepperInput = (props, inputRef) => {
|
|
|
185
185
|
};
|
|
186
186
|
const getButtonProps = (type = stepperDirection.INCREMENT, buttonPropsProp = {}) => ({
|
|
187
187
|
"aria-hidden": true,
|
|
188
|
+
"data-testid": `${type}-button`,
|
|
188
189
|
tabIndex: -1,
|
|
189
190
|
...buttonPropsProp,
|
|
190
191
|
onMouseDown: callAll(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useStepperInput.js","sources":["../src/stepper-input/useStepperInput.ts"],"sourcesContent":["import { KeyboardEvent, MouseEvent, MutableRefObject } from \"react\";\nimport { ButtonProps, useControlled, useId } from \"@salt-ds/core\";\nimport { InputProps } from \"../input\";\nimport { useDynamicAriaLabel } from \"./internal/useDynamicAriaLabel\";\nimport { useSpinner } from \"./internal/useSpinner\";\nimport { StepperInputProps } from \"./StepperInput\";\n\ntype Direction = \"decrement\" | \"increment\";\n\nconst stepperDirection = {\n INCREMENT: \"increment\" as Direction,\n DECREMENT: \"decrement\" as Direction,\n};\n\n// The input should only accept numbers, decimal points, and plus/minus symbols\nconst ACCEPT_INPUT = /^[-+]?[0-9]*\\.?([0-9]+)?/g;\n\nconst callAll =\n (...fns: any[]) =>\n (...args: any[]) =>\n fns.forEach((fn) => fn && fn(...args));\n\nconst toFixedDecimalPlaces = (inputNumber: number, decimalPlaces: number) =>\n inputNumber.toFixed(decimalPlaces);\n\nconst isAllowedNonNumeric = (inputCharacter: number | string) => {\n if (typeof inputCharacter === \"number\") return;\n return (\n (\"-+\".includes(inputCharacter) && inputCharacter.length === 1) ||\n inputCharacter === \"\"\n );\n};\n\nconst toFloat = (inputValue: number | string) => {\n // Plus, minus, and empty characters are treated as 0\n if (isAllowedNonNumeric(inputValue)) return 0;\n return parseFloat(inputValue.toString());\n};\n\nconst santizedInput = (numberString: string) =>\n (numberString.match(ACCEPT_INPUT) || []).join(\"\");\n\nconst getButtonIcon = (type: Direction) =>\n type === stepperDirection.INCREMENT ? \"triangle-up\" : \"triangle-down\";\n\nexport const useStepperInput = (\n props: StepperInputProps,\n inputRef: MutableRefObject<HTMLInputElement | null>\n) => {\n const {\n block = 10,\n decimalPlaces = 0,\n defaultValue = 0,\n liveValue,\n max = Number.MAX_SAFE_INTEGER,\n min = Number.MIN_SAFE_INTEGER,\n onChange,\n step = 1,\n value,\n InputProps: inputPropsProp = {},\n } = props;\n\n const [currentValue, setCurrentValue, isControlled] = useControlled({\n controlled: value,\n default: toFixedDecimalPlaces(defaultValue, decimalPlaces),\n name: \"stepper-input\",\n });\n const inputId = useId(inputPropsProp.id);\n\n const isOutOfRange = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) > max || toFloat(currentValue) < min;\n };\n\n const isAtMax = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) >= max || (max === 0 && currentValue === \"\");\n };\n\n const isAtMin = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) <= min || (min === 0 && currentValue === \"\");\n };\n\n const valuesHaveDiverged = () => {\n if (liveValue === undefined || currentValue === undefined) return false;\n return (\n toFloat(toFixedDecimalPlaces(liveValue, decimalPlaces)) !==\n toFloat(currentValue)\n );\n };\n\n const { setHasAnnounced } = useDynamicAriaLabel(\n \", value out of date\",\n liveValue !== undefined,\n inputRef,\n currentValue,\n valuesHaveDiverged\n );\n\n const decrement = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue = currentValue === \"\" ? -step : toFloat(currentValue) - step;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const decrementBlock = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue =\n currentValue === \"\"\n ? block * -step\n : toFloat(currentValue) - step * block;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const increment = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue = currentValue === \"\" ? step : toFloat(currentValue) + step;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const incrementBlock = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue =\n currentValue === \"\" ? block * step : toFloat(currentValue) + step * block;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const setNextValue = (modifiedValue: number) => {\n let nextValue = modifiedValue;\n if (nextValue < min) nextValue = min;\n if (nextValue > max) nextValue = max;\n\n const roundedValue = toFixedDecimalPlaces(nextValue, decimalPlaces);\n if (isNaN(toFloat(roundedValue))) return;\n\n if (!isControlled) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const { activate: decrementSpinnerBlock, buttonDown: pgDnButtonDown } =\n useSpinner(decrementBlock, isAtMin());\n\n const { activate: decrementSpinner, buttonDown: arrowDownButtonDown } =\n useSpinner(decrement, isAtMin());\n\n const { activate: incrementSpinnerBlock, buttonDown: pgUpButtonDown } =\n useSpinner(incrementBlock, isAtMax());\n\n const { activate: incrementSpinner, buttonDown: arrowUpButtonDown } =\n useSpinner(increment, isAtMax());\n\n const handleInputBlur = () => {\n if (currentValue === undefined) return;\n\n const roundedValue = toFixedDecimalPlaces(\n toFloat(currentValue),\n decimalPlaces\n );\n\n if (\n currentValue !== \"\" &&\n !isAllowedNonNumeric(currentValue) &&\n !isControlled\n ) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const handleInputFocus = () => {\n setHasAnnounced(false);\n };\n\n const handleInputChange = (event: KeyboardEvent) => {\n const changedValue = (event.currentTarget as HTMLInputElement).value;\n\n if (!isControlled) {\n setCurrentValue(santizedInput(changedValue));\n }\n\n if (onChange) {\n onChange(santizedInput(changedValue));\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent) => {\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"ArrowUp\" ? incrementSpinner() : decrementSpinner();\n }\n if ([\"PageUp\", \"PageDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"PageUp\"\n ? incrementSpinnerBlock()\n : decrementSpinnerBlock();\n }\n };\n\n const handleButtonMouseDown = (\n event: MouseEvent<HTMLButtonElement>,\n type: Direction = stepperDirection.INCREMENT\n ) => {\n if (event.nativeEvent.button !== 0) return;\n type === stepperDirection.INCREMENT\n ? incrementSpinner()\n : decrementSpinner();\n };\n\n const handleButtonMouseUp = () => inputRef.current?.focus();\n\n const refreshCurrentValue = () => {\n const refreshedcurrentValue =\n liveValue !== undefined ? liveValue : defaultValue;\n if (refreshedcurrentValue === undefined) return;\n\n setCurrentValue(\n toFixedDecimalPlaces(toFloat(refreshedcurrentValue), decimalPlaces)\n );\n\n inputRef.current?.focus();\n\n if (onChange) {\n onChange(\n toFixedDecimalPlaces(toFloat(refreshedcurrentValue), decimalPlaces)\n );\n }\n };\n\n const getButtonProps = (\n type: Direction = stepperDirection.INCREMENT,\n buttonPropsProp: ButtonProps = {}\n ) => ({\n \"aria-hidden\": true,\n tabIndex: -1,\n ...buttonPropsProp,\n onMouseDown: callAll(\n (event: MouseEvent<HTMLButtonElement>) =>\n handleButtonMouseDown(event, type),\n buttonPropsProp.onMouseDown\n ),\n onMouseUp: callAll(() => handleButtonMouseUp(), buttonPropsProp.onMouseUp),\n });\n\n const getInputProps = (\n inputProps: InputProps = {}\n ): InputProps | undefined => {\n if (currentValue === undefined) return undefined;\n return {\n ...inputProps,\n inputProps: {\n role: \"spinbutton\",\n \"aria-invalid\": isOutOfRange(),\n \"aria-valuemax\": toFloat(toFixedDecimalPlaces(max, decimalPlaces)),\n \"aria-valuemin\": toFloat(toFixedDecimalPlaces(min, decimalPlaces)),\n \"aria-valuenow\": toFloat(\n toFixedDecimalPlaces(toFloat(currentValue), decimalPlaces)\n ),\n id: inputId,\n ...inputProps.inputProps,\n },\n onBlur: callAll(inputProps.onBlur, handleInputBlur),\n onChange: callAll(inputProps.onChange, handleInputChange),\n onFocus: callAll(inputProps.onFocus, handleInputFocus),\n onKeyDown: callAll(inputProps.onKeyPress, handleInputKeyDown),\n value: String(currentValue),\n };\n };\n\n return {\n decrementButtonDown: arrowDownButtonDown || pgDnButtonDown,\n getButtonIcon,\n getButtonProps,\n getInputProps,\n incrementButtonDown: arrowUpButtonDown || pgUpButtonDown,\n isAtMax,\n isAtMin,\n refreshCurrentValue,\n stepperDirection,\n valuesHaveDiverged,\n };\n};\n"],"names":["useControlled","useId","useDynamicAriaLabel","useSpinner"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useStepperInput.js","sources":["../src/stepper-input/useStepperInput.ts"],"sourcesContent":["import { KeyboardEvent, MouseEvent, MutableRefObject } from \"react\";\nimport { ButtonProps, useControlled, useId } from \"@salt-ds/core\";\nimport { InputProps } from \"../input\";\nimport { useDynamicAriaLabel } from \"./internal/useDynamicAriaLabel\";\nimport { useSpinner } from \"./internal/useSpinner\";\nimport { StepperInputProps } from \"./StepperInput\";\n\ntype Direction = \"decrement\" | \"increment\";\n\nconst stepperDirection = {\n INCREMENT: \"increment\" as Direction,\n DECREMENT: \"decrement\" as Direction,\n};\n\n// The input should only accept numbers, decimal points, and plus/minus symbols\nconst ACCEPT_INPUT = /^[-+]?[0-9]*\\.?([0-9]+)?/g;\n\nconst callAll =\n (...fns: any[]) =>\n (...args: any[]) =>\n fns.forEach((fn) => fn && fn(...args));\n\nconst toFixedDecimalPlaces = (inputNumber: number, decimalPlaces: number) =>\n inputNumber.toFixed(decimalPlaces);\n\nconst isAllowedNonNumeric = (inputCharacter: number | string) => {\n if (typeof inputCharacter === \"number\") return;\n return (\n (\"-+\".includes(inputCharacter) && inputCharacter.length === 1) ||\n inputCharacter === \"\"\n );\n};\n\nconst toFloat = (inputValue: number | string) => {\n // Plus, minus, and empty characters are treated as 0\n if (isAllowedNonNumeric(inputValue)) return 0;\n return parseFloat(inputValue.toString());\n};\n\nconst santizedInput = (numberString: string) =>\n (numberString.match(ACCEPT_INPUT) || []).join(\"\");\n\nconst getButtonIcon = (type: Direction) =>\n type === stepperDirection.INCREMENT ? \"triangle-up\" : \"triangle-down\";\n\nexport const useStepperInput = (\n props: StepperInputProps,\n inputRef: MutableRefObject<HTMLInputElement | null>\n) => {\n const {\n block = 10,\n decimalPlaces = 0,\n defaultValue = 0,\n liveValue,\n max = Number.MAX_SAFE_INTEGER,\n min = Number.MIN_SAFE_INTEGER,\n onChange,\n step = 1,\n value,\n InputProps: inputPropsProp = {},\n } = props;\n\n const [currentValue, setCurrentValue, isControlled] = useControlled({\n controlled: value,\n default: toFixedDecimalPlaces(defaultValue, decimalPlaces),\n name: \"stepper-input\",\n });\n const inputId = useId(inputPropsProp.id);\n\n const isOutOfRange = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) > max || toFloat(currentValue) < min;\n };\n\n const isAtMax = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) >= max || (max === 0 && currentValue === \"\");\n };\n\n const isAtMin = () => {\n if (currentValue === undefined) return true;\n return toFloat(currentValue) <= min || (min === 0 && currentValue === \"\");\n };\n\n const valuesHaveDiverged = () => {\n if (liveValue === undefined || currentValue === undefined) return false;\n return (\n toFloat(toFixedDecimalPlaces(liveValue, decimalPlaces)) !==\n toFloat(currentValue)\n );\n };\n\n const { setHasAnnounced } = useDynamicAriaLabel(\n \", value out of date\",\n liveValue !== undefined,\n inputRef,\n currentValue,\n valuesHaveDiverged\n );\n\n const decrement = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue = currentValue === \"\" ? -step : toFloat(currentValue) - step;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const decrementBlock = () => {\n if (currentValue === undefined || isAtMin()) return;\n let nextValue =\n currentValue === \"\"\n ? block * -step\n : toFloat(currentValue) - step * block;\n\n // Set value to `max` if it's currently out of range\n if (max !== undefined && isOutOfRange()) nextValue = max;\n\n setNextValue(nextValue);\n };\n\n const increment = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue = currentValue === \"\" ? step : toFloat(currentValue) + step;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const incrementBlock = () => {\n if (currentValue === undefined || isAtMax()) return;\n let nextValue =\n currentValue === \"\" ? block * step : toFloat(currentValue) + step * block;\n\n // Set value to `min` if it's currently out of range\n if (min !== undefined && isOutOfRange()) nextValue = min;\n\n setNextValue(nextValue);\n };\n\n const setNextValue = (modifiedValue: number) => {\n let nextValue = modifiedValue;\n if (nextValue < min) nextValue = min;\n if (nextValue > max) nextValue = max;\n\n const roundedValue = toFixedDecimalPlaces(nextValue, decimalPlaces);\n if (isNaN(toFloat(roundedValue))) return;\n\n if (!isControlled) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const { activate: decrementSpinnerBlock, buttonDown: pgDnButtonDown } =\n useSpinner(decrementBlock, isAtMin());\n\n const { activate: decrementSpinner, buttonDown: arrowDownButtonDown } =\n useSpinner(decrement, isAtMin());\n\n const { activate: incrementSpinnerBlock, buttonDown: pgUpButtonDown } =\n useSpinner(incrementBlock, isAtMax());\n\n const { activate: incrementSpinner, buttonDown: arrowUpButtonDown } =\n useSpinner(increment, isAtMax());\n\n const handleInputBlur = () => {\n if (currentValue === undefined) return;\n\n const roundedValue = toFixedDecimalPlaces(\n toFloat(currentValue),\n decimalPlaces\n );\n\n if (\n currentValue !== \"\" &&\n !isAllowedNonNumeric(currentValue) &&\n !isControlled\n ) {\n setCurrentValue(roundedValue);\n }\n\n if (onChange) {\n onChange(roundedValue);\n }\n };\n\n const handleInputFocus = () => {\n setHasAnnounced(false);\n };\n\n const handleInputChange = (event: KeyboardEvent) => {\n const changedValue = (event.currentTarget as HTMLInputElement).value;\n\n if (!isControlled) {\n setCurrentValue(santizedInput(changedValue));\n }\n\n if (onChange) {\n onChange(santizedInput(changedValue));\n }\n };\n\n const handleInputKeyDown = (event: KeyboardEvent) => {\n if ([\"ArrowUp\", \"ArrowDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"ArrowUp\" ? incrementSpinner() : decrementSpinner();\n }\n if ([\"PageUp\", \"PageDown\"].includes(event.key)) {\n event.preventDefault();\n event.key === \"PageUp\"\n ? incrementSpinnerBlock()\n : decrementSpinnerBlock();\n }\n };\n\n const handleButtonMouseDown = (\n event: MouseEvent<HTMLButtonElement>,\n type: Direction = stepperDirection.INCREMENT\n ) => {\n if (event.nativeEvent.button !== 0) return;\n type === stepperDirection.INCREMENT\n ? incrementSpinner()\n : decrementSpinner();\n };\n\n const handleButtonMouseUp = () => inputRef.current?.focus();\n\n const refreshCurrentValue = () => {\n const refreshedcurrentValue =\n liveValue !== undefined ? liveValue : defaultValue;\n if (refreshedcurrentValue === undefined) return;\n\n setCurrentValue(\n toFixedDecimalPlaces(toFloat(refreshedcurrentValue), decimalPlaces)\n );\n\n inputRef.current?.focus();\n\n if (onChange) {\n onChange(\n toFixedDecimalPlaces(toFloat(refreshedcurrentValue), decimalPlaces)\n );\n }\n };\n\n const getButtonProps = (\n type: Direction = stepperDirection.INCREMENT,\n buttonPropsProp: ButtonProps = {}\n ) => ({\n \"aria-hidden\": true,\n \"data-testid\": `${type}-button`,\n tabIndex: -1,\n ...buttonPropsProp,\n onMouseDown: callAll(\n (event: MouseEvent<HTMLButtonElement>) =>\n handleButtonMouseDown(event, type),\n buttonPropsProp.onMouseDown\n ),\n onMouseUp: callAll(() => handleButtonMouseUp(), buttonPropsProp.onMouseUp),\n });\n\n const getInputProps = (\n inputProps: InputProps = {}\n ): InputProps | undefined => {\n if (currentValue === undefined) return undefined;\n return {\n ...inputProps,\n inputProps: {\n role: \"spinbutton\",\n \"aria-invalid\": isOutOfRange(),\n \"aria-valuemax\": toFloat(toFixedDecimalPlaces(max, decimalPlaces)),\n \"aria-valuemin\": toFloat(toFixedDecimalPlaces(min, decimalPlaces)),\n \"aria-valuenow\": toFloat(\n toFixedDecimalPlaces(toFloat(currentValue), decimalPlaces)\n ),\n id: inputId,\n ...inputProps.inputProps,\n },\n onBlur: callAll(inputProps.onBlur, handleInputBlur),\n onChange: callAll(inputProps.onChange, handleInputChange),\n onFocus: callAll(inputProps.onFocus, handleInputFocus),\n onKeyDown: callAll(inputProps.onKeyPress, handleInputKeyDown),\n value: String(currentValue),\n };\n };\n\n return {\n decrementButtonDown: arrowDownButtonDown || pgDnButtonDown,\n getButtonIcon,\n getButtonProps,\n getInputProps,\n incrementButtonDown: arrowUpButtonDown || pgUpButtonDown,\n isAtMax,\n isAtMin,\n refreshCurrentValue,\n stepperDirection,\n valuesHaveDiverged,\n };\n};\n"],"names":["useControlled","useId","useDynamicAriaLabel","useSpinner"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = "/* Component class applied to the root element */\n.saltTabstrip {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-tabstrip-dragging-display: none;\n --tabs-tabstrip-display: inline-flex;\n --tabs-tabstrip-background: transparent;\n\n align-items: flex-start;\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n position: relative;\n overflow: hidden;\n display: flex;\n min-width: 28px;\n width: 100%;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n --tabs-activationIndicator-borderStyle: none none solid none;\n --tabs-activationIndicator-height: 1px;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n --tabs-activationIndicator-transitionProperty: left;\n --tabs-activationIndicator-thumb-height: 2px;\n --tabs-activationIndicator-thumb-inset: -1px 0 0 0;\n}\n\n/* Tabstrip orientation is vertical */\n.saltTabstrip-vertical {\n --tabs-activationIndicator-transition: top 0.3s ease;\n --tabs-activationIndicator-borderStyle: none solid none none;\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-transitionProperty: top;\n --tabs-activationIndicator-width: 1px;\n --tabs-activationIndicator-thumb-inset: 0 0 0 -1px;\n --tabs-activationIndicator-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.saltTabstrip-draggingTab {\n --saltTabs-activationIndicator-transition: none;\n}\n\n.saltTabstrip-draggingTab .saltTab {\n pointer-events: none;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-addButton,\n.saltDropdown.saltTabstrip-overflowMenu {\n margin-left: var(--salt-size-unit);\n}\n\n.saltTabstrip-overflowMenu.saltDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.saltTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.saltTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-vertical .saltTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.saltTabstrip-centered .saltTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.saltDraggable[class*=\"tabstrip\"] {\n --tabs-tabstrip-display: flex;\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tabs-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tabs-activationIndicator-inset);\n --tabs-tab-before-width: var(--tabs-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.saltDraggable-tabstrip-horizontal {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-activationIndicator-thumb-height: 2px;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n\n line-height: var(--tabs-tabstrip-height);\n}\n.saltDraggable-tabstrip-vertical {\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-thumb-width: 2px;\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab {\n box-shadow: var(--salt-overlayable-shadow-drag);\n}\n\n[data-overflowed] {\n order: 99;\n visibility: hidden;\n}\n\n.saltTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-
|
|
5
|
+
var css_248z = "/* Component class applied to the root element */\n.saltTabstrip {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-tabstrip-dragging-display: none;\n --tabs-tabstrip-display: inline-flex;\n --tabs-tabstrip-background: transparent;\n\n align-items: flex-start;\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n position: relative;\n overflow: hidden;\n display: flex;\n min-width: 28px;\n width: 100%;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n --tabs-activationIndicator-borderStyle: none none solid none;\n --tabs-activationIndicator-height: 1px;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n --tabs-activationIndicator-transitionProperty: left;\n --tabs-activationIndicator-thumb-height: 2px;\n --tabs-activationIndicator-thumb-inset: -1px 0 0 0;\n}\n\n/* Tabstrip orientation is vertical */\n.saltTabstrip-vertical {\n --tabs-activationIndicator-transition: top 0.3s ease;\n --tabs-activationIndicator-borderStyle: none solid none none;\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-transitionProperty: top;\n --tabs-activationIndicator-width: 1px;\n --tabs-activationIndicator-thumb-inset: 0 0 0 -1px;\n --tabs-activationIndicator-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.saltTabstrip-draggingTab {\n --saltTabs-activationIndicator-transition: none;\n}\n\n.saltTabstrip-draggingTab .saltTab {\n pointer-events: none;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-addButton,\n.saltDropdown.saltTabstrip-overflowMenu {\n margin-left: var(--salt-size-unit);\n}\n\n.saltTabstrip-overflowMenu.saltDropdown {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.saltTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-text-color: var(--salt-actionable-secondary-text-color-active);\n}\n\n.saltTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-vertical .saltTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.saltTabstrip-centered .saltTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.saltDraggable[class*=\"tabstrip\"] {\n --tabs-tabstrip-display: flex;\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-navigable-primary-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tabs-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tabs-activationIndicator-inset);\n --tabs-tab-before-width: var(--tabs-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-draggable-grab-cursor-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.saltDraggable-tabstrip-horizontal {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-stackable));\n --tabs-activationIndicator-thumb-height: 2px;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n\n line-height: var(--tabs-tabstrip-height);\n}\n.saltDraggable-tabstrip-vertical {\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-thumb-width: 2px;\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-indicator-active);\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab {\n box-shadow: var(--salt-overlayable-shadow-drag);\n}\n\n[data-overflowed] {\n order: 99;\n visibility: hidden;\n}\n\n.saltTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = ".salt-density-touch {\n --toggleButton-icon-padding: 11px;\n}\n\n.salt-density-low {\n --toggleButton-icon-padding: 7px;\n}\n\n.salt-density-medium {\n --toggleButton-icon-padding: 5px;\n}\n\n.salt-density-high {\n --toggleButton-icon-padding: 1px;\n}\n\n.saltToggleButton-horizontal.saltToggleButton-iconOnly {\n padding: var(--saltToggleButton-icon-padding, var(--toggleButton-icon-padding));\n}\n\n
|
|
5
|
+
var css_248z = ".salt-density-touch {\n --toggleButton-icon-padding: 11px;\n}\n\n.salt-density-low {\n --toggleButton-icon-padding: 7px;\n}\n\n.salt-density-medium {\n --toggleButton-icon-padding: 5px;\n}\n\n.salt-density-high {\n --toggleButton-icon-padding: 1px;\n}\n\n.saltToggleButton-horizontal.saltToggleButton-iconOnly {\n padding: var(--saltToggleButton-icon-padding, var(--toggleButton-icon-padding));\n}\n\n.saltToggleButton {\n --saltButton-text-color: var(--salt-text-primary-foreground);\n --saltButton-text-color-disabled: var(--salt-text-primary-foreground-disabled);\n\n --saltIcon-color: var(--salt-text-primary-foreground);\n}\n\n.saltToggleButton-disabled.saltButton-disabled {\n --saltButton-text-color-active: var(--salt-text-primary-foreground-disabled);\n --saltButton-text-color-hover: var(--salt-text-primary-foreground-disabled);\n\n --saltIcon-color: var(--salt-text-primary-foreground-disabled);\n}\n\n/* CTA */\n.saltToggleButton-cta {\n --saltButton-background: var(--salt-selectable-background);\n --saltButton-background-hover: var(--salt-selectable-cta-background-hover);\n --saltButton-background-active: var(--salt-selectable-cta-background-selected);\n --saltButton-background-disabled: var(--salt-selectable-background-disabled);\n --saltButton-text-color-hover: var(--salt-selectable-cta-foreground-hover);\n --saltButton-text-color-active: var(--salt-selectable-cta-foreground-selected);\n}\n.saltToggleButton-cta.saltToggleButton-disabled.saltButton-disabled {\n --saltButton-background-hover: var(--salt-selectable-background-disabled);\n --saltButton-background-active: var(--salt-selectable-cta-background-disabled);\n}\n.saltToggleButton-cta.saltToggleButton-disabled {\n --saltButton-background-active: var(--salt-selectable-cta-background-selectedDisabled);\n --saltButton-text-color-active: var(--salt-selectable-cta-foreground-selectedDisabled);\n\n --saltIcon-color-active: var(--salt-selectable-cta-foreground-selectedDisabled);\n}\n.saltToggleButton-cta.saltToggleButton-toggled {\n --saltButton-background: var(--salt-selectable-cta-background-selected);\n --saltButton-background-hover: var(--salt-selectable-cta-background-selected);\n --saltButton-text-color: var(--salt-selectable-cta-foreground-selected);\n --saltButton-text-color-hover: var(--salt-selectable-cta-foreground-selected);\n\n --saltIcon-color: var(--salt-selectable-cta-foreground-selected);\n}\n.saltToggleButton-cta.saltToggleButton-toggled.saltToggleButton-disabled {\n --saltButton-background-disabled: var(--salt-selectable-cta-background-selectedDisabled);\n --saltButton-background-hover: var(--salt-selectable-cta-background-selectedDisabled);\n --saltButton-text-color-disabled: var(--salt-selectable-cta-foreground-selectedDisabled);\n --saltButton-text-color-hover: var(--salt-selectable-cta-foreground-selectedDisabled);\n\n --saltIcon-color: var(--salt-selectable-cta-foreground-selectedDisabled);\n}\n\n/* Primary */\n.saltToggleButton-primary {\n --saltButton-background: var(--salt-selectable-background);\n --saltButton-background-hover: var(--salt-selectable-primary-background-hover);\n --saltButton-background-active: var(--salt-selectable-primary-background-selected);\n --saltButton-background-disabled: var(--salt-selectable-primary-background-disabled);\n --saltButton-text-color-hover: var(--salt-selectable-primary-foreground-hover);\n --saltButton-text-color-active: var(--salt-selectable-primary-foreground-selected);\n}\n.saltToggleButton-primary.saltToggleButton-disabled.saltButton-disabled {\n --saltButton-background-active: var(--salt-selectable-primary-background-disabled);\n --saltButton-background-hover: var(--salt-selectable-background-disabled);\n}\n.saltToggleButton-primary.saltToggleButton-disabled.saltButton-active {\n --saltButton-background-active: var(--salt-selectable-primary-background-selectedDisabled);\n --saltButton-text-color-active: var(--salt-selectable-primary-foreground-selectedDisabled);\n}\n.saltToggleButton-primary.saltToggleButton-toggled {\n --saltButton-background: var(--salt-selectable-primary-background-selected);\n --saltButton-background-hover: var(--salt-selectable-primary-background-selected);\n --saltButton-text-color: var(--salt-selectable-primary-foreground-selected);\n --saltButton-text-color-hover: var(--salt-selectable-primary-foreground-selected);\n\n --saltIcon-color: var(--salt-selectable-primary-foreground-selected);\n}\n.saltToggleButton-primary.saltToggleButton-toggled.saltToggleButton-disabled {\n --saltButton-background-disabled: var(--salt-selectable-primary-background-selectedDisabled);\n --saltButton-background-hover: var(--salt-selectable-primary-background-selectedDisabled);\n --saltButton-text-color-disabled: var(--salt-selectable-primary-foreground-selectedDisabled);\n --saltButton-text-color-hover: var(--salt-selectable-primary-foreground-selectedDisabled);\n\n --saltIcon-color: var(--salt-selectable-primary-foreground-selectedDisabled);\n}\n\n/* Secondary */\n.saltToggleButton-secondary {\n --saltButton-background: var(--salt-selectable-background);\n --saltButton-background-hover: var(--salt-selectable-secondary-background-hover);\n --saltButton-background-active: var(--salt-selectable-secondary-background-selected);\n --saltButton-background-disabled: var(--salt-selectable-background-disabled);\n --saltButton-text-color-hover: var(--salt-selectable-secondary-foreground-hover);\n --saltButton-text-color-active: var(--salt-selectable-secondary-foreground-selected);\n}\n.saltToggleButton-secondary.saltToggleButton-disabled.saltButton-disabled {\n --saltButton-background-active: var(--salt-selectable-secondary-background-disabled);\n --saltButton-background-hover: var(--salt-selectable-background-disabled);\n}\n.saltToggleButton-secondary.saltToggleButton-disabled.saltButton-active {\n --saltButton-background-active: var(--salt-selectable-secondary-background-selectedDisabled);\n --saltButton-text-color-active: var(--salt-selectable-secondary-foreground-selectedDisabled);\n\n --saltIcon-color-active: var(--salt-selectable-secondary-foreground-selectedDisabled);\n}\n.saltToggleButton-secondary.saltToggleButton-toggled {\n --saltButton-background: var(--salt-selectable-secondary-background-selected);\n --saltButton-background-hover: var(--salt-selectable-secondary-background-selected);\n --saltButton-text-color: var(--salt-selectable-secondary-foreground-selected);\n --saltButton-text-color-hover: var(--salt-selectable-secondary-foreground-selected);\n\n --saltIcon-color: var(--salt-selectable-secondary-foreground-selected);\n}\n.saltToggleButton-secondary.saltToggleButton-toggled.saltToggleButton-disabled {\n --saltButton-background-disabled: var(--salt-selectable-secondary-background-selectedDisabled);\n --saltButton-background-hover: var(--salt-selectable-secondary-background-selectedDisabled);\n --saltButton-text-color-disabled: var(--salt-selectable-secondary-foreground-selectedDisabled);\n --saltButton-text-color-hover: var(--salt-selectable-secondary-foreground-selectedDisabled);\n\n --saltIcon-color: var(--salt-selectable-secondary-foreground-selectedDisabled);\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = ".saltTooltray {\n --toolbar-tooltray-height: var(--toolbar-size);\n}\n\n.saltTooltray {\n background: inherit;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n overflow: hidden;\n align-items: flex-start;\n justify-content: flex-start;\n}\n\n.saltTooltray-horizontal {\n height: var(--toolbar-tooltray-height);\n}\n\n.saltTooltray > .Responsive-inner > .saltToolbarField {\n flex-shrink: 0;\n flex-grow: 0;\n}\n.saltTooltray > .Responsive-inner {\n align-items: center;\n display: flex;\n flex: 1;\n flex-wrap: nowrap;\n gap: 0 !important;\n justify-content: inherit;\n}\n\n/* .saltTooltray-horizontal > .Responsive-inner > :not(:last-child) { */\n.saltTooltray-horizontal > .Responsive-inner > * {\n margin-top: var(--salt-size-unit);\n margin-right: var(--salt-size-unit);\n}\n\n/* .saltTooltray-horizontal:first-child {\n padding-left: var(--salt-size-unit);\n} */\n/* .saltTooltray-horizontal:last-child {\n padding-right: var(--salt-size-unit);\n} */\n\n.saltTooltray-horizontal:not(:first-child) {\n margin-left: var(--salt-size-unit);\n padding-left: calc(var(--salt-size-unit) * 2);\n}\n.saltTooltray-horizontal:not(:first-child):before {\n content: \"\";\n position: absolute;\n background:
|
|
5
|
+
var css_248z = ".saltTooltray {\n --toolbar-tooltray-height: var(--toolbar-size);\n}\n\n.saltTooltray {\n background: inherit;\n flex-shrink: 0;\n flex-grow: 0;\n position: relative;\n overflow: hidden;\n align-items: flex-start;\n justify-content: flex-start;\n}\n\n.saltTooltray-horizontal {\n height: var(--toolbar-tooltray-height);\n}\n\n.saltTooltray > .Responsive-inner > .saltToolbarField {\n flex-shrink: 0;\n flex-grow: 0;\n}\n.saltTooltray > .Responsive-inner {\n align-items: center;\n display: flex;\n flex: 1;\n flex-wrap: nowrap;\n gap: 0 !important;\n justify-content: inherit;\n}\n\n/* .saltTooltray-horizontal > .Responsive-inner > :not(:last-child) { */\n.saltTooltray-horizontal > .Responsive-inner > * {\n margin-top: var(--salt-size-unit);\n margin-right: var(--salt-size-unit);\n}\n\n/* .saltTooltray-horizontal:first-child {\n padding-left: var(--salt-size-unit);\n} */\n/* .saltTooltray-horizontal:last-child {\n padding-right: var(--salt-size-unit);\n} */\n\n.saltTooltray-horizontal:not(:first-child) {\n margin-left: var(--salt-size-unit);\n padding-left: calc(var(--salt-size-unit) * 2);\n}\n.saltTooltray-horizontal:not(:first-child):before {\n content: \"\";\n position: absolute;\n background: var(--salt-separable-primary-borderColor);\n top: 8px;\n left: 0;\n width: 1px;\n height: 28px;\n}\n\n.saltTooltray > .Responsive-inner > .saltToolbarField {\n flex: 0 0 auto;\n}\n\n.saltTooltray > .Responsive-inner > *[data-pad-start=\"true\"] {\n margin-left: auto;\n}\n\n.saltTooltray[data-collapsible=\"dynamic\"] {\n flex-shrink: 0;\n}\n.saltTooltray[data-collapsible=\"dynamic\"] > .Responsive-inner {\n flex-wrap: wrap;\n}\n.saltTooltray[data-collapsing=\"true\"] {\n flex-shrink: 1;\n}\n\n.saltTooltray[data-collapsed=\"true\"] {\n flex-shrink: 1;\n}\n\n.saltTooltray[data-collapsible=\"dynamic\"][data-collapsed=\"true\"] {\n flex-basis: 0;\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Styles applied to root component */\n.saltBanner {\n --banner-background: var(--saltBanner-background, var(--salt-container-primary-background));\n --banner-fontSize: var(--saltBanner-fontSize, var(--salt-text-fontSize));\n --banner-lineHeight: var(--saltBanner-lineHeight, var(--salt-text-lineHeight));\n --banner-padding: var(--saltBanner-padding, var(--salt-size-unit));\n --banner-label-color: var(--saltBanner-label-color, var(--salt-text-primary-foreground));\n}\n\n.saltBanner {\n background: var(--banner-background);\n border-color: var(--saltBanner-borderColor, var(--banner-status-borderColor));\n border-width: var(--saltBanner-borderWidth, var(--salt-size-border));\n border-style: var(--saltBanner-borderStyle, var(--salt-container-borderStyle));\n border-bottom: 2px solid var(--saltBanner-borderColor, var(--banner-status-borderColor));\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding: 0 var(--banner-padding);\n position: relative;\n /*min-height: 36px;*/\n width: 100%;\n align-items: center;\n}\n\n.saltBanner-closeButton {\n margin: calc(var(--salt-size-unit) * 0.5) auto calc(var(--salt-size-unit) * 0.5) var(--salt-size-unit);\n}\n\n.saltBanner-label {\n flex: 1 0;\n padding: calc(var(--banner-padding) + 2px) 0 calc(var(--banner-padding));\n font-weight: var(--salt-
|
|
3
|
+
var css_248z = "/* Styles applied to root component */\n.saltBanner {\n --banner-background: var(--saltBanner-background, var(--salt-container-primary-background));\n --banner-fontSize: var(--saltBanner-fontSize, var(--salt-text-fontSize));\n --banner-lineHeight: var(--saltBanner-lineHeight, var(--salt-text-lineHeight));\n --banner-padding: var(--saltBanner-padding, var(--salt-size-unit));\n --banner-label-color: var(--saltBanner-label-color, var(--salt-text-primary-foreground));\n}\n\n.saltBanner {\n background: var(--banner-background);\n border-color: var(--saltBanner-borderColor, var(--banner-status-borderColor));\n border-width: var(--saltBanner-borderWidth, var(--salt-size-border));\n border-style: var(--saltBanner-borderStyle, var(--salt-container-borderStyle));\n border-bottom: 2px solid var(--saltBanner-borderColor, var(--banner-status-borderColor));\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding: 0 var(--banner-padding);\n position: relative;\n /*min-height: 36px;*/\n width: 100%;\n align-items: center;\n}\n\n.saltBanner-closeButton {\n margin: calc(var(--salt-size-unit) * 0.5) auto calc(var(--salt-size-unit) * 0.5) var(--salt-size-unit);\n}\n\n.saltBanner-label {\n flex: 1 0;\n padding: calc(var(--banner-padding) + 2px) 0 calc(var(--banner-padding));\n font-weight: var(--salt-text-label-fontWeight);\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n color: var(--banner-label-color);\n}\n\n/* Styles applied to status indicator */\n.saltBanner-icon {\n color: var(--saltBanner-icon-color, var(--banner-status-icon-color));\n fill: var(--saltBanner-icon-color, var(--banner-status-icon-color));\n margin-right: var(--saltTooltip-icon-marginRight, 6px);\n flex: 0 0 auto;\n}\n\n.saltBanner-link {\n font-weight: var(--salt-text-label-fontWeight);\n margin-left: 1ch;\n}\n\n/* Styles applied when state = \"info\" */\n.saltBanner-info {\n --banner-status-borderColor: var(--salt-status-info-borderColor);\n --banner-status-icon-color: var(--salt-status-info-foreground);\n}\n\n/* Styles applied when state = \"error\" */\n.saltBanner-error {\n --banner-status-borderColor: var(--salt-status-error-borderColor);\n --banner-status-icon-color: var(--salt-status-error-foreground);\n}\n\n/* Styles applied when state = \"warning\" */\n.saltBanner-warning {\n --banner-status-borderColor: var(--salt-status-warning-borderColor);\n --banner-status-icon-color: var(--salt-status-warning-foreground);\n}\n\n/* Styles applied when state = \"success\" */\n.saltBanner-success {\n --banner-status-borderColor: var(--salt-status-success-borderColor);\n --banner-status-icon-color: var(--salt-status-success-foreground);\n}\n\n.saltBanner-emphasize.saltBanner-info {\n --banner-background: var(--salt-status-info-background-emphasize);\n}\n\n.saltBanner-emphasize.saltBanner-error {\n --banner-background: var(--salt-status-error-background-emphasize);\n}\n\n.saltBanner-emphasize.saltBanner-warning {\n --banner-background: var(--salt-status-warning-background-emphasize);\n}\n\n.saltBanner-emphasize.saltBanner-success {\n --banner-background: var(--salt-status-success-background-emphasize);\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useRef, useState, useEffect } from 'react';
|
|
3
|
-
import { today, getLocalTimeZone
|
|
3
|
+
import { isSameMonth, today, getLocalTimeZone } from '@internationalized/date';
|
|
4
4
|
import { CalendarMonth } from './CalendarMonth.js';
|
|
5
5
|
import { makePrefixer, useIsomorphicLayoutEffect, usePrevious } from '@salt-ds/core';
|
|
6
6
|
import { useCalendarContext } from './CalendarContext.js';
|
|
7
7
|
import './CalendarCarousel.css.js';
|
|
8
|
-
import {
|
|
8
|
+
import { formatDate, monthDiff } from './utils.js';
|
|
9
9
|
|
|
10
10
|
function getMonths(month) {
|
|
11
11
|
return [month.subtract({ months: 1 }), month, month.add({ months: 1 })];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* TODO: Design need to align characteristics for CalendarDay */\n.saltCalendarDay {\n --calendar-day-text-color: var(--salt-text-primary-foreground);\n --calendar-day-background: var(--salt-selectable-background);\n --calendar-day-background-hover: var(--salt-selectable-background-hover);\n --calendar-day-text-color-hover: var(--salt-text-primary-foreground);\n --calendar-day-outOfRange-text-color: var(--salt-text-secondary-foreground-disabled);\n --calendar-day-blocked-text-color: var(--salt-text-primary-foreground);\n --calendar-day-blocked-cursor: var(--salt-selectable-cursor-disabled);\n --calendar-day-blocked-icon-color: var(--salt-status-error-foreground);\n --calendar-day-blocked-background: var(--calendar-day-background);\n --calendar-day-unselectable-text-color: var(--salt-text-secondary-foreground-disabled);\n --calendar-day-unselectable-background: var(--calendar-day-background);\n --calendar-day-unselectable-cursor: var(--salt-selectable-cursor-disabled);\n\n --calendar-day-selected-background: var(--salt-selectable-background-selected);\n --calendar-day-selected-text-color: var(--salt-text-primary-foreground);\n --calendar-day-selected-focused-outlineColor: var(--salt-color-white)
|
|
3
|
+
var css_248z = "/* TODO: Design need to align characteristics for CalendarDay */\n.saltCalendarDay {\n --calendar-day-text-color: var(--salt-text-primary-foreground);\n --calendar-day-background: var(--salt-selectable-background);\n --calendar-day-background-hover: var(--salt-selectable-background-hover);\n --calendar-day-text-color-hover: var(--salt-text-primary-foreground);\n --calendar-day-outOfRange-text-color: var(--salt-text-secondary-foreground-disabled);\n --calendar-day-blocked-text-color: var(--salt-text-primary-foreground);\n --calendar-day-blocked-cursor: var(--salt-selectable-cursor-disabled);\n --calendar-day-blocked-icon-color: var(--salt-status-error-foreground);\n --calendar-day-blocked-background: var(--calendar-day-background);\n --calendar-day-unselectable-text-color: var(--salt-text-secondary-foreground-disabled);\n --calendar-day-unselectable-background: var(--calendar-day-background);\n --calendar-day-unselectable-cursor: var(--salt-selectable-cursor-disabled);\n\n --calendar-day-selected-background: var(--salt-selectable-background-selected);\n --calendar-day-selected-text-color: var(--salt-text-primary-foreground);\n /* --calendar-day-selected-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedStart-background: var(--salt-selectable-background-selected);\n --calendar-day-selectedStart-text-color: var(--salt-text-primary-foreground);\n /* --calendar-day-selectedStart-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedEnd-background: var(--salt-selectable-background-selected);\n --calendar-day-selectedEnd-text-color: var(--salt-text-primary-foreground);\n /* --calendar-day-selectedEnd-focused-outlineColor: var(--salt-color-white); TODO: Check with design */\n\n --calendar-day-selectedSpan-background: var(--salt-selectable-background-blurSelected);\n --calendar-day-selectedSpan-text-color: var(--salt-text-primary-foreground);\n\n --calendar-day-hoveredSpan-background: var(--salt-selectable-background-hover);\n --calendar-day-hoveredSpan-text-color: var(--salt-text-primary-foreground);\n\n --calendar-day-hoveredOffset-background: var(--salt-selectable-background-hover);\n --calendar-day-hoveredOffset-text-color: var(--salt-text-primary-foreground);\n\n --calendar-day-currentDay-borderColor: var(--salt-text-primary-foreground); /* TODO should not be foreground color */\n\n /* Focus */\n --calendar-day-focused-outline: var(--salt-focused-outline);\n --calendar-day-size: var(--salt-size-base);\n --calendar-day-fontSize: var(--salt-text-fontSize);\n}\n\n.saltCalendarDay {\n width: var(--calendar-day-size);\n height: var(--calendar-day-size);\n color: var(--calendar-day-text-color);\n background-color: var(--calendar-day-background);\n font-size: var(--calendar-day-fontSize);\n border: 0;\n cursor: pointer;\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.saltCalendarDay:focus-visible {\n outline: var(--calendar-day-focused-outline);\n outline-offset: calc(0px - var(--salt-focused-outlineWidth));\n}\n\n.saltCalendarDay-outOfRange {\n color: var(--calendar-day-outOfRange-text-color);\n}\n\n.saltCalendarDay:hover {\n background: var(--calendar-day-background-hover);\n color: var(--calendar-day-text-color-hover);\n}\n\n.saltCalendarDay-unselectableMedium,\n.saltCalendarDay-unselectableMedium:hover {\n color: var(--calendar-day-blocked-text-color);\n cursor: var(--calendar-day-blocked-cursor);\n background: var(--calendar-day-blocked-background);\n}\n\n.saltCalendarDay-today {\n border: 1px solid var(--calendar-day-currentDay-borderColor);\n}\n\n.saltCalendarDay-selectedSpan {\n background: var(--calendar-day-selectedSpan-background);\n color: var(--calendar-day-selectedSpan-text-color);\n}\n\n.saltCalendarDay-hoveredSpan,\n.saltCalendarDay-hoveredSpan:hover {\n background: var(--calendar-day-hoveredSpan-background);\n color: var(--calendar-day-hoveredSpan-text-color);\n}\n\n.saltCalendarDay-hoveredOffset,\n.saltCalendarDay-hoveredOffset:hover {\n background: var(--calendar-day-hoveredOffset-background);\n color: var(--calendar-day-hoveredOffset-text-color);\n}\n\n.saltCalendarDay-selected,\n.saltCalendarDay-selected:hover {\n background: var(--calendar-day-selected-background);\n color: var(--calendar-day-selected-text-color);\n}\n\n.saltCalendarDay-selectedStart,\n.saltCalendarDay-selectedStart:hover {\n background: var(--calendar-day-selectedStart-background);\n color: var(--calendar-day-selectedStart-text-color);\n}\n\n.saltCalendarDay-selectedEnd,\n.saltCalendarDay-selectedEnd:hover {\n background: var(--calendar-day-selectedEnd-background);\n color: var(--calendar-day-selectedEnd-text-color);\n}\n\n.saltCalendarDay-selected:focus-visible {\n outline-color: var(--calendar-day-selected-focused-outlineColor);\n}\n\n.saltCalendarDay-selectedStart:focus-visible {\n outline-color: var(--calendar-day-selectedStart-focused-outlineColor);\n}\n\n.saltCalendarDay-selectedEnd:focus-visible {\n outline-color: var(--calendar-day-selectedEnd-focused-outlineColor);\n}\n\n.saltCalendarDay-unselectableLow,\n.saltCalendarDay-unselectableLow:hover {\n color: var(--calendar-day-unselectable-text-color);\n background: var(--calendar-day-unselectable-background);\n cursor: var(--calendar-day-unselectable-cursor);\n text-decoration: line-through;\n}\n\n.salt-density-high {\n --calendar-day-blocked-icon-size: 14px;\n}\n\n.salt-density-medium {\n --calendar-day-blocked-icon-size: 18px;\n}\n\n.salt-density-low {\n --calendar-day-blocked-icon-size: 24px;\n}\n\n.salt-density-touch {\n --calendar-day-blocked-icon-size: 28px;\n}\n\n.saltCalendarDay-blockedIcon {\n fill: var(--calendar-day-blocked-icon-color);\n position: absolute;\n --icon-size: var(--calendar-day-blocked-icon-size);\n pointer-events: none;\n line-height: 1.29;\n}\n\n.saltCalendarDay-hidden {\n visibility: hidden;\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getLocalTimeZone, startOfWeek, today,
|
|
1
|
+
import { getLocalTimeZone, startOfWeek, today, startOfMonth, DateFormatter, startOfYear, isSameMonth, createCalendar } from '@internationalized/date';
|
|
2
2
|
|
|
3
3
|
const localTimezone = getLocalTimeZone();
|
|
4
4
|
function getCurrentLocale() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { today, getLocalTimeZone, startOfYear, endOfYear,
|
|
1
|
+
import { today, getLocalTimeZone, startOfYear, endOfYear, startOfMonth, endOfMonth, isSameDay } from '@internationalized/date';
|
|
2
2
|
import { useControlled } from '@salt-ds/core';
|
|
3
3
|
import { useCallback, useState, useEffect } from 'react';
|
|
4
4
|
import { useSelectionCalendar } from './useSelection.js';
|
|
@@ -2,9 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { makePrefixer, useId, GridLayout, Button } from '@salt-ds/core';
|
|
3
3
|
import { forwardRef, Children, useEffect } from 'react';
|
|
4
4
|
import { ChevronLeftIcon, ChevronRightIcon } from '@salt-ds/icons';
|
|
5
|
-
import '../radio-button/RadioButton.js';
|
|
5
|
+
import { RadioButton } from '../radio-button/RadioButton.js';
|
|
6
6
|
import { RadioButtonGroup } from '../radio-button/RadioButtonGroup.js';
|
|
7
|
-
import '../radio-button/RadioButtonBase.js';
|
|
8
7
|
import '../radio-button/RadioButtonIcon.js';
|
|
9
8
|
import { DeckLayout } from '../deck-layout/DeckLayout.js';
|
|
10
9
|
import { clsx } from 'clsx';
|
|
@@ -88,13 +87,15 @@ const Carousel = forwardRef(
|
|
|
88
87
|
/* @__PURE__ */ jsx("div", {
|
|
89
88
|
className: withBaseName("dots"),
|
|
90
89
|
children: /* @__PURE__ */ jsx(RadioButtonGroup, {
|
|
91
|
-
row: true,
|
|
92
90
|
"aria-label": "Carousel buttons",
|
|
93
91
|
onChange: handleRadioChange,
|
|
94
|
-
|
|
92
|
+
value: `${selectedSlide}`,
|
|
93
|
+
direction: "horizontal",
|
|
94
|
+
children: Array.from({ length: slidesCount }, (_2, index) => ({
|
|
95
95
|
value: `${index}`
|
|
96
|
-
})),
|
|
97
|
-
|
|
96
|
+
})).map((radio) => /* @__PURE__ */ jsx(RadioButton, {
|
|
97
|
+
...radio
|
|
98
|
+
}))
|
|
98
99
|
})
|
|
99
100
|
})
|
|
100
101
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.js","sources":["../src/carousel/Carousel.tsx"],"sourcesContent":["import { Button, GridLayout, makePrefixer, useId } from \"@salt-ds/core\";\nimport {\n ChangeEventHandler,\n Children,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n useEffect,\n} from \"react\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"@salt-ds/icons\";\nimport { RadioButtonGroup } from \"../radio-button\";\nimport { DeckLayout } from \"../deck-layout\";\nimport { clsx } from \"clsx\";\nimport \"./Carousel.css\";\nimport { useSlideSelection } from \"../utils\";\nimport { CarouselSlideProps } from \"./CarouselSlide\";\n\nconst withBaseName = makePrefixer(\"saltCarousel\");\n\nexport interface CarouselProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The initial Index enables you to select the active slide in the carousel.\n * Optional, default 0.\n **/\n initialIndex?: number;\n /**\n * The animation when the slides are shown.\n * Optional. Defaults to `slide`\n **/\n animation?: \"slide\" | \"fade\";\n /**\n * If this props is passed it will set the aria-label with value to the carousel container.\n * Optional. Defaults to undefined\n */\n carouselDescription?: string;\n /**\n * Collection of slides to render\n * Component must implement CarouselSlideProps. Mandatory.\n */\n children: Array<ReactElement<CarouselSlideProps>>;\n /**\n * This prop will enable compact / reduced width mode.\n * The navigation buttons would be part of indicators\n * Optional. Defaults to false\n **/\n compact?: boolean;\n /**\n * It sets the id for the Carousel Container.\n * String. Optional\n */\n id?: string;\n}\n\nexport const Carousel = forwardRef<HTMLDivElement, CarouselProps>(\n function Carousel(\n {\n initialIndex,\n animation = \"slide\",\n carouselDescription,\n children,\n className,\n compact,\n id: idProp,\n ...rest\n },\n ref\n ) {\n const id = useId(idProp);\n const slidesCount = Children.count(children);\n\n const [_, selectedSlide, handleSlideSelection] =\n useSlideSelection(initialIndex);\n\n const moveSlide = (direction: \"left\" | \"right\") => {\n const moveLeft =\n selectedSlide === 0 ? slidesCount - 1 : selectedSlide - 1;\n const moveRight =\n selectedSlide === slidesCount - 1 ? 0 : selectedSlide + 1;\n const newSelection = direction === \"left\" ? moveLeft : moveRight;\n const newTransition = direction === \"left\" ? \"decrease\" : \"increase\";\n handleSlideSelection(newSelection, newTransition);\n };\n\n const handleRadioChange: ChangeEventHandler<HTMLInputElement> = ({\n target: { value },\n }) => {\n handleSlideSelection(Number(value));\n };\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (slidesCount < 1) {\n console.warn(\n \"Carousel component requires more than one children to render. At least two elements should be provided.\"\n );\n }\n }\n }, [slidesCount]);\n\n return (\n <GridLayout\n aria-label={carouselDescription}\n aria-roledescription=\"carousel\"\n id={id}\n role=\"region\"\n ref={ref}\n gap={0}\n columns={3}\n className={clsx(\n withBaseName(),\n compact && withBaseName(\"compact\"),\n className\n )}\n {...rest}\n >\n <Button\n variant=\"secondary\"\n className={withBaseName(\"prev-button\")}\n onClick={() => moveSlide(\"left\")}\n >\n <ChevronLeftIcon size={2} />\n </Button>\n <DeckLayout\n activeIndex={selectedSlide}\n animation={animation}\n className={withBaseName(\"slider\")}\n >\n {children}\n </DeckLayout>\n <Button\n variant=\"secondary\"\n className={withBaseName(\"next-button\")}\n onClick={() => moveSlide(\"right\")}\n >\n <ChevronRightIcon size={2} />\n </Button>\n <div className={withBaseName(\"dots\")}>\n <RadioButtonGroup\n
|
|
1
|
+
{"version":3,"file":"Carousel.js","sources":["../src/carousel/Carousel.tsx"],"sourcesContent":["import { Button, GridLayout, makePrefixer, useId } from \"@salt-ds/core\";\nimport {\n ChangeEventHandler,\n Children,\n forwardRef,\n HTMLAttributes,\n ReactElement,\n useEffect,\n} from \"react\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"@salt-ds/icons\";\nimport { RadioButtonGroup, RadioButton } from \"../radio-button\";\nimport { DeckLayout } from \"../deck-layout\";\nimport { clsx } from \"clsx\";\nimport \"./Carousel.css\";\nimport { useSlideSelection } from \"../utils\";\nimport { CarouselSlideProps } from \"./CarouselSlide\";\n\nconst withBaseName = makePrefixer(\"saltCarousel\");\n\nexport interface CarouselProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * The initial Index enables you to select the active slide in the carousel.\n * Optional, default 0.\n **/\n initialIndex?: number;\n /**\n * The animation when the slides are shown.\n * Optional. Defaults to `slide`\n **/\n animation?: \"slide\" | \"fade\";\n /**\n * If this props is passed it will set the aria-label with value to the carousel container.\n * Optional. Defaults to undefined\n */\n carouselDescription?: string;\n /**\n * Collection of slides to render\n * Component must implement CarouselSlideProps. Mandatory.\n */\n children: Array<ReactElement<CarouselSlideProps>>;\n /**\n * This prop will enable compact / reduced width mode.\n * The navigation buttons would be part of indicators\n * Optional. Defaults to false\n **/\n compact?: boolean;\n /**\n * It sets the id for the Carousel Container.\n * String. Optional\n */\n id?: string;\n}\n\nexport const Carousel = forwardRef<HTMLDivElement, CarouselProps>(\n function Carousel(\n {\n initialIndex,\n animation = \"slide\",\n carouselDescription,\n children,\n className,\n compact,\n id: idProp,\n ...rest\n },\n ref\n ) {\n const id = useId(idProp);\n const slidesCount = Children.count(children);\n\n const [_, selectedSlide, handleSlideSelection] =\n useSlideSelection(initialIndex);\n\n const moveSlide = (direction: \"left\" | \"right\") => {\n const moveLeft =\n selectedSlide === 0 ? slidesCount - 1 : selectedSlide - 1;\n const moveRight =\n selectedSlide === slidesCount - 1 ? 0 : selectedSlide + 1;\n const newSelection = direction === \"left\" ? moveLeft : moveRight;\n const newTransition = direction === \"left\" ? \"decrease\" : \"increase\";\n handleSlideSelection(newSelection, newTransition);\n };\n\n const handleRadioChange: ChangeEventHandler<HTMLInputElement> = ({\n target: { value },\n }) => {\n handleSlideSelection(Number(value));\n };\n\n useEffect(() => {\n if (process.env.NODE_ENV !== \"production\") {\n if (slidesCount < 1) {\n console.warn(\n \"Carousel component requires more than one children to render. At least two elements should be provided.\"\n );\n }\n }\n }, [slidesCount]);\n\n return (\n <GridLayout\n aria-label={carouselDescription}\n aria-roledescription=\"carousel\"\n id={id}\n role=\"region\"\n ref={ref}\n gap={0}\n columns={3}\n className={clsx(\n withBaseName(),\n compact && withBaseName(\"compact\"),\n className\n )}\n {...rest}\n >\n <Button\n variant=\"secondary\"\n className={withBaseName(\"prev-button\")}\n onClick={() => moveSlide(\"left\")}\n >\n <ChevronLeftIcon size={2} />\n </Button>\n <DeckLayout\n activeIndex={selectedSlide}\n animation={animation}\n className={withBaseName(\"slider\")}\n >\n {children}\n </DeckLayout>\n <Button\n variant=\"secondary\"\n className={withBaseName(\"next-button\")}\n onClick={() => moveSlide(\"right\")}\n >\n <ChevronRightIcon size={2} />\n </Button>\n <div className={withBaseName(\"dots\")}>\n <RadioButtonGroup\n aria-label=\"Carousel buttons\"\n onChange={handleRadioChange}\n value={`${selectedSlide}`}\n direction={\"horizontal\"}\n >\n {Array.from({ length: slidesCount }, (_, index) => ({\n value: `${index}`,\n })).map((radio) => (\n <RadioButton {...radio} />\n ))}\n </RadioButtonGroup>\n </div>\n </GridLayout>\n );\n }\n);\n"],"names":["Carousel","_"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltMenuItem {\n background: var(--salt-selectable-background);\n display: flex;\n\n align-items: center;\n justify-content: space-between;\n\n right: 0;\n cursor: pointer;\n overflow: hidden;\n text-align: left;\n user-select: none;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltMenuItem-menuItemText {\n flex-grow: 2;\n white-space: nowrap;\n}\n\n.saltMenuItem-menuItemEndAdornment {\n margin-left: 8px; /* density */\n}\n\n.saltMenuItem-menuItemStartAdornmentContainer {\n margin-right: var(--salt-size-unit);\n width: 12px;\n}\n\n.saltMenuItem-menuItemAdornmentHidden {\n visibility: hidden;\n}\n\n.saltMenuItem.saltMenuItem-menuItemDivider {\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-secondary-borderColor);\n}\n\n.saltMenuItem-menuItemHover:hover {\n background:
|
|
3
|
+
var css_248z = ".saltMenuItem {\n background: var(--salt-selectable-background);\n display: flex;\n\n align-items: center;\n justify-content: space-between;\n\n right: 0;\n cursor: pointer;\n overflow: hidden;\n text-align: left;\n user-select: none;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltMenuItem-menuItemText {\n flex-grow: 2;\n white-space: nowrap;\n}\n\n.saltMenuItem-menuItemEndAdornment {\n margin-left: 8px; /* density */\n}\n\n.saltMenuItem-menuItemStartAdornmentContainer {\n margin-right: var(--salt-size-unit);\n width: 12px;\n}\n\n.saltMenuItem-menuItemAdornmentHidden {\n visibility: hidden;\n}\n\n.saltMenuItem.saltMenuItem-menuItemDivider {\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-secondary-borderColor);\n}\n\n.saltMenuItem-menuItemHover:hover {\n background: var(--salt-selectable-background-hover);\n}\n\n/* extra specificity requred to override ListItem selected */\n.saltMenuItem.saltMenuItem-menuItemBlurSelected {\n background: var(--salt-selectable-background-blurSelected) !important;\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Styles applied to root component */\n.salt-density-high {\n --checkbox-size: 12px;\n --checkbox-density-bar-y: 5px;\n --checkbox-density-bar-height: 3px;\n}\n\n.salt-density-medium {\n --checkbox-size: 14px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-low {\n --checkbox-size: 16px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-touch {\n --checkbox-size: 18px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.saltCheckboxIcon {\n --checkbox-borderWidth: var(--salt-size-border);\n --checkbox-box-offset: calc(var(--checkbox-borderWidth) / 2);\n --checkbox-height: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-tick-color, var(--salt-selectable-primary-foreground-selected));\n --checkbox-viewbox: 14px; /* do not change, matches value in svg viewBox */\n --checkbox-width: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n\n fill: var(--saltCheckbox-icon-fill, var(--salt-selectable-background));\n height: var(--saltCheckbox-icon-size, var(--checkbox-size));\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth, var(--salt-size-border));\n width: var(--saltCheckbox-icon-size, var(--checkbox-size));\n}\n\n/* Styles applied to root component on hover */\n.saltCheckbox:hover .saltCheckboxIcon,\n.saltCheckboxIcon:hover {\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-hover, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` */\n.saltCheckboxIcon-disabled {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` on hover */\n.saltCheckboxIcon.saltCheckboxIcon-disabled:hover,\n.saltCheckbox.saltCheckbox-disabled:hover .saltCheckboxIcon {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `checked={true}` */\n.saltCheckboxIcon-checked {\n --checkbox-borderWidth: var(--saltCheckbox-icon-borderWidth-checked, 0px);\n\n fill: var(--saltCheckbox-icon-fill-checked, var(--salt-selectable-borderColor-selected));\n}\n\n/* Styles applied if `checked={true}` and `disabled={true}` */\n.saltCheckboxIcon-checked.saltCheckboxIcon-disabled {\n fill: var(--saltCheckbox-icon-fill-disabled, var(--salt-selectable-borderColor-selectedDisabled));\n}\n\n/* Styles applied to box */\n.saltCheckboxIcon-box {\n height: var(--checkbox-height);\n stroke-width: var(--checkbox-borderWidth);\n width: var(--checkbox-width);\n x: var(--checkbox-box-offset);\n y: var(--checkbox-box-offset);\n}\n\n/* Styles applied to icon if `indeterminate={true}` */\n.saltCheckboxIcon-indeterminate {\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-indeterminate-bar-color, var(--salt-selectable-foreground-
|
|
3
|
+
var css_248z = "/* Styles applied to root component */\n.salt-density-high {\n --checkbox-size: 12px;\n --checkbox-density-bar-y: 5px;\n --checkbox-density-bar-height: 3px;\n}\n\n.salt-density-medium {\n --checkbox-size: 14px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-low {\n --checkbox-size: 16px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-touch {\n --checkbox-size: 18px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.saltCheckboxIcon {\n --checkbox-borderWidth: var(--salt-size-border);\n --checkbox-box-offset: calc(var(--checkbox-borderWidth) / 2);\n --checkbox-height: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-tick-color, var(--salt-selectable-primary-foreground-selected));\n --checkbox-viewbox: 14px; /* do not change, matches value in svg viewBox */\n --checkbox-width: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n\n fill: var(--saltCheckbox-icon-fill, var(--salt-selectable-background));\n height: var(--saltCheckbox-icon-size, var(--checkbox-size));\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth, var(--salt-size-border));\n width: var(--saltCheckbox-icon-size, var(--checkbox-size));\n}\n\n/* Styles applied to root component on hover */\n.saltCheckbox:hover .saltCheckboxIcon,\n.saltCheckboxIcon:hover {\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-hover, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` */\n.saltCheckboxIcon-disabled {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` on hover */\n.saltCheckboxIcon.saltCheckboxIcon-disabled:hover,\n.saltCheckbox.saltCheckbox-disabled:hover .saltCheckboxIcon {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `checked={true}` */\n.saltCheckboxIcon-checked {\n --checkbox-borderWidth: var(--saltCheckbox-icon-borderWidth-checked, 0px);\n\n fill: var(--saltCheckbox-icon-fill-checked, var(--salt-selectable-borderColor-selected));\n}\n\n/* Styles applied if `checked={true}` and `disabled={true}` */\n.saltCheckboxIcon-checked.saltCheckboxIcon-disabled {\n fill: var(--saltCheckbox-icon-fill-disabled, var(--salt-selectable-borderColor-selectedDisabled));\n}\n\n/* Styles applied to box */\n.saltCheckboxIcon-box {\n height: var(--checkbox-height);\n stroke-width: var(--checkbox-borderWidth);\n width: var(--checkbox-width);\n x: var(--checkbox-box-offset);\n y: var(--checkbox-box-offset);\n}\n\n/* Styles applied to icon if `indeterminate={true}` */\n.saltCheckboxIcon-indeterminate {\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-indeterminate-bar-color, var(--salt-selectable-foreground-selected));\n}\n\n/* Styles applied if `indeterminate={true}` and `disabled={true}` */\n.saltCheckboxIcon-disabled.saltCheckboxIcon-indeterminate {\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-indeterminate-bar-color-disabled, var(--salt-selectable-foreground-selectedDisabled));\n}\n\n/* Styles applied to tick */\n.saltCheckboxIcon-tick {\n fill: var(--saltCheckbox-icon-tick-fill, var(--checkbox-icon-tick-fill));\n stroke-width: 0;\n}\n\n/* Styles applied to tick if `indeterminate={true}` */\n.saltCheckboxIcon-indeterminate .saltCheckboxIcon-tick {\n height: var(--saltCheckbox-icon-indeterminate-bar-height, var(--checkbox-density-bar-height));\n y: var(--saltCheckbox-icon-indeterminate-bar-y, var(--checkbox-density-bar-y));\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import tinycolor from 'tinycolor2';
|
|
2
|
+
import { getColorNameByHexValue } from './ColorHelpers.js';
|
|
2
3
|
|
|
3
4
|
class Color {
|
|
4
5
|
constructor() {
|
|
@@ -15,6 +16,14 @@ class Color {
|
|
|
15
16
|
a: this.color.toRgb().a
|
|
16
17
|
};
|
|
17
18
|
}
|
|
19
|
+
get colorName() {
|
|
20
|
+
return getColorNameByHexValue(
|
|
21
|
+
this.color.toHex8String(),
|
|
22
|
+
false,
|
|
23
|
+
void 0,
|
|
24
|
+
true
|
|
25
|
+
);
|
|
26
|
+
}
|
|
18
27
|
static makeColorFromHex(hexValue) {
|
|
19
28
|
const colorObj = new Color();
|
|
20
29
|
colorObj.color = tinycolor(hexValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Color.js","sources":["../src/color-chooser/Color.ts"],"sourcesContent":["import tinycolor from \"tinycolor2\";\n\nexport type RGBAValue = {\n r: number;\n b: number;\n g: number;\n a: number;\n};\n\nexport class Color {\n private color: tinycolor.Instance = tinycolor();\n\n public get hex(): string {\n return this.color.getAlpha() === 1\n ? this.color.toHexString()\n : this.color.toHex8String();\n }\n\n public get rgba(): RGBAValue {\n return {\n r: this.color.toRgb().r,\n g: this.color.toRgb().g,\n b: this.color.toRgb().b,\n a: this.color.toRgb().a,\n };\n }\n\n static makeColorFromHex(hexValue: string | undefined): Color | undefined {\n const colorObj = new Color();\n colorObj.color = tinycolor(hexValue);\n\n if (colorObj.color.isValid()) {\n return colorObj;\n } else {\n return undefined;\n }\n }\n\n static makeColorFromRGB(r: number, g: number, b: number, a?: number): Color {\n const colorObj = new Color();\n colorObj.color = tinycolor({ r: r, g: g, b: b, a: a });\n return colorObj;\n }\n\n setAlpha(alpha: number): Color {\n const colorObj = new Color();\n colorObj.color = this.color.setAlpha(alpha);\n return colorObj;\n }\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Color.js","sources":["../src/color-chooser/Color.ts"],"sourcesContent":["import tinycolor from \"tinycolor2\";\nimport { getColorNameByHexValue } from \"./ColorHelpers\";\n\nexport type RGBAValue = {\n r: number;\n b: number;\n g: number;\n a: number;\n};\n\nexport class Color {\n private color: tinycolor.Instance = tinycolor();\n\n public get hex(): string {\n return this.color.getAlpha() === 1\n ? this.color.toHexString()\n : this.color.toHex8String();\n }\n\n public get rgba(): RGBAValue {\n return {\n r: this.color.toRgb().r,\n g: this.color.toRgb().g,\n b: this.color.toRgb().b,\n a: this.color.toRgb().a,\n };\n }\n\n /** E.g. Orange800 */\n public get colorName(): string | undefined {\n return getColorNameByHexValue(\n this.color.toHex8String(),\n false,\n undefined,\n true\n );\n }\n\n static makeColorFromHex(hexValue: string | undefined): Color | undefined {\n const colorObj = new Color();\n colorObj.color = tinycolor(hexValue);\n\n if (colorObj.color.isValid()) {\n return colorObj;\n } else {\n return undefined;\n }\n }\n\n static makeColorFromRGB(r: number, g: number, b: number, a?: number): Color {\n const colorObj = new Color();\n colorObj.color = tinycolor({ r: r, g: g, b: b, a: a });\n return colorObj;\n }\n\n setAlpha(alpha: number): Color {\n const colorObj = new Color();\n colorObj.color = this.color.setAlpha(alpha);\n return colorObj;\n }\n}\n"],"names":[],"mappings":";;;AAUO,MAAM,KAAM,CAAA;AAAA,EAAZ,WAAA,GAAA;AACL,IAAA,IAAA,CAAQ,QAA4B,SAAU,EAAA,CAAA;AAAA,GAAA;AAAA,EAE9C,IAAW,GAAc,GAAA;AACvB,IAAO,OAAA,IAAA,CAAK,KAAM,CAAA,QAAA,EAAe,KAAA,CAAA,GAC7B,IAAK,CAAA,KAAA,CAAM,WAAY,EAAA,GACvB,IAAK,CAAA,KAAA,CAAM,YAAa,EAAA,CAAA;AAAA,GAC9B;AAAA,EAEA,IAAW,IAAkB,GAAA;AAC3B,IAAO,OAAA;AAAA,MACL,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,MACtB,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,MACtB,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,MACtB,CAAG,EAAA,IAAA,CAAK,KAAM,CAAA,KAAA,EAAQ,CAAA,CAAA;AAAA,KACxB,CAAA;AAAA,GACF;AAAA,EAGA,IAAW,SAAgC,GAAA;AACzC,IAAO,OAAA,sBAAA;AAAA,MACL,IAAA,CAAK,MAAM,YAAa,EAAA;AAAA,MACxB,KAAA;AAAA,MACA,KAAA,CAAA;AAAA,MACA,IAAA;AAAA,KACF,CAAA;AAAA,GACF;AAAA,EAEA,OAAO,iBAAiB,QAAiD,EAAA;AACvE,IAAM,MAAA,QAAA,GAAW,IAAI,KAAM,EAAA,CAAA;AAC3B,IAAS,QAAA,CAAA,KAAA,GAAQ,UAAU,QAAQ,CAAA,CAAA;AAEnC,IAAI,IAAA,QAAA,CAAS,KAAM,CAAA,OAAA,EAAW,EAAA;AAC5B,MAAO,OAAA,QAAA,CAAA;AAAA,KACF,MAAA;AACL,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACF;AAAA,EAEA,OAAO,gBAAA,CAAiB,CAAW,EAAA,CAAA,EAAW,GAAW,CAAmB,EAAA;AAC1E,IAAM,MAAA,QAAA,GAAW,IAAI,KAAM,EAAA,CAAA;AAC3B,IAAA,QAAA,CAAS,QAAQ,SAAU,CAAA,EAAE,GAAM,CAAM,EAAA,CAAA,EAAM,GAAM,CAAA,CAAA;AACrD,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AAAA,EAEA,SAAS,KAAsB,EAAA;AAC7B,IAAM,MAAA,QAAA,GAAW,IAAI,KAAM,EAAA,CAAA;AAC3B,IAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAK,KAAM,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AAC1C,IAAO,OAAA,QAAA,CAAA;AAAA,GACT;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltColorChooser-overlayButtonSwatch {\n margin-right: 10px;\n height: calc(2 * var(--salt-size-unit));\n width: calc(2 * var(--salt-size-unit));\n}\n\n.saltColorChooser-overlayButtonSwatchWithBorder {\n border: 0.2px solid var(--salt-editable-borderColor);\n}\n\n.saltColorChooser-overlayButtonSwatchTransparent {\n height: calc(3 * var(--salt-size-unit) - 2px) !important;\n width: calc(3 * var(--salt-size-unit) - 2px) !important;\n border: 1px solid var(--salt-
|
|
3
|
+
var css_248z = ".saltColorChooser-overlayButtonSwatch {\n margin-right: 10px;\n height: calc(2 * var(--salt-size-unit));\n width: calc(2 * var(--salt-size-unit));\n}\n\n.saltColorChooser-overlayButtonSwatchWithBorder {\n border: 0.2px solid var(--salt-editable-borderColor);\n}\n\n.saltColorChooser-overlayButtonSwatchTransparent {\n height: calc(3 * var(--salt-size-unit) - 2px) !important;\n width: calc(3 * var(--salt-size-unit) - 2px) !important;\n border: 1px solid var(--salt-status-negative-foreground);\n /* RGBA using red-700 */\n background: linear-gradient(\n to top left,\n rgba(166, 21, 11, 0) 0%,\n rgba(166, 21, 11, 0) calc(50% - 0.8px),\n rgba(166, 21, 11, 1) 50%,\n rgba(166, 21, 11, 0) calc(50% + 0.8px),\n rgba(166, 21, 11, 0) 100%\n );\n}\n\n.saltColorChooser-overlayButtonText {\n font-weight: var(--salt-text-fontWeight);\n font-family: var(--saltButton-fontFamily, var(--salt-text-fontFamily));\n font-size: var(--salt-text-fontSize);\n letter-spacing: normal;\n}\n\n.saltColorChooser-overlayButton {\n background: transparent;\n text-transform: none;\n justify-content: flex-start;\n}\n\n.saltColorChooser-overlayButtonHiddenLabel {\n width: calc(var(--salt-size-unit) * 3);\n display: contents;\n}\n\n.saltColorChooser-overlayButtonClose {\n margin: 5px;\n}\n\n.saltColorChooser-defaultButton {\n float: right;\n background: transparent;\n padding: 6px 2px 6px 2px;\n height: var(--salt-size-stackable);\n}\n\n.saltColorChooser-defaultButton {\n border-bottom: var(--salt-size-border) var(--salt-editable-borderStyle) var(--salt-editable-borderColor);\n}\n\n.saltColorChooser-overlayContent {\n max-width: 100%;\n}\n\n.saltColorChooser-refreshIcon {\n padding-right: 5px;\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
@@ -2,7 +2,7 @@ import { saltColorMap } from './colorMap.js';
|
|
|
2
2
|
import { Color } from './Color.js';
|
|
3
3
|
import { isTransparent } from './color-utils.js';
|
|
4
4
|
|
|
5
|
-
function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrides) {
|
|
5
|
+
function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrides, disableFallBackToHex = false) {
|
|
6
6
|
const hexNoAlpha = hexValueWithoutAlpha(hexValue);
|
|
7
7
|
const saltColors = saltColorOverrides != null ? saltColorOverrides : saltColorMap;
|
|
8
8
|
if (isTransparent(hexValue))
|
|
@@ -22,7 +22,7 @@ function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrid
|
|
|
22
22
|
if (hexValue === "WHITE" || hexValue === "BLACK") {
|
|
23
23
|
return hexValue.charAt(0) + hexValue.slice(1).toLowerCase();
|
|
24
24
|
}
|
|
25
|
-
return getHexValue(hexValue, disableAlpha);
|
|
25
|
+
return disableFallBackToHex ? void 0 : getHexValue(hexValue, disableAlpha);
|
|
26
26
|
}
|
|
27
27
|
function hexValueWithoutAlpha(hexValue) {
|
|
28
28
|
if (hexValue === void 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorHelpers.js","sources":["../src/color-chooser/ColorHelpers.ts"],"sourcesContent":["import { saltColorMap } from \"./colorMap\";\nimport { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\n\nexport function getColorNameByHexValue(\n hexValue: string | undefined,\n disableAlpha = false,\n saltColorOverrides?: Record<string, string
|
|
1
|
+
{"version":3,"file":"ColorHelpers.js","sources":["../src/color-chooser/ColorHelpers.ts"],"sourcesContent":["import { saltColorMap } from \"./colorMap\";\nimport { Color } from \"./Color\";\nimport { isTransparent } from \"./color-utils\";\n\nexport function getColorNameByHexValue(\n hexValue: string | undefined,\n disableAlpha = false,\n saltColorOverrides?: Record<string, string>,\n /** When disabled, color names not recognized will be undefined instead of hex values */\n disableFallBackToHex = false\n): string | undefined {\n const hexNoAlpha = hexValueWithoutAlpha(hexValue);\n const saltColors = saltColorOverrides ?? saltColorMap;\n\n // Special case\n if (isTransparent(hexValue)) return \"Transparent\";\n\n let colorName = Object.keys(saltColors).find((key: string) => {\n if (saltColors[key]) {\n const rgbVals = saltColors[key].startsWith(\"rgba\")\n ? saltColors[key].substring(5, saltColors[key].length - 1)\n : saltColors[key].substring(4, saltColors[key].length - 1);\n const [r, g, b] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return (\n Color.makeColorFromRGB(Number(r), Number(g), Number(b)).hex ===\n hexNoAlpha?.toLowerCase()\n );\n }\n return 0;\n });\n\n if (colorName) {\n colorName = colorName.slice(4);\n return colorName.charAt(0).toUpperCase() + colorName.slice(1).toLowerCase();\n }\n\n if (hexValue === \"WHITE\" || hexValue === \"BLACK\") {\n return hexValue.charAt(0) + hexValue.slice(1).toLowerCase();\n }\n\n return disableFallBackToHex ? undefined : getHexValue(hexValue, disableAlpha);\n}\n\nexport function hexValueWithoutAlpha(\n hexValue: string | undefined\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return isValidHex(hexValue)\n ? hexValue.substring(0, 7).toUpperCase()\n : undefined;\n}\n\nexport function getHexValue(\n hexValue: string | undefined,\n disableAlpha: boolean\n): string | undefined {\n if (hexValue === undefined) return undefined;\n return disableAlpha ? hexValueWithoutAlpha(hexValue) : hexValue;\n}\n\nexport const isValidHex = (hex: string | undefined): boolean => {\n return hex\n ? /^#[0-9a-fA-F]{8}$/.test(hex) || /#[0-9a-fA-F]{6}$/.test(hex)\n : false;\n};\n\nexport const convertColorMapValueToHex = (color: string): string => {\n if (!color.startsWith(\"rgb\")) return color;\n const rgbVals = color.startsWith(\"rgba\")\n ? color.substring(5, color.length - 1)\n : color.substring(4, color.length - 1);\n const [r, g, b, a] = [...rgbVals.replace(\" \", \"\").split(\",\")];\n return Color.makeColorFromRGB(\n Number(r),\n Number(g),\n Number(b),\n a ? Number(a) : 1\n ).hex;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/*TODO: New component; needs complete restyling to use characteristics properly */\n.saltColorChooserSwatch-swatch,\n.saltColorChooserSwatch-graySwatch {\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.salt-density-touch,\n.salt-density-low,\n.salt-density-medium,\n.salt-density-high {\n --colorChooser-swatch-density-high-size: calc(5 * var(--salt-size-unit));\n --colorChooser-swatch-density-medium-size: calc(3 * var(--salt-size-unit));\n --colorChooser-swatch-density-low-size: calc(3 * var(--salt-size-unit));\n --colorChooser-swatch-density-touch-size: calc(2 * var(--salt-size-unit));\n}\n\n.salt-density-touch {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-touch-size);\n}\n.salt-density-low {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-low-size);\n}\n.salt-density-medium {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-medium-size);\n}\n.salt-density-high {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-high-size);\n}\n\n.saltColorChooserSwatch-swatch,\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-graySwatch {\n width: var(--colorChooser-swatch-size-unit);\n height: var(--colorChooser-swatch-size-unit);\n}\n\n.saltColorChooserSwatch-whiteSwatch {\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-whiteSwatch {\n border: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n}\n\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-whiteSwatch,\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-graySwatch {\n width: calc(var(--colorChooser-swatch-size-unit) - 2);\n height: calc(var(--colorChooser-swatch-size-unit) - 2);\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-whiteSwatch,\n.saltColorChooserSwatch-graySwatch {\n border: 0px;\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-whiteSwatch {\n width: calc(var(--colorChooser-swatch-size-unit) - 2);\n height: calc(var(--colorChooser-swatch-size-unit) - 2);\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-graySwatch {\n border: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n}\n\n.saltColorChooserSwatch-active {\n outline: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n border: var(--salt-focused-outlineWidth) var(--salt-container-borderStyle) var(--salt-actionable-cta-foreground-active) !important;\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.saltColorChooserSwatch-transparent {\n border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-negative-foreground) !important;\n width: calc(var(--colorChooser-swatch-size-unit) - 2px) !important;\n height: calc(var(--colorChooser-swatch-size-unit) - 2px) !important;\n margin-bottom: 1px;\n margin-left: 1px;\n background: linear-gradient(\n to top left,\n rgba(166, 21, 11, 0) 0%,\n rgba(166, 21, 11, 0) calc(50% - 0.8px),\n rgba(166, 21, 11, 1) 50%,\n rgba(166, 21, 11, 0) calc(50% + 0.8px),\n rgba(166, 21, 11, 0) 100%\n ) !important;\n}\n";
|
|
3
|
+
var css_248z = "/*TODO: New component; needs complete restyling to use characteristics properly */\n.saltColorChooserSwatch-swatch,\n.saltColorChooserSwatch-graySwatch {\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.salt-density-touch,\n.salt-density-low,\n.salt-density-medium,\n.salt-density-high {\n --colorChooser-swatch-density-high-size: calc(5 * var(--salt-size-unit));\n --colorChooser-swatch-density-medium-size: calc(3 * var(--salt-size-unit));\n --colorChooser-swatch-density-low-size: calc(3 * var(--salt-size-unit));\n --colorChooser-swatch-density-touch-size: calc(2 * var(--salt-size-unit));\n}\n\n.salt-density-touch {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-touch-size);\n}\n.salt-density-low {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-low-size);\n}\n.salt-density-medium {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-medium-size);\n}\n.salt-density-high {\n --colorChooser-swatch-size-unit: var(--colorChooser-swatch-density-high-size);\n}\n\n.saltColorChooserSwatch-swatch,\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-graySwatch {\n width: var(--colorChooser-swatch-size-unit);\n height: var(--colorChooser-swatch-size-unit);\n}\n\n.saltColorChooserSwatch-whiteSwatch {\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-whiteSwatch {\n border: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n}\n\n.salt-theme[data-mode=\"light\"] .saltColorChooserSwatch-whiteSwatch,\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-graySwatch {\n width: calc(var(--colorChooser-swatch-size-unit) - 2);\n height: calc(var(--colorChooser-swatch-size-unit) - 2);\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-whiteSwatch,\n.saltColorChooserSwatch-graySwatch {\n border: 0px;\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-whiteSwatch {\n width: calc(var(--colorChooser-swatch-size-unit) - 2);\n height: calc(var(--colorChooser-swatch-size-unit) - 2);\n}\n\n.salt-theme[data-mode=\"dark\"] .saltColorChooserSwatch-graySwatch {\n border: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n}\n\n.saltColorChooserSwatch-active {\n outline: var(--salt-size-border) var(--salt-container-borderColor-style) var(--salt-container-primary-borderColor);\n border: var(--salt-focused-outlineWidth) var(--salt-container-borderStyle) var(--salt-actionable-cta-foreground-active) !important;\n margin-bottom: 1px;\n margin-left: 1px;\n cursor: pointer;\n}\n\n.saltColorChooserSwatch-transparent {\n border: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-status-negative-foreground) !important;\n width: calc(var(--colorChooser-swatch-size-unit) - 2px) !important;\n height: calc(var(--colorChooser-swatch-size-unit) - 2px) !important;\n margin-bottom: 1px;\n margin-left: 1px;\n background: linear-gradient(\n to top left,\n rgba(166, 21, 11, 0) 0%,\n rgba(166, 21, 11, 0) calc(50% - 0.8px),\n rgba(166, 21, 11, 1) 50%,\n rgba(166, 21, 11, 0) calc(50% + 0.8px),\n rgba(166, 21, 11, 0) 100%\n ) !important;\n}\n";
|
|
4
4
|
styleInject(css_248z);
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|