@component-labs/ui 0.0.1

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.
Files changed (114) hide show
  1. package/dist/HMKTUWOU-DlOdK4rt.js +25 -0
  2. package/dist/HMKTUWOU-DlOdK4rt.js.map +1 -0
  3. package/dist/HOITXJDS-DBccNHOl.js +48 -0
  4. package/dist/HOITXJDS-DBccNHOl.js.map +1 -0
  5. package/dist/I7KWAPMF-CcAk8kiH.js +86 -0
  6. package/dist/I7KWAPMF-CcAk8kiH.js.map +1 -0
  7. package/dist/IQYAUKXT-CoP_Jrsi.js +546 -0
  8. package/dist/IQYAUKXT-CoP_Jrsi.js.map +1 -0
  9. package/dist/PZ3OL7I2-h7WHitqi.js +61 -0
  10. package/dist/PZ3OL7I2-h7WHitqi.js.map +1 -0
  11. package/dist/Provider.d.ts +8 -0
  12. package/dist/Provider.d.ts.map +1 -0
  13. package/dist/Q5W46E73-DjlVG3LH.js +353 -0
  14. package/dist/Q5W46E73-DjlVG3LH.js.map +1 -0
  15. package/dist/U6HHPQDW-BkT6kvCd.js +888 -0
  16. package/dist/U6HHPQDW-BkT6kvCd.js.map +1 -0
  17. package/dist/X6LNAU2F-DroCIVyL.js +1692 -0
  18. package/dist/X6LNAU2F-DroCIVyL.js.map +1 -0
  19. package/dist/Z32PU2LQ-CPSDShGU.js +1116 -0
  20. package/dist/Z32PU2LQ-CPSDShGU.js.map +1 -0
  21. package/dist/button.d.ts +4 -0
  22. package/dist/button.d.ts.map +1 -0
  23. package/dist/button.js +252 -0
  24. package/dist/button.js.map +1 -0
  25. package/dist/checkbox.d.ts +4 -0
  26. package/dist/checkbox.d.ts.map +1 -0
  27. package/dist/checkbox.js +210 -0
  28. package/dist/checkbox.js.map +1 -0
  29. package/dist/combobox.d.ts +4 -0
  30. package/dist/combobox.d.ts.map +1 -0
  31. package/dist/combobox.js +948 -0
  32. package/dist/combobox.js.map +1 -0
  33. package/dist/components/button/Button.d.ts +26 -0
  34. package/dist/components/button/Button.d.ts.map +1 -0
  35. package/dist/components/button/Button.docs.d.ts +4 -0
  36. package/dist/components/button/Button.docs.d.ts.map +1 -0
  37. package/dist/components/button/Button.showcase.d.ts +40 -0
  38. package/dist/components/button/Button.showcase.d.ts.map +1 -0
  39. package/dist/components/checkbox/Checkbox.d.ts +19 -0
  40. package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
  41. package/dist/components/checkbox/Checkbox.docs.d.ts +4 -0
  42. package/dist/components/checkbox/Checkbox.docs.d.ts.map +1 -0
  43. package/dist/components/checkbox/Checkbox.showcase.d.ts +35 -0
  44. package/dist/components/checkbox/Checkbox.showcase.d.ts.map +1 -0
  45. package/dist/components/combobox/Combobox.d.ts +36 -0
  46. package/dist/components/combobox/Combobox.d.ts.map +1 -0
  47. package/dist/components/combobox/Combobox.docs.d.ts +4 -0
  48. package/dist/components/combobox/Combobox.docs.d.ts.map +1 -0
  49. package/dist/components/combobox/Combobox.showcase.d.ts +43 -0
  50. package/dist/components/combobox/Combobox.showcase.d.ts.map +1 -0
  51. package/dist/components/data-table/DataTable.d.ts +86 -0
  52. package/dist/components/data-table/DataTable.d.ts.map +1 -0
  53. package/dist/components/data-table/DataTable.docs.d.ts +4 -0
  54. package/dist/components/data-table/DataTable.docs.d.ts.map +1 -0
  55. package/dist/components/data-table/DataTable.showcase.d.ts +36 -0
  56. package/dist/components/data-table/DataTable.showcase.d.ts.map +1 -0
  57. package/dist/components/date-picker/date-picker.d.ts +1 -0
  58. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  59. package/dist/components/dialog/Dialog.d.ts +56 -0
  60. package/dist/components/dialog/Dialog.d.ts.map +1 -0
  61. package/dist/components/dialog/Dialog.docs.d.ts +4 -0
  62. package/dist/components/dialog/Dialog.docs.d.ts.map +1 -0
  63. package/dist/components/input/Input.d.ts +22 -0
  64. package/dist/components/input/Input.d.ts.map +1 -0
  65. package/dist/components/input/Input.docs.d.ts +4 -0
  66. package/dist/components/input/Input.docs.d.ts.map +1 -0
  67. package/dist/components/menu/Menu.d.ts +41 -0
  68. package/dist/components/menu/Menu.d.ts.map +1 -0
  69. package/dist/components/menu/Menu.docs.d.ts +4 -0
  70. package/dist/components/menu/Menu.docs.d.ts.map +1 -0
  71. package/dist/components/menu/Menu.showcase.d.ts +43 -0
  72. package/dist/components/menu/Menu.showcase.d.ts.map +1 -0
  73. package/dist/components/slider/date-picker.d.ts +1 -0
  74. package/dist/components/slider/date-picker.d.ts.map +1 -0
  75. package/dist/components/sub-menu/date-picker.d.ts +1 -0
  76. package/dist/components/sub-menu/date-picker.d.ts.map +1 -0
  77. package/dist/components/switch/Switch.d.ts +17 -0
  78. package/dist/components/switch/Switch.d.ts.map +1 -0
  79. package/dist/components/switch/Switch.docs.d.ts +4 -0
  80. package/dist/components/switch/Switch.docs.d.ts.map +1 -0
  81. package/dist/components/toast/date-picker.d.ts +1 -0
  82. package/dist/components/toast/date-picker.d.ts.map +1 -0
  83. package/dist/data-table.d.ts +4 -0
  84. package/dist/data-table.d.ts.map +1 -0
  85. package/dist/data-table.js +298 -0
  86. package/dist/data-table.js.map +1 -0
  87. package/dist/dialog.d.ts +4 -0
  88. package/dist/dialog.d.ts.map +1 -0
  89. package/dist/dialog.js +323 -0
  90. package/dist/dialog.js.map +1 -0
  91. package/dist/index.d.ts +27 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/input.d.ts +4 -0
  94. package/dist/input.d.ts.map +1 -0
  95. package/dist/input.js +230 -0
  96. package/dist/input.js.map +1 -0
  97. package/dist/lib/IntersectionObserver.d.ts +30 -0
  98. package/dist/lib/IntersectionObserver.d.ts.map +1 -0
  99. package/dist/lib/utils.d.ts +7 -0
  100. package/dist/lib/utils.d.ts.map +1 -0
  101. package/dist/menu.d.ts +4 -0
  102. package/dist/menu.d.ts.map +1 -0
  103. package/dist/menu.js +1335 -0
  104. package/dist/menu.js.map +1 -0
  105. package/dist/switch.d.ts +4 -0
  106. package/dist/switch.d.ts.map +1 -0
  107. package/dist/switch.js +194 -0
  108. package/dist/switch.js.map +1 -0
  109. package/dist/types/docs.d.ts +24 -0
  110. package/dist/types/docs.d.ts.map +1 -0
  111. package/dist/utils-BZvHF7th.js +2806 -0
  112. package/dist/utils-BZvHF7th.js.map +1 -0
  113. package/package.json +98 -0
  114. package/src/styles.css +91 -0
