@particle-academy/react-fancy 5.63.0 → 5.64.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.
package/dist/index.cjs CHANGED
@@ -1,21 +1,23 @@
1
1
  'use strict';
2
2
 
3
+ var chunkYH75G6SP_cjs = require('./chunk-YH75G6SP.cjs');
3
4
  var chunkUXYFM2XT_cjs = require('./chunk-UXYFM2XT.cjs');
4
5
  var chunkH2YRZYKK_cjs = require('./chunk-H2YRZYKK.cjs');
5
6
  var chunkAVEFCM6T_cjs = require('./chunk-AVEFCM6T.cjs');
6
7
  var chunkIR6JSQ4O_cjs = require('./chunk-IR6JSQ4O.cjs');
7
8
  require('./chunk-O5IO7TCO.cjs');
9
+ var chunkZ4UXLQSK_cjs = require('./chunk-Z4UXLQSK.cjs');
8
10
  require('./chunk-OYZDSMNP.cjs');
9
11
  require('./chunk-5FV6GMFP.cjs');
10
12
  var chunk6MDZQIMZ_cjs = require('./chunk-6MDZQIMZ.cjs');
13
+ var chunkETNQ4AEQ_cjs = require('./chunk-ETNQ4AEQ.cjs');
11
14
  var chunkDJB3N4G3_cjs = require('./chunk-DJB3N4G3.cjs');
12
15
  require('./chunk-URTLYNZI.cjs');
13
16
  require('./chunk-QGPMVFZJ.cjs');
14
17
  var chunkIB673TEG_cjs = require('./chunk-IB673TEG.cjs');
15
18
  var chunkH7ELUIF6_cjs = require('./chunk-H7ELUIF6.cjs');
16
19
  require('./chunk-HXLSEBAL.cjs');
17
- var chunkZ4UXLQSK_cjs = require('./chunk-Z4UXLQSK.cjs');
18
- var chunkETNQ4AEQ_cjs = require('./chunk-ETNQ4AEQ.cjs');
20
+ var chunkFNIHCNVD_cjs = require('./chunk-FNIHCNVD.cjs');
19
21
  var chunk7DDUMW4R_cjs = require('./chunk-7DDUMW4R.cjs');
20
22
  var chunkFVQO75KY_cjs = require('./chunk-FVQO75KY.cjs');
21
23
  var chunkATJSHM6J_cjs = require('./chunk-ATJSHM6J.cjs');
@@ -23,15 +25,14 @@ var chunkYJXP6AOL_cjs = require('./chunk-YJXP6AOL.cjs');
23
25
  var chunkCQ54H7DZ_cjs = require('./chunk-CQ54H7DZ.cjs');
24
26
  require('./chunk-XURQVDCN.cjs');
25
27
  var chunk4DL2U23D_cjs = require('./chunk-4DL2U23D.cjs');
26
- var chunkYH75G6SP_cjs = require('./chunk-YH75G6SP.cjs');
27
28
  var chunkBK6XQQYG_cjs = require('./chunk-BK6XQQYG.cjs');
28
29
  var chunkAE53RKWR_cjs = require('./chunk-AE53RKWR.cjs');
29
30
  var chunkSYEHWUM5_cjs = require('./chunk-SYEHWUM5.cjs');
31
+ var chunkQP6VNKLW_cjs = require('./chunk-QP6VNKLW.cjs');
30
32
  var chunkCEFK54WP_cjs = require('./chunk-CEFK54WP.cjs');
31
33
  var chunk5P3PISAX_cjs = require('./chunk-5P3PISAX.cjs');
32
34
  var chunkY7RGUUTS_cjs = require('./chunk-Y7RGUUTS.cjs');
33
35
  var chunkEZA6GWZL_cjs = require('./chunk-EZA6GWZL.cjs');
34
- var chunkFNIHCNVD_cjs = require('./chunk-FNIHCNVD.cjs');
35
36
  var chunkKSU6RYWU_cjs = require('./chunk-KSU6RYWU.cjs');
36
37
  var chunkK5MQZTDW_cjs = require('./chunk-K5MQZTDW.cjs');
37
38
  var chunkB4YV2V7G_cjs = require('./chunk-B4YV2V7G.cjs');
@@ -76,7 +77,7 @@ var chunkFQSSVOVQ_cjs = require('./chunk-FQSSVOVQ.cjs');
76
77
  require('./chunk-S3TRSECD.cjs');
77
78
  var chunkZ7SQMQTF_cjs = require('./chunk-Z7SQMQTF.cjs');
78
79
  var chunkAJPYGRLA_cjs = require('./chunk-AJPYGRLA.cjs');
