@salt-ds/core 1.3.0 → 1.5.0

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 (181) hide show
  1. package/dist-cjs/packages/core/src/avatar/Avatar.js +11 -3
  2. package/dist-cjs/packages/core/src/avatar/Avatar.js.map +1 -1
  3. package/dist-cjs/packages/core/src/avatar/useAvatarImage.js +38 -0
  4. package/dist-cjs/packages/core/src/avatar/useAvatarImage.js.map +1 -0
  5. package/dist-cjs/packages/core/src/card/Card.css.js +1 -1
  6. package/dist-cjs/packages/core/src/card/Card.js +1 -1
  7. package/dist-cjs/packages/core/src/card/Card.js.map +1 -1
  8. package/dist-cjs/packages/core/src/card/InteractableCard.css.js +9 -0
  9. package/dist-cjs/packages/core/src/card/InteractableCard.css.js.map +1 -0
  10. package/dist-cjs/packages/core/src/card/InteractableCard.js +57 -0
  11. package/dist-cjs/packages/core/src/card/InteractableCard.js.map +1 -0
  12. package/dist-cjs/packages/core/src/card/useInteractableCard.js +63 -0
  13. package/dist-cjs/packages/core/src/card/useInteractableCard.js.map +1 -0
  14. package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js +9 -0
  15. package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
  16. package/dist-cjs/packages/core/src/checkbox/Checkbox.js +95 -0
  17. package/dist-cjs/packages/core/src/checkbox/Checkbox.js.map +1 -0
  18. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js +9 -0
  19. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
  20. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js +62 -0
  21. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
  22. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js +9 -0
  23. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
  24. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js +48 -0
  25. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
  26. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +33 -0
  27. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
  28. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +32 -0
  29. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
  30. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +37 -0
  31. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
  32. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +26 -0
  33. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
  34. package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js +13 -0
  35. package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
  36. package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js +13 -0
  37. package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
  38. package/dist-cjs/packages/core/src/flex-item/FlexItem.css.js +1 -1
  39. package/dist-cjs/packages/core/src/flex-item/FlexItem.js +3 -0
  40. package/dist-cjs/packages/core/src/flex-item/FlexItem.js.map +1 -1
  41. package/dist-cjs/packages/core/src/index.js +18 -0
  42. package/dist-cjs/packages/core/src/index.js.map +1 -1
  43. package/dist-cjs/packages/core/src/link/Link.css.js +1 -1
  44. package/dist-cjs/packages/core/src/link/Link.js +1 -1
  45. package/dist-cjs/packages/core/src/link/Link.js.map +1 -1
  46. package/dist-cjs/packages/core/src/panel/Panel.css.js +1 -1
  47. package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js +9 -0
  48. package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
  49. package/dist-cjs/packages/core/src/radio-button/RadioButton.js +86 -0
  50. package/dist-cjs/packages/core/src/radio-button/RadioButton.js.map +1 -0
  51. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js +9 -0
  52. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
  53. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js +61 -0
  54. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
  55. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js +9 -0
  56. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
  57. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js +48 -0
  58. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
  59. package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js +18 -0
  60. package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
  61. package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js +13 -0
  62. package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
  63. package/dist-cjs/packages/core/src/spinner/Spinner.css.js +1 -1
  64. package/dist-cjs/packages/core/src/text/Text.css.js +1 -1
  65. package/dist-cjs/packages/core/src/tooltip/Tooltip.css.js +1 -1
  66. package/dist-cjs/packages/core/src/tooltip/Tooltip.js +12 -6
  67. package/dist-cjs/packages/core/src/tooltip/Tooltip.js.map +1 -1
  68. package/dist-cjs/packages/core/src/tooltip/useTooltip.js +1 -0
  69. package/dist-cjs/packages/core/src/tooltip/useTooltip.js.map +1 -1
  70. package/dist-cjs/packages/core/src/utils/capitalize.js +10 -0
  71. package/dist-cjs/packages/core/src/utils/capitalize.js.map +1 -0
  72. package/dist-cjs/packages/core/src/utils/useFloatingUI.js.map +1 -1
  73. package/dist-es/packages/core/src/avatar/Avatar.js +11 -3
  74. package/dist-es/packages/core/src/avatar/Avatar.js.map +1 -1
  75. package/dist-es/packages/core/src/avatar/useAvatarImage.js +34 -0
  76. package/dist-es/packages/core/src/avatar/useAvatarImage.js.map +1 -0
  77. package/dist-es/packages/core/src/card/Card.css.js +1 -1
  78. package/dist-es/packages/core/src/card/Card.js +1 -1
  79. package/dist-es/packages/core/src/card/Card.js.map +1 -1
  80. package/dist-es/packages/core/src/card/InteractableCard.css.js +7 -0
  81. package/dist-es/packages/core/src/card/InteractableCard.css.js.map +1 -0
  82. package/dist-es/packages/core/src/card/InteractableCard.js +53 -0
  83. package/dist-es/packages/core/src/card/InteractableCard.js.map +1 -0
  84. package/dist-es/packages/core/src/card/useInteractableCard.js +59 -0
  85. package/dist-es/packages/core/src/card/useInteractableCard.js.map +1 -0
  86. package/dist-es/packages/core/src/checkbox/Checkbox.css.js +7 -0
  87. package/dist-es/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
  88. package/dist-es/packages/core/src/checkbox/Checkbox.js +91 -0
  89. package/dist-es/packages/core/src/checkbox/Checkbox.js.map +1 -0
  90. package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js +7 -0
  91. package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
  92. package/dist-es/packages/core/src/checkbox/CheckboxGroup.js +58 -0
  93. package/dist-es/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
  94. package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js +7 -0
  95. package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
  96. package/dist-es/packages/core/src/checkbox/CheckboxIcon.js +44 -0
  97. package/dist-es/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
  98. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +29 -0
  99. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
  100. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +28 -0
  101. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
  102. package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +33 -0
  103. package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
  104. package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +22 -0
  105. package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
  106. package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js +9 -0
  107. package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
  108. package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js +9 -0
  109. package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
  110. package/dist-es/packages/core/src/flex-item/FlexItem.css.js +1 -1
  111. package/dist-es/packages/core/src/flex-item/FlexItem.js +3 -0
  112. package/dist-es/packages/core/src/flex-item/FlexItem.js.map +1 -1
  113. package/dist-es/packages/core/src/index.js +9 -0
  114. package/dist-es/packages/core/src/index.js.map +1 -1
  115. package/dist-es/packages/core/src/link/Link.css.js +1 -1
  116. package/dist-es/packages/core/src/link/Link.js +1 -1
  117. package/dist-es/packages/core/src/link/Link.js.map +1 -1
  118. package/dist-es/packages/core/src/panel/Panel.css.js +1 -1
  119. package/dist-es/packages/core/src/radio-button/RadioButton.css.js +7 -0
  120. package/dist-es/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
  121. package/dist-es/packages/core/src/radio-button/RadioButton.js +82 -0
  122. package/dist-es/packages/core/src/radio-button/RadioButton.js.map +1 -0
  123. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js +7 -0
  124. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
  125. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js +57 -0
  126. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
  127. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js +7 -0
  128. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
  129. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js +44 -0
  130. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
  131. package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js +14 -0
  132. package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
  133. package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js +9 -0
  134. package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
  135. package/dist-es/packages/core/src/spinner/Spinner.css.js +1 -1
  136. package/dist-es/packages/core/src/text/Text.css.js +1 -1
  137. package/dist-es/packages/core/src/tooltip/Tooltip.css.js +1 -1
  138. package/dist-es/packages/core/src/tooltip/Tooltip.js +12 -6
  139. package/dist-es/packages/core/src/tooltip/Tooltip.js.map +1 -1
  140. package/dist-es/packages/core/src/tooltip/useTooltip.js +1 -0
  141. package/dist-es/packages/core/src/tooltip/useTooltip.js.map +1 -1
  142. package/dist-es/packages/core/src/utils/capitalize.js +6 -0
  143. package/dist-es/packages/core/src/utils/capitalize.js.map +1 -0
  144. package/dist-es/packages/core/src/utils/useFloatingUI.js.map +1 -1
  145. package/dist-types/avatar/index.d.ts +1 -0
  146. package/dist-types/avatar/useAvatarImage.d.ts +2 -0
  147. package/dist-types/card/Card.d.ts +4 -4
  148. package/dist-types/card/InteractableCard.d.ts +14 -0
  149. package/dist-types/card/index.d.ts +1 -0
  150. package/dist-types/card/useInteractableCard.d.ts +21 -0
  151. package/dist-types/checkbox/Checkbox.d.ts +56 -0
  152. package/dist-types/checkbox/CheckboxGroup.d.ts +30 -0
  153. package/dist-types/checkbox/CheckboxIcon.d.ts +10 -0
  154. package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +4 -0
  155. package/dist-types/checkbox/assets/CheckboxCheckedIconHD.d.ts +4 -0
  156. package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +4 -0
  157. package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +4 -0
  158. package/dist-types/checkbox/assets/index.d.ts +4 -0
  159. package/dist-types/checkbox/index.d.ts +3 -0
  160. package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +9 -0
  161. package/dist-types/checkbox/internal/useCheckboxGroup.d.ts +2 -0
  162. package/dist-types/flex-item/FlexItem.d.ts +7 -4
  163. package/dist-types/index.d.ts +2 -0
  164. package/dist-types/link/Link.d.ts +1 -1
  165. package/dist-types/radio-button/RadioButton.d.ts +45 -0
  166. package/dist-types/radio-button/RadioButtonGroup.d.ts +29 -0
  167. package/dist-types/radio-button/RadioButtonIcon.d.ts +11 -0
  168. package/dist-types/radio-button/index.d.ts +3 -0
  169. package/dist-types/radio-button/internal/RadioGroupContext.d.ts +7 -0
  170. package/dist-types/radio-button/internal/useRadioGroup.d.ts +1 -0
  171. package/dist-types/tooltip/Tooltip.d.ts +10 -10
  172. package/dist-types/tooltip/useTooltip.d.ts +19 -1
  173. package/dist-types/utils/capitalize.d.ts +1 -0
  174. package/dist-types/utils/index.d.ts +1 -0
  175. package/dist-types/utils/useFloatingUI.d.ts +3 -3
  176. package/package.json +2 -2
  177. package/dist-cjs/packages/core/src/avatar/internal/useLoaded.js +0 -30
  178. package/dist-cjs/packages/core/src/avatar/internal/useLoaded.js.map +0 -1
  179. package/dist-es/packages/core/src/avatar/internal/useLoaded.js +0 -26
  180. package/dist-es/packages/core/src/avatar/internal/useLoaded.js.map +0 -1
  181. package/dist-types/avatar/internal/useLoaded.d.ts +0 -2
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function CheckboxCheckedIcon({
8
+ className
9
+ }) {
10
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", {
11
+ "aria-hidden": "true",
12
+ className,
13
+ focusable: "false",
14
+ shapeRendering: "geometricPrecision",
15
+ viewBox: "0 0 14 14",
16
+ children: /* @__PURE__ */ jsxRuntime.jsxs("g", {
17
+ fillRule: "evenodd",
18
+ children: [
19
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
20
+ className: `saltCheckboxIcon-box`
21
+ }),
22
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", {
23
+ className: `saltCheckboxIcon-tick`,
24
+ fillRule: "nonzero",
25
+ points: "12 4.22226066 10.6259221 3 5.58277771 8.37894955 3.3179086 6.13993399 2 7.40754746 5.63993779 11"
26
+ })
27
+ ]
28
+ })
29
+ });
30
+ }
31
+
32
+ exports.CheckboxCheckedIcon = CheckboxCheckedIcon;
33
+ //# sourceMappingURL=CheckboxCheckedIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxCheckedIcon.js","sources":["../src/checkbox/assets/CheckboxCheckedIcon.tsx"],"sourcesContent":["export function CheckboxCheckedIcon({\n className,\n}: {\n className: string;\n}): JSX.Element {\n return (\n <svg\n aria-hidden=\"true\"\n className={className}\n focusable=\"false\"\n shapeRendering=\"geometricPrecision\"\n viewBox=\"0 0 14 14\"\n >\n <g fillRule=\"evenodd\">\n <rect className={`saltCheckboxIcon-box`} />\n <polygon\n className={`saltCheckboxIcon-tick`}\n fillRule=\"nonzero\"\n points=\"12 4.22226066 10.6259221 3 5.58277771 8.37894955 3.3179086 6.13993399 2 7.40754746 5.63993779 11\"\n />\n </g>\n </svg>\n );\n}\n"],"names":["jsx","jsxs"],"mappings":";;;;;;AAAO,SAAS,mBAAoB,CAAA;AAAA,EAClC,SAAA;AACF,CAEgB,EAAA;AACd,EAAA,uBACGA,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAA;AAAA,IACA,SAAU,EAAA,OAAA;AAAA,IACV,cAAe,EAAA,oBAAA;AAAA,IACf,OAAQ,EAAA,WAAA;AAAA,IAER,QAAC,kBAAAC,eAAA,CAAA,GAAA,EAAA;AAAA,MAAE,QAAS,EAAA,SAAA;AAAA,MACV,QAAA,EAAA;AAAA,wBAACD,cAAA,CAAA,MAAA,EAAA;AAAA,UAAK,SAAW,EAAA,CAAA,oBAAA,CAAA;AAAA,SAAwB,CAAA;AAAA,wBACxCA,cAAA,CAAA,SAAA,EAAA;AAAA,UACC,SAAW,EAAA,CAAA,qBAAA,CAAA;AAAA,UACX,QAAS,EAAA,SAAA;AAAA,UACT,MAAO,EAAA,kGAAA;AAAA,SACT,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function CheckboxCheckedIconHD({
8
+ className
9
+ }) {
10
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", {
11
+ "aria-hidden": "true",
12
+ className,
13
+ focusable: "false",
14
+ shapeRendering: "geometricPrecision",
15
+ viewBox: "0 0 12 12",
16
+ children: /* @__PURE__ */ jsxRuntime.jsxs("g", {
17
+ fillRule: "evenodd",
18
+ children: [
19
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
20
+ className: `saltCheckboxIcon-box`
21
+ }),
22
+ /* @__PURE__ */ jsxRuntime.jsx("path", {
23
+ className: `saltCheckboxIcon-tick`,
24
+ d: "m10 3.70547L4.83651 9.27702L2 6.6259L2.70868 5.86766L4.78375 7.8071L9.23877 3L10 3.70547z"
25
+ })
26
+ ]
27
+ })
28
+ });
29
+ }
30
+
31
+ exports.CheckboxCheckedIconHD = CheckboxCheckedIconHD;
32
+ //# sourceMappingURL=CheckboxCheckedIconHD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxCheckedIconHD.js","sources":["../src/checkbox/assets/CheckboxCheckedIconHD.tsx"],"sourcesContent":["// This icon is used for the high density checkbox\nexport function CheckboxCheckedIconHD({\n className,\n}: {\n className: string;\n}): JSX.Element {\n return (\n <svg\n aria-hidden=\"true\"\n className={className}\n focusable=\"false\"\n shapeRendering=\"geometricPrecision\"\n viewBox=\"0 0 12 12\"\n >\n <g fillRule=\"evenodd\">\n <rect className={`saltCheckboxIcon-box`} />\n <path\n className={`saltCheckboxIcon-tick`}\n d=\"m10 3.70547L4.83651 9.27702L2 6.6259L2.70868 5.86766L4.78375 7.8071L9.23877 3L10 3.70547z\"\n />\n </g>\n </svg>\n );\n}\n"],"names":["jsx","jsxs"],"mappings":";;;;;;AACO,SAAS,qBAAsB,CAAA;AAAA,EACpC,SAAA;AACF,CAEgB,EAAA;AACd,EAAA,uBACGA,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAA;AAAA,IACA,SAAU,EAAA,OAAA;AAAA,IACV,cAAe,EAAA,oBAAA;AAAA,IACf,OAAQ,EAAA,WAAA;AAAA,IAER,QAAC,kBAAAC,eAAA,CAAA,GAAA,EAAA;AAAA,MAAE,QAAS,EAAA,SAAA;AAAA,MACV,QAAA,EAAA;AAAA,wBAACD,cAAA,CAAA,MAAA,EAAA;AAAA,UAAK,SAAW,EAAA,CAAA,oBAAA,CAAA;AAAA,SAAwB,CAAA;AAAA,wBACxCA,cAAA,CAAA,MAAA,EAAA;AAAA,UACC,SAAW,EAAA,CAAA,qBAAA,CAAA;AAAA,UACX,CAAE,EAAA,2FAAA;AAAA,SACJ,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function CheckboxIndeterminateIcon({
8
+ className
9
+ }) {
10
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", {
11
+ "aria-hidden": "true",
12
+ className,
13
+ focusable: "false",
14
+ shapeRendering: "geometricPrecision",
15
+ viewBox: "0 0 14 14",
16
+ children: /* @__PURE__ */ jsxRuntime.jsxs("g", {
17
+ fillRule: "evenodd",
18
+ strokeWidth: "1",
19
+ children: [
20
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
21
+ className: `saltCheckboxIcon-box`
22
+ }),
23
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
24
+ className: `saltCheckboxIcon-tick`,
25
+ height: "2",
26
+ strokeWidth: "0",
27
+ width: "8",
28
+ x: "3",
29
+ y: "6"
30
+ })
31
+ ]
32
+ })
33
+ });
34
+ }
35
+
36
+ exports.CheckboxIndeterminateIcon = CheckboxIndeterminateIcon;
37
+ //# sourceMappingURL=CheckboxIndeterminateIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxIndeterminateIcon.js","sources":["../src/checkbox/assets/CheckboxIndeterminateIcon.tsx"],"sourcesContent":["export function CheckboxIndeterminateIcon({\n className,\n}: {\n className: string;\n}): JSX.Element {\n return (\n <svg\n aria-hidden=\"true\"\n className={className}\n focusable=\"false\"\n shapeRendering=\"geometricPrecision\"\n viewBox=\"0 0 14 14\"\n >\n <g fillRule=\"evenodd\" strokeWidth=\"1\">\n <rect className={`saltCheckboxIcon-box`} />\n <rect\n className={`saltCheckboxIcon-tick`}\n height=\"2\"\n strokeWidth=\"0\"\n width=\"8\"\n x=\"3\"\n y=\"6\"\n />\n </g>\n </svg>\n );\n}\n"],"names":["jsx","jsxs"],"mappings":";;;;;;AAAO,SAAS,yBAA0B,CAAA;AAAA,EACxC,SAAA;AACF,CAEgB,EAAA;AACd,EAAA,uBACGA,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAA;AAAA,IACA,SAAU,EAAA,OAAA;AAAA,IACV,cAAe,EAAA,oBAAA;AAAA,IACf,OAAQ,EAAA,WAAA;AAAA,IAER,QAAC,kBAAAC,eAAA,CAAA,GAAA,EAAA;AAAA,MAAE,QAAS,EAAA,SAAA;AAAA,MAAU,WAAY,EAAA,GAAA;AAAA,MAChC,QAAA,EAAA;AAAA,wBAACD,cAAA,CAAA,MAAA,EAAA;AAAA,UAAK,SAAW,EAAA,CAAA,oBAAA,CAAA;AAAA,SAAwB,CAAA;AAAA,wBACxCA,cAAA,CAAA,MAAA,EAAA;AAAA,UACC,SAAW,EAAA,CAAA,qBAAA,CAAA;AAAA,UACX,MAAO,EAAA,GAAA;AAAA,UACP,WAAY,EAAA,GAAA;AAAA,UACZ,KAAM,EAAA,GAAA;AAAA,UACN,CAAE,EAAA,GAAA;AAAA,UACF,CAAE,EAAA,GAAA;AAAA,SACJ,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function CheckboxUncheckedIcon({
8
+ className
9
+ }) {
10
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", {
11
+ "aria-hidden": "true",
12
+ className,
13
+ focusable: "false",
14
+ shapeRendering: "geometricPrecision",
15
+ viewBox: "0 0 14 14",
16
+ children: /* @__PURE__ */ jsxRuntime.jsx("g", {
17
+ fillRule: "evenodd",
18
+ children: /* @__PURE__ */ jsxRuntime.jsx("rect", {
19
+ className: `saltCheckboxIcon-box`
20
+ })
21
+ })
22
+ });
23
+ }
24
+
25
+ exports.CheckboxUncheckedIcon = CheckboxUncheckedIcon;
26
+ //# sourceMappingURL=CheckboxUncheckedIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxUncheckedIcon.js","sources":["../src/checkbox/assets/CheckboxUncheckedIcon.tsx"],"sourcesContent":["export function CheckboxUncheckedIcon({\n className,\n}: {\n className: string;\n}): JSX.Element {\n return (\n <svg\n aria-hidden=\"true\"\n className={className}\n focusable=\"false\"\n shapeRendering=\"geometricPrecision\"\n viewBox=\"0 0 14 14\"\n >\n <g fillRule=\"evenodd\">\n <rect className={`saltCheckboxIcon-box`} />\n </g>\n </svg>\n );\n}\n"],"names":["jsx"],"mappings":";;;;;;AAAO,SAAS,qBAAsB,CAAA;AAAA,EACpC,SAAA;AACF,CAEgB,EAAA;AACd,EAAA,uBACGA,cAAA,CAAA,KAAA,EAAA;AAAA,IACC,aAAY,EAAA,MAAA;AAAA,IACZ,SAAA;AAAA,IACA,SAAU,EAAA,OAAA;AAAA,IACV,cAAe,EAAA,oBAAA;AAAA,IACf,OAAQ,EAAA,WAAA;AAAA,IAER,QAAC,kBAAAA,cAAA,CAAA,GAAA,EAAA;AAAA,MAAE,QAAS,EAAA,SAAA;AAAA,MACV,QAAC,kBAAAA,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,SAAW,EAAA,CAAA,oBAAA,CAAA;AAAA,OAAwB,CAAA;AAAA,KAC3C,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const CheckboxGroupContext = React.createContext({});
8
+ if (process.env.NODE_ENV !== "production") {
9
+ CheckboxGroupContext.displayName = "CheckboxGroupContext";
10
+ }
11
+
12
+ exports.CheckboxGroupContext = CheckboxGroupContext;
13
+ //# sourceMappingURL=CheckboxGroupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckboxGroupContext.js","sources":["../src/checkbox/internal/CheckboxGroupContext.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { CheckboxGroupProps } from \"../CheckboxGroup\";\n\nexport interface CheckboxGroupState {\n name?: CheckboxGroupProps[\"name\"];\n onChange?: CheckboxGroupProps[\"onChange\"];\n checkedValues?: CheckboxGroupProps[\"checkedValues\"];\n}\n\nconst CheckboxGroupContext = createContext<CheckboxGroupState>({});\n\nif (process.env.NODE_ENV !== \"production\") {\n CheckboxGroupContext.displayName = \"CheckboxGroupContext\";\n}\n\nexport { CheckboxGroupContext };\n"],"names":["createContext"],"mappings":";;;;;;AASM,MAAA,oBAAA,GAAuBA,mBAAkC,CAAA,EAAE,EAAA;AAEjE,IAAI,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,YAAc,EAAA;AACzC,EAAA,oBAAA,CAAqB,WAAc,GAAA,sBAAA,CAAA;AACrC;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var CheckboxGroupContext = require('./CheckboxGroupContext.js');
7
+
8
+ function useCheckboxGroup() {
9
+ return React.useContext(CheckboxGroupContext.CheckboxGroupContext);
10
+ }
11
+
12
+ exports.useCheckboxGroup = useCheckboxGroup;
13
+ //# sourceMappingURL=useCheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCheckboxGroup.js","sources":["../src/checkbox/internal/useCheckboxGroup.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport {\n CheckboxGroupContext,\n CheckboxGroupState,\n} from \"./CheckboxGroupContext\";\n\nexport function useCheckboxGroup(): CheckboxGroupState {\n return useContext(CheckboxGroupContext);\n}\n"],"names":["useContext","CheckboxGroupContext"],"mappings":";;;;;;;AAMO,SAAS,gBAAuC,GAAA;AACrD,EAAA,OAAOA,iBAAWC,yCAAoB,CAAA,CAAA;AACxC;;;;"}
@@ -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 = "/* Default variables applied to the root element */\n.saltFlexItem {\n --saltFlexItem-alignment: auto;\n --saltFlexItem-shrink: 1;\n --saltFlexItem-grow: 0;\n}\n\n/* Style applied to the root element */\n.saltFlexItem {\n position: relative;\n align-self: var(--saltFlexItem-alignment);\n flex-grow: var(--saltFlexItem-grow);\n flex-shrink: var(--saltFlexItem-shrink);\n}\n\n.saltFlexItem-stacked {\n flex-grow: 2;\n}\n";
5
+ var css_248z = "/* Default variables applied to the root element */\n.saltFlexItem {\n --saltFlexItem-alignment: auto;\n --saltFlexItem-shrink: 1;\n --saltFlexItem-grow: 0;\n --saltFlexItem-basis: auto;\n}\n\n/* Style applied to the root element */\n.saltFlexItem {\n position: relative;\n align-self: var(--saltFlexItem-alignment);\n flex-grow: var(--saltFlexItem-grow);\n flex-shrink: var(--saltFlexItem-shrink);\n flex-basis: var(--saltFlexItem-basis);\n}\n\n.saltFlexItem-stacked {\n flex-grow: 2;\n}\n";
6
6
  styleInject_es(css_248z);
