@salt-ds/lab 1.0.0-alpha.4 → 1.0.0-alpha.5

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 (152) hide show
  1. package/dist-cjs/packages/lab/src/app-header/AppHeader.css.js +1 -1
  2. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +1 -3
  3. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  4. package/dist-cjs/packages/lab/src/carousel/Carousel.js +2 -5
  5. package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
  6. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  7. package/dist-cjs/packages/lab/src/color-chooser/HexInput.css.js +1 -1
  8. package/dist-cjs/packages/lab/src/dialog/Dialog.css.js +1 -1
  9. package/dist-cjs/packages/lab/src/dialog/DialogContent.css.js +1 -1
  10. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js +17 -7
  11. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  12. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  13. package/dist-cjs/packages/lab/src/index.js +0 -22
  14. package/dist-cjs/packages/lab/src/index.js.map +1 -1
  15. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.css.js +1 -1
  16. package/dist-cjs/packages/lab/src/list/ListItem.js +1 -5
  17. package/dist-cjs/packages/lab/src/list/ListItem.js.map +1 -1
  18. package/dist-cjs/packages/lab/src/pill/Pill.css.js +1 -1
  19. package/dist-cjs/packages/lab/src/pill/internal/PillCheckbox.js +1 -5
  20. package/dist-cjs/packages/lab/src/pill/internal/PillCheckbox.js.map +1 -1
  21. package/dist-cjs/packages/lab/src/tabs/Tab.css.js +1 -1
  22. package/dist-cjs/packages/lab/src/tabs/TabActivationIndicator.css.js +1 -1
  23. package/dist-cjs/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  24. package/dist-cjs/packages/lab/src/toolbar/Toolbar.css.js +1 -1
  25. package/dist-es/packages/lab/src/app-header/AppHeader.css.js +1 -1
  26. package/dist-es/packages/lab/src/button-bar/OrderedButton.js +1 -3
  27. package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  28. package/dist-es/packages/lab/src/carousel/Carousel.js +1 -4
  29. package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
  30. package/dist-es/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  31. package/dist-es/packages/lab/src/color-chooser/HexInput.css.js +1 -1
  32. package/dist-es/packages/lab/src/dialog/Dialog.css.js +1 -1
  33. package/dist-es/packages/lab/src/dialog/DialogContent.css.js +1 -1
  34. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js +17 -7
  35. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  36. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  37. package/dist-es/packages/lab/src/index.js +0 -11
  38. package/dist-es/packages/lab/src/index.js.map +1 -1
  39. package/dist-es/packages/lab/src/layer-layout/LayerLayout.css.js +1 -1
  40. package/dist-es/packages/lab/src/list/ListItem.js +1 -5
  41. package/dist-es/packages/lab/src/list/ListItem.js.map +1 -1
  42. package/dist-es/packages/lab/src/pill/Pill.css.js +1 -1
  43. package/dist-es/packages/lab/src/pill/internal/PillCheckbox.js +1 -5
  44. package/dist-es/packages/lab/src/pill/internal/PillCheckbox.js.map +1 -1
  45. package/dist-es/packages/lab/src/tabs/Tab.css.js +1 -1
  46. package/dist-es/packages/lab/src/tabs/TabActivationIndicator.css.js +1 -1
  47. package/dist-es/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  48. package/dist-es/packages/lab/src/toolbar/Toolbar.css.js +1 -1
  49. package/dist-types/index.d.ts +0 -2
  50. package/dist-types/utils/index.d.ts +0 -1
  51. package/package.json +3 -3
  52. package/dist-cjs/packages/lab/src/checkbox/Checkbox.css.js +0 -9
  53. package/dist-cjs/packages/lab/src/checkbox/Checkbox.css.js.map +0 -1
  54. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js +0 -71
  55. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js.map +0 -1
  56. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.css.js +0 -9
  57. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.css.js.map +0 -1
  58. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js +0 -99
  59. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js.map +0 -1
  60. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.css.js +0 -9
  61. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.css.js.map +0 -1
  62. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js +0 -57
  63. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js.map +0 -1
  64. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js +0 -9
  65. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js.map +0 -1
  66. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js +0 -33
  67. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js.map +0 -1
  68. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js +0 -33
  69. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
  70. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js +0 -37
  71. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
  72. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js +0 -26
  73. package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
  74. package/dist-cjs/packages/lab/src/checkbox/internal/CheckboxGroupContext.js +0 -13
  75. package/dist-cjs/packages/lab/src/checkbox/internal/CheckboxGroupContext.js.map +0 -1
  76. package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js +0 -9
  77. package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js.map +0 -1
  78. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +0 -81
  79. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +0 -1
  80. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js +0 -9
  81. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js.map +0 -1
  82. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +0 -57
  83. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +0 -1
  84. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js +0 -9
  85. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js.map +0 -1
  86. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +0 -43
  87. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +0 -1
  88. package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js +0 -13
  89. package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +0 -1
  90. package/dist-cjs/packages/lab/src/radio-button/internal/useRadioGroup.js +0 -13
  91. package/dist-cjs/packages/lab/src/radio-button/internal/useRadioGroup.js.map +0 -1
  92. package/dist-cjs/packages/lab/src/utils/capitalize.js +0 -10
  93. package/dist-cjs/packages/lab/src/utils/capitalize.js.map +0 -1
  94. package/dist-es/packages/lab/src/checkbox/Checkbox.css.js +0 -7
  95. package/dist-es/packages/lab/src/checkbox/Checkbox.css.js.map +0 -1
  96. package/dist-es/packages/lab/src/checkbox/Checkbox.js +0 -67
  97. package/dist-es/packages/lab/src/checkbox/Checkbox.js.map +0 -1
  98. package/dist-es/packages/lab/src/checkbox/CheckboxBase.css.js +0 -7
  99. package/dist-es/packages/lab/src/checkbox/CheckboxBase.css.js.map +0 -1
  100. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js +0 -95
  101. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js.map +0 -1
  102. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.css.js +0 -7
  103. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.css.js.map +0 -1
  104. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js +0 -53
  105. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js.map +0 -1
  106. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js +0 -7
  107. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js.map +0 -1
  108. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js +0 -29
  109. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js.map +0 -1
  110. package/dist-es/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js +0 -29
  111. package/dist-es/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
  112. package/dist-es/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js +0 -33
  113. package/dist-es/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
  114. package/dist-es/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js +0 -22
  115. package/dist-es/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
  116. package/dist-es/packages/lab/src/checkbox/internal/CheckboxGroupContext.js +0 -9
  117. package/dist-es/packages/lab/src/checkbox/internal/CheckboxGroupContext.js.map +0 -1
  118. package/dist-es/packages/lab/src/radio-button/RadioButton.css.js +0 -7
  119. package/dist-es/packages/lab/src/radio-button/RadioButton.css.js.map +0 -1
  120. package/dist-es/packages/lab/src/radio-button/RadioButton.js +0 -77
  121. package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +0 -1
  122. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js +0 -7
  123. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js.map +0 -1
  124. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +0 -53
  125. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +0 -1
  126. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js +0 -7
  127. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js.map +0 -1
  128. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +0 -39
  129. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +0 -1
  130. package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js +0 -9
  131. package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +0 -1
  132. package/dist-es/packages/lab/src/radio-button/internal/useRadioGroup.js +0 -9
  133. package/dist-es/packages/lab/src/radio-button/internal/useRadioGroup.js.map +0 -1
  134. package/dist-es/packages/lab/src/utils/capitalize.js +0 -6
  135. package/dist-es/packages/lab/src/utils/capitalize.js.map +0 -1
  136. package/dist-types/checkbox/Checkbox.d.ts +0 -9
  137. package/dist-types/checkbox/CheckboxBase.d.ts +0 -18
  138. package/dist-types/checkbox/CheckboxGroup.d.ts +0 -35
  139. package/dist-types/checkbox/CheckboxIcon.d.ts +0 -9
  140. package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +0 -4
  141. package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +0 -4
  142. package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +0 -4
  143. package/dist-types/checkbox/assets/index.d.ts +0 -3
  144. package/dist-types/checkbox/index.d.ts +0 -5
  145. package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +0 -9
  146. package/dist-types/radio-button/RadioButton.d.ts +0 -45
  147. package/dist-types/radio-button/RadioButtonGroup.d.ts +0 -29
  148. package/dist-types/radio-button/RadioButtonIcon.d.ts +0 -11
  149. package/dist-types/radio-button/index.d.ts +0 -3
  150. package/dist-types/radio-button/internal/RadioGroupContext.d.ts +0 -7
  151. package/dist-types/radio-button/internal/useRadioGroup.d.ts +0 -1
  152. package/dist-types/utils/capitalize.d.ts +0 -1
