@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.
Files changed (162) hide show
  1. package/dist-cjs/packages/lab/src/banner/Banner.css.js +1 -1
  2. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
  3. package/dist-cjs/packages/lab/src/carousel/Carousel.js +7 -6
  4. package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
  5. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
  6. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js +1 -1
  7. package/dist-cjs/packages/lab/src/color-chooser/Color.js +9 -0
  8. package/dist-cjs/packages/lab/src/color-chooser/Color.js.map +1 -1
  9. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  10. package/dist-cjs/packages/lab/src/color-chooser/ColorHelpers.js +2 -2
  11. package/dist-cjs/packages/lab/src/color-chooser/ColorHelpers.js.map +1 -1
  12. package/dist-cjs/packages/lab/src/color-chooser/Swatch.css.js +1 -1
  13. package/dist-cjs/packages/lab/src/color-chooser/color-utils.js +1 -1
  14. package/dist-cjs/packages/lab/src/color-chooser/color-utils.js.map +1 -1
  15. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -3
  16. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  17. package/dist-cjs/packages/lab/src/contact-details/ContactDetails.css.js +1 -1
  18. package/dist-cjs/packages/lab/src/content-status/ContentStatus.css.js +1 -1
  19. package/dist-cjs/packages/lab/src/dialog/DialogContent.js +0 -1
  20. package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
  21. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
  22. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  23. package/dist-cjs/packages/lab/src/index.js +0 -5
  24. package/dist-cjs/packages/lab/src/index.js.map +1 -1
  25. package/dist-cjs/packages/lab/src/list/Highlighter.css.js +1 -1
  26. package/dist-cjs/packages/lab/src/list/ListItem.css.js +1 -1
  27. package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js +1 -5
  28. package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
  29. package/dist-cjs/packages/lab/src/logo/Logo.css.js +1 -1
  30. package/dist-cjs/packages/lab/src/metric/MetricContent.css.js +1 -1
  31. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
  32. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  33. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +1 -1
  34. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  35. package/dist-cjs/packages/lab/src/pill/Pill.css.js +1 -1
  36. package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.css.js +1 -1
  37. package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.css.js +1 -1
  38. package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js +1 -1
  39. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +44 -25
  40. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  41. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js +1 -1
  42. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +20 -66
  43. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  44. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js +1 -1
  45. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +9 -5
  46. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  47. package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +1 -1
  48. package/dist-cjs/packages/lab/src/skip-link/SkipLink.css.js +1 -1
  49. package/dist-cjs/packages/lab/src/slider/Slider.css.js +1 -1
  50. package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js +1 -0
  51. package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
  52. package/dist-cjs/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  53. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.css.js +1 -1
  54. package/dist-cjs/packages/lab/src/toolbar/Tooltray.css.js +1 -1
  55. package/dist-es/packages/lab/src/banner/Banner.css.js +1 -1
  56. package/dist-es/packages/lab/src/calendar/internal/CalendarCarousel.js +2 -2
  57. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
  58. package/dist-es/packages/lab/src/calendar/internal/utils.js +1 -1
  59. package/dist-es/packages/lab/src/calendar/useCalendar.js +1 -1
  60. package/dist-es/packages/lab/src/carousel/Carousel.js +7 -6
  61. package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
  62. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
  63. package/dist-es/packages/lab/src/cascading-menu/internal/useRefsManager.js +1 -1
  64. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js +1 -1
  65. package/dist-es/packages/lab/src/color-chooser/Color.js +9 -0
  66. package/dist-es/packages/lab/src/color-chooser/Color.js.map +1 -1
  67. package/dist-es/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  68. package/dist-es/packages/lab/src/color-chooser/ColorHelpers.js +2 -2
  69. package/dist-es/packages/lab/src/color-chooser/ColorHelpers.js.map +1 -1
  70. package/dist-es/packages/lab/src/color-chooser/Swatch.css.js +1 -1
  71. package/dist-es/packages/lab/src/color-chooser/color-utils.js +1 -1
  72. package/dist-es/packages/lab/src/color-chooser/color-utils.js.map +1 -1
  73. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -3
  74. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  75. package/dist-es/packages/lab/src/contact-details/ContactDetails.css.js +1 -1
  76. package/dist-es/packages/lab/src/content-status/ContentStatus.css.js +1 -1
  77. package/dist-es/packages/lab/src/dialog/DialogContent.js +0 -1
  78. package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
  79. package/dist-es/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
  80. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  81. package/dist-es/packages/lab/src/index.js +1 -3
  82. package/dist-es/packages/lab/src/index.js.map +1 -1
  83. package/dist-es/packages/lab/src/list/Highlighter.css.js +1 -1
  84. package/dist-es/packages/lab/src/list/ListItem.css.js +1 -1
  85. package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js +2 -2
  86. package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
  87. package/dist-es/packages/lab/src/list-deprecated/useList.js +1 -1
  88. package/dist-es/packages/lab/src/logo/Logo.css.js +1 -1
  89. package/dist-es/packages/lab/src/metric/MetricContent.css.js +1 -1
  90. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
  91. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  92. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +1 -1
  93. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  94. package/dist-es/packages/lab/src/pill/Pill.css.js +1 -1
  95. package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.css.js +1 -1
  96. package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.css.js +1 -1
  97. package/dist-es/packages/lab/src/radio-button/RadioButton.css.js +1 -1
  98. package/dist-es/packages/lab/src/radio-button/RadioButton.js +46 -27
  99. package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  100. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js +1 -1
  101. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +23 -69
  102. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  103. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js +1 -1
  104. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +10 -5
  105. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  106. package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +1 -1
  107. package/dist-es/packages/lab/src/responsive/useDynamicCollapse.js +1 -1
  108. package/dist-es/packages/lab/src/skip-link/SkipLink.css.js +1 -1
  109. package/dist-es/packages/lab/src/skip-link/internal/useManageFocusOnTarget.js +1 -1
  110. package/dist-es/packages/lab/src/slider/Slider.css.js +1 -1
  111. package/dist-es/packages/lab/src/slider/internal/useSliderMouseDown.js +1 -1
  112. package/dist-es/packages/lab/src/stepper-input/useStepperInput.js +1 -0
  113. package/dist-es/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
  114. package/dist-es/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  115. package/dist-es/packages/lab/src/toggle-button/ToggleButton.css.js +1 -1
  116. package/dist-es/packages/lab/src/toolbar/Tooltray.css.js +1 -1
  117. package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +1 -1
  118. package/dist-es/packages/lab/src/utils/useEventCallback.js +1 -1
  119. package/dist-types/color-chooser/Color.d.ts +2 -0
  120. package/dist-types/color-chooser/ColorHelpers.d.ts +3 -1
  121. package/dist-types/contact-details/ContactAvatar.d.ts +3 -4
  122. package/dist-types/index.d.ts +0 -1
  123. package/dist-types/radio-button/RadioButton.d.ts +33 -10
  124. package/dist-types/radio-button/RadioButtonGroup.d.ts +22 -12
  125. package/dist-types/radio-button/RadioButtonIcon.d.ts +4 -6
  126. package/dist-types/radio-button/index.d.ts +0 -1
  127. package/dist-types/stepper-input/useStepperInput.d.ts +1 -0
  128. package/package.json +4 -4
  129. package/dist-cjs/packages/lab/src/avatar/Avatar.css.js +0 -9
  130. package/dist-cjs/packages/lab/src/avatar/Avatar.css.js.map +0 -1
  131. package/dist-cjs/packages/lab/src/avatar/Avatar.js +0 -62
  132. package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +0 -1
  133. package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -45
  134. package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
  135. package/dist-cjs/packages/lab/src/avatar/internal/constants.js +0 -8
  136. package/dist-cjs/packages/lab/src/avatar/internal/constants.js.map +0 -1
  137. package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js +0 -47
  138. package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
  139. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.css.js +0 -9
  140. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.css.js.map +0 -1
  141. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js +0 -142
  142. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js.map +0 -1
  143. package/dist-es/packages/lab/src/avatar/Avatar.css.js +0 -7
  144. package/dist-es/packages/lab/src/avatar/Avatar.css.js.map +0 -1
  145. package/dist-es/packages/lab/src/avatar/Avatar.js +0 -58
  146. package/dist-es/packages/lab/src/avatar/Avatar.js.map +0 -1
  147. package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -41
  148. package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
  149. package/dist-es/packages/lab/src/avatar/internal/constants.js +0 -4
  150. package/dist-es/packages/lab/src/avatar/internal/constants.js.map +0 -1
  151. package/dist-es/packages/lab/src/avatar/internal/useLoaded.js +0 -43
  152. package/dist-es/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
  153. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.css.js +0 -7
  154. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.css.js.map +0 -1
  155. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js +0 -138
  156. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js.map +0 -1
  157. package/dist-types/avatar/Avatar.d.ts +0 -13
  158. package/dist-types/avatar/index.d.ts +0 -1
  159. package/dist-types/avatar/internal/DefaultAvatar.d.ts +0 -2
  160. package/dist-types/avatar/internal/constants.d.ts +0 -1
  161. package/dist-types/avatar/internal/useLoaded.d.ts +0 -2
  162. package/dist-types/radio-button/RadioButtonBase.d.ts +0 -22
