@lglab/compose-ui 0.28.0 → 0.30.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 (213) hide show
  1. package/dist/accordion.d.ts +49 -40
  2. package/dist/accordion.d.ts.map +1 -0
  3. package/dist/accordion.js +47 -45
  4. package/dist/accordion.js.map +1 -0
  5. package/dist/alert-dialog.d.ts +93 -87
  6. package/dist/alert-dialog.d.ts.map +1 -0
  7. package/dist/alert-dialog.js +94 -111
  8. package/dist/alert-dialog.js.map +1 -0
  9. package/dist/autocomplete.d.ts +99 -96
  10. package/dist/autocomplete.d.ts.map +1 -0
  11. package/dist/autocomplete.js +92 -116
  12. package/dist/autocomplete.js.map +1 -0
  13. package/dist/avatar.d.ts +56 -47
  14. package/dist/avatar.d.ts.map +1 -0
  15. package/dist/avatar.js +66 -79
  16. package/dist/avatar.js.map +1 -0
  17. package/dist/badge.d.ts +48 -42
  18. package/dist/badge.d.ts.map +1 -0
  19. package/dist/badge.js +195 -202
  20. package/dist/badge.js.map +1 -0
  21. package/dist/button.d.ts +26 -21
  22. package/dist/button.d.ts.map +1 -0
  23. package/dist/button.js +24 -24
  24. package/dist/button.js.map +1 -0
  25. package/dist/card.d.ts +105 -99
  26. package/dist/card.d.ts.map +1 -0
  27. package/dist/card.js +105 -66
  28. package/dist/card.js.map +1 -0
  29. package/dist/checkbox-group.d.ts +16 -12
  30. package/dist/checkbox-group.d.ts.map +1 -0
  31. package/dist/checkbox-group.js +18 -14
  32. package/dist/checkbox-group.js.map +1 -0
  33. package/dist/checkbox.d.ts +25 -19
  34. package/dist/checkbox.d.ts.map +1 -0
  35. package/dist/checkbox.js +26 -32
  36. package/dist/checkbox.js.map +1 -0
  37. package/dist/collapsible.d.ts +32 -26
  38. package/dist/collapsible.d.ts.map +1 -0
  39. package/dist/collapsible.js +32 -32
  40. package/dist/collapsible.js.map +1 -0
  41. package/dist/combobox.d.ts +191 -182
  42. package/dist/combobox.d.ts.map +1 -0
  43. package/dist/combobox.js +176 -250
  44. package/dist/combobox.js.map +1 -0
  45. package/dist/components/table/filters.d.ts +29 -0
  46. package/dist/components/table/filters.d.ts.map +1 -0
  47. package/dist/components/table/filters.js +47 -0
  48. package/dist/components/table/filters.js.map +1 -0
  49. package/dist/components/table/primitives.d.ts +93 -0
  50. package/dist/components/table/primitives.d.ts.map +1 -0
  51. package/dist/components/table/primitives.js +129 -0
  52. package/dist/components/table/primitives.js.map +1 -0
  53. package/dist/components/table/sort.js +17 -0
  54. package/dist/components/table/sort.js.map +1 -0
  55. package/dist/components/table/types.d.ts +101 -0
  56. package/dist/components/table/types.d.ts.map +1 -0
  57. package/dist/context-menu.d.ts +151 -138
  58. package/dist/context-menu.d.ts.map +1 -0
  59. package/dist/context-menu.js +151 -173
  60. package/dist/context-menu.js.map +1 -0
  61. package/dist/dialog.d.ts +101 -92
  62. package/dist/dialog.d.ts.map +1 -0
  63. package/dist/dialog.js +101 -105
  64. package/dist/dialog.js.map +1 -0
  65. package/dist/drawer.d.ts +109 -99
  66. package/dist/drawer.d.ts.map +1 -0
  67. package/dist/drawer.js +120 -111
  68. package/dist/drawer.js.map +1 -0
  69. package/dist/field.d.ts +61 -54
  70. package/dist/field.d.ts.map +1 -0
  71. package/dist/field.js +58 -27
  72. package/dist/field.js.map +1 -0
  73. package/dist/fieldset.d.ts +24 -19
  74. package/dist/fieldset.d.ts.map +1 -0
  75. package/dist/fieldset.js +26 -18
  76. package/dist/fieldset.js.map +1 -0
  77. package/dist/form.d.ts +16 -12
  78. package/dist/form.d.ts.map +1 -0
  79. package/dist/form.js +18 -8
  80. package/dist/form.js.map +1 -0
  81. package/dist/index.d.ts +48 -2115
  82. package/dist/index.js +47 -318
  83. package/dist/input.d.ts +16 -12
  84. package/dist/input.d.ts.map +1 -0
  85. package/dist/input.js +19 -9
  86. package/dist/input.js.map +1 -0
  87. package/dist/lib/arrow-svg.js +28 -0
  88. package/dist/lib/arrow-svg.js.map +1 -0
  89. package/dist/lib/button-variants.d.ts +6 -0
  90. package/dist/lib/button-variants.d.ts.map +1 -0
  91. package/dist/lib/button-variants.js +31 -0
  92. package/dist/lib/button-variants.js.map +1 -0
  93. package/dist/lib/control-variants.d.ts +6 -0
  94. package/dist/lib/control-variants.d.ts.map +1 -0
  95. package/dist/lib/control-variants.js +38 -0
  96. package/dist/lib/control-variants.js.map +1 -0
  97. package/dist/lib/form-variants.js +11 -0
  98. package/dist/lib/form-variants.js.map +1 -0
  99. package/dist/lib/tooltip-variants.d.ts +5 -0
  100. package/dist/lib/tooltip-variants.d.ts.map +1 -0
  101. package/dist/lib/tooltip-variants.js +36 -0
  102. package/dist/lib/tooltip-variants.js.map +1 -0
  103. package/dist/lib/utils.js +11 -0
  104. package/dist/lib/utils.js.map +1 -0
  105. package/dist/menu.d.ts +151 -138
  106. package/dist/menu.d.ts.map +1 -0
  107. package/dist/menu.js +151 -146
  108. package/dist/menu.js.map +1 -0
  109. package/dist/menubar.d.ts +168 -155
  110. package/dist/menubar.d.ts.map +1 -0
  111. package/dist/menubar.js +163 -169
  112. package/dist/menubar.js.map +1 -0
  113. package/dist/meter.d.ts +53 -43
  114. package/dist/meter.d.ts.map +1 -0
  115. package/dist/meter.js +59 -64
  116. package/dist/meter.js.map +1 -0
  117. package/dist/navigation-menu.d.ts +111 -96
  118. package/dist/navigation-menu.d.ts.map +1 -0
  119. package/dist/navigation-menu.js +117 -175
  120. package/dist/navigation-menu.js.map +1 -0
  121. package/dist/number-field.d.ts +64 -54
  122. package/dist/number-field.d.ts.map +1 -0
  123. package/dist/number-field.js +61 -69
  124. package/dist/number-field.js.map +1 -0
  125. package/dist/pagination.d.ts +184 -0
  126. package/dist/pagination.d.ts.map +1 -0
  127. package/dist/pagination.js +164 -0
  128. package/dist/pagination.js.map +1 -0
  129. package/dist/popover.d.ts +90 -82
  130. package/dist/popover.d.ts.map +1 -0
  131. package/dist/popover.js +85 -94
  132. package/dist/popover.js.map +1 -0
  133. package/dist/preview-card.d.ts +58 -54
  134. package/dist/preview-card.d.ts.map +1 -0
  135. package/dist/preview-card.js +57 -81
  136. package/dist/preview-card.js.map +1 -0
  137. package/dist/progress.d.ts +48 -40
  138. package/dist/progress.d.ts.map +1 -0
  139. package/dist/progress.js +46 -50
  140. package/dist/progress.js.map +1 -0
  141. package/dist/radio-group.d.ts +16 -12
  142. package/dist/radio-group.d.ts.map +1 -0
  143. package/dist/radio-group.js +18 -14
  144. package/dist/radio-group.js.map +1 -0
  145. package/dist/radio.d.ts +24 -19
  146. package/dist/radio.d.ts.map +1 -0
  147. package/dist/radio.js +25 -34
  148. package/dist/radio.js.map +1 -0
  149. package/dist/scroll-area.d.ts +57 -47
  150. package/dist/scroll-area.d.ts.map +1 -0
  151. package/dist/scroll-area.js +54 -56
  152. package/dist/scroll-area.js.map +1 -0
  153. package/dist/select.d.ts +146 -133
  154. package/dist/select.d.ts.map +1 -0
  155. package/dist/select.js +133 -167
  156. package/dist/select.js.map +1 -0
  157. package/dist/separator.d.ts +17 -12
  158. package/dist/separator.d.ts.map +1 -0
  159. package/dist/separator.js +19 -23
  160. package/dist/separator.js.map +1 -0
  161. package/dist/skeleton.d.ts +20 -0
  162. package/dist/skeleton.d.ts.map +1 -0
  163. package/dist/skeleton.js +27 -0
  164. package/dist/skeleton.js.map +1 -0
  165. package/dist/slider.d.ts +56 -47
  166. package/dist/slider.d.ts.map +1 -0
  167. package/dist/slider.js +53 -62
  168. package/dist/slider.js.map +1 -0
  169. package/dist/styles/default.css +15 -1
  170. package/dist/switch.d.ts +24 -19
  171. package/dist/switch.d.ts.map +1 -0
  172. package/dist/switch.js +23 -39
  173. package/dist/switch.js.map +1 -0
  174. package/dist/table/index.d.ts +5 -0
  175. package/dist/table/index.js +5 -0
  176. package/dist/table/use-table.d.ts +9 -0
  177. package/dist/table/use-table.d.ts.map +1 -0
  178. package/dist/table/use-table.js +256 -0
  179. package/dist/table/use-table.js.map +1 -0
  180. package/dist/tabs.d.ts +60 -49
  181. package/dist/tabs.d.ts.map +1 -0
  182. package/dist/tabs.js +76 -84
  183. package/dist/tabs.js.map +1 -0
  184. package/dist/textarea.d.ts +15 -11
  185. package/dist/textarea.d.ts.map +1 -0
  186. package/dist/textarea.js +18 -14
  187. package/dist/textarea.js.map +1 -0
  188. package/dist/toast.d.ts +87 -81
  189. package/dist/toast.d.ts.map +1 -0
  190. package/dist/toast.js +79 -150
  191. package/dist/toast.js.map +1 -0
  192. package/dist/toggle-group.d.ts +34 -29
  193. package/dist/toggle-group.d.ts.map +1 -0
  194. package/dist/toggle-group.js +31 -34
  195. package/dist/toggle-group.js.map +1 -0
  196. package/dist/toggle.d.ts +24 -21
  197. package/dist/toggle.d.ts.map +1 -0
  198. package/dist/toggle.js +22 -15
  199. package/dist/toggle.js.map +1 -0
  200. package/dist/toolbar.d.ts +64 -56
  201. package/dist/toolbar.d.ts.map +1 -0
  202. package/dist/toolbar.js +57 -68
  203. package/dist/toolbar.js.map +1 -0
  204. package/dist/tooltip.d.ts +67 -62
  205. package/dist/tooltip.d.ts.map +1 -0
  206. package/dist/tooltip.js +65 -90
  207. package/dist/tooltip.js.map +1 -0
  208. package/package.json +25 -13
  209. package/dist/arrow-svg-C6zQTvgS.js +0 -40
  210. package/dist/button-variants-CbFMPwc8.js +0 -33
  211. package/dist/control-variants-Bwep4n0y.js +0 -37
  212. package/dist/form-variants-LJ8gIbk0.js +0 -9
  213. package/dist/utils-B6yFEsav.js +0 -8
