@epilot/volt-ui-experimental-griffel 0.2.3 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/ADOPTING.md +416 -0
  2. package/README.md +32 -31
  3. package/dist/components/alert-dialog/alert-dialog.js +61 -59
  4. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  5. package/dist/components/avatar/avatar.js +6 -6
  6. package/dist/components/avatar/avatar.js.map +1 -1
  7. package/dist/components/badge/badge.js +47 -39
  8. package/dist/components/badge/badge.js.map +1 -1
  9. package/dist/components/button/button.js +71 -68
  10. package/dist/components/button/button.js.map +1 -1
  11. package/dist/components/checkbox/checkbox.js +23 -20
  12. package/dist/components/checkbox/checkbox.js.map +1 -1
  13. package/dist/components/command/command.js +50 -35
  14. package/dist/components/command/command.js.map +1 -1
  15. package/dist/components/data-table/data-table.js +89 -88
  16. package/dist/components/data-table/data-table.js.map +1 -1
  17. package/dist/components/density-provider/density-provider.js +28 -0
  18. package/dist/components/density-provider/density-provider.js.map +1 -0
  19. package/dist/components/dialog/dialog.js +122 -100
  20. package/dist/components/dialog/dialog.js.map +1 -1
  21. package/dist/components/drawer/drawer.js +61 -59
  22. package/dist/components/drawer/drawer.js.map +1 -1
  23. package/dist/components/dropdown-menu/dropdown-menu.js +88 -85
  24. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  25. package/dist/components/field/field-combobox.js +121 -106
  26. package/dist/components/field/field-combobox.js.map +1 -1
  27. package/dist/components/field/field.js +105 -104
  28. package/dist/components/field/field.js.map +1 -1
  29. package/dist/components/list/list.js +282 -308
  30. package/dist/components/list/list.js.map +1 -1
  31. package/dist/components/pill/pill.js +58 -56
  32. package/dist/components/pill/pill.js.map +1 -1
  33. package/dist/components/popover/popover.js +47 -38
  34. package/dist/components/popover/popover.js.map +1 -1
  35. package/dist/components/radio/radio.js +21 -18
  36. package/dist/components/radio/radio.js.map +1 -1
  37. package/dist/components/select/select.js +185 -156
  38. package/dist/components/select/select.js.map +1 -1
  39. package/dist/components/skeleton/skeleton.js +2 -2
  40. package/dist/components/skeleton/skeleton.js.map +1 -1
  41. package/dist/components/switch/switch.js +34 -29
  42. package/dist/components/switch/switch.js.map +1 -1
  43. package/dist/components/table/table-pagination.js +92 -90
  44. package/dist/components/table/table-pagination.js.map +1 -1
  45. package/dist/components/table/table.js +109 -121
  46. package/dist/components/table/table.js.map +1 -1
  47. package/dist/components/toggle/toggle.js +29 -29
  48. package/dist/components/toggle/toggle.js.map +1 -1
  49. package/dist/components/tooltip/tooltip.js +36 -34
  50. package/dist/components/tooltip/tooltip.js.map +1 -1
  51. package/dist/index.d.ts +600 -427
  52. package/dist/index.js +215 -212
  53. package/dist/index.js.map +1 -1
  54. package/dist/packages/volt-runtime/dist/sheet.js +27 -10
  55. package/dist/packages/volt-runtime/dist/sheet.js.map +1 -1
  56. package/dist/packages/volt-runtime/dist/styles/recipe.js +76 -0
  57. package/dist/packages/volt-runtime/dist/styles/recipe.js.map +1 -0
  58. package/dist/styles/document-context.js +12 -0
  59. package/dist/styles/document-context.js.map +1 -0
  60. package/dist/styles/make-styles.js +18 -10
  61. package/dist/styles/make-styles.js.map +1 -1
  62. package/dist/tokens/core.generated.js +1238 -1166
  63. package/dist/tokens/core.generated.js.map +1 -1
  64. package/dist/tokens/index.d.ts +442 -415
  65. package/dist/tokens/index.js +1105 -1078
  66. package/dist/tokens/index.js.map +1 -1
  67. package/dist/tokens/install.js +9 -5
  68. package/dist/tokens/install.js.map +1 -1
  69. package/dist/tokens/use-palette-tokens.js +20 -0
  70. package/dist/tokens/use-palette-tokens.js.map +1 -0
  71. package/dist/tokens.json +83 -2
  72. package/package.json +13 -5
  73. package/scripts/migration-diagnostics-core.mjs +859 -0
  74. package/scripts/migration-diagnostics.mjs +353 -0
  75. package/scripts/migration-sweep.mjs +179 -0
  76. package/AGENTS.md +0 -153
  77. package/AUTHORING.md +0 -292
  78. package/dist/packages/volt-runtime/dist/styles/make-styles.js +0 -22
  79. package/dist/packages/volt-runtime/dist/styles/make-styles.js.map +0 -1
@@ -5,9 +5,9 @@ import { shorthands as c } from "../../packages/volt-runtime/dist/vendor/@griffe
5
5
  import { SLOT_ATTR as i } from "../../packages/volt-runtime/dist/renderer/contract.js";
