@ioca/react 1.3.92 → 1.3.93
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/lib/cjs/components/button/confirm.js +3 -3
- package/lib/cjs/components/button/confirm.js.map +1 -1
- package/lib/cjs/components/form/form.js +1 -1
- package/lib/cjs/components/form/form.js.map +1 -1
- package/lib/cjs/components/popup/popup.js +26 -24
- package/lib/cjs/components/popup/popup.js.map +1 -1
- package/lib/cjs/components/select/select.js +8 -1
- package/lib/cjs/components/select/select.js.map +1 -1
- package/lib/es/components/button/confirm.js +3 -3
- package/lib/es/components/button/confirm.js.map +1 -1
- package/lib/es/components/form/form.js +1 -1
- package/lib/es/components/form/form.js.map +1 -1
- package/lib/es/components/popup/popup.js +26 -24
- package/lib/es/components/popup/popup.js.map +1 -1
- package/lib/es/components/select/select.js +8 -1
- package/lib/es/components/select/select.js.map +1 -1
- package/lib/index.js +38 -29
- package/lib/types/components/form/type.d.ts +2 -2
- package/package.json +1 -1
- package/lib/css/index.css +0 -3
- package/lib/css/index.css.map +0 -1
|
@@ -15,7 +15,7 @@ const defaultCancel = {
|
|
|
15
15
|
secondary: true,
|
|
16
16
|
};
|
|
17
17
|
function Confirm(props) {
|
|
18
|
-
const { ref, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
18
|
+
const { ref, size, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
19
19
|
const state = ahooks.useReactive({
|
|
20
20
|
active: false,
|
|
21
21
|
loading: false,
|
|
@@ -49,9 +49,9 @@ function Confirm(props) {
|
|
|
49
49
|
state.active = false;
|
|
50
50
|
};
|
|
51
51
|
if (!state.active) {
|
|
52
|
-
return jsxRuntime.jsx(button.default, { ref: ref, ...restProps, onClick: handleClick });
|
|
52
|
+
return (jsxRuntime.jsx(button.default, { ref: ref, size: size, ...restProps, onClick: handleClick }));
|
|
53
53
|
}
|
|
54
|
-
return (jsxRuntime.jsxs(button.default.Group, { children: [jsxRuntime.jsx(button.default, { ...ok, loading: state.loading, onClick: hanldeOk }), jsxRuntime.jsx(button.default, { ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
54
|
+
return (jsxRuntime.jsxs(button.default.Group, { children: [jsxRuntime.jsx(button.default, { size: size, ...ok, loading: state.loading, onClick: hanldeOk }), jsxRuntime.jsx(button.default, { size: size, ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
exports.default = Confirm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport Button from \"./button\";\nimport type { IButton, IButtonConfirm } from \"./type\";\n\nconst defaultOk = {\n\tchildren: \"确定\",\n\tclassName: \"bg-error\",\n};\n\nconst defaultCancel = {\n\tchildren: \"取消\",\n\tsecondary: true,\n};\n\nexport default function Confirm(props: IButtonConfirm) {\n\tconst {\n\t\tref,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tonOk,\n\t\tonCancel,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive: false,\n\t\tloading: false,\n\t});\n\n\tconst ok: IButton = okButtonProps\n\t\t? Object.assign({}, defaultOk, okButtonProps)\n\t\t: defaultOk;\n\tconst cancel: IButton = cancelButtonProps\n\t\t? Object.assign({}, defaultCancel, cancelButtonProps)\n\t\t: defaultCancel;\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\t\tstate.active = true;\n\t};\n\n\tconst hanldeOk = async () => {\n\t\tif (state.loading) return;\n\t\tstate.loading = true;\n\n\t\ttry {\n\t\t\tconst res = await onOk?.();\n\n\t\t\tif (res !== false) {\n\t\t\t\tstate.active = false;\n\t\t\t}\n\t\t} finally {\n\t\t\tstate.loading = false;\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tstate.active = false;\n\t};\n\n\tif (!state.active) {\n\t\treturn <Button
|
|
1
|
+
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport Button from \"./button\";\nimport type { IButton, IButtonConfirm } from \"./type\";\n\nconst defaultOk = {\n\tchildren: \"确定\",\n\tclassName: \"bg-error\",\n};\n\nconst defaultCancel = {\n\tchildren: \"取消\",\n\tsecondary: true,\n};\n\nexport default function Confirm(props: IButtonConfirm) {\n\tconst {\n\t\tref,\n\t\tsize,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tonOk,\n\t\tonCancel,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive: false,\n\t\tloading: false,\n\t});\n\n\tconst ok: IButton = okButtonProps\n\t\t? Object.assign({}, defaultOk, okButtonProps)\n\t\t: defaultOk;\n\tconst cancel: IButton = cancelButtonProps\n\t\t? Object.assign({}, defaultCancel, cancelButtonProps)\n\t\t: defaultCancel;\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\t\tstate.active = true;\n\t};\n\n\tconst hanldeOk = async () => {\n\t\tif (state.loading) return;\n\t\tstate.loading = true;\n\n\t\ttry {\n\t\t\tconst res = await onOk?.();\n\n\t\t\tif (res !== false) {\n\t\t\t\tstate.active = false;\n\t\t\t}\n\t\t} finally {\n\t\t\tstate.loading = false;\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tstate.active = false;\n\t};\n\n\tif (!state.active) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tsize={size}\n\t\t\t\t{...restProps}\n\t\t\t\tonClick={handleClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button.Group>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...ok}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonClick={hanldeOk}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...cancel}\n\t\t\t\tdisabled={state.loading}\n\t\t\t\tonClick={handleCancel}\n\t\t\t/>\n\t\t</Button.Group>\n\t);\n}\n"],"names":["useReactive","_jsx","Button","_jsxs"],"mappings":";;;;;;;;AAIA,MAAM,SAAS,GAAG;AACjB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,UAAU;CACrB;AAED,MAAM,aAAa,GAAG;AACrB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,IAAI;CACf;AAEuB,SAAA,OAAO,CAAC,KAAqB,EAAA;IACpD,MAAM,EACL,GAAG,EACH,IAAI,EACJ,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,kBAAW,CAAC;AACzB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,OAAO,EAAE,KAAK;AACd,KAAA,CAAC;IAEF,MAAM,EAAE,GAAY;UACjB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa;UAC1C,SAAS;IACZ,MAAM,MAAM,GAAY;UACrB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,iBAAiB;UAClD,aAAa;AAEhB,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,KAAI;AACzB,QAAA,OAAO,GAAG,CAAC,CAAC;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI;AACpB,KAAC;AAED,IAAA,MAAM,QAAQ,GAAG,YAAW;QAC3B,IAAI,KAAK,CAAC,OAAO;YAAE;AACnB,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AAEpB,QAAA,IAAI;AACH,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;AAE1B,YAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AAClB,gBAAA,KAAK,CAAC,MAAM,GAAG,KAAK;;;gBAEZ;AACT,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;;AAEvB,KAAC;IAED,MAAM,YAAY,GAAG,MAAK;QACzB,QAAQ,IAAI;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,KAAK;AACrB,KAAC;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAClB,QAAA,QACCC,cAAC,CAAAC,cAAM,IACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EAAA,GACN,SAAS,EACb,OAAO,EAAE,WAAW,EAAA,CACnB;;IAIJ,QACCC,gBAACD,cAAM,CAAC,KAAK,EACZ,EAAA,QAAA,EAAA,CAAAD,cAAA,CAACC,cAAM,EACN,EAAA,IAAI,EAAE,IAAI,EAAA,GACN,EAAE,EACN,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,QAAQ,EAChB,CAAA,EACFD,eAACC,cAAM,EAAA,EACN,IAAI,EAAE,IAAI,EACN,GAAA,MAAM,EACV,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,OAAO,EAAE,YAAY,EAAA,CACpB,CACY,EAAA,CAAA;AAEjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useConfig from \"./useConfig\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"names":["useMemo","useEffect","PubSub","_jsx","Context","classNames","useForm","Field","useConfig"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useConfig from \"./useConfig\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(e, form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"names":["useMemo","useEffect","PubSub","_jsx","Context","classNames","useForm","Field","useConfig"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9B,KAAC;AAED,IAAA,MAAM,WAAW,GAAGA,aAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC9B,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;AAEzC,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEbC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEVA,eAAS,CAAC,MAAK;AACd,QAAAC,eAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACXA,eAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,CAAC;AACxC,SAAC;KACD,EAAE,EAAE,CAAC;IAEN,QACCC,cAAC,CAAAC,eAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBD,cACC,CAAA,MAAA,EAAA,EAAA,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAEE,mBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EACE,CAAA;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAGC,eAAO;AACtB,IAAI,CAAC,KAAK,GAAGC,aAAK;AAClB,IAAI,CAAC,SAAS,GAAGC,iBAAS;;;;"}
|
|
@@ -35,6 +35,7 @@ function Popup(props) {
|
|
|
35
35
|
return;
|
|
36
36
|
clearTimeout(timerRef.current);
|
|
37
37
|
timerRef.current = null;
|
|
38
|
+
statusRef.current = "";
|
|
38
39
|
};
|
|
39
40
|
const handleShow = () => {
|
|
40
41
|
if (disabled)
|
|
@@ -43,34 +44,35 @@ function Popup(props) {
|
|
|
43
44
|
(trigger !== "hover" || (trigger === "hover" && !touchable))) {
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
state.show = true;
|
|
47
47
|
statusRef.current = "showing";
|
|
48
|
+
state.show = true;
|
|
48
49
|
timerRef.current = setTimeout(() => {
|
|
49
|
-
if (statusRef.current !== "showing")
|
|
50
|
+
if (statusRef.current !== "showing")
|
|
50
51
|
return;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
requestAnimationFrame(() => {
|
|
53
|
+
const [left, top, { arrowX, arrowY, arrowPos }] = utils.getPosition(triggerRef.current, contentRef.current, {
|
|
54
|
+
position,
|
|
55
|
+
gap,
|
|
56
|
+
offset,
|
|
57
|
+
align,
|
|
58
|
+
refWindow: referToWindow,
|
|
59
|
+
});
|
|
60
|
+
state.style = {
|
|
61
|
+
...state.style,
|
|
62
|
+
opacity: 1,
|
|
63
|
+
transform: "none",
|
|
64
|
+
left,
|
|
65
|
+
top,
|
|
66
|
+
};
|
|
67
|
+
state.arrowProps = {
|
|
68
|
+
left: arrowX,
|
|
69
|
+
top: arrowY,
|
|
70
|
+
pos: arrowPos,
|
|
71
|
+
};
|
|
72
|
+
onVisibleChange?.(true);
|
|
73
|
+
clearTimer();
|
|
74
|
+
statusRef.current = "";
|
|
58
75
|
});
|
|
59
|
-
state.style = {
|
|
60
|
-
...state.style,
|
|
61
|
-
opacity: 1,
|
|
62
|
-
transform: "none",
|
|
63
|
-
left,
|
|
64
|
-
top,
|
|
65
|
-
};
|
|
66
|
-
state.arrowProps = {
|
|
67
|
-
left: arrowX,
|
|
68
|
-
top: arrowY,
|
|
69
|
-
pos: arrowPos,
|
|
70
|
-
};
|
|
71
|
-
onVisibleChange?.(true);
|
|
72
|
-
clearTimer();
|
|
73
|
-
statusRef.current = "";
|
|
74
76
|
}, showDelay);
|
|
75
77
|
};
|
|
76
78
|
const handleHide = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.js","sources":["../../../../packages/components/popup/popup.tsx"],"sourcesContent":["import { useCreation, useReactive } from \"ahooks\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tisValidElement,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseUp, useResizeObserver } from \"../../js/hooks\";\nimport { getPointPosition, getPosition } from \"../../js/utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport { IPopup } from \"./type\";\n\nexport default function Popup(props: IPopup) {\n\tconst {\n\t\tvisible = false,\n\t\tcontent,\n\t\ttrigger = \"hover\",\n\t\tgap = 12,\n\t\toffset = 8,\n\t\tfixed,\n\t\tposition = \"top\",\n\t\tshowDelay = 16,\n\t\thideDelay = 12,\n\t\ttouchable,\n\t\tarrow = true,\n\t\talign,\n\t\tfitSize,\n\t\twatchResize,\n\t\tclickOutside = true,\n\t\tdisabled,\n\t\treferToWindow,\n\t\tstyle,\n\t\tclassName,\n\t\tgetContainer,\n\t\tchildren,\n\t\tonVisibleChange,\n\t} = props;\n\n\tconst triggerRef = useRef<HTMLElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst statusRef = useRef<string>(\"\");\n\tconst state = useReactive<{\n\t\tshow: boolean;\n\t\tstyle: CSSProperties;\n\t\tarrowProps: Record<string, any>;\n\t}>({\n\t\tshow: false,\n\t\tstyle: { position: fixed ? \"fixed\" : \"absolute\" },\n\t\tarrowProps: {},\n\t});\n\n\tuseMouseUp((e) => {\n\t\tif (!triggerRef.current || !contentRef.current || !clickOutside) return;\n\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst isContain =\n\t\t\ttriggerRef.current.contains(tar) ||\n\t\t\tcontentRef.current.contains(tar);\n\n\t\tif (!state.show || isContain) return;\n\n\t\thandleToggle(false);\n\t});\n\n\tconst clearTimer = () => {\n\t\tif (!timerRef.current) return;\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t};\n\n\tconst handleShow = () => {\n\t\tif (disabled) return;\n\t\tif (\n\t\t\tstate.show &&\n\t\t\t(trigger !== \"hover\" || (trigger === \"hover\" && !touchable))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show = true;\n\t\tstatusRef.current = \"showing\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"showing\") {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\t\ttriggerRef.current,\n\t\t\t\tcontentRef.current,\n\t\t\t\t{\n\t\t\t\t\tposition,\n\t\t\t\t\tgap,\n\t\t\t\t\toffset,\n\t\t\t\t\talign,\n\t\t\t\t\trefWindow: referToWindow,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"none\",\n\t\t\t\tleft,\n\t\t\t\ttop,\n\t\t\t};\n\t\t\tstate.arrowProps = {\n\t\t\t\tleft: arrowX,\n\t\t\t\ttop: arrowY,\n\t\t\t\tpos: arrowPos,\n\t\t\t};\n\t\t\tonVisibleChange?.(true);\n\t\t\tclearTimer();\n\t\t\tstatusRef.current = \"\";\n\t\t}, showDelay);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!state.show) return;\n\n\t\tstatusRef.current = \"hiding\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"hiding\") {\n\t\t\t\tclearTimer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translate(0, 2px)\",\n\t\t\t};\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.show = false;\n\t\t\t\tclearTimer();\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t}, 160);\n\t\t}, hideDelay);\n\t};\n\n\tconst handleToggle = (action?: boolean) => {\n\t\tif (action !== undefined) {\n\t\t\taction ? handleShow() : handleHide();\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show ? handleHide() : handleShow();\n\t};\n\tconst eventMaps = useCreation(\n\t\t() => ({\n\t\t\tclick: {\n\t\t\t\tonClick: () => handleToggle(true),\n\t\t\t},\n\t\t\thover: {\n\t\t\t\tonMouseEnter: () => handleToggle(true),\n\t\t\t\tonMouseLeave: () => handleToggle(false),\n\t\t\t},\n\t\t\tfocus: {\n\t\t\t\tonFocus: () => handleToggle(true),\n\t\t\t\tonBlur: () => handleToggle(false),\n\t\t\t},\n\t\t\tcontextmenu: {\n\t\t\t\tonContextMenu: (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (state.show) {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.show = true;\n\n\t\t\t\t\ttimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tclearTimer();\n\t\t\t\t\t\tonVisibleChange?.(true);\n\t\t\t\t\t}, showDelay);\n\t\t\t\t},\n\t\t\t},\n\t\t\tnone: {},\n\t\t}),\n\t\t[]\n\t);\n\n\tconst contentTouch = useMemo(() => {\n\t\tif (!touchable) return {};\n\t\tconst events: { [key: string]: () => void } = {};\n\n\t\tif (trigger === \"hover\") {\n\t\t\tevents[\"onMouseEnter\"] = () => {\n\t\t\t\tclearTimer();\n\t\t\t};\n\t\t\tevents[\"onMouseLeave\"] = () => handleToggle(false);\n\t\t}\n\n\t\treturn events;\n\t}, [touchable, trigger]);\n\n\tconst computePosition = () => {\n\t\tif (!state.show) return;\n\n\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\ttriggerRef.current,\n\t\t\tcontentRef.current,\n\t\t\t{\n\t\t\t\tposition,\n\t\t\t\tgap,\n\t\t\t\toffset,\n\t\t\t\talign,\n\t\t\t\trefWindow: referToWindow,\n\t\t\t}\n\t\t);\n\n\t\tObject.assign(state, {\n\t\t\tstyle: { ...state.style, left, top },\n\t\t\tarrowProps: { left: arrowX, top: arrowY, pos: arrowPos },\n\t\t});\n\t};\n\n\tconst { observe, unobserve, disconnect } = useResizeObserver();\n\tuseEffect(() => {\n\t\tif (trigger === \"contextmenu\" || !observe) return;\n\n\t\ttriggerRef.current && observe(triggerRef.current, computePosition);\n\n\t\tif (!watchResize || !contentRef.current) return;\n\n\t\tobserve(contentRef.current, computePosition);\n\n\t\treturn () => {\n\t\t\tif (!watchResize || !contentRef.current) return;\n\n\t\t\tunobserve(contentRef.current);\n\t\t\ttriggerRef.current && unobserve(triggerRef.current);\n\t\t\tdisconnect();\n\t\t};\n\t}, [watchResize, contentRef.current, triggerRef.current]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!fitSize || !state.show) return;\n\n\t\tconst vertical = [\"top\", \"bottom\"].includes(position);\n\t\tconst size =\n\t\t\ttriggerRef.current?.[vertical ? \"offsetWidth\" : \"offsetHeight\"];\n\t\tstate.style = { ...state.style, [vertical ? \"width\" : \"height\"]: size };\n\t}, [state.show, fitSize]);\n\n\tuseLayoutEffect(() => {\n\t\thandleToggle(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (!isValidElement(child)) return;\n\n\t\t\t\tconst { className, ...restProps } = child.props as any;\n\t\t\t\tObject.keys(eventMaps[trigger]).map((evt) => {\n\t\t\t\t\tif (!restProps[evt]) return;\n\t\t\t\t\tconst fn = eventMaps[trigger][evt];\n\n\t\t\t\t\teventMaps[trigger][evt] = (e) => {\n\t\t\t\t\t\tfn();\n\t\t\t\t\t\trestProps[evt](e);\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\tref: triggerRef,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...eventMaps[trigger],\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{state.show && (\n\t\t\t\t<Content\n\t\t\t\t\tref={contentRef}\n\t\t\t\t\tarrow={arrow && trigger !== \"contextmenu\"}\n\t\t\t\t\tstyle={{ ...style, ...state.style }}\n\t\t\t\t\tarrowProps={state.arrowProps}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...contentTouch}\n\t\t\t\t\ttrigger={triggerRef.current as HTMLElement}\n\t\t\t\t\tgetContainer={getContainer}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Content>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"],"names":["content","useRef","useReactive","useMouseUp","getPosition","useCreation","getPointPosition","useMemo","useResizeObserver","useEffect","useLayoutEffect","_jsxs","_Fragment","Children","isValidElement","cloneElement","_jsx","Content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popup.js","sources":["../../../../packages/components/popup/popup.tsx"],"sourcesContent":["import { useCreation, useReactive } from \"ahooks\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tisValidElement,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseUp, useResizeObserver } from \"../../js/hooks\";\nimport { getPointPosition, getPosition } from \"../../js/utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport { IPopup } from \"./type\";\n\nexport default function Popup(props: IPopup) {\n\tconst {\n\t\tvisible = false,\n\t\tcontent,\n\t\ttrigger = \"hover\",\n\t\tgap = 12,\n\t\toffset = 8,\n\t\tfixed,\n\t\tposition = \"top\",\n\t\tshowDelay = 16,\n\t\thideDelay = 12,\n\t\ttouchable,\n\t\tarrow = true,\n\t\talign,\n\t\tfitSize,\n\t\twatchResize,\n\t\tclickOutside = true,\n\t\tdisabled,\n\t\treferToWindow,\n\t\tstyle,\n\t\tclassName,\n\t\tgetContainer,\n\t\tchildren,\n\t\tonVisibleChange,\n\t} = props;\n\n\tconst triggerRef = useRef<HTMLElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst statusRef = useRef<string>(\"\");\n\tconst state = useReactive<{\n\t\tshow: boolean;\n\t\tstyle: CSSProperties;\n\t\tarrowProps: Record<string, any>;\n\t}>({\n\t\tshow: false,\n\t\tstyle: { position: fixed ? \"fixed\" : \"absolute\" },\n\t\tarrowProps: {},\n\t});\n\n\tuseMouseUp((e) => {\n\t\tif (!triggerRef.current || !contentRef.current || !clickOutside) return;\n\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst isContain =\n\t\t\ttriggerRef.current.contains(tar) ||\n\t\t\tcontentRef.current.contains(tar);\n\n\t\tif (!state.show || isContain) return;\n\n\t\thandleToggle(false);\n\t});\n\n\tconst clearTimer = () => {\n\t\tif (!timerRef.current) return;\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t\tstatusRef.current = \"\";\n\t};\n\n\tconst handleShow = () => {\n\t\tif (disabled) return;\n\t\tif (\n\t\t\tstate.show &&\n\t\t\t(trigger !== \"hover\" || (trigger === \"hover\" && !touchable))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tstatusRef.current = \"showing\";\n\t\tstate.show = true;\n\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"showing\") return;\n\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\t\t\ttriggerRef.current,\n\t\t\t\t\tcontentRef.current,\n\t\t\t\t\t{\n\t\t\t\t\t\tposition,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\toffset,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\trefWindow: referToWindow,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tstate.style = {\n\t\t\t\t\t...state.style,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\tleft,\n\t\t\t\t\ttop,\n\t\t\t\t};\n\t\t\t\tstate.arrowProps = {\n\t\t\t\t\tleft: arrowX,\n\t\t\t\t\ttop: arrowY,\n\t\t\t\t\tpos: arrowPos,\n\t\t\t\t};\n\t\t\t\tonVisibleChange?.(true);\n\t\t\t\tclearTimer();\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t});\n\t\t}, showDelay);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!state.show) return;\n\n\t\tstatusRef.current = \"hiding\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"hiding\") {\n\t\t\t\tclearTimer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translate(0, 2px)\",\n\t\t\t};\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.show = false;\n\t\t\t\tclearTimer();\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t}, 160);\n\t\t}, hideDelay);\n\t};\n\n\tconst handleToggle = (action?: boolean) => {\n\t\tif (action !== undefined) {\n\t\t\taction ? handleShow() : handleHide();\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show ? handleHide() : handleShow();\n\t};\n\tconst eventMaps = useCreation(\n\t\t() => ({\n\t\t\tclick: {\n\t\t\t\tonClick: () => handleToggle(true),\n\t\t\t},\n\t\t\thover: {\n\t\t\t\tonMouseEnter: () => handleToggle(true),\n\t\t\t\tonMouseLeave: () => handleToggle(false),\n\t\t\t},\n\t\t\tfocus: {\n\t\t\t\tonFocus: () => handleToggle(true),\n\t\t\t\tonBlur: () => handleToggle(false),\n\t\t\t},\n\t\t\tcontextmenu: {\n\t\t\t\tonContextMenu: (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (state.show) {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.show = true;\n\n\t\t\t\t\ttimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tclearTimer();\n\t\t\t\t\t\tonVisibleChange?.(true);\n\t\t\t\t\t}, showDelay);\n\t\t\t\t},\n\t\t\t},\n\t\t\tnone: {},\n\t\t}),\n\t\t[]\n\t);\n\n\tconst contentTouch = useMemo(() => {\n\t\tif (!touchable) return {};\n\t\tconst events: { [key: string]: () => void } = {};\n\n\t\tif (trigger === \"hover\") {\n\t\t\tevents[\"onMouseEnter\"] = () => {\n\t\t\t\tclearTimer();\n\t\t\t};\n\t\t\tevents[\"onMouseLeave\"] = () => handleToggle(false);\n\t\t}\n\n\t\treturn events;\n\t}, [touchable, trigger]);\n\n\tconst computePosition = () => {\n\t\tif (!state.show) return;\n\n\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\ttriggerRef.current,\n\t\t\tcontentRef.current,\n\t\t\t{\n\t\t\t\tposition,\n\t\t\t\tgap,\n\t\t\t\toffset,\n\t\t\t\talign,\n\t\t\t\trefWindow: referToWindow,\n\t\t\t}\n\t\t);\n\n\t\tObject.assign(state, {\n\t\t\tstyle: { ...state.style, left, top },\n\t\t\tarrowProps: { left: arrowX, top: arrowY, pos: arrowPos },\n\t\t});\n\t};\n\n\tconst { observe, unobserve, disconnect } = useResizeObserver();\n\tuseEffect(() => {\n\t\tif (trigger === \"contextmenu\" || !observe) return;\n\n\t\ttriggerRef.current && observe(triggerRef.current, computePosition);\n\n\t\tif (!watchResize || !contentRef.current) return;\n\n\t\tobserve(contentRef.current, computePosition);\n\n\t\treturn () => {\n\t\t\tif (!watchResize || !contentRef.current) return;\n\n\t\t\tunobserve(contentRef.current);\n\t\t\ttriggerRef.current && unobserve(triggerRef.current);\n\t\t\tdisconnect();\n\t\t};\n\t}, [watchResize, contentRef.current, triggerRef.current]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!fitSize || !state.show) return;\n\n\t\tconst vertical = [\"top\", \"bottom\"].includes(position);\n\t\tconst size =\n\t\t\ttriggerRef.current?.[vertical ? \"offsetWidth\" : \"offsetHeight\"];\n\t\tstate.style = { ...state.style, [vertical ? \"width\" : \"height\"]: size };\n\t}, [state.show, fitSize]);\n\n\tuseLayoutEffect(() => {\n\t\thandleToggle(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (!isValidElement(child)) return;\n\n\t\t\t\tconst { className, ...restProps } = child.props as any;\n\t\t\t\tObject.keys(eventMaps[trigger]).map((evt) => {\n\t\t\t\t\tif (!restProps[evt]) return;\n\t\t\t\t\tconst fn = eventMaps[trigger][evt];\n\n\t\t\t\t\teventMaps[trigger][evt] = (e) => {\n\t\t\t\t\t\tfn();\n\t\t\t\t\t\trestProps[evt](e);\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\tref: triggerRef,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...eventMaps[trigger],\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{state.show && (\n\t\t\t\t<Content\n\t\t\t\t\tref={contentRef}\n\t\t\t\t\tarrow={arrow && trigger !== \"contextmenu\"}\n\t\t\t\t\tstyle={{ ...style, ...state.style }}\n\t\t\t\t\tarrowProps={state.arrowProps}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...contentTouch}\n\t\t\t\t\ttrigger={triggerRef.current as HTMLElement}\n\t\t\t\t\tgetContainer={getContainer}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Content>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"],"names":["content","useRef","useReactive","useMouseUp","getPosition","useCreation","getPointPosition","useMemo","useResizeObserver","useEffect","useLayoutEffect","_jsxs","_Fragment","Children","isValidElement","cloneElement","_jsx","Content"],"mappings":"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"}
|
|
@@ -40,6 +40,13 @@ const Select = (props) => {
|
|
|
40
40
|
state.value = v;
|
|
41
41
|
onChange?.(v);
|
|
42
42
|
};
|
|
43
|
+
const displayLabel = react.useMemo(() => {
|
|
44
|
+
if (multiple) {
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
const option = formattedOptions.find((opt) => opt.value === state.value);
|
|
48
|
+
return option ? option.label : state.value;
|
|
49
|
+
}, [state.value, formattedOptions]);
|
|
43
50
|
const handleSelect = (value, option) => {
|
|
44
51
|
onSelect?.(value, option);
|
|
45
52
|
if (multiple) {
|
|
@@ -94,7 +101,7 @@ const Select = (props) => {
|
|
|
94
101
|
multiple,
|
|
95
102
|
maxDisplay,
|
|
96
103
|
onSelect: handleSelect,
|
|
97
|
-
}) })) : (jsxRuntime.jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsxRuntime.jsx("input", { value: active ? state.filterValue :
|
|
104
|
+
}) })) : (jsxRuntime.jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsxRuntime.jsx("input", { value: active ? state.filterValue : displayLabel, className: 'i-input i-select', placeholder: displayLabel || placeholder, onChange: handleInputChange, readOnly: !filter })), jsxRuntime.jsx(helpericon.default, { active: !hideArrow, icon: clearable ? undefined : jsxRuntime.jsx(material.UnfoldMoreRound, {}), onClick: handleHelperClick }), append] }) }), text && jsxRuntime.jsx("span", { className: 'i-input-message', children: text })] }));
|
|
98
105
|
};
|
|
99
106
|
|
|
100
107
|
exports.default = Select;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tname,\n\t\tlabel,\n\t\tvalue = \"\",\n\t\tplaceholder,\n\t\toptions = [],\n\t\tmultiple,\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tstyle,\n\t\tclassName,\n\t\tmessage,\n\t\tstatus = \"normal\",\n\t\thideClear,\n\t\thideArrow,\n\t\tmaxDisplay,\n\t\tborder,\n\t\tfilter,\n\t\ttip,\n\t\tfilterPlaceholder = \"...\",\n\t\tpopupProps,\n\t\tonSelect,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tinputValue: \"\",\n\t\tfilterValue: \"\",\n\t\tvalue,\n\t\tloading: false,\n\t});\n\n\tconst [active, setActive] = useState<boolean>(false);\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst filterOptions = useMemo(() => {\n\t\tconst { filterValue: fv } = state;\n\t\tif (!fv || !filter) return formattedOptions;\n\n\t\tconst filterFn =\n\t\t\ttypeof filter === \"function\"\n\t\t\t\t? filter\n\t\t\t\t: (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n\t\treturn formattedOptions.filter(filterFn);\n\t}, [formattedOptions, filter, state.filterValue]);\n\n\tconst changeValue = (v: any) => {\n\t\tstate.value = v;\n\t\tonChange?.(v);\n\t};\n\n\tconst handleSelect = (value: any, option?: TOption) => {\n\t\tonSelect?.(value, option);\n\n\t\tif (multiple) {\n\t\t\tconst values = [...(state.value as any[])];\n\t\t\tconst i = values.findIndex((v) => v === value);\n\n\t\t\ti > -1 ? values.splice(i, 1) : values.push(value);\n\t\t\tchangeValue(values as any);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(false);\n\t\tchangeValue(value);\n\t};\n\n\tconst handleVisibleChange = (visible: boolean) => {\n\t\tsetActive(visible);\n\n\t\tif (!filter) return;\n\n\t\tstate.filterValue = \"\";\n\t};\n\n\tconst handleHelperClick = (e) => {\n\t\te.stopPropagation();\n\t\tsetActive(true);\n\t\tif (!active) return;\n\n\t\tchangeValue(multiple ? [] : \"\");\n\t};\n\n\tconst handleFilterChange = debounce(\n\t\t{ delay: 400 },\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst v = e.target.value;\n\t\t\tstate.filterValue = v;\n\t\t}\n\t);\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tstate.filterValue = e.target.value;\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst hasValue = multiple\n\t\t? (state.value as any[]).length > 0\n\t\t: !!state.value;\n\tconst clearable = !hideClear && active && hasValue;\n\tconst text = message ?? tip;\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t<Popup\n\t\t\t\tposition='bottom'\n\t\t\t\tarrow={false}\n\t\t\t\tfitSize\n\t\t\t\t{...popupProps}\n\t\t\t\tvisible={active}\n\t\t\t\ttrigger='none'\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tcontent={\n\t\t\t\t\t<Options\n\t\t\t\t\t\toptions={filterOptions}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tfilter={!!filter}\n\t\t\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonFilter={handleFilterChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\t\"i-input-focus\": active,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={() => setActive(true)}\n\t\t\t\t>\n\t\t\t\t\t{prepend}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\ttype='hidden'\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{multiple ? (\n\t\t\t\t\t\thasValue ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-input i-select\", {\n\t\t\t\t\t\t\t\t\t\"i-select-multiple\": multiple,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{displayValue({\n\t\t\t\t\t\t\t\t\toptions: formattedOptions,\n\t\t\t\t\t\t\t\t\tvalue: state.value,\n\t\t\t\t\t\t\t\t\tmultiple,\n\t\t\t\t\t\t\t\t\tmaxDisplay,\n\t\t\t\t\t\t\t\t\tonSelect: handleSelect,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!multiple && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tvalue={active ? state.filterValue : state.value}\n\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\tplaceholder={state.value || placeholder}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\treadOnly={!filter}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideArrow}\n\t\t\t\t\t\ticon={clearable ? undefined : <UnfoldMoreRound />}\n\t\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{append}\n\t\t\t\t</div>\n\t\t\t</Popup>\n\n\t\t\t{text && <span className='i-input-message'>{text}</span>}\n\t\t</label>\n\t);\n};\n\nexport default Select;\n"],"names":["options","useReactive","useState","useMemo","formatOption","debounce","useEffect","_jsxs","classNames","_jsx","Popup","Options","displayValue","Helpericon","UnfoldMoreRound"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tname,\n\t\tlabel,\n\t\tvalue = \"\",\n\t\tplaceholder,\n\t\toptions = [],\n\t\tmultiple,\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tstyle,\n\t\tclassName,\n\t\tmessage,\n\t\tstatus = \"normal\",\n\t\thideClear,\n\t\thideArrow,\n\t\tmaxDisplay,\n\t\tborder,\n\t\tfilter,\n\t\ttip,\n\t\tfilterPlaceholder = \"...\",\n\t\tpopupProps,\n\t\tonSelect,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tinputValue: \"\",\n\t\tfilterValue: \"\",\n\t\tvalue,\n\t\tloading: false,\n\t});\n\n\tconst [active, setActive] = useState<boolean>(false);\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst filterOptions = useMemo(() => {\n\t\tconst { filterValue: fv } = state;\n\t\tif (!fv || !filter) return formattedOptions;\n\n\t\tconst filterFn =\n\t\t\ttypeof filter === \"function\"\n\t\t\t\t? filter\n\t\t\t\t: (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n\t\treturn formattedOptions.filter(filterFn);\n\t}, [formattedOptions, filter, state.filterValue]);\n\n\tconst changeValue = (v: any) => {\n\t\tstate.value = v;\n\t\tonChange?.(v);\n\t};\n\n\tconst displayLabel = useMemo(() => {\n\t\tif (multiple) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst option = formattedOptions.find(\n\t\t\t(opt) => opt.value === state.value\n\t\t);\n\t\treturn option ? option.label : state.value;\n\t}, [state.value, formattedOptions]);\n\n\tconst handleSelect = (value: any, option?: TOption) => {\n\t\tonSelect?.(value, option);\n\n\t\tif (multiple) {\n\t\t\tconst values = [...(state.value as any[])];\n\t\t\tconst i = values.findIndex((v) => v === value);\n\n\t\t\ti > -1 ? values.splice(i, 1) : values.push(value);\n\t\t\tchangeValue(values as any);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(false);\n\t\tchangeValue(value);\n\t};\n\n\tconst handleVisibleChange = (visible: boolean) => {\n\t\tsetActive(visible);\n\n\t\tif (!filter) return;\n\n\t\tstate.filterValue = \"\";\n\t};\n\n\tconst handleHelperClick = (e) => {\n\t\te.stopPropagation();\n\t\tsetActive(true);\n\t\tif (!active) return;\n\n\t\tchangeValue(multiple ? [] : \"\");\n\t};\n\n\tconst handleFilterChange = debounce(\n\t\t{ delay: 400 },\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst v = e.target.value;\n\t\t\tstate.filterValue = v;\n\t\t}\n\t);\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tstate.filterValue = e.target.value;\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst hasValue = multiple\n\t\t? (state.value as any[]).length > 0\n\t\t: !!state.value;\n\tconst clearable = !hideClear && active && hasValue;\n\tconst text = message ?? tip;\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t<Popup\n\t\t\t\tposition='bottom'\n\t\t\t\tarrow={false}\n\t\t\t\tfitSize\n\t\t\t\t{...popupProps}\n\t\t\t\tvisible={active}\n\t\t\t\ttrigger='none'\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tcontent={\n\t\t\t\t\t<Options\n\t\t\t\t\t\toptions={filterOptions}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tfilter={!!filter}\n\t\t\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonFilter={handleFilterChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\t\"i-input-focus\": active,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={() => setActive(true)}\n\t\t\t\t>\n\t\t\t\t\t{prepend}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\ttype='hidden'\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{multiple ? (\n\t\t\t\t\t\thasValue ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-input i-select\", {\n\t\t\t\t\t\t\t\t\t\"i-select-multiple\": multiple,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{displayValue({\n\t\t\t\t\t\t\t\t\toptions: formattedOptions,\n\t\t\t\t\t\t\t\t\tvalue: state.value,\n\t\t\t\t\t\t\t\t\tmultiple,\n\t\t\t\t\t\t\t\t\tmaxDisplay,\n\t\t\t\t\t\t\t\t\tonSelect: handleSelect,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!multiple && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tvalue={active ? state.filterValue : displayLabel}\n\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\tplaceholder={displayLabel || placeholder}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\treadOnly={!filter}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideArrow}\n\t\t\t\t\t\ticon={clearable ? undefined : <UnfoldMoreRound />}\n\t\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{append}\n\t\t\t\t</div>\n\t\t\t</Popup>\n\n\t\t\t{text && <span className='i-input-message'>{text}</span>}\n\t\t</label>\n\t);\n};\n\nexport default Select;\n"],"names":["options","useReactive","useState","useMemo","formatOption","debounce","useEffect","_jsxs","classNames","_jsx","Popup","Options","displayValue","Helpericon","UnfoldMoreRound"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ const defaultCancel = {
|
|
|
11
11
|
secondary: true,
|
|
12
12
|
};
|
|
13
13
|
function Confirm(props) {
|
|
14
|
-
const { ref, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
14
|
+
const { ref, size, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
15
15
|
const state = useReactive({
|
|
16
16
|
active: false,
|
|
17
17
|
loading: false,
|
|
@@ -45,9 +45,9 @@ function Confirm(props) {
|
|
|
45
45
|
state.active = false;
|
|
46
46
|
};
|
|
47
47
|
if (!state.active) {
|
|
48
|
-
return jsx(Button, { ref: ref, ...restProps, onClick: handleClick });
|
|
48
|
+
return (jsx(Button, { ref: ref, size: size, ...restProps, onClick: handleClick }));
|
|
49
49
|
}
|
|
50
|
-
return (jsxs(Button.Group, { children: [jsx(Button, { ...ok, loading: state.loading, onClick: hanldeOk }), jsx(Button, { ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
50
|
+
return (jsxs(Button.Group, { children: [jsx(Button, { size: size, ...ok, loading: state.loading, onClick: hanldeOk }), jsx(Button, { size: size, ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
export { Confirm as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport Button from \"./button\";\nimport type { IButton, IButtonConfirm } from \"./type\";\n\nconst defaultOk = {\n\tchildren: \"确定\",\n\tclassName: \"bg-error\",\n};\n\nconst defaultCancel = {\n\tchildren: \"取消\",\n\tsecondary: true,\n};\n\nexport default function Confirm(props: IButtonConfirm) {\n\tconst {\n\t\tref,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tonOk,\n\t\tonCancel,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive: false,\n\t\tloading: false,\n\t});\n\n\tconst ok: IButton = okButtonProps\n\t\t? Object.assign({}, defaultOk, okButtonProps)\n\t\t: defaultOk;\n\tconst cancel: IButton = cancelButtonProps\n\t\t? Object.assign({}, defaultCancel, cancelButtonProps)\n\t\t: defaultCancel;\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\t\tstate.active = true;\n\t};\n\n\tconst hanldeOk = async () => {\n\t\tif (state.loading) return;\n\t\tstate.loading = true;\n\n\t\ttry {\n\t\t\tconst res = await onOk?.();\n\n\t\t\tif (res !== false) {\n\t\t\t\tstate.active = false;\n\t\t\t}\n\t\t} finally {\n\t\t\tstate.loading = false;\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tstate.active = false;\n\t};\n\n\tif (!state.active) {\n\t\treturn <Button
|
|
1
|
+
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport Button from \"./button\";\nimport type { IButton, IButtonConfirm } from \"./type\";\n\nconst defaultOk = {\n\tchildren: \"确定\",\n\tclassName: \"bg-error\",\n};\n\nconst defaultCancel = {\n\tchildren: \"取消\",\n\tsecondary: true,\n};\n\nexport default function Confirm(props: IButtonConfirm) {\n\tconst {\n\t\tref,\n\t\tsize,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tonOk,\n\t\tonCancel,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive: false,\n\t\tloading: false,\n\t});\n\n\tconst ok: IButton = okButtonProps\n\t\t? Object.assign({}, defaultOk, okButtonProps)\n\t\t: defaultOk;\n\tconst cancel: IButton = cancelButtonProps\n\t\t? Object.assign({}, defaultCancel, cancelButtonProps)\n\t\t: defaultCancel;\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\t\tstate.active = true;\n\t};\n\n\tconst hanldeOk = async () => {\n\t\tif (state.loading) return;\n\t\tstate.loading = true;\n\n\t\ttry {\n\t\t\tconst res = await onOk?.();\n\n\t\t\tif (res !== false) {\n\t\t\t\tstate.active = false;\n\t\t\t}\n\t\t} finally {\n\t\t\tstate.loading = false;\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tstate.active = false;\n\t};\n\n\tif (!state.active) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tsize={size}\n\t\t\t\t{...restProps}\n\t\t\t\tonClick={handleClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button.Group>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...ok}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonClick={hanldeOk}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...cancel}\n\t\t\t\tdisabled={state.loading}\n\t\t\t\tonClick={handleCancel}\n\t\t\t/>\n\t\t</Button.Group>\n\t);\n}\n"],"names":["_jsx","_jsxs"],"mappings":";;;;AAIA,MAAM,SAAS,GAAG;AACjB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,UAAU;CACrB;AAED,MAAM,aAAa,GAAG;AACrB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,IAAI;CACf;AAEuB,SAAA,OAAO,CAAC,KAAqB,EAAA;IACpD,MAAM,EACL,GAAG,EACH,IAAI,EACJ,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAG,WAAW,CAAC;AACzB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,OAAO,EAAE,KAAK;AACd,KAAA,CAAC;IAEF,MAAM,EAAE,GAAY;UACjB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa;UAC1C,SAAS;IACZ,MAAM,MAAM,GAAY;UACrB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,iBAAiB;UAClD,aAAa;AAEhB,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,KAAI;AACzB,QAAA,OAAO,GAAG,CAAC,CAAC;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI;AACpB,KAAC;AAED,IAAA,MAAM,QAAQ,GAAG,YAAW;QAC3B,IAAI,KAAK,CAAC,OAAO;YAAE;AACnB,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AAEpB,QAAA,IAAI;AACH,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;AAE1B,YAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AAClB,gBAAA,KAAK,CAAC,MAAM,GAAG,KAAK;;;gBAEZ;AACT,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;;AAEvB,KAAC;IAED,MAAM,YAAY,GAAG,MAAK;QACzB,QAAQ,IAAI;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,KAAK;AACrB,KAAC;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAClB,QAAA,QACCA,GAAC,CAAA,MAAM,IACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EAAA,GACN,SAAS,EACb,OAAO,EAAE,WAAW,EAAA,CACnB;;IAIJ,QACCC,KAAC,MAAM,CAAC,KAAK,EACZ,EAAA,QAAA,EAAA,CAAAD,GAAA,CAAC,MAAM,EACN,EAAA,IAAI,EAAE,IAAI,EAAA,GACN,EAAE,EACN,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,QAAQ,EAChB,CAAA,EACFA,IAAC,MAAM,EAAA,EACN,IAAI,EAAE,IAAI,EACN,GAAA,MAAM,EACV,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,OAAO,EAAE,YAAY,EAAA,CACpB,CACY,EAAA,CAAA;AAEjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useConfig from \"./useConfig\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"names":["_jsx"],"mappings":";;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"form.js","sources":["../../../../packages/components/form/form.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport PubSub from \"pubsub-js\";\nimport { CSSProperties, useEffect, useMemo } from \"react\";\nimport Context from \"./context\";\nimport Field from \"./field\";\nimport \"./index.css\";\nimport { IForm } from \"./type\";\nimport useConfig from \"./useConfig\";\nimport useForm, { IFormInstance } from \"./useForm\";\n\nconst Form = (props: IForm) => {\n\tconst {\n\t\tform = {} as IFormInstance,\n\t\trules,\n\t\tinitialValues,\n\t\tstyle,\n\t\tclassName,\n\t\twidth,\n\t\tcolumns = 1,\n\t\tgap = \"1em\",\n\t\tlabelInline,\n\t\tlabelWidth,\n\t\tlabelRight,\n\t\tchildren,\n\t\tonKeyDown,\n\t\tonEnter,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst handleKeyDown = (e) => {\n\t\tonKeyDown?.(e);\n\n\t\tif (e.keyCode !== 13) return;\n\n\t\tonEnter?.(e, form.data, form);\n\t};\n\n\tconst gridColumns = useMemo(() => {\n\t\tif (!columns) return;\n\n\t\tif (typeof columns === \"number\")\n\t\t\treturn `minmax(0, 1fr) `.repeat(columns);\n\n\t\treturn columns;\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tObject.assign(form, {\n\t\t\tdata: { ...initialValues },\n\t\t\trules,\n\t\t});\n\t}, [form]);\n\n\tuseEffect(() => {\n\t\tPubSub.subscribe(`${form.id}:change`, (evt, v) => {\n\t\t\tonChange?.(v.name, v.value);\n\t\t});\n\n\t\treturn () => {\n\t\t\tPubSub.unsubscribe(`${form.id}:change`);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<Context value={form}>\n\t\t\t<form\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t...style,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\tgridTemplateColumns: gridColumns as any,\n\t\t\t\t\t\t\"--label-width\": labelWidth,\n\t\t\t\t\t\t\"--label-align\": labelRight ? \"right\" : undefined,\n\t\t\t\t\t} as CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\"i-form\", className, {\n\t\t\t\t\t\"i-form-inline\": labelInline,\n\t\t\t\t})}\n\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</form>\n\t\t</Context>\n\t);\n};\n\nForm.useForm = useForm;\nForm.Field = Field;\nForm.useConfig = useConfig;\n\nexport default Form;\n"],"names":["_jsx"],"mappings":";;;;;;;;;AAUA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,IAAI,GAAG,EAAmB,EAC1B,KAAK,EACL,aAAa,EACb,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,GAAG,CAAC,EACX,GAAG,GAAG,KAAK,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,SAAS,GAAG,CAAC,CAAC;AAEd,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;YAAE;QAEtB,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9B,KAAC;AAED,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,MAAK;AAChC,QAAA,IAAI,CAAC,OAAO;YAAE;QAEd,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC9B,YAAA,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;AAEzC,QAAA,OAAO,OAAO;AACf,KAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;AACnB,YAAA,IAAI,EAAE,EAAE,GAAG,aAAa,EAAE;YAC1B,KAAK;AACL,SAAA,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEV,SAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;YAChD,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAC5B,SAAC,CAAC;AAEF,QAAA,OAAO,MAAK;YACX,MAAM,CAAC,WAAW,CAAC,CAAA,EAAG,IAAI,CAAC,EAAE,CAAS,OAAA,CAAA,CAAC;AACxC,SAAC;KACD,EAAE,EAAE,CAAC;IAEN,QACCA,GAAC,CAAA,OAAO,EAAC,EAAA,KAAK,EAAE,IAAI,EAAA,QAAA,EACnBA,GACC,CAAA,MAAA,EAAA,EAAA,KAAK,EACJ;AACC,gBAAA,GAAG,KAAK;gBACR,KAAK;gBACL,GAAG;AACH,gBAAA,mBAAmB,EAAE,WAAkB;AACvC,gBAAA,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;AAChC,aAAA,EAEnB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC1C,gBAAA,eAAe,EAAE,WAAW;aAC5B,CAAC,EACF,SAAS,EAAE,aAAa,EAAA,GACpB,SAAS,EAAA,QAAA,EAEZ,QAAQ,EAAA,CACH,EACE,CAAA;AAEZ;AAEA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,IAAI,CAAC,SAAS,GAAG,SAAS;;;;"}
|
|
@@ -31,6 +31,7 @@ function Popup(props) {
|
|
|
31
31
|
return;
|
|
32
32
|
clearTimeout(timerRef.current);
|
|
33
33
|
timerRef.current = null;
|
|
34
|
+
statusRef.current = "";
|
|
34
35
|
};
|
|
35
36
|
const handleShow = () => {
|
|
36
37
|
if (disabled)
|
|
@@ -39,34 +40,35 @@ function Popup(props) {
|
|
|
39
40
|
(trigger !== "hover" || (trigger === "hover" && !touchable))) {
|
|
40
41
|
return;
|
|
41
42
|
}
|
|
42
|
-
state.show = true;
|
|
43
43
|
statusRef.current = "showing";
|
|
44
|
+
state.show = true;
|
|
44
45
|
timerRef.current = setTimeout(() => {
|
|
45
|
-
if (statusRef.current !== "showing")
|
|
46
|
+
if (statusRef.current !== "showing")
|
|
46
47
|
return;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
requestAnimationFrame(() => {
|
|
49
|
+
const [left, top, { arrowX, arrowY, arrowPos }] = getPosition(triggerRef.current, contentRef.current, {
|
|
50
|
+
position,
|
|
51
|
+
gap,
|
|
52
|
+
offset,
|
|
53
|
+
align,
|
|
54
|
+
refWindow: referToWindow,
|
|
55
|
+
});
|
|
56
|
+
state.style = {
|
|
57
|
+
...state.style,
|
|
58
|
+
opacity: 1,
|
|
59
|
+
transform: "none",
|
|
60
|
+
left,
|
|
61
|
+
top,
|
|
62
|
+
};
|
|
63
|
+
state.arrowProps = {
|
|
64
|
+
left: arrowX,
|
|
65
|
+
top: arrowY,
|
|
66
|
+
pos: arrowPos,
|
|
67
|
+
};
|
|
68
|
+
onVisibleChange?.(true);
|
|
69
|
+
clearTimer();
|
|
70
|
+
statusRef.current = "";
|
|
54
71
|
});
|
|
55
|
-
state.style = {
|
|
56
|
-
...state.style,
|
|
57
|
-
opacity: 1,
|
|
58
|
-
transform: "none",
|
|
59
|
-
left,
|
|
60
|
-
top,
|
|
61
|
-
};
|
|
62
|
-
state.arrowProps = {
|
|
63
|
-
left: arrowX,
|
|
64
|
-
top: arrowY,
|
|
65
|
-
pos: arrowPos,
|
|
66
|
-
};
|
|
67
|
-
onVisibleChange?.(true);
|
|
68
|
-
clearTimer();
|
|
69
|
-
statusRef.current = "";
|
|
70
72
|
}, showDelay);
|
|
71
73
|
};
|
|
72
74
|
const handleHide = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.js","sources":["../../../../packages/components/popup/popup.tsx"],"sourcesContent":["import { useCreation, useReactive } from \"ahooks\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tisValidElement,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseUp, useResizeObserver } from \"../../js/hooks\";\nimport { getPointPosition, getPosition } from \"../../js/utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport { IPopup } from \"./type\";\n\nexport default function Popup(props: IPopup) {\n\tconst {\n\t\tvisible = false,\n\t\tcontent,\n\t\ttrigger = \"hover\",\n\t\tgap = 12,\n\t\toffset = 8,\n\t\tfixed,\n\t\tposition = \"top\",\n\t\tshowDelay = 16,\n\t\thideDelay = 12,\n\t\ttouchable,\n\t\tarrow = true,\n\t\talign,\n\t\tfitSize,\n\t\twatchResize,\n\t\tclickOutside = true,\n\t\tdisabled,\n\t\treferToWindow,\n\t\tstyle,\n\t\tclassName,\n\t\tgetContainer,\n\t\tchildren,\n\t\tonVisibleChange,\n\t} = props;\n\n\tconst triggerRef = useRef<HTMLElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst statusRef = useRef<string>(\"\");\n\tconst state = useReactive<{\n\t\tshow: boolean;\n\t\tstyle: CSSProperties;\n\t\tarrowProps: Record<string, any>;\n\t}>({\n\t\tshow: false,\n\t\tstyle: { position: fixed ? \"fixed\" : \"absolute\" },\n\t\tarrowProps: {},\n\t});\n\n\tuseMouseUp((e) => {\n\t\tif (!triggerRef.current || !contentRef.current || !clickOutside) return;\n\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst isContain =\n\t\t\ttriggerRef.current.contains(tar) ||\n\t\t\tcontentRef.current.contains(tar);\n\n\t\tif (!state.show || isContain) return;\n\n\t\thandleToggle(false);\n\t});\n\n\tconst clearTimer = () => {\n\t\tif (!timerRef.current) return;\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t};\n\n\tconst handleShow = () => {\n\t\tif (disabled) return;\n\t\tif (\n\t\t\tstate.show &&\n\t\t\t(trigger !== \"hover\" || (trigger === \"hover\" && !touchable))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show = true;\n\t\tstatusRef.current = \"showing\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"showing\") {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\t\ttriggerRef.current,\n\t\t\t\tcontentRef.current,\n\t\t\t\t{\n\t\t\t\t\tposition,\n\t\t\t\t\tgap,\n\t\t\t\t\toffset,\n\t\t\t\t\talign,\n\t\t\t\t\trefWindow: referToWindow,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 1,\n\t\t\t\ttransform: \"none\",\n\t\t\t\tleft,\n\t\t\t\ttop,\n\t\t\t};\n\t\t\tstate.arrowProps = {\n\t\t\t\tleft: arrowX,\n\t\t\t\ttop: arrowY,\n\t\t\t\tpos: arrowPos,\n\t\t\t};\n\t\t\tonVisibleChange?.(true);\n\t\t\tclearTimer();\n\t\t\tstatusRef.current = \"\";\n\t\t}, showDelay);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!state.show) return;\n\n\t\tstatusRef.current = \"hiding\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"hiding\") {\n\t\t\t\tclearTimer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translate(0, 2px)\",\n\t\t\t};\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.show = false;\n\t\t\t\tclearTimer();\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t}, 160);\n\t\t}, hideDelay);\n\t};\n\n\tconst handleToggle = (action?: boolean) => {\n\t\tif (action !== undefined) {\n\t\t\taction ? handleShow() : handleHide();\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show ? handleHide() : handleShow();\n\t};\n\tconst eventMaps = useCreation(\n\t\t() => ({\n\t\t\tclick: {\n\t\t\t\tonClick: () => handleToggle(true),\n\t\t\t},\n\t\t\thover: {\n\t\t\t\tonMouseEnter: () => handleToggle(true),\n\t\t\t\tonMouseLeave: () => handleToggle(false),\n\t\t\t},\n\t\t\tfocus: {\n\t\t\t\tonFocus: () => handleToggle(true),\n\t\t\t\tonBlur: () => handleToggle(false),\n\t\t\t},\n\t\t\tcontextmenu: {\n\t\t\t\tonContextMenu: (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (state.show) {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.show = true;\n\n\t\t\t\t\ttimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tclearTimer();\n\t\t\t\t\t\tonVisibleChange?.(true);\n\t\t\t\t\t}, showDelay);\n\t\t\t\t},\n\t\t\t},\n\t\t\tnone: {},\n\t\t}),\n\t\t[]\n\t);\n\n\tconst contentTouch = useMemo(() => {\n\t\tif (!touchable) return {};\n\t\tconst events: { [key: string]: () => void } = {};\n\n\t\tif (trigger === \"hover\") {\n\t\t\tevents[\"onMouseEnter\"] = () => {\n\t\t\t\tclearTimer();\n\t\t\t};\n\t\t\tevents[\"onMouseLeave\"] = () => handleToggle(false);\n\t\t}\n\n\t\treturn events;\n\t}, [touchable, trigger]);\n\n\tconst computePosition = () => {\n\t\tif (!state.show) return;\n\n\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\ttriggerRef.current,\n\t\t\tcontentRef.current,\n\t\t\t{\n\t\t\t\tposition,\n\t\t\t\tgap,\n\t\t\t\toffset,\n\t\t\t\talign,\n\t\t\t\trefWindow: referToWindow,\n\t\t\t}\n\t\t);\n\n\t\tObject.assign(state, {\n\t\t\tstyle: { ...state.style, left, top },\n\t\t\tarrowProps: { left: arrowX, top: arrowY, pos: arrowPos },\n\t\t});\n\t};\n\n\tconst { observe, unobserve, disconnect } = useResizeObserver();\n\tuseEffect(() => {\n\t\tif (trigger === \"contextmenu\" || !observe) return;\n\n\t\ttriggerRef.current && observe(triggerRef.current, computePosition);\n\n\t\tif (!watchResize || !contentRef.current) return;\n\n\t\tobserve(contentRef.current, computePosition);\n\n\t\treturn () => {\n\t\t\tif (!watchResize || !contentRef.current) return;\n\n\t\t\tunobserve(contentRef.current);\n\t\t\ttriggerRef.current && unobserve(triggerRef.current);\n\t\t\tdisconnect();\n\t\t};\n\t}, [watchResize, contentRef.current, triggerRef.current]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!fitSize || !state.show) return;\n\n\t\tconst vertical = [\"top\", \"bottom\"].includes(position);\n\t\tconst size =\n\t\t\ttriggerRef.current?.[vertical ? \"offsetWidth\" : \"offsetHeight\"];\n\t\tstate.style = { ...state.style, [vertical ? \"width\" : \"height\"]: size };\n\t}, [state.show, fitSize]);\n\n\tuseLayoutEffect(() => {\n\t\thandleToggle(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (!isValidElement(child)) return;\n\n\t\t\t\tconst { className, ...restProps } = child.props as any;\n\t\t\t\tObject.keys(eventMaps[trigger]).map((evt) => {\n\t\t\t\t\tif (!restProps[evt]) return;\n\t\t\t\t\tconst fn = eventMaps[trigger][evt];\n\n\t\t\t\t\teventMaps[trigger][evt] = (e) => {\n\t\t\t\t\t\tfn();\n\t\t\t\t\t\trestProps[evt](e);\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\tref: triggerRef,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...eventMaps[trigger],\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{state.show && (\n\t\t\t\t<Content\n\t\t\t\t\tref={contentRef}\n\t\t\t\t\tarrow={arrow && trigger !== \"contextmenu\"}\n\t\t\t\t\tstyle={{ ...style, ...state.style }}\n\t\t\t\t\tarrowProps={state.arrowProps}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...contentTouch}\n\t\t\t\t\ttrigger={triggerRef.current as HTMLElement}\n\t\t\t\t\tgetContainer={getContainer}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Content>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popup.js","sources":["../../../../packages/components/popup/popup.tsx"],"sourcesContent":["import { useCreation, useReactive } from \"ahooks\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tisValidElement,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseUp, useResizeObserver } from \"../../js/hooks\";\nimport { getPointPosition, getPosition } from \"../../js/utils\";\nimport Content from \"./content\";\nimport \"./index.css\";\nimport { IPopup } from \"./type\";\n\nexport default function Popup(props: IPopup) {\n\tconst {\n\t\tvisible = false,\n\t\tcontent,\n\t\ttrigger = \"hover\",\n\t\tgap = 12,\n\t\toffset = 8,\n\t\tfixed,\n\t\tposition = \"top\",\n\t\tshowDelay = 16,\n\t\thideDelay = 12,\n\t\ttouchable,\n\t\tarrow = true,\n\t\talign,\n\t\tfitSize,\n\t\twatchResize,\n\t\tclickOutside = true,\n\t\tdisabled,\n\t\treferToWindow,\n\t\tstyle,\n\t\tclassName,\n\t\tgetContainer,\n\t\tchildren,\n\t\tonVisibleChange,\n\t} = props;\n\n\tconst triggerRef = useRef<HTMLElement>(null);\n\tconst contentRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst statusRef = useRef<string>(\"\");\n\tconst state = useReactive<{\n\t\tshow: boolean;\n\t\tstyle: CSSProperties;\n\t\tarrowProps: Record<string, any>;\n\t}>({\n\t\tshow: false,\n\t\tstyle: { position: fixed ? \"fixed\" : \"absolute\" },\n\t\tarrowProps: {},\n\t});\n\n\tuseMouseUp((e) => {\n\t\tif (!triggerRef.current || !contentRef.current || !clickOutside) return;\n\n\t\tconst tar = e.target as HTMLElement;\n\t\tconst isContain =\n\t\t\ttriggerRef.current.contains(tar) ||\n\t\t\tcontentRef.current.contains(tar);\n\n\t\tif (!state.show || isContain) return;\n\n\t\thandleToggle(false);\n\t});\n\n\tconst clearTimer = () => {\n\t\tif (!timerRef.current) return;\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t\tstatusRef.current = \"\";\n\t};\n\n\tconst handleShow = () => {\n\t\tif (disabled) return;\n\t\tif (\n\t\t\tstate.show &&\n\t\t\t(trigger !== \"hover\" || (trigger === \"hover\" && !touchable))\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tstatusRef.current = \"showing\";\n\t\tstate.show = true;\n\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"showing\") return;\n\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\t\t\ttriggerRef.current,\n\t\t\t\t\tcontentRef.current,\n\t\t\t\t\t{\n\t\t\t\t\t\tposition,\n\t\t\t\t\t\tgap,\n\t\t\t\t\t\toffset,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\trefWindow: referToWindow,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tstate.style = {\n\t\t\t\t\t...state.style,\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\tleft,\n\t\t\t\t\ttop,\n\t\t\t\t};\n\t\t\t\tstate.arrowProps = {\n\t\t\t\t\tleft: arrowX,\n\t\t\t\t\ttop: arrowY,\n\t\t\t\t\tpos: arrowPos,\n\t\t\t\t};\n\t\t\t\tonVisibleChange?.(true);\n\t\t\t\tclearTimer();\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t});\n\t\t}, showDelay);\n\t};\n\n\tconst handleHide = () => {\n\t\tif (!state.show) return;\n\n\t\tstatusRef.current = \"hiding\";\n\t\ttimerRef.current = setTimeout(() => {\n\t\t\tif (statusRef.current !== \"hiding\") {\n\t\t\t\tclearTimer();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.style = {\n\t\t\t\t...state.style,\n\t\t\t\topacity: 0,\n\t\t\t\ttransform: \"translate(0, 2px)\",\n\t\t\t};\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.show = false;\n\t\t\t\tclearTimer();\n\t\t\t\tonVisibleChange?.(false);\n\t\t\t\tstatusRef.current = \"\";\n\t\t\t}, 160);\n\t\t}, hideDelay);\n\t};\n\n\tconst handleToggle = (action?: boolean) => {\n\t\tif (action !== undefined) {\n\t\t\taction ? handleShow() : handleHide();\n\t\t\treturn;\n\t\t}\n\n\t\tstate.show ? handleHide() : handleShow();\n\t};\n\tconst eventMaps = useCreation(\n\t\t() => ({\n\t\t\tclick: {\n\t\t\t\tonClick: () => handleToggle(true),\n\t\t\t},\n\t\t\thover: {\n\t\t\t\tonMouseEnter: () => handleToggle(true),\n\t\t\t\tonMouseLeave: () => handleToggle(false),\n\t\t\t},\n\t\t\tfocus: {\n\t\t\t\tonFocus: () => handleToggle(true),\n\t\t\t\tonBlur: () => handleToggle(false),\n\t\t\t},\n\t\t\tcontextmenu: {\n\t\t\t\tonContextMenu: (e: MouseEvent) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\n\t\t\t\t\tif (state.show) {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tstate.show = true;\n\n\t\t\t\t\ttimerRef.current = setTimeout(() => {\n\t\t\t\t\t\tconst [left, top] = getPointPosition(\n\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\tcontentRef.current as HTMLElement\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tstate.style = {\n\t\t\t\t\t\t\t...state.style,\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: \"none\",\n\t\t\t\t\t\t\tleft,\n\t\t\t\t\t\t\ttop,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tclearTimer();\n\t\t\t\t\t\tonVisibleChange?.(true);\n\t\t\t\t\t}, showDelay);\n\t\t\t\t},\n\t\t\t},\n\t\t\tnone: {},\n\t\t}),\n\t\t[]\n\t);\n\n\tconst contentTouch = useMemo(() => {\n\t\tif (!touchable) return {};\n\t\tconst events: { [key: string]: () => void } = {};\n\n\t\tif (trigger === \"hover\") {\n\t\t\tevents[\"onMouseEnter\"] = () => {\n\t\t\t\tclearTimer();\n\t\t\t};\n\t\t\tevents[\"onMouseLeave\"] = () => handleToggle(false);\n\t\t}\n\n\t\treturn events;\n\t}, [touchable, trigger]);\n\n\tconst computePosition = () => {\n\t\tif (!state.show) return;\n\n\t\tconst [left, top, { arrowX, arrowY, arrowPos }] = getPosition(\n\t\t\ttriggerRef.current,\n\t\t\tcontentRef.current,\n\t\t\t{\n\t\t\t\tposition,\n\t\t\t\tgap,\n\t\t\t\toffset,\n\t\t\t\talign,\n\t\t\t\trefWindow: referToWindow,\n\t\t\t}\n\t\t);\n\n\t\tObject.assign(state, {\n\t\t\tstyle: { ...state.style, left, top },\n\t\t\tarrowProps: { left: arrowX, top: arrowY, pos: arrowPos },\n\t\t});\n\t};\n\n\tconst { observe, unobserve, disconnect } = useResizeObserver();\n\tuseEffect(() => {\n\t\tif (trigger === \"contextmenu\" || !observe) return;\n\n\t\ttriggerRef.current && observe(triggerRef.current, computePosition);\n\n\t\tif (!watchResize || !contentRef.current) return;\n\n\t\tobserve(contentRef.current, computePosition);\n\n\t\treturn () => {\n\t\t\tif (!watchResize || !contentRef.current) return;\n\n\t\t\tunobserve(contentRef.current);\n\t\t\ttriggerRef.current && unobserve(triggerRef.current);\n\t\t\tdisconnect();\n\t\t};\n\t}, [watchResize, contentRef.current, triggerRef.current]);\n\n\tuseLayoutEffect(() => {\n\t\tif (!fitSize || !state.show) return;\n\n\t\tconst vertical = [\"top\", \"bottom\"].includes(position);\n\t\tconst size =\n\t\t\ttriggerRef.current?.[vertical ? \"offsetWidth\" : \"offsetHeight\"];\n\t\tstate.style = { ...state.style, [vertical ? \"width\" : \"height\"]: size };\n\t}, [state.show, fitSize]);\n\n\tuseLayoutEffect(() => {\n\t\thandleToggle(visible);\n\t}, [visible]);\n\n\treturn (\n\t\t<>\n\t\t\t{Children.map(children, (child) => {\n\t\t\t\tif (!isValidElement(child)) return;\n\n\t\t\t\tconst { className, ...restProps } = child.props as any;\n\t\t\t\tObject.keys(eventMaps[trigger]).map((evt) => {\n\t\t\t\t\tif (!restProps[evt]) return;\n\t\t\t\t\tconst fn = eventMaps[trigger][evt];\n\n\t\t\t\t\teventMaps[trigger][evt] = (e) => {\n\t\t\t\t\t\tfn();\n\t\t\t\t\t\trestProps[evt](e);\n\t\t\t\t\t};\n\t\t\t\t});\n\n\t\t\t\treturn cloneElement(child, {\n\t\t\t\t\tref: triggerRef,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...eventMaps[trigger],\n\t\t\t\t});\n\t\t\t})}\n\n\t\t\t{state.show && (\n\t\t\t\t<Content\n\t\t\t\t\tref={contentRef}\n\t\t\t\t\tarrow={arrow && trigger !== \"contextmenu\"}\n\t\t\t\t\tstyle={{ ...style, ...state.style }}\n\t\t\t\t\tarrowProps={state.arrowProps}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\t{...contentTouch}\n\t\t\t\t\ttrigger={triggerRef.current as HTMLElement}\n\t\t\t\t\tgetContainer={getContainer}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</Content>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -32,6 +32,13 @@ const Select = (props) => {
|
|
|
32
32
|
state.value = v;
|
|
33
33
|
onChange?.(v);
|
|
34
34
|
};
|
|
35
|
+
const displayLabel = useMemo(() => {
|
|
36
|
+
if (multiple) {
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
const option = formattedOptions.find((opt) => opt.value === state.value);
|
|
40
|
+
return option ? option.label : state.value;
|
|
41
|
+
}, [state.value, formattedOptions]);
|
|
35
42
|
const handleSelect = (value, option) => {
|
|
36
43
|
onSelect?.(value, option);
|
|
37
44
|
if (multiple) {
|
|
@@ -86,7 +93,7 @@ const Select = (props) => {
|
|
|
86
93
|
multiple,
|
|
87
94
|
maxDisplay,
|
|
88
95
|
onSelect: handleSelect,
|
|
89
|
-
}) })) : (jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsx("input", { value: active ? state.filterValue :
|
|
96
|
+
}) })) : (jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsx("input", { value: active ? state.filterValue : displayLabel, className: 'i-input i-select', placeholder: displayLabel || placeholder, onChange: handleInputChange, readOnly: !filter })), jsx(Helpericon, { active: !hideArrow, icon: clearable ? undefined : jsx(UnfoldMoreRound, {}), onClick: handleHelperClick }), append] }) }), text && jsx("span", { className: 'i-input-message', children: text })] }));
|
|
90
97
|
};
|
|
91
98
|
|
|
92
99
|
export { Select as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tname,\n\t\tlabel,\n\t\tvalue = \"\",\n\t\tplaceholder,\n\t\toptions = [],\n\t\tmultiple,\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tstyle,\n\t\tclassName,\n\t\tmessage,\n\t\tstatus = \"normal\",\n\t\thideClear,\n\t\thideArrow,\n\t\tmaxDisplay,\n\t\tborder,\n\t\tfilter,\n\t\ttip,\n\t\tfilterPlaceholder = \"...\",\n\t\tpopupProps,\n\t\tonSelect,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tinputValue: \"\",\n\t\tfilterValue: \"\",\n\t\tvalue,\n\t\tloading: false,\n\t});\n\n\tconst [active, setActive] = useState<boolean>(false);\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst filterOptions = useMemo(() => {\n\t\tconst { filterValue: fv } = state;\n\t\tif (!fv || !filter) return formattedOptions;\n\n\t\tconst filterFn =\n\t\t\ttypeof filter === \"function\"\n\t\t\t\t? filter\n\t\t\t\t: (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n\t\treturn formattedOptions.filter(filterFn);\n\t}, [formattedOptions, filter, state.filterValue]);\n\n\tconst changeValue = (v: any) => {\n\t\tstate.value = v;\n\t\tonChange?.(v);\n\t};\n\n\tconst handleSelect = (value: any, option?: TOption) => {\n\t\tonSelect?.(value, option);\n\n\t\tif (multiple) {\n\t\t\tconst values = [...(state.value as any[])];\n\t\t\tconst i = values.findIndex((v) => v === value);\n\n\t\t\ti > -1 ? values.splice(i, 1) : values.push(value);\n\t\t\tchangeValue(values as any);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(false);\n\t\tchangeValue(value);\n\t};\n\n\tconst handleVisibleChange = (visible: boolean) => {\n\t\tsetActive(visible);\n\n\t\tif (!filter) return;\n\n\t\tstate.filterValue = \"\";\n\t};\n\n\tconst handleHelperClick = (e) => {\n\t\te.stopPropagation();\n\t\tsetActive(true);\n\t\tif (!active) return;\n\n\t\tchangeValue(multiple ? [] : \"\");\n\t};\n\n\tconst handleFilterChange = debounce(\n\t\t{ delay: 400 },\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst v = e.target.value;\n\t\t\tstate.filterValue = v;\n\t\t}\n\t);\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tstate.filterValue = e.target.value;\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst hasValue = multiple\n\t\t? (state.value as any[]).length > 0\n\t\t: !!state.value;\n\tconst clearable = !hideClear && active && hasValue;\n\tconst text = message ?? tip;\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t<Popup\n\t\t\t\tposition='bottom'\n\t\t\t\tarrow={false}\n\t\t\t\tfitSize\n\t\t\t\t{...popupProps}\n\t\t\t\tvisible={active}\n\t\t\t\ttrigger='none'\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tcontent={\n\t\t\t\t\t<Options\n\t\t\t\t\t\toptions={filterOptions}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tfilter={!!filter}\n\t\t\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonFilter={handleFilterChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\t\"i-input-focus\": active,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={() => setActive(true)}\n\t\t\t\t>\n\t\t\t\t\t{prepend}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\ttype='hidden'\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{multiple ? (\n\t\t\t\t\t\thasValue ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-input i-select\", {\n\t\t\t\t\t\t\t\t\t\"i-select-multiple\": multiple,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{displayValue({\n\t\t\t\t\t\t\t\t\toptions: formattedOptions,\n\t\t\t\t\t\t\t\t\tvalue: state.value,\n\t\t\t\t\t\t\t\t\tmultiple,\n\t\t\t\t\t\t\t\t\tmaxDisplay,\n\t\t\t\t\t\t\t\t\tonSelect: handleSelect,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!multiple && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tvalue={active ? state.filterValue : state.value}\n\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\tplaceholder={state.value || placeholder}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\treadOnly={!filter}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideArrow}\n\t\t\t\t\t\ticon={clearable ? undefined : <UnfoldMoreRound />}\n\t\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{append}\n\t\t\t\t</div>\n\t\t\t</Popup>\n\n\t\t\t{text && <span className='i-input-message'>{text}</span>}\n\t\t</label>\n\t);\n};\n\nexport default Select;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../packages/components/select/select.tsx"],"sourcesContent":["import { UnfoldMoreRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport { ChangeEvent, useEffect, useMemo, useState } from \"react\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport { TOption } from \"../../type\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { Options, displayValue } from \"./options\";\nimport { ISelect } from \"./type\";\n\nconst Select = (props: ISelect) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tname,\n\t\tlabel,\n\t\tvalue = \"\",\n\t\tplaceholder,\n\t\toptions = [],\n\t\tmultiple,\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tstyle,\n\t\tclassName,\n\t\tmessage,\n\t\tstatus = \"normal\",\n\t\thideClear,\n\t\thideArrow,\n\t\tmaxDisplay,\n\t\tborder,\n\t\tfilter,\n\t\ttip,\n\t\tfilterPlaceholder = \"...\",\n\t\tpopupProps,\n\t\tonSelect,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tinputValue: \"\",\n\t\tfilterValue: \"\",\n\t\tvalue,\n\t\tloading: false,\n\t});\n\n\tconst [active, setActive] = useState<boolean>(false);\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst filterOptions = useMemo(() => {\n\t\tconst { filterValue: fv } = state;\n\t\tif (!fv || !filter) return formattedOptions;\n\n\t\tconst filterFn =\n\t\t\ttypeof filter === \"function\"\n\t\t\t\t? filter\n\t\t\t\t: (opt) => opt.value.includes(fv) || opt.label.includes(fv);\n\n\t\treturn formattedOptions.filter(filterFn);\n\t}, [formattedOptions, filter, state.filterValue]);\n\n\tconst changeValue = (v: any) => {\n\t\tstate.value = v;\n\t\tonChange?.(v);\n\t};\n\n\tconst displayLabel = useMemo(() => {\n\t\tif (multiple) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tconst option = formattedOptions.find(\n\t\t\t(opt) => opt.value === state.value\n\t\t);\n\t\treturn option ? option.label : state.value;\n\t}, [state.value, formattedOptions]);\n\n\tconst handleSelect = (value: any, option?: TOption) => {\n\t\tonSelect?.(value, option);\n\n\t\tif (multiple) {\n\t\t\tconst values = [...(state.value as any[])];\n\t\t\tconst i = values.findIndex((v) => v === value);\n\n\t\t\ti > -1 ? values.splice(i, 1) : values.push(value);\n\t\t\tchangeValue(values as any);\n\n\t\t\treturn;\n\t\t}\n\n\t\tsetActive(false);\n\t\tchangeValue(value);\n\t};\n\n\tconst handleVisibleChange = (visible: boolean) => {\n\t\tsetActive(visible);\n\n\t\tif (!filter) return;\n\n\t\tstate.filterValue = \"\";\n\t};\n\n\tconst handleHelperClick = (e) => {\n\t\te.stopPropagation();\n\t\tsetActive(true);\n\t\tif (!active) return;\n\n\t\tchangeValue(multiple ? [] : \"\");\n\t};\n\n\tconst handleFilterChange = debounce(\n\t\t{ delay: 400 },\n\t\t(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\tconst v = e.target.value;\n\t\t\tstate.filterValue = v;\n\t\t}\n\t);\n\n\tconst handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tstate.filterValue = e.target.value;\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst hasValue = multiple\n\t\t? (state.value as any[]).length > 0\n\t\t: !!state.value;\n\tconst clearable = !hideClear && active && hasValue;\n\tconst text = message ?? tip;\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && <span className='i-input-label-text'>{label}</span>}\n\n\t\t\t<Popup\n\t\t\t\tposition='bottom'\n\t\t\t\tarrow={false}\n\t\t\t\tfitSize\n\t\t\t\t{...popupProps}\n\t\t\t\tvisible={active}\n\t\t\t\ttrigger='none'\n\t\t\t\tonVisibleChange={handleVisibleChange}\n\t\t\t\tcontent={\n\t\t\t\t\t<Options\n\t\t\t\t\t\toptions={filterOptions}\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\tfilter={!!filter}\n\t\t\t\t\t\tfilterPlaceholder={filterPlaceholder}\n\t\t\t\t\t\tonSelect={handleSelect}\n\t\t\t\t\t\tonFilter={handleFilterChange}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t\t\t\"i-input-focus\": active,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={() => setActive(true)}\n\t\t\t\t>\n\t\t\t\t\t{prepend}\n\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\ttype='hidden'\n\t\t\t\t\t\tvalue={state.value}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{multiple ? (\n\t\t\t\t\t\thasValue ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-input i-select\", {\n\t\t\t\t\t\t\t\t\t\"i-select-multiple\": multiple,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{displayValue({\n\t\t\t\t\t\t\t\t\toptions: formattedOptions,\n\t\t\t\t\t\t\t\t\tvalue: state.value,\n\t\t\t\t\t\t\t\t\tmultiple,\n\t\t\t\t\t\t\t\t\tmaxDisplay,\n\t\t\t\t\t\t\t\t\tonSelect: handleSelect,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null}\n\n\t\t\t\t\t{!multiple && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tvalue={active ? state.filterValue : displayLabel}\n\t\t\t\t\t\t\tclassName='i-input i-select'\n\t\t\t\t\t\t\tplaceholder={displayLabel || placeholder}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\treadOnly={!filter}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive={!hideArrow}\n\t\t\t\t\t\ticon={clearable ? undefined : <UnfoldMoreRound />}\n\t\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t\t/>\n\n\t\t\t\t\t{append}\n\t\t\t\t</div>\n\t\t\t</Popup>\n\n\t\t\t{text && <span className='i-input-message'>{text}</span>}\n\t\t</label>\n\t);\n};\n\nexport default Select;\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -80,7 +80,7 @@ const defaultCancel$1 = {
|
|
|
80
80
|
secondary: true,
|
|
81
81
|
};
|
|
82
82
|
function Confirm(props) {
|
|
83
|
-
const { ref, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
83
|
+
const { ref, size, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
84
84
|
const state = useReactive({
|
|
85
85
|
active: false,
|
|
86
86
|
loading: false,
|
|
@@ -114,9 +114,9 @@ function Confirm(props) {
|
|
|
114
114
|
state.active = false;
|
|
115
115
|
};
|
|
116
116
|
if (!state.active) {
|
|
117
|
-
return jsx(Button, { ref: ref, ...restProps, onClick: handleClick });
|
|
117
|
+
return (jsx(Button, { ref: ref, size: size, ...restProps, onClick: handleClick }));
|
|
118
118
|
}
|
|
119
|
-
return (jsxs(Button.Group, { children: [jsx(Button, { ...ok, loading: state.loading, onClick: hanldeOk }), jsx(Button, { ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
119
|
+
return (jsxs(Button.Group, { children: [jsx(Button, { size: size, ...ok, loading: state.loading, onClick: hanldeOk }), jsx(Button, { size: size, ...cancel, disabled: state.loading, onClick: handleCancel })] }));
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
function Group(props) {
|
|
@@ -1239,6 +1239,7 @@ function Popup(props) {
|
|
|
1239
1239
|
return;
|
|
1240
1240
|
clearTimeout(timerRef.current);
|
|
1241
1241
|
timerRef.current = null;
|
|
1242
|
+
statusRef.current = "";
|
|
1242
1243
|
};
|
|
1243
1244
|
const handleShow = () => {
|
|
1244
1245
|
if (disabled)
|
|
@@ -1247,34 +1248,35 @@ function Popup(props) {
|
|
|
1247
1248
|
(trigger !== "hover" || (trigger === "hover" && !touchable))) {
|
|
1248
1249
|
return;
|
|
1249
1250
|
}
|
|
1250
|
-
state.show = true;
|
|
1251
1251
|
statusRef.current = "showing";
|
|
1252
|
+
state.show = true;
|
|
1252
1253
|
timerRef.current = setTimeout(() => {
|
|
1253
|
-
if (statusRef.current !== "showing")
|
|
1254
|
+
if (statusRef.current !== "showing")
|
|
1254
1255
|
return;
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1256
|
+
requestAnimationFrame(() => {
|
|
1257
|
+
const [left, top, { arrowX, arrowY, arrowPos }] = getPosition(triggerRef.current, contentRef.current, {
|
|
1258
|
+
position,
|
|
1259
|
+
gap,
|
|
1260
|
+
offset,
|
|
1261
|
+
align,
|
|
1262
|
+
refWindow: referToWindow,
|
|
1263
|
+
});
|
|
1264
|
+
state.style = {
|
|
1265
|
+
...state.style,
|
|
1266
|
+
opacity: 1,
|
|
1267
|
+
transform: "none",
|
|
1268
|
+
left,
|
|
1269
|
+
top,
|
|
1270
|
+
};
|
|
1271
|
+
state.arrowProps = {
|
|
1272
|
+
left: arrowX,
|
|
1273
|
+
top: arrowY,
|
|
1274
|
+
pos: arrowPos,
|
|
1275
|
+
};
|
|
1276
|
+
onVisibleChange?.(true);
|
|
1277
|
+
clearTimer();
|
|
1278
|
+
statusRef.current = "";
|
|
1262
1279
|
});
|
|
1263
|
-
state.style = {
|
|
1264
|
-
...state.style,
|
|
1265
|
-
opacity: 1,
|
|
1266
|
-
transform: "none",
|
|
1267
|
-
left,
|
|
1268
|
-
top,
|
|
1269
|
-
};
|
|
1270
|
-
state.arrowProps = {
|
|
1271
|
-
left: arrowX,
|
|
1272
|
-
top: arrowY,
|
|
1273
|
-
pos: arrowPos,
|
|
1274
|
-
};
|
|
1275
|
-
onVisibleChange?.(true);
|
|
1276
|
-
clearTimer();
|
|
1277
|
-
statusRef.current = "";
|
|
1278
1280
|
}, showDelay);
|
|
1279
1281
|
};
|
|
1280
1282
|
const handleHide = () => {
|
|
@@ -1841,7 +1843,7 @@ const Form = (props) => {
|
|
|
1841
1843
|
onKeyDown?.(e);
|
|
1842
1844
|
if (e.keyCode !== 13)
|
|
1843
1845
|
return;
|
|
1844
|
-
onEnter?.(form.data, form);
|
|
1846
|
+
onEnter?.(e, form.data, form);
|
|
1845
1847
|
};
|
|
1846
1848
|
const gridColumns = useMemo(() => {
|
|
1847
1849
|
if (!columns)
|
|
@@ -3137,6 +3139,13 @@ const Select = (props) => {
|
|
|
3137
3139
|
state.value = v;
|
|
3138
3140
|
onChange?.(v);
|
|
3139
3141
|
};
|
|
3142
|
+
const displayLabel = useMemo(() => {
|
|
3143
|
+
if (multiple) {
|
|
3144
|
+
return "";
|
|
3145
|
+
}
|
|
3146
|
+
const option = formattedOptions.find((opt) => opt.value === state.value);
|
|
3147
|
+
return option ? option.label : state.value;
|
|
3148
|
+
}, [state.value, formattedOptions]);
|
|
3140
3149
|
const handleSelect = (value, option) => {
|
|
3141
3150
|
onSelect?.(value, option);
|
|
3142
3151
|
if (multiple) {
|
|
@@ -3191,7 +3200,7 @@ const Select = (props) => {
|
|
|
3191
3200
|
multiple,
|
|
3192
3201
|
maxDisplay,
|
|
3193
3202
|
onSelect: handleSelect,
|
|
3194
|
-
}) })) : (jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsx("input", { value: active ? state.filterValue :
|
|
3203
|
+
}) })) : (jsx("input", { className: 'i-input i-select', placeholder: placeholder, readOnly: true }))) : null, !multiple && (jsx("input", { value: active ? state.filterValue : displayLabel, className: 'i-input i-select', placeholder: displayLabel || placeholder, onChange: handleInputChange, readOnly: !filter })), jsx(Helpericon, { active: !hideArrow, icon: clearable ? undefined : jsx(UnfoldMoreRound, {}), onClick: handleHelperClick }), append] }) }), text && jsx("span", { className: 'i-input-message', children: text })] }));
|
|
3195
3204
|
};
|
|
3196
3205
|
|
|
3197
3206
|
const ColorMethods = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTMLAttributes, ReactNode } from 'react';
|
|
1
|
+
import { HTMLAttributes, KeyboardEvent, ReactNode } from 'react';
|
|
2
2
|
import { IFormInstance } from './useForm.js';
|
|
3
3
|
|
|
4
4
|
type TValidator = (value: any, form: IFormInstance) => boolean | string;
|
|
@@ -18,7 +18,7 @@ interface IForm extends Omit<HTMLAttributes<HTMLFormElement>, "onChange"> {
|
|
|
18
18
|
labelWidth?: string;
|
|
19
19
|
labelInline?: boolean;
|
|
20
20
|
labelRight?: boolean;
|
|
21
|
-
onEnter?: (values: Record<string, any>, form: IFormInstance) => void;
|
|
21
|
+
onEnter?: (e: KeyboardEvent, values: Record<string, any>, form: IFormInstance) => void;
|
|
22
22
|
onChange?: (name: any, value: any) => void;
|
|
23
23
|
}
|
|
24
24
|
interface IField {
|
package/package.json
CHANGED
package/lib/css/index.css
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
@import"@rc-component/color-picker/assets/index.css";:root{--font-size: 15px;--font: normal 400 var(--font-size) / 1.5 -apple-system, "Helvetica Neue", sans-serif;--transition: all 0.24s ease;--padding: 0.32em 0.628em;--radius: 4px;--shadow: 0px 2px 8px var(--dim);--blur: blur(16px);--breakpoint: 880px;--label-width: auto;--label-align: left}article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}*{margin:0;padding:0;border:0;box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,article,section,body{line-height:1.2}a{color:inherit;text-decoration:none;cursor:pointer;transition:var(--transition)}b,strong{font-weight:700}html{position:relative;font:var(--font);color:var(--color);min-height:100vh;overflow-x:hidden;scroll-behavior:smooth}input,button,textarea,select{font:inherit}input:-webkit-autofill{box-shadow:inherit;transition:none}ul,ol{list-style:none}img,video,audio,iframe{display:block;margin:auto;max-height:100%;max-width:100%;transition:var(--transition)}h1{font-size:2.4rem;line-height:1.2}h2{font-size:2rem;line-height:1.2}h3{font-size:1.5rem}h4{font-size:1.2rem}h5,h6{font-size:1rem}label{cursor:pointer}pre,code{font-family:inherit}::selection{background-color:rgba(255,216,50,.6392156863)}.os-windows ::-webkit-scrollbar{width:6px;height:6px;cursor:pointer}.os-windows ::-webkit-scrollbar-thumb{background-color:var(--color-8);cursor:pointer;border-radius:var(--radius)}:root kbd,:root .kbd,:root code,:root .code{display:inline-block;font-family:inherit;margin:0 .2em;padding:0 .4em;border-radius:4px;font-size:.86em;line-height:1.5;white-space:nowrap}:root .code,:root code{background:var(--color-8);color:var(--color-0);font-family:unset}:root kbd,:root .kbd{background-color:var(--white);color:var(--black);border-right:2px solid var(--grey-1);border-bottom:3px solid var(--grey-1);box-shadow:-1px -1px 1px var(--color-9)}:root .chip{padding:.05em .72em;font-size:.94em;background:var(--color-main);color:var(--color-main-reverse);border-radius:var(--radius);transition:var(--transition)}:root .chip:hover{--background-hover: var(--color-main-1);background:var(--background-hover)}:root .link{display:inline-flex;position:relative;white-space:nowrap;color:var(--blue)}:root .absolute{position:absolute}:root .relative{position:relative}:root .fixed{position:fixed}:root .flex{display:flex;gap:inherit}:root .grid{display:grid}:root .flex-column{flex-direction:column}:root .flex-wrap{flex-wrap:wrap}:root .flex-1{flex:1}:root .flex-shrink{flex-shrink:0}:root .sticky-top{position:sticky;top:0;z-index:10}:root .sticky-bottom{position:sticky;bottom:0;z-index:10}:root .sticky-left{position:sticky;left:0;z-index:10}:root .sticky-right{position:sticky;right:0;z-index:10}:root .text-center{text-align:center}:root .text-right{text-align:right}:root .bordered{border:1px solid var(--color-7)}:root .ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}:root .overflow-hidden{overflow:hidden}:root .overflow-auto{overflow:auto}:root .justify-center{justify-content:center}:root .justify-evenly{justify-content:space-evenly}:root .justify-between{justify-content:space-between}:root .justify-start{justify-content:flex-start}:root .justify-end{justify-content:flex-end}:root .items-start{align-items:flex-start}:root .items-end{align-items:flex-end}:root .items-center{align-items:center}:root .self-center{align-self:center}:root .h-100vh{height:100vh}:root .bg-blur{background:var(--background-opacity);backdrop-filter:var(--blur)}:root .roundless{border-radius:0}:root .round{border-radius:50vw}:root .round-0{border-radius:var(--radius)}:root .disabled{opacity:.4;cursor:not-allowed}:root .hidden{display:none !important}:root .shadow{box-shadow:var(--shadow)}:root .hover-shadow{transition:var(--transition)}:root .hover-shadow:hover{box-shadow:var(--shadow)}:root .hover-text-shadow{transition:var(--transition)}:root .hover-text-shadow:hover{text-shadow:var(--shadow)}:root .no-transition{transition:none}:root .hover-opacity{opacity:0;transition:var(--transition)}:root .hover-opacity:hover{opacity:1}:root .hover-children{opacity:0;transform:var(--transition)}:root .hover-parent:hover .hover-children{opacity:1}:root .bg-transparent{background:rgba(0,0,0,0)}:root .font-italic{font-style:italic}:root .font-bold{font-weight:600}:root .font-sm{font-size:.8em}:root .font-lg{font-size:1.2em}:root .mg-auto{margin:auto}:root .mx-auto{margin-inline:auto}:root .my-auto{margin-block:auto}:root .ml-auto{margin-left:auto}:root .mr-auto{margin-right:auto}:root .mt-auto{margin-top:auto}:root .mb-auto{margin-bottom:auto}:root .mg-0{margin:0px}:root .mx-0{margin-inline:0px}:root .my-0{margin-block:0px}:root .mt-0{margin-top:0px}:root .mb-0{margin-bottom:0px}:root .ml-0{margin-left:0px}:root .mr-0{margin-right:0px}:root .pd-0{padding:0px}:root .px-0{padding-inline:0px}:root .py-0{padding-block:0px}:root .pl-0{padding-left:0px}:root .pr-0{padding-right:0px}:root .pt-0{padding-top:0px}:root .pb-0{padding-bottom:0px}:root .gap-0{gap:0px}:root .mg-1{margin:1px}:root .mx-1{margin-inline:1px}:root .my-1{margin-block:1px}:root .mt-1{margin-top:1px}:root .mb-1{margin-bottom:1px}:root .ml-1{margin-left:1px}:root .mr-1{margin-right:1px}:root .pd-1{padding:1px}:root .px-1{padding-inline:1px}:root .py-1{padding-block:1px}:root .pl-1{padding-left:1px}:root .pr-1{padding-right:1px}:root .pt-1{padding-top:1px}:root .pb-1{padding-bottom:1px}:root .gap-1{gap:1px}:root .mg-2{margin:2px}:root .mx-2{margin-inline:2px}:root .my-2{margin-block:2px}:root .mt-2{margin-top:2px}:root .mb-2{margin-bottom:2px}:root .ml-2{margin-left:2px}:root .mr-2{margin-right:2px}:root .pd-2{padding:2px}:root .px-2{padding-inline:2px}:root .py-2{padding-block:2px}:root .pl-2{padding-left:2px}:root .pr-2{padding-right:2px}:root .pt-2{padding-top:2px}:root .pb-2{padding-bottom:2px}:root .gap-2{gap:2px}:root .mg-4{margin:4px}:root .mx-4{margin-inline:4px}:root .my-4{margin-block:4px}:root .mt-4{margin-top:4px}:root .mb-4{margin-bottom:4px}:root .ml-4{margin-left:4px}:root .mr-4{margin-right:4px}:root .pd-4{padding:4px}:root .px-4{padding-inline:4px}:root .py-4{padding-block:4px}:root .pl-4{padding-left:4px}:root .pr-4{padding-right:4px}:root .pt-4{padding-top:4px}:root .pb-4{padding-bottom:4px}:root .gap-4{gap:4px}:root .mg-6{margin:6px}:root .mx-6{margin-inline:6px}:root .my-6{margin-block:6px}:root .mt-6{margin-top:6px}:root .mb-6{margin-bottom:6px}:root .ml-6{margin-left:6px}:root .mr-6{margin-right:6px}:root .pd-6{padding:6px}:root .px-6{padding-inline:6px}:root .py-6{padding-block:6px}:root .pl-6{padding-left:6px}:root .pr-6{padding-right:6px}:root .pt-6{padding-top:6px}:root .pb-6{padding-bottom:6px}:root .gap-6{gap:6px}:root .mg-8{margin:8px}:root .mx-8{margin-inline:8px}:root .my-8{margin-block:8px}:root .mt-8{margin-top:8px}:root .mb-8{margin-bottom:8px}:root .ml-8{margin-left:8px}:root .mr-8{margin-right:8px}:root .pd-8{padding:8px}:root .px-8{padding-inline:8px}:root .py-8{padding-block:8px}:root .pl-8{padding-left:8px}:root .pr-8{padding-right:8px}:root .pt-8{padding-top:8px}:root .pb-8{padding-bottom:8px}:root .gap-8{gap:8px}:root .mg-10{margin:10px}:root .mx-10{margin-inline:10px}:root .my-10{margin-block:10px}:root .mt-10{margin-top:10px}:root .mb-10{margin-bottom:10px}:root .ml-10{margin-left:10px}:root .mr-10{margin-right:10px}:root .pd-10{padding:10px}:root .px-10{padding-inline:10px}:root .py-10{padding-block:10px}:root .pl-10{padding-left:10px}:root .pr-10{padding-right:10px}:root .pt-10{padding-top:10px}:root .pb-10{padding-bottom:10px}:root .gap-10{gap:10px}:root .mg-12{margin:12px}:root .mx-12{margin-inline:12px}:root .my-12{margin-block:12px}:root .mt-12{margin-top:12px}:root .mb-12{margin-bottom:12px}:root .ml-12{margin-left:12px}:root .mr-12{margin-right:12px}:root .pd-12{padding:12px}:root .px-12{padding-inline:12px}:root .py-12{padding-block:12px}:root .pl-12{padding-left:12px}:root .pr-12{padding-right:12px}:root .pt-12{padding-top:12px}:root .pb-12{padding-bottom:12px}:root .gap-12{gap:12px}:root .mg-16{margin:16px}:root .mx-16{margin-inline:16px}:root .my-16{margin-block:16px}:root .mt-16{margin-top:16px}:root .mb-16{margin-bottom:16px}:root .ml-16{margin-left:16px}:root .mr-16{margin-right:16px}:root .pd-16{padding:16px}:root .px-16{padding-inline:16px}:root .py-16{padding-block:16px}:root .pl-16{padding-left:16px}:root .pr-16{padding-right:16px}:root .pt-16{padding-top:16px}:root .pb-16{padding-bottom:16px}:root .gap-16{gap:16px}:root .mg-20{margin:20px}:root .mx-20{margin-inline:20px}:root .my-20{margin-block:20px}:root .mt-20{margin-top:20px}:root .mb-20{margin-bottom:20px}:root .ml-20{margin-left:20px}:root .mr-20{margin-right:20px}:root .pd-20{padding:20px}:root .px-20{padding-inline:20px}:root .py-20{padding-block:20px}:root .pl-20{padding-left:20px}:root .pr-20{padding-right:20px}:root .pt-20{padding-top:20px}:root .pb-20{padding-bottom:20px}:root .gap-20{gap:20px}:root .mg-24{margin:24px}:root .mx-24{margin-inline:24px}:root .my-24{margin-block:24px}:root .mt-24{margin-top:24px}:root .mb-24{margin-bottom:24px}:root .ml-24{margin-left:24px}:root .mr-24{margin-right:24px}:root .pd-24{padding:24px}:root .px-24{padding-inline:24px}:root .py-24{padding-block:24px}:root .pl-24{padding-left:24px}:root .pr-24{padding-right:24px}:root .pt-24{padding-top:24px}:root .pb-24{padding-bottom:24px}:root .gap-24{gap:24px}:root .mg-28{margin:28px}:root .mx-28{margin-inline:28px}:root .my-28{margin-block:28px}:root .mt-28{margin-top:28px}:root .mb-28{margin-bottom:28px}:root .ml-28{margin-left:28px}:root .mr-28{margin-right:28px}:root .pd-28{padding:28px}:root .px-28{padding-inline:28px}:root .py-28{padding-block:28px}:root .pl-28{padding-left:28px}:root .pr-28{padding-right:28px}:root .pt-28{padding-top:28px}:root .pb-28{padding-bottom:28px}:root .gap-28{gap:28px}:root .mg-32{margin:32px}:root .mx-32{margin-inline:32px}:root .my-32{margin-block:32px}:root .mt-32{margin-top:32px}:root .mb-32{margin-bottom:32px}:root .ml-32{margin-left:32px}:root .mr-32{margin-right:32px}:root .pd-32{padding:32px}:root .px-32{padding-inline:32px}:root .py-32{padding-block:32px}:root .pl-32{padding-left:32px}:root .pr-32{padding-right:32px}:root .pt-32{padding-top:32px}:root .pb-32{padding-bottom:32px}:root .gap-32{gap:32px}:root .mg-36{margin:36px}:root .mx-36{margin-inline:36px}:root .my-36{margin-block:36px}:root .mt-36{margin-top:36px}:root .mb-36{margin-bottom:36px}:root .ml-36{margin-left:36px}:root .mr-36{margin-right:36px}:root .pd-36{padding:36px}:root .px-36{padding-inline:36px}:root .py-36{padding-block:36px}:root .pl-36{padding-left:36px}:root .pr-36{padding-right:36px}:root .pt-36{padding-top:36px}:root .pb-36{padding-bottom:36px}:root .gap-36{gap:36px}:root .mg-40{margin:40px}:root .mx-40{margin-inline:40px}:root .my-40{margin-block:40px}:root .mt-40{margin-top:40px}:root .mb-40{margin-bottom:40px}:root .ml-40{margin-left:40px}:root .mr-40{margin-right:40px}:root .pd-40{padding:40px}:root .px-40{padding-inline:40px}:root .py-40{padding-block:40px}:root .pl-40{padding-left:40px}:root .pr-40{padding-right:40px}:root .pt-40{padding-top:40px}:root .pb-40{padding-bottom:40px}:root .gap-40{gap:40px}:root .mg-48{margin:48px}:root .mx-48{margin-inline:48px}:root .my-48{margin-block:48px}:root .mt-48{margin-top:48px}:root .mb-48{margin-bottom:48px}:root .ml-48{margin-left:48px}:root .mr-48{margin-right:48px}:root .pd-48{padding:48px}:root .px-48{padding-inline:48px}:root .py-48{padding-block:48px}:root .pl-48{padding-left:48px}:root .pr-48{padding-right:48px}:root .pt-48{padding-top:48px}:root .pb-48{padding-bottom:48px}:root .gap-48{gap:48px}:root .mg-56{margin:56px}:root .mx-56{margin-inline:56px}:root .my-56{margin-block:56px}:root .mt-56{margin-top:56px}:root .mb-56{margin-bottom:56px}:root .ml-56{margin-left:56px}:root .mr-56{margin-right:56px}:root .pd-56{padding:56px}:root .px-56{padding-inline:56px}:root .py-56{padding-block:56px}:root .pl-56{padding-left:56px}:root .pr-56{padding-right:56px}:root .pt-56{padding-top:56px}:root .pb-56{padding-bottom:56px}:root .gap-56{gap:56px}:root .mg-60{margin:60px}:root .mx-60{margin-inline:60px}:root .my-60{margin-block:60px}:root .mt-60{margin-top:60px}:root .mb-60{margin-bottom:60px}:root .ml-60{margin-left:60px}:root .mr-60{margin-right:60px}:root .pd-60{padding:60px}:root .px-60{padding-inline:60px}:root .py-60{padding-block:60px}:root .pl-60{padding-left:60px}:root .pr-60{padding-right:60px}:root .pt-60{padding-top:60px}:root .pb-60{padding-bottom:60px}:root .gap-60{gap:60px}:root .mg-72{margin:72px}:root .mx-72{margin-inline:72px}:root .my-72{margin-block:72px}:root .mt-72{margin-top:72px}:root .mb-72{margin-bottom:72px}:root .ml-72{margin-left:72px}:root .mr-72{margin-right:72px}:root .pd-72{padding:72px}:root .px-72{padding-inline:72px}:root .py-72{padding-block:72px}:root .pl-72{padding-left:72px}:root .pr-72{padding-right:72px}:root .pt-72{padding-top:72px}:root .pb-72{padding-bottom:72px}:root .gap-72{gap:72px}:root .mg-80{margin:80px}:root .mx-80{margin-inline:80px}:root .my-80{margin-block:80px}:root .mt-80{margin-top:80px}:root .mb-80{margin-bottom:80px}:root .ml-80{margin-left:80px}:root .mr-80{margin-right:80px}:root .pd-80{padding:80px}:root .px-80{padding-inline:80px}:root .py-80{padding-block:80px}:root .pl-80{padding-left:80px}:root .pr-80{padding-right:80px}:root .pt-80{padding-top:80px}:root .pb-80{padding-bottom:80px}:root .gap-80{gap:80px}:root .mg-96{margin:96px}:root .mx-96{margin-inline:96px}:root .my-96{margin-block:96px}:root .mt-96{margin-top:96px}:root .mb-96{margin-bottom:96px}:root .ml-96{margin-left:96px}:root .mr-96{margin-right:96px}:root .pd-96{padding:96px}:root .px-96{padding-inline:96px}:root .py-96{padding-block:96px}:root .pl-96{padding-left:96px}:root .pr-96{padding-right:96px}:root .pt-96{padding-top:96px}:root .pb-96{padding-bottom:96px}:root .gap-96{gap:96px}:root .mg-100{margin:100px}:root .mx-100{margin-inline:100px}:root .my-100{margin-block:100px}:root .mt-100{margin-top:100px}:root .mb-100{margin-bottom:100px}:root .ml-100{margin-left:100px}:root .mr-100{margin-right:100px}:root .pd-100{padding:100px}:root .px-100{padding-inline:100px}:root .py-100{padding-block:100px}:root .pl-100{padding-left:100px}:root .pr-100{padding-right:100px}:root .pt-100{padding-top:100px}:root .pb-100{padding-bottom:100px}:root .gap-100{gap:100px}:root .mg-120{margin:120px}:root .mx-120{margin-inline:120px}:root .my-120{margin-block:120px}:root .mt-120{margin-top:120px}:root .mb-120{margin-bottom:120px}:root .ml-120{margin-left:120px}:root .mr-120{margin-right:120px}:root .pd-120{padding:120px}:root .px-120{padding-inline:120px}:root .py-120{padding-block:120px}:root .pl-120{padding-left:120px}:root .pr-120{padding-right:120px}:root .pt-120{padding-top:120px}:root .pb-120{padding-bottom:120px}:root .gap-120{gap:120px}:root .mg-160{margin:160px}:root .mx-160{margin-inline:160px}:root .my-160{margin-block:160px}:root .mt-160{margin-top:160px}:root .mb-160{margin-bottom:160px}:root .ml-160{margin-left:160px}:root .mr-160{margin-right:160px}:root .pd-160{padding:160px}:root .px-160{padding-inline:160px}:root .py-160{padding-block:160px}:root .pl-160{padding-left:160px}:root .pr-160{padding-right:160px}:root .pt-160{padding-top:160px}:root .pb-160{padding-bottom:160px}:root .gap-160{gap:160px}:root .mg-200{margin:200px}:root .mx-200{margin-inline:200px}:root .my-200{margin-block:200px}:root .mt-200{margin-top:200px}:root .mb-200{margin-bottom:200px}:root .ml-200{margin-left:200px}:root .mr-200{margin-right:200px}:root .pd-200{padding:200px}:root .px-200{padding-inline:200px}:root .py-200{padding-block:200px}:root .pl-200{padding-left:200px}:root .pr-200{padding-right:200px}:root .pt-200{padding-top:200px}:root .pb-200{padding-bottom:200px}:root .gap-200{gap:200px}:root .w-10{width:10%}:root .h-10{height:10%}:root .w-20{width:20%}:root .h-20{height:20%}:root .w-25{width:25%}:root .h-25{height:25%}:root .w-30{width:30%}:root .h-30{height:30%}:root .w-40{width:40%}:root .h-40{height:40%}:root .w-50{width:50%}:root .h-50{height:50%}:root .w-60{width:60%}:root .h-60{height:60%}:root .w-70{width:70%}:root .h-70{height:70%}:root .w-75{width:75%}:root .h-75{height:75%}:root .w-80{width:80%}:root .h-80{height:80%}:root .w-90{width:90%}:root .h-90{height:90%}:root .w-100{width:100%}:root .h-100{height:100%}:root .colspan-2{grid-column:span 2}:root .rowspan-2{grid-row:span 2}:root .colspan-3{grid-column:span 3}:root .rowspan-3{grid-row:span 3}:root .colspan-4{grid-column:span 4}:root .rowspan-4{grid-row:span 4}:root .colspan-5{grid-column:span 5}:root .rowspan-5{grid-row:span 5}:root .colspan-full{grid-column:1/-1}:root .rowspan-full{grid-row:1/-1}@media(min-width: 880px){:root .screen-sm{display:none !important}}@media(max-width: 880px){:root .screen-lg{display:none !important}}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes bounce{20%{transform:translate(12px, 0)}50%{transform:translate(-8px, 0)}80%{transform:translate(6px, 0)}}:root{--background: #fff;--background-1: #f1f1f1;--background-opacity: #ffffffa6;--background-opacity-1: #e9e9e999;--background-opacity-2: #f1f1f1a6;--color: #212121;--color-main: #2d2d2d;--color-main-0: #f1f1f1;--color-main-1: #3a3a3a;--color-main-reverse: #fafafa;--color-backdrop: rgba(0, 0, 0, 0.25);--dim: rgba(0, 0, 0, 0.15);--color-0: black;--color-1: rgb(26.775, 26.775, 26.775);--color-2: rgb(53.55, 53.55, 53.55);--color-3: rgb(80.325, 80.325, 80.325);--color-4: rgb(107.1, 107.1, 107.1);--color-5: rgb(133.875, 133.875, 133.875);--color-6: rgb(160.65, 160.65, 160.65);--color-7: rgb(187.425, 187.425, 187.425);--color-8: rgb(214.2, 214.2, 214.2);--color-9: rgb(240.975, 240.975, 240.975);--white-0: white;--white: white;--white-1: #fafafa;--black-0: #dbdbdb;--black: black;--black-1: #1a1a1a;--red-0: #fcdfe4;--red: #dc143c;--red-1: #dc143c;--blue-0: #d6ebff;--blue: #1e90ff;--blue-1: #007cf4;--green-0: #e7fff2;--green: #3cb371;--green-1: #37a467;--yellow-0: #fffae5;--yellow: #ffc549;--yellow-1: #ffb820;--brown-0: #fbece2;--brown: #95410c;--brown-1: #8b3a07;--grey-0: #f6f6f6;--grey: #d7d7d7;--grey-1: #b1b1b1;--pink-0: #ffe3f1;--pink: #ff69b4;--pink-1: #ff55aa;--purple-0: #eddefb;--purple: #8a2be2;--purple-1: #751bc9;--aqua-0: #e8ffff;--aqua: aqua;--aqua-1: #1efdfd;--orange-0: #fff1e8;--orange: #fb812a;--orange-1: #eb7521;--warning-0: #fff0bf;--warning: #ffb01f;--warning-1: #f0a313;--error-0: #ffdbdb;--error: #ff4545;--error-1: #f13636;--success-0: #acf899;--success: #52e12e;--success-1: #4ad926}:root .color-main{color:var(--color-main)}:root .bg-main{background:var(--color-main);color:var(--color-main-reverse)}:root .color-0{--color: var(--color-0);color:var(--color)}:root .bg-0{--background: var(--color-0);background:var(--background);color:var(--white)}:root .opacity-0{opacity:0}:root .color-1{--color: var(--color-1);color:var(--color)}:root .bg-1{--background: var(--color-1);background:var(--background);color:var(--white)}:root .opacity-1{opacity:0.1}:root .color-2{--color: var(--color-2);color:var(--color)}:root .bg-2{--background: var(--color-2);background:var(--background);color:var(--white)}:root .opacity-2{opacity:0.2}:root .color-3{--color: var(--color-3);color:var(--color)}:root .bg-3{--background: var(--color-3);background:var(--background);color:var(--white)}:root .opacity-3{opacity:0.3}:root .color-4{--color: var(--color-4);color:var(--color)}:root .bg-4{--background: var(--color-4);background:var(--background);color:var(--white)}:root .opacity-4{opacity:0.4}:root .color-5{--color: var(--color-5);color:var(--color)}:root .bg-5{--background: var(--color-5);background:var(--background)}:root .opacity-5{opacity:0.5}:root .color-6{--color: var(--color-6);color:var(--color)}:root .bg-6{--background: var(--color-6);background:var(--background)}:root .opacity-6{opacity:0.6}:root .color-7{--color: var(--color-7);color:var(--color)}:root .bg-7{--background: var(--color-7);background:var(--background)}:root .opacity-7{opacity:0.7}:root .color-8{--color: var(--color-8);color:var(--color)}:root .bg-8{--background: var(--color-8);background:var(--background)}:root .opacity-8{opacity:0.8}:root .color-9{--color: var(--color-9);color:var(--color)}:root .bg-9{--background: var(--color-9);background:var(--background)}:root .opacity-9{opacity:0.9}:root .bg-white-0{--background: white;--color-hover: var(--color);background-color:var(--background);color:white}:root .bg-white-0:hover{--background-hover: white}:root .bg-white-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-white{--background: var(--white);--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-white:hover{--background-hover: #fafafa}:root .bg-white.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-white-1{--background: #fafafa;--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-white-1:hover{--background-hover: white}:root .bg-white-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .white-0{--color: white;--color-hover: var(--white);color:var(--color)}:root .white{--color: var(--white);--background-hover: var(--white-0);--color-hover: var(--white);color:var(--color)}:root .white-1{--color: #fafafa;--color-hover: var(--white);color:var(--color)}:root .bg-black-0{--background: #dbdbdb;--color-hover: var(--color);background-color:var(--background);color:black}:root .bg-black-0:hover{--background-hover: black}:root .bg-black-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-black{--background: var(--black);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-black:hover{--background-hover: #1a1a1a}:root .bg-black.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-black-1{--background: #1a1a1a;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-black-1:hover{--background-hover: black}:root .bg-black-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .black-0{--color: #dbdbdb;--color-hover: var(--black);color:var(--color)}:root .black{--color: var(--black);--background-hover: var(--black-0);--color-hover: var(--black);color:var(--color)}:root .black-1{--color: #1a1a1a;--color-hover: var(--black);color:var(--color)}:root .bg-red-0{--background: #fcdfe4;--color-hover: var(--color);background-color:var(--background);color:#dc143c}:root .bg-red-0:hover{--background-hover: #dc143c}:root .bg-red-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-red{--background: var(--red);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-red:hover{--background-hover: #dc143c}:root .bg-red.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-red-1{--background: #dc143c;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-red-1:hover{--background-hover: #dc143c}:root .bg-red-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .red-0{--color: #fcdfe4;--color-hover: var(--red);color:var(--color)}:root .red{--color: var(--red);--background-hover: var(--red-0);--color-hover: var(--red);color:var(--color)}:root .red-1{--color: #dc143c;--color-hover: var(--red);color:var(--color)}:root .bg-blue-0{--background: #d6ebff;--color-hover: var(--color);background-color:var(--background);color:#1e90ff}:root .bg-blue-0:hover{--background-hover: #1e90ff}:root .bg-blue-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-blue{--background: var(--blue);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-blue:hover{--background-hover: #007cf4}:root .bg-blue.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-blue-1{--background: #007cf4;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-blue-1:hover{--background-hover: #1e90ff}:root .bg-blue-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .blue-0{--color: #d6ebff;--color-hover: var(--blue);color:var(--color)}:root .blue{--color: var(--blue);--background-hover: var(--blue-0);--color-hover: var(--blue);color:var(--color)}:root .blue-1{--color: #007cf4;--color-hover: var(--blue);color:var(--color)}:root .bg-green-0{--background: #e7fff2;--color-hover: var(--color);background-color:var(--background);color:#3cb371}:root .bg-green-0:hover{--background-hover: #3cb371}:root .bg-green-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-green{--background: var(--green);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-green:hover{--background-hover: #37a467}:root .bg-green.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-green-1{--background: #37a467;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-green-1:hover{--background-hover: #3cb371}:root .bg-green-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .green-0{--color: #e7fff2;--color-hover: var(--green);color:var(--color)}:root .green{--color: var(--green);--background-hover: var(--green-0);--color-hover: var(--green);color:var(--color)}:root .green-1{--color: #37a467;--color-hover: var(--green);color:var(--color)}:root .bg-yellow-0{--background: #fffae5;--color-hover: var(--color);background-color:var(--background);color:#ffc549}:root .bg-yellow-0:hover{--background-hover: #ffc549}:root .bg-yellow-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-yellow{--background: var(--yellow);--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-yellow:hover{--background-hover: #ffb820}:root .bg-yellow.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-yellow-1{--background: #ffb820;--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-yellow-1:hover{--background-hover: #ffc549}:root .bg-yellow-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .yellow-0{--color: #fffae5;--color-hover: var(--yellow);color:var(--color)}:root .yellow{--color: var(--yellow);--background-hover: var(--yellow-0);--color-hover: var(--yellow);color:var(--color)}:root .yellow-1{--color: #ffb820;--color-hover: var(--yellow);color:var(--color)}:root .bg-brown-0{--background: #fbece2;--color-hover: var(--color);background-color:var(--background);color:#95410c}:root .bg-brown-0:hover{--background-hover: #95410c}:root .bg-brown-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-brown{--background: var(--brown);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-brown:hover{--background-hover: #8b3a07}:root .bg-brown.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-brown-1{--background: #8b3a07;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-brown-1:hover{--background-hover: #95410c}:root .bg-brown-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .brown-0{--color: #fbece2;--color-hover: var(--brown);color:var(--color)}:root .brown{--color: var(--brown);--background-hover: var(--brown-0);--color-hover: var(--brown);color:var(--color)}:root .brown-1{--color: #8b3a07;--color-hover: var(--brown);color:var(--color)}:root .bg-grey-0{--background: #f6f6f6;--color-hover: var(--color);background-color:var(--background);color:#d7d7d7}:root .bg-grey-0:hover{--background-hover: #d7d7d7}:root .bg-grey-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-grey{--background: var(--grey);--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-grey:hover{--background-hover: #b1b1b1}:root .bg-grey.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-grey-1{--background: #b1b1b1;--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-grey-1:hover{--background-hover: #d7d7d7}:root .bg-grey-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .grey-0{--color: #f6f6f6;--color-hover: var(--grey);color:var(--color)}:root .grey{--color: var(--grey);--background-hover: var(--grey-0);--color-hover: var(--grey);color:var(--color)}:root .grey-1{--color: #b1b1b1;--color-hover: var(--grey);color:var(--color)}:root .bg-pink-0{--background: #ffe3f1;--color-hover: var(--color);background-color:var(--background);color:#ff69b4}:root .bg-pink-0:hover{--background-hover: #ff69b4}:root .bg-pink-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-pink{--background: var(--pink);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-pink:hover{--background-hover: #ff55aa}:root .bg-pink.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-pink-1{--background: #ff55aa;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-pink-1:hover{--background-hover: #ff69b4}:root .bg-pink-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .pink-0{--color: #ffe3f1;--color-hover: var(--pink);color:var(--color)}:root .pink{--color: var(--pink);--background-hover: var(--pink-0);--color-hover: var(--pink);color:var(--color)}:root .pink-1{--color: #ff55aa;--color-hover: var(--pink);color:var(--color)}:root .bg-purple-0{--background: #eddefb;--color-hover: var(--color);background-color:var(--background);color:#8a2be2}:root .bg-purple-0:hover{--background-hover: #8a2be2}:root .bg-purple-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-purple{--background: var(--purple);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-purple:hover{--background-hover: #751bc9}:root .bg-purple.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-purple-1{--background: #751bc9;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-purple-1:hover{--background-hover: #8a2be2}:root .bg-purple-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .purple-0{--color: #eddefb;--color-hover: var(--purple);color:var(--color)}:root .purple{--color: var(--purple);--background-hover: var(--purple-0);--color-hover: var(--purple);color:var(--color)}:root .purple-1{--color: #751bc9;--color-hover: var(--purple);color:var(--color)}:root .bg-aqua-0{--background: #e8ffff;--color-hover: var(--color);background-color:var(--background);color:aqua}:root .bg-aqua-0:hover{--background-hover: aqua}:root .bg-aqua-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-aqua{--background: var(--aqua);--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-aqua:hover{--background-hover: #1efdfd}:root .bg-aqua.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-aqua-1{--background: #1efdfd;--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-aqua-1:hover{--background-hover: aqua}:root .bg-aqua-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .aqua-0{--color: #e8ffff;--color-hover: var(--aqua);color:var(--color)}:root .aqua{--color: var(--aqua);--background-hover: var(--aqua-0);--color-hover: var(--aqua);color:var(--color)}:root .aqua-1{--color: #1efdfd;--color-hover: var(--aqua);color:var(--color)}:root .bg-orange-0{--background: #fff1e8;--color-hover: var(--color);background-color:var(--background);color:#fb812a}:root .bg-orange-0:hover{--background-hover: #fb812a}:root .bg-orange-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-orange{--background: var(--orange);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-orange:hover{--background-hover: #eb7521}:root .bg-orange.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-orange-1{--background: #eb7521;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-orange-1:hover{--background-hover: #fb812a}:root .bg-orange-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .orange-0{--color: #fff1e8;--color-hover: var(--orange);color:var(--color)}:root .orange{--color: var(--orange);--background-hover: var(--orange-0);--color-hover: var(--orange);color:var(--color)}:root .orange-1{--color: #eb7521;--color-hover: var(--orange);color:var(--color)}:root .bg-warning-0{--background: #fff0bf;--color-hover: var(--color);background-color:var(--background);color:#ffb01f}:root .bg-warning-0:hover{--background-hover: #ffb01f}:root .bg-warning-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-warning{--background: var(--warning);--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-warning:hover{--background-hover: #f0a313}:root .bg-warning.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-warning-1{--background: #f0a313;--color: var(--black);--color-hover: var(--black);background-color:var(--background);color:var(--color)}:root .bg-warning-1:hover{--background-hover: #ffb01f}:root .bg-warning-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .warning-0{--color: #fff0bf;--color-hover: var(--warning);color:var(--color)}:root .warning{--color: var(--warning);--background-hover: var(--warning-0);--color-hover: var(--warning);color:var(--color)}:root .warning-1{--color: #f0a313;--color-hover: var(--warning);color:var(--color)}:root .bg-error-0{--background: #ffdbdb;--color-hover: var(--color);background-color:var(--background);color:#ff4545}:root .bg-error-0:hover{--background-hover: #ff4545}:root .bg-error-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-error{--background: var(--error);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-error:hover{--background-hover: #f13636}:root .bg-error.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-error-1{--background: #f13636;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-error-1:hover{--background-hover: #ff4545}:root .bg-error-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .error-0{--color: #ffdbdb;--color-hover: var(--error);color:var(--color)}:root .error{--color: var(--error);--background-hover: var(--error-0);--color-hover: var(--error);color:var(--color)}:root .error-1{--color: #f13636;--color-hover: var(--error);color:var(--color)}:root .bg-success-0{--background: #acf899;--color-hover: var(--color);background-color:var(--background);color:#52e12e}:root .bg-success-0:hover{--background-hover: #52e12e}:root .bg-success-0.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-success{--background: var(--success);--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-success:hover{--background-hover: #4ad926}:root .bg-success.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .bg-success-1{--background: #4ad926;--color: var(--white);--color-hover: var(--white);background-color:var(--background);color:var(--color)}:root .bg-success-1:hover{--background-hover: #52e12e}:root .bg-success-1.i-btn:hover{background:var(--background-hover);color:var(--color-hover)}:root .success-0{--color: #acf899;--color-hover: var(--success);color:var(--color)}:root .success{--color: var(--success);--background-hover: var(--success-0);--color-hover: var(--success);color:var(--color)}:root .success-1{--color: #4ad926;--color-hover: var(--success);color:var(--color)}.bg-slight{background-color:var(--color-9);color:var(--black)}.slight{color:var(--color-8)}.theme-dark{--background: #313131;--background-1: #3a3a3a;--background-opacity: #313131a6;--background-opacity-1: #313131aa;--background-opacity-2: #2a2a2aca;--color: #fff;--color-main: #6cc73b;--color-main-0: #313d2b;--color-main-1: #69d62f;--color-main-2: #53b320;--color-main-reverse: #212121;--dim: rgba(0, 0, 0, 0.25);--shadow: 0px 4px 12px var(--dim);background:var(--background);color:var(--color);--color-0: white;--color-1: rgb(233.325, 233.325, 233.325);--color-2: rgb(211.65, 211.65, 211.65);--color-3: rgb(189.975, 189.975, 189.975);--color-4: rgb(168.3, 168.3, 168.3);--color-5: rgb(146.625, 146.625, 146.625);--color-6: rgb(124.95, 124.95, 124.95);--color-7: rgb(103.275, 103.275, 103.275);--color-8: rgb(81.6, 81.6, 81.6);--color-9: rgb(59.925, 59.925, 59.925)}.theme-dark .color-0{color:var(--color-0)}.theme-dark .bg-0{--background: var(--color-0);background:var(--background);color:var(--black)}.theme-dark .color-1{color:var(--color-1)}.theme-dark .bg-1{--background: var(--color-1);background:var(--background);color:var(--black)}.theme-dark .color-2{color:var(--color-2)}.theme-dark .bg-2{--background: var(--color-2);background:var(--background);color:var(--black)}.theme-dark .color-3{color:var(--color-3)}.theme-dark .bg-3{--background: var(--color-3);background:var(--background);color:var(--black)}.theme-dark .color-4{color:var(--color-4)}.theme-dark .bg-4{--background: var(--color-4);background:var(--background);color:var(--black)}.theme-dark .color-5{color:var(--color-5)}.theme-dark .bg-5{--background: var(--color-5);background:var(--background)}.theme-dark .color-6{color:var(--color-6)}.theme-dark .bg-6{--background: var(--color-6);background:var(--background)}.theme-dark .color-7{color:var(--color-7)}.theme-dark .bg-7{--background: var(--color-7);background:var(--background)}.theme-dark .color-8{color:var(--color-8)}.theme-dark .bg-8{--background: var(--color-8);background:var(--background)}.theme-dark .color-9{color:var(--color-9)}.theme-dark .bg-9{--background: var(--color-9);background:var(--background)}.theme-dark .bg-slight{color:var(--white)}.theme-dark code,.theme-dark .code{background:var(--color-8)}.theme-dark .bg-white-0{--background: #393939}.theme-dark .white-0{--color: #393939}.theme-dark .white{--background-hover: #393939}.theme-dark .bg-black-0{--background: #6d6d6d}.theme-dark .black-0{--color: #6d6d6d}.theme-dark .black{--background-hover: #6d6d6d}.theme-dark .bg-red-0{--background: #4d3232}.theme-dark .red-0{--color: #4d3232}.theme-dark .red{--background-hover: #4d3232}.theme-dark .bg-blue-0{--background: #2d4467}.theme-dark .blue-0{--color: #2d4467}.theme-dark .blue{--background-hover: #2d4467}.theme-dark .bg-green-0{--background: #114911}.theme-dark .green-0{--color: #114911}.theme-dark .green{--background-hover: #114911}.theme-dark .bg-yellow-0{--background: #4b421f}.theme-dark .yellow-0{--color: #4b421f}.theme-dark .yellow{--background-hover: #4b421f}.theme-dark .bg-brown-0{--background: #3b2d2d}.theme-dark .brown-0{--color: #3b2d2d}.theme-dark .brown{--background-hover: #3b2d2d}.theme-dark .bg-grey-0{--background: #414141}.theme-dark .grey-0{--color: #414141}.theme-dark .grey{--background-hover: #414141}.theme-dark .bg-pink-0{--background: #56474f}.theme-dark .pink-0{--color: #56474f}.theme-dark .pink{--background-hover: #56474f}.theme-dark .bg-purple-0{--background: #372337}.theme-dark .purple-0{--color: #372337}.theme-dark .purple{--background-hover: #372337}.theme-dark .bg-aqua-0{--background: #1e3d3d}.theme-dark .aqua-0{--color: #1e3d3d}.theme-dark .aqua{--background-hover: #1e3d3d}.theme-dark .bg-orange-0{--background: #473514}.theme-dark .orange-0{--color: #473514}.theme-dark .orange{--background-hover: #473514}.theme-dark .bg-warning-0{--background: #4b3e13}.theme-dark .warning-0{--color: #4b3e13}.theme-dark .warning{--background-hover: #4b3e13}.theme-dark .bg-error-0{--background: #533535}.theme-dark .error-0{--color: #533535}.theme-dark .error{--background-hover: #533535}.theme-dark .bg-success-0{--background: #123b08}.theme-dark .success-0{--color: #123b08}.theme-dark .success{--background-hover: #123b08}@media(prefers-color-scheme: dark){.theme-auto{--background: #313131;--background-1: #3a3a3a;--background-opacity: #313131a6;--background-opacity-1: #313131aa;--background-opacity-2: #2a2a2aca;--color: #fff;--color-main: #6cc73b;--color-main-0: #313d2b;--color-main-1: #69d62f;--color-main-2: #53b320;--color-main-reverse: #212121;--dim: rgba(0, 0, 0, 0.25);--shadow: 0px 4px 12px var(--dim);background:var(--background);color:var(--color);--color-0: white;--color-1: rgb(233.325, 233.325, 233.325);--color-2: rgb(211.65, 211.65, 211.65);--color-3: rgb(189.975, 189.975, 189.975);--color-4: rgb(168.3, 168.3, 168.3);--color-5: rgb(146.625, 146.625, 146.625);--color-6: rgb(124.95, 124.95, 124.95);--color-7: rgb(103.275, 103.275, 103.275);--color-8: rgb(81.6, 81.6, 81.6);--color-9: rgb(59.925, 59.925, 59.925)}.theme-auto .color-0{color:var(--color-0)}.theme-auto .bg-0{--background: var(--color-0);background:var(--background);color:var(--black)}.theme-auto .color-1{color:var(--color-1)}.theme-auto .bg-1{--background: var(--color-1);background:var(--background);color:var(--black)}.theme-auto .color-2{color:var(--color-2)}.theme-auto .bg-2{--background: var(--color-2);background:var(--background);color:var(--black)}.theme-auto .color-3{color:var(--color-3)}.theme-auto .bg-3{--background: var(--color-3);background:var(--background);color:var(--black)}.theme-auto .color-4{color:var(--color-4)}.theme-auto .bg-4{--background: var(--color-4);background:var(--background);color:var(--black)}.theme-auto .color-5{color:var(--color-5)}.theme-auto .bg-5{--background: var(--color-5);background:var(--background)}.theme-auto .color-6{color:var(--color-6)}.theme-auto .bg-6{--background: var(--color-6);background:var(--background)}.theme-auto .color-7{color:var(--color-7)}.theme-auto .bg-7{--background: var(--color-7);background:var(--background)}.theme-auto .color-8{color:var(--color-8)}.theme-auto .bg-8{--background: var(--color-8);background:var(--background)}.theme-auto .color-9{color:var(--color-9)}.theme-auto .bg-9{--background: var(--color-9);background:var(--background)}.theme-auto .bg-slight{color:var(--white)}.theme-auto code,.theme-auto .code{background:var(--color-8)}.theme-auto .bg-white-0{--background: #393939}.theme-auto .white-0{--color: #393939}.theme-auto .white{--background-hover: #393939}.theme-auto .bg-black-0{--background: #6d6d6d}.theme-auto .black-0{--color: #6d6d6d}.theme-auto .black{--background-hover: #6d6d6d}.theme-auto .bg-red-0{--background: #4d3232}.theme-auto .red-0{--color: #4d3232}.theme-auto .red{--background-hover: #4d3232}.theme-auto .bg-blue-0{--background: #2d4467}.theme-auto .blue-0{--color: #2d4467}.theme-auto .blue{--background-hover: #2d4467}.theme-auto .bg-green-0{--background: #114911}.theme-auto .green-0{--color: #114911}.theme-auto .green{--background-hover: #114911}.theme-auto .bg-yellow-0{--background: #4b421f}.theme-auto .yellow-0{--color: #4b421f}.theme-auto .yellow{--background-hover: #4b421f}.theme-auto .bg-brown-0{--background: #3b2d2d}.theme-auto .brown-0{--color: #3b2d2d}.theme-auto .brown{--background-hover: #3b2d2d}.theme-auto .bg-grey-0{--background: #414141}.theme-auto .grey-0{--color: #414141}.theme-auto .grey{--background-hover: #414141}.theme-auto .bg-pink-0{--background: #56474f}.theme-auto .pink-0{--color: #56474f}.theme-auto .pink{--background-hover: #56474f}.theme-auto .bg-purple-0{--background: #372337}.theme-auto .purple-0{--color: #372337}.theme-auto .purple{--background-hover: #372337}.theme-auto .bg-aqua-0{--background: #1e3d3d}.theme-auto .aqua-0{--color: #1e3d3d}.theme-auto .aqua{--background-hover: #1e3d3d}.theme-auto .bg-orange-0{--background: #473514}.theme-auto .orange-0{--color: #473514}.theme-auto .orange{--background-hover: #473514}.theme-auto .bg-warning-0{--background: #4b3e13}.theme-auto .warning-0{--color: #4b3e13}.theme-auto .warning{--background-hover: #4b3e13}.theme-auto .bg-error-0{--background: #533535}.theme-auto .error-0{--color: #533535}.theme-auto .error{--background-hover: #533535}.theme-auto .bg-success-0{--background: #123b08}.theme-auto .success-0{--color: #123b08}.theme-auto .success{--background-hover: #123b08}}.i-input-label{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;align-content:flex-start;gap:.5em;width:100%;max-width:100%;border-radius:var(--radius)}.i-input-label:has(.i-input-success){--color: var(--green)}.i-input-label:has(.i-input-warning){--color: var(--yellow)}.i-input-label:has(.i-input-error){--color: var(--error)}.i-input-inline{flex-wrap:nowrap}.i-input-inline .i-input-item,.i-input-inline .i-upload-inner,.i-input-inline .i-radio-options{flex:1 1 auto}.i-input-inline .i-input-message{position:absolute;right:12%;top:-0.8em;padding:.2em .5em;background:var(--background-opacity);backdrop-filter:var(--blur)}.i-input-label-text{flex:0 0 var(--label-width);text-align:var(--label-align);border-radius:inherit;font-weight:500;transition:all .12s}.i-input-item{--input-border-width: 2px;--invert-input-border-width: calc(var(--input-border-width) * -1);flex:1 1 100%;display:flex;align-items:baseline;transition:var(--transition);border-radius:inherit;border:var(--input-border-width) solid var(--color-9);max-width:100%}.i-input-item .i-btn{align-self:stretch}.i-input-item:hover,.i-input-item:focus-within,.i-input-item.i-input-focus{border-color:var(--color-8);background-color:rgba(0,0,0,0)}.i-input-item.i-input-success{border-color:var(--green-0)}.i-input-item.i-input-warning{border-color:var(--yellow-0)}.i-input-item.i-input-error{border-color:var(--error-0)}.i-input-borderless{border-color:rgba(0,0,0,0);background:var(--background-opacity-2)}.i-input-underline{border-width:0 0 var(--input-border-width) 0;border-radius:0;border-color:var(--color-9);background:rgba(0,0,0,0)}.i-input{padding:var(--padding);flex:1;width:100%;color:inherit;outline:none;transition:var(--transition);background:rgba(0,0,0,0);border-radius:inherit}.i-input[type=number]::-webkit-inner-spin-button,.i-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}.i-input[readonly]{caret-color:rgba(0,0,0,0)}.i-input:disabled{background:var(--background-opacity-1);cursor:not-allowed}.i-input-message{--color: var(--color-5);flex:1 1 auto;align-self:center;z-index:1;font-size:.8em;color:var(--color);border-radius:var(--radius);pointer-events:none}.i-input-success{--color: var(--green)}.i-input-warning{--color: var(--yellow)}.i-input-error{--color: var(--error)}.i-textarea{display:block;transition:var(--transition),width 0s,height 0s;max-width:100%;min-height:2.5em}.i-input-prepend,.i-input-append{margin:var(--invert-input-border-width);display:flex;align-self:stretch;place-items:center}.i-input-prepend .i-btn,.i-input-append .i-btn{border-radius:inherit;height:unset}.i-input-prepend{margin-right:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.i-input-append{margin-left:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit}.i-options-block>.i-checkbox-item,.i-options-block>.i-radio-item{flex:1 1 100%}.i-input-number{text-align:center;padding:var(--padding);padding-inline:0}.i-card{--card-padding: 8px 12px;display:flex;flex-direction:column;background:var(--background-opacity-2);backdrop-filter:var(--blur);border-radius:var(--radius);overflow:auto}.i-card-bordered{border:1px solid var(--color-8)}.i-card-header{display:flex;align-items:center;padding:var(--card-padding);gap:.25em}.i-card-content{flex:1}.i-card-footer{margin-top:auto;display:flex;align-items:center;padding:var(--card-padding);gap:.25em}.i-collapse{border-radius:var(--radius)}.i-collapse-bordered{border:1px solid var(--color-8)}.i-collapse-bordered .i-collapse-item+.i-collapse-item{border-top:1px solid var(--color-8)}.i-collapse-item{border-radius:var(--radius)}.i-collapse-header{display:flex;justify-content:space-between;align-items:center;padding:.5em;transition:var(--transition);font-weight:500;border-radius:var(--radius)}.i-collapse-header:hover{background-color:var(--background-opacity-1)}.i-collapse-toggle{margin:0;display:flex;user-select:none}.i-collapse-content{padding:0 .5em;height:0;overflow:hidden;transition:var(--transition);border-radius:var(--radius)}.i-collapse-active>.i-collapse-header,.i-collapse-header:hover{opacity:1}.i-collapse-active>.i-collapse-content{padding:.5em;height:unset}.i-collapse-disabled{pointer-events:none;opacity:.4}.i-collapse-disabled>.i-collapse-content{padding:0 .5em;height:0;overflow:hidden}.i-badge{position:relative;display:inline-flex;align-self:center;flex-shrink:0;border-radius:var(--radius)}.i-badge-content{position:absolute;z-index:1;inset:0 0 auto auto;padding:.2em .5em;transition:all .16s;transform:translate(50%, -50%) scale(1);border-radius:inherit;background:var(--background-opacity);backdrop-filter:var(--blur);box-shadow:var(--shadow);font-size:.86em;pointer-events:none}.i-badge-content.i-badge-dot{height:1em;width:1em;padding:0;border-radius:1em;overflow:hidden;color:rgba(0,0,0,0)}.i-badge-content:empty,.i-badge-content.i-badge-hidden{transform:translate(50%, -50%) scale(0)}.i-btn{--gap: 0.25em;--background: var(--color-main);--background-hover: var(--color-main-1);--color: var(--color-main-reverse);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--gap);padding:0 .6em;height:2.25em;border-radius:var(--radius);border:2px solid rgba(0,0,0,0);transition:var(--transition);user-select:none;cursor:pointer;white-space:nowrap;outline:none;font-weight:500;font-size:.94em;background:var(--background);color:var(--color);line-height:1;flex-shrink:0}.i-btn .i-ripple-container{inset:-2px}.i-btn-toggle{overflow:hidden}.i-btn-toggle-content{display:inline-flex;gap:var(--gap);align-items:center;transform:scale(0.4)}.i-btn-toggle-content.i-btn-toggle-active{transition:var(--transition);transform:none}.i-btn-block{width:100%}.i-btn-large{font-size:1.25em}.i-btn-extreme{font-size:2em;height:2em}.i-btn-small{height:2em;line-height:2;font-size:.86em;padding:0 .4em}.i-btn-mini{line-height:1;height:1.4em;font-size:.8em;padding:0 .2em}.i-btn-square{padding:0;width:2.25em}.i-btn-square.i-btn-extreme,.i-btn-square.i-btn-small{width:2em}.i-btn:hover{--background: var(--background-hover)}.i-btn:active{--background: var(--color-main)}.i-btn-secondary{--background-hover: var(--color-8);--background: var(--color-9);--color: var(--color-1)}.i-btn-flat{--background-hover: var(--color-9);--color-main-reverse: var(--color);--background: transparent;--color: var(--color-1)}.i-btn-outline{--background-hover: var(--color-main-0);--color: var(--color-main)}.i-btn-outline.i-btn{--background: transparent;border-color:var(--color)}.i-btn.i-btn-outline:hover,.i-btn.i-btn-secondary:hover,.i-btn.i-btn-flat:hover{--background: var(--background-hover)}.i-btn-content{display:contents}.i-btn-loading{opacity:.628;cursor:default}.i-btn-group-horizonal{display:flex}.i-btn-group-horizonal .i-btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.i-btn-group-horizonal .i-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.i-btn-group-vertical{display:flex;flex-direction:column}.i-btn-group-vertical .i-btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.i-btn-group-vertical .i-btn:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.i-preview{padding:0}.i-preview .i-modal{position:static;background:rgba(0,0,0,0);overflow:unset;transform:none;pointer-events:none !important;width:100%;height:100%}.i-preview-container{position:relative;width:100%;height:100%}.i-preview-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:var(--transition);pointer-events:none}.i-preview-content *{pointer-events:all}.i-preview-controls{position:fixed;z-index:10;right:.5em;top:.5em;padding:4px;display:flex;align-items:center;gap:1px;background:var(--background-opacity);border-radius:var(--radius);font-size:.9em;pointer-events:all;transition:all .24s ease-out}.i-preview-controls:hover{opacity:1}.i-preview-controls-hidden{opacity:0}.i-preview-unknown{display:flex;flex-direction:column;align-items:center;padding:.5em 1em;background:var(--background);border-radius:var(--radius)}.i-affix{position:fixed;z-index:50;display:flex;flex-direction:column;gap:.5em;transition:var(--transition)}.i-affix-hidden .i-affix-totop{opacity:0}.i-datagrid-container{border-radius:var(--radius);overflow:auto}.i-datagrid-loading{overflow:hidden !important;user-select:none}.i-datagrid-loading .i-datagrid{max-height:100%;max-width:100%}.i-datagrid-loading .i-loading-container{position:absolute;inset:0;z-index:10;background:var(--background-opacity);backdrop-filter:blur(2px)}.i-datagrid{display:grid;contain:content;content-visibility:auto;width:fit-content;grid-template-columns:var(--grid-template-columns);grid-template-rows:var(--grid-template-rows);min-width:100%}.i-datagrid .i-empty{margin:1em auto;grid-column:1/-1}.i-datagrid-bordered{--datagrid-border-color: var(--color-9);outline:1px solid var(--datagrid-border-color)}.i-datagrid-bordered .i-datagrid-cell{outline:1px solid var(--datagrid-border-color)}.i-datagrid-striped .i-datagrid-row{--datagrid-border-color: var(--color-8)}.i-datagrid-striped .i-datagrid-row:nth-child(odd){--datagrid-cell-background: var(--color-9)}.i-datagrid .i-datagrid-row{--datagrid-cell-background: var(--background);display:contents}.i-datagrid .i-datagrid-row:hover{--datagrid-border-color: var(--color-8);--datagrid-cell-background: var(--color-main-0)}.i-datagrid .i-datagrid-row:hover .i-datagrid-cell{z-index:1}.i-datagrid .i-datagrid-row:hover [class*=" i-datagrid-cell-fixed"]{z-index:3}.i-datagrid-cell{position:sticky;display:flex;align-items:center;justify-content:var(--datagrid-justify);gap:4px;padding:var(--cell-padding);background:var(--datagrid-cell-background);transition:background-color .12s;overflow:hidden}[class*=" i-datagrid-cell-fixed"]{z-index:2}.i-datagrid-cell-fixed-right{box-shadow:-2px 0 4px var(--color-9)}.i-datagrid-cell-fixed-left{box-shadow:2px 0 4px var(--color-9)}.i-datagrid-cell-content{min-width:0;flex:1 1 auto;display:inherit;gap:inherit;justify-content:inherit;white-space:nowrap;overflow:hidden}.i-datagrid-cell-content-ellipsis{display:block;text-overflow:ellipsis;text-align:var(--datagrid-justify)}.i-datagrid-header .i-datagrid-cell{--datagrid-cell-background: var(--background-opacity-2);z-index:3;white-space:nowrap;text-overflow:ellipsis;line-height:1;user-select:none;backdrop-filter:var(--blur)}.i-datagrid-header [class*=" i-datagrid-cell-fixed"]{z-index:4}.i-datagrid-resizor{position:absolute;inset:0 0 0 auto;width:4px;transition:.12s;cursor:ew-resize}.i-datagrid-resizor:hover{background-color:var(--color-5)}.i-datagrid-has-sorter{cursor:pointer}.i-datagrid-has-sorter:hover{--datagrid-cell-background: var(--color-8)}.i-datagrid-sorter{display:flex;flex-direction:column;flex-shrink:0;width:.8em;overflow:hidden;color:var(--color-7)}.i-datagrid-sorter-caret:first-child{margin-bottom:-0.4em;transform:rotate(-90deg)}.i-datagrid-sorter-caret:last-child{transform:rotate(90deg)}.i-datagrid-sorter-asc .i-datagrid-sorter-caret:first-child{color:var(--color-main)}.i-datagrid-sorter-desc .i-datagrid-sorter-caret:last-child{color:var(--color-main)}.i-checkbox{gap:1em}.i-checkbox-item{display:inline-flex;align-items:baseline;gap:.25em;border-radius:var(--radius);align-self:flex-start}.i-checkbox-item:hover .i-checkbox-input{box-shadow:inset 0 0 0 2px var(--color-5)}.i-checkbox-item:hover .i-checkbox-switch{box-shadow:inset 0 0 0 2px var(--color-8)}.i-checkbox-item:hover .i-checkbox-partof{box-shadow:none}.i-checkbox-item .i-checkbox-input:checked{box-shadow:none}.i-checkbox-options{flex:1 1 100%;position:relative;display:flex;flex-wrap:wrap;gap:.625em;align-self:baseline}.i-checkbox-text{display:inline-flex;transition:var(--transition);user-select:none;border-radius:inherit;color:var(--color-3)}.i-checkbox-text:empty{display:none}.i-checkbox-input{position:relative;display:flex;cursor:inherit;height:1.125em;width:1.125em;overflow:hidden;appearance:none;border-radius:inherit;transition:var(--transition);outline:0;align-self:center}.i-checkbox-custom{width:0;height:0}.i-checkbox-switch{height:1.125em;width:2.2em;overflow:unset;border-radius:2.4em;box-shadow:inset 0 0 0 2px var(--color-9);background:var(--color-9)}.i-checkbox-switch:hover:after{box-shadow:0 0 0 2px var(--color-7);background-color:var(--color-main-0)}.i-checkbox-default{border-radius:2px;box-shadow:inset 0 0 0 2px var(--color-7)}.i-checkbox-button{display:none}.i-checkbox-default:after,.i-checkbox-switch:before,.i-checkbox-switch:after,.i-checkbox-partof:after{content:" ";position:absolute;transition:var(--transition)}.i-checkbox-default:after{left:34%;top:16%;height:50%;width:20%;border-bottom:2px solid var(--color-main-reverse);border-right:2px solid var(--color-main-reverse);transform:rotate(90deg) scale(0);border-radius:1px}.i-checkbox-switch:after{left:0;top:50%;width:1em;height:1em;transform:translate(0, -50%);box-shadow:0 0 0 2px var(--color-8);border-radius:1em;transition:var(--transition);background-color:var(--background)}.i-checkbox-switch:active:after{width:1.5em}.i-checkbox-switch:active:checked:after{left:-0.5em}.i-checkbox-input:checked.i-checkbox-default{background-color:var(--color-main)}.i-checkbox-input:checked.i-checkbox-default:after{transform:rotate(45deg)}.i-checkbox-input:checked.i-checkbox-switch{background-color:var(--color-main)}.i-checkbox-input:checked.i-checkbox-switch:after{box-shadow:0 0 0 2px var(--color-main);transform:translate(1.2em, -50%);background-color:var(--background)}.i-checkbox-input:checked+.i-checkbox-text{color:var(--color-main)}.i-checkbox-button+.i-checkbox-text{padding:0 1em;line-height:1.8;font-size:.9em;display:flex;align-items:center;white-space:nowrap;border-radius:2em;border:1.5px solid var(--color-9)}.i-checkbox-button:hover+.i-checkbox-text{background-color:var(--color-9);border-color:var(--color-8)}.i-checkbox-button:checked+.i-checkbox-text{background-color:var(--color-main-0);color:var(--color-main);border-color:var(--color-main)}.i-checkbox-partof{border-radius:2px;background-color:var(--color-main)}.i-checkbox-partof:after{background-color:var(--color-main-reverse);height:2px;width:.5em;left:50%;top:50%;transform:translate(-50%, -50%);border-radius:var(--radius)}.i-checkbox-message{margin-top:.5em;font-size:.8em;align-self:flex-start;pointer-events:none}.i-checkbox-success .i-checkbox-input{box-shadow:inset 0 0 0 2px var(--success-0)}.i-checkbox-success .i-checkbox-input:checked{background-color:var(--success-0)}.i-checkbox-success .i-checkbox-message{color:var(--success)}.i-checkbox-warning .i-checkbox-input{box-shadow:inset 0 0 0 2px var(--warning-0)}.i-checkbox-warning .i-checkbox-input:checked{background-color:var(--warning-0)}.i-checkbox-warning .i-checkbox-message{color:var(--warning)}.i-checkbox-error .i-checkbox-input{box-shadow:inset 0 0 0 2px var(--error-0)}.i-checkbox-error .i-checkbox-input:checked{background-color:var(--error-0)}.i-checkbox-error .i-checkbox-message{color:var(--error)}.i-dropdown-content{display:flex;flex-direction:column;max-height:40vh;padding:8px;gap:2px;overflow-x:hidden;border-radius:inherit}.i-backdrop-drawer{position:fixed;inset:0;z-index:100;pointer-events:none;background:var(--color-backdrop);backdrop-filter:blur(8px);transition:var(--transition);opacity:0;display:flex}.i-backdrop-drawer.i-active{opacity:1;pointer-events:unset}.i-drawer{position:absolute;display:flex;flex-direction:column;max-width:100%;max-height:100%;overflow:auto;box-shadow:var(--shadow);transition:var(--transition);background:var(--background-1);backdrop-filter:var(--blur)}.i-drawer-left{inset:0 auto 0 0;transform:translate3d(-100%, 0, 0)}.i-drawer-top{inset:0 0 auto;transform:translate3d(0, -100%, 0)}.i-drawer-right{inset:0 0 0 auto;transform:translate3d(100%, 0, 0)}.i-drawer-bottom{inset:auto 0 0;transform:translate3d(0, 100%, 0)}.i-active>.i-drawer{opacity:1;transform:none;pointer-events:unset}.i-drawer-header,.i-drawer-footer{display:flex;align-items:center;padding:12px}.i-drawer-header:empty,.i-drawer-footer:empty{display:none}.i-drawer-content{flex:1;overflow-x:hidden}.i-drawer-close{margin:0 0 0 auto;display:flex;align-self:flex-start;border-radius:var(--radius)}.i-description{display:grid}.i-description-item{display:flex;gap:.5em}.i-description-item-vertical{flex-direction:column}.i-description-label{flex-shrink:0;width:var(--description-label-width);color:var(--color-5)}.i-description-value{flex:1}.i-form{display:grid;max-width:100%}.i-form-inline{--label-inline: nowrap}.i-form-inline .i-input-label{flex-wrap:nowrap}.i-image{position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;border-radius:var(--radius);overflow:hidden;vertical-align:middle;background:var(--background-opacity);backdrop-filter:var(--blur);flex-shrink:0}.i-image .i-loading-container{z-index:1;backdrop-filter:var(--blur)}.i-image>img{border-radius:inherit;width:100%;height:100%;object-fit:cover}.i-image-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;backdrop-filter:var(--blur)}.i-editor{display:flex;flex-direction:column}.i-editor:focus-within>.i-editor-controls,.i-editor:focus-within>.i-editor-content,.i-editor:hover>.i-editor-controls,.i-editor:hover>.i-editor-content{border-color:var(--color-8)}.i-editor-borderless{border-radius:var(--radius)}.i-editor-borderless>.i-editor-controls,.i-editor-borderless>.i-editor-content{border:none}.i-editor-controls{display:flex;gap:2px;border:2px solid var(--color-9);border-bottom:0;padding:2px;border-radius:var(--radius) var(--radius) 0 0;transition:var(--transition)}.i-editor-controls .i-btn{--color: var(--color-5)}.i-editor-controls .i-btn:hover{--color: var(--color)}.i-editor-controls .i-btn:hover .i-editor-control-tip{opacity:1}.i-editor-control-tip{position:absolute;z-index:1;top:100%;left:50%;transform:translate(-50%, 0);opacity:0;pointer-events:none;transition:var(--transition)}.i-editor-content{flex:1;outline:none;padding:var(--padding);border:2px solid var(--color-9);border-radius:0 0 var(--radius) var(--radius);transition:var(--transition);overflow:auto;white-space:pre-wrap;word-wrap:break-word;word-break:break-all;tab-size:1em}.i-editor-content:first-child{border-radius:var(--radius)}.i-editor-content:hover,.i-editor-content:focus{border-color:var(--color-8)}.i-editor-content a{color:var(--blue)}.i-editor-content img{margin:0}.i-editor-content:empty:before{content:attr(data-placeholder);color:var(--color-5)}.i-modal-container{position:absolute;inset:0;z-index:100;padding:12px;transition:var(--transition);opacity:0;pointer-events:none;display:flex;overflow:hidden}.i-modal-container.i-modal-active{opacity:1}.i-modal-backdrop{background:var(--color-backdrop);backdrop-filter:blur(8px)}.i-modal-backdrop.i-modal-active{pointer-events:unset}.i-modal-customized{overflow:unset}.i-modal{position:relative;display:flex;flex-direction:column;margin:auto;max-width:100%;max-height:100%;overflow-x:hidden;border-radius:var(--radius);transform:translate(0, 12px);transition:var(--transition);background:var(--background)}.i-modal.bounced{animation:bounce .4s ease-in-out 0s}.i-modal-active>.i-modal{opacity:1;transform:none;pointer-events:unset}.i-modal-header,.i-modal-footer{position:relative;display:flex;align-items:center;padding:12px;gap:12px}.i-modal-header:empty,.i-modal-footer:empty{display:none}.i-modal-footer{justify-content:center}.i-modal-content{overflow-x:hidden;flex:1;max-height:100%}.i-modal .i-modal-close{margin:0 0 0 auto;display:flex;align-self:flex-start;border-radius:var(--radius)}.icon{vertical-align:middle}.i-list{--gap: 0.5em;overflow:auto}.i-list-item{display:flex;gap:var(--gap);padding:var(--padding);transition:var(--transition);border-radius:var(--radius)}.i-list-item-bordered{box-shadow:inset 0 0 0 1px var(--color-8)}.i-list-item-bordered+.i-list-item-bordered{margin-top:-1px}.i-list-item-bordered:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.i-list-item-bordered:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.i-list-item-bordered:hover{box-shadow:inset 0 0 0 1px var(--color-7);z-index:1}.i-list-option{position:relative;cursor:pointer;user-select:none;white-space:nowrap;justify-content:space-between}.i-list-option:hover{background-color:var(--background-opacity-1)}.i-list-item-label{align-self:flex-start}.i-messages{position:fixed;inset:12px;pointer-events:none;display:flex;flex-direction:column;justify-content:center;z-index:10000;transition:var(--transition);cursor:default}.i-message{position:absolute;padding:var(--padding);pointer-events:all;opacity:0;transition:var(--transition);transform:translate(80px, 0) scale(0.86) skew(-40deg);background:var(--background-opacity);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:var(--blur)}.i-message.i-message-active{opacity:1;transform:translate(0, 0)}.i-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5em;font-size:inherit;transform:translateZ(0);border-radius:inherit}.i-loading-icon{stroke:var(--color);width:1em;height:1em;animation:rotate .628s linear 0s infinite}.i-pagination{display:flex;align-items:center;gap:.2em}.i-page{--background: transparent;--color: var(--color-7);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0 .32em;height:2.25em;min-width:2.25em;border-radius:var(--radius);border:2px solid rgba(0,0,0,0);transition:var(--transition);user-select:none;cursor:pointer;white-space:nowrap;outline:none;color:var(--color);background:var(--background)}.i-page .i-ripple-container{inset:-2px}.i-page .i-loading-container{position:absolute;inset:0;z-index:1;background:var(--background-opacity);backdrop-filter:var(--blur)}.i-page:hover{--background: var(--background-opacity-1)}.i-page.i-page-active{--background: var(--color-main);--color: var(--color-main-reverse);cursor:default}.i-page.i-page-loading{--background: unset;cursor:default}.i-popup{position:absolute;left:0;top:0;z-index:100;opacity:0;transition:opacity .12s,transform .12s;border-radius:var(--radius);background:var(--background);box-shadow:var(--shadow);transform:translate(0, 2px)}.i-popup-arrow{position:absolute;width:8px;height:24px;pointer-events:none;color:unset}.i-popup-arrow path{fill:var(--background)}.i-popconfirm{padding:1rem}.i-popconfirm-footer{margin-top:1rem}.i-progress{flex:1 1 100%;position:relative;display:flex;background:var(--background-1);border-radius:var(--radius);cursor:pointer}.i-progress-vertical{height:100%}.i-progress-vertical>.i-progress-bar{height:100%;align-self:flex-end}.i-progress-bar{position:relative;width:100%;background:var(--color-main);border-radius:var(--radius);transform-origin:left;transition:var(--transition)}.i-progress-cursor{position:absolute;right:0;top:50%;display:flex;min-height:120%;min-width:1em;transform:translate(50%, -50%) scale(0);transition:var(--transition);border-radius:inherit;box-shadow:var(--shadow);user-select:none;overflow:hidden}.i-progress:hover .i-progress-cursor,.no-transition>.i-progress-cursor{transform:translate(50%, -50%) scale(1)}.i-progress-circle{position:relative}.i-progress-circle-path{transition:var(--transition);border-radius:50px}.i-progress-circle-value{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);font-size:1.5em}.i-resizable{display:flex;overflow:hidden}.i-resizable-vertical{flex-direction:column}.i-resizable-vertical>.i-resizable-line{cursor:ns-resize;width:100%;height:2px}.i-resizable-a{overflow:auto}.i-resizable-b{flex:1;overflow:auto}.i-resizable-line{position:relative;display:flex;justify-content:center;align-items:center;width:2px;height:100%;background:var(--color-8);cursor:ew-resize;transition:var(--transition);touch-action:none;user-select:none}.i-resizable-line:hover,.i-resizable-line.i-resizable-resizing{outline:1px solid var(--color-8)}.i-resizable-line:hover>.i-resizable-line-node,.i-resizable-line.i-resizable-resizing>.i-resizable-line-node{opacity:1}.i-resizable-line-node{display:flex;position:relative;z-index:1;pointer-events:none;opacity:0;transition:var(--transition);background:inherit;border-radius:var(--radius);font-size:.8em}.i-radio{position:relative;display:inline-flex;flex-wrap:wrap;gap:1em}.i-radio-label{width:var(--label-width);text-align:var(--label-align);font-weight:500}.i-radio-item{display:inline-flex;align-items:baseline;border-radius:var(--radius)}.i-radio-item:hover .i-radio-input{box-shadow:inset 0 0 0 3px var(--color-7);background-color:var(--color-main-0)}.i-radio-item-custom>.i-radio-input{width:0;height:0}.i-input-success .i-radio-input{box-shadow:inset 0 0 0 3px var(--green-0)}.i-input-warning .i-radio-input{box-shadow:inset 0 0 0 3px var(--yellow-0)}.i-input-error .i-radio-input{box-shadow:inset 0 0 0 3px var(--error-0)}.i-radio-options{flex:1 1 100%;position:relative;display:flex;flex-wrap:wrap;gap:.625em;align-self:baseline}.i-radio-options-button{flex:none}.i-radio-text{display:inline-flex;margin-left:.4em;transition:var(--transition);user-select:none;border-radius:inherit;color:var(--color-3)}.i-radio-input{position:relative;display:flex;cursor:inherit;height:1.125em;width:1.125em;flex-shrink:0;overflow:hidden;appearance:none;border-radius:50%;transition:all .15s;outline:0;align-self:center;box-shadow:inset 0 0 0 3px var(--color-8)}.i-radio-default{border:0 solid rgba(0,0,0,0)}.i-radio-input:checked.i-radio-default{border-width:.4em;border-color:var(--color-main);background:var(--color-main-reverse);box-shadow:none}.i-radio-input:checked.i-radio-default+.i-radio-text{color:var(--color-main)}.i-radio-default:active{transform:scale(1.1)}.i-radio-button{display:none}.i-radio-button+.i-radio-text{margin-left:0;padding:0 .628em;line-height:1.8;font-size:.94em;white-space:nowrap;border:1.5px solid var(--color-9)}.i-radio-button+.i-radio-text:hover{background-color:var(--color-main-0);border-color:var(--color-8)}.i-radio-button:checked+.i-radio-text{background:var(--color-main-0);color:var(--color-main);border-color:var(--color-main)}.i-radio-message{margin-top:.5em;font-size:.8em;align-self:flex-start;pointer-events:none}.i-radio-success .i-radio-input{box-shadow:inset 0 0 0 3px var(--success-0)}.i-radio-success .i-radio-message{color:var(--success)}.i-radio-warning .i-radio-input{box-shadow:inset 0 0 0 3px var(--warning-0)}.i-radio-warning .i-radio-message{color:var(--warning)}.i-radio-error .i-radio-input{box-shadow:inset 0 0 0 3px var(--error-0)}.i-radio-error .i-radio-message{color:var(--error)}.i-step{display:flex;flex-wrap:wrap;gap:.5em;overflow:hidden}.i-step-vertical{flex-direction:column}.i-step-vertical .i-step-item{flex-direction:row}.i-step-vertical .i-step-item:not(:last-child) .i-step-item-right{padding-bottom:1em}.i-step-item{display:flex;flex-direction:column;gap:.5em;flex:1 1 auto;transition:var(--transition)}.i-step-item:last-child{flex:none}.i-step-item:last-child .i-step-divider{display:none}.i-step-item.i-step-item-finished{opacity:.4}.i-step-item.i-step-item-finished .i-step-divider{border-style:solid}.i-step-item.i-step-item-pending{opacity:.4}.i-step-item:hover{opacity:1}.i-step-item-index{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5em;line-height:1.5em;border-radius:1.5em;background:var(--color-4);color:var(--background)}.i-step-divider{flex:1;align-self:center;border:1px dashed var(--color-7)}.i-step-item-title{display:flex;align-items:center;gap:.5em;white-space:nowrap}.i-step-item-left{display:flex;flex-direction:column;align-items:center;gap:.5em}.i-step-item-right{display:flex;flex-direction:column;gap:.5em}.i-river{overflow:hidden}.i-river-track{display:inline-flex}.i-river-item{flex-shrink:0}.i-select{display:flex;gap:.5em}.i-select-multiple{flex-wrap:wrap;padding:.25em .628em}.i-select-multiple .i-tag{position:relative;padding:0 .5em;line-height:1.425em;background:var(--color-8)}.i-select-options{--gap: 0.25em;display:flex;flex-direction:column;max-height:40vh;padding:4px;gap:2px;overflow-x:hidden;border-radius:inherit}.i-select-options .i-list-item{justify-content:unset;align-items:center;color:var(--color-5)}.i-select-options .i-list-item.i-list-item-active{color:var(--color-main);background:var(--color-main-0)}.i-select-options .i-list-item.i-list-item-active .i-select-option-check{opacity:1}.i-select-options .i-list-item.disabled{pointer-events:none}.i-select-options-multiple .i-list-item.i-list-item-active{background:rgba(0,0,0,0)}.i-select-option-check{opacity:0}.i-select-filter{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;background:var(--background-opacity);backdrop-filter:var(--blur);border-bottom:1px solid var(--background-opacity-1)}.i-select-filter:empty{display:none}.i-text-gradient{-webkit-text-fill-color:rgba(0,0,0,0)}.i-text-gradient-wave{background-size:200% 100%;background-position:0 0;animation:text-wave 1.2s linear 0s infinite}@keyframes text-wave{100%{background-position:-100% 0}}.i-tag{--background: var(--color-9);--color: var(--color-1);position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:.5em;padding:.1em .5em;border-radius:var(--radius);background:var(--background);color:var(--color);border:2px solid rgba(0,0,0,0);transition:var(--transition);font-size:.81em;line-height:1}.i-tag .i-tag-close{position:absolute;right:0;top:0;z-index:1;margin:0;background:var(--error);color:var(--white);transform:translate(50%, -50%);font-size:.81em;transition:all .16s}.i-tag .i-tag-close:hover{background:var(--error-1);color:var(--white)}.i-tag:hover .i-tag-hover-close{opacity:1;transform:translate(50%, -50%) scale(1)}.i-tag-large{font-size:1em}.i-tag-extreme{font-size:1.5em;height:2em}.i-tag-small{font-size:.72em;padding:.125em .4em}.i-tag-dot{content:" ";width:.385em;height:.385em;border-radius:50%;background-color:var(--color);box-shadow:0 -1px 1px 0 rgba(var(--color), 0.3);flex-shrink:0;transition:inherit}.i-tag-outline{--background: transparent;border-color:var(--color)}.i-tag-hover-close{transform:translate(50%, -50%) scale(0);opacity:0}.i-tag-clickable{cursor:pointer}.i-tag-clickable:hover{background:var(--background-hover);color:var(--color-hover)}.i-tabs{max-width:100%;gap:.5em}.i-tabs-line .i-tab-navs{gap:1em}.i-tabs-line .i-tab-nav{padding:.4em 0}.i-tabs-line .i-tab-nav.i-tab-active{--color: var(--color-main)}.i-tabs-line .i-tab-navs-bar{background:var(--color-main)}.i-tabs-line .i-tab-navs-vertical>.i-tab-navs{gap:.5em}.i-tabs-line .i-tab-navs-vertical>.i-tab-navs>.i-tab-nav{padding:.25em 1em}.i-tab-navs-container{display:flex;border-radius:var(--radius);scroll-behavior:smooth;gap:4px;align-items:center}.i-tab-navs-vertical{align-items:flex-end;flex-direction:column}.i-tab-navs{flex:1;position:relative;display:flex;flex-direction:inherit;overflow:auto;user-select:none;scroll-behavior:unset;scrollbar-width:none;gap:1px}.i-tab-navs::-webkit-scrollbar{display:none}.i-tabs-pane .i-tab-navs-container{position:relative}.i-tabs-pane .i-tab-navs-container:before{position:absolute;bottom:0;left:0;right:0;width:100%;border-top:1px solid var(--color-8);content:"";z-index:1}.i-tabs-pane .i-tab-navs{gap:4px}.i-tabs-pane .i-tab-navs .i-tab-nav{border-radius:var(--radius) var(--radius) 0 0;border:1px solid rgba(0,0,0,0)}.i-tabs-pane .i-tab-navs .i-tab-nav:hover{border-color:var(--color-8);border-bottom-color:var(--background)}.i-tabs-pane .i-tab-navs .i-tab-active{z-index:2;background:rgba(0,0,0,0);border-color:var(--color-8);border-bottom:1px solid var(--background);box-shadow:1px 2px 0 1px var(--color-8)}.i-tabs-pane .i-tab-navs .i-tab-active:hover{background-color:rgba(0,0,0,0)}.i-tabs-pane .i-tab-navs-vertical:before{left:unset;top:0;width:unset;height:100%;border-top:none;border-right:1px solid var(--color-8)}.i-tabs-pane .i-tab-navs-vertical .i-tab-navs .i-tab-nav{border-radius:var(--radius) 0 0 var(--radius);border:1px solid rgba(0,0,0,0)}.i-tabs-pane .i-tab-navs-vertical .i-tab-navs .i-tab-nav:hover{border-color:var(--color-8);border-right-color:var(--background)}.i-tabs-pane .i-tab-navs-vertical .i-tab-navs .i-tab-active{border-color:var(--color-7);border-right:1px solid var(--background)}.i-tabs-pane .i-tab-navs-vertical .i-tab-navs .i-tab-active:hover{background-color:rgba(0,0,0,0)}.i-tab-nav{--color: var(--color-7);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:.4em .5em;user-select:none;flex-shrink:0;gap:.25em;color:var(--color);border-radius:var(--radius)}.i-tab-nav:hover{--color: var(--color-3)}.i-tab-nav.i-tab-active{--color: var(--color-main)}.i-tabs-morelist .i-tab-nav{white-space:nowrap}.i-tabs-morelist .i-tab-active{background:var(--color-main-0)}.i-tab-closable .i-tab-nav{padding-right:0;border-radius:var(--radius) var(--radius) 0 0}.i-tab-closable .i-tab-nav.i-tab-active{box-shadow:2px 0 8px rgba(0,0,0,.0509803922);background-color:var(--background)}.i-tab-nav-close{margin:0;font-size:.7em;padding:0}.i-tab-nav-close:hover{color:var(--error)}.i-tab-navs-bar{position:absolute;bottom:0em;left:0;height:0;background:var(--color-main-0);pointer-events:none;transition:var(--transition);border-radius:4px}.i-tab-navs-vertical>.i-tab-navs{gap:1px}.i-tab-navs-vertical>.i-tab-navs>.i-tab-navs-bar{width:0;left:unset;bottom:unset;right:0;top:0}.i-tab-contents{position:relative;flex:1}.i-tab-content{display:none}.i-tab-content.i-tab-active{display:block}.i-tree{display:flex;flex-direction:column;gap:1px;color:var(--color-2)}.i-tree-group-title{position:relative;font-size:1em;display:flex;font-weight:300;font-style:italic;font-size:.9em}.i-tree-group-title:after{content:" ";margin-left:.5em;flex:1;height:1px;align-self:center;background:var(--color-8)}.i-tree-item-header{position:relative;display:flex;align-items:center;gap:.25em;padding:.4em;user-select:none;border-radius:var(--radius);overflow:hidden;color:var(--color-6)}.i-tree-item-header.i-tree-item-round{border-radius:100px}.i-tree-item-header.i-tree-item-selected,.i-tree-item-header:hover{background:var(--color-main-0);color:var(--color-main)}.i-tree-round{--radius: 100px}.i-tree-item-icon{display:flex}.i-tree-checkbox{align-self:center}.i-tree-toggle{margin-left:auto;transition:var(--transition);border-radius:inherit;color:var(--color-6)}.i-tree-toggle:hover{color:var(--color-3);background:var(--background-opacity)}.i-tree-item-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(0, 1, 0, 1)}.i-tree-expand>.i-tree-item-content{transition:max-height .25s cubic-bezier(1, 0, 1, 0);max-height:2000px}.i-tree-expand>.i-tree-item-header{color:var(--color-main);opacity:1}.i-tree-expand>.i-tree-item-header>.i-tree-toggle{transform:rotateX(180deg)}.i-video{position:relative;background:#000;border-radius:var(--radius);overflow:hidden}.i-video video{width:100%;height:100%}.i-video-controls{position:absolute;left:0;bottom:0;right:0;display:flex;align-items:center;padding:4px;gap:4px;font-size:.9em;white-space:nowrap;user-select:none;transition:var(--transition);background:var(--background-opacity);backdrop-filter:var(--blur)}.i-video-controls .i-btn{flex-shrink:0}.i-video-controls .i-icon{font-size:1.2em}.i-video-controls:hover{opacity:1;pointer-events:unset}.i-video-controls-hidden{opacity:0;pointer-events:none}.i-video-control{display:flex;align-items:center}.i-video-times{margin-inline:8px;display:flex;align-items:center;gap:4px}.i-video-volume{position:absolute;z-index:1;bottom:100%;left:50%;transform:translate(-50%, 4px);padding:8px;opacity:0;pointer-events:none;border-radius:var(--radius);transition:var(--transition);backdrop-filter:var(--blur);background:var(--background-opacity)}.i-video-control-volume{position:relative}.i-video-control-volume:hover .i-video-volume{opacity:1;pointer-events:unset}.i-ripple-container{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;contain:strict}.i-ripple{position:absolute;background:var(--color);opacity:.15;transform:translate(-50%, -50%) scale(0.25);transform-origin:50%;border-radius:50%}.i-ripple-active{opacity:0;transform:translate(-50%, -50%) scale(1)}.i-swiper{position:relative;max-width:100%;user-select:none}.i-swiper:hover .i-swiper-arrow{opacity:.72}.i-swiper .i-swiper-arrow:hover{opacity:1}.i-swiper-track{position:relative;overflow:hidden;touch-action:pan-x;border-radius:var(--radius)}.i-swiper-list{display:flex;will-change:transform}.i-swiper-fade>.i-swiper-item{opacity:0}.i-swiper-fade>.i-swiper-active{opacity:1}.i-swiper-vertical .i-swiper-track{height:100%;touch-action:pan-y}.i-swiper-vertical .i-swiper-list{flex-direction:column}.i-swiper-vertical .i-swiper-item{width:100%}.i-swiper-vertical .i-swiper-arrow{left:unset;right:.5em}.i-swiper-vertical .i-swiper-prev{bottom:50%;top:unset;transform:translate(0, -6px)}.i-swiper-vertical .i-swiper-next{transform:translate(0, 6px)}.i-swiper-item{flex:1;flex-shrink:0;display:flex;justify-content:center;align-items:center;overflow:hidden;transition:var(--transition)}.i-swiper-arrow{position:absolute;top:50%;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);transform:translate(0, -50%);transition:var(--transition);opacity:0}.i-swiper-prev{left:.5em}.i-swiper-next{right:.5em}.i-swiper-indicators{margin:.5em 0;display:flex;justify-content:center;gap:.5em}.i-swiper-indicators-fixed{position:absolute;bottom:0;left:50%;transform:translate(-50%, 0)}.i-swiper-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color);opacity:.25}.i-swiper-indicator:hover{opacity:.8}.i-swiper-indicator.i-indicator-active{opacity:1}.i-input-label-file{display:inline-flex;width:unset}.i-input-label-file:has(.i-upload-list:empty){align-items:center}.i-input-file-hidden{display:none}.i-upload-inner{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.5em}.i-upload-card:has(.i-upload-list:not(:empty)){align-self:flex-start}.i-upload-card .i-upload-list{display:contents}.i-upload-list{display:flex;flex-wrap:wrap;width:100%;gap:inherit;user-select:none}.i-upload-list:empty{display:none}.i-upload-delete{opacity:0;margin:0;z-index:1;right:-0.825em;top:-0.825em;box-shadow:var(--shadow)}.i-upload-btn{align-self:center}.i-upload-card-btn{border-style:dashed;width:var(--upload-card-size);height:var(--upload-card-size);opacity:.6;font-size:1em}.i-upload-card-btn:hover{opacity:1}.i-upload-item{position:relative;display:inline-flex;align-items:center;gap:.25em;padding:.25em .4em;border:2px solid var(--background-opacity-1);border-radius:var(--radius);background:var(--background-opacity);transition:var(--transition);font-size:.8em}.i-upload-item .i-upload-delete{position:absolute;background-color:var(--error);color:#fff}.i-upload-item .i-upload-delete:hover{background-color:var(--error);color:#fff}.i-upload-item:hover{background-color:var(--background-opacity-1)}.i-upload-item:hover .i-upload-delete{opacity:1}.i-upload-item-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;width:var(--upload-card-size);height:var(--upload-card-size);border-radius:var(--radius);background:var(--background-opacity-1);cursor:pointer}.i-upload-item-card .i-image,.i-upload-item-card video{width:100%;height:100%;object-fit:cover}.i-upload-item-card .i-upload-file-name{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.8em;padding-inline:4px}.i-upload-item-card .i-upload-delete{font-size:.72em;position:absolute;background-color:var(--error);color:#fff}.i-upload-item-card .i-upload-delete:hover{background-color:var(--error);color:#fff}.i-upload-item-card:hover .i-upload-delete{opacity:1}.i-upload-size{font-size:.8em;color:var(--color-6)}.i-upload-item-dragged{z-index:1000}.i-colorpicker-handle{position:relative;display:inline-flex;align-items:center;font-size:.8em;gap:.25em}.i-colorpicker-square{display:inline-block;width:1.8em;height:1.8em;border:2px solid var(--color-9);border-radius:var(--radius);cursor:pointer;transition:var(--transition)}.i-colorpicker-square:hover{border-color:var(--color-8)}.i-colorpicker-footer{display:flex;gap:4px;font-size:.8em}.i-colorpicker-text{transition:var(--transition);cursor:pointer;padding:.25em .5em;border-radius:var(--radius);background:var(--color-9)}.i-colorpicker-text:hover{background:var(--color-8)}.rc-color-picker-panel{box-shadow:none;background:inherit}.i-datepicker-label{position:unset}.i-datepicker{padding:8px}.i-datepicker .i-datepicker-item{cursor:pointer}.i-datepicker-weeks,.i-datepicker-dates{display:grid;grid-template-columns:repeat(7, 1fr);gap:2px}.i-datepicker-week,.i-datepicker-item{display:flex;justify-content:center;padding:.32em .5em}.i-datepicker-week{color:var(--color-5)}.i-datepicker-item{--background: transparent;opacity:.4;border-radius:var(--radius);transition:all .12s;background:var(--background);color:var(--color)}.i-datepicker-item:hover{opacity:1;--background: var(--color-main-0)}.i-datepicker-item.i-datepicker-same-month{opacity:.8}.i-datepicker-item.i-datepicker-today{--background: var(--color-main-0)}.i-datepicker-item.i-datepicker-active{--background: var(--color-main);--color: var(--color-main-reverse);opacity:1}.i-datepicker-item.i-datepicker-disabled{opacity:.2;cursor:not-allowed}.i-datepicker-units{margin-bottom:.5em;display:flex;align-items:center;gap:.125em;color:var(--color-6);font-size:.9em}.i-datepicker-action{position:relative;display:flex;align-items:baseline;gap:.25em;padding:.125em .5em;user-select:none;border-radius:var(--radius)}.i-datepicker-action>span{color:var(--color);font-size:1.15em}.i-datepicker-action:hover{background:var(--color-main-0)}.i-datepicker-icon{margin-right:.4em;opacity:.5;pointer-events:none}.i-datepicker-ym{position:absolute;inset:0;z-index:1;padding:8px;gap:.5em;background:var(--background);backdrop-filter:var(--blur);display:flex;pointer-events:none;opacity:0;transition:var(--transition)}.i-datepicker-ym.i-datepicker-active{opacity:1;pointer-events:unset}.i-datepicker-years{width:5em;overflow-x:hidden;display:flex;flex-direction:column;max-height:100%;gap:.25em}.i-datepicker-months{margin-top:1.5em;flex:1;display:grid;grid-template-columns:repeat(3, 1fr);gap:.25em}.i-datepicker-year{flex:1}.i-datepicker-year,.i-datepicker-month{display:flex;padding:2px;user-select:none;border-radius:var(--radius);justify-content:center;align-items:center}.i-datepicker-year:hover,.i-datepicker-month:hover{background-color:var(--background-opacity-2)}.i-datepicker-year.i-datepicker-active,.i-datepicker-month.i-datepicker-active{background:var(--color-main);color:var(--color-main-reverse);opacity:1}.i-datepicker-close{position:absolute;right:0;top:0}.i-timepicker-label{position:unset}.i-timepicker{display:flex}.i-timepicker-list{min-width:3em;text-align:center;overflow:auto;padding:4px;max-height:12.2em;display:flex;flex-direction:column;gap:2px;scrollbar-width:none}.i-timepicker-list::-webkit-scrollbar{display:none}.i-timepicker-list:not(:last-child){border-right:1px solid var(--color-9)}.i-timepicker-item{display:block;padding:.32em .5em;border-radius:var(--radius);opacity:.5}.i-timepicker-item:hover{background-color:var(--color-9);opacity:1}.i-timepicker-item.i-timepicker-item-active{position:sticky;top:0;bottom:0;z-index:1;background:var(--color-main);color:var(--color-main-reverse);opacity:1}.i-timepicker-icon{margin-right:.4em;opacity:.5;pointer-events:none}.i-empty{margin:auto;width:3em;height:3em;color:var(--color-7)}.i-helpericon{position:relative;margin:.25em;padding:.125em;min-height:1.675em;min-width:1.675em;display:flex;align-items:center;justify-content:center;align-self:center;color:var(--color-7);transition:var(--transition);border-radius:var(--radius);font-size:.8em}.i-helpericon:hover{color:var(--color-3);background:var(--background-opacity-1)}
|
|
2
|
-
|
|
3
|
-
/*# sourceMappingURL=index.css.map */
|
package/lib/css/index.css.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["stdin","file:///Users/iann/codes/ioca-react/packages/css/var.scss","file:///Users/iann/codes/ioca-react/packages/css/reset.scss","file:///Users/iann/codes/ioca-react/packages/css/helper.scss","file:///Users/iann/codes/ioca-react/packages/css/color.scss"],"names":[],"mappings":"AA07EQ,qDCx7ER,MACC,kBACA,sFAEA,6BAEA,0BACA,cACA,iCACA,mBACA,oBAEA,oBACA,oBCfD,kEAUC,cAED,EACC,SACA,UACA,SACA,sBAED,yCAUC,gBAED,EACC,cACA,qBACA,eACA,6BAED,SAEC,gBAED,KACC,kBACA,iBACA,mBACA,iBACA,kBACA,uBAED,6BAIC,aAED,uBACC,mBACA,gBAED,MAEC,gBAED,uBAIC,cACA,YACA,gBACA,eACA,6BAED,GACC,iBACA,gBAED,GACC,eACA,gBAED,GACC,iBAED,GACC,iBAED,MAEC,eAED,MACC,eAED,SAEC,oBAED,YACC,8CAED,gCACC,UACA,WACA,eAED,sCACC,gCACA,eACA,4BC3GA,4CAIC,qBACA,oBACA,cACA,eACA,kBACA,gBACA,gBACA,mBAED,uBAEC,0BACA,qBACA,kBAED,qBAEC,8BACA,mBACA,qCACA,sCACA,wCAED,YACC,oBACA,gBACA,6BACA,gCACA,4BACA,6BACA,kBACC,wCACA,mCAGF,YACC,oBACA,kBACA,mBACA,kBAGD,gBACC,kBAED,gBACC,kBAED,aACC,eAED,YACC,aACA,YAED,YACC,aAED,mBACC,sBAED,iBACC,eAED,cACC,OAED,mBACC,cAED,kBACC,gBACA,MACA,WAED,qBACC,gBACA,SACA,WAED,mBACC,gBACA,OACA,WAED,oBACC,gBACA,QACA,WAED,mBACC,kBAED,kBACC,iBAED,gBACC,gCAED,gBACC,gBACA,mBACA,uBAED,uBACC,gBAED,qBACC,cAED,sBACC,uBAED,sBACC,6BAED,uBACC,8BAED,qBACC,2BAED,mBACC,yBAED,mBACC,uBAED,iBACC,qBAED,oBACC,mBAED,mBACC,kBAED,eACC,aAED,eACC,qCACA,4BAED,iBACC,gBAED,aACC,mBAED,eACC,4BAED,gBACC,WACA,mBAED,cACC,wBAED,cACC,yBAED,oBACC,6BACA,0BACC,yBAGF,yBACC,6BACA,+BACC,0BAGF,qBACC,gBAED,qBACC,UACA,6BACA,2BACC,UAGF,sBACC,UACA,4BAIC,0CACC,UAIH,sBACC,yBAED,mBACC,kBAED,iBACC,gBAED,eACC,eAED,eACC,gBAGD,eACC,YAED,eACC,mBAED,eACC,kBAED,eACC,iBAED,eACC,kBAED,eACC,gBAED,eACC,mBAKA,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,YACC,WAED,YACC,kBAED,YACC,iBAED,YACC,eAED,YACC,kBAED,YACC,gBAED,YACC,iBAED,YACC,YAED,YACC,mBAED,YACC,kBAED,YACC,iBAED,YACC,kBAED,YACC,gBAED,YACC,mBAED,aACC,QA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,aACC,YAED,aACC,mBAED,aACC,kBAED,aACC,gBAED,aACC,mBAED,aACC,iBAED,aACC,kBAED,aACC,aAED,aACC,oBAED,aACC,mBAED,aACC,kBAED,aACC,mBAED,aACC,iBAED,aACC,oBAED,cACC,SA3CD,cACC,aAED,cACC,oBAED,cACC,mBAED,cACC,iBAED,cACC,oBAED,cACC,kBAED,cACC,mBAED,cACC,cAED,cACC,qBAED,cACC,oBAED,cACC,mBAED,cACC,oBAED,cACC,kBAED,cACC,qBAED,eACC,UA3CD,cACC,aAED,cACC,oBAED,cACC,mBAED,cACC,iBAED,cACC,oBAED,cACC,kBAED,cACC,mBAED,cACC,cAED,cACC,qBAED,cACC,oBAED,cACC,mBAED,cACC,oBAED,cACC,kBAED,cACC,qBAED,eACC,UA3CD,cACC,aAED,cACC,oBAED,cACC,mBAED,cACC,iBAED,cACC,oBAED,cACC,kBAED,cACC,mBAED,cACC,cAED,cACC,qBAED,cACC,oBAED,cACC,mBAED,cACC,oBAED,cACC,kBAED,cACC,qBAED,eACC,UA3CD,cACC,aAED,cACC,oBAED,cACC,mBAED,cACC,iBAED,cACC,oBAED,cACC,kBAED,cACC,mBAED,cACC,cAED,cACC,qBAED,cACC,oBAED,cACC,mBAED,cACC,oBAED,cACC,kBAED,cACC,qBAED,eACC,UAKD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,YACC,UAED,YACC,WAJD,aACC,WAED,aACC,YAKD,iBACC,mBAED,iBACC,gBAJD,iBACC,mBAED,iBACC,gBAJD,iBACC,mBAED,iBACC,gBAJD,iBACC,mBAED,iBACC,gBAGF,oBACC,iBAED,oBACC,cAGD,yBACC,iBACC,yBAGF,yBACC,iBACC,yBAIF,kBACC,KACC,0BAGF,kBACC,IACC,6BAED,IACC,6BAED,IACC,6BC5PH,MACC,mBACA,wBACA,gCACA,kCACA,kCAEA,iBACA,sBACA,wBACA,wBACA,8BAEA,sCACA,2BAUC,gXAsBA,iBACA,eACA,mBAFA,mBACA,eACA,mBAFA,iBACA,eACA,iBAFA,kBACA,gBACA,kBAFA,mBACA,iBACA,mBAFA,oBACA,kBACA,oBAFA,mBACA,iBACA,mBAFA,kBACA,gBACA,kBAFA,kBACA,gBACA,kBAFA,oBACA,kBACA,oBAFA,kBACA,aACA,kBAFA,oBACA,kBACA,oBAFA,qBACA,mBACA,qBAFA,mBACA,iBACA,mBAFA,qBACA,mBACA,qBAhCD,kBACC,wBAED,eACC,6BACA,gCAIA,eACC,wBACA,mBAED,YACC,6BACA,6BAEC,mBAGF,iBACC,UAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAEC,mBAGF,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAEC,mBAGF,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAEC,mBAGF,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAEC,mBAGF,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAKD,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAKD,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAKD,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAKD,iBACC,YAZD,eACC,wBACA,mBAED,YACC,6BACA,6BAKD,iBACC,YAaD,kBACC,oBACA,4BACA,mCACA,YAEA,wBACC,0BAGD,8BACC,mCACA,yBAIF,gBACC,2BAEC,sBACA,4BAKD,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,kBACC,sBAEC,sBACA,4BAKD,mCACA,mBAEA,wBACC,0BAGD,8BACC,mCACA,yBAIF,eACC,eACA,4BACA,mBAGD,aACC,sBACA,mCACA,4BACA,mBAGD,eACC,iBACA,4BACA,mBA5ED,kBACC,sBACA,4BACA,mCACA,YAEA,wBACC,0BAGD,8BACC,mCACA,yBAIF,gBACC,2BAKC,sBACA,4BAED,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,kBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,wBACC,0BAGD,8BACC,mCACA,yBAIF,eACC,iBACA,4BACA,mBAGD,aACC,sBACA,mCACA,4BACA,mBAGD,eACC,iBACA,4BACA,mBA5ED,gBACC,sBACA,4BACA,mCACA,cAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,cACC,yBAKC,sBACA,4BAED,mCACA,mBAEA,oBACC,4BAGD,0BACC,mCACA,yBAIF,gBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,aACC,iBACA,0BACA,mBAGD,WACC,oBACA,iCACA,0BACA,mBAGD,aACC,iBACA,0BACA,mBA5ED,iBACC,sBACA,4BACA,mCACA,cAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,eACC,0BAKC,sBACA,4BAED,mCACA,mBAEA,qBACC,4BAGD,2BACC,mCACA,yBAIF,iBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,cACC,iBACA,2BACA,mBAGD,YACC,qBACA,kCACA,2BACA,mBAGD,cACC,iBACA,2BACA,mBA5ED,kBACC,sBACA,4BACA,mCACA,cAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,gBACC,2BAKC,sBACA,4BAED,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,kBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,eACC,iBACA,4BACA,mBAGD,aACC,sBACA,mCACA,4BACA,mBAGD,eACC,iBACA,4BACA,mBA5ED,mBACC,sBACA,4BACA,mCACA,cAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,iBACC,4BAEC,sBACA,4BAKD,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,mBACC,sBAEC,sBACA,4BAKD,mCACA,mBAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,gBACC,iBACA,6BACA,mBAGD,cACC,uBACA,oCACA,6BACA,mBAGD,gBACC,iBACA,6BACA,mBA5ED,kBACC,sBACA,4BACA,mCACA,cAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,gBACC,2BAKC,sBACA,4BAED,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,kBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,eACC,iBACA,4BACA,mBAGD,aACC,sBACA,mCACA,4BACA,mBAGD,eACC,iBACA,4BACA,mBA5ED,iBACC,sBACA,4BACA,mCACA,cAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,eACC,0BAEC,sBACA,4BAKD,mCACA,mBAEA,qBACC,4BAGD,2BACC,mCACA,yBAIF,iBACC,sBAEC,sBACA,4BAKD,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,cACC,iBACA,2BACA,mBAGD,YACC,qBACA,kCACA,2BACA,mBAGD,cACC,iBACA,2BACA,mBA5ED,iBACC,sBACA,4BACA,mCACA,cAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,eACC,0BAKC,sBACA,4BAED,mCACA,mBAEA,qBACC,4BAGD,2BACC,mCACA,yBAIF,iBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,cACC,iBACA,2BACA,mBAGD,YACC,qBACA,kCACA,2BACA,mBAGD,cACC,iBACA,2BACA,mBA5ED,mBACC,sBACA,4BACA,mCACA,cAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,iBACC,4BAKC,sBACA,4BAED,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,mBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,gBACC,iBACA,6BACA,mBAGD,cACC,uBACA,oCACA,6BACA,mBAGD,gBACC,iBACA,6BACA,mBA5ED,iBACC,sBACA,4BACA,mCACA,WAEA,uBACC,yBAGD,6BACC,mCACA,yBAIF,eACC,0BAEC,sBACA,4BAKD,mCACA,mBAEA,qBACC,4BAGD,2BACC,mCACA,yBAIF,iBACC,sBAEC,sBACA,4BAKD,mCACA,mBAEA,uBACC,yBAGD,6BACC,mCACA,yBAIF,cACC,iBACA,2BACA,mBAGD,YACC,qBACA,kCACA,2BACA,mBAGD,cACC,iBACA,2BACA,mBA5ED,mBACC,sBACA,4BACA,mCACA,cAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,iBACC,4BAKC,sBACA,4BAED,mCACA,mBAEA,uBACC,4BAGD,6BACC,mCACA,yBAIF,mBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,yBACC,4BAGD,+BACC,mCACA,yBAIF,gBACC,iBACA,6BACA,mBAGD,cACC,uBACA,oCACA,6BACA,mBAGD,gBACC,iBACA,6BACA,mBA5ED,oBACC,sBACA,4BACA,mCACA,cAEA,0BACC,4BAGD,gCACC,mCACA,yBAIF,kBACC,6BAEC,sBACA,4BAKD,mCACA,mBAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,oBACC,sBAEC,sBACA,4BAKD,mCACA,mBAEA,0BACC,4BAGD,gCACC,mCACA,yBAIF,iBACC,iBACA,8BACA,mBAGD,eACC,wBACA,qCACA,8BACA,mBAGD,iBACC,iBACA,8BACA,mBA5ED,kBACC,sBACA,4BACA,mCACA,cAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,gBACC,2BAKC,sBACA,4BAED,mCACA,mBAEA,sBACC,4BAGD,4BACC,mCACA,yBAIF,kBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,eACC,iBACA,4BACA,mBAGD,aACC,sBACA,mCACA,4BACA,mBAGD,eACC,iBACA,4BACA,mBA5ED,oBACC,sBACA,4BACA,mCACA,cAEA,0BACC,4BAGD,gCACC,mCACA,yBAIF,kBACC,6BAKC,sBACA,4BAED,mCACA,mBAEA,wBACC,4BAGD,8BACC,mCACA,yBAIF,oBACC,sBAKC,sBACA,4BAED,mCACA,mBAEA,0BACC,4BAGD,gCACC,mCACA,yBAIF,iBACC,iBACA,8BACA,mBAGD,eACC,wBACA,qCACA,8BACA,mBAGD,iBACC,iBACA,8BACA,mBAKH,WACC,gCACA,mBAED,QACC,qBA8DD,YA1DC,sBACA,wBACA,gCACA,kCACA,kCAEA,cACA,sBACA,wBACA,wBACA,wBACA,8BAEA,2BACA,kCAEA,6BACA,mBAGC,mXACA,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BAOF,uBACC,mBAED,mCAEC,0BAMA,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,sBACC,sBAGD,mBACC,iBAGD,iBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,0BACC,sBAGD,uBACC,iBAGD,qBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,0BACC,sBAGD,uBACC,iBAGD,qBACC,4BASH,mCACC,YA/DA,sBACA,wBACA,gCACA,kCACA,kCAEA,cACA,sBACA,wBACA,wBACA,wBACA,8BAEA,2BACA,kCAEA,6BACA,mBAGC,mXACA,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BAEC,mBAPF,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BALD,qBACC,qBAED,kBACC,6BACA,6BAOF,uBACC,mBAED,mCAEC,0BAMA,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,sBACC,sBAGD,mBACC,iBAGD,iBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,uBACC,sBAGD,oBACC,iBAGD,kBACC,4BATD,yBACC,sBAGD,sBACC,iBAGD,oBACC,4BATD,0BACC,sBAGD,uBACC,iBAGD,qBACC,4BATD,wBACC,sBAGD,qBACC,iBAGD,mBACC,4BATD,0BACC,sBAGD,uBACC,iBAGD,qBACC,6BJjRH,eACC,kBACA,aACA,eACA,qBACA,yBACA,SACA,WACA,eACA,4BACA,qCACC,sBAED,qCACC,uBAED,mCACC,sBAGF,gBACC,iBACA,+FAGC,cAED,iCACC,kBACA,UACA,WACA,kBACA,qCACA,4BAIF,oBACC,4BACA,8BACA,sBACA,gBACA,oBAGD,cACC,0BACA,kEACA,cACA,aACA,qBACA,6BACA,sBACA,sDACA,eACA,qBACC,mBAED,2EAGC,4BACA,+BAED,8BACC,4BAED,8BACC,6BAED,4BACC,4BAGF,oBACC,2BACA,uCAED,mBACC,6CACA,gBACA,4BACA,yBAGD,SACC,uBACA,OACA,WACA,cACA,aACA,6BACA,yBACA,sBAEA,kGAEC,wBAED,mBACC,0BAED,kBACC,uCACA,mBAIF,iBACC,wBACA,cACA,kBACA,UACA,eACA,mBACA,4BACA,oBAED,iBACC,sBAED,iBACC,uBAED,eACC,sBAGD,YACC,cACA,gDACA,eACA,iBAGD,iCAEC,wCACA,aACA,mBACA,mBACA,+CACC,sBACA,aAGF,iBACC,eACA,+BACA,kCAED,gBACC,cACA,gCACA,mCAIA,iEAEC,cAIF,gBACC,kBACA,uBACA,iBAED,QACC,yBACA,aACA,sBACA,uCACA,4BACA,4BACA,cAED,iBACC,gCAGD,eACC,aACA,mBACA,4BACA,UAGD,gBACC,OAGD,eACC,gBACA,aACA,mBACA,4BACA,UAED,YACC,4BAED,qBACC,gCAEA,uDACC,oCAGF,iBACC,4BAED,mBACC,aACA,8BACA,mBACA,aACA,6BACA,gBACA,4BACA,yBACC,6CAGF,mBACC,SACA,aACA,iBAED,oBACC,eACA,SACA,gBACA,6BACA,4BAED,+DAEC,UAED,uCACC,aACA,aAED,qBACC,oBACA,WACA,yCACC,eACA,SACA,gBAGF,SACC,kBACA,oBACA,kBACA,cACA,4BAGD,iBACC,kBACA,UACA,oBACA,kBACA,oBACA,wCACA,sBACA,qCACA,4BACA,yBACA,gBACA,oBACA,6BACC,WACA,UACA,UACA,kBACA,gBACA,oBAED,uDAEC,wCAGF,OACC,cACA,gCACA,wCACA,mCACA,kBACA,oBACA,mBACA,uBACA,eACA,eACA,cACA,4BACA,+BACA,6BACA,iBACA,eACA,mBACA,aACA,gBACA,gBACA,6BACA,mBACA,cACA,cACA,2BACC,WAGF,cACC,gBAED,sBACC,oBACA,eACA,mBACA,qBACA,0CACC,6BACA,eAGF,aACC,WAED,aACC,iBAED,eACC,cACA,WAED,aACC,WACA,cACA,gBACA,eAED,YACC,cACA,aACA,eACA,eAED,cACC,UACA,aACA,sDAEC,UAGF,aACC,sCAED,cACC,gCAED,iBACC,mCACA,6BACA,wBAED,YACC,mCACA,mCACA,0BACA,wBAED,eACC,wCACA,2BACA,qBACC,0BACA,0BAGF,gFAGC,sCAED,eACC,iBAGD,eACC,aACA,eAGD,uBACC,aAEC,gDACC,yBACA,4BAED,+CACC,0BACA,6BAIH,sBACC,aACA,sBAEC,+CACC,yBACA,0BAED,8CACC,6BACA,4BAIH,WACC,UACA,oBACC,gBACA,yBACA,eACA,eACA,+BACA,WACA,YAIF,qBACC,kBACA,WACA,YAGD,mBACC,aACA,mBACA,uBACA,WACA,YACA,6BACA,oBACA,qBACC,mBAIF,oBACC,eACA,WACA,WACA,SACA,YACA,aACA,mBACA,QACA,qCACA,4BACA,eACA,mBACA,6BACA,0BACC,UAGF,2BACC,UAGD,mBACC,aACA,sBACA,mBACA,iBACA,6BACA,4BAED,SACC,eACA,WACA,aACA,sBACA,SACA,6BAIA,+BACC,UAGF,sBACC,4BACA,cAED,oBACC,2BACA,iBAEA,gCACC,gBACA,eAED,yCACC,kBACA,QACA,WACA,qCACA,0BAIF,YACC,aACA,gBACA,wBACA,kBACA,mDACA,6CACA,eACA,qBACC,gBACA,iBAIF,qBACC,wCACA,+CACA,sCACC,+CAKD,oCACC,wCACA,mDACC,2CAKH,4BACC,8CAEA,iBACA,kCACC,wCACA,gDACA,mDACC,UAED,oEACC,UAKH,iBACC,gBACA,aACA,mBACA,wCACA,QACA,4BACA,2CACA,iCACA,gBAUD,kCACC,UAED,6BACC,qCAED,4BACC,oCAED,yBACC,YACA,cACA,gBACA,YACA,wBACA,mBACA,gBAED,kCACC,cACA,uBACA,mCAIA,oCACC,wDACA,UACA,mBACA,uBACA,cACA,iBACA,4BAED,qDACC,UAIF,oBACC,kBACA,iBACA,UACA,gBACA,iBACA,0BACC,gCAIF,uBACC,eACA,6BACC,2CAGF,mBACC,aACA,sBACA,cACA,WACA,gBACA,qBAGA,qCACC,qBACA,yBAED,oCACC,wBAID,4DACC,wBAID,4DACC,wBAGF,YACC,QAED,iBACC,oBACA,qBACA,UACA,4BACA,sBAEC,yCACC,0CAED,0CACC,0CAED,0CACC,gBAID,2CACC,gBAKH,oBACC,cACA,kBACA,aACA,eACA,WACA,oBAGD,iBACC,oBACA,6BACA,iBACA,sBACA,qBACA,uBACC,aAIF,kBACC,kBACA,aACA,eACA,eACA,cACA,gBACA,gBACA,sBACA,6BACA,UACA,kBAGD,mBACC,QACA,SAED,mBACC,eACA,YACA,eACA,oBACA,0CACA,0BAEC,+BACC,oCACA,qCAIH,oBACC,kBACA,0CAED,mBACC,aAED,sGAIC,YACA,kBACA,6BAED,0BACC,SACA,QACA,WACA,UACA,kDACA,iDACA,iCACA,kBAGA,yBACC,OACA,QACA,UACA,WACA,6BACA,oCACA,kBACA,6BACA,mCAGA,gCACC,YAED,wCACC,YAMF,6CACC,mCACA,mDACC,wBAGF,4CACC,mCACA,kDACC,uCACA,iCACA,mCAGF,2CACC,wBAID,oCACC,cACA,gBACA,eACA,aACA,mBACA,mBACA,kBACA,kCAED,0CACC,gCACA,4BAED,4CACC,qCACA,wBACA,+BAGF,mBACC,kBACA,mCACA,yBACC,2CACA,WACA,WACA,SACA,QACA,gCACA,4BAIF,oBACC,gBACA,eACA,sBACA,oBAIA,sCACC,4CACA,8CACC,kCAGF,wCACC,qBAID,sCACC,4CACA,8CACC,kCAGF,wCACC,qBAID,oCACC,0CACA,4CACC,gCAGF,sCACC,mBAGF,oBACC,aACA,sBACA,gBACA,YACA,QACA,kBACA,sBAED,mBACC,eACA,QACA,YACA,oBACA,iCACA,0BACA,6BACA,UACA,aACA,4BACC,UACA,qBAIF,UACC,kBACA,aACA,sBACA,eACA,gBACA,cACA,yBACA,6BACA,+BACA,4BAED,eACC,iBACA,mCAED,cACC,eACA,mCAED,gBACC,iBACA,kCAED,iBACC,eACA,kCAED,oBACC,UACA,eACA,qBAGD,kCAEC,aACA,mBACA,aACA,8CACC,aAIF,kBACC,OACA,kBAGD,gBACC,kBACA,aACA,sBACA,4BAED,eACC,aAGD,oBACC,aACA,SAED,6BACC,sBAGD,qBACC,cACA,qCACA,qBAGD,qBACC,OAED,QACC,aACA,eAED,eACC,uBACA,8BACC,iBAGF,SACC,kBACA,oBACA,mBACA,uBACA,kBACA,4BACA,gBACA,sBACA,qCACA,4BACA,cACA,8BACC,UACA,4BAED,aACC,sBACA,WACA,YACA,iBAIF,eACC,kBACA,QACA,aACA,mBACA,uBACA,4BAED,UACC,aACA,sBAGC,wJAEC,4BAIH,qBACC,4BACA,+EAEC,YAIF,mBACC,aACA,QACA,gCACA,gBACA,YACA,8CACA,6BACA,0BACC,wBACA,gCACC,sBACA,sDACC,UAKJ,sBACC,kBACA,UACA,SACA,SACA,6BACA,UACA,oBACA,6BAGD,kBACC,OACA,aACA,uBACA,gCACA,8CACA,6BACA,cACA,qBACA,qBACA,qBACA,aACA,8BACC,4BAED,gDAEC,4BAED,oBACC,kBAED,sBACC,SAED,+BACC,+BACA,qBAGF,mBACC,kBACA,QACA,YACA,aACA,6BACA,UACA,oBACA,aACA,gBACA,kCACC,UAGF,kBACC,iCACA,0BACA,iCACC,qBAGF,oBACC,eAGD,SACC,kBACA,aACA,sBACA,YACA,eACA,gBACA,kBACA,4BACA,6BACA,6BACA,6BACA,iBACC,oCAGF,yBACC,UACA,eACA,qBAGD,gCAEC,kBACA,aACA,mBACA,aACA,SACA,4CACC,aAGF,gBACC,uBAGD,iBACC,kBACA,OACA,gBAIA,wBACC,kBACA,aACA,sBACA,4BAGF,MACC,sBAED,QACC,aACA,cAGD,aACC,aACA,eACA,uBACA,6BACA,4BAGD,sBACC,0CACA,4CACC,gBAED,wCACC,yBACA,0BAED,uCACC,6BACA,4BAED,4BACC,0CACA,UAIF,eACC,kBACA,eACA,iBACA,mBACA,8BACA,qBACC,6CAIF,mBACC,sBAED,YACC,eACA,WACA,oBACA,aACA,sBACA,uBACA,cACA,6BACA,eAGD,WACC,kBACA,uBACA,mBACA,UACA,6BACA,sDACA,qCACA,4BACA,yBACA,4BACA,4BACC,UACA,0BAGF,qBACC,aACA,sBACA,uBACA,mBACA,SACA,kBACA,wBACA,sBAGD,gBACC,oBACA,UACA,WACA,0CAED,cACC,aACA,mBACA,SAGD,QACC,0BACA,wBACA,kBACA,oBACA,mBACA,uBACA,gBACA,cACA,iBACA,4BACA,+BACA,6BACA,iBACA,eACA,mBACA,aACA,mBACA,6BACA,4BACC,WAED,6BACC,kBACA,QACA,UACA,qCACA,4BAED,cACC,0CAED,sBACC,gCACA,mCACA,eAED,uBACC,oBACA,eAGF,SACC,kBACA,OACA,MACA,YACA,UACA,uCACA,4BACA,6BACA,yBACA,4BAGD,eACC,kBACA,UACA,YACA,oBACA,YACA,oBACC,uBAGF,cACC,aAGD,qBACC,gBAED,YACC,cACA,kBACA,aACA,+BACA,4BACA,eAED,qBACC,YACA,qCACC,YACA,oBAIF,gBACC,kBACA,WACA,6BACA,4BACA,sBACA,6BAGD,mBACC,kBACA,QACA,QACA,aACA,gBACA,cACA,wCACA,6BACA,sBACA,yBACA,iBACA,gBAGD,uEAEC,wCAGD,mBACC,kBAED,wBACC,6BACA,mBAED,yBACC,kBACA,SACA,QACA,gCACA,gBAED,aACC,aACA,gBAED,sBACC,sBACA,wCACC,iBACA,WACA,WAIF,eACC,cAED,eACC,OACA,cAED,kBACC,kBACA,aACA,uBACA,mBACA,UACA,YACA,0BACA,iBACA,6BACA,kBACA,iBACA,+DAEC,iCACA,6GACC,UAIH,uBACC,aACA,kBACA,UACA,oBACA,UACA,6BACA,mBACA,4BACA,eAED,SACC,kBACA,oBACA,eACA,QAGD,eACC,yBACA,8BACA,gBAGD,cACC,oBACA,qBACA,4BAEC,mCACC,0CACA,qCAKF,oCACC,QACA,SAGF,gCACC,0CAED,gCACC,2CAED,8BACC,0CAGD,iBACC,cACA,kBACA,aACA,eACA,WACA,oBAED,wBACC,UAGD,cACC,oBACA,iBACA,6BACA,iBACA,sBACA,qBAGD,eACC,kBACA,aACA,eACA,eACA,cACA,cACA,gBACA,gBACA,kBACA,oBACA,UACA,kBACA,0CAED,iBACC,6BAGA,uCACC,kBACA,+BACA,qCACA,gBACA,qDACC,wBAIH,wBACC,qBAED,gBACC,aACA,8BACC,cACA,iBACA,gBACA,gBACA,mBACA,kCACA,oCACC,qCACA,4BAGF,sCACC,+BACA,wBACA,+BAIF,iBACC,gBACA,eACA,sBACA,oBAIA,gCACC,4CAED,kCACC,qBAID,gCACC,4CAED,kCACC,qBAID,8BACC,0CAED,gCACC,mBAGF,QACC,aACA,eACA,SACA,gBAED,iBACC,sBACA,8BACC,mBAEC,kEACC,mBAMJ,aACC,aACA,sBACA,SACA,cACA,6BACA,wBACC,UACA,wCACC,aAGF,kCACC,WACA,kDACC,mBAGF,iCACC,WAED,mBACC,UAIF,mBACC,aACA,mBACA,uBACA,cACA,YACA,kBACA,oBACA,0BACA,wBAGD,gBACC,OACA,kBACA,iCAGD,mBACC,aACA,mBACA,SACA,mBAGD,kBACC,aACA,sBACA,mBACA,SAED,mBACC,aACA,sBACA,SAED,SACC,gBAGD,eACC,oBAGD,cACC,cAED,UACC,aACA,SAED,mBACC,eACA,qBAEA,0BACC,kBACA,eACA,oBACA,0BAIF,kBACC,cACA,aACA,sBACA,gBACA,YACA,QACA,kBACA,sBAEA,+BACC,sBACA,mBACA,qBACA,kDACC,wBACA,+BACA,yEACC,UAGF,wCACC,oBAMD,2DACC,yBAIH,uBACC,UAGD,iBACC,gBACA,MACA,UACA,aACA,eACA,qCACA,4BACA,oDACA,uBACC,aAGF,iBACC,sCAED,sBACC,0BACA,wBACA,4CAED,qBACC,KACC,6BAGF,OACC,6BACA,wBACA,kBACA,oBACA,mBACA,uBACA,kBACA,SACA,kBACA,4BACA,6BACA,mBACA,+BACA,6BACA,gBACA,cACA,oBACC,kBACA,QACA,MACA,UACA,SACA,wBACA,mBACA,+BACA,gBACA,oBACA,0BACC,0BACA,mBAID,gCACC,UACA,wCAIH,aACC,cAED,eACC,gBACA,WAED,aACC,gBACA,oBAGD,WACC,YACA,aACA,cACA,kBACA,8BACA,gDACA,cACA,mBAGD,eACC,0BACA,0BAGD,mBACC,wCACA,UAED,iBACC,eACA,uBACC,mCACA,yBAGF,QACC,eACA,SAGA,yBACC,QAED,wBACC,eACA,qCACC,2BAGF,6BACC,6BAED,8CACC,SACA,yDACC,kBAIH,sBACC,aACA,4BACA,uBACA,QACA,mBAED,qBACC,qBACA,sBAED,YACC,OACA,kBACA,aACA,uBACA,cACA,iBACA,sBACA,qBACA,QAED,+BACC,aAGA,mCACC,kBACA,0CACC,kBACA,SACA,OACA,QACA,WACA,oCACA,WACA,UAGF,yBACC,QACA,oCACC,8CACA,+BACA,0CACC,4BACA,sCAGF,uCACC,UACA,yBACA,4BACA,0CACA,wCACA,6CACC,+BAKF,yCACC,WACA,MACA,YACA,YACA,gBACA,sCAGA,yDACC,8CACA,+BACA,+DACC,4BACA,qCAGF,4DACC,4BACA,yCACA,kEACC,+BAML,WACC,wBACA,kBACA,UACA,aACA,mBACA,uBACA,kBACA,iBACA,cACA,UACA,mBACA,4BACA,iBACC,wBAED,wBACC,2BAID,4BACC,mBAED,+BACC,+BAID,2BACC,gBACA,8CACA,wCACC,6CACA,mCAIH,iBACC,SACA,eACA,UACA,uBACC,mBAGF,gBACC,kBACA,WACA,OACA,SACA,+BACA,oBACA,6BACA,kBAGA,iCACC,QACA,iDACC,QACA,WACA,aACA,QACA,MAIH,gBACC,kBACA,OAED,eACC,aACA,4BACC,cAGF,QACC,aACA,sBACA,QACA,qBAED,oBACC,kBACA,cACA,aACA,gBACA,kBACA,eACA,0BACC,YACA,iBACA,OACA,WACA,kBACA,0BAGF,oBACC,kBACA,aACA,mBACA,UACA,aACA,iBACA,4BACA,gBACA,qBACA,sCACC,oBAED,mEAEC,+BACA,wBAIF,cACC,gBAGD,kBACC,aAED,iBACC,kBAGD,eACC,iBACA,6BACA,sBACA,qBACA,qBACC,qBACA,qCAGF,qBACC,aACA,gBACA,mDAGA,oCACC,oDACA,kBAED,mCACC,wBACA,UAEA,kDACC,0BAIH,SACC,kBACA,gBACA,4BACA,gBACA,eACC,WACA,YAIF,kBACC,kBACA,OACA,SACA,QACA,aACA,mBACA,YACA,QACA,eACA,mBACA,iBACA,6BACA,qCACA,4BACA,yBACC,cAED,0BACC,gBAED,wBACC,UACA,qBAGF,yBACC,UACA,oBAGD,iBACC,aACA,mBAGD,eACC,kBACA,aACA,mBACA,QAGD,gBACC,kBACA,UACA,YACA,SACA,+BACA,YACA,UACA,oBACA,4BACA,6BACA,4BACA,qCAED,wBACC,kBAEC,8CACC,UACA,qBAIH,oBACC,kBACA,QACA,gBACA,oBACA,sBACA,eAED,UACC,kBACA,wBACA,YACA,4CACA,qBACA,kBAED,iBACC,UACA,yCAED,UACC,kBACA,eACA,iBAEC,gCACC,YAGF,gCACC,UAIF,gBACC,kBACA,gBACA,mBACA,4BAGD,eACC,aACA,sBAGA,8BACC,UAED,gCACC,UAID,mCACC,YACA,mBAED,kCACC,sBAED,kCACC,WAED,mCACC,WACA,WAED,kCACC,WACA,UACA,6BAED,kCACC,4BAIF,eACC,OACA,cACA,aACA,uBACA,mBACA,gBACA,6BAGD,gBACC,kBACA,QACA,oBACA,mBACA,uBACA,4BACA,6BACA,6BACA,UAED,eACC,UAED,eACC,WAGD,qBACC,cACA,aACA,uBACA,SAED,2BACC,kBACA,SACA,SACA,6BAED,oBACC,UACA,WACA,kBACA,cACA,wBACA,YACA,0BACC,WAED,uCACC,UAGF,oBACC,oBACA,YACA,8CACC,mBAIF,qBACC,aAGD,gBACC,cACA,aACA,eACA,SAGA,+CACC,sBAED,8BACC,iBAIF,eACC,aACA,eACA,WACA,YACA,iBACA,qBACC,aAIF,iBACC,UACA,SACA,UACA,eACA,aACA,yBAGD,cACC,kBAED,mBACC,oBACA,8BACA,+BACA,WACA,cACA,yBACC,UAIF,eACC,kBACA,oBACA,mBACA,UACA,mBACA,6CACA,4BACA,qCACA,6BACA,eACA,gCACC,kBACA,8BACA,WACA,sCACC,8BACA,WAGF,qBACC,6CACA,sCACC,UAKH,oBACC,kBACA,aACA,sBACA,mBACA,uBACA,UACA,8BACA,+BACA,4BACA,uCACA,eACA,uDAEC,WACA,YACA,iBAED,wCACC,eACA,gBACA,mBACA,uBACA,eACA,mBAED,qCACC,gBACA,kBACA,8BACA,WACA,2CACC,8BACA,WAID,2CACC,UAKH,eACC,eACA,qBAGD,uBACC,aAID,sBACC,kBACA,oBACA,mBACA,eACA,UAGD,sBACC,qBACA,YACA,aACA,gCACA,4BACA,eACA,6BACA,4BACC,4BAIF,sBACC,aACA,QACA,eAGD,oBACC,6BACA,eACA,mBACA,4BACA,0BACA,0BACC,0BAIF,uBACC,gBACA,mBAED,oBACC,eAED,cACC,YACA,iCACC,eAIF,wCAEC,aACA,qCACA,QAGD,sCAEC,aACA,uBACA,mBAED,mBACC,qBAED,mBACC,0BACA,WACA,4BACA,oBACA,6BACA,mBAEA,yBACC,UACA,kCAED,2CACC,WAED,sCACC,kCAGD,uCACC,gCACA,mCACA,UAED,yCACC,WACA,mBAIF,oBACC,mBACA,aACA,mBACA,WACA,qBACA,eAED,qBACC,kBACA,aACA,qBACA,UACA,oBACA,iBACA,4BACA,0BACC,mBACA,iBAED,2BACC,+BAIF,mBACC,kBACA,WACA,oBAGD,iBACC,kBACA,QACA,UACA,YACA,SACA,6BACA,4BACA,aACA,oBACA,UACA,6BACA,qCACC,UACA,qBAGF,oBACC,UACA,kBACA,aACA,sBACA,gBACA,UAED,qBACC,iBACA,OACA,aACA,qCACA,UAED,mBACC,OAED,uCAEC,aACA,YACA,iBACA,4BACA,uBACA,mBACA,mDACC,6CAED,+EACC,6BACA,gCACA,UAIF,oBACC,kBACA,QACA,MAED,oBACC,eAED,cACC,aAGD,mBACC,cACA,kBACA,cACA,YACA,kBACA,aACA,sBACA,QACA,qBACA,sCACC,aAED,oCACC,sCAIF,mBACC,cACA,mBACA,4BACA,WACA,yBACC,gCACA,UAED,4CACC,gBACA,MACA,SACA,UACA,6BACA,gCACA,UAIF,mBACC,kBACA,WACA,oBAED,SACC,YACA,UACA,WACA,qBAED,cACC,kBACA,aACA,eACA,mBACA,kBACA,aACA,mBACA,uBACA,kBACA,qBACA,6BACA,4BACA,eACA,oBACC,qBACA","file":"index.css"}
|