@box-kite/react 2.4.0 → 2.4.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 (98) hide show
  1. package/.claude/rules/box-kite-rules.md +1 -1
  2. package/.claude/skills/box-kite/SKILL.md +1 -1
  3. package/.claude/skills/box-kite/references/components.md +7 -0
  4. package/.claude/skills/box-kite/references/rules.md +2 -2
  5. package/.claude/skills/box-kite/references/styling.md +5 -3
  6. package/.cursor/rules/box-kite.mdc +1 -1
  7. package/AGENTS.md +1 -1
  8. package/BOX_AI_CONTEXT.md +77 -7
  9. package/BOX_KITE_AI_CONTEXT.md +77 -7
  10. package/box.cjs +1 -1
  11. package/box.d.ts +5 -0
  12. package/box.mjs +5 -5
  13. package/catalog.cjs +1 -1
  14. package/catalog.mjs +53 -18
  15. package/client.cjs +1 -1
  16. package/client.mjs +7 -7
  17. package/components/accordion.cjs +1 -1
  18. package/components/accordion.mjs +1 -1
  19. package/components/button.cjs +1 -1
  20. package/components/button.mjs +1 -1
  21. package/components/calendar.cjs +1 -1
  22. package/components/calendar.mjs +1 -1
  23. package/components/chart.cjs +1 -1
  24. package/components/chart.mjs +3 -3
  25. package/components/checkbox.cjs +1 -1
  26. package/components/checkbox.mjs +1 -1
  27. package/components/combobox.cjs +1 -1
  28. package/components/combobox.mjs +70 -70
  29. package/components/dashboard.cjs +1 -1
  30. package/components/dashboard.mjs +1 -1
  31. package/components/dateField.cjs +1 -1
  32. package/components/dateField.mjs +16 -16
  33. package/components/datePicker.cjs +1 -1
  34. package/components/datePicker.mjs +1 -1
  35. package/components/dateTime.cjs +1 -1
  36. package/components/dateTime.mjs +1 -1
  37. package/components/dialog.cjs +1 -1
  38. package/components/dialog.mjs +1 -1
  39. package/components/flex.cjs +1 -1
  40. package/components/flex.mjs +1 -1
  41. package/components/flow.cjs +1 -0
  42. package/components/flow.d.ts +56 -0
  43. package/components/flow.mjs +98 -0
  44. package/components/form.cjs +1 -1
  45. package/components/form.mjs +1 -1
  46. package/components/grid.cjs +1 -1
  47. package/components/grid.mjs +1 -1
  48. package/components/icon.cjs +1 -1
  49. package/components/icon.mjs +1 -1
  50. package/components/list.cjs +1 -1
  51. package/components/list.mjs +1 -1
  52. package/components/menu.cjs +1 -1
  53. package/components/menu.mjs +1 -1
  54. package/components/popover.cjs +1 -1
  55. package/components/popover.mjs +1 -1
  56. package/components/radioButton.cjs +1 -1
  57. package/components/radioButton.mjs +1 -1
  58. package/components/radioGroup.cjs +1 -1
  59. package/components/radioGroup.mjs +1 -1
  60. package/components/semantics.cjs +1 -1
  61. package/components/semantics.d.ts +32 -30
  62. package/components/semantics.mjs +3 -3
  63. package/components/skeleton.cjs +1 -1
  64. package/components/skeleton.mjs +1 -0
  65. package/components/slider.cjs +1 -1
  66. package/components/slider.mjs +1 -1
  67. package/components/sortableList.cjs +1 -1
  68. package/components/sortableList.mjs +1 -1
  69. package/components/svg.cjs +1 -1
  70. package/components/svg.mjs +14 -14
  71. package/components/swipeItem.cjs +1 -1
  72. package/components/swipeItem.mjs +1 -1
  73. package/components/tabs.cjs +1 -1
  74. package/components/tabs.mjs +1 -1
  75. package/components/textarea.cjs +1 -1
  76. package/components/textarea.mjs +1 -1
  77. package/components/textbox.cjs +1 -1
  78. package/components/textbox.mjs +1 -1
  79. package/components/toaster.cjs +1 -1
  80. package/components/toaster.mjs +1 -1
  81. package/components/tooltip.cjs +1 -1
  82. package/components/tooltip.mjs +1 -1
  83. package/components/virtualList.cjs +1 -1
  84. package/components/virtualList.mjs +1 -1
  85. package/components/visuallyHidden.cjs +1 -1
  86. package/components/visuallyHidden.mjs +1 -1
  87. package/docs/components.md +1 -0
  88. package/docs/props.md +1 -1
  89. package/package.json +43 -29
  90. package/react/boxClassNames.d.ts +2 -2
  91. package/react-shared.cjs +1 -1
  92. package/react-shared.mjs +42 -3
  93. package/rsc.cjs +1 -1
  94. package/rsc.d.ts +1 -0
  95. package/rsc.mjs +2 -2
  96. package/utils/catalog/catalogContracts.d.ts +0 -10
  97. package/utils/flow/flowPalette.d.ts +17 -0
  98. package/utils/flow/flowUtils.d.ts +47 -0
package/catalog.mjs CHANGED
@@ -2,7 +2,14 @@ import { t as e } from "./dashboardSchema.mjs";
2
2
  import { t } from "./specSchema.mjs";
3
3
  import { BoxCatalogs as n, getDefaultEngine as r } from "@box-kite/core";
4
4
  //#region src/utils/catalog/catalogContracts.ts
5
- var i;
5
+ var i = { anyOf: [{ type: "string" }, {
6
+ type: "object",
7
+ properties: {
8
+ light: { type: "string" },
9
+ dark: { type: "string" }
10
+ },
11
+ additionalProperties: !1
12
+ }] }, a;
6
13
  (function(t) {
7
14
  let n = [
8
15
  "start",
@@ -15,25 +22,25 @@ var i;
15
22
  "END",
16
23
  "LEFT",
17
24
  "RIGHT"
18
- ], i = [
25
+ ], a = [
19
26
  "sum",
20
27
  "avg",
21
28
  "min",
22
29
  "max",
23
30
  "count"
24
- ], a = [
31
+ ], o = [
25
32
  "text",
26
33
  "number",
27
34
  "checkbox",
28
35
  "select"
29
- ], o = [
36
+ ], s = [
30
37
  "xs",
31
38
  "sm",
32
39
  "md",
33
40
  "lg",
34
41
  "xl",
35
42
  "xxl"
36
- ], s = {
43
+ ], c = {
37
44
  columns: {
38
45
  type: "array",
39
46
  description: "The columns, left to right.",
@@ -64,7 +71,7 @@ var i;
64
71
  },
65
72
  aggregate: {
66
73
  type: "string",
67
- enum: i,
74
+ enum: a,
68
75
  description: "Total this column over each group row, and over the footer."
69
76
  },
70
77
  sortable: {
@@ -89,7 +96,7 @@ var i;
89
96
  },
90
97
  editor: {
91
98
  type: "string",
92
- enum: a,
99
+ enum: o,
93
100
  description: "Which editor a cell opens. Without one it is read off the value."
94
101
  },
95
102
  exportFormat: {
@@ -178,7 +185,7 @@ var i;
178
185
  anyOf: [{ type: "boolean" }, { type: "integer" }],
179
186
  description: "Which group rows start open: `true` is all of them, a number is how many levels down."
180
187
  }
181
- }, c = {
188
+ }, l = {
182
189
  type: "integer",
183
190
  description: "How many columns that width is written in."
184
191
  };
@@ -193,7 +200,7 @@ var i;
193
200
  def: {
194
201
  type: "object",
195
202
  description: "Everything about the grid that is not the rows: the columns, the bars, the title.",
196
- properties: s,
203
+ properties: c,
197
204
  required: ["columns"],
198
205
  additionalProperties: !1
199
206
  }
@@ -212,7 +219,7 @@ var i;
212
219
  columns: {
213
220
  anyOf: [{ type: "integer" }, {
214
221
  type: "object",
215
- properties: Object.fromEntries(o.map((e) => [e, c])),
222
+ properties: Object.fromEntries(s.map((e) => [e, l])),
216
223
  additionalProperties: !1
217
224
  }],
218
225
  description: "How many columns, at one width or at several: `12`, or `{ xs: 1, md: 6, xxl: 12 }`."
@@ -228,10 +235,25 @@ var i;
228
235
  items: { type: "string" }
229
236
  }, { type: "object" }],
230
237
  description: "The series drawn inside, and what colour each of them is: a list of names takes the palette in order, a record maps each name to a colour token the fill prop takes (`{ \"revenue\": \"emerald-600\", \"cost\": \"emerald-600/40\" }`)."
238
+ } } },
239
+ FlowContainer: { props: { tokens: {
240
+ type: "object",
241
+ properties: {
242
+ surface: i,
243
+ panel: i,
244
+ text: i,
245
+ border: i,
246
+ grid: i,
247
+ edge: i,
248
+ selection: i,
249
+ handle: i
250
+ },
251
+ additionalProperties: !1,
252
+ description: "The roles a React Flow canvas is painted from, each a colour token for both themes or one per theme: `{ \"selection\": \"sky-500\", \"surface\": { \"light\": \"base-50\", \"dark\": \"base-950\" } }`."
231
253
  } } }
232
254
  };
