@zentauri-ui/zentauri-components 2.1.6 → 2.1.7

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 (115) hide show
  1. package/README.md +10 -8
  2. package/cli/cli.integration.test.ts +36 -0
  3. package/cli/index.mjs +43 -7
  4. package/cli/props.json +273 -0
  5. package/cli/registry.json +20 -0
  6. package/cli/rewrite-imports.mjs +29 -4
  7. package/cli/rewrite-imports.test.ts +35 -0
  8. package/dist/{chunk-QE7OJW4J.js → chunk-5ELR6MIN.js} +6 -6
  9. package/dist/{chunk-QE7OJW4J.js.map → chunk-5ELR6MIN.js.map} +1 -1
  10. package/dist/chunk-5FU57ZVQ.js +19 -0
  11. package/dist/{chunk-3W2UUKWP.js.map → chunk-5FU57ZVQ.js.map} +1 -1
  12. package/dist/chunk-74SKXGTM.js +4 -0
  13. package/dist/chunk-74SKXGTM.js.map +1 -0
  14. package/dist/{chunk-CHI6MBTI.mjs → chunk-7UXPXCKV.mjs} +3 -3
  15. package/dist/{chunk-CHI6MBTI.mjs.map → chunk-7UXPXCKV.mjs.map} +1 -1
  16. package/dist/chunk-CYKSS5S5.mjs +128 -0
  17. package/dist/chunk-CYKSS5S5.mjs.map +1 -0
  18. package/dist/chunk-DBNGLT5U.mjs +221 -0
  19. package/dist/chunk-DBNGLT5U.mjs.map +1 -0
  20. package/dist/{chunk-A4IB3C23.mjs → chunk-FUCW5GPE.mjs} +22 -6
  21. package/dist/chunk-FUCW5GPE.mjs.map +1 -0
  22. package/dist/chunk-G7FVHZRB.js +225 -0
  23. package/dist/chunk-G7FVHZRB.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-WWKAJHIV.mjs → chunk-KVSRUAXP.mjs} +3 -3
  29. package/dist/{chunk-WWKAJHIV.mjs.map → chunk-KVSRUAXP.mjs.map} +1 -1
  30. package/dist/chunk-LHBJD57K.mjs +143 -0
  31. package/dist/chunk-LHBJD57K.mjs.map +1 -0
  32. package/dist/chunk-OYAJG2BO.js +83 -0
  33. package/dist/chunk-OYAJG2BO.js.map +1 -0
  34. package/dist/chunk-PTU5ZAYX.js +145 -0
  35. package/dist/chunk-PTU5ZAYX.js.map +1 -0
  36. package/dist/chunk-QKO5DA4N.mjs +81 -0
  37. package/dist/chunk-QKO5DA4N.mjs.map +1 -0
  38. package/dist/chunk-T7PIKDUZ.js +130 -0
  39. package/dist/chunk-T7PIKDUZ.js.map +1 -0
  40. package/dist/chunk-TDK5TVJE.mjs +3 -0
  41. package/dist/chunk-TDK5TVJE.mjs.map +1 -0
  42. package/dist/{chunk-VA6SB6NN.js → chunk-TJ2EWPER.js} +28 -5
  43. package/dist/chunk-TJ2EWPER.js.map +1 -0
  44. package/dist/chunk-VBNW2B4D.mjs +3 -0
  45. package/dist/chunk-VBNW2B4D.mjs.map +1 -0
  46. package/dist/chunk-W6DO36XD.mjs +96 -0
  47. package/dist/chunk-W6DO36XD.mjs.map +1 -0
  48. package/dist/chunk-XR3J46TZ.js +4 -0
  49. package/dist/chunk-XR3J46TZ.js.map +1 -0
  50. package/dist/chunk-ZOHCADDL.mjs +121 -0
  51. package/dist/chunk-ZOHCADDL.mjs.map +1 -0
  52. package/dist/design-system/data-table.d.ts +8 -0
  53. package/dist/design-system/data-table.d.ts.map +1 -0
  54. package/dist/design-system/facade.js +5 -5
  55. package/dist/design-system/facade.mjs +4 -4
  56. package/dist/design-system/index.d.ts +1 -0
  57. package/dist/design-system/index.d.ts.map +1 -1
  58. package/dist/hooks/useTableFilter.js +6 -116
  59. package/dist/hooks/useTableFilter.js.map +1 -1
  60. package/dist/hooks/useTableFilter.mjs +1 -118
  61. package/dist/hooks/useTableFilter.mjs.map +1 -1
  62. package/dist/hooks/useTableSort.js +6 -91
  63. package/dist/hooks/useTableSort.js.map +1 -1
  64. package/dist/hooks/useTableSort.mjs +1 -93
  65. package/dist/hooks/useTableSort.mjs.map +1 -1
  66. package/dist/hooks/useVirtualList.js +6 -76
  67. package/dist/hooks/useVirtualList.js.map +1 -1
  68. package/dist/hooks/useVirtualList.mjs +1 -78
  69. package/dist/hooks/useVirtualList.mjs.map +1 -1
  70. package/dist/ui/buttons/animated.js +7 -7
  71. package/dist/ui/buttons/animated.mjs +5 -5
  72. package/dist/ui/buttons.js +9 -8
  73. package/dist/ui/buttons.mjs +7 -6
  74. package/dist/ui/checkbox.js +7 -123
  75. package/dist/ui/checkbox.js.map +1 -1
  76. package/dist/ui/checkbox.mjs +2 -126
  77. package/dist/ui/checkbox.mjs.map +1 -1
  78. package/dist/ui/data-table/data-table-base.d.ts +6 -0
  79. package/dist/ui/data-table/data-table-base.d.ts.map +1 -0
  80. package/dist/ui/data-table/data-table.d.ts +6 -0
  81. package/dist/ui/data-table/data-table.d.ts.map +1 -0
  82. package/dist/ui/data-table/index.d.ts +4 -0
  83. package/dist/ui/data-table/index.d.ts.map +1 -0
  84. package/dist/ui/data-table/types.d.ts +92 -0
  85. package/dist/ui/data-table/types.d.ts.map +1 -0
  86. package/dist/ui/data-table/variants.d.ts +8 -0
  87. package/dist/ui/data-table/variants.d.ts.map +1 -0
  88. package/dist/ui/data-table.js +620 -0
  89. package/dist/ui/data-table.js.map +1 -0
  90. package/dist/ui/data-table.mjs +611 -0
  91. package/dist/ui/data-table.mjs.map +1 -0
  92. package/dist/ui/dynamic-stepper.js +17 -17
  93. package/dist/ui/dynamic-stepper.mjs +6 -6
  94. package/dist/ui/inputs.js +7 -138
  95. package/dist/ui/inputs.js.map +1 -1
  96. package/dist/ui/inputs.mjs +2 -141
  97. package/dist/ui/inputs.mjs.map +1 -1
  98. package/dist/ui/pagination.js +19 -220
  99. package/dist/ui/pagination.js.map +1 -1
  100. package/dist/ui/pagination.mjs +7 -222
  101. package/dist/ui/pagination.mjs.map +1 -1
  102. package/dist/ui/table.js +1 -0
  103. package/dist/ui/table.mjs +1 -0
  104. package/package.json +1 -1
  105. package/src/design-system/data-table.ts +20 -0
  106. package/src/design-system/index.ts +1 -0
  107. package/src/ui/data-table/data-table-base.tsx +701 -0
  108. package/src/ui/data-table/data-table.test.tsx +389 -0
  109. package/src/ui/data-table/data-table.tsx +11 -0
  110. package/src/ui/data-table/index.ts +24 -0
  111. package/src/ui/data-table/types.ts +121 -0
  112. package/src/ui/data-table/variants.ts +21 -0
  113. package/dist/chunk-3W2UUKWP.js +0 -19
  114. package/dist/chunk-A4IB3C23.mjs.map +0 -1
  115. package/dist/chunk-VA6SB6NN.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useTableSort/useTableSort.ts"],"names":[],"mappings":";;;AAOA,SAAS,kBACP,gBAAA,EACoB;AACpB,EAAA,IAAI,qBAAqB,WAAA,EAAa;AACpC,IAAA,OAAO,YAAA;AAAA,EACT;AACA,EAAA,IAAI,qBAAqB,YAAA,EAAc;AACrC,IAAA,OAAO,MAAA;AAAA,EACT;AACA,EAAA,OAAO,WAAA;AACT;AAEA,SAAS,mBACP,QAAA,EACsB;AACtB,EAAA,IAAI,CAAC,QAAA,CAAS,OAAA,IAAW,QAAA,CAAS,kBAAkB,MAAA,EAAQ;AAC1D,IAAA,OAAO,EAAE,OAAA,EAAS,MAAA,EAAW,aAAA,EAAe,MAAA,EAAO;AAAA,EACrD;AACA,EAAA,OAAO,QAAA;AACT;AAEO,SAAS,YAAA,CAA2C;AAAA,EACzD,OAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA,GAAuB,MAAA;AAAA,EACvB;AACF,CAAA,GAA8B,EAAC,EAA6B;AAC1D,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,QAAA;AAAA,IAA+B,MACrE,kBAAA,CAAmB;AAAA,MACjB,OAAA,EAAS,cAAA;AAAA,MACT,aAAA,EAAe;AAAA,KAChB;AAAA,GACH;AAEA,EAAA,MAAM,sBAAsB,OAAA,KAAY,MAAA;AACxC,EAAA,MAAM,4BAA4B,aAAA,KAAkB,MAAA;AACpD,EAAA,MAAM,cAAc,kBAAA,CAAmB;AAAA,IACrC,OAAA,EAAS,mBAAA,GAAsB,OAAA,GAAU,YAAA,CAAa,OAAA;AAAA,IACtD,aAAA,EAAe,yBAAA,GACX,aAAA,GACA,YAAA,CAAa;AAAA,GAClB,CAAA;AAED,EAAA,MAAM,OAAA,GAAU,WAAA;AAAA,IACd,CAAC,QAAA,KAAmC;AAClC,MAAA,MAAM,UAAA,GAAa,mBAAmB,QAAQ,CAAA;AAC9C,MAAA,IAAI,CAAC,mBAAA,IAAuB,CAAC,yBAAA,EAA2B;AACtD,QAAA,eAAA,CAAgB,CAAC,YAAA,MAAkB;AAAA,UACjC,OAAA,EAAS,mBAAA,GACL,YAAA,CAAa,OAAA,GACb,UAAA,CAAW,OAAA;AAAA,UACf,aAAA,EAAe,yBAAA,GACX,YAAA,CAAa,aAAA,GACb,UAAA,CAAW;AAAA,SACjB,CAAE,CAAA;AAAA,MACJ;AACA,MAAA,YAAA,GAAe,UAAU,CAAA;AAAA,IAC3B,CAAA;AAAA,IACA,CAAC,yBAAA,EAA2B,mBAAA,EAAqB,YAAY;AAAA,GAC/D;AAEA,EAAA,MAAM,SAAA,GAAY,YAAY,MAAM;AAClC,IAAA,OAAA,CAAQ,EAAE,OAAA,EAAS,MAAA,EAAW,aAAA,EAAe,QAAQ,CAAA;AAAA,EACvD,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,MAAM,UAAA,GAAa,WAAA;AAAA,IACjB,CAAC,WAAA,KAAsB;AACrB,MAAA,MAAM,YACJ,WAAA,CAAY,OAAA,KAAY,cACpB,iBAAA,CAAkB,WAAA,CAAY,aAAa,CAAA,GAC3C,WAAA;AAEN,MAAA,OAAA,CAAQ;AAAA,QACN,OAAA,EAAS,WAAA;AAAA,QACT,aAAA,EAAe;AAAA,OAChB,CAAA;AAAA,IACH,CAAA;AAAA,IACA,CAAC,WAAA,CAAY,aAAA,EAAe,WAAA,CAAY,SAAS,OAAO;AAAA,GAC1D;AAEA,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,WAAA,MAAuB;AAAA,MACtB,OAAA,EAAS,WAAA;AAAA,MACT,aAAA,EACE,WAAA,CAAY,OAAA,KAAY,WAAA,GACpB,YAAY,aAAA,GACZ,MAAA;AAAA,MACN,YAAA,EAAc,CAAC,QAAA,KAA6B;AAC1C,QAAA,OAAA,CAAQ,QAAgC,CAAA;AAAA,MAC1C;AAAA,KACF,CAAA;AAAA,IACA,CAAC,WAAA,CAAY,aAAA,EAAe,WAAA,CAAY,SAAS,OAAO;AAAA,GAC1D;AAEA,EAAA,OAAO,OAAA;AAAA,IACL,OAAO;AAAA,MACL,SAAS,WAAA,CAAY,OAAA;AAAA,MACrB,eAAe,WAAA,CAAY,aAAA;AAAA,MAC3B,OAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF,CAAA;AAAA,IACA;AAAA,MACE,SAAA;AAAA,MACA,WAAA,CAAY,aAAA;AAAA,MACZ,WAAA,CAAY,OAAA;AAAA,MACZ,YAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA;AACF,GACF;AACF","file":"useTableSort.mjs","sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo, useState } from \"react\";\n\nimport type { TableSortDirection, TableSortState } from \"../../ui/table/types\";\nimport type { UseTableSortParams, UseTableSortResult } from \"./types\";\n\nfunction nextSortDirection(\n currentDirection: TableSortDirection,\n): TableSortDirection {\n if (currentDirection === \"ascending\") {\n return \"descending\";\n }\n if (currentDirection === \"descending\") {\n return \"none\";\n }\n return \"ascending\";\n}\n\nfunction normalizeSortState<TKey extends string>(\n nextSort: TableSortState<TKey>,\n): TableSortState<TKey> {\n if (!nextSort.sortKey || nextSort.sortDirection === \"none\") {\n return { sortKey: undefined, sortDirection: \"none\" };\n }\n return nextSort;\n}\n\nexport function useTableSort<TKey extends string = string>({\n sortKey,\n defaultSortKey,\n sortDirection,\n defaultSortDirection = \"none\",\n onSortChange,\n}: UseTableSortParams<TKey> = {}): UseTableSortResult<TKey> {\n const [internalSort, setInternalSort] = useState<TableSortState<TKey>>(() =>\n normalizeSortState({\n sortKey: defaultSortKey,\n sortDirection: defaultSortDirection,\n }),\n );\n\n const isSortKeyControlled = sortKey !== undefined;\n const isSortDirectionControlled = sortDirection !== undefined;\n const currentSort = normalizeSortState({\n sortKey: isSortKeyControlled ? sortKey : internalSort.sortKey,\n sortDirection: isSortDirectionControlled\n ? sortDirection\n : internalSort.sortDirection,\n });\n\n const setSort = useCallback(\n (nextSort: TableSortState<TKey>) => {\n const normalized = normalizeSortState(nextSort);\n if (!isSortKeyControlled || !isSortDirectionControlled) {\n setInternalSort((previousSort) => ({\n sortKey: isSortKeyControlled\n ? previousSort.sortKey\n : normalized.sortKey,\n sortDirection: isSortDirectionControlled\n ? previousSort.sortDirection\n : normalized.sortDirection,\n }));\n }\n onSortChange?.(normalized);\n },\n [isSortDirectionControlled, isSortKeyControlled, onSortChange],\n );\n\n const clearSort = useCallback(() => {\n setSort({ sortKey: undefined, sortDirection: \"none\" });\n }, [setSort]);\n\n const toggleSort = useCallback(\n (nextSortKey: TKey) => {\n const direction =\n currentSort.sortKey === nextSortKey\n ? nextSortDirection(currentSort.sortDirection)\n : \"ascending\";\n\n setSort({\n sortKey: nextSortKey,\n sortDirection: direction,\n });\n },\n [currentSort.sortDirection, currentSort.sortKey, setSort],\n );\n\n const getSortProps = useCallback(\n (nextSortKey: TKey) => ({\n sortKey: nextSortKey,\n sortDirection:\n currentSort.sortKey === nextSortKey\n ? currentSort.sortDirection\n : \"none\",\n onSortChange: (nextSort: TableSortState) => {\n setSort(nextSort as TableSortState<TKey>);\n },\n }),\n [currentSort.sortDirection, currentSort.sortKey, setSort],\n );\n\n return useMemo(\n () => ({\n sortKey: currentSort.sortKey,\n sortDirection: currentSort.sortDirection,\n setSort,\n clearSort,\n toggleSort,\n getSortProps,\n }),\n [\n clearSort,\n currentSort.sortDirection,\n currentSort.sortKey,\n getSortProps,\n setSort,\n toggleSort,\n ],\n );\n}\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"useTableSort.mjs"}
