sellmate-design-system-react 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +156 -3
- package/dist/components/SBarcodeInput/SBarcodeInput.cjs.map +1 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.js +157 -4
- 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 +129 -1
- package/dist/components/SCheckbox/SCheckbox.cjs.map +1 -1
- package/dist/components/SCheckbox/SCheckbox.js +129 -1
- 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 +153 -3
- package/dist/components/SChipInput/SChipInput.cjs.map +1 -1
- package/dist/components/SChipInput/SChipInput.js +153 -3
- 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 +158 -5
- package/dist/components/SDatePicker/SDatePicker.cjs.map +1 -1
- package/dist/components/SDatePicker/SDatePicker.js +158 -5
- package/dist/components/SDatePicker/SDatePicker.js.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs +156 -3
- package/dist/components/SDateRangePicker/SDateRangePicker.cjs.map +1 -1
- package/dist/components/SDateRangePicker/SDateRangePicker.js +156 -3
- 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 +129 -1
- package/dist/components/SField/SField.cjs.map +1 -1
- package/dist/components/SField/SField.js +129 -1
- package/dist/components/SField/SField.js.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.cjs +156 -3
- package/dist/components/SFilePicker/SFilePicker.cjs.map +1 -1
- package/dist/components/SFilePicker/SFilePicker.js +156 -3
- 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 +156 -3
- package/dist/components/SInput/SInput.cjs.map +1 -1
- package/dist/components/SInput/SInput.js +157 -4
- package/dist/components/SInput/SInput.js.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs +212 -5
- package/dist/components/SKeyValueTable/SKeyValueTable.cjs.map +1 -1
- package/dist/components/SKeyValueTable/SKeyValueTable.js +212 -5
- 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 +156 -3
- package/dist/components/SNumberInput/SNumberInput.cjs.map +1 -1
- package/dist/components/SNumberInput/SNumberInput.js +156 -3
- 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 +156 -3
- package/dist/components/SSelect/SSelect.cjs.map +1 -1
- package/dist/components/SSelect/SSelect.js +157 -4
- package/dist/components/SSelect/SSelect.js.map +1 -1
- package/dist/components/STable/STable.cjs +156 -3
- package/dist/components/STable/STable.cjs.map +1 -1
- package/dist/components/STable/STable.d.ts +3 -1
- package/dist/components/STable/STable.js +156 -3
- 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 +156 -3
- package/dist/components/STextarea/STextarea.cjs.map +1 -1
- package/dist/components/STextarea/STextarea.js +157 -4
- 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 +129 -1
- package/dist/components/STooltip/STooltip.cjs.map +1 -1
- package/dist/components/STooltip/STooltip.d.ts +3 -1
- package/dist/components/STooltip/STooltip.js +129 -1
- package/dist/components/STooltip/STooltip.js.map +1 -1
- package/dist/index.cjs +306 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +303 -6
- 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 +25 -0
- package/package.json +1 -1
|
@@ -36,6 +36,134 @@ var RTooltip__namespace = /*#__PURE__*/_interopNamespace(RTooltip);
|
|
|
36
36
|
function cn(...inputs) {
|
|
37
37
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
38
38
|
}
|
|
39
|
+
|
|
40
|
+
// src/lib/color.ts
|
|
41
|
+
var COLOR_KEYS = [
|
|
42
|
+
"white",
|
|
43
|
+
"black",
|
|
44
|
+
"grey_10",
|
|
45
|
+
"grey_20",
|
|
46
|
+
"grey_25",
|
|
47
|
+
"grey_30",
|
|
48
|
+
"grey_35",
|
|
49
|
+
"grey_45",
|
|
50
|
+
"grey_50",
|
|
51
|
+
"grey_55",
|
|
52
|
+
"grey_60",
|
|
53
|
+
"grey_65",
|
|
54
|
+
"grey_70",
|
|
55
|
+
"grey_80",
|
|
56
|
+
"grey_85",
|
|
57
|
+
"grey_90",
|
|
58
|
+
"grey_95",
|
|
59
|
+
"grey_05",
|
|
60
|
+
"red_15",
|
|
61
|
+
"red_20",
|
|
62
|
+
"red_30",
|
|
63
|
+
"red_45",
|
|
64
|
+
"red_60",
|
|
65
|
+
"red_70",
|
|
66
|
+
"red_75",
|
|
67
|
+
"red_80",
|
|
68
|
+
"red_85",
|
|
69
|
+
"red_90",
|
|
70
|
+
"red_95",
|
|
71
|
+
"red_99",
|
|
72
|
+
"orange_10",
|
|
73
|
+
"orange_20",
|
|
74
|
+
"orange_35",
|
|
75
|
+
"orange_45",
|
|
76
|
+
"orange_55",
|
|
77
|
+
"orange_60",
|
|
78
|
+
"orange_65",
|
|
79
|
+
"orange_75",
|
|
80
|
+
"orange_85",
|
|
81
|
+
"orange_90",
|
|
82
|
+
"orange_95",
|
|
83
|
+
"orange_99",
|
|
84
|
+
"yellow_10",
|
|
85
|
+
"yellow_20",
|
|
86
|
+
"yellow_25",
|
|
87
|
+
"yellow_30",
|
|
88
|
+
"yellow_40",
|
|
89
|
+
"yellow_45",
|
|
90
|
+
"yellow_50",
|
|
91
|
+
"yellow_60",
|
|
92
|
+
"yellow_70",
|
|
93
|
+
"yellow_80",
|
|
94
|
+
"yellow_90",
|
|
95
|
+
"yellow_95",
|
|
96
|
+
"olive_10",
|
|
97
|
+
"olive_15",
|
|
98
|
+
"olive_20",
|
|
99
|
+
"olive_30",
|
|
100
|
+
"olive_45",
|
|
101
|
+
"olive_55",
|
|
102
|
+
"olive_65",
|
|
103
|
+
"olive_70",
|
|
104
|
+
"olive_80",
|
|
105
|
+
"olive_90",
|
|
106
|
+
"olive_95",
|
|
107
|
+
"olive_05",
|
|
108
|
+
"green_15",
|
|
109
|
+
"green_25",
|
|
110
|
+
"green_45",
|
|
111
|
+
"green_55",
|
|
112
|
+
"green_65",
|
|
113
|
+
"green_70",
|
|
114
|
+
"green_75",
|
|
115
|
+
"green_80",
|
|
116
|
+
"green_85",
|
|
117
|
+
"green_90",
|
|
118
|
+
"green_95",
|
|
119
|
+
"green_99",
|
|
120
|
+
"steelblue_10",
|
|
121
|
+
"steelblue_25",
|
|
122
|
+
"steelblue_45",
|
|
123
|
+
"steelblue_60",
|
|
124
|
+
"steelblue_65",
|
|
125
|
+
"steelblue_70",
|
|
126
|
+
"steelblue_75",
|
|
127
|
+
"steelblue_80",
|
|
128
|
+
"steelblue_85",
|
|
129
|
+
"steelblue_90",
|
|
130
|
+
"steelblue_95",
|
|
131
|
+
"steelblue_99",
|
|
132
|
+
"oceanblue_15",
|
|
133
|
+
"oceanblue_25",
|
|
134
|
+
"oceanblue_50",
|
|
135
|
+
"oceanblue_60",
|
|
136
|
+
"oceanblue_65",
|
|
137
|
+
"oceanblue_70",
|
|
138
|
+
"oceanblue_75",
|
|
139
|
+
"oceanblue_80",
|
|
140
|
+
"oceanblue_85",
|
|
141
|
+
"oceanblue_90",
|
|
142
|
+
"oceanblue_95",
|
|
143
|
+
"oceanblue_99",
|
|
144
|
+
"brilliantblue_10",
|
|
145
|
+
"brilliantblue_20",
|
|
146
|
+
"brilliantblue_25",
|
|
147
|
+
"brilliantblue_40",
|
|
148
|
+
"brilliantblue_50",
|
|
149
|
+
"brilliantblue_60",
|
|
150
|
+
"brilliantblue_70",
|
|
151
|
+
"brilliantblue_75",
|
|
152
|
+
"brilliantblue_80",
|
|
153
|
+
"brilliantblue_85",
|
|
154
|
+
"brilliantblue_90",
|
|
155
|
+
"brilliantblue_95",
|
|
156
|
+
"brilliantblue_99",
|
|
157
|
+
"brilliantblue_05"
|
|
158
|
+
];
|
|
159
|
+
var KEY_SET = new Set(COLOR_KEYS);
|
|
160
|
+
function isColorKey(input) {
|
|
161
|
+
return KEY_SET.has(input);
|
|
162
|
+
}
|
|
163
|
+
function resolveColor(input, fallback) {
|
|
164
|
+
if (input === null || input === void 0 || input === "") return fallback;
|
|
165
|
+
return isColorKey(input) ? `var(--color-${input.replace(/_/g, "-")})` : input;
|
|
166
|
+
}
|
|
39
167
|
var Icon_add = (p) => {
|
|
40
168
|
const { size = 24, ...rest } = p;
|
|
41
169
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2735,7 +2863,7 @@ var SIcon = react.forwardRef(function SIcon2({ name, size = 24, color, rotate, l
|
|
|
2735
2863
|
{
|
|
2736
2864
|
ref,
|
|
2737
2865
|
className: cn("inline-flex items-center justify-center", rotateClass, className),
|
|
2738
|
-
style: { color, ...style },
|
|
2866
|
+
style: { color: resolveColor(color), ...style },
|
|
2739
2867
|
role: label ? "img" : void 0,
|
|
2740
2868
|
"aria-label": label,
|
|
2741
2869
|
"aria-hidden": label ? void 0 : true,
|
|
@@ -3048,8 +3176,6 @@ var SButton = react.forwardRef(function SButton2({
|
|
|
3048
3176
|
}
|
|
3049
3177
|
);
|
|
3050
3178
|
});
|
|
3051
|
-
|
|
3052
|
-
// src/lib/form.ts
|
|
3053
3179
|
function runRules(value, rules) {
|
|
3054
3180
|
if (!rules || rules.length === 0) return "";
|
|
3055
3181
|
for (const rule of rules) {
|
|
@@ -3058,6 +3184,24 @@ function runRules(value, rules) {
|
|
|
3058
3184
|
}
|
|
3059
3185
|
return "";
|
|
3060
3186
|
}
|
|
3187
|
+
var FormContext = react.createContext(null);
|
|
3188
|
+
function useFormContext() {
|
|
3189
|
+
return react.useContext(FormContext);
|
|
3190
|
+
}
|
|
3191
|
+
function useFormField(field) {
|
|
3192
|
+
const ctx = useFormContext();
|
|
3193
|
+
const cbRef = react.useRef(field);
|
|
3194
|
+
cbRef.current = field;
|
|
3195
|
+
const name = field.name ?? "";
|
|
3196
|
+
react.useEffect(() => {
|
|
3197
|
+
if (!ctx) return;
|
|
3198
|
+
return ctx.register({
|
|
3199
|
+
name,
|
|
3200
|
+
validate: () => cbRef.current.validate(),
|
|
3201
|
+
resetValidation: () => cbRef.current.resetValidation()
|
|
3202
|
+
});
|
|
3203
|
+
}, [ctx, name]);
|
|
3204
|
+
}
|
|
3061
3205
|
var FIELD_SIZE = {
|
|
3062
3206
|
sm: { height: 28, radius: 4, fieldGap: 12, labelGap: 6, fontSize: 12, lineHeight: 20, icon: 12 },
|
|
3063
3207
|
md: { height: 36, radius: 6, fieldGap: 16, labelGap: 8, fontSize: 14, lineHeight: 24, icon: 12 }
|
|
@@ -3242,6 +3386,15 @@ var SInput = react.forwardRef(function SInput2({
|
|
|
3242
3386
|
const isPassword = type === "password";
|
|
3243
3387
|
const inputType = isPassword ? visible ? "text" : "password" : type;
|
|
3244
3388
|
const hasValue = value !== void 0 && value !== null && String(value) !== "";
|
|
3389
|
+
useFormField({
|
|
3390
|
+
name: rest.name,
|
|
3391
|
+
validate: () => {
|
|
3392
|
+
const msg = runRules(value, rules);
|
|
3393
|
+
setRuleError(msg);
|
|
3394
|
+
return msg === "";
|
|
3395
|
+
},
|
|
3396
|
+
resetValidation: () => setRuleError("")
|
|
3397
|
+
});
|
|
3245
3398
|
const resolvedError = error || ruleError !== "";
|
|
3246
3399
|
const resolvedErrorMessage = ruleError !== "" ? ruleError : errorMessage;
|
|
3247
3400
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
@@ -3372,6 +3525,15 @@ var STextarea = react.forwardRef(function STextarea2({
|
|
|
3372
3525
|
}, ref) {
|
|
3373
3526
|
const p = PAD;
|
|
3374
3527
|
const [ruleError, setRuleError] = react.useState("");
|
|
3528
|
+
useFormField({
|
|
3529
|
+
name: rest.name,
|
|
3530
|
+
validate: () => {
|
|
3531
|
+
const msg = runRules(value, rules);
|
|
3532
|
+
setRuleError(msg);
|
|
3533
|
+
return msg === "";
|
|
3534
|
+
},
|
|
3535
|
+
resetValidation: () => setRuleError("")
|
|
3536
|
+
});
|
|
3375
3537
|
const resolvedError = error || ruleError !== "";
|
|
3376
3538
|
const resolvedErrorMessage = ruleError !== "" ? ruleError : errorMessage;
|
|
3377
3539
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
@@ -3505,6 +3667,15 @@ var SNumberInput = react.forwardRef(function SNumberInput2({
|
|
|
3505
3667
|
react.useEffect(() => {
|
|
3506
3668
|
setDisplay(formatWithCommas(toNumber(value)));
|
|
3507
3669
|
}, [value]);
|
|
3670
|
+
useFormField({
|
|
3671
|
+
name,
|
|
3672
|
+
validate: () => {
|
|
3673
|
+
const msg = runRules(numValue, rules);
|
|
3674
|
+
setRuleError(msg);
|
|
3675
|
+
return msg === "";
|
|
3676
|
+
},
|
|
3677
|
+
resetValidation: () => setRuleError("")
|
|
3678
|
+
});
|
|
3508
3679
|
const resolvedError = error || ruleError !== "";
|
|
3509
3680
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
3510
3681
|
const emit = (n) => {
|
|
@@ -3816,6 +3987,15 @@ var SSelect = react.forwardRef(function SSelect2({
|
|
|
3816
3987
|
const arr = Array.isArray(value) ? value : [value];
|
|
3817
3988
|
return arr.map((v) => v != null && typeof v === "object" ? v.value : v).filter((v) => v != null && v !== "").map(String);
|
|
3818
3989
|
}, [value]);
|
|
3990
|
+
useFormField({
|
|
3991
|
+
name,
|
|
3992
|
+
validate: () => {
|
|
3993
|
+
const msg = runRules(multi ? selected : selected[0] ?? "", rules);
|
|
3994
|
+
setRuleError(msg);
|
|
3995
|
+
return msg === "";
|
|
3996
|
+
},
|
|
3997
|
+
resetValidation: () => setRuleError("")
|
|
3998
|
+
});
|
|
3819
3999
|
const emit = (next) => {
|
|
3820
4000
|
if (!onValueChange) return;
|
|
3821
4001
|
const mapped = next.map(
|
|
@@ -4593,7 +4773,7 @@ function SCalendar({
|
|
|
4593
4773
|
"span",
|
|
4594
4774
|
{
|
|
4595
4775
|
className: "h-[var(--cmp-datepicker-calendar-day-dot-size)] w-[var(--cmp-datepicker-calendar-day-dot-size)] rounded-full",
|
|
4596
|
-
style: { backgroundColor: ev.color }
|
|
4776
|
+
style: { backgroundColor: resolveColor(ev.color) }
|
|
4597
4777
|
},
|
|
4598
4778
|
i
|
|
4599
4779
|
))
|
|
@@ -4621,7 +4801,7 @@ function SCalendar({
|
|
|
4621
4801
|
"span",
|
|
4622
4802
|
{
|
|
4623
4803
|
className: "h-[var(--cmp-datepicker-calendar-day-dot-size)] w-[var(--cmp-datepicker-calendar-day-dot-size)] rounded-full",
|
|
4624
|
-
style: { backgroundColor: item.color },
|
|
4804
|
+
style: { backgroundColor: resolveColor(item.color) },
|
|
4625
4805
|
"aria-hidden": true
|
|
4626
4806
|
}
|
|
4627
4807
|
),
|
|
@@ -4665,6 +4845,15 @@ function SDatePicker({
|
|
|
4665
4845
|
const [focused, setFocused] = react.useState(false);
|
|
4666
4846
|
const [ruleError, setRuleError] = react.useState("");
|
|
4667
4847
|
const hasValue = value != null && value !== "";
|
|
4848
|
+
useFormField({
|
|
4849
|
+
name,
|
|
4850
|
+
validate: () => {
|
|
4851
|
+
const msg = runRules(value, rules);
|
|
4852
|
+
setRuleError(msg);
|
|
4853
|
+
return msg === "";
|
|
4854
|
+
},
|
|
4855
|
+
resetValidation: () => setRuleError("")
|
|
4856
|
+
});
|
|
4668
4857
|
const resolvedError = error || ruleError !== "";
|
|
4669
4858
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
4670
4859
|
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 };
|
|
@@ -4950,6 +5139,15 @@ function SDateRangePicker({
|
|
|
4950
5139
|
const [ruleError, setRuleError] = react.useState("");
|
|
4951
5140
|
const hasValue = value != null && value[0] !== "" && value[1] !== "";
|
|
4952
5141
|
const display = hasValue ? `${value[0]} ~ ${value[1]}` : placeholder;
|
|
5142
|
+
useFormField({
|
|
5143
|
+
name,
|
|
5144
|
+
validate: () => {
|
|
5145
|
+
const msg = runRules(value, rules);
|
|
5146
|
+
setRuleError(msg);
|
|
5147
|
+
return msg === "";
|
|
5148
|
+
},
|
|
5149
|
+
resetValidation: () => setRuleError("")
|
|
5150
|
+
});
|
|
4953
5151
|
const resolvedError = error || ruleError !== "";
|
|
4954
5152
|
const resolvedStatus = status ?? (rules && rules.length > 0 ? ruleError !== "" ? "error" : void 0 : void 0);
|
|
4955
5153
|
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 };
|
|
@@ -5214,6 +5412,15 @@ function SFilePicker({
|
|
|
5214
5412
|
const files = multiple ? Array.isArray(value) ? value : [] : value && !Array.isArray(value) ? value : null;
|
|
5215
5413
|
const hasSingle = !multiple && !!files;
|
|
5216
5414
|
const displayText = hasSingle ? files.name : placeholder;
|
|
5415
|
+
useFormField({
|
|
5416
|
+
name,
|
|
5417
|
+
validate: () => {
|
|
5418
|
+
const msg = runRules(files, rules);
|
|
5419
|
+
setRuleError(msg);
|
|
5420
|
+
return msg === "";
|
|
5421
|
+
},
|
|
5422
|
+
resetValidation: () => setRuleError("")
|
|
5423
|
+
});
|
|
5217
5424
|
const validate = (arr, existing = 0) => {
|
|
5218
5425
|
const mfs = toBytes(maxFileSize), mts = toBytes(maxTotalSize), mf = maxFiles != null ? Number(maxFiles) : void 0;
|
|
5219
5426
|
if (mf != null && existing + arr.length > mf)
|