@jacshuo/onyx 0.2.1 → 1.1.0

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 (203) hide show
  1. package/README.md +154 -33
  2. package/README.zh-CN.md +745 -0
  3. package/dist/Accordion.cjs +1 -1
  4. package/dist/Accordion.d.cts +3 -1
  5. package/dist/Accordion.d.ts +3 -1
  6. package/dist/Accordion.js +1 -1
  7. package/dist/Alert.cjs +1 -1
  8. package/dist/Alert.js +1 -1
  9. package/dist/Badge.cjs +1 -1
  10. package/dist/Badge.d.cts +1 -1
  11. package/dist/Badge.d.ts +1 -1
  12. package/dist/Badge.js +1 -1
  13. package/dist/Button.cjs +1 -1
  14. package/dist/Button.js +1 -1
  15. package/dist/Card.cjs +1 -1
  16. package/dist/Card.d.cts +3 -1
  17. package/dist/Card.d.ts +3 -1
  18. package/dist/Card.js +1 -1
  19. package/dist/Checkbox.cjs +1 -1
  20. package/dist/Checkbox.js +1 -1
  21. package/dist/CodeBlock.cjs +1 -1
  22. package/dist/CodeBlock.js +1 -1
  23. package/dist/Dialog.cjs +1 -1
  24. package/dist/Dialog.d.cts +5 -2
  25. package/dist/Dialog.d.ts +5 -2
  26. package/dist/Dialog.js +1 -1
  27. package/dist/Dropdown.cjs +1 -1
  28. package/dist/Dropdown.d.cts +4 -0
  29. package/dist/Dropdown.d.ts +4 -0
  30. package/dist/Dropdown.js +1 -1
  31. package/dist/DropdownButton.cjs +1 -1
  32. package/dist/DropdownButton.d.cts +3 -1
  33. package/dist/DropdownButton.d.ts +3 -1
  34. package/dist/DropdownButton.js +1 -1
  35. package/dist/FileExplorer.cjs +1 -1
  36. package/dist/FileExplorer.js +1 -1
  37. package/dist/Form.cjs +1 -0
  38. package/dist/Form.d.cts +101 -0
  39. package/dist/Form.d.ts +101 -0
  40. package/dist/Form.js +1 -0
  41. package/dist/Header.cjs +1 -1
  42. package/dist/Header.d.cts +7 -1
  43. package/dist/Header.d.ts +7 -1
  44. package/dist/Header.js +1 -1
  45. package/dist/Indicator.cjs +1 -0
  46. package/dist/Indicator.d.cts +19 -0
  47. package/dist/Indicator.d.ts +19 -0
  48. package/dist/Indicator.js +1 -0
  49. package/dist/Input.cjs +1 -1
  50. package/dist/Input.js +1 -1
  51. package/dist/Label.cjs +1 -1
  52. package/dist/Label.js +1 -1
  53. package/dist/List.cjs +1 -1
  54. package/dist/List.d.cts +5 -2
  55. package/dist/List.d.ts +5 -2
  56. package/dist/List.js +1 -1
  57. package/dist/Masonry.cjs +1 -0
  58. package/dist/Masonry.d.cts +41 -0
  59. package/dist/Masonry.d.ts +41 -0
  60. package/dist/Masonry.js +1 -0
  61. package/dist/NavLink.cjs +1 -1
  62. package/dist/NavLink.js +1 -1
  63. package/dist/Panel.cjs +1 -1
  64. package/dist/Panel.js +1 -1
  65. package/dist/ProgressBar.cjs +1 -1
  66. package/dist/ProgressBar.js +1 -1
  67. package/dist/Radio.cjs +1 -1
  68. package/dist/Radio.d.cts +3 -1
  69. package/dist/Radio.d.ts +3 -1
  70. package/dist/Radio.js +1 -1
  71. package/dist/SideNav.cjs +1 -1
  72. package/dist/SideNav.d.cts +14 -1
  73. package/dist/SideNav.d.ts +14 -1
  74. package/dist/SideNav.js +1 -1
  75. package/dist/Spin.cjs +1 -1
  76. package/dist/Spin.js +1 -1
  77. package/dist/Switch.cjs +1 -1
  78. package/dist/Switch.js +1 -1
  79. package/dist/Table.cjs +1 -1
  80. package/dist/Table.d.cts +7 -3
  81. package/dist/Table.d.ts +7 -3
  82. package/dist/Table.js +1 -1
  83. package/dist/Tabs.cjs +1 -1
  84. package/dist/Tabs.d.cts +3 -1
  85. package/dist/Tabs.d.ts +3 -1
  86. package/dist/Tabs.js +1 -1
  87. package/dist/Tooltip.cjs +1 -1
  88. package/dist/Tooltip.d.cts +3 -1
  89. package/dist/Tooltip.d.ts +3 -1
  90. package/dist/Tooltip.js +1 -1
  91. package/dist/Tree.cjs +1 -1
  92. package/dist/Tree.d.cts +3 -1
  93. package/dist/Tree.d.ts +3 -1
  94. package/dist/Tree.js +1 -1
  95. package/dist/chunks/chunk-2JLNRAXS.cjs +1 -0
  96. package/dist/chunks/{chunk-GT56J65P.cjs → chunk-2KVAFCQI.cjs} +1 -1
  97. package/dist/chunks/chunk-3I7Y6FUJ.js +1 -0
  98. package/dist/chunks/chunk-47UMFXDG.js +1 -0
  99. package/dist/chunks/{chunk-GW4C7AV6.cjs → chunk-4D3XBPZX.cjs} +2 -2
  100. package/dist/chunks/{chunk-DCWKY33F.js → chunk-4VFV5U3S.js} +1 -1
  101. package/dist/chunks/{chunk-7DM4FEFY.js → chunk-5FUEJFGY.js} +1 -1
  102. package/dist/chunks/chunk-5XT6TJGF.js +1 -0
  103. package/dist/chunks/{chunk-SJ2HIDEM.cjs → chunk-6BI4QL37.cjs} +1 -1
  104. package/dist/chunks/{chunk-LCLJVRKK.cjs → chunk-6E5ARQBB.cjs} +1 -1
  105. package/dist/chunks/chunk-7CEOIZXK.js +1 -0
  106. package/dist/chunks/chunk-7XPIY2SQ.cjs +1 -0
  107. package/dist/chunks/chunk-A6HIQADJ.cjs +1 -0
  108. package/dist/chunks/{chunk-NFRGBE42.cjs → chunk-AEBULFON.cjs} +1 -1
  109. package/dist/chunks/chunk-AK5IK7ZD.js +1 -0
  110. package/dist/chunks/chunk-AN2R5URJ.js +1 -0
  111. package/dist/chunks/{chunk-3B5OL3PD.cjs → chunk-BTR2N5MO.cjs} +2 -2
  112. package/dist/chunks/{chunk-24YBOQFV.cjs → chunk-BUNOVZ23.cjs} +1 -1
  113. package/dist/chunks/chunk-CEEQE7SY.js +1 -0
  114. package/dist/chunks/chunk-CMHBPMXE.js +1 -0
  115. package/dist/chunks/chunk-DWYAPPDB.cjs +1 -0
  116. package/dist/chunks/chunk-E3DST3QD.cjs +1 -0
  117. package/dist/chunks/{chunk-PC4PVKTK.js → chunk-E4EMAZ6V.js} +2 -2
  118. package/dist/chunks/chunk-E5UKEXJE.js +1 -0
  119. package/dist/chunks/{chunk-A7SZGBY2.cjs → chunk-FDTREGBQ.cjs} +1 -1
  120. package/dist/chunks/chunk-FGUFBTKI.cjs +1 -0
  121. package/dist/chunks/{chunk-K4UGTWDR.js → chunk-FQZX67Z7.js} +1 -1
  122. package/dist/chunks/chunk-G2VO67XY.js +1 -0
  123. package/dist/chunks/{chunk-6DR7FZ4Y.js → chunk-GYFFUCBT.js} +1 -1
  124. package/dist/chunks/chunk-I425OSJL.js +1 -0
  125. package/dist/chunks/chunk-ICDAUJ2G.cjs +1 -0
  126. package/dist/chunks/chunk-IFRKP7M2.js +1 -0
  127. package/dist/chunks/chunk-IHBP6FI4.js +1 -0
  128. package/dist/chunks/{chunk-XOZYC6XB.cjs → chunk-IL5XDMUA.cjs} +1 -1
  129. package/dist/chunks/chunk-IRSGPS7D.cjs +1 -0
  130. package/dist/chunks/chunk-ITWFMFVO.js +1 -0
  131. package/dist/chunks/chunk-JJP23IOG.cjs +1 -0
  132. package/dist/chunks/chunk-JRYYWYGV.cjs +1 -0
  133. package/dist/chunks/chunk-KCIICUZN.cjs +1 -0
  134. package/dist/chunks/chunk-KGRBVUVK.cjs +1 -0
  135. package/dist/chunks/chunk-KY4NDB23.cjs +1 -0
  136. package/dist/chunks/chunk-KZBYFKOH.js +1 -0
  137. package/dist/chunks/chunk-LFJEIO3X.cjs +1 -0
  138. package/dist/chunks/chunk-NY27TTWN.js +1 -0
  139. package/dist/chunks/chunk-OEXZGLB4.js +1 -0
  140. package/dist/chunks/chunk-QC67HOC2.cjs +1 -0
  141. package/dist/chunks/chunk-QLFCH4TD.js +1 -0
  142. package/dist/chunks/chunk-RPBESM5F.cjs +1 -0
  143. package/dist/chunks/{chunk-KG3IXPCM.js → chunk-SC4PNYQT.js} +1 -1
  144. package/dist/chunks/chunk-SLHD7PST.cjs +1 -0
  145. package/dist/chunks/chunk-UEGTVAFV.cjs +1 -0
  146. package/dist/chunks/chunk-V34PT6H4.cjs +1 -0
  147. package/dist/chunks/chunk-VUWT3NFR.js +1 -0
  148. package/dist/chunks/{chunk-A7BECCRP.cjs → chunk-W5UXZVLS.cjs} +1 -1
  149. package/dist/chunks/chunk-WQOSJM7L.js +2 -0
  150. package/dist/chunks/chunk-WRPPKNRG.js +1 -0
  151. package/dist/chunks/chunk-XAOBJSFW.js +1 -0
  152. package/dist/chunks/{chunk-EQXC34N2.cjs → chunk-XK7SMEDO.cjs} +1 -1
  153. package/dist/chunks/chunk-XO6CNALX.js +1 -0
  154. package/dist/chunks/chunk-ZY7GZOBS.js +1 -0
  155. package/dist/index.cjs +1 -1
  156. package/dist/index.d.cts +4 -1
  157. package/dist/index.d.ts +4 -1
  158. package/dist/index.js +1 -1
  159. package/dist/styles/base.css +513 -8
  160. package/dist/styles/tokens.css +159 -0
  161. package/dist/styles.css +607 -8
  162. package/dist/theme.cjs +1 -1
  163. package/dist/theme.d.cts +32 -1
  164. package/dist/theme.d.ts +32 -1
  165. package/dist/theme.js +1 -1
  166. package/package.json +4 -4
  167. package/dist/chunks/chunk-2TTIBHQ3.js +0 -1
  168. package/dist/chunks/chunk-64BRBJ5M.js +0 -1
  169. package/dist/chunks/chunk-7PD2UMAG.cjs +0 -1
  170. package/dist/chunks/chunk-7QV2AV32.cjs +0 -1
  171. package/dist/chunks/chunk-BGUKKSPF.js +0 -1
  172. package/dist/chunks/chunk-GQDGQUKK.js +0 -1
  173. package/dist/chunks/chunk-H35HQKON.js +0 -2
  174. package/dist/chunks/chunk-H6MHL66N.js +0 -1
  175. package/dist/chunks/chunk-HFHOE2PH.cjs +0 -1
  176. package/dist/chunks/chunk-HR4MRHSX.js +0 -1
  177. package/dist/chunks/chunk-HSLG4VVI.cjs +0 -1
  178. package/dist/chunks/chunk-HSWWY3SE.cjs +0 -1
  179. package/dist/chunks/chunk-I327TE7P.js +0 -1
  180. package/dist/chunks/chunk-IPPWOV6D.js +0 -1
  181. package/dist/chunks/chunk-KVV5ZEYV.cjs +0 -1
  182. package/dist/chunks/chunk-LZZTFSBF.js +0 -1
  183. package/dist/chunks/chunk-MSBDCLPM.cjs +0 -1
  184. package/dist/chunks/chunk-MVGDKSBE.js +0 -1
  185. package/dist/chunks/chunk-NI2HVXR2.js +0 -1
  186. package/dist/chunks/chunk-NXWDOFPX.cjs +0 -1
  187. package/dist/chunks/chunk-NYTZZ5ZX.cjs +0 -1
  188. package/dist/chunks/chunk-OMBYGQJE.cjs +0 -1
  189. package/dist/chunks/chunk-P652JDOU.cjs +0 -1
  190. package/dist/chunks/chunk-Q53OOZJ3.cjs +0 -1
  191. package/dist/chunks/chunk-R7ZKMSZ3.js +0 -1
  192. package/dist/chunks/chunk-SCSMM2J4.js +0 -1
  193. package/dist/chunks/chunk-SKZIAHHY.cjs +0 -1
  194. package/dist/chunks/chunk-T3WU6A7R.js +0 -1
  195. package/dist/chunks/chunk-VHOOZBWZ.js +0 -1
  196. package/dist/chunks/chunk-W2JIAB3E.js +0 -1
  197. package/dist/chunks/chunk-WL4AMFUA.cjs +0 -1
  198. package/dist/chunks/chunk-WQA7PVJO.js +0 -1
  199. package/dist/chunks/chunk-X3PUHNVJ.js +0 -1
  200. package/dist/chunks/chunk-X4OS5ODF.cjs +0 -1
  201. package/dist/chunks/chunk-XOO3AGIT.js +0 -1
  202. package/dist/chunks/chunk-YWD2VK35.js +0 -1
  203. package/dist/chunks/chunk-ZEHGTD6Y.cjs +0 -1