@@ -1,84 +1,14 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
+ var chunkOYAJG2BO_js = require('../chunk-OYAJG2BO.js');
4
5
  require('../chunk-PZ5AY32C.js');
5
- var react = require('react');
6
6
 
7
- function useVirtualList({
8
- itemCount,
9
- itemHeight,
10
- overscan = 3
11
- }) {
12
- const [container, setContainer] = react.useState(null);
13
- const [scrollTop, setScrollTop] = react.useState(0);
14
- const [viewportHeight, setViewportHeight] = react.useState(0);
15
- const setContainerRef = react.useCallback((node) => {
16
- setContainer(node);
17
- }, []);
18
- react.useEffect(() => {
19
- if (container == null) {
20
- return;
21
- }
22
- const onScroll = () => {
23
- setScrollTop(container.scrollTop);
24
- };
25
- const measure = () => {
26
- setViewportHeight(container.clientHeight);
27
- };
28
- measure();
29
- onScroll();
30
- container.addEventListener("scroll", onScroll, { passive: true });
31
- let observer;
32
- if (typeof ResizeObserver !== "undefined") {
33
- observer = new ResizeObserver(measure);
34
- observer.observe(container);
35
- }
36
- return () => {
37
- container.removeEventListener("scroll", onScroll);
38
- observer?.disconnect();
39
- };
40
- }, [container]);
41
- const safeItemCount = Math.max(0, Math.floor(itemCount));
42
- const safeItemHeight = Math.max(1, itemHeight);
43
- const safeOverscan = Math.max(0, Math.floor(overscan));
44
- const totalHeight = safeItemCount * safeItemHeight;
45
- const startIndex = safeItemCount === 0 ? 0 : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);
46
- const endIndex = safeItemCount === 0 ? -1 : Math.min(
47
- safeItemCount - 1,
48
- Math.ceil((scrollTop + viewportHeight) / safeItemHeight) - 1 + safeOverscan
49
- );
50
- const virtualItems = react.useMemo(() => {
51
- const items = [];
52
- for (let index = startIndex; index <= endIndex; index += 1) {
53
- items.push({
54
- index,
55
- start: index * safeItemHeight,
56
- size: safeItemHeight
57
- });
58
- }
59
- return items;
60
- }, [endIndex, safeItemHeight, startIndex]);
61
- const scrollToIndex = react.useCallback(
62
- (index) => {
63
- if (container == null || safeItemCount === 0) {
64
- return;
65
- }
66
- const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);
67
- container.scrollTop = clamped * safeItemHeight;
68
- setScrollTop(container.scrollTop);
69
- },
70
- [container, safeItemCount, safeItemHeight]
71
- );
72
- return {
73
- setContainerRef,
74
- virtualItems,
75
- totalHeight,
76
- startIndex,
77
- endIndex,
78
- scrollToIndex
79
- };
80
- }
81
7
 