6
6
  import { mergeClasses as m } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
7
7
  import { makeVoltStyles as N } from "../../styles/make-styles.js";
8
- import { radiusSm as q, spacingElement2 as r, spacingElement1 as u, radiusMd as S, grayA3 as I, spacingElement3 as f, fontWeightMedium as v, grayA11 as h, leadingXs as T, textXs as L, accentA3 as b, grayA12 as y, leadingSm as C, textSm as x, semGraySoft as B, body as D } from "../../tokens/index.js";
9
- import { Dialog as E, DialogHeader as X, DialogTitle as A, DialogDescription as H, DialogContent as W } from "../dialog/dialog.js";
10
- const z = (d) => /* @__PURE__ */ n(
8
+ import { radiusSm as q, spacingElement2 as r, spacingElement1 as f, radiusMd as S, grayA3 as I, spacingElement3 as u, fontWeightMedium as v, grayA11 as h, leadingXs as T, textXs as L, accentA3 as b, grayA12 as y, leadingSm as C, textSm as x, semGraySoft as B, semFocusRing as D, body as E } from "../../tokens/index.js";
9
+ import { Dialog as W, DialogHeader as X, DialogTitle as A, DialogDescription as H, DialogContent as z } from "../dialog/dialog.js";
10
+ const Y = (d) => /* @__PURE__ */ n(
11
11
  "svg",
12
12
  {
13
13
  xmlns: "http://www.w3.org/2000/svg",
@@ -20,7 +20,7 @@ const z = (d) => /* @__PURE__ */ n(
20
20
  }
21
21
  ), l = N({
22
22
  root: {
23
- backgroundColor: D,
23
+ backgroundColor: E,
24
24
  color: y,
25
25
  display: "flex",
26
26
  height: "100%",
@@ -35,8 +35,8 @@ const z = (d) => /* @__PURE__ */ n(
35
35
  alignItems: "center",
36
36
  ...c.gap(r),
37
37
  ...c.borderBottom("1px", "solid", I),
38
- paddingLeft: f,
39
- paddingRight: f
38
+ paddingLeft: u,
39
+ paddingRight: u
40
40
  },
41
41
  searchIcon: {
42
42
  width: "1.25rem",
@@ -50,11 +50,26 @@ const z = (d) => /* @__PURE__ */ n(
50
50
  width: "100%",
51
51
  ...c.borderRadius(S),
52
52
  backgroundColor: "transparent",
53
- paddingTop: f,
54
- paddingBottom: f,
53
+ paddingTop: u,
54
+ paddingBottom: u,
55
55
  fontSize: x,
56
56
  lineHeight: C,
57
57
  outlineStyle: "none",
58
+ ":focus-visible": {
59
+ outlineWidth: "2px",
60
+ outlineStyle: "solid",
61
+ // Inset (negative), not the outward +2px every other audited control uses: this input sits
62
+ // flush against the top edge of the Command root, which clips overflow for its rounded
63
+ // corners. An outward ring's top 4px (width + offset) render outside that clip box and are
64
+ // cut off — confirmed by measuring the rendered outline rect against the clipping ancestor's
65
+ // rect (COBALT-REVIEW-2.md §2). Insetting keeps the ring's outer edge at the input's own
66
+ // border edge, so it doesn't extend past this ancestor's clip box in this layout (it is not
67
+ // a universal guarantee against every possible ancestor — an ancestor that clips the input's
68
+ // OWN box, not just what extends beyond it, would still hide it). No layout change either
69
+ // way: outline never affects box model regardless of sign.
70
+ outlineOffset: "-2px",
71
+ outlineColor: D
72
+ },
58
73
  "::placeholder": {
59
74
  color: h
60
75
  },
@@ -66,8 +81,8 @@ const z = (d) => /* @__PURE__ */ n(
66
81
  list: {
67
82
  overflowX: "hidden",
68
83
  overflowY: "auto",
69
- scrollPaddingTop: u,
70
- scrollPaddingBottom: u
84
+ scrollPaddingTop: f,
85
+ scrollPaddingBottom: f
71
86
  },
72
87
  empty: {
73
88
  paddingTop: "1.5rem",
@@ -81,7 +96,7 @@ const z = (d) => /* @__PURE__ */ n(
81
96
  color: y,
82
97
  overflowX: "hidden",
83
98
  overflowY: "hidden",
84
- ...c.padding(u),
99
+ ...c.padding(f),
85
100
  "& [cmdk-group-heading]": {
86
101
  color: h,
87
102
  paddingLeft: r,
@@ -95,8 +110,8 @@ const z = (d) => /* @__PURE__ */ n(
95
110
  },
96
111
  separator: {
97
112
  backgroundColor: B,
98
- marginLeft: `calc(-1 * ${u})`,
99
- marginRight: `calc(-1 * ${u})`,
113
+ marginLeft: `calc(-1 * ${f})`,
114
+ marginRight: `calc(-1 * ${f})`,
100
115
  height: "1px"
101
116
  },
102
117
  item: {
@@ -167,8 +182,8 @@ const z = (d) => /* @__PURE__ */ n(
167
182
  "& [cmdk-item]": {
168
183
  paddingLeft: r,
169
184
  paddingRight: r,
170
- paddingTop: f,
171
- paddingBottom: f
185
+ paddingTop: u,
186
+ paddingBottom: u
172
187
  },
173
188
  "& [cmdk-item] svg": {
174
189
  width: "1.25rem",
@@ -200,7 +215,7 @@ const z = (d) => /* @__PURE__ */ n(
200
215
  whiteSpace: "nowrap",
201
216
  ...c.borderWidth(0)
202
217
  }
203
- }), Y = s.forwardRef(function({ className: t, "data-slot": o = "command", ...e }, a) {
218
+ }), G = s.forwardRef(function({ className: t, "data-slot": o = "command", ...e }, a) {
204
219
  const g = l();
205
220
  return /* @__PURE__ */ n(
206
221
  p,
@@ -221,19 +236,19 @@ s.forwardRef(
221
236
  className: a,
222
237
  showCloseButton: g = !0,
223
238
  ...k
224
- }, G) {
239
+ }, O) {
225
240
  const w = l();
226
- return /* @__PURE__ */ R(E, { ...k, children: [
241
+ return /* @__PURE__ */ R(W, { ...k, children: [
227
242
  /* @__PURE__ */ R(X, { className: w.srOnly, children: [
228
243
  /* @__PURE__ */ n(A, { children: t }),
229
244
  /* @__PURE__ */ n(H, { children: o })
230
245
  ] }),
231
246
  /* @__PURE__ */ n(
232
- W,
247
+ z,
233
248
  {
234
249
  className: m(w.dialogContent, a),
235
250
  showCloseButton: g,
236
- children: /* @__PURE__ */ n(Y, { className: w.dialogCommand, children: e })
251
+ children: /* @__PURE__ */ n(G, { className: w.dialogCommand, children: e })
237
252
  }
238
253
  )
239
254
  ] });
@@ -248,7 +263,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
248
263
  [i]: "command-input-wrapper",
249
264
  className: m(g.inputWrapper, o),
250
265
  children: [
251
- /* @__PURE__ */ n(z, { className: g.searchIcon }),
266
+ /* @__PURE__ */ n(Y, { className: g.searchIcon }),
252
267
  /* @__PURE__ */ n(
253
268
  p.Input,
254
269
  {
@@ -262,7 +277,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
262
277
  ]
263
278
  }
264
279
  );
265
- }), F = s.forwardRef(function({ className: t, ...o }, e) {
280
+ }), J = s.forwardRef(function({ className: t, ...o }, e) {
266
281
  const a = l();
267
282
  return /* @__PURE__ */ n(
268
283
  p.List,
@@ -274,7 +289,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
274
289
  ...o
275
290
  }
276
291
  );
277
- }), J = s.forwardRef(function({ className: t, ...o }, e) {
292
+ }), K = s.forwardRef(function({ className: t, ...o }, e) {
278
293
  const a = l();
279
294
  return /* @__PURE__ */ n(
280
295
  p.Empty,
@@ -286,7 +301,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
286
301
  ...o
287
302
  }
288
303
  );
289
- }), K = s.forwardRef(function({ className: t, ...o }, e) {
304
+ }), U = s.forwardRef(function({ className: t, ...o }, e) {
290
305
  const a = l();
291
306
  return /* @__PURE__ */ n(
292
307
  p.Group,
@@ -298,7 +313,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
298
313
  ...o
299
314
  }
300
315
  );
301
- }), U = s.forwardRef(function({ className: t, ...o }, e) {
316
+ }), oo = s.forwardRef(function({ className: t, ...o }, e) {
302
317
  const a = l();
303
318
  return /* @__PURE__ */ n(
304
319
  p.Separator,
@@ -310,7 +325,7 @@ const V = s.forwardRef(function({ className: t, wrapperClassName: o, ...e }, a)
310
325
  ...o
311
326
  }
312
327
  );
313
- }), oo = s.forwardRef(function({ className: t, ...o }, e) {
328
+ }), to = s.forwardRef(function({ className: t, ...o }, e) {
314
329
  const a = l();
315
330
  return /* @__PURE__ */ n(
316
331
  p.Item,
@@ -336,7 +351,7 @@ s.forwardRef(function({ className: t, ...o }, e) {
336
351
  }
337
352
  );
338
353
  });
339
- const to = s.forwardRef(function({ className: t, ...o }, e) {
354
+ const eo = s.forwardRef(function({ className: t, ...o }, e) {
340
355
  const a = l();
341
356
  return /* @__PURE__ */ n(
342
357
  p.Loading,
@@ -350,14 +365,14 @@ const to = s.forwardRef(function({ className: t, ...o }, e) {
350
365
  );
351
366
  });
352
367
  export {
353
- Y as Command,
354
- J as CommandEmpty,
355
- K as CommandGroup,
368
+ G as Command,
369
+ K as CommandEmpty,
370
+ U as CommandGroup,
356
371
  V as CommandInput,
357
- oo as CommandItem,
358
- F as CommandList,
359
- to as CommandLoading,
360
- Y as CommandRoot,
361
- U as CommandSeparator
372
+ to as CommandItem,
373
+ J as CommandList,
374
+ eo as CommandLoading,
375
+ G as CommandRoot,
376
+ oo as CommandSeparator
362
377
  };
363
378
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n root: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n },\n searchIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n },\n group: {\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n },\n separator: {\n backgroundColor: tokens.semGraySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-selected='true'], &[aria-selected='true']\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled='true'], &[aria-disabled='true']\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n \"& [cmdk-group]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n \"& [cmdk-item]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n \"& [cmdk-item] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input-wrapper] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input]\": {\n height: \"3rem\",\n },\n },\n srOnly: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive> & {\n \"data-slot\"?: string\n}\n\nexport const Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n CommandProps\n>(function Command(\n { className, \"data-slot\": dataSlot = \"command\", ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport type CommandDialogProps = Omit<\n React.ComponentProps<typeof Dialog>,\n \"children\"\n> & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command className={styles.dialogCommand}>{children}</Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = React.ComponentProps<\n typeof CommandPrimitive.Input\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <CommandPrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\nexport type CommandListProps = React.ComponentProps<\n typeof CommandPrimitive.List\n>\n\nexport const CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n CommandListProps\n>(function CommandList({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n {...props}\n />\n )\n})\n\nexport type CommandEmptyProps = React.ComponentProps<\n typeof CommandPrimitive.Empty\n>\n\nexport const CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n CommandEmptyProps\n>(function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type CommandGroupProps = React.ComponentProps<\n typeof CommandPrimitive.Group\n>\n\nexport const CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n CommandGroupProps\n>(function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type CommandSeparatorProps = React.ComponentProps<\n typeof CommandPrimitive.Separator\n>\n\nexport const CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type CommandItemProps = React.ComponentProps<\n typeof CommandPrimitive.Item\n>\n\nexport const CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n CommandItemProps\n>(function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n})\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\n typeof CommandPrimitive.Loading\n>\n\nexport const CommandLoading = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Loading>,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Loading\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeVoltStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.semGraySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","Command","React","className","dataSlot","ref","styles","CommandPrimitive","mergeClasses","title","description","children","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sources":["../../../src/components/command/command.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from \"../dialog/dialog\"\n\nconst SearchIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\" />\n </svg>\n)\n\nconst useStyles = makeVoltStyles({\n root: {\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n inputWrapper: {\n display: \"flex\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA3),\n paddingLeft: tokens.spacingElement3,\n paddingRight: tokens.spacingElement3,\n },\n searchIcon: {\n width: \"1.25rem\",\n height: \"1.25rem\",\n flexShrink: 0,\n opacity: 0.5,\n },\n input: {\n height: \"3rem\",\n display: \"flex\",\n width: \"100%\",\n ...shorthands.borderRadius(tokens.radiusMd),\n backgroundColor: \"transparent\",\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n // Inset (negative), not the outward +2px every other audited control uses: this input sits\n // flush against the top edge of the Command root, which clips overflow for its rounded\n // corners. An outward ring's top 4px (width + offset) render outside that clip box and are\n // cut off — confirmed by measuring the rendered outline rect against the clipping ancestor's\n // rect (COBALT-REVIEW-2.md §2). Insetting keeps the ring's outer edge at the input's own\n // border edge, so it doesn't extend past this ancestor's clip box in this layout (it is not\n // a universal guarantee against every possible ancestor — an ancestor that clips the input's\n // OWN box, not just what extends beyond it, would still hide it). No layout change either\n // way: outline never affects box model regardless of sign.\n outlineOffset: \"-2px\",\n outlineColor: tokens.semFocusRing,\n },\n \"::placeholder\": {\n color: tokens.grayA11,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n list: {\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollPaddingTop: tokens.spacingElement1,\n scrollPaddingBottom: tokens.spacingElement1,\n },\n empty: {\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n },\n group: {\n color: tokens.grayA12,\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(tokens.spacingElement1),\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n },\n },\n separator: {\n backgroundColor: tokens.semGraySoft,\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n height: \"1px\",\n },\n item: {\n position: \"relative\",\n display: \"flex\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusSm),\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n color: tokens.grayA12,\n \"&[data-selected='true'], &[aria-selected='true']\": {\n backgroundColor: tokens.accentA3,\n },\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-disabled='true'], &[aria-disabled='true']\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n \"& svg:not([class*='text-'])\": {\n color: tokens.grayA11,\n },\n },\n shortcut: {\n color: tokens.grayA11,\n marginLeft: \"auto\",\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n letterSpacing: \"0.1em\",\n },\n loading: {\n color: tokens.grayA11,\n },\n dialogContent: {\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n ...shorthands.padding(0),\n },\n dialogCommand: {\n \"& [cmdk-group-heading]\": {\n color: tokens.grayA11,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n fontWeight: tokens.fontWeightMedium,\n },\n [`& [${SLOT_ATTR}=\"command-input-wrapper\"]`]: {\n height: \"3rem\",\n },\n \"& [cmdk-group]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n },\n \"& [cmdk-item]\": {\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement3,\n paddingBottom: tokens.spacingElement3,\n },\n \"& [cmdk-item] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input-wrapper] svg\": {\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n \"& [cmdk-input]\": {\n height: \"3rem\",\n },\n },\n srOnly: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n marginTop: \"-1px\",\n marginBottom: \"-1px\",\n marginLeft: \"-1px\",\n marginRight: \"-1px\",\n overflowX: \"hidden\",\n overflowY: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n ...shorthands.borderWidth(0),\n },\n})\n\nexport type CommandProps = React.ComponentProps<typeof CommandPrimitive> & {\n \"data-slot\"?: string\n}\n\nexport const Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n CommandProps\n>(function Command(\n { className, \"data-slot\": dataSlot = \"command\", ...props },\n ref\n) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive\n ref={ref}\n data-slot={dataSlot}\n {...{ [SLOT_ATTR]: dataSlot }}\n className={mergeClasses(styles.root, className)}\n {...props}\n />\n )\n})\n\nexport type CommandDialogProps = Omit<\n React.ComponentProps<typeof Dialog>,\n \"children\"\n> & {\n children?: React.ReactNode\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n}\n\nexport const CommandDialog = React.forwardRef<HTMLElement, CommandDialogProps>(\n function CommandDialog(\n {\n title = \"Command Palette\",\n description = \"Search for a command to run...\",\n children,\n className,\n showCloseButton = true,\n ...props\n },\n _ref\n ) {\n const styles = useStyles()\n\n return (\n <Dialog {...props}>\n <DialogHeader className={styles.srOnly}>\n <DialogTitle>{title}</DialogTitle>\n <DialogDescription>{description}</DialogDescription>\n </DialogHeader>\n <DialogContent\n className={mergeClasses(styles.dialogContent, className)}\n showCloseButton={showCloseButton}\n >\n <Command className={styles.dialogCommand}>{children}</Command>\n </DialogContent>\n </Dialog>\n )\n }\n)\n\nexport type CommandInputProps = React.ComponentProps<\n typeof CommandPrimitive.Input\n> & {\n wrapperClassName?: string\n}\n\nexport const CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n CommandInputProps\n>(function CommandInput({ className, wrapperClassName, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n data-slot=\"command-input-wrapper\"\n {...{ [SLOT_ATTR]: \"command-input-wrapper\" }}\n className={mergeClasses(styles.inputWrapper, wrapperClassName)}\n >\n <SearchIcon className={styles.searchIcon} />\n <CommandPrimitive.Input\n ref={ref}\n data-slot=\"command-input\"\n {...{ [SLOT_ATTR]: \"command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n </div>\n )\n})\n\nexport type CommandListProps = React.ComponentProps<\n typeof CommandPrimitive.List\n>\n\nexport const CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n CommandListProps\n>(function CommandList({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.List\n ref={ref}\n data-slot=\"command-list\"\n {...{ [SLOT_ATTR]: \"command-list\" }}\n className={mergeClasses(styles.list, className)}\n {...props}\n />\n )\n})\n\nexport type CommandEmptyProps = React.ComponentProps<\n typeof CommandPrimitive.Empty\n>\n\nexport const CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n CommandEmptyProps\n>(function CommandEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Empty\n ref={ref}\n data-slot=\"command-empty\"\n {...{ [SLOT_ATTR]: \"command-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type CommandGroupProps = React.ComponentProps<\n typeof CommandPrimitive.Group\n>\n\nexport const CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n CommandGroupProps\n>(function CommandGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Group\n ref={ref}\n data-slot=\"command-group\"\n {...{ [SLOT_ATTR]: \"command-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type CommandSeparatorProps = React.ComponentProps<\n typeof CommandPrimitive.Separator\n>\n\nexport const CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n CommandSeparatorProps\n>(function CommandSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Separator\n ref={ref}\n data-slot=\"command-separator\"\n {...{ [SLOT_ATTR]: \"command-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type CommandItemProps = React.ComponentProps<\n typeof CommandPrimitive.Item\n>\n\nexport const CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n CommandItemProps\n>(function CommandItem({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Item\n ref={ref}\n data-slot=\"command-item\"\n {...{ [SLOT_ATTR]: \"command-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n />\n )\n})\n\nexport type CommandShortcutProps = React.ComponentProps<\"span\">\n\nexport const CommandShortcut = React.forwardRef<\n HTMLSpanElement,\n CommandShortcutProps\n>(function CommandShortcut({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n data-slot=\"command-shortcut\"\n {...{ [SLOT_ATTR]: \"command-shortcut\" }}\n className={mergeClasses(styles.shortcut, className)}\n {...props}\n />\n )\n})\n\nexport type CommandLoadingProps = React.ComponentProps<\n typeof CommandPrimitive.Loading\n>\n\nexport const CommandLoading = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Loading>,\n CommandLoadingProps\n>(function CommandLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandPrimitive.Loading\n ref={ref}\n data-slot=\"command-loading\"\n {...{ [SLOT_ATTR]: \"command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport { Command as CommandRoot }\n"],"names":["SearchIcon","props","jsx","useStyles","makeVoltStyles","tokens.body","tokens.grayA12","shorthands","tokens.radiusMd","tokens.spacingElement2","tokens.grayA3","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.semFocusRing","tokens.grayA11","tokens.spacingElement1","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.semGraySoft","tokens.radiusSm","tokens.accentA3","SLOT_ATTR","Command","React","className","dataSlot","ref","styles","CommandPrimitive","mergeClasses","title","description","children","showCloseButton","_ref","jsxs","Dialog","DialogHeader","DialogTitle","DialogDescription","DialogContent","CommandInput","wrapperClassName","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading"],"mappings":"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"}
@@ -1,28 +1,28 @@
1
1
  import { jsx as f } from "react/jsx-runtime";
2
2
  import * as Le from "react";
3
- import { useState as c, useRef as he, useEffect as A, useMemo as m, useCallback as je } from "react";
3
+ import { useState as c, useRef as he, useEffect as A, useMemo as d, useCallback as je } from "react";
4
4
  import { useReactTable as He } from "../../vendor/@tanstack/react-table/build/lib/index.js";
5
5
  import { SLOT_ATTR as _e } from "../../packages/volt-runtime/dist/renderer/contract.js";
6
6
  import { mergeClasses as Ee } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
7
7
  import { makeVoltStyles as Oe } from "../../styles/make-styles.js";
8
8
  import { Checkbox as Z } from "../checkbox/checkbox.js";
9
- import { TableDensityContext as We } from "../table/table.js";
10
- import { DataTableContext as qe } from "./data-table-context.js";
9
+ import { canonicalDensity as We, DensityContextBoundary as qe } from "../density-provider/density-provider.js";
10
+ import { DataTableContext as Be } from "./data-table-context.js";
11
11
  import { DataTableColumnHeader as Ge } from "./data-table-column-header.js";
12
12
  import { getPaginationRowModel as Je, getFilteredRowModel as Ke, getSortedRowModel as Qe, getCoreRowModel as Ue } from "../../vendor/@tanstack/table-core/build/lib/index.js";
13
- function Xe(n, b) {
14
- return b ? n.map((s) => {
13
+ function Xe(n, P) {
14
+ return P ? n.map((s) => {
15
15
  var r;
16
16
  if (s.enableSorting === !1 || typeof s.header != "string")
17
17
  return s;
18
- const d = s.header;
18
+ const m = s.header;
19
19
  return {
20
20
  ...s,
21
- header: ({ column: u }) => /* @__PURE__ */ f(Ge, { column: u, title: d }),
21
+ header: ({ column: u }) => /* @__PURE__ */ f(Ge, { column: u, title: m }),
22
22
  meta: {
23
23
  ...s.meta,
24
24
  // Preserve original header for visibility dropdown fallback
25
- visibilityLabel: ((r = s.meta) == null ? void 0 : r.visibilityLabel) ?? d,
25
+ visibilityLabel: ((r = s.meta) == null ? void 0 : r.visibilityLabel) ?? m,
26
26
  // Flag to indicate this header was auto-wrapped with DataTableColumnHeader
27
27
  _sortableHeaderWrapped: !0
28
28
  }
@@ -37,75 +37,75 @@ const Ye = Oe({
37
37
  });
38
38
  function Ze({
39
39
  columns: n,
40
- data: b,
40
+ data: P,
41
41
  children: s,
42
- getRowId: d,
42
+ getRowId: m,
43
43
  enableRowSelection: r = !1,
44
44
  enableSorting: u = !1,
45
45
  manualSorting: F = !1,
46
46
  enableFiltering: $ = !1,
47
- manualFiltering: a = !1,
48
- enableGlobalFilter: B = !1,
47
+ manualFiltering: V = !1,
48
+ enableGlobalFilter: N = !1,
49
49
  pagination: t,
50
- sorting: N,
51
- onSortingChange: I,
52
- defaultSorting: C = [],
53
- rowSelection: g,
50
+ sorting: C,
51
+ onSortingChange: b,
52
+ defaultSorting: g = [],
53
+ rowSelection: p,
54
54
  onRowSelectionChange: y,
55
- defaultRowSelection: p = {},
56
- columnFilters: ee,
55
+ defaultRowSelection: ee = {},
56
+ columnFilters: te,
57
57
  onColumnFiltersChange: x,
58
- columnVisibility: te,
59
- onColumnVisibilityChange: T,
60
- globalFilter: le,
58
+ columnVisibility: le,
59
+ onColumnVisibilityChange: i,
60
+ globalFilter: se,
61
61
  onGlobalFilterChange: w,
62
- onRowClick: V,
63
- clickableRowClassName: L,
64
- selectedRowClassName: h,
65
- cellOverflow: j = "truncate",
66
- disableColumnResizing: i = !1,
67
- columnResizeMode: se = "onChange",
68
- columnSizing: re,
62
+ onRowClick: L,
63
+ clickableRowClassName: h,
64
+ selectedRowClassName: j,
65
+ cellOverflow: H = "truncate",
66
+ disableColumnResizing: T = !1,
67
+ columnResizeMode: re = "onChange",
68
+ columnSizing: ce,
69
69
  onColumnSizingChange: z,
70
- defaultColumnSizing: ce = {},
71
- columnPinning: oe,
72
- onColumnPinningChange: M,
73
- defaultColumnPinning: fe = { left: [], right: [] },
74
- autoPinSelection: H,
75
- showHeaderBorder: _ = !0,
76
- showRowBorders: E = !0,
77
- fitHeaderWidth: O = !1,
78
- density: ne = "normal",
70
+ defaultColumnSizing: oe = {},
71
+ columnPinning: fe,
72
+ onColumnPinningChange: D,
73
+ defaultColumnPinning: ne = { left: [], right: [] },
74
+ autoPinSelection: _,
75
+ showHeaderBorder: E = !0,
76
+ showRowBorders: O = !0,
77
+ fitHeaderWidth: W = !1,
78
+ density: M,
79
79
  className: ue
80
- }, me) {
81
- const de = Ye(), [Se, Pe] = c(C), [be, Ie] = c(p), [ye, xe] = c([]), [Te, we] = c({}), [ie, ze] = c(""), [Me, ve] = c(ce), [De, Re] = c(fe), ke = {
80
+ }, de) {
81
+ const me = Ye(), [Se, Ie] = c(g), [Pe, be] = c(ee), [ye, xe] = c([]), [ie, we] = c({}), [Te, ze] = c(""), [De, Me] = c(oe), [ve, Re] = c(ne), ae = {
82
82
  pageIndex: (t == null ? void 0 : t.pageIndex) ?? 0,
83
83
  pageSize: (t == null ? void 0 : t.pageSize) ?? 10
84
- }, [v, D] = c(ke), R = he(!1);
84
+ }, [v, R] = c(ae), a = he(!1);
85
85
  A(() => {
86
86
  if ((t == null ? void 0 : t.pageIndex) === void 0)
87
87
  return;
88
88
  const e = t.pageIndex;
89
- D(
89
+ R(
90
90
  (l) => l.pageIndex === e ? l : { ...l, pageIndex: e }
91
91
  );
92
92
  }, [t == null ? void 0 : t.pageIndex]), A(() => {
93
93
  if ((t == null ? void 0 : t.pageSize) === void 0)
94
94
  return;
95
95
  const e = t.pageSize;
96
- D(
96
+ R(
97
97
  (l) => l.pageSize === e ? l : { ...l, pageSize: e }
98
98
  );
99
99
  }, [t == null ? void 0 : t.pageSize]);
100
- const W = !i, q = N ?? Se, S = g ?? be, G = ee ?? ye, J = te ?? Te, K = le ?? ie, Q = re ?? Me, o = oe ?? De, Ae = m(() => {
101
- if (!(r && H && Object.keys(S).length > 0))
100
+ const q = !T, B = C ?? Se, S = p ?? Pe, G = te ?? ye, J = le ?? ie, K = se ?? Te, Q = ce ?? De, o = fe ?? ve, ke = d(() => {
101
+ if (!(r && _ && Object.keys(S).length > 0))
102
102
  return o;
103
103
  const l = o.left ?? [];
104
104
  return l.includes("select") ? o : {
105
105
  ...o,
106
106
  left: ["select", ...l]
107
107
  };
108
- }, [o, S, r, H]), U = m(
108
+ }, [o, S, r, _]), U = d(
109
109
  () => ({
110
110
  id: "select",
111
111
  header: ({ table: e }) => /* @__PURE__ */ f(
@@ -133,20 +133,20 @@ function Ze({
133
133
  size: 40
134
134
  }),
135
135
  []
136
- ), k = m(() => Xe(n, u), [n, u]), Fe = m(() => r ? [U, ...k] : k, [k, r, U]), P = !!t, X = P && ((t == null ? void 0 : t.totalItems) !== void 0 || (t == null ? void 0 : t.pageCount) !== void 0), ae = je(
136
+ ), k = d(() => Xe(n, u), [n, u]), Ae = d(() => r ? [U, ...k] : k, [k, r, U]), I = !!t, X = I && ((t == null ? void 0 : t.totalItems) !== void 0 || (t == null ? void 0 : t.pageCount) !== void 0), Fe = je(
137
137
  (e) => {
138
- R.current = !0, D((l) => typeof e == "function" ? e(l) : e);
138
+ a.current = !0, R((l) => typeof e == "function" ? e(l) : e);
139
139
  },
140
140
  []
141
141
  );
142
142
  A(() => {
143
143
  var e;
144
- R.current && ((e = t == null ? void 0 : t.onPaginationChange) == null || e.call(t, v), R.current = !1);
144
+ a.current && ((e = t == null ? void 0 : t.onPaginationChange) == null || e.call(t, v), a.current = !1);
145
145
  }, [v, t]);
146
146
  const Y = He({
147
- data: b,
148
- columns: Fe,
149
- getRowId: d,
147
+ data: P,
148
+ columns: Ae,
149
+ getRowId: m,
150
150
  getCoreRowModel: Ue(),
151
151
  // Default column configuration
152
152
  defaultColumn: {
@@ -160,34 +160,34 @@ function Ze({
160
160
  manualSorting: !0
161
161
  },
162
162
  state: {
163
- sorting: q,
163
+ sorting: B,
164
164
  rowSelection: S,
165
165
  columnFilters: G,
166
166
  columnVisibility: J,
167
167
  globalFilter: K,
168
- columnPinning: Ae,
169
- ...P && {
168
+ columnPinning: ke,
169
+ ...I && {
170
170
  pagination: v
171
171
  },
172
- ...W && {
172
+ ...q && {
173
173
  columnSizing: Q
174
174
  }
175
175
  },
176
176
  onSortingChange: (e) => {
177
- const l = typeof e == "function" ? e(q) : e;
178
- Pe(l), I == null || I(l);
177
+ const l = typeof e == "function" ? e(B) : e;
178
+ Ie(l), b == null || b(l);
179
179
  },
180
180
  // Row selection
181
181
  enableRowSelection: typeof r == "function" ? (e) => r(e) : r,
182
182
  onRowSelectionChange: (e) => {
183
183
  const l = typeof e == "function" ? e(S) : e;
184
- Ie(l), y == null || y(l);
184
+ be(l), y == null || y(l);
185
185
  },
186
186
  // Filtering
187
- ...($ || B) && !a && {
187
+ ...($ || N) && !V && {
188
188
  getFilteredRowModel: Ke()
189
189
  },
190
- ...a && {
190
+ ...V && {
191
191
  manualFiltering: !0
192
192
  },
193
193
  onColumnFiltersChange: (e) => {
@@ -196,26 +196,26 @@ function Ze({
196
196
  },
197
197
  onColumnVisibilityChange: (e) => {
198
198
  const l = typeof e == "function" ? e(J) : e;
199
- we(l), T == null || T(l);
199
+ we(l), i == null || i(l);
200
200
  },
201
201
  onGlobalFilterChange: (e) => {
202
202
  const l = typeof e == "function" ? e(K) : e;
203
203
  ze(l), w == null || w(l);
204
204
  },
205
205
  // Column resizing
206
- enableColumnResizing: W,
207
- columnResizeMode: se,
206
+ enableColumnResizing: q,
207
+ columnResizeMode: re,
208
208
  onColumnSizingChange: (e) => {
209
209
  const l = typeof e == "function" ? e(Q) : e;
210
- ve(l), z == null || z(l);
210
+ Me(l), z == null || z(l);
211
211
  },
212
212
  // Column pinning
213
213
  onColumnPinningChange: (e) => {
214
214
  const l = typeof e == "function" ? e(o) : e;
215
- Re(l), M == null || M(l);
215
+ Re(l), D == null || D(l);
216
216
  },
217
217
  // Pagination
218
- ...P && !X && {
218
+ ...I && !X && {
219
219
  getPaginationRowModel: Je()
220
220
  },
221
221
  ...X && {
@@ -223,49 +223,50 @@ function Ze({
223
223
  pageCount: t == null ? void 0 : t.pageCount,
224
224
  rowCount: t == null ? void 0 : t.totalItems
225
225
  },
226
- ...P && {
227
- onPaginationChange: ae
226
+ ...I && {
227
+ onPaginationChange: Fe
228
228
  }
229
- }), Ve = m(
229
+ }), Ve = d(
230
230
  () => ({
231
231
  table: Y,
232
232
  pagination: t,
233
- onRowClick: V,
234
- clickableRowClassName: L,
235
- selectedRowClassName: h,
236
- cellOverflow: j,
237
- disableColumnResizing: i,
238
- showHeaderBorder: _,
239
- showRowBorders: E,
240
- fitHeaderWidth: O
233
+ onRowClick: L,
234
+ clickableRowClassName: h,
235
+ selectedRowClassName: j,
236
+ cellOverflow: H,
237
+ disableColumnResizing: T,
238
+ showHeaderBorder: E,
239
+ showRowBorders: O,
240
+ fitHeaderWidth: W
241
241
  }),
242
242
  [
243
243
  Y,
244
244
  t,
245
- V,
246
245
  L,
247
246
  h,
248
247
  j,
249
- i,
250
- _,
248
+ H,
249
+ T,
251
250
  E,
252
- O
251
+ O,
252
+ W
253
253
  ]
254
254
  );
255
- return /* @__PURE__ */ f(qe.Provider, { value: Ve, children: /* @__PURE__ */ f(We.Provider, { value: ne, children: /* @__PURE__ */ f(
255
+ return /* @__PURE__ */ f(Be.Provider, { value: Ve, children: /* @__PURE__ */ f(
256
256
  "div",
257
257
  {
258
- ref: me,
258
+ ref: de,
259
259
  "data-slot": "data-table",
260
260
  [_e]: "data-table",
261
261
  "data-fs-element": "DataTable",
262
- className: Ee(de.root, ue),
263
- children: s
262
+ className: Ee(me.root, ue),
263
+ ...M !== void 0 ? { "data-density": We(M) } : {},
264
+ children: /* @__PURE__ */ f(qe, { density: M, children: s })
264
265
  }
265
- ) }) });
266
+ ) });
266
267
  }
267
- const ot = Le.forwardRef(Ze);
268
+ const ft = Le.forwardRef(Ze);
268
269
  export {
269
- ot as DataTable
270
+ ft as DataTable
270
271
  };
271
272
  //# sourceMappingURL=data-table.js.map