@salt-ds/lab 1.0.0-alpha.3 → 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/carousel/Carousel.js +7 -6
- package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +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/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/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/ContactDetails.css.js +1 -1
- package/dist-cjs/packages/lab/src/index.js +0 -3
- package/dist-cjs/packages/lab/src/index.js.map +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/slider/Slider.css.js +1 -1
- package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.css.js +1 -1
- package/dist-es/packages/lab/src/calendar/internal/CalendarCarousel.js +2 -2
- 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/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/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/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/ContactDetails.css.js +1 -1
- package/dist-es/packages/lab/src/index.js +1 -2
- package/dist-es/packages/lab/src/index.js.map +1 -1
- package/dist-es/packages/lab/src/list-deprecated/useList.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/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/toggle-button/ToggleButton.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/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/package.json +2 -2
- 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/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/radio-button/RadioButtonBase.d.ts +0 -22
|
@@ -6,9 +6,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var core = require('@salt-ds/core');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var icons = require('@salt-ds/icons');
|
|
9
|
-
require('../radio-button/RadioButton.js');
|
|
9
|
+
var RadioButton = require('../radio-button/RadioButton.js');
|
|
10
10
|
var RadioButtonGroup = require('../radio-button/RadioButtonGroup.js');
|
|
11
|
-
require('../radio-button/RadioButtonBase.js');
|
|
12
11
|
require('../radio-button/RadioButtonIcon.js');
|
|
13
12
|
var DeckLayout = require('../deck-layout/DeckLayout.js');
|
|
14
13
|
var clsx = require('clsx');
|
|
@@ -92,13 +91,15 @@ const Carousel = React.forwardRef(
|
|
|
92
91
|
/* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
93
92
|
className: withBaseName("dots"),
|
|
94
93
|
children: /* @__PURE__ */ jsxRuntime.jsx(RadioButtonGroup.RadioButtonGroup, {
|
|
95
|
-
row: true,
|
|
96
94
|
"aria-label": "Carousel buttons",
|
|
97
95
|
onChange: handleRadioChange,
|
|
98
|
-
|
|
96
|
+
value: `${selectedSlide}`,
|
|
97
|
+
direction: "horizontal",
|
|
98
|
+
children: Array.from({ length: slidesCount }, (_2, index) => ({
|
|
99
99
|
value: `${index}`
|
|
100
|
-
})),
|
|
101
|
-
|
|
100
|
+
})).map((radio) => /* @__PURE__ */ jsxRuntime.jsx(RadioButton.RadioButton, {
|
|
101
|
+
...radio
|
|
102
|
+
}))
|
|
102
103
|
})
|
|
103
104
|
})
|
|
104
105
|
]
|
|
@@ -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":["makePrefixer","forwardRef","Carousel","useId","Children","useSlideSelection","useEffect","jsxs","GridLayout","clsx","jsx","Button","ChevronLeftIcon","DeckLayout","ChevronRightIcon","RadioButtonGroup","_","RadioButton"],"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 = "/* 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-
|
|
5
|
+
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";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var tinycolor = require('tinycolor2');
|
|
6
|
+
var ColorHelpers = require('./ColorHelpers.js');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
9
|
|
|
@@ -23,6 +24,14 @@ class Color {
|
|
|
23
24
|
a: this.color.toRgb().a
|
|
24
25
|
};
|
|
25
26
|
}
|
|
27
|
+
get colorName() {
|
|
28
|
+
return ColorHelpers.getColorNameByHexValue(
|
|
29
|
+
this.color.toHex8String(),
|
|
30
|
+
false,
|
|
31
|
+
void 0,
|
|
32
|
+
true
|
|
33
|
+
);
|
|
34
|
+
}
|
|
26
35
|
static makeColorFromHex(hexValue) {
|
|
27
36
|
const colorObj = new Color();
|
|
28
37
|
colorObj.color = tinycolor__default["default"](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":["tinycolor"],"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":["tinycolor","getColorNameByHexValue"],"mappings":";;;;;;;;;;;AAUO,MAAM,KAAM,CAAA;AAAA,EAAZ,WAAA,GAAA;AACL,IAAA,IAAA,CAAQ,QAA4BA,6BAAU,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,OAAAC,mCAAA;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,GAAQD,8BAAU,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,QAAQA,6BAAU,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;;;;"}
|
|
@@ -6,7 +6,7 @@ var colorMap = require('./colorMap.js');
|
|
|
6
6
|
var Color = require('./Color.js');
|
|
7
7
|
var colorUtils = require('./color-utils.js');
|
|
8
8
|
|
|
9
|
-
function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrides) {
|
|
9
|
+
function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrides, disableFallBackToHex = false) {
|
|
10
10
|
const hexNoAlpha = hexValueWithoutAlpha(hexValue);
|
|
11
11
|
const saltColors = saltColorOverrides != null ? saltColorOverrides : colorMap.saltColorMap;
|
|
12
12
|
if (colorUtils.isTransparent(hexValue))
|
|
@@ -26,7 +26,7 @@ function getColorNameByHexValue(hexValue, disableAlpha = false, saltColorOverrid
|
|
|
26
26
|
if (hexValue === "WHITE" || hexValue === "BLACK") {
|
|
27
27
|
return hexValue.charAt(0) + hexValue.slice(1).toLowerCase();
|
|
28
28
|
}
|
|
29
|
-
return getHexValue(hexValue, disableAlpha);
|
|
29
|
+
return disableFallBackToHex ? void 0 : getHexValue(hexValue, disableAlpha);
|
|
30
30
|
}
|
|
31
31
|
function hexValueWithoutAlpha(hexValue) {
|
|
32
32
|
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":["saltColorMap","isTransparent","Color"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const isTransparent = (color) => {
|
|
6
|
-
return
|
|
6
|
+
return color ? /#[\da-f]{6}00/i.test(color) : false;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
exports.isTransparent = isTransparent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-utils.js","sources":["../src/color-chooser/color-utils.ts"],"sourcesContent":["export const isTransparent = (color?: string): boolean => {\n return color
|
|
1
|
+
{"version":3,"file":"color-utils.js","sources":["../src/color-chooser/color-utils.ts"],"sourcesContent":["export const isTransparent = (color?: string): boolean => {\n return color ? /#[\\da-f]{6}00/i.test(color) : false;\n};\n"],"names":[],"mappings":";;;;AAAa,MAAA,aAAA,GAAgB,CAAC,KAA4B,KAAA;AACxD,EAAA,OAAO,KAAQ,GAAA,gBAAA,CAAiB,IAAK,CAAA,KAAK,CAAI,GAAA,KAAA,CAAA;AAChD;;;;"}
|
|
@@ -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 --contactDetails-default-primary-fontSize: 30px;\n --contactDetails-default-secondary-fontSize: 16px;\n --contactDetails-compact-primary-fontSize: 16px;\n --contactDetails-compact-secondary-fontSize: 14px;\n --contactDetails-icon-size: 18px;\n --contactDetails-label-width: 80px;\n}\n\n.salt-density-low {\n --contactDetails-compact-primary-fontSize: 14px;\n --contactDetails-default-primary-fontSize: 24px;\n --contactDetails-compact-secondary-fontSize: 14px;\n --contactDetails-default-secondary-fontSize: 14px;\n --contactDetails-label-width: 70px;\n --contactDetails-icon-size: 16px;\n}\n\n.salt-density-medium {\n --contactDetails-compact-primary-fontSize: 12px;\n --contactDetails-default-primary-fontSize: 18px;\n --contactDetails-compact-secondary-fontSize: 12px;\n --contactDetails-default-secondary-fontSize: 12px;\n --contactDetails-label-width: 60px;\n --contactDetails-icon-size: 14px;\n}\n\n.salt-density-high {\n --contactDetails-compact-primary-fontSize: 11px;\n --contactDetails-default-primary-fontSize: 14px;\n --contactDetails-compact-secondary-fontSize: 11px;\n --contactDetails-default-secondary-fontSize: 11px;\n --contactDetails-label-width: 60px;\n --contactDetails-icon-size: 12px;\n}\n\n.saltContactDetails {\n --contactDetails-color: var(--salt-text-primary-foreground);\n --contactDetails-label-color: var(--salt-text-secondary-foreground);\n --contactDetails-noAvatar-color: var(--salt-accent-background);\n --contactDetails-noAvatar-indicator-width: 4px;\n --contactDetails-favoriteToggle-fill: var(--contactDetails-deselected-icon-color);\n --contactDetails-favoriteToggle-marginRight: 0px;\n --contactDetails-favoriteToggle-marginTop: 0px;\n --contactDetails-mini-secondaryInfo-marginLeft: var(--salt-size-unit);\n --contactDetails-mini-stacked-secondaryInfo-marginLeft: calc(var(--salt-size-unit) * 2);\n --contactDetails-compact-tertiaryInfo-marginLeft: var(--salt-size-unit);\n\n /* TODO: Check below tokens with design */\n --contactDetails-separator-color: var(--salt-separable-secondary-borderColor);\n}\n\n.saltContactDetails {\n display: grid;\n padding: var(--salt-size-unit);\n}\n\n.saltContactDetails.saltContactDetails-noAvatar {\n padding-left: 0;\n}\n\n.saltContactDetails.saltContactDetails-embedded {\n padding: 0;\n}\n\n.saltContactDetails-default,\n.saltContactDetails-default-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-default-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-default-secondary-fontSize);\n}\n\n.saltContactDetails-compact,\n.saltContactDetails-compact-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-compact-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-compact-secondary-fontSize);\n}\n\n.saltContactDetails-mini,\n.saltContactDetails-mini-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-compact-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-compact-secondary-fontSize);\n}\n\n.saltContactDetails-default {\n color: var(--contactDetails-color);\n grid-template-columns: auto auto 1fr auto;\n grid-template-rows: auto auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary favorite\"\n \"noAvatar avatar secondary secondary\"\n \"noAvatar avatar tertiary tertiary\"\n \". . actions metadataExpander\"\n \". . metadata metadata\";\n}\n\n.saltContactDetails-default-stacked {\n grid-template-columns: auto 1fr auto;\n grid-template-rows: auto auto auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar avatar\"\n \"noAvatar primary favorite\"\n \"noAvatar secondary secondary\"\n \"noAvatar tertiary tertiary\"\n \". actions metadataExpander\"\n \". metadata metadata\";\n}\n\n.saltContactDetails-compact {\n grid-template-columns: auto auto auto 1fr auto;\n grid-template-rows: auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary primary favorite\"\n \"noAvatar avatar secondary tertiary tertiary\"\n \". . actions actions actions\";\n}\n\n.saltContactDetails-compact-stacked {\n grid-template-columns: auto auto 1fr auto;\n grid-template-rows: auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary favorite\"\n \"noAvatar avatar secondary favorite\"\n \"noAvatar avatar tertiary tertiary\"\n \". . actions actions\";\n}\n\n.saltContactDetails-mini,\n.saltContactDetails-mini-stacked {\n grid-template-columns: auto minmax(60px, 1fr) auto;\n grid-template-rows: auto;\n grid-template-areas: \"primary secondary favorite\";\n}\n\n.saltContactDetails-noAvatar-indicator {\n grid-area: noAvatar;\n width: var(--contactDetails-noAvatar-indicator-width);\n background: var(--contactDetails-noAvatar-color);\n margin-right: var(--salt-size-unit);\n}\n\n.saltContactAvatar {\n grid-area: avatar;\n margin-right: var(--salt-size-unit);\n}\n\n.saltContactAvatar-stacked {\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltContactActions {\n grid-area: actions;\n display: flex;\n margin-top: var(--salt-size-unit);\n margin-left: calc(var(--salt-size-unit) * -1);\n}\n\n.saltContactPrimaryInfo {\n grid-area: primary;\n}\n\n.saltContactDetails-default .saltContactPrimaryInfo {\n margin-bottom: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactSecondaryInfo {\n grid-area: secondary;\n}\n\n.saltContactDetails-mini .saltContactSecondaryInfo {\n margin-left: var(--contactDetails-mini-secondaryInfo-marginLeft);\n}\n\n/* TODO Mini-stacked does not really look \"stacked\". Is it a bug? */\n.saltContactDetails-mini-stacked .saltContactSecondaryInfo {\n margin-left: var(--contactDetails-mini-stacked-secondaryInfo-marginLeft);\n}\n\n.saltContactSecondaryInfo-icon {\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactTertiaryInfo {\n grid-area: tertiary;\n}\n\n.saltContactDetails-compact .saltContactTertiaryInfo {\n margin-left: var(--contactDetails-compact-tertiaryInfo-marginLeft);\n}\n\n.saltContactTertiaryInfo-icon {\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactMetadata {\n grid-area: metadata;\n display: flex;\n flex-direction: column;\n padding-top: var(--salt-size-unit);\n padding-bottom: var(--salt-size-unit);\n}\n\n.saltContactMetadata-expander {\n grid-area: metadataExpander;\n margin-top: var(--salt-size-unit);\n}\n\n.saltContactMetadata-separator {\n width: 100%;\n height: 1px;\n background: var(--contactDetails-separator-color);\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltContactMetadataItem {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactMetadataItem:last-child {\n margin-bottom: unset;\n}\n\n.saltContactMetadata-stacked .saltContactMetadataItem {\n flex-direction: column;\n align-items: flex-start;\n}\n\n.saltContactMetadataItem-icon {\n margin-right: calc(var(--salt-size-unit) * 2);\n padding-left: 1px;\n}\n\n.saltContactMetadataItem-label {\n flex-shrink: 0;\n color: var(--contactDetails-label-color);\n margin-right: calc(var(--salt-size-unit) * 2);\n width: var(--contactDetails-label-width);\n}\n\n.saltContactFavoriteToggle {\n align-self: start;\n grid-area: favorite;\n justify-self: center;\n line-height: var(--contactDetails-primary-fontSize);\n margin-right: var(--contactDetails-favoriteToggle-marginRight);\n margin-top: var(--contactDetails-favoriteToggle-marginTop);\n}\n\n.saltContactFavoriteToggle-svg {\n fill: var(--contactDetails-favoriteToggle-fill);\n}\n\n.saltContactFavoriteToggle-focusVisible {\n outline: none;\n}\n\n.saltContactFavoriteToggle-focused {\n outline: var(--salt-focused-outline);\n}\n\n.saltContactFavoriteToggle-deselected {\n --contactDetails-favoriteToggle-fill: var(--salt-
|
|
5
|
+
var css_248z = ".salt-density-touch {\n --contactDetails-default-primary-fontSize: 30px;\n --contactDetails-default-secondary-fontSize: 16px;\n --contactDetails-compact-primary-fontSize: 16px;\n --contactDetails-compact-secondary-fontSize: 14px;\n --contactDetails-icon-size: 18px;\n --contactDetails-label-width: 80px;\n}\n\n.salt-density-low {\n --contactDetails-compact-primary-fontSize: 14px;\n --contactDetails-default-primary-fontSize: 24px;\n --contactDetails-compact-secondary-fontSize: 14px;\n --contactDetails-default-secondary-fontSize: 14px;\n --contactDetails-label-width: 70px;\n --contactDetails-icon-size: 16px;\n}\n\n.salt-density-medium {\n --contactDetails-compact-primary-fontSize: 12px;\n --contactDetails-default-primary-fontSize: 18px;\n --contactDetails-compact-secondary-fontSize: 12px;\n --contactDetails-default-secondary-fontSize: 12px;\n --contactDetails-label-width: 60px;\n --contactDetails-icon-size: 14px;\n}\n\n.salt-density-high {\n --contactDetails-compact-primary-fontSize: 11px;\n --contactDetails-default-primary-fontSize: 14px;\n --contactDetails-compact-secondary-fontSize: 11px;\n --contactDetails-default-secondary-fontSize: 11px;\n --contactDetails-label-width: 60px;\n --contactDetails-icon-size: 12px;\n}\n\n.saltContactDetails {\n --contactDetails-color: var(--salt-text-primary-foreground);\n --contactDetails-label-color: var(--salt-text-secondary-foreground);\n --contactDetails-noAvatar-color: var(--salt-accent-background);\n --contactDetails-noAvatar-indicator-width: 4px;\n --contactDetails-favoriteToggle-fill: var(--contactDetails-deselected-icon-color);\n --contactDetails-favoriteToggle-marginRight: 0px;\n --contactDetails-favoriteToggle-marginTop: 0px;\n --contactDetails-mini-secondaryInfo-marginLeft: var(--salt-size-unit);\n --contactDetails-mini-stacked-secondaryInfo-marginLeft: calc(var(--salt-size-unit) * 2);\n --contactDetails-compact-tertiaryInfo-marginLeft: var(--salt-size-unit);\n\n /* TODO: Check below tokens with design */\n --contactDetails-separator-color: var(--salt-separable-secondary-borderColor);\n}\n\n.saltContactDetails {\n display: grid;\n padding: var(--salt-size-unit);\n}\n\n.saltContactDetails.saltContactDetails-noAvatar {\n padding-left: 0;\n}\n\n.saltContactDetails.saltContactDetails-embedded {\n padding: 0;\n}\n\n.saltContactDetails-default,\n.saltContactDetails-default-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-default-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-default-secondary-fontSize);\n}\n\n.saltContactDetails-compact,\n.saltContactDetails-compact-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-compact-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-compact-secondary-fontSize);\n}\n\n.saltContactDetails-mini,\n.saltContactDetails-mini-stacked {\n --contactDetails-primary-fontSize: var(--contactDetails-compact-primary-fontSize);\n --contactDetails-secondary-fontSize: var(--contactDetails-compact-secondary-fontSize);\n}\n\n.saltContactDetails-default {\n color: var(--contactDetails-color);\n grid-template-columns: auto auto 1fr auto;\n grid-template-rows: auto auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary favorite\"\n \"noAvatar avatar secondary secondary\"\n \"noAvatar avatar tertiary tertiary\"\n \". . actions metadataExpander\"\n \". . metadata metadata\";\n}\n\n.saltContactDetails-default-stacked {\n grid-template-columns: auto 1fr auto;\n grid-template-rows: auto auto auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar avatar\"\n \"noAvatar primary favorite\"\n \"noAvatar secondary secondary\"\n \"noAvatar tertiary tertiary\"\n \". actions metadataExpander\"\n \". metadata metadata\";\n}\n\n.saltContactDetails-compact {\n grid-template-columns: auto auto auto 1fr auto;\n grid-template-rows: auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary primary favorite\"\n \"noAvatar avatar secondary tertiary tertiary\"\n \". . actions actions actions\";\n}\n\n.saltContactDetails-compact-stacked {\n grid-template-columns: auto auto 1fr auto;\n grid-template-rows: auto auto auto auto;\n grid-template-areas:\n \"noAvatar avatar primary favorite\"\n \"noAvatar avatar secondary favorite\"\n \"noAvatar avatar tertiary tertiary\"\n \". . actions actions\";\n}\n\n.saltContactDetails-mini,\n.saltContactDetails-mini-stacked {\n grid-template-columns: auto minmax(60px, 1fr) auto;\n grid-template-rows: auto;\n grid-template-areas: \"primary secondary favorite\";\n}\n\n.saltContactDetails-noAvatar-indicator {\n grid-area: noAvatar;\n width: var(--contactDetails-noAvatar-indicator-width);\n background: var(--contactDetails-noAvatar-color);\n margin-right: var(--salt-size-unit);\n}\n\n.saltContactAvatar {\n grid-area: avatar;\n margin-right: var(--salt-size-unit);\n}\n\n.saltContactAvatar-stacked {\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltContactActions {\n grid-area: actions;\n display: flex;\n margin-top: var(--salt-size-unit);\n margin-left: calc(var(--salt-size-unit) * -1);\n}\n\n.saltContactPrimaryInfo {\n grid-area: primary;\n}\n\n.saltContactDetails-default .saltContactPrimaryInfo {\n margin-bottom: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactSecondaryInfo {\n grid-area: secondary;\n}\n\n.saltContactDetails-mini .saltContactSecondaryInfo {\n margin-left: var(--contactDetails-mini-secondaryInfo-marginLeft);\n}\n\n/* TODO Mini-stacked does not really look \"stacked\". Is it a bug? */\n.saltContactDetails-mini-stacked .saltContactSecondaryInfo {\n margin-left: var(--contactDetails-mini-stacked-secondaryInfo-marginLeft);\n}\n\n.saltContactSecondaryInfo-icon {\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactTertiaryInfo {\n grid-area: tertiary;\n}\n\n.saltContactDetails-compact .saltContactTertiaryInfo {\n margin-left: var(--contactDetails-compact-tertiaryInfo-marginLeft);\n}\n\n.saltContactTertiaryInfo-icon {\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactMetadata {\n grid-area: metadata;\n display: flex;\n flex-direction: column;\n padding-top: var(--salt-size-unit);\n padding-bottom: var(--salt-size-unit);\n}\n\n.saltContactMetadata-expander {\n grid-area: metadataExpander;\n margin-top: var(--salt-size-unit);\n}\n\n.saltContactMetadata-separator {\n width: 100%;\n height: 1px;\n background: var(--contactDetails-separator-color);\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltContactMetadataItem {\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-bottom: calc(var(--salt-size-unit) * 0.5);\n}\n\n.saltContactMetadataItem:last-child {\n margin-bottom: unset;\n}\n\n.saltContactMetadata-stacked .saltContactMetadataItem {\n flex-direction: column;\n align-items: flex-start;\n}\n\n.saltContactMetadataItem-icon {\n margin-right: calc(var(--salt-size-unit) * 2);\n padding-left: 1px;\n}\n\n.saltContactMetadataItem-label {\n flex-shrink: 0;\n color: var(--contactDetails-label-color);\n margin-right: calc(var(--salt-size-unit) * 2);\n width: var(--contactDetails-label-width);\n}\n\n.saltContactFavoriteToggle {\n align-self: start;\n grid-area: favorite;\n justify-self: center;\n line-height: var(--contactDetails-primary-fontSize);\n margin-right: var(--contactDetails-favoriteToggle-marginRight);\n margin-top: var(--contactDetails-favoriteToggle-marginTop);\n}\n\n.saltContactFavoriteToggle-svg {\n fill: var(--contactDetails-favoriteToggle-fill);\n}\n\n.saltContactFavoriteToggle-focusVisible {\n outline: none;\n}\n\n.saltContactFavoriteToggle-focused {\n outline: var(--salt-focused-outline);\n}\n\n.saltContactFavoriteToggle-deselected {\n --contactDetails-favoriteToggle-fill: var(--salt-accent-borderColor);\n}\n\n.saltContactFavoriteToggle-selecting {\n --contactDetails-favoriteToggle-fill: var(--salt-selectable-foreground-hover);\n}\n\n.saltContactFavoriteToggle-selected {\n --contactDetails-favoriteToggle-fill: var(--salt-selectable-foreground-selected);\n}\n\n.saltContactFavoriteToggle-deselecting {\n --contactDetails-favoriteToggle-fill: var(--salt-selectable-foreground-hover);\n}\n\n.saltContactFavoriteToggle-svg {\n height: var(--contactDetails-icon-size);\n width: var(--contactDetails-icon-size);\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -126,7 +126,6 @@ var QueryInput = require('./query-input/QueryInput.js');
|
|
|
126
126
|
var useQueryInput = require('./query-input/useQueryInput.js');
|
|
127
127
|
var RadioButton = require('./radio-button/RadioButton.js');
|
|
128
128
|
var RadioButtonGroup = require('./radio-button/RadioButtonGroup.js');
|
|
129
|
-
var RadioButtonBase = require('./radio-button/RadioButtonBase.js');
|
|
130
129
|
var RadioButtonIcon = require('./radio-button/RadioButtonIcon.js');
|
|
131
130
|
var useInstantCollapse = require('./responsive/useInstantCollapse.js');
|
|
132
131
|
var useDynamicCollapse = require('./responsive/useDynamicCollapse.js');
|
|
@@ -301,9 +300,7 @@ exports.QueryInput = QueryInput.QueryInput;
|
|
|
301
300
|
exports.useQueryInput = useQueryInput.useQueryInput;
|
|
302
301
|
exports.RadioButton = RadioButton.RadioButton;
|
|
303
302
|
exports.RadioButtonGroup = RadioButtonGroup.RadioButtonGroup;
|
|
304
|
-
exports.RadioButtonBase = RadioButtonBase.RadioButtonBase;
|
|
305
303
|
exports.RadioButtonIcon = RadioButtonIcon.RadioButtonIcon;
|
|
306
|
-
exports.makeRadioIcon = RadioButtonIcon.makeRadioIcon;
|
|
307
304
|
exports.useInstantCollapse = useInstantCollapse.useInstantCollapse;
|
|
308
305
|
exports.useDynamicCollapse = useDynamicCollapse.useDynamicCollapse;
|
|
309
306
|
exports.addAllVisible = useReclaimSpace.addAllVisible;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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 = ".saltCircularProgress {\n --circularProgress-gradient-color: var(--salt-
|
|
5
|
+
var css_248z = ".saltCircularProgress {\n --circularProgress-gradient-color: var(--salt-accent-background);\n\n color: var(--salt-text-primary-foreground);\n display: inline-flex;\n position: relative;\n}\n\n.saltCircularProgress-disabled .saltCircularProgress-progressValue,\n.saltCircularProgress-disabled circle {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltCircularProgress-circle {\n stroke: url(\"#salt-circular-progress-gradient\");\n stroke-width: 2px;\n}\n\n.saltCircularProgress-small {\n font-size: 11px;\n}\n\n.saltCircularProgress-medium {\n font-size: 14px;\n}\n\n.saltCircularProgress-large {\n font-size: 16px;\n}\n\n.saltCircularProgress-progressValue {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n height: 100%;\n justify-content: center;\n left: 0;\n position: absolute;\n width: 100%;\n}\n\n.saltCircularProgress-disabled {\n}\n\n.saltCircularProgress-completed {\n}\n\n.saltCircularProgress-railCircle {\n stroke: var(--salt-track-borderColor);\n stroke-width: var(--salt-size-border);\n}\n\n.saltCircularProgress-gradientStart,\n.saltCircularProgress-gradientStop {\n stop-color: var(--saltCircularProgress-gradient-color, var(--circularProgress-gradient-color));\n}\n\n.saltCircularProgress-container {\n display: inline-block;\n}\n\n.saltCircularProgress-static {\n transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0s;\n}\n\n.saltCircularProgress-indeterminate {\n animation: circular-rotate 1.4s linear infinite;\n}\n\n.saltCircularProgress-svg {\n fill: var(--salt-accent-background);\n display: block;\n}\n\n.saltCircularProgress-circle {\n stroke: url(\"#salt-circular-progress-gradient\");\n}\n\n.saltCircularProgress-circleStatic {\n transition: stroke-dashoffset 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0s;\n}\n\n.saltCircularProgress-circleIndeterminate {\n animation: circular-dash 1.4s ease-in-out infinite;\n}\n\n@keyframes circular-rotate {\n 0% {\n transform-origin: 50% 50%;\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes circular-dash {\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\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 = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n/* TODO: Odyssey now has only 2 sizes */\n.saltLinearProgress-large {\n --linearProgress-after-top: 3px;\n --linearProgress-value-paddingLeft: 12px;\n --linearProgress-height: 7px;\n --linearProgress-fontSize: 16px;\n}\n\n.saltLinearProgress-medium {\n --linearProgress-after-top: 2px;\n --linearProgress-value-paddingLeft: 8px;\n --linearProgress-height: 5px;\n --linearProgress-fontSize: 14px;\n}\n\n.saltLinearProgress-small {\n --linearProgress-after-top: 1px;\n --linearProgress-value-paddingLeft: 4px;\n --linearProgress-height: 3px;\n --linearProgress-fontSize: 11px;\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-bar {\n background: var(--salt-
|
|
5
|
+
var css_248z = ".saltLinearProgress {\n align-items: center;\n color: var(--salt-text-primary-foreground);\n display: flex;\n min-width: 200px;\n font-size: var(--linearProgress-fontSize);\n}\n\n/* TODO: Odyssey now has only 2 sizes */\n.saltLinearProgress-large {\n --linearProgress-after-top: 3px;\n --linearProgress-value-paddingLeft: 12px;\n --linearProgress-height: 7px;\n --linearProgress-fontSize: 16px;\n}\n\n.saltLinearProgress-medium {\n --linearProgress-after-top: 2px;\n --linearProgress-value-paddingLeft: 8px;\n --linearProgress-height: 5px;\n --linearProgress-fontSize: 14px;\n}\n\n.saltLinearProgress-small {\n --linearProgress-after-top: 1px;\n --linearProgress-value-paddingLeft: 4px;\n --linearProgress-height: 3px;\n --linearProgress-fontSize: 11px;\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-bar {\n background: var(--salt-accent-background-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-barContainer :after {\n background: var(--salt-accent-background-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-progressValue {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltLinearProgress-barContainer {\n background: none;\n position: relative;\n width: calc(100% - 10px);\n overflow: hidden;\n height: var(--linearProgress-height);\n}\n\n/* Horizontal line under the progress indicator bar */\n.saltLinearProgress-barContainer:after {\n top: var(--linearProgress-after-top);\n background: var(--salt-track-borderColor);\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n position: absolute;\n right: 0;\n}\n\n.saltLinearProgress-determinate {\n}\n\n.saltLinearProgress-indeterminate {\n}\n\n.saltLinearProgress-query {\n transform: rotate(180deg);\n}\n\n.saltLinearProgress-bar {\n width: 100%;\n position: absolute;\n left: 0;\n bottom: 0;\n top: 0;\n transition: transform 0.2s linear;\n transform-origin: left;\n background: var(--salt-accent-background);\n z-index: 2;\n}\n\n.saltLinearProgress-determinate .saltLinearProgress-bar1 {\n transition: transform 0.4s linear;\n}\n\n.saltLinearProgress-indeterminate .saltLinearProgress-bar1 {\n width: auto;\n animation: Indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n}\n\n.saltLinearProgress-query .saltLinearProgress-bar1 {\n width: auto;\n animation: Indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n}\n\n.saltLinearProgress-bar2 {\n width: auto;\n animation: Indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n}\n\n.saltLinearProgress-progressValue {\n color: inherit;\n margin: 0;\n white-space: nowrap;\n padding-left: var(--linearProgress-value-paddingLeft);\n}\n\n@keyframes Indeterminate1 {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes Indeterminate2 {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\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 = "/* Styles applied to
|
|
5
|
+
var css_248z = "/* Styles applied to RadioButton container */\n.saltRadioButton {\n display: flex;\n gap: calc(var(--salt-size-unit) * 0.75);\n position: relative;\n user-select: none;\n cursor: pointer;\n}\n\n/* Styles applied when RadioButton is disabled */\n.saltRadioButton-disabled {\n color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n pointer-events: visible;\n}\n\n/* Styles applied to input component */\n.saltRadioButton-input {\n cursor: inherit;\n position: absolute;\n opacity: 0;\n top: 0;\n left: 0;\n margin: 0;\n padding: 0;\n z-index: var(--salt-zIndex-default);\n}\n\n/* Styles applied to icon when :focus-visible */\n.saltRadioButton-input:focus-visible + .saltRadioButtonIcon {\n outline: var(--salt-focused-outline);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -6,25 +6,44 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var clsx = require('clsx');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var useRadioGroup = require('./internal/useRadioGroup.js');
|
|
10
|
+
var RadioButtonIcon = require('./RadioButtonIcon.js');
|
|
11
11
|
require('./RadioButton.css.js');
|
|
12
12
|
|
|
13
13
|
const withBaseName = core.makePrefixer("saltRadioButton");
|
|
14
14
|
const RadioButton = React.forwardRef(
|
|
15
15
|
function RadioButton2(props, ref) {
|
|
16
16
|
const {
|
|
17
|
-
checked,
|
|
17
|
+
checked: checkedProp,
|
|
18
18
|
className,
|
|
19
|
-
icon,
|
|
20
19
|
disabled,
|
|
20
|
+
error,
|
|
21
|
+
inputProps,
|
|
21
22
|
label,
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
name: nameProp,
|
|
24
|
+
onFocus,
|
|
25
|
+
onBlur,
|
|
24
26
|
onChange,
|
|
27
|
+
value,
|
|
25
28
|
...rest
|
|
26
29
|
} = props;
|
|
27
|
-
|
|
30
|
+
const radioGroup = useRadioGroup.useRadioGroup();
|
|
31
|
+
const radioGroupChecked = radioGroup.value != null && value != null ? radioGroup.value === value : checkedProp;
|
|
32
|
+
const name = nameProp != null ? nameProp : radioGroup.name;
|
|
33
|
+
const [checked, setCheckedState] = core.useControlled({
|
|
34
|
+
controlled: radioGroupChecked,
|
|
35
|
+
default: Boolean(checkedProp),
|
|
36
|
+
name: "RadioBase",
|
|
37
|
+
state: "checked"
|
|
38
|
+
});
|
|
39
|
+
const handleChange = (event) => {
|
|
40
|
+
var _a;
|
|
41
|
+
const newChecked = event.target.checked;
|
|
42
|
+
setCheckedState(newChecked);
|
|
43
|
+
onChange == null ? void 0 : onChange(event);
|
|
44
|
+
(_a = radioGroup.onChange) == null ? void 0 : _a.call(radioGroup, event);
|
|
45
|
+
};
|
|
46
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("label", {
|
|
28
47
|
className: clsx.clsx(
|
|
29
48
|
withBaseName(),
|
|
30
49
|
{
|
|
@@ -32,28 +51,28 @@ const RadioButton = React.forwardRef(
|
|
|
32
51
|
},
|
|
33
52
|
className
|
|
34
53
|
),
|
|
54
|
+
ref,
|
|
35
55
|
...rest,
|
|
36
|
-
children:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
[withBaseName("disabled")]: disabled
|
|
42
|
-
},
|
|
43
|
-
className
|
|
44
|
-
),
|
|
45
|
-
disabled,
|
|
46
|
-
label,
|
|
47
|
-
labelPlacement: "right",
|
|
48
|
-
ref,
|
|
49
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(RadioButtonBase.RadioButtonBase, {
|
|
56
|
+
children: [
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx("input", {
|
|
58
|
+
className: withBaseName("input"),
|
|
59
|
+
...inputProps,
|
|
50
60
|
checked,
|
|
51
61
|
disabled,
|
|
62
|
+
name,
|
|
52
63
|
value,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
onBlur,
|
|
65
|
+
onChange: handleChange,
|
|
66
|
+
onFocus,
|
|
67
|
+
type: "radio"
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ jsxRuntime.jsx(RadioButtonIcon.RadioButtonIcon, {
|
|
70
|
+
checked,
|
|
71
|
+
error,
|
|
72
|
+
disabled
|
|
73
|
+
}),
|
|
74
|
+
label
|
|
75
|
+
]
|
|
57
76
|
});
|
|
58
77
|
}
|
|
59
78
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton.js","sources":["../src/radio-button/RadioButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n forwardRef,\n HTMLAttributes,\n
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sources":["../src/radio-button/RadioButton.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n FocusEventHandler,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n ReactNode,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { useRadioGroup } from \"./internal/useRadioGroup\";\nimport { RadioButtonIcon } from \"./RadioButtonIcon\";\n\nimport \"./RadioButton.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButton\");\n\nexport interface RadioButtonProps\n extends Omit<\n HTMLAttributes<HTMLLabelElement>,\n \"onChange\" | \"onBlur\" | \"onFocus\"\n > {\n /**\n * Set the default selected radio button in the group\n */\n checked?: boolean;\n /**\n * Set the disabled state\n */\n disabled?: boolean;\n /**\n * Set the error state\n */\n error?: boolean;\n /**\n * Props to be passed to the radio input\n */\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>>;\n /**\n * The label to be shown next to the radio icon\n */\n label?: ReactNode;\n /**\n * Name of the radio group\n */\n name?: string;\n /**\n * Callback for blur event\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback for change event\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Callback for focus event\n */\n onFocus?: FocusEventHandler<HTMLInputElement>;\n /**\n * Value of radio button\n */\n value?: string;\n}\n\nexport const RadioButton = forwardRef<HTMLLabelElement, RadioButtonProps>(\n function RadioButton(props, ref) {\n const {\n checked: checkedProp,\n className,\n disabled,\n error,\n inputProps,\n label,\n name: nameProp,\n onFocus,\n onBlur,\n onChange,\n value,\n ...rest\n } = props;\n\n const radioGroup = useRadioGroup();\n\n const radioGroupChecked =\n radioGroup.value != null && value != null\n ? radioGroup.value === value\n : checkedProp;\n const name = nameProp ?? radioGroup.name;\n\n const [checked, setCheckedState] = useControlled({\n controlled: radioGroupChecked,\n default: Boolean(checkedProp),\n name: \"RadioBase\",\n state: \"checked\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n onChange?.(event);\n radioGroup.onChange?.(event);\n };\n\n return (\n <label\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n <input\n className={withBaseName(\"input\")}\n {...inputProps}\n checked={checked}\n disabled={disabled}\n name={name}\n value={value}\n onBlur={onBlur}\n onChange={handleChange}\n onFocus={onFocus}\n type=\"radio\"\n />\n <RadioButtonIcon checked={checked} error={error} disabled={disabled} />\n {label}\n </label>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","RadioButton","useRadioGroup","useControlled","jsxs","clsx","jsx","RadioButtonIcon"],"mappings":";;;;;;;;;;;;AAeA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA,CAAA;AAiD5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAASC,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAM,MAAA;AAAA,MACJ,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,MAAM,aAAaC,2BAAc,EAAA,CAAA;AAEjC,IAAM,MAAA,iBAAA,GACJ,WAAW,KAAS,IAAA,IAAA,IAAQ,SAAS,IACjC,GAAA,UAAA,CAAW,UAAU,KACrB,GAAA,WAAA,CAAA;AACN,IAAM,MAAA,IAAA,GAAO,8BAAY,UAAW,CAAA,IAAA,CAAA;AAEpC,IAAA,MAAM,CAAC,OAAA,EAAS,eAAe,CAAA,GAAIC,kBAAc,CAAA;AAAA,MAC/C,UAAY,EAAA,iBAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,WAAW,CAAA;AAAA,MAC5B,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAqD,CAAC,KAAU,KAAA;AAhG1E,MAAA,IAAA,EAAA,CAAA;AAiGM,MAAM,MAAA,UAAA,GAAa,MAAM,MAAO,CAAA,OAAA,CAAA;AAChC,MAAA,eAAA,CAAgB,UAAU,CAAA,CAAA;AAE1B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AACX,MAAA,CAAA,EAAA,GAAA,UAAA,CAAW,aAAX,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,UAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,uBACGC,eAAA,CAAA,OAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,SAC9B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAACC,cAAA,CAAA,OAAA,EAAA;AAAA,UACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAC9B,GAAG,UAAA;AAAA,UACJ,OAAA;AAAA,UACA,QAAA;AAAA,UACA,IAAA;AAAA,UACA,KAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAU,EAAA,YAAA;AAAA,UACV,OAAA;AAAA,UACA,IAAK,EAAA,OAAA;AAAA,SACP,CAAA;AAAA,wBACCA,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,OAAA;AAAA,UAAkB,KAAA;AAAA,UAAc,QAAA;AAAA,SAAoB,CAAA;AAAA,QACpE,KAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -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 = "/* Styles applied to root
|
|
5
|
+
var css_248z = "/* Styles applied to root element */\n.saltRadioButtonGroup {\n border: none;\n margin: 0;\n padding: 0;\n}\n\n/* Styles applied when direction is vertical */\n.saltRadioButtonGroup-vertical {\n display: flex;\n gap: var(--salt-size-unit);\n flex-direction: column;\n}\n\n/* Styles applied when direction is horizontal */\n.saltRadioButtonGroup-horizontal {\n display: flex;\n gap: var(--salt-size-unit);\n flex-direction: row;\n flex-wrap: wrap;\n}\n\n.saltRadioButtonGroup-noWrap {\n flex-wrap: nowrap;\n}\n.saltRadioButtonGroup-noWrap .saltRadioButton {\n white-space: break-spaces;\n}\n\n/* Styles applied to radio group's legend */\n.saltRadioButtonGroup-legend {\n display: inline-block;\n font-size: var(--formField-label-fontSize);\n color: var(--salt-text-primary-foreground);\n margin-bottom: calc(var(--salt-size-unit) * 2);\n}\n";
|
|
6
6
|
styleInject_es(css_248z);
|
|
7
7
|
|
|
8
8
|
module.exports = css_248z;
|
|
@@ -6,13 +6,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var clsx = require('clsx');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var core = require('@salt-ds/core');
|
|
9
|
-
require('../form-field-context/FormFieldContext.js');
|
|
10
|
-
var useFormFieldProps = require('../form-field-context/useFormFieldProps.js');
|
|
11
|
-
var FormGroup = require('../form-group/FormGroup.js');
|
|
12
|
-
require('../form-field/FormField.js');
|
|
13
|
-
var FormLabel = require('../form-field/FormLabel.js');
|
|
14
9
|
var RadioGroupContext = require('./internal/RadioGroupContext.js');
|
|
15
|
-
var RadioButton = require('./RadioButton.js');
|
|
16
10
|
require('./RadioButtonGroup.css.js');
|
|
17
11
|
|
|
18
12
|
const withBaseName = core.makePrefixer("saltRadioButtonGroup");
|
|
@@ -21,81 +15,41 @@ const RadioButtonGroup = React.forwardRef(function RadioButtonGroup2(props, ref)
|
|
|
21
15
|
children,
|
|
22
16
|
className,
|
|
23
17
|
defaultValue,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
direction = "vertical",
|
|
19
|
+
wrap = true,
|
|
20
|
+
name: nameProp,
|
|
27
21
|
onChange,
|
|
28
22
|
value: valueProp,
|
|
29
|
-
row,
|
|
30
|
-
name: nameProp,
|
|
31
23
|
...rest
|
|
32
24
|
} = props;
|
|
33
|
-
const
|
|
34
|
-
|
|
25
|
+
const [value, setStateValue] = core.useControlled({
|
|
26
|
+
controlled: valueProp,
|
|
27
|
+
default: defaultValue,
|
|
28
|
+
state: "value",
|
|
29
|
+
name: "RadioButtonGroup"
|
|
35
30
|
});
|
|
36
|
-
const [stateValue, setStateValue] = React.useState(props.defaultValue);
|
|
37
|
-
const getValue = () => isControlled() ? props.value : stateValue;
|
|
38
|
-
const isControlled = () => props.value !== void 0;
|
|
39
31
|
const handleChange = (event) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
if (props.onChange) {
|
|
44
|
-
props.onChange(event);
|
|
45
|
-
}
|
|
32
|
+
setStateValue(event.target.value);
|
|
33
|
+
onChange == null ? void 0 : onChange(event);
|
|
46
34
|
};
|
|
47
|
-
const rootRef = React.useRef(null);
|
|
48
|
-
React.useImperativeHandle(
|
|
49
|
-
void 0,
|
|
50
|
-
() => ({
|
|
51
|
-
focus: () => {
|
|
52
|
-
const current = rootRef.current;
|
|
53
|
-
if (current) {
|
|
54
|
-
let input = current.querySelector(
|
|
55
|
-
"input:not(:disabled):checked"
|
|
56
|
-
);
|
|
57
|
-
if (!input) {
|
|
58
|
-
input = current.querySelector("input:not(:disabled)");
|
|
59
|
-
}
|
|
60
|
-
if (input) {
|
|
61
|
-
input.focus();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}),
|
|
66
|
-
[]
|
|
67
|
-
);
|
|
68
35
|
const name = core.useId(nameProp);
|
|
69
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
|
|
70
37
|
className: clsx.clsx(
|
|
71
38
|
withBaseName(),
|
|
72
|
-
|
|
39
|
+
withBaseName(direction),
|
|
40
|
+
{
|
|
41
|
+
[withBaseName("noWrap")]: !wrap
|
|
42
|
+
},
|
|
73
43
|
className
|
|
74
44
|
),
|
|
75
45
|
"data-testid": "radio-button-group",
|
|
76
46
|
ref,
|
|
77
47
|
role: "radiogroup",
|
|
78
|
-
...
|
|
79
|
-
children:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}),
|
|
84
|
-
/* @__PURE__ */ jsxRuntime.jsx(RadioGroupContext.RadioGroupContext.Provider, {
|
|
85
|
-
value: { name, onChange: handleChange, value: getValue() },
|
|
86
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(FormGroup.FormGroup, {
|
|
87
|
-
role: "radiogroup",
|
|
88
|
-
...rest,
|
|
89
|
-
row,
|
|
90
|
-
children: radios && radios.map((radio) => /* @__PURE__ */ jsxRuntime.jsx(RadioButton.RadioButton, {
|
|
91
|
-
disabled: radio.disabled,
|
|
92
|
-
icon,
|
|
93
|
-
label: radio.label,
|
|
94
|
-
value: radio.value
|
|
95
|
-
}, radio.label)) || children
|
|
96
|
-
})
|
|
97
|
-
})
|
|
98
|
-
]
|
|
48
|
+
...rest,
|
|
49
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupContext.RadioGroupContext.Provider, {
|
|
50
|
+
value: { name, onChange: handleChange, value },
|
|
51
|
+
children
|
|
52
|
+
})
|
|
99
53
|
});
|
|
100
54
|
});
|
|
101
55
|
|