82
- exports.useVirtualList = useVirtualList;
8
+
9
+ Object.defineProperty(exports, "useVirtualList", {
10
+ enumerable: true,
11
+ get: function () { return chunkOYAJG2BO_js.useVirtualList; }
12
+ });
83
13
  //# sourceMappingURL=useVirtualList.js.map
84
14
  //# sourceMappingURL=useVirtualList.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useVirtualList/useVirtualList.ts"],"names":["useState","useCallback","useEffect","useMemo"],"mappings":"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","file":"useVirtualList.js","sourcesContent":["\"use client\";\n\nimport type { RefCallback } from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nexport type VirtualItem = {\n /** Index into your data array. */\n index: number;\n /** Offset from the top of the scroll content in pixels (use for `translateY` / `top`). */\n start: number;\n /** Row height in pixels. */\n size: number;\n};\n\nexport type UseVirtualListParams = {\n /** Total number of rows in the list. */\n itemCount: number;\n /** Fixed height of every row in pixels (must be > 0). */\n itemHeight: number;\n /** Extra rows rendered above and below the viewport (default `3`). */\n overscan?: number;\n};\n\nexport type UseVirtualListResult = {\n /** Callback ref for the scrollable container (needs `overflow-y: auto` and a bounded height). */\n setContainerRef: RefCallback<HTMLElement>;\n /** The rows to render, each with its absolute `start` offset. */\n virtualItems: VirtualItem[];\n /** Height of the full list content; set it on an inner spacer element. */\n totalHeight: number;\n /** First rendered index (after overscan). */\n startIndex: number;\n /** Last rendered index (after overscan), `-1` when empty. */\n endIndex: number;\n /** Scroll the container so the given row is at the top. */\n scrollToIndex: (index: number) => void;\n};\n\n/**\n * Headless fixed-height list virtualization: renders only the rows visible in the\n * scroll container (plus `overscan`), so lists of tens of thousands of rows stay cheap.\n *\n * Markup recipe: outer container gets `setContainerRef` + `overflow-y: auto` and a height;\n * inside it, one relative spacer div with `height: totalHeight`; each virtual item is\n * absolutely positioned at `translateY(item.start)` with `height: item.size`.\n *\n * Viewport size tracks `ResizeObserver` (when available) and scroll position tracks a\n * passive `scroll` listener. For variable-height rows, reach for a dedicated virtualizer.\n *\n * @param params - {@link UseVirtualListParams}\n * @returns {@link UseVirtualListResult}\n */\nexport function useVirtualList({\n itemCount,\n itemHeight,\n overscan = 3,\n}: UseVirtualListParams): UseVirtualListResult {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n const [scrollTop, setScrollTop] = useState(0);\n const [viewportHeight, setViewportHeight] = useState(0);\n\n const setContainerRef = useCallback((node: HTMLElement | null) => {\n setContainer(node);\n }, []);\n\n useEffect(() => {\n if (container == null) {\n return;\n }\n const onScroll = () => {\n setScrollTop(container.scrollTop);\n };\n const measure = () => {\n setViewportHeight(container.clientHeight);\n };\n measure();\n onScroll();\n container.addEventListener(\"scroll\", onScroll, { passive: true });\n let observer: ResizeObserver | undefined;\n if (typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(measure);\n observer.observe(container);\n }\n return () => {\n container.removeEventListener(\"scroll\", onScroll);\n observer?.disconnect();\n };\n }, [container]);\n\n const safeItemCount = Math.max(0, Math.floor(itemCount));\n const safeItemHeight = Math.max(1, itemHeight);\n const safeOverscan = Math.max(0, Math.floor(overscan));\n\n const totalHeight = safeItemCount * safeItemHeight;\n const startIndex =\n safeItemCount === 0\n ? 0\n : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);\n const endIndex =\n safeItemCount === 0\n ? -1\n : Math.min(\n safeItemCount - 1,\n Math.ceil((scrollTop + viewportHeight) / safeItemHeight) -\n 1 +\n safeOverscan,\n );\n\n const virtualItems = useMemo(() => {\n const items: VirtualItem[] = [];\n for (let index = startIndex; index <= endIndex; index += 1) {\n items.push({\n index,\n start: index * safeItemHeight,\n size: safeItemHeight,\n });\n }\n return items;\n }, [endIndex, safeItemHeight, startIndex]);\n\n const scrollToIndex = useCallback(\n (index: number) => {\n if (container == null || safeItemCount === 0) {\n return;\n }\n const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);\n container.scrollTop = clamped * safeItemHeight;\n setScrollTop(container.scrollTop);\n },\n [container, safeItemCount, safeItemHeight],\n );\n\n return {\n setContainerRef,\n virtualItems,\n totalHeight,\n startIndex,\n endIndex,\n scrollToIndex,\n };\n}\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"useVirtualList.js"}
