@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.
- package/dist-cjs/packages/lab/src/app-header/AppHeader.css.js +1 -1
- package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +1 -3
- package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
- package/dist-cjs/packages/lab/src/carousel/Carousel.js +2 -5
- package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
- package/dist-cjs/packages/lab/src/color-chooser/HexInput.css.js +1 -1
- package/dist-cjs/packages/lab/src/dialog/Dialog.css.js +1 -1
- package/dist-cjs/packages/lab/src/dialog/DialogContent.css.js +1 -1
- package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js +17 -7
- package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
- package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
- package/dist-cjs/packages/lab/src/index.js +0 -22
- package/dist-cjs/packages/lab/src/index.js.map +1 -1
- package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.css.js +1 -1
- package/dist-cjs/packages/lab/src/list/ListItem.js +1 -5
- package/dist-cjs/packages/lab/src/list/ListItem.js.map +1 -1
- package/dist-cjs/packages/lab/src/pill/Pill.css.js +1 -1
- package/dist-cjs/packages/lab/src/pill/internal/PillCheckbox.js +1 -5
- package/dist-cjs/packages/lab/src/pill/internal/PillCheckbox.js.map +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tab.css.js +1 -1
- package/dist-cjs/packages/lab/src/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-cjs/packages/lab/src/tabs/Tabstrip.css.js +1 -1
- package/dist-cjs/packages/lab/src/toolbar/Toolbar.css.js +1 -1
- package/dist-es/packages/lab/src/app-header/AppHeader.css.js +1 -1
- package/dist-es/packages/lab/src/button-bar/OrderedButton.js +1 -3
- package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
- package/dist-es/packages/lab/src/carousel/Carousel.js +1 -4
- package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
- package/dist-es/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
- package/dist-es/packages/lab/src/color-chooser/HexInput.css.js +1 -1
- package/dist-es/packages/lab/src/dialog/Dialog.css.js +1 -1
- package/dist-es/packages/lab/src/dialog/DialogContent.css.js +1 -1
- package/dist-es/packages/lab/src/dropdown/useDropdownBase.js +17 -7
- package/dist-es/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
- package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
- package/dist-es/packages/lab/src/index.js +0 -11
- package/dist-es/packages/lab/src/index.js.map +1 -1
- package/dist-es/packages/lab/src/layer-layout/LayerLayout.css.js +1 -1
- package/dist-es/packages/lab/src/list/ListItem.js +1 -5
- package/dist-es/packages/lab/src/list/ListItem.js.map +1 -1
- package/dist-es/packages/lab/src/pill/Pill.css.js +1 -1
- package/dist-es/packages/lab/src/pill/internal/PillCheckbox.js +1 -5
- package/dist-es/packages/lab/src/pill/internal/PillCheckbox.js.map +1 -1
- package/dist-es/packages/lab/src/tabs/Tab.css.js +1 -1
- package/dist-es/packages/lab/src/tabs/TabActivationIndicator.css.js +1 -1
- package/dist-es/packages/lab/src/tabs/Tabstrip.css.js +1 -1
- package/dist-es/packages/lab/src/toolbar/Toolbar.css.js +1 -1
- package/dist-types/index.d.ts +0 -2
- package/dist-types/utils/index.d.ts +0 -1
- package/package.json +3 -3
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.css.js +0 -9
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.js +0 -71
- package/dist-cjs/packages/lab/src/checkbox/Checkbox.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.css.js +0 -9
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js +0 -99
- package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.css.js +0 -9
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js +0 -57
- package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js +0 -9
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js +0 -33
- package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js +0 -33
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js +0 -37
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js +0 -26
- package/dist-cjs/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
- package/dist-cjs/packages/lab/src/checkbox/internal/CheckboxGroupContext.js +0 -13
- package/dist-cjs/packages/lab/src/checkbox/internal/CheckboxGroupContext.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js +0 -9
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +0 -81
- package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js +0 -9
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +0 -57
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js +0 -9
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.css.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +0 -43
- package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js +0 -13
- package/dist-cjs/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +0 -1
- package/dist-cjs/packages/lab/src/radio-button/internal/useRadioGroup.js +0 -13
- package/dist-cjs/packages/lab/src/radio-button/internal/useRadioGroup.js.map +0 -1
- package/dist-cjs/packages/lab/src/utils/capitalize.js +0 -10
- package/dist-cjs/packages/lab/src/utils/capitalize.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/Checkbox.css.js +0 -7
- package/dist-es/packages/lab/src/checkbox/Checkbox.css.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/Checkbox.js +0 -67
- package/dist-es/packages/lab/src/checkbox/Checkbox.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.css.js +0 -7
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.css.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.js +0 -95
- package/dist-es/packages/lab/src/checkbox/CheckboxBase.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.css.js +0 -7
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.css.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js +0 -53
- package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js +0 -7
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.css.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js +0 -29
- package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js +0 -29
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxCheckedIcon.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js +0 -33
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js +0 -22
- package/dist-es/packages/lab/src/checkbox/assets/CheckboxUncheckedIcon.js.map +0 -1
- package/dist-es/packages/lab/src/checkbox/internal/CheckboxGroupContext.js +0 -9
- package/dist-es/packages/lab/src/checkbox/internal/CheckboxGroupContext.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButton.css.js +0 -7
- package/dist-es/packages/lab/src/radio-button/RadioButton.css.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButton.js +0 -77
- package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js +0 -7
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.css.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +0 -53
- package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js +0 -7
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.css.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +0 -39
- package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js +0 -9
- package/dist-es/packages/lab/src/radio-button/internal/RadioGroupContext.js.map +0 -1
- package/dist-es/packages/lab/src/radio-button/internal/useRadioGroup.js +0 -9
- package/dist-es/packages/lab/src/radio-button/internal/useRadioGroup.js.map +0 -1
- package/dist-es/packages/lab/src/utils/capitalize.js +0 -6
- package/dist-es/packages/lab/src/utils/capitalize.js.map +0 -1
- package/dist-types/checkbox/Checkbox.d.ts +0 -9
- package/dist-types/checkbox/CheckboxBase.d.ts +0 -18
- package/dist-types/checkbox/CheckboxGroup.d.ts +0 -35
- package/dist-types/checkbox/CheckboxIcon.d.ts +0 -9
- package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +0 -4
- package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +0 -4
- package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +0 -4
- package/dist-types/checkbox/assets/index.d.ts +0 -3
- package/dist-types/checkbox/index.d.ts +0 -5
- package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +0 -9
- package/dist-types/radio-button/RadioButton.d.ts +0 -45
- package/dist-types/radio-button/RadioButtonGroup.d.ts +0 -29
- package/dist-types/radio-button/RadioButtonIcon.d.ts +0 -11
- package/dist-types/radio-button/index.d.ts +0 -3
- package/dist-types/radio-button/internal/RadioGroupContext.d.ts +0 -7
- package/dist-types/radio-button/internal/useRadioGroup.d.ts +0 -1
- 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":";;;;;;;"}
|