package/dist/List.d.cts CHANGED
@@ -4,8 +4,11 @@ import { VariantProps } from 'class-variance-authority';
4
4
  import { listVariants } from './theme.cjs';
5
5
  import 'class-variance-authority/types';
6
6
 
7
- type ListProps = React.HTMLAttributes<HTMLUListElement> & VariantProps<typeof listVariants>;
8
- declare function List({ intent, className, ...props }: ListProps): react_jsx_runtime.JSX.Element;
7
+ type ListProps = React.HTMLAttributes<HTMLUListElement> & VariantProps<typeof listVariants> & {
8
+ /** Controls item text and icon sizing. @default 'md' */
9
+ size?: "sm" | "md" | "lg";
10
+ };
11
+ declare function List({ intent, size, className, ...props }: ListProps): react_jsx_runtime.JSX.Element;
9
12
  type ListItemProps = React.LiHTMLAttributes<HTMLLIElement> & {
10
13
  /** Action buttons rendered on the right side of the item. */
11
14
  actions?: React.ReactNode;
package/dist/List.d.ts CHANGED
@@ -4,8 +4,11 @@ import { VariantProps } from 'class-variance-authority';
4
4
  import { listVariants } from './theme.js';
5
5
  import 'class-variance-authority/types';
6
6
 
7
- type ListProps = React.HTMLAttributes<HTMLUListElement> & VariantProps<typeof listVariants>;
8
- declare function List({ intent, className, ...props }: ListProps): react_jsx_runtime.JSX.Element;
7
+ type ListProps = React.HTMLAttributes<HTMLUListElement> & VariantProps<typeof listVariants> & {
8
+ /** Controls item text and icon sizing. @default 'md' */
9
+ size?: "sm" | "md" | "lg";
10
+ };
11
+ declare function List({ intent, size, className, ...props }: ListProps): react_jsx_runtime.JSX.Element;
9
12
  type ListItemProps = React.LiHTMLAttributes<HTMLLIElement> & {
10
13
  /** Action buttons rendered on the right side of the item. */
11
14
  actions?: React.ReactNode;
package/dist/List.js CHANGED
@@ -1 +1 @@
1
- export{a as List,b as ListItem}from'./chunks/chunk-NI2HVXR2.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as List,b as ListItem}from'./chunks/chunk-NY27TTWN.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
@@ -0,0 +1 @@
1
+ 'use strict';var chunkLFJEIO3X_cjs=require('./chunks/chunk-LFJEIO3X.cjs');require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Masonry",{enumerable:true,get:function(){return chunkLFJEIO3X_cjs.a}});
@@ -0,0 +1,41 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ type MasonryItemData = {
5
+ key?: React.Key;
6
+ /** The visual content rendered inside the item. */
7
+ content: React.ReactNode;
8
+ /** Optional title shown in the hover overlay. */
9
+ title?: string;
10
+ /** Optional description shown in the hover overlay. */
11
+ description?: string;
12
+ /** Optional action buttons shown in the hover overlay. */
13
+ actions?: React.ReactNode;
14
+ };
15
+ type MasonryProps = Omit<React.HTMLAttributes<HTMLDivElement>, "onClick"> & {
16
+ /** Fixed number of columns. Overrides `columnWidth` when set. */
17
+ columns?: number;
18
+ /** Minimum column width in pixels. The actual column count is auto-calculated from the container width. @default 240 */
19
+ columnWidth?: number;
20
+ /** Gap between items in pixels (horizontal and vertical). @default 16 */
21
+ gap?: number;
22
+ /** Structured item list with overlay metadata. When provided, `children` is ignored. */
23
+ items?: MasonryItemData[];
24
+ /** Called when an item is clicked. Receives the item data (or undefined for plain children) and the index. */
25
+ onItemClick?: (item: MasonryItemData | undefined, index: number) => void;
26
+ };
27
+ /**
28
+ * Pinterest-style waterfall / masonry layout with rich interactions.
29
+ *
30
+ * Items are measured and placed into the shortest column, producing
31
+ * an even distribution regardless of varying item heights.
32
+ * Fully responsive — column count adapts to parent width.
33
+ *
34
+ * Each item supports:
35
+ * - Hover: cursor pointer, enlarge + elevated shadow + glass-reflection sweep
36
+ * - Overlay: title / description / action buttons on hover
37
+ * - Click: ripple flash effect + `onItemClick` callback
38
+ */
39
+ declare function Masonry({ columns: fixedColumns, columnWidth, gap, items, onItemClick, className, style, children, ...props }: MasonryProps): react_jsx_runtime.JSX.Element;
40
+
41
+ export { Masonry, type MasonryItemData, type MasonryProps };
@@ -0,0 +1,41 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import React from 'react';
3
+
4
+ type MasonryItemData = {
5
+ key?: React.Key;
6
+ /** The visual content rendered inside the item. */
7
+ content: React.ReactNode;
8
+ /** Optional title shown in the hover overlay. */
9
+ title?: string;
10
+ /** Optional description shown in the hover overlay. */
11
+ description?: string;
12
+ /** Optional action buttons shown in the hover overlay. */
13
+ actions?: React.ReactNode;
14
+ };
15
+ type MasonryProps = Omit<React.HTMLAttributes<HTMLDivElement>, "onClick"> & {
16
+ /** Fixed number of columns. Overrides `columnWidth` when set. */
17
+ columns?: number;
18
+ /** Minimum column width in pixels. The actual column count is auto-calculated from the container width. @default 240 */
19
+ columnWidth?: number;
20
+ /** Gap between items in pixels (horizontal and vertical). @default 16 */
21
+ gap?: number;
22
+ /** Structured item list with overlay metadata. When provided, `children` is ignored. */
23
+ items?: MasonryItemData[];
24
+ /** Called when an item is clicked. Receives the item data (or undefined for plain children) and the index. */
25
+ onItemClick?: (item: MasonryItemData | undefined, index: number) => void;
26
+ };
27
+ /**
28
+ * Pinterest-style waterfall / masonry layout with rich interactions.
29
+ *
30
+ * Items are measured and placed into the shortest column, producing
31
+ * an even distribution regardless of varying item heights.
32
+ * Fully responsive — column count adapts to parent width.
33
+ *
34
+ * Each item supports:
35
+ * - Hover: cursor pointer, enlarge + elevated shadow + glass-reflection sweep
36
+ * - Overlay: title / description / action buttons on hover
37
+ * - Click: ripple flash effect + `onItemClick` callback
38
+ */
39
+ declare function Masonry({ columns: fixedColumns, columnWidth, gap, items, onItemClick, className, style, children, ...props }: MasonryProps): react_jsx_runtime.JSX.Element;
40
+
41
+ export { Masonry, type MasonryItemData, type MasonryProps };
@@ -0,0 +1 @@
1
+ export{a as Masonry}from'./chunks/chunk-G2VO67XY.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/NavLink.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunk24YBOQFV_cjs=require('./chunks/chunk-24YBOQFV.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"NavLink",{enumerable:true,get:function(){return chunk24YBOQFV_cjs.a}});
1
+ 'use strict';var chunkBUNOVZ23_cjs=require('./chunks/chunk-BUNOVZ23.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"NavLink",{enumerable:true,get:function(){return chunkBUNOVZ23_cjs.a}});
package/dist/NavLink.js CHANGED
@@ -1 +1 @@
1
- export{a as NavLink}from'./chunks/chunk-KG3IXPCM.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as NavLink}from'./chunks/chunk-SC4PNYQT.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Panel.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkNFRGBE42_cjs=require('./chunks/chunk-NFRGBE42.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Panel",{enumerable:true,get:function(){return chunkNFRGBE42_cjs.a}});Object.defineProperty(exports,"PanelContent",{enumerable:true,get:function(){return chunkNFRGBE42_cjs.c}});Object.defineProperty(exports,"PanelHeader",{enumerable:true,get:function(){return chunkNFRGBE42_cjs.b}});
1
+ 'use strict';var chunkAEBULFON_cjs=require('./chunks/chunk-AEBULFON.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Panel",{enumerable:true,get:function(){return chunkAEBULFON_cjs.a}});Object.defineProperty(exports,"PanelContent",{enumerable:true,get:function(){return chunkAEBULFON_cjs.c}});Object.defineProperty(exports,"PanelHeader",{enumerable:true,get:function(){return chunkAEBULFON_cjs.b}});
package/dist/Panel.js CHANGED
@@ -1 +1 @@
1
- export{a as Panel,c as PanelContent,b as PanelHeader}from'./chunks/chunk-DCWKY33F.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as Panel,c as PanelContent,b as PanelHeader}from'./chunks/chunk-4VFV5U3S.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
@@ -1 +1 @@
1
- 'use strict';var chunkA7BECCRP_cjs=require('./chunks/chunk-A7BECCRP.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"ProgressBar",{enumerable:true,get:function(){return chunkA7BECCRP_cjs.a}});
1
+ 'use strict';var chunkW5UXZVLS_cjs=require('./chunks/chunk-W5UXZVLS.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"ProgressBar",{enumerable:true,get:function(){return chunkW5UXZVLS_cjs.a}});
@@ -1 +1 @@
1
- export{a as ProgressBar}from'./chunks/chunk-K4UGTWDR.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as ProgressBar}from'./chunks/chunk-FQZX67Z7.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Radio.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkWL4AMFUA_cjs=require('./chunks/chunk-WL4AMFUA.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Radio",{enumerable:true,get:function(){return chunkWL4AMFUA_cjs.b}});Object.defineProperty(exports,"RadioGroup",{enumerable:true,get:function(){return chunkWL4AMFUA_cjs.a}});
1
+ 'use strict';var chunkSLHD7PST_cjs=require('./chunks/chunk-SLHD7PST.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Radio",{enumerable:true,get:function(){return chunkSLHD7PST_cjs.b}});Object.defineProperty(exports,"RadioGroup",{enumerable:true,get:function(){return chunkSLHD7PST_cjs.a}});
package/dist/Radio.d.cts CHANGED
@@ -18,10 +18,12 @@ interface RadioGroupProps {
18
18
  /** Shared size for all child radios. */
19
19
  size?: VariantProps<typeof radioVariants>["size"];
20
20
  disabled?: boolean;
21
+ /** Layout direction of the radio buttons. @default 'vertical' */
22
+ orientation?: "vertical" | "horizontal";
21
23
  className?: string;
22
24
  children: React.ReactNode;
23
25
  }
24
- declare function RadioGroup({ name: nameProp, value: controlledValue, defaultValue, onValueChange, intent, size, disabled, className, children, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
26
+ declare function RadioGroup({ name: nameProp, value: controlledValue, defaultValue, onValueChange, intent, size, disabled, orientation, className, children, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
25
27
  type RadioProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & Omit<VariantProps<typeof radioVariants>, "checked"> & {
26
28
  /** The value of this radio option. */
27
29
  value: string;
package/dist/Radio.d.ts CHANGED
@@ -18,10 +18,12 @@ interface RadioGroupProps {
18
18
  /** Shared size for all child radios. */
19
19
  size?: VariantProps<typeof radioVariants>["size"];
20
20
  disabled?: boolean;
21
+ /** Layout direction of the radio buttons. @default 'vertical' */
22
+ orientation?: "vertical" | "horizontal";
21
23
  className?: string;
22
24
  children: React.ReactNode;
23
25
  }
24
- declare function RadioGroup({ name: nameProp, value: controlledValue, defaultValue, onValueChange, intent, size, disabled, className, children, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
26
+ declare function RadioGroup({ name: nameProp, value: controlledValue, defaultValue, onValueChange, intent, size, disabled, orientation, className, children, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
25
27
  type RadioProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & Omit<VariantProps<typeof radioVariants>, "checked"> & {
26
28
  /** The value of this radio option. */
27
29
  value: string;
package/dist/Radio.js CHANGED
@@ -1 +1 @@
1
- export{b as Radio,a as RadioGroup}from'./chunks/chunk-2TTIBHQ3.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{b as Radio,a as RadioGroup}from'./chunks/chunk-5XT6TJGF.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/SideNav.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkKVV5ZEYV_cjs=require('./chunks/chunk-KVV5ZEYV.cjs');require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"SideNav",{enumerable:true,get:function(){return chunkKVV5ZEYV_cjs.a}});
1
+ 'use strict';var chunkA6HIQADJ_cjs=require('./chunks/chunk-A6HIQADJ.cjs');require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"SideNav",{enumerable:true,get:function(){return chunkA6HIQADJ_cjs.a}});
@@ -61,7 +61,20 @@ interface SideNavProps extends React.HTMLAttributes<HTMLElement> {
61
61
  defaultExpandedKeys?: Set<string> | "all";
62
62
  /** Fires when a group is toggled. */
63
63
  onExpandedKeysChange?: (keys: Set<string>) => void;
64
+ /**
65
+ * Enable built-in responsive behaviour: a floating action button toggles a slide-in
66
+ * overlay drawer on narrow viewports, so the nav never occupies layout space on mobile.
67
+ * @default true
68
+ */
69
+ responsive?: boolean;
70
+ /** Viewport width (px) below which mobile mode activates. @default 768 */
71
+ mobileBreakpoint?: number;
72
+ /**
73
+ * Distance (px) from the top of the viewport where the mobile drawer starts.
74
+ * Set this to the height of your app's top bar. @default 48
75
+ */
76
+ mobileTopOffset?: number;
64
77
  }
65
- declare function SideNav({ items, title, basePath, onItemClick, LinkComponent, collapsible, collapseMode: controlledMode, defaultCollapseMode, onCollapseModeChange, showLines, expandedKeys: controlledExpandedKeys, defaultExpandedKeys, onExpandedKeysChange, className, ...props }: SideNavProps): react_jsx_runtime.JSX.Element;
78
+ declare function SideNav({ items, title, basePath, onItemClick, LinkComponent, collapsible, collapseMode: controlledMode, defaultCollapseMode, onCollapseModeChange, showLines, expandedKeys: controlledExpandedKeys, defaultExpandedKeys, onExpandedKeysChange, className, responsive, mobileBreakpoint, mobileTopOffset, ...props }: SideNavProps): react_jsx_runtime.JSX.Element;
66
79
 
67
80
  export { SideNav, type SideNavCollapseMode, type SideNavItem, type SideNavLinkComponentProps, type SideNavProps };
package/dist/SideNav.d.ts CHANGED
@@ -61,7 +61,20 @@ interface SideNavProps extends React.HTMLAttributes<HTMLElement> {
61
61
  defaultExpandedKeys?: Set<string> | "all";
62
62
  /** Fires when a group is toggled. */
63
63
  onExpandedKeysChange?: (keys: Set<string>) => void;
64
+ /**
65
+ * Enable built-in responsive behaviour: a floating action button toggles a slide-in
66
+ * overlay drawer on narrow viewports, so the nav never occupies layout space on mobile.
67
+ * @default true
68
+ */
69
+ responsive?: boolean;
70
+ /** Viewport width (px) below which mobile mode activates. @default 768 */
71
+ mobileBreakpoint?: number;
72
+ /**
73
+ * Distance (px) from the top of the viewport where the mobile drawer starts.
74
+ * Set this to the height of your app's top bar. @default 48
75
+ */
76
+ mobileTopOffset?: number;
64
77
  }
65
- declare function SideNav({ items, title, basePath, onItemClick, LinkComponent, collapsible, collapseMode: controlledMode, defaultCollapseMode, onCollapseModeChange, showLines, expandedKeys: controlledExpandedKeys, defaultExpandedKeys, onExpandedKeysChange, className, ...props }: SideNavProps): react_jsx_runtime.JSX.Element;
78
+ declare function SideNav({ items, title, basePath, onItemClick, LinkComponent, collapsible, collapseMode: controlledMode, defaultCollapseMode, onCollapseModeChange, showLines, expandedKeys: controlledExpandedKeys, defaultExpandedKeys, onExpandedKeysChange, className, responsive, mobileBreakpoint, mobileTopOffset, ...props }: SideNavProps): react_jsx_runtime.JSX.Element;
66
79
 
67
80
  export { SideNav, type SideNavCollapseMode, type SideNavItem, type SideNavLinkComponentProps, type SideNavProps };
package/dist/SideNav.js CHANGED
@@ -1 +1 @@
1
- export{a as SideNav}from'./chunks/chunk-SCSMM2J4.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as SideNav}from'./chunks/chunk-IFRKP7M2.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Spin.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkEQXC34N2_cjs=require('./chunks/chunk-EQXC34N2.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Spin",{enumerable:true,get:function(){return chunkEQXC34N2_cjs.a}});Object.defineProperty(exports,"useSpin",{enumerable:true,get:function(){return chunkEQXC34N2_cjs.b}});
1
+ 'use strict';var chunkXK7SMEDO_cjs=require('./chunks/chunk-XK7SMEDO.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Spin",{enumerable:true,get:function(){return chunkXK7SMEDO_cjs.a}});Object.defineProperty(exports,"useSpin",{enumerable:true,get:function(){return chunkXK7SMEDO_cjs.b}});
package/dist/Spin.js CHANGED
@@ -1 +1 @@
1
- export{a as Spin,b as useSpin}from'./chunks/chunk-H35HQKON.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as Spin,b as useSpin}from'./chunks/chunk-WQOSJM7L.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Switch.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkLCLJVRKK_cjs=require('./chunks/chunk-LCLJVRKK.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunkLCLJVRKK_cjs.a}});
1
+ 'use strict';var chunk6E5ARQBB_cjs=require('./chunks/chunk-6E5ARQBB.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Switch",{enumerable:true,get:function(){return chunk6E5ARQBB_cjs.a}});
package/dist/Switch.js CHANGED
@@ -1 +1 @@
1
- export{a as Switch}from'./chunks/chunk-WQA7PVJO.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as Switch}from'./chunks/chunk-XO6CNALX.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Table.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkX4OS5ODF_cjs=require('./chunks/chunk-X4OS5ODF.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"DataTable",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.i}});Object.defineProperty(exports,"SortableTable",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.h}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.a}});Object.defineProperty(exports,"TableBody",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.c}});Object.defineProperty(exports,"TableCell",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.f}});Object.defineProperty(exports,"TableEmpty",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.g}});Object.defineProperty(exports,"TableHead",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.e}});Object.defineProperty(exports,"TableHeader",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.b}});Object.defineProperty(exports,"TableRow",{enumerable:true,get:function(){return chunkX4OS5ODF_cjs.d}});
1
+ 'use strict';var chunkKCIICUZN_cjs=require('./chunks/chunk-KCIICUZN.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"DataTable",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.i}});Object.defineProperty(exports,"SortableTable",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.h}});Object.defineProperty(exports,"Table",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.a}});Object.defineProperty(exports,"TableBody",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.c}});Object.defineProperty(exports,"TableCell",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.f}});Object.defineProperty(exports,"TableEmpty",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.g}});Object.defineProperty(exports,"TableHead",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.e}});Object.defineProperty(exports,"TableHeader",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.b}});Object.defineProperty(exports,"TableRow",{enumerable:true,get:function(){return chunkKCIICUZN_cjs.d}});
package/dist/Table.d.cts CHANGED
@@ -5,7 +5,7 @@ import { tableVariants } from './theme.cjs';
5
5
  import 'class-variance-authority/types';
6
6
 
7
7
  type TableProps = React.TableHTMLAttributes<HTMLTableElement> & VariantProps<typeof tableVariants>;
8
- declare function Table({ intent, className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
8
+ declare function Table({ intent, density, className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
9
9
  declare function TableHeader({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): react_jsx_runtime.JSX.Element;
10
10
  declare function TableBody({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): react_jsx_runtime.JSX.Element;
11
11
  declare function TableRow({ className, ...props }: React.HTMLAttributes<HTMLTableRowElement>): react_jsx_runtime.JSX.Element;
@@ -43,6 +43,8 @@ type ColumnDef<T, K extends string = string> = {
43
43
  editable?: boolean;
44
44
  /** Extract a raw string value for editing. Falls back to cell(). */
45
45
  editValue?: (row: T) => string;
46
+ /** Hide this column below a given breakpoint. */
47
+ hideBelow?: "sm" | "md" | "lg";
46
48
  };
47
49
  type SortableTableProps<T, K extends string = string> = {
48
50
  columns: ColumnDef<T, K>[];
@@ -54,11 +56,12 @@ type SortableTableProps<T, K extends string = string> = {
54
56
  /** Render action buttons for each row. Receives the row data object. */
55
57
  rowActions?: (row: T) => React.ReactNode;
56
58
  intent?: VariantProps<typeof tableVariants>["intent"];
59
+ density?: VariantProps<typeof tableVariants>["density"];
57
60
  className?: string;
58
61
  /** Custom empty state props (icon, text). Shown when data is empty. */
59
62
  empty?: TableEmptyProps;
60
63
  };
61
- declare function SortableTable<T, K extends string = string>({ columns, data, sort: controlledSort, onSortChange, defaultSort, rowKey, rowActions, intent, className, empty, }: SortableTableProps<T, K>): react_jsx_runtime.JSX.Element;
64
+ declare function SortableTable<T, K extends string = string>({ columns, data, sort: controlledSort, onSortChange, defaultSort, rowKey, rowActions, intent, density, className, empty, }: SortableTableProps<T, K>): react_jsx_runtime.JSX.Element;
62
65
  type SelectionMode = "none" | "single" | "multiple";
63
66
  type DataTableProps<T, K extends string = string> = {
64
67
  /** Column definitions. */
@@ -89,10 +92,11 @@ type DataTableProps<T, K extends string = string> = {
89
92
  /** Render action buttons for each row. Receives the row data object. */
90
93
  rowActions?: (row: T) => React.ReactNode;
91
94
  intent?: VariantProps<typeof tableVariants>["intent"];
95
+ density?: VariantProps<typeof tableVariants>["density"];
92
96
  className?: string;
93
97
  /** Custom empty state props (icon, text). Shown when data is empty. */
94
98
  empty?: TableEmptyProps;
95
99
  };
96
- declare function DataTable<T, K extends string = string>({ columns, data, rowKey, sort: controlledSort, onSortChange, defaultSort, selectionMode, selected: controlledSelected, onSelectionChange, editable, onCellEdit, toolbar, onAdd, onDelete, rowActions, intent, className, empty, }: DataTableProps<T, K>): react_jsx_runtime.JSX.Element;
100
+ declare function DataTable<T, K extends string = string>({ columns, data, rowKey, sort: controlledSort, onSortChange, defaultSort, selectionMode, selected: controlledSelected, onSelectionChange, editable, onCellEdit, toolbar, onAdd, onDelete, rowActions, intent, density, className, empty, }: DataTableProps<T, K>): react_jsx_runtime.JSX.Element;
97
101
 
98
102
  export { type ColumnDef, DataTable, type DataTableProps, type SelectionMode, type SortDirection, type SortState, SortableTable, Table, TableBody, TableCell, TableEmpty, type TableEmptyProps, TableHead, TableHeader, TableRow };
package/dist/Table.d.ts CHANGED
@@ -5,7 +5,7 @@ import { tableVariants } from './theme.js';
5
5
  import 'class-variance-authority/types';
6
6
 
7
7
  type TableProps = React.TableHTMLAttributes<HTMLTableElement> & VariantProps<typeof tableVariants>;
8
- declare function Table({ intent, className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
8
+ declare function Table({ intent, density, className, ...props }: TableProps): react_jsx_runtime.JSX.Element;
9
9
  declare function TableHeader({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): react_jsx_runtime.JSX.Element;
10
10
  declare function TableBody({ className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): react_jsx_runtime.JSX.Element;
11
11
  declare function TableRow({ className, ...props }: React.HTMLAttributes<HTMLTableRowElement>): react_jsx_runtime.JSX.Element;
@@ -43,6 +43,8 @@ type ColumnDef<T, K extends string = string> = {
43
43
  editable?: boolean;
44
44
  /** Extract a raw string value for editing. Falls back to cell(). */
45
45
  editValue?: (row: T) => string;
46
+ /** Hide this column below a given breakpoint. */
47
+ hideBelow?: "sm" | "md" | "lg";
46
48
  };
47
49
  type SortableTableProps<T, K extends string = string> = {
48
50
  columns: ColumnDef<T, K>[];
@@ -54,11 +56,12 @@ type SortableTableProps<T, K extends string = string> = {
54
56
  /** Render action buttons for each row. Receives the row data object. */
55
57
  rowActions?: (row: T) => React.ReactNode;
56
58
  intent?: VariantProps<typeof tableVariants>["intent"];
59
+ density?: VariantProps<typeof tableVariants>["density"];
57
60
  className?: string;
58
61
  /** Custom empty state props (icon, text). Shown when data is empty. */
59
62
  empty?: TableEmptyProps;
60
63
  };
61
- declare function SortableTable<T, K extends string = string>({ columns, data, sort: controlledSort, onSortChange, defaultSort, rowKey, rowActions, intent, className, empty, }: SortableTableProps<T, K>): react_jsx_runtime.JSX.Element;
64
+ declare function SortableTable<T, K extends string = string>({ columns, data, sort: controlledSort, onSortChange, defaultSort, rowKey, rowActions, intent, density, className, empty, }: SortableTableProps<T, K>): react_jsx_runtime.JSX.Element;
62
65
  type SelectionMode = "none" | "single" | "multiple";
63
66
  type DataTableProps<T, K extends string = string> = {
64
67
  /** Column definitions. */
@@ -89,10 +92,11 @@ type DataTableProps<T, K extends string = string> = {
89
92
  /** Render action buttons for each row. Receives the row data object. */
90
93
  rowActions?: (row: T) => React.ReactNode;
91
94
  intent?: VariantProps<typeof tableVariants>["intent"];
95
+ density?: VariantProps<typeof tableVariants>["density"];
92
96
  className?: string;
93
97
  /** Custom empty state props (icon, text). Shown when data is empty. */
94
98
  empty?: TableEmptyProps;
95
99
  };
96
- declare function DataTable<T, K extends string = string>({ columns, data, rowKey, sort: controlledSort, onSortChange, defaultSort, selectionMode, selected: controlledSelected, onSelectionChange, editable, onCellEdit, toolbar, onAdd, onDelete, rowActions, intent, className, empty, }: DataTableProps<T, K>): react_jsx_runtime.JSX.Element;
100
+ declare function DataTable<T, K extends string = string>({ columns, data, rowKey, sort: controlledSort, onSortChange, defaultSort, selectionMode, selected: controlledSelected, onSelectionChange, editable, onCellEdit, toolbar, onAdd, onDelete, rowActions, intent, density, className, empty, }: DataTableProps<T, K>): react_jsx_runtime.JSX.Element;
97
101
 
98
102
  export { type ColumnDef, DataTable, type DataTableProps, type SelectionMode, type SortDirection, type SortState, SortableTable, Table, TableBody, TableCell, TableEmpty, type TableEmptyProps, TableHead, TableHeader, TableRow };
package/dist/Table.js CHANGED
@@ -1 +1 @@
1
- export{i as DataTable,h as SortableTable,a as Table,c as TableBody,f as TableCell,g as TableEmpty,e as TableHead,b as TableHeader,d as TableRow}from'./chunks/chunk-W2JIAB3E.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{i as DataTable,h as SortableTable,a as Table,c as TableBody,f as TableCell,g as TableEmpty,e as TableHead,b as TableHeader,d as TableRow}from'./chunks/chunk-I425OSJL.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Tabs.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkHSLG4VVI_cjs=require('./chunks/chunk-HSLG4VVI.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"TabContent",{enumerable:true,get:function(){return chunkHSLG4VVI_cjs.e}});Object.defineProperty(exports,"TabList",{enumerable:true,get:function(){return chunkHSLG4VVI_cjs.b}});Object.defineProperty(exports,"TabPanels",{enumerable:true,get:function(){return chunkHSLG4VVI_cjs.d}});Object.defineProperty(exports,"TabTrigger",{enumerable:true,get:function(){return chunkHSLG4VVI_cjs.c}});Object.defineProperty(exports,"Tabs",{enumerable:true,get:function(){return chunkHSLG4VVI_cjs.a}});
1
+ 'use strict';var chunkQC67HOC2_cjs=require('./chunks/chunk-QC67HOC2.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"TabContent",{enumerable:true,get:function(){return chunkQC67HOC2_cjs.e}});Object.defineProperty(exports,"TabList",{enumerable:true,get:function(){return chunkQC67HOC2_cjs.b}});Object.defineProperty(exports,"TabPanels",{enumerable:true,get:function(){return chunkQC67HOC2_cjs.d}});Object.defineProperty(exports,"TabTrigger",{enumerable:true,get:function(){return chunkQC67HOC2_cjs.c}});Object.defineProperty(exports,"Tabs",{enumerable:true,get:function(){return chunkQC67HOC2_cjs.a}});
package/dist/Tabs.d.cts CHANGED
@@ -13,7 +13,9 @@ type TabsProps = {
13
13
  className?: string;
14
14
  };
15
15
  declare function Tabs({ defaultValue, value, onValueChange, intent, children, className, }: TabsProps): react_jsx_runtime.JSX.Element;
16
- declare function TabList({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
16
+ declare function TabList({ className, scrollable, ...props }: React.HTMLAttributes<HTMLDivElement> & {
17
+ scrollable?: boolean;
18
+ }): react_jsx_runtime.JSX.Element;
17
19
  type TabTriggerProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
18
20
  value: string;
19
21
  };
package/dist/Tabs.d.ts CHANGED
@@ -13,7 +13,9 @@ type TabsProps = {
13
13
  className?: string;
14
14
  };
15
15
  declare function Tabs({ defaultValue, value, onValueChange, intent, children, className, }: TabsProps): react_jsx_runtime.JSX.Element;
16
- declare function TabList({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
16
+ declare function TabList({ className, scrollable, ...props }: React.HTMLAttributes<HTMLDivElement> & {
17
+ scrollable?: boolean;
18
+ }): react_jsx_runtime.JSX.Element;
17
19
  type TabTriggerProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
18
20
  value: string;
19
21
  };
package/dist/Tabs.js CHANGED
@@ -1 +1 @@
1
- export{e as TabContent,b as TabList,d as TabPanels,c as TabTrigger,a as Tabs}from'./chunks/chunk-BGUKKSPF.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{e as TabContent,b as TabList,d as TabPanels,c as TabTrigger,a as Tabs}from'./chunks/chunk-CMHBPMXE.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Tooltip.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkMSBDCLPM_cjs=require('./chunks/chunk-MSBDCLPM.cjs');require('./chunks/chunk-NYTZZ5ZX.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkMSBDCLPM_cjs.a}});
1
+ 'use strict';var chunkJRYYWYGV_cjs=require('./chunks/chunk-JRYYWYGV.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Tooltip",{enumerable:true,get:function(){return chunkJRYYWYGV_cjs.a}});
@@ -11,7 +11,9 @@ type TooltipProps = VariantProps<typeof tooltipVariants> & {
11
11
  delay?: number;
12
12
  children: React.ReactNode;
13
13
  className?: string;
14
+ /** Maximum width of the tooltip. Allows text to wrap. @default undefined (no wrap) */
15
+ maxWidth?: string | number;
14
16
  };
15
- declare function Tooltip({ content, position, intent, delay, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
17
+ declare function Tooltip({ content, position, intent, delay, maxWidth, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
16
18
 
17
19
  export { Tooltip };
package/dist/Tooltip.d.ts CHANGED
@@ -11,7 +11,9 @@ type TooltipProps = VariantProps<typeof tooltipVariants> & {
11
11
  delay?: number;
12
12
  children: React.ReactNode;
13
13
  className?: string;
14
+ /** Maximum width of the tooltip. Allows text to wrap. @default undefined (no wrap) */
15
+ maxWidth?: string | number;
14
16
  };
15
- declare function Tooltip({ content, position, intent, delay, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
17
+ declare function Tooltip({ content, position, intent, delay, maxWidth, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
16
18
 
17
19
  export { Tooltip };
package/dist/Tooltip.js CHANGED
@@ -1 +1 @@
1
- export{a as Tooltip}from'./chunks/chunk-T3WU6A7R.js';import'./chunks/chunk-H6MHL66N.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as Tooltip}from'./chunks/chunk-AN2R5URJ.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
package/dist/Tree.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunk7QV2AV32_cjs=require('./chunks/chunk-7QV2AV32.cjs');require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Tree",{enumerable:true,get:function(){return chunk7QV2AV32_cjs.a}});Object.defineProperty(exports,"TreeItem",{enumerable:true,get:function(){return chunk7QV2AV32_cjs.b}});
1
+ 'use strict';var chunkUEGTVAFV_cjs=require('./chunks/chunk-UEGTVAFV.cjs');require('./chunks/chunk-2JLNRAXS.cjs'),require('./chunks/chunk-X5YP5TMY.cjs');Object.defineProperty(exports,"Tree",{enumerable:true,get:function(){return chunkUEGTVAFV_cjs.a}});Object.defineProperty(exports,"TreeItem",{enumerable:true,get:function(){return chunkUEGTVAFV_cjs.b}});
package/dist/Tree.d.cts CHANGED
@@ -15,8 +15,10 @@ type TreeProps = React.HTMLAttributes<HTMLUListElement> & {
15
15
  defaultExpandedKeys?: Set<string> | "all";
16
16
  /** Fires when a node is toggled. */
17
17
  onExpandedKeysChange?: (keys: Set<string>) => void;
18
+ /** Controls item text and icon sizing. @default 'md' */
19
+ size?: "sm" | "md" | "lg";
18
20
  };
19
- declare function Tree({ showLines, showRoot, expandedKeys: controlledKeys, defaultExpandedKeys, onExpandedKeysChange, className, children, ...props }: TreeProps): react_jsx_runtime.JSX.Element;
21
+ declare function Tree({ showLines, showRoot, expandedKeys: controlledKeys, defaultExpandedKeys, onExpandedKeysChange, size, className, children, ...props }: TreeProps): react_jsx_runtime.JSX.Element;
20
22
  type TreeItemProps = {
21
23
  /** Unique key for programmatic expand control. Falls back to label string. */
22
24
  nodeKey?: string;
package/dist/Tree.d.ts CHANGED
@@ -15,8 +15,10 @@ type TreeProps = React.HTMLAttributes<HTMLUListElement> & {
15
15
  defaultExpandedKeys?: Set<string> | "all";
16
16
  /** Fires when a node is toggled. */
17
17
  onExpandedKeysChange?: (keys: Set<string>) => void;
18
+ /** Controls item text and icon sizing. @default 'md' */
19
+ size?: "sm" | "md" | "lg";
18
20
  };
19
- declare function Tree({ showLines, showRoot, expandedKeys: controlledKeys, defaultExpandedKeys, onExpandedKeysChange, className, children, ...props }: TreeProps): react_jsx_runtime.JSX.Element;
21
+ declare function Tree({ showLines, showRoot, expandedKeys: controlledKeys, defaultExpandedKeys, onExpandedKeysChange, size, className, children, ...props }: TreeProps): react_jsx_runtime.JSX.Element;
20
22
  type TreeItemProps = {
21
23
  /** Unique key for programmatic expand control. Falls back to label string. */
22
24
  nodeKey?: string;
package/dist/Tree.js CHANGED
@@ -1 +1 @@
1
- export{a as Tree,b as TreeItem}from'./chunks/chunk-R7ZKMSZ3.js';import'./chunks/chunk-AXBJKPZZ.js';
1
+ export{a as Tree,b as TreeItem}from'./chunks/chunk-ITWFMFVO.js';import'./chunks/chunk-XAOBJSFW.js';import'./chunks/chunk-AXBJKPZZ.js';
@@ -0,0 +1 @@
1
+ 'use strict';var classVarianceAuthority=require('class-variance-authority');var a=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:shrink-0",{variants:{intent:{primary:"bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700",secondary:"bg-secondary-500 text-white hover:bg-secondary-600 active:bg-secondary-700",danger:"bg-danger-500 text-white hover:bg-danger-600 active:bg-danger-700",warning:"bg-warning-500 text-white hover:bg-warning-600 active:bg-warning-700",ghost:"bg-transparent text-primary-700 hover:bg-primary-100 active:bg-primary-200 dark:text-primary-300 dark:hover:bg-primary-800",outline:"border border-primary-300 bg-transparent text-primary-700 hover:bg-primary-50 dark:border-primary-600 dark:text-primary-300 dark:hover:bg-primary-800"},size:{sm:"h-7 px-3 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"h-9 px-4 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"h-11 px-6 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{intent:"primary",size:"md"}}),t=classVarianceAuthority.cva("inline-flex items-center gap-1 rounded border font-semibold [&_svg]:shrink-0",{variants:{intent:{success:"border-success-200 bg-success-100 text-success-800 dark:border-success-800 dark:bg-success-900/30 dark:text-success-400",warning:"border-warning-200 bg-warning-100 text-warning-800 dark:border-warning-800 dark:bg-warning-900/30 dark:text-warning-400",error:"border-danger-200 bg-danger-100 text-danger-800 dark:border-danger-800 dark:bg-danger-900/30 dark:text-danger-400",info:"border-primary-200 bg-primary-100 text-primary-800 dark:border-primary-800 dark:bg-primary-900/30 dark:text-primary-400",primary:"border-secondary-200 bg-secondary-100 text-secondary-700 dark:border-secondary-700 dark:bg-secondary-800 dark:text-secondary-300"},size:{sm:"px-1.5 py-0 text-[0.625rem] [&_svg]:h-2.5 [&_svg]:w-2.5",md:"px-2.5 py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",lg:"px-3 py-1 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5"}},defaultVariants:{intent:"primary",size:"md"}}),i=classVarianceAuthority.cva("absolute flex items-center justify-center rounded-full font-bold leading-none ring-2 ring-white select-none pointer-events-none z-10 dark:ring-primary-900",{variants:{intent:{danger:"bg-danger-500 text-white",success:"bg-success-500 text-white",warning:"bg-warning-500 text-white",info:"bg-primary-500 text-white",primary:"bg-secondary-500 text-white"},size:{sm:"text-[0.5rem]",md:"text-[0.625rem]",lg:"text-xs"},dot:{true:"",false:""},placement:{"top-right":"top-0 right-0 translate-x-1/2 -translate-y-1/2","top-left":"top-0 left-0 -translate-x-1/2 -translate-y-1/2","bottom-right":"bottom-0 right-0 translate-x-1/2 translate-y-1/2","bottom-left":"bottom-0 left-0 -translate-x-1/2 translate-y-1/2"}},compoundVariants:[{dot:true,size:"sm",class:"h-1.5 w-1.5 min-w-0 ring-1"},{dot:true,size:"md",class:"h-2 w-2 min-w-0"},{dot:true,size:"lg",class:"h-2.5 w-2.5 min-w-0"},{dot:false,size:"sm",class:"h-4 min-w-4 px-1"},{dot:false,size:"md",class:"h-5 min-w-5 px-1.5"},{dot:false,size:"lg",class:"h-6 min-w-6 px-2"}],defaultVariants:{intent:"danger",size:"md",dot:false,placement:"top-right"}}),n=classVarianceAuthority.cva("w-full rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none focus:ring-2 dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",{variants:{state:{default:"border-secondary-300 focus:border-primary-500 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-danger-500/20"},size:{sm:"h-7 px-2 text-xs",md:"h-9 px-3 py-2 text-sm",lg:"h-11 px-4 py-2.5 text-base"}},defaultVariants:{state:"default",size:"md"}}),s=classVarianceAuthority.cva("inline-flex items-center gap-1 font-medium [&_svg]:shrink-0",{variants:{size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},intent:{default:"text-primary-700 dark:text-primary-300",muted:"text-primary-400 dark:text-primary-500",required:"text-primary-700 dark:text-primary-300 after:ml-0.5 after:text-danger-500 after:content-['*']"}},defaultVariants:{size:"md",intent:"default"}}),d=classVarianceAuthority.cva("rounded-lg transition-shadow",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",elevated:"bg-white shadow-md hover:shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25 dark:hover:shadow-primary-200/30",outlined:"border-2 border-primary-300 bg-transparent dark:border-primary-600",ghost:"bg-primary-50 dark:bg-primary-800/50"},size:{sm:"p-3",md:"p-5",lg:"p-7"}},defaultVariants:{intent:"default",size:"md"}}),o=classVarianceAuthority.cva("rounded-md",{variants:{intent:{default:"border border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",inset:"bg-primary-50 dark:bg-primary-800/50",elevated:"bg-white shadow-lg dark:bg-primary-800 dark:shadow-primary-300/25"},size:{sm:"p-3",md:"p-4",lg:"p-6"}},defaultVariants:{intent:"default",size:"md"}}),g=classVarianceAuthority.cva("w-full text-left text-sm",{variants:{intent:{default:"",striped:"[&_tbody_tr:nth-child(even)]:bg-primary-50 dark:[&_tbody_tr:nth-child(even)]:bg-primary-800/30",bordered:"[&_th]:border [&_td]:border [&_th]:border-primary-200 [&_td]:border-primary-200 dark:[&_th]:border-primary-700 dark:[&_td]:border-primary-700"},density:{compact:"[&_th]:px-2 [&_th]:py-1 [&_td]:px-2 [&_td]:py-1",default:"",relaxed:"[&_th]:px-6 [&_th]:py-5 [&_td]:px-6 [&_td]:py-5"}},defaultVariants:{intent:"default",density:"default"}}),c=classVarianceAuthority.cva("text-sm text-primary-700 dark:text-primary-300",{variants:{intent:{default:"space-y-1",bordered:"divide-y divide-primary-200 rounded-lg border border-primary-200 dark:divide-primary-700 dark:border-primary-700 [&>li]:px-4 [&>li]:py-2",hover:"[&>li]:rounded-md [&>li]:px-3 [&>li]:py-2 [&>li]:transition-colors [&>li:hover]:bg-primary-50 dark:[&>li:hover]:bg-primary-800/50"}},defaultVariants:{intent:"default"}}),m=classVarianceAuthority.cva("flex w-full items-center justify-between font-medium transition-all [&_svg]:shrink-0",{variants:{size:{sm:"py-2 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-3 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-4 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),p=classVarianceAuthority.cva("",{variants:{size:{sm:"pb-2 text-xs",md:"pb-3 text-sm",lg:"pb-4 text-base"}},defaultVariants:{size:"md"}}),l=classVarianceAuthority.cva("divide-y",{variants:{intent:{default:"divide-primary-300 dark:divide-primary-700",bordered:"divide-primary-300 rounded-lg border border-primary-300 bg-white px-3 shadow-sm dark:divide-primary-700 dark:border-primary-700 dark:bg-primary-800/50",ghost:"divide-transparent"}},defaultVariants:{intent:"default"}}),b=classVarianceAuthority.cva("group flex w-full items-center gap-1.5 text-left [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3 [&_svg]:w-3",md:"py-1.5 text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"py-2 text-base [&_svg]:h-4 [&_svg]:w-4"}},defaultVariants:{size:"md"}}),y=classVarianceAuthority.cva("flex cursor-pointer items-center gap-1 rounded transition-colors [&_svg]:shrink-0",{variants:{size:{sm:"py-0.5 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5",md:"py-1 text-sm [&_svg]:h-4 [&_svg]:w-4",lg:"py-1.5 text-base [&_svg]:h-5 [&_svg]:w-5"}},defaultVariants:{size:"md"}}),x=classVarianceAuthority.cva("flex",{variants:{intent:{line:"border-b border-primary-200 dark:border-primary-700",pills:"gap-1 rounded-lg bg-primary-100 p-1 dark:bg-primary-800",underline:"gap-4"}},defaultVariants:{intent:"line"}}),u=classVarianceAuthority.cva("inline-flex cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",{variants:{intent:{line:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:data-[active=true]:text-primary-100",pills:"rounded-md text-primary-600 hover:text-primary-900 data-[active=true]:bg-white data-[active=true]:text-primary-900 data-[active=true]:shadow-sm dark:text-primary-400 dark:hover:text-primary-100 dark:data-[active=true]:bg-primary-700 dark:data-[active=true]:text-primary-100",underline:"text-primary-500 hover:text-primary-700 data-[active=true]:text-primary-900 dark:text-primary-400 dark:data-[active=true]:text-primary-100"}},defaultVariants:{intent:"line"}}),f=classVarianceAuthority.cva("rounded-lg bg-white p-6 shadow-xl dark:bg-primary-900",{variants:{size:{sm:"w-full max-w-sm",md:"w-full max-w-lg",lg:"w-full max-w-2xl",xl:"w-full max-w-4xl",full:"h-[calc(100vh-4rem)] w-[calc(100vw-4rem)]"}},defaultVariants:{size:"md"}}),v=classVarianceAuthority.cva("absolute z-50 rounded px-2 py-1 text-xs shadow-md animate-fade-in",{variants:{intent:{default:"bg-primary-900 text-white dark:bg-primary-100 dark:text-primary-900",light:"border border-primary-200 bg-white text-primary-700 dark:border-primary-600 dark:bg-primary-800 dark:text-primary-200"}},defaultVariants:{intent:"default"}}),k=classVarianceAuthority.cva("inline-flex items-center gap-1 underline-offset-2 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/20 [&_svg]:shrink-0",{variants:{intent:{default:"text-primary-600 hover:text-primary-800 active:text-primary-900 dark:text-primary-400 dark:hover:text-primary-200 dark:active:text-primary-100",secondary:"text-secondary-500 hover:text-secondary-700 active:text-secondary-800 dark:text-secondary-400 dark:hover:text-secondary-200 dark:active:text-secondary-100",muted:"text-primary-400 hover:text-primary-600 dark:text-primary-500 dark:hover:text-primary-300"},size:{sm:"text-xs [&_svg]:h-3 [&_svg]:w-3",md:"text-sm [&_svg]:h-3.5 [&_svg]:w-3.5",lg:"text-base [&_svg]:h-4 [&_svg]:w-4"},underline:{always:"underline",hover:"hover:underline",none:"no-underline"}},defaultVariants:{intent:"default",size:"md",underline:"none"}}),h=classVarianceAuthority.cva("overflow-x-auto rounded-lg font-mono [&_pre]:m-0 [&_pre]:p-4 [&_code]:bg-transparent",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),w=classVarianceAuthority.cva("relative w-full overflow-hidden rounded-full bg-primary-200 dark:bg-primary-700",{variants:{size:{xs:"h-1",sm:"h-2",md:"h-3",lg:"h-4"},intent:{primary:"[&_.progress-fill]:bg-primary-500",success:"[&_.progress-fill]:bg-success-500",warning:"[&_.progress-fill]:bg-warning-500",danger:"[&_.progress-fill]:bg-danger-500"},edge:{none:"rounded-full",top:"fixed top-0 left-0 z-50 rounded-none",bottom:"fixed bottom-0 left-0 z-50 rounded-none"}},defaultVariants:{size:"md",intent:"primary",edge:"none"}}),_=classVarianceAuthority.cva("text-primary-500 dark:text-primary-400",{variants:{size:{sm:"text-xs",md:"text-sm",lg:"text-base"}},defaultVariants:{size:"md"}}),V=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4 rounded-[3px]",md:"h-5 w-5 rounded",lg:"h-6 w-6 rounded-[5px]"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),z=classVarianceAuthority.cva("relative inline-flex shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",{variants:{intent:{primary:"border-primary-300 dark:border-primary-600 focus-visible:ring-primary-500/40",secondary:"border-secondary-300 dark:border-secondary-600 focus-visible:ring-secondary-500/40",danger:"border-danger-300 dark:border-danger-600 focus-visible:ring-danger-500/40",warning:"border-warning-300 dark:border-warning-600 focus-visible:ring-warning-500/40",success:"border-success-300 dark:border-success-600 focus-visible:ring-success-500/40"},size:{sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6"},checked:{on:"",off:"bg-white dark:bg-primary-900"}},compoundVariants:[{intent:"primary",checked:"on",class:"border-primary-500 bg-primary-500 dark:border-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"border-secondary-500 bg-secondary-500 dark:border-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"border-danger-500 bg-danger-500 dark:border-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"border-warning-500 bg-warning-500 dark:border-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"border-success-500 bg-success-500 dark:border-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),j=classVarianceAuthority.cva("",{variants:{intent:{primary:"",secondary:"",danger:"",warning:"",success:""},size:{sm:"",md:"",lg:""},checked:{on:"",off:"bg-primary-300 dark:bg-primary-800"}},compoundVariants:[{intent:"primary",checked:"on",class:"bg-primary-500 dark:bg-primary-500"},{intent:"secondary",checked:"on",class:"bg-secondary-500 dark:bg-secondary-500"},{intent:"danger",checked:"on",class:"bg-danger-500 dark:bg-danger-500"},{intent:"warning",checked:"on",class:"bg-warning-500 dark:bg-warning-500"},{intent:"success",checked:"on",class:"bg-success-500 dark:bg-success-500"}],defaultVariants:{intent:"primary",size:"md",checked:"off"}}),I=classVarianceAuthority.cva("pointer-events-auto flex items-start gap-3 rounded-lg border p-4 shadow-lg transition-all",{variants:{intent:{success:"border-success-200 bg-success-50 text-success-800 dark:border-success-800 dark:bg-success-900/80 dark:text-success-200",warning:"border-warning-200 bg-warning-50 text-warning-800 dark:border-warning-800 dark:bg-warning-900/80 dark:text-warning-200",error:"border-danger-200 bg-danger-50 text-danger-800 dark:border-danger-800 dark:bg-danger-900/80 dark:text-danger-200",info:"border-primary-200 bg-primary-50 text-primary-800 dark:border-primary-800 dark:bg-primary-900/80 dark:text-primary-200"}},defaultVariants:{intent:"info"}}),T=classVarianceAuthority.cva("w-full",{variants:{intent:{default:"",card:"rounded-(--form-radius) border border-primary-200 bg-white p-6 shadow-sm dark:border-primary-700 dark:bg-primary-900",inset:"rounded-(--form-radius) bg-primary-50 p-6 dark:bg-primary-800/50"},size:{sm:"",md:"",lg:""}},defaultVariants:{intent:"default",size:"md"}}),B=classVarianceAuthority.cva("flex w-full",{variants:{layout:{stacked:"flex-col gap-1.5",inline:"flex-row items-start gap-(--form-item-gap-md)"},size:{sm:"",md:"",lg:""}},defaultVariants:{layout:"stacked",size:"md"}}),C=classVarianceAuthority.cva("mt-1 flex items-center gap-1 text-xs [&_svg]:h-3.5 [&_svg]:w-3.5 [&_svg]:shrink-0",{variants:{status:{error:"text-danger-600 dark:text-danger-400",warning:"text-warning-600 dark:text-warning-400",success:"text-success-600 dark:text-success-400",hint:"text-primary-400 dark:text-primary-500"}},defaultVariants:{status:"hint"}});exports.A=T;exports.B=B;exports.C=C;exports.a=a;exports.b=t;exports.c=i;exports.d=n;exports.e=s;exports.f=d;exports.g=o;exports.h=g;exports.i=c;exports.j=m;exports.k=p;exports.l=l;exports.m=b;exports.n=y;exports.o=x;exports.p=u;exports.q=f;exports.r=v;exports.s=k;exports.t=h;exports.u=w;exports.v=_;exports.w=V;exports.x=z;exports.y=j;exports.z=I;
@@ -1 +1 @@
1
- 'use strict';var chunkNYTZZ5ZX_cjs=require('./chunk-NYTZZ5ZX.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function m({intent:r,size:n,className:p,...a}){return jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a(chunkNYTZZ5ZX_cjs.a({intent:r,size:n}),p),...a})}exports.a=m;
1
+ 'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function m({intent:r,size:n,className:p,...a}){return jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.a({intent:r,size:n}),p),...a})}exports.a=m;
@@ -0,0 +1 @@
1
+ import {q}from'./chunk-XAOBJSFW.js';import {a as a$1}from'./chunk-AXBJKPZZ.js';import {createContext,useId,useEffect,useContext}from'react';import {createPortal}from'react-dom';import {X}from'lucide-react';import {jsx}from'react/jsx-runtime';var a=[];function k(e){a.push(e);}function O(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1);}function f(e){return a.length>0&&a[a.length-1]===e}function H(e){let t=a.indexOf(e);return t!==-1?t:a.length}var g=createContext(null);function R({open:e,onOpenChange:t,modal:i=true,closeOnOutsideClick:s=false,children:c}){let o=useId();return useEffect(()=>{if(e)return k(o),()=>O(o)},[e,o]),useEffect(()=>{if(!e||!i)return;let l=d=>{d.key==="Escape"&&f(o)&&t(false);};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,i,t,o]),useEffect(()=>{if(!e||!i)return;let l=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=l;}},[e,i]),e?jsx(g.Provider,{value:{id:o,onOpenChange:t,modal:i,closeOnOutsideClick:s},children:createPortal(c,document.body)}):null}function A({size:e,position:t="center",className:i,children:s,...c}){let o=useContext(g);if(!o)return null;let d=200+H(o.id)*10,y=()=>{o.closeOnOutsideClick&&f(o.id)&&o.onOpenChange(false);},x=t==="bottom";return o.modal?jsx("div",{className:a$1("animate-fade-in fixed inset-0 bg-black/50",x?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:d},onClick:y,children:jsx("div",{className:a$1(q({size:e}),x?"animate-slide-in-bottom w-full rounded-b-none rounded-t-[var(--dialog-sheet-radius)] max-h-[85vh] overflow-y-auto":"animate-scale-in",i),role:"dialog","aria-modal":"true",onClick:u=>u.stopPropagation(),...c,children:s})}):jsx("div",{className:a$1("fixed inset-0 flex items-center justify-center p-4",o.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:d},onClick:o.closeOnOutsideClick&&f(o.id)?()=>o.onOpenChange(false):void 0,children:jsx("div",{className:a$1(q({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",i),role:"dialog",onClick:o.closeOnOutsideClick?u=>u.stopPropagation():void 0,...c,children:s})})}function B({className:e,...t}){return jsx("div",{className:a$1("mb-4 space-y-1",e),...t})}function V({className:e,...t}){return jsx("h2",{className:a$1("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function j({className:e,...t}){return jsx("p",{className:a$1("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function _({className:e,...t}){return jsx("div",{className:a$1("mt-6 flex justify-end gap-2",e),...t})}function I({className:e,...t}){let i=useContext(g);return jsx("button",{className:a$1("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>i?.onOpenChange(false),"aria-label":"Close",...t,children:jsx(X,{className:"h-4 w-4"})})}export{R as a,A as b,B as c,V as d,j as e,_ as f,I as g};
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import X,{useState,useRef,useEffect,useCallback,useMemo}from'react';import {ChevronDown,Check}from'lucide-react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';function ee(n,t){return n.key??(typeof n.label=="string"?n.label:String(t))}var C=40,$=150,q=120;function F(n,t,y,g){return g?y?{animation:"var(--animate-dropdown-item-out)",animationDelay:`${(t-1-n)*C}ms`}:{animation:"var(--animate-dropdown-item-in)",animationDelay:`${n*C}ms`}:{}}function te(n,t,y){if(!y)return {};if(t){let g=Math.max(n-1,0)*C+$;return {animation:`dropdown-container-out ${q}ms ease-in both`,animationDelay:`${g}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ie({label:n,items:t,intent:y,size:g,align:_="left",className:U,disabled:R,editable:x=false,onAddItem:B,multiple:s=false,selected:l=[],onSelectionChange:H,animated:m=true,...j}){let[o,k]=useState(false),[N,T]=useState(false),[c,p]=useState(""),M=useRef(null),K=useRef(null),d=useRef(void 0);useEffect(()=>()=>{d.current&&clearTimeout(d.current);},[]);let f=useCallback(()=>{if(!m||!o){k(false),p("");return}T(true);let r=(Math.max(t.length,1)-1)*C+$+q+20;d.current=setTimeout(()=>{k(false),T(false),p("");},r);},[m,o,t.length]),z=useCallback(()=>{R||(o?f():(d.current&&clearTimeout(d.current),T(false),k(true),p(""),x&&requestAnimationFrame(()=>K.current?.focus())));},[R,o,f,x]);useEffect(()=>{if(!o)return;let e=r=>{M.current&&!M.current.contains(r.target)&&f();};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,f]),useEffect(()=>{if(!o)return;let e=r=>{r.key==="Escape"&&f();};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,f]);let E=c.toLowerCase(),h=useMemo(()=>c?t.filter(e=>(typeof e.label=="string"?e.label:e.key??"").toLowerCase().includes(E)):t,[t,E]),b=useMemo(()=>!x||!c.trim()?false:!t.some(e=>(typeof e.label=="string"?e.label:e.key??"").toLowerCase()===E),[x,E,t]),D=useCallback(()=>{let e=c.trim();e&&(B?.(e),p(""));},[c,B]),G=useCallback(e=>{e.key==="Enter"&&b&&(e.preventDefault(),D());},[b,D]),J=useCallback(e=>{let r=l.includes(e)?l.filter(v=>v!==e):[...l,e];H?.(r);},[l,H]),Q=s&&l.length>0?jsxs(Fragment,{children:[n," ",jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:l.length})]}):n,W=h.length===0&&!b||b?1:0,I=h.length+W;return jsxs("div",{ref:M,className:"relative inline-block",children:[jsxs("button",{type:"button",onClick:z,disabled:R,className:a(a$1({intent:y,size:g}),"inline-flex items-center gap-1",U),"aria-haspopup":s?"listbox":"true","aria-expanded":o?"true":"false",...j,children:[Q,jsx(ChevronDown,{className:a("h-3.5 w-3.5 transition-transform",o&&"rotate-180")})]}),o&&jsxs("div",{className:a("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",_==="right"?"right-0":"left-0"),style:te(I,N,m),role:s?"listbox":"menu","aria-multiselectable":s||void 0,children:[x&&jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsx("input",{ref:K,type:"text",value:c,onChange:e=>p(e.target.value),onKeyDown:G,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxs("div",{className:"max-h-60 overflow-y-auto",children:[h.map((e,r)=>{let v=ee(e,r),L=s&&l.includes(v);return jsxs(X.Fragment,{children:[e.divider&&jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxs("button",{type:"button",role:s?"option":"menuitem","aria-selected":s?L:void 0,disabled:e.disabled,className:a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",e.disabled&&"pointer-events-none opacity-50"),style:F(r,I,N,m),onClick:()=>{s?J(v):(e.onClick?.(),d.current&&clearTimeout(d.current),k(false),T(false),p(""));},children:[s&&jsx("span",{className:a("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",L?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:L&&jsx(Check,{className:"h-3 w-3"})}),jsx("span",{className:"flex-1 truncate",children:e.label})]})]},v)}),h.length===0&&!b&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:F(0,1,N,m),children:"No matches"}),b&&jsxs("button",{type:"button",className:a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:F(h.length,I,N,m),onClick:D,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",c.trim(),"\u201D"]})]})]})]})]})}export{ie as a};