@zentauri-ui/zentauri-components 2.1.6 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +12 -8
  2. package/cli/cli.integration.test.ts +36 -0
  3. package/cli/index.mjs +43 -7
  4. package/cli/props.json +462 -3
  5. package/cli/registry.json +29 -0
  6. package/cli/rewrite-imports.mjs +29 -4
  7. package/cli/rewrite-imports.test.ts +35 -0
  8. package/dist/{chunk-WWKAJHIV.mjs → chunk-4PAHLHYF.mjs} +3 -3
  9. package/dist/{chunk-WWKAJHIV.mjs.map → chunk-4PAHLHYF.mjs.map} +1 -1
  10. package/dist/chunk-4SLVTSHM.js +241 -0
  11. package/dist/chunk-4SLVTSHM.js.map +1 -0
  12. package/dist/chunk-6OVDBAMI.js +19 -0
  13. package/dist/{chunk-3W2UUKWP.js.map → chunk-6OVDBAMI.js.map} +1 -1
  14. package/dist/chunk-74SKXGTM.js +4 -0
  15. package/dist/chunk-74SKXGTM.js.map +1 -0
  16. package/dist/{chunk-QE7OJW4J.js → chunk-BAAXQPZ7.js} +6 -6
  17. package/dist/{chunk-QE7OJW4J.js.map → chunk-BAAXQPZ7.js.map} +1 -1
  18. package/dist/chunk-CYKSS5S5.mjs +128 -0
  19. package/dist/chunk-CYKSS5S5.mjs.map +1 -0
  20. package/dist/chunk-D7ZTSAA6.mjs +221 -0
  21. package/dist/chunk-D7ZTSAA6.mjs.map +1 -0
  22. package/dist/{chunk-VA6SB6NN.js → chunk-DPNTQ4AK.js} +73 -6
  23. package/dist/chunk-DPNTQ4AK.js.map +1 -0
  24. package/dist/chunk-HMDH4BQJ.js +123 -0
  25. package/dist/chunk-HMDH4BQJ.js.map +1 -0
  26. package/dist/chunk-I7EBE7BD.js +98 -0
  27. package/dist/chunk-I7EBE7BD.js.map +1 -0
  28. package/dist/chunk-IHDM7AHY.mjs +233 -0
  29. package/dist/chunk-IHDM7AHY.mjs.map +1 -0
  30. package/dist/chunk-L5QORCUO.js +225 -0
  31. package/dist/chunk-L5QORCUO.js.map +1 -0
  32. package/dist/chunk-LHBJD57K.mjs +143 -0
  33. package/dist/chunk-LHBJD57K.mjs.map +1 -0
  34. package/dist/{chunk-CHI6MBTI.mjs → chunk-OWVQVAOY.mjs} +3 -3
  35. package/dist/{chunk-CHI6MBTI.mjs.map → chunk-OWVQVAOY.mjs.map} +1 -1
  36. package/dist/chunk-OYAJG2BO.js +83 -0
  37. package/dist/chunk-OYAJG2BO.js.map +1 -0
  38. package/dist/chunk-PTU5ZAYX.js +145 -0
  39. package/dist/chunk-PTU5ZAYX.js.map +1 -0
  40. package/dist/chunk-QKO5DA4N.mjs +81 -0
  41. package/dist/chunk-QKO5DA4N.mjs.map +1 -0
  42. package/dist/chunk-T7PIKDUZ.js +130 -0
  43. package/dist/chunk-T7PIKDUZ.js.map +1 -0
  44. package/dist/chunk-TDK5TVJE.mjs +3 -0
  45. package/dist/chunk-TDK5TVJE.mjs.map +1 -0
  46. package/dist/{chunk-A4IB3C23.mjs → chunk-UVP3MUBU.mjs} +58 -7
  47. package/dist/chunk-UVP3MUBU.mjs.map +1 -0
  48. package/dist/chunk-VBNW2B4D.mjs +3 -0
  49. package/dist/chunk-VBNW2B4D.mjs.map +1 -0
  50. package/dist/chunk-W6DO36XD.mjs +96 -0
  51. package/dist/chunk-W6DO36XD.mjs.map +1 -0
  52. package/dist/chunk-XR3J46TZ.js +4 -0
  53. package/dist/chunk-XR3J46TZ.js.map +1 -0
  54. package/dist/chunk-ZOHCADDL.mjs +121 -0
  55. package/dist/chunk-ZOHCADDL.mjs.map +1 -0
  56. package/dist/design-system/data-table.d.ts +8 -0
  57. package/dist/design-system/data-table.d.ts.map +1 -0
  58. package/dist/design-system/facade.js +6 -6
  59. package/dist/design-system/facade.mjs +5 -5
  60. package/dist/design-system/index.d.ts +2 -0
  61. package/dist/design-system/index.d.ts.map +1 -1
  62. package/dist/design-system/split-button.d.ts +25 -0
  63. package/dist/design-system/split-button.d.ts.map +1 -0
  64. package/dist/hooks/useTableFilter.js +6 -116
  65. package/dist/hooks/useTableFilter.js.map +1 -1
  66. package/dist/hooks/useTableFilter.mjs +1 -118
  67. package/dist/hooks/useTableFilter.mjs.map +1 -1
  68. package/dist/hooks/useTableSort.js +6 -91
  69. package/dist/hooks/useTableSort.js.map +1 -1
  70. package/dist/hooks/useTableSort.mjs +1 -93
  71. package/dist/hooks/useTableSort.mjs.map +1 -1
  72. package/dist/hooks/useVirtualList.js +6 -76
  73. package/dist/hooks/useVirtualList.js.map +1 -1
  74. package/dist/hooks/useVirtualList.mjs +1 -78
  75. package/dist/hooks/useVirtualList.mjs.map +1 -1
  76. package/dist/ui/buttons/animated.js +8 -8
  77. package/dist/ui/buttons/animated.mjs +6 -6
  78. package/dist/ui/buttons.js +10 -9
  79. package/dist/ui/buttons.mjs +8 -7
  80. package/dist/ui/checkbox.js +7 -123
  81. package/dist/ui/checkbox.js.map +1 -1
  82. package/dist/ui/checkbox.mjs +2 -126
  83. package/dist/ui/checkbox.mjs.map +1 -1
  84. package/dist/ui/data-table/data-table-base.d.ts +6 -0
  85. package/dist/ui/data-table/data-table-base.d.ts.map +1 -0
  86. package/dist/ui/data-table/data-table.d.ts +6 -0
  87. package/dist/ui/data-table/data-table.d.ts.map +1 -0
  88. package/dist/ui/data-table/index.d.ts +4 -0
  89. package/dist/ui/data-table/index.d.ts.map +1 -0
  90. package/dist/ui/data-table/types.d.ts +92 -0
  91. package/dist/ui/data-table/types.d.ts.map +1 -0
  92. package/dist/ui/data-table/variants.d.ts +8 -0
  93. package/dist/ui/data-table/variants.d.ts.map +1 -0
  94. package/dist/ui/data-table.js +620 -0
  95. package/dist/ui/data-table.js.map +1 -0
  96. package/dist/ui/data-table.mjs +611 -0
  97. package/dist/ui/data-table.mjs.map +1 -0
  98. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  99. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  100. package/dist/ui/dropdown/types.d.ts +2 -2
  101. package/dist/ui/dropdown/types.d.ts.map +1 -1
  102. package/dist/ui/dropdown.js +31 -231
  103. package/dist/ui/dropdown.js.map +1 -1
  104. package/dist/ui/dropdown.mjs +4 -229
  105. package/dist/ui/dropdown.mjs.map +1 -1
  106. package/dist/ui/dynamic-stepper.js +18 -18
  107. package/dist/ui/dynamic-stepper.mjs +7 -7
  108. package/dist/ui/inputs.js +7 -138
  109. package/dist/ui/inputs.js.map +1 -1
  110. package/dist/ui/inputs.mjs +2 -141
  111. package/dist/ui/inputs.mjs.map +1 -1
  112. package/dist/ui/pagination.js +20 -221
  113. package/dist/ui/pagination.js.map +1 -1
  114. package/dist/ui/pagination.mjs +8 -223
  115. package/dist/ui/pagination.mjs.map +1 -1
  116. package/dist/ui/split-button/index.d.ts +4 -0
  117. package/dist/ui/split-button/index.d.ts.map +1 -0
  118. package/dist/ui/split-button/split-button-base.d.ts +6 -0
  119. package/dist/ui/split-button/split-button-base.d.ts.map +1 -0
  120. package/dist/ui/split-button/split-button.d.ts +6 -0
  121. package/dist/ui/split-button/split-button.d.ts.map +1 -0
  122. package/dist/ui/split-button/types.d.ts +30 -0
  123. package/dist/ui/split-button/types.d.ts.map +1 -0
  124. package/dist/ui/split-button/variants.d.ts +16 -0
  125. package/dist/ui/split-button/variants.d.ts.map +1 -0
  126. package/dist/ui/split-button.js +287 -0
  127. package/dist/ui/split-button.js.map +1 -0
  128. package/dist/ui/split-button.mjs +278 -0
  129. package/dist/ui/split-button.mjs.map +1 -0
  130. package/dist/ui/table.js +1 -0
  131. package/dist/ui/table.mjs +1 -0
  132. package/package.json +1 -1
  133. package/src/design-system/data-table.ts +20 -0
  134. package/src/design-system/index.ts +2 -0
  135. package/src/design-system/split-button.ts +38 -0
  136. package/src/ui/data-table/data-table-base.tsx +701 -0
  137. package/src/ui/data-table/data-table.test.tsx +389 -0
  138. package/src/ui/data-table/data-table.tsx +11 -0
  139. package/src/ui/data-table/index.ts +24 -0
  140. package/src/ui/data-table/types.ts +121 -0
  141. package/src/ui/data-table/variants.ts +21 -0
  142. package/src/ui/dropdown/dropdown.tsx +7 -3
  143. package/src/ui/dropdown/types.ts +2 -2
  144. package/src/ui/split-button/index.ts +19 -0
  145. package/src/ui/split-button/split-button-base.tsx +232 -0
  146. package/src/ui/split-button/split-button.test.tsx +208 -0
  147. package/src/ui/split-button/split-button.tsx +9 -0
  148. package/src/ui/split-button/types.ts +46 -0
  149. package/src/ui/split-button/variants.ts +46 -0
  150. package/dist/chunk-3W2UUKWP.js +0 -19
  151. package/dist/chunk-A4IB3C23.mjs.map +0 -1
  152. package/dist/chunk-VA6SB6NN.js.map +0 -1