7
7
 
8
8
  module.exports = css_248z;
@@ -26,16 +26,19 @@ const FlexItem = React.forwardRef(
26
26
  className,
27
27
  shrink,
28
28
  grow,
29
+ basis,
29
30
  style,
30
31
  ...rest
31
32
  }, ref) => {
32
33
  const Component = as || "div";
33
34
  const flexItemShrink = useResponsiveProp.useResponsiveProp(shrink, 1);
34
35
  const flexItemGrow = useResponsiveProp.useResponsiveProp(grow, 0);
36
+ const flexItemBasis = useResponsiveProp.useResponsiveProp(basis, "auto");
35
37
  const itemStyle = {
36
38
  "--saltFlexItem-alignment": align,
37
39
  "--saltFlexItem-shrink": flexItemShrink,
38
40
  "--saltFlexItem-grow": flexItemGrow,
41
+ "--saltFlexItem-basis": flexItemBasis,
39
42
  ...style
40
43
  };
41
44
  return /* @__PURE__ */ jsxRuntime.jsx(Component, {
@@ -1 +1 @@
1
- {"version":3,"file":"FlexItem.js","sources":["../src/flex-item/FlexItem.tsx"],"sourcesContent":["import { forwardRef, ElementType, ReactElement } from \"react\";\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n} from \"../utils\";\nimport \"./FlexItem.css\";\nimport { clsx } from \"clsx\";\n\nconst withBaseName = makePrefixer(\"saltFlexItem\");\nexport const FLEX_ITEM_ALIGNMENTS = [\n \"start\",\n \"end\",\n \"center\",\n \"stretch\",\n] as const;\n\nexport type flexItemAlignment = typeof FLEX_ITEM_ALIGNMENTS[number];\n\nexport type FlexItemProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\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 * 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 >;\n\ntype FlexItemComponent = <T extends ElementType = \"div\">(\n props: FlexItemProps<T>\n) => ReactElement | null;\n\nexport const FlexItem: FlexItemComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n align,\n children,\n className,\n shrink,\n grow,\n style,\n ...rest\n }: FlexItemProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const Component = as || \"div\";\n const flexItemShrink = useResponsiveProp(shrink, 1);\n const flexItemGrow = useResponsiveProp(grow, 0);\n\n const itemStyle = {\n \"--saltFlexItem-alignment\": align,\n \"--saltFlexItem-shrink\": flexItemShrink,\n \"--saltFlexItem-grow\": flexItemGrow,\n ...style,\n };\n return (\n <Component\n className={clsx(withBaseName(), className)}\n ref={ref}\n style={itemStyle}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","useResponsiveProp","jsx","clsx"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,0BAAa,cAAc,CAAA,CAAA;AACzC,MAAM,oBAAuB,GAAA;AAAA,EAClC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AACF,EAAA;AA4BO,MAAM,QAA8B,GAAAC,gBAAA;AAAA,EACzC,CACE;AAAA,IACE,EAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AACxB,IAAM,MAAA,cAAA,GAAiBC,mCAAkB,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAClD,IAAM,MAAA,YAAA,GAAeA,mCAAkB,CAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AAE9C,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,0BAA4B,EAAA,KAAA;AAAA,MAC5B,uBAAyB,EAAA,cAAA;AAAA,MACzB,qBAAuB,EAAA,YAAA;AAAA,MACvB,GAAG,KAAA;AAAA,KACL,CAAA;AACA,IAAA,uBACGC,cAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,KAAO,EAAA,SAAA;AAAA,MACN,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}
1
+ {"version":3,"file":"FlexItem.js","sources":["../src/flex-item/FlexItem.tsx"],"sourcesContent":["import { forwardRef, ElementType, ReactElement, CSSProperties } from \"react\";\nimport {\n makePrefixer,\n ResponsiveProp,\n useResponsiveProp,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n} from \"../utils\";\nimport \"./FlexItem.css\";\nimport { clsx } from \"clsx\";\n\nconst withBaseName = makePrefixer(\"saltFlexItem\");\nexport const FLEX_ITEM_ALIGNMENTS = [\n \"start\",\n \"end\",\n \"center\",\n \"stretch\",\n] as const;\n\nexport type flexItemAlignment = typeof FLEX_ITEM_ALIGNMENTS[number];\n\nexport type FlexItemProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Allows the alignment specified by parent to be overridden for individual items, default is \"start\".\n */\n align?: flexItemAlignment;\n /**\n * Defines the ability for an item to shrink x times more compared to it's siblings, default is 1.\n */\n shrink?: ResponsiveProp<number>;\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 * Sets the initial main size of a flex item, default is \"auto\".\n */\n basis?: ResponsiveProp<CSSProperties[\"flexBasis\"]>;\n }\n >;\n\ntype FlexItemComponent = <T extends ElementType = \"div\">(\n props: FlexItemProps<T>\n) => ReactElement | null;\n\nexport const FlexItem: FlexItemComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n as,\n align,\n children,\n className,\n shrink,\n grow,\n basis,\n style,\n ...rest\n }: FlexItemProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const Component = as || \"div\";\n const flexItemShrink = useResponsiveProp(shrink, 1);\n const flexItemGrow = useResponsiveProp(grow, 0);\n const flexItemBasis = useResponsiveProp(basis, \"auto\");\n\n const itemStyle = {\n \"--saltFlexItem-alignment\": align,\n \"--saltFlexItem-shrink\": flexItemShrink,\n \"--saltFlexItem-grow\": flexItemGrow,\n \"--saltFlexItem-basis\": flexItemBasis,\n ...style,\n };\n return (\n <Component\n className={clsx(withBaseName(), className)}\n ref={ref}\n style={itemStyle}\n {...rest}\n >\n {children}\n </Component>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","useResponsiveProp","jsx","clsx"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,0BAAa,cAAc,CAAA,CAAA;AACzC,MAAM,oBAAuB,GAAA;AAAA,EAClC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AACF,EAAA;AA+BO,MAAM,QAA8B,GAAAC,gBAAA;AAAA,EACzC,CACE;AAAA,IACE,EAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,YAAY,EAAM,IAAA,KAAA,CAAA;AACxB,IAAM,MAAA,cAAA,GAAiBC,mCAAkB,CAAA,MAAA,EAAQ,CAAC,CAAA,CAAA;AAClD,IAAM,MAAA,YAAA,GAAeA,mCAAkB,CAAA,IAAA,EAAM,CAAC,CAAA,CAAA;AAC9C,IAAM,MAAA,aAAA,GAAgBA,mCAAkB,CAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AAErD,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,0BAA4B,EAAA,KAAA;AAAA,MAC5B,uBAAyB,EAAA,cAAA;AAAA,MACzB,qBAAuB,EAAA,YAAA;AAAA,MACvB,sBAAwB,EAAA,aAAA;AAAA,MACxB,GAAG,KAAA;AAAA,KACL,CAAA;AACA,IAAA,uBACGC,cAAA,CAAA,SAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,GAAA;AAAA,MACA,KAAO,EAAA,SAAA;AAAA,MACN,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}
@@ -7,12 +7,17 @@ var AriaAnnounce = require('./aria-announcer/AriaAnnounce.js');
7
7
  var AriaAnnouncerProvider = require('./aria-announcer/AriaAnnouncerProvider.js');
8
8
  var useAriaAnnouncer = require('./aria-announcer/useAriaAnnouncer.js');
9
9
  var Avatar = require('./avatar/Avatar.js');
10
+ var useAvatarImage = require('./avatar/useAvatarImage.js');
10
11
  var BorderItem = require('./border-item/BorderItem.js');
11
12
  var BorderLayout = require('./border-layout/BorderLayout.js');
12
13
  var Breakpoints = require('./breakpoints/Breakpoints.js');
13
14
  var Button = require('./button/Button.js');
14
15
  var useButton = require('./button/useButton.js');
15
16
  var Card = require('./card/Card.js');
17
+ var InteractableCard = require('./card/InteractableCard.js');
18
+ var Checkbox = require('./checkbox/Checkbox.js');
19
+ var CheckboxGroup = require('./checkbox/CheckboxGroup.js');
20
+ var CheckboxIcon = require('./checkbox/CheckboxIcon.js');
16
21
  var FlexItem = require('./flex-item/FlexItem.js');
17
22
  var FlexLayout = require('./flex-layout/FlexLayout.js');
18
23
  var FlowLayout = require('./flow-layout/FlowLayout.js');
@@ -20,6 +25,9 @@ var GridItem = require('./grid-item/GridItem.js');
20
25
  var GridLayout = require('./grid-layout/GridLayout.js');
21
26
  var Link = require('./link/Link.js');
22
27
  var Panel = require('./panel/Panel.js');
28
+ var RadioButton = require('./radio-button/RadioButton.js');
29
+ var RadioButtonGroup = require('./radio-button/RadioButtonGroup.js');
30
+ var RadioButtonIcon = require('./radio-button/RadioButtonIcon.js');
23
31
  var Spinner = require('./spinner/Spinner.js');
24
32
  var StackLayout = require('./stack-layout/StackLayout.js');
25
33
  var StatusIndicator = require('./status-indicator/StatusIndicator.js');
@@ -35,6 +43,7 @@ var SaltProvider = require('./salt-provider/SaltProvider.js');
35
43
  var SplitLayout = require('./split-layout/SplitLayout.js');
36
44
  var Tooltip = require('./tooltip/Tooltip.js');
37
45
  var useTooltip = require('./tooltip/useTooltip.js');
46
+ var capitalize = require('./utils/capitalize.js');
38
47
  var createChainedFunction = require('./utils/createChainedFunction.js');
39
48
  var createContext = require('./utils/createContext.js');
40
49
  var debounce = require('./utils/debounce.js');
@@ -61,6 +70,7 @@ exports.ARIA_ANNOUNCE_DELAY = AriaAnnouncerProvider.ARIA_ANNOUNCE_DELAY;
61
70
  exports.AriaAnnouncerProvider = AriaAnnouncerProvider.AriaAnnouncerProvider;
62
71
  exports.useAriaAnnouncer = useAriaAnnouncer.useAriaAnnouncer;
63
72
  exports.Avatar = Avatar.Avatar;
73
+ exports.useAvatarImage = useAvatarImage.useAvatarImage;
64
74
  exports.BORDER_POSITION = BorderItem.BORDER_POSITION;
65
75
  exports.BorderItem = BorderItem.BorderItem;
66
76
  exports.BorderLayout = BorderLayout.BorderLayout;
@@ -69,6 +79,10 @@ exports.Button = Button.Button;
69
79
  exports.ButtonVariantValues = Button.ButtonVariantValues;
70
80
  exports.useButton = useButton.useButton;
71
81
  exports.Card = Card.Card;
82
+ exports.InteractableCard = InteractableCard.InteractableCard;
83
+ exports.Checkbox = Checkbox.Checkbox;
84
+ exports.CheckboxGroup = CheckboxGroup.CheckboxGroup;
85
+ exports.CheckboxIcon = CheckboxIcon.CheckboxIcon;
72
86
  exports.FLEX_ITEM_ALIGNMENTS = FlexItem.FLEX_ITEM_ALIGNMENTS;
73
87
  exports.FlexItem = FlexItem.FlexItem;
74
88
  exports.FLEX_ALIGNMENT_BASE = FlexLayout.FLEX_ALIGNMENT_BASE;
@@ -80,6 +94,9 @@ exports.GridItem = GridItem.GridItem;
80
94
  exports.GridLayout = GridLayout.GridLayout;
81
95
  exports.Link = Link.Link;
82
96
  exports.Panel = Panel.Panel;
97
+ exports.RadioButton = RadioButton.RadioButton;
98
+ exports.RadioButtonGroup = RadioButtonGroup.RadioButtonGroup;
99
+ exports.RadioButtonIcon = RadioButtonIcon.RadioButtonIcon;
83
100
  exports.Spinner = Spinner.Spinner;
84
101
  exports.SpinnerSizeValues = Spinner.SpinnerSizeValues;
85
102
  exports.StackLayout = StackLayout.StackLayout;
@@ -108,6 +125,7 @@ exports.useTheme = SaltProvider.useTheme;
108
125
  exports.SplitLayout = SplitLayout.SplitLayout;
109
126
  exports.Tooltip = Tooltip.Tooltip;
110
127
  exports.useTooltip = useTooltip.useTooltip;
128
+ exports.capitalize = capitalize.capitalize;
111
129
  exports.createChainedFunction = createChainedFunction.createChainedFunction;
112
130
  exports.createContext = createContext.createContext;
113
131
  exports.debounce = debounce.debounce;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
4
 
5
- var css_248z = ".saltLink {\n --link-color-hover: var(--saltLink-color-hover, var(--salt-text-link-foreground-hover));\n --link-color-active: var(--saltLink-color-active, var(--salt-text-link-foreground-active));\n --link-color-visited: var(--saltLink-color-visited, var(--salt-text-link-foreground-visited));\n /* When focused, we also want hover style */\n --link-color-focus: var(--saltLink-color-focus, var(--link-color-hover));\n\n --link-textDecoration: var(--salt-text-link-textDecoration);\n --link-textDecoration-hover: var(--salt-text-link-textDecoration-hover);\n\n --link-fontFamily: var(--salt-text-fontFamily);\n --link-focus-outline: var(--salt-focused-outline);\n}\n\n/* Main css class */\n.saltLink {\n color: var(--link-color);\n letter-spacing: 0px;\n text-decoration: var(--link-textDecoration);\n font-family: var(--link-fontFamily);\n}\n\n/* Primary variant */\n.saltText-primary {\n --link-color: var(--salt-text-primary-foreground);\n}\n\n/* Secondary variant */\n.saltText-secondary {\n --link-color: var(--salt-text-secondary-foreground);\n}\n\n/* External link's icon */\n.saltLink-icon {\n margin-left: calc(var(--salt-size-unit) * 0.75);\n margin-bottom: -2px;\n}\n\n/* Set color for visited link */\n.saltLink:visited {\n --saltIcon-color: var(--link-color-visited);\n color: var(--link-color-visited);\n}\n\n/* Set color for hovered link */\n.saltLink:hover {\n --saltIcon-color: var(--link-color-hover);\n color: var(--link-color-hover);\n text-decoration: var(--link-textDecoration-hover);\n}\n\n/* Set color for active link */\n.saltLink:active {\n --saltIcon-color: var(--link-color-active);\n color: var(--link-color-active);\n}\n\n/* Set color for focused link */\n.saltLink:focus {\n --saltIcon-color: var(--link-color-focus);\n outline: var(--link-focus-outline);\n color: var(--link-color-focus);\n text-decoration: var(--link-textDecoration-hover);\n}\n\n/* Class for ADA content */\n.saltLink-externalLinkADA {\n display: block;\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n top: 0px;\n left: 0px;\n opacity: 0;\n}\n";
5
+ var css_248z = ".saltLink {\n --link-color-hover: var(--saltLink-color-hover, var(--salt-text-link-foreground-hover));\n --link-color-active: var(--saltLink-color-active, var(--salt-text-link-foreground-active));\n --link-color-visited: var(--saltLink-color-visited, var(--salt-text-link-foreground-visited));\n /* When focused, we also want hover style */\n --link-color-focus: var(--saltLink-color-focus, var(--link-color-hover));\n\n --link-textDecoration: var(--salt-text-link-textDecoration);\n --link-textDecoration-hover: var(--salt-text-link-textDecoration-hover);\n\n --link-fontFamily: var(--salt-text-fontFamily);\n --link-focus-outline: var(--salt-focused-outline);\n}\n\n/* Main css class */\n.saltLink {\n color: var(--link-color);\n letter-spacing: 0px;\n text-decoration: var(--link-textDecoration);\n font-family: var(--link-fontFamily);\n}\n\n/* Primary variant */\n.saltText-primary {\n --link-color: var(--salt-text-primary-foreground);\n}\n\n/* Secondary variant */\n.saltText-secondary {\n --link-color: var(--salt-text-secondary-foreground);\n}\n\n/* External link's icon */\n.saltLink-icon {\n margin-left: var(--salt-size-adornmentGap);\n margin-bottom: -2px;\n}\n\n/* Set color for visited link */\n.saltLink:visited {\n --saltIcon-color: var(--link-color-visited);\n color: var(--link-color-visited);\n}\n\n/* Set color for hovered link */\n.saltLink:hover {\n --saltIcon-color: var(--link-color-hover);\n color: var(--link-color-hover);\n text-decoration: var(--link-textDecoration-hover);\n}\n\n/* Set color for active link */\n.saltLink:active {\n --saltIcon-color: var(--link-color-active);\n color: var(--link-color-active);\n}\n\n/* Set color for focused link */\n.saltLink:focus {\n --saltIcon-color: var(--link-color-focus);\n outline: var(--link-focus-outline);\n color: var(--link-color-focus);\n text-decoration: var(--link-textDecoration-hover);\n}\n\n/* Class for ADA content */\n.saltLink-externalLinkADA {\n display: block;\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n top: 0px;\n left: 0px;\n opacity: 0;\n}\n";
6
6
  styleInject_es(css_248z);
7
7
 
8
8
  module.exports = css_248z;
@@ -39,7 +39,7 @@ const Link = React.forwardRef(function Link2({
39
39
  children,
40
40
  target === "_blank" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
41
41
  children: [
42
- /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {
42
+ IconComponent && /* @__PURE__ */ jsxRuntime.jsx(IconComponent, {
43
43
  className: withBaseName("icon"),
44
44
  "aria-hidden": true
45
45
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sources":["../src/link/Link.tsx"],"sourcesContent":["import { ComponentType, forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { IconProps, TearOutIcon } from \"@salt-ds/icons\";\nimport { makePrefixer } from \"../utils\";\nimport { Text, TextProps } from \"../text\";\n\nimport \"./Link.css\";\n\nconst withBaseName = makePrefixer(\"saltLink\");\n\n/**\n * Links are a fundamental navigation element. When clicked, they take the user to an entirely different page.\n *\n * @example\n * <LinkExample to=\"#link\">Action</LinkExample>\n */\nexport interface LinkProps extends Omit<TextProps<\"a\">, \"as\" | \"disabled\"> {\n IconComponent?: ComponentType<IconProps>;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(\n {\n IconComponent = TearOutIcon,\n href,\n className,\n children,\n variant = \"primary\",\n target = \"_self\",\n ...rest\n },\n ref\n): ReactElement<LinkProps> {\n return (\n <Text\n as=\"a\"\n className={clsx(withBaseName(), className)}\n href={href}\n ref={ref}\n target={target}\n variant={variant}\n {...rest}\n >\n {children}\n {target === \"_blank\" && (\n <>\n <IconComponent className={withBaseName(\"icon\")} aria-hidden />\n <span className={withBaseName(\"externalLinkADA\")}>External Link</span>\n </>\n )}\n </Text>\n );\n});\n"],"names":["makePrefixer","forwardRef","Link","TearOutIcon","jsxs","Text","clsx","Fragment","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,0BAAa,UAAU,CAAA,CAAA;AAY/B,MAAA,IAAA,GAAOC,gBAAyC,CAAA,SAASC,KACpE,CAAA;AAAA,EACE,aAAgB,GAAAC,iBAAA;AAAA,EAChB,IAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,MAAS,GAAA,OAAA;AAAA,EACN,GAAA,IAAA;AACL,CAAA,EACA,GACyB,EAAA;AACzB,EAAA,uBACGC,eAAA,CAAAC,SAAA,EAAA;AAAA,IACC,EAAG,EAAA,GAAA;AAAA,IACH,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,WAAW,QACV,oBAAAF,eAAA,CAAAG,mBAAA,EAAA;AAAA,QACE,QAAA,EAAA;AAAA,0BAACC,cAAA,CAAA,aAAA,EAAA;AAAA,YAAc,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,YAAG,aAAW,EAAA,IAAA;AAAA,WAAC,CAAA;AAAA,0BAC3DA,cAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YAAG,QAAA,EAAA,eAAA;AAAA,WAAa,CAAA;AAAA,SAAA;AAAA,OACjE,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"Link.js","sources":["../src/link/Link.tsx"],"sourcesContent":["import { ComponentType, forwardRef, ReactElement } from \"react\";\nimport { clsx } from \"clsx\";\nimport { IconProps, TearOutIcon } from \"@salt-ds/icons\";\nimport { makePrefixer } from \"../utils\";\nimport { Text, TextProps } from \"../text\";\n\nimport \"./Link.css\";\n\nconst withBaseName = makePrefixer(\"saltLink\");\n\n/**\n * Links are a fundamental navigation element. When clicked, they take the user to an entirely different page.\n *\n * @example\n * <LinkExample to=\"#link\">Action</LinkExample>\n */\nexport interface LinkProps extends Omit<TextProps<\"a\">, \"as\" | \"disabled\"> {\n IconComponent?: ComponentType<IconProps> | null;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(function Link(\n {\n IconComponent = TearOutIcon,\n href,\n className,\n children,\n variant = \"primary\",\n target = \"_self\",\n ...rest\n },\n ref\n): ReactElement<LinkProps> {\n return (\n <Text\n as=\"a\"\n className={clsx(withBaseName(), className)}\n href={href}\n ref={ref}\n target={target}\n variant={variant}\n {...rest}\n >\n {children}\n {target === \"_blank\" && (\n <>\n {IconComponent && (\n <IconComponent className={withBaseName(\"icon\")} aria-hidden />\n )}\n <span className={withBaseName(\"externalLinkADA\")}>External Link</span>\n </>\n )}\n </Text>\n );\n});\n"],"names":["makePrefixer","forwardRef","Link","TearOutIcon","jsxs","Text","clsx","Fragment","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,0BAAa,UAAU,CAAA,CAAA;AAY/B,MAAA,IAAA,GAAOC,gBAAyC,CAAA,SAASC,KACpE,CAAA;AAAA,EACE,aAAgB,GAAAC,iBAAA;AAAA,EAChB,IAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,MAAS,GAAA,OAAA;AAAA,EACN,GAAA,IAAA;AACL,CAAA,EACA,GACyB,EAAA;AACzB,EAAA,uBACGC,eAAA,CAAAC,SAAA,EAAA;AAAA,IACC,EAAG,EAAA,GAAA;AAAA,IACH,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,IAAA;AAAA,IACA,GAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEH,QAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,WAAW,QACV,oBAAAF,eAAA,CAAAG,mBAAA,EAAA;AAAA,QACG,QAAA,EAAA;AAAA,UAAA,aAAA,oBACEC,cAAA,CAAA,aAAA,EAAA;AAAA,YAAc,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,YAAG,aAAW,EAAA,IAAA;AAAA,WAAC,CAAA;AAAA,0BAE7DA,cAAA,CAAA,MAAA,EAAA;AAAA,YAAK,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,YAAG,QAAA,EAAA,eAAA;AAAA,WAAa,CAAA;AAAA,SAAA;AAAA,OACjE,CAAA;AAAA,KAAA;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 = "/* Styles applied to the root element when variant=\"primary\" */\n.saltPanel-primary.saltPanel {\n --panel-background: var(--salt-container-primary-background);\n}\n\n/* Styles applied to the root element when variant=\"secondary\" */\n.saltPanel-secondary.saltPanel {\n --panel-background: var(--salt-container-secondary-background);\n}\n\n/* Styles applied to the root element */\n.saltPanel {\n background: var(--saltPanel-background, var(--panel-background));\n color: var(--saltPanel-color, inherit);\n height: var(--saltPanel-height, 100%);\n overflow: auto;\n padding: var(--saltPanel-padding, calc(var(--salt-size-unit) * 3));\n width: var(--saltPanel-width, 100%);\n}\n";
5
+ var css_248z = "/* Styles applied to the root element when variant=\"primary\" */\n.saltPanel-primary.saltPanel {\n --panel-background: var(--salt-container-primary-background);\n}\n\n/* Styles applied to the root element when variant=\"secondary\" */\n.saltPanel-secondary.saltPanel {\n --panel-background: var(--salt-container-secondary-background);\n}\n\n/* Styles applied to the root element */\n.saltPanel {\n background: var(--saltPanel-background, var(--panel-background));\n color: var(--saltPanel-color, initial);\n height: var(--saltPanel-height, 100%);\n overflow: auto;\n padding: var(--saltPanel-padding, var(--salt-size-container-spacing));\n width: var(--saltPanel-width, 100%);\n}\n";
6
6
  styleInject_es(css_248z);
7
7
 
8
8
  module.exports = css_248z;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "/* Styles applied to RadioButton container */\n.saltRadioButton {\n display: flex;\n gap: var(--salt-size-adornmentGap);\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
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=RadioButton.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,86 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var clsx = require('clsx');
7
+ var React = require('react');
8
+ var makePrefixer = require('../utils/makePrefixer.js');
9
+ var useControlled = require('../utils/useControlled.js');
10
+ require('../utils/useFloatingUI.js');
11
+ require('../utils/useId.js');
12
+ require('../salt-provider/SaltProvider.js');
13
+ require('../viewport/ViewportProvider.js');
14
+ var useRadioGroup = require('./internal/useRadioGroup.js');
15
+ var RadioButtonIcon = require('./RadioButtonIcon.js');
16
+ require('./RadioButton.css.js');
17
+
18
+ const withBaseName = makePrefixer.makePrefixer("saltRadioButton");
19
+ const RadioButton = React.forwardRef(
20
+ function RadioButton2(props, ref) {
21
+ const {
22
+ checked: checkedProp,
23
+ className,
24
+ disabled,
25
+ error,
26
+ inputProps,
27
+ label,
28
+ name: nameProp,
29
+ onFocus,
30
+ onBlur,
31
+ onChange,
32
+ value,
33
+ ...rest
34
+ } = props;
35
+ const radioGroup = useRadioGroup.useRadioGroup();
36
+ const radioGroupChecked = radioGroup.value != null && value != null ? radioGroup.value === value : checkedProp;
37
+ const name = nameProp != null ? nameProp : radioGroup.name;
38
+ const [checked, setCheckedState] = useControlled.useControlled({
39
+ controlled: radioGroupChecked,
40
+ default: Boolean(checkedProp),
41
+ name: "RadioBase",
42
+ state: "checked"
43
+ });
44
+ const handleChange = (event) => {
45
+ var _a;
46
+ const newChecked = event.target.checked;
47
+ setCheckedState(newChecked);
48
+ onChange == null ? void 0 : onChange(event);
49
+ (_a = radioGroup.onChange) == null ? void 0 : _a.call(radioGroup, event);
50
+ };
51
+ return /* @__PURE__ */ jsxRuntime.jsxs("label", {
52
+ className: clsx.clsx(
53
+ withBaseName(),
54
+ {
55
+ [withBaseName("disabled")]: disabled
56
+ },
57
+ className
58
+ ),
59
+ ref,
60
+ ...rest,
61
+ children: [
62
+ /* @__PURE__ */ jsxRuntime.jsx("input", {
63
+ className: withBaseName("input"),
64
+ ...inputProps,
65
+ checked,
66
+ disabled,
67
+ name,
68
+ value,
69
+ onBlur,
70
+ onChange: handleChange,
71
+ onFocus,
72
+ type: "radio"
73
+ }),
74
+ /* @__PURE__ */ jsxRuntime.jsx(RadioButtonIcon.RadioButtonIcon, {
75
+ checked,
76
+ error,
77
+ disabled
78
+ }),
79
+ label
80
+ ]
81
+ });
82
+ }
83
+ );
84
+
85
+ exports.RadioButton = RadioButton;
86
+ //# sourceMappingURL=RadioButton.js.map
@@ -0,0 +1 @@
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 \"../utils\";\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,0BAAa,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,2BAAc,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;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "/* Styles applied to 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
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=RadioButtonGroup.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButtonGroup.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var clsx = require('clsx');
7
+ var React = require('react');
8
+ var makePrefixer = require('../utils/makePrefixer.js');
9
+ var useControlled = require('../utils/useControlled.js');
10
+ require('../utils/useFloatingUI.js');
11
+ var useId = require('../utils/useId.js');
12
+ require('../salt-provider/SaltProvider.js');
13
+ require('../viewport/ViewportProvider.js');
14
+ var RadioGroupContext = require('./internal/RadioGroupContext.js');
15
+ require('./RadioButtonGroup.css.js');
16
+
17
+ const withBaseName = makePrefixer.makePrefixer("saltRadioButtonGroup");
18
+ const RadioButtonGroup = React.forwardRef(function RadioButtonGroup2(props, ref) {
19
+ const {
20
+ children,
21
+ className,
22
+ defaultValue,
23
+ direction = "vertical",
24
+ wrap = true,
25
+ name: nameProp,
26
+ onChange,
27
+ value: valueProp,
28
+ ...rest
29
+ } = props;
30
+ const [value, setStateValue] = useControlled.useControlled({
31
+ controlled: valueProp,
32
+ default: defaultValue,
33
+ state: "value",
34
+ name: "RadioButtonGroup"
35
+ });
36
+ const handleChange = (event) => {
37
+ setStateValue(event.target.value);
38
+ onChange == null ? void 0 : onChange(event);
39
+ };
40
+ const name = useId.useId(nameProp);
41
+ return /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
42
+ className: clsx.clsx(
43
+ withBaseName(),
44
+ withBaseName(direction),
45
+ {
46
+ [withBaseName("noWrap")]: !wrap
47
+ },
48
+ className
49
+ ),
50
+ "data-testid": "radio-button-group",
51
+ ref,
52
+ ...rest,
53
+ children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupContext.RadioGroupContext.Provider, {
54
+ value: { name, onChange: handleChange, value },
55
+ children
56
+ })
57
+ });
58
+ });
59
+
60
+ exports.RadioButtonGroup = RadioButtonGroup;
61
+ //# sourceMappingURL=RadioButtonGroup.js.map
@@ -0,0 +1 @@
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 \"../utils\";\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 {...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,0BAAa,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,2BAAc,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,YAAM,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,IACC,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;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "/* Styles applied to radio button icon */\n.saltRadioButtonIcon {\n width: var(--salt-size-selectable);\n height: var(--salt-size-selectable);\n border-radius: 50%;\n flex: none;\n margin-top: var(--salt-size-border);\n}\n\n/* Styles applied to radio button icon circle */\n.saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-fill, var(--salt-container-primary-background));\n stroke: var(--saltRadioButton-icon-stroke, var(--salt-selectable-foreground));\n stroke-width: var(--salt-size-border);\n}\n\n/* Styles applied to radio button icon on hover */\n.saltRadioButton:hover .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-hover-fill, var(--salt-selectable-background-hover));\n stroke: var(--saltRadioButton-icon-stroke-hover, var(--salt-selectable-foreground-hover));\n}\n\n/* Styles applied to radio button icon if checked */\n.saltRadioButtonIcon-checked .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-checked .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-checked-fill, var(--salt-selectable-foreground-selected));\n stroke: var(--saltRadioButton-icon-checked-stroke, var(--salt-selectable-foreground-selected));\n}\n\n/* Styles applied to radio button icon if disabled */\n.saltRadioButtonIcon-disabled .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-disabled .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-disabled-fill, var(--salt-selectable-background));\n stroke: var(--saltRadioButton-icon-disabled-stroke, var(--salt-selectable-foreground-disabled));\n}\n\n/* Styles applied to radio button icon if checked and disabled */\n.saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-checked-disabled-fill, var(--salt-container-primary-background-disabled));\n stroke: var(--saltRadioButton-icon-checked-disabled-stroke, var(--salt-selectable-foreground-selectedDisabled));\n stroke-width: calc(var(--salt-size-border) * 6.5);\n}\n\n/* Styles applied to radio button icon with error */\n.saltRadioButtonIcon-error .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-error .saltRadioButtonIcon-circle {\n stroke: var(--saltRadioButton-icon-error-stroke, var(--salt-status-error-foreground));\n}\n\n.saltRadioButton:hover .saltRadioButtonIcon-error .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-error-hover-fill, var(--salt-status-error-background-emphasize));\n}\n\n/* Styles applied to radio button icon with error and disabled */\n.saltRadioButtonIcon-error.saltRadioButtonIcon-disabled .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-error.saltRadioButtonIcon-disabled .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-error-disabled-fill, var(--salt-selectable-background));\n stroke: var(--saltRadioButton-icon-error-disabled-stroke, var(--salt-status-error-foreground-disabled));\n}\n\n/* Styles applied to radio button icon when checked and with error */\n.saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-error-fill, var(--salt-status-error-foreground));\n stroke: var(--saltRadioButton-icon-error-stroke, var(--salt-status-error-foreground));\n}\n\n/* Styles applied to radio button icon when checked and with error and disabled */\n.saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-circle,\n.saltRadioButton:hover .saltRadioButtonIcon-disabled.saltRadioButtonIcon-checked.saltRadioButtonIcon-error .saltRadioButtonIcon-circle {\n fill: var(--saltRadioButton-icon-error-disabled-fill, var(--salt-container-primary-background-disabled));\n stroke: var(--saltRadioButton-icon-error-disabled-stroke, var(--salt-status-error-foreground-disabled));\n}\n\n/* Styles applied to checked inner circle */\n.saltRadioButtonIcon-checked-circle {\n fill: var(--saltRadioButton-icon-inner-fill, var(--salt-container-primary-background));\n}\n\n/* Styles applied to checked inner circle when disabled */\n.saltRadioButtonIcon-disabled .saltRadioButtonIcon-checked-circle {\n fill: var(--saltRadioButton-icon-inner-disabled-fill, var(--salt-container-primary-background-disabled));\n}\n";
6
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=RadioButtonIcon.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButtonIcon.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}