@@ -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 --logo-height: var(--saltLogo-logo-height, 14px);\n}\n.salt-density-medium {\n --logo-height: var(--saltLogo-logo-height, 20px);\n}\n.salt-density-low {\n --logo-height: var(--saltLogo-logo-height, 26px);\n}\n.salt-density-touch {\n --logo-height: var(--saltLogo-logo-height, 32px);\n}\n\n.saltLogo {\n --logo-color: var(--saltLogo-color, var(--salt-palette-neutral-secondary-foreground));\n --logo-divider-color: var(--saltLogo-pipe-color, var(--salt-separable-secondary-borderColor));\n --logo-divider-height: var(--saltLogo-title-height, var(--salt-size-divider-height));\n --logo-divider-margin: 0 calc(var(--salt-size-unit) * 2);\n --logo-fontSize: var(--salt-text-fontSize);\n --logo-lineHeight: var(--salt-text-lineHeight);\n}\n\n.saltLogo-compact {\n --logo-pipe-margin: 0 calc(var(--salt-size-unit) * 1.5);\n}\n\n.saltLogo {\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n height: var(--logo-height);\n}\n\n.saltLogo img {\n max-height: 100%;\n}\n\n.saltLogo-wrapper {\n display: inline-flex;\n position: relative;\n height: var(--logo-height);\n}\n\n.saltLogo-logo {\n fill: var(--logo-color);\n margin: auto;\n stroke: none !important;\n text-align: center;\n font-size: var(--logo-fontSize);\n line-height: var(--logo-lineHeight);\n}\n\n.saltLogo-appTitle {\n align-self: center;\n color: var(--logo-color);\n position: relative;\n}\n\n.saltLogo-titlePipe {\n border-right: 1px solid var(--logo-divider-color);\n margin: var(--logo-divider-margin);\n height: var(--logo-divider-height);\n}\n";
5
+ var css_248z = ".salt-density-high {\n --logo-height: var(--saltLogo-logo-height, 14px);\n}\n.salt-density-medium {\n --logo-height: var(--saltLogo-logo-height, 20px);\n}\n.salt-density-low {\n --logo-height: var(--saltLogo-logo-height, 26px);\n}\n.salt-density-touch {\n --logo-height: var(--saltLogo-logo-height, 32px);\n}\n\n.saltLogo {\n --logo-color: var(--saltLogo-color, var(--salt-text-secondary-foreground));\n --logo-divider-color: var(--saltLogo-pipe-color, var(--salt-separable-secondary-borderColor));\n --logo-divider-height: var(--saltLogo-title-height, var(--salt-size-separator-height));\n --logo-divider-margin: 0 calc(var(--salt-size-unit) * 2);\n --logo-fontSize: var(--salt-text-fontSize);\n --logo-lineHeight: var(--salt-text-lineHeight);\n}\n\n.saltLogo-compact {\n --logo-pipe-margin: 0 calc(var(--salt-size-unit) * 1.5);\n}\n\n.saltLogo {\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n height: var(--logo-height);\n}\n\n.saltLogo img {\n max-height: 100%;\n}\n\n.saltLogo-wrapper {\n display: inline-flex;\n position: relative;\n height: var(--logo-height);\n}\n\n.saltLogo-logo {\n fill: var(--logo-color);\n margin: auto;\n stroke: none !important;\n text-align: center;\n font-size: var(--logo-fontSize);\n line-height: var(--logo-lineHeight);\n}\n\n.saltLogo-appTitle {\n align-self: center;\n color: var(--logo-color);\n position: relative;\n}\n\n.saltLogo-titlePipe {\n border-right: 1px solid var(--logo-divider-color);\n margin: var(--logo-divider-margin);\n height: var(--logo-divider-height);\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 = ".saltMetricContent {\n display: flex;\n flex-direction: column;\n margin-top: var(--metric-content-marginTop, 0px);\n}\n\n.saltMetricContent-value-container {\n align-items: baseline;\n display: flex;\n flex-direction: row;\n gap: calc(var(--salt-size-unit) / 2);\n margin-top: var(--metric-content-valueContainer-marginTop, 0px);\n}\n\n.saltMetric-direction-up .saltMetricContent-indicator {\n fill: var(--salt-differential-positive-foreground);\n}\n.saltMetric-direction-up .saltMetricContent-subvalue {\n color: var(--salt-differential-positive-foreground);\n}\n\n.saltMetric-direction-down .saltMetricContent-indicator {\n fill: var(--salt-differential-negative-foreground);\n}\n.saltMetric-direction-down .saltMetricContent-subvalue {\n color: var(--salt-differential-negative-foreground);\n}\n\n.saltMetricContent-subvalue {\n margin-top: var(--metric-content-subvalue-marginTop, 0px);\n}\n\n.saltMetric-align-left .saltMetricContent {\n text-align: left;\n}\n\n.saltMetric-align-center .saltMetricContent {\n align-items: center;\n text-align: center;\n}\n\n.saltMetric-align-right .saltMetricContent {\n align-items: flex-end;\n text-align: right;\n}\n";
5
+ var css_248z = ".saltMetricContent {\n display: flex;\n flex-direction: column;\n margin-top: var(--metric-content-marginTop, 0px);\n}\n\n.saltMetricContent-value-container {\n align-items: baseline;\n display: flex;\n flex-direction: row;\n gap: calc(var(--salt-size-unit) / 2);\n margin-top: var(--metric-content-valueContainer-marginTop, 0px);\n}\n\n.saltMetric-direction-up .saltMetricContent-indicator {\n fill: var(--salt-status-positive-foreground);\n}\n.saltMetric-direction-up .saltMetricContent-subvalue {\n color: var(--salt-status-positive-foreground);\n}\n\n.saltMetric-direction-down .saltMetricContent-indicator {\n fill: var(--salt-status-negative-foreground);\n}\n.saltMetric-direction-down .saltMetricContent-subvalue {\n color: var(--salt-status-negative-foreground);\n}\n\n.saltMetricContent-subvalue {\n margin-top: var(--metric-content-subvalue-marginTop, 0px);\n}\n\n.saltMetric-align-left .saltMetricContent {\n text-align: left;\n}\n\n.saltMetric-align-center .saltMetricContent {\n align-items: center;\n text-align: center;\n}\n\n.saltMetric-align-right .saltMetricContent {\n align-items: flex-end;\n text-align: right;\n}\n";
6
6
  styleInject_es(css_248z);
7
7
 
8
8
  module.exports = css_248z;