@@ -1,82 +1,5 @@
1
1
  "use client";
2
+ export { useVirtualList } from '../chunk-QKO5DA4N.mjs';
2
3
  import '../chunk-J5LGTIGS.mjs';
3
- import { useState, useCallback, useEffect, useMemo } from 'react';
4
-
5
- function useVirtualList({
6
- itemCount,
7
- itemHeight,
8
- overscan = 3
9
- }) {
10
- const [container, setContainer] = useState(null);
11
- const [scrollTop, setScrollTop] = useState(0);
12
- const [viewportHeight, setViewportHeight] = useState(0);
13
- const setContainerRef = useCallback((node) => {
14
- setContainer(node);
15
- }, []);
16
- useEffect(() => {
17
- if (container == null) {
18
- return;
19
- }
20
- const onScroll = () => {
21
- setScrollTop(container.scrollTop);
22
- };
23
- const measure = () => {
24
- setViewportHeight(container.clientHeight);
25
- };
26
- measure();
27
- onScroll();
28
- container.addEventListener("scroll", onScroll, { passive: true });
29
- let observer;
30
- if (typeof ResizeObserver !== "undefined") {
31
- observer = new ResizeObserver(measure);
32
- observer.observe(container);
33
- }
34
- return () => {
35
- container.removeEventListener("scroll", onScroll);
36
- observer?.disconnect();
37
- };
38
- }, [container]);
39
- const safeItemCount = Math.max(0, Math.floor(itemCount));
40
- const safeItemHeight = Math.max(1, itemHeight);
41
- const safeOverscan = Math.max(0, Math.floor(overscan));
42
- const totalHeight = safeItemCount * safeItemHeight;
43
- const startIndex = safeItemCount === 0 ? 0 : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);
44
- const endIndex = safeItemCount === 0 ? -1 : Math.min(
45
- safeItemCount - 1,
46
- Math.ceil((scrollTop + viewportHeight) / safeItemHeight) - 1 + safeOverscan
47
- );
48
- const virtualItems = useMemo(() => {
49
- const items = [];
50
- for (let index = startIndex; index <= endIndex; index += 1) {
51
- items.push({
52
- index,
53
- start: index * safeItemHeight,
54
- size: safeItemHeight
55
- });
56
- }
57
- return items;
58
- }, [endIndex, safeItemHeight, startIndex]);
59
- const scrollToIndex = useCallback(
60
- (index) => {
61
- if (container == null || safeItemCount === 0) {
62
- return;
63
- }
64
- const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);
65
- container.scrollTop = clamped * safeItemHeight;
66
- setScrollTop(container.scrollTop);
67
- },
68
- [container, safeItemCount, safeItemHeight]
69
- );
70
- return {
71
- setContainerRef,
72
- virtualItems,
73
- totalHeight,
74
- startIndex,
75
- endIndex,
76
- scrollToIndex
77
- };
78
- }
79
-
80
- export { useVirtualList };
81
4
  //# sourceMappingURL=useVirtualList.mjs.map