233
- })(i ||= {});
234
- var a = i, o = {
255
+ })(a ||= {});
256
+ var o = a, s = {
235
257
  props: {
236
258
  appearance: "The appearance CSS property is used to display UI elements with platform-specific styling, based on the operating system's theme.",
237
259
  animation: "One of the four presets — their `@keyframes` are registered already and their durations ride `--transitionTime`, so `prefers-reduced-motion` stops them with no opt-in.",
@@ -2709,7 +2731,7 @@ var a = i, o = {
2709
2731
  },
2710
2732
  props: {
2711
2733
  type: "object",
2712
- description: "Attributes for the `<input>` itself — an `aria-label`, an `id`."
2734
+ description: "Attributes for the `<input>` itself — an `aria-label`, or the `id` a `<label htmlFor>` of your own points at."
2713
2735
  }
2714
2736
  },
2715
2737
  required: [],
@@ -2757,7 +2779,7 @@ var a = i, o = {
2757
2779
  },
2758
2780
  props: {
2759
2781
  type: "object",
2760
- description: "Attributes for the `<input>` that *is* the combobox — an `aria-label`, an `inputMode`, an `id`."
2782
+ description: "Attributes for the `<input>` that *is* the combobox — an `aria-label`, an `inputMode`."
2761
2783
  },
2762
2784
  hideIcon: {
2763
2785
  type: "boolean",
@@ -3041,6 +3063,19 @@ var a = i, o = {
3041
3063
  required: ["data"],
3042
3064
  styled: !0
3043
3065
  },
3066
+ FlowContainer: {
3067
+ description: "The theming bridge for a React Flow canvas: a Box around `<ReactFlow>` that declares xyflow's `--xy-*` variables from the palette in both themes, so the canvas names no colour and its dark mode belongs to the page.",
3068
+ import: "import { FlowContainer } from '@box-kite/react/components/flow';",
3069
+ slots: ["default"],
3070
+ events: [],
3071
+ props: { motion: {
3072
+ type: "string",
3073
+ enum: ["static"],
3074
+ description: "`'static'` zeroes every Box transition inside the canvas, layers' entrances included — for a canvas whose nodes are Boxes moved or resized every frame, which the default `transition: all` would make trail the pointer."
3075
+ } },
3076
+ required: [],
3077
+ styled: !0
3078
+ },
3044
3079
  ChartContainer: {
3045
3080
  description: "The theming bridge for a chart somebody else draws: a Box that declares `--chart-1` … `--chart-6` in both themes plus one `--color-<series>` per series, so a Recharts `<Line stroke=\"var(--color-revenue)\">` names no colour of its own and its dark mode belongs to the page.",
3046
3081
  import: "import { ChartContainer } from '@box-kite/react/components/chart';",
@@ -3275,14 +3310,14 @@ var a = i, o = {
3275
3310
  };
3276
3311
  //#endregion
3277
3312
  //#region src/catalog.ts
3278
- function s(e) {
3313
+ function c(e) {
3279
3314
  let t = r();
3280
3315
  return n.build({
3281
3316
  ...t.getCatalogSource(),
3282
3317
  componentStyles: t.getComponentsStyles(),
3283
- manifest: o,
3284
- contracts: a.CONTRACTS
3318
+ manifest: s,
3319
+ contracts: o.CONTRACTS
3285
3320
  }, e);
3286
3321
  }
3287
3322
  //#endregion
3288
- export { s as catalog, s as default, t as specSchema };
3323
+ export { c as catalog, c as default, t as specSchema };
package/client.cjs CHANGED
@@ -1 +1 @@
1
- const e=require("./rolldown-runtime.cjs"),t=require("./react-shared.cjs"),n=require("./platform.cjs"),r=require("./effects.cjs"),i=require("./box.cjs");let a=require("react");a=e.t(a,1);let o=require("@box-kite/core"),s=require("react/jsx-runtime"),c=require("react-dom");var l=`[box-kite] The client build was loaded into a React Server Component graph, where React has no createContext. Import '@box-kite/react' by its package name — the react-server condition resolves it to a Box that renders on the server — and import the components that hold state (Dropdown, Tooltip, DataGrid, Checkbox, Select, Form) from a 'use client' module. See https://github.com/box-kite/box-kite#react-server-components-react-19`;function u(e){if(typeof e.createContext!=`function`)throw Error(l)}u(a.default);var d=a.default.createContext(void 0);function f({value:e,children:t}){return(0,s.jsx)(d.Provider,{value:e,children:t})}function p(e){let{node:t=null,event:r=`click`,hideOnScroll:i=!1,hideOnResize:o=!1,hideOnEscape:s=!0}=e??{},[c,l]=(0,a.useState)(!1),u=(0,a.useRef)(null);return(0,a.useEffect)(()=>{function e(e){let r=t??u.current;r&&!n.g(e,[r])&&l(!1)}function a(){l(!1)}function d(e){e.key===`Escape`&&l(!1)}let f=new AbortController;return c&&(window.addEventListener(r,e,f),s&&window.addEventListener(`keydown`,d,f),o&&window.addEventListener(`resize`,a,f),i&&window.addEventListener(`scroll`,e,{signal:f.signal,capture:!0})),()=>{f.abort()}},[t,c,r,s,o,i]),[c,l,u]}var m=r.t;function h(e,n){let{classNames:r,signature:i,styleElements:s}=t.l(e,n,(0,a.useContext)(d));return m(()=>{(0,o.getDefaultEngine)().flushSync()},[i??e]),{classNames:r,styleElements:s}}function g(e,n){let r=e?(0,o.getDefaultEngine)().addGlobalStyles(e,n):void 0;return m(()=>{(0,o.getDefaultEngine)().flushSync()},[e,n]),t.u(r)}var _;(function(e){function t(){(0,o.getDefaultEngine)().flushSync()}e.flushSync=t;function r(){(0,o.getDefaultEngine)().clear()}e.clear=r;function i(){return(0,o.getDefaultEngine)().getStyles()}e.getStyles=i;function a(){return(0,o.getDefaultEngine)().getStyleTag()}e.getStyleTag=a;function s(){return(0,o.getDefaultEngine)().styleElementId}e.styleElementId=s;function c({componentAttribute:e,...t}){e!==void 0&&n.b(e),t.warnings!==void 0&&n.y(t.warnings),Object.keys(t).length>0&&(0,o.getDefaultEngine)().configure(t)}e.configure=c})(_||={}),u(a.default);var v=a.default.createContext({theme:``,setTheme:()=>{},setDesign:()=>{}});function y(e){let{theme:t,use:n=`local`,storageKey:l,globalStyles:u,viewTransition:d,components:p,design:m,designStorageKey:h}=e,_=p?(0,s.jsx)(f,{value:p,children:e.children}):e.children,y=g(n===`global`?u:void 0,`html`),[b,x]=(0,a.useState)(t??o.defaultThemeName),[S,C]=(0,a.useState)(t!==void 0),w=(0,a.useRef)(null),T=(0,a.useRef)(b),E=(0,a.useRef)(null),D=(0,a.useRef)(null),O=(0,a.useRef)(void 0),k=(0,a.useCallback)(e=>{if(!d)return e();let t=(0,o.transitionTheme)(()=>(0,c.flushSync)(e),d===`reveal`?`reveal`:`fade`);O.current=t.finished,t.finished.then(()=>O.current=void 0,()=>O.current=void 0)},[d]),A=(0,a.useCallback)(e=>k(()=>{e===null?(l&&(0,o.clearStoredTheme)(l),C(!1)):(l&&(0,o.writeStoredTheme)(l,e),x(e),C(!0))}),[l,k]),[j,M]=(0,a.useState)(m),[N,P]=(0,a.useState)(m);m!==N&&(P(m),M(m));let F=(0,a.useCallback)(e=>k(()=>{D.current??=(0,o.pauseTransitions)(),h&&(e===null?o.clearStoredTheme:o.writeStoredTheme)(h,e),M(e??m)}),[m,h,k]),I=(0,a.useRef)(null),L=(0,a.useRef)(j);(0,a.useLayoutEffect)(()=>{let e=h?(0,o.readStoredTheme)(h):null;!e||e===L.current||(I.current=e,M(e))},[h]),(0,a.useLayoutEffect)(()=>{if(L.current=j,I.current!==null&&I.current!==j)return;I.current=null;let e=n===`global`&&j?(0,o.documentRoot)():null,t=e?(0,o.applyDesignToElement)(e,j):void 0;return D.current?.(O.current),D.current=null,t},[j,n]);let R=d===`reveal`;(0,a.useEffect)(()=>R?(0,o.prepareReveal)():void 0,[R]);let[z,B]=(0,a.useState)(t);t!==z&&(B(t),t===void 0?C(!1):(x(t),C(!0))),(0,a.useLayoutEffect)(()=>{if(S)return;let e=l?(0,o.readStoredTheme)(l):null,t=e??(0,o.getSystemTheme)();if(t!==T.current&&(w.current=t,x(t)),e){C(!0);return}return(0,o.watchSystemTheme)(x)},[S,l]),r.t(()=>{b!==T.current&&(E.current??=(0,o.pauseTransitions)())},[b]),(0,a.useLayoutEffect)(()=>{if(T.current=b,w.current!==null&&w.current!==b)return;w.current=null;let e=E.current;E.current=null;let t=n===`global`?(0,o.documentRoot)():null,r=t?(0,o.applyThemeToElement)(t,b):void 0;return e?.(O.current),r},[b,n]);let V=(0,a.useMemo)(()=>({theme:b,setTheme:A,design:j,setDesign:F}),[b,A,j,F]);return n===`local`?(0,s.jsxs)(v.Provider,{value:V,children:[y,(0,s.jsx)(i.default,{className:b,props:{"data-theme":b,"data-design":j},children:_})]}):(0,s.jsxs)(v.Provider,{value:V,children:[y,_]})}(function(e){function t(){let{theme:e,setTheme:t}=(0,a.useContext)(v);return[e,t]}e.useTheme=t;function n(){let{design:e,setDesign:t}=(0,a.useContext)(v);return[e,t]}e.useDesign=n})(y||={});var b=y,x=new WeakMap;function S(e){let t=x.get(e);return t||(t=new Map,x.set(e,t)),t}function C(e=!0){let[t]=b.useTheme(),r=(0,a.useMemo)(()=>{if(!e)return null;let t=n.t();if(!t)return null;let r=`box-kite-portal`,i=t.getElementById(r);return i||(i=document.createElement(`div`),i.id=r,document.body.appendChild(i)),i},[e]);return(0,a.useLayoutEffect)(()=>{if(!t||!r)return;let e=S(r),n=e.get(t)??0;return e.set(t,n+1),n===0&&r.classList.add(t),()=>{let n=(e.get(t)??1)-1;n<=0?(e.delete(t),r.classList.remove(t)):e.set(t,n)}},[r,t]),r}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
1
+ const e=require("./rolldown-runtime.cjs"),t=require("./react-shared.cjs"),n=require("./platform.cjs"),r=require("./effects.cjs"),i=require("./box.cjs");let a=require("react");a=e.t(a,1);let o=require("@box-kite/core"),s=require("react/jsx-runtime"),c=require("react-dom");var l=`[box-kite] The client build was loaded into a React Server Component graph, where React has no createContext. Import '@box-kite/react' by its package name — the react-server condition resolves it to a Box that renders on the server — and import the components that hold state (Dropdown, Tooltip, DataGrid, Checkbox, Select, Form) from a 'use client' module. See https://github.com/box-kite/box-kite#react-server-components-react-19`;function u(e){if(typeof e.createContext!=`function`)throw Error(l)}u(a.default);var d=a.default.createContext(void 0);function f({value:e,children:t}){return(0,s.jsx)(d.Provider,{value:e,children:t})}function p(e){let{node:t=null,event:r=`click`,hideOnScroll:i=!1,hideOnResize:o=!1,hideOnEscape:s=!0}=e??{},[c,l]=(0,a.useState)(!1),u=(0,a.useRef)(null);return(0,a.useEffect)(()=>{function e(e){let r=t??u.current;r&&!n.g(e,[r])&&l(!1)}function a(){l(!1)}function d(e){e.key===`Escape`&&l(!1)}let f=new AbortController;return c&&(window.addEventListener(r,e,f),s&&window.addEventListener(`keydown`,d,f),o&&window.addEventListener(`resize`,a,f),i&&window.addEventListener(`scroll`,e,{signal:f.signal,capture:!0})),()=>{f.abort()}},[t,c,r,s,o,i]),[c,l,u]}var m=r.t;function h(e,n){let{classNames:r,signature:i,styleElements:s}=t.m(e,n,(0,a.useContext)(d));return m(()=>{(0,o.getDefaultEngine)().flushSync()},[i??e]),{classNames:r,styleElements:s}}function g(e,n){let r=e?(0,o.getDefaultEngine)().addGlobalStyles(e,n):void 0;return m(()=>{(0,o.getDefaultEngine)().flushSync()},[e,n]),t.h(r)}var _;(function(e){function t(){(0,o.getDefaultEngine)().flushSync()}e.flushSync=t;function r(){(0,o.getDefaultEngine)().clear()}e.clear=r;function i(){return(0,o.getDefaultEngine)().getStyles()}e.getStyles=i;function a(){return(0,o.getDefaultEngine)().getStyleTag()}e.getStyleTag=a;function s(){return(0,o.getDefaultEngine)().styleElementId}e.styleElementId=s;function c({componentAttribute:e,...t}){e!==void 0&&n.b(e),t.warnings!==void 0&&n.y(t.warnings),Object.keys(t).length>0&&(0,o.getDefaultEngine)().configure(t)}e.configure=c})(_||={}),u(a.default);var v=a.default.createContext({theme:``,setTheme:()=>{},setDesign:()=>{}});function y(e){let{theme:t,use:n=`local`,storageKey:l,globalStyles:u,viewTransition:d,components:p,design:m,designStorageKey:h}=e,_=p?(0,s.jsx)(f,{value:p,children:e.children}):e.children,y=g(n===`global`?u:void 0,`html`),[b,x]=(0,a.useState)(t??o.defaultThemeName),[S,C]=(0,a.useState)(t!==void 0),w=(0,a.useRef)(null),T=(0,a.useRef)(b),E=(0,a.useRef)(null),D=(0,a.useRef)(null),O=(0,a.useRef)(void 0),k=(0,a.useCallback)(e=>{if(!d)return e();let t=(0,o.transitionTheme)(()=>(0,c.flushSync)(e),d===`reveal`?`reveal`:`fade`);O.current=t.finished,t.finished.then(()=>O.current=void 0,()=>O.current=void 0)},[d]),A=(0,a.useCallback)(e=>k(()=>{e===null?(l&&(0,o.clearStoredTheme)(l),C(!1)):(l&&(0,o.writeStoredTheme)(l,e),x(e),C(!0))}),[l,k]),[j,M]=(0,a.useState)(m),[N,P]=(0,a.useState)(m);m!==N&&(P(m),M(m));let F=(0,a.useCallback)(e=>k(()=>{D.current??=(0,o.pauseTransitions)(),h&&(e===null?o.clearStoredTheme:o.writeStoredTheme)(h,e),M(e??m)}),[m,h,k]),I=(0,a.useRef)(null),L=(0,a.useRef)(j);(0,a.useLayoutEffect)(()=>{let e=h?(0,o.readStoredTheme)(h):null;!e||e===L.current||(I.current=e,M(e))},[h]),(0,a.useLayoutEffect)(()=>{if(L.current=j,I.current!==null&&I.current!==j)return;I.current=null;let e=n===`global`&&j?(0,o.documentRoot)():null,t=e?(0,o.applyDesignToElement)(e,j):void 0;return D.current?.(O.current),D.current=null,t},[j,n]);let R=d===`reveal`;(0,a.useEffect)(()=>R?(0,o.prepareReveal)():void 0,[R]);let[z,B]=(0,a.useState)(t);t!==z&&(B(t),t===void 0?C(!1):(x(t),C(!0))),(0,a.useLayoutEffect)(()=>{if(S)return;let e=l?(0,o.readStoredTheme)(l):null,t=e??(0,o.getSystemTheme)();if(t!==T.current&&(w.current=t,x(t)),e){C(!0);return}return(0,o.watchSystemTheme)(x)},[S,l]),r.t(()=>{b!==T.current&&(E.current??=(0,o.pauseTransitions)())},[b]),(0,a.useLayoutEffect)(()=>{if(T.current=b,w.current!==null&&w.current!==b)return;w.current=null;let e=E.current;E.current=null;let t=n===`global`?(0,o.documentRoot)():null,r=t?(0,o.applyThemeToElement)(t,b):void 0;return e?.(O.current),r},[b,n]);let V=(0,a.useMemo)(()=>({theme:b,setTheme:A,design:j,setDesign:F}),[b,A,j,F]);return n===`local`?(0,s.jsxs)(v.Provider,{value:V,children:[y,(0,s.jsx)(i.default,{className:b,props:{"data-theme":b,"data-design":j},children:_})]}):(0,s.jsxs)(v.Provider,{value:V,children:[y,_]})}(function(e){function t(){let{theme:e,setTheme:t}=(0,a.useContext)(v);return[e,t]}e.useTheme=t;function n(){let{design:e,setDesign:t}=(0,a.useContext)(v);return[e,t]}e.useDesign=n})(y||={});var b=y,x=new WeakMap;function S(e){let t=x.get(e);return t||(t=new Map,x.set(e,t)),t}function C(e=!0){let[t]=b.useTheme(),r=(0,a.useMemo)(()=>{if(!e)return null;let t=n.t();if(!t)return null;let r=`box-kite-portal`,i=t.getElementById(r);return i||(i=document.createElement(`div`),i.id=r,document.body.appendChild(i)),i},[e]);return(0,a.useLayoutEffect)(()=>{if(!t||!r)return;let e=S(r),n=e.get(t)??0;return e.set(t,n+1),n===0&&r.classList.add(t),()=>{let n=(e.get(t)??1)-1;n<=0?(e.delete(t),r.classList.remove(t)):e.set(t,n)}},[r,t]),r}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
package/client.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { l as e, u as t } from "./react-shared.mjs";
1
+ import { h as e, m as t } from "./react-shared.mjs";
2
2
  import { b as n, g as r, t as i, y as a } from "./platform.mjs";
3
3
  import { t as o } from "./effects.mjs";
4
4
  import s from "./box.mjs";
@@ -61,20 +61,20 @@ function F(e) {
61
61
  //#endregion
62
62
  //#region src/react/useStyles.ts
63
63
  var I = o;
64
- function L(t, n) {
65
- let { classNames: r, signature: i, styleElements: a } = e(t, n, u(N));
64
+ function L(e, n) {
65
+ let { classNames: r, signature: i, styleElements: a } = t(e, n, u(N));
66
66
  return I(() => {
67
67
  x().flushSync();
68
- }, [i ?? t]), {
68
+ }, [i ?? e]), {
69
69
  classNames: r,
70
70
  styleElements: a
71
71
  };
72
72
  }
73
- function R(e, n) {
74
- let r = e ? x().addGlobalStyles(e, n) : void 0;
73
+ function R(t, n) {
74
+ let r = t ? x().addGlobalStyles(t, n) : void 0;
75
75
  return I(() => {
76
76
  x().flushSync();
77
- }, [e, n]), t(r);
77
+ }, [t, n]), e(r);
78
78
  }
79
79
  var z;
80
80
  //#endregion
@@ -1 +1 @@
1
- "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../reporting.cjs");let o=require("react"),s=require("react/jsx-runtime");var c;(function(e){e.ROOT_ATTRIBUTE=`data-accordion`,e.TRIGGER_ATTRIBUTE=`data-accordion-trigger`;let t=e.ROOT_SELECTOR=`[data-accordion]`,n=e.TRIGGER_SELECTOR=`[data-accordion-trigger]`;function r(e,n){return n instanceof Element&&n.closest(t)===e}e.owns=r;function i(e){return e?[...e.querySelectorAll(n)].filter(t=>r(e,t)):[]}e.triggers=i;function a(e){return e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}e.isDisabled=a;function o(e,t,n,r){let i=e.length;if(i===0)return;let o=t<0||t>=i?n>0?-1:i:t;for(let t=0;t<i;t++){if(o+=n,o<0||o>=i){if(!r)return;o=(o%i+i)%i}if(!a(e[o]))return e[o]}}e.step=o;function s(e,t){return o(e,t===1?-1:e.length,t,!1)}e.edge=s;function c(e,t){return t instanceof HTMLElement?e.indexOf(t):-1}e.indexOf=c;function l(e){if(e===`ArrowDown`)return{kind:`step`,delta:1};if(e===`ArrowUp`)return{kind:`step`,delta:-1};if(e===`Home`)return{kind:`edge`,delta:1};if(e===`End`)return{kind:`edge`,delta:-1}}e.moveFor=l;function u(e,t,n,r){return n.kind===`edge`?s(e,n.delta):o(e,t,n.delta,r)}e.target=u;function d(e,t,n){return e.includes(t)?e.filter(e=>e!==t):n?[...e,t]:[t]}e.toggle=d})(c||={});var l=c,u=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],d=(0,o.createContext)(null),f=(0,o.createContext)(null);function p(e){let t=(0,o.useContext)(d);if(!t)throw Error(`<${e}> has to be rendered inside an <Accordion>.`);return t}function m(e){let t=(0,o.useContext)(f);if(!t)throw Error(`<${e}> has to be rendered inside an <Accordion.Item>.`);return t}function h(e,i){let{children:c,value:u,defaultValue:f,onValueChange:p,multiple:m=!1,loop:h=!0,level:g=3,props:_,...v}=e,y=(0,o.useRef)(null),b=(0,o.useCallback)(e=>{y.current=e,t.d(i,e)},[i]),[x,S]=a.a({value:u,defaultValue:f??[],onChange:p,interaction:{component:`accordion`,type:`valueChange`}}),C=r.a((e,t)=>{S(t=>l.toggle(t,e,m),t)}),w=r.a(e=>{let t=y.current;if(!t||e.defaultPrevented||!l.owns(t,e.target))return;let n=l.triggers(t),r=l.indexOf(n,e.target);if(r===-1)return;let i=l.moveFor(e.key);if(!i)return;let a=l.target(n,r,i,h);a&&(e.preventDefault(),a.focus())}),T=(0,o.useMemo)(()=>({open:x,level:g,toggle:C}),[x,g,C]);return(0,s.jsx)(d.Provider,{value:T,children:(0,s.jsx)(n.default,{ref:b,component:`accordion`,...v,props:{[l.ROOT_ATTRIBUTE]:``,..._,onKeyDown:w},children:c})})}function g(e){let{value:t,children:r,disabled:a=!1,props:c,...l}=e,{open:u}=p(`Accordion.Item`),d=i.t(`accordion`),m=u.includes(t),h=(0,o.useMemo)(()=>({value:t,open:m,disabled:a,triggerId:`${d}-trigger`,panelId:`${d}-panel`}),[t,m,a,d]);return(0,s.jsx)(f.Provider,{value:h,children:(0,s.jsx)(n.default,{component:`accordion.item`,...l,props:c,children:r})})}g.displayName=`Accordion.Item`;function _(e){let{children:t,level:i,arrow:a=!0,props:o,...c}=e,{level:d,toggle:f}=p(`Accordion.Trigger`),{value:h,open:g,disabled:_,triggerId:v,panelId:y}=m(`Accordion.Trigger`),b=r.a(e=>f(h,{reason:`trigger`,event:e}));return(0,s.jsx)(n.default,{tag:u[(i??d)-1],component:`accordion.heading`,children:(0,s.jsxs)(n.default,{tag:`button`,component:`accordion.trigger`,...c,disabled:_,id:v,props:{type:`button`,"aria-expanded":g,"aria-controls":y,[l.TRIGGER_ATTRIBUTE]:``,...o,onClick:b},children:[t,a&&(0,s.jsx)(n.default,{tag:`span`,component:`accordion.arrow`,variant:{open:g},props:{"aria-hidden":!0}})]})})}_.displayName=`Accordion.Trigger`;function v(e){let{children:t,props:r,...i}=e,{open:a,triggerId:o,panelId:c}=m(`Accordion.Panel`);return(0,s.jsx)(n.default,{component:`accordion.track`,variant:{closed:!a},children:(0,s.jsx)(n.default,{component:`accordion.clip`,children:(0,s.jsx)(n.default,{component:`accordion.panel`,...i,id:c,props:{role:`region`,"aria-labelledby":o,...r},children:t})})})}v.displayName=`Accordion.Panel`;function y(e){let{children:t,trigger:c,open:l,defaultOpen:u=!1,onOpenChange:d,props:f,...p}=e,m=i.t(`collapsible`),h=`${m}-trigger`,g=`${m}-panel`,[_,v]=a.a({value:l,defaultValue:u,onChange:d,interaction:{component:`collapsible`,type:`openChange`}}),y=r.a(e=>v(e=>!e,{reason:`trigger`,event:e})),b=(0,o.useMemo)(()=>({props:{id:h,type:`button`,"aria-expanded":_,"aria-controls":g,onClick:y}}),[h,g,_,y]);return(0,s.jsxs)(n.default,{component:`collapsible`,...p,props:f,children:[c(b),(0,s.jsx)(n.default,{component:`collapsible.track`,variant:{closed:!_},children:(0,s.jsx)(n.default,{component:`collapsible.clip`,children:(0,s.jsx)(n.default,{component:`collapsible.panel`,id:g,children:t})})})]})}y.displayName=`Collapsible`;var b=e.f(h,`Accordion`);b.Item=g,b.Trigger=_,b.Panel=v,exports.Collapsible=y,exports.default=b;
1
+ "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../reporting.cjs");let o=require("react"),s=require("react/jsx-runtime");var c;(function(e){e.ROOT_ATTRIBUTE=`data-accordion`,e.TRIGGER_ATTRIBUTE=`data-accordion-trigger`;let t=e.ROOT_SELECTOR=`[data-accordion]`,n=e.TRIGGER_SELECTOR=`[data-accordion-trigger]`;function r(e,n){return n instanceof Element&&n.closest(t)===e}e.owns=r;function i(e){return e?[...e.querySelectorAll(n)].filter(t=>r(e,t)):[]}e.triggers=i;function a(e){return e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}e.isDisabled=a;function o(e,t,n,r){let i=e.length;if(i===0)return;let o=t<0||t>=i?n>0?-1:i:t;for(let t=0;t<i;t++){if(o+=n,o<0||o>=i){if(!r)return;o=(o%i+i)%i}if(!a(e[o]))return e[o]}}e.step=o;function s(e,t){return o(e,t===1?-1:e.length,t,!1)}e.edge=s;function c(e,t){return t instanceof HTMLElement?e.indexOf(t):-1}e.indexOf=c;function l(e){if(e===`ArrowDown`)return{kind:`step`,delta:1};if(e===`ArrowUp`)return{kind:`step`,delta:-1};if(e===`Home`)return{kind:`edge`,delta:1};if(e===`End`)return{kind:`edge`,delta:-1}}e.moveFor=l;function u(e,t,n,r){return n.kind===`edge`?s(e,n.delta):o(e,t,n.delta,r)}e.target=u;function d(e,t,n){return e.includes(t)?e.filter(e=>e!==t):n?[...e,t]:[t]}e.toggle=d})(c||={});var l=c,u=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],d=(0,o.createContext)(null),f=(0,o.createContext)(null);function p(e){let t=(0,o.useContext)(d);if(!t)throw Error(`<${e}> has to be rendered inside an <Accordion>.`);return t}function m(e){let t=(0,o.useContext)(f);if(!t)throw Error(`<${e}> has to be rendered inside an <Accordion.Item>.`);return t}function h(e,i){let{children:c,value:u,defaultValue:f,onValueChange:p,multiple:m=!1,loop:h=!0,level:g=3,props:_,...v}=e,y=(0,o.useRef)(null),b=(0,o.useCallback)(e=>{y.current=e,t.d(i,e)},[i]),[x,S]=a.a({value:u,defaultValue:f??[],onChange:p,interaction:{component:`accordion`,type:`valueChange`}}),C=r.a((e,t)=>{S(t=>l.toggle(t,e,m),t)}),w=r.a(e=>{let t=y.current;if(!t||e.defaultPrevented||!l.owns(t,e.target))return;let n=l.triggers(t),r=l.indexOf(n,e.target);if(r===-1)return;let i=l.moveFor(e.key);if(!i)return;let a=l.target(n,r,i,h);a&&(e.preventDefault(),a.focus())}),T=(0,o.useMemo)(()=>({open:x,level:g,toggle:C}),[x,g,C]);return(0,s.jsx)(d.Provider,{value:T,children:(0,s.jsx)(n.default,{ref:b,component:`accordion`,...v,props:{[l.ROOT_ATTRIBUTE]:``,..._,onKeyDown:w},children:c})})}function g(e){let{value:t,children:r,disabled:a=!1,props:c,...l}=e,{open:u}=p(`Accordion.Item`),d=i.t(`accordion`),m=u.includes(t),h=(0,o.useMemo)(()=>({value:t,open:m,disabled:a,triggerId:`${d}-trigger`,panelId:`${d}-panel`}),[t,m,a,d]);return(0,s.jsx)(f.Provider,{value:h,children:(0,s.jsx)(n.default,{component:`accordion.item`,...l,props:c,children:r})})}g.displayName=`Accordion.Item`;function _(e){let{children:t,level:i,arrow:a=!0,props:o,...c}=e,{level:d,toggle:f}=p(`Accordion.Trigger`),{value:h,open:g,disabled:_,triggerId:v,panelId:y}=m(`Accordion.Trigger`),b=r.a(e=>f(h,{reason:`trigger`,event:e}));return(0,s.jsx)(n.default,{tag:u[(i??d)-1],component:`accordion.heading`,children:(0,s.jsxs)(n.default,{tag:`button`,component:`accordion.trigger`,...c,disabled:_,id:v,props:{type:`button`,"aria-expanded":g,"aria-controls":y,[l.TRIGGER_ATTRIBUTE]:``,...o,onClick:b},children:[t,a&&(0,s.jsx)(n.default,{tag:`span`,component:`accordion.arrow`,variant:{open:g},props:{"aria-hidden":!0}})]})})}_.displayName=`Accordion.Trigger`;function v(e){let{children:t,props:r,...i}=e,{open:a,triggerId:o,panelId:c}=m(`Accordion.Panel`);return(0,s.jsx)(n.default,{component:`accordion.track`,variant:{closed:!a},children:(0,s.jsx)(n.default,{component:`accordion.clip`,children:(0,s.jsx)(n.default,{component:`accordion.panel`,...i,id:c,props:{role:`region`,"aria-labelledby":o,...r},children:t})})})}v.displayName=`Accordion.Panel`;function y(e){let{children:t,trigger:c,open:l,defaultOpen:u=!1,onOpenChange:d,props:f,...p}=e,m=i.t(`collapsible`),h=`${m}-trigger`,g=`${m}-panel`,[_,v]=a.a({value:l,defaultValue:u,onChange:d,interaction:{component:`collapsible`,type:`openChange`}}),y=r.a(e=>v(e=>!e,{reason:`trigger`,event:e})),b=(0,o.useMemo)(()=>({props:{id:h,type:`button`,"aria-expanded":_,"aria-controls":g,onClick:y}}),[h,g,_,y]);return(0,s.jsxs)(n.default,{component:`collapsible`,...p,props:f,children:[c(b),(0,s.jsx)(n.default,{component:`collapsible.track`,variant:{closed:!_},children:(0,s.jsx)(n.default,{component:`collapsible.clip`,children:(0,s.jsx)(n.default,{component:`collapsible.panel`,id:g,children:t})})})]})}y.displayName=`Collapsible`;var b=e._(h,`Accordion`);b.Item=g,b.Trigger=_,b.Panel=v,exports.Collapsible=y,exports.default=b;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { f as e } from "../react-shared.mjs";
2
+ import { _ as e } from "../react-shared.mjs";
3
3
  import { d as t } from "../platform.mjs";
