@moondreamsdev/dreamer-ui 1.7.7-test.2 → 1.7.7-test.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Toast-SgqUNTIy.cjs +2 -0
- package/dist/Toast-SgqUNTIy.cjs.map +1 -0
- package/dist/{Toast-C5BwqBkw.js → Toast-vensJgtx.js} +81 -70
- package/dist/Toast-vensJgtx.js.map +1 -0
- package/dist/components.cjs.js +1 -1
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.esm.js +286 -231
- package/dist/components.esm.js.map +1 -1
- package/dist/providers.cjs.js +1 -1
- package/dist/providers.esm.js +1 -1
- package/dist/src/components/accordion/AccordionItem.d.ts +0 -1
- package/dist/src/components/clickable/Clickable.d.ts +0 -1
- package/dist/src/components/index.d.ts +1 -0
- package/dist/src/components/radiogroup/RadioGroupItem.d.ts +0 -1
- package/dist/src/components/separator/Separator.d.ts +16 -0
- package/dist/src/components/separator/index.d.ts +2 -0
- package/dist/src/components/separator/variants.d.ts +14 -0
- package/dist/src/components/tooltip/hooks.d.ts +0 -1
- package/dist/src/hooks/useActionModal.d.ts +0 -1
- package/dist/src/hooks/useToast.d.ts +0 -1
- package/dist/src/symbols/index.d.ts +0 -1
- package/dist/theme.css +2 -0
- package/package.json +1 -1
- package/dist/Toast-C5BwqBkw.js.map +0 -1
- package/dist/Toast-FzI16Fnl.cjs +0 -2
- package/dist/Toast-FzI16Fnl.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast-vensJgtx.js","sources":["utils.esm.js","X-CIoyLewf.js","Toast-C5BwqBkw.js","components.esm.js","../src/components/actionmodal/ActionModal.tsx","../src/components/toast/Toast.tsx"],"sourcesContent":["function n(...t) {\n return t.filter((s) => typeof s == \"string\" && s).join(\" \").trim() || void 0;\n}\nexport {\n n as join\n};\n//# sourceMappingURL=utils.esm.js.map\n","import { jsx as e } from \"react/jsx-runtime\";\nfunction t({\n size: C = 15,\n color: l = \"currentColor\",\n className: n = \"inline\",\n ...i\n}) {\n return /* @__PURE__ */ e(\n \"svg\",\n {\n ...i,\n width: C,\n height: C,\n className: n,\n viewBox: \"0 0 15 15\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ e(\n \"path\",\n {\n d: \"M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z\",\n fill: l,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n )\n }\n );\n}\nfunction o({\n size: C = 15,\n color: l = \"currentColor\",\n className: n = \"inline\",\n ...i\n}) {\n return /* @__PURE__ */ e(\n \"svg\",\n {\n ...i,\n width: C,\n height: C,\n className: n,\n viewBox: \"0 0 15 15\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ e(\n \"path\",\n {\n d: \"M8.4449 0.608765C8.0183 -0.107015 6.9817 -0.107015 6.55509 0.608766L0.161178 11.3368C-0.275824 12.07 0.252503 13 1.10608 13H13.8939C14.7475 13 15.2758 12.07 14.8388 11.3368L8.4449 0.608765ZM7.4141 1.12073C7.45288 1.05566 7.54712 1.05566 7.5859 1.12073L13.9798 11.8488C14.0196 11.9154 13.9715 12 13.8939 12H1.10608C1.02849 12 0.980454 11.9154 1.02018 11.8488L7.4141 1.12073ZM6.8269 4.48611C6.81221 4.10423 7.11783 3.78663 7.5 3.78663C7.88217 3.78663 8.18778 4.10423 8.1731 4.48612L8.01921 8.48701C8.00848 8.766 7.7792 8.98664 7.5 8.98664C7.2208 8.98664 6.99151 8.766 6.98078 8.48701L6.8269 4.48611ZM8.24989 10.476C8.24989 10.8902 7.9141 11.226 7.49989 11.226C7.08567 11.226 6.74989 10.8902 6.74989 10.476C6.74989 10.0618 7.08567 9.72599 7.49989 9.72599C7.9141 9.72599 8.24989 10.0618 8.24989 10.476Z\",\n fill: l,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n )\n }\n );\n}\nfunction d({\n size: C = 15,\n color: l = \"currentColor\",\n className: n = \"inline\",\n ...i\n}) {\n return /* @__PURE__ */ e(\n \"svg\",\n {\n ...i,\n width: C,\n height: C,\n className: n,\n viewBox: \"0 0 15 15\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ e(\n \"path\",\n {\n d: \"M7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892ZM1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972ZM8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999ZM6.00003 5.99999H6.50003H7.50003C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H8.50003H9.00003V11H8.50003H7.50003H6.50003H6.00003V9.99999H6.50003H7.00003V6.99999H6.50003H6.00003V5.99999Z\",\n fill: l,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n )\n }\n );\n}\nfunction h({ size: C = 15, color: l = \"currentColor\", className: n = \"inline\", ...i }) {\n return /* @__PURE__ */ e(\n \"svg\",\n {\n ...i,\n width: C,\n height: C,\n className: n,\n viewBox: \"0 0 15 15\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ e(\n \"path\",\n {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: l,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n )\n }\n );\n}\nexport {\n t as C,\n o as E,\n d as I,\n h as X\n};\n//# sourceMappingURL=X-CIoyLewf.js.map\n","import { jsx as r, Fragment as M, jsxs as f } from \"react/jsx-runtime\";\nimport q, { createContext as H, useId as K, useState as p, useEffect as b, useRef as P, useCallback as L, useMemo as C } from \"react\";\nimport { createPortal as V } from \"react-dom\";\nimport { X as D, C as F, E as X, I as Z } from \"./X-CIoyLewf.js\";\nimport { join as G } from \"./utils.esm.js\";\nfunction w(...e) {\n return e.filter((l) => typeof l == \"string\" && l).join(\" \").trim() || void 0;\n}\nfunction J({ size: e = 15, color: l = \"currentColor\" }) {\n return /* @__PURE__ */ r(\"svg\", { width: e, height: e, className: \"inline\", viewBox: \"0 0 15 15\", xmlns: \"http://www.w3.org/2000/svg\", children: /* @__PURE__ */ r(\n \"path\",\n {\n d: \"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z\",\n fill: l,\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n }\n ) });\n}\nfunction y(...e) {\n return e.filter((l) => typeof l == \"string\" && l).join(\" \").trim() || void 0;\n}\nH(void 0);\nfunction Q() {\n const [e, l] = p(0);\n return b(() => {\n const n = setInterval(() => {\n l((t) => (t + 1) % 3);\n }, 500);\n return () => clearInterval(n);\n }, []), /* @__PURE__ */ r(\"div\", { className: \"absolute inset-0 inline-flex items-center justify-center gap-x-2 align-middle\", children: [0, 1, 2].map((n) => /* @__PURE__ */ r(\n \"div\",\n {\n className: w(\n \"rounded-full transition-all duration-500 ease-in-out size-[0.35em] bg-current\",\n e === n && \"transform -translate-y-1\"\n )\n },\n n\n )) });\n}\nconst R = {\n base: \"\",\n primary: \"bg-primary text-primary-foreground hover:bg-primary/85 disabled:bg-muted disabled:text-muted-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/85 disabled:bg-muted/80 disabled:text-muted-foreground/80\",\n tertiary: \"text-primary hover:text-primary-foreground disabled:text-muted\",\n outline: \"border border-primary text-primary hover:border-primary-foreground hover:text-primary-foreground disabled:border-muted disabled:text-muted\",\n link: \"underline-offset-4 hover:underline disabled:underline disabled:text-muted\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/85 disabled:bg-muted disabled:text-muted-foreground\"\n}, U = {\n stripped: \"\",\n fitted: \"size-fit\",\n sm: \"px-2 py-1 text-sm\",\n md: \"px-4 py-2 text-base\",\n lg: \"px-6 py-3 text-lg\",\n icon: \"p-1 w-fit aspect-square\",\n full: \"p-2 w-full\"\n}, W = {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"rounded-full\"\n}, x = {\n variant: \"primary\",\n size: \"md\",\n rounded: \"md\"\n};\nfunction Y({\n variant: e = x.variant,\n size: l,\n rounded: n = x.rounded,\n loading: t,\n linkTo: i,\n linkProps: a,\n type: o = \"button\",\n className: d,\n ...s\n}) {\n let c;\n e === \"link\" && !l ? c = \"fitted\" : c = l || x.size;\n const u = w(\n \"appearance-none focus:outline-none focus:ring not-disabled:hover:cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed transition-all\",\n R[e],\n U[c],\n W[n],\n t && \"relative pointer-events-none\",\n i && \"relative\",\n d\n );\n return /* @__PURE__ */ f(\n \"button\",\n {\n ...s,\n role: i ? \"link\" : s.role,\n \"aria-label\": s[\"aria-label\"] || (a == null ? void 0 : a[\"aria-label\"]),\n \"aria-description\": s[\"aria-description\"] || (a == null ? void 0 : a[\"aria-description\"]),\n \"aria-disabled\": s.disabled || t,\n \"aria-busy\": t,\n type: o,\n className: u,\n children: [\n t && /* @__PURE__ */ r(Q, {}),\n /* @__PURE__ */ r(\"span\", { className: w(t && \"invisible\"), children: s.children }),\n i && !s.disabled && /* @__PURE__ */ r(\n \"a\",\n {\n ...a,\n \"aria-hidden\": !0,\n href: i,\n rel: (a == null ? void 0 : a.rel) || \"noreferrer\",\n className: \"absolute inset-0\"\n }\n )\n ]\n }\n );\n}\nfunction _(e) {\n const [l, n] = p(!1), [t, i] = p(!1);\n return b(() => {\n e ? (i(!0), setTimeout(() => n(!0), 10)) : (n(!1), setTimeout(() => i(!1), 150));\n }, [e]), { show: l, shouldRender: t };\n}\nfunction $(e, l) {\n b(() => {\n const n = (t) => {\n t.key === \"Escape\" && e && l();\n };\n return document.addEventListener(\"keydown\", n), e && (document.body.style.overflow = \"hidden\"), () => {\n document.removeEventListener(\"keydown\", n), document.body.style.overflow = \"auto\";\n };\n }, [e, l]);\n}\nfunction ee(e, l) {\n const n = P(null), t = L(() => {\n const i = document.getElementById(e);\n if (!i) return;\n const a = i.querySelectorAll('[data-modal-action=\"true\"]');\n if (a.length > 0) {\n a[0].focus();\n return;\n }\n const o = i.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n if (o.length > 0) {\n const d = Array.from(o).filter((s) => !(s instanceof HTMLButtonElement && s.getAttribute(\"data-modal-close-button\") === \"true\"));\n if (d.length > 0) {\n d[0].focus();\n return;\n }\n o[0].focus();\n return;\n }\n i.focus();\n }, [e]);\n b(() => (l && (n.current = document.activeElement, t()), () => {\n document.body.style.overflow = \"auto\", n.current instanceof HTMLElement && n.current.focus();\n }), [l, t]);\n}\nfunction te({\n id: e,\n isOpen: l,\n onClose: n,\n title: t,\n children: i,\n contentOnly: a = !1,\n className: o,\n overlayClassName: d,\n hideCloseButton: s = !1,\n actions: c = [],\n disableCloseOnOverlayClick: u = !1,\n ariaLabelledBy: m,\n ariaDescribedBy: g\n}) {\n const h = K(), N = e || `modal-${h}`, k = e ? `${e}-title` : `modal-title-${h}`, { show: z, shouldRender: v } = _(l);\n if (ee(N, v), $(v, n), !v) return null;\n const T = () => t ? q.isValidElement(t) ? /* @__PURE__ */ r(\"div\", { className: \"mb-4\", children: t }) : /* @__PURE__ */ r(\"h2\", { className: \"mb-4 text-xl font-semibold\", id: k, children: t }) : null, j = () => c.length === 0 ? null : /* @__PURE__ */ r(\"div\", { className: \"mt-6 not-sm:grid gap-y-2 sm:flex sm:justify-start sm:flex-row-reverse sm:gap-x-3\", children: c.map((A, I) => {\n const { label: B, className: O, ...S } = A;\n return /* @__PURE__ */ r(Y, { className: O, type: \"button\", ...S, \"data-modal-action\": \"true\", children: B }, I);\n }) });\n return /* @__PURE__ */ r(M, { children: V(\n /* @__PURE__ */ r(\n \"div\",\n {\n \"aria-labelledby\": m ?? t ? k : void 0,\n \"aria-describedby\": g,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n className: \"fixed inset-0 z-[100] overflow-y-auto\",\n children: /* @__PURE__ */ f(\"div\", { className: \"flex min-h-screen items-center justify-center p-4\", children: [\n /* @__PURE__ */ r(\n \"div\",\n {\n className: y(\"fixed inset-0 bg-black/20 transition-all\", d),\n onClick: () => {\n u || n();\n }\n }\n ),\n a && /* @__PURE__ */ r(\"div\", { className: y(\"relative w-fit\", o), children: i }),\n !a && /* @__PURE__ */ f(\n \"div\",\n {\n id: N,\n tabIndex: -1,\n className: y(\n \"relative w-full max-w-xl transform rounded-lg shadow-xl transition-all p-6 bg-inherit focus:ring ease-in duration-75\",\n z ? \"opacity-100 scale-100\" : \"opacity-0 scale-90\",\n o\n ),\n children: [\n !s && /* @__PURE__ */ r(\n \"button\",\n {\n type: \"button\",\n onClick: n,\n \"data-modal-close-button\": \"true\",\n className: \"rounded-md p-0.5 top-2.5 right-2.5 absolute opacity-80 hover:opacity-100 transition-opacity focus:outline-none focus:ring-2 focus:ring-gray-500 leading-0\",\n children: /* @__PURE__ */ r(J, { size: 18 })\n }\n ),\n T(),\n i,\n j()\n ]\n }\n )\n ] })\n }\n ),\n document.body\n ) });\n}\nfunction oe({\n type: e,\n message: l,\n cancelText: n,\n confirmText: t,\n onConfirm: i,\n onClose: a,\n destructive: o = !1,\n title: d,\n ...s\n}) {\n const c = C(() => e === \"confirm\" ? {\n confirm: t || \"Confirm\",\n cancel: n || \"Cancel\",\n defaultTitle: d || \"Confirm Action\"\n } : {\n confirm: t || \"OK\",\n cancel: null,\n defaultTitle: d || \"Alert\"\n }, [e, t, d, n]), u = C(\n () => [\n ...c.cancel ? [\n {\n label: c.cancel,\n variant: \"secondary\",\n onClick: a\n }\n ] : [],\n {\n label: c.confirm,\n variant: o ? \"destructive\" : \"primary\",\n onClick: () => {\n i == null || i(), a();\n }\n }\n ],\n [c, o, i, a]\n );\n return /* @__PURE__ */ r(\n te,\n {\n ...s,\n title: d || c.defaultTitle,\n onClose: a,\n actions: u,\n disableCloseOnOverlayClick: e === \"confirm\",\n hideCloseButton: e === \"confirm\",\n children: typeof l == \"string\" ? /* @__PURE__ */ r(\"p\", { className: \"text-sm\", children: l }) : l\n }\n );\n}\nconst E = {\n info: {\n className: \"bg-blue-50 border-blue-200 text-blue-900 dark:bg-blue-800 dark:border-blue-950 dark:text-blue-100\",\n icon: /* @__PURE__ */ r(Z, { size: 20 })\n },\n warning: {\n className: \"bg-yellow-50 border-yellow-200 text-yellow-900 dark:bg-yellow-800 dark:border-yellow-950 dark:text-yellow-100\",\n icon: /* @__PURE__ */ r(X, { size: 20 })\n },\n error: {\n className: \"bg-red-50 border-red-200 text-red-900 dark:bg-red-800 dark:border-red-950 dark:text-red-100\",\n icon: /* @__PURE__ */ r(F, { size: 20 })\n }\n};\nfunction se({\n id: e,\n title: l,\n description: n,\n type: t = \"info\",\n action: i,\n duration: a = 5e3,\n onRemove: o,\n customTypes: d,\n customComponent: s\n}) {\n const [c, u] = p(!1), m = L(() => {\n u(!0), setTimeout(() => {\n o == null || o(e);\n }, 150);\n }, [e, o]);\n if (b(() => {\n if (a > 0) {\n const h = setTimeout(() => {\n m();\n }, a);\n return () => clearTimeout(h);\n }\n }, [a, e, o, m]), s)\n return /* @__PURE__ */ r(\n s,\n {\n id: e,\n title: l,\n description: n,\n type: t,\n action: i,\n duration: a,\n onRemove: o\n }\n );\n const g = (d == null ? void 0 : d[t]) || E[t] || E.info;\n return /* @__PURE__ */ f(\n \"div\",\n {\n role: t === \"error\" ? \"alert\" : \"status\",\n \"aria-live\": t === \"error\" ? void 0 : \"polite\",\n className: G(\n \"relative flex items-start p-4 rounded-lg border shadow-lg transition-all duration-150 ease-in-out\",\n i && \"pb-3\",\n g.className,\n c ? \"opacity-0 translate-x-full\" : \"opacity-100 translate-x-0\"\n ),\n children: [\n /* @__PURE__ */ r(\"div\", { className: \"flex-shrink-0 mr-3\", children: g.icon }),\n /* @__PURE__ */ f(\"div\", { className: \"flex-grow min-w-0\", children: [\n /* @__PURE__ */ r(\"div\", { className: \"font-medium text-sm leading-5\", children: l }),\n n && /* @__PURE__ */ r(\"div\", { className: \"mt-1 text-sm opacity-90 leading-5\", children: n }),\n i && /* @__PURE__ */ r(\"div\", { className: \"mt-1.5\", children: /* @__PURE__ */ r(\n \"button\",\n {\n onClick: i.onClick,\n className: \"text-sm font-medium underline hover:no-underline focus:outline-none focus:ring-1 focus:ring-current rounded px-1 py-0.5 hover:cursor-pointer\",\n children: i.label\n }\n ) })\n ] }),\n /* @__PURE__ */ r(\n \"button\",\n {\n onClick: m,\n className: \"flex-shrink-0 ml-3 p-1 rounded-md hover:bg-black/10 dark:hover:bg-white/10 focus:outline-none focus:ring-1 focus:ring-current leading-0\",\n children: /* @__PURE__ */ r(D, { size: 16 })\n }\n )\n ]\n }\n );\n}\nexport {\n oe as A,\n se as T,\n w as n\n};\n//# sourceMappingURL=Toast-C5BwqBkw.js.map\n","import { jsxs as E, jsx as f, Fragment as J } from \"react/jsx-runtime\";\nimport z, { useId as I, useState as x, createElement as Y, useEffect as C, useCallback as A, useMemo as W, useRef as j, isValidElement as P, cloneElement as ee } from \"react\";\nimport { join as w } from \"./utils.esm.js\";\nimport { b as te, C as re, a as ne, c as oe, E as ae, Q as se } from \"./QuestionMarkCircled-BVBF3skB.js\";\nimport { n as q } from \"./Toast-C5BwqBkw.js\";\nimport { A as Me, T as Oe } from \"./Toast-C5BwqBkw.js\";\nimport { E as ie, X as le } from \"./X-CIoyLewf.js\";\nimport { createPortal as M } from \"react-dom\";\nfunction K({\n id: o,\n title: a,\n content: e,\n children: n,\n className: t = \"\",\n disabled: r = !1,\n isOpen: s = !1,\n onToggle: d,\n triggerClassName: u = \"\",\n bodyClassName: l = \"\"\n}) {\n const b = I(), i = o || `accordion-item-${b}`, v = `${i}-header`, c = `${i}-panel`, m = () => {\n !r && d && d();\n }, p = (h) => {\n (h.key === \"Enter\" || h.key === \" \") && (h.preventDefault(), m());\n };\n return /* @__PURE__ */ E(\"div\", { className: w(\"border-b border-gray-200\", r && \"opacity-60 cursor-not-allowed\", t), children: [\n /* @__PURE__ */ E(\n \"button\",\n {\n id: v,\n type: \"button\",\n className: w(\n \"w-full text-left py-3 px-4 flex justify-between items-center focus:outline focus:outline-secondary\",\n r ? \"cursor-not-allowed\" : \"hover:bg-gray-50/10 cursor-pointer\",\n u\n ),\n \"aria-expanded\": s,\n \"aria-controls\": c,\n disabled: r,\n onClick: m,\n onKeyDown: p,\n children: [\n /* @__PURE__ */ f(\"span\", { children: a }),\n /* @__PURE__ */ f(\n \"span\",\n {\n className: w(\n \"transform transition-transform duration-300 ease-linear\",\n s ? \"rotate-180\" : \"rotate-0\"\n ),\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ f(te, { size: 18 })\n }\n )\n ]\n }\n ),\n /* @__PURE__ */ f(\n \"div\",\n {\n id: c,\n role: \"region\",\n \"aria-labelledby\": v,\n className: w(\n \"transition-all duration-300 ease-linear px-4\",\n s ? \"max-h-96 opacity-100 overflow-auto py-3\" : \"max-h-0 opacity-0 overflow-hidden\",\n l\n ),\n children: s && (n || e)\n }\n )\n ] });\n}\nfunction He({\n id: o,\n items: a = [],\n children: e,\n className: n = \"\",\n itemClassName: t = \"\",\n allowMultiple: r = !1,\n defaultOpenItems: s = [],\n triggersClassName: d = \"\",\n bodiesClassName: u = \"\"\n}) {\n const l = I(), b = o || `accordion-group-${l}`, [i, v] = x(new Set(s)), c = (h) => {\n v((y) => {\n const g = new Set(y);\n return g.has(h) ? g.delete(h) : (r || g.clear(), g.add(h)), g;\n });\n }, m = (h) => `${l}-item-${h}`, p = (h) => i.has(h);\n return /* @__PURE__ */ E(\"div\", { id: b, className: n, children: [\n a.length > 0 && a.map((h, y) => {\n const g = h.id || m(y);\n return /* @__PURE__ */ f(\n K,\n {\n id: g,\n title: h.title,\n content: h.content,\n disabled: h.disabled,\n isOpen: p(g),\n onToggle: () => c(g),\n className: t,\n triggerClassName: d,\n bodyClassName: u\n },\n g\n );\n }),\n a.length === 0 && e && z.Children.map(e, (h, y) => {\n if (z.isValidElement(h) && h.type === K) {\n const g = h.props.id || m(y);\n return /* @__PURE__ */ Y(\n K,\n {\n ...h.props,\n key: g,\n id: g,\n className: w(t, h.props.className),\n isOpen: p(g),\n onToggle: () => c(g),\n triggerClassName: w(d, h.props.triggerClassName),\n bodyClassName: w(u, h.props.bodyClassName)\n }\n );\n }\n return null;\n })\n ] });\n}\nfunction de() {\n const [o, a] = x(0);\n return C(() => {\n const e = setInterval(() => {\n a((n) => (n + 1) % 3);\n }, 500);\n return () => clearInterval(e);\n }, []), /* @__PURE__ */ f(\"div\", { className: \"absolute inset-0 inline-flex items-center justify-center gap-x-2 align-middle\", children: [0, 1, 2].map((e) => /* @__PURE__ */ f(\n \"div\",\n {\n className: w(\n \"rounded-full transition-all duration-500 ease-in-out size-[0.35em] bg-current\",\n o === e && \"transform -translate-y-1\"\n )\n },\n e\n )) });\n}\nconst ue = {\n base: \"\",\n primary: \"bg-primary text-primary-foreground hover:bg-primary/85 disabled:bg-muted disabled:text-muted-foreground\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/85 disabled:bg-muted/80 disabled:text-muted-foreground/80\",\n tertiary: \"text-primary hover:text-primary-foreground disabled:text-muted\",\n outline: \"border border-primary text-primary hover:border-primary-foreground hover:text-primary-foreground disabled:border-muted disabled:text-muted\",\n link: \"underline-offset-4 hover:underline disabled:underline disabled:text-muted\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/85 disabled:bg-muted disabled:text-muted-foreground\"\n}, ce = {\n stripped: \"\",\n fitted: \"size-fit\",\n sm: \"px-2 py-1 text-sm\",\n md: \"px-4 py-2 text-base\",\n lg: \"px-6 py-3 text-lg\",\n icon: \"p-1 w-fit aspect-square\",\n full: \"p-2 w-full\"\n}, fe = {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"rounded-full\"\n}, V = {\n variant: \"primary\",\n size: \"md\",\n rounded: \"md\"\n};\nfunction me({\n variant: o = V.variant,\n size: a,\n rounded: e = V.rounded,\n loading: n,\n linkTo: t,\n linkProps: r,\n type: s = \"button\",\n className: d,\n ...u\n}) {\n let l;\n o === \"link\" && !a ? l = \"fitted\" : l = a || V.size;\n const i = w(\n \"appearance-none focus:outline-none focus:ring not-disabled:hover:cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed transition-all\",\n ue[o],\n ce[l],\n fe[e],\n n && \"relative pointer-events-none\",\n t && \"relative\",\n d\n );\n return /* @__PURE__ */ E(\n \"button\",\n {\n ...u,\n role: t ? \"link\" : u.role,\n \"aria-label\": u[\"aria-label\"] || (r == null ? void 0 : r[\"aria-label\"]),\n \"aria-description\": u[\"aria-description\"] || (r == null ? void 0 : r[\"aria-description\"]),\n \"aria-disabled\": u.disabled || n,\n \"aria-busy\": n,\n type: s,\n className: i,\n children: [\n n && /* @__PURE__ */ f(de, {}),\n /* @__PURE__ */ f(\"span\", { className: w(n && \"invisible\"), children: u.children }),\n t && !u.disabled && /* @__PURE__ */ f(\n \"a\",\n {\n ...r,\n \"aria-hidden\": !0,\n href: t,\n rel: (r == null ? void 0 : r.rel) || \"noreferrer\",\n className: \"absolute inset-0\"\n }\n )\n ]\n }\n );\n}\nfunction be(o) {\n const [a, e] = x(\"\"), n = A((t) => {\n let r = t, s = \"\";\n for (; r && !s; ) {\n const d = window.getComputedStyle(r).backgroundColor;\n d && d !== \"transparent\" && d !== \"rgba(0, 0, 0, 0)\" && (s = d), r = r.parentElement;\n }\n return s || \"transparent\";\n }, []);\n return C(() => {\n const t = document.getElementById(o);\n if (t) {\n const r = n(t.parentElement);\n e(r);\n }\n }, [o, n]), a;\n}\nfunction qe({\n ref: o,\n id: a,\n size: e = 20,\n color: n,\n filled: t = !1,\n rounded: r = !0,\n checked: s = !1,\n onCheckedChange: d,\n disabled: u,\n className: l = \"\",\n ...b\n}) {\n const i = I(), v = W(() => a || `checkbox-${i}`, [a, i]), c = be(v), [m, p] = x(s);\n C(() => {\n p(s);\n }, [s]);\n const h = () => {\n u || (p(!m), d == null || d(!m));\n }, y = (N) => {\n N.key === \" \" && (N.preventDefault(), h());\n }, g = w(\n \"flex items-center justify-center border outline outline-transparent focus:outline-current focus:outline-offset-2\",\n r && \"rounded\",\n u && \"opacity-40 cursor-not-allowed\",\n !u && \"cursor-pointer\",\n l\n );\n return /* @__PURE__ */ f(\n \"button\",\n {\n id: v,\n type: \"button\",\n ref: o,\n tabIndex: 0,\n role: \"checkbox\",\n onClick: h,\n \"aria-checked\": m,\n \"aria-disabled\": u,\n onKeyDownCapture: y,\n style: {\n width: e,\n height: e,\n color: n,\n backgroundColor: m && t ? \"currentcolor\" : \"transparent\"\n },\n className: g,\n ...b,\n children: m && /* @__PURE__ */ f(re, { size: e, color: t ? c : void 0 })\n }\n );\n}\nfunction Ke({\n children: o,\n className: a,\n linkTo: e,\n linkProps: n,\n onButtonClick: t,\n buttonProps: r,\n ...s\n}) {\n return e && t && console.warn('Clickable: Both \"linkTo\" and \"onButtonClick\" props are provided. Only \"linkTo\" will be used.'), /* @__PURE__ */ E(\"div\", { className: w(\"relative w-fit\", a), ...s, children: [\n o,\n e && /* @__PURE__ */ f(\n \"a\",\n {\n ...n,\n rel: (n == null ? void 0 : n.rel) || \"noreferrer\",\n href: e,\n className: w(\"absolute inset-0\", n == null ? void 0 : n.className)\n }\n ),\n !e && t && /* @__PURE__ */ f(\n \"button\",\n {\n ...r,\n type: \"button\",\n onClick: t,\n className: w(\"absolute inset-0 cursor-pointer\", r == null ? void 0 : r.className)\n }\n )\n ] });\n}\nfunction S({ elementId: o, type: a, message: e }) {\n return C(() => {\n const n = document.getElementById(o);\n if (n) {\n if (!e && a === \"error\") {\n n.removeAttribute(\"data-error\");\n return;\n }\n if (!e && a === \"success\") {\n n.removeAttribute(\"data-success\");\n return;\n }\n return n.setAttribute(\"aria-describedby\", `${o}-${a}-message`), n.setAttribute(\"aria-invalid\", a === \"error\" ? \"true\" : \"false\"), a === \"error\" && n.setAttribute(\"data-error\", \"true\"), a === \"success\" && n.setAttribute(\"data-success\", \"true\"), () => {\n n.removeAttribute(\"aria-describedby\"), n.removeAttribute(\"aria-invalid\"), n.removeAttribute(\"data-error\"), n.removeAttribute(\"data-success\");\n };\n }\n }, [o, a, e]), e ? /* @__PURE__ */ E(\n \"small\",\n {\n className: w(\n \"mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-start\",\n a === \"error\" && \"text-destructive\",\n a === \"success\" && \"text-success\"\n ),\n role: \"status\",\n children: [\n a === \"error\" ? /* @__PURE__ */ f(ie, {}) : /* @__PURE__ */ f(ne, {}),\n /* @__PURE__ */ f(\"span\", { id: `${o}-${a}-message`, children: e })\n ]\n }\n ) : null;\n}\nconst he = {\n base: \"\",\n default: \"ring ring-transparent focus:ring-primary-foreground not-disabled:data-error:ring-destructive not-disabled:data-success:ring-success\",\n underline: \"border-b border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success\",\n outline: \"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success\"\n}, ge = {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"px-3 rounded-full\"\n}, Q = {\n variant: \"default\",\n rounded: \"none\"\n};\nfunction Ve({\n variant: o = Q.variant,\n rounded: a,\n displayOnlyMode: e = !1,\n errorMessage: n,\n successMessage: t,\n type: r = \"text\",\n className: s,\n ...d\n}) {\n const u = I(), [l, b] = x(!1);\n let i = a;\n o === \"outline\" && !a && (i = \"md\"), i = i || Q.rounded;\n const m = w(\n \"appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all\",\n \"file:mr-2 file:border-0 file:rounded-md file:px-1.5 file:py-1 file:bg-primary hover:file:bg-primary/85 file:text-sm file:font-medium file:text-foreground file:transition-colors\",\n !e && he[o],\n !e && ge[i],\n r === \"password\" && \"pr-10\",\n !e && \"px-2 py-1\",\n e && \"pointer-events-none\",\n s\n );\n return /* @__PURE__ */ E(\"div\", { className: w(e && \"cursor-text\"), style: { height: d.height, width: d.width }, children: [\n /* @__PURE__ */ E(\"div\", { className: w(r === \"password\" && \"relative\"), children: [\n /* @__PURE__ */ f(\n \"input\",\n {\n ...d,\n id: u,\n type: r === \"password\" && l ? \"text\" : r,\n \"aria-disabled\": d.disabled,\n readOnly: e,\n \"aria-readonly\": e || d[\"aria-readonly\"],\n \"data-error\": n ? !0 : void 0,\n \"data-success\": t ? !0 : void 0,\n className: m\n }\n ),\n r === \"password\" && /* @__PURE__ */ f(\n \"button\",\n {\n onClick: () => b(!l),\n className: \"absolute inset-y-0 right-0 px-2 hover:cursor-pointer\",\n \"aria-label\": \"Toggle password visibility\",\n \"data-state\": l ? \"visible\" : \"hidden\",\n children: l ? /* @__PURE__ */ f(oe, { size: 20 }) : /* @__PURE__ */ f(ae, { size: 20 })\n }\n )\n ] }),\n !e && /* @__PURE__ */ f(S, { elementId: u, type: \"error\", message: n }),\n !e && /* @__PURE__ */ f(S, { elementId: u, type: \"success\", message: t })\n ] });\n}\nfunction Ge({\n display: o = \"inline\",\n width: a = \"fit-content\",\n className: e = \"\",\n required: n,\n helpMessage: t,\n suffix: r,\n htmlFor: s,\n children: d,\n ...u\n}) {\n const l = I(), b = w(\"font-medium\", o, e), i = t ? `${s ?? l}-help` : void 0;\n return /* @__PURE__ */ E(\"div\", { style: { display: o === \"inline\" ? \"inline-flex\" : \"flex\", width: a }, className: \"relative\", children: [\n /* @__PURE__ */ E(\"label\", { className: b, htmlFor: s, ...u, children: [\n d,\n n && /* @__PURE__ */ f(\"span\", { className: \"text-red-500 font-medium ml-1\", \"aria-label\": \"required\", children: \"*\" })\n ] }),\n t && /* @__PURE__ */ f(\n \"span\",\n {\n className: \"text-gray-500 ml-1 size-fit -translate-y-1/3\",\n \"aria-describedby\": i,\n \"aria-label\": \"Help information\",\n title: t,\n children: /* @__PURE__ */ f(se, {})\n }\n ),\n t && /* @__PURE__ */ f(\"div\", { id: i, className: \"sr-only\", children: t }),\n r && /* @__PURE__ */ f(\"span\", { className: \"ml-1\", children: r })\n ] });\n}\nfunction pe(o) {\n const [a, e] = x(!1), [n, t] = x(!1);\n return C(() => {\n o ? (t(!0), setTimeout(() => e(!0), 10)) : (e(!1), setTimeout(() => t(!1), 150));\n }, [o]), { show: a, shouldRender: n };\n}\nfunction ve(o, a) {\n C(() => {\n const e = (n) => {\n n.key === \"Escape\" && o && a();\n };\n return document.addEventListener(\"keydown\", e), o && (document.body.style.overflow = \"hidden\"), () => {\n document.removeEventListener(\"keydown\", e), document.body.style.overflow = \"auto\";\n };\n }, [o, a]);\n}\nfunction we(o, a) {\n const e = j(null), n = A(() => {\n const t = document.getElementById(o);\n if (!t) return;\n const r = t.querySelectorAll('[data-modal-action=\"true\"]');\n if (r.length > 0) {\n r[0].focus();\n return;\n }\n const s = t.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n if (s.length > 0) {\n const d = Array.from(s).filter((u) => !(u instanceof HTMLButtonElement && u.getAttribute(\"data-modal-close-button\") === \"true\"));\n if (d.length > 0) {\n d[0].focus();\n return;\n }\n s[0].focus();\n return;\n }\n t.focus();\n }, [o]);\n C(() => (a && (e.current = document.activeElement, n()), () => {\n document.body.style.overflow = \"auto\", e.current instanceof HTMLElement && e.current.focus();\n }), [a, n]);\n}\nfunction We({\n id: o,\n isOpen: a,\n onClose: e,\n title: n,\n children: t,\n contentOnly: r = !1,\n className: s,\n overlayClassName: d,\n hideCloseButton: u = !1,\n actions: l = [],\n disableCloseOnOverlayClick: b = !1,\n ariaLabelledBy: i,\n ariaDescribedBy: v\n}) {\n const c = I(), m = o || `modal-${c}`, p = o ? `${o}-title` : `modal-title-${c}`, { show: h, shouldRender: y } = pe(a);\n if (we(m, y), ve(y, e), !y) return null;\n const g = () => n ? z.isValidElement(n) ? /* @__PURE__ */ f(\"div\", { className: \"mb-4\", children: n }) : /* @__PURE__ */ f(\"h2\", { className: \"mb-4 text-xl font-semibold\", id: p, children: n }) : null, N = () => l.length === 0 ? null : /* @__PURE__ */ f(\"div\", { className: \"mt-6 not-sm:grid gap-y-2 sm:flex sm:justify-start sm:flex-row-reverse sm:gap-x-3\", children: l.map((D, $) => {\n const { label: F, className: L, ...R } = D;\n return /* @__PURE__ */ f(me, { className: L, type: \"button\", ...R, \"data-modal-action\": \"true\", children: F }, $);\n }) });\n return /* @__PURE__ */ f(J, { children: M(\n /* @__PURE__ */ f(\n \"div\",\n {\n \"aria-labelledby\": i ?? n ? p : void 0,\n \"aria-describedby\": v,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n className: \"fixed inset-0 z-[100] overflow-y-auto\",\n children: /* @__PURE__ */ E(\"div\", { className: \"flex min-h-screen items-center justify-center p-4\", children: [\n /* @__PURE__ */ f(\n \"div\",\n {\n className: q(\"fixed inset-0 bg-black/20 transition-all\", d),\n onClick: () => {\n b || e();\n }\n }\n ),\n r && /* @__PURE__ */ f(\"div\", { className: q(\"relative w-fit\", s), children: t }),\n !r && /* @__PURE__ */ E(\n \"div\",\n {\n id: m,\n tabIndex: -1,\n className: q(\n \"relative w-full max-w-xl transform rounded-lg shadow-xl transition-all p-6 bg-inherit focus:ring ease-in duration-75\",\n h ? \"opacity-100 scale-100\" : \"opacity-0 scale-90\",\n s\n ),\n children: [\n !u && /* @__PURE__ */ f(\n \"button\",\n {\n type: \"button\",\n onClick: e,\n \"data-modal-close-button\": \"true\",\n className: \"rounded-md p-0.5 top-2.5 right-2.5 absolute opacity-80 hover:opacity-100 transition-opacity focus:outline-none focus:ring-2 focus:ring-gray-500 leading-0\",\n children: /* @__PURE__ */ f(le, { size: 18 })\n }\n ),\n g(),\n t,\n N()\n ]\n }\n )\n ] })\n }\n ),\n document.body\n ) });\n}\nfunction ye({ itemId: o, checked: a, onChange: e, name: n, disabled: t = !1, className: r = \"\" }) {\n const s = \"relative inline-flex items-center justify-center rounded-full\", d = () => {\n t || e();\n }, u = w(\n s,\n !a && \"hover:border-current/60\",\n !t && \"border-current cursor-pointer\",\n t && \"border-muted/60 cursor-not-allowed\",\n r\n );\n return /* @__PURE__ */ f(\n \"div\",\n {\n id: o,\n role: \"radio\",\n tabIndex: -1,\n \"aria-checked\": a,\n \"aria-disabled\": t,\n \"aria-description\": `Radio button for ${n}`,\n \"aria-labelledby\": `${o}-label`,\n onClick: d,\n className: u,\n style: {\n width: \"1em\",\n height: \"1em\",\n padding: \"0.1em\",\n borderWidth: \"0.06em\"\n },\n children: a && /* @__PURE__ */ f(\n \"div\",\n {\n className: w(\"size-full aspect-square rounded-full\", t && \"bg-muted/60\", !t && \"bg-current\")\n }\n )\n }\n );\n}\nfunction G({\n value: o,\n children: a,\n className: e = \"\",\n isSelected: n = !1,\n onChange: t,\n disabled: r = !1,\n hideInput: s = !1,\n description: d,\n name: u\n}) {\n const b = `radio-${I()}-${o}`, i = () => {\n r || t == null || t(o);\n };\n return /* @__PURE__ */ E(\n \"div\",\n {\n title: d,\n className: w(\n \"relative flex items-center\",\n e,\n // Uses text color for borders\n s && `p-2 border-2 focus-within:border-dashed focus-within:${r ? \"border-current/50\" : \"border-current/80\"}`,\n s && !n && `border-transparent ${r ? \"\" : \"not-focus-within:hover:border-border/60\"}`,\n s && n && \"border-border\",\n r && \"opacity-60 cursor-not-allowed\"\n ),\n style: {\n gap: \"0.5em\"\n },\n children: [\n !s && /* @__PURE__ */ f(\n ye,\n {\n itemId: b,\n name: u || \"\",\n checked: n,\n onChange: i,\n disabled: r,\n className: w(s && \"\")\n }\n ),\n /* @__PURE__ */ f(\n \"div\",\n {\n id: s ? b : void 0,\n tabIndex: s ? -1 : void 0,\n role: s ? \"radio\" : void 0,\n onClick: s ? i : void 0,\n \"aria-checked\": s ? n ? \"true\" : \"false\" : void 0,\n \"aria-disabled\": s ? r : void 0,\n \"aria-description\": s ? d || `Radio button for ${u}` : void 0,\n \"aria-labelledby\": s ? `${b}-label` : void 0,\n className: w(s && \"size-full\", typeof a == \"object\" && \"grow focus:outline-none\"),\n children: /* @__PURE__ */ f(\n \"label\",\n {\n id: `${b}-label`,\n onClick: s ? void 0 : i,\n className: w(r && \"cursor-not-allowed\", !r && \"cursor-pointer\"),\n children: a\n }\n )\n }\n )\n ]\n }\n );\n}\nfunction xe(o, a) {\n const [e, n] = x(a), [t, r] = x(-1), [s, d] = x(!1), u = A((c, m) => {\n var y;\n const p = c[m];\n p.hasAttribute(\"disabled\") || p.getAttribute(\"aria-disabled\") === \"true\" || ((y = c[m]) == null || y.click(), r(m));\n }, []), l = A(\n (c, m) => {\n var h;\n if (c.preventDefault(), s || !m.length) return;\n const p = a !== -1 ? a : 0;\n (h = m[p]) == null || h.focus(), n(p), a !== -1 && u(m, p);\n },\n [a, s, u]\n ), b = A(\n (c) => {\n var y;\n if (!c.shiftKey)\n return;\n c.preventDefault();\n const m = Array.from(\n document.querySelectorAll(\n 'a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])'\n )\n ).filter((g) => !g.hasAttribute(\"disabled\") && g.tabIndex >= 0), p = m.findIndex((g) => g.id === o), h = p > 0 ? p - 1 : m.length - 1;\n (y = m[h]) == null || y.focus();\n },\n [o]\n ), i = A(\n (c, m) => {\n var N;\n if (!m.length) return;\n const p = c.target;\n if (!m.some((D) => D.id === p.id)) return;\n const y = e !== -1 ? e : 0;\n let g = y;\n switch (c.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n c.preventDefault(), g = y > 0 ? y - 1 : m.length - 1;\n break;\n case \"ArrowDown\":\n case \"ArrowRight\":\n c.preventDefault(), g = (y + 1) % m.length;\n break;\n // Select the option when the space key is pressed\n case \" \":\n c.preventDefault(), u(m, y);\n return;\n case \"Tab\":\n b(c);\n return;\n default:\n return;\n }\n (N = m[g]) == null || N.focus(), n(g), t !== -1 && u(m, g);\n },\n [e, t, b, u]\n ), v = A(() => {\n const c = document.querySelector(`[id=\"${o}\"][role=\"radiogroup\"]`);\n return c ? Array.from(c.querySelectorAll('[role=\"radio\"]')) : [];\n }, [o]);\n C(() => {\n const c = document.querySelector(`[id=\"${o}\"][role=\"radiogroup\"]`);\n if (!c) return;\n const m = v(), p = (N) => l(N, m), h = (N) => i(N, m), y = () => d(!0), g = () => d(!1);\n return document.addEventListener(\"keydown\", h), c.addEventListener(\"focus\", p), c.addEventListener(\"mousedown\", y), document.addEventListener(\"mouseup\", g), () => {\n document.removeEventListener(\"keydown\", h), c.removeEventListener(\"focus\", p), c.removeEventListener(\"mousedown\", y), document.removeEventListener(\"mouseup\", g);\n };\n }, [o, v, l, i]);\n}\nfunction Ue({\n options: o = [],\n value: a,\n onChange: e,\n id: n,\n children: t,\n className: r = \"\",\n childrenClassName: s = \"\",\n hideInputs: d = !1\n}) {\n const u = I(), l = n || `radio-group-${u}`;\n xe(\n l,\n o.findIndex((i) => i === a)\n );\n const b = W(() => o.reduce((i, v) => (typeof v == \"string\" ? i.some((c) => c.value === v) || i.push({ label: v, value: v }) : i.push(v), i), []), [o]);\n return /* @__PURE__ */ E(\"div\", { id: l, role: \"radiogroup\", tabIndex: 0, className: w(r, \"focus:outline-none\"), children: [\n b.length > 0 && b.map((i, v) => /* @__PURE__ */ f(\n G,\n {\n value: i.value,\n isSelected: a === i.value,\n onChange: e,\n name: l,\n disabled: i.disabled,\n description: i.description,\n hideInput: d,\n className: s,\n children: i.label\n },\n `${i.value}-${v}`\n )),\n b.length === 0 && t && z.Children.map(t, (i) => z.isValidElement(i) && i.type === G ? /* @__PURE__ */ f(\n G,\n {\n ...i.props,\n className: w(s, i.props.className),\n hideInput: i.props.hideInput || d,\n isSelected: a === i.props.value,\n onChange: e,\n name: l,\n children: i.props.children\n }\n ) : null)\n ] });\n}\nfunction _e({ children: o, ref: a, ...e }) {\n if (P(o)) {\n let n = { ...e };\n return o.props && (n = { ...n, ...o.props }), ee(o, {\n ...n,\n ref: (t) => {\n typeof a == \"function\" ? a(t) : a && (a.current = t);\n }\n });\n }\n return Y(\"div\", { ...e, ref: a }, o);\n}\nfunction Ee({ elementId: o, maxLength: a }) {\n const [e, n] = x(0);\n return C(() => {\n const t = document.getElementById(o);\n if (!t)\n return;\n const r = () => {\n const s = t.value.length;\n n(s);\n const d = s >= a;\n t.setAttribute(\"aria-describedby\", `${o}-character-count`), t.setAttribute(\"aria-invalid\", d ? \"true\" : \"false\"), d ? t.setAttribute(\"data-error\", \"true\") : t.removeAttribute(\"data-error\");\n };\n return r(), t.addEventListener(\"input\", r), t.setAttribute(\"maxlength\", String(a)), () => {\n t.removeEventListener(\"input\", r), t.removeAttribute(\"maxlength\"), t.removeAttribute(\"aria-describedby\"), t.removeAttribute(\"aria-invalid\"), t.removeAttribute(\"data-error\");\n };\n }, [o, a]), /* @__PURE__ */ f(\n \"small\",\n {\n className: w(\n \"mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-end\",\n e >= a && \"text-destructive\",\n e < a && \"text-current\"\n ),\n role: \"status\",\n children: /* @__PURE__ */ E(\"span\", { id: `${o}-character-count`, children: [\n e,\n \" / \",\n a,\n \" characters\"\n ] })\n }\n );\n}\nfunction Ne(o, a) {\n C(() => {\n const e = document.getElementById(o);\n if (!e)\n return;\n if (!a) {\n e.style.height = \"auto\";\n return;\n }\n const n = () => {\n e.style.height = \"auto\", e.style.height = `${e.scrollHeight}px`;\n };\n return n(), e.addEventListener(\"input\", n), e.addEventListener(\"resize\", n), window.addEventListener(\"resize\", n), () => {\n e.removeEventListener(\"input\", n), e.removeEventListener(\"resize\", n), window.removeEventListener(\"resize\", n);\n };\n }, [o, a]);\n}\nconst Ce = {\n base: \"\",\n \"left-line\": \"border-l border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success\",\n outline: \"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success\"\n}, Ae = {\n none: \"rounded-none\",\n sm: \"rounded-sm\",\n md: \"rounded-md\",\n lg: \"rounded-lg\",\n full: \"px-3 rounded-full\"\n}, X = {\n variant: \"outline\",\n rounded: \"none\"\n};\nfunction Qe({\n variant: o = X.variant,\n rounded: a,\n displayOnlyMode: e = !1,\n errorMessage: n,\n successMessage: t,\n hideResizeHandle: r = !1,\n autoExpand: s = !1,\n characterLimit: d = 0,\n className: u,\n ...l\n}) {\n const b = I();\n Ne(b, s || e);\n let i = a;\n o === \"outline\" && !a && (i = \"md\"), i = i || X.rounded;\n let v = r;\n (e || o === \"left-line\" && !r) && (v = !0);\n const m = w(\n \"appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all\",\n !e && Ce[o],\n !e && Ae[i],\n !e && \"px-2 py-1\",\n e && \"pointer-events-none\",\n v && \"no-resize-handle\",\n u\n );\n return /* @__PURE__ */ E(\"div\", { className: w(\"-space-y-1.5\", e && \"cursor-text\"), children: [\n /* @__PURE__ */ f(\n \"textarea\",\n {\n ...l,\n id: b,\n \"aria-disabled\": l.disabled,\n readOnly: e,\n \"aria-readonly\": e || l[\"aria-readonly\"],\n style: {\n resize: s ? \"none\" : void 0\n },\n className: m\n }\n ),\n d > 0 && /* @__PURE__ */ f(Ee, { elementId: b, maxLength: d }),\n !e && /* @__PURE__ */ f(S, { elementId: b, type: \"error\", message: n }),\n !e && /* @__PURE__ */ f(S, { elementId: b, type: \"success\", message: t })\n ] });\n}\nconst Ie = {\n sm: {\n container: \"h-5 min-w-9 w-9\",\n thumb: \"h-4 w-4\",\n translate: \"translate-x-4\"\n },\n md: {\n container: \"h-6 min-w-11 w-11\",\n thumb: \"h-5 w-5\",\n translate: \"translate-x-5\"\n },\n lg: {\n container: \"h-7 min-w-13 w-13\",\n thumb: \"h-6 w-6\",\n translate: \"translate-x-6\"\n }\n}, $e = {\n default: {\n unchecked: \"bg-muted\",\n checked: \"bg-primary\"\n },\n success: {\n unchecked: \"bg-muted\",\n checked: \"bg-success\"\n },\n destructive: {\n unchecked: \"bg-muted\",\n checked: \"bg-destructive\"\n }\n}, Z = {\n variant: \"default\",\n size: \"md\"\n};\nfunction Xe({\n ref: o,\n id: a,\n size: e = Z.size,\n variant: n = Z.variant,\n checked: t,\n onCheckedChange: r,\n disabled: s = !1,\n className: d,\n thumbClassName: u,\n backgroundClassNames: l,\n ...b\n}) {\n const i = I(), v = W(() => a || `toggle-${i}`, [a, i]), [c, m] = x(t);\n C(() => {\n m(t);\n }, [t]);\n const p = () => {\n if (!s) {\n const $ = !c;\n t === void 0 && m($), r == null || r($);\n }\n }, h = ($) => {\n ($.key === \" \" || $.key === \"Enter\") && ($.preventDefault(), p());\n }, y = Ie[e], g = $e[n], N = w(\n // Base styles\n \"relative inline-flex items-center rounded-full transition-all duration-200 ease-in-out\",\n \"focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2\",\n // Size\n y.container,\n // Variant and state\n c ? (l == null ? void 0 : l.checked) || g.checked : (l == null ? void 0 : l.unchecked) || g.unchecked,\n // Disabled state\n s && \"opacity-50 cursor-not-allowed\",\n !s && \"cursor-pointer\",\n d\n ), D = w(\n // Base thumb styles\n \"absolute left-0.5 top-1/2 -translate-y-1/2 rounded-full bg-white shadow-sm transition-transform duration-200 ease-in-out\",\n // Size\n y.thumb,\n // Position based on state\n c && y.translate,\n u\n );\n return /* @__PURE__ */ E(\n \"button\",\n {\n ref: o,\n id: v,\n type: \"button\",\n role: \"switch\",\n tabIndex: 0,\n \"aria-checked\": c,\n \"aria-disabled\": s,\n disabled: s,\n onClick: p,\n onKeyDown: h,\n className: N,\n ...b,\n children: [\n /* @__PURE__ */ f(\"span\", { className: D }),\n /* @__PURE__ */ f(\"span\", { className: \"sr-only\", children: c ? \"Enabled\" : \"Disabled\" })\n ]\n }\n );\n}\nconst k = 8, B = 4, T = 6;\nfunction Te(o) {\n return { calculatePosition: A(\n (e, n) => {\n const t = e.getBoundingClientRect(), r = n.getBoundingClientRect(), s = {\n width: window.innerWidth,\n height: window.innerHeight\n }, d = (v, c, m, p) => v < 0 || c < 0 || v + m > s.width || c + p > s.height, u = {\n top: {\n x: t.left + t.width / 2 - r.width / 2,\n y: t.top - r.height - B,\n arrow: {\n x: r.width / 2 - T,\n y: r.height\n }\n },\n bottom: {\n x: t.left + t.width / 2 - r.width / 2,\n y: t.bottom + B,\n arrow: {\n x: r.width / 2 - T,\n y: -6\n }\n },\n left: {\n x: t.left - r.width - B,\n y: t.top + t.height / 2 - r.height / 2,\n arrow: {\n x: r.width,\n y: r.height / 2 - T\n }\n },\n right: {\n x: t.right + B,\n y: t.top + t.height / 2 - r.height / 2,\n arrow: {\n x: -6,\n y: r.height / 2 - T\n }\n }\n };\n let l = o, b = u[o];\n if (d(b.x, b.y, r.width, r.height)) {\n const v = {\n top: \"bottom\",\n bottom: \"top\",\n left: \"right\",\n right: \"left\"\n }, c = u[v[o]];\n if (!d(c.x, c.y, r.width, r.height))\n l = v[o], b = c;\n else {\n const m = [\"top\", \"bottom\", \"left\", \"right\"].filter(\n (p) => p !== o && p !== v[o]\n );\n for (const p of m) {\n const h = u[p];\n if (!d(h.x, h.y, r.width, r.height)) {\n l = p, b = h;\n break;\n }\n }\n }\n }\n b.x = Math.max(\n k,\n Math.min(b.x, s.width - r.width - k)\n ), b.y = Math.max(\n k,\n Math.min(b.y, s.height - r.height - k)\n );\n const i = {\n x: t.left + t.width / 2,\n y: t.top + t.height / 2\n };\n return l === \"top\" || l === \"bottom\" ? b.arrow.x = Math.max(\n T,\n Math.min(i.x - b.x - T, r.width - T * 2)\n ) : b.arrow.y = Math.max(\n T,\n Math.min(i.y - b.y - T, r.height - T * 2)\n ), {\n ...b,\n placement: l\n };\n },\n [o]\n ) };\n}\nfunction De(o, a, e) {\n const n = j(null), t = j(null), r = A(() => {\n if (!n.current || !t.current) return;\n const s = o(n.current, t.current);\n e(s);\n }, [o, e]);\n return C(() => {\n if (!a) return;\n const s = () => r();\n return window.addEventListener(\"resize\", s), () => {\n window.removeEventListener(\"resize\", s);\n };\n }, [a, r]), {\n triggerRef: n,\n tooltipRef: t,\n updatePosition: r\n };\n}\nfunction ze(o, a, e, n, t, r, s, d, u) {\n const l = j(null), b = A(() => {\n o || (l.current && clearTimeout(l.current), l.current = window.setTimeout(() => {\n e(!0), requestAnimationFrame(() => {\n t(), n(!0);\n });\n }, a));\n }, [o, a, e, t, n]), i = A(\n (v = !1) => {\n if (l.current && clearTimeout(l.current), v) {\n n(!1), setTimeout(() => e(!1), 150);\n return;\n }\n l.current = window.setTimeout(() => {\n n(!1), setTimeout(() => e(!1), 150);\n }, 100);\n },\n [n, e]\n );\n return C(() => {\n !r && !s && !d && u && i();\n }, [r, s, d, u, i]), C(() => () => {\n l.current && clearTimeout(l.current);\n }, []), {\n showTooltip: b,\n hideTooltip: i,\n timeoutRef: l\n };\n}\nfunction Ze({\n id: o,\n children: a,\n message: e,\n placement: n = \"top\",\n disabled: t = !1,\n delay: r = 200,\n className: s\n}) {\n const [d, u] = x(!1), [l, b] = x(!1), [i, v] = x(null), [c, m] = x(!1), [p, h] = x(!1), [y, g] = x(!1), { calculatePosition: N } = Te(n), { triggerRef: D, tooltipRef: $, updatePosition: F } = De(N, l, v), { showTooltip: L, hideTooltip: R, timeoutRef: U } = ze(\n t,\n r,\n b,\n u,\n F,\n c,\n p,\n y,\n d\n ), O = I(), _ = o ?? O;\n return /* @__PURE__ */ E(J, { children: [\n z.cloneElement(a, {\n ref: (H) => {\n D.current = H;\n },\n onMouseEnter: () => {\n m(!0), L();\n },\n onMouseLeave: () => {\n m(!1);\n },\n onFocus: () => {\n g(!0), L();\n },\n onBlur: () => {\n g(!1), R(!0);\n },\n onKeyDown: (H) => {\n H.key === \"Escape\" && R(!0);\n },\n \"aria-describedby\": t ? void 0 : _\n }),\n l && M(\n /* @__PURE__ */ f(\n \"div\",\n {\n ref: $,\n id: _,\n role: \"tooltip\",\n className: w(\n \"fixed z-50 px-2 py-1 text-sm rounded shadow-lg pointer-events-auto transition-all duration-150 ease-out\",\n d ? \"opacity-100\" : \"opacity-0\",\n s\n ),\n style: i ? { left: i.x, top: i.y } : { opacity: 0 },\n onMouseEnter: () => {\n h(!0), U.current && clearTimeout(U.current);\n },\n onMouseLeave: () => {\n h(!1);\n },\n children: e\n }\n ),\n document.body\n )\n ] });\n}\nexport {\n He as Accordion,\n K as AccordionItem,\n Me as ActionModal,\n me as Button,\n de as ButtonLoadingDots,\n qe as Checkbox,\n Ke as Clickable,\n Ve as Input,\n Ge as Label,\n We as Modal,\n Ue as RadioGroup,\n G as RadioGroupItem,\n ye as RadioInput,\n _e as Slot,\n Qe as Textarea,\n Oe as Toast,\n Xe as Toggle,\n Ze as Tooltip\n};\n//# sourceMappingURL=components.esm.js.map\n","import { Modal, ModalProps } from '@moondreamsdev/dreamer-ui/components';\nimport React, { useMemo } from 'react';\n\ninterface BaseActionModalProps extends Omit<ModalProps, 'children' | 'actions'> {\n message: React.ReactNode;\n destructive?: boolean;\n}\n\ninterface AlertModalProps extends BaseActionModalProps {\n type: 'alert';\n confirmText?: string;\n onConfirm?: () => void;\n // Cancel-related props are not allowed for alerts\n cancelText?: never;\n}\n\ninterface ConfirmModalProps extends BaseActionModalProps {\n type: 'confirm';\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => void;\n}\n\nexport type ActionModalProps = AlertModalProps | ConfirmModalProps;\n\nexport function ActionModal({\n type,\n message,\n cancelText,\n confirmText,\n onConfirm,\n onClose,\n destructive = false,\n title,\n ...modalProps\n}: ActionModalProps) {\n const defaultTexts = useMemo(() => {\n if (type === 'confirm') {\n return {\n confirm: confirmText || 'Confirm',\n cancel: cancelText || 'Cancel',\n defaultTitle: title || 'Confirm Action',\n };\n }\n return {\n confirm: confirmText || 'OK',\n cancel: null,\n defaultTitle: title || 'Alert',\n };\n }, [type, confirmText, title, cancelText]);\n\n const actions: ModalProps['actions'] = useMemo(\n () => [\n ...(defaultTexts.cancel\n ? [\n {\n label: defaultTexts.cancel,\n variant: 'secondary' as const,\n onClick: onClose,\n },\n ]\n : []),\n {\n label: defaultTexts.confirm,\n variant: destructive ? 'destructive' : 'primary',\n onClick: () => {\n onConfirm?.();\n onClose();\n },\n },\n ],\n [defaultTexts, destructive, onConfirm, onClose]\n );\n\n return (\n <Modal\n {...modalProps}\n title={title || defaultTexts.defaultTitle}\n onClose={onClose}\n actions={actions}\n disableCloseOnOverlayClick={type === 'confirm'}\n hideCloseButton={type === 'confirm'}\n >\n {typeof message === 'string' ? <p className='text-sm'>{message}</p> : message}\n </Modal>\n );\n}\n","import { ReactNode, useCallback, useEffect, useState } from 'react';\nimport { CrossCircled, ExclamationTriangle, InfoCircled, X } from '../../symbols';\nimport { join } from '../../utils';\nexport type ToastType = 'info' | 'warning' | 'error';\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface ToastData {\n id: string;\n title: string;\n description?: string;\n type?: ToastType;\n action?: ToastAction;\n duration?: number;\n onRemove?: (id: string) => void;\n}\n\ninterface ToastProps extends ToastData {\n customTypes?: Record<string, { className: string; icon?: ReactNode }>;\n customComponent?: React.ComponentType<ToastData>;\n}\n\nconst defaultTypeStyles: Record<ToastType, { className: string; icon: ReactNode }> = {\n info: {\n className: 'bg-blue-50 border-blue-200 text-blue-900 dark:bg-blue-800 dark:border-blue-950 dark:text-blue-100',\n icon: <InfoCircled size={20} />,\n },\n warning: {\n className:\n 'bg-yellow-50 border-yellow-200 text-yellow-900 dark:bg-yellow-800 dark:border-yellow-950 dark:text-yellow-100',\n icon: <ExclamationTriangle size={20} />,\n },\n error: {\n className: 'bg-red-50 border-red-200 text-red-900 dark:bg-red-800 dark:border-red-950 dark:text-red-100',\n icon: <CrossCircled size={20} />,\n },\n};\n\nexport function Toast({\n id,\n title,\n description,\n type = 'info',\n action,\n duration = 5000,\n onRemove,\n customTypes,\n customComponent: CustomComponent,\n}: ToastProps) {\n const [isExiting, setIsExiting] = useState(false);\n\n const handleRemove = useCallback(() => {\n setIsExiting(true);\n setTimeout(() => {\n onRemove?.(id);\n }, 150); // Match animation duration\n }, [id, onRemove]);\n\n useEffect(() => {\n if (duration > 0) {\n const timer = setTimeout(() => {\n handleRemove();\n }, duration);\n\n return () => clearTimeout(timer);\n }\n }, [duration, id, onRemove, handleRemove]);\n\n if (CustomComponent) {\n return (\n <CustomComponent\n id={id}\n title={title}\n description={description}\n type={type}\n action={action}\n duration={duration}\n onRemove={onRemove}\n />\n );\n }\n\n // Check custom types first, then fall back to default\n const typeStyle = customTypes?.[type] || defaultTypeStyles[type as ToastType] || defaultTypeStyles.info;\n\n return (\n <div\n role={type === 'error' ? 'alert' : 'status'}\n aria-live={type === 'error' ? undefined : 'polite'}\n className={join(\n 'relative flex items-start p-4 rounded-lg border shadow-lg transition-all duration-150 ease-in-out',\n action && 'pb-3',\n typeStyle.className,\n isExiting ? 'opacity-0 translate-x-full' : 'opacity-100 translate-x-0'\n )}\n >\n {/* Icon */}\n <div className='flex-shrink-0 mr-3'>{typeStyle.icon}</div>\n\n {/* Content */}\n <div className='flex-grow min-w-0'>\n <div className='font-medium text-sm leading-5'>{title}</div>\n {description && <div className='mt-1 text-sm opacity-90 leading-5'>{description}</div>}\n {action && (\n <div className='mt-1.5'>\n <button\n onClick={action.onClick}\n className='text-sm font-medium underline hover:no-underline focus:outline-none focus:ring-1 focus:ring-current rounded px-1 py-0.5 hover:cursor-pointer'\n >\n {action.label}\n </button>\n </div>\n )}\n </div>\n\n {/* Close button */}\n <button\n onClick={handleRemove}\n className='flex-shrink-0 ml-3 p-1 rounded-md hover:bg-black/10 dark:hover:bg-white/10 focus:outline-none focus:ring-1 focus:ring-current leading-0'\n >\n <X size={16} />\n </button>\n </div>\n );\n}\n"],"names":["n","t","s","h","C","i","e","w","H","de","o","a","x","f","ue","ce","fe","V","me","r","d","u","l","E","pe","ve","we","j","A","We","b","v","c","I","m","p","g","z","N","D","$","F","L","R","J","M","q","le","ActionModal","type","message","cancelText","confirmText","onConfirm","onClose","destructive","title","modalProps","defaultTexts","useMemo","actions","jsx","Modal","defaultTypeStyles","InfoCircled","ExclamationTriangle","CrossCircled","Toast","id","description","action","duration","onRemove","customTypes","CustomComponent","isExiting","setIsExiting","useState","handleRemove","useCallback","useEffect","timer","typeStyle","jsxs","join","X"],"mappings":"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"}
|
package/dist/components.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),u=require("react"),w=require("./utils.cjs.js"),N=require("./QuestionMarkCircled-D5cHmQp1.cjs"),A=require("./Toast-FzI16Fnl.cjs"),M=require("./X-CgjeP2OI.cjs"),W=require("react-dom");function D({id:o,title:s,content:e,children:n,className:t="",disabled:r=!1,isOpen:a=!1,onToggle:d,triggerClassName:f="",bodyClassName:c=""}){const h=u.useId(),l=o||`accordion-item-${h}`,v=`${l}-header`,m=`${l}-panel`,b=()=>{!r&&d&&d()},p=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())};return i.jsxs("div",{className:w.join("border-b border-gray-200",r&&"opacity-60 cursor-not-allowed",t),children:[i.jsxs("button",{id:v,type:"button",className:w.join("w-full text-left py-3 px-4 flex justify-between items-center focus:outline focus:outline-secondary",r?"cursor-not-allowed":"hover:bg-gray-50/10 cursor-pointer",f),"aria-expanded":a,"aria-controls":m,disabled:r,onClick:b,onKeyDown:p,children:[i.jsx("span",{children:s}),i.jsx("span",{className:w.join("transform transition-transform duration-300 ease-linear",a?"rotate-180":"rotate-0"),"aria-hidden":"true",children:i.jsx(N.ChevronDown,{size:18})})]}),i.jsx("div",{id:m,role:"region","aria-labelledby":v,className:w.join("transition-all duration-300 ease-linear px-4",a?"max-h-96 opacity-100 overflow-auto py-3":"max-h-0 opacity-0 overflow-hidden",c),children:a&&(n||e)})]})}function Z({id:o,items:s=[],children:e,className:n="",itemClassName:t="",allowMultiple:r=!1,defaultOpenItems:a=[],triggersClassName:d="",bodiesClassName:f=""}){const c=u.useId(),h=o||`accordion-group-${c}`,[l,v]=u.useState(new Set(a)),m=x=>{v(y=>{const g=new Set(y);return g.has(x)?g.delete(x):(r||g.clear(),g.add(x)),g})},b=x=>`${c}-item-${x}`,p=x=>l.has(x);return i.jsxs("div",{id:h,className:n,children:[s.length>0&&s.map((x,y)=>{const g=x.id||b(y);return i.jsx(D,{id:g,title:x.title,content:x.content,disabled:x.disabled,isOpen:p(g),onToggle:()=>m(g),className:t,triggerClassName:d,bodyClassName:f},g)}),s.length===0&&e&&u.Children.map(e,(x,y)=>{if(u.isValidElement(x)&&x.type===D){const g=x.props.id||b(y);return u.createElement(D,{...x.props,key:g,id:g,className:w.join(t,x.props.className),isOpen:p(g),onToggle:()=>m(g),triggerClassName:w.join(d,x.props.triggerClassName),bodyClassName:w.join(f,x.props.bodyClassName)})}return null})]})}function U(){const[o,s]=u.useState(0);return u.useEffect(()=>{const e=setInterval(()=>{s(n=>(n+1)%3)},500);return()=>clearInterval(e)},[]),i.jsx("div",{className:"absolute inset-0 inline-flex items-center justify-center gap-x-2 align-middle",children:[0,1,2].map(e=>i.jsx("div",{className:w.join("rounded-full transition-all duration-500 ease-in-out size-[0.35em] bg-current",o===e&&"transform -translate-y-1")},e))})}const J={base:"",primary:"bg-primary text-primary-foreground hover:bg-primary/85 disabled:bg-muted disabled:text-muted-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/85 disabled:bg-muted/80 disabled:text-muted-foreground/80",tertiary:"text-primary hover:text-primary-foreground disabled:text-muted",outline:"border border-primary text-primary hover:border-primary-foreground hover:text-primary-foreground disabled:border-muted disabled:text-muted",link:"underline-offset-4 hover:underline disabled:underline disabled:text-muted",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/85 disabled:bg-muted disabled:text-muted-foreground"},Y={stripped:"",fitted:"size-fit",sm:"px-2 py-1 text-sm",md:"px-4 py-2 text-base",lg:"px-6 py-3 text-lg",icon:"p-1 w-fit aspect-square",full:"p-2 w-full"},O={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},q={variant:"primary",size:"md",rounded:"md"};function _({variant:o=q.variant,size:s,rounded:e=q.rounded,loading:n,linkTo:t,linkProps:r,type:a="button",className:d,...f}){let c;o==="link"&&!s?c="fitted":c=s||q.size;const l=w.join("appearance-none focus:outline-none focus:ring not-disabled:hover:cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed transition-all",J[o],Y[c],O[e],n&&"relative pointer-events-none",t&&"relative",d);return i.jsxs("button",{...f,role:t?"link":f.role,"aria-label":f["aria-label"]||(r==null?void 0:r["aria-label"]),"aria-description":f["aria-description"]||(r==null?void 0:r["aria-description"]),"aria-disabled":f.disabled||n,"aria-busy":n,type:a,className:l,children:[n&&i.jsx(U,{}),i.jsx("span",{className:w.join(n&&"invisible"),children:f.children}),t&&!f.disabled&&i.jsx("a",{...r,"aria-hidden":!0,href:t,rel:(r==null?void 0:r.rel)||"noreferrer",className:"absolute inset-0"})]})}function P(o){const[s,e]=u.useState(""),n=u.useCallback(t=>{let r=t,a="";for(;r&&!a;){const d=window.getComputedStyle(r).backgroundColor;d&&d!=="transparent"&&d!=="rgba(0, 0, 0, 0)"&&(a=d),r=r.parentElement}return a||"transparent"},[]);return u.useEffect(()=>{const t=document.getElementById(o);if(t){const r=n(t.parentElement);e(r)}},[o,n]),s}function ee({ref:o,id:s,size:e=20,color:n,filled:t=!1,rounded:r=!0,checked:a=!1,onCheckedChange:d,disabled:f,className:c="",...h}){const l=u.useId(),v=u.useMemo(()=>s||`checkbox-${l}`,[s,l]),m=P(v),[b,p]=u.useState(a);u.useEffect(()=>{p(a)},[a]);const x=()=>{f||(p(!b),d==null||d(!b))},y=j=>{j.key===" "&&(j.preventDefault(),x())},g=w.join("flex items-center justify-center border outline outline-transparent focus:outline-current focus:outline-offset-2",r&&"rounded",f&&"opacity-40 cursor-not-allowed",!f&&"cursor-pointer",c);return i.jsx("button",{id:v,type:"button",ref:o,tabIndex:0,role:"checkbox",onClick:x,"aria-checked":b,"aria-disabled":f,onKeyDownCapture:y,style:{width:e,height:e,color:n,backgroundColor:b&&t?"currentcolor":"transparent"},className:g,...h,children:b&&i.jsx(N.Check,{size:e,color:t?m:void 0})})}function te({children:o,className:s,linkTo:e,linkProps:n,onButtonClick:t,buttonProps:r,...a}){return e&&t&&console.warn('Clickable: Both "linkTo" and "onButtonClick" props are provided. Only "linkTo" will be used.'),i.jsxs("div",{className:w.join("relative w-fit",s),...a,children:[o,e&&i.jsx("a",{...n,rel:(n==null?void 0:n.rel)||"noreferrer",href:e,className:w.join("absolute inset-0",n==null?void 0:n.className)}),!e&&t&&i.jsx("button",{...r,type:"button",onClick:t,className:w.join("absolute inset-0 cursor-pointer",r==null?void 0:r.className)})]})}function L({elementId:o,type:s,message:e}){return u.useEffect(()=>{const n=document.getElementById(o);if(n){if(!e&&s==="error"){n.removeAttribute("data-error");return}if(!e&&s==="success"){n.removeAttribute("data-success");return}return n.setAttribute("aria-describedby",`${o}-${s}-message`),n.setAttribute("aria-invalid",s==="error"?"true":"false"),s==="error"&&n.setAttribute("data-error","true"),s==="success"&&n.setAttribute("data-success","true"),()=>{n.removeAttribute("aria-describedby"),n.removeAttribute("aria-invalid"),n.removeAttribute("data-error"),n.removeAttribute("data-success")}}},[o,s,e]),e?i.jsxs("small",{className:w.join("mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-start",s==="error"&&"text-destructive",s==="success"&&"text-success"),role:"status",children:[s==="error"?i.jsx(M.ExclamationTriangle,{}):i.jsx(N.CheckCircled,{}),i.jsx("span",{id:`${o}-${s}-message`,children:e})]}):null}const re={base:"",default:"ring ring-transparent focus:ring-primary-foreground not-disabled:data-error:ring-destructive not-disabled:data-success:ring-success",underline:"border-b border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success",outline:"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success"},ne={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"px-3 rounded-full"},K={variant:"default",rounded:"none"};function oe({variant:o=K.variant,rounded:s,displayOnlyMode:e=!1,errorMessage:n,successMessage:t,type:r="text",className:a,...d}){const f=u.useId(),[c,h]=u.useState(!1);let l=s;o==="outline"&&!s&&(l="md"),l=l||K.rounded;const b=w.join("appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all","file:mr-2 file:border-0 file:rounded-md file:px-1.5 file:py-1 file:bg-primary hover:file:bg-primary/85 file:text-sm file:font-medium file:text-foreground file:transition-colors",!e&&re[o],!e&&ne[l],r==="password"&&"pr-10",!e&&"px-2 py-1",e&&"pointer-events-none",a);return i.jsxs("div",{className:w.join(e&&"cursor-text"),style:{height:d.height,width:d.width},children:[i.jsxs("div",{className:w.join(r==="password"&&"relative"),children:[i.jsx("input",{...d,id:f,type:r==="password"&&c?"text":r,"aria-disabled":d.disabled,readOnly:e,"aria-readonly":e||d["aria-readonly"],"data-error":n?!0:void 0,"data-success":t?!0:void 0,className:b}),r==="password"&&i.jsx("button",{onClick:()=>h(!c),className:"absolute inset-y-0 right-0 px-2 hover:cursor-pointer","aria-label":"Toggle password visibility","data-state":c?"visible":"hidden",children:c?i.jsx(N.EyeClosed$1,{size:20}):i.jsx(N.EyeClosed,{size:20})})]}),!e&&i.jsx(L,{elementId:f,type:"error",message:n}),!e&&i.jsx(L,{elementId:f,type:"success",message:t})]})}function se({display:o="inline",width:s="fit-content",className:e="",required:n,helpMessage:t,suffix:r,htmlFor:a,children:d,...f}){const c=u.useId(),h=w.join("font-medium",o,e),l=t?`${a??c}-help`:void 0;return i.jsxs("div",{style:{display:o==="inline"?"inline-flex":"flex",width:s},className:"relative",children:[i.jsxs("label",{className:h,htmlFor:a,...f,children:[d,n&&i.jsx("span",{className:"text-red-500 font-medium ml-1","aria-label":"required",children:"*"})]}),t&&i.jsx("span",{className:"text-gray-500 ml-1 size-fit -translate-y-1/3","aria-describedby":l,"aria-label":"Help information",title:t,children:i.jsx(N.QuestionMarkCircled,{})}),t&&i.jsx("div",{id:l,className:"sr-only",children:t}),r&&i.jsx("span",{className:"ml-1",children:r})]})}function ae(o){const[s,e]=u.useState(!1),[n,t]=u.useState(!1);return u.useEffect(()=>{o?(t(!0),setTimeout(()=>e(!0),10)):(e(!1),setTimeout(()=>t(!1),150))},[o]),{show:s,shouldRender:n}}function ie(o,s){u.useEffect(()=>{const e=n=>{n.key==="Escape"&&o&&s()};return document.addEventListener("keydown",e),o&&(document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",e),document.body.style.overflow="auto"}},[o,s])}function ue(o,s){const e=u.useRef(null),n=u.useCallback(()=>{const t=document.getElementById(o);if(!t)return;const r=t.querySelectorAll('[data-modal-action="true"]');if(r.length>0){r[0].focus();return}const a=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length>0){const d=Array.from(a).filter(f=>!(f instanceof HTMLButtonElement&&f.getAttribute("data-modal-close-button")==="true"));if(d.length>0){d[0].focus();return}a[0].focus();return}t.focus()},[o]);u.useEffect(()=>(s&&(e.current=document.activeElement,n()),()=>{document.body.style.overflow="auto",e.current instanceof HTMLElement&&e.current.focus()}),[s,n])}function le({id:o,isOpen:s,onClose:e,title:n,children:t,contentOnly:r=!1,className:a,overlayClassName:d,hideCloseButton:f=!1,actions:c=[],disableCloseOnOverlayClick:h=!1,ariaLabelledBy:l,ariaDescribedBy:v}){const m=u.useId(),b=o||`modal-${m}`,p=o?`${o}-title`:`modal-title-${m}`,{show:x,shouldRender:y}=ae(s);if(ue(b,y),ie(y,e),!y)return null;const g=()=>n?u.isValidElement(n)?i.jsx("div",{className:"mb-4",children:n}):i.jsx("h2",{className:"mb-4 text-xl font-semibold",id:p,children:n}):null,j=()=>c.length===0?null:i.jsx("div",{className:"mt-6 not-sm:grid gap-y-2 sm:flex sm:justify-start sm:flex-row-reverse sm:gap-x-3",children:c.map((I,E)=>{const{label:z,className:T,...$}=I;return i.jsx(_,{className:T,type:"button",...$,"data-modal-action":"true",children:z},E)})});return i.jsx(i.Fragment,{children:W.createPortal(i.jsx("div",{"aria-labelledby":l??n?p:void 0,"aria-describedby":v,role:"dialog","aria-modal":"true",className:"fixed inset-0 z-[100] overflow-y-auto",children:i.jsxs("div",{className:"flex min-h-screen items-center justify-center p-4",children:[i.jsx("div",{className:A.n("fixed inset-0 bg-black/20 transition-all",d),onClick:()=>{h||e()}}),r&&i.jsx("div",{className:A.n("relative w-fit",a),children:t}),!r&&i.jsxs("div",{id:b,tabIndex:-1,className:A.n("relative w-full max-w-xl transform rounded-lg shadow-xl transition-all p-6 bg-inherit focus:ring ease-in duration-75",x?"opacity-100 scale-100":"opacity-0 scale-90",a),children:[!f&&i.jsx("button",{type:"button",onClick:e,"data-modal-close-button":"true",className:"rounded-md p-0.5 top-2.5 right-2.5 absolute opacity-80 hover:opacity-100 transition-opacity focus:outline-none focus:ring-2 focus:ring-gray-500 leading-0",children:i.jsx(M.X,{size:18})}),g(),t,j()]})]})}),document.body)})}function Q({itemId:o,checked:s,onChange:e,name:n,disabled:t=!1,className:r=""}){const a="relative inline-flex items-center justify-center rounded-full",d=()=>{t||e()},f=w.join(a,!s&&"hover:border-current/60",!t&&"border-current cursor-pointer",t&&"border-muted/60 cursor-not-allowed",r);return i.jsx("div",{id:o,role:"radio",tabIndex:-1,"aria-checked":s,"aria-disabled":t,"aria-description":`Radio button for ${n}`,"aria-labelledby":`${o}-label`,onClick:d,className:f,style:{width:"1em",height:"1em",padding:"0.1em",borderWidth:"0.06em"},children:s&&i.jsx("div",{className:w.join("size-full aspect-square rounded-full",t&&"bg-muted/60",!t&&"bg-current")})})}function R({value:o,children:s,className:e="",isSelected:n=!1,onChange:t,disabled:r=!1,hideInput:a=!1,description:d,name:f}){const h=`radio-${u.useId()}-${o}`,l=()=>{r||t==null||t(o)};return i.jsxs("div",{title:d,className:w.join("relative flex items-center",e,a&&`p-2 border-2 focus-within:border-dashed focus-within:${r?"border-current/50":"border-current/80"}`,a&&!n&&`border-transparent ${r?"":"not-focus-within:hover:border-border/60"}`,a&&n&&"border-border",r&&"opacity-60 cursor-not-allowed"),style:{gap:"0.5em"},children:[!a&&i.jsx(Q,{itemId:h,name:f||"",checked:n,onChange:l,disabled:r,className:w.join(a&&"")}),i.jsx("div",{id:a?h:void 0,tabIndex:a?-1:void 0,role:a?"radio":void 0,onClick:a?l:void 0,"aria-checked":a?n?"true":"false":void 0,"aria-disabled":a?r:void 0,"aria-description":a?d||`Radio button for ${f}`:void 0,"aria-labelledby":a?`${h}-label`:void 0,className:w.join(a&&"size-full",typeof s=="object"&&"grow focus:outline-none"),children:i.jsx("label",{id:`${h}-label`,onClick:a?void 0:l,className:w.join(r&&"cursor-not-allowed",!r&&"cursor-pointer"),children:s})})]})}function ce(o,s){const[e,n]=u.useState(s),[t,r]=u.useState(-1),[a,d]=u.useState(!1),f=u.useCallback((m,b)=>{var y;const p=m[b];p.hasAttribute("disabled")||p.getAttribute("aria-disabled")==="true"||((y=m[b])==null||y.click(),r(b))},[]),c=u.useCallback((m,b)=>{var x;if(m.preventDefault(),a||!b.length)return;const p=s!==-1?s:0;(x=b[p])==null||x.focus(),n(p),s!==-1&&f(b,p)},[s,a,f]),h=u.useCallback(m=>{var y;if(!m.shiftKey)return;m.preventDefault();const b=Array.from(document.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')).filter(g=>!g.hasAttribute("disabled")&&g.tabIndex>=0),p=b.findIndex(g=>g.id===o),x=p>0?p-1:b.length-1;(y=b[x])==null||y.focus()},[o]),l=u.useCallback((m,b)=>{var j;if(!b.length)return;const p=m.target;if(!b.some(I=>I.id===p.id))return;const y=e!==-1?e:0;let g=y;switch(m.key){case"ArrowUp":case"ArrowLeft":m.preventDefault(),g=y>0?y-1:b.length-1;break;case"ArrowDown":case"ArrowRight":m.preventDefault(),g=(y+1)%b.length;break;case" ":m.preventDefault(),f(b,y);return;case"Tab":h(m);return;default:return}(j=b[g])==null||j.focus(),n(g),t!==-1&&f(b,g)},[e,t,h,f]),v=u.useCallback(()=>{const m=document.querySelector(`[id="${o}"][role="radiogroup"]`);return m?Array.from(m.querySelectorAll('[role="radio"]')):[]},[o]);u.useEffect(()=>{const m=document.querySelector(`[id="${o}"][role="radiogroup"]`);if(!m)return;const b=v(),p=j=>c(j,b),x=j=>l(j,b),y=()=>d(!0),g=()=>d(!1);return document.addEventListener("keydown",x),m.addEventListener("focus",p),m.addEventListener("mousedown",y),document.addEventListener("mouseup",g),()=>{document.removeEventListener("keydown",x),m.removeEventListener("focus",p),m.removeEventListener("mousedown",y),document.removeEventListener("mouseup",g)}},[o,v,c,l])}function de({options:o=[],value:s,onChange:e,id:n,children:t,className:r="",childrenClassName:a="",hideInputs:d=!1}){const f=u.useId(),c=n||`radio-group-${f}`;ce(c,o.findIndex(l=>l===s));const h=u.useMemo(()=>o.reduce((l,v)=>(typeof v=="string"?l.some(m=>m.value===v)||l.push({label:v,value:v}):l.push(v),l),[]),[o]);return i.jsxs("div",{id:c,role:"radiogroup",tabIndex:0,className:w.join(r,"focus:outline-none"),children:[h.length>0&&h.map((l,v)=>i.jsx(R,{value:l.value,isSelected:s===l.value,onChange:e,name:c,disabled:l.disabled,description:l.description,hideInput:d,className:a,children:l.label},`${l.value}-${v}`)),h.length===0&&t&&u.Children.map(t,l=>u.isValidElement(l)&&l.type===R?i.jsx(R,{...l.props,className:w.join(a,l.props.className),hideInput:l.props.hideInput||d,isSelected:s===l.props.value,onChange:e,name:c,children:l.props.children}):null)]})}function fe({children:o,ref:s,...e}){if(u.isValidElement(o)){let n={...e};return o.props&&(n={...n,...o.props}),u.cloneElement(o,{...n,ref:t=>{typeof s=="function"?s(t):s&&(s.current=t)}})}return u.createElement("div",{...e,ref:s},o)}function me({elementId:o,maxLength:s}){const[e,n]=u.useState(0);return u.useEffect(()=>{const t=document.getElementById(o);if(!t)return;const r=()=>{const a=t.value.length;n(a);const d=a>=s;t.setAttribute("aria-describedby",`${o}-character-count`),t.setAttribute("aria-invalid",d?"true":"false"),d?t.setAttribute("data-error","true"):t.removeAttribute("data-error")};return r(),t.addEventListener("input",r),t.setAttribute("maxlength",String(s)),()=>{t.removeEventListener("input",r),t.removeAttribute("maxlength"),t.removeAttribute("aria-describedby"),t.removeAttribute("aria-invalid"),t.removeAttribute("data-error")}},[o,s]),i.jsx("small",{className:w.join("mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-end",e>=s&&"text-destructive",e<s&&"text-current"),role:"status",children:i.jsxs("span",{id:`${o}-character-count`,children:[e," / ",s," characters"]})})}function be(o,s){u.useEffect(()=>{const e=document.getElementById(o);if(!e)return;if(!s){e.style.height="auto";return}const n=()=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`};return n(),e.addEventListener("input",n),e.addEventListener("resize",n),window.addEventListener("resize",n),()=>{e.removeEventListener("input",n),e.removeEventListener("resize",n),window.removeEventListener("resize",n)}},[o,s])}const he={base:"","left-line":"border-l border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success",outline:"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success"},xe={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"px-3 rounded-full"},V={variant:"outline",rounded:"none"};function ge({variant:o=V.variant,rounded:s,displayOnlyMode:e=!1,errorMessage:n,successMessage:t,hideResizeHandle:r=!1,autoExpand:a=!1,characterLimit:d=0,className:f,...c}){const h=u.useId();be(h,a||e);let l=s;o==="outline"&&!s&&(l="md"),l=l||V.rounded;let v=r;(e||o==="left-line"&&!r)&&(v=!0);const b=w.join("appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all",!e&&he[o],!e&&xe[l],!e&&"px-2 py-1",e&&"pointer-events-none",v&&"no-resize-handle",f);return i.jsxs("div",{className:w.join("-space-y-1.5",e&&"cursor-text"),children:[i.jsx("textarea",{...c,id:h,"aria-disabled":c.disabled,readOnly:e,"aria-readonly":e||c["aria-readonly"],style:{resize:a?"none":void 0},className:b}),d>0&&i.jsx(me,{elementId:h,maxLength:d}),!e&&i.jsx(L,{elementId:h,type:"error",message:n}),!e&&i.jsx(L,{elementId:h,type:"success",message:t})]})}const pe={sm:{container:"h-5 min-w-9 w-9",thumb:"h-4 w-4",translate:"translate-x-4"},md:{container:"h-6 min-w-11 w-11",thumb:"h-5 w-5",translate:"translate-x-5"},lg:{container:"h-7 min-w-13 w-13",thumb:"h-6 w-6",translate:"translate-x-6"}},ve={default:{unchecked:"bg-muted",checked:"bg-primary"},success:{unchecked:"bg-muted",checked:"bg-success"},destructive:{unchecked:"bg-muted",checked:"bg-destructive"}},G={variant:"default",size:"md"};function we({ref:o,id:s,size:e=G.size,variant:n=G.variant,checked:t,onCheckedChange:r,disabled:a=!1,className:d,thumbClassName:f,backgroundClassNames:c,...h}){const l=u.useId(),v=u.useMemo(()=>s||`toggle-${l}`,[s,l]),[m,b]=u.useState(t);u.useEffect(()=>{b(t)},[t]);const p=()=>{if(!a){const E=!m;t===void 0&&b(E),r==null||r(E)}},x=E=>{(E.key===" "||E.key==="Enter")&&(E.preventDefault(),p())},y=pe[e],g=ve[n],j=w.join("relative inline-flex items-center rounded-full transition-all duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",y.container,m?(c==null?void 0:c.checked)||g.checked:(c==null?void 0:c.unchecked)||g.unchecked,a&&"opacity-50 cursor-not-allowed",!a&&"cursor-pointer",d),I=w.join("absolute left-0.5 top-1/2 -translate-y-1/2 rounded-full bg-white shadow-sm transition-transform duration-200 ease-in-out",y.thumb,m&&y.translate,f);return i.jsxs("button",{ref:o,id:v,type:"button",role:"switch",tabIndex:0,"aria-checked":m,"aria-disabled":a,disabled:a,onClick:p,onKeyDown:x,className:j,...h,children:[i.jsx("span",{className:I}),i.jsx("span",{className:"sr-only",children:m?"Enabled":"Disabled"})]})}const k=8,S=4,C=6;function ye(o){return{calculatePosition:u.useCallback((e,n)=>{const t=e.getBoundingClientRect(),r=n.getBoundingClientRect(),a={width:window.innerWidth,height:window.innerHeight},d=(v,m,b,p)=>v<0||m<0||v+b>a.width||m+p>a.height,f={top:{x:t.left+t.width/2-r.width/2,y:t.top-r.height-S,arrow:{x:r.width/2-C,y:r.height}},bottom:{x:t.left+t.width/2-r.width/2,y:t.bottom+S,arrow:{x:r.width/2-C,y:-6}},left:{x:t.left-r.width-S,y:t.top+t.height/2-r.height/2,arrow:{x:r.width,y:r.height/2-C}},right:{x:t.right+S,y:t.top+t.height/2-r.height/2,arrow:{x:-6,y:r.height/2-C}}};let c=o,h=f[o];if(d(h.x,h.y,r.width,r.height)){const v={top:"bottom",bottom:"top",left:"right",right:"left"},m=f[v[o]];if(!d(m.x,m.y,r.width,r.height))c=v[o],h=m;else{const b=["top","bottom","left","right"].filter(p=>p!==o&&p!==v[o]);for(const p of b){const x=f[p];if(!d(x.x,x.y,r.width,r.height)){c=p,h=x;break}}}}h.x=Math.max(k,Math.min(h.x,a.width-r.width-k)),h.y=Math.max(k,Math.min(h.y,a.height-r.height-k));const l={x:t.left+t.width/2,y:t.top+t.height/2};return c==="top"||c==="bottom"?h.arrow.x=Math.max(C,Math.min(l.x-h.x-C,r.width-C*2)):h.arrow.y=Math.max(C,Math.min(l.y-h.y-C,r.height-C*2)),{...h,placement:c}},[o])}}function je(o,s,e){const n=u.useRef(null),t=u.useRef(null),r=u.useCallback(()=>{if(!n.current||!t.current)return;const a=o(n.current,t.current);e(a)},[o,e]);return u.useEffect(()=>{if(!s)return;const a=()=>r();return window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[s,r]),{triggerRef:n,tooltipRef:t,updatePosition:r}}function Ee(o,s,e,n,t,r,a,d,f){const c=u.useRef(null),h=u.useCallback(()=>{o||(c.current&&clearTimeout(c.current),c.current=window.setTimeout(()=>{e(!0),requestAnimationFrame(()=>{t(),n(!0)})},s))},[o,s,e,t,n]),l=u.useCallback((v=!1)=>{if(c.current&&clearTimeout(c.current),v){n(!1),setTimeout(()=>e(!1),150);return}c.current=window.setTimeout(()=>{n(!1),setTimeout(()=>e(!1),150)},100)},[n,e]);return u.useEffect(()=>{!r&&!a&&!d&&f&&l()},[r,a,d,f,l]),u.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]),{showTooltip:h,hideTooltip:l,timeoutRef:c}}function Ce({id:o,children:s,message:e,placement:n="top",disabled:t=!1,delay:r=200,className:a}){const[d,f]=u.useState(!1),[c,h]=u.useState(!1),[l,v]=u.useState(null),[m,b]=u.useState(!1),[p,x]=u.useState(!1),[y,g]=u.useState(!1),{calculatePosition:j}=ye(n),{triggerRef:I,tooltipRef:E,updatePosition:z}=je(j,c,v),{showTooltip:T,hideTooltip:$,timeoutRef:F}=Ee(t,r,h,f,z,m,p,y,d),X=u.useId(),H=o??X;return i.jsxs(i.Fragment,{children:[u.cloneElement(s,{ref:B=>{I.current=B},onMouseEnter:()=>{b(!0),T()},onMouseLeave:()=>{b(!1)},onFocus:()=>{g(!0),T()},onBlur:()=>{g(!1),$(!0)},onKeyDown:B=>{B.key==="Escape"&&$(!0)},"aria-describedby":t?void 0:H}),c&&W.createPortal(i.jsx("div",{ref:E,id:H,role:"tooltip",className:w.join("fixed z-50 px-2 py-1 text-sm rounded shadow-lg pointer-events-auto transition-all duration-150 ease-out",d?"opacity-100":"opacity-0",a),style:l?{left:l.x,top:l.y}:{opacity:0},onMouseEnter:()=>{x(!0),F.current&&clearTimeout(F.current)},onMouseLeave:()=>{x(!1)},children:e}),document.body)]})}exports.ActionModal=A.ActionModal;exports.Toast=A.Toast;exports.Accordion=Z;exports.AccordionItem=D;exports.Button=_;exports.ButtonLoadingDots=U;exports.Checkbox=ee;exports.Clickable=te;exports.Input=oe;exports.Label=se;exports.Modal=le;exports.RadioGroup=de;exports.RadioGroupItem=R;exports.RadioInput=Q;exports.Slot=fe;exports.Textarea=ge;exports.Toggle=we;exports.Tooltip=Ce;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),l=require("react"),w=require("./utils.cjs.js"),N=require("./QuestionMarkCircled-D5cHmQp1.cjs"),A=require("./Toast-SgqUNTIy.cjs"),M=require("./X-CgjeP2OI.cjs"),W=require("react-dom");function D({id:o,title:s,content:e,children:n,className:t="",disabled:r=!1,isOpen:a=!1,onToggle:d,triggerClassName:f="",bodyClassName:c=""}){const h=l.useId(),u=o||`accordion-item-${h}`,v=`${u}-header`,m=`${u}-panel`,b=()=>{!r&&d&&d()},p=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),b())};return i.jsxs("div",{className:w.join("border-b border-gray-200",r&&"opacity-60 cursor-not-allowed",t),children:[i.jsxs("button",{id:v,type:"button",className:w.join("w-full text-left py-3 px-4 flex justify-between items-center focus:outline focus:outline-secondary",r?"cursor-not-allowed":"hover:bg-gray-50/10 cursor-pointer",f),"aria-expanded":a,"aria-controls":m,disabled:r,onClick:b,onKeyDown:p,children:[i.jsx("span",{children:s}),i.jsx("span",{className:w.join("transform transition-transform duration-300 ease-linear",a?"rotate-180":"rotate-0"),"aria-hidden":"true",children:i.jsx(N.ChevronDown,{size:18})})]}),i.jsx("div",{id:m,role:"region","aria-labelledby":v,className:w.join("transition-all duration-300 ease-linear px-4",a?"max-h-96 opacity-100 overflow-auto py-3":"max-h-0 opacity-0 overflow-hidden",c),children:a&&(n||e)})]})}function Z({id:o,items:s=[],children:e,className:n="",itemClassName:t="",allowMultiple:r=!1,defaultOpenItems:a=[],triggersClassName:d="",bodiesClassName:f=""}){const c=l.useId(),h=o||`accordion-group-${c}`,[u,v]=l.useState(new Set(a)),m=x=>{v(y=>{const g=new Set(y);return g.has(x)?g.delete(x):(r||g.clear(),g.add(x)),g})},b=x=>`${c}-item-${x}`,p=x=>u.has(x);return i.jsxs("div",{id:h,className:n,children:[s.length>0&&s.map((x,y)=>{const g=x.id||b(y);return i.jsx(D,{id:g,title:x.title,content:x.content,disabled:x.disabled,isOpen:p(g),onToggle:()=>m(g),className:t,triggerClassName:d,bodyClassName:f},g)}),s.length===0&&e&&l.Children.map(e,(x,y)=>{if(l.isValidElement(x)&&x.type===D){const g=x.props.id||b(y);return l.createElement(D,{...x.props,key:g,id:g,className:w.join(t,x.props.className),isOpen:p(g),onToggle:()=>m(g),triggerClassName:w.join(d,x.props.triggerClassName),bodyClassName:w.join(f,x.props.bodyClassName)})}return null})]})}function U(){const[o,s]=l.useState(0);return l.useEffect(()=>{const e=setInterval(()=>{s(n=>(n+1)%3)},500);return()=>clearInterval(e)},[]),i.jsx("div",{className:"absolute inset-0 inline-flex items-center justify-center gap-x-2 align-middle",children:[0,1,2].map(e=>i.jsx("div",{className:w.join("rounded-full transition-all duration-500 ease-in-out size-[0.35em] bg-current",o===e&&"transform -translate-y-1")},e))})}const J={base:"",primary:"bg-primary text-primary-foreground hover:bg-primary/85 disabled:bg-muted disabled:text-muted-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/85 disabled:bg-muted/80 disabled:text-muted-foreground/80",tertiary:"text-primary hover:text-primary-foreground disabled:text-muted",outline:"border border-primary text-primary hover:border-primary-foreground hover:text-primary-foreground disabled:border-muted disabled:text-muted",link:"underline-offset-4 hover:underline disabled:underline disabled:text-muted",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/85 disabled:bg-muted disabled:text-muted-foreground"},Y={stripped:"",fitted:"size-fit",sm:"px-2 py-1 text-sm",md:"px-4 py-2 text-base",lg:"px-6 py-3 text-lg",icon:"p-1 w-fit aspect-square",full:"p-2 w-full"},O={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},q={variant:"primary",size:"md",rounded:"md"};function _({variant:o=q.variant,size:s,rounded:e=q.rounded,loading:n,linkTo:t,linkProps:r,type:a="button",className:d,...f}){let c;o==="link"&&!s?c="fitted":c=s||q.size;const u=w.join("appearance-none focus:outline-none focus:ring not-disabled:hover:cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed transition-all",J[o],Y[c],O[e],n&&"relative pointer-events-none",t&&"relative",d);return i.jsxs("button",{...f,role:t?"link":f.role,"aria-label":f["aria-label"]||(r==null?void 0:r["aria-label"]),"aria-description":f["aria-description"]||(r==null?void 0:r["aria-description"]),"aria-disabled":f.disabled||n,"aria-busy":n,type:a,className:u,children:[n&&i.jsx(U,{}),i.jsx("span",{className:w.join(n&&"invisible"),children:f.children}),t&&!f.disabled&&i.jsx("a",{...r,"aria-hidden":!0,href:t,rel:(r==null?void 0:r.rel)||"noreferrer",className:"absolute inset-0"})]})}function P(o){const[s,e]=l.useState(""),n=l.useCallback(t=>{let r=t,a="";for(;r&&!a;){const d=window.getComputedStyle(r).backgroundColor;d&&d!=="transparent"&&d!=="rgba(0, 0, 0, 0)"&&(a=d),r=r.parentElement}return a||"transparent"},[]);return l.useEffect(()=>{const t=document.getElementById(o);if(t){const r=n(t.parentElement);e(r)}},[o,n]),s}function ee({ref:o,id:s,size:e=20,color:n,filled:t=!1,rounded:r=!0,checked:a=!1,onCheckedChange:d,disabled:f,className:c="",...h}){const u=l.useId(),v=l.useMemo(()=>s||`checkbox-${u}`,[s,u]),m=P(v),[b,p]=l.useState(a);l.useEffect(()=>{p(a)},[a]);const x=()=>{f||(p(!b),d==null||d(!b))},y=j=>{j.key===" "&&(j.preventDefault(),x())},g=w.join("flex items-center justify-center border outline outline-transparent focus:outline-current focus:outline-offset-2",r&&"rounded",f&&"opacity-40 cursor-not-allowed",!f&&"cursor-pointer",c);return i.jsx("button",{id:v,type:"button",ref:o,tabIndex:0,role:"checkbox",onClick:x,"aria-checked":b,"aria-disabled":f,onKeyDownCapture:y,style:{width:e,height:e,color:n,backgroundColor:b&&t?"currentcolor":"transparent"},className:g,...h,children:b&&i.jsx(N.Check,{size:e,color:t?m:void 0})})}function te({children:o,className:s,linkTo:e,linkProps:n,onButtonClick:t,buttonProps:r,...a}){return e&&t&&console.warn('Clickable: Both "linkTo" and "onButtonClick" props are provided. Only "linkTo" will be used.'),i.jsxs("div",{className:w.join("relative w-fit",s),...a,children:[o,e&&i.jsx("a",{...n,rel:(n==null?void 0:n.rel)||"noreferrer",href:e,className:w.join("absolute inset-0",n==null?void 0:n.className)}),!e&&t&&i.jsx("button",{...r,type:"button",onClick:t,className:w.join("absolute inset-0 cursor-pointer",r==null?void 0:r.className)})]})}function R({elementId:o,type:s,message:e}){return l.useEffect(()=>{const n=document.getElementById(o);if(n){if(!e&&s==="error"){n.removeAttribute("data-error");return}if(!e&&s==="success"){n.removeAttribute("data-success");return}return n.setAttribute("aria-describedby",`${o}-${s}-message`),n.setAttribute("aria-invalid",s==="error"?"true":"false"),s==="error"&&n.setAttribute("data-error","true"),s==="success"&&n.setAttribute("data-success","true"),()=>{n.removeAttribute("aria-describedby"),n.removeAttribute("aria-invalid"),n.removeAttribute("data-error"),n.removeAttribute("data-success")}}},[o,s,e]),e?i.jsxs("small",{className:w.join("mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-start",s==="error"&&"text-destructive",s==="success"&&"text-success"),role:"status",children:[s==="error"?i.jsx(M.ExclamationTriangle,{}):i.jsx(N.CheckCircled,{}),i.jsx("span",{id:`${o}-${s}-message`,children:e})]}):null}const re={base:"",default:"ring ring-transparent focus:ring-primary-foreground not-disabled:data-error:ring-destructive not-disabled:data-success:ring-success",underline:"border-b border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success",outline:"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success"},ne={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"px-3 rounded-full"},H={variant:"default",rounded:"none"};function oe({variant:o=H.variant,rounded:s,displayOnlyMode:e=!1,errorMessage:n,successMessage:t,type:r="text",className:a,...d}){const f=l.useId(),[c,h]=l.useState(!1);let u=s;o==="outline"&&!s&&(u="md"),u=u||H.rounded;const b=w.join("appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all","file:mr-2 file:border-0 file:rounded-md file:px-1.5 file:py-1 file:bg-primary hover:file:bg-primary/85 file:text-sm file:font-medium file:text-foreground file:transition-colors",!e&&re[o],!e&&ne[u],r==="password"&&"pr-10",!e&&"px-2 py-1",e&&"pointer-events-none",a);return i.jsxs("div",{className:w.join(e&&"cursor-text"),style:{height:d.height,width:d.width},children:[i.jsxs("div",{className:w.join(r==="password"&&"relative"),children:[i.jsx("input",{...d,id:f,type:r==="password"&&c?"text":r,"aria-disabled":d.disabled,readOnly:e,"aria-readonly":e||d["aria-readonly"],"data-error":n?!0:void 0,"data-success":t?!0:void 0,className:b}),r==="password"&&i.jsx("button",{onClick:()=>h(!c),className:"absolute inset-y-0 right-0 px-2 hover:cursor-pointer","aria-label":"Toggle password visibility","data-state":c?"visible":"hidden",children:c?i.jsx(N.EyeClosed$1,{size:20}):i.jsx(N.EyeClosed,{size:20})})]}),!e&&i.jsx(R,{elementId:f,type:"error",message:n}),!e&&i.jsx(R,{elementId:f,type:"success",message:t})]})}function se({display:o="inline",width:s="fit-content",className:e="",required:n,helpMessage:t,suffix:r,htmlFor:a,children:d,...f}){const c=l.useId(),h=w.join("font-medium",o,e),u=t?`${a??c}-help`:void 0;return i.jsxs("div",{style:{display:o==="inline"?"inline-flex":"flex",width:s},className:"relative",children:[i.jsxs("label",{className:h,htmlFor:a,...f,children:[d,n&&i.jsx("span",{className:"text-red-500 font-medium ml-1","aria-label":"required",children:"*"})]}),t&&i.jsx("span",{className:"text-gray-500 ml-1 size-fit -translate-y-1/3","aria-describedby":u,"aria-label":"Help information",title:t,children:i.jsx(N.QuestionMarkCircled,{})}),t&&i.jsx("div",{id:u,className:"sr-only",children:t}),r&&i.jsx("span",{className:"ml-1",children:r})]})}function ae(o){const[s,e]=l.useState(!1),[n,t]=l.useState(!1);return l.useEffect(()=>{o?(t(!0),setTimeout(()=>e(!0),10)):(e(!1),setTimeout(()=>t(!1),150))},[o]),{show:s,shouldRender:n}}function ie(o,s){l.useEffect(()=>{const e=n=>{n.key==="Escape"&&o&&s()};return document.addEventListener("keydown",e),o&&(document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",e),document.body.style.overflow="auto"}},[o,s])}function le(o,s){const e=l.useRef(null),n=l.useCallback(()=>{const t=document.getElementById(o);if(!t)return;const r=t.querySelectorAll('[data-modal-action="true"]');if(r.length>0){r[0].focus();return}const a=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(a.length>0){const d=Array.from(a).filter(f=>!(f instanceof HTMLButtonElement&&f.getAttribute("data-modal-close-button")==="true"));if(d.length>0){d[0].focus();return}a[0].focus();return}t.focus()},[o]);l.useEffect(()=>(s&&(e.current=document.activeElement,n()),()=>{document.body.style.overflow="auto",e.current instanceof HTMLElement&&e.current.focus()}),[s,n])}function ue({id:o,isOpen:s,onClose:e,title:n,children:t,contentOnly:r=!1,className:a,overlayClassName:d,hideCloseButton:f=!1,actions:c=[],disableCloseOnOverlayClick:h=!1,ariaLabelledBy:u,ariaDescribedBy:v}){const m=l.useId(),b=o||`modal-${m}`,p=o?`${o}-title`:`modal-title-${m}`,{show:x,shouldRender:y}=ae(s);if(le(b,y),ie(y,e),!y)return null;const g=()=>n?l.isValidElement(n)?i.jsx("div",{className:"mb-4",children:n}):i.jsx("h2",{className:"mb-4 text-xl font-semibold",id:p,children:n}):null,j=()=>c.length===0?null:i.jsx("div",{className:"mt-6 not-sm:grid gap-y-2 sm:flex sm:justify-start sm:flex-row-reverse sm:gap-x-3",children:c.map((I,E)=>{const{label:L,className:k,...T}=I;return i.jsx(_,{className:k,type:"button",...T,"data-modal-action":"true",children:L},E)})});return i.jsx(i.Fragment,{children:W.createPortal(i.jsx("div",{"aria-labelledby":u??n?p:void 0,"aria-describedby":v,role:"dialog","aria-modal":"true",className:"fixed inset-0 z-[100] overflow-y-auto",children:i.jsxs("div",{className:"flex min-h-screen items-center justify-center p-4",children:[i.jsx("div",{className:A.n("fixed inset-0 bg-black/20 transition-all",d),onClick:()=>{h||e()}}),r&&i.jsx("div",{className:A.n("relative w-fit",a),children:t}),!r&&i.jsxs("div",{id:b,tabIndex:-1,className:A.n("relative w-full max-w-xl transform rounded-lg shadow-xl transition-all p-6 bg-inherit focus:ring ease-in duration-75",x?"opacity-100 scale-100":"opacity-0 scale-90",a),children:[!f&&i.jsx("button",{type:"button",onClick:e,"data-modal-close-button":"true",className:"rounded-md p-0.5 top-2.5 right-2.5 absolute opacity-80 hover:opacity-100 transition-opacity focus:outline-none focus:ring-2 focus:ring-gray-500 leading-0",children:i.jsx(M.X,{size:18})}),g(),t,j()]})]})}),document.body)})}function Q({itemId:o,checked:s,onChange:e,name:n,disabled:t=!1,className:r=""}){const a="relative inline-flex items-center justify-center rounded-full",d=()=>{t||e()},f=w.join(a,!s&&"hover:border-current/60",!t&&"border-current cursor-pointer",t&&"border-muted/60 cursor-not-allowed",r);return i.jsx("div",{id:o,role:"radio",tabIndex:-1,"aria-checked":s,"aria-disabled":t,"aria-description":`Radio button for ${n}`,"aria-labelledby":`${o}-label`,onClick:d,className:f,style:{width:"1em",height:"1em",padding:"0.1em",borderWidth:"0.06em"},children:s&&i.jsx("div",{className:w.join("size-full aspect-square rounded-full",t&&"bg-muted/60",!t&&"bg-current")})})}function z({value:o,children:s,className:e="",isSelected:n=!1,onChange:t,disabled:r=!1,hideInput:a=!1,description:d,name:f}){const h=`radio-${l.useId()}-${o}`,u=()=>{r||t==null||t(o)};return i.jsxs("div",{title:d,className:w.join("relative flex items-center",e,a&&`p-2 border-2 focus-within:border-dashed focus-within:${r?"border-current/50":"border-current/80"}`,a&&!n&&`border-transparent ${r?"":"not-focus-within:hover:border-border/60"}`,a&&n&&"border-border",r&&"opacity-60 cursor-not-allowed"),style:{gap:"0.5em"},children:[!a&&i.jsx(Q,{itemId:h,name:f||"",checked:n,onChange:u,disabled:r,className:w.join(a&&"")}),i.jsx("div",{id:a?h:void 0,tabIndex:a?-1:void 0,role:a?"radio":void 0,onClick:a?u:void 0,"aria-checked":a?n?"true":"false":void 0,"aria-disabled":a?r:void 0,"aria-description":a?d||`Radio button for ${f}`:void 0,"aria-labelledby":a?`${h}-label`:void 0,className:w.join(a&&"size-full",typeof s=="object"&&"grow focus:outline-none"),children:i.jsx("label",{id:`${h}-label`,onClick:a?void 0:u,className:w.join(r&&"cursor-not-allowed",!r&&"cursor-pointer"),children:s})})]})}function ce(o,s){const[e,n]=l.useState(s),[t,r]=l.useState(-1),[a,d]=l.useState(!1),f=l.useCallback((m,b)=>{var y;const p=m[b];p.hasAttribute("disabled")||p.getAttribute("aria-disabled")==="true"||((y=m[b])==null||y.click(),r(b))},[]),c=l.useCallback((m,b)=>{var x;if(m.preventDefault(),a||!b.length)return;const p=s!==-1?s:0;(x=b[p])==null||x.focus(),n(p),s!==-1&&f(b,p)},[s,a,f]),h=l.useCallback(m=>{var y;if(!m.shiftKey)return;m.preventDefault();const b=Array.from(document.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')).filter(g=>!g.hasAttribute("disabled")&&g.tabIndex>=0),p=b.findIndex(g=>g.id===o),x=p>0?p-1:b.length-1;(y=b[x])==null||y.focus()},[o]),u=l.useCallback((m,b)=>{var j;if(!b.length)return;const p=m.target;if(!b.some(I=>I.id===p.id))return;const y=e!==-1?e:0;let g=y;switch(m.key){case"ArrowUp":case"ArrowLeft":m.preventDefault(),g=y>0?y-1:b.length-1;break;case"ArrowDown":case"ArrowRight":m.preventDefault(),g=(y+1)%b.length;break;case" ":m.preventDefault(),f(b,y);return;case"Tab":h(m);return;default:return}(j=b[g])==null||j.focus(),n(g),t!==-1&&f(b,g)},[e,t,h,f]),v=l.useCallback(()=>{const m=document.querySelector(`[id="${o}"][role="radiogroup"]`);return m?Array.from(m.querySelectorAll('[role="radio"]')):[]},[o]);l.useEffect(()=>{const m=document.querySelector(`[id="${o}"][role="radiogroup"]`);if(!m)return;const b=v(),p=j=>c(j,b),x=j=>u(j,b),y=()=>d(!0),g=()=>d(!1);return document.addEventListener("keydown",x),m.addEventListener("focus",p),m.addEventListener("mousedown",y),document.addEventListener("mouseup",g),()=>{document.removeEventListener("keydown",x),m.removeEventListener("focus",p),m.removeEventListener("mousedown",y),document.removeEventListener("mouseup",g)}},[o,v,c,u])}function de({options:o=[],value:s,onChange:e,id:n,children:t,className:r="",childrenClassName:a="",hideInputs:d=!1}){const f=l.useId(),c=n||`radio-group-${f}`;ce(c,o.findIndex(u=>u===s));const h=l.useMemo(()=>o.reduce((u,v)=>(typeof v=="string"?u.some(m=>m.value===v)||u.push({label:v,value:v}):u.push(v),u),[]),[o]);return i.jsxs("div",{id:c,role:"radiogroup",tabIndex:0,className:w.join(r,"focus:outline-none"),children:[h.length>0&&h.map((u,v)=>i.jsx(z,{value:u.value,isSelected:s===u.value,onChange:e,name:c,disabled:u.disabled,description:u.description,hideInput:d,className:a,children:u.label},`${u.value}-${v}`)),h.length===0&&t&&l.Children.map(t,u=>l.isValidElement(u)&&u.type===z?i.jsx(z,{...u.props,className:w.join(a,u.props.className),hideInput:u.props.hideInput||d,isSelected:s===u.props.value,onChange:e,name:c,children:u.props.children}):null)]})}const fe={thin:{horizontal:"h-px",vertical:"w-px"},medium:{horizontal:"h-0.5",vertical:"w-0.5"},thick:{horizontal:"h-1",vertical:"w-1"},"extra-thick":{horizontal:"h-2",vertical:"w-2"}},me={default:"bg-border",muted:"bg-muted",accent:"bg-accent"},be={horizontal:"w-full",vertical:"min-h-4 h-full"};function he({orientation:o="horizontal",decorative:s=!1,thickness:e="thin",variant:n="default",className:t,...r}){const a=w.join("shrink-0",be[o],fe[e][o],me[n],t);return i.jsx("div",{...r,className:a,role:s?"presentation":"separator","aria-orientation":s?void 0:o,"aria-hidden":s,"data-orientation":o,"data-thickness":e,"data-variant":n})}function xe({children:o,ref:s,...e}){if(l.isValidElement(o)){let n={...e};return o.props&&(n={...n,...o.props}),l.cloneElement(o,{...n,ref:t=>{typeof s=="function"?s(t):s&&(s.current=t)}})}return l.createElement("div",{...e,ref:s},o)}function ge({elementId:o,maxLength:s}){const[e,n]=l.useState(0);return l.useEffect(()=>{const t=document.getElementById(o);if(!t)return;const r=()=>{const a=t.value.length;n(a);const d=a>=s;t.setAttribute("aria-describedby",`${o}-character-count`),t.setAttribute("aria-invalid",d?"true":"false"),d?t.setAttribute("data-error","true"):t.removeAttribute("data-error")};return r(),t.addEventListener("input",r),t.setAttribute("maxlength",String(s)),()=>{t.removeEventListener("input",r),t.removeAttribute("maxlength"),t.removeAttribute("aria-describedby"),t.removeAttribute("aria-invalid"),t.removeAttribute("data-error")}},[o,s]),i.jsx("small",{className:w.join("mt-0.5 text-sm inline-flex items-center gap-1 w-full justify-end",e>=s&&"text-destructive",e<s&&"text-current"),role:"status",children:i.jsxs("span",{id:`${o}-character-count`,children:[e," / ",s," characters"]})})}function pe(o,s){l.useEffect(()=>{const e=document.getElementById(o);if(!e)return;if(!s){e.style.height="auto";return}const n=()=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`};return n(),e.addEventListener("input",n),e.addEventListener("resize",n),window.addEventListener("resize",n),()=>{e.removeEventListener("input",n),e.removeEventListener("resize",n),window.removeEventListener("resize",n)}},[o,s])}const ve={base:"","left-line":"border-l border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success",outline:"border border-border focus:border-primary-foreground disabled:border-muted/30 not-disabled:data-error:border-destructive not-disabled:data-success:border-success"},we={none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"px-3 rounded-full"},K={variant:"outline",rounded:"none"};function ye({variant:o=K.variant,rounded:s,displayOnlyMode:e=!1,errorMessage:n,successMessage:t,hideResizeHandle:r=!1,autoExpand:a=!1,characterLimit:d=0,className:f,...c}){const h=l.useId();pe(h,a||e);let u=s;o==="outline"&&!s&&(u="md"),u=u||K.rounded;let v=r;(e||o==="left-line"&&!r)&&(v=!0);const b=w.join("appearance-none w-full focus:outline-none disabled:opacity-50 disabled:cursor-not-allowed placeholder:text-muted/70 hide-number-input-arrows transition-all",!e&&ve[o],!e&&we[u],!e&&"px-2 py-1",e&&"pointer-events-none",v&&"no-resize-handle",f);return i.jsxs("div",{className:w.join("-space-y-1.5",e&&"cursor-text"),children:[i.jsx("textarea",{...c,id:h,"aria-disabled":c.disabled,readOnly:e,"aria-readonly":e||c["aria-readonly"],style:{resize:a?"none":void 0},className:b}),d>0&&i.jsx(ge,{elementId:h,maxLength:d}),!e&&i.jsx(R,{elementId:h,type:"error",message:n}),!e&&i.jsx(R,{elementId:h,type:"success",message:t})]})}const je={sm:{container:"h-5 min-w-9 w-9",thumb:"h-4 w-4",translate:"translate-x-4"},md:{container:"h-6 min-w-11 w-11",thumb:"h-5 w-5",translate:"translate-x-5"},lg:{container:"h-7 min-w-13 w-13",thumb:"h-6 w-6",translate:"translate-x-6"}},Ee={default:{unchecked:"bg-muted",checked:"bg-primary"},success:{unchecked:"bg-muted",checked:"bg-success"},destructive:{unchecked:"bg-muted",checked:"bg-destructive"}},G={variant:"default",size:"md"};function Ce({ref:o,id:s,size:e=G.size,variant:n=G.variant,checked:t,onCheckedChange:r,disabled:a=!1,className:d,thumbClassName:f,backgroundClassNames:c,...h}){const u=l.useId(),v=l.useMemo(()=>s||`toggle-${u}`,[s,u]),[m,b]=l.useState(t);l.useEffect(()=>{b(t)},[t]);const p=()=>{if(!a){const E=!m;t===void 0&&b(E),r==null||r(E)}},x=E=>{(E.key===" "||E.key==="Enter")&&(E.preventDefault(),p())},y=je[e],g=Ee[n],j=w.join("relative inline-flex items-center rounded-full transition-all duration-200 ease-in-out","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",y.container,m?(c==null?void 0:c.checked)||g.checked:(c==null?void 0:c.unchecked)||g.unchecked,a&&"opacity-50 cursor-not-allowed",!a&&"cursor-pointer",d),I=w.join("absolute left-0.5 top-1/2 -translate-y-1/2 rounded-full bg-white shadow-sm transition-transform duration-200 ease-in-out",y.thumb,m&&y.translate,f);return i.jsxs("button",{ref:o,id:v,type:"button",role:"switch",tabIndex:0,"aria-checked":m,"aria-disabled":a,disabled:a,onClick:p,onKeyDown:x,className:j,...h,children:[i.jsx("span",{className:I}),i.jsx("span",{className:"sr-only",children:m?"Enabled":"Disabled"})]})}const S=8,$=4,C=6;function Ie(o){return{calculatePosition:l.useCallback((e,n)=>{const t=e.getBoundingClientRect(),r=n.getBoundingClientRect(),a={width:window.innerWidth,height:window.innerHeight},d=(v,m,b,p)=>v<0||m<0||v+b>a.width||m+p>a.height,f={top:{x:t.left+t.width/2-r.width/2,y:t.top-r.height-$,arrow:{x:r.width/2-C,y:r.height}},bottom:{x:t.left+t.width/2-r.width/2,y:t.bottom+$,arrow:{x:r.width/2-C,y:-6}},left:{x:t.left-r.width-$,y:t.top+t.height/2-r.height/2,arrow:{x:r.width,y:r.height/2-C}},right:{x:t.right+$,y:t.top+t.height/2-r.height/2,arrow:{x:-6,y:r.height/2-C}}};let c=o,h=f[o];if(d(h.x,h.y,r.width,r.height)){const v={top:"bottom",bottom:"top",left:"right",right:"left"},m=f[v[o]];if(!d(m.x,m.y,r.width,r.height))c=v[o],h=m;else{const b=["top","bottom","left","right"].filter(p=>p!==o&&p!==v[o]);for(const p of b){const x=f[p];if(!d(x.x,x.y,r.width,r.height)){c=p,h=x;break}}}}h.x=Math.max(S,Math.min(h.x,a.width-r.width-S)),h.y=Math.max(S,Math.min(h.y,a.height-r.height-S));const u={x:t.left+t.width/2,y:t.top+t.height/2};return c==="top"||c==="bottom"?h.arrow.x=Math.max(C,Math.min(u.x-h.x-C,r.width-C*2)):h.arrow.y=Math.max(C,Math.min(u.y-h.y-C,r.height-C*2)),{...h,placement:c}},[o])}}function Ne(o,s,e){const n=l.useRef(null),t=l.useRef(null),r=l.useCallback(()=>{if(!n.current||!t.current)return;const a=o(n.current,t.current);e(a)},[o,e]);return l.useEffect(()=>{if(!s)return;const a=()=>r();return window.addEventListener("resize",a),()=>{window.removeEventListener("resize",a)}},[s,r]),{triggerRef:n,tooltipRef:t,updatePosition:r}}function Ae(o,s,e,n,t,r,a,d,f){const c=l.useRef(null),h=l.useCallback(()=>{o||(c.current&&clearTimeout(c.current),c.current=window.setTimeout(()=>{e(!0),requestAnimationFrame(()=>{t(),n(!0)})},s))},[o,s,e,t,n]),u=l.useCallback((v=!1)=>{if(c.current&&clearTimeout(c.current),v){n(!1),setTimeout(()=>e(!1),150);return}c.current=window.setTimeout(()=>{n(!1),setTimeout(()=>e(!1),150)},100)},[n,e]);return l.useEffect(()=>{!r&&!a&&!d&&f&&u()},[r,a,d,f,u]),l.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]),{showTooltip:h,hideTooltip:u,timeoutRef:c}}function ke({id:o,children:s,message:e,placement:n="top",disabled:t=!1,delay:r=200,className:a}){const[d,f]=l.useState(!1),[c,h]=l.useState(!1),[u,v]=l.useState(null),[m,b]=l.useState(!1),[p,x]=l.useState(!1),[y,g]=l.useState(!1),{calculatePosition:j}=Ie(n),{triggerRef:I,tooltipRef:E,updatePosition:L}=Ne(j,c,v),{showTooltip:k,hideTooltip:T,timeoutRef:F}=Ae(t,r,h,f,L,m,p,y,d),X=l.useId(),V=o??X;return i.jsxs(i.Fragment,{children:[l.cloneElement(s,{ref:B=>{I.current=B},onMouseEnter:()=>{b(!0),k()},onMouseLeave:()=>{b(!1)},onFocus:()=>{g(!0),k()},onBlur:()=>{g(!1),T(!0)},onKeyDown:B=>{B.key==="Escape"&&T(!0)},"aria-describedby":t?void 0:V}),c&&W.createPortal(i.jsx("div",{ref:E,id:V,role:"tooltip",className:w.join("fixed z-50 px-2 py-1 text-sm rounded shadow-lg pointer-events-auto transition-all duration-150 ease-out",d?"opacity-100":"opacity-0",a),style:u?{left:u.x,top:u.y}:{opacity:0},onMouseEnter:()=>{x(!0),F.current&&clearTimeout(F.current)},onMouseLeave:()=>{x(!1)},children:e}),document.body)]})}exports.ActionModal=A.ActionModal;exports.Toast=A.Toast;exports.Accordion=Z;exports.AccordionItem=D;exports.Button=_;exports.ButtonLoadingDots=U;exports.Checkbox=ee;exports.Clickable=te;exports.Input=oe;exports.Label=se;exports.Modal=ue;exports.RadioGroup=de;exports.RadioGroupItem=z;exports.RadioInput=Q;exports.Separator=he;exports.Slot=xe;exports.Textarea=ye;exports.Toggle=Ce;exports.Tooltip=ke;
|
|
2
2
|
//# sourceMappingURL=components.cjs.js.map
|