82
5
  //# sourceMappingURL=useVirtualList.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useVirtualList/useVirtualList.ts"],"names":[],"mappings":"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","file":"useVirtualList.mjs","sourcesContent":["\"use client\";\n\nimport type { RefCallback } from \"react\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\n\nexport type VirtualItem = {\n /** Index into your data array. */\n index: number;\n /** Offset from the top of the scroll content in pixels (use for `translateY` / `top`). */\n start: number;\n /** Row height in pixels. */\n size: number;\n};\n\nexport type UseVirtualListParams = {\n /** Total number of rows in the list. */\n itemCount: number;\n /** Fixed height of every row in pixels (must be > 0). */\n itemHeight: number;\n /** Extra rows rendered above and below the viewport (default `3`). */\n overscan?: number;\n};\n\nexport type UseVirtualListResult = {\n /** Callback ref for the scrollable container (needs `overflow-y: auto` and a bounded height). */\n setContainerRef: RefCallback<HTMLElement>;\n /** The rows to render, each with its absolute `start` offset. */\n virtualItems: VirtualItem[];\n /** Height of the full list content; set it on an inner spacer element. */\n totalHeight: number;\n /** First rendered index (after overscan). */\n startIndex: number;\n /** Last rendered index (after overscan), `-1` when empty. */\n endIndex: number;\n /** Scroll the container so the given row is at the top. */\n scrollToIndex: (index: number) => void;\n};\n\n/**\n * Headless fixed-height list virtualization: renders only the rows visible in the\n * scroll container (plus `overscan`), so lists of tens of thousands of rows stay cheap.\n *\n * Markup recipe: outer container gets `setContainerRef` + `overflow-y: auto` and a height;\n * inside it, one relative spacer div with `height: totalHeight`; each virtual item is\n * absolutely positioned at `translateY(item.start)` with `height: item.size`.\n *\n * Viewport size tracks `ResizeObserver` (when available) and scroll position tracks a\n * passive `scroll` listener. For variable-height rows, reach for a dedicated virtualizer.\n *\n * @param params - {@link UseVirtualListParams}\n * @returns {@link UseVirtualListResult}\n */\nexport function useVirtualList({\n itemCount,\n itemHeight,\n overscan = 3,\n}: UseVirtualListParams): UseVirtualListResult {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n const [scrollTop, setScrollTop] = useState(0);\n const [viewportHeight, setViewportHeight] = useState(0);\n\n const setContainerRef = useCallback((node: HTMLElement | null) => {\n setContainer(node);\n }, []);\n\n useEffect(() => {\n if (container == null) {\n return;\n }\n const onScroll = () => {\n setScrollTop(container.scrollTop);\n };\n const measure = () => {\n setViewportHeight(container.clientHeight);\n };\n measure();\n onScroll();\n container.addEventListener(\"scroll\", onScroll, { passive: true });\n let observer: ResizeObserver | undefined;\n if (typeof ResizeObserver !== \"undefined\") {\n observer = new ResizeObserver(measure);\n observer.observe(container);\n }\n return () => {\n container.removeEventListener(\"scroll\", onScroll);\n observer?.disconnect();\n };\n }, [container]);\n\n const safeItemCount = Math.max(0, Math.floor(itemCount));\n const safeItemHeight = Math.max(1, itemHeight);\n const safeOverscan = Math.max(0, Math.floor(overscan));\n\n const totalHeight = safeItemCount * safeItemHeight;\n const startIndex =\n safeItemCount === 0\n ? 0\n : Math.max(0, Math.floor(scrollTop / safeItemHeight) - safeOverscan);\n const endIndex =\n safeItemCount === 0\n ? -1\n : Math.min(\n safeItemCount - 1,\n Math.ceil((scrollTop + viewportHeight) / safeItemHeight) -\n 1 +\n safeOverscan,\n );\n\n const virtualItems = useMemo(() => {\n const items: VirtualItem[] = [];\n for (let index = startIndex; index <= endIndex; index += 1) {\n items.push({\n index,\n start: index * safeItemHeight,\n size: safeItemHeight,\n });\n }\n return items;\n }, [endIndex, safeItemHeight, startIndex]);\n\n const scrollToIndex = useCallback(\n (index: number) => {\n if (container == null || safeItemCount === 0) {\n return;\n }\n const clamped = Math.min(Math.max(index, 0), safeItemCount - 1);\n container.scrollTop = clamped * safeItemHeight;\n setScrollTop(container.scrollTop);\n },\n [container, safeItemCount, safeItemHeight],\n );\n\n return {\n setContainerRef,\n virtualItems,\n totalHeight,\n startIndex,\n endIndex,\n scrollToIndex,\n };\n}\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"useVirtualList.mjs"}