4
4
  import n from "../box.mjs";
5
5
  import { a as r } from "../behavior.mjs";
@@ -1 +1 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");var n=[`type`,`onClick`];function r(r,i){let a=e.i.buildProps(r,n);return(0,t.useBoxElement)({tag:`button`,component:`button`,...a},i)}var i=e.f(r,`Button`);exports.default=i;
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs");let t=require("@box-kite/react");var n=[`type`,`onClick`];function r(r,i){let a=e.l.buildProps(r,n);return(0,t.useBoxElement)({tag:`button`,component:`button`,...a},i)}var i=e._(r,`Button`);exports.default=i;
@@ -1,4 +1,4 @@
1
- import { f as e, i as t } from "../react-shared.mjs";
1
+ import { _ as e, l as t } from "../react-shared.mjs";
2
2
  import { useBoxElement as n } from "@box-kite/react";
3
3
  //#region src/components/button.tsx
4
4
  var r = ["type", "onClick"];
@@ -1 +1 @@
1
- "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../reporting.cjs"),c=require("./svg.cjs"),ee=require("../date-environment.cjs"),te=require("./visuallyHidden.cjs");let l=require("react"),u=require("react/jsx-runtime");function d(e){let t=a.f(e);return t&&t.kind===`date`?t.fields:null}function f(e){return a.w({...e,...a.V})}function ne(e,t,n){let r={year:e,month:t,day:1},i=a.U(r,-a.Q(a.G(r)-n,7));return Array.from({length:6},(e,r)=>{let o=Array.from({length:7},(e,n)=>{let o=a.U(i,r*7+n);return{date:f(o),day:o.day,outside:o.month!==t}}),s=a.U(i,r*7+a.Q(4-n,7));return{week:a.Z(s).week,days:o}})}function re(e,t,n,r){let i=r.rtl?`ArrowLeft`:`ArrowRight`,o=r.rtl?`ArrowRight`:`ArrowLeft`;switch(t){case i:return a.U(e,1);case o:return a.U(e,-1);case`ArrowDown`:return a.U(e,7);case`ArrowUp`:return a.U(e,-7);case`Home`:return a.U(e,-a.Q(a.G(e)-r.firstDay,7));case`End`:return a.U(e,6-a.Q(a.G(e)-r.firstDay,7));case`PageUp`:return a.W(e,n?-12:-1);case`PageDown`:return a.W(e,n?12:1);default:return null}}function ie(e,t){return t.min!=null&&a.q(e)<a.q(t.min)||t.max!=null&&a.q(e)>a.q(t.max)}function p(e,t){return t.min&&a.q(e)<a.q(t.min)?t.min:t.max&&a.q(e)>a.q(t.max)?t.max:e}function m(e,t){return a.q(e)<=a.q(t)?[e,t]:[t,e]}function ae(e,t,n){if(!t||!n)return t&&a.q(e)===a.q(t)?`start`:null;let[r,i]=m(t,n),o=a.q(e);return o===a.q(r)?`start`:o===a.q(i)?`end`:o>a.q(r)&&o<a.q(i)?`middle`:null}function oe(e,t,n){let[r,i]=m(e,t);for(let e=a.q(r);e<=a.q(i);e++)if(n(f(a.U({year:1970,month:1,day:1},e))))return!0;return!1}var h=`data-date`,g=12;function _(e,t){return e!==null&&t!==null&&a.q(e)===a.q(t)}function v(e,c){let{mode:v=`single`,value:b,defaultValue:le=null,onValueChange:ue,min:S,max:de,isDateUnavailable:C,locale:fe,zone:pe,firstDayOfWeek:me,months:w=1,weekNumbers:T=!1,showOutsideDays:he=!0,focusedDate:ge,defaultFocusedDate:_e,onFocusedDateChange:ve,disabled:E=!1,readOnly:ye=!1,autoFocus:be=!1,label:D,previousLabel:xe=`Previous`,nextLabel:Se=`Next`,props:Ce,...O}=e,k=ee.n({locale:fe,zone:pe}),{locale:A}=k,j=d(o.N(k.zone)),M=me??a.S(A).firstDay,N=e=>se(A).format(e),P=v===`range`,F=(0,l.useMemo)(()=>({min:d(S),max:d(de)}),[S,de]),[I,L]=s.a({value:b,defaultValue:le,onChange:(e,t)=>{ue?.(e,P?t:{...t,...o.x(e,k.zone)})},interaction:{component:`calendar`,type:`valueChange`,content:[`value`]}}),R=P?null:d(I),z=P&&I?I:null,[B,V]=(0,l.useState)(null),[we,H]=(0,l.useState)(null),Te=f(p(d(_e)??R??d(z?.start)??j,F)),[Ee,U]=r.i({value:ge,defaultValue:Te,onChange:ve}),W=d(Ee)??j,[G,De]=(0,l.useState)(`day`),K=s.i(`calendar`),[q,Oe]=(0,l.useState)(()=>y(W)),J=q;(y(W)<q||y(W)>q+w-1)&&(J=y(W)<q?y(W):y(W)-w+1,Oe(J));let ke=(0,l.useRef)(null),Ae=(0,l.useCallback)(e=>{ke.current=e,t.d(c,e)},[c]),Y=(0,l.useRef)(be),je=i.t(`calendar`);(0,l.useEffect)(()=>{Y.current&&(Y.current=!1,ke.current?.querySelector(`[${h}="${Ee}"]`)?.focus())});let Me=e=>ie(e,F),Ne=e=>C?.(f(e))??!1,X=(e,t,n)=>{Y.current=n,U(f(p(e,F)),{reason:t})},Pe=(e,t)=>{if(E||ye||Me(e)||Ne(e))return;if(X(e,`select`,!1),!P){L(f(e),{reason:`select`,event:t});return}if(!B){V(e),H(e);return}let[n,r]=m(B,e);V(null),H(null),!(C&&oe(n,r,C))&&L({start:f(n),end:f(r)},{reason:`select`,event:t})},Fe=r.a(e=>{if(E)return;if(e.key===`Enter`||e.key===` `){e.preventDefault(),Pe(W,e);return}if(e.key===`Escape`&&B){e.preventDefault(),e.stopPropagation(),V(null),H(null);return}let n=re(W,e.key,e.shiftKey,{rtl:t._(e.currentTarget),firstDay:M});n&&(e.preventDefault(),X(n,`keyboard`,!0),B&&H(p(n,F)))}),Ie=e=>{let t=a.W(W,e*(G===`day`?w:G===`month`?12:144));G===`day`&&Oe(J+e*w),X(t,`navigate`,!1),K(`pageChange`,f(t),{reason:e===1?`next`:`previous`,content:[`value`]})},Z=Array.from({length:w},(e,t)=>({year:Math.floor((J+t)/12),month:(J+t)%12+1,day:1})),Q=`${je}-title`,Le=G===`day`&&w>1,Re=G===`day`?Z.map(e=>a.t(f(e),{locale:A,month:`long`,year:`numeric`})).join(` – `):G===`month`?N(W.year):`${N(x(W.year))} – ${N(x(W.year)+g-1)}`,ze=a.C(A,`short`),Be=ze.some(e=>e.length>4)?a.C(A,`narrow`):ze,Ve=a.C(A,`long`),He=Array.from({length:7},(e,t)=>(M+t)%7),Ue=B?we??B:null,We=B??d(z?.start),$=B?Ue:d(z?.end),Ge=e=>{let t=d(e.date),r=Me(t),i=Ne(t),o=P?ae(t,We,$):null,s=P?o!==null:_(t,R),c=_(t,j),ee=_(t,W);return e.outside&&(!he||w>1)?(0,u.jsx)(n.default,{tag:`td`,component:`calendar.cell`,display:`table-cell`,props:{role:`gridcell`}},e.date):(0,u.jsx)(n.default,{tag:`td`,component:`calendar.cell`,display:`table-cell`,p:0,py:.5,variant:{rangeStart:o===`start`&&$!==null&&!_(We,$),rangeEnd:o===`end`,rangeMiddle:o===`middle`},props:{role:`gridcell`,"aria-selected":s||void 0,"aria-disabled":r||E||void 0,"aria-current":c?`date`:void 0},children:(0,u.jsx)(n.default,{component:`calendar.day`,display:`flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,mx:`auto`,borderRadius:999,fontSize:`control`,css:{fontVariantNumeric:`tabular-nums`},variant:{today:c,selected:s&&o!==`middle`,outside:e.outside,blocked:r||E,unavailable:i},props:{[h]:e.date,tabIndex:ee&&!r&&!E?0:-1,"aria-label":a.t(e.date,{locale:A,dateStyle:`full`}),onClick:e=>Pe(t,e),onPointerEnter:()=>B&&H(t)},children:N(e.day)})},e.date)},Ke=(e,n,r,i,a,o)=>{let s=t._(e.currentTarget),c={ArrowUp:-r,ArrowDown:r,[s?`ArrowRight`:`ArrowLeft`]:-1,[s?`ArrowLeft`:`ArrowRight`]:1};e.key===`Enter`||e.key===` `?(e.preventDefault(),i(o)):e.key in c&&(e.preventDefault(),a(Math.max(0,Math.min(n-1,o+c[e.key])),e.currentTarget.parentElement))},qe=()=>{let e=a.x(A,`short`),t=x(W.year),r=G===`month`?e.map((e,t)=>({label:e,active:t+1===W.month,current:j.year===W.year&&j.month===t+1})):Array.from({length:g},(e,n)=>({label:N(t+n),active:t+n===W.year,current:j.year===t+n})),i=e=>G===`month`?{...W,month:e+1,day:1}:{...W,year:t+e,day:1},o=e=>{let t=i(e);Y.current=!0,U(f(p({...t,day:Math.min(W.day,28)},F)),{reason:`navigate`}),De(G===`year`?`month`:`day`),K(`viewChange`,G===`year`?`month`:`day`,{reason:`zoom-in`})},s=(e,t)=>{let n=i(e);U(f({...n,day:Math.min(W.day,28)}),{reason:`keyboard`}),t?.querySelector(`[data-zoom="${e}"]`)?.focus()};return(0,u.jsx)(n.default,{display:`grid`,gridTemplateColumns:3,gap:1,props:{role:`group`,"aria-labelledby":Q},children:r.map((e,t)=>(0,u.jsx)(n.default,{tag:`button`,component:`calendar.zoomItem`,variant:{selected:e.active,today:e.current},minHeight:`control`,fontSize:`control`,borderRadius:2,disabled:E,props:{type:`button`,"data-zoom":t,tabIndex:e.active?0:-1,"aria-pressed":e.active,onClick:()=>o(t),onKeyDown:e=>Ke(e,r.length,3,o,s,t)},children:e.label},e.label))})},Je=(e,t)=>{let r=ne(e.year,e.month,M),i=a.t(f(e),{locale:A,month:`long`,year:`numeric`});return(0,u.jsxs)(n.default,{tag:`table`,css:{borderCollapse:`collapse`,tableLayout:`fixed`},props:{role:`grid`,"aria-label":w>1?i:void 0,"aria-labelledby":w>1?void 0:Q,"aria-readonly":ye||void 0,onKeyDown:Fe},children:[(0,u.jsx)(n.default,{tag:`thead`,display:`table-header-group`,children:(0,u.jsxs)(n.default,{tag:`tr`,display:`table-row`,children:[T&&(0,u.jsx)(n.default,{tag:`th`,display:`table-cell`,component:`calendar.weekday`,props:{"aria-hidden":!0}}),He.map(e=>(0,u.jsx)(n.default,{tag:`th`,display:`table-cell`,component:`calendar.weekday`,pb:1,fontSize:12,props:{scope:`col`,abbr:Ve[e]},children:Be[e]},e))]})}),(0,u.jsx)(n.default,{tag:`tbody`,display:`table-row-group`,children:r.map(e=>(0,u.jsxs)(n.default,{tag:`tr`,display:`table-row`,children:[T&&(0,u.jsx)(n.default,{tag:`td`,display:`table-cell`,component:`calendar.weekNumber`,fontSize:11,textAlign:`center`,props:{role:`rowheader`},children:N(e.week)}),e.days.map(Ge)]},e.days[0].date))})]},t)};return(0,u.jsxs)(n.default,{ref:Ae,component:`calendar`,display:`inline-block`,...O,variant:[O.variant,{disabled:E}],props:{role:D?`group`:void 0,"aria-label":D,...Ce,onPointerLeave:()=>B&&H(B)},children:[(0,u.jsxs)(n.default,{position:`relative`,minHeight:`control`,mb:2,children:[(0,u.jsx)(n.default,{tag:`button`,component:`calendar.nav`,position:`absolute`,top:0,insetStart:0,display:`inline-flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,borderRadius:2,disabled:E,props:{type:`button`,"aria-label":xe,onClick:()=>Ie(-1)},children:(0,u.jsx)(ce,{direction:-1})}),Le?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(n.default,{display:`flex`,gap:4,children:Z.map(e=>(0,u.jsx)(n.default,{flex1:!0,textAlign:`center`,py:1.5,fontSize:14,fontWeight:600,props:{"aria-hidden":!0},children:a.t(f(e),{locale:A,month:`long`,year:`numeric`})},f(e)))}),(0,u.jsx)(te.default,{id:Q,props:{"aria-live":`polite`},children:Re})]}):(0,u.jsx)(n.default,{display:`flex`,jc:`center`,px:13,children:(0,u.jsx)(n.default,{tag:`button`,component:`calendar.title`,minHeight:`control`,px:3,borderRadius:2,fontSize:`control`,id:Q,disabled:E||G===`year`,props:{type:`button`,"aria-live":`polite`,onClick:()=>{De(G===`day`?`month`:`year`),K(`viewChange`,G===`day`?`month`:`year`,{reason:`zoom-out`})}},children:Re})}),(0,u.jsx)(n.default,{tag:`button`,component:`calendar.nav`,position:`absolute`,top:0,insetEnd:0,display:`inline-flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,borderRadius:2,disabled:E,props:{type:`button`,"aria-label":Se,onClick:()=>Ie(1)},children:(0,u.jsx)(ce,{direction:1})})]}),G===`day`?(0,u.jsx)(n.default,{display:`flex`,gap:4,ai:`start`,children:Z.map(Je)}):qe()]})}function y(e){return e.year*12+e.month-1}var b=new Map;function se(e){let t=b.get(e);return t||(t=new Intl.NumberFormat(e,{useGrouping:!1}),b.set(e,t)),t}function x(e){return e-(e%g+g)%g}function ce({direction:e}){return(0,u.jsx)(c.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,rtl:{flip:`xAxis`},props:{fill:`none`},children:(0,u.jsx)(c.Path,{d:e===1?`M6 3l5 5-5 5`:`M10 3L5 8l5 5`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}var le=e.f(v,`Calendar`);exports.default=le;
1
+ "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../reporting.cjs"),c=require("./svg.cjs"),ee=require("../date-environment.cjs"),te=require("./visuallyHidden.cjs");let l=require("react"),u=require("react/jsx-runtime");function d(e){let t=a.f(e);return t&&t.kind===`date`?t.fields:null}function f(e){return a.w({...e,...a.V})}function ne(e,t,n){let r={year:e,month:t,day:1},i=a.U(r,-a.Q(a.G(r)-n,7));return Array.from({length:6},(e,r)=>{let o=Array.from({length:7},(e,n)=>{let o=a.U(i,r*7+n);return{date:f(o),day:o.day,outside:o.month!==t}}),s=a.U(i,r*7+a.Q(4-n,7));return{week:a.Z(s).week,days:o}})}function re(e,t,n,r){let i=r.rtl?`ArrowLeft`:`ArrowRight`,o=r.rtl?`ArrowRight`:`ArrowLeft`;switch(t){case i:return a.U(e,1);case o:return a.U(e,-1);case`ArrowDown`:return a.U(e,7);case`ArrowUp`:return a.U(e,-7);case`Home`:return a.U(e,-a.Q(a.G(e)-r.firstDay,7));case`End`:return a.U(e,6-a.Q(a.G(e)-r.firstDay,7));case`PageUp`:return a.W(e,n?-12:-1);case`PageDown`:return a.W(e,n?12:1);default:return null}}function ie(e,t){return t.min!=null&&a.q(e)<a.q(t.min)||t.max!=null&&a.q(e)>a.q(t.max)}function p(e,t){return t.min&&a.q(e)<a.q(t.min)?t.min:t.max&&a.q(e)>a.q(t.max)?t.max:e}function m(e,t){return a.q(e)<=a.q(t)?[e,t]:[t,e]}function ae(e,t,n){if(!t||!n)return t&&a.q(e)===a.q(t)?`start`:null;let[r,i]=m(t,n),o=a.q(e);return o===a.q(r)?`start`:o===a.q(i)?`end`:o>a.q(r)&&o<a.q(i)?`middle`:null}function oe(e,t,n){let[r,i]=m(e,t);for(let e=a.q(r);e<=a.q(i);e++)if(n(f(a.U({year:1970,month:1,day:1},e))))return!0;return!1}var h=`data-date`,g=12;function _(e,t){return e!==null&&t!==null&&a.q(e)===a.q(t)}function v(e,c){let{mode:v=`single`,value:b,defaultValue:le=null,onValueChange:ue,min:S,max:de,isDateUnavailable:C,locale:fe,zone:pe,firstDayOfWeek:me,months:w=1,weekNumbers:T=!1,showOutsideDays:he=!0,focusedDate:ge,defaultFocusedDate:_e,onFocusedDateChange:ve,disabled:E=!1,readOnly:ye=!1,autoFocus:be=!1,label:D,previousLabel:xe=`Previous`,nextLabel:Se=`Next`,props:Ce,...O}=e,k=ee.n({locale:fe,zone:pe}),{locale:A}=k,j=d(o.N(k.zone)),M=me??a.S(A).firstDay,N=e=>se(A).format(e),P=v===`range`,F=(0,l.useMemo)(()=>({min:d(S),max:d(de)}),[S,de]),[I,L]=s.a({value:b,defaultValue:le,onChange:(e,t)=>{ue?.(e,P?t:{...t,...o.x(e,k.zone)})},interaction:{component:`calendar`,type:`valueChange`,content:[`value`]}}),R=P?null:d(I),z=P&&I?I:null,[B,V]=(0,l.useState)(null),[we,H]=(0,l.useState)(null),Te=f(p(d(_e)??R??d(z?.start)??j,F)),[Ee,U]=r.i({value:ge,defaultValue:Te,onChange:ve}),W=d(Ee)??j,[G,De]=(0,l.useState)(`day`),K=s.i(`calendar`),[q,Oe]=(0,l.useState)(()=>y(W)),J=q;(y(W)<q||y(W)>q+w-1)&&(J=y(W)<q?y(W):y(W)-w+1,Oe(J));let ke=(0,l.useRef)(null),Ae=(0,l.useCallback)(e=>{ke.current=e,t.d(c,e)},[c]),Y=(0,l.useRef)(be),je=i.t(`calendar`);(0,l.useEffect)(()=>{Y.current&&(Y.current=!1,ke.current?.querySelector(`[${h}="${Ee}"]`)?.focus())});let Me=e=>ie(e,F),Ne=e=>C?.(f(e))??!1,X=(e,t,n)=>{Y.current=n,U(f(p(e,F)),{reason:t})},Pe=(e,t)=>{if(E||ye||Me(e)||Ne(e))return;if(X(e,`select`,!1),!P){L(f(e),{reason:`select`,event:t});return}if(!B){V(e),H(e);return}let[n,r]=m(B,e);V(null),H(null),!(C&&oe(n,r,C))&&L({start:f(n),end:f(r)},{reason:`select`,event:t})},Fe=r.a(e=>{if(E)return;if(e.key===`Enter`||e.key===` `){e.preventDefault(),Pe(W,e);return}if(e.key===`Escape`&&B){e.preventDefault(),e.stopPropagation(),V(null),H(null);return}let n=re(W,e.key,e.shiftKey,{rtl:t._(e.currentTarget),firstDay:M});n&&(e.preventDefault(),X(n,`keyboard`,!0),B&&H(p(n,F)))}),Ie=e=>{let t=a.W(W,e*(G===`day`?w:G===`month`?12:144));G===`day`&&Oe(J+e*w),X(t,`navigate`,!1),K(`pageChange`,f(t),{reason:e===1?`next`:`previous`,content:[`value`]})},Z=Array.from({length:w},(e,t)=>({year:Math.floor((J+t)/12),month:(J+t)%12+1,day:1})),Q=`${je}-title`,Le=G===`day`&&w>1,Re=G===`day`?Z.map(e=>a.t(f(e),{locale:A,month:`long`,year:`numeric`})).join(` – `):G===`month`?N(W.year):`${N(x(W.year))} – ${N(x(W.year)+g-1)}`,ze=a.C(A,`short`),Be=ze.some(e=>e.length>4)?a.C(A,`narrow`):ze,Ve=a.C(A,`long`),He=Array.from({length:7},(e,t)=>(M+t)%7),Ue=B?we??B:null,We=B??d(z?.start),$=B?Ue:d(z?.end),Ge=e=>{let t=d(e.date),r=Me(t),i=Ne(t),o=P?ae(t,We,$):null,s=P?o!==null:_(t,R),c=_(t,j),ee=_(t,W);return e.outside&&(!he||w>1)?(0,u.jsx)(n.default,{tag:`td`,component:`calendar.cell`,display:`table-cell`,props:{role:`gridcell`}},e.date):(0,u.jsx)(n.default,{tag:`td`,component:`calendar.cell`,display:`table-cell`,p:0,py:.5,variant:{rangeStart:o===`start`&&$!==null&&!_(We,$),rangeEnd:o===`end`,rangeMiddle:o===`middle`},props:{role:`gridcell`,"aria-selected":s||void 0,"aria-disabled":r||E||void 0,"aria-current":c?`date`:void 0},children:(0,u.jsx)(n.default,{component:`calendar.day`,display:`flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,mx:`auto`,borderRadius:999,fontSize:`control`,css:{fontVariantNumeric:`tabular-nums`},variant:{today:c,selected:s&&o!==`middle`,outside:e.outside,blocked:r||E,unavailable:i},props:{[h]:e.date,tabIndex:ee&&!r&&!E?0:-1,"aria-label":a.t(e.date,{locale:A,dateStyle:`full`}),onClick:e=>Pe(t,e),onPointerEnter:()=>B&&H(t)},children:N(e.day)})},e.date)},Ke=(e,n,r,i,a,o)=>{let s=t._(e.currentTarget),c={ArrowUp:-r,ArrowDown:r,[s?`ArrowRight`:`ArrowLeft`]:-1,[s?`ArrowLeft`:`ArrowRight`]:1};e.key===`Enter`||e.key===` `?(e.preventDefault(),i(o)):e.key in c&&(e.preventDefault(),a(Math.max(0,Math.min(n-1,o+c[e.key])),e.currentTarget.parentElement))},qe=()=>{let e=a.x(A,`short`),t=x(W.year),r=G===`month`?e.map((e,t)=>({label:e,active:t+1===W.month,current:j.year===W.year&&j.month===t+1})):Array.from({length:g},(e,n)=>({label:N(t+n),active:t+n===W.year,current:j.year===t+n})),i=e=>G===`month`?{...W,month:e+1,day:1}:{...W,year:t+e,day:1},o=e=>{let t=i(e);Y.current=!0,U(f(p({...t,day:Math.min(W.day,28)},F)),{reason:`navigate`}),De(G===`year`?`month`:`day`),K(`viewChange`,G===`year`?`month`:`day`,{reason:`zoom-in`})},s=(e,t)=>{let n=i(e);U(f({...n,day:Math.min(W.day,28)}),{reason:`keyboard`}),t?.querySelector(`[data-zoom="${e}"]`)?.focus()};return(0,u.jsx)(n.default,{display:`grid`,gridTemplateColumns:3,gap:1,props:{role:`group`,"aria-labelledby":Q},children:r.map((e,t)=>(0,u.jsx)(n.default,{tag:`button`,component:`calendar.zoomItem`,variant:{selected:e.active,today:e.current},minHeight:`control`,fontSize:`control`,borderRadius:2,disabled:E,props:{type:`button`,"data-zoom":t,tabIndex:e.active?0:-1,"aria-pressed":e.active,onClick:()=>o(t),onKeyDown:e=>Ke(e,r.length,3,o,s,t)},children:e.label},e.label))})},Je=(e,t)=>{let r=ne(e.year,e.month,M),i=a.t(f(e),{locale:A,month:`long`,year:`numeric`});return(0,u.jsxs)(n.default,{tag:`table`,css:{borderCollapse:`collapse`,tableLayout:`fixed`},props:{role:`grid`,"aria-label":w>1?i:void 0,"aria-labelledby":w>1?void 0:Q,"aria-readonly":ye||void 0,onKeyDown:Fe},children:[(0,u.jsx)(n.default,{tag:`thead`,display:`table-header-group`,children:(0,u.jsxs)(n.default,{tag:`tr`,display:`table-row`,children:[T&&(0,u.jsx)(n.default,{tag:`th`,display:`table-cell`,component:`calendar.weekday`,props:{"aria-hidden":!0}}),He.map(e=>(0,u.jsx)(n.default,{tag:`th`,display:`table-cell`,component:`calendar.weekday`,pb:1,fontSize:12,props:{scope:`col`,abbr:Ve[e]},children:Be[e]},e))]})}),(0,u.jsx)(n.default,{tag:`tbody`,display:`table-row-group`,children:r.map(e=>(0,u.jsxs)(n.default,{tag:`tr`,display:`table-row`,children:[T&&(0,u.jsx)(n.default,{tag:`td`,display:`table-cell`,component:`calendar.weekNumber`,fontSize:11,textAlign:`center`,props:{role:`rowheader`},children:N(e.week)}),e.days.map(Ge)]},e.days[0].date))})]},t)};return(0,u.jsxs)(n.default,{ref:Ae,component:`calendar`,display:`inline-block`,...O,variant:[O.variant,{disabled:E}],props:{role:D?`group`:void 0,"aria-label":D,...Ce,onPointerLeave:()=>B&&H(B)},children:[(0,u.jsxs)(n.default,{position:`relative`,minHeight:`control`,mb:2,children:[(0,u.jsx)(n.default,{tag:`button`,component:`calendar.nav`,position:`absolute`,top:0,insetStart:0,display:`inline-flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,borderRadius:2,disabled:E,props:{type:`button`,"aria-label":xe,onClick:()=>Ie(-1)},children:(0,u.jsx)(ce,{direction:-1})}),Le?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(n.default,{display:`flex`,gap:4,children:Z.map(e=>(0,u.jsx)(n.default,{flex1:!0,textAlign:`center`,py:1.5,fontSize:14,fontWeight:600,props:{"aria-hidden":!0},children:a.t(f(e),{locale:A,month:`long`,year:`numeric`})},f(e)))}),(0,u.jsx)(te.default,{id:Q,props:{"aria-live":`polite`},children:Re})]}):(0,u.jsx)(n.default,{display:`flex`,jc:`center`,px:13,children:(0,u.jsx)(n.default,{tag:`button`,component:`calendar.title`,minHeight:`control`,px:3,borderRadius:2,fontSize:`control`,id:Q,disabled:E||G===`year`,props:{type:`button`,"aria-live":`polite`,onClick:()=>{De(G===`day`?`month`:`year`),K(`viewChange`,G===`day`?`month`:`year`,{reason:`zoom-out`})}},children:Re})}),(0,u.jsx)(n.default,{tag:`button`,component:`calendar.nav`,position:`absolute`,top:0,insetEnd:0,display:`inline-flex`,ai:`center`,jc:`center`,height:`control`,aspectRatio:`square`,borderRadius:2,disabled:E,props:{type:`button`,"aria-label":Se,onClick:()=>Ie(1)},children:(0,u.jsx)(ce,{direction:1})})]}),G===`day`?(0,u.jsx)(n.default,{display:`flex`,gap:4,ai:`start`,children:Z.map(Je)}):qe()]})}function y(e){return e.year*12+e.month-1}var b=new Map;function se(e){let t=b.get(e);return t||(t=new Intl.NumberFormat(e,{useGrouping:!1}),b.set(e,t)),t}function x(e){return e-(e%g+g)%g}function ce({direction:e}){return(0,u.jsx)(c.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,rtl:{flip:`xAxis`},props:{fill:`none`},children:(0,u.jsx)(c.Path,{d:e===1?`M6 3l5 5-5 5`:`M10 3L5 8l5 5`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}var le=e._(v,`Calendar`);exports.default=le;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { f as e } from "../react-shared.mjs";
2
+ import { _ as e } from "../react-shared.mjs";
3
3
  import { _ as t, d as n } from "../platform.mjs";
4
4
  import r from "../box.mjs";
5
5
  import { a as i, i as a } from "../behavior.mjs";
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime.cjs"),t=require("../react-shared.cjs"),n=require("./svg.cjs");let r=require("react"),i=require("@box-kite/core"),a=require("react/jsx-runtime"),o=require("@box-kite/react");o=e.t(o,1);var s;(function(e){let n=e.VIEW=100,r=e.CENTRE=n/2,i=e.FRACTION_STEP=.005;function a(e){return Math.round(e*100)/100}function o(e){return Math.round(Math.min(Math.max(e,0),1)/i)*i}e.fraction=o;function s(e,t={}){if(e.length===0)return[];let i=t.min??Math.min(...e),o=(t.max??Math.max(...e))-i,s=e=>a(o===0?r:n-(e-i)/o*n);if(e.length===1)return[{x:0,y:s(e[0])},{x:n,y:s(e[0])}];let c=n/(e.length-1);return e.map((e,t)=>({x:a(t*c),y:s(e)}))}e.points=s;function c(e){return e.length===0?``:e.map((e,t)=>`${t===0?`M`:`L`}${e.x} ${e.y}`).join(``)}e.linePath=c;function l(e){if(e.length===0)return``;let t=e[e.length-1];return`${c(e)}L${t.x} ${n}L${e[0].x} ${n}Z`}e.areaPath=l;function u(e,t={},r=.25){if(e.length===0)return``;let i=n/e.length,o=a(i*(1-r)),c=a((i-o)/2);return s(e,t).map((e,t)=>{let r=Math.min(e.y,n-1);return`M${a(t*i+c)} ${r}h${o}v${a(n-r)}h${-o}Z`}).join(``)}e.barsPath=u;function d(e){return a(r-e/2)}e.radius=d;function f(e){return a(2*Math.PI*e)}e.circumference=f;function p(e,t){return{strokeDasharray:a(e),strokeDashoffset:a(e*(1-o(t)))}}e.dash=p;function m(e,t){let n=(t-90)*Math.PI/180;return{x:a(r+e*Math.cos(n)),y:a(r+e*Math.sin(n))}}function h(e,t){return a(f(e)*(Math.min(Math.abs(t),360)/360))}e.arcLength=h;function g(e,t,n){if(Math.abs(n)>=360){let n=m(e,t),r=m(e,t+180);return`M${n.x} ${n.y}A${e} ${e} 0 0 1 ${r.x} ${r.y}A${e} ${e} 0 0 1 ${n.x} ${n.y}`}let r=m(e,t),i=m(e,t+n),a=+(Math.abs(n)>180),o=n<0?0:1;return`M${r.x} ${r.y}A${e} ${e} 0 ${a} ${o} ${i.x} ${i.y}`}e.arcPath=g;function _(e,t){let n=e.reduce((e,t)=>e+Math.max(t,0),0);if(n<=0)return[];let r=0;return e.map((e,i)=>{let s=o(Math.max(e,0)/n),c=a(t*s),l=a(r*360);return r+=s,{strokeDasharray:`${c} ${a(t-c)}`,rotate:l,value:e,index:i}})}e.donutSegments=_;let v=e.PALETTE=t.n;e.DARK_PALETTE=t.t,e.paletteVariables=t.r;function y(e,t=v.length,n=()=>!0){return(Array.isArray(e)?e.map((e,n)=>[e,`var(--chart-${n%t+1})`]):Object.entries(e).filter(([e,t])=>n(t,e))).reduce((e,[t,n])=>(e[`color-${t}`]=n,e),{})}e.seriesVariables=y})(s||={});var c=s,l=`0 0 ${c.VIEW} ${c.VIEW}`,u=c.PALETTE;function d(e,t){let{data:r,variant:i=`line`,min:o,max:s,children:u,...d}=e,f={min:o,max:s},p=c.points(r,f);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`sparkline`,preserveAspectRatio:`none`,width:`100%`,height:`1.5rem`,ref:t,...d,children:[i===`bar`?(0,a.jsx)(n.Path,{component:`sparkline.bar`,d:c.barsPath(r,f)}):(0,a.jsxs)(a.Fragment,{children:[i===`area`&&(0,a.jsx)(n.Path,{component:`sparkline.area`,d:c.areaPath(p)}),(0,a.jsx)(n.Path,{component:`sparkline.line`,d:c.linePath(p)})]}),u]})}var f=(0,r.forwardRef)(d);f.displayName=`Sparkline`;function p(e,t){let{value:r,thickness:i=10,trackOpacity:o,children:s,...u}=e,d=c.radius(i),f=c.circumference(d);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`progressRing`,width:`3rem`,height:`3rem`,strokeWidth:i,ref:t,...u,children:[(0,a.jsx)(n.Circle,{component:`progressRing.track`,cx:c.CENTRE,cy:c.CENTRE,r:d,strokeOpacity:o}),(0,a.jsx)(n.Circle,{component:`progressRing.arc`,cx:c.CENTRE,cy:c.CENTRE,r:d,transform:`rotate(-90 ${c.CENTRE} ${c.CENTRE})`,...c.dash(f,r)}),s]})}var m=(0,r.forwardRef)(p);m.displayName=`ProgressRing`;function h(e,t){let{value:r,thickness:i=10,trackOpacity:o,sweep:s=270,start:u=225,children:d,...f}=e,p=c.radius(i),m=c.arcLength(p,s),h=c.arcPath(p,u,s);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`gauge`,width:`4rem`,height:`4rem`,strokeWidth:i,ref:t,...f,children:[(0,a.jsx)(n.Path,{component:`gauge.track`,d:h,strokeOpacity:o}),(0,a.jsx)(n.Path,{component:`gauge.arc`,d:h,...c.dash(m,r)}),d]})}var g=(0,r.forwardRef)(h);g.displayName=`Gauge`;function _(e,t){let{data:r,colors:i=u,thickness:o=20,children:s,...d}=e,f=c.radius(o),p=c.circumference(f);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`miniDonut`,width:`3rem`,height:`3rem`,strokeWidth:o,ref:t,...d,children:[c.donutSegments(r,p).map(e=>(0,a.jsx)(n.Circle,{component:`miniDonut.segment`,cx:c.CENTRE,cy:c.CENTRE,r:f,stroke:i[e.index%i.length],strokeDasharray:e.strokeDasharray,transform:`rotate(${e.rotate-90} ${c.CENTRE} ${c.CENTRE})`},e.index)),s]})}var v=(0,r.forwardRef)(_);v.displayName=`MiniDonut`;function y(e,t){let n=/^[A-Za-z_$][\w$]*$/.test(t)?t:JSON.stringify(t);return(0,i.getDefaultEngine)().accepts(`fill`,e,()=>`ChartContainer series={{ ${n}: ${JSON.stringify(e)} }} declared nothing, so var(--color-${t}) paints nothing: a series takes what fill takes, and a colour written as CSS goes in vars={{ 'color-${t}': ... }}.`)}function b(e,t){let{series:n,vars:r,...i}=e,s={...n?c.seriesVariables(n,void 0,y):{},...r};return(0,a.jsx)(o.default,{ref:t,component:`chartContainer`,vars:s,...i})}var x=(0,r.forwardRef)(b);x.displayName=`ChartContainer`;var S=x;exports.ChartContainer=S,exports.Gauge=g,exports.MiniDonut=v,exports.ProgressRing=m,exports.Sparkline=f;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime.cjs"),t=require("../react-shared.cjs"),n=require("./svg.cjs");let r=require("react"),i=require("@box-kite/core"),a=require("react/jsx-runtime"),o=require("@box-kite/react");o=e.t(o,1);var s;(function(e){let n=e.VIEW=100,r=e.CENTRE=n/2,i=e.FRACTION_STEP=.005;function a(e){return Math.round(e*100)/100}function o(e){return Math.round(Math.min(Math.max(e,0),1)/i)*i}e.fraction=o;function s(e,t={}){if(e.length===0)return[];let i=t.min??Math.min(...e),o=(t.max??Math.max(...e))-i,s=e=>a(o===0?r:n-(e-i)/o*n);if(e.length===1)return[{x:0,y:s(e[0])},{x:n,y:s(e[0])}];let c=n/(e.length-1);return e.map((e,t)=>({x:a(t*c),y:s(e)}))}e.points=s;function c(e){return e.length===0?``:e.map((e,t)=>`${t===0?`M`:`L`}${e.x} ${e.y}`).join(``)}e.linePath=c;function l(e){if(e.length===0)return``;let t=e[e.length-1];return`${c(e)}L${t.x} ${n}L${e[0].x} ${n}Z`}e.areaPath=l;function u(e,t={},r=.25){if(e.length===0)return``;let i=n/e.length,o=a(i*(1-r)),c=a((i-o)/2);return s(e,t).map((e,t)=>{let r=Math.min(e.y,n-1);return`M${a(t*i+c)} ${r}h${o}v${a(n-r)}h${-o}Z`}).join(``)}e.barsPath=u;function d(e){return a(r-e/2)}e.radius=d;function f(e){return a(2*Math.PI*e)}e.circumference=f;function p(e,t){return{strokeDasharray:a(e),strokeDashoffset:a(e*(1-o(t)))}}e.dash=p;function m(e,t){let n=(t-90)*Math.PI/180;return{x:a(r+e*Math.cos(n)),y:a(r+e*Math.sin(n))}}function h(e,t){return a(f(e)*(Math.min(Math.abs(t),360)/360))}e.arcLength=h;function g(e,t,n){if(Math.abs(n)>=360){let n=m(e,t),r=m(e,t+180);return`M${n.x} ${n.y}A${e} ${e} 0 0 1 ${r.x} ${r.y}A${e} ${e} 0 0 1 ${n.x} ${n.y}`}let r=m(e,t),i=m(e,t+n),a=+(Math.abs(n)>180),o=n<0?0:1;return`M${r.x} ${r.y}A${e} ${e} 0 ${a} ${o} ${i.x} ${i.y}`}e.arcPath=g;function _(e,t){let n=e.reduce((e,t)=>e+Math.max(t,0),0);if(n<=0)return[];let r=0;return e.map((e,i)=>{let s=o(Math.max(e,0)/n),c=a(t*s),l=a(r*360);return r+=s,{strokeDasharray:`${c} ${a(t-c)}`,rotate:l,value:e,index:i}})}e.donutSegments=_;let v=e.PALETTE=t.s;e.DARK_PALETTE=t.o,e.paletteVariables=t.c;function y(e,t=v.length,n=()=>!0){return(Array.isArray(e)?e.map((e,n)=>[e,`var(--chart-${n%t+1})`]):Object.entries(e).filter(([e,t])=>n(t,e))).reduce((e,[t,n])=>(e[`color-${t}`]=n,e),{})}e.seriesVariables=y})(s||={});var c=s,l=`0 0 ${c.VIEW} ${c.VIEW}`,u=c.PALETTE;function d(e,t){let{data:r,variant:i=`line`,min:o,max:s,children:u,...d}=e,f={min:o,max:s},p=c.points(r,f);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`sparkline`,preserveAspectRatio:`none`,width:`100%`,height:`1.5rem`,ref:t,...d,children:[i===`bar`?(0,a.jsx)(n.Path,{component:`sparkline.bar`,d:c.barsPath(r,f)}):(0,a.jsxs)(a.Fragment,{children:[i===`area`&&(0,a.jsx)(n.Path,{component:`sparkline.area`,d:c.areaPath(p)}),(0,a.jsx)(n.Path,{component:`sparkline.line`,d:c.linePath(p)})]}),u]})}var f=(0,r.forwardRef)(d);f.displayName=`Sparkline`;function p(e,t){let{value:r,thickness:i=10,trackOpacity:o,children:s,...u}=e,d=c.radius(i),f=c.circumference(d);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`progressRing`,width:`3rem`,height:`3rem`,strokeWidth:i,ref:t,...u,children:[(0,a.jsx)(n.Circle,{component:`progressRing.track`,cx:c.CENTRE,cy:c.CENTRE,r:d,strokeOpacity:o}),(0,a.jsx)(n.Circle,{component:`progressRing.arc`,cx:c.CENTRE,cy:c.CENTRE,r:d,transform:`rotate(-90 ${c.CENTRE} ${c.CENTRE})`,...c.dash(f,r)}),s]})}var m=(0,r.forwardRef)(p);m.displayName=`ProgressRing`;function h(e,t){let{value:r,thickness:i=10,trackOpacity:o,sweep:s=270,start:u=225,children:d,...f}=e,p=c.radius(i),m=c.arcLength(p,s),h=c.arcPath(p,u,s);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`gauge`,width:`4rem`,height:`4rem`,strokeWidth:i,ref:t,...f,children:[(0,a.jsx)(n.Path,{component:`gauge.track`,d:h,strokeOpacity:o}),(0,a.jsx)(n.Path,{component:`gauge.arc`,d:h,...c.dash(m,r)}),d]})}var g=(0,r.forwardRef)(h);g.displayName=`Gauge`;function _(e,t){let{data:r,colors:i=u,thickness:o=20,children:s,...d}=e,f=c.radius(o),p=c.circumference(f);return(0,a.jsxs)(n.Svg,{viewBox:l,component:`miniDonut`,width:`3rem`,height:`3rem`,strokeWidth:o,ref:t,...d,children:[c.donutSegments(r,p).map(e=>(0,a.jsx)(n.Circle,{component:`miniDonut.segment`,cx:c.CENTRE,cy:c.CENTRE,r:f,stroke:i[e.index%i.length],strokeDasharray:e.strokeDasharray,transform:`rotate(${e.rotate-90} ${c.CENTRE} ${c.CENTRE})`},e.index)),s]})}var v=(0,r.forwardRef)(_);v.displayName=`MiniDonut`;function y(e,t){let n=/^[A-Za-z_$][\w$]*$/.test(t)?t:JSON.stringify(t);return(0,i.getDefaultEngine)().accepts(`fill`,e,()=>`ChartContainer series={{ ${n}: ${JSON.stringify(e)} }} declared nothing, so var(--color-${t}) paints nothing: a series takes what fill takes, and a colour written as CSS goes in vars={{ 'color-${t}': ... }}.`)}function b(e,t){let{series:n,vars:r,...i}=e,s={...n?c.seriesVariables(n,void 0,y):{},...r};return(0,a.jsx)(o.default,{ref:t,component:`chartContainer`,vars:s,...i})}var x=(0,r.forwardRef)(b);x.displayName=`ChartContainer`;var S=x;exports.ChartContainer=S,exports.Gauge=g,exports.MiniDonut=v,exports.ProgressRing=m,exports.Sparkline=f;
@@ -1,4 +1,4 @@
1
- import { n as e, r as t, t as n } from "../react-shared.mjs";
1
+ import { c as e, o as t, s as n } from "../react-shared.mjs";
2
2
  import { Circle as r, Path as i, Svg as a } from "./svg.mjs";
3
3
  import { forwardRef as o } from "react";
4
4
  import { getDefaultEngine as s } from "@box-kite/core";
@@ -101,8 +101,8 @@ var f;
101
101
  });
102
102
  }
103
103
  r.donutSegments = y;
104
- let b = r.PALETTE = e;
105
- r.DARK_PALETTE = n, r.paletteVariables = t;
104
+ let b = r.PALETTE = n;
105
+ r.DARK_PALETTE = t, r.paletteVariables = e;
106
106
  function x(e, t = b.length, n = () => !0) {
107
107
  return (Array.isArray(e) ? e.map((e, n) => [e, `var(--chart-${n % t + 1})`]) : Object.entries(e).filter(([e, t]) => n(t, e))).reduce((e, [t, n]) => (e[`color-${t}`] = n, e), {});
108
108
  }
@@ -1 +1 @@
1
- "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../box.cjs"),n=require("../forms.cjs");let r=require("react"),i=require("react/jsx-runtime");var a=[`name`,`onInput`,`onChange`,`autoFocus`,`readOnly`,`value`,`defaultChecked`];function o(o,s){let{label:c,labelProps:l,...u}=o,d=Array.isArray(o.indeterminate)?o.indeterminate[0]:o.indeterminate,f=typeof d==`boolean`&&d,p=e.i.buildProps(u,a,{type:`checkbox`,...f?{"aria-checked":`mixed`}:{}}),m=(0,r.useRef)(null);return(0,r.useImperativeHandle)(s,()=>m.current),(0,r.useEffect)(()=>{m.current&&(m.current.indeterminate=f)},[m,f]),(0,i.jsx)(n.n,{label:c,labelProps:l,children:(0,i.jsx)(t.default,{tag:`input`,ref:m,component:`checkbox`,...p})})}var s=(0,r.forwardRef)(o);s.displayName=`Checkbox`,exports.default=s;
1
+ "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../box.cjs"),n=require("../forms.cjs");let r=require("react"),i=require("react/jsx-runtime");var a=[`name`,`onInput`,`onChange`,`autoFocus`,`readOnly`,`value`,`defaultChecked`];function o(o,s){let{label:c,labelProps:l,...u}=o,d=Array.isArray(o.indeterminate)?o.indeterminate[0]:o.indeterminate,f=typeof d==`boolean`&&d,p=e.l.buildProps(u,a,{type:`checkbox`,...f?{"aria-checked":`mixed`}:{}}),m=(0,r.useRef)(null);return(0,r.useImperativeHandle)(s,()=>m.current),(0,r.useEffect)(()=>{m.current&&(m.current.indeterminate=f)},[m,f]),(0,i.jsx)(n.n,{label:c,labelProps:l,children:(0,i.jsx)(t.default,{tag:`input`,ref:m,component:`checkbox`,...p})})}var s=(0,r.forwardRef)(o);s.displayName=`Checkbox`,exports.default=s;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { i as e } from "../react-shared.mjs";
2
+ import { l as e } from "../react-shared.mjs";
3
3
  import t from "../box.mjs";
4
4
  import { n } from "../forms.mjs";
5
5
  import { forwardRef as r, useEffect as i, useImperativeHandle as a, useRef as o } from "react";
@@ -1 +1 @@
1
- "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../platform.cjs"),t=require("../effects.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../reporting.cjs"),o=require("./svg.cjs"),s=require("./flex.cjs"),c=require("./overlay.cjs"),l=require("./presence.cjs");let u=require("react"),d=require("react/jsx-runtime");var f;(function(e){function t(e,t){return typeof e==`function`?e(t):t[e]}e.read=t;function n(e,n){let r=t(e.label,n);return r==null?``:String(r)}e.labelOf=n;function r(e,r){return e.key===void 0?n(e,r):t(e.key,r)}e.keyOf=r;function i(e,n){return e.disabled!==void 0&&t(e.disabled,n)===!0}e.isDisabled=i;let a=/\p{M}/gu;function o(e){return e.normalize(`NFD`).replace(a,``).toLowerCase()}e.normalize=o;function s(e,t){return o(e).includes(o(t))}e.matches=s;function c(e,t,n){return t===``?e:e.filter(e=>s(n(e),t))}e.filterRows=c;function l(e){return e==null?[]:Array.isArray(e)?e:[e]}e.toArray=l;function u(e,t,n){let r=n(t);return e.some(e=>n(e)===r)}e.isSelected=u;function d(e,t,n,r){return n?u(e,t,r)?e.filter(e=>r(e)!==r(t)):[...e,t]:[t]}e.toggle=d;function f(e){let{data:t,def:r,query:i,filter:a,typed:s,createRow:c}=e,l=e=>n(r,e),u=(!s||a===!1?t:a(t,i,l)).map(e=>({kind:`option`,row:e}));return c&&i!==``&&!t.some(e=>o(l(e))===o(i))&&c(i)!==null&&u.push({kind:`create`,query:i}),u}e.rowsFor=f;function p(e,t){return t.kind===`option`&&i(e,t.row)}e.isRowDisabled=p;function m(e,t,n,i=`first`){let a=e=>r(n,e),o=e.findIndex(e=>e.kind===`option`&&u(t,e.row,a));if(o!==-1&&!p(n,e[o]))return o;let s=e.map((e,t)=>p(n,e)?-1:t).filter(e=>e!==-1);return(i===`last`?s[s.length-1]:s[0])??-1}e.activeIndexFor=m})(f||={});var p=f;function m(e){let{selection:t,def:n,display:r,removeLabel:i,onRemove:a,disabled:c,variant:l}=e;return(0,d.jsx)(d.Fragment,{children:t.map(e=>{let t=p.labelOf(n,e);return(0,d.jsxs)(s.default,{component:`combobox.chip`,variant:l,ai:`center`,gap:1,children:[r?.(e)??t,!c&&(0,d.jsx)(s.default,{tag:`button`,component:`combobox.remove`,variant:l,ai:`center`,jc:`center`,props:{type:`button`,tabIndex:-1,"aria-label":i(t),onMouseDown:e=>e.preventDefault(),onClick:t=>{t.stopPropagation(),a(e,t)}},children:(0,d.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`0.625rem`,props:{fill:`none`},children:(0,d.jsx)(o.Path,{d:`M6 6 18 18M18 6 6 18`,stroke:`currentColor`,strokeWidth:3,strokeLinecap:`round`})})})]},p.keyOf(n,e))})})}var h;(function(e){let t=e.DEFAULT_OVERSCAN=4,n=e.DEFAULT_THRESHOLD=100;e.DEFAULT_ITEM_HEIGHT=36,e.DEFAULT_VIEW_HEIGHT=248;function r(e,t,n){return Math.min(Math.max(e,t),n)}function i(e,t,r=n){return t??e>r}e.shouldVirtualize=i;function a(e){let{count:n,itemHeight:i,viewHeight:a,scrollTop:o,overscan:s=t,activeIndex:c=-1}=e;if(n<=0||i<=0)return{startIndex:0,endIndex:Math.max(0,n),offsetY:0,totalHeight:0};let l=Math.max(1,Math.ceil(a/i)),u=Math.min(n,l+s*2),d=n-u,f=r(Math.floor(o/i)-s,0,d);return c>=0&&c<n&&(c<f?f=r(c-s,0,d):c>=f+u&&(f=r(c+1+s-u,0,d))),{startIndex:f,endIndex:f+u,offsetY:f*i,totalHeight:n*i}}e.windowFor=a})(h||={});var g=h;function _(e){let{count:n,scrollerRef:i,itemHeight:a,viewHeight:o,overscan:s,threshold:c,enabled:l,activeIndex:d}=e,[f,p]=(0,u.useState)({top:0,at:-1}),[m,h]=(0,u.useState)({itemHeight:0,viewHeight:0}),_=(0,u.useRef)(null),v=(0,u.useCallback)(e=>{_.current=e},[]),y=g.shouldVirtualize(n,l,c),b=r.a(()=>{let e=i.current,t=_.current;if(!e||!t)return;let n=t.children,r=n[0],a=n[1],o=a?a.offsetTop-r.offsetTop:r?.offsetHeight??0,s=e.clientHeight;h(e=>e.itemHeight===o&&e.viewHeight===s?e:{itemHeight:o,viewHeight:s})});t.n(()=>{if(!y||(b(),typeof ResizeObserver>`u`))return;let e=i.current;if(!e)return;let t=new ResizeObserver(b);return t.observe(e),()=>t.disconnect()},[y,n,b,i]);let x=r.a(e=>{p({top:e.currentTarget.scrollTop,at:d??-1})}),S=g.windowFor({count:n,itemHeight:a??(m.itemHeight>0?m.itemHeight:g.DEFAULT_ITEM_HEIGHT),viewHeight:o??(m.viewHeight>0?m.viewHeight:g.DEFAULT_VIEW_HEIGHT),scrollTop:f.top,overscan:s,activeIndex:d===f.at?-1:d});return y?{...S,virtualized:y,contentRef:v,onScroll:x}:{startIndex:0,endIndex:n,offsetY:0,totalHeight:0,virtualized:y,contentRef:v,onScroll:x}}function v(e,t,n,r){return e?{role:`listbox`,...r,...t?{"aria-multiselectable":!0}:{},...n?{"aria-busy":!0}:{}}:{role:`status`}}function y(e){let{presence:t,rows:r,def:i,display:a,selection:o,multiple:l,activeIndex:f,optionId:m,rowRef:h,onSelect:g}=e,{anchorRef:y,popupRef:b,listboxId:x,name:S,loading:C,loadingText:w,emptyText:ee,createLabel:te,variant:T,itemsProps:E}=e,{virtualize:D}=e,{present:O,ref:k,props:ne}=t,re=e=>p.keyOf(i,e),[ie,ae]=(0,u.useState)(!1),oe=(0,u.useCallback)(e=>ae(e===`top`),[]),A=(0,u.useRef)(null),se=(0,u.useCallback)(e=>{A.current=e,k(e)},[k]),ce=typeof D==`object`?D:{},{virtualized:j,startIndex:M,endIndex:N,offsetY:le,totalHeight:ue,contentRef:P,onScroll:F}=_({count:r.length,scrollerRef:A,enabled:typeof D==`boolean`?D:void 0,activeIndex:f,...ce}),I=j?r.slice(M,N):r,L=(e,t)=>{let n=j?M+t:t,c=e.kind===`option`&&p.isSelected(o,e.row,re),l=p.isRowDisabled(i,e);return(0,d.jsx)(s.default,{ref:h(n),component:`combobox.item`,variant:[T,{create:e.kind===`create`,highlighted:n===f}],selected:c,ai:`center`,gap:2,id:m(n),props:{role:`option`,...j?{"aria-setsize":r.length,"aria-posinset":n+1}:{},...l?{"aria-disabled":!0}:{},onMouseDown:e=>e.preventDefault(),onClick:e=>!l&&g(n,e)},children:e.kind===`create`?te(e.query):a?.(e.row)??p.labelOf(i,e.row)},e.kind===`option`?re(e.row):`create`)};return(0,d.jsx)(c.default,{ref:b,anchor:y,side:`bottom`,align:`start`,offset:.5,matchWidth:!0,onSideChange:oe,children:(0,d.jsxs)(n.default,{ref:se,component:`combobox.items`,...E,variant:[T,{closed:!O&&!ie,closedUp:!O&&ie}],id:x,props:{...v(r.length>0,l,C===!0,S),...ne,...j?{onScroll:F}:{}},children:[j?(0,d.jsx)(n.default,{ref:P,component:`combobox.window`,variant:T,style:{height:ue,paddingTop:le},children:I.map(L)}):I.map(L),r.length===0&&(0,d.jsx)(n.default,{component:`combobox.message`,variant:T,children:C?w:ee})]})})}var b=new Set([` `,`Home`,`End`,`ArrowLeft`,`ArrowRight`]);function x(c,f){let{data:h,def:g,label:_,labelProps:v,placeholder:x,name:S,disabled:C,props:w,itemsProps:ee,hideIcon:te,filter:T=p.filterRows,loading:E,loadingText:D=`Loading...`,emptyText:O=`No results`,createRow:k,createLabel:ne=e=>`Create "${e}"`,removeLabel:re=e=>`Remove ${e}`,virtualize:ie,query:ae,defaultQuery:oe,onQueryChange:A,open:se,defaultOpen:ce,onOpenChange:j,multiple:M=!1,value:N,defaultValue:le,onValueChange:ue,...P}=c,F=i.t(`combobox`),I=P.id??w?.id??`${F}-field`,L=`${F}-listbox`,de=`${F}-label`,fe=_!=null&&_!==!1,pe=(0,u.useCallback)(e=>`${F}-option-${e}`,[F]),R=(0,u.useRef)(null),me=(0,u.useRef)(null),z=(0,u.useRef)(null),he=(0,u.useCallback)(t=>{z.current=t,e.d(f,t)},[f]),ge=r.a((e,t)=>{ue?.(M?e:e[0]??null,t)}),_e=(0,u.useMemo)(()=>N===void 0?void 0:p.toArray(N),[N]),[B,ve]=a.a({value:_e,defaultValue:()=>p.toArray(le),onChange:ge,interaction:{component:`combobox`,type:`valueChange`,content:[`value`]}}),[V,H]=a.a({value:se,defaultValue:ce??!1,onChange:j,interaction:{component:`combobox`,type:`openChange`}}),[ye,U]=r.i({value:ae,defaultValue:oe??``,onChange:A}),[W,G]=(0,u.useState)(!1),K=(0,u.useCallback)(e=>p.keyOf(g,e),[g]),be=M||B[0]===void 0?``:p.labelOf(g,B[0]),q=W||ye!==``?ye:be,J=(0,u.useMemo)(()=>p.rowsFor({data:h,def:g,query:q,filter:T,typed:W,createRow:k}),[h,g,q,T,W,k]),xe=(0,u.useCallback)(e=>J[e]?p.isRowDisabled(g,J[e]):!1,[J,g]),Y=r.a((e,t)=>{H(!1,{reason:e,event:t}),e!==`escape`&&(G(!1),U(``,{reason:`close`,event:t}))}),X=r.a((e,t)=>{let n=J[e];if(!n||xe(e))return;let r=n.kind===`create`?k?.(n.query):n.row;if(r==null)return;let i=p.isSelected(B,r,K),a=n.kind===`create`?`create`:i&&M?`deselect`:`select`;ve(p.toggle(B,r,M,K),{reason:a,event:t}),G(!1),U(``,{reason:`select`,event:t}),M||H(!1,{reason:`select`,event:t})}),Se=r.t({count:J.length,focusItems:!1,defaultActiveIndex:-1,isDisabled:xe,onSelect:X}),{activeIndex:Z,setActiveIndex:Ce,activeItem:we}=Se;r.r({enabled:V,inside:[R,me],onDismiss:(e,t)=>Y(e===`escape`?`escape`:`outside-pointer`,t)}),t.n(()=>{!V||Z===-1||we()?.scrollIntoView?.({block:`nearest`})},[V,Z,we]);let Q=fe?de:w?.[`aria-labelledby`],Te=w?.[`aria-label`],[Ee,De]=(0,u.useState)();t.n(()=>{if(!V||Q||Te)return;let e=Array.from(z.current?.labels??[],e=>e.textContent?.trim()??``).filter(Boolean).join(` `)||void 0;e!==Ee&&De(e)},[V,Q,Te,Ee]);let Oe=Q?{"aria-labelledby":Q}:{"aria-label":Te??Ee},$=(e,t,n)=>{H(!0,{reason:n,event:t});let r=e===`none`?-1:p.activeIndexFor(J,B,g,e);Ce(r,{reason:`programmatic`,event:t})},ke=r.a(e=>{G(!0),U(e.target.value,{reason:`input`,event:e}),V||H(!0,{reason:`input`,event:e}),Ce(-1,{reason:`programmatic`,event:e})}),Ae=r.a((e,t)=>{ve(B.filter(t=>K(t)!==K(e)),{reason:`remove`,event:t})}),je=e=>{let{key:t}=e;if(t===`ArrowDown`||t===`ArrowUp`){e.preventDefault(),$(t===`ArrowUp`?`last`:e.altKey?`none`:`first`,e,`trigger`);return}t===`Escape`&&q!==``&&(G(!0),U(``,{reason:`clear`,event:e}))},Me=r.a(e=>{if(w?.onKeyDown?.(e),!(e.defaultPrevented||C)){if(e.key===`Backspace`&&M&&q===``&&B.length>0){Ae(B[B.length-1],e);return}if(!V){je(e);return}if(e.key===`Tab`){Z!==-1&&X(Z,e),Y(`tab`,e);return}if(e.altKey&&e.key===`ArrowUp`){e.preventDefault(),Z===-1?Y(`trigger`,e):X(Z,e);return}if(b.has(e.key)){Ce(-1,{reason:`programmatic`,event:e});return}Se.onKeyDown(e)}}),Ne=r.a(e=>{!C&&!V&&$(`first`,e,`trigger`)}),Pe=r.a(e=>{C||e.target===z.current||(e.preventDefault(),z.current?.focus(),V||$(`first`,e,`trigger`))}),Fe=J.length>0||E===!0||O!==null,Ie=V&&Z!==-1&&J.length>0?pe(Z):void 0,Le=(0,d.jsx)(n.default,{tag:`input`,component:`combobox.field`,ref:he,id:I,disabled:C,props:{...w,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":V,"aria-controls":V&&Fe?L:void 0,"aria-activedescendant":Ie,"aria-labelledby":Q,autoComplete:`off`,spellCheck:!1,type:`text`,value:q,placeholder:x,onChange:ke,onKeyDown:Me,onClick:Ne}}),Re=!te&&(0,d.jsx)(s.default,{component:`combobox.icon`,rotate:V?180:0,props:{"aria-hidden":!0},children:(0,d.jsx)(o.Svg,{viewBox:`0 0 10 6`,width:`0.6rem`,props:{fill:`none`},children:(0,d.jsx)(o.Path,{d:`m1 1 4 4 4-4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}),ze=S===void 0?null:B.map(e=>(0,d.jsx)(n.default,{tag:`input`,props:{type:`hidden`,name:S,value:String(K(e))}},K(e))),Be=Fe&&(0,d.jsx)(l.default,{present:V,children:e=>(0,d.jsx)(y,{presence:e,rows:J,def:g,display:g.display,selection:B,multiple:M,activeIndex:Z,optionId:pe,rowRef:e=>Se.itemProps(e).ref,onSelect:X,anchorRef:R,popupRef:me,listboxId:L,name:Oe,loading:E,loadingText:D,emptyText:O,createLabel:ne,virtualize:ie,variant:P.variant,itemsProps:ee})}),Ve=(0,d.jsxs)(s.default,{ref:R,component:`combobox`,ai:`center`,gap:1,flexWrap:`wrap`,...P,props:{onPointerDown:Pe},children:[ze,M&&(0,d.jsx)(m,{selection:B,def:g,display:g.display,removeLabel:re,onRemove:Ae,disabled:C,variant:P.variant}),Le,Re]});return fe?(0,d.jsxs)(s.default,{d:`column`,gap:1,width:`fit-content`,children:[(0,d.jsx)(n.default,{tag:`label`,component:`combobox.label`,id:de,...v,props:{htmlFor:I},children:_}),Ve,Be]}):(0,d.jsxs)(d.Fragment,{children:[Ve,Be]})}var S=(0,u.forwardRef)(x);S.displayName=`Combobox`,exports.ComboboxUtils=p,exports.default=S;
1
+ "use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../platform.cjs"),t=require("../effects.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../reporting.cjs"),o=require("./svg.cjs"),s=require("./flex.cjs"),c=require("./overlay.cjs"),l=require("./presence.cjs");let u=require("react"),d=require("react/jsx-runtime");var f;(function(e){function t(e,t){return typeof e==`function`?e(t):t[e]}e.read=t;function n(e,n){let r=t(e.label,n);return r==null?``:String(r)}e.labelOf=n;function r(e,r){return e.key===void 0?n(e,r):t(e.key,r)}e.keyOf=r;function i(e,n){return e.disabled!==void 0&&t(e.disabled,n)===!0}e.isDisabled=i;let a=/\p{M}/gu;function o(e){return e.normalize(`NFD`).replace(a,``).toLowerCase()}e.normalize=o;function s(e,t){return o(e).includes(o(t))}e.matches=s;function c(e,t,n){return t===``?e:e.filter(e=>s(n(e),t))}e.filterRows=c;function l(e){return e==null?[]:Array.isArray(e)?e:[e]}e.toArray=l;function u(e,t,n){let r=n(t);return e.some(e=>n(e)===r)}e.isSelected=u;function d(e,t,n,r){return n?u(e,t,r)?e.filter(e=>r(e)!==r(t)):[...e,t]:[t]}e.toggle=d;function f(e){let{data:t,def:r,query:i,filter:a,typed:s,createRow:c}=e,l=e=>n(r,e),u=(!s||a===!1?t:a(t,i,l)).map(e=>({kind:`option`,row:e}));return c&&i!==``&&!t.some(e=>o(l(e))===o(i))&&c(i)!==null&&u.push({kind:`create`,query:i}),u}e.rowsFor=f;function p(e,t){return t.kind===`option`&&i(e,t.row)}e.isRowDisabled=p;function m(e,t,n,i=`first`){let a=e=>r(n,e),o=e.findIndex(e=>e.kind===`option`&&u(t,e.row,a));if(o!==-1&&!p(n,e[o]))return o;let s=e.map((e,t)=>p(n,e)?-1:t).filter(e=>e!==-1);return(i===`last`?s[s.length-1]:s[0])??-1}e.activeIndexFor=m})(f||={});var p=f;function m(e){let{selection:t,def:n,display:r,removeLabel:i,onRemove:a,disabled:c,variant:l}=e;return(0,d.jsx)(d.Fragment,{children:t.map(e=>{let t=p.labelOf(n,e);return(0,d.jsxs)(s.default,{component:`combobox.chip`,variant:l,ai:`center`,gap:1,children:[r?.(e)??t,!c&&(0,d.jsx)(s.default,{tag:`button`,component:`combobox.remove`,variant:l,ai:`center`,jc:`center`,props:{type:`button`,tabIndex:-1,"aria-label":i(t),onMouseDown:e=>e.preventDefault(),onClick:t=>{t.stopPropagation(),a(e,t)}},children:(0,d.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`0.625rem`,props:{fill:`none`},children:(0,d.jsx)(o.Path,{d:`M6 6 18 18M18 6 6 18`,stroke:`currentColor`,strokeWidth:3,strokeLinecap:`round`})})})]},p.keyOf(n,e))})})}var h;(function(e){let t=e.DEFAULT_OVERSCAN=4,n=e.DEFAULT_THRESHOLD=100;e.DEFAULT_ITEM_HEIGHT=36,e.DEFAULT_VIEW_HEIGHT=248;function r(e,t,n){return Math.min(Math.max(e,t),n)}function i(e,t,r=n){return t??e>r}e.shouldVirtualize=i;function a(e){let{count:n,itemHeight:i,viewHeight:a,scrollTop:o,overscan:s=t,activeIndex:c=-1}=e;if(n<=0||i<=0)return{startIndex:0,endIndex:Math.max(0,n),offsetY:0,totalHeight:0};let l=Math.max(1,Math.ceil(a/i)),u=Math.min(n,l+s*2),d=n-u,f=r(Math.floor(o/i)-s,0,d);return c>=0&&c<n&&(c<f?f=r(c-s,0,d):c>=f+u&&(f=r(c+1+s-u,0,d))),{startIndex:f,endIndex:f+u,offsetY:f*i,totalHeight:n*i}}e.windowFor=a})(h||={});var g=h;function _(e){let{count:n,scrollerRef:i,itemHeight:a,viewHeight:o,overscan:s,threshold:c,enabled:l,activeIndex:d}=e,[f,p]=(0,u.useState)({top:0,at:-1}),[m,h]=(0,u.useState)({itemHeight:0,viewHeight:0}),_=(0,u.useRef)(null),v=(0,u.useCallback)(e=>{_.current=e},[]),y=g.shouldVirtualize(n,l,c),b=r.a(()=>{let e=i.current,t=_.current;if(!e||!t)return;let n=t.children,r=n[0],a=n[1],o=a?a.offsetTop-r.offsetTop:r?.offsetHeight??0,s=e.clientHeight;h(e=>e.itemHeight===o&&e.viewHeight===s?e:{itemHeight:o,viewHeight:s})});t.n(()=>{if(!y||(b(),typeof ResizeObserver>`u`))return;let e=i.current;if(!e)return;let t=new ResizeObserver(b);return t.observe(e),()=>t.disconnect()},[y,n,b,i]);let x=r.a(e=>{p({top:e.currentTarget.scrollTop,at:d??-1})}),S=g.windowFor({count:n,itemHeight:a??(m.itemHeight>0?m.itemHeight:g.DEFAULT_ITEM_HEIGHT),viewHeight:o??(m.viewHeight>0?m.viewHeight:g.DEFAULT_VIEW_HEIGHT),scrollTop:f.top,overscan:s,activeIndex:d===f.at?-1:d});return y?{...S,virtualized:y,contentRef:v,onScroll:x}:{startIndex:0,endIndex:n,offsetY:0,totalHeight:0,virtualized:y,contentRef:v,onScroll:x}}function v(e,t,n,r){return e?{role:`listbox`,...r,...t?{"aria-multiselectable":!0}:{},...n?{"aria-busy":!0}:{}}:{role:`status`}}function y(e){let{presence:t,rows:r,def:i,display:a,selection:o,multiple:l,activeIndex:f,optionId:m,rowRef:h,onSelect:g}=e,{anchorRef:y,popupRef:b,listboxId:x,name:S,loading:C,loadingText:w,emptyText:ee,createLabel:te,variant:T,itemsProps:E}=e,{virtualize:D}=e,{present:O,ref:k,props:ne}=t,A=e=>p.keyOf(i,e),[j,re]=(0,u.useState)(!1),ie=(0,u.useCallback)(e=>re(e===`top`),[]),ae=(0,u.useRef)(null),oe=(0,u.useCallback)(e=>{ae.current=e,k(e)},[k]),se=typeof D==`object`?D:{},{virtualized:M,startIndex:N,endIndex:P,offsetY:ce,totalHeight:le,contentRef:ue,onScroll:F}=_({count:r.length,scrollerRef:ae,enabled:typeof D==`boolean`?D:void 0,activeIndex:f,...se}),I=M?r.slice(N,P):r,L=(e,t)=>{let n=M?N+t:t,c=e.kind===`option`&&p.isSelected(o,e.row,A),l=p.isRowDisabled(i,e);return(0,d.jsx)(s.default,{ref:h(n),component:`combobox.item`,variant:[T,{create:e.kind===`create`,highlighted:n===f}],selected:c,ai:`center`,gap:2,id:m(n),props:{role:`option`,...M?{"aria-setsize":r.length,"aria-posinset":n+1}:{},...l?{"aria-disabled":!0}:{},onMouseDown:e=>e.preventDefault(),onClick:e=>!l&&g(n,e)},children:e.kind===`create`?te(e.query):a?.(e.row)??p.labelOf(i,e.row)},e.kind===`option`?A(e.row):`create`)};return(0,d.jsx)(c.default,{ref:b,anchor:y,side:`bottom`,align:`start`,offset:.5,matchWidth:!0,onSideChange:ie,children:(0,d.jsxs)(n.default,{ref:oe,component:`combobox.items`,...E,variant:[T,{closed:!O&&!j,closedUp:!O&&j}],id:x,props:{...v(r.length>0,l,C===!0,S),...ne,...M?{onScroll:F}:{}},children:[M?(0,d.jsx)(n.default,{ref:ue,component:`combobox.window`,variant:T,style:{height:le,paddingTop:ce},children:I.map(L)}):I.map(L),r.length===0&&(0,d.jsx)(n.default,{component:`combobox.message`,variant:T,children:C?w:ee})]})})}var b=new Set([` `,`Home`,`End`,`ArrowLeft`,`ArrowRight`]);function x(c,f){let{data:h,def:g,label:_,labelProps:v,placeholder:x,name:S,disabled:C,props:w,itemsProps:ee,hideIcon:te,filter:T=p.filterRows,loading:E,loadingText:D=`Loading...`,emptyText:O=`No results`,createRow:k,createLabel:ne=e=>`Create "${e}"`,removeLabel:A=e=>`Remove ${e}`,virtualize:j,query:re,defaultQuery:ie,onQueryChange:ae,open:oe,defaultOpen:se,onOpenChange:M,multiple:N=!1,value:P,defaultValue:ce,onValueChange:le,id:ue,...F}=c,I=i.t(`combobox`),L=ue??w?.id??`${I}-field`,de=`${I}-listbox`,fe=`${I}-label`,pe=_!=null&&_!==!1,me=(0,u.useCallback)(e=>`${I}-option-${e}`,[I]),R=(0,u.useRef)(null),he=(0,u.useRef)(null),z=(0,u.useRef)(null),ge=(0,u.useCallback)(t=>{z.current=t,e.d(f,t)},[f]),_e=r.a((e,t)=>{le?.(N?e:e[0]??null,t)}),ve=(0,u.useMemo)(()=>P===void 0?void 0:p.toArray(P),[P]),[B,ye]=a.a({value:ve,defaultValue:()=>p.toArray(ce),onChange:_e,interaction:{component:`combobox`,type:`valueChange`,content:[`value`]}}),[V,H]=a.a({value:oe,defaultValue:se??!1,onChange:M,interaction:{component:`combobox`,type:`openChange`}}),[be,U]=r.i({value:re,defaultValue:ie??``,onChange:ae}),[W,G]=(0,u.useState)(!1),K=(0,u.useCallback)(e=>p.keyOf(g,e),[g]),xe=N||B[0]===void 0?``:p.labelOf(g,B[0]),q=W||be!==``?be:xe,J=(0,u.useMemo)(()=>p.rowsFor({data:h,def:g,query:q,filter:T,typed:W,createRow:k}),[h,g,q,T,W,k]),Se=(0,u.useCallback)(e=>J[e]?p.isRowDisabled(g,J[e]):!1,[J,g]),Y=r.a((e,t)=>{H(!1,{reason:e,event:t}),e!==`escape`&&(G(!1),U(``,{reason:`close`,event:t}))}),X=r.a((e,t)=>{let n=J[e];if(!n||Se(e))return;let r=n.kind===`create`?k?.(n.query):n.row;if(r==null)return;let i=p.isSelected(B,r,K),a=n.kind===`create`?`create`:i&&N?`deselect`:`select`;ye(p.toggle(B,r,N,K),{reason:a,event:t}),G(!1),U(``,{reason:`select`,event:t}),N||H(!1,{reason:`select`,event:t})}),Ce=r.t({count:J.length,focusItems:!1,defaultActiveIndex:-1,isDisabled:Se,onSelect:X}),{activeIndex:Z,setActiveIndex:we,activeItem:Te}=Ce;r.r({enabled:V,inside:[R,he],onDismiss:(e,t)=>Y(e===`escape`?`escape`:`outside-pointer`,t)}),t.n(()=>{!V||Z===-1||Te()?.scrollIntoView?.({block:`nearest`})},[V,Z,Te]);let Q=pe?fe:w?.[`aria-labelledby`],Ee=w?.[`aria-label`],[De,Oe]=(0,u.useState)();t.n(()=>{if(!V||Q||Ee)return;let e=Array.from(z.current?.labels??[],e=>e.textContent?.trim()??``).filter(Boolean).join(` `)||void 0;e!==De&&Oe(e)},[V,Q,Ee,De]);let ke=Q?{"aria-labelledby":Q}:{"aria-label":Ee??De},$=(e,t,n)=>{H(!0,{reason:n,event:t});let r=e===`none`?-1:p.activeIndexFor(J,B,g,e);we(r,{reason:`programmatic`,event:t})},Ae=r.a(e=>{G(!0),U(e.target.value,{reason:`input`,event:e}),V||H(!0,{reason:`input`,event:e}),we(-1,{reason:`programmatic`,event:e})}),je=r.a((e,t)=>{ye(B.filter(t=>K(t)!==K(e)),{reason:`remove`,event:t})}),Me=e=>{let{key:t}=e;if(t===`ArrowDown`||t===`ArrowUp`){e.preventDefault(),$(t===`ArrowUp`?`last`:e.altKey?`none`:`first`,e,`trigger`);return}t===`Escape`&&q!==``&&(G(!0),U(``,{reason:`clear`,event:e}))},Ne=r.a(e=>{if(w?.onKeyDown?.(e),!(e.defaultPrevented||C)){if(e.key===`Backspace`&&N&&q===``&&B.length>0){je(B[B.length-1],e);return}if(!V){Me(e);return}if(e.key===`Tab`){Z!==-1&&X(Z,e),Y(`tab`,e);return}if(e.altKey&&e.key===`ArrowUp`){e.preventDefault(),Z===-1?Y(`trigger`,e):X(Z,e);return}if(b.has(e.key)){we(-1,{reason:`programmatic`,event:e});return}Ce.onKeyDown(e)}}),Pe=r.a(e=>{!C&&!V&&$(`first`,e,`trigger`)}),Fe=r.a(e=>{C||e.target===z.current||(e.preventDefault(),z.current?.focus(),V||$(`first`,e,`trigger`))}),Ie=J.length>0||E===!0||O!==null,Le=V&&Z!==-1&&J.length>0?me(Z):void 0,Re=(0,d.jsx)(n.default,{tag:`input`,component:`combobox.field`,ref:ge,id:L,disabled:C,props:{...w,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":V,"aria-controls":V&&Ie?de:void 0,"aria-activedescendant":Le,"aria-labelledby":Q,autoComplete:`off`,spellCheck:!1,type:`text`,value:q,placeholder:x,onChange:Ae,onKeyDown:Ne,onClick:Pe}}),ze=!te&&(0,d.jsx)(s.default,{component:`combobox.icon`,rotate:V?180:0,props:{"aria-hidden":!0},children:(0,d.jsx)(o.Svg,{viewBox:`0 0 10 6`,width:`0.6rem`,props:{fill:`none`},children:(0,d.jsx)(o.Path,{d:`m1 1 4 4 4-4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}),Be=S===void 0?null:B.map(e=>(0,d.jsx)(n.default,{tag:`input`,props:{type:`hidden`,name:S,value:String(K(e))}},K(e))),Ve=Ie&&(0,d.jsx)(l.default,{present:V,children:e=>(0,d.jsx)(y,{presence:e,rows:J,def:g,display:g.display,selection:B,multiple:N,activeIndex:Z,optionId:me,rowRef:e=>Ce.itemProps(e).ref,onSelect:X,anchorRef:R,popupRef:he,listboxId:de,name:ke,loading:E,loadingText:D,emptyText:O,createLabel:ne,virtualize:j,variant:F.variant,itemsProps:ee})}),He=(0,d.jsxs)(s.default,{ref:R,component:`combobox`,ai:`center`,gap:1,flexWrap:`wrap`,...F,props:{onPointerDown:Fe},children:[Be,N&&(0,d.jsx)(m,{selection:B,def:g,display:g.display,removeLabel:A,onRemove:je,disabled:C,variant:F.variant}),Re,ze]});return pe?(0,d.jsxs)(s.default,{d:`column`,gap:1,width:`fit-content`,children:[(0,d.jsx)(n.default,{tag:`label`,component:`combobox.label`,id:fe,...v,props:{htmlFor:L},children:_}),He,Ve]}):(0,d.jsxs)(d.Fragment,{children:[He,Ve]})}var S=(0,u.forwardRef)(x);S.displayName=`Combobox`,exports.ComboboxUtils=p,exports.default=S;