@@ -1,133 +1,18 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var chunkT7PIKDUZ_js = require('../chunk-T7PIKDUZ.js');
4
5
  var chunkKOIXQXZB_js = require('../chunk-KOIXQXZB.js');
5
6
  require('../chunk-J2SUGU3X.js');
6
- var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
7
+ require('../chunk-ZS5756ZC.js');
7
8
  require('../chunk-PZ5AY32C.js');
8
- var react = require('react');
9
- var jsxRuntime = require('react/jsx-runtime');
10
9
 
11
- function resolveCheckboxState(checked, indeterminate) {
12
- if (indeterminate) {
13
- return "indeterminate";
14
- }
15
- return checked ? "checked" : "unchecked";
16
- }
17
- function CheckboxBase(props) {
18
- const {
19
- className,
20
- rootClassName,
21
- controlClassName,
22
- indicatorClassName,
23
- appearance,
24
- size,
25
- checked,
26
- defaultChecked = false,
27
- indeterminate,
28
- onCheckedChange,
29
- disabled,
30
- children,
31
- label,
32
- id,
33
- ref,
34
- "aria-label": ariaLabel,
35
- ...rest
36
- } = props;
37
- const generatedId = react.useId();
38
- const controlId = id ?? generatedId;
39
- const isControlled = checked !== void 0;
40
- const [uncontrolled, setUncontrolled] = react.useState(defaultChecked);
41
- const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;
42
- const state = resolveCheckboxState(resolvedChecked, indeterminate);
43
- const labelContent = label ?? children;
44
- const hasVisibleLabel = labelContent !== void 0 && labelContent !== null && labelContent !== false;
45
- const setChecked = react.useCallback(
46
- (next) => {
47
- if (!isControlled) {
48
- setUncontrolled(next);
49
- }
50
- onCheckedChange?.(next);
51
- },
52
- [isControlled, onCheckedChange]
53
- );
54
- return /* @__PURE__ */ jsxRuntime.jsxs(
55
- "label",
56
- {
57
- className: chunkZS5756ZC_js.cn(chunkKOIXQXZB_js.checkboxRootVariants({ size }), rootClassName, className),
58
- "data-disabled": disabled ? "true" : void 0,
59
- "data-state": state,
60
- htmlFor: controlId,
61
- children: [
62
- /* @__PURE__ */ jsxRuntime.jsx(
63
- "input",
64
- {
65
- ref,
66
- id: controlId,
67
- type: "checkbox",
68
- "data-slot": "checkbox",
69
- className: "peer sr-only",
70
- checked: resolvedChecked,
71
- disabled,
72
- "aria-checked": indeterminate ? "mixed" : resolvedChecked,
73
- "aria-label": ariaLabel ?? (hasVisibleLabel ? void 0 : "Checkbox"),
74
- onChange: (event) => setChecked(event.currentTarget.checked),
75
- ...rest
76
- }
77
- ),
78
- /* @__PURE__ */ jsxRuntime.jsx(
79
- "span",
80
- {
81
- "aria-hidden": "true",
82
- className: chunkZS5756ZC_js.cn(
83
- chunkKOIXQXZB_js.checkboxControlVariants({ appearance, size }),
84
- controlClassName
85
- ),
86
- "data-slot": "checkbox-control",
87
- children: state === "indeterminate" ? /* @__PURE__ */ jsxRuntime.jsx(
88
- "svg",
89
- {
90
- viewBox: "0 0 16 16",
91
- fill: "none",
92
- className: chunkZS5756ZC_js.cn(
93
- chunkKOIXQXZB_js.checkboxIndicatorVariants({ size }),
94
- indicatorClassName
95
- ),
96
- children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3.5 8H12.5", strokeWidth: "2.4", strokeLinecap: "round" })
97
- }
98
- ) : /* @__PURE__ */ jsxRuntime.jsx(
99
- "svg",
100
- {
101
- viewBox: "0 0 16 16",
102
- fill: "none",
103
- className: chunkZS5756ZC_js.cn(
104
- chunkKOIXQXZB_js.checkboxIndicatorVariants({ size }),
105
- indicatorClassName
106
- ),
107
- children: /* @__PURE__ */ jsxRuntime.jsx(
108
- "path",
109
- {
110
- d: "M3.2 8.4L6.5 11.5L12.8 4.5",
111
- strokeWidth: "2.2",
112
- strokeLinecap: "round",
113
- strokeLinejoin: "round"
114
- }
115
- )
116
- }
117
- )
118
- }
119
- ),
120
- hasVisibleLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 leading-6", "data-slot": "checkbox-label", children: labelContent })
121
- ]
122
- }
123
- );
124
- }
125
- CheckboxBase.displayName = "Checkbox";
126
- function Checkbox(props) {
127
- return /* @__PURE__ */ jsxRuntime.jsx(CheckboxBase, { ...props });
128
- }
129
- Checkbox.displayName = "Checkbox";
130
10
 