@@ -0,0 +1,25 @@
1
+ import { u as f } from "./PZ3OL7I2-h7WHitqi.js";
2
+ import { f as m, c, J as i, a2 as u, m as B, a as v } from "./U6HHPQDW-BkT6kvCd.js";
3
+ import { useRef as l, useState as N, useEffect as g } from "react";
4
+ var n = "button", d = c(
5
+ function(t) {
6
+ const e = l(null), a = i(e, n), [o, s] = N(
7
+ () => !!a && u({ tagName: a, type: t.type })
8
+ );
9
+ return g(() => {
10
+ e.current && s(u(e.current));
11
+ }, []), t = {
12
+ role: !o && a !== "a" ? "button" : void 0,
13
+ ...t,
14
+ ref: B(e, t.ref)
15
+ }, t = f(t), t;
16
+ }
17
+ ), E = m(function(t) {
18
+ const e = d(t);
19
+ return v(n, e);
20
+ });
21
+ export {
22
+ E as B,
23
+ d as u
24
+ };
25
+ //# sourceMappingURL=HMKTUWOU-DlOdK4rt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HMKTUWOU-DlOdK4rt.js","sources":["../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/HMKTUWOU.js"],"sourcesContent":["\"use client\";\nimport {\n useCommand\n} from \"./PZ3OL7I2.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./GWSL6KNJ.js\";\nimport {\n useMergeRefs,\n useTagName\n} from \"./KPHZR4MB.js\";\n\n// src/button/button.tsx\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport { useEffect, useRef, useState } from \"react\";\nvar TagName = \"button\";\nvar useButton = createHook(\n function useButton2(props) {\n const ref = useRef(null);\n const tagName = useTagName(ref, TagName);\n const [isNativeButton, setIsNativeButton] = useState(\n () => !!tagName && isButton({ tagName, type: props.type })\n );\n useEffect(() => {\n if (!ref.current) return;\n setIsNativeButton(isButton(ref.current));\n }, []);\n props = {\n role: !isNativeButton && tagName !== \"a\" ? \"button\" : void 0,\n ...props,\n ref: useMergeRefs(ref, props.ref)\n };\n props = useCommand(props);\n return props;\n }\n);\nvar Button = forwardRef(function Button2(props) {\n const htmlProps = useButton(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useButton,\n Button\n};\n"],"names":["TagName","useButton","createHook","props","ref","useRef","tagName","useTagName","isNativeButton","setIsNativeButton","useState","isButton","useEffect","useMergeRefs","useCommand","Button","forwardRef","htmlProps","createElement"],"mappings":";;;AAiBA,IAAIA,IAAU,UACVC,IAAYC;AAAA,EACd,SAAoBC,GAAO;AACzB,UAAMC,IAAMC,EAAO,IAAI,GACjBC,IAAUC,EAAWH,GAAKJ,CAAO,GACjC,CAACQ,GAAgBC,CAAiB,IAAIC;AAAA,MAC1C,MAAM,CAAC,CAACJ,KAAWK,EAAS,EAAE,SAAAL,GAAS,MAAMH,EAAM,KAAI,CAAE;AAAA,IAC/D;AACI,WAAAS,EAAU,MAAM;AACd,MAAKR,EAAI,WACTK,EAAkBE,EAASP,EAAI,OAAO,CAAC;AAAA,IACzC,GAAG,CAAA,CAAE,GACLD,IAAQ;AAAA,MACN,MAAM,CAACK,KAAkBF,MAAY,MAAM,WAAW;AAAA,MACtD,GAAGH;AAAA,MACH,KAAKU,EAAaT,GAAKD,EAAM,GAAG;AAAA,IACtC,GACIA,IAAQW,EAAWX,CAAK,GACjBA;AAAA,EACT;AACF,GACIY,IAASC,EAAW,SAAiBb,GAAO;AAC9C,QAAMc,IAAYhB,EAAUE,CAAK;AACjC,SAAOe,EAAclB,GAASiB,CAAS;AACzC,CAAC;","x_google_ignoreList":[0]}
@@ -0,0 +1,48 @@
1
+ import { a as h } from "./I7KWAPMF-CcAk8kiH.js";
2
+ import { f as a, c as l, a as s, C as u } from "./U6HHPQDW-BkT6kvCd.js";
3
+ import { useContext as d } from "react";
4
+ import { jsx as o } from "react/jsx-runtime";
5
+ var m = "span", f = /* @__PURE__ */ o(
6
+ "svg",
7
+ {
8
+ display: "block",
9
+ fill: "none",
10
+ stroke: "currentColor",
11
+ strokeLinecap: "round",
12
+ strokeLinejoin: "round",
13
+ strokeWidth: 1.5,
14
+ viewBox: "0 0 16 16",
15
+ height: "1em",
16
+ width: "1em",
17
+ children: /* @__PURE__ */ o("polyline", { points: "4,8 7,12 12,4" })
18
+ }
19
+ );
20
+ function k(e) {
21
+ return e.checked ? e.children || f : typeof e.children == "function" ? e.children : null;
22
+ }
23
+ var C = l(
24
+ function({ store: r, checked: n, ...t }) {
25
+ const i = d(h);
26
+ n = n ?? i;
27
+ const c = k({ checked: n, children: t.children });
28
+ return t = {
29
+ "aria-hidden": !0,
30
+ ...t,
31
+ children: c,
32
+ style: {
33
+ width: "1em",
34
+ height: "1em",
35
+ pointerEvents: "none",
36
+ ...t.style
37
+ }
38
+ }, u(t);
39
+ }
40
+ ), y = a(function(r) {
41
+ const n = C(r);
42
+ return s(m, n);
43
+ });
44
+ export {
45
+ y as C,
46
+ C as u
47
+ };
48
+ //# sourceMappingURL=HOITXJDS-DBccNHOl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HOITXJDS-DBccNHOl.js","sources":["../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/HOITXJDS.js"],"sourcesContent":["\"use client\";\nimport {\n CheckboxCheckedContext\n} from \"./EYKMH5G5.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./GWSL6KNJ.js\";\n\n// src/checkbox/checkbox-check.tsx\nimport { removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { useContext } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"span\";\nvar checkmark = /* @__PURE__ */ jsx(\n \"svg\",\n {\n display: \"block\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 1.5,\n viewBox: \"0 0 16 16\",\n height: \"1em\",\n width: \"1em\",\n children: /* @__PURE__ */ jsx(\"polyline\", { points: \"4,8 7,12 12,4\" })\n }\n);\nfunction getChildren(props) {\n if (props.checked) {\n return props.children || checkmark;\n }\n if (typeof props.children === \"function\") {\n return props.children;\n }\n return null;\n}\nvar useCheckboxCheck = createHook(\n function useCheckboxCheck2({ store, checked, ...props }) {\n const context = useContext(CheckboxCheckedContext);\n checked = checked != null ? checked : context;\n const children = getChildren({ checked, children: props.children });\n props = {\n \"aria-hidden\": true,\n ...props,\n children,\n style: {\n width: \"1em\",\n height: \"1em\",\n pointerEvents: \"none\",\n ...props.style\n }\n };\n return removeUndefinedValues(props);\n }\n);\nvar CheckboxCheck = forwardRef(function CheckboxCheck2(props) {\n const htmlProps = useCheckboxCheck(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCheckboxCheck,\n CheckboxCheck\n};\n"],"names":["TagName","checkmark","jsx","getChildren","props","useCheckboxCheck","createHook","store","checked","context","useContext","CheckboxCheckedContext","children","removeUndefinedValues","CheckboxCheck","forwardRef","htmlProps","createElement"],"mappings":";;;;AAcA,IAAIA,IAAU,QACVC,IAA4B,gBAAAC;AAAA,EAC9B;AAAA,EACA;AAAA,IACE,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,UAA0B,gBAAAA,EAAI,YAAY,EAAE,QAAQ,gBAAe,CAAE;AAAA,EACzE;AACA;AACA,SAASC,EAAYC,GAAO;AAC1B,SAAIA,EAAM,UACDA,EAAM,YAAYH,IAEvB,OAAOG,EAAM,YAAa,aACrBA,EAAM,WAER;AACT;AACG,IAACC,IAAmBC;AAAA,EACrB,SAA2B,EAAE,OAAAC,GAAO,SAAAC,GAAS,GAAGJ,EAAK,GAAI;AACvD,UAAMK,IAAUC,EAAWC,CAAsB;AACjD,IAAAH,IAAUA,KAA4BC;AACtC,UAAMG,IAAWT,EAAY,EAAE,SAAAK,GAAS,UAAUJ,EAAM,UAAU;AAClE,WAAAA,IAAQ;AAAA,MACN,eAAe;AAAA,MACf,GAAGA;AAAA,MACH,UAAAQ;AAAA,MACA,OAAO;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,GAAGR,EAAM;AAAA,MACjB;AAAA,IACA,GACWS,EAAsBT,CAAK;AAAA,EACpC;AACF,GACIU,IAAgBC,EAAW,SAAwBX,GAAO;AAC5D,QAAMY,IAAYX,EAAiBD,CAAK;AACxC,SAAOa,EAAcjB,GAASgB,CAAS;AACzC,CAAC;","x_google_ignoreList":[0]}
@@ -0,0 +1,86 @@
1
+ import { u as j } from "./PZ3OL7I2-h7WHitqi.js";
2
+ import { createContext as D, useState as H, useRef as J, useEffect as O } from "react";
3
+ import { E as P, f as Q, c as W, a as _, J as $, Q as q, u as z, d as b, w as B, m as G, C as I } from "./U6HHPQDW-BkT6kvCd.js";
4
+ import { a as K } from "./Q5W46E73-DjlVG3LH.js";
5
+ import { jsx as L } from "react/jsx-runtime";
6
+ var V = D(!1), X = P(), Y = X.useContext, A = "input";
7
+ function g(n, r) {
8
+ r ? n.indeterminate = !0 : n.indeterminate && (n.indeterminate = !1);
9
+ }
10
+ function Z(n, r) {
11
+ return n === "input" && (!r || r === "checkbox");
12
+ }
13
+ function y(n) {
14
+ return Array.isArray(n) ? n.toString() : n;
15
+ }
16
+ var p = W(
17
+ function({
18
+ store: r,
19
+ name: a,
20
+ value: i,
21
+ checked: h,
22
+ defaultChecked: k,
23
+ ...t
24
+ }) {
25
+ const E = Y();
26
+ r = r || E;
27
+ const [T, S] = H(k ?? !1), u = K(r, (e) => {
28
+ if (h !== void 0) return h;
29
+ if ((e == null ? void 0 : e.value) === void 0) return T;
30
+ if (i != null) {
31
+ if (Array.isArray(e.value)) {
32
+ const f = y(i);
33
+ return e.value.includes(f);
34
+ }
35
+ return e.value === i;
36
+ }
37
+ return Array.isArray(e.value) ? !1 : typeof e.value == "boolean" ? e.value : !1;
38
+ }), l = J(null), N = $(l, A), c = Z(N, t.type), m = u ? u === "mixed" : void 0, s = u === "mixed" ? !1 : u, U = q(t), [R, w] = z();
39
+ O(() => {
40
+ const e = l.current;
41
+ e && (g(e, m), !c && (e.checked = s, a !== void 0 && (e.name = a), i !== void 0 && (e.value = `${i}`)));
42
+ }, [R, m, c, s, a, i]);
43
+ const C = t.onChange, x = b((e) => {
44
+ if (U) {
45
+ e.stopPropagation(), e.preventDefault();
46
+ return;
47
+ }
48
+ if (g(e.currentTarget, m), c || (e.currentTarget.checked = !e.currentTarget.checked, w()), C == null || C(e), e.defaultPrevented) return;
49
+ const f = e.currentTarget.checked;
50
+ S(f), r == null || r.setValue((o) => {
51
+ if (i == null) return f;
52
+ const d = y(i);
53
+ return Array.isArray(o) ? f ? o.includes(d) ? o : [...o, d] : o.filter((M) => M !== d) : o === d ? !1 : d;
54
+ });
55
+ }), v = t.onClick, F = b((e) => {
56
+ v == null || v(e), !e.defaultPrevented && (c || x(e));
57
+ });
58
+ return t = B(
59
+ t,
60
+ (e) => /* @__PURE__ */ L(V.Provider, { value: s, children: e }),
61
+ [s]
62
+ ), t = {
63
+ role: c ? void 0 : "checkbox",
64
+ type: c ? "checkbox" : void 0,
65
+ "aria-checked": u,
66
+ ...t,
67
+ ref: G(l, t.ref),
68
+ onChange: x,
69
+ onClick: F
70
+ }, t = j({ clickOnEnter: !c, ...t }), I({
71
+ name: c ? a : void 0,
72
+ value: c ? i : void 0,
73
+ checked: s,
74
+ ...t
75
+ });
76
+ }
77
+ ), ce = Q(function(r) {
78
+ const a = p(r);
79
+ return _(A, a);
80
+ });
81
+ export {
82
+ ce as C,
83
+ V as a,
84
+ p as u
85
+ };
86
+ //# sourceMappingURL=I7KWAPMF-CcAk8kiH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I7KWAPMF-CcAk8kiH.js","sources":["../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/EYKMH5G5.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/ZVXT4QFT.js","../../../node_modules/.pnpm/@ariakit+react-core@0.4.21_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@ariakit/react-core/esm/__chunks/I7KWAPMF.js"],"sourcesContent":["\"use client\";\n\n// src/checkbox/checkbox-checked-context.tsx\nimport { createContext } from \"react\";\nvar CheckboxCheckedContext = createContext(false);\n\nexport {\n CheckboxCheckedContext\n};\n","\"use client\";\nimport {\n createStoreContext\n} from \"./GWSL6KNJ.js\";\n\n// src/checkbox/checkbox-context.tsx\nvar ctx = createStoreContext();\nvar useCheckboxContext = ctx.useContext;\nvar useCheckboxScopedContext = ctx.useScopedContext;\nvar useCheckboxProviderContext = ctx.useProviderContext;\nvar CheckboxContextProvider = ctx.ContextProvider;\nvar CheckboxScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n useCheckboxContext,\n useCheckboxScopedContext,\n useCheckboxProviderContext,\n CheckboxContextProvider,\n CheckboxScopedContextProvider\n};\n","\"use client\";\nimport {\n useCommand\n} from \"./PZ3OL7I2.js\";\nimport {\n CheckboxCheckedContext\n} from \"./EYKMH5G5.js\";\nimport {\n useCheckboxContext\n} from \"./ZVXT4QFT.js\";\nimport {\n useStoreState\n} from \"./Q5W46E73.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./GWSL6KNJ.js\";\nimport {\n useEvent,\n useForceUpdate,\n useMergeRefs,\n useTagName,\n useWrapElement\n} from \"./KPHZR4MB.js\";\n\n// src/checkbox/checkbox.tsx\nimport {\n disabledFromProps,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"input\";\nfunction setMixed(element, mixed) {\n if (mixed) {\n element.indeterminate = true;\n } else if (element.indeterminate) {\n element.indeterminate = false;\n }\n}\nfunction isNativeCheckbox(tagName, type) {\n return tagName === \"input\" && (!type || type === \"checkbox\");\n}\nfunction getPrimitiveValue(value) {\n if (Array.isArray(value)) {\n return value.toString();\n }\n return value;\n}\nvar useCheckbox = createHook(\n function useCheckbox2({\n store,\n name,\n value: valueProp,\n checked: checkedProp,\n defaultChecked,\n ...props\n }) {\n const context = useCheckboxContext();\n store = store || context;\n const [_checked, setChecked] = useState(defaultChecked != null ? defaultChecked : false);\n const checked = useStoreState(store, (state) => {\n if (checkedProp !== void 0) return checkedProp;\n if ((state == null ? void 0 : state.value) === void 0) return _checked;\n if (valueProp != null) {\n if (Array.isArray(state.value)) {\n const primitiveValue = getPrimitiveValue(valueProp);\n return state.value.includes(primitiveValue);\n }\n return state.value === valueProp;\n }\n if (Array.isArray(state.value)) return false;\n if (typeof state.value === \"boolean\") return state.value;\n return false;\n });\n const ref = useRef(null);\n const tagName = useTagName(ref, TagName);\n const nativeCheckbox = isNativeCheckbox(tagName, props.type);\n const mixed = checked ? checked === \"mixed\" : void 0;\n const isChecked = checked === \"mixed\" ? false : checked;\n const disabled = disabledFromProps(props);\n const [propertyUpdated, schedulePropertyUpdate] = useForceUpdate();\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n setMixed(element, mixed);\n if (nativeCheckbox) return;\n element.checked = isChecked;\n if (name !== void 0) {\n element.name = name;\n }\n if (valueProp !== void 0) {\n element.value = `${valueProp}`;\n }\n }, [propertyUpdated, mixed, nativeCheckbox, isChecked, name, valueProp]);\n const onChangeProp = props.onChange;\n const onChange = useEvent((event) => {\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n setMixed(event.currentTarget, mixed);\n if (!nativeCheckbox) {\n event.currentTarget.checked = !event.currentTarget.checked;\n schedulePropertyUpdate();\n }\n onChangeProp == null ? void 0 : onChangeProp(event);\n if (event.defaultPrevented) return;\n const elementChecked = event.currentTarget.checked;\n setChecked(elementChecked);\n store == null ? void 0 : store.setValue((prevValue) => {\n if (valueProp == null) return elementChecked;\n const primitiveValue = getPrimitiveValue(valueProp);\n if (!Array.isArray(prevValue)) {\n return prevValue === primitiveValue ? false : primitiveValue;\n }\n if (elementChecked) {\n if (prevValue.includes(primitiveValue)) {\n return prevValue;\n }\n return [...prevValue, primitiveValue];\n }\n return prevValue.filter((v) => v !== primitiveValue);\n });\n });\n const onClickProp = props.onClick;\n const onClick = useEvent((event) => {\n onClickProp == null ? void 0 : onClickProp(event);\n if (event.defaultPrevented) return;\n if (nativeCheckbox) return;\n onChange(event);\n });\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(CheckboxCheckedContext.Provider, { value: isChecked, children: element }),\n [isChecked]\n );\n props = {\n role: !nativeCheckbox ? \"checkbox\" : void 0,\n type: nativeCheckbox ? \"checkbox\" : void 0,\n \"aria-checked\": checked,\n ...props,\n ref: useMergeRefs(ref, props.ref),\n onChange,\n onClick\n };\n props = useCommand({ clickOnEnter: !nativeCheckbox, ...props });\n return removeUndefinedValues({\n name: nativeCheckbox ? name : void 0,\n value: nativeCheckbox ? valueProp : void 0,\n checked: isChecked,\n ...props\n });\n }\n);\nvar Checkbox = forwardRef(function Checkbox2(props) {\n const htmlProps = useCheckbox(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCheckbox,\n Checkbox\n};\n"],"names":["CheckboxCheckedContext","createContext","ctx","createStoreContext","useCheckboxContext","TagName","setMixed","element","mixed","isNativeCheckbox","tagName","type","getPrimitiveValue","value","useCheckbox","createHook","store","name","valueProp","checkedProp","defaultChecked","props","context","_checked","setChecked","useState","checked","useStoreState","state","primitiveValue","ref","useRef","useTagName","nativeCheckbox","isChecked","disabled","disabledFromProps","propertyUpdated","schedulePropertyUpdate","useForceUpdate","useEffect","onChangeProp","onChange","useEvent","event","elementChecked","prevValue","v","onClickProp","onClick","useWrapElement","jsx","useMergeRefs","useCommand","removeUndefinedValues","Checkbox","forwardRef","htmlProps","createElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}