@@ -1,34 +1,34 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk3W2UUKWP_js = require('../../chunk-3W2UUKWP.js');
5
- require('../../chunk-VA6SB6NN.js');
4
+ var chunk5FU57ZVQ_js = require('../../chunk-5FU57ZVQ.js');
5
+ require('../../chunk-TJ2EWPER.js');
6
6
  require('../../chunk-FBUY6K6S.js');
7
+ require('../../chunk-Y7BU5RC4.js');
7
8
  require('../../chunk-NDF3HORF.js');
8
9
  require('../../chunk-USLNTKVQ.js');
9
10
  require('../../chunk-D7ATXPVI.js');
10
11
  require('../../chunk-IEHY6KNM.js');
11
12
  require('../../chunk-3MK7CWEX.js');
13
+ require('../../chunk-22FJROCI.js');
12
14
  require('../../chunk-UJXFD4SK.js');
13
15
  require('../../chunk-3EJCQXGV.js');
14
16
  require('../../chunk-6KVTKYTB.js');
15
17
  require('../../chunk-L7W4NRK6.js');
16
18
  require('../../chunk-KWBGLH7G.js');
17
19
  require('../../chunk-OH5VOGNW.js');
18
- require('../../chunk-Y7BU5RC4.js');
20
+ require('../../chunk-WGN2CBG6.js');
19
21
  require('../../chunk-SRSRY5K2.js');