79
- var chunkA6HWKQ4D_cjs = require('./chunk-A6HWKQ4D.cjs');
80
+ var chunkXZOBGKZL_cjs = require('./chunk-XZOBGKZL.cjs');
80
81
  var chunkATIDUWY6_cjs = require('./chunk-ATIDUWY6.cjs');
81
82
  var chunkA2JUTNE6_cjs = require('./chunk-A2JUTNE6.cjs');
82
83
  var chunkT6YELZPJ_cjs = require('./chunk-T6YELZPJ.cjs');
@@ -218,6 +219,10 @@ var THEME_TOKENS = {
218
219
  }
219
220
  };
220
221
 
222
+ Object.defineProperty(exports, "TimePicker", {
223
+ enumerable: true,
224
+ get: function () { return chunkYH75G6SP_cjs.TimePicker; }
225
+ });
221
226
  Object.defineProperty(exports, "Timeline", {
222
227
  enumerable: true,
223
228
  get: function () { return chunkUXYFM2XT_cjs.Timeline; }
@@ -242,6 +247,10 @@ Object.defineProperty(exports, "VirtualList", {
242
247
  enumerable: true,
243
248
  get: function () { return chunkIR6JSQ4O_cjs.VirtualList; }
244
249
  });
250
+ Object.defineProperty(exports, "Slider", {
251
+ enumerable: true,
252
+ get: function () { return chunkZ4UXLQSK_cjs.Slider; }
253
+ });
245
254
  Object.defineProperty(exports, "Form", {
246
255
  enumerable: true,
247
256
  get: function () { return chunk6MDZQIMZ_cjs.Form; }
@@ -250,6 +259,10 @@ Object.defineProperty(exports, "FormProvider", {
250
259
  enumerable: true,
251
260
  get: function () { return chunk6MDZQIMZ_cjs.FormProvider; }
252
261
  });
262
+ Object.defineProperty(exports, "Checkbox", {
263
+ enumerable: true,
264
+ get: function () { return chunkETNQ4AEQ_cjs.Checkbox; }
265
+ });
253
266
  Object.defineProperty(exports, "CheckboxGroup", {
254
267
  enumerable: true,
255
268
  get: function () { return chunkDJB3N4G3_cjs.CheckboxGroup; }
@@ -262,13 +275,9 @@ Object.defineProperty(exports, "RadioGroup", {
262
275
  enumerable: true,
263
276
  get: function () { return chunkH7ELUIF6_cjs.RadioGroup; }
264
277
  });
265
- Object.defineProperty(exports, "Slider", {
266
- enumerable: true,
267
- get: function () { return chunkZ4UXLQSK_cjs.Slider; }
268
- });
269
- Object.defineProperty(exports, "Checkbox", {
278
+ Object.defineProperty(exports, "Skeleton", {
270
279
  enumerable: true,
271
- get: function () { return chunkETNQ4AEQ_cjs.Checkbox; }
280
+ get: function () { return chunkFNIHCNVD_cjs.Skeleton; }
272
281
  });
273
282
  Object.defineProperty(exports, "Stat", {
274
283
  enumerable: true,
@@ -302,10 +311,6 @@ Object.defineProperty(exports, "TimeGrid", {
302
311
  enumerable: true,
303
312
  get: function () { return chunk4DL2U23D_cjs.TimeGrid; }
304
313
  });
305
- Object.defineProperty(exports, "TimePicker", {
306
- enumerable: true,
307
- get: function () { return chunkYH75G6SP_cjs.TimePicker; }
308
- });
309
314
  Object.defineProperty(exports, "PullQuote", {
310
315
  enumerable: true,
311
316
  get: function () { return chunkBK6XQQYG_cjs.PullQuote; }
@@ -326,6 +331,14 @@ Object.defineProperty(exports, "ReasonTag", {
326
331
  enumerable: true,
327
332
  get: function () { return chunkSYEHWUM5_cjs.ReasonTag; }
328
333
  });
334
+ Object.defineProperty(exports, "ReorderableGrid", {
335
+ enumerable: true,
336
+ get: function () { return chunkQP6VNKLW_cjs.ReorderableGrid; }
337
+ });
338
+ Object.defineProperty(exports, "moveItem", {
339
+ enumerable: true,
340
+ get: function () { return chunkQP6VNKLW_cjs.moveItem; }
341
+ });
329
342
  Object.defineProperty(exports, "ResizablePanels", {
330
343
  enumerable: true,
331
344
  get: function () { return chunkCEFK54WP_cjs.ResizablePanels; }
@@ -346,10 +359,6 @@ Object.defineProperty(exports, "useSidebar", {
346
359
  enumerable: true,
347
360
  get: function () { return chunkEZA6GWZL_cjs.useSidebar; }
348
361
  });
349
- Object.defineProperty(exports, "Skeleton", {
350
- enumerable: true,
351
- get: function () { return chunkFNIHCNVD_cjs.Skeleton; }
352
- });
353
362
  Object.defineProperty(exports, "Pillbox", {
354
363
  enumerable: true,
355
364
  get: function () { return chunkKSU6RYWU_cjs.Pillbox; }
@@ -628,11 +637,11 @@ Object.defineProperty(exports, "useDrawer", {
628
637
  });
629
638
  Object.defineProperty(exports, "Dropdown", {
630
639
  enumerable: true,
631
- get: function () { return chunkA6HWKQ4D_cjs.Dropdown; }
640
+ get: function () { return chunkXZOBGKZL_cjs.Dropdown; }
632
641
  });
633
642
  Object.defineProperty(exports, "useDropdown", {
634
643
  enumerable: true,
635
- get: function () { return chunkA6HWKQ4D_cjs.useDropdown; }
644
+ get: function () { return chunkXZOBGKZL_cjs.useDropdown; }
636
645
  });
637
646
  Object.defineProperty(exports, "Editor", {
638
647
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
1
+ {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCO,IAAM,YAAA,GAAe;AAAA,EAC1B,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,iBAAA;AAAA,IACV,YAAA,EAAc,sBAAA;AAAA,IACd,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU,uBAAA;AAAA,IACV,YAAA,EAAc,4BAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,QAAA,EAAU,gBAAA;AAAA,IACV,YAAA,EAAc,qBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU,uBAAA;AAAA,IACV,YAAA,EAAc,4BAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,QAAA,EAAU,eAAA;AAAA,IACV,YAAA,EAAc,oBAAA;AAAA,IACd,KAAA,EAAO,oBAAA;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,cAAA;AAAA,IACV,YAAA,EAAc,mBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,WAAA,EAAa;AAAA,IACX,QAAA,EAAU,mBAAA;AAAA,IACV,YAAA,EAAc,wBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,QAAA,EAAU,oBAAA;AAAA,IACV,YAAA,EAAc,yBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,QAAA,EAAU,oBAAA;AAAA,IACV,YAAA,EAAc,yBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,aAAA,EAAe;AAAA,IACb,QAAA,EAAU,qBAAA;AAAA,IACV,YAAA,EAAc,0BAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,QAAA,EAAU,uBAAA;AAAA,IACV,YAAA,EAAc,4BAAA;AAAA,IACd,KAAA,EAAO,sBAAA;AAAA;AAAA,IAEP,IAAA,EAAM,6DAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA,KAAA,EAAO;AAAA,IACL,QAAA,EAAU,eAAA;AAAA,IACV,YAAA,EAAc,oBAAA;AAAA,IACd,KAAA,EAAO,uBAAA;AAAA,IACP,IAAA,EAAM,uBAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB","file":"index.cjs","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
package/dist/index.d.cts CHANGED
@@ -35,6 +35,7 @@ export { Container, ContainerProps } from './container.cjs';
35
35
  export { Section, SectionProps } from './section.cjs';
36
36
  export { Grid, GridProps } from './grid.cjs';
37
37
  export { ResizablePanels, ResizablePanelsOrientation, ResizablePanelsProps } from './resizable-panels.cjs';
38
+ export { MoveItemOptions, ReorderableGrid, ReorderableGridAnnouncementContext, ReorderableGridItem, ReorderableGridItemState, ReorderableGridLabels, ReorderableGridProps, moveItem } from './reorderable-grid.cjs';
38
39
  export { StatList, StatListItem, StatListProps } from './stat-list.cjs';
39
40
  export { Kbd, KbdProps } from './kbd.cjs';
40
41
  export { IndexList, IndexListItem, IndexListProps } from './index-list.cjs';
package/dist/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export { Container, ContainerProps } from './container.js';
35
35
  export { Section, SectionProps } from './section.js';
36
36
  export { Grid, GridProps } from './grid.js';
37
37
  export { ResizablePanels, ResizablePanelsOrientation, ResizablePanelsProps } from './resizable-panels.js';
38
+ export { MoveItemOptions, ReorderableGrid, ReorderableGridAnnouncementContext, ReorderableGridItem, ReorderableGridItemState, ReorderableGridLabels, ReorderableGridProps, moveItem } from './reorderable-grid.js';
38
39
  export { StatList, StatListItem, StatListProps } from './stat-list.js';
39
40
  export { Kbd, KbdProps } from './kbd.js';
40
41
  export { IndexList, IndexListItem, IndexListProps } from './index-list.js';
package/dist/index.js CHANGED
@@ -1,19 +1,21 @@
1
+ export { TimePicker } from './chunk-AZQXPI5S.js';
1
2
  export { Timeline } from './chunk-QGY5FPVM.js';
2
3
  export { Toast, useToast } from './chunk-BQFPC5FL.js';
3
4
  export { TreeNav, useTreeNav } from './chunk-OYDJVGFS.js';
4
5
  export { VirtualList } from './chunk-Z4CW3U6C.js';
5
6
  import './chunk-VXHFR5MV.js';
7
+ export { Slider } from './chunk-NVXTHTJI.js';
6
8
  import './chunk-NW3GJWJ7.js';
7
9
  import './chunk-ORCXPDDG.js';
8
10
  export { Form, FormProvider } from './chunk-PQWQ5K6J.js';
11
+ export { Checkbox } from './chunk-OTM7RL2L.js';
9
12
  export { CheckboxGroup } from './chunk-TAYJSIOP.js';
10
13
  import './chunk-V4EARA4F.js';
11
14
  import './chunk-SHDSKHCC.js';
12
15
  export { MultiSwitch } from './chunk-YUNOVQQJ.js';
13
16
  export { RadioGroup } from './chunk-4FH2JHUY.js';
14
17
  import './chunk-GNHQVPZP.js';
15
- export { Slider } from './chunk-NVXTHTJI.js';
16
- export { Checkbox } from './chunk-OTM7RL2L.js';
18
+ export { Skeleton } from './chunk-X7VIIM2P.js';
17
19
  export { Stat, StatBand } from './chunk-KC3PYCBO.js';
18
20
  export { StatList } from './chunk-SXXDTW7S.js';
19
21
  export { StickyNote } from './chunk-CCG2L5EH.js';
@@ -21,15 +23,14 @@ export { Table } from './chunk-YAPGHVBZ.js';
21
23
  export { Tabs, useTabs } from './chunk-IU5WQUUC.js';
22
24
  import './chunk-TMR56BBE.js';
23
25
  export { TimeGrid } from './chunk-MLZGGAXQ.js';
24
- export { TimePicker } from './chunk-AZQXPI5S.js';
25
26
  export { PullQuote } from './chunk-44VYWOCG.js';
26
27
  export { QrCode, encodeQr, selectMode } from './chunk-RLE5WYY6.js';
27
28
  export { ReasonTag } from './chunk-QP35Z2WB.js';
29
+ export { ReorderableGrid, moveItem } from './chunk-DTOIO42M.js';
28
30
  export { ResizablePanels } from './chunk-GDF6XTHC.js';
29
31
  export { Section } from './chunk-SLJD25VV.js';
30
32
  export { Separator } from './chunk-JSD6IEBW.js';
31
33
  export { Sidebar, useSidebar } from './chunk-YJHP5FVA.js';
32
- export { Skeleton } from './chunk-X7VIIM2P.js';
33
34
  export { Pillbox } from './chunk-G35XN5WV.js';
34
35
  export { Profile } from './chunk-GOE36IXL.js';
35
36
  export { Progress } from './chunk-UE3QO7R3.js';
@@ -74,7 +75,7 @@ export { Container } from './chunk-VKMPVFQK.js';
74
75
  import './chunk-AUTW5O4W.js';
75
76
  export { ContextMenu, useContextMenu } from './chunk-NSJBVV7R.js';
76
77
  export { Drawer, useDrawer } from './chunk-PXZRYL5I.js';
77
- export { Dropdown, useDropdown } from './chunk-JG2DJK5A.js';
78
+ export { Dropdown, useDropdown } from './chunk-BXPLERIJ.js';
78
79
  export { Editor, useEditor } from './chunk-CAUEKGMR.js';
79
80
  export { THEME_STORAGE_KEY, getThemePreference, initTheme, resolveTheme, setThemePreference, subscribeTheme, useId, useNodeRegistry, useTheme } from './chunk-2BXMMVQS.js';
80
81
  export { usePanZoom } from './chunk-CPY7NHXM.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
1
+ {"version":3,"sources":["../src/theme-tokens.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Semantic theme tokens — the small set of colours the kit's DOM components\n * read, so a host can repaint the whole kit with its own palette WITHOUT\n * remapping Tailwind's `zinc` or `violet`.\n *\n * Each role is two CSS custom properties, one per mode:\n *\n * --fancy-surface the light value\n * --fancy-surface-dark the dark value\n *\n * Components read them through their var() FALLBACK, which is the colour the\n * component used before these existed:\n *\n * bg-[color:var(--fancy-surface,var(--color-white))]\n * dark:bg-[color:var(--fancy-surface-dark,var(--color-zinc-900))]\n *\n * So:\n * - **Set nothing and nothing changes.** An unset custom property resolves to\n * its fallback, which is the exact declaration the old `bg-white` produced.\n * - **Set one and every surface follows**, wherever the variable is in scope:\n * `:root`, `body`, or any wrapper element. No selector to match, no layer or\n * specificity to win — a custom property is inherited, not cascaded against.\n * - **Both modes are stated, not derived.** The dark value is a separate\n * variable rather than a flip under `.dark`, so which one applies is decided\n * by the host's own `dark:` variant — the same switch that drives every\n * other `dark:` utility in the kit. (See `dark-variant.css` for a variant\n * that follows `[data-theme=\"dark\"]` as well as `.dark`.)\n *\n * NOT covered, deliberately: colours that ENCODE DATA — chart series,\n * file-type marks, mood and confidence scales, event kinds. Repainting those\n * with a host's neutral palette would erase what they mean. A component's\n * explicit `color` prop (Badge, Button, Callout …) is also untouched: that is\n * the host choosing a hue, not the kit choosing one for it.\n *\n * `light` / `dark` are the defaults exactly as components write them in their\n * fallbacks. `tests/theme-tokens.test.tsx` fails if a component's fallback\n * disagrees with this table, so the table is the contract rather than a\n * description of it.\n */\nexport const THEME_TOKENS = {\n surface: {\n variable: \"--fancy-surface\",\n darkVariable: \"--fancy-surface-dark\",\n light: \"var(--color-white)\",\n dark: \"var(--color-zinc-900)\",\n description: \"Panels, cards, overlays (menus, modals, popovers, toasts), sidebars and navbars.\",\n },\n \"surface-muted\": {\n variable: \"--fancy-surface-muted\",\n darkVariable: \"--fancy-surface-muted-dark\",\n light: \"var(--color-zinc-100)\",\n dark: \"var(--color-zinc-800)\",\n description: \"Hovered and selected rows, chips, inset wells, toolbar buttons.\",\n },\n border: {\n variable: \"--fancy-border\",\n darkVariable: \"--fancy-border-dark\",\n light: \"var(--color-zinc-200)\",\n dark: \"var(--color-zinc-700)\",\n description: \"Outlines, dividers, separators and tracks (skeletons, progress, sliders).\",\n },\n \"border-strong\": {\n variable: \"--fancy-border-strong\",\n darkVariable: \"--fancy-border-strong-dark\",\n light: \"var(--color-zinc-300)\",\n dark: \"var(--color-zinc-700)\",\n description: \"The firmer outline on form controls (inputs, checkboxes, radios) and keycaps.\",\n },\n input: {\n variable: \"--fancy-input\",\n darkVariable: \"--fancy-input-dark\",\n light: \"var(--color-white)\",\n dark: \"#1e1e24\",\n description: \"The field surface of text inputs, checkboxes, radios, OTP cells and pickers.\",\n },\n text: {\n variable: \"--fancy-text\",\n darkVariable: \"--fancy-text-dark\",\n light: \"var(--color-zinc-900)\",\n dark: \"var(--color-zinc-100)\",\n description: \"Strongest foreground: headings, values, field text, active items.\",\n },\n \"text-soft\": {\n variable: \"--fancy-text-soft\",\n darkVariable: \"--fancy-text-soft-dark\",\n light: \"var(--color-zinc-700)\",\n dark: \"var(--color-zinc-300)\",\n description: \"Body copy and menu items: readable, one step back from text.\",\n },\n \"text-muted\": {\n variable: \"--fancy-text-muted\",\n darkVariable: \"--fancy-text-muted-dark\",\n light: \"var(--color-zinc-500)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Descriptions, captions, secondary labels, axis labels.\",\n },\n \"text-faint\": {\n variable: \"--fancy-text-faint\",\n darkVariable: \"--fancy-text-faint-dark\",\n light: \"var(--color-zinc-400)\",\n dark: \"var(--color-zinc-500)\",\n description: \"Placeholders, disabled hints, decorative icons.\",\n },\n \"text-subtle\": {\n variable: \"--fancy-text-subtle\",\n darkVariable: \"--fancy-text-subtle-dark\",\n light: \"var(--color-zinc-600)\",\n dark: \"var(--color-zinc-400)\",\n description: \"Inactive nav labels (Sidebar, Menu, Navbar, MultiSwitch) and secondary prose. Added 5.53.1.\",\n },\n \"surface-hover\": {\n variable: \"--fancy-surface-hover\",\n darkVariable: \"--fancy-surface-hover-dark\",\n light: \"var(--color-zinc-50)\",\n // Tailwind's `bg-zinc-800/50`, written out so a host's value is used as-is.\n dark: \"color-mix(in oklab, var(--color-zinc-800) 50%, transparent)\",\n description: \"The hover fill on nav items, list options and table rows. Added 5.53.1.\",\n },\n focus: {\n variable: \"--fancy-focus\",\n darkVariable: \"--fancy-focus-dark\",\n light: \"var(--color-blue-500)\",\n dark: \"var(--color-blue-400)\",\n description: \"The focus border and ring on form controls.\",\n },\n} as const;\n\nexport type ThemeTokenRole = keyof typeof THEME_TOKENS;\n"]}
package/dist/inputs.cjs CHANGED
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
3
  require('./chunk-O5IO7TCO.cjs');
4
+ var chunkZ4UXLQSK_cjs = require('./chunk-Z4UXLQSK.cjs');
4
5
  require('./chunk-OYZDSMNP.cjs');
5
6
  require('./chunk-5FV6GMFP.cjs');
6
7
  var chunk6MDZQIMZ_cjs = require('./chunk-6MDZQIMZ.cjs');
8
+ var chunkETNQ4AEQ_cjs = require('./chunk-ETNQ4AEQ.cjs');
7
9
  var chunkDJB3N4G3_cjs = require('./chunk-DJB3N4G3.cjs');
8
10
  require('./chunk-URTLYNZI.cjs');
9
11
  require('./chunk-QGPMVFZJ.cjs');
10
12
  var chunkIB673TEG_cjs = require('./chunk-IB673TEG.cjs');
11
13
  var chunkH7ELUIF6_cjs = require('./chunk-H7ELUIF6.cjs');
12
14
  require('./chunk-HXLSEBAL.cjs');
13
- var chunkZ4UXLQSK_cjs = require('./chunk-Z4UXLQSK.cjs');
14
- var chunkETNQ4AEQ_cjs = require('./chunk-ETNQ4AEQ.cjs');
15
15
  require('./chunk-I27K6NLX.cjs');
16
16
  var chunk2O5UXH5R_cjs = require('./chunk-2O5UXH5R.cjs');
17
17
  var chunkTLRFXSPA_cjs = require('./chunk-TLRFXSPA.cjs');
@@ -36,6 +36,10 @@ require('./chunk-ZU5Q77OT.cjs');
36
36
 
37
37
 
38
38
 
39
+ Object.defineProperty(exports, "Slider", {
40
+ enumerable: true,
41
+ get: function () { return chunkZ4UXLQSK_cjs.Slider; }
42
+ });
39
43
  Object.defineProperty(exports, "Form", {
40
44
  enumerable: true,
41
45
  get: function () { return chunk6MDZQIMZ_cjs.Form; }
@@ -44,6 +48,10 @@ Object.defineProperty(exports, "FormProvider", {
44
48
  enumerable: true,
45
49
  get: function () { return chunk6MDZQIMZ_cjs.FormProvider; }
46
50
  });
51
+ Object.defineProperty(exports, "Checkbox", {
52
+ enumerable: true,
53
+ get: function () { return chunkETNQ4AEQ_cjs.Checkbox; }
54
+ });
47
55
  Object.defineProperty(exports, "CheckboxGroup", {
48
56
  enumerable: true,
49
57
  get: function () { return chunkDJB3N4G3_cjs.CheckboxGroup; }
@@ -56,14 +64,6 @@ Object.defineProperty(exports, "RadioGroup", {
56
64
  enumerable: true,
57
65
  get: function () { return chunkH7ELUIF6_cjs.RadioGroup; }
58
66
  });
59
- Object.defineProperty(exports, "Slider", {
60
- enumerable: true,
61
- get: function () { return chunkZ4UXLQSK_cjs.Slider; }
62
- });
63
- Object.defineProperty(exports, "Checkbox", {
64
- enumerable: true,
65
- get: function () { return chunkETNQ4AEQ_cjs.Checkbox; }
66
- });
67
67
  Object.defineProperty(exports, "Switch", {
68
68
  enumerable: true,
69
69
  get: function () { return chunk2O5UXH5R_cjs.Switch; }
package/dist/inputs.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import './chunk-VXHFR5MV.js';
2
+ export { Slider } from './chunk-NVXTHTJI.js';
2
3
  import './chunk-NW3GJWJ7.js';
3
4
  import './chunk-ORCXPDDG.js';
4
5
  export { Form, FormProvider } from './chunk-PQWQ5K6J.js';
6
+ export { Checkbox } from './chunk-OTM7RL2L.js';
5
7
  export { CheckboxGroup } from './chunk-TAYJSIOP.js';
6
8
  import './chunk-V4EARA4F.js';
7
9
  import './chunk-SHDSKHCC.js';
8
10
  export { MultiSwitch } from './chunk-YUNOVQQJ.js';
9
11
  export { RadioGroup } from './chunk-4FH2JHUY.js';
10
12
  import './chunk-GNHQVPZP.js';
11
- export { Slider } from './chunk-NVXTHTJI.js';
12
- export { Checkbox } from './chunk-OTM7RL2L.js';
13
13
  import './chunk-SV5BW3IA.js';
14
14
  export { Switch } from './chunk-DXZCKDYS.js';
15
15
  export { DatePicker } from './chunk-2UTN3EFK.js';
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var chunkQP6VNKLW_cjs = require('./chunk-QP6VNKLW.cjs');
4
+ require('./chunk-I27K6NLX.cjs');
5
+ require('./chunk-OUYC6EIL.cjs');
6
+ require('./chunk-SNHU2AI4.cjs');
7
+ require('./chunk-ZU5Q77OT.cjs');
8
+
9
+
10
+
11
+ Object.defineProperty(exports, "ReorderableGrid", {
12
+ enumerable: true,
13
+ get: function () { return chunkQP6VNKLW_cjs.ReorderableGrid; }
14
+ });
15
+ Object.defineProperty(exports, "moveItem", {
16
+ enumerable: true,
17
+ get: function () { return chunkQP6VNKLW_cjs.moveItem; }
18
+ });
19
+ //# sourceMappingURL=reorderable-grid.cjs.map
20
+ //# sourceMappingURL=reorderable-grid.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"reorderable-grid.cjs"}
@@ -0,0 +1,141 @@
1
+ import { HTMLAttributes, ReactNode, Ref, ReactElement } from 'react';
2
+
3
+ /** The least an item needs. Anything else on it is yours, and reaches `renderItem` untouched. */
4
+ interface ReorderableGridItem {
5
+ /** Stable id. The order is reported as these. */
6
+ id: string;
7
+ /**
8
+ * Pinned: this cell keeps its slot. It cannot be picked up or dragged, and
9
+ * nothing can be dropped onto it; other cells flow around it.
10
+ */
11
+ locked?: boolean;
12
+ }
13
+ /** What `renderItem` gets alongside the item. */
14
+ interface ReorderableGridItemState {
15
+ /** 0-based index in the order currently shown (the live preview while dragging). */
16
+ index: number;
17
+ /** 1-based position. */
18
+ position: number;
19
+ /** 1-based row. */
20
+ row: number;
21
+ /** 1-based column. */
22
+ column: number;
23
+ total: number;
24
+ /** Being dragged with a pointer. */
25
+ dragging: boolean;
26
+ /** Picked up with the keyboard. */
27
+ pickedUp: boolean;
28
+ /** This cell's slot is where the active item will land. */
29
+ dropTarget: boolean;
30
+ locked: boolean;
31
+ disabled: boolean;
32
+ /**
33
+ * Spread on an element to make it the drag handle. Once a cell contains a
34
+ * handle, only the handle starts a pointer drag; without one, the whole cell
35
+ * does. The keyboard always works on the cell itself.
36
+ */
37
+ handleProps: {
38
+ "data-reorderable-handle": "";
39
+ };
40
+ }
41
+ /** Facts every announcement can use. Positions are 1-based. */
42
+ interface ReorderableGridAnnouncementContext {
43
+ id: string;
44
+ /** From `getItemLabel`, else `item.label` when it is a string, else the id. */
45
+ label: string;
46
+ position: number;
47
+ total: number;
48
+ row: number;
49
+ column: number;
50
+ }
51
+ /** Every string the grid speaks or shows to assistive tech. Override any of them (i18n). */
52
+ interface ReorderableGridLabels {
53
+ /** Read with each cell (`aria-describedby`). */
54
+ instructions: string;
55
+ /** `aria-roledescription` of each cell. */
56
+ roleDescription: string;
57
+ pickedUp: (ctx: ReorderableGridAnnouncementContext) => string;
58
+ moved: (ctx: ReorderableGridAnnouncementContext) => string;
59
+ dropped: (ctx: ReorderableGridAnnouncementContext) => string;
60
+ /** `ctx` is the restored (original) position. */
61
+ cancelled: (ctx: ReorderableGridAnnouncementContext) => string;
62
+ locked: (ctx: ReorderableGridAnnouncementContext) => string;
63
+ }
64
+ interface ReorderableGridProps<T extends ReorderableGridItem> extends Omit<HTMLAttributes<HTMLDivElement>, "children" | "defaultValue" | "onChange"> {
65
+ /** The cells' data. Each needs a unique `id`. */
66
+ items: T[];
67
+ /**
68
+ * Controlled order, as ids. Ids that are not in `items` are ignored, and
69
+ * items missing from it follow in `items` order, so a stale or partial order
70
+ * never drops a cell.
71
+ */
72
+ value?: string[];
73
+ /** Uncontrolled starting order. Omit both to start in `items` order. */
74
+ defaultValue?: string[];
75
+ /**
76
+ * The full new order, once per committed move: a pointer release or a
77
+ * keyboard drop that changed something. Never on a cancel, never on a
78
+ * no-op drop, never during the live preview.
79
+ */
80
+ onReorder?: (ids: string[]) => void;
81
+ /** Renders a cell's content. Default: the item's label. */
82
+ renderItem?: (item: T, state: ReorderableGridItemState) => ReactNode;
83
+ /** Columns, 1 to 12. Placement is row-major. Default `2`. */
84
+ columns?: number;
85
+ /** Gutter. Default `sm`. */
86
+ gap?: "none" | "sm" | "md" | "lg";
87
+ /** No reordering at all, and no tab stops. */
88
+ disabled?: boolean;
89
+ /** Accessible name of the grid. */
90
+ label?: string;
91
+ /** The name an item is announced by. */
92
+ getItemLabel?: (item: T) => string;
93
+ /** Overrides for any announcement or label. */
94
+ labels?: Partial<ReorderableGridLabels>;
95
+ /** Skip the cell's default visuals (border, surface, padding). Behaviour stays. */
96
+ unstyled?: boolean;
97
+ /** Extra classes on every cell. */
98
+ cellClassName?: string;
99
+ }
100
+
101
+ /**
102
+ * A grid of cells reordered in place, row-major, by pointer or keyboard.
103
+ *
104
+ * Built for field-order designers: the grid looks like the grid it designs.
105
+ * Order is a list of ids (`value` / `defaultValue` / `onReorder`); the pure
106
+ * `moveItem(ids, from, to, { locked })` is the same rule without a DOM, for
107
+ * agents.
108
+ */
109
+ declare const ReorderableGrid: (<T extends ReorderableGridItem>(props: ReorderableGridProps<T> & {
110
+ ref?: Ref<HTMLDivElement>;
111
+ }) => ReactElement) & {
112
+ displayName?: string;
113
+ };
114
+
115
+ interface MoveItemOptions<T> {
116
+ /**
117
+ * Pinned entries. A locked entry keeps its absolute index: it cannot be
118
+ * moved, nothing can be dropped onto its slot, and the other entries flow
119
+ * around it. Either the locked ids themselves or a predicate.
120
+ */
121
+ locked?: Iterable<T> | ((id: T) => boolean);
122
+ }
123
+ /**
124
+ * Move the entry at `fromIndex` so that it ends up at `toIndex`, row-major,
125
+ * and return a NEW array. The input is never mutated.
126
+ *
127
+ * This is the whole reorder rule of `ReorderableGrid`, with no DOM: the grid's
128
+ * pointer drags and arrow keys both go through it, and an agent bridge can call
129
+ * it directly to reorder from a tool call.
130
+ *
131
+ * - `toIndex` is the entry's index in the RESULT, so `moveItem(ids, 0, ids.length - 1)`
132
+ * moves the first entry to the end.
133
+ * - An index outside the list (or not an integer) throws `RangeError`. That is
134
+ * a caller bug, and a silent no-op would hide it.
135
+ * - With `locked`: a locked entry keeps its absolute index and the move happens
136
+ * among the free slots only. Moving a locked entry, or onto a locked slot,
137
+ * returns the order unchanged: that is the rule doing its job, not an error.
138
+ */
139
+ declare function moveItem<T>(ids: readonly T[], fromIndex: number, toIndex: number, options?: MoveItemOptions<T>): T[];
140
+
141
+ export { type MoveItemOptions, ReorderableGrid, type ReorderableGridAnnouncementContext, type ReorderableGridItem, type ReorderableGridItemState, type ReorderableGridLabels, type ReorderableGridProps, moveItem };