@akanjs/ui 1.0.7 → 1.0.8
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/DraggableList.d.ts +2 -1
- package/Load/Edit_Client.d.ts +3 -1
- package/Model/EditModal.d.ts +3 -1
- package/Model/EditWrapper.d.ts +2 -1
- package/cjs/Copy.js +3 -1
- package/cjs/DraggableList.js +2 -2
- package/cjs/Load/Edit_Client.js +8 -0
- package/cjs/Model/EditModal.js +11 -9
- package/cjs/Model/EditWrapper.js +11 -1
- package/cjs/ToggleSelect.js +2 -2
- package/esm/Copy.js +3 -1
- package/esm/DraggableList.js +2 -2
- package/esm/Load/Edit_Client.js +8 -0
- package/esm/Model/EditModal.js +11 -9
- package/esm/Model/EditWrapper.js +11 -1
- package/esm/ToggleSelect.js +2 -2
- package/package.json +1 -1
package/DraggableList.d.ts
CHANGED
|
@@ -17,10 +17,11 @@ interface Cursor {
|
|
|
17
17
|
interface ItemProps {
|
|
18
18
|
value: any;
|
|
19
19
|
children: ReactNode;
|
|
20
|
+
removable?: boolean;
|
|
20
21
|
}
|
|
21
22
|
export declare const DraggableList: {
|
|
22
23
|
<V>({ className, mode, children, onChange, onRemove }: DragListProps<V>): import("react/jsx-runtime").JSX.Element;
|
|
23
24
|
Cursor({ className, children }: Cursor): import("react/jsx-runtime").JSX.Element;
|
|
24
|
-
Item: ({ value, children }: ItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
Item: ({ value, children, removable }: ItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
26
|
};
|
|
26
27
|
export {};
|
package/Load/Edit_Client.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ interface DefaultProps {
|
|
|
11
11
|
children?: ReactNode;
|
|
12
12
|
onSubmit?: string;
|
|
13
13
|
onCancel?: string;
|
|
14
|
+
submitText?: string;
|
|
15
|
+
submitClassName?: string;
|
|
14
16
|
submitOption?: CreateOption<any>;
|
|
15
17
|
renderSubmit?: boolean;
|
|
16
18
|
}
|
|
@@ -21,5 +23,5 @@ export interface EditProps<T extends string, Full extends {
|
|
|
21
23
|
}
|
|
22
24
|
export default function Edit_Client<T extends string, Full extends {
|
|
23
25
|
id: string;
|
|
24
|
-
}>({ className, checkSubmit, modalClassName, type, edit, modal, sliceName, children, onSubmit, onCancel, submitOption, renderSubmit, }: EditProps<T, Full>): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
}>({ className, checkSubmit, modalClassName, type, edit, modal, sliceName, children, onSubmit, onCancel, submitText, submitClassName, submitOption, renderSubmit, }: EditProps<T, Full>): import("react/jsx-runtime").JSX.Element;
|
|
25
27
|
export {};
|
package/Model/EditModal.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ interface EditModalProps<Full extends {
|
|
|
22
22
|
checkSubmit?: boolean;
|
|
23
23
|
modalClassName?: string;
|
|
24
24
|
renderTitle?: ((model: Full) => string | ReactNode) | string;
|
|
25
|
+
submitText?: string;
|
|
26
|
+
submitClassName?: string;
|
|
25
27
|
submitOption?: CreateOption<Full>;
|
|
26
28
|
renderSubmit?: boolean | ((any: any) => ReactNode);
|
|
27
29
|
onSubmit?: string | ((model: Full) => void);
|
|
@@ -29,5 +31,5 @@ interface EditModalProps<Full extends {
|
|
|
29
31
|
}
|
|
30
32
|
export default function EditModal<Full extends {
|
|
31
33
|
id: string;
|
|
32
|
-
}>({ type, sliceName, id, className, disabled, checkSubmit, modalClassName, edit, modal, renderTitle, children, submitOption, renderSubmit, loadingWrapper, onSubmit, onCancel, }: EditModalProps<Full>): import("react/jsx-runtime").JSX.Element | undefined;
|
|
34
|
+
}>({ type, sliceName, id, className, disabled, checkSubmit, modalClassName, edit, modal, renderTitle, children, submitText, submitClassName, submitOption, renderSubmit, loadingWrapper, onSubmit, onCancel, }: EditModalProps<Full>): import("react/jsx-runtime").JSX.Element | undefined;
|
|
33
35
|
export {};
|
package/Model/EditWrapper.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ interface EditWrapperProps {
|
|
|
5
5
|
sliceName: string;
|
|
6
6
|
modelId: string;
|
|
7
7
|
modal?: string | null;
|
|
8
|
+
disabled?: boolean;
|
|
8
9
|
resets?: string[] | null;
|
|
9
10
|
}
|
|
10
|
-
export default function EditWrapper({ children, sliceName, modelId, className, modal, resets }: EditWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export default function EditWrapper({ children, sliceName, modelId, className, modal, disabled, resets, }: EditWrapperProps): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export {};
|
package/cjs/Copy.js
CHANGED
|
@@ -22,15 +22,17 @@ __export(Copy_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(Copy_exports);
|
|
24
24
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
25
|
+
var import_client = require("@akanjs/client");
|
|
25
26
|
var import_store = require("@akanjs/store");
|
|
26
27
|
var import_react_copy_to_clipboard = require("react-copy-to-clipboard");
|
|
27
28
|
const Copy = ({ text, copyMessage, children }) => {
|
|
29
|
+
const { l } = (0, import_client.usePage)();
|
|
28
30
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
29
31
|
import_react_copy_to_clipboard.CopyToClipboard,
|
|
30
32
|
{
|
|
31
33
|
text: text ?? "",
|
|
32
34
|
onCopy: () => {
|
|
33
|
-
import_store.st.do.showMessage({ content: copyMessage ?? "Copied", type: "success" });
|
|
35
|
+
import_store.st.do.showMessage({ content: copyMessage ?? l.trans({ en: "Copied", ko: "\uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4" }), type: "success" });
|
|
34
36
|
},
|
|
35
37
|
children
|
|
36
38
|
}
|
package/cjs/DraggableList.js
CHANGED
|
@@ -133,12 +133,12 @@ DragList.Cursor = ({ className, children }) => {
|
|
|
133
133
|
}
|
|
134
134
|
);
|
|
135
135
|
};
|
|
136
|
-
const Item = ({ value, children }) => {
|
|
136
|
+
const Item = ({ value, children, removable = false }) => {
|
|
137
137
|
const { onRemove } = useDragList();
|
|
138
138
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex w-full items-center gap-2", children: [
|
|
139
139
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DraggableList.Cursor, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_md.MdDragIndicator, { className: "text-xl" }) }),
|
|
140
140
|
children,
|
|
141
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
141
|
+
removable && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
142
142
|
"button",
|
|
143
143
|
{
|
|
144
144
|
className: "btn btn-xs btn-error btn-square btn-outline",
|
package/cjs/Load/Edit_Client.js
CHANGED
|
@@ -37,6 +37,8 @@ function Render({
|
|
|
37
37
|
children,
|
|
38
38
|
onSubmit,
|
|
39
39
|
onCancel,
|
|
40
|
+
submitText,
|
|
41
|
+
submitClassName,
|
|
40
42
|
submitOption,
|
|
41
43
|
renderSubmit
|
|
42
44
|
}) {
|
|
@@ -55,6 +57,8 @@ function Render({
|
|
|
55
57
|
modal,
|
|
56
58
|
onSubmit,
|
|
57
59
|
onCancel,
|
|
60
|
+
submitText,
|
|
61
|
+
submitClassName,
|
|
58
62
|
submitOption,
|
|
59
63
|
renderSubmit,
|
|
60
64
|
children
|
|
@@ -72,6 +76,8 @@ function Edit_Client({
|
|
|
72
76
|
children,
|
|
73
77
|
onSubmit,
|
|
74
78
|
onCancel,
|
|
79
|
+
submitText,
|
|
80
|
+
submitClassName,
|
|
75
81
|
submitOption,
|
|
76
82
|
renderSubmit
|
|
77
83
|
}) {
|
|
@@ -86,6 +92,8 @@ function Edit_Client({
|
|
|
86
92
|
children,
|
|
87
93
|
onSubmit,
|
|
88
94
|
onCancel,
|
|
95
|
+
submitText,
|
|
96
|
+
submitClassName,
|
|
89
97
|
submitOption,
|
|
90
98
|
renderSubmit
|
|
91
99
|
};
|
package/cjs/Model/EditModal.js
CHANGED
|
@@ -89,6 +89,8 @@ function EditModal({
|
|
|
89
89
|
modal,
|
|
90
90
|
renderTitle,
|
|
91
91
|
children,
|
|
92
|
+
submitText,
|
|
93
|
+
submitClassName,
|
|
92
94
|
submitOption,
|
|
93
95
|
renderSubmit,
|
|
94
96
|
loadingWrapper,
|
|
@@ -183,19 +185,19 @@ function EditModal({
|
|
|
183
185
|
if (typeof onSubmit === "function")
|
|
184
186
|
onSubmit(model);
|
|
185
187
|
void submitOption?.onSuccess?.(model);
|
|
188
|
+
if (onSubmit === "back")
|
|
189
|
+
import_client.router.back();
|
|
190
|
+
else if (onSubmit === "reset")
|
|
191
|
+
void storeDo[names.resetModel]();
|
|
192
|
+
else if (typeof onSubmit === "string")
|
|
193
|
+
import_client.router.replace(onSubmit.replace(new RegExp(`\\[${names.model}Id\\]`, "g"), model.id));
|
|
186
194
|
}
|
|
187
195
|
});
|
|
188
|
-
if (onSubmit === "back")
|
|
189
|
-
import_client.router.back();
|
|
190
|
-
else if (onSubmit === "reset")
|
|
191
|
-
void storeDo[names.resetModel]();
|
|
192
|
-
else if (typeof onSubmit === "string")
|
|
193
|
-
import_client.router.replace(onSubmit);
|
|
194
196
|
}, []);
|
|
195
197
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
196
198
|
import_Button.Button,
|
|
197
199
|
{
|
|
198
|
-
className: "btn btn-primary w-full gap-2 rounded-2xl",
|
|
200
|
+
className: (0, import_client.clsx)("btn btn-primary mt-4 w-full gap-2 rounded-2xl", submitClassName),
|
|
199
201
|
disabled: modelSubmit.disabled || !!disabled,
|
|
200
202
|
onClick: async (e, { onError }) => {
|
|
201
203
|
await handleSubmit({ onError });
|
|
@@ -204,7 +206,7 @@ function EditModal({
|
|
|
204
206
|
},
|
|
205
207
|
children: [
|
|
206
208
|
modelFormId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ai.AiOutlineSave, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ai.AiOutlinePlus, {}),
|
|
207
|
-
l(modelFormId ? "base.updateModel" : "base.createModel", {
|
|
209
|
+
submitText ?? l(modelFormId ? "base.updateModel" : "base.createModel", {
|
|
208
210
|
model: l._(`${names.model}.modelName`)
|
|
209
211
|
})
|
|
210
212
|
]
|
|
@@ -253,7 +255,7 @@ function EditModal({
|
|
|
253
255
|
children: [
|
|
254
256
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Title, {}),
|
|
255
257
|
children,
|
|
256
|
-
type === "form" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
258
|
+
type === "form" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Submit, {}) : null
|
|
257
259
|
]
|
|
258
260
|
}
|
|
259
261
|
);
|
package/cjs/Model/EditWrapper.js
CHANGED
|
@@ -25,7 +25,15 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
25
25
|
var import_client = require("@akanjs/client");
|
|
26
26
|
var import_common = require("@akanjs/common");
|
|
27
27
|
var import_store = require("@akanjs/store");
|
|
28
|
-
function EditWrapper({
|
|
28
|
+
function EditWrapper({
|
|
29
|
+
children,
|
|
30
|
+
sliceName,
|
|
31
|
+
modelId,
|
|
32
|
+
className,
|
|
33
|
+
modal,
|
|
34
|
+
disabled,
|
|
35
|
+
resets
|
|
36
|
+
}) {
|
|
29
37
|
const refName = import_store.st.slice[sliceName].refName;
|
|
30
38
|
const modelName = refName;
|
|
31
39
|
const names = {
|
|
@@ -37,6 +45,8 @@ function EditWrapper({ children, sliceName, modelId, className, modal, resets })
|
|
|
37
45
|
{
|
|
38
46
|
className: (0, import_client.clsx)("cursor-pointer", className),
|
|
39
47
|
onClick: (e) => {
|
|
48
|
+
if (disabled)
|
|
49
|
+
return;
|
|
40
50
|
e.stopPropagation();
|
|
41
51
|
void storeDo[names.editModel](modelId, { modal });
|
|
42
52
|
resets?.forEach((reset) => {
|
package/cjs/ToggleSelect.js
CHANGED
|
@@ -33,7 +33,7 @@ const ToggleSelect = ({
|
|
|
33
33
|
disabled
|
|
34
34
|
}) => {
|
|
35
35
|
const { l } = (0, import_client.usePage)();
|
|
36
|
-
const validateResult = value ? validate(value) : false;
|
|
36
|
+
const validateResult = value !== null ? validate(value) : false;
|
|
37
37
|
const invalidMessage = value === null || typeof value === "string" && !value.length || validateResult === true ? null : validateResult === false ? l("base.invalidValueError") : validateResult;
|
|
38
38
|
const options = items.map(
|
|
39
39
|
(item) => typeof item === "string" || typeof item === "number" ? { label: item.toString(), value: item } : item
|
|
@@ -55,7 +55,7 @@ const ToggleSelect = ({
|
|
|
55
55
|
disabled: isDisabled,
|
|
56
56
|
className: (0, import_client.clsx)(
|
|
57
57
|
"btn btn-sm",
|
|
58
|
-
{ "bg-success/70 text-success-content": isSelected, "cursor-not-allowed": isDisabled },
|
|
58
|
+
{ "bg-success/70 text-success-content": isSelected, "btn-disabled cursor-not-allowed": isDisabled },
|
|
59
59
|
// {
|
|
60
60
|
// "btn-error": status === "error",
|
|
61
61
|
// "btn-warning": status === "warning",
|
package/esm/Copy.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { usePage } from "@akanjs/client";
|
|
3
4
|
import { st } from "@akanjs/store";
|
|
4
5
|
import { CopyToClipboard } from "react-copy-to-clipboard";
|
|
5
6
|
const Copy = ({ text, copyMessage, children }) => {
|
|
7
|
+
const { l } = usePage();
|
|
6
8
|
return /* @__PURE__ */ jsx(
|
|
7
9
|
CopyToClipboard,
|
|
8
10
|
{
|
|
9
11
|
text: text ?? "",
|
|
10
12
|
onCopy: () => {
|
|
11
|
-
st.do.showMessage({ content: copyMessage ?? "Copied", type: "success" });
|
|
13
|
+
st.do.showMessage({ content: copyMessage ?? l.trans({ en: "Copied", ko: "\uBCF5\uC0AC\uB418\uC5C8\uC2B5\uB2C8\uB2E4" }), type: "success" });
|
|
12
14
|
},
|
|
13
15
|
children
|
|
14
16
|
}
|
package/esm/DraggableList.js
CHANGED
|
@@ -101,12 +101,12 @@ DragList.Cursor = ({ className, children }) => {
|
|
|
101
101
|
}
|
|
102
102
|
);
|
|
103
103
|
};
|
|
104
|
-
const Item = ({ value, children }) => {
|
|
104
|
+
const Item = ({ value, children, removable = false }) => {
|
|
105
105
|
const { onRemove } = useDragList();
|
|
106
106
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "flex w-full items-center gap-2", children: [
|
|
107
107
|
/* @__PURE__ */ jsx(DraggableList.Cursor, { children: /* @__PURE__ */ jsx(MdDragIndicator, { className: "text-xl" }) }),
|
|
108
108
|
children,
|
|
109
|
-
/* @__PURE__ */ jsx(
|
|
109
|
+
removable && /* @__PURE__ */ jsx(
|
|
110
110
|
"button",
|
|
111
111
|
{
|
|
112
112
|
className: "btn btn-xs btn-error btn-square btn-outline",
|
package/esm/Load/Edit_Client.js
CHANGED
|
@@ -15,6 +15,8 @@ function Render({
|
|
|
15
15
|
children,
|
|
16
16
|
onSubmit,
|
|
17
17
|
onCancel,
|
|
18
|
+
submitText,
|
|
19
|
+
submitClassName,
|
|
18
20
|
submitOption,
|
|
19
21
|
renderSubmit
|
|
20
22
|
}) {
|
|
@@ -33,6 +35,8 @@ function Render({
|
|
|
33
35
|
modal,
|
|
34
36
|
onSubmit,
|
|
35
37
|
onCancel,
|
|
38
|
+
submitText,
|
|
39
|
+
submitClassName,
|
|
36
40
|
submitOption,
|
|
37
41
|
renderSubmit,
|
|
38
42
|
children
|
|
@@ -50,6 +54,8 @@ function Edit_Client({
|
|
|
50
54
|
children,
|
|
51
55
|
onSubmit,
|
|
52
56
|
onCancel,
|
|
57
|
+
submitText,
|
|
58
|
+
submitClassName,
|
|
53
59
|
submitOption,
|
|
54
60
|
renderSubmit
|
|
55
61
|
}) {
|
|
@@ -64,6 +70,8 @@ function Edit_Client({
|
|
|
64
70
|
children,
|
|
65
71
|
onSubmit,
|
|
66
72
|
onCancel,
|
|
73
|
+
submitText,
|
|
74
|
+
submitClassName,
|
|
67
75
|
submitOption,
|
|
68
76
|
renderSubmit
|
|
69
77
|
};
|
package/esm/Model/EditModal.js
CHANGED
|
@@ -67,6 +67,8 @@ function EditModal({
|
|
|
67
67
|
modal,
|
|
68
68
|
renderTitle,
|
|
69
69
|
children,
|
|
70
|
+
submitText,
|
|
71
|
+
submitClassName,
|
|
70
72
|
submitOption,
|
|
71
73
|
renderSubmit,
|
|
72
74
|
loadingWrapper,
|
|
@@ -161,19 +163,19 @@ function EditModal({
|
|
|
161
163
|
if (typeof onSubmit === "function")
|
|
162
164
|
onSubmit(model);
|
|
163
165
|
void submitOption?.onSuccess?.(model);
|
|
166
|
+
if (onSubmit === "back")
|
|
167
|
+
router.back();
|
|
168
|
+
else if (onSubmit === "reset")
|
|
169
|
+
void storeDo[names.resetModel]();
|
|
170
|
+
else if (typeof onSubmit === "string")
|
|
171
|
+
router.replace(onSubmit.replace(new RegExp(`\\[${names.model}Id\\]`, "g"), model.id));
|
|
164
172
|
}
|
|
165
173
|
});
|
|
166
|
-
if (onSubmit === "back")
|
|
167
|
-
router.back();
|
|
168
|
-
else if (onSubmit === "reset")
|
|
169
|
-
void storeDo[names.resetModel]();
|
|
170
|
-
else if (typeof onSubmit === "string")
|
|
171
|
-
router.replace(onSubmit);
|
|
172
174
|
}, []);
|
|
173
175
|
return /* @__PURE__ */ jsxs(
|
|
174
176
|
Button,
|
|
175
177
|
{
|
|
176
|
-
className: "btn btn-primary w-full gap-2 rounded-2xl",
|
|
178
|
+
className: clsx("btn btn-primary mt-4 w-full gap-2 rounded-2xl", submitClassName),
|
|
177
179
|
disabled: modelSubmit.disabled || !!disabled,
|
|
178
180
|
onClick: async (e, { onError }) => {
|
|
179
181
|
await handleSubmit({ onError });
|
|
@@ -182,7 +184,7 @@ function EditModal({
|
|
|
182
184
|
},
|
|
183
185
|
children: [
|
|
184
186
|
modelFormId ? /* @__PURE__ */ jsx(AiOutlineSave, {}) : /* @__PURE__ */ jsx(AiOutlinePlus, {}),
|
|
185
|
-
l(modelFormId ? "base.updateModel" : "base.createModel", {
|
|
187
|
+
submitText ?? l(modelFormId ? "base.updateModel" : "base.createModel", {
|
|
186
188
|
model: l._(`${names.model}.modelName`)
|
|
187
189
|
})
|
|
188
190
|
]
|
|
@@ -231,7 +233,7 @@ function EditModal({
|
|
|
231
233
|
children: [
|
|
232
234
|
/* @__PURE__ */ jsx(Title, {}),
|
|
233
235
|
children,
|
|
234
|
-
type === "form" ? /* @__PURE__ */ jsx(
|
|
236
|
+
type === "form" ? /* @__PURE__ */ jsx(Submit, {}) : null
|
|
235
237
|
]
|
|
236
238
|
}
|
|
237
239
|
);
|
package/esm/Model/EditWrapper.js
CHANGED
|
@@ -3,7 +3,15 @@ import { jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { clsx } from "@akanjs/client";
|
|
4
4
|
import { capitalize } from "@akanjs/common";
|
|
5
5
|
import { st } from "@akanjs/store";
|
|
6
|
-
function EditWrapper({
|
|
6
|
+
function EditWrapper({
|
|
7
|
+
children,
|
|
8
|
+
sliceName,
|
|
9
|
+
modelId,
|
|
10
|
+
className,
|
|
11
|
+
modal,
|
|
12
|
+
disabled,
|
|
13
|
+
resets
|
|
14
|
+
}) {
|
|
7
15
|
const refName = st.slice[sliceName].refName;
|
|
8
16
|
const modelName = refName;
|
|
9
17
|
const names = {
|
|
@@ -15,6 +23,8 @@ function EditWrapper({ children, sliceName, modelId, className, modal, resets })
|
|
|
15
23
|
{
|
|
16
24
|
className: clsx("cursor-pointer", className),
|
|
17
25
|
onClick: (e) => {
|
|
26
|
+
if (disabled)
|
|
27
|
+
return;
|
|
18
28
|
e.stopPropagation();
|
|
19
29
|
void storeDo[names.editModel](modelId, { modal });
|
|
20
30
|
resets?.forEach((reset) => {
|
package/esm/ToggleSelect.js
CHANGED
|
@@ -11,7 +11,7 @@ const ToggleSelect = ({
|
|
|
11
11
|
disabled
|
|
12
12
|
}) => {
|
|
13
13
|
const { l } = usePage();
|
|
14
|
-
const validateResult = value ? validate(value) : false;
|
|
14
|
+
const validateResult = value !== null ? validate(value) : false;
|
|
15
15
|
const invalidMessage = value === null || typeof value === "string" && !value.length || validateResult === true ? null : validateResult === false ? l("base.invalidValueError") : validateResult;
|
|
16
16
|
const options = items.map(
|
|
17
17
|
(item) => typeof item === "string" || typeof item === "number" ? { label: item.toString(), value: item } : item
|
|
@@ -33,7 +33,7 @@ const ToggleSelect = ({
|
|
|
33
33
|
disabled: isDisabled,
|
|
34
34
|
className: clsx(
|
|
35
35
|
"btn btn-sm",
|
|
36
|
-
{ "bg-success/70 text-success-content": isSelected, "cursor-not-allowed": isDisabled },
|
|
36
|
+
{ "bg-success/70 text-success-content": isSelected, "btn-disabled cursor-not-allowed": isDisabled },
|
|
37
37
|
// {
|
|
38
38
|
// "btn-error": status === "error",
|
|
39
39
|
// "btn-warning": status === "warning",
|