@@ -19,12 +19,16 @@ const ParentChildItem = React.forwardRef(
19
19
  ...rest
20
20
  }, ref) {
21
21
  return /* @__PURE__ */ jsxRuntime.jsx(core.FlexItem, {
22
- className: clsx.clsx(className, withBaseName(), {
23
- ...direction && {
24
- [withBaseName(`slide-${direction}`)]: !disableAnimations
22
+ className: clsx.clsx(
23
+ withBaseName(),
24
+ {
25
+ ...direction && {
26
+ [withBaseName(`slide-${direction}`)]: !disableAnimations
27
+ },
28
+ "saltFlexItem-stacked": isStacked
25
29
  },
26
- "saltFlexItem-stacked": isStacked
27
- }),
30
+ className
31
+ ),
28
32
  ref,
29
33
  ...rest,
30
34
  children
@@ -1 +1 @@
1
- {"version":3,"file":"ParentChildItem.js","sources":["../src/parent-child-item/ParentChildItem.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FlexItem,\n flexItemAlignment,\n makePrefixer,\n ResponsiveProp,\n} from \"@salt-ds/core\";\nimport \"./ParentChildItem.css\";\n\nexport type SlideDirection = \"top\" | \"bottom\" | \"left\" | \"right\";\n\nexport interface ParentChildItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Direction for slide animations.\n */\n direction?: SlideDirection;\n /**\n * Defines the ability for an item to grow x times more compared to it's siblings, default is 0.\n */\n grow?: ResponsiveProp<number>;\n /**\n * Determines whether the component is stacked\n */\n isStacked?: boolean;\n /**\n * Defines the ability for an item to shrink x times more compared to it's siblings, default is 1.\n\n */\n shrink?: ResponsiveProp<number>;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildItem\");\nexport const ParentChildItem = forwardRef<HTMLDivElement, ParentChildItemProps>(\n function ParentChildItem(\n {\n disableAnimations = false,\n direction,\n isStacked,\n children,\n className,\n ...rest\n },\n ref\n ) {\n return (\n <FlexItem\n className={clsx(className, withBaseName(), {\n ...(direction && {\n [withBaseName(`slide-${direction}`)]: !disableAnimations,\n }),\n \"saltFlexItem-stacked\": isStacked,\n })}\n ref={ref}\n {...rest}\n >\n {children}\n </FlexItem>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","ParentChildItem","jsx","FlexItem","clsx"],"mappings":";;;;;;;;;;AAwCA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAChD,MAAM,eAAkB,GAAAC,gBAAA;AAAA,EAC7B,SAASC,gBACP,CAAA;AAAA,IACE,iBAAoB,GAAA,KAAA;AAAA,IACpB,SAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,uBACGC,cAAA,CAAAC,aAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,SAAW,EAAA,YAAA,EAAgB,EAAA;AAAA,QACzC,GAAI,SAAa,IAAA;AAAA,UACf,CAAC,YAAA,CAAa,CAAS,MAAA,EAAA,SAAA,CAAA,CAAW,IAAI,CAAC,iBAAA;AAAA,SACzC;AAAA,QACA,sBAAwB,EAAA,SAAA;AAAA,OACzB,CAAA;AAAA,MACD,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"ParentChildItem.js","sources":["../src/parent-child-item/ParentChildItem.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\nimport {\n FlexItem,\n flexItemAlignment,\n makePrefixer,\n ResponsiveProp,\n} from \"@salt-ds/core\";\nimport \"./ParentChildItem.css\";\n\nexport type SlideDirection = \"top\" | \"bottom\" | \"left\" | \"right\";\n\nexport interface ParentChildItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Direction for slide animations.\n */\n direction?: SlideDirection;\n /**\n * Defines the ability for an item to grow x times more compared to it's siblings, default is 0.\n */\n grow?: ResponsiveProp<number>;\n /**\n * Determines whether the component is stacked\n */\n isStacked?: boolean;\n /**\n * Defines the ability for an item to shrink x times more compared to it's siblings, default is 1.\n\n */\n shrink?: ResponsiveProp<number>;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildItem\");\nexport const ParentChildItem = forwardRef<HTMLDivElement, ParentChildItemProps>(\n function ParentChildItem(\n {\n disableAnimations = false,\n direction,\n isStacked,\n children,\n className,\n ...rest\n },\n ref\n ) {\n return (\n <FlexItem\n className={clsx(\n withBaseName(),\n {\n ...(direction && {\n [withBaseName(`slide-${direction}`)]: !disableAnimations,\n }),\n \"saltFlexItem-stacked\": isStacked,\n },\n className\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </FlexItem>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","ParentChildItem","jsx","FlexItem","clsx"],"mappings":";;;;;;;;;;AAwCA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAChD,MAAM,eAAkB,GAAAC,gBAAA;AAAA,EAC7B,SAASC,gBACP,CAAA;AAAA,IACE,iBAAoB,GAAA,KAAA;AAAA,IACpB,SAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,uBACGC,cAAA,CAAAC,aAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb;AAAA,UACE,GAAI,SAAa,IAAA;AAAA,YACf,CAAC,YAAA,CAAa,CAAS,MAAA,EAAA,SAAA,CAAA,CAAW,IAAI,CAAC,iBAAA;AAAA,WACzC;AAAA,UACA,sBAAwB,EAAA,SAAA;AAAA,SAC1B;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -56,7 +56,7 @@ const ParentChildLayout = React.forwardRef(function ParentChildLayout2({
56
56
  })
57
57
  };
58
58
  return /* @__PURE__ */ jsxRuntime.jsx(core.FlexLayout, {
59
- className: clsx.clsx(className, withBaseName()),
59
+ className: clsx.clsx(withBaseName(), className),
60
60
  ref,
61
61
  ...rest,
62
62
  children: stackedView ? stackedViewChildren[stackedViewElement] : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"ParentChildLayout.js","sources":["../src/parent-child-layout/ParentChildLayout.tsx"],"sourcesContent":["import {\n Breakpoints,\n FlexLayout,\n FlexLayoutProps,\n makePrefixer,\n} from \"@salt-ds/core\";\n\nimport { clsx } from \"clsx\";\nimport { ElementType, forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { ParentChildItem, SlideDirection } from \"../parent-child-item\";\nimport { useIsViewportLargerThanBreakpoint } from \"../utils\";\n\nimport \"./ParentChildLayout.css\";\n\nexport type StackedViewElement = \"parent\" | \"child\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\nexport interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Breakpoint at which the parent and child will stack.\n */\n stackedAtBreakpoint?: keyof Breakpoints;\n /**\n * Change element that is displayed when in staked view.\n */\n stackedViewElement?: StackedViewElement;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Orientation for slide animations.\n */\n orientation?: Orientation;\n /**\n * Controls the space between columns.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Parent component to be rendered\n */\n parent: ReactNode;\n /**\n * Child component to be rendered\n */\n child: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildLayout\");\n\nconst getDirection = (\n orientation: Orientation,\n stackedViewElement: StackedViewElement\n) => {\n let direction: SlideDirection = \"right\";\n\n if (orientation === \"horizontal\") {\n if (stackedViewElement === \"parent\") {\n direction = \"left\";\n } else {\n direction = \"right\";\n }\n } else {\n if (stackedViewElement === \"parent\") {\n direction = \"bottom\";\n } else {\n direction = \"top\";\n }\n }\n\n return direction;\n};\n\nexport const ParentChildLayout = forwardRef<\n HTMLDivElement,\n ParentChildLayoutProps\n>(function ParentChildLayout(\n {\n stackedAtBreakpoint = \"sm\",\n stackedViewElement = \"parent\",\n disableAnimations = false,\n parent,\n child,\n className,\n orientation = \"horizontal\",\n ...rest\n },\n ref\n) {\n const stackedView = useIsViewportLargerThanBreakpoint(stackedAtBreakpoint);\n\n const parentChildDirection = getDirection(orientation, stackedViewElement);\n\n const stackedViewChildren = {\n parent: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {parent}\n </ParentChildItem>\n ),\n child: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {child}\n </ParentChildItem>\n ),\n };\n\n return (\n <FlexLayout className={clsx(className, withBaseName())} ref={ref} {...rest}>\n {stackedView ? (\n stackedViewChildren[stackedViewElement]\n ) : (\n <>\n <ParentChildItem grow={0} disableAnimations={disableAnimations}>\n {parent}\n </ParentChildItem>\n <ParentChildItem grow={2} disableAnimations={disableAnimations}>\n {child}\n </ParentChildItem>\n </>\n )}\n </FlexLayout>\n );\n});\n"],"names":["makePrefixer","forwardRef","ParentChildLayout","useIsViewportLargerThanBreakpoint","jsx","ParentChildItem","FlexLayout","clsx","jsxs","Fragment"],"mappings":";;;;;;;;;;;;;AAiDA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA,CAAA;AAEzD,MAAM,YAAA,GAAe,CACnB,WAAA,EACA,kBACG,KAAA;AACH,EAAA,IAAI,SAA4B,GAAA,OAAA,CAAA;AAEhC,EAAA,IAAI,gBAAgB,YAAc,EAAA;AAChC,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,MAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,OAAA,CAAA;AAAA,KACd;AAAA,GACK,MAAA;AACL,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,QAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,KAAA,CAAA;AAAA,KACd;AAAA,GACF;AAEA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,iBAAA,GAAoBC,gBAG/B,CAAA,SAASC,kBACT,CAAA;AAAA,EACE,mBAAsB,GAAA,IAAA;AAAA,EACtB,kBAAqB,GAAA,QAAA;AAAA,EACrB,iBAAoB,GAAA,KAAA;AAAA,EACpB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAc,GAAA,YAAA;AAAA,EACX,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAM,MAAA,WAAA,GAAcC,oEAAkC,mBAAmB,CAAA,CAAA;AAEzE,EAAM,MAAA,oBAAA,GAAuB,YAAa,CAAA,WAAA,EAAa,kBAAkB,CAAA,CAAA;AAEzE,EAAA,MAAM,mBAAsB,GAAA;AAAA,IAC1B,wBACGC,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,MAAA;AAAA,KACH,CAAA;AAAA,IAEF,uBACGD,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,KAAA;AAAA,KACH,CAAA;AAAA,GAEJ,CAAA;AAEA,EAAA,uBACGD,cAAA,CAAAE,eAAA,EAAA;AAAA,IAAW,SAAW,EAAAC,SAAA,CAAK,SAAW,EAAA,YAAA,EAAc,CAAA;AAAA,IAAG,GAAA;AAAA,IAAW,GAAG,IAAA;AAAA,IACnE,QAAA,EAAA,WAAA,GACC,oBAAoB,kBAEpB,CAAA,mBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,MACE,QAAA,EAAA;AAAA,wBAACL,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,MAAA;AAAA,SACH,CAAA;AAAA,wBACCD,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,KAAA;AAAA,SACH,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"ParentChildLayout.js","sources":["../src/parent-child-layout/ParentChildLayout.tsx"],"sourcesContent":["import {\n Breakpoints,\n FlexLayout,\n FlexLayoutProps,\n makePrefixer,\n} from \"@salt-ds/core\";\n\nimport { clsx } from \"clsx\";\nimport { ElementType, forwardRef, HTMLAttributes, ReactNode } from \"react\";\nimport { ParentChildItem, SlideDirection } from \"../parent-child-item\";\nimport { useIsViewportLargerThanBreakpoint } from \"../utils\";\n\nimport \"./ParentChildLayout.css\";\n\nexport type StackedViewElement = \"parent\" | \"child\";\n\ntype Orientation = \"horizontal\" | \"vertical\";\n\nexport interface ParentChildLayoutProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Breakpoint at which the parent and child will stack.\n */\n stackedAtBreakpoint?: keyof Breakpoints;\n /**\n * Change element that is displayed when in staked view.\n */\n stackedViewElement?: StackedViewElement;\n /**\n * Disable all animations.\n */\n disableAnimations?: boolean;\n /**\n * Orientation for slide animations.\n */\n orientation?: Orientation;\n /**\n * Controls the space between columns.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Parent component to be rendered\n */\n parent: ReactNode;\n /**\n * Child component to be rendered\n */\n child: ReactNode;\n}\n\nconst withBaseName = makePrefixer(\"saltParentChildLayout\");\n\nconst getDirection = (\n orientation: Orientation,\n stackedViewElement: StackedViewElement\n) => {\n let direction: SlideDirection = \"right\";\n\n if (orientation === \"horizontal\") {\n if (stackedViewElement === \"parent\") {\n direction = \"left\";\n } else {\n direction = \"right\";\n }\n } else {\n if (stackedViewElement === \"parent\") {\n direction = \"bottom\";\n } else {\n direction = \"top\";\n }\n }\n\n return direction;\n};\n\nexport const ParentChildLayout = forwardRef<\n HTMLDivElement,\n ParentChildLayoutProps\n>(function ParentChildLayout(\n {\n stackedAtBreakpoint = \"sm\",\n stackedViewElement = \"parent\",\n disableAnimations = false,\n parent,\n child,\n className,\n orientation = \"horizontal\",\n ...rest\n },\n ref\n) {\n const stackedView = useIsViewportLargerThanBreakpoint(stackedAtBreakpoint);\n\n const parentChildDirection = getDirection(orientation, stackedViewElement);\n\n const stackedViewChildren = {\n parent: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {parent}\n </ParentChildItem>\n ),\n child: (\n <ParentChildItem\n disableAnimations={disableAnimations}\n direction={parentChildDirection}\n isStacked={stackedView}\n >\n {child}\n </ParentChildItem>\n ),\n };\n\n return (\n <FlexLayout className={clsx(withBaseName(), className)} ref={ref} {...rest}>\n {stackedView ? (\n stackedViewChildren[stackedViewElement]\n ) : (\n <>\n <ParentChildItem grow={0} disableAnimations={disableAnimations}>\n {parent}\n </ParentChildItem>\n <ParentChildItem grow={2} disableAnimations={disableAnimations}>\n {child}\n </ParentChildItem>\n </>\n )}\n </FlexLayout>\n );\n});\n"],"names":["makePrefixer","forwardRef","ParentChildLayout","useIsViewportLargerThanBreakpoint","jsx","ParentChildItem","FlexLayout","clsx","jsxs","Fragment"],"mappings":";;;;;;;;;;;;;AAiDA,MAAM,YAAA,GAAeA,kBAAa,uBAAuB,CAAA,CAAA;AAEzD,MAAM,YAAA,GAAe,CACnB,WAAA,EACA,kBACG,KAAA;AACH,EAAA,IAAI,SAA4B,GAAA,OAAA,CAAA;AAEhC,EAAA,IAAI,gBAAgB,YAAc,EAAA;AAChC,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,MAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,OAAA,CAAA;AAAA,KACd;AAAA,GACK,MAAA;AACL,IAAA,IAAI,uBAAuB,QAAU,EAAA;AACnC,MAAY,SAAA,GAAA,QAAA,CAAA;AAAA,KACP,MAAA;AACL,MAAY,SAAA,GAAA,KAAA,CAAA;AAAA,KACd;AAAA,GACF;AAEA,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,iBAAA,GAAoBC,gBAG/B,CAAA,SAASC,kBACT,CAAA;AAAA,EACE,mBAAsB,GAAA,IAAA;AAAA,EACtB,kBAAqB,GAAA,QAAA;AAAA,EACrB,iBAAoB,GAAA,KAAA;AAAA,EACpB,MAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAc,GAAA,YAAA;AAAA,EACX,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAM,MAAA,WAAA,GAAcC,oEAAkC,mBAAmB,CAAA,CAAA;AAEzE,EAAM,MAAA,oBAAA,GAAuB,YAAa,CAAA,WAAA,EAAa,kBAAkB,CAAA,CAAA;AAEzE,EAAA,MAAM,mBAAsB,GAAA;AAAA,IAC1B,wBACGC,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,MAAA;AAAA,KACH,CAAA;AAAA,IAEF,uBACGD,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,iBAAA;AAAA,MACA,SAAW,EAAA,oBAAA;AAAA,MACX,SAAW,EAAA,WAAA;AAAA,MAEV,QAAA,EAAA,KAAA;AAAA,KACH,CAAA;AAAA,GAEJ,CAAA;AAEA,EAAA,uBACGD,cAAA,CAAAE,eAAA,EAAA;AAAA,IAAW,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IAAG,GAAA;AAAA,IAAW,GAAG,IAAA;AAAA,IACnE,QAAA,EAAA,WAAA,GACC,oBAAoB,kBAEpB,CAAA,mBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,MACE,QAAA,EAAA;AAAA,wBAACL,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,MAAA;AAAA,SACH,CAAA;AAAA,wBACCD,cAAA,CAAAC,+BAAA,EAAA;AAAA,UAAgB,IAAM,EAAA,CAAA;AAAA,UAAG,iBAAA;AAAA,UACvB,QAAA,EAAA,KAAA;AAAA,SACH,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -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 --pill-icon-offset: 1px;\n}\n\n.salt-density-medium {\n --pill-icon-offset: 2px;\n}\n\n.salt-density-low {\n --pill-icon-offset: 3px;\n}\n\n.salt-density-touch {\n --pill-icon-offset: 4px;\n}\n\n/* Styles applied to the root element */\n.saltPill {\n --pill-background: var(--saltPill-background, var(--salt-taggable-background));\n --pill-background-active: var(--saltPill-background-active, var(--salt-taggable-background-active));\n --pill-background-disabled: var(--saltPill-background-disabled, var(--salt-taggable-background-disabled));\n --pill-background-hover: var(--saltPill-background-hover, var(--salt-taggable-background-hover));\n --pill-checkbox-size: var(--saltPill-checkbox-size, calc(var(--pill-height) - 2px));\n --pill-fontSize: var(--saltPill-fontSize, var(--salt-text-label-fontSize));\n --pill-height: calc(var(--salt-size-base) - (var(--salt-size-unit) * 1.5));\n --pill-icon-color: var(--saltPill-icon-color, var(--salt-taggable-foreground));\n --pill-icon-color-active: var(--saltPill-icon-color-active, var(--salt-taggable-foreground-active));\n --pill-icon-color-hover: var(--saltPill-icon-color-hover, var(--salt-taggable-foreground-hover));\n --pill-icon-color-disabled: var(--saltPill-icon-color-disabled, var(--salt-taggable-foreground-disabled));\n --pill-text-color: var(--saltPill-text-color, var(--salt-taggable-foreground));\n --pill-text-color-active: var(--saltPill-text-color-active, var(--salt-taggable-foreground-active));\n --pill-text-color-hover: var(--saltPill-text-color-hover, var(--salt-taggable-foreground-hover));\n --pill-text-color-disabled: var(--saltPill-text-color-disabled, var(--salt-taggable-foreground-disabled));\n\n /* Button API */\n --saltButton-fontWeight: var(--saltPill-button-fontWeight, var(--salt-text-fontWeight));\n --saltButton-padding: var(--saltPill-button-padding, 0);\n --saltButton-textTransform: var(--saltPill-button-textTransform, unset);\n --saltButton-cursor: normal;\n}\n\n.saltPill {\n align-items: center;\n background: var(--pill-background);\n border-radius: var(--saltPill-borderRadius, 0);\n color: var(--pill-text-color);\n display: inline-flex;\n font-size: var(--pill-fontSize);\n height: var(--saltPill-height, var(--pill-checkbox-size)); /* TODO: Check with design vs checkbox height */\n letter-spacing: var(--saltPill-letterSpacing, 0);\n line-height: var(--saltPill-lineHeight, var(--salt-text-label-lineHeight));\n max-width: var(--saltPill-maxWidth, 160px);\n min-width: var(--saltPill-minWidth, 40px);\n min-height: var(--saltPill-minHeight, var(--salt-text-minHeight));\n outline: var(--saltPill-outline, 0);\n position: relative;\n}\n\n.saltPill:hover {\n --saltButton-background-active: var(--pill-background-active);\n --saltButton-background-hover: var(--pill-background-hover);\n\n --saltIcon-color: var(--pill-icon-color);\n --saltIcon-color-hover: var(--pill-icon-color-hover);\n\n background: var(--pill-background-hover);\n}\n\n/* Style applied to Pill when active */\n.saltPill:active,\n.saltPill-active {\n --saltButton-background-active: var(--pill-background-active);\n}\n\n/* Style applied to Pill on focus */\n.saltPill:focus {\n outline-color: var(--saltPill-focused-outlineColor, var(--salt-focused-outlineColor));\n outline-style: var(--saltPill-focused-outlineStyle, var(--salt-focused-outlineStyle));\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n/* Style applied to Pill icon if `clickable={true}` */\n.saltPill-clickable {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n\n cursor: var(--salt-selectable-cursor-hover);\n user-select: none;\n}\n\n/* Style applied to Pill when `deletable={true}` */\n.saltPill-deletable {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n}\n\n.saltPill-selectable:hover,\n.saltPill-deletable:hover {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n}\n\n/* Style applied to Pill when active if `selectable={true}` */\n.saltPill-selectable:active,\n.saltPill-active.saltPill-selectable {\n --saltButton-background-active: var(--pill-background);\n}\n\n/* Style applied to Pill when disabled */\n.saltPill-disabled,\n.saltPill-disabled:hover,\n.saltPill-disabled:active {\n --saltButton-background-active: var(--pill-background-disabled);\n --saltButton-background-hover: var(--pill-background-disabled);\n --saltButton-text-color-active: var(--pill-text-color);\n --saltButton-text-color-hover: var(--pill-text-color);\n --saltCheckbox-icon-tick-color: var(--salt-taggable-foreground-disabled);\n --saltCheckbox-icon-stroke-hover: var(--salt-selectable-borderColor-disabled);\n\n background: var(--pill-background-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Checkbox styles for selectable Pill when `disabled={true}` */\n.saltPill-disabled .saltPill-checkbox {\n --saltCheckbox-icon-tick-color: var(--salt-taggable-foreground-disabled);\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-disabled);\n --saltCheckbox-icon-stroke-hover: var(--salt-selectable-borderColor-disabled);\n}\n\n/* Style applied to Pill label */\n.saltPill-label {\n color: var(--saltPill-text-color, var(--pill-text-color));\n display: inline;\n flex-grow: 1;\n font-weight: var(--saltPill-fontWeight, var(--salt-text-fontWeight));\n overflow: hidden;\n padding-left: var(--saltPill-label-paddingLeft, calc(var(--salt-size-unit) * 0.75));\n padding-right: var(--saltPill-label-paddingRight, calc(var(--salt-size-unit) * 0.75));\n pointer-events: none;\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Style applied to Pill label when `deletable={true}` */\n.saltPill-deletable .saltPill-label {\n padding-right: 0px;\n}\n\n/* Style applied to Pill label inner text */\n.saltPill-innerLabel {\n vertical-align: top;\n line-height: var(--pill-height);\n}\n\n/* Style applied to Pill label and icon when `disabled={true}` */\n.saltPill-disabled .saltPill-label,\n.saltPill-disabled .saltIcon {\n cursor: var(--salt-selectable-cursor-disabled);\n opacity: var(--salt-palette-opacity-foreground);\n\n --saltIcon-color: var(--pill-icon-color-disabled);\n --saltIcon-color-hover: var(--pill-icon-color-disabled);\n}\n\n/* Style applied to Pill delete button */\n.saltPill-deleteButton {\n --saltButton-background-hover: var(--pill-background-hover);\n --saltButton-background-active: var(--pill-background-active);\n --saltButton-cursor: pointer;\n\n flex-shrink: 0;\n height: var(--pill-checkbox-size);\n margin-left: calc(var(--salt-size-unit) / 2);\n min-height: var(--saltPill-minHeight, var(--salt-text-minHeight));\n padding-right: calc(var(--salt-size-unit) / 2);\n}\n\n/* Style applied to Pill delete button if `disabled={true}` */\n.saltPill-deleteButton-disabled {\n --saltButton-background-hover: var(--pill-background-disabled);\n --saltButton-background-active: var(--pill-background-disabled);\n --saltButton-background-disabled: initial;\n}\n\n/* Style applied to Pill delete button icon */\n.saltPill-deleteButton .saltPill-deleteIcon {\n left: var(--saltPill-deleteButton-left, var(--pill-icon-offset));\n position: relative;\n}\n\n/* Style applied to Pill delete button icon on active state */\n.saltPill-deleteButton:active .saltPill-deleteIcon {\n --saltIcon-color: var(--saltPill-deleteButton-color-active, var(--pill-icon-color-active));\n}\n\n/* Style applied to Pill delete button icon if `disabled={true}` on active state */\n.saltPill-disabled:active .saltPill-deleteIcon {\n --saltButton-background-active: var(--pill-background-disabled);\n --saltIcon-color: var(--saltPill-deleteButton-color-disabled, var(--pill-icon-color));\n}\n\n/* Style applied to Pill icon */\n.saltPill .saltPill-icon {\n fill: var(--pill-icon-color);\n height: var(--salt-size-graphic-small);\n margin-left: calc(var(--salt-size-unit) * 0.75);\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n/* Style applied to Pill icon on active state */\n.saltPill:active .saltPill-icon,\n.saltPill-active .saltPill-icon {\n fill: var(--pill-icon-color-active);\n}\n\n.saltPill:not(.saltPill-deletable) .saltPill-icon + .saltPill-label {\n padding-left: 0;\n}\n\n/* Pill label styles on hover */\n.saltPill:hover .saltPill-label {\n color: var(--pill-text-color-hover);\n}\n\n/* Pill label styles on active state */\n.saltPill:active .saltPill-label {\n color: var(--pill-text-color-active);\n}\n\n/* Pill label styles when `selectable={true}` or `deletable={true}` */\n.saltPill-selectable .saltPill-label,\n.saltPill-selectable:active .saltPill-label,\n.saltPill-deletable .saltPill-label,\n.saltPill-deletable:active .saltPill-label {\n background: var(--pill-background);\n color: var(--pill-text-color);\n}\n\n/* Pill label styles when `disabled={true}` */\n.saltPill-disabled .saltPill-label,\n.saltPill-disabled:active .saltPill-label {\n background: initial;\n color: var(--pill-text-color-disabled);\n}\n";
5
+ var css_248z = ".salt-density-high {\n --pill-icon-offset: 1px;\n}\n\n.salt-density-medium {\n --pill-icon-offset: 2px;\n}\n\n.salt-density-low {\n --pill-icon-offset: 3px;\n}\n\n.salt-density-touch {\n --pill-icon-offset: 4px;\n}\n\n/* Styles applied to the root element */\n.saltPill {\n --pill-background: var(--saltPill-background, var(--salt-taggable-background));\n --pill-background-active: var(--saltPill-background-active, var(--salt-taggable-background-active));\n --pill-background-disabled: var(--saltPill-background-disabled, var(--salt-taggable-background-disabled));\n --pill-background-hover: var(--saltPill-background-hover, var(--salt-taggable-background-hover));\n --pill-checkbox-size: var(--saltPill-checkbox-size, calc(var(--pill-height) - 2px));\n --pill-fontSize: var(--saltPill-fontSize, var(--salt-text-label-fontSize));\n --pill-height: calc(var(--salt-size-base) - (var(--salt-size-unit) * 1.5));\n --pill-icon-color: var(--saltPill-icon-color, var(--salt-taggable-foreground));\n --pill-icon-color-active: var(--saltPill-icon-color-active, var(--salt-taggable-foreground-active));\n --pill-icon-color-hover: var(--saltPill-icon-color-hover, var(--salt-taggable-foreground-hover));\n --pill-icon-color-disabled: var(--saltPill-icon-color-disabled, var(--salt-taggable-foreground-disabled));\n --pill-text-color: var(--saltPill-text-color, var(--salt-taggable-foreground));\n --pill-text-color-active: var(--saltPill-text-color-active, var(--salt-taggable-foreground-active));\n --pill-text-color-hover: var(--saltPill-text-color-hover, var(--salt-taggable-foreground-hover));\n --pill-text-color-disabled: var(--saltPill-text-color-disabled, var(--salt-taggable-foreground-disabled));\n\n /* Button API */\n --saltButton-fontWeight: var(--saltPill-button-fontWeight, var(--salt-text-fontWeight));\n --saltButton-padding: var(--saltPill-button-padding, 0);\n --saltButton-textTransform: var(--saltPill-button-textTransform, unset);\n --saltButton-cursor: normal;\n}\n\n.saltPill {\n align-items: center;\n background: var(--pill-background);\n border-radius: var(--saltPill-borderRadius, 0);\n color: var(--pill-text-color);\n display: inline-flex;\n font-size: var(--pill-fontSize);\n height: var(--saltPill-height, var(--pill-checkbox-size)); /* TODO: Check with design vs checkbox height */\n letter-spacing: var(--saltPill-letterSpacing, 0);\n line-height: var(--saltPill-lineHeight, var(--salt-text-label-lineHeight));\n max-width: var(--saltPill-maxWidth, 160px);\n min-width: var(--saltPill-minWidth, 40px);\n min-height: var(--saltPill-minHeight, var(--salt-text-minHeight));\n outline: var(--saltPill-outline, 0);\n position: relative;\n}\n\n.saltPill:hover {\n --saltButton-background-active: var(--pill-background-active);\n --saltButton-background-hover: var(--pill-background-hover);\n\n --saltIcon-color: var(--pill-icon-color);\n --saltIcon-color-hover: var(--pill-icon-color-hover);\n\n background: var(--pill-background-hover);\n}\n\n/* Style applied to Pill when active */\n.saltPill:active,\n.saltPill-active {\n --saltButton-background-active: var(--pill-background-active);\n}\n\n/* Style applied to Pill on focus */\n.saltPill:focus {\n outline-color: var(--saltPill-focused-outlineColor, var(--salt-focused-outlineColor));\n outline-style: var(--saltPill-focused-outlineStyle, var(--salt-focused-outlineStyle));\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n/* Style applied to Pill icon if `clickable={true}` */\n.saltPill-clickable {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n\n cursor: var(--salt-selectable-cursor-hover);\n user-select: none;\n}\n\n/* Style applied to Pill when `deletable={true}` */\n.saltPill-deletable {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n}\n\n.saltPill-selectable:hover,\n.saltPill-deletable:hover {\n --saltButton-background-active: var(--pill-background);\n --saltButton-background-hover: var(--pill-background);\n}\n\n/* Style applied to Pill when active if `selectable={true}` */\n.saltPill-selectable:active,\n.saltPill-active.saltPill-selectable {\n --saltButton-background-active: var(--pill-background);\n}\n\n/* Style applied to Pill when disabled */\n.saltPill-disabled,\n.saltPill-disabled:hover,\n.saltPill-disabled:active {\n --saltButton-background-active: var(--pill-background-disabled);\n --saltButton-background-hover: var(--pill-background-disabled);\n --saltButton-text-color-active: var(--pill-text-color);\n --saltButton-text-color-hover: var(--pill-text-color);\n --saltCheckbox-icon-tick-color: var(--salt-taggable-foreground-disabled);\n --saltCheckbox-icon-stroke-hover: var(--salt-selectable-borderColor-disabled);\n\n background: var(--pill-background-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Checkbox styles for selectable Pill when `disabled={true}` */\n.saltPill-disabled .saltPill-checkbox {\n --saltCheckbox-icon-tick-color: var(--salt-taggable-foreground-disabled);\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-disabled);\n --saltCheckbox-icon-stroke-hover: var(--salt-selectable-borderColor-disabled);\n}\n\n/* Style applied to Pill label */\n.saltPill-label {\n color: var(--saltPill-text-color, var(--pill-text-color));\n display: inline;\n flex-grow: 1;\n font-weight: var(--saltPill-fontWeight, var(--salt-text-fontWeight));\n overflow: hidden;\n padding-left: var(--saltPill-label-paddingLeft, calc(var(--salt-size-unit) * 0.75));\n padding-right: var(--saltPill-label-paddingRight, calc(var(--salt-size-unit) * 0.75));\n pointer-events: none;\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Style applied to Pill label when `deletable={true}` */\n.saltPill-deletable .saltPill-label {\n padding-right: 0px;\n}\n\n/* Style applied to Pill label inner text */\n.saltPill-innerLabel {\n vertical-align: top;\n line-height: var(--pill-height);\n}\n\n/* Style applied to Pill label and icon when `disabled={true}` */\n.saltPill-disabled .saltPill-label,\n.saltPill-disabled .saltIcon {\n cursor: var(--salt-selectable-cursor-disabled);\n opacity: var(--salt-palette-opacity-foreground);\n\n --saltIcon-color: var(--pill-icon-color-disabled);\n --saltIcon-color-hover: var(--pill-icon-color-disabled);\n}\n\n/* Style applied to Pill delete button */\n.saltPill-deleteButton {\n --saltButton-background-hover: var(--pill-background-hover);\n --saltButton-background-active: var(--pill-background-active);\n --saltButton-cursor: pointer;\n\n flex-shrink: 0;\n height: var(--pill-checkbox-size);\n margin-left: calc(var(--salt-size-unit) / 2);\n min-height: var(--saltPill-minHeight, var(--salt-text-minHeight));\n padding-right: calc(var(--salt-size-unit) / 2);\n}\n\n/* Style applied to Pill delete button if `disabled={true}` */\n.saltPill-deleteButton-disabled {\n --saltButton-background-hover: var(--pill-background-disabled);\n --saltButton-background-active: var(--pill-background-disabled);\n --saltButton-background-disabled: initial;\n}\n\n/* Style applied to Pill delete button icon */\n.saltPill-deleteButton .saltPill-deleteIcon {\n left: var(--saltPill-deleteButton-left, var(--pill-icon-offset));\n position: relative;\n}\n\n/* Style applied to Pill delete button icon on active state */\n.saltPill-deleteButton:active .saltPill-deleteIcon {\n --saltIcon-color: var(--saltPill-deleteButton-color-active, var(--pill-icon-color-active));\n}\n\n/* Style applied to Pill delete button icon if `disabled={true}` on active state */\n.saltPill-disabled:active .saltPill-deleteIcon {\n --saltButton-background-active: var(--pill-background-disabled);\n --saltIcon-color: var(--saltPill-deleteButton-color-disabled, var(--pill-icon-color));\n}\n\n/* Style applied to Pill icon */\n.saltPill .saltPill-icon {\n fill: var(--pill-icon-color);\n height: 12px; /* TODO: Replace with updated size */\n margin-left: calc(var(--salt-size-unit) * 0.75);\n margin-right: calc(var(--salt-size-unit) * 0.5);\n}\n\n/* Style applied to Pill icon on active state */\n.saltPill:active .saltPill-icon,\n.saltPill-active .saltPill-icon {\n fill: var(--pill-icon-color-active);\n}\n\n.saltPill:not(.saltPill-deletable) .saltPill-icon + .saltPill-label {\n padding-left: 0;\n}\n\n/* Pill label styles on hover */\n.saltPill:hover .saltPill-label {\n color: var(--pill-text-color-hover);\n}\n\n/* Pill label styles on active state */\n.saltPill:active .saltPill-label {\n color: var(--pill-text-color-active);\n}\n\n/* Pill label styles when `selectable={true}` or `deletable={true}` */\n.saltPill-selectable .saltPill-label,\n.saltPill-selectable:active .saltPill-label,\n.saltPill-deletable .saltPill-label,\n.saltPill-deletable:active .saltPill-label {\n background: var(--pill-background);\n color: var(--pill-text-color);\n}\n\n/* Pill label styles when `disabled={true}` */\n.saltPill-disabled .saltPill-label,\n.saltPill-disabled:active .saltPill-label {\n background: initial;\n color: var(--pill-text-color-disabled);\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 = ".saltCircularProgress {\n --circularProgress-gradient-color: var(--salt-measured-fill);\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-measured-background);\n stroke-width: 1px;\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-measured-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";
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-measured-fill-disabled);\n}\n\n.saltLinearProgress-disabled .saltLinearProgress-barContainer :after {\n background: var(--salt-measured-fill-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-measured-background);\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-measured-fill);\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";
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 root component */\n.salt-density-medium {\n --radioButton-label-marginTop: 6px;\n --radioButton-row-marginRight: 24px;\n}\n\n.salt-density-high {\n --radioButton-label-marginTop: 3px;\n --radioButton-row-marginRight: 12px;\n}\n\n.salt-density-low {\n --radioButton-label-marginTop: 9px;\n --radioButton-row-marginRight: 36px;\n}\n\n.salt-density-touch {\n --radioButton-label-marginTop: 12px;\n --radioButton-row-marginRight: 48px;\n}\n\n.saltRadioButton {\n cursor: pointer;\n display: block;\n}\n\n/* Styles applied to root component on hover if `disabled={true}` or FormField disabled */\n.saltRadioButton-disabled,\n.saltFormField-disabled .saltRadioButton {\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltRadioButton-disabled {\n --saltControlLabel-color: var(--salt-text-primary-foreground-disabled);\n\n pointer-events: visible;\n}\n\n/* Styles applied to container of label and Radio component */\n.saltRadioButton-labelContainer {\n display: inline-flex;\n align-items: flex-start;\n margin-left: 0;\n margin-right: 0;\n margin-top: var(--saltRadioButton-label-marginTop, var(--radioButton-label-marginTop));\n vertical-align: baseline;\n}\n\n.saltRadioButton-labelContainer .saltRadioButton {\n display: inline-flex;\n align-content: flex-start;\n vertical-align: baseline;\n}\n\n.saltFormGroup-row > .saltRadioButton {\n margin-right: var(--saltFormGroup-row-marginRight, var(--radioButton-row-marginRight));\n}\n";
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 ControlLabel = require('../control-label/ControlLabel.js');
10
- var RadioButtonBase = require('./RadioButtonBase.js');
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
- LabelProps,
23
- value,
23
+ name: nameProp,
24
+ onFocus,
25
+ onBlur,
24
26
  onChange,
27
+ value,
25
28
  ...rest
26
29
  } = props;