20
22
  require('../../chunk-UG3GF2BD.js');
21
23
  require('../../chunk-BZTAA3MK.js');
22
24
  require('../../chunk-PZ25OHJE.js');
23
25
  require('../../chunk-HOOZYA4N.js');
24
26
  require('../../chunk-CJCOURVM.js');
25
- require('../../chunk-22FJROCI.js');
26
27
  require('../../chunk-KJMW7S5X.js');
27
28
  require('../../chunk-3CYJQ6KF.js');
28
29
  require('../../chunk-3453DQNL.js');
29
30
  require('../../chunk-DYSXCJGL.js');
30
31
  require('../../chunk-A7MU6SFI.js');
31
- require('../../chunk-WGN2CBG6.js');
32
32
  require('../../chunk-NYO3W5GY.js');
33
33
  require('../../chunk-HNRCPZCK.js');
34
34
  require('../../chunk-J2SUGU3X.js');
@@ -103,7 +103,7 @@ var ButtonAnimated = (props) => {
103
103
  target,
104
104
  rel: target === "_blank" ? "noopener noreferrer" : void 0,
105
105
  "data-slot": "button",
106
- className: chunkZS5756ZC_js.cn(chunk3W2UUKWP_js.buttonVariants({ appearance: appearance2, size: size2 }), className2),
106
+ className: chunkZS5756ZC_js.cn(chunk5FU57ZVQ_js.buttonVariants({ appearance: appearance2, size: size2 }), className2),
107
107
  initial: false,
108
108
  ...motionProps2,
109
109
  ...rest2,
@@ -128,7 +128,7 @@ var ButtonAnimated = (props) => {
128
128
  ref,
129
129
  type,
130
130
  "data-slot": "button",
131
- className: chunkZS5756ZC_js.cn(chunk3W2UUKWP_js.buttonVariants({ appearance, size }), className),
131
+ className: chunkZS5756ZC_js.cn(chunk5FU57ZVQ_js.buttonVariants({ appearance, size }), className),
132
132
  initial: false,
133
133
  ...motionProps,
134
134
  ...rest,
@@ -1,32 +1,32 @@
1
1
  "use client";
2
- import { buttonVariants } from '../../chunk-WWKAJHIV.mjs';
3
- import '../../chunk-A4IB3C23.mjs';
2
+ import { buttonVariants } from '../../chunk-KVSRUAXP.mjs';
3
+ import '../../chunk-FUCW5GPE.mjs';
4
4
  import '../../chunk-2NQKFH26.mjs';
5
+ import '../../chunk-FX5KR2GP.mjs';
5
6
  import '../../chunk-ZBAKTM2R.mjs';
6
7
  import '../../chunk-4ZBMDWWY.mjs';
7
8
  import '../../chunk-YH6MOKHR.mjs';
8
9
  import '../../chunk-T4ZLTKV2.mjs';
9
10
  import '../../chunk-PUSCPBT2.mjs';
11
+ import '../../chunk-523VQLCW.mjs';
10
12
  import '../../chunk-3VW4HMJT.mjs';
11
13
  import '../../chunk-LRYKMXKI.mjs';
12
14
  import '../../chunk-XFJIX2YP.mjs';
13
15
  import '../../chunk-4WG3VNVL.mjs';
14
16
  import '../../chunk-YPTHTFVF.mjs';
15
17
  import '../../chunk-XY3TKIIH.mjs';
16
- import '../../chunk-FX5KR2GP.mjs';
18
+ import '../../chunk-JEDMUBYI.mjs';
17
19
  import '../../chunk-EJ3UMMCS.mjs';
18
20
  import '../../chunk-EE53BIXR.mjs';
19
21
  import '../../chunk-YXU2MJMT.mjs';
20
22
  import '../../chunk-3IE4IELX.mjs';
21
23
  import '../../chunk-BUEI4RMR.mjs';
22
24
  import '../../chunk-5AOVTY2X.mjs';
23
- import '../../chunk-523VQLCW.mjs';
24
25
  import '../../chunk-SS3T3BUL.mjs';
25
26
  import '../../chunk-SCWQSQBJ.mjs';
26
27
  import '../../chunk-ZPGYR2UP.mjs';
27
28
  import '../../chunk-MBEQ4GQ7.mjs';
28
29
  import '../../chunk-34LHS26H.mjs';
29
- import '../../chunk-JEDMUBYI.mjs';
30
30
  import '../../chunk-YKTANA3H.mjs';
31
31
  import '../../chunk-ENYZGL4R.mjs';
32
32
  import '../../chunk-2VPXQ2LA.mjs';
@@ -1,35 +1,36 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkQE7OJW4J_js = require('../chunk-QE7OJW4J.js');
5
- var chunk3W2UUKWP_js = require('../chunk-3W2UUKWP.js');
6
- require('../chunk-VA6SB6NN.js');
4
+ require('../chunk-XR3J46TZ.js');
5
+ var chunk5ELR6MIN_js = require('../chunk-5ELR6MIN.js');
6
+ var chunk5FU57ZVQ_js = require('../chunk-5FU57ZVQ.js');
7
+ require('../chunk-TJ2EWPER.js');
7
8
  require('../chunk-FBUY6K6S.js');
9
+ require('../chunk-Y7BU5RC4.js');
8
10
  require('../chunk-NDF3HORF.js');
9
11
  require('../chunk-USLNTKVQ.js');
10
12
  require('../chunk-D7ATXPVI.js');
11
13
  require('../chunk-IEHY6KNM.js');
12
14
  require('../chunk-3MK7CWEX.js');
15
+ require('../chunk-22FJROCI.js');
13
16
  require('../chunk-UJXFD4SK.js');
14
17
  require('../chunk-3EJCQXGV.js');
15
18
  require('../chunk-6KVTKYTB.js');
16
19
  require('../chunk-L7W4NRK6.js');
17
20
  require('../chunk-KWBGLH7G.js');
18
21
  require('../chunk-OH5VOGNW.js');
19
- require('../chunk-Y7BU5RC4.js');
22
+ require('../chunk-WGN2CBG6.js');
20
23
  require('../chunk-SRSRY5K2.js');
21
24
  require('../chunk-UG3GF2BD.js');
22
25
  require('../chunk-BZTAA3MK.js');
23
26
  require('../chunk-PZ25OHJE.js');
24
27
  require('../chunk-HOOZYA4N.js');
25
28
  require('../chunk-CJCOURVM.js');
26
- require('../chunk-22FJROCI.js');
27
29
  require('../chunk-KJMW7S5X.js');
28
30
  require('../chunk-3CYJQ6KF.js');
29
31
  require('../chunk-3453DQNL.js');
30
32
  require('../chunk-DYSXCJGL.js');
31
33
  require('../chunk-A7MU6SFI.js');
32
- require('../chunk-WGN2CBG6.js');
33
34
  require('../chunk-NYO3W5GY.js');
34
35
  require('../chunk-HNRCPZCK.js');
35
36
  require('../chunk-J2SUGU3X.js');
@@ -52,11 +53,11 @@ require('../chunk-PZ5AY32C.js');
52
53
 
53
54
  Object.defineProperty(exports, "Button", {
54
55
  enumerable: true,
55
- get: function () { return chunkQE7OJW4J_js.Button; }
56
+ get: function () { return chunk5ELR6MIN_js.Button; }
56
57
  });
57
58
  Object.defineProperty(exports, "buttonVariants", {
58
59
  enumerable: true,
59
- get: function () { return chunk3W2UUKWP_js.buttonVariants; }
60
+ get: function () { return chunk5FU57ZVQ_js.buttonVariants; }
60
61
  });
61
62
  //# sourceMappingURL=buttons.js.map
62
63
  //# sourceMappingURL=buttons.js.map
@@ -1,33 +1,34 @@
1
1
  "use client";
2
- export { Button } from '../chunk-CHI6MBTI.mjs';
3
- export { buttonVariants } from '../chunk-WWKAJHIV.mjs';
4
- import '../chunk-A4IB3C23.mjs';
2
+ import '../chunk-VBNW2B4D.mjs';
3
+ export { Button } from '../chunk-7UXPXCKV.mjs';
4
+ export { buttonVariants } from '../chunk-KVSRUAXP.mjs';
5
+ import '../chunk-FUCW5GPE.mjs';
5
6
  import '../chunk-2NQKFH26.mjs';
7
+ import '../chunk-FX5KR2GP.mjs';
6
8
  import '../chunk-ZBAKTM2R.mjs';
7
9
  import '../chunk-4ZBMDWWY.mjs';
8
10
  import '../chunk-YH6MOKHR.mjs';
9
11
  import '../chunk-T4ZLTKV2.mjs';
10
12
  import '../chunk-PUSCPBT2.mjs';
13
+ import '../chunk-523VQLCW.mjs';
11
14
  import '../chunk-3VW4HMJT.mjs';
12
15
  import '../chunk-LRYKMXKI.mjs';
13
16
  import '../chunk-XFJIX2YP.mjs';
14
17
  import '../chunk-4WG3VNVL.mjs';
15
18
  import '../chunk-YPTHTFVF.mjs';
16
19
  import '../chunk-XY3TKIIH.mjs';
17
- import '../chunk-FX5KR2GP.mjs';
20
+ import '../chunk-JEDMUBYI.mjs';
18
21
  import '../chunk-EJ3UMMCS.mjs';
19
22
  import '../chunk-EE53BIXR.mjs';
20
23
  import '../chunk-YXU2MJMT.mjs';
21
24
  import '../chunk-3IE4IELX.mjs';
22
25
  import '../chunk-BUEI4RMR.mjs';
23
26
  import '../chunk-5AOVTY2X.mjs';
24
- import '../chunk-523VQLCW.mjs';
25
27
  import '../chunk-SS3T3BUL.mjs';
26
28
  import '../chunk-SCWQSQBJ.mjs';
27
29
  import '../chunk-ZPGYR2UP.mjs';
28
30
  import '../chunk-MBEQ4GQ7.mjs';
29
31
  import '../chunk-34LHS26H.mjs';
30
- import '../chunk-JEDMUBYI.mjs';
31
32
  import '../chunk-YKTANA3H.mjs';
32
33
  import '../chunk-ENYZGL4R.mjs';
33
34
  import '../chunk-2VPXQ2LA.mjs';
@@ -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"}