11
+
12
+ Object.defineProperty(exports, "Checkbox", {
13
+ enumerable: true,
14
+ get: function () { return chunkT7PIKDUZ_js.Checkbox; }
15
+ });
131
16
  Object.defineProperty(exports, "checkboxControlVariants", {
132
17
  enumerable: true,
133
18
  get: function () { return chunkKOIXQXZB_js.checkboxControlVariants; }
@@ -140,6 +25,5 @@ Object.defineProperty(exports, "checkboxRootVariants", {
140
25
  enumerable: true,
141
26
  get: function () { return chunkKOIXQXZB_js.checkboxRootVariants; }
142
27
  });
143
- exports.Checkbox = Checkbox;
144
28
  //# sourceMappingURL=checkbox.js.map
145
29
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/checkbox/checkbox-base.tsx","../../src/ui/checkbox/checkbox.tsx"],"names":["useId","useState","useCallback","jsxs","cn","checkboxRootVariants","jsx","checkboxControlVariants","checkboxIndicatorVariants"],"mappings":"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","file":"checkbox.js","sourcesContent":["\"use client\";\n\nimport { useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { CheckboxProps, CheckboxState } from \"./types\";\nimport {\n checkboxControlVariants,\n checkboxIndicatorVariants,\n checkboxRootVariants,\n} from \"./variants\";\n\nfunction resolveCheckboxState(\n checked: boolean,\n indeterminate: boolean | undefined,\n): CheckboxState {\n if (indeterminate) {\n return \"indeterminate\";\n }\n return checked ? \"checked\" : \"unchecked\";\n}\n\nexport function CheckboxBase(props: CheckboxProps) {\n const {\n className,\n rootClassName,\n controlClassName,\n indicatorClassName,\n appearance,\n size,\n checked,\n defaultChecked = false,\n indeterminate,\n onCheckedChange,\n disabled,\n children,\n label,\n id,\n ref,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;\n const state = resolveCheckboxState(resolvedChecked, indeterminate);\n const labelContent = label ?? children;\n const hasVisibleLabel =\n labelContent !== undefined &&\n labelContent !== null &&\n labelContent !== false;\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n return (\n <label\n className={cn(checkboxRootVariants({ size }), rootClassName, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={state}\n htmlFor={controlId}\n >\n <input\n ref={ref}\n id={controlId}\n type=\"checkbox\"\n data-slot=\"checkbox\"\n className=\"peer sr-only\"\n checked={resolvedChecked}\n disabled={disabled}\n aria-checked={indeterminate ? \"mixed\" : resolvedChecked}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Checkbox\")}\n onChange={(event) => setChecked(event.currentTarget.checked)}\n {...rest}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n checkboxControlVariants({ appearance, size }),\n controlClassName,\n )}\n data-slot=\"checkbox-control\"\n >\n {state === \"indeterminate\" ? (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path d=\"M3.5 8H12.5\" strokeWidth=\"2.4\" strokeLinecap=\"round\" />\n </svg>\n ) : (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path\n d=\"M3.2 8.4L6.5 11.5L12.8 4.5\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </span>\n {hasVisibleLabel && (\n <span className=\"min-w-0 leading-6\" data-slot=\"checkbox-label\">\n {labelContent}\n </span>\n )}\n </label>\n );\n}\n\nCheckboxBase.displayName = \"Checkbox\";\n","import { CheckboxBase } from \"./checkbox-base\";\nimport type { CheckboxProps } from \"./types\";\n\nexport function Checkbox(props: CheckboxProps) {\n return <CheckboxBase {...props} />;\n}\n\nCheckbox.displayName = \"Checkbox\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"checkbox.js"}
@@ -1,132 +1,8 @@
1
1
  "use client";
2
- import { checkboxIndicatorVariants, checkboxControlVariants, checkboxRootVariants } from '../chunk-ILCT3P7D.mjs';
2
+ export { Checkbox } from '../chunk-CYKSS5S5.mjs';
3
3
  export { checkboxControlVariants, checkboxIndicatorVariants, checkboxRootVariants } from '../chunk-ILCT3P7D.mjs';
4
4
  import '../chunk-2VPXQ2LA.mjs';
5
- import { cn } from '../chunk-4D54YOL6.mjs';
5
+ import '../chunk-4D54YOL6.mjs';
6
6
  import '../chunk-J5LGTIGS.mjs';
7
- import { useId, useState, useCallback } from 'react';
8
- import { jsx, jsxs } from 'react/jsx-runtime';
9
-
10
- function resolveCheckboxState(checked, indeterminate) {
11
- if (indeterminate) {
12
- return "indeterminate";
13
- }
14
- return checked ? "checked" : "unchecked";
15
- }
16
- function CheckboxBase(props) {
17
- const {
18
- className,
19
- rootClassName,
20
- controlClassName,
21
- indicatorClassName,
22
- appearance,
23
- size,
24
- checked,
25
- defaultChecked = false,
26
- indeterminate,
27
- onCheckedChange,
28
- disabled,
29
- children,
30
- label,
31
- id,
32
- ref,
33
- "aria-label": ariaLabel,
34
- ...rest
35
- } = props;
36
- const generatedId = useId();
37
- const controlId = id ?? generatedId;
38
- const isControlled = checked !== void 0;
39
- const [uncontrolled, setUncontrolled] = useState(defaultChecked);
40
- const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;
41
- const state = resolveCheckboxState(resolvedChecked, indeterminate);
42
- const labelContent = label ?? children;
43
- const hasVisibleLabel = labelContent !== void 0 && labelContent !== null && labelContent !== false;
44
- const setChecked = useCallback(
45
- (next) => {
46
- if (!isControlled) {
47
- setUncontrolled(next);
48
- }
49
- onCheckedChange?.(next);
50
- },
51
- [isControlled, onCheckedChange]
52
- );
53
- return /* @__PURE__ */ jsxs(
54
- "label",
55
- {
56
- className: cn(checkboxRootVariants({ size }), rootClassName, className),
57
- "data-disabled": disabled ? "true" : void 0,
58
- "data-state": state,
59
- htmlFor: controlId,
60
- children: [
61
- /* @__PURE__ */ jsx(
62
- "input",
63
- {
64
- ref,
65
- id: controlId,
66
- type: "checkbox",
67
- "data-slot": "checkbox",
68
- className: "peer sr-only",
69
- checked: resolvedChecked,
70
- disabled,
71
- "aria-checked": indeterminate ? "mixed" : resolvedChecked,
72
- "aria-label": ariaLabel ?? (hasVisibleLabel ? void 0 : "Checkbox"),
73
- onChange: (event) => setChecked(event.currentTarget.checked),
74
- ...rest
75
- }
76
- ),
77
- /* @__PURE__ */ jsx(
78
- "span",
79
- {
80
- "aria-hidden": "true",
81
- className: cn(
82
- checkboxControlVariants({ appearance, size }),
83
- controlClassName
84
- ),
85
- "data-slot": "checkbox-control",
86
- children: state === "indeterminate" ? /* @__PURE__ */ jsx(
87
- "svg",
88
- {
89
- viewBox: "0 0 16 16",
90
- fill: "none",
91
- className: cn(
92
- checkboxIndicatorVariants({ size }),
93
- indicatorClassName
94
- ),
95
- children: /* @__PURE__ */ jsx("path", { d: "M3.5 8H12.5", strokeWidth: "2.4", strokeLinecap: "round" })
96
- }
97
- ) : /* @__PURE__ */ jsx(
98
- "svg",
99
- {
100
- viewBox: "0 0 16 16",
101
- fill: "none",
102
- className: cn(
103
- checkboxIndicatorVariants({ size }),
104
- indicatorClassName
105
- ),
106
- children: /* @__PURE__ */ jsx(
107
- "path",
108
- {
109
- d: "M3.2 8.4L6.5 11.5L12.8 4.5",
110
- strokeWidth: "2.2",
111
- strokeLinecap: "round",
112
- strokeLinejoin: "round"
113
- }
114
- )
115
- }
116
- )
117
- }
118
- ),
119
- hasVisibleLabel && /* @__PURE__ */ jsx("span", { className: "min-w-0 leading-6", "data-slot": "checkbox-label", children: labelContent })
120
- ]
121
- }
122
- );
123
- }
124
- CheckboxBase.displayName = "Checkbox";
125
- function Checkbox(props) {
126
- return /* @__PURE__ */ jsx(CheckboxBase, { ...props });
127
- }
128
- Checkbox.displayName = "Checkbox";
129
-
130
- export { Checkbox };
131
7
  //# sourceMappingURL=checkbox.mjs.map
132
8
  //# sourceMappingURL=checkbox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/checkbox/checkbox-base.tsx","../../src/ui/checkbox/checkbox.tsx"],"names":["jsx"],"mappings":"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","file":"checkbox.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback, useId, useState } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { CheckboxProps, CheckboxState } from \"./types\";\nimport {\n checkboxControlVariants,\n checkboxIndicatorVariants,\n checkboxRootVariants,\n} from \"./variants\";\n\nfunction resolveCheckboxState(\n checked: boolean,\n indeterminate: boolean | undefined,\n): CheckboxState {\n if (indeterminate) {\n return \"indeterminate\";\n }\n return checked ? \"checked\" : \"unchecked\";\n}\n\nexport function CheckboxBase(props: CheckboxProps) {\n const {\n className,\n rootClassName,\n controlClassName,\n indicatorClassName,\n appearance,\n size,\n checked,\n defaultChecked = false,\n indeterminate,\n onCheckedChange,\n disabled,\n children,\n label,\n id,\n ref,\n \"aria-label\": ariaLabel,\n ...rest\n } = props;\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const isControlled = checked !== undefined;\n const [uncontrolled, setUncontrolled] = useState(defaultChecked);\n const resolvedChecked = isControlled ? Boolean(checked) : uncontrolled;\n const state = resolveCheckboxState(resolvedChecked, indeterminate);\n const labelContent = label ?? children;\n const hasVisibleLabel =\n labelContent !== undefined &&\n labelContent !== null &&\n labelContent !== false;\n\n const setChecked = useCallback(\n (next: boolean) => {\n if (!isControlled) {\n setUncontrolled(next);\n }\n onCheckedChange?.(next);\n },\n [isControlled, onCheckedChange],\n );\n\n return (\n <label\n className={cn(checkboxRootVariants({ size }), rootClassName, className)}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={state}\n htmlFor={controlId}\n >\n <input\n ref={ref}\n id={controlId}\n type=\"checkbox\"\n data-slot=\"checkbox\"\n className=\"peer sr-only\"\n checked={resolvedChecked}\n disabled={disabled}\n aria-checked={indeterminate ? \"mixed\" : resolvedChecked}\n aria-label={ariaLabel ?? (hasVisibleLabel ? undefined : \"Checkbox\")}\n onChange={(event) => setChecked(event.currentTarget.checked)}\n {...rest}\n />\n <span\n aria-hidden=\"true\"\n className={cn(\n checkboxControlVariants({ appearance, size }),\n controlClassName,\n )}\n data-slot=\"checkbox-control\"\n >\n {state === \"indeterminate\" ? (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path d=\"M3.5 8H12.5\" strokeWidth=\"2.4\" strokeLinecap=\"round\" />\n </svg>\n ) : (\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={cn(\n checkboxIndicatorVariants({ size }),\n indicatorClassName,\n )}\n >\n <path\n d=\"M3.2 8.4L6.5 11.5L12.8 4.5\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )}\n </span>\n {hasVisibleLabel && (\n <span className=\"min-w-0 leading-6\" data-slot=\"checkbox-label\">\n {labelContent}\n </span>\n )}\n </label>\n );\n}\n\nCheckboxBase.displayName = \"Checkbox\";\n","import { CheckboxBase } from \"./checkbox-base\";\nimport type { CheckboxProps } from \"./types\";\n\nexport function Checkbox(props: CheckboxProps) {\n return <CheckboxBase {...props} />;\n}\n\nCheckbox.displayName = \"Checkbox\";\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"checkbox.mjs"}
@@ -0,0 +1,6 @@
1
+ import type { DataTableProps } from "./types";
2
+ export declare function DataTableBase<TData, TKey extends string = string>(props: DataTableProps<TData, TKey>): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace DataTableBase {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=data-table-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-base.d.ts","sourceRoot":"","sources":["../../../src/ui/data-table/data-table-base.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,SAAS,CAAC;AAuIjB,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAC/D,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,2CAqhBnC;yBAthBe,aAAa"}
@@ -0,0 +1,6 @@
1
+ import type { DataTableProps } from "./types";
2
+ export declare function DataTable<TData, TKey extends string = string>(props: DataTableProps<TData, TKey>): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace DataTable {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=data-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../src/ui/data-table/data-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAC3D,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,2CAGnC;yBAJe,SAAS"}
@@ -0,0 +1,4 @@
1
+ export { DataTable } from "./data-table";
2
+ export type { DataTableBulkAction, DataTableCellContext, DataTableColumn, DataTableColumnTextAlign, DataTableColumnValue, DataTableHeaderContext, DataTablePaginationOptions, DataTableProps, DataTableSearchOptions, DataTableVirtualizationOptions, } from "./types";
3
+ export { dataTableColumnPanelVariants, dataTableRootVariants, dataTableStateCellVariants, dataTableStatusVariants, dataTableToolbarGroupVariants, dataTableToolbarVariants, dataTableVirtualScrollVariants, } from "./variants";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/data-table/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACd,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,YAAY,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { ComponentPropsWithRef, ReactNode, Ref, TdHTMLAttributes, ThHTMLAttributes } from "react";
2
+ import type { TableProps, TableSortDirection } from "../table";
3
+ export type DataTableColumnValue = string | number | boolean | Date | null | undefined;
4
+ export type DataTableColumnTextAlign = NonNullable<TableProps["textAlign"]>;
5
+ export type DataTableCellContext<TData> = {
6
+ row: TData;
7
+ value: unknown;
8
+ column: DataTableColumn<TData>;
9
+ rowIndex: number;
10
+ };
11
+ export type DataTableHeaderContext<TData> = {
12
+ column: DataTableColumn<TData>;
13
+ };
14
+ export type DataTableColumn<TData, TKey extends string = string> = {
15
+ id: TKey;
16
+ header: ReactNode | ((context: DataTableHeaderContext<TData>) => ReactNode);
17
+ accessor?: keyof TData | ((row: TData) => unknown);
18
+ cell?: (context: DataTableCellContext<TData>) => ReactNode;
19
+ sortable?: boolean;
20
+ sortValue?: (row: TData) => DataTableColumnValue;
21
+ filterable?: boolean;
22
+ filterValue?: (row: TData) => DataTableColumnValue;
23
+ visible?: boolean;
24
+ enableHiding?: boolean;
25
+ textAlign?: DataTableColumnTextAlign;
26
+ className?: string;
27
+ headerClassName?: string;
28
+ cellClassName?: string;
29
+ headerProps?: ThHTMLAttributes<HTMLTableCellElement>;
30
+ cellProps?: TdHTMLAttributes<HTMLTableCellElement>;
31
+ };
32
+ export type DataTableSearchOptions<TKey extends string = string> = {
33
+ value?: string;
34
+ defaultValue?: string;
35
+ onValueChange?: (value: string) => void;
36
+ placeholder?: string;
37
+ label?: string;
38
+ filterColumnIds?: readonly TKey[];
39
+ };
40
+ export type DataTablePaginationOptions = {
41
+ pageSize?: number;
42
+ page?: number;
43
+ defaultPage?: number;
44
+ onPageChange?: (page: number) => void;
45
+ siblingCount?: number;
46
+ boundaryCount?: number;
47
+ };
48
+ export type DataTableBulkAction<TData> = {
49
+ label: ReactNode;
50
+ onSelect: (selectedRows: TData[]) => void;
51
+ disabled?: boolean;
52
+ };
53
+ export type DataTableVirtualizationOptions = {
54
+ enabled?: boolean;
55
+ rowHeight: number;
56
+ height: number;
57
+ overscan?: number;
58
+ };
59
+ export type DataTableProps<TData, TKey extends string = string> = Omit<ComponentPropsWithRef<"section">, "children" | "onChange"> & Pick<TableProps, "appearance" | "size" | "stickyHeader" | "textAlign"> & {
60
+ data: readonly TData[];
61
+ columns: readonly DataTableColumn<TData, TKey>[];
62
+ getRowId?: (row: TData, index: number) => string;
63
+ caption?: ReactNode;
64
+ tableClassName?: string;
65
+ tableScrollAreaAriaLabel?: string;
66
+ search?: boolean | DataTableSearchOptions<TKey>;
67
+ sortKey?: TKey;
68
+ defaultSortKey?: TKey;
69
+ sortDirection?: TableSortDirection;
70
+ defaultSortDirection?: TableSortDirection;
71
+ onSortChange?: (sort: {
72
+ sortKey?: TKey;
73
+ sortDirection: TableSortDirection;
74
+ }) => void;
75
+ enableRowSelection?: boolean;
76
+ selectedRowIds?: readonly string[];
77
+ defaultSelectedRowIds?: readonly string[];
78
+ onRowSelectionChange?: (selectedRowIds: string[], selectedRows: TData[]) => void;
79
+ enableColumnVisibility?: boolean;
80
+ visibleColumnIds?: readonly TKey[];
81
+ defaultVisibleColumnIds?: readonly TKey[];
82
+ onColumnVisibilityChange?: (visibleColumnIds: TKey[]) => void;
83
+ bulkActions?: readonly DataTableBulkAction<TData>[];
84
+ pagination?: boolean | DataTablePaginationOptions;
85
+ virtualization?: DataTableVirtualizationOptions;
86
+ showRowCount?: boolean;
87
+ loading?: boolean;
88
+ loadingContent?: ReactNode;
89
+ emptyContent?: ReactNode;
90
+ ref?: Ref<HTMLElement>;
91
+ };
92
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/data-table/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const dataTableRootVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
2
+ export declare const dataTableToolbarVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
3
+ export declare const dataTableToolbarGroupVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
+ export declare const dataTableColumnPanelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
5
+ export declare const dataTableStatusVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
+ export declare const dataTableStateCellVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
+ export declare const dataTableVirtualScrollVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ //# sourceMappingURL=variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/data-table/variants.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,qBAAqB,oFAA4B,CAAC;AAC/D,eAAO,MAAM,wBAAwB,oFAA+B,CAAC;AACrE,eAAO,MAAM,6BAA6B,oFAAoC,CAAC;AAC/E,eAAO,MAAM,4BAA4B,oFAAmC,CAAC;AAC7E,eAAO,MAAM,uBAAuB,oFAA8B,CAAC;AACnE,eAAO,MAAM,0BAA0B,oFAAiC,CAAC;AACzE,eAAO,MAAM,8BAA8B,oFAE1C,CAAC"}