sellmate-design-system-react 0.1.3 → 0.1.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/components/SActionModal/SActionModal.cjs +129 -1
- package/dist/components/SActionModal/SActionModal.cjs.map +1 -1
- package/dist/components/SActionModal/SActionModal.js +129 -1
- package/dist/components/SActionModal/SActionModal.js.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs +157 -4
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js +158 -5
- package/dist/components/SBarcodeInput/SBarcodeInput.js.map +1 -1
- package/dist/components/SButton/SButton.cjs +129 -1
- package/dist/components/SButton/SButton.cjs.map +1 -1
- package/dist/components/SButton/SButton.js +129 -1
- package/dist/components/SButton/SButton.js.map +1 -1
- package/dist/components/SCalendar/SCalendar.cjs +131 -3
- package/dist/components/SCalendar/SCalendar.cjs.map +1 -1
- package/dist/components/SCalendar/SCalendar.d.ts +3 -1
- package/dist/components/SCalendar/SCalendar.js +131 -3
- package/dist/components/SCalendar/SCalendar.js.map +1 -1
- package/dist/components/SCallout/SCallout.cjs +129 -1
- package/dist/components/SCallout/SCallout.cjs.map +1 -1
- package/dist/components/SCallout/SCallout.js +129 -1
- package/dist/components/SCallout/SCallout.js.map +1 -1
- package/dist/components/SCheckbox/SCheckbox.cjs +130 -2
- package/dist/components/SCheckbox/SCheckbox.cjs.map +1 -1
- package/dist/components/SCheckbox/SCheckbox.js +130 -2
- package/dist/components/SCheckbox/SCheckbox.js.map +1 -1
- package/dist/components/SChip/SChip.cjs +130 -3
- package/dist/components/SChip/SChip.cjs.map +1 -1
- package/dist/components/SChip/SChip.js +130 -3
- package/dist/components/SChip/SChip.js.map +1 -1
- package/dist/components/SChipInput/SChipInput.cjs +154 -4
- package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
- package/dist/components/SChipInput/SChipInput.js +154 -4
- package/dist/components/SChipInput/SChipInput.js.map +1 -1
- package/dist/components/SConfirmModal/SConfirmModal.cjs +129 -1
- package/dist/components/SConfirmModal/SConfirmModal.cjs.map +1 -1
- package/dist/components/SConfirmModal/SConfirmModal.js +129 -1
- package/dist/components/SConfirmModal/SConfirmModal.js.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.cjs +159 -6
- package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.js +159 -6
- package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs +157 -4
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js +157 -4
- package/dist/components/SDateRangePicker/SDateRangePicker.js.map +1 -1
- package/dist/components/SDropdownButton/SDropdownButton.cjs +129 -1
- package/dist/components/SDropdownButton/SDropdownButton.cjs.map +1 -1
- package/dist/components/SDropdownButton/SDropdownButton.js +129 -1
- package/dist/components/SDropdownButton/SDropdownButton.js.map +1 -1
- package/dist/components/SField/SField.cjs +130 -2
- package/dist/components/SField/SField.cjs.map +1 -1
- package/dist/components/SField/SField.js +130 -2
- package/dist/components/SField/SField.js.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.cjs +157 -4
- package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.js +157 -4
- package/dist/components/SFilePicker/SFilePicker.js.map +1 -1
- package/dist/components/SForm/SForm.cjs +91 -0
- package/dist/components/SForm/SForm.cjs.map +1 -0
- package/dist/components/SForm/SForm.d.ts +33 -0
- package/dist/components/SForm/SForm.js +89 -0
- package/dist/components/SForm/SForm.js.map +1 -0
- package/dist/components/SForm/index.d.ts +1 -0
- package/dist/components/SGhostButton/SGhostButton.cjs +129 -1
- package/dist/components/SGhostButton/SGhostButton.cjs.map +1 -1
- package/dist/components/SGhostButton/SGhostButton.js +129 -1
- package/dist/components/SGhostButton/SGhostButton.js.map +1 -1
- package/dist/components/SGuide/SGuide.cjs +129 -1
- package/dist/components/SGuide/SGuide.cjs.map +1 -1
- package/dist/components/SGuide/SGuide.js +129 -1
- package/dist/components/SGuide/SGuide.js.map +1 -1
- package/dist/components/SIcon/SIcon.cjs +129 -1
- package/dist/components/SIcon/SIcon.cjs.map +1 -1
- package/dist/components/SIcon/SIcon.d.ts +3 -2
- package/dist/components/SIcon/SIcon.js +129 -1
- package/dist/components/SIcon/SIcon.js.map +1 -1
- package/dist/components/SInput/SInput.cjs +157 -4
- package/dist/components/SInput/SInput.cjs.map +1 -1
- package/dist/components/SInput/SInput.js +158 -5
- package/dist/components/SInput/SInput.js.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs +214 -7
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.js +214 -7
- package/dist/components/SKeyValueTable/SKeyValueTable.js.map +1 -1
- package/dist/components/SLoadingModal/SLoadingModal.cjs +129 -1
- package/dist/components/SLoadingModal/SLoadingModal.cjs.map +1 -1
- package/dist/components/SLoadingModal/SLoadingModal.js +129 -1
- package/dist/components/SLoadingModal/SLoadingModal.js.map +1 -1
- package/dist/components/SModalContainer/SModalContainer.cjs +129 -1
- package/dist/components/SModalContainer/SModalContainer.cjs.map +1 -1
- package/dist/components/SModalContainer/SModalContainer.js +129 -1
- package/dist/components/SModalContainer/SModalContainer.js.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.cjs +157 -4
- package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.js +157 -4
- package/dist/components/SNumberInput/SNumberInput.js.map +1 -1
- package/dist/components/SPagination/SPagination.cjs +129 -1
- package/dist/components/SPagination/SPagination.cjs.map +1 -1
- package/dist/components/SPagination/SPagination.js +129 -1
- package/dist/components/SPagination/SPagination.js.map +1 -1
- package/dist/components/SPopover/SPopover.cjs +129 -1
- package/dist/components/SPopover/SPopover.cjs.map +1 -1
- package/dist/components/SPopover/SPopover.d.ts +3 -1
- package/dist/components/SPopover/SPopover.js +129 -1
- package/dist/components/SPopover/SPopover.js.map +1 -1
- package/dist/components/SPopup/SPopup.cjs +129 -1
- package/dist/components/SPopup/SPopup.cjs.map +1 -1
- package/dist/components/SPopup/SPopup.js +129 -1
- package/dist/components/SPopup/SPopup.js.map +1 -1
- package/dist/components/SSelect/SSelect.cjs +157 -4
- package/dist/components/SSelect/SSelect.cjs.map +1 -1
- package/dist/components/SSelect/SSelect.js +158 -5
- package/dist/components/SSelect/SSelect.js.map +1 -1
- package/dist/components/STable/STable.cjs +161 -6
- package/dist/components/STable/STable.cjs.map +1 -1
- package/dist/components/STable/STable.d.ts +3 -1
- package/dist/components/STable/STable.js +161 -6
- package/dist/components/STable/STable.js.map +1 -1
- package/dist/components/STabs/STabs.cjs +129 -1
- package/dist/components/STabs/STabs.cjs.map +1 -1
- package/dist/components/STabs/STabs.js +129 -1
- package/dist/components/STabs/STabs.js.map +1 -1
- package/dist/components/STag/STag.cjs +129 -1
- package/dist/components/STag/STag.cjs.map +1 -1
- package/dist/components/STag/STag.js +129 -1
- package/dist/components/STag/STag.js.map +1 -1
- package/dist/components/STextLink/STextLink.cjs +129 -1
- package/dist/components/STextLink/STextLink.cjs.map +1 -1
- package/dist/components/STextLink/STextLink.d.ts +3 -2
- package/dist/components/STextLink/STextLink.js +129 -1
- package/dist/components/STextLink/STextLink.js.map +1 -1
- package/dist/components/STextarea/STextarea.cjs +157 -4
- package/dist/components/STextarea/STextarea.cjs.map +1 -1
- package/dist/components/STextarea/STextarea.js +158 -5
- package/dist/components/STextarea/STextarea.js.map +1 -1
- package/dist/components/SToast/SToast.cjs +129 -1
- package/dist/components/SToast/SToast.cjs.map +1 -1
- package/dist/components/SToast/SToast.js +129 -1
- package/dist/components/SToast/SToast.js.map +1 -1
- package/dist/components/SToast/SToastContainer.cjs +129 -1
- package/dist/components/SToast/SToastContainer.cjs.map +1 -1
- package/dist/components/SToast/SToastContainer.js +129 -1
- package/dist/components/SToast/SToastContainer.js.map +1 -1
- package/dist/components/STooltip/STooltip.cjs +130 -2
- package/dist/components/STooltip/STooltip.cjs.map +1 -1
- package/dist/components/STooltip/STooltip.d.ts +3 -1
- package/dist/components/STooltip/STooltip.js +130 -2
- package/dist/components/STooltip/STooltip.js.map +1 -1
- package/dist/index.cjs +311 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +308 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/color.cjs +135 -0
- package/dist/lib/color.cjs.map +1 -0
- package/dist/lib/color.d.ts +28 -0
- package/dist/lib/color.js +131 -0
- package/dist/lib/color.js.map +1 -0
- package/dist/lib/form.cjs +23 -0
- package/dist/lib/form.cjs.map +1 -1
- package/dist/lib/form.d.ts +25 -0
- package/dist/lib/form.js +21 -1
- package/dist/lib/form.js.map +1 -1
- package/dist/styles.css +35 -3
- package/package.json +1 -1
|
@@ -11,6 +11,134 @@ import * as RTooltip from '@radix-ui/react-tooltip';
|
|
|
11
11
|
function cn(...inputs) {
|
|
12
12
|
return twMerge(clsx(inputs));
|
|
13
13
|
}
|
|
14
|
+
|
|
15
|
+
// src/lib/color.ts
|
|
16
|
+
var COLOR_KEYS = [
|
|
17
|
+
"white",
|
|
18
|
+
"black",
|
|
19
|
+
"grey_10",
|
|
20
|
+
"grey_20",
|
|
21
|
+
"grey_25",
|
|
22
|
+
"grey_30",
|
|
23
|
+
"grey_35",
|
|
24
|
+
"grey_45",
|
|
25
|
+
"grey_50",
|
|
26
|
+
"grey_55",
|
|
27
|
+
"grey_60",
|
|
28
|
+
"grey_65",
|
|
29
|
+
"grey_70",
|
|
30
|
+
"grey_80",
|
|
31
|
+
"grey_85",
|
|
32
|
+
"grey_90",
|
|
33
|
+
"grey_95",
|
|
34
|
+
"grey_05",
|
|
35
|
+
"red_15",
|
|
36
|
+
"red_20",
|
|
37
|
+
"red_30",
|
|
38
|
+
"red_45",
|
|
39
|
+
"red_60",
|
|
40
|
+
"red_70",
|
|
41
|
+
"red_75",
|
|
42
|
+
"red_80",
|
|
43
|
+
"red_85",
|
|
44
|
+
"red_90",
|
|
45
|
+
"red_95",
|
|
46
|
+
"red_99",
|
|
47
|
+
"orange_10",
|
|
48
|
+
"orange_20",
|
|
49
|
+
"orange_35",
|
|
50
|
+
"orange_45",
|
|
51
|
+
"orange_55",
|
|
52
|
+
"orange_60",
|
|
53
|
+
"orange_65",
|
|
54
|
+
"orange_75",
|
|
55
|
+
"orange_85",
|
|
56
|
+
"orange_90",
|
|
57
|
+
"orange_95",
|
|
58
|
+
"orange_99",
|
|
59
|
+
"yellow_10",
|
|
60
|
+
"yellow_20",
|
|
61
|
+
"yellow_25",
|
|
62
|
+
"yellow_30",
|
|
63
|
+
"yellow_40",
|
|
64
|
+
"yellow_45",
|
|
65
|
+
"yellow_50",
|
|
66
|
+
"yellow_60",
|
|
67
|
+
"yellow_70",
|
|
68
|
+
"yellow_80",
|
|
69
|
+
"yellow_90",
|
|
70
|
+
"yellow_95",
|
|
71
|
+
"olive_10",
|
|
72
|
+
"olive_15",
|
|
73
|
+
"olive_20",
|
|
74
|
+
"olive_30",
|
|
75
|
+
"olive_45",
|
|
76
|
+
"olive_55",
|
|
77
|
+
"olive_65",
|
|
78
|
+
"olive_70",
|
|
79
|
+
"olive_80",
|
|
80
|
+
"olive_90",
|
|
81
|
+
"olive_95",
|
|
82
|
+
"olive_05",
|
|
83
|
+
"green_15",
|
|
84
|
+
"green_25",
|
|
85
|
+
"green_45",
|
|
86
|
+
"green_55",
|
|
87
|
+
"green_65",
|
|
88
|
+
"green_70",
|
|
89
|
+
"green_75",
|
|
90
|
+
"green_80",
|
|
91
|
+
"green_85",
|
|
92
|
+
"green_90",
|
|
93
|
+
"green_95",
|
|
94
|
+
"green_99",
|
|
95
|
+
"steelblue_10",
|
|
96
|
+
"steelblue_25",
|
|
97
|
+
"steelblue_45",
|
|
98
|
+
"steelblue_60",
|
|
99
|
+
"steelblue_65",
|
|
100
|
+
"steelblue_70",
|
|
101
|
+
"steelblue_75",
|
|
102
|
+
"steelblue_80",
|
|
103
|
+
"steelblue_85",
|
|
104
|
+
"steelblue_90",
|
|
105
|
+
"steelblue_95",
|
|
106
|
+
"steelblue_99",
|
|
107
|
+
"oceanblue_15",
|
|
108
|
+
"oceanblue_25",
|
|
109
|
+
"oceanblue_50",
|
|
110
|
+
"oceanblue_60",
|
|
111
|
+
"oceanblue_65",
|
|
112
|
+
"oceanblue_70",
|
|
113
|
+
"oceanblue_75",
|
|
114
|
+
"oceanblue_80",
|
|
115
|
+
"oceanblue_85",
|
|
116
|
+
"oceanblue_90",
|
|
117
|
+
"oceanblue_95",
|
|
118
|
+
"oceanblue_99",
|
|
119
|
+
"brilliantblue_10",
|
|
120
|
+
"brilliantblue_20",
|
|
121
|
+
"brilliantblue_25",
|
|
122
|
+
"brilliantblue_40",
|
|
123
|
+
"brilliantblue_50",
|
|
124
|
+
"brilliantblue_60",
|
|
125
|
+
"brilliantblue_70",
|
|
126
|
+
"brilliantblue_75",
|
|
127
|
+
"brilliantblue_80",
|
|
128
|
+
"brilliantblue_85",
|
|
129
|
+
"brilliantblue_90",
|
|
130
|
+
"brilliantblue_95",
|
|
131
|
+
"brilliantblue_99",
|
|
132
|
+
"brilliantblue_05"
|
|
133
|
+
];
|
|
134
|
+
var KEY_SET = new Set(COLOR_KEYS);
|
|
135
|
+
function isColorKey(input) {
|
|
136
|
+
return KEY_SET.has(input);
|
|
137
|
+
}
|
|
138
|
+
function resolveColor(input, fallback) {
|
|
139
|
+
if (input === null || input === void 0 || input === "") return fallback;
|
|
140
|
+
return isColorKey(input) ? `var(--color-${input.replace(/_/g, "-")})` : input;
|
|
141
|
+
}
|
|
14
142
|
var Icon_add = (p) => {
|
|
15
143
|
const { size = 24, ...rest } = p;
|
|
16
144
|
return /* @__PURE__ */ jsx(
|
|
@@ -2710,7 +2838,7 @@ var SIcon = forwardRef(function SIcon2({ name, size = 24, color, rotate, label,
|
|
|
2710
2838
|
{
|
|
2711
2839
|
ref,
|
|
2712
2840
|
className: cn("inline-flex items-center justify-center", rotateClass, className),
|
|
2713
|
-
style: { color, ...style },
|
|
2841
|
+
style: { color: resolveColor(color), ...style },
|
|
2714
2842
|
role: label ? "img" : void 0,
|
|
2715
2843
|
"aria-label": label,
|
|
2716
2844
|
"aria-hidden": label ? void 0 : true,
|
|
@@ -2739,7 +2867,7 @@ var HIDE_DELAY_MS = 100;
|
|
|
2739
2867
|
function useBody(content, message = []) {
|
|
2740
2868
|
if (content != null) return content;
|
|
2741
2869
|
if (message.length === 0) return null;
|
|
2742
|
-
return /* @__PURE__ */ jsx(
|
|
2870
|
+
return /* @__PURE__ */ jsx(Fragment, { children: message.map((line, i) => /* @__PURE__ */ jsx("div", { children: line }, i)) });
|
|
2743
2871
|
}
|
|
2744
2872
|
var STooltip = forwardRef(function STooltip2({
|
|
2745
2873
|
content,
|
|
@@ -3023,8 +3151,6 @@ var SButton = forwardRef(function SButton2({
|
|
|
3023
3151
|
}
|
|
3024
3152
|
);
|
|
3025
3153
|
});
|
|
3026
|
-
|
|
3027
|
-
// src/lib/form.ts
|
|
3028
3154
|
function runRules(value, rules) {
|
|
3029
3155
|
if (!rules || rules.length === 0) return "";
|
|
3030
3156
|
for (const rule of rules) {
|
|
@@ -3033,6 +3159,24 @@ function runRules(value, rules) {
|
|
|
3033
3159
|
}
|
|
3034
3160
|
return "";
|
|
3035
3161
|
}
|
|
3162
|
+
var FormContext = createContext(null);
|
|
3163
|
+
function useFormContext() {
|
|
3164
|
+
return useContext(FormContext);
|
|
3165
|
+
}
|
|
3166
|
+
function useFormField(field) {
|
|
3167
|
+
const ctx = useFormContext();
|
|
3168
|
+
const cbRef = useRef(field);
|
|
3169
|
+
cbRef.current = field;
|
|
3170
|
+
const name = field.name ?? "";
|
|
3171
|
+
useEffect(() => {
|
|
3172
|
+
if (!ctx) return;
|
|
3173
|
+
return ctx.register({
|
|
3174
|
+
name,
|
|
3175
|
+
validate: () => cbRef.current.validate(),
|
|
3176
|
+
resetValidation: () => cbRef.current.resetValidation()
|
|
3177
|
+
});
|
|
3178
|
+
}, [ctx, name]);
|
|
3179
|
+
}
|
|
3036
3180
|
var FIELD_SIZE = {
|
|
3037
3181
|
sm: { height: 28, radius: 4, fieldGap: 12, labelGap: 6, fontSize: 12, lineHeight: 20, icon: 12 },
|
|
3038
3182
|
md: { height: 36, radius: 6, fieldGap: 16, labelGap: 8, fontSize: 14, lineHeight: 24, icon: 12 }
|
|
@@ -3217,6 +3361,15 @@ var SInput = forwardRef(function SInput2({
|
|
|
3217
3361
|
const isPassword = type === "password";
|
|
3218
3362
|
const inputType = isPassword ? visible ? "text" : "password" : type;
|
|
3219
3363
|
const hasValue = value !== void 0 && value !== null && String(value) !== "";
|
|
3364
|
+
useFormField({
|
|
3365
|
+
name: rest.name,
|
|
3366
|
+
validate: () => {
|
|
3367
|
+
const msg = runRules(value, rules);
|
|
3368
|
+
setRuleError(msg);
|
|
3369
|
+
return msg === "";
|
|
3370
|
+
},
|
|
3371
|
+
resetValidation: () => setRuleError("")
|
|
3372
|
+
});
|
|
3220
3373
|
const resolvedError = error || ruleError !== "";
|
|
3221
3374
|
const resolvedErrorMessage = ruleError !== "" ? ruleError : errorMessage;
|
|
3222
3375
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
@@ -3347,6 +3500,15 @@ var STextarea = forwardRef(function STextarea2({
|
|
|
3347
3500
|
}, ref) {
|
|
3348
3501
|
const p = PAD;
|
|
3349
3502
|
const [ruleError, setRuleError] = useState("");
|
|
3503
|
+
useFormField({
|
|
3504
|
+
name: rest.name,
|
|
3505
|
+
validate: () => {
|
|
3506
|
+
const msg = runRules(value, rules);
|
|
3507
|
+
setRuleError(msg);
|
|
3508
|
+
return msg === "";
|
|
3509
|
+
},
|
|
3510
|
+
resetValidation: () => setRuleError("")
|
|
3511
|
+
});
|
|
3350
3512
|
const resolvedError = error || ruleError !== "";
|
|
3351
3513
|
const resolvedErrorMessage = ruleError !== "" ? ruleError : errorMessage;
|
|
3352
3514
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
@@ -3480,6 +3642,15 @@ var SNumberInput = forwardRef(function SNumberInput2({
|
|
|
3480
3642
|
useEffect(() => {
|
|
3481
3643
|
setDisplay(formatWithCommas(toNumber(value)));
|
|
3482
3644
|
}, [value]);
|
|
3645
|
+
useFormField({
|
|
3646
|
+
name,
|
|
3647
|
+
validate: () => {
|
|
3648
|
+
const msg = runRules(numValue, rules);
|
|
3649
|
+
setRuleError(msg);
|
|
3650
|
+
return msg === "";
|
|
3651
|
+
},
|
|
3652
|
+
resetValidation: () => setRuleError("")
|
|
3653
|
+
});
|
|
3483
3654
|
const resolvedError = error || ruleError !== "";
|
|
3484
3655
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
3485
3656
|
const emit = (n) => {
|
|
@@ -3791,6 +3962,15 @@ var SSelect = forwardRef(function SSelect2({
|
|
|
3791
3962
|
const arr = Array.isArray(value) ? value : [value];
|
|
3792
3963
|
return arr.map((v) => v != null && typeof v === "object" ? v.value : v).filter((v) => v != null && v !== "").map(String);
|
|
3793
3964
|
}, [value]);
|
|
3965
|
+
useFormField({
|
|
3966
|
+
name,
|
|
3967
|
+
validate: () => {
|
|
3968
|
+
const msg = runRules(multi ? selected : selected[0] ?? "", rules);
|
|
3969
|
+
setRuleError(msg);
|
|
3970
|
+
return msg === "";
|
|
3971
|
+
},
|
|
3972
|
+
resetValidation: () => setRuleError("")
|
|
3973
|
+
});
|
|
3794
3974
|
const emit = (next) => {
|
|
3795
3975
|
if (!onValueChange) return;
|
|
3796
3976
|
const mapped = next.map(
|
|
@@ -4168,7 +4348,7 @@ function SCheckbox({
|
|
|
4168
4348
|
onValueChange(false);
|
|
4169
4349
|
}
|
|
4170
4350
|
};
|
|
4171
|
-
const boxBg = disabled ? "var(--cmp-checkbox-bg-disabled)" :
|
|
4351
|
+
const boxBg = disabled ? "var(--cmp-checkbox-bg-disabled)" : inverse ? "transparent" : isChecked ? "var(--cmp-checkbox-checked-bg-default)" : "var(--cmp-checkbox-unchecked-bg-default)";
|
|
4172
4352
|
const boxBorder = disabled ? "var(--cmp-checkbox-border-disabled)" : inverse ? "var(--cmp-checkbox-checked-border-inverse)" : isChecked ? "var(--cmp-checkbox-checked-bg-default)" : "var(--cmp-checkbox-unchecked-border-default)";
|
|
4173
4353
|
const iconColor = disabled ? "var(--cmp-checkbox-checked-icon-disabled)" : "var(--cmp-checkbox-checked-icon-default)";
|
|
4174
4354
|
const labelColor = disabled ? "var(--cmp-checkbox-label-disabled)" : inverse ? "var(--cmp-checkbox-label-inverse)" : "var(--cmp-checkbox-label-default)";
|
|
@@ -4568,7 +4748,7 @@ function SCalendar({
|
|
|
4568
4748
|
"span",
|
|
4569
4749
|
{
|
|
4570
4750
|
className: "h-[var(--cmp-datepicker-calendar-day-dot-size)] w-[var(--cmp-datepicker-calendar-day-dot-size)] rounded-full",
|
|
4571
|
-
style: { backgroundColor: ev.color }
|
|
4751
|
+
style: { backgroundColor: resolveColor(ev.color) }
|
|
4572
4752
|
},
|
|
4573
4753
|
i
|
|
4574
4754
|
))
|
|
@@ -4596,7 +4776,7 @@ function SCalendar({
|
|
|
4596
4776
|
"span",
|
|
4597
4777
|
{
|
|
4598
4778
|
className: "h-[var(--cmp-datepicker-calendar-day-dot-size)] w-[var(--cmp-datepicker-calendar-day-dot-size)] rounded-full",
|
|
4599
|
-
style: { backgroundColor: item.color },
|
|
4779
|
+
style: { backgroundColor: resolveColor(item.color) },
|
|
4600
4780
|
"aria-hidden": true
|
|
4601
4781
|
}
|
|
4602
4782
|
),
|
|
@@ -4640,6 +4820,15 @@ function SDatePicker({
|
|
|
4640
4820
|
const [focused, setFocused] = useState(false);
|
|
4641
4821
|
const [ruleError, setRuleError] = useState("");
|
|
4642
4822
|
const hasValue = value != null && value !== "";
|
|
4823
|
+
useFormField({
|
|
4824
|
+
name,
|
|
4825
|
+
validate: () => {
|
|
4826
|
+
const msg = runRules(value, rules);
|
|
4827
|
+
setRuleError(msg);
|
|
4828
|
+
return msg === "";
|
|
4829
|
+
},
|
|
4830
|
+
resetValidation: () => setRuleError("")
|
|
4831
|
+
});
|
|
4643
4832
|
const resolvedError = error || ruleError !== "";
|
|
4644
4833
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
4645
4834
|
const dims = size === "md" ? { padX: 16, gap: 12, icon: 20, minW: 104, fontSize: 14, lineHeight: 24, radius: 6 } : { padX: 12, gap: 8, icon: 16, minW: 80, fontSize: 12, lineHeight: 20, radius: 4 };
|
|
@@ -4925,6 +5114,15 @@ function SDateRangePicker({
|
|
|
4925
5114
|
const [ruleError, setRuleError] = useState("");
|
|
4926
5115
|
const hasValue = value != null && value[0] !== "" && value[1] !== "";
|
|
4927
5116
|
const display = hasValue ? `${value[0]} ~ ${value[1]}` : placeholder;
|
|
5117
|
+
useFormField({
|
|
5118
|
+
name,
|
|
5119
|
+
validate: () => {
|
|
5120
|
+
const msg = runRules(value, rules);
|
|
5121
|
+
setRuleError(msg);
|
|
5122
|
+
return msg === "";
|
|
5123
|
+
},
|
|
5124
|
+
resetValidation: () => setRuleError("")
|
|
5125
|
+
});
|
|
4928
5126
|
const resolvedError = error || ruleError !== "";
|
|
4929
5127
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
4930
5128
|
const dims = size === "md" ? { padX: 16, gap: 12, icon: 20, minW: 104, fontSize: 14, lineHeight: 24, radius: 6 } : { padX: 12, gap: 8, icon: 16, minW: 80, fontSize: 12, lineHeight: 20, radius: 4 };
|
|
@@ -5189,6 +5387,15 @@ function SFilePicker({
|
|
|
5189
5387
|
const files = multiple ? Array.isArray(value) ? value : [] : value && !Array.isArray(value) ? value : null;
|
|
5190
5388
|
const hasSingle = !multiple && !!files;
|
|
5191
5389
|
const displayText = hasSingle ? files.name : placeholder;
|
|
5390
|
+
useFormField({
|
|
5391
|
+
name,
|
|
5392
|
+
validate: () => {
|
|
5393
|
+
const msg = runRules(files, rules);
|
|
5394
|
+
setRuleError(msg);
|
|
5395
|
+
return msg === "";
|
|
5396
|
+
},
|
|
5397
|
+
resetValidation: () => setRuleError("")
|
|
5398
|
+
});
|
|
5192
5399
|
const validate = (arr, existing = 0) => {
|
|
5193
5400
|
const mfs = toBytes(maxFileSize), mts = toBytes(maxTotalSize), mf = maxFiles != null ? Number(maxFiles) : void 0;
|
|
5194
5401
|
if (mf != null && existing + arr.length > mf)
|