@@ -0,0 +1,129 @@
1
+ 'use client';
2
+
3
+ import { cn } from "../../lib/utils.js";
4
+ import "react";
5
+ import { cva } from "class-variance-authority";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/components/table/primitives.tsx
9
+ const tableVariants = cva("w-full caption-bottom text-sm", {
10
+ variants: {
11
+ variant: {
12
+ default: "",
13
+ striped: "[&_tbody_tr:nth-child(even)]:bg-muted/50",
14
+ bordered: "[&_th:not(:last-child)]:border-r [&_td:not(:last-child)]:border-r [&_th]:border-border [&_td]:border-border"
15
+ },
16
+ size: {
17
+ default: "",
18
+ compact: "[&_th]:h-8 [&_th]:px-2 [&_td]:p-2.5"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ variant: "default",
23
+ size: "default"
24
+ }
25
+ });
26
+ const TableRoot = ({ className, variant, size, ...props }) => {
27
+ return /* @__PURE__ */ jsx("div", {
28
+ className: "relative w-full overflow-x-auto",
29
+ children: /* @__PURE__ */ jsx("table", {
30
+ className: cn(tableVariants({
31
+ variant,
32
+ size
33
+ }), className),
34
+ ...props
35
+ })
36
+ });
37
+ };
38
+ TableRoot.displayName = "TableRoot";
39
+ const TableHeader = ({ className, ...props }) => {
40
+ return /* @__PURE__ */ jsx("thead", {
41
+ className: cn("[&_tr]:border-b", className),
42
+ ...props
43
+ });
44
+ };
45
+ TableHeader.displayName = "TableHeader";
46
+ const TableBody = ({ className, ...props }) => {
47
+ return /* @__PURE__ */ jsx("tbody", {
48
+ className: cn("[&_tr:last-child]:border-0", className),
49
+ ...props
50
+ });
51
+ };
52
+ TableBody.displayName = "TableBody";
53
+ const TableFooter = ({ className, ...props }) => {
54
+ return /* @__PURE__ */ jsx("tfoot", {
55
+ className: cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className),
56
+ ...props
57
+ });
58
+ };
59
+ TableFooter.displayName = "TableFooter";
60
+ const TableRow = ({ className, ...props }) => {
61
+ return /* @__PURE__ */ jsx("tr", {
62
+ className: cn("border-b transition-colors hover:bg-muted/50", className),
63
+ ...props
64
+ });
65
+ };
66
+ TableRow.displayName = "TableRow";
67
+ const ariaSortValues = {
68
+ asc: "ascending",
69
+ desc: "descending"
70
+ };
71
+ const SortIcon = ({ direction }) => {
72
+ return /* @__PURE__ */ jsx("svg", {
73
+ xmlns: "http://www.w3.org/2000/svg",
74
+ width: "16",
75
+ height: "16",
76
+ viewBox: "0 0 24 24",
77
+ fill: "none",
78
+ stroke: "currentColor",
79
+ strokeWidth: "2",
80
+ strokeLinecap: "round",
81
+ strokeLinejoin: "round",
82
+ className: "ml-1 inline-block",
83
+ "aria-hidden": "true",
84
+ children: direction === "asc" ? /* @__PURE__ */ jsx("path", { d: "m18 15-6-6-6 6" }) : direction === "desc" ? /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("path", { d: "m7 15 5 5 5-5" }), /* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" })] })
85
+ });
86
+ };
87
+ const TableHead = ({ className, sortable, sortDirection, onSort, children, ...props }) => {
88
+ const isInteractive = sortable && onSort;
89
+ const handleClick = () => {
90
+ if (isInteractive) onSort();
91
+ };
92
+ const handleKeyDown = (e) => {
93
+ if (isInteractive && (e.key === "Enter" || e.key === " ")) {
94
+ e.preventDefault();
95
+ onSort();
96
+ }
97
+ };
98
+ return /* @__PURE__ */ jsx("th", {
99
+ className: cn("h-10 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]", isInteractive && "cursor-pointer select-none hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", className),
100
+ tabIndex: isInteractive ? 0 : void 0,
101
+ "aria-sort": sortDirection ? ariaSortValues[sortDirection] : void 0,
102
+ onClick: handleClick,
103
+ onKeyDown: handleKeyDown,
104
+ ...props,
105
+ children: /* @__PURE__ */ jsxs("span", {
106
+ className: "inline-flex items-center",
107
+ children: [children, sortable && /* @__PURE__ */ jsx(SortIcon, { direction: sortDirection })]
108
+ })
109
+ });
110
+ };
111
+ TableHead.displayName = "TableHead";
112
+ const TableCell = ({ className, ...props }) => {
113
+ return /* @__PURE__ */ jsx("td", {
114
+ className: cn("p-4 align-middle [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]", className),
115
+ ...props
116
+ });
117
+ };
118
+ TableCell.displayName = "TableCell";
119
+ const TableCaption = ({ className, position = "bottom", ...props }) => {
120
+ return /* @__PURE__ */ jsx("caption", {
121
+ className: cn("mt-4 text-sm text-muted-foreground", position === "top" && "caption-top mb-4 mt-0", className),
122
+ ...props
123
+ });
124
+ };
125
+ TableCaption.displayName = "TableCaption";
126
+
127
+ //#endregion
128
+ export { TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRoot, TableRow };
129
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","names":[],"sources":["../../../src/components/table/primitives.tsx"],"sourcesContent":["'use client'\n\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport type { SortDirection } from './types'\n\n// ============================================================================\n// Table Variants\n// ============================================================================\n\nconst tableVariants = cva('w-full caption-bottom text-sm', {\n variants: {\n variant: {\n default: '',\n striped: '[&_tbody_tr:nth-child(even)]:bg-muted/50',\n bordered:\n '[&_th:not(:last-child)]:border-r [&_td:not(:last-child)]:border-r [&_th]:border-border [&_td]:border-border',\n },\n size: {\n default: '',\n compact: '[&_th]:h-8 [&_th]:px-2 [&_td]:p-2.5',\n },\n },\n defaultVariants: { variant: 'default', size: 'default' },\n})\n\nexport type TableVariant = VariantProps<typeof tableVariants>['variant']\nexport type TableSize = VariantProps<typeof tableVariants>['size']\n\n// ============================================================================\n// TableRoot\n// ============================================================================\n\ntype TableRootProps = React.ComponentProps<'table'> & VariantProps<typeof tableVariants>\n\nconst TableRoot = ({ className, variant, size, ...props }: TableRootProps) => {\n return (\n <div className='relative w-full overflow-x-auto'>\n <table className={cn(tableVariants({ variant, size }), className)} {...props} />\n </div>\n )\n}\n\nTableRoot.displayName = 'TableRoot'\n\n// ============================================================================\n// TableHeader\n// ============================================================================\n\ntype TableHeaderProps = React.ComponentProps<'thead'>\n\nconst TableHeader = ({ className, ...props }: TableHeaderProps) => {\n return <thead className={cn('[&_tr]:border-b', className)} {...props} />\n}\n\nTableHeader.displayName = 'TableHeader'\n\n// ============================================================================\n// TableBody\n// ============================================================================\n\ntype TableBodyProps = React.ComponentProps<'tbody'>\n\nconst TableBody = ({ className, ...props }: TableBodyProps) => {\n return <tbody className={cn('[&_tr:last-child]:border-0', className)} {...props} />\n}\n\nTableBody.displayName = 'TableBody'\n\n// ============================================================================\n// TableFooter\n// ============================================================================\n\ntype TableFooterProps = React.ComponentProps<'tfoot'>\n\nconst TableFooter = ({ className, ...props }: TableFooterProps) => {\n return (\n <tfoot\n className={cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className)}\n {...props}\n />\n )\n}\n\nTableFooter.displayName = 'TableFooter'\n\n// ============================================================================\n// TableRow\n// ============================================================================\n\ntype TableRowProps = React.ComponentProps<'tr'>\n\nconst TableRow = ({ className, ...props }: TableRowProps) => {\n return (\n <tr\n className={cn('border-b transition-colors hover:bg-muted/50', className)}\n {...props}\n />\n )\n}\n\nTableRow.displayName = 'TableRow'\n\n// ============================================================================\n// TableHead\n// ============================================================================\n\nconst ariaSortValues: Record<SortDirection, 'ascending' | 'descending'> = {\n asc: 'ascending',\n desc: 'descending',\n}\n\ntype TableHeadProps = React.ComponentProps<'th'> & {\n sortable?: boolean\n sortDirection?: SortDirection\n onSort?: () => void\n}\n\nconst SortIcon = ({ direction }: { direction?: SortDirection }) => {\n return (\n <svg\n xmlns='http://www.w3.org/2000/svg'\n width='16'\n height='16'\n viewBox='0 0 24 24'\n fill='none'\n stroke='currentColor'\n strokeWidth='2'\n strokeLinecap='round'\n strokeLinejoin='round'\n className='ml-1 inline-block'\n aria-hidden='true'\n >\n {direction === 'asc' ? (\n <path d='m18 15-6-6-6 6' />\n ) : direction === 'desc' ? (\n <path d='m6 9 6 6 6-6' />\n ) : (\n <>\n <path d='m7 15 5 5 5-5' />\n <path d='m7 9 5-5 5 5' />\n </>\n )}\n </svg>\n )\n}\n\nconst TableHead = ({\n className,\n sortable,\n sortDirection,\n onSort,\n children,\n ...props\n}: TableHeadProps) => {\n const isInteractive = sortable && onSort\n\n const handleClick = () => {\n if (isInteractive) onSort()\n }\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTableCellElement>) => {\n if (isInteractive && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n onSort()\n }\n }\n\n return (\n <th\n className={cn(\n 'h-10 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]',\n isInteractive &&\n 'cursor-pointer select-none hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset',\n className,\n )}\n tabIndex={isInteractive ? 0 : undefined}\n aria-sort={sortDirection ? ariaSortValues[sortDirection] : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <span className='inline-flex items-center'>\n {children}\n {sortable && <SortIcon direction={sortDirection} />}\n </span>\n </th>\n )\n}\n\nTableHead.displayName = 'TableHead'\n\n// ============================================================================\n// TableCell\n// ============================================================================\n\ntype TableCellProps = React.ComponentProps<'td'>\n\nconst TableCell = ({ className, ...props }: TableCellProps) => {\n return (\n <td\n className={cn(\n 'p-4 align-middle [&:has([role=checkbox])]:pr-0 *:[[role=checkbox]]:translate-y-[2px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nTableCell.displayName = 'TableCell'\n\n// ============================================================================\n// TableCaption\n// ============================================================================\n\ntype TableCaptionProps = React.ComponentProps<'caption'> & {\n position?: 'top' | 'bottom'\n}\n\nconst TableCaption = ({\n className,\n position = 'bottom',\n ...props\n}: TableCaptionProps) => {\n return (\n <caption\n className={cn(\n 'mt-4 text-sm text-muted-foreground',\n position === 'top' && 'caption-top mb-4 mt-0',\n className,\n )}\n {...props}\n />\n )\n}\n\nTableCaption.displayName = 'TableCaption'\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n TableRoot,\n TableHeader,\n TableBody,\n TableFooter,\n TableRow,\n TableHead,\n TableCell,\n TableCaption,\n}\n\nexport type {\n TableRootProps,\n TableHeaderProps,\n TableBodyProps,\n TableFooterProps,\n TableRowProps,\n TableHeadProps,\n TableCellProps,\n TableCaptionProps,\n}\n"],"mappings":";;;;;;;;AAYA,MAAM,gBAAgB,IAAI,iCAAiC;CACzD,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;GACT,UACE;GACH;EACD,MAAM;GACJ,SAAS;GACT,SAAS;GACV;EACF;CACD,iBAAiB;EAAE,SAAS;EAAW,MAAM;EAAW;CACzD,CAAC;AAWF,MAAM,aAAa,EAAE,WAAW,SAAS,MAAM,GAAG,YAA4B;AAC5E,QACE,oBAAC;EAAI,WAAU;YACb,oBAAC;GAAM,WAAW,GAAG,cAAc;IAAE;IAAS;IAAM,CAAC,EAAE,UAAU;GAAE,GAAI;IAAS;GAC5E;;AAIV,UAAU,cAAc;AAQxB,MAAM,eAAe,EAAE,WAAW,GAAG,YAA8B;AACjE,QAAO,oBAAC;EAAM,WAAW,GAAG,mBAAmB,UAAU;EAAE,GAAI;GAAS;;AAG1E,YAAY,cAAc;AAQ1B,MAAM,aAAa,EAAE,WAAW,GAAG,YAA4B;AAC7D,QAAO,oBAAC;EAAM,WAAW,GAAG,8BAA8B,UAAU;EAAE,GAAI;GAAS;;AAGrF,UAAU,cAAc;AAQxB,MAAM,eAAe,EAAE,WAAW,GAAG,YAA8B;AACjE,QACE,oBAAC;EACC,WAAW,GAAG,2DAA2D,UAAU;EACnF,GAAI;GACJ;;AAIN,YAAY,cAAc;AAQ1B,MAAM,YAAY,EAAE,WAAW,GAAG,YAA2B;AAC3D,QACE,oBAAC;EACC,WAAW,GAAG,gDAAgD,UAAU;EACxE,GAAI;GACJ;;AAIN,SAAS,cAAc;AAMvB,MAAM,iBAAoE;CACxE,KAAK;CACL,MAAM;CACP;AAQD,MAAM,YAAY,EAAE,gBAA+C;AACjE,QACE,oBAAC;EACC,OAAM;EACN,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,QAAO;EACP,aAAY;EACZ,eAAc;EACd,gBAAe;EACf,WAAU;EACV,eAAY;YAEX,cAAc,QACb,oBAAC,UAAK,GAAE,mBAAmB,GACzB,cAAc,SAChB,oBAAC,UAAK,GAAE,iBAAiB,GAEzB,4CACE,oBAAC,UAAK,GAAE,kBAAkB,EAC1B,oBAAC,UAAK,GAAE,iBAAiB,IACxB;GAED;;AAIV,MAAM,aAAa,EACjB,WACA,UACA,eACA,QACA,UACA,GAAG,YACiB;CACpB,MAAM,gBAAgB,YAAY;CAElC,MAAM,oBAAoB;AACxB,MAAI,cAAe,SAAQ;;CAG7B,MAAM,iBAAiB,MAAiD;AACtE,MAAI,kBAAkB,EAAE,QAAQ,WAAW,EAAE,QAAQ,MAAM;AACzD,KAAE,gBAAgB;AAClB,WAAQ;;;AAIZ,QACE,oBAAC;EACC,WAAW,GACT,oHACA,iBACE,iJACF,UACD;EACD,UAAU,gBAAgB,IAAI;EAC9B,aAAW,gBAAgB,eAAe,iBAAiB;EAC3D,SAAS;EACT,WAAW;EACX,GAAI;YAEJ,qBAAC;GAAK,WAAU;cACb,UACA,YAAY,oBAAC,YAAS,WAAW,gBAAiB;IAC9C;GACJ;;AAIT,UAAU,cAAc;AAQxB,MAAM,aAAa,EAAE,WAAW,GAAG,YAA4B;AAC7D,QACE,oBAAC;EACC,WAAW,GACT,wFACA,UACD;EACD,GAAI;GACJ;;AAIN,UAAU,cAAc;AAUxB,MAAM,gBAAgB,EACpB,WACA,WAAW,UACX,GAAG,YACoB;AACvB,QACE,oBAAC;EACC,WAAW,GACT,sCACA,aAAa,SAAS,yBACtB,UACD;EACD,GAAI;GACJ;;AAIN,aAAa,cAAc"}
@@ -0,0 +1,17 @@
1
+ //#region src/components/table/sort.ts
2
+ function compareValues(a, b, direction) {
3
+ if (a == null && b == null) return 0;
4
+ if (a == null) return 1;
5
+ if (b == null) return -1;
6
+ const multiplier = direction === "asc" ? 1 : -1;
7
+ if (typeof a === "number" && typeof b === "number") return (a - b) * multiplier;
8
+ if (typeof a === "boolean" && typeof b === "boolean") return (Number(a) - Number(b)) * multiplier;
9
+ if (a instanceof Date && b instanceof Date) return (a.getTime() - b.getTime()) * multiplier;
10
+ const strA = String(a).toLowerCase();
11
+ const strB = String(b).toLowerCase();
12
+ return strA.localeCompare(strB) * multiplier;
13
+ }
14
+
15
+ //#endregion
16
+ export { compareValues };
17
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","names":[],"sources":["../../../src/components/table/sort.ts"],"sourcesContent":["import type { SortDirection } from './types'\n\nexport function compareValues(a: unknown, b: unknown, direction: SortDirection): number {\n // Nulls always sort to end regardless of direction\n if (a == null && b == null) return 0\n if (a == null) return 1\n if (b == null) return -1\n\n const multiplier = direction === 'asc' ? 1 : -1\n\n // Number comparison\n if (typeof a === 'number' && typeof b === 'number') {\n return (a - b) * multiplier\n }\n\n // Boolean comparison (true > false)\n if (typeof a === 'boolean' && typeof b === 'boolean') {\n return (Number(a) - Number(b)) * multiplier\n }\n\n // Date comparison\n if (a instanceof Date && b instanceof Date) {\n return (a.getTime() - b.getTime()) * multiplier\n }\n\n // String comparison (case-insensitive)\n const strA = String(a).toLowerCase()\n const strB = String(b).toLowerCase()\n return strA.localeCompare(strB) * multiplier\n}\n"],"mappings":";AAEA,SAAgB,cAAc,GAAY,GAAY,WAAkC;AAEtF,KAAI,KAAK,QAAQ,KAAK,KAAM,QAAO;AACnC,KAAI,KAAK,KAAM,QAAO;AACtB,KAAI,KAAK,KAAM,QAAO;CAEtB,MAAM,aAAa,cAAc,QAAQ,IAAI;AAG7C,KAAI,OAAO,MAAM,YAAY,OAAO,MAAM,SACxC,SAAQ,IAAI,KAAK;AAInB,KAAI,OAAO,MAAM,aAAa,OAAO,MAAM,UACzC,SAAQ,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI;AAInC,KAAI,aAAa,QAAQ,aAAa,KACpC,SAAQ,EAAE,SAAS,GAAG,EAAE,SAAS,IAAI;CAIvC,MAAM,OAAO,OAAO,EAAE,CAAC,aAAa;CACpC,MAAM,OAAO,OAAO,EAAE,CAAC,aAAa;AACpC,QAAO,KAAK,cAAc,KAAK,GAAG"}
@@ -0,0 +1,101 @@
1
+ import { CSSProperties, ReactNode } from "react";
2
+
3
+ //#region src/components/table/types.d.ts
4
+ type SortDirection = 'asc' | 'desc';
5
+ interface ColumnDef<T, K extends keyof T = keyof T> {
6
+ key: K;
7
+ header: ReactNode;
8
+ format?: (value: T[K], row: T) => string;
9
+ cell?: (value: T[K], row: T) => ReactNode;
10
+ className?: string;
11
+ headerClassName?: string;
12
+ cellClassName?: string;
13
+ width?: string | number;
14
+ sortable?: boolean;
15
+ }
16
+ interface PaginationConfig {
17
+ pageSize: number;
18
+ pageSizeOptions?: number[];
19
+ }
20
+ interface SearchConfig<T> {
21
+ keys: (keyof T)[];
22
+ }
23
+ type FilterPredicate<T, V = unknown> = (row: T, value: V) => boolean;
24
+ interface FilterDef<T, V = unknown> {
25
+ predicate: FilterPredicate<T, V>;
26
+ defaultValue?: V;
27
+ }
28
+ type FiltersConfig<T> = Record<string, FilterDef<T, any>>;
29
+ type FilterValues = Record<string, unknown>;
30
+ type RowKeyGetter<T> = (row: T) => string | number;
31
+ interface SelectionConfig<T> {
32
+ rowKey: RowKeyGetter<T>;
33
+ defaultSelectedKeys?: (string | number)[];
34
+ selectedKeys?: (string | number)[];
35
+ onSelectionChange?: (keys: (string | number)[]) => void;
36
+ }
37
+ interface SelectionState<T> {
38
+ selectedKeys: (string | number)[];
39
+ selectedCount: number;
40
+ isSelected: (key: string | number) => boolean;
41
+ toggleRow: (key: string | number) => void;
42
+ isRowSelected: (row: T) => boolean;
43
+ toggleRowSelection: (row: T) => void;
44
+ toggleAllOnPage: () => void;
45
+ clearSelection: () => void;
46
+ pageSelectionState: 'all' | 'some' | 'none';
47
+ isIndeterminate: boolean;
48
+ isAllOnPageSelected: boolean;
49
+ }
50
+ interface UseTableOptions<T> {
51
+ data: T[];
52
+ columns: ColumnDef<T, keyof T>[];
53
+ pagination?: PaginationConfig;
54
+ sort?: {
55
+ key: keyof T;
56
+ direction: SortDirection;
57
+ };
58
+ search?: SearchConfig<T>;
59
+ filters?: FiltersConfig<T>;
60
+ selection?: SelectionConfig<T>;
61
+ }
62
+ interface ProcessedColumn<T> {
63
+ key: keyof T;
64
+ head: {
65
+ children: ReactNode;
66
+ className?: string;
67
+ style?: CSSProperties;
68
+ sortable: boolean;
69
+ sortDirection?: SortDirection;
70
+ onSort?: () => void;
71
+ };
72
+ cell: {
73
+ className?: string;
74
+ };
75
+ renderCell: (row: T) => ReactNode;
76
+ }
77
+ interface UseTableReturn<T> {
78
+ columns: ProcessedColumn<T>[];
79
+ rows: T[];
80
+ totalItems: number;
81
+ currentPage: number;
82
+ totalPages: number;
83
+ pageSize: number;
84
+ pageSizeOptions: number[];
85
+ onPageChange: (page: number) => void;
86
+ onPageSizeChange: (size: number) => void;
87
+ sortKey: keyof T | null;
88
+ sortDirection: SortDirection;
89
+ onSort: (key: keyof T) => void;
90
+ searchTerm: string;
91
+ onSearchChange: (term: string) => void;
92
+ filterValues: FilterValues;
93
+ setFilterValue: (filterId: string, value: unknown) => void;
94
+ clearFilters: () => void;
95
+ activeFilterCount: number;
96
+ selection?: SelectionState<T>;
97
+ }
98
+ //# sourceMappingURL=types.d.ts.map
99
+ //#endregion
100
+ export { ColumnDef, FilterDef, FilterPredicate, FilterValues, FiltersConfig, PaginationConfig, ProcessedColumn, RowKeyGetter, SearchConfig, SelectionConfig, SelectionState, SortDirection, UseTableOptions, UseTableReturn };
101
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/components/table/types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,138 +1,151 @@
1
- import { ContextMenu } from '@base-ui/react/context-menu';
2
- import { JSX } from 'react/jsx-runtime';
3
- import * as React_2 from 'react';
4
-
5
- export declare const ContextMenuArrow: {
6
- ({ className, ...props }: ContextMenuArrowProps): JSX.Element;
7
- displayName: string;
8
- };
9
-
10
- export declare type ContextMenuArrowProps = React_2.ComponentProps<typeof ContextMenu.Arrow>;
11
-
12
- export declare const ContextMenuCheckboxItem: {
13
- ({ className, ...props }: ContextMenuCheckboxItemProps): JSX.Element;
14
- displayName: string;
15
- };
16
-
17
- export declare const ContextMenuCheckboxItemIndicator: {
18
- ({ className, ...props }: ContextMenuCheckboxItemIndicatorProps): JSX.Element;
19
- displayName: string;
20
- };
21
-
22
- export declare type ContextMenuCheckboxItemIndicatorProps = React_2.ComponentProps<typeof ContextMenu.CheckboxItemIndicator>;
23
-
24
- export declare const ContextMenuCheckboxItemLabel: {
25
- ({ className, ...props }: ContextMenuCheckboxItemLabelProps): JSX.Element;
26
- displayName: string;
27
- };
28
-
29
- export declare type ContextMenuCheckboxItemLabelProps = React_2.ComponentProps<'span'>;
30
-
31
- export declare type ContextMenuCheckboxItemProps = React_2.ComponentProps<typeof ContextMenu.CheckboxItem>;
32
-
33
- export declare const ContextMenuGroup: {
34
- ({ className, ...props }: ContextMenuGroupProps): JSX.Element;
35
- displayName: string;
36
- };
37
-
38
- export declare const ContextMenuGroupLabel: {
39
- ({ className, ...props }: ContextMenuGroupLabelProps): JSX.Element;
40
- displayName: string;
41
- };
42
-
43
- export declare type ContextMenuGroupLabelProps = React_2.ComponentProps<typeof ContextMenu.GroupLabel>;
44
-
45
- export declare type ContextMenuGroupProps = React_2.ComponentProps<typeof ContextMenu.Group>;
46
-
47
- export declare const ContextMenuItem: {
48
- ({ className, ...props }: ContextMenuItemProps): JSX.Element;
49
- displayName: string;
50
- };
51
-
52
- export declare type ContextMenuItemProps = React_2.ComponentProps<typeof ContextMenu.Item>;
53
-
54
- export declare const ContextMenuPopup: {
55
- ({ className, ...props }: ContextMenuPopupProps): JSX.Element;
56
- displayName: string;
57
- };
58
-
59
- export declare type ContextMenuPopupProps = React_2.ComponentProps<typeof ContextMenu.Popup>;
60
-
61
- export declare const ContextMenuPortal: {
62
- (props: ContextMenuPortalProps): JSX.Element;
63
- displayName: string;
64
- };
65
-
66
- export declare type ContextMenuPortalProps = React_2.ComponentProps<typeof ContextMenu.Portal>;
67
-
68
- export declare const ContextMenuPositioner: {
69
- ({ className, ...props }: ContextMenuPositionerProps): JSX.Element;
70
- displayName: string;
71
- };
72
-
73
- export declare type ContextMenuPositionerProps = React_2.ComponentProps<typeof ContextMenu.Positioner>;
74
-
75
- export declare const ContextMenuRadioGroup: {
76
- ({ className, ...props }: ContextMenuRadioGroupProps): JSX.Element;
77
- displayName: string;
78
- };
79
-
80
- export declare type ContextMenuRadioGroupProps = React_2.ComponentProps<typeof ContextMenu.RadioGroup>;
81
-
82
- export declare const ContextMenuRadioItem: {
83
- ({ className, ...props }: ContextMenuRadioItemProps): JSX.Element;
84
- displayName: string;
85
- };
86
-
87
- export declare const ContextMenuRadioItemIndicator: {
88
- ({ className, ...props }: ContextMenuRadioItemIndicatorProps): JSX.Element;
89
- displayName: string;
90
- };
91
-
92
- export declare type ContextMenuRadioItemIndicatorProps = React_2.ComponentProps<typeof ContextMenu.RadioItemIndicator>;
93
-
94
- export declare const ContextMenuRadioItemLabel: {
95
- ({ className, ...props }: ContextMenuRadioItemLabelProps): JSX.Element;
96
- displayName: string;
97
- };
98
-
99
- export declare type ContextMenuRadioItemLabelProps = React_2.ComponentProps<'span'>;
100
-
101
- export declare type ContextMenuRadioItemProps = React_2.ComponentProps<typeof ContextMenu.RadioItem>;
102
-
103
- export declare const ContextMenuRoot: {
104
- (props: ContextMenuRootProps): JSX.Element;
105
- displayName: string;
106
- };
107
-
108
- export declare type ContextMenuRootProps = React_2.ComponentProps<typeof ContextMenu.Root>;
109
-
110
- export declare const ContextMenuSeparator: {
111
- ({ className, ...props }: ContextMenuSeparatorProps): JSX.Element;
112
- displayName: string;
113
- };
114
-
115
- export declare type ContextMenuSeparatorProps = React_2.ComponentProps<typeof ContextMenu.Separator>;
116
-
117
- export declare const ContextMenuSubmenuRoot: {
118
- (props: ContextMenuSubmenuRootProps): JSX.Element;
119
- displayName: string;
120
- };
121
-
122
- export declare type ContextMenuSubmenuRootProps = React_2.ComponentProps<typeof ContextMenu.SubmenuRoot>;
123
-
124
- export declare const ContextMenuSubmenuTrigger: {
125
- ({ className, ...props }: ContextMenuSubmenuTriggerProps): JSX.Element;
126
- displayName: string;
127
- };
128
-
129
- export declare type ContextMenuSubmenuTriggerProps = React_2.ComponentProps<typeof ContextMenu.SubmenuTrigger>;
130
-
131
- export declare const ContextMenuTrigger: {
132
- ({ className, ...props }: ContextMenuTriggerProps): JSX.Element;
133
- displayName: string;
134
- };
135
-
136
- export declare type ContextMenuTriggerProps = React_2.ComponentProps<typeof ContextMenu.Trigger>;
137
-
138
- export { }
1
+ import * as React from "react";
2
+ import * as react_jsx_runtime254 from "react/jsx-runtime";
3
+ import { ContextMenu } from "@base-ui/react/context-menu";
4
+
5
+ //#region src/components/context-menu.d.ts
6
+ type ContextMenuRootProps = React.ComponentProps<typeof ContextMenu.Root>;
7
+ declare const ContextMenuRoot: {
8
+ (props: ContextMenuRootProps): react_jsx_runtime254.JSX.Element;
9
+ displayName: string;
10
+ };
11
+ type ContextMenuTriggerProps = React.ComponentProps<typeof ContextMenu.Trigger>;
12
+ declare const ContextMenuTrigger: {
13
+ ({
14
+ className,
15
+ ...props
16
+ }: ContextMenuTriggerProps): react_jsx_runtime254.JSX.Element;
17
+ displayName: string;
18
+ };
19
+ type ContextMenuPortalProps = React.ComponentProps<typeof ContextMenu.Portal>;
20
+ declare const ContextMenuPortal: {
21
+ (props: ContextMenuPortalProps): react_jsx_runtime254.JSX.Element;
22
+ displayName: string;
23
+ };
24
+ type ContextMenuPositionerProps = React.ComponentProps<typeof ContextMenu.Positioner>;
25
+ declare const ContextMenuPositioner: {
26
+ ({
27
+ className,
28
+ ...props
29
+ }: ContextMenuPositionerProps): react_jsx_runtime254.JSX.Element;
30
+ displayName: string;
31
+ };
32
+ type ContextMenuPopupProps = React.ComponentProps<typeof ContextMenu.Popup>;
33
+ declare const ContextMenuPopup: {
34
+ ({
35
+ className,
36
+ ...props
37
+ }: ContextMenuPopupProps): react_jsx_runtime254.JSX.Element;
38
+ displayName: string;
39
+ };
40
+ type ContextMenuArrowProps = React.ComponentProps<typeof ContextMenu.Arrow>;
41
+ declare const ContextMenuArrow: {
42
+ ({
43
+ className,
44
+ ...props
45
+ }: ContextMenuArrowProps): react_jsx_runtime254.JSX.Element;
46
+ displayName: string;
47
+ };
48
+ type ContextMenuItemProps = React.ComponentProps<typeof ContextMenu.Item>;
49
+ declare const ContextMenuItem: {
50
+ ({
51
+ className,
52
+ ...props
53
+ }: ContextMenuItemProps): react_jsx_runtime254.JSX.Element;
54
+ displayName: string;
55
+ };
56
+ type ContextMenuSeparatorProps = React.ComponentProps<typeof ContextMenu.Separator>;
57
+ declare const ContextMenuSeparator: {
58
+ ({
59
+ className,
60
+ ...props
61
+ }: ContextMenuSeparatorProps): react_jsx_runtime254.JSX.Element;
62
+ displayName: string;
63
+ };
64
+ type ContextMenuGroupProps = React.ComponentProps<typeof ContextMenu.Group>;
65
+ declare const ContextMenuGroup: {
66
+ ({
67
+ className,
68
+ ...props
69
+ }: ContextMenuGroupProps): react_jsx_runtime254.JSX.Element;
70
+ displayName: string;
71
+ };
72
+ type ContextMenuGroupLabelProps = React.ComponentProps<typeof ContextMenu.GroupLabel>;
73
+ declare const ContextMenuGroupLabel: {
74
+ ({
75
+ className,
76
+ ...props
77
+ }: ContextMenuGroupLabelProps): react_jsx_runtime254.JSX.Element;
78
+ displayName: string;
79
+ };
80
+ type ContextMenuRadioGroupProps = React.ComponentProps<typeof ContextMenu.RadioGroup>;
81
+ declare const ContextMenuRadioGroup: {
82
+ ({
83
+ className,
84
+ ...props
85
+ }: ContextMenuRadioGroupProps): react_jsx_runtime254.JSX.Element;
86
+ displayName: string;
87
+ };
88
+ type ContextMenuRadioItemProps = React.ComponentProps<typeof ContextMenu.RadioItem>;
89
+ declare const ContextMenuRadioItem: {
90
+ ({
91
+ className,
92
+ ...props
93
+ }: ContextMenuRadioItemProps): react_jsx_runtime254.JSX.Element;
94
+ displayName: string;
95
+ };
96
+ type ContextMenuCheckboxItemProps = React.ComponentProps<typeof ContextMenu.CheckboxItem>;
97
+ declare const ContextMenuCheckboxItem: {
98
+ ({
99
+ className,
100
+ ...props
101
+ }: ContextMenuCheckboxItemProps): react_jsx_runtime254.JSX.Element;
102
+ displayName: string;
103
+ };
104
+ type ContextMenuRadioItemIndicatorProps = React.ComponentProps<typeof ContextMenu.RadioItemIndicator>;
105
+ declare const ContextMenuRadioItemIndicator: {
106
+ ({
107
+ className,
108
+ ...props
109
+ }: ContextMenuRadioItemIndicatorProps): react_jsx_runtime254.JSX.Element;
110
+ displayName: string;
111
+ };
112
+ type ContextMenuCheckboxItemIndicatorProps = React.ComponentProps<typeof ContextMenu.CheckboxItemIndicator>;
113
+ declare const ContextMenuCheckboxItemIndicator: {
114
+ ({
115
+ className,
116
+ ...props
117
+ }: ContextMenuCheckboxItemIndicatorProps): react_jsx_runtime254.JSX.Element;
118
+ displayName: string;
119
+ };
120
+ type ContextMenuCheckboxItemLabelProps = React.ComponentProps<'span'>;
121
+ declare const ContextMenuCheckboxItemLabel: {
122
+ ({
123
+ className,
124
+ ...props
125
+ }: ContextMenuCheckboxItemLabelProps): react_jsx_runtime254.JSX.Element;
126
+ displayName: string;
127
+ };
128
+ type ContextMenuRadioItemLabelProps = React.ComponentProps<'span'>;
129
+ declare const ContextMenuRadioItemLabel: {
130
+ ({
131
+ className,
132
+ ...props
133
+ }: ContextMenuRadioItemLabelProps): react_jsx_runtime254.JSX.Element;
134
+ displayName: string;
135
+ };
136
+ type ContextMenuSubmenuTriggerProps = React.ComponentProps<typeof ContextMenu.SubmenuTrigger>;
137
+ declare const ContextMenuSubmenuTrigger: {
138
+ ({
139
+ className,
140
+ ...props
141
+ }: ContextMenuSubmenuTriggerProps): react_jsx_runtime254.JSX.Element;
142
+ displayName: string;
143
+ };
144
+ type ContextMenuSubmenuRootProps = React.ComponentProps<typeof ContextMenu.SubmenuRoot>;
145
+ declare const ContextMenuSubmenuRoot: {
146
+ (props: ContextMenuSubmenuRootProps): react_jsx_runtime254.JSX.Element;
147
+ displayName: string;
148
+ };
149
+ //#endregion
150
+ export { ContextMenuArrow, type ContextMenuArrowProps, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, type ContextMenuCheckboxItemIndicatorProps, ContextMenuCheckboxItemLabel, type ContextMenuCheckboxItemLabelProps, type ContextMenuCheckboxItemProps, ContextMenuGroup, ContextMenuGroupLabel, type ContextMenuGroupLabelProps, type ContextMenuGroupProps, ContextMenuItem, type ContextMenuItemProps, ContextMenuPopup, type ContextMenuPopupProps, ContextMenuPortal, type ContextMenuPortalProps, ContextMenuPositioner, type ContextMenuPositionerProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, ContextMenuRadioItemIndicator, type ContextMenuRadioItemIndicatorProps, ContextMenuRadioItemLabel, type ContextMenuRadioItemLabelProps, type ContextMenuRadioItemProps, ContextMenuRoot, type ContextMenuRootProps, ContextMenuSeparator, type ContextMenuSeparatorProps, ContextMenuSubmenuRoot, type ContextMenuSubmenuRootProps, ContextMenuSubmenuTrigger, type ContextMenuSubmenuTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps };
151
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","names":[],"sources":["../src/components/context-menu.tsx"],"sourcesContent":[],"mappings":"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"}