@@ -1,81 +0,0 @@
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 core = require('@salt-ds/core');
9
- var useRadioGroup = require('./internal/useRadioGroup.js');
10
- var RadioButtonIcon = require('./RadioButtonIcon.js');
11
- require('./RadioButton.css.js');
12
-
13
- const withBaseName = core.makePrefixer("saltRadioButton");
14
- const RadioButton = React.forwardRef(
15
- function RadioButton2(props, ref) {
16
- const {
17
- checked: checkedProp,
18
- className,
19
- disabled,
20
- error,
21
- inputProps,
22
- label,
23
- name: nameProp,
24
- onFocus,
25
- onBlur,
26
- onChange,
27
- value,
28
- ...rest
29
- } = props;
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", {
47
- className: clsx.clsx(
48
- withBaseName(),
49
- {
50
- [withBaseName("disabled")]: disabled
51
- },
52
- className
53
- ),
54
- ref,
55
- ...rest,
56
- children: [
57
- /* @__PURE__ */ jsxRuntime.jsx("input", {
58
- className: withBaseName("input"),
59
- ...inputProps,
60
- checked,
61
- disabled,
62
- name,
63
- value,
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
- ]
76
- });
77
- }
78
- );
79
-
80
- exports.RadioButton = RadioButton;
81
- //# sourceMappingURL=RadioButton.js.map
@@ -1 +0,0 @@
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;;;;"}
@@ -1,9 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadioButtonGroup.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,57 +0,0 @@
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 core = require('@salt-ds/core');
9
- var RadioGroupContext = require('./internal/RadioGroupContext.js');
10
- require('./RadioButtonGroup.css.js');
11
-
12
- const withBaseName = core.makePrefixer("saltRadioButtonGroup");
13
- const RadioButtonGroup = React.forwardRef(function RadioButtonGroup2(props, ref) {
14
- const {
15
- children,
16
- className,
17
- defaultValue,
18
- direction = "vertical",
19
- wrap = true,
20
- name: nameProp,
21
- onChange,
22
- value: valueProp,
23
- ...rest
24
- } = props;
25
- const [value, setStateValue] = core.useControlled({
26
- controlled: valueProp,
27
- default: defaultValue,
28
- state: "value",
29
- name: "RadioButtonGroup"
30
- });
31
- const handleChange = (event) => {
32
- setStateValue(event.target.value);
33
- onChange == null ? void 0 : onChange(event);
34
- };
35
- const name = core.useId(nameProp);
36
- return /* @__PURE__ */ jsxRuntime.jsx("fieldset", {
37
- className: clsx.clsx(
38
- withBaseName(),
39
- withBaseName(direction),
40
- {
41
- [withBaseName("noWrap")]: !wrap
42
- },
43
- className
44
- ),
45
- "data-testid": "radio-button-group",
46
- ref,
47
- role: "radiogroup",
48
- ...rest,
49
- children: /* @__PURE__ */ jsxRuntime.jsx(RadioGroupContext.RadioGroupContext.Provider, {
50
- value: { name, onChange: handleChange, value },
51
- children
52
- })
53
- });
54
- });
55
-
56
- exports.RadioButtonGroup = RadioButtonGroup;
57
- //# sourceMappingURL=RadioButtonGroup.js.map
@@ -1 +0,0 @@
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;;;;"}
@@ -1,9 +0,0 @@
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 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
- styleInject_es(css_248z);
7
-
8
- module.exports = css_248z;
9
- //# sourceMappingURL=RadioButtonIcon.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadioButtonIcon.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,43 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@salt-ds/core');
7
- var clsx = require('clsx');
8
- require('./RadioButtonIcon.css.js');
9
-
10
- const withBaseName = core.makePrefixer("saltRadioButtonIcon");
11
- const RadioButtonIcon = ({
12
- checked,
13
- error,
14
- disabled
15
- }) => {
16
- return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
17
- className: clsx.clsx(withBaseName(), {
18
- [withBaseName("checked")]: checked,
19
- [withBaseName("error")]: error,
20
- [withBaseName("disabled")]: disabled
21
- }),
22
- height: "14",
23
- viewBox: "0 0 14 14",
24
- width: "14",
25
- children: [
26
- /* @__PURE__ */ jsxRuntime.jsx("circle", {
27
- className: withBaseName("border"),
28
- cx: "7",
29
- cy: "7",
30
- r: "6.5"
31
- }),
32
- checked && /* @__PURE__ */ jsxRuntime.jsx("circle", {
33
- className: withBaseName("inner-checked"),
34
- cx: "7",
35
- cy: "7",
36
- r: "3.2"
37
- })
38
- ]
39
- });
40
- };
41
-
42
- exports.RadioButtonIcon = RadioButtonIcon;
43
- //# sourceMappingURL=RadioButtonIcon.js.map
@@ -1 +0,0 @@
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;;;;"}
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var core = require('@salt-ds/core');
6
-
7
- const RadioGroupContext = core.createContext(
8
- "RadioGroupContext",
9
- {}
10
- );
11
-
12
- exports.RadioGroupContext = RadioGroupContext;
13
- //# sourceMappingURL=RadioGroupContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { createContext } from \"@salt-ds/core\";\n\nexport interface RadioGroupContextValue {\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue>(\n \"RadioGroupContext\",\n {}\n);\n"],"names":["createContext"],"mappings":";;;;;;AASO,MAAM,iBAAoB,GAAAA,kBAAA;AAAA,EAC/B,mBAAA;AAAA,EACA,EAAC;AACH;;;;"}
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var RadioGroupContext = require('./RadioGroupContext.js');
7
-
8
- function useRadioGroup() {
9
- return React.useContext(RadioGroupContext.RadioGroupContext);
10
- }
11
-
12
- exports.useRadioGroup = useRadioGroup;
13
- //# sourceMappingURL=useRadioGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRadioGroup.js","sources":["../src/radio-button/internal/useRadioGroup.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { RadioGroupContext } from \"./RadioGroupContext\";\n\nexport function useRadioGroup() {\n return useContext(RadioGroupContext);\n}\n"],"names":["useContext","RadioGroupContext"],"mappings":";;;;;;;AAGO,SAAS,aAAgB,GAAA;AAC9B,EAAA,OAAOA,iBAAWC,mCAAiB,CAAA,CAAA;AACrC;;;;"}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function capitalize(value) {
6
- return value.length > 0 ? value[0].toUpperCase() + value.slice(1) : value;
7
- }
8
-
9
- exports.capitalize = capitalize;
10
- //# sourceMappingURL=capitalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"capitalize.js","sources":["../src/utils/capitalize.ts"],"sourcesContent":["export function capitalize(value: string): string {\n return value.length > 0 ? value[0].toUpperCase() + value.slice(1) : value;\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,WAAW,KAAuB,EAAA;AAChD,EAAO,OAAA,KAAA,CAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,CAAA,CAAA,CAAG,aAAgB,GAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAI,GAAA,KAAA,CAAA;AACtE;;;;"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = "/* Styles applied to root component */\n.salt-density-medium {\n --checkbox-fontSize: 12px;\n}\n.salt-density-touch {\n --checkbox-fontSize: 16px;\n}\n.salt-density-low {\n --checkbox-fontSize: 14px;\n}\n.salt-density-high {\n --checkbox-fontSize: 11px;\n}\n\n.saltCheckbox {\n --checkbox-label-marginTop: calc(var(--salt-size-unit) * var(--checkbox-top-multiplier));\n --checkbox-space-multiplier: var(--saltCheckbox-space-multiplier, 3);\n --checkbox-top-multiplier: var(--saltCheckbox-top-multiplier, 0.75);\n}\n\n.saltCheckbox {\n line-height: var(--saltCheckbox-lineHeight, 1);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltCheckbox-disabled {\n pointer-events: visible;\n}\n\n/* Styles applied to label element */\n.saltCheckbox-label {\n align-items: flex-start;\n margin-top: var(--checkbox-label-marginTop);\n}\n\n.saltCheckbox .saltControlLabel-label {\n vertical-align: baseline;\n min-height: var(--saltCheckbox-label-minHeight, var(--salt-text-minHeight));\n}\n\n.saltCheckbox-disabled {\n --saltControlLabel-color: var(--salt-text-primary-foreground-disabled);\n}\n";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=Checkbox.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,67 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { clsx } from 'clsx';
3
- import { forwardRef, useContext } from 'react';
4
- import { createChainedFunction } from '@salt-ds/core';
5
- import { ControlLabel } from '../control-label/ControlLabel.js';
6
- import { CheckboxBase } from './CheckboxBase.js';
7
- import { CheckboxGroupContext } from './internal/CheckboxGroupContext.js';
8
- import './Checkbox.css.js';
9
-
10
- const classBase = "saltCheckbox";
11
- const Checkbox = forwardRef(
12
- function Checkbox2(props, ref) {
13
- var _a;
14
- const {
15
- checked: checkedProp,
16
- className,
17
- defaultChecked: defaultCheckedProp,
18
- disabled,
19
- indeterminate,
20
- inputProps,
21
- label,
22
- LabelProps,
23
- onChange,
24
- value,
25
- ...rest
26
- } = props;
27
- const groupContext = useContext(CheckboxGroupContext);
28
- const handleChange = createChainedFunction(
29
- onChange,
30
- groupContext == null ? void 0 : groupContext.onChange
31
- );
32
- let checked = checkedProp;
33
- let defaultChecked = defaultCheckedProp;
34
- if (groupContext) {
35
- if (typeof checked === "undefined" && typeof value === "string") {
36
- checked = (_a = groupContext == null ? void 0 : groupContext.checkedValues) == null ? void 0 : _a.includes(value);
37
- }
38
- defaultChecked = void 0;
39
- }
40
- return /* @__PURE__ */ jsx("div", {
41
- ...rest,
42
- className: clsx(classBase, className, {
43
- [`${classBase}-disabled`]: disabled
44
- }),
45
- "data-testid": "checkbox",
46
- ref,
47
- children: /* @__PURE__ */ jsx(ControlLabel, {
48
- ...LabelProps,
49
- className: `${classBase}-label`,
50
- disabled,
51
- label,
52
- labelPlacement: "right",
53
- children: /* @__PURE__ */ jsx(CheckboxBase, {
54
- checked,
55
- disabled,
56
- defaultChecked,
57
- indeterminate,
58
- onChange: handleChange,
59
- value
60
- })
61
- })
62
- });
63
- }
64
- );
65
-
66
- export { Checkbox };
67
- //# sourceMappingURL=Checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../src/checkbox/Checkbox.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef, useContext } from \"react\";\nimport { createChainedFunction } from \"@salt-ds/core\";\nimport { ControlLabel, ControlLabelProps } from \"../control-label\";\nimport { CheckboxBase, CheckboxBaseProps } from \"./CheckboxBase\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\nimport \"./Checkbox.css\";\n\nexport interface CheckboxProps extends CheckboxBaseProps {\n label?: ControlLabelProps[\"label\"];\n LabelProps?: Partial<ControlLabelProps>;\n}\n\nconst classBase = \"saltCheckbox\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(props, ref) {\n const {\n checked: checkedProp,\n className,\n defaultChecked: defaultCheckedProp,\n disabled,\n indeterminate,\n inputProps,\n label,\n LabelProps,\n onChange,\n value,\n ...rest\n } = props;\n\n const groupContext = useContext(CheckboxGroupContext);\n\n const handleChange = createChainedFunction(\n onChange,\n groupContext?.onChange\n );\n\n let checked = checkedProp;\n let defaultChecked = defaultCheckedProp;\n\n if (groupContext) {\n if (typeof checked === \"undefined\" && typeof value === \"string\") {\n checked = groupContext?.checkedValues?.includes(value);\n }\n\n defaultChecked = undefined;\n }\n\n return (\n <div\n {...rest}\n className={clsx(classBase, className, {\n [`${classBase}-disabled`]: disabled,\n })}\n data-testid=\"checkbox\"\n ref={ref}\n >\n <ControlLabel\n {...LabelProps}\n className={`${classBase}-label`}\n disabled={disabled}\n label={label}\n labelPlacement={\"right\"}\n >\n <CheckboxBase\n checked={checked}\n disabled={disabled}\n defaultChecked={defaultChecked}\n indeterminate={indeterminate}\n onChange={handleChange}\n value={value}\n />\n </ControlLabel>\n </div>\n );\n }\n);\n"],"names":["Checkbox"],"mappings":";;;;;;;;;AAcA,MAAM,SAAY,GAAA,cAAA,CAAA;AAEX,MAAM,QAAW,GAAA,UAAA;AAAA,EACtB,SAASA,SAAS,CAAA,KAAA,EAAO,GAAK,EAAA;AAjBhC,IAAA,IAAA,EAAA,CAAA;AAkBI,IAAM,MAAA;AAAA,MACJ,OAAS,EAAA,WAAA;AAAA,MACT,SAAA;AAAA,MACA,cAAgB,EAAA,kBAAA;AAAA,MAChB,QAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,YAAA,GAAe,WAAW,oBAAoB,CAAA,CAAA;AAEpD,IAAA,MAAM,YAAe,GAAA,qBAAA;AAAA,MACnB,QAAA;AAAA,MACA,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,QAAA;AAAA,KAChB,CAAA;AAEA,IAAA,IAAI,OAAU,GAAA,WAAA,CAAA;AACd,IAAA,IAAI,cAAiB,GAAA,kBAAA,CAAA;AAErB,IAAA,IAAI,YAAc,EAAA;AAChB,MAAA,IAAI,OAAO,OAAA,KAAY,WAAe,IAAA,OAAO,UAAU,QAAU,EAAA;AAC/D,QAAU,OAAA,GAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,aAAd,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA6B,QAAS,CAAA,KAAA,CAAA,CAAA;AAAA,OAClD;AAEA,MAAiB,cAAA,GAAA,KAAA,CAAA,CAAA;AAAA,KACnB;AAEA,IAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,SAAA,EAAW,IAAK,CAAA,SAAA,EAAW,SAAW,EAAA;AAAA,QACpC,CAAC,GAAG,SAAuB,CAAA,SAAA,CAAA,GAAA,QAAA;AAAA,OAC5B,CAAA;AAAA,MACD,aAAY,EAAA,UAAA;AAAA,MACZ,GAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA;AAAA,QACE,GAAG,UAAA;AAAA,QACJ,WAAW,CAAG,EAAA,SAAA,CAAA,MAAA,CAAA;AAAA,QACd,QAAA;AAAA,QACA,KAAA;AAAA,QACA,cAAgB,EAAA,OAAA;AAAA,QAEhB,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA;AAAA,UACC,OAAA;AAAA,UACA,QAAA;AAAA,UACA,cAAA;AAAA,UACA,aAAA;AAAA,UACA,QAAU,EAAA,YAAA;AAAA,UACV,KAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = ".saltCheckboxBase {\n background: var(--saltCheckbox-background, none);\n line-height: 0;\n padding-top: 1px;\n padding-bottom: 1px;\n position: relative;\n}\n\n/* Styles applied to input element */\n.saltCheckboxBase-input {\n cursor: inherit;\n height: 10px;\n left: 0;\n margin: 0;\n opacity: 0;\n padding: 0;\n position: absolute;\n top: 0;\n width: 10px;\n z-index: var(--salt-zIndex-default);\n}\n";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=CheckboxBase.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxBase.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,95 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { clsx } from 'clsx';
3
- import { forwardRef, useRef, useState, useCallback } from 'react';
4
- import { makePrefixer, useControlled } from '@salt-ds/core';
5
- import { CheckboxIcon } from './CheckboxIcon.js';
6
- import './CheckboxBase.css.js';
7
-
8
- const withBaseName = makePrefixer("saltCheckboxBase");
9
- const CheckboxBase = forwardRef(
10
- function CheckboxBase2({
11
- checked: checkedProp,
12
- className: classNameProp,
13
- defaultChecked,
14
- disabled,
15
- indeterminate,
16
- inputProps,
17
- name,
18
- onBlur,
19
- onChange,
20
- onFocus,
21
- value,
22
- ...rest
23
- }, ref) {
24
- const inputRef = useRef(null);
25
- const [checked, setChecked] = useControlled({
26
- controlled: checkedProp,
27
- default: Boolean(defaultChecked),
28
- name: "Checkbox",
29
- state: "checked"
30
- });
31
- const [focusVisible, setFocusVisible] = useState(false);
32
- const handleChange = (event) => {
33
- if (event.nativeEvent.defaultPrevented) {
34
- return;
35
- }
36
- const value2 = event.target.checked;
37
- setChecked(value2);
38
- onChange == null ? void 0 : onChange(event, value2);
39
- };
40
- const handleFocus = useCallback(
41
- (event) => {
42
- var _a;
43
- if (!inputRef.current) {
44
- inputRef.current = event.currentTarget;
45
- }
46
- if ((_a = inputRef.current) == null ? void 0 : _a.matches(":focus-visible")) {
47
- setFocusVisible(true);
48
- }
49
- onFocus && onFocus(event);
50
- },
51
- [onFocus]
52
- );
53
- const handleBlur = useCallback(
54
- (event) => {
55
- setFocusVisible(false);
56
- onBlur && onBlur(event);
57
- },
58
- [onBlur]
59
- );
60
- const className = clsx(withBaseName(), classNameProp, {
61
- saltFocusVisible: focusVisible
62
- });
63
- return /* @__PURE__ */ jsxs("span", {
64
- ...rest,
65
- className,
66
- ref,
67
- children: [
68
- /* @__PURE__ */ jsx("input", {
69
- "aria-checked": indeterminate ? "mixed" : checked,
70
- name,
71
- value,
72
- ...inputProps,
73
- checked: checkedProp,
74
- className: withBaseName("input"),
75
- "data-indeterminate": indeterminate,
76
- defaultChecked,
77
- disabled,
78
- onBlur: handleBlur,
79
- onChange: handleChange,
80
- onFocus: handleFocus,
81
- ref: inputRef,
82
- type: "checkbox"
83
- }),
84
- /* @__PURE__ */ jsx(CheckboxIcon, {
85
- checked,
86
- disabled,
87
- indeterminate
88
- })
89
- ]
90
- });
91
- }
92
- );
93
-
94
- export { CheckboxBase };
95
- //# sourceMappingURL=CheckboxBase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxBase.js","sources":["../src/checkbox/CheckboxBase.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n useCallback,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\nimport { CheckboxIcon } from \"./CheckboxIcon\";\n\nimport \"./CheckboxBase.css\";\n\nconst withBaseName = makePrefixer(\"saltCheckboxBase\");\n\nexport interface CheckboxBaseProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n indeterminate?: boolean;\n inputProps?: Partial<InputHTMLAttributes<HTMLInputElement>>;\n name?: string;\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback when checked state is changed\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;\n onFocus?: FocusEventHandler<HTMLInputElement>;\n value?: string;\n}\n\nexport const CheckboxBase = forwardRef<HTMLDivElement, CheckboxBaseProps>(\n function CheckboxBase(\n {\n checked: checkedProp,\n className: classNameProp,\n defaultChecked,\n disabled,\n indeterminate,\n inputProps,\n name,\n onBlur,\n onChange,\n onFocus,\n value,\n ...rest\n },\n ref\n ) {\n // null is needed here so we can modify the ref on line 70\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n const [checked, setChecked] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: \"Checkbox\",\n state: \"checked\",\n });\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const value = event.target.checked;\n setChecked(value);\n onChange?.(event, value);\n };\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n // Fix for https://github.com/facebook/react/issues/7769\n if (!inputRef.current) {\n inputRef.current = event.currentTarget;\n }\n\n // TODO :focus-visible not yet supported on Safari, so we'll need to use the\n // useIsFocusVisible polyfill\n if (inputRef.current?.matches(\":focus-visible\")) {\n setFocusVisible(true);\n }\n\n onFocus && onFocus(event);\n },\n [onFocus]\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n setFocusVisible(false);\n onBlur && onBlur(event);\n },\n [onBlur]\n );\n\n const className = clsx(withBaseName(), classNameProp, {\n saltFocusVisible: focusVisible,\n });\n return (\n <span {...rest} className={className} ref={ref}>\n <input\n aria-checked={indeterminate ? \"mixed\" : checked}\n name={name}\n value={value}\n {...inputProps}\n checked={checkedProp}\n className={withBaseName(\"input\")}\n data-indeterminate={indeterminate}\n defaultChecked={defaultChecked}\n disabled={disabled}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n ref={inputRef}\n type=\"checkbox\"\n />\n <CheckboxIcon\n checked={checked}\n disabled={disabled}\n indeterminate={indeterminate}\n />\n </span>\n );\n }\n);\n"],"names":["CheckboxBase","value"],"mappings":";;;;;;;AAiBA,MAAM,YAAA,GAAe,aAAa,kBAAkB,CAAA,CAAA;AAmB7C,MAAM,YAAe,GAAA,UAAA;AAAA,EAC1B,SAASA,aACP,CAAA;AAAA,IACE,OAAS,EAAA,WAAA;AAAA,IACT,SAAW,EAAA,aAAA;AAAA,IACX,cAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AAEA,IAAM,MAAA,QAAA,GAAW,OAAgC,IAAI,CAAA,CAAA;AAErD,IAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,aAAc,CAAA;AAAA,MAC1C,UAAY,EAAA,WAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,cAAc,CAAA;AAAA,MAC/B,IAAM,EAAA,UAAA;AAAA,MACN,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAEtD,IAAM,MAAA,YAAA,GAAe,CAAC,KAAyC,KAAA;AAE7D,MAAI,IAAA,KAAA,CAAM,YAAY,gBAAkB,EAAA;AACtC,QAAA,OAAA;AAAA,OACF;AAEA,MAAMC,MAAAA,MAAAA,GAAQ,MAAM,MAAO,CAAA,OAAA,CAAA;AAC3B,MAAA,UAAA,CAAWA,MAAK,CAAA,CAAA;AAChB,MAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAW,KAAOA,EAAAA,MAAAA,CAAAA,CAAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,WAAc,GAAA,WAAA;AAAA,MAClB,CAAC,KAAwC,KAAA;AA9E/C,QAAA,IAAA,EAAA,CAAA;AAgFQ,QAAI,IAAA,CAAC,SAAS,OAAS,EAAA;AACrB,UAAA,QAAA,CAAS,UAAU,KAAM,CAAA,aAAA,CAAA;AAAA,SAC3B;AAIA,QAAA,IAAA,CAAI,EAAS,GAAA,QAAA,CAAA,OAAA,KAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,CAAQ,gBAAmB,CAAA,EAAA;AAC/C,UAAA,eAAA,CAAgB,IAAI,CAAA,CAAA;AAAA,SACtB;AAEA,QAAA,OAAA,IAAW,QAAQ,KAAK,CAAA,CAAA;AAAA,OAC1B;AAAA,MACA,CAAC,OAAO,CAAA;AAAA,KACV,CAAA;AAEA,IAAA,MAAM,UAAa,GAAA,WAAA;AAAA,MACjB,CAAC,KAAwC,KAAA;AACvC,QAAA,eAAA,CAAgB,KAAK,CAAA,CAAA;AACrB,QAAA,MAAA,IAAU,OAAO,KAAK,CAAA,CAAA;AAAA,OACxB;AAAA,MACA,CAAC,MAAM,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,SAAY,GAAA,IAAA,CAAK,YAAa,EAAA,EAAG,aAAe,EAAA;AAAA,MACpD,gBAAkB,EAAA,YAAA;AAAA,KACnB,CAAA,CAAA;AACD,IAAA,uBACG,IAAA,CAAA,MAAA,EAAA;AAAA,MAAM,GAAG,IAAA;AAAA,MAAM,SAAA;AAAA,MAAsB,GAAA;AAAA,MACpC,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,OAAA,EAAA;AAAA,UACC,cAAA,EAAc,gBAAgB,OAAU,GAAA,OAAA;AAAA,UACxC,IAAA;AAAA,UACA,KAAA;AAAA,UACC,GAAG,UAAA;AAAA,UACJ,OAAS,EAAA,WAAA;AAAA,UACT,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,UAC/B,oBAAoB,EAAA,aAAA;AAAA,UACpB,cAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAQ,EAAA,UAAA;AAAA,UACR,QAAU,EAAA,YAAA;AAAA,UACV,OAAS,EAAA,WAAA;AAAA,UACT,GAAK,EAAA,QAAA;AAAA,UACL,IAAK,EAAA,UAAA;AAAA,SACP,CAAA;AAAA,wBACC,GAAA,CAAA,YAAA,EAAA;AAAA,UACC,OAAA;AAAA,UACA,QAAA;AAAA,UACA,aAAA;AAAA,SACF,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = "/* Styles applied to root component */\n.saltCheckboxGroup {\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 to root component if `row={true}` */\n.saltCheckboxGroup-horizontal {\n --saltControlLabel-right-marginRight: calc(var(--salt-size-unit) * 3);\n\n display: block;\n}\n";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=CheckboxGroup.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,53 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { clsx } from 'clsx';
3
- import { forwardRef } from 'react';
4
- import { useControlled } from '@salt-ds/core';
5
- import { FormGroup } from '../form-group/FormGroup.js';
6
- import { CheckboxGroupContext } from './internal/CheckboxGroupContext.js';
7
- import './CheckboxGroup.css.js';
8
-
9
- const classBase = "saltCheckboxGroup";
10
- const CheckboxGroup = forwardRef(function CheckboxGroup2({
11
- checkedValues: checkedValuesProp,
12
- defaultCheckedValues = [],
13
- children,
14
- className,
15
- FormControlProps,
16
- row,
17
- name,
18
- onChange,
19
- ...other
20
- }, ref) {
21
- const [checkedValues, setCheckedValues] = useControlled({
22
- controlled: checkedValuesProp,
23
- default: defaultCheckedValues,
24
- name: "CheckboxGroup",
25
- state: "checkedValues"
26
- });
27
- const handleChange = (event) => {
28
- setCheckedValues((oldValues = []) => {
29
- const name2 = event.target.value;
30
- const isSelected = oldValues.includes(name2);
31
- return isSelected ? oldValues.filter((value) => value !== name2) : oldValues.concat(name2);
32
- });
33
- onChange == null ? void 0 : onChange(event);
34
- };
35
- return /* @__PURE__ */ jsx(CheckboxGroupContext.Provider, {
36
- value: { name, onChange: handleChange, checkedValues },
37
- children: /* @__PURE__ */ jsx("fieldset", {
38
- className: clsx(classBase, {
39
- [`${classBase}-horizontal`]: row
40
- }),
41
- ref,
42
- children: /* @__PURE__ */ jsx(FormGroup, {
43
- className: `${classBase}-formGroup`,
44
- row,
45
- ...other,
46
- children
47
- })
48
- })
49
- });
50
- });
51
-
52
- export { CheckboxGroup };
53
- //# sourceMappingURL=CheckboxGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxGroup.js","sources":["../src/checkbox/CheckboxGroup.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n ChangeEvent,\n ChangeEventHandler,\n forwardRef,\n HTMLAttributes,\n ReactNode,\n} from \"react\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { FormGroup, FormGroupProps } from \"../form-group\";\nimport { CheckboxGroupContext } from \"./internal/CheckboxGroupContext\";\n\nimport \"./CheckboxGroup.css\";\n\nexport interface CheckboxGroupProps extends FormGroupProps {\n /**\n * The current checked options.\n */\n checkedValues?: string[];\n /**\n * The default selected options for un-controlled component.\n */\n defaultCheckedValues?: string[];\n /**\n * Props spread onto the FormControl component that wraps the checkboxes.\n */\n FormControlProps?: Partial<HTMLAttributes<HTMLFieldSetElement>>;\n /**\n * Props spread onto the legend.\n */\n LegendProps?: unknown;\n /**\n * The label for the group legend\n */\n legend?: ReactNode;\n /**\n * The name used to reference the value of the control.\n */\n name?: string;\n /**\n * Callback fired when a checkbox is clicked.\n * `event.target.value` returns the value of the checkbox that was clicked.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n}\n\nconst classBase = \"saltCheckboxGroup\";\n\nexport const CheckboxGroup = forwardRef<\n HTMLFieldSetElement,\n CheckboxGroupProps\n>(function CheckboxGroup(\n {\n checkedValues: checkedValuesProp,\n defaultCheckedValues = [],\n children,\n className,\n FormControlProps,\n row,\n name,\n onChange,\n ...other\n },\n ref\n) {\n const [checkedValues, setCheckedValues] = useControlled({\n controlled: checkedValuesProp,\n default: defaultCheckedValues,\n name: \"CheckboxGroup\",\n state: \"checkedValues\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setCheckedValues((oldValues: string[] = []) => {\n const name = event.target.value;\n const isSelected = oldValues.includes(name);\n\n return isSelected\n ? oldValues.filter((value) => value !== name)\n : oldValues.concat(name);\n });\n\n onChange?.(event);\n };\n\n return (\n <CheckboxGroupContext.Provider\n value={{ name, onChange: handleChange, checkedValues }}\n >\n <fieldset\n className={clsx(classBase, {\n [`${classBase}-horizontal`]: row,\n })}\n ref={ref}\n >\n <FormGroup className={`${classBase}-formGroup`} row={row} {...other}>\n {children}\n </FormGroup>\n </fieldset>\n </CheckboxGroupContext.Provider>\n );\n});\n"],"names":["CheckboxGroup","name"],"mappings":";;;;;;;;AA8CA,MAAM,SAAY,GAAA,mBAAA,CAAA;AAEL,MAAA,aAAA,GAAgB,UAG3B,CAAA,SAASA,cACT,CAAA;AAAA,EACE,aAAe,EAAA,iBAAA;AAAA,EACf,uBAAuB,EAAC;AAAA,EACxB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACG,GAAA,KAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,aAAc,CAAA;AAAA,IACtD,UAAY,EAAA,iBAAA;AAAA,IACZ,OAAS,EAAA,oBAAA;AAAA,IACT,IAAM,EAAA,eAAA;AAAA,IACN,KAAO,EAAA,eAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAM,MAAA,YAAA,GAAe,CAAC,KAAyC,KAAA;AAC7D,IAAiB,gBAAA,CAAA,CAAC,SAAsB,GAAA,EAAO,KAAA;AAC7C,MAAMC,MAAAA,KAAAA,GAAO,MAAM,MAAO,CAAA,KAAA,CAAA;AAC1B,MAAM,MAAA,UAAA,GAAa,SAAU,CAAA,QAAA,CAASA,KAAI,CAAA,CAAA;AAE1C,MAAO,OAAA,UAAA,GACH,SAAU,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,UAAUA,KAAI,CAAA,GAC1C,SAAU,CAAA,MAAA,CAAOA,KAAI,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAED,IAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACb,CAAA;AAEA,EACE,uBAAA,GAAA,CAAC,qBAAqB,QAArB,EAAA;AAAA,IACC,KAAO,EAAA,EAAE,IAAM,EAAA,QAAA,EAAU,cAAc,aAAc,EAAA;AAAA,IAErD,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA;AAAA,MACC,SAAA,EAAW,KAAK,SAAW,EAAA;AAAA,QACzB,CAAC,GAAG,SAAyB,CAAA,WAAA,CAAA,GAAA,GAAA;AAAA,OAC9B,CAAA;AAAA,MACD,GAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA;AAAA,QAAU,WAAW,CAAG,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,QAAuB,GAAA;AAAA,QAAW,GAAG,KAAA;AAAA,QAC3D,QAAA;AAAA,OACH,CAAA;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = "/* Styles applied to root component */\n.salt-density-high {\n --checkbox-size: 12px;\n --checkbox-density-bar-y: 5px;\n --checkbox-density-bar-height: 3px;\n}\n\n.salt-density-medium {\n --checkbox-size: 14px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-low {\n --checkbox-size: 16px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.salt-density-touch {\n --checkbox-size: 18px;\n --checkbox-density-bar-y: 6px;\n --checkbox-density-bar-height: 2px;\n}\n\n.saltCheckboxIcon {\n --checkbox-borderWidth: var(--salt-size-border);\n --checkbox-box-offset: calc(var(--checkbox-borderWidth) / 2);\n --checkbox-height: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-tick-color, var(--salt-selectable-primary-foreground-selected));\n --checkbox-viewbox: 14px; /* do not change, matches value in svg viewBox */\n --checkbox-width: calc(var(--checkbox-viewbox) - var(--checkbox-borderWidth));\n\n fill: var(--saltCheckbox-icon-fill, var(--salt-selectable-background));\n height: var(--saltCheckbox-icon-size, var(--checkbox-size));\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth, var(--salt-size-border));\n width: var(--saltCheckbox-icon-size, var(--checkbox-size));\n}\n\n/* Styles applied to root component on hover */\n.saltCheckbox:hover .saltCheckboxIcon,\n.saltCheckboxIcon:hover {\n stroke: var(--saltCheckbox-icon-stroke, var(--salt-selectable-borderColor));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-hover, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` */\n.saltCheckboxIcon-disabled {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `disabled={true}` on hover */\n.saltCheckboxIcon.saltCheckboxIcon-disabled:hover,\n.saltCheckbox.saltCheckbox-disabled:hover .saltCheckboxIcon {\n stroke: var(--saltCheckbox-icon-stroke-disabled, var(--salt-selectable-borderColor-disabled));\n stroke-width: var(--saltCheckbox-icon-strokeWidth-disabled, var(--salt-size-border));\n}\n\n/* Styles applied if `checked={true}` */\n.saltCheckboxIcon-checked {\n --checkbox-borderWidth: var(--saltCheckbox-icon-borderWidth-checked, 0px);\n\n fill: var(--saltCheckbox-icon-fill-checked, var(--salt-selectable-borderColor-selected));\n}\n\n/* Styles applied if `checked={true}` and `disabled={true}` */\n.saltCheckboxIcon-checked.saltCheckboxIcon-disabled {\n fill: var(--saltCheckbox-icon-fill-disabled, var(--salt-selectable-borderColor-selectedDisabled));\n}\n\n/* Styles applied to box */\n.saltCheckboxIcon-box {\n height: var(--checkbox-height);\n stroke-width: var(--checkbox-borderWidth);\n width: var(--checkbox-width);\n x: var(--checkbox-box-offset);\n y: var(--checkbox-box-offset);\n}\n\n/* Styles applied to icon if `indeterminate={true}` */\n.saltCheckboxIcon-indeterminate {\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-indeterminate-bar-color, var(--salt-selectable-foreground-selected));\n}\n\n/* Styles applied if `indeterminate={true}` and `disabled={true}` */\n.saltCheckboxIcon-disabled.saltCheckboxIcon-indeterminate {\n --checkbox-icon-tick-fill: var(--saltCheckbox-icon-indeterminate-bar-color-disabled, var(--salt-selectable-foreground-selectedDisabled));\n}\n\n/* Styles applied to tick */\n.saltCheckboxIcon-tick {\n fill: var(--saltCheckbox-icon-tick-fill, var(--checkbox-icon-tick-fill));\n stroke-width: 0;\n}\n\n/* Styles applied to tick if `indeterminate={true}` */\n.saltCheckboxIcon-indeterminate .saltCheckboxIcon-tick {\n height: var(--saltCheckbox-icon-indeterminate-bar-height, var(--checkbox-density-bar-height));\n y: var(--saltCheckbox-icon-indeterminate-bar-y, var(--checkbox-density-bar-y));\n}\n";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=CheckboxIcon.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheckboxIcon.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}