27
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
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: /* @__PURE__ */ jsxRuntime.jsx(ControlLabel.ControlLabel, {
37
- ...LabelProps,
38
- className: clsx.clsx(
39
- withBaseName("labelContainer"),
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
- onChange,
54
- icon
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 ComponentType,\n} from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { ControlLabel, ControlLabelProps } from \"../control-label\";\nimport { RadioButtonBase as Radio } from \"./RadioButtonBase\";\nimport { RadioButtonIconProps } from \"./RadioButtonIcon\";\n\nimport \"./RadioButton.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButton\");\n\nexport interface RadioButtonProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n checked?: boolean;\n className?: string;\n disabled?: boolean;\n /**\n * Custom icon component\n */\n icon?: ComponentType<RadioButtonIconProps>;\n /**\n * The label to be shown next to the radio\n */\n label?: ControlLabelProps[\"label\"];\n LabelProps?: Partial<ControlLabelProps>;\n name?: string;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n value?: string;\n}\n\nexport const RadioButton = forwardRef<HTMLLabelElement, RadioButtonProps>(\n function RadioButton(props, ref) {\n const {\n checked,\n className,\n icon,\n disabled,\n label,\n LabelProps,\n value,\n onChange,\n ...rest\n } = props;\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n {...rest}\n >\n <ControlLabel\n {...LabelProps}\n className={clsx(\n withBaseName(\"labelContainer\"),\n {\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n disabled={disabled}\n label={label}\n labelPlacement=\"right\"\n ref={ref}\n >\n <Radio\n checked={checked}\n disabled={disabled}\n value={value}\n onChange={onChange}\n icon={icon}\n />\n </ControlLabel>\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","RadioButton","jsx","clsx","ControlLabel","Radio"],"mappings":";;;;;;;;;;;;AAcA,MAAM,YAAA,GAAeA,kBAAa,iBAAiB,CAAA,CAAA;AAqB5C,MAAM,WAAc,GAAAC,gBAAA;AAAA,EACzB,SAASC,YAAY,CAAA,KAAA,EAAO,GAAK,EAAA;AAC/B,IAAM,MAAA;AAAA,MACJ,OAAA;AAAA,MACA,SAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAA,uBACGC,cAAA,CAAA,KAAA,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,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAAD,cAAA,CAAAE,yBAAA,EAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,SAAW,EAAAD,SAAA;AAAA,UACT,aAAa,gBAAgB,CAAA;AAAA,UAC7B;AAAA,YACE,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,WAC9B;AAAA,UACA,SAAA;AAAA,SACF;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,QACA,cAAe,EAAA,OAAA;AAAA,QACf,GAAA;AAAA,QAEA,QAAC,kBAAAD,cAAA,CAAAG,+BAAA,EAAA;AAAA,UACC,OAAA;AAAA,UACA,QAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA;AAAA,UACA,IAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
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 component (RadioButton) */\n.salt-density-high {\n --radioButton-group-vertical-label-marginBottom: 4px;\n --radioButton-group-legend-minHeight: 14px;\n --radioButton-group-legend-paddingRight: 16px;\n --radioButton-group-horizontal-legend-marginTop: 2px;\n --radioButton-group-horizontal-legend-marginRight: 12px;\n --radioButton-group-horizontal-legend-paddingRight: 4px;\n --radioButton-group-horizontal-legend-marginBottom: 0px;\n --radioButton-group-vertical-formLabel-paddingRight: 4px;\n --radioButton-group-vertical-formLabel-marginBottom: 4px;\n --radioButton-group-vertical-formLabel-transform: translate(0px, 3px);\n --radioButton-group-formLabel-transform: translate(0px, 3px);\n}\n\n.salt-density-medium {\n --radioButton-group-vertical-label-marginBottom: 6px;\n --radioButton-group-legend-minHeight: 14px;\n --radioButton-group-legend-paddingRight: 16px;\n --radioButton-group-horizontal-legend-marginTop: 1px;\n --radioButton-group-horizontal-legend-marginRight: 24px;\n --radioButton-group-horizontal-legend-paddingRight: 8px;\n --radioButton-group-horizontal-legend-marginBottom: 0px;\n --radioButton-group-vertical-formLabel-paddingRight: 8px;\n --radioButton-group-vertical-formLabel-marginBottom: 6px;\n --radioButton-group-vertical-formLabel-transform: translate(0px, 5px);\n --radioButton-group-formLabel-transform: translate(0px, 5px);\n}\n\n.salt-density-low {\n --radioButton-group-vertical-label-marginBottom: 9px;\n --radioButton-group-legend-minHeight: 14px;\n --radioButton-group-legend-paddingRight: 16px;\n --radioButton-group-horizontal-legend-marginTop: 4px;\n --radioButton-group-horizontal-legend-marginRight: 36px;\n --radioButton-group-horizontal-legend-paddingRight: 12px;\n --radioButton-group-horizontal-legend-marginBottom: 0px;\n --radioButton-group-vertical-formLabel-paddingRight: 12px;\n --radioButton-group-vertical-formLabel-marginBottom: 9px;\n --radioButton-group-vertical-formLabel-transform: translate(0px, 7px);\n --radioButton-group-formLabel-transform: translate(0px, 7px);\n}\n\n.salt-density-touch {\n --radioButton-group-vertical-label-marginBottom: 12px;\n --radioButton-group-legend-minHeight: 16px;\n --radioButton-group-legend-paddingRight: 16px;\n --radioButton-group-horizontal-legend-marginTop: 4px;\n --radioButton-group-horizontal-legend-marginRight: 48px;\n --radioButton-group-horizontal-legend-paddingRight: 16px;\n --radioButton-group-horizontal-legend-marginBottom: 0px;\n --radioButton-group-vertical-formLabel-paddingRight: 16px;\n --radioButton-group-vertical-formLabel-marginBottom: 12px;\n --radioButton-group-vertical-formLabel-transform: translate(0px, 11px);\n --radioButton-group-formLabel-transform: translate(0px, 11px);\n}\n\n/* Styles applied to root element */\n.saltRadioButtonGroup {\n border: 0;\n margin: 0;\n padding: 0;\n display: inline-flex;\n flex-direction: column;\n vertical-align: top;\n}\n\n/* Styles applied when `row=false OR undefined` */\n.saltRadioButtonGroup-vertical .saltRadioButtonGroup-legend.saltFormLabel {\n margin-bottom: var(--saltRadioButton-group-vertical-label-marginBottom, var(--radioButton-group-vertical-label-marginBottom));\n margin-top: var(--saltRadioButton-group-vertical-label-marginTop, 0px);\n\n --saltFormField-label-paddingRight: var(--radioButton-group-vertical-formLabel-paddingRight);\n --saltFormField-label-marginBottom: var(--radioButton-group-vertical-formLabel-marginBottom);\n --saltFormField-label-transform: var(--radioButton-group-vertical-formLabel-transform);\n}\n\n/* Styles applied to the FormField FormLabel component */\n.saltRadioButtonGroup-legend.saltFormLabel {\n --saltFormField-label-transform: var(--radioButton-group-formLabel-transform);\n}\n\n/* Styles applied to the Form Field FormLabel component if `row={true}` */\n.saltRadioButtonGroup-horizontal .saltRadioButtonGroup-legend.saltFormLabel {\n --formField-label-width: auto;\n float: left;\n}\n\n/* Styles applied to the Form Field FormLabel component */\n.saltRadioButtonGroup-legend.saltFormLabel {\n padding-left: var(--saltRadioButton-group-formLabel-paddingLeft, 0px);\n}\n\n/* Styles applied to legend if `row={true}` */\n.saltRadioButtonGroup-horizontal .saltRadioButtonGroup-legend {\n margin-bottom: var(--saltRadioButton-group-horizontal-legend-marginBottom, var(--radioButton-group-horizontal-legend-marginBottom));\n margin-right: var(--saltRadioButton-group-horizontal-legend-marginRight, var(--radioButton-group-horizontal-legend-marginRight));\n margin-top: var(--saltRadioButton-group-horizontal-legend-marginTop, var(--radioButton-group-horizontal-legend-marginTop));\n padding-right: var(--saltRadioButton-group-horizontal-legend-paddingRight, var(--radioButton-group-horizontal-legend-paddingRight));\n}\n\n/* Styles applied to legend */\n.saltRadioButtonGroup-legend {\n margin-bottom: var(--saltRadioButton-group-legend-marginBottom, 4px);\n min-height: var(--saltRadioButton-group-legend-minHeight, var(--radioButton-group-legend-minHeight));\n padding-right: var(--saltRadioButton-group-legend-paddingRight, var(--radioButton-group-legend-paddingRight));\n transition: none;\n width: auto;\n}\n\n/* fieldset specific styles */\nfieldset.saltRadioButtonGroup.saltRadioButtonGroup-vertical {\n line-height: 1;\n}\n\nfieldset.saltRadioButtonGroup.saltRadioButtonGroup-horizontal {\n display: block;\n padding-left: 0px;\n min-inline-size: max-content;\n}\n";
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
- legend,
25
- icon,
26
- radios,
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 { inFormField, a11yProps } = useFormFieldProps.useFormFieldProps({
34
- focusVisible: false
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
- if (!isControlled()) {
41
- setStateValue(event.target.value);
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.jsxs("fieldset", {
36
+ return /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
70
37
  className: clsx.clsx(
71
38
  withBaseName(),
72
- row ? withBaseName("horizontal") : withBaseName("vertical"),
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
- ...a11yProps,
79
- children: [
80
- !inFormField && /* @__PURE__ */ jsxRuntime.jsx(FormLabel.FormLabel, {
81
- className: clsx.clsx(withBaseName("legend")),
82
- label: legend
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
 
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonGroup.js","sources":["../src/radio-button/RadioButtonGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentType,\n forwardRef,\n HTMLAttributes,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useId } from \"@salt-ds/core\";\nimport { useFormFieldProps } from \"../form-field-context\";\nimport { FormGroup } from \"../form-group\";\nimport { FormLabel } from \"../form-field\";\nimport { RadioGroupContext } from \"./internal/RadioGroupContext\";\nimport { RadioButton } from \"./RadioButton\";\nimport { RadioButtonIconProps } from \"./RadioButtonIcon\";\n\nimport \"./RadioButtonGroup.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonGroup\");\n\nexport interface RadioButtonGroupProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n defaultValue?: string;\n icon?: ComponentType<RadioButtonIconProps>;\n legend?: string;\n name?: string;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n radios?: {\n disabled?: boolean;\n label?: string;\n value?: string;\n }[];\n row?: boolean;\n value?: string;\n}\n\nexport const RadioButtonGroup = forwardRef<\n HTMLFieldSetElement,\n RadioButtonGroupProps\n>(function RadioButtonGroup(props, ref) {\n const {\n children,\n className,\n defaultValue,\n legend,\n icon,\n radios,\n onChange,\n value: valueProp,\n row,\n name: nameProp,\n ...rest\n } = props;\n\n const { inFormField, a11yProps } = useFormFieldProps({\n focusVisible: false,\n });\n\n const [stateValue, setStateValue] = useState(props.defaultValue);\n\n const getValue = () => (isControlled() ? props.value : stateValue);\n\n const isControlled = () => props.value !== undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!isControlled()) {\n setStateValue(event.target.value);\n }\n if (props.onChange) {\n props.onChange(event);\n }\n };\n\n const rootRef = useRef<HTMLFieldSetElement>(null);\n\n useImperativeHandle(\n undefined,\n () => ({\n focus: () => {\n const current = rootRef.current;\n if (current) {\n let input: HTMLInputElement | null = current.querySelector(\n \"input:not(:disabled):checked\"\n );\n if (!input) {\n input = current.querySelector(\"input:not(:disabled)\");\n }\n if (input) {\n input.focus();\n }\n }\n },\n }),\n []\n );\n\n const name = useId(nameProp);\n\n return (\n <fieldset\n className={clsx(\n withBaseName(),\n row ? withBaseName(\"horizontal\") : withBaseName(\"vertical\"),\n className\n )}\n data-testid=\"radio-button-group\"\n ref={ref}\n role=\"radiogroup\"\n {...a11yProps}\n >\n {!inFormField && (\n <FormLabel className={clsx(withBaseName(\"legend\"))} label={legend} />\n )}\n\n <RadioGroupContext.Provider\n value={{ name, onChange: handleChange, value: getValue() }}\n >\n <FormGroup role=\"radiogroup\" {...rest} row={row}>\n {(radios &&\n radios.map((radio) => (\n <RadioButton\n disabled={radio.disabled}\n icon={icon}\n key={radio.label}\n label={radio.label}\n value={radio.value}\n />\n ))) ||\n children}\n </FormGroup>\n </RadioGroupContext.Provider>\n </fieldset>\n );\n});\n"],"names":["makePrefixer","forwardRef","RadioButtonGroup","useFormFieldProps","useState","useRef","useImperativeHandle","useId","jsxs","clsx","jsx","FormLabel","RadioGroupContext","FormGroup","RadioButton"],"mappings":";;;;;;;;;;;;;;;;;AAoBA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA,CAAA;AAkBjD,MAAM,gBAAmB,GAAAC,gBAAA,CAG9B,SAASC,iBAAAA,CAAiB,OAAO,GAAK,EAAA;AACtC,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAO,EAAA,SAAA;AAAA,IACP,GAAA;AAAA,IACA,IAAM,EAAA,QAAA;AAAA,IACH,GAAA,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,WAAA,EAAa,SAAU,EAAA,GAAIC,mCAAkB,CAAA;AAAA,IACnD,YAAc,EAAA,KAAA;AAAA,GACf,CAAA,CAAA;AAED,EAAA,MAAM,CAAC,UAAY,EAAA,aAAa,CAAI,GAAAC,cAAA,CAAS,MAAM,YAAY,CAAA,CAAA;AAE/D,EAAA,MAAM,QAAW,GAAA,MAAO,YAAa,EAAA,GAAI,MAAM,KAAQ,GAAA,UAAA,CAAA;AAEvD,EAAM,MAAA,YAAA,GAAe,MAAM,KAAA,CAAM,KAAU,KAAA,KAAA,CAAA,CAAA;AAE3C,EAAM,MAAA,YAAA,GAAqD,CAAC,KAAU,KAAA;AACpE,IAAI,IAAA,CAAC,cAAgB,EAAA;AACnB,MAAc,aAAA,CAAA,KAAA,CAAM,OAAO,KAAK,CAAA,CAAA;AAAA,KAClC;AACA,IAAA,IAAI,MAAM,QAAU,EAAA;AAClB,MAAA,KAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AAAA,KACtB;AAAA,GACF,CAAA;AAEA,EAAM,MAAA,OAAA,GAAUC,aAA4B,IAAI,CAAA,CAAA;AAEhD,EAAAC,yBAAA;AAAA,IACE,KAAA,CAAA;AAAA,IACA,OAAO;AAAA,MACL,OAAO,MAAM;AACX,QAAA,MAAM,UAAU,OAAQ,CAAA,OAAA,CAAA;AACxB,QAAA,IAAI,OAAS,EAAA;AACX,UAAA,IAAI,QAAiC,OAAQ,CAAA,aAAA;AAAA,YAC3C,8BAAA;AAAA,WACF,CAAA;AACA,UAAA,IAAI,CAAC,KAAO,EAAA;AACV,YAAQ,KAAA,GAAA,OAAA,CAAQ,cAAc,sBAAsB,CAAA,CAAA;AAAA,WACtD;AACA,UAAA,IAAI,KAAO,EAAA;AACT,YAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAAA,WACd;AAAA,SACF;AAAA,OACF;AAAA,KACF,CAAA;AAAA,IACA,EAAC;AAAA,GACH,CAAA;AAEA,EAAM,MAAA,IAAA,GAAOC,WAAM,QAAQ,CAAA,CAAA;AAE3B,EAAA,uBACGC,eAAA,CAAA,UAAA,EAAA;AAAA,IACC,SAAW,EAAAC,SAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,GAAM,GAAA,YAAA,CAAa,YAAY,CAAA,GAAI,aAAa,UAAU,CAAA;AAAA,MAC1D,SAAA;AAAA,KACF;AAAA,IACA,aAAY,EAAA,oBAAA;AAAA,IACZ,GAAA;AAAA,IACA,IAAK,EAAA,YAAA;AAAA,IACJ,GAAG,SAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,CAAC,+BACCC,cAAA,CAAAC,mBAAA,EAAA;AAAA,QAAU,SAAW,EAAAF,SAAA,CAAK,YAAa,CAAA,QAAQ,CAAC,CAAA;AAAA,QAAG,KAAO,EAAA,MAAA;AAAA,OAAQ,CAAA;AAAA,sBAGrEC,cAAA,CAACE,oCAAkB,QAAlB,EAAA;AAAA,QACC,OAAO,EAAE,IAAA,EAAM,UAAU,YAAc,EAAA,KAAA,EAAO,UAAW,EAAA;AAAA,QAEzD,QAAC,kBAAAF,cAAA,CAAAG,mBAAA,EAAA;AAAA,UAAU,IAAK,EAAA,YAAA;AAAA,UAAc,GAAG,IAAA;AAAA,UAAM,GAAA;AAAA,UACnC,QACA,EAAA,MAAA,IAAA,MAAA,CAAO,GAAI,CAAA,CAAC,0BACTH,cAAA,CAAAI,uBAAA,EAAA;AAAA,YACC,UAAU,KAAM,CAAA,QAAA;AAAA,YAChB,IAAA;AAAA,YAEA,OAAO,KAAM,CAAA,KAAA;AAAA,YACb,OAAO,KAAM,CAAA,KAAA;AAAA,WAFR,EAAA,KAAA,CAAM,KAGb,CACD,CACD,IAAA,QAAA;AAAA,SACJ,CAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"RadioButtonGroup.js","sources":["../src/radio-button/RadioButtonGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n forwardRef,\n} from \"react\";\nimport { makePrefixer, useControlled, useId } from \"@salt-ds/core\";\nimport { RadioGroupContext } from \"./internal/RadioGroupContext\";\n\nimport \"./RadioButtonGroup.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonGroup\");\n\nexport interface RadioButtonGroupProps\n extends Omit<ComponentPropsWithoutRef<\"fieldset\">, \"onChange\"> {\n /**\n * Set the selected value when initialized.\n */\n defaultValue?: string;\n /**\n * Set the group direction.\n */\n direction?: \"horizontal\" | \"vertical\";\n /**\n * Only for horizontal direction. When `true` the text in radio button label will wrap to fit within the container. Otherwise the radio buttons will wrap onto the next line.\n */\n wrap?: boolean;\n /**\n * The name to be set on each radio button within the group. If not set, then one will be generated for you.\n */\n name?: string;\n /**\n * Callback for change event.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * The value of the radio group, required for a controlled component.\n */\n value?: string;\n}\n\nexport const RadioButtonGroup = forwardRef<\n HTMLFieldSetElement,\n RadioButtonGroupProps\n>(function RadioButtonGroup(props, ref) {\n const {\n children,\n className,\n defaultValue,\n direction = \"vertical\",\n wrap = true,\n name: nameProp,\n onChange,\n value: valueProp,\n ...rest\n } = props;\n\n const [value, setStateValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n state: \"value\",\n name: \"RadioButtonGroup\",\n });\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n setStateValue(event.target.value);\n onChange?.(event);\n };\n\n const name = useId(nameProp);\n\n return (\n <fieldset\n className={clsx(\n withBaseName(),\n withBaseName(direction),\n {\n [withBaseName(\"noWrap\")]: !wrap,\n },\n className\n )}\n data-testid=\"radio-button-group\"\n ref={ref}\n role=\"radiogroup\"\n {...rest}\n >\n <RadioGroupContext.Provider\n value={{ name, onChange: handleChange, value }}\n >\n {children}\n </RadioGroupContext.Provider>\n </fieldset>\n );\n});\n"],"names":["makePrefixer","forwardRef","RadioButtonGroup","useControlled","useId","jsx","clsx","RadioGroupContext"],"mappings":";;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,sBAAsB,CAAA,CAAA;AA8BjD,MAAM,gBAAmB,GAAAC,gBAAA,CAG9B,SAASC,iBAAAA,CAAiB,OAAO,GAAK,EAAA;AACtC,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAY,GAAA,UAAA;AAAA,IACZ,IAAO,GAAA,IAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,QAAA;AAAA,IACA,KAAO,EAAA,SAAA;AAAA,IACJ,GAAA,IAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,CAAC,KAAA,EAAO,aAAa,CAAA,GAAIC,kBAAc,CAAA;AAAA,IAC3C,UAAY,EAAA,SAAA;AAAA,IACZ,OAAS,EAAA,YAAA;AAAA,IACT,KAAO,EAAA,OAAA;AAAA,IACP,IAAM,EAAA,kBAAA;AAAA,GACP,CAAA,CAAA;AAED,EAAM,MAAA,YAAA,GAAqD,CAAC,KAAU,KAAA;AACpE,IAAc,aAAA,CAAA,KAAA,CAAM,OAAO,KAAK,CAAA,CAAA;AAChC,IAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACb,CAAA;AAEA,EAAM,MAAA,IAAA,GAAOC,WAAM,QAAQ,CAAA,CAAA;AAE3B,EAAA,uBACGC,cAAA,CAAA,UAAA,EAAA;AAAA,IACC,SAAW,EAAAC,SAAA;AAAA,MACT,YAAa,EAAA;AAAA,MACb,aAAa,SAAS,CAAA;AAAA,MACtB;AAAA,QACE,CAAC,YAAA,CAAa,QAAQ,CAAA,GAAI,CAAC,IAAA;AAAA,OAC7B;AAAA,MACA,SAAA;AAAA,KACF;AAAA,IACA,aAAY,EAAA,oBAAA;AAAA,IACZ,GAAA;AAAA,IACA,IAAK,EAAA,YAAA;AAAA,IACJ,GAAG,IAAA;AAAA,IAEJ,QAAA,kBAAAD,cAAA,CAACE,oCAAkB,QAAlB,EAAA;AAAA,MACC,KAAO,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,cAAc,KAAM,EAAA;AAAA,MAE5C,QAAA;AAAA,KACH,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -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 --radioButton-icon-size: 12px;\n}\n\n.salt-density-medium {\n --radioButton-icon-size: 14px;\n}\n\n.salt-density-low {\n --radioButton-icon-size: 16px;\n}\n\n.salt-density-touch {\n --radioButton-icon-size: 18px;\n}\n\n/* Styles applied to root component */\n.saltRadioButtonIcon {\n --radioButton-icon-fill: transparent;\n --radioButton-icon-fill-checked: var(--salt-selectable-borderColor-selected);\n --radioButton-icon-fill-checked-disabled: var(--salt-selectable-borderColor-selectedDisabled);\n\n --radioButton-icon-strokeColor: var(--salt-selectable-borderColor);\n --radioButton-icon-strokeColor-disabled: var(--salt-selectable-borderColor-disabled);\n --radioButton-icon-strokeColor-hover: var(--salt-selectable-borderColor-hover);\n --radioButton-icon-strokeColor-checked: var(--salt-selectable-borderColor-selected);\n --radioButton-icon-strokeColor-checked-disabled: var(--salt-selectable-borderColor-selectedDisabled);\n\n --radioButton-icon-strokeWidth: var(--salt-size-border);\n --radioButton-icon-strokeWidth-hover: var(--salt-size-border);\n --radioButton-icon-strokeWidth-checked: var(--salt-size-border);\n\n width: var(--saltRadioButton-icon-svg-size, var(--radioButton-icon-size));\n height: var(--saltRadioButton-icon-svg-size, var(--radioButton-icon-size));\n}\n\n/* Styles applied to RadioButtonIcon border */\n.saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor, var(--radioButton-icon-strokeColor));\n stroke-width: var(--saltRadioButton-icon-strokeWidth, var(--radioButton-icon-strokeWidth));\n}\n\n/* Styles applied to RadioButtonIcon border if `checked={true}` */\n.saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked, var(--radioButton-icon-fill-checked));\n stroke: var(--saltRadioButton-icon-strokeColor-checked, var(--radioButton-icon-strokeColor-checked));\n stroke-width: var(--saltRadioButton-icon-strokeWidth-checked, var(--radioButton-icon-strokeWidth-checked));\n}\n\n/* Styles applied to RadioButtonIcon border on hover */\n.saltRadioButton:hover .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-hover, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor-hover, var(--radioButton-icon-strokeColor-hover));\n}\n\n/* Styles applied to RadioButtonIcon border on hover if `checked={true}` */\n.saltRadioButton:hover .saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked-hover, var(--radioButton-icon-fill-checked));\n stroke: var(--saltRadioButton-icon-strokeColor-checked-hover, var(--radioButton-icon-strokeColor-checked));\n}\n\n/* Styles applied to RadioButtonIcon border if `disabled={true}` or in a disabled FormField */\n.saltRadioButton-disabled .saltRadioButtonIcon-border,\n.saltFormField-disabled .saltRadioButton .saltRadioButtonIcon-border,\n.saltRadioButton-disabled:hover .saltRadioButtonIcon-border,\n.saltFormField-disabled .saltRadioButton:hover .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-disabled, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor-disabled, var(--radioButton-icon-strokeColor-disabled));\n}\n\n/* Styles applied to RadioButtonIcon border if `checked={true}` when `disabled={true}` or in a disabled FormField */\n.saltFormField-disabled .saltRadioButton .saltRadioButtonIcon-checked .saltRadioButtonIcon-border,\n.saltFormField-disabled .saltRadioButton:hover .saltRadioButtonIcon-checked .saltRadioButtonIcon-border,\n.saltRadioButton-disabled .saltRadioButtonIcon-checked .saltRadioButtonIcon-border,\n.saltRadioButton-disabled:hover .saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked-disabled, var(--radioButton-icon-fill-checked-disabled));\n stroke: var(--saltRadioButton-icon-strokeColor-checked-disabled, transparent);\n}\n\n/* Styles applied to inner circle when `checked={true}` */\n.saltRadioButtonIcon-inner-checked {\n fill: var(--saltRadioButton-icon-inner-fill, var(--salt-selectable-primary-foreground-selected));\n}\n";
5
+ var css_248z = "/* Styles applied to root component */\n.saltRadioButtonIcon {\n --radioButton-icon-fill: transparent;\n --radioButton-icon-fill-checked: var(--salt-selectable-borderColor-selected);\n --radioButton-icon-fill-checked-disabled: var(--salt-selectable-borderColor-selectedDisabled);\n --radioButton-icon-fill-error: var(--salt-status-error-borderColor);\n --radioButton-icon-fill-error-disabled: var(--salt-selectable-borderColor-selectedDisabled);\n\n width: var(--saltRadioButton-icon-svg-size, var(--salt-size-selectable));\n height: var(--saltRadioButton-icon-svg-size, var(--salt-size-selectable));\n border-radius: 50%;\n flex: none;\n margin-top: var(--salt-size-border);\n}\n\n/* Styles applied to RadioButtonIcon border */\n.saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor, var(--salt-selectable-borderColor));\n stroke-width: var(--salt-size-border);\n}\n\n/* Styles applied to RadioButtonIcon border on hover */\n.saltRadioButton:hover .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-hover, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor-hover, var(--salt-selectable-borderColor-hover));\n}\n\n/* Styles applied to RadioButtonIcon border if checked */\n.saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked, var(--radioButton-icon-fill-checked));\n stroke: var(--saltRadioButton-icon-strokeColor-checked, var(--salt-selectable-borderColor-selected));\n stroke-width: var(--salt-size-border);\n}\n\n/* Styles applied to RadioButtonIcon border on hover if checked */\n.saltRadioButton:hover .saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked-hover, var(--radioButton-icon-fill-checked));\n stroke: var(--saltRadioButton-icon-strokeColor-checked-hover, var(--salt-selectable-borderColor-selected));\n}\n\n/* Styles applied to RadioButtonIcon border if disabled */\n.saltRadioButtonIcon-disabled .saltRadioButtonIcon-border,\n.saltRadioButton:hover .saltRadioButtonIcon-disabled .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-disabled, var(--radioButton-icon-fill));\n stroke: var(--saltRadioButton-icon-strokeColor-disabled, var(--salt-selectable-borderColor-disabled));\n}\n\n/* Styles applied to RadioButtonIcon border if checked and disabled */\n.saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked .saltRadioButtonIcon-border,\n.saltRadioButton:hover .saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-checked-disabled, var(--radioButton-icon-fill-checked-disabled));\n stroke: var(--saltRadioButton-icon-strokeColor-checked-disabled, transparent);\n}\n\n/* Styles applied to inner circle when checked */\n.saltRadioButtonIcon-inner-checked {\n fill: var(--saltRadioButton-icon-inner-fill, var(--salt-selectable-primary-foreground-selected));\n}\n\n/* Styles applied to radio button icon with error */\n.saltRadioButton:hover .saltRadioButtonIcon-error .saltRadioButtonIcon-border,\n.saltRadioButtonIcon-error,\n.saltRadioButtonIcon-error .saltRadioButtonIcon-border {\n stroke: var(--saltRadioButton-icon-strokeColor-error, var(--salt-status-error-borderColor));\n}\n\n/* Styles applied to radio button icon when checked and with error */\n.saltRadioButton:hover .saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-border,\n.saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-border {\n fill: var(--saltRadioButton-icon-fill-error, var(--salt-status-error-borderColor));\n}\n\n/* Styles applied to radio button icon when checked and with error */\n/* TODO: replace with correct token */\n.saltRadioButton-disabled .saltRadioButtonIcon-error {\n opacity: var(--salt-palette-opacity-background);\n}\n";
6
6
  styleInject_es(css_248z);
7
7
 
8
8
  module.exports = css_248z;
@@ -8,10 +8,16 @@ var clsx = require('clsx');
8
8
  require('./RadioButtonIcon.css.js');
9
9
 
10
10
  const withBaseName = core.makePrefixer("saltRadioButtonIcon");
11
- const RadioButtonIcon = ({ checked }) => {
11
+ const RadioButtonIcon = ({
12
+ checked,
13
+ error,
14
+ disabled
15
+ }) => {
12
16
  return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
13
17
  className: clsx.clsx(withBaseName(), {
14
- [withBaseName("checked")]: checked
18
+ [withBaseName("checked")]: checked,
19
+ [withBaseName("error")]: error,
20
+ [withBaseName("disabled")]: disabled
15
21
  }),
16
22
  height: "14",
17
23
  viewBox: "0 0 14 14",
@@ -27,13 +33,11 @@ const RadioButtonIcon = ({ checked }) => {
27
33
  className: withBaseName("inner-checked"),
28
34
  cx: "7",
29
35
  cy: "7",
30
- r: "3"
36
+ r: "3.2"
31
37
  })
32
38
  ]
33
39
  });
34
40
  };
35
- const makeRadioIcon = (iconChecked, iconUnchecked) => (props) => props.checked ? iconChecked : iconUnchecked;
36
41
 
37
42
  exports.RadioButtonIcon = RadioButtonIcon;
38
- exports.makeRadioIcon = makeRadioIcon;
39
43
  //# sourceMappingURL=RadioButtonIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { ComponentType, ReactElement } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport \"./RadioButtonIcon.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps {\n checked?: boolean;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({ checked }: RadioButtonIconProps) => {\n return (\n <svg\n className={clsx(withBaseName(), {\n [withBaseName(\"checked\")]: checked,\n })}\n height=\"14\"\n viewBox=\"0 0 14 14\"\n width=\"14\"\n >\n <circle className={withBaseName(\"border\")} cx=\"7\" cy=\"7\" r=\"6.5\" />\n {checked && (\n <circle className={withBaseName(\"inner-checked\")} cx=\"7\" cy=\"7\" r=\"3\" />\n )}\n </svg>\n );\n};\n\n/**\n * Creates a component that can be given to Radio or RadioButton as the 'icon'\n */\nexport const makeRadioIcon =\n (\n iconChecked: ReactElement | null,\n iconUnchecked: ReactElement | null\n ): ComponentType<RadioButtonIconProps> =>\n (props: RadioButtonIconProps) =>\n props.checked ? iconChecked : iconUnchecked;\n"],"names":["makePrefixer","jsxs","clsx","jsx"],"mappings":";;;;;;;;;AAKA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAShD,MAAM,eAAkB,GAAA,CAAC,EAAE,OAAA,EAAoC,KAAA;AACpE,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,KAC5B,CAAA;AAAA,IACD,MAAO,EAAA,IAAA;AAAA,IACP,OAAQ,EAAA,WAAA;AAAA,IACR,KAAM,EAAA,IAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,QAAA,EAAA;AAAA,QAAO,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,QAAG,EAAG,EAAA,GAAA;AAAA,QAAI,EAAG,EAAA,GAAA;AAAA,QAAI,CAAE,EAAA,KAAA;AAAA,OAAM,CAAA;AAAA,MAChE,2BACEA,cAAA,CAAA,QAAA,EAAA;AAAA,QAAO,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,QAAG,EAAG,EAAA,GAAA;AAAA,QAAI,EAAG,EAAA,GAAA;AAAA,QAAI,CAAE,EAAA,GAAA;AAAA,OAAI,CAAA;AAAA,KAAA;AAAA,GAE1E,CAAA,CAAA;AAEJ,EAAA;AAKa,MAAA,aAAA,GACX,CACE,WACA,EAAA,aAAA,KAEF,CAAC,KACC,KAAA,KAAA,CAAM,UAAU,WAAc,GAAA;;;;;"}
1
+ {"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport \"./RadioButtonIcon.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps {\n checked?: boolean;\n error?: boolean;\n disabled?: boolean;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({\n checked,\n error,\n disabled,\n}: RadioButtonIconProps) => {\n return (\n <svg\n className={clsx(withBaseName(), {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"error\")]: error,\n [withBaseName(\"disabled\")]: disabled,\n })}\n height=\"14\"\n viewBox=\"0 0 14 14\"\n width=\"14\"\n >\n <circle className={withBaseName(\"border\")} cx=\"7\" cy=\"7\" r=\"6.5\" />\n {checked && (\n <circle\n className={withBaseName(\"inner-checked\")}\n cx=\"7\"\n cy=\"7\"\n r=\"3.2\"\n />\n )}\n </svg>\n );\n};\n"],"names":["makePrefixer","jsxs","clsx","jsx"],"mappings":";;;;;;;;;AAIA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAWhD,MAAM,kBAAkB,CAAC;AAAA,EAC9B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AACF,CAA4B,KAAA;AAC1B,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,MAC3B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,MACzB,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,KAC7B,CAAA;AAAA,IACD,MAAO,EAAA,IAAA;AAAA,IACP,OAAQ,EAAA,WAAA;AAAA,IACR,KAAM,EAAA,IAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,QAAA,EAAA;AAAA,QAAO,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,QAAG,EAAG,EAAA,GAAA;AAAA,QAAI,EAAG,EAAA,GAAA;AAAA,QAAI,CAAE,EAAA,KAAA;AAAA,OAAM,CAAA;AAAA,MAChE,2BACEA,cAAA,CAAA,QAAA,EAAA;AAAA,QACC,SAAA,EAAW,aAAa,eAAe,CAAA;AAAA,QACvC,EAAG,EAAA,GAAA;AAAA,QACH,EAAG,EAAA,GAAA;AAAA,QACH,CAAE,EAAA,KAAA;AAAA,OACJ,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}