@pos-360/horizon 0.30.2 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkNTUQQDCL_js = require('./chunk-NTUQQDCL.js');
4
- var React10 = require('react');
3
+ var chunkD2BLWOWK_js = require('./chunk-D2BLWOWK.js');
4
+ var React11 = require('react');
5
5
  var reactSlot = require('@radix-ui/react-slot');
6
6
  var classVarianceAuthority = require('class-variance-authority');
7
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -36,7 +36,7 @@ function _interopNamespace(e) {
36
36
  return Object.freeze(n);
37
37
  }
38
38
 
39
- var React10__namespace = /*#__PURE__*/_interopNamespace(React10);
39
+ var React11__namespace = /*#__PURE__*/_interopNamespace(React11);
40
40
  var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
41
41
  var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
42
42
  var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(DropdownMenuPrimitive);
@@ -72,7 +72,7 @@ var buttonVariants = classVarianceAuthority.cva(
72
72
  }
73
73
  }
74
74
  );
75
- var Button = React10__namespace.forwardRef(
75
+ var Button = React11__namespace.forwardRef(
76
76
  ({
77
77
  className,
78
78
  variant,
@@ -88,7 +88,7 @@ var Button = React10__namespace.forwardRef(
88
88
  return /* @__PURE__ */ jsxRuntime.jsx(
89
89
  Comp,
90
90
  {
91
- className: chunkNTUQQDCL_js.cn(buttonVariants({ variant, size, className })),
91
+ className: chunkD2BLWOWK_js.cn(buttonVariants({ variant, size, className })),
92
92
  ref,
93
93
  ...props,
94
94
  children
@@ -99,7 +99,7 @@ var Button = React10__namespace.forwardRef(
99
99
  return /* @__PURE__ */ jsxRuntime.jsxs(
100
100
  Comp,
101
101
  {
102
- className: chunkNTUQQDCL_js.cn(buttonVariants({ variant, size, className })),
102
+ className: chunkD2BLWOWK_js.cn(buttonVariants({ variant, size, className })),
103
103
  ref,
104
104
  ...props,
105
105
  children: [
@@ -112,11 +112,11 @@ var Button = React10__namespace.forwardRef(
112
112
  }
113
113
  );
114
114
  Button.displayName = "Button";
115
- var Card = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
115
+ var Card = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
116
116
  "div",
117
117
  {
118
118
  ref,
119
- className: chunkNTUQQDCL_js.cn(
119
+ className: chunkD2BLWOWK_js.cn(
120
120
  "rounded-hz-lg border border-gray-200 bg-white text-gray-900 shadow dark:border-neutral-700 dark:bg-neutral-800 dark:text-gray-100",
121
121
  className
122
122
  ),
@@ -124,56 +124,56 @@ var Card = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @_
124
124
  }
125
125
  ));
126
126
  Card.displayName = "Card";
127
- var CardHeader = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
127
+ var CardHeader = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
128
128
  "div",
129
129
  {
130
130
  ref,
131
- className: chunkNTUQQDCL_js.cn("flex flex-col space-y-1.5 p-4", className),
131
+ className: chunkD2BLWOWK_js.cn("flex flex-col space-y-1.5 p-4", className),
132
132
  ...props
133
133
  }
134
134
  ));
135
135
  CardHeader.displayName = "CardHeader";
136
- var CardTitle = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
136
+ var CardTitle = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
137
137
  "div",
138
138
  {
139
139
  ref,
140
- className: chunkNTUQQDCL_js.cn("font-semibold leading-none tracking-tight", className),
140
+ className: chunkD2BLWOWK_js.cn("font-semibold leading-none tracking-tight", className),
141
141
  ...props
142
142
  }
143
143
  ));
144
144
  CardTitle.displayName = "CardTitle";
145
- var CardDescription = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
145
+ var CardDescription = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
146
146
  "div",
147
147
  {
148
148
  ref,
149
- className: chunkNTUQQDCL_js.cn("text-sm text-gray-500 dark:text-gray-400", className),
149
+ className: chunkD2BLWOWK_js.cn("text-sm text-gray-500 dark:text-gray-400", className),
150
150
  ...props
151
151
  }
152
152
  ));
153
153
  CardDescription.displayName = "CardDescription";
154
- var CardContent = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
154
+ var CardContent = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
155
155
  "div",
156
156
  {
157
157
  ref,
158
- className: chunkNTUQQDCL_js.cn("p-4 pt-0", className),
158
+ className: chunkD2BLWOWK_js.cn("p-4 pt-0", className),
159
159
  ...props
160
160
  }
161
161
  ));
162
162
  CardContent.displayName = "CardContent";
163
- var CardFooter = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
163
+ var CardFooter = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
164
164
  "div",
165
165
  {
166
166
  ref,
167
- className: chunkNTUQQDCL_js.cn("flex items-center p-4 pt-0", className),
167
+ className: chunkD2BLWOWK_js.cn("flex items-center p-4 pt-0", className),
168
168
  ...props
169
169
  }
170
170
  ));
171
171
  CardFooter.displayName = "CardFooter";
172
- var Checkbox = React10__namespace.forwardRef(({ className, indicatorIcon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
172
+ var Checkbox = React11__namespace.forwardRef(({ className, indicatorIcon, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
173
173
  CheckboxPrimitive__namespace.Root,
174
174
  {
175
175
  ref,
176
- className: chunkNTUQQDCL_js.cn(
176
+ className: chunkD2BLWOWK_js.cn(
177
177
  "peer h-4 w-4 shrink-0 rounded-hz-sm border border-gray-300 bg-transparent shadow focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-600 data-[state=checked]:border-blue-600 data-[state=checked]:text-white dark:border-neutral-600 dark:data-[state=checked]:bg-blue-600",
178
178
  className
179
179
  ),
@@ -181,7 +181,7 @@ var Checkbox = React10__namespace.forwardRef(({ className, indicatorIcon, ...pro
181
181
  children: /* @__PURE__ */ jsxRuntime.jsx(
182
182
  CheckboxPrimitive__namespace.Indicator,
183
183
  {
184
- className: chunkNTUQQDCL_js.cn("flex items-center justify-center text-current"),
184
+ className: chunkD2BLWOWK_js.cn("flex items-center justify-center text-current"),
185
185
  children: indicatorIcon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-3.5 w-3.5", strokeWidth: 3 })
186
186
  }
187
187
  )
@@ -192,11 +192,11 @@ var Dialog = DialogPrimitive__namespace.Root;
192
192
  var DialogTrigger = DialogPrimitive__namespace.Trigger;
193
193
  var DialogPortal = DialogPrimitive__namespace.Portal;
194
194
  var DialogClose = DialogPrimitive__namespace.Close;
195
- var DialogOverlay = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
195
+ var DialogOverlay = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
196
196
  DialogPrimitive__namespace.Overlay,
197
197
  {
198
198
  ref,
199
- className: chunkNTUQQDCL_js.cn(
199
+ className: chunkD2BLWOWK_js.cn(
200
200
  "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
201
201
  className
202
202
  ),
@@ -204,13 +204,13 @@ var DialogOverlay = React10__namespace.forwardRef(({ className, ...props }, ref)
204
204
  }
205
205
  ));
206
206
  DialogOverlay.displayName = DialogPrimitive__namespace.Overlay.displayName;
207
- var DialogContent = React10__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
207
+ var DialogContent = React11__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
208
208
  /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, {}),
209
209
  /* @__PURE__ */ jsxRuntime.jsxs(
210
210
  DialogPrimitive__namespace.Content,
211
211
  {
212
212
  ref,
213
- className: chunkNTUQQDCL_js.cn(
213
+ className: chunkD2BLWOWK_js.cn(
214
214
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-hz-normal data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-hz-lg dark:border-neutral-700 dark:bg-neutral-800",
215
215
  className
216
216
  ),
@@ -232,7 +232,7 @@ var DialogHeader = ({
232
232
  }) => /* @__PURE__ */ jsxRuntime.jsx(
233
233
  "div",
234
234
  {
235
- className: chunkNTUQQDCL_js.cn(
235
+ className: chunkD2BLWOWK_js.cn(
236
236
  "flex flex-col space-y-1.5 text-center sm:text-left",
237
237
  className
238
238
  ),
@@ -246,7 +246,7 @@ var DialogFooter = ({
246
246
  }) => /* @__PURE__ */ jsxRuntime.jsx(
247
247
  "div",
248
248
  {
249
- className: chunkNTUQQDCL_js.cn(
249
+ className: chunkD2BLWOWK_js.cn(
250
250
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
251
251
  className
252
252
  ),
@@ -254,11 +254,11 @@ var DialogFooter = ({
254
254
  }
255
255
  );
256
256
  DialogFooter.displayName = "DialogFooter";
257
- var DialogTitle = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
257
+ var DialogTitle = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
258
258
  DialogPrimitive__namespace.Title,
259
259
  {
260
260
  ref,
261
- className: chunkNTUQQDCL_js.cn(
261
+ className: chunkD2BLWOWK_js.cn(
262
262
  "text-lg font-semibold leading-none tracking-tight text-gray-900 dark:text-gray-100",
263
263
  className
264
264
  ),
@@ -266,11 +266,11 @@ var DialogTitle = React10__namespace.forwardRef(({ className, ...props }, ref) =
266
266
  }
267
267
  ));
268
268
  DialogTitle.displayName = DialogPrimitive__namespace.Title.displayName;
269
- var DialogDescription = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
269
+ var DialogDescription = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
270
270
  DialogPrimitive__namespace.Description,
271
271
  {
272
272
  ref,
273
- className: chunkNTUQQDCL_js.cn("text-sm text-gray-500 dark:text-gray-400", className),
273
+ className: chunkD2BLWOWK_js.cn("text-sm text-gray-500 dark:text-gray-400", className),
274
274
  ...props
275
275
  }
276
276
  ));
@@ -281,11 +281,11 @@ var DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
281
281
  var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
282
282
  var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
283
283
  var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
284
- var DropdownMenuSubTrigger = React10__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
284
+ var DropdownMenuSubTrigger = React11__namespace.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
285
285
  DropdownMenuPrimitive__namespace.SubTrigger,
286
286
  {
287
287
  ref,
288
- className: chunkNTUQQDCL_js.cn(
288
+ className: chunkD2BLWOWK_js.cn(
289
289
  "flex cursor-default select-none items-center gap-2 rounded-hz-sm px-2 py-1.5 text-sm outline-none focus:bg-gray-100 data-[state=open]:bg-gray-100 dark:focus:bg-gray-700 dark:data-[state=open]:bg-gray-700 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
290
290
  inset && "pl-8",
291
291
  className
@@ -298,11 +298,11 @@ var DropdownMenuSubTrigger = React10__namespace.forwardRef(({ className, inset,
298
298
  }
299
299
  ));
300
300
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive__namespace.SubTrigger.displayName;
301
- var DropdownMenuSubContent = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
301
+ var DropdownMenuSubContent = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
302
302
  DropdownMenuPrimitive__namespace.SubContent,
303
303
  {
304
304
  ref,
305
- className: chunkNTUQQDCL_js.cn(
305
+ className: chunkD2BLWOWK_js.cn(
306
306
  "z-50 min-w-[8rem] overflow-hidden rounded-hz-md border border-gray-200 bg-white p-1 text-gray-900 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin] dark:border-neutral-700 dark:bg-neutral-800 dark:text-gray-100",
307
307
  className
308
308
  ),
@@ -310,12 +310,12 @@ var DropdownMenuSubContent = React10__namespace.forwardRef(({ className, ...prop
310
310
  }
311
311
  ));
312
312
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
313
- var DropdownMenuContent = React10__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
313
+ var DropdownMenuContent = React11__namespace.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
314
314
  DropdownMenuPrimitive__namespace.Content,
315
315
  {
316
316
  ref,
317
317
  sideOffset,
318
- className: chunkNTUQQDCL_js.cn(
318
+ className: chunkD2BLWOWK_js.cn(
319
319
  "z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-hz-md border border-gray-200 bg-white p-1 text-gray-900 shadow-md dark:border-neutral-700 dark:bg-neutral-800 dark:text-gray-100",
320
320
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-dropdown-menu-content-transform-origin]",
321
321
  className
@@ -324,11 +324,11 @@ var DropdownMenuContent = React10__namespace.forwardRef(({ className, sideOffset
324
324
  }
325
325
  ) }));
326
326
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
327
- var DropdownMenuItem = React10__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
327
+ var DropdownMenuItem = React11__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
328
328
  DropdownMenuPrimitive__namespace.Item,
329
329
  {
330
330
  ref,
331
- className: chunkNTUQQDCL_js.cn(
331
+ className: chunkD2BLWOWK_js.cn(
332
332
  "relative flex cursor-default select-none items-center gap-2 rounded-hz-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-700 dark:focus:text-gray-100 [&>svg]:size-4 [&>svg]:shrink-0",
333
333
  inset && "pl-8",
334
334
  className
@@ -337,11 +337,11 @@ var DropdownMenuItem = React10__namespace.forwardRef(({ className, inset, ...pro
337
337
  }
338
338
  ));
339
339
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
340
- var DropdownMenuCheckboxItem = React10__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
340
+ var DropdownMenuCheckboxItem = React11__namespace.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
341
341
  DropdownMenuPrimitive__namespace.CheckboxItem,
342
342
  {
343
343
  ref,
344
- className: chunkNTUQQDCL_js.cn(
344
+ className: chunkD2BLWOWK_js.cn(
345
345
  "relative flex cursor-default select-none items-center rounded-hz-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-700 dark:focus:text-gray-100",
346
346
  className
347
347
  ),
@@ -354,11 +354,11 @@ var DropdownMenuCheckboxItem = React10__namespace.forwardRef(({ className, child
354
354
  }
355
355
  ));
356
356
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive__namespace.CheckboxItem.displayName;
357
- var DropdownMenuRadioItem = React10__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
357
+ var DropdownMenuRadioItem = React11__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
358
358
  DropdownMenuPrimitive__namespace.RadioItem,
359
359
  {
360
360
  ref,
361
- className: chunkNTUQQDCL_js.cn(
361
+ className: chunkD2BLWOWK_js.cn(
362
362
  "relative flex cursor-default select-none items-center rounded-hz-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-gray-700 dark:focus:text-gray-100",
363
363
  className
364
364
  ),
@@ -370,11 +370,11 @@ var DropdownMenuRadioItem = React10__namespace.forwardRef(({ className, children
370
370
  }
371
371
  ));
372
372
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive__namespace.RadioItem.displayName;
373
- var DropdownMenuLabel = React10__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
373
+ var DropdownMenuLabel = React11__namespace.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
374
374
  DropdownMenuPrimitive__namespace.Label,
375
375
  {
376
376
  ref,
377
- className: chunkNTUQQDCL_js.cn(
377
+ className: chunkD2BLWOWK_js.cn(
378
378
  "px-2 py-1.5 text-sm font-semibold",
379
379
  inset && "pl-8",
380
380
  className
@@ -383,11 +383,11 @@ var DropdownMenuLabel = React10__namespace.forwardRef(({ className, inset, ...pr
383
383
  }
384
384
  ));
385
385
  DropdownMenuLabel.displayName = DropdownMenuPrimitive__namespace.Label.displayName;
386
- var DropdownMenuSeparator = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
386
+ var DropdownMenuSeparator = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
387
387
  DropdownMenuPrimitive__namespace.Separator,
388
388
  {
389
389
  ref,
390
- className: chunkNTUQQDCL_js.cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-neutral-700", className),
390
+ className: chunkD2BLWOWK_js.cn("-mx-1 my-1 h-px bg-gray-100 dark:bg-neutral-700", className),
391
391
  ...props
392
392
  }
393
393
  ));
@@ -399,25 +399,25 @@ var DropdownMenuShortcut = ({
399
399
  return /* @__PURE__ */ jsxRuntime.jsx(
400
400
  "span",
401
401
  {
402
- className: chunkNTUQQDCL_js.cn("ml-auto text-xs tracking-widest opacity-60", className),
402
+ className: chunkD2BLWOWK_js.cn("ml-auto text-xs tracking-widest opacity-60", className),
403
403
  ...props
404
404
  }
405
405
  );
406
406
  };
407
407
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
408
- var FormContext = React10__namespace.createContext(null);
408
+ var FormContext = React11__namespace.createContext(null);
409
409
  function useFormContext() {
410
- const context = React10__namespace.useContext(FormContext);
410
+ const context = React11__namespace.useContext(FormContext);
411
411
  if (!context) {
412
412
  throw new Error("useFormContext must be used within a Form component");
413
413
  }
414
414
  return context;
415
415
  }
416
- var FormFieldContext = React10__namespace.createContext(
416
+ var FormFieldContext = React11__namespace.createContext(
417
417
  null
418
418
  );
419
419
  function useFormFieldContext() {
420
- const context = React10__namespace.useContext(FormFieldContext);
420
+ const context = React11__namespace.useContext(FormFieldContext);
421
421
  if (!context) {
422
422
  throw new Error(
423
423
  "useFormFieldContext must be used within a FormField component"
@@ -425,24 +425,24 @@ function useFormFieldContext() {
425
425
  }
426
426
  return context;
427
427
  }
428
- var Form = React10__namespace.forwardRef(
428
+ var Form = React11__namespace.forwardRef(
429
429
  ({ className, children, onFormSubmit, ...props }, ref) => {
430
- const [errors, setErrors] = React10__namespace.useState({});
431
- const [isSubmitting, setIsSubmitting] = React10__namespace.useState(false);
432
- const setError = React10__namespace.useCallback(
430
+ const [errors, setErrors] = React11__namespace.useState({});
431
+ const [isSubmitting, setIsSubmitting] = React11__namespace.useState(false);
432
+ const setError = React11__namespace.useCallback(
433
433
  (name, message) => {
434
434
  setErrors((prev) => ({ ...prev, [name]: message }));
435
435
  },
436
436
  []
437
437
  );
438
- const clearError = React10__namespace.useCallback((name) => {
438
+ const clearError = React11__namespace.useCallback((name) => {
439
439
  setErrors((prev) => {
440
440
  const next = { ...prev };
441
441
  delete next[name];
442
442
  return next;
443
443
  });
444
444
  }, []);
445
- const clearAllErrors = React10__namespace.useCallback(() => {
445
+ const clearAllErrors = React11__namespace.useCallback(() => {
446
446
  setErrors({});
447
447
  }, []);
448
448
  const isValid = Object.keys(errors).length === 0;
@@ -461,7 +461,7 @@ var Form = React10__namespace.forwardRef(
461
461
  }
462
462
  }
463
463
  };
464
- const contextValue = React10__namespace.useMemo(
464
+ const contextValue = React11__namespace.useMemo(
465
465
  () => ({
466
466
  errors,
467
467
  setError,
@@ -476,7 +476,7 @@ var Form = React10__namespace.forwardRef(
476
476
  "form",
477
477
  {
478
478
  ref,
479
- className: chunkNTUQQDCL_js.cn("space-y-6", className),
479
+ className: chunkD2BLWOWK_js.cn("space-y-6", className),
480
480
  onSubmit: handleSubmit,
481
481
  ...props,
482
482
  children
@@ -485,36 +485,36 @@ var Form = React10__namespace.forwardRef(
485
485
  }
486
486
  );
487
487
  Form.displayName = "Form";
488
- var FormField = React10__namespace.forwardRef(
488
+ var FormField = React11__namespace.forwardRef(
489
489
  ({ className, name, children, ...props }, ref) => {
490
490
  const { errors } = useFormContext();
491
- const id = React10__namespace.useId();
491
+ const id = React11__namespace.useId();
492
492
  const error = errors[name];
493
- const contextValue = React10__namespace.useMemo(
493
+ const contextValue = React11__namespace.useMemo(
494
494
  () => ({ name, error, id }),
495
495
  [name, error, id]
496
496
  );
497
- return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkNTUQQDCL_js.cn("space-y-2", className), ...props, children }) });
497
+ return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkD2BLWOWK_js.cn("space-y-2", className), ...props, children }) });
498
498
  }
499
499
  );
500
500
  FormField.displayName = "FormField";
501
- var FormLabel = React10__namespace.forwardRef(({ className, ...props }, ref) => {
501
+ var FormLabel = React11__namespace.forwardRef(({ className, ...props }, ref) => {
502
502
  const { id, error } = useFormFieldContext();
503
503
  return /* @__PURE__ */ jsxRuntime.jsx(
504
- chunkNTUQQDCL_js.Label,
504
+ chunkD2BLWOWK_js.Label,
505
505
  {
506
506
  ref,
507
507
  htmlFor: id,
508
- className: chunkNTUQQDCL_js.cn(error && "text-rose-500 dark:text-rose-400", className),
508
+ className: chunkD2BLWOWK_js.cn(error && "text-rose-500 dark:text-rose-400", className),
509
509
  ...props
510
510
  }
511
511
  );
512
512
  });
513
513
  FormLabel.displayName = "FormLabel";
514
- var FormControl = React10__namespace.forwardRef(
514
+ var FormControl = React11__namespace.forwardRef(
515
515
  ({ children, ...props }, ref) => {
516
516
  const { id, error, name } = useFormFieldContext();
517
- const child = React10__namespace.cloneElement(children, {
517
+ const child = React11__namespace.cloneElement(children, {
518
518
  id,
519
519
  name,
520
520
  "aria-invalid": !!error,
@@ -525,13 +525,13 @@ var FormControl = React10__namespace.forwardRef(
525
525
  }
526
526
  );
527
527
  FormControl.displayName = "FormControl";
528
- var FormDescription = React10__namespace.forwardRef(
528
+ var FormDescription = React11__namespace.forwardRef(
529
529
  ({ className, ...props }, ref) => {
530
530
  return /* @__PURE__ */ jsxRuntime.jsx(
531
531
  "span",
532
532
  {
533
533
  ref,
534
- className: chunkNTUQQDCL_js.cn(
534
+ className: chunkD2BLWOWK_js.cn(
535
535
  "block text-sm text-neutral-500 dark:text-neutral-400",
536
536
  className
537
537
  ),
@@ -541,9 +541,9 @@ var FormDescription = React10__namespace.forwardRef(
541
541
  }
542
542
  );
543
543
  FormDescription.displayName = "FormDescription";
544
- var FormMessage = React10__namespace.forwardRef(
544
+ var FormMessage = React11__namespace.forwardRef(
545
545
  ({ className, children, error: errorProp, ...props }, ref) => {
546
- const fieldContext = React10__namespace.useContext(FormFieldContext);
546
+ const fieldContext = React11__namespace.useContext(FormFieldContext);
547
547
  const error = errorProp ?? fieldContext?.error;
548
548
  const id = fieldContext?.id;
549
549
  if (!error && !children) {
@@ -554,7 +554,7 @@ var FormMessage = React10__namespace.forwardRef(
554
554
  {
555
555
  ref,
556
556
  id: id ? `${id}-error` : void 0,
557
- className: chunkNTUQQDCL_js.cn(
557
+ className: chunkD2BLWOWK_js.cn(
558
558
  "text-sm font-medium",
559
559
  error ? "text-rose-500 dark:text-rose-400" : "text-neutral-600 dark:text-neutral-400",
560
560
  className
@@ -567,14 +567,14 @@ var FormMessage = React10__namespace.forwardRef(
567
567
  }
568
568
  );
569
569
  FormMessage.displayName = "FormMessage";
570
- var PopoverContext = React10__namespace.createContext({ open: false });
570
+ var PopoverContext = React11__namespace.createContext({ open: false });
571
571
  var Popover = ({
572
572
  children,
573
573
  open: controlledOpen,
574
574
  onOpenChange,
575
575
  ...props
576
576
  }) => {
577
- const [uncontrolledOpen, setUncontrolledOpen] = React10__namespace.useState(false);
577
+ const [uncontrolledOpen, setUncontrolledOpen] = React11__namespace.useState(false);
578
578
  const isControlled = controlledOpen !== void 0;
579
579
  const open = isControlled ? controlledOpen : uncontrolledOpen;
580
580
  const handleOpenChange = (newOpen) => {
@@ -595,8 +595,8 @@ var Popover = ({
595
595
  };
596
596
  var PopoverTrigger = PopoverPrimitive__namespace.Trigger;
597
597
  var PopoverAnchor = PopoverPrimitive__namespace.Anchor;
598
- var PopoverContent = React10__namespace.forwardRef(({ className, align = "center", sideOffset = 4, children, ...props }, ref) => {
599
- const { open } = React10__namespace.useContext(PopoverContext);
598
+ var PopoverContent = React11__namespace.forwardRef(({ className, align = "center", sideOffset = 4, children, ...props }, ref) => {
599
+ const { open } = React11__namespace.useContext(PopoverContext);
600
600
  const {
601
601
  onOpenAutoFocus,
602
602
  onCloseAutoFocus,
@@ -645,7 +645,7 @@ var PopoverContent = React10__namespace.forwardRef(({ className, align = "center
645
645
  damping: 25,
646
646
  mass: 0.8
647
647
  },
648
- className: chunkNTUQQDCL_js.cn(
648
+ className: chunkD2BLWOWK_js.cn(
649
649
  "z-50 w-72 rounded-md border border-white/20 bg-white/80 backdrop-blur-xl p-4 text-gray-900 shadow-lg outline-none dark:border-neutral-700/50 dark:bg-neutral-900/80 dark:text-neutral-100 origin-[--radix-popover-content-transform-origin]",
650
650
  className
651
651
  ),
@@ -656,15 +656,15 @@ var PopoverContent = React10__namespace.forwardRef(({ className, align = "center
656
656
  ) }) });
657
657
  });
658
658
  PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
659
- var SelectContext = React10__namespace.createContext({ open: false });
660
- var SelectSearchContext = React10__namespace.createContext("");
659
+ var SelectContext = React11__namespace.createContext({ open: false });
660
+ var SelectSearchContext = React11__namespace.createContext("");
661
661
  var Select = ({
662
662
  children,
663
663
  open: controlledOpen,
664
664
  onOpenChange,
665
665
  ...props
666
666
  }) => {
667
- const [uncontrolledOpen, setUncontrolledOpen] = React10__namespace.useState(false);
667
+ const [uncontrolledOpen, setUncontrolledOpen] = React11__namespace.useState(false);
668
668
  const isControlled = controlledOpen !== void 0;
669
669
  const open = isControlled ? controlledOpen : uncontrolledOpen;
670
670
  const handleOpenChange = (newOpen) => {
@@ -684,13 +684,13 @@ var Select = ({
684
684
  ) });
685
685
  };
686
686
  var SelectGroup = SelectPrimitive__namespace.Group;
687
- var SelectValue = React10__namespace.forwardRef(({ children, placeholder, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { ref, placeholder, ...props, children }));
687
+ var SelectValue = React11__namespace.forwardRef(({ children, placeholder, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SelectPrimitive__namespace.Value, { ref, placeholder, ...props, children }));
688
688
  SelectValue.displayName = SelectPrimitive__namespace.Value.displayName;
689
- var SelectTrigger = React10__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
689
+ var SelectTrigger = React11__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
690
690
  SelectPrimitive__namespace.Trigger,
691
691
  {
692
692
  ref,
693
- className: chunkNTUQQDCL_js.cn(
693
+ className: chunkD2BLWOWK_js.cn(
694
694
  "flex h-[52px] w-full items-center justify-between rounded-hz-md border border-gray-300 bg-white px-4 py-2 text-sm text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-600 dark:bg-neutral-800 dark:text-gray-100 dark:placeholder:text-gray-500 [&>span]:line-clamp-1",
695
695
  className
696
696
  ),
@@ -702,11 +702,11 @@ var SelectTrigger = React10__namespace.forwardRef(({ className, children, ...pro
702
702
  }
703
703
  ));
704
704
  SelectTrigger.displayName = SelectPrimitive__namespace.Trigger.displayName;
705
- var SelectScrollUpButton = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
705
+ var SelectScrollUpButton = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
706
706
  SelectPrimitive__namespace.ScrollUpButton,
707
707
  {
708
708
  ref,
709
- className: chunkNTUQQDCL_js.cn(
709
+ className: chunkD2BLWOWK_js.cn(
710
710
  "flex cursor-default items-center justify-center py-1",
711
711
  className
712
712
  ),
@@ -715,11 +715,11 @@ var SelectScrollUpButton = React10__namespace.forwardRef(({ className, ...props
715
715
  }
716
716
  ));
717
717
  SelectScrollUpButton.displayName = SelectPrimitive__namespace.ScrollUpButton.displayName;
718
- var SelectScrollDownButton = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
718
+ var SelectScrollDownButton = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
719
719
  SelectPrimitive__namespace.ScrollDownButton,
720
720
  {
721
721
  ref,
722
- className: chunkNTUQQDCL_js.cn(
722
+ className: chunkD2BLWOWK_js.cn(
723
723
  "flex cursor-default items-center justify-center py-1",
724
724
  className
725
725
  ),
@@ -728,11 +728,11 @@ var SelectScrollDownButton = React10__namespace.forwardRef(({ className, ...prop
728
728
  }
729
729
  ));
730
730
  SelectScrollDownButton.displayName = SelectPrimitive__namespace.ScrollDownButton.displayName;
731
- var SelectContent = React10__namespace.forwardRef(({ className, children, position = "popper", searchable = false, searchPlaceholder = "Search...", ...props }, ref) => {
732
- const { open } = React10__namespace.useContext(SelectContext);
733
- const [search, setSearch] = React10__namespace.useState("");
734
- const searchInputRef = React10__namespace.useRef(null);
735
- React10__namespace.useEffect(() => {
731
+ var SelectContent = React11__namespace.forwardRef(({ className, children, position = "popper", searchable = false, searchPlaceholder = "Search...", ...props }, ref) => {
732
+ const { open } = React11__namespace.useContext(SelectContext);
733
+ const [search, setSearch] = React11__namespace.useState("");
734
+ const searchInputRef = React11__namespace.useRef(null);
735
+ React11__namespace.useEffect(() => {
736
736
  if (open && searchable) {
737
737
  const frame = requestAnimationFrame(() => {
738
738
  searchInputRef.current?.focus();
@@ -758,7 +758,7 @@ var SelectContent = React10__namespace.forwardRef(({ className, children, positi
758
758
  } = props;
759
759
  const ForceMountPortal = SelectPrimitive__namespace.Portal;
760
760
  const ForceMountContent = SelectPrimitive__namespace.Content;
761
- const AnimatedContent = React10__namespace.useMemo(() => React10__namespace.forwardRef(({ forceMount: _, ...props2 }, ref2) => /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { ref: ref2, ...props2 })), []);
761
+ const AnimatedContent = React11__namespace.useMemo(() => React11__namespace.forwardRef(({ forceMount: _, ...props2 }, ref2) => /* @__PURE__ */ jsxRuntime.jsx(framerMotion.motion.div, { ref: ref2, ...props2 })), []);
762
762
  return /* @__PURE__ */ jsxRuntime.jsx(ForceMountPortal, { forceMount: true, children: /* @__PURE__ */ jsxRuntime.jsx(
763
763
  ForceMountContent,
764
764
  {
@@ -790,7 +790,7 @@ var SelectContent = React10__namespace.forwardRef(({ className, children, positi
790
790
  damping: 25,
791
791
  mass: 0.8
792
792
  },
793
- className: chunkNTUQQDCL_js.cn(
793
+ className: chunkD2BLWOWK_js.cn(
794
794
  "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-hidden rounded-hz-lg border border-white/20 bg-white/80 backdrop-blur-xl text-gray-900 shadow-lg dark:border-neutral-700/50 dark:bg-neutral-900/80 dark:text-gray-100 origin-[--radix-select-content-transform-origin]",
795
795
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
796
796
  className
@@ -815,7 +815,7 @@ var SelectContent = React10__namespace.forwardRef(({ className, children, positi
815
815
  /* @__PURE__ */ jsxRuntime.jsx(
816
816
  SelectPrimitive__namespace.Viewport,
817
817
  {
818
- className: chunkNTUQQDCL_js.cn(
818
+ className: chunkD2BLWOWK_js.cn(
819
819
  "p-1",
820
820
  position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
821
821
  ),
@@ -831,17 +831,17 @@ var SelectContent = React10__namespace.forwardRef(({ className, children, positi
831
831
  ) });
832
832
  });
833
833
  SelectContent.displayName = SelectPrimitive__namespace.Content.displayName;
834
- var SelectLabel = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
834
+ var SelectLabel = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
835
835
  SelectPrimitive__namespace.Label,
836
836
  {
837
837
  ref,
838
- className: chunkNTUQQDCL_js.cn("px-2 py-1.5 text-sm font-semibold", className),
838
+ className: chunkD2BLWOWK_js.cn("px-2 py-1.5 text-sm font-semibold", className),
839
839
  ...props
840
840
  }
841
841
  ));
842
842
  SelectLabel.displayName = SelectPrimitive__namespace.Label.displayName;
843
- var SelectItem = React10__namespace.forwardRef(({ className, children, textValue, ...props }, ref) => {
844
- const search = React10__namespace.useContext(SelectSearchContext);
843
+ var SelectItem = React11__namespace.forwardRef(({ className, children, textValue, ...props }, ref) => {
844
+ const search = React11__namespace.useContext(SelectSearchContext);
845
845
  const itemText = textValue ?? (typeof children === "string" ? children : "");
846
846
  if (search && itemText && !itemText.toLowerCase().includes(search.toLowerCase())) {
847
847
  return null;
@@ -851,7 +851,7 @@ var SelectItem = React10__namespace.forwardRef(({ className, children, textValue
851
851
  {
852
852
  ref,
853
853
  textValue,
854
- className: chunkNTUQQDCL_js.cn(
854
+ className: chunkD2BLWOWK_js.cn(
855
855
  "relative flex w-full cursor-default select-none items-center rounded-hz-md py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-black/5 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:focus:bg-white/10 dark:focus:text-gray-100 transition-colors",
856
856
  className
857
857
  ),
@@ -864,15 +864,316 @@ var SelectItem = React10__namespace.forwardRef(({ className, children, textValue
864
864
  );
865
865
  });
866
866
  SelectItem.displayName = SelectPrimitive__namespace.Item.displayName;
867
- var SelectSeparator = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
867
+ var SelectSeparator = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
868
868
  SelectPrimitive__namespace.Separator,
869
869
  {
870
870
  ref,
871
- className: chunkNTUQQDCL_js.cn("-mx-1 my-1 h-px bg-gray-200/50 dark:bg-neutral-700/50", className),
871
+ className: chunkD2BLWOWK_js.cn("-mx-1 my-1 h-px bg-gray-200/50 dark:bg-neutral-700/50", className),
872
872
  ...props
873
873
  }
874
874
  ));
875
875
  SelectSeparator.displayName = SelectPrimitive__namespace.Separator.displayName;
876
+ var SelectBar = React11__namespace.forwardRef(({
877
+ options,
878
+ value,
879
+ onChange,
880
+ multiple = false,
881
+ multiValue,
882
+ onMultiChange,
883
+ manualApply = false,
884
+ searchable = false,
885
+ searchPlaceholder = "Search...",
886
+ placeholder = "Select\u2026",
887
+ label,
888
+ disabled = false,
889
+ className,
890
+ maxVisibleChips = 2
891
+ }, ref) => {
892
+ const [open, setOpen] = React11__namespace.useState(false);
893
+ const [search, setSearch] = React11__namespace.useState("");
894
+ const searchRef = React11__namespace.useRef(null);
895
+ const [internalValue, setInternalValue] = React11__namespace.useState(
896
+ void 0
897
+ );
898
+ const [internalMultiValue, setInternalMultiValue] = React11__namespace.useState(
899
+ []
900
+ );
901
+ const [draftValue, setDraftValue] = React11__namespace.useState(
902
+ void 0
903
+ );
904
+ const [draftMultiValue, setDraftMultiValue] = React11__namespace.useState([]);
905
+ const committedSingle = value !== void 0 ? value : internalValue;
906
+ const committedMulti = multiValue !== void 0 ? multiValue : internalMultiValue;
907
+ const activeSingle = manualApply ? draftValue : committedSingle;
908
+ const activeMulti = manualApply ? draftMultiValue : committedMulti;
909
+ const commitSingle = React11__namespace.useCallback(
910
+ (v) => {
911
+ if (value === void 0) setInternalValue(v);
912
+ onChange?.(v);
913
+ },
914
+ [value, onChange]
915
+ );
916
+ const commitMulti = React11__namespace.useCallback(
917
+ (v) => {
918
+ if (multiValue === void 0) setInternalMultiValue(v);
919
+ onMultiChange?.(v);
920
+ },
921
+ [multiValue, onMultiChange]
922
+ );
923
+ const handleOpenChange = (newOpen) => {
924
+ if (newOpen) {
925
+ setDraftValue(committedSingle);
926
+ setDraftMultiValue(committedMulti);
927
+ setSearch("");
928
+ if (searchable) {
929
+ requestAnimationFrame(() => searchRef.current?.focus());
930
+ }
931
+ }
932
+ setOpen(newOpen);
933
+ };
934
+ const filtered = React11__namespace.useMemo(
935
+ () => search ? options.filter(
936
+ (o) => o.label.toLowerCase().includes(search.toLowerCase())
937
+ ) : options,
938
+ [options, search]
939
+ );
940
+ const handleSingleSelect = (optionValue) => {
941
+ if (manualApply) {
942
+ setDraftValue(optionValue);
943
+ } else {
944
+ commitSingle(optionValue);
945
+ setOpen(false);
946
+ }
947
+ };
948
+ const handleMultiToggle = (optionValue) => {
949
+ const current = manualApply ? draftMultiValue : committedMulti;
950
+ const next = current.includes(optionValue) ? current.filter((v) => v !== optionValue) : [...current, optionValue];
951
+ if (manualApply) {
952
+ setDraftMultiValue(next);
953
+ } else {
954
+ commitMulti(next);
955
+ }
956
+ };
957
+ const handleApply = () => {
958
+ if (multiple) {
959
+ commitMulti(draftMultiValue);
960
+ } else {
961
+ commitSingle(draftValue);
962
+ }
963
+ setOpen(false);
964
+ };
965
+ const handleClear = () => {
966
+ if (manualApply) {
967
+ if (multiple) {
968
+ setDraftMultiValue([]);
969
+ } else {
970
+ setDraftValue(void 0);
971
+ }
972
+ } else {
973
+ if (multiple) {
974
+ commitMulti([]);
975
+ } else {
976
+ commitSingle(void 0);
977
+ }
978
+ setOpen(false);
979
+ }
980
+ };
981
+ const handleChipRemove = (e, chipValue) => {
982
+ e.stopPropagation();
983
+ const next = committedMulti.filter((v) => v !== chipValue);
984
+ commitMulti(next);
985
+ };
986
+ const canApply = (() => {
987
+ if (!manualApply) return false;
988
+ if (multiple) {
989
+ const a = [...draftMultiValue].sort();
990
+ const b = [...committedMulti].sort();
991
+ return JSON.stringify(a) !== JSON.stringify(b);
992
+ }
993
+ return draftValue !== committedSingle;
994
+ })();
995
+ const canClear = (() => {
996
+ if (manualApply) {
997
+ return multiple ? draftMultiValue.length > 0 : draftValue !== void 0;
998
+ }
999
+ return multiple ? committedMulti.length > 0 : committedSingle !== void 0;
1000
+ })();
1001
+ const labelFor = (v) => options.find((o) => o.value === v)?.label ?? v;
1002
+ const renderTriggerContent = () => {
1003
+ if (multiple) {
1004
+ if (committedMulti.length === 0) {
1005
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500 truncate", children: placeholder });
1006
+ }
1007
+ const visible = committedMulti.slice(0, maxVisibleChips);
1008
+ const overflow = committedMulti.length - maxVisibleChips;
1009
+ return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 min-w-0 flex-wrap", children: [
1010
+ visible.map((v) => /* @__PURE__ */ jsxRuntime.jsxs(
1011
+ "span",
1012
+ {
1013
+ className: "inline-flex items-center gap-1 bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/50 dark:text-blue-400 dark:border-blue-800/50 rounded-md px-2 py-0.5 text-xs font-medium max-w-[120px]",
1014
+ children: [
1015
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: labelFor(v) }),
1016
+ /* @__PURE__ */ jsxRuntime.jsx(
1017
+ "button",
1018
+ {
1019
+ type: "button",
1020
+ className: "shrink-0 hover:text-blue-900 dark:hover:text-blue-200",
1021
+ onClick: (e) => handleChipRemove(e, v),
1022
+ "aria-label": `Remove ${labelFor(v)}`,
1023
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-3 w-3" })
1024
+ }
1025
+ )
1026
+ ]
1027
+ },
1028
+ v
1029
+ )),
1030
+ overflow > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center bg-blue-50 text-blue-700 border border-blue-200 dark:bg-blue-950/50 dark:text-blue-400 dark:border-blue-800/50 rounded-md px-2 py-0.5 text-xs font-medium", children: [
1031
+ "+",
1032
+ overflow,
1033
+ " more"
1034
+ ] })
1035
+ ] });
1036
+ }
1037
+ if (committedSingle !== void 0) {
1038
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-gray-900 dark:text-gray-100", children: labelFor(committedSingle) });
1039
+ }
1040
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500 truncate", children: placeholder });
1041
+ };
1042
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkD2BLWOWK_js.cn("space-y-1.5", className), children: [
1043
+ label && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Label, { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: label }),
1044
+ /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
1045
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1046
+ "button",
1047
+ {
1048
+ ref,
1049
+ type: "button",
1050
+ disabled,
1051
+ className: chunkD2BLWOWK_js.cn(
1052
+ "flex h-[42px] min-h-[42px] w-full items-center justify-between gap-2 rounded-hz-md border border-gray-300 bg-white px-3 text-sm shadow-sm transition-colors",
1053
+ "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
1054
+ "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
1055
+ "disabled:pointer-events-none disabled:opacity-50"
1056
+ ),
1057
+ children: [
1058
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 min-w-0 flex items-center", children: renderTriggerContent() }),
1059
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 opacity-50" })
1060
+ ]
1061
+ }
1062
+ ) }),
1063
+ /* @__PURE__ */ jsxRuntime.jsxs(
1064
+ PopoverContent,
1065
+ {
1066
+ align: "start",
1067
+ className: "w-[var(--radix-popover-trigger-width)] min-w-[200px] p-0 overflow-hidden",
1068
+ children: [
1069
+ searchable && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-neutral-200/50 dark:border-neutral-700/50", children: [
1070
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-6 w-6 shrink-0 opacity-50 pl-2" }),
1071
+ /* @__PURE__ */ jsxRuntime.jsx(
1072
+ "input",
1073
+ {
1074
+ ref: searchRef,
1075
+ value: search,
1076
+ onChange: (e) => setSearch(e.target.value),
1077
+ placeholder: searchPlaceholder,
1078
+ onKeyDown: (e) => e.stopPropagation(),
1079
+ className: "flex h-10 w-full py-2 bg-transparent text-sm placeholder:text-neutral-400 dark:placeholder:text-neutral-500 px-2 focus-visible:ring-0 focus-visible:ring-offset-0 focus-visible:outline-none"
1080
+ }
1081
+ )
1082
+ ] }),
1083
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 max-h-[240px] overflow-y-auto", children: filtered.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-2 py-4 text-center text-sm text-gray-400 dark:text-gray-500", children: "No results found." }) : filtered.map((option) => {
1084
+ if (multiple) {
1085
+ const checked = activeMulti.includes(option.value);
1086
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1087
+ "button",
1088
+ {
1089
+ type: "button",
1090
+ disabled: option.disabled,
1091
+ onClick: () => handleMultiToggle(option.value),
1092
+ className: chunkD2BLWOWK_js.cn(
1093
+ "relative flex w-full cursor-default select-none items-center gap-2 rounded-hz-md py-1.5 px-2 text-sm outline-none transition-colors",
1094
+ "hover:bg-black/5 dark:hover:bg-white/10",
1095
+ option.disabled && "pointer-events-none opacity-50"
1096
+ ),
1097
+ children: [
1098
+ /* @__PURE__ */ jsxRuntime.jsx(
1099
+ CheckboxPrimitive__namespace.Root,
1100
+ {
1101
+ checked,
1102
+ tabIndex: -1,
1103
+ className: chunkD2BLWOWK_js.cn(
1104
+ "peer h-4 w-4 shrink-0 rounded-hz-sm border border-gray-300 bg-transparent shadow focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-600 data-[state=checked]:border-blue-600 data-[state=checked]:text-white dark:border-neutral-600 dark:data-[state=checked]:bg-blue-600"
1105
+ ),
1106
+ style: { pointerEvents: "none" },
1107
+ children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ jsxRuntime.jsx(
1108
+ lucideReact.Check,
1109
+ {
1110
+ className: "h-3.5 w-3.5",
1111
+ strokeWidth: 3
1112
+ }
1113
+ ) })
1114
+ }
1115
+ ),
1116
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: option.label })
1117
+ ]
1118
+ },
1119
+ option.value
1120
+ );
1121
+ }
1122
+ const selected = activeSingle === option.value;
1123
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1124
+ "button",
1125
+ {
1126
+ type: "button",
1127
+ disabled: option.disabled,
1128
+ onClick: () => handleSingleSelect(option.value),
1129
+ className: chunkD2BLWOWK_js.cn(
1130
+ "relative flex w-full cursor-default select-none items-center rounded-hz-md py-1.5 pl-2 pr-8 text-sm outline-none transition-colors",
1131
+ "hover:bg-black/5 dark:hover:bg-white/10",
1132
+ option.disabled && "pointer-events-none opacity-50"
1133
+ ),
1134
+ children: [
1135
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: option.label }),
1136
+ selected && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) })
1137
+ ]
1138
+ },
1139
+ option.value
1140
+ );
1141
+ }) }),
1142
+ manualApply && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-2 px-2 py-3 border-t border-gray-100 dark:border-neutral-700", children: [
1143
+ /* @__PURE__ */ jsxRuntime.jsx(
1144
+ "button",
1145
+ {
1146
+ type: "button",
1147
+ onClick: handleClear,
1148
+ disabled: !canClear,
1149
+ className: chunkD2BLWOWK_js.cn(
1150
+ "px-3 py-1.5 rounded-md text-sm transition-colors",
1151
+ canClear ? "text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-neutral-700" : "text-gray-300 dark:text-gray-600 cursor-not-allowed"
1152
+ ),
1153
+ children: "Clear"
1154
+ }
1155
+ ),
1156
+ /* @__PURE__ */ jsxRuntime.jsx(
1157
+ "button",
1158
+ {
1159
+ type: "button",
1160
+ onClick: handleApply,
1161
+ disabled: !canApply,
1162
+ className: chunkD2BLWOWK_js.cn(
1163
+ "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
1164
+ canApply ? "bg-blue-600 text-white hover:bg-blue-700 dark:hover:bg-blue-500" : "bg-blue-100 text-blue-300 cursor-not-allowed dark:bg-blue-950/30 dark:text-blue-800"
1165
+ ),
1166
+ children: "Apply"
1167
+ }
1168
+ )
1169
+ ] })
1170
+ ]
1171
+ }
1172
+ )
1173
+ ] })
1174
+ ] });
1175
+ });
1176
+ SelectBar.displayName = "SelectBar";
876
1177
  var separatorVariants = classVarianceAuthority.cva("shrink-0 bg-gray-200 dark:bg-neutral-700", {
877
1178
  variants: {
878
1179
  orientation: {
@@ -895,7 +1196,7 @@ function Separator3({
895
1196
  {
896
1197
  role: decorative ? "none" : "separator",
897
1198
  "aria-orientation": decorative ? void 0 : orientation ?? void 0,
898
- className: chunkNTUQQDCL_js.cn(separatorVariants({ orientation }), className),
1199
+ className: chunkD2BLWOWK_js.cn(separatorVariants({ orientation }), className),
899
1200
  ...props
900
1201
  }
901
1202
  );
@@ -904,7 +1205,7 @@ function Skeleton({ className }) {
904
1205
  return /* @__PURE__ */ jsxRuntime.jsx(
905
1206
  "div",
906
1207
  {
907
- className: chunkNTUQQDCL_js.cn(
1208
+ className: chunkD2BLWOWK_js.cn(
908
1209
  "animate-pulse rounded-hz-md bg-neutral-200 dark:bg-neutral-800",
909
1210
  className
910
1211
  )
@@ -912,28 +1213,28 @@ function Skeleton({ className }) {
912
1213
  );
913
1214
  }
914
1215
  function SkeletonText({ className }) {
915
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-4", className) });
1216
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-4", className) });
916
1217
  }
917
1218
  function SkeletonTitle({ className }) {
918
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-6 w-48", className) });
1219
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-6 w-48", className) });
919
1220
  }
920
1221
  function SkeletonSubtitle({ className }) {
921
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-3 w-64", className) });
1222
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-3 w-64", className) });
922
1223
  }
923
1224
  function SkeletonAvatar({ className }) {
924
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("w-10 h-10 rounded", className) });
1225
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("w-10 h-10 rounded", className) });
925
1226
  }
926
1227
  function SkeletonBadge({ className }) {
927
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-6 w-24", className) });
1228
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-6 w-24", className) });
928
1229
  }
929
1230
  function SkeletonIcon({ className }) {
930
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("w-6 h-6 rounded", className) });
1231
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("w-6 h-6 rounded", className) });
931
1232
  }
932
1233
  function SkeletonButton({ className }) {
933
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-10 w-24 rounded-hz-md", className) });
1234
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-10 w-24 rounded-hz-md", className) });
934
1235
  }
935
1236
  function SkeletonInput({ className }) {
936
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-10 w-full rounded-hz-md", className) });
1237
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-10 w-full rounded-hz-md", className) });
937
1238
  }
938
1239
  function SkeletonTableRow({
939
1240
  columns = 4,
@@ -951,7 +1252,7 @@ function SkeletonCard({ className }) {
951
1252
  return /* @__PURE__ */ jsxRuntime.jsxs(
952
1253
  "div",
953
1254
  {
954
- className: chunkNTUQQDCL_js.cn(
1255
+ className: chunkD2BLWOWK_js.cn(
955
1256
  "rounded-hz-lg border bg-card p-6 space-y-4",
956
1257
  className
957
1258
  ),
@@ -1025,7 +1326,7 @@ function SegmentedControl({
1025
1326
  {
1026
1327
  ...props,
1027
1328
  ...value !== void 0 ? { value, onValueChange: onChange } : {},
1028
- className: chunkNTUQQDCL_js.cn(
1329
+ className: chunkD2BLWOWK_js.cn(
1029
1330
  segmentedControlVariants({ size }),
1030
1331
  containerRadiusClass[radius],
1031
1332
  className
@@ -1035,7 +1336,7 @@ function SegmentedControl({
1035
1336
  {
1036
1337
  value: option.value,
1037
1338
  disabled: option.disabled,
1038
- className: chunkNTUQQDCL_js.cn(
1339
+ className: chunkD2BLWOWK_js.cn(
1039
1340
  segmentedControlItemVariants({ size }),
1040
1341
  itemRadiusClass[radius],
1041
1342
  "border border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
@@ -1053,8 +1354,8 @@ function SegmentedControl({
1053
1354
  );
1054
1355
  }
1055
1356
  function BulkEditPopover({ column, onApply }) {
1056
- const [value, setValue] = React10__namespace.useState("");
1057
- const [open, setOpen] = React10__namespace.useState(false);
1357
+ const [value, setValue] = React11__namespace.useState("");
1358
+ const [open, setOpen] = React11__namespace.useState(false);
1058
1359
  const { bulkEdit } = column;
1059
1360
  if (!bulkEdit) return null;
1060
1361
  const isValid = bulkEdit.kind === "input" ? !!value.trim() : !!value;
@@ -1072,7 +1373,7 @@ function BulkEditPopover({ column, onApply }) {
1072
1373
  }
1073
1374
  if (!next) setValue("");
1074
1375
  };
1075
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNTUQQDCL_js.Tooltip, { content: `Apply to all ${headingLabel}`, side: "top", disabled: open, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
1376
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Tooltip, { content: `Apply to all ${headingLabel}`, side: "top", disabled: open, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
1076
1377
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1077
1378
  "button",
1078
1379
  {
@@ -1083,7 +1384,7 @@ function BulkEditPopover({ column, onApply }) {
1083
1384
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, { className: "h-3.5 w-3.5" })
1084
1385
  }
1085
1386
  ) }),
1086
- /* @__PURE__ */ jsxRuntime.jsxs(PopoverContent, { align: "start", className: chunkNTUQQDCL_js.cn("p-3 space-y-3", bulkEdit.kind === "segmented-control" ? "w-auto" : "w-64"), children: [
1387
+ /* @__PURE__ */ jsxRuntime.jsxs(PopoverContent, { align: "start", className: chunkD2BLWOWK_js.cn("p-3 space-y-3", bulkEdit.kind === "segmented-control" ? "w-auto" : "w-64"), children: [
1087
1388
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide", children: [
1088
1389
  "Apply to all \u2014 ",
1089
1390
  headingLabel
@@ -1104,7 +1405,7 @@ function BulkEditPopover({ column, onApply }) {
1104
1405
  }
1105
1406
  },
1106
1407
  autoFocus: true,
1107
- className: chunkNTUQQDCL_js.cn(
1408
+ className: chunkD2BLWOWK_js.cn(
1108
1409
  "w-full rounded-hz-md border border-gray-300 bg-white py-2 text-sm text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-blue-500/50 dark:border-neutral-600 dark:bg-neutral-800 dark:text-gray-100 dark:placeholder:text-gray-500",
1109
1410
  bulkEdit.leadingDecorator ? "pl-7 pr-3" : "px-3"
1110
1411
  )
@@ -1128,12 +1429,12 @@ function BulkEditPopover({ column, onApply }) {
1128
1429
  ] })
1129
1430
  ] }) }) });
1130
1431
  }
1131
- var TableContext = React10__namespace.createContext(null);
1432
+ var TableContext = React11__namespace.createContext(null);
1132
1433
  var useTableContext = () => {
1133
- const context = React10__namespace.useContext(TableContext);
1434
+ const context = React11__namespace.useContext(TableContext);
1134
1435
  return context;
1135
1436
  };
1136
- var TableInner = React10__namespace.forwardRef(
1437
+ var TableInner = React11__namespace.forwardRef(
1137
1438
  ({
1138
1439
  className,
1139
1440
  selectionMode = "multiple",
@@ -1159,23 +1460,23 @@ var TableInner = React10__namespace.forwardRef(
1159
1460
  }, ref) => {
1160
1461
  const effectiveActionColumns = actionColumns ?? [];
1161
1462
  const effectiveSelectable = effectiveActionColumns.includes("checkbox");
1162
- const [internalSelectedRows, setInternalSelectedRows] = React10__namespace.useState(/* @__PURE__ */ new Set());
1163
- const [registeredRowIds, setRegisteredRowIds] = React10__namespace.useState(/* @__PURE__ */ new Set());
1164
- const wrapperRef = React10__namespace.useRef(null);
1463
+ const [internalSelectedRows, setInternalSelectedRows] = React11__namespace.useState(/* @__PURE__ */ new Set());
1464
+ const [registeredRowIds, setRegisteredRowIds] = React11__namespace.useState(/* @__PURE__ */ new Set());
1465
+ const wrapperRef = React11__namespace.useRef(null);
1165
1466
  const isControlled = controlledSelectedRows !== void 0;
1166
1467
  const selectedRowsSet = isControlled ? new Set(controlledSelectedRows) : internalSelectedRows;
1167
- const defaultGetRowId = React10__namespace.useCallback((row) => {
1468
+ const defaultGetRowId = React11__namespace.useCallback((row) => {
1168
1469
  if (typeof row === "string") return row;
1169
1470
  if (typeof row === "object" && row?.id) return String(row.id);
1170
1471
  return String(row);
1171
1472
  }, []);
1172
1473
  const finalGetRowId = getRowId || defaultGetRowId;
1173
- const allRowIds = React10__namespace.useMemo(() => {
1474
+ const allRowIds = React11__namespace.useMemo(() => {
1174
1475
  if (rows) return new Set(rows.map(finalGetRowId));
1175
1476
  if (data) return new Set(data.map(finalGetRowId));
1176
1477
  return registeredRowIds;
1177
1478
  }, [rows, data, finalGetRowId, registeredRowIds]);
1178
- const registerRowId = React10__namespace.useCallback((rowId) => {
1479
+ const registerRowId = React11__namespace.useCallback((rowId) => {
1179
1480
  if (rowId) {
1180
1481
  setRegisteredRowIds((prev) => {
1181
1482
  if (prev.has(rowId)) return prev;
@@ -1183,7 +1484,7 @@ var TableInner = React10__namespace.forwardRef(
1183
1484
  });
1184
1485
  }
1185
1486
  }, []);
1186
- const unregisterRowId = React10__namespace.useCallback((rowId) => {
1487
+ const unregisterRowId = React11__namespace.useCallback((rowId) => {
1187
1488
  if (rowId) {
1188
1489
  setRegisteredRowIds((prev) => {
1189
1490
  if (!prev.has(rowId)) return prev;
@@ -1193,7 +1494,7 @@ var TableInner = React10__namespace.forwardRef(
1193
1494
  });
1194
1495
  }
1195
1496
  }, []);
1196
- const toggleRow = React10__namespace.useCallback(
1497
+ const toggleRow = React11__namespace.useCallback(
1197
1498
  (rowId) => {
1198
1499
  if (!effectiveSelectable) return;
1199
1500
  const next = new Set(selectedRowsSet);
@@ -1218,7 +1519,7 @@ var TableInner = React10__namespace.forwardRef(
1218
1519
  },
1219
1520
  [effectiveSelectable, selectionMode, selectedRowsSet, isControlled, onSelectionChange]
1220
1521
  );
1221
- const selectAll = React10__namespace.useCallback(() => {
1522
+ const selectAll = React11__namespace.useCallback(() => {
1222
1523
  if (!effectiveSelectable || selectionMode !== "multiple" || allRowIds.size === 0) return;
1223
1524
  const next = new Set(allRowIds);
1224
1525
  if (isControlled) {
@@ -1228,7 +1529,7 @@ var TableInner = React10__namespace.forwardRef(
1228
1529
  onSelectionChange?.(Array.from(next));
1229
1530
  }
1230
1531
  }, [effectiveSelectable, selectionMode, allRowIds, isControlled, onSelectionChange]);
1231
- const deselectAll = React10__namespace.useCallback(() => {
1532
+ const deselectAll = React11__namespace.useCallback(() => {
1232
1533
  if (!effectiveSelectable) return;
1233
1534
  const next = /* @__PURE__ */ new Set();
1234
1535
  if (isControlled) {
@@ -1238,19 +1539,19 @@ var TableInner = React10__namespace.forwardRef(
1238
1539
  onSelectionChange?.(Array.from(next));
1239
1540
  }
1240
1541
  }, [effectiveSelectable, isControlled, onSelectionChange]);
1241
- const isRowSelected = React10__namespace.useCallback(
1542
+ const isRowSelected = React11__namespace.useCallback(
1242
1543
  (rowId) => selectedRowsSet.has(rowId),
1243
1544
  [selectedRowsSet]
1244
1545
  );
1245
- const isAllSelected = React10__namespace.useMemo(() => {
1546
+ const isAllSelected = React11__namespace.useMemo(() => {
1246
1547
  if (!effectiveSelectable || allRowIds.size === 0) return false;
1247
1548
  return allRowIds.size > 0 && Array.from(allRowIds).every((id) => selectedRowsSet.has(id));
1248
1549
  }, [effectiveSelectable, allRowIds, selectedRowsSet]);
1249
- const isSomeSelected = React10__namespace.useMemo(() => {
1550
+ const isSomeSelected = React11__namespace.useMemo(() => {
1250
1551
  if (!effectiveSelectable) return false;
1251
1552
  return selectedRowsSet.size > 0 && !isAllSelected;
1252
1553
  }, [effectiveSelectable, selectedRowsSet.size, isAllSelected]);
1253
- const contextValue = React10__namespace.useMemo(() => ({
1554
+ const contextValue = React11__namespace.useMemo(() => ({
1254
1555
  selectable: effectiveSelectable,
1255
1556
  selectionMode,
1256
1557
  selectedRows: selectedRowsSet,
@@ -1279,7 +1580,7 @@ var TableInner = React10__namespace.forwardRef(
1279
1580
  unregisterRowId,
1280
1581
  stickyYHeader
1281
1582
  ]);
1282
- React10__namespace.useEffect(() => {
1583
+ React11__namespace.useEffect(() => {
1283
1584
  const wrapper = wrapperRef.current;
1284
1585
  if (!wrapper || highlightMode === "none") return;
1285
1586
  let prevCell = null;
@@ -1335,12 +1636,12 @@ var TableInner = React10__namespace.forwardRef(
1335
1636
  "div",
1336
1637
  {
1337
1638
  ref: wrapperRef,
1338
- className: chunkNTUQQDCL_js.cn("relative w-full overflow-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-neutral-600 scrollbar-track-transparent", rounded && "rounded-lg", containerClassName),
1639
+ className: chunkD2BLWOWK_js.cn("relative w-full overflow-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-neutral-600 scrollbar-track-transparent", rounded && "rounded-lg", containerClassName),
1339
1640
  children: /* @__PURE__ */ jsxRuntime.jsx(
1340
1641
  "table",
1341
1642
  {
1342
1643
  ref,
1343
- className: chunkNTUQQDCL_js.cn("w-full caption-bottom text-sm", className),
1644
+ className: chunkD2BLWOWK_js.cn("w-full caption-bottom text-sm", className),
1344
1645
  ...props,
1345
1646
  children: columns && data ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: (() => {
1346
1647
  const filteredCols = columns.filter(
@@ -1393,7 +1694,7 @@ var TableInner = React10__namespace.forwardRef(
1393
1694
  ...col.stickyXHeader ? { left: stickyOffsets[col.key] } : {},
1394
1695
  ...col.stickyXHeader && stickyYHeader ? { boxShadow: xyShadow } : col.stickyXHeader ? { boxShadow: xShadow } : stickyYHeader ? { boxShadow: yShadow } : {}
1395
1696
  },
1396
- className: chunkNTUQQDCL_js.cn(
1697
+ className: chunkD2BLWOWK_js.cn(
1397
1698
  "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400",
1398
1699
  stickyYHeader && "sticky top-0 z-20 bg-gray-50 dark:bg-neutral-800",
1399
1700
  col.stickyXHeader && "sticky z-20 bg-gray-50 dark:bg-neutral-800",
@@ -1420,7 +1721,7 @@ var TableInner = React10__namespace.forwardRef(
1420
1721
  "tr",
1421
1722
  {
1422
1723
  "data-state": isSelected ? "selected" : void 0,
1423
- className: chunkNTUQQDCL_js.cn(
1724
+ className: chunkD2BLWOWK_js.cn(
1424
1725
  "border-b border-gray-200 transition-colors dark:border-neutral-700",
1425
1726
  isSelected ? "bg-blue-50 dark:bg-blue-900/20" : (highlightMode === "row" || highlightMode === "cross") && "hover:bg-gray-50 dark:hover:bg-neutral-800/50",
1426
1727
  onRowClick && "cursor-pointer"
@@ -1442,9 +1743,9 @@ var TableInner = React10__namespace.forwardRef(
1442
1743
  }
1443
1744
  contextValue.toggleRow(rowId);
1444
1745
  } : col.key === "__delete__" ? (e) => e.stopPropagation() : void 0,
1445
- className: chunkNTUQQDCL_js.cn(
1746
+ className: chunkD2BLWOWK_js.cn(
1446
1747
  "p-4 align-middle",
1447
- col.stickyXHeader && chunkNTUQQDCL_js.cn("sticky z-20", isSelected ? "bg-blue-50 dark:bg-[#242a3a]" : "bg-gray-50 dark:bg-neutral-800"),
1748
+ col.stickyXHeader && chunkD2BLWOWK_js.cn("sticky z-20", isSelected ? "bg-blue-50 dark:bg-[#242a3a]" : "bg-gray-50 dark:bg-neutral-800"),
1448
1749
  showDividers && "border-r border-gray-200 dark:border-neutral-700",
1449
1750
  typeof col.cellClassName === "function" ? col.cellClassName(row) : col.cellClassName
1450
1751
  ),
@@ -1466,29 +1767,29 @@ var TableInner = React10__namespace.forwardRef(
1466
1767
  );
1467
1768
  TableInner.displayName = "Table";
1468
1769
  var Table = TableInner;
1469
- var TableHeader = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1770
+ var TableHeader = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1470
1771
  "thead",
1471
1772
  {
1472
1773
  ref,
1473
- className: chunkNTUQQDCL_js.cn("[&_tr]:border-b [&_tr]:border-gray-200 dark:[&_tr]:border-gray-700", className),
1774
+ className: chunkD2BLWOWK_js.cn("[&_tr]:border-b [&_tr]:border-gray-200 dark:[&_tr]:border-gray-700", className),
1474
1775
  ...props
1475
1776
  }
1476
1777
  ));
1477
1778
  TableHeader.displayName = "TableHeader";
1478
- var TableBody = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1779
+ var TableBody = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1479
1780
  "tbody",
1480
1781
  {
1481
1782
  ref,
1482
- className: chunkNTUQQDCL_js.cn("[&_tr:last-child]:border-0", className),
1783
+ className: chunkD2BLWOWK_js.cn("[&_tr:last-child]:border-0", className),
1483
1784
  ...props
1484
1785
  }
1485
1786
  ));
1486
1787
  TableBody.displayName = "TableBody";
1487
- var TableFooter = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1788
+ var TableFooter = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1488
1789
  "tfoot",
1489
1790
  {
1490
1791
  ref,
1491
- className: chunkNTUQQDCL_js.cn(
1792
+ className: chunkD2BLWOWK_js.cn(
1492
1793
  "border-t border-gray-200 bg-gray-50 font-medium dark:border-neutral-700 dark:bg-neutral-800/50 [&>tr]:last:border-b-0",
1493
1794
  className
1494
1795
  ),
@@ -1496,19 +1797,19 @@ var TableFooter = React10__namespace.forwardRef(({ className, ...props }, ref) =
1496
1797
  }
1497
1798
  ));
1498
1799
  TableFooter.displayName = "TableFooter";
1499
- var TableRow = React10__namespace.forwardRef(
1800
+ var TableRow = React11__namespace.forwardRef(
1500
1801
  ({ className, rowId, rowData, onClick, ...props }, ref) => {
1501
1802
  const context = useTableContext();
1502
1803
  const getRowId = context?.getRowId;
1503
1804
  const selectable = context?.selectable;
1504
1805
  const registerRowId = context?.registerRowId;
1505
1806
  const unregisterRowId = context?.unregisterRowId;
1506
- const finalRowId = React10__namespace.useMemo(() => {
1807
+ const finalRowId = React11__namespace.useMemo(() => {
1507
1808
  if (rowId) return rowId;
1508
1809
  if (rowData && getRowId) return getRowId(rowData);
1509
1810
  return props.id || void 0;
1510
1811
  }, [rowId, rowData, getRowId, props.id]);
1511
- React10__namespace.useEffect(() => {
1812
+ React11__namespace.useEffect(() => {
1512
1813
  if (finalRowId && selectable) {
1513
1814
  registerRowId?.(finalRowId);
1514
1815
  return () => {
@@ -1517,7 +1818,7 @@ var TableRow = React10__namespace.forwardRef(
1517
1818
  }
1518
1819
  }, [finalRowId, selectable, registerRowId, unregisterRowId]);
1519
1820
  const isSelected = finalRowId ? context?.isRowSelected(finalRowId) : false;
1520
- const handleClick = React10__namespace.useCallback(
1821
+ const handleClick = React11__namespace.useCallback(
1521
1822
  (e) => {
1522
1823
  onClick?.(e);
1523
1824
  },
@@ -1529,7 +1830,7 @@ var TableRow = React10__namespace.forwardRef(
1529
1830
  ref,
1530
1831
  "data-state": isSelected ? "selected" : void 0,
1531
1832
  "data-row-id": finalRowId,
1532
- className: chunkNTUQQDCL_js.cn(
1833
+ className: chunkD2BLWOWK_js.cn(
1533
1834
  "border-b border-gray-200 transition-colors hover:bg-gray-50 data-[state=selected]:bg-blue-50 dark:border-neutral-700 dark:hover:bg-neutral-800/50 dark:data-[state=selected]:bg-blue-900/20",
1534
1835
  className
1535
1836
  ),
@@ -1540,7 +1841,7 @@ var TableRow = React10__namespace.forwardRef(
1540
1841
  }
1541
1842
  );
1542
1843
  TableRow.displayName = "TableRow";
1543
- var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, ref) => {
1844
+ var TableHead = React11__namespace.forwardRef(({ className, style, ...props }, ref) => {
1544
1845
  const context = useTableContext();
1545
1846
  const isDark = typeof document !== "undefined" && document.documentElement.classList.contains("dark");
1546
1847
  const yShadow = `inset 0 -1px 0 0 ${isDark ? "rgba(255,255,255,0.1)" : "rgba(0,0,0,0.1)"}`;
@@ -1549,7 +1850,7 @@ var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, r
1549
1850
  {
1550
1851
  ref,
1551
1852
  style: context?.stickyHeader ? { boxShadow: yShadow, ...style } : style,
1552
- className: chunkNTUQQDCL_js.cn(
1853
+ className: chunkD2BLWOWK_js.cn(
1553
1854
  "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400 [&:has([role=checkbox])]:pr-0",
1554
1855
  context?.stickyHeader && "sticky top-0 z-20 bg-gray-50 dark:bg-neutral-800",
1555
1856
  className
@@ -1559,12 +1860,12 @@ var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, r
1559
1860
  );
1560
1861
  });
1561
1862
  TableHead.displayName = "TableHead";
1562
- var TableCell = React10__namespace.forwardRef(
1863
+ var TableCell = React11__namespace.forwardRef(
1563
1864
  ({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1564
1865
  "td",
1565
1866
  {
1566
1867
  ref,
1567
- className: chunkNTUQQDCL_js.cn(
1868
+ className: chunkD2BLWOWK_js.cn(
1568
1869
  "align-middle [&:has([role=checkbox])]:pr-0",
1569
1870
  variant === "embed" ? "p-1.5" : "p-4",
1570
1871
  className
@@ -1574,16 +1875,16 @@ var TableCell = React10__namespace.forwardRef(
1574
1875
  )
1575
1876
  );
1576
1877
  TableCell.displayName = "TableCell";
1577
- var TableCaption = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1878
+ var TableCaption = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1578
1879
  "caption",
1579
1880
  {
1580
1881
  ref,
1581
- className: chunkNTUQQDCL_js.cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className),
1882
+ className: chunkD2BLWOWK_js.cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className),
1582
1883
  ...props
1583
1884
  }
1584
1885
  ));
1585
1886
  TableCaption.displayName = "TableCaption";
1586
- var TableSelectAll = React10__namespace.forwardRef(({ className, ...props }, ref) => {
1887
+ var TableSelectAll = React11__namespace.forwardRef(({ className, ...props }, ref) => {
1587
1888
  const context = useTableContext();
1588
1889
  if (!context?.selectable || context.selectionMode !== "multiple") {
1589
1890
  return null;
@@ -1607,13 +1908,13 @@ var TableSelectAll = React10__namespace.forwardRef(({ className, ...props }, ref
1607
1908
  ) });
1608
1909
  });
1609
1910
  TableSelectAll.displayName = "TableSelectAll";
1610
- var TableRowCheckbox = React10__namespace.forwardRef(({ rowId, rowData, className, ...props }, ref) => {
1911
+ var TableRowCheckbox = React11__namespace.forwardRef(({ rowId, rowData, className, ...props }, ref) => {
1611
1912
  const context = useTableContext();
1612
1913
  const getRowId = context?.getRowId;
1613
1914
  if (!context?.selectable) {
1614
1915
  return null;
1615
1916
  }
1616
- const finalRowId = React10__namespace.useMemo(() => {
1917
+ const finalRowId = React11__namespace.useMemo(() => {
1617
1918
  if (rowId) return rowId;
1618
1919
  if (rowData && getRowId) return getRowId(rowData);
1619
1920
  return void 0;
@@ -1651,7 +1952,7 @@ function getDefaultColumns(columns, isMobile) {
1651
1952
  }
1652
1953
  function useColumnVisibility(columns, options = {}) {
1653
1954
  const { storageKey } = options;
1654
- const [visibleColumns, setVisibleColumnsState] = React10.useState(() => {
1955
+ const [visibleColumns, setVisibleColumnsState] = React11.useState(() => {
1655
1956
  if (storageKey && typeof window !== "undefined") {
1656
1957
  try {
1657
1958
  const saved = localStorage.getItem(storageKey);
@@ -1665,7 +1966,7 @@ function useColumnVisibility(columns, options = {}) {
1665
1966
  }
1666
1967
  return getDefaultColumns(columns, false);
1667
1968
  });
1668
- React10.useEffect(() => {
1969
+ React11.useEffect(() => {
1669
1970
  if (storageKey) {
1670
1971
  try {
1671
1972
  const saved = localStorage.getItem(storageKey);
@@ -1678,7 +1979,7 @@ function useColumnVisibility(columns, options = {}) {
1678
1979
  setVisibleColumnsState(getDefaultColumns(columns, true));
1679
1980
  }
1680
1981
  }, []);
1681
- const setVisibleColumns = React10.useCallback((cols) => {
1982
+ const setVisibleColumns = React11.useCallback((cols) => {
1682
1983
  const stickyKeys = columns.filter((c) => c.stickyXHeader).map((c) => c.key);
1683
1984
  const merged = Array.from(/* @__PURE__ */ new Set([...stickyKeys, ...cols]));
1684
1985
  setVisibleColumnsState(merged);
@@ -1698,7 +1999,7 @@ function ColumnSelection({
1698
1999
  triggerLabel = "Manage Columns",
1699
2000
  trigger
1700
2001
  }) {
1701
- const handleToggle = React10__namespace.useCallback((key, checked) => {
2002
+ const handleToggle = React11__namespace.useCallback((key, checked) => {
1702
2003
  if (checked) {
1703
2004
  if (!visibleColumns.includes(key)) {
1704
2005
  onVisibleColumnsChange([...visibleColumns, key]);
@@ -1720,7 +2021,7 @@ function ColumnSelection({
1720
2021
  return /* @__PURE__ */ jsxRuntime.jsxs(
1721
2022
  "label",
1722
2023
  {
1723
- className: chunkNTUQQDCL_js.cn(
2024
+ className: chunkD2BLWOWK_js.cn(
1724
2025
  "flex items-center gap-2.5 rounded-hz-md px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-neutral-800",
1725
2026
  isSticky && "opacity-50 cursor-not-allowed"
1726
2027
  ),
@@ -1745,33 +2046,33 @@ function ColumnSelection({
1745
2046
  ] })
1746
2047
  ] });
1747
2048
  }
1748
- var TabsContext = React10__namespace.createContext(null);
2049
+ var TabsContext = React11__namespace.createContext(null);
1749
2050
  var useTabsContext = () => {
1750
- const context = React10__namespace.useContext(TabsContext);
2051
+ const context = React11__namespace.useContext(TabsContext);
1751
2052
  if (!context) {
1752
2053
  throw new Error("Tabs components must be used within a Tabs provider");
1753
2054
  }
1754
2055
  return context;
1755
2056
  };
1756
- var TabsListContext = React10__namespace.createContext({ variant: "pill" });
1757
- var useTabsListContext = () => React10__namespace.useContext(TabsListContext);
1758
- var Tabs = React10__namespace.forwardRef(({ defaultValue, value, onValueChange, children, ...props }, ref) => {
1759
- const [activeTab, setActiveTabState] = React10__namespace.useState(value ?? defaultValue);
1760
- const tabRefs = React10__namespace.useRef(/* @__PURE__ */ new Map()).current;
1761
- const listRef = React10__namespace.useRef(null);
1762
- const setActiveTab = React10__namespace.useCallback(
2057
+ var TabsListContext = React11__namespace.createContext({ variant: "pill" });
2058
+ var useTabsListContext = () => React11__namespace.useContext(TabsListContext);
2059
+ var Tabs = React11__namespace.forwardRef(({ defaultValue, value, onValueChange, children, ...props }, ref) => {
2060
+ const [activeTab, setActiveTabState] = React11__namespace.useState(value ?? defaultValue);
2061
+ const tabRefs = React11__namespace.useRef(/* @__PURE__ */ new Map()).current;
2062
+ const listRef = React11__namespace.useRef(null);
2063
+ const setActiveTab = React11__namespace.useCallback(
1763
2064
  (newValue) => {
1764
2065
  setActiveTabState(newValue);
1765
2066
  onValueChange?.(newValue);
1766
2067
  },
1767
2068
  [onValueChange]
1768
2069
  );
1769
- React10__namespace.useEffect(() => {
2070
+ React11__namespace.useEffect(() => {
1770
2071
  if (value !== void 0) {
1771
2072
  setActiveTabState(value);
1772
2073
  }
1773
2074
  }, [value]);
1774
- const registerTab = React10__namespace.useCallback(
2075
+ const registerTab = React11__namespace.useCallback(
1775
2076
  (tabValue, element) => {
1776
2077
  tabRefs.set(tabValue, element);
1777
2078
  },
@@ -1796,10 +2097,10 @@ var Tabs = React10__namespace.forwardRef(({ defaultValue, value, onValueChange,
1796
2097
  );
1797
2098
  });
1798
2099
  Tabs.displayName = "Tabs";
1799
- var TabsList = React10__namespace.forwardRef(({ className, children, variant = "pill", ...props }, ref) => {
2100
+ var TabsList = React11__namespace.forwardRef(({ className, children, variant = "pill", ...props }, ref) => {
1800
2101
  const { activeTab, tabRefs, listRef } = useTabsContext();
1801
- const [indicatorStyle, setIndicatorStyle] = React10__namespace.useState(null);
1802
- React10__namespace.useEffect(() => {
2102
+ const [indicatorStyle, setIndicatorStyle] = React11__namespace.useState(null);
2103
+ React11__namespace.useEffect(() => {
1803
2104
  if (variant !== "pill") return;
1804
2105
  const updateIndicator = () => {
1805
2106
  if (!activeTab || !listRef.current) return;
@@ -1824,7 +2125,7 @@ var TabsList = React10__namespace.forwardRef(({ className, children, variant = "
1824
2125
  else if (ref) ref.current = node;
1825
2126
  listRef.current = node;
1826
2127
  },
1827
- className: chunkNTUQQDCL_js.cn(
2128
+ className: chunkD2BLWOWK_js.cn(
1828
2129
  variant === "pill" ? "relative inline-flex h-10 items-center justify-center rounded-hz-lg p-1 bg-gray-100 text-gray-500 dark:bg-neutral-700 dark:text-gray-400" : "flex gap-4 border-b border-gray-200 dark:border-neutral-800",
1829
2130
  className
1830
2131
  ),
@@ -1852,11 +2153,11 @@ var TabsList = React10__namespace.forwardRef(({ className, children, variant = "
1852
2153
  ) });
1853
2154
  });
1854
2155
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
1855
- var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, children, ...props }, ref) => {
2156
+ var TabsTrigger = React11__namespace.forwardRef(({ className, value, icon, children, ...props }, ref) => {
1856
2157
  const { registerTab, activeTab } = useTabsContext();
1857
2158
  const { variant } = useTabsListContext();
1858
- const triggerRef = React10__namespace.useRef(null);
1859
- React10__namespace.useEffect(() => {
2159
+ const triggerRef = React11__namespace.useRef(null);
2160
+ React11__namespace.useEffect(() => {
1860
2161
  registerTab(value, triggerRef.current);
1861
2162
  return () => registerTab(value, null);
1862
2163
  }, [value, registerTab]);
@@ -1870,12 +2171,12 @@ var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, child
1870
2171
  else if (ref) ref.current = node;
1871
2172
  },
1872
2173
  value,
1873
- className: chunkNTUQQDCL_js.cn(
2174
+ className: chunkD2BLWOWK_js.cn(
1874
2175
  "inline-flex items-center gap-1.5 whitespace-nowrap text-sm font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
1875
- variant === "pill" ? chunkNTUQQDCL_js.cn(
2176
+ variant === "pill" ? chunkD2BLWOWK_js.cn(
1876
2177
  "relative z-10 justify-center rounded-hz-md px-3 py-1.5 transition-colors",
1877
2178
  isActive ? "text-gray-900 dark:text-gray-100" : "text-gray-500 dark:text-gray-400"
1878
- ) : chunkNTUQQDCL_js.cn(
2179
+ ) : chunkD2BLWOWK_js.cn(
1879
2180
  "pb-3 border-b-2 transition-colors",
1880
2181
  isActive ? "border-blue-600 text-blue-600 dark:border-blue-400 dark:text-blue-400" : "border-transparent text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 hover:border-gray-300 dark:hover:border-gray-600"
1881
2182
  ),
@@ -1890,11 +2191,11 @@ var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, child
1890
2191
  );
1891
2192
  });
1892
2193
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
1893
- var TabsContent = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2194
+ var TabsContent = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1894
2195
  TabsPrimitive__namespace.Content,
1895
2196
  {
1896
2197
  ref,
1897
- className: chunkNTUQQDCL_js.cn(
2198
+ className: chunkD2BLWOWK_js.cn(
1898
2199
  "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
1899
2200
  className
1900
2201
  ),
@@ -1902,12 +2203,12 @@ var TabsContent = React10__namespace.forwardRef(({ className, ...props }, ref) =
1902
2203
  }
1903
2204
  ));
1904
2205
  TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
1905
- var Textarea = React10__namespace.forwardRef(
2206
+ var Textarea = React11__namespace.forwardRef(
1906
2207
  ({ className, ...props }, ref) => {
1907
2208
  return /* @__PURE__ */ jsxRuntime.jsx(
1908
2209
  "textarea",
1909
2210
  {
1910
- className: chunkNTUQQDCL_js.cn(
2211
+ className: chunkD2BLWOWK_js.cn(
1911
2212
  "flex min-h-[80px] w-full rounded-hz-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder:text-gray-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-600 dark:bg-neutral-800 dark:text-gray-100 dark:placeholder:text-gray-500",
1912
2213
  className
1913
2214
  ),
@@ -1986,7 +2287,7 @@ function Toggle({
1986
2287
  ...props,
1987
2288
  type: "multiple",
1988
2289
  ...value !== void 0 ? { value, onValueChange: onChange } : {},
1989
- className: chunkNTUQQDCL_js.cn(
2290
+ className: chunkD2BLWOWK_js.cn(
1990
2291
  toggleGroupVariants({ size }),
1991
2292
  containerRadiusClass2[radius],
1992
2293
  className
@@ -1999,7 +2300,7 @@ function Toggle({
1999
2300
  value: option.value,
2000
2301
  disabled: option.disabled,
2001
2302
  "aria-label": iconOnly ? option.ariaLabel ?? option.value : void 0,
2002
- className: chunkNTUQQDCL_js.cn(
2303
+ className: chunkD2BLWOWK_js.cn(
2003
2304
  toggleItemVariants({ size, iconOnly }),
2004
2305
  itemRadiusClass2[radius],
2005
2306
  "border border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
@@ -2059,8 +2360,8 @@ var switchLabelVariants = classVarianceAuthority.cva("select-none", {
2059
2360
  size: "default"
2060
2361
  }
2061
2362
  });
2062
- var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosition = "right", ...props }, ref) => {
2063
- const generatedId = React10__namespace.useId();
2363
+ var Switch = React11__namespace.forwardRef(({ className, size, label, labelPosition = "right", ...props }, ref) => {
2364
+ const generatedId = React11__namespace.useId();
2064
2365
  const switchId = props.id ?? generatedId;
2065
2366
  const switchEl = /* @__PURE__ */ jsxRuntime.jsx(
2066
2367
  SwitchPrimitive__namespace.Root,
@@ -2068,7 +2369,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2068
2369
  ...props,
2069
2370
  id: switchId,
2070
2371
  ref,
2071
- className: chunkNTUQQDCL_js.cn(switchTrackVariants({ size }), className),
2372
+ className: chunkD2BLWOWK_js.cn(switchTrackVariants({ size }), className),
2072
2373
  children: /* @__PURE__ */ jsxRuntime.jsx(SwitchPrimitive__namespace.Thumb, { className: switchThumbVariants({ size }) })
2073
2374
  }
2074
2375
  );
@@ -2076,7 +2377,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2076
2377
  return /* @__PURE__ */ jsxRuntime.jsxs(
2077
2378
  "div",
2078
2379
  {
2079
- className: chunkNTUQQDCL_js.cn(
2380
+ className: chunkD2BLWOWK_js.cn(
2080
2381
  "inline-flex items-center gap-2",
2081
2382
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2082
2383
  ),
@@ -2085,7 +2386,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2085
2386
  "label",
2086
2387
  {
2087
2388
  htmlFor: switchId,
2088
- className: chunkNTUQQDCL_js.cn(
2389
+ className: chunkD2BLWOWK_js.cn(
2089
2390
  switchLabelVariants({ size }),
2090
2391
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2091
2392
  ),
@@ -2097,7 +2398,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2097
2398
  "label",
2098
2399
  {
2099
2400
  htmlFor: switchId,
2100
- className: chunkNTUQQDCL_js.cn(
2401
+ className: chunkD2BLWOWK_js.cn(
2101
2402
  switchLabelVariants({ size }),
2102
2403
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2103
2404
  ),
@@ -2143,11 +2444,11 @@ function TimeInput({
2143
2444
  disabled = false,
2144
2445
  "aria-label": ariaLabel
2145
2446
  }) {
2146
- const [editValue, setEditValue] = React10__namespace.useState(null);
2147
- const internalRef = React10__namespace.useRef(null);
2148
- const committedRef = React10__namespace.useRef(false);
2149
- const pendingDigitRef = React10__namespace.useRef(null);
2150
- const setRefs = React10__namespace.useCallback(chunkNTUQQDCL_js.mergeRefs(internalRef, inputRef), [inputRef]);
2447
+ const [editValue, setEditValue] = React11__namespace.useState(null);
2448
+ const internalRef = React11__namespace.useRef(null);
2449
+ const committedRef = React11__namespace.useRef(false);
2450
+ const pendingDigitRef = React11__namespace.useRef(null);
2451
+ const setRefs = React11__namespace.useCallback(chunkD2BLWOWK_js.mergeRefs(internalRef, inputRef), [inputRef]);
2151
2452
  const commitTwoDigits = (raw) => {
2152
2453
  const parsed = parseInt(raw, 10);
2153
2454
  const clamped = clamp(parsed, min2, max);
@@ -2242,7 +2543,7 @@ function TimeInput({
2242
2543
  },
2243
2544
  onBlur: () => commit(),
2244
2545
  onKeyDown: handleKeyDown,
2245
- className: chunkNTUQQDCL_js.cn(
2546
+ className: chunkD2BLWOWK_js.cn(
2246
2547
  "w-9 h-8 rounded-md border text-center text-sm tabular-nums font-medium outline-none transition-colors",
2247
2548
  "bg-white border-gray-200 text-gray-600",
2248
2549
  "focus:border-blue-500 focus:ring-1 focus:ring-blue-500/30 focus:text-gray-700",
@@ -2257,7 +2558,7 @@ function PeriodToggle({ value, onChange, disabled = false }) {
2257
2558
  return /* @__PURE__ */ jsxRuntime.jsx(
2258
2559
  "div",
2259
2560
  {
2260
- className: chunkNTUQQDCL_js.cn(
2561
+ className: chunkD2BLWOWK_js.cn(
2261
2562
  "inline-flex rounded-md border overflow-hidden",
2262
2563
  disabled && "opacity-40 cursor-not-allowed",
2263
2564
  "border-gray-200 dark:border-neutral-600"
@@ -2268,7 +2569,7 @@ function PeriodToggle({ value, onChange, disabled = false }) {
2268
2569
  type: "button",
2269
2570
  disabled,
2270
2571
  onClick: () => onChange(p),
2271
- className: chunkNTUQQDCL_js.cn(
2572
+ className: chunkD2BLWOWK_js.cn(
2272
2573
  "px-2 h-8 text-xs font-semibold tracking-wide transition-colors",
2273
2574
  "disabled:pointer-events-none",
2274
2575
  value === p ? "!bg-blue-600 !text-white dark:!bg-blue-500" : "bg-white text-gray-500 hover:bg-gray-50 hover:text-gray-600 dark:bg-neutral-800 dark:text-gray-400 dark:hover:bg-neutral-700"
@@ -2291,8 +2592,8 @@ function TimeField({
2291
2592
  disabled = false
2292
2593
  }) {
2293
2594
  const { hour12, period } = to12Hour(value.hour);
2294
- const minuteInputRef = React10__namespace.useRef(null);
2295
- const mergedMinuteRef = React10__namespace.useCallback(chunkNTUQQDCL_js.mergeRefs(minuteInputRef, minuteRef), [minuteRef]);
2595
+ const minuteInputRef = React11__namespace.useRef(null);
2596
+ const mergedMinuteRef = React11__namespace.useCallback(chunkD2BLWOWK_js.mergeRefs(minuteInputRef, minuteRef), [minuteRef]);
2296
2597
  const handleHourChange = (newHour12) => {
2297
2598
  onChange({ ...value, hour: to24Hour(newHour12, period) });
2298
2599
  };
@@ -2310,7 +2611,7 @@ function TimeField({
2310
2611
  /* @__PURE__ */ jsxRuntime.jsx(
2311
2612
  "span",
2312
2613
  {
2313
- className: chunkNTUQQDCL_js.cn(
2614
+ className: chunkD2BLWOWK_js.cn(
2314
2615
  "text-xs font-semibold uppercase tracking-wider",
2315
2616
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2316
2617
  ),
@@ -2335,7 +2636,7 @@ function TimeField({
2335
2636
  /* @__PURE__ */ jsxRuntime.jsx(
2336
2637
  "span",
2337
2638
  {
2338
- className: chunkNTUQQDCL_js.cn(
2639
+ className: chunkD2BLWOWK_js.cn(
2339
2640
  "text-sm font-bold select-none",
2340
2641
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2341
2642
  ),
@@ -2388,14 +2689,14 @@ function useTimeFieldState(value) {
2388
2689
  return { showDuration, durationLabel, isOvernight, incompleteHint };
2389
2690
  }
2390
2691
  function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRemove = false, onDirty }) {
2391
- const toHourRef = React10__namespace.useRef(null);
2692
+ const toHourRef = React11__namespace.useRef(null);
2392
2693
  const { showDuration, durationLabel, isOvernight, incompleteHint } = useTimeFieldState(value);
2393
2694
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-2 pt-2 pb-2 gap-1", children: [
2394
2695
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2395
2696
  /* @__PURE__ */ jsxRuntime.jsx(
2396
2697
  lucideReact.Clock,
2397
2698
  {
2398
- className: chunkNTUQQDCL_js.cn(
2699
+ className: chunkD2BLWOWK_js.cn(
2399
2700
  "w-4 h-4 shrink-0",
2400
2701
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2401
2702
  )
@@ -2404,7 +2705,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2404
2705
  /* @__PURE__ */ jsxRuntime.jsx(
2405
2706
  "span",
2406
2707
  {
2407
- className: chunkNTUQQDCL_js.cn(
2708
+ className: chunkD2BLWOWK_js.cn(
2408
2709
  "text-xs font-semibold uppercase tracking-wider",
2409
2710
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2410
2711
  ),
@@ -2413,7 +2714,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2413
2714
  ),
2414
2715
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[9px] font-medium text-gray-400 dark:text-gray-600 tracking-wide", children: "(Optional)" }),
2415
2716
  showRemove && onRemove && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
2416
- chunkNTUQQDCL_js.TextButton,
2717
+ chunkD2BLWOWK_js.TextButton,
2417
2718
  {
2418
2719
  variant: "danger",
2419
2720
  onClick: onRemove,
@@ -2446,7 +2747,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2446
2747
  disabled
2447
2748
  }
2448
2749
  ),
2449
- showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNTUQQDCL_js.cn(
2750
+ showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkD2BLWOWK_js.cn(
2450
2751
  "text-[10px] font-medium",
2451
2752
  isOvernight ? "text-amber-500 dark:text-amber-400" : "text-gray-400 dark:text-gray-500"
2452
2753
  ), children: durationLabel }),
@@ -2455,14 +2756,14 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2455
2756
  ] });
2456
2757
  }
2457
2758
  function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove = false, onDirty }) {
2458
- const toHourRef = React10__namespace.useRef(null);
2759
+ const toHourRef = React11__namespace.useRef(null);
2459
2760
  const { showDuration, durationLabel, isOvernight, incompleteHint } = useTimeFieldState(value);
2460
2761
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col px-4 pt-2 pb-3 gap-1", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
2461
2762
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
2462
2763
  /* @__PURE__ */ jsxRuntime.jsx(
2463
2764
  lucideReact.Clock,
2464
2765
  {
2465
- className: chunkNTUQQDCL_js.cn(
2766
+ className: chunkD2BLWOWK_js.cn(
2466
2767
  "w-4 h-4 shrink-0",
2467
2768
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2468
2769
  )
@@ -2486,7 +2787,7 @@ function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove
2486
2787
  /* @__PURE__ */ jsxRuntime.jsx(
2487
2788
  "div",
2488
2789
  {
2489
- className: chunkNTUQQDCL_js.cn(
2790
+ className: chunkD2BLWOWK_js.cn(
2490
2791
  "w-4 h-px",
2491
2792
  disabled ? "bg-gray-200 dark:bg-neutral-700" : "bg-gray-300 dark:bg-neutral-600"
2492
2793
  )
@@ -2513,7 +2814,7 @@ function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove
2513
2814
  }
2514
2815
  )
2515
2816
  ] }),
2516
- showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNTUQQDCL_js.cn(
2817
+ showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkD2BLWOWK_js.cn(
2517
2818
  "text-[10px] font-medium pl-0.5",
2518
2819
  isOvernight ? "text-amber-500 dark:text-amber-400" : "text-gray-400 dark:text-gray-500"
2519
2820
  ), children: durationLabel }),
@@ -2567,7 +2868,7 @@ function CalendarMonth({
2567
2868
  "button",
2568
2869
  {
2569
2870
  onClick: onPrevMonth,
2570
- className: chunkNTUQQDCL_js.cn(
2871
+ className: chunkD2BLWOWK_js.cn(
2571
2872
  "p-1 rounded-md transition-colors",
2572
2873
  showPrevNav ? "hover:bg-gray-100 dark:hover:bg-neutral-700 text-gray-500 dark:text-gray-400" : "invisible pointer-events-none"
2573
2874
  ),
@@ -2579,7 +2880,7 @@ function CalendarMonth({
2579
2880
  "button",
2580
2881
  {
2581
2882
  onClick: onNextMonth,
2582
- className: chunkNTUQQDCL_js.cn(
2883
+ className: chunkD2BLWOWK_js.cn(
2583
2884
  "p-1 rounded-md transition-colors",
2584
2885
  showNextNav ? "hover:bg-gray-100 dark:hover:bg-neutral-700 text-gray-500 dark:text-gray-400" : "invisible pointer-events-none"
2585
2886
  ),
@@ -2614,7 +2915,7 @@ function CalendarMonth({
2614
2915
  return /* @__PURE__ */ jsxRuntime.jsx(
2615
2916
  "div",
2616
2917
  {
2617
- className: chunkNTUQQDCL_js.cn(
2918
+ className: chunkD2BLWOWK_js.cn(
2618
2919
  "h-9 flex items-center justify-center",
2619
2920
  (inRange || rangeStart || rangeEnd) && "bg-blue-50 dark:bg-blue-950/40",
2620
2921
  rangeStart && !rangeEnd && "rounded-l-full",
@@ -2628,7 +2929,7 @@ function CalendarMonth({
2628
2929
  onMouseEnter: () => !disabled && onDayHover(day),
2629
2930
  tabIndex: disabled ? -1 : 0,
2630
2931
  disabled,
2631
- className: chunkNTUQQDCL_js.cn(
2932
+ className: chunkD2BLWOWK_js.cn(
2632
2933
  "w-8 h-8 rounded-full text-sm flex items-center justify-center transition-colors",
2633
2934
  isFuture && "text-gray-300 dark:text-gray-600 pointer-events-none cursor-not-allowed",
2634
2935
  !disabled && !rangeStart && !rangeEnd && "text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-neutral-700",
@@ -2654,24 +2955,24 @@ function useDateRangePicker({
2654
2955
  timeValue,
2655
2956
  onTimeChange
2656
2957
  }) {
2657
- const [open, setOpen] = React10__namespace.useState(false);
2658
- const [internalRange, setInternalRange] = React10__namespace.useState({
2958
+ const [open, setOpen] = React11__namespace.useState(false);
2959
+ const [internalRange, setInternalRange] = React11__namespace.useState({
2659
2960
  from: void 0,
2660
2961
  to: void 0
2661
2962
  });
2662
- const [draft, setDraft] = React10__namespace.useState({
2963
+ const [draft, setDraft] = React11__namespace.useState({
2663
2964
  from: void 0,
2664
2965
  to: void 0
2665
2966
  });
2666
- const [hoverDate, setHoverDate] = React10__namespace.useState();
2667
- const [viewMonth, setViewMonth] = React10__namespace.useState(
2967
+ const [hoverDate, setHoverDate] = React11__namespace.useState();
2968
+ const [viewMonth, setViewMonth] = React11__namespace.useState(
2668
2969
  () => dateFns.startOfMonth(value?.from ?? /* @__PURE__ */ new Date())
2669
2970
  );
2670
- const [activePreset, setActivePreset] = React10__namespace.useState();
2671
- const [committedInternalTime, setCommittedInternalTime] = React10__namespace.useState(DEFAULT_TIME_RANGE);
2672
- const [draftTime, setDraftTime] = React10__namespace.useState(DEFAULT_TIME_RANGE);
2673
- const [timeExpanded, setTimeExpanded] = React10__namespace.useState(false);
2674
- const [timeDirty, setTimeDirty] = React10__namespace.useState(false);
2971
+ const [activePreset, setActivePreset] = React11__namespace.useState();
2972
+ const [committedInternalTime, setCommittedInternalTime] = React11__namespace.useState(DEFAULT_TIME_RANGE);
2973
+ const [draftTime, setDraftTime] = React11__namespace.useState(DEFAULT_TIME_RANGE);
2974
+ const [timeExpanded, setTimeExpanded] = React11__namespace.useState(false);
2975
+ const [timeDirty, setTimeDirty] = React11__namespace.useState(false);
2675
2976
  const committedRange = value ?? internalRange;
2676
2977
  const committedTime = timeValue ?? committedInternalTime;
2677
2978
  const timeVisible = !!(draft.from && draft.to);
@@ -2680,15 +2981,15 @@ function useDateRangePicker({
2680
2981
  const hasPartialTime = showTimePicker && timeExpanded && !isTimeComplete2;
2681
2982
  const canClear = !!(draft.from || committedRange.from);
2682
2983
  const canApply = !(draft.from && !draft.to) && !!(draft.from || committedRange.from) && !hasPartialTime;
2683
- const resetTime = React10__namespace.useCallback(() => {
2984
+ const resetTime = React11__namespace.useCallback(() => {
2684
2985
  setDraftTime(DEFAULT_TIME_RANGE);
2685
2986
  setTimeExpanded(false);
2686
2987
  setTimeDirty(false);
2687
2988
  }, []);
2688
- const handleTimeChange = React10__namespace.useCallback((newTime) => {
2989
+ const handleTimeChange = React11__namespace.useCallback((newTime) => {
2689
2990
  setDraftTime(newTime);
2690
2991
  }, []);
2691
- const handleOpenChange = React10__namespace.useCallback(
2992
+ const handleOpenChange = React11__namespace.useCallback(
2692
2993
  (newOpen) => {
2693
2994
  if (newOpen) {
2694
2995
  setDraft(committedRange);
@@ -2703,7 +3004,7 @@ function useDateRangePicker({
2703
3004
  },
2704
3005
  [committedRange, committedTime]
2705
3006
  );
2706
- const handleDayClick = React10__namespace.useCallback(
3007
+ const handleDayClick = React11__namespace.useCallback(
2707
3008
  (date) => {
2708
3009
  const { from, to } = draft;
2709
3010
  if (!from || from && to) {
@@ -2720,7 +3021,7 @@ function useDateRangePicker({
2720
3021
  },
2721
3022
  [draft, showTimePicker, timeExpanded, resetTime]
2722
3023
  );
2723
- const handlePreset = React10__namespace.useCallback(
3024
+ const handlePreset = React11__namespace.useCallback(
2724
3025
  (preset) => {
2725
3026
  const newRange = preset.getRange();
2726
3027
  setDraft(newRange);
@@ -2730,7 +3031,7 @@ function useDateRangePicker({
2730
3031
  },
2731
3032
  [showTimePicker, resetTime]
2732
3033
  );
2733
- const handleApply = React10__namespace.useCallback(() => {
3034
+ const handleApply = React11__namespace.useCallback(() => {
2734
3035
  if (draft.from && !draft.to) return;
2735
3036
  const newRange = draft.from && draft.to ? draft : void 0;
2736
3037
  const rangeChanged = newRange?.from?.getTime() !== committedRange.from?.getTime() || newRange?.to?.getTime() !== committedRange.to?.getTime();
@@ -2745,15 +3046,15 @@ function useDateRangePicker({
2745
3046
  }
2746
3047
  setOpen(false);
2747
3048
  }, [draft, onChange, committedRange, draftTime, committedTime, onTimeChange]);
2748
- const handleClear = React10__namespace.useCallback(() => {
3049
+ const handleClear = React11__namespace.useCallback(() => {
2749
3050
  setDraft({ from: void 0, to: void 0 });
2750
3051
  setActivePreset(void 0);
2751
3052
  if (showTimePicker) resetTime();
2752
3053
  }, [showTimePicker, resetTime]);
2753
- const expandTime = React10__namespace.useCallback(() => {
3054
+ const expandTime = React11__namespace.useCallback(() => {
2754
3055
  setTimeExpanded(true);
2755
3056
  }, []);
2756
- const markTimeDirty = React10__namespace.useCallback(() => {
3057
+ const markTimeDirty = React11__namespace.useCallback(() => {
2757
3058
  setTimeDirty(true);
2758
3059
  }, []);
2759
3060
  return {
@@ -2881,7 +3182,7 @@ function DateRangePicker({
2881
3182
  "button",
2882
3183
  {
2883
3184
  disabled,
2884
- className: chunkNTUQQDCL_js.cn(
3185
+ className: chunkD2BLWOWK_js.cn(
2885
3186
  "inline-flex items-center gap-2 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm shadow-sm transition-colors",
2886
3187
  "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
2887
3188
  "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
@@ -2900,14 +3201,14 @@ function DateRangePicker({
2900
3201
  }
2901
3202
  ) }),
2902
3203
  /* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { align, className: "w-auto p-0 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex divide-x divide-gray-100 dark:divide-neutral-700", children: [
2903
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col p-3 gap-0.5 min-w-[130px]", children: (presetSections ?? [{ title: "Presets", options: presets }]).map((section, si) => /* @__PURE__ */ jsxRuntime.jsxs(React10__namespace.Fragment, { children: [
3204
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col p-3 gap-0.5 min-w-[130px]", children: (presetSections ?? [{ title: "Presets", options: presets }]).map((section, si) => /* @__PURE__ */ jsxRuntime.jsxs(React11__namespace.Fragment, { children: [
2904
3205
  si > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-2 border-t border-gray-100 dark:border-neutral-700" }),
2905
3206
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-1 px-2", children: section.title }),
2906
3207
  section.options.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
2907
3208
  "button",
2908
3209
  {
2909
3210
  onClick: () => picker.handlePreset(preset),
2910
- className: chunkNTUQQDCL_js.cn(
3211
+ className: chunkD2BLWOWK_js.cn(
2911
3212
  "w-full text-left px-2 py-1.5 rounded-md text-sm transition-colors",
2912
3213
  picker.activePreset === preset.label ? "bg-blue-50 text-blue-600 font-medium dark:bg-blue-950/50 dark:text-blue-400" : "text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-neutral-700"
2913
3214
  ),
@@ -2999,7 +3300,7 @@ function DateRangePicker({
2999
3300
  {
3000
3301
  onClick: picker.handleClear,
3001
3302
  disabled: !picker.canClear,
3002
- className: chunkNTUQQDCL_js.cn(
3303
+ className: chunkD2BLWOWK_js.cn(
3003
3304
  "px-3 py-1.5 rounded-md text-sm transition-colors",
3004
3305
  picker.canClear ? "text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-neutral-700" : "text-gray-300 dark:text-gray-600 cursor-not-allowed"
3005
3306
  ),
@@ -3011,7 +3312,7 @@ function DateRangePicker({
3011
3312
  {
3012
3313
  onClick: picker.handleApply,
3013
3314
  disabled: !picker.canApply,
3014
- className: chunkNTUQQDCL_js.cn(
3315
+ className: chunkD2BLWOWK_js.cn(
3015
3316
  "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
3016
3317
  picker.canApply ? "bg-blue-600 text-white hover:bg-blue-700 dark:hover:bg-blue-500" : "bg-blue-100 text-blue-300 cursor-not-allowed dark:bg-blue-950/30 dark:text-blue-800"
3017
3318
  ),
@@ -3043,14 +3344,14 @@ function DateRangePickerMobile({
3043
3344
  timeValue,
3044
3345
  onTimeChange
3045
3346
  });
3046
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkNTUQQDCL_js.cn("space-y-1.5", className), children: [
3047
- label && /* @__PURE__ */ jsxRuntime.jsx(chunkNTUQQDCL_js.Label, { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: label }),
3347
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkD2BLWOWK_js.cn("space-y-1.5", className), children: [
3348
+ label && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Label, { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: label }),
3048
3349
  /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: picker.open, onOpenChange: picker.handleOpenChange, children: [
3049
3350
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3050
3351
  "button",
3051
3352
  {
3052
3353
  disabled,
3053
- className: chunkNTUQQDCL_js.cn(
3354
+ className: chunkD2BLWOWK_js.cn(
3054
3355
  "inline-flex w-full items-center gap-2 rounded-md border border-gray-300 bg-white px-3 py-2 text-sm shadow-sm transition-colors",
3055
3356
  "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
3056
3357
  "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
@@ -3069,14 +3370,14 @@ function DateRangePickerMobile({
3069
3370
  ) }),
3070
3371
  /* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { align: "center", className: "w-auto p-0 overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex divide-x divide-gray-100 dark:divide-neutral-700", children: [
3071
3372
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col p-2 gap-0.5 min-w-[110px] max-h-[360px] overflow-y-auto", children: (presetSections ?? [{ title: "Presets", options: presets }]).map(
3072
- (section, si) => /* @__PURE__ */ jsxRuntime.jsxs(React10__namespace.Fragment, { children: [
3373
+ (section, si) => /* @__PURE__ */ jsxRuntime.jsxs(React11__namespace.Fragment, { children: [
3073
3374
  si > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-2 border-t border-gray-100 dark:border-neutral-700" }),
3074
3375
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-1 px-2", children: section.title }),
3075
3376
  section.options.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
3076
3377
  "button",
3077
3378
  {
3078
3379
  onClick: () => picker.handlePreset(preset),
3079
- className: chunkNTUQQDCL_js.cn(
3380
+ className: chunkD2BLWOWK_js.cn(
3080
3381
  "w-full text-left px-2 py-1.5 rounded-md text-sm transition-colors",
3081
3382
  picker.activePreset === preset.label ? "bg-blue-50 text-blue-600 font-medium dark:bg-blue-950/50 dark:text-blue-400" : "text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-neutral-700"
3082
3383
  ),
@@ -3154,7 +3455,7 @@ function DateRangePickerMobile({
3154
3455
  {
3155
3456
  onClick: picker.handleClear,
3156
3457
  disabled: !picker.canClear,
3157
- className: chunkNTUQQDCL_js.cn(
3458
+ className: chunkD2BLWOWK_js.cn(
3158
3459
  "px-3 py-1.5 rounded-md text-sm transition-colors",
3159
3460
  picker.canClear ? "text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-neutral-700" : "text-gray-300 dark:text-gray-600 cursor-not-allowed"
3160
3461
  ),
@@ -3166,7 +3467,7 @@ function DateRangePickerMobile({
3166
3467
  {
3167
3468
  onClick: picker.handleApply,
3168
3469
  disabled: !picker.canApply,
3169
- className: chunkNTUQQDCL_js.cn(
3470
+ className: chunkD2BLWOWK_js.cn(
3170
3471
  "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
3171
3472
  picker.canApply ? "bg-blue-600 text-white hover:bg-blue-700 dark:hover:bg-blue-500" : "bg-blue-100 text-blue-300 cursor-not-allowed dark:bg-blue-950/30 dark:text-blue-800"
3172
3473
  ),
@@ -3206,7 +3507,7 @@ function MobileDataCard({
3206
3507
  image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: image }),
3207
3508
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [
3208
3509
  /* @__PURE__ */ jsxRuntime.jsx(
3209
- chunkNTUQQDCL_js.Text,
3510
+ chunkD2BLWOWK_js.Text,
3210
3511
  {
3211
3512
  size: "sm",
3212
3513
  weight: "semibold",
@@ -3214,7 +3515,7 @@ function MobileDataCard({
3214
3515
  children: title
3215
3516
  }
3216
3517
  ),
3217
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkNTUQQDCL_js.Text, { size: "xs", className: "text-neutral-400 dark:text-neutral-500", children: subtitle }),
3518
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Text, { size: "xs", className: "text-neutral-400 dark:text-neutral-500", children: subtitle }),
3218
3519
  contentRows && contentRows.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-x-4 gap-y-1 text-xs", children: contentRows.map((row) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "truncate", children: [
3219
3520
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-neutral-400 dark:text-neutral-500", children: [
3220
3521
  row.label,
@@ -3231,7 +3532,7 @@ function MobileDataCard({
3231
3532
  return /* @__PURE__ */ jsxRuntime.jsxs(
3232
3533
  "div",
3233
3534
  {
3234
- className: chunkNTUQQDCL_js.cn(
3535
+ className: chunkD2BLWOWK_js.cn(
3235
3536
  "overflow-hidden rounded-lg border transition-colors",
3236
3537
  isSelected ? "border-blue-500 bg-blue-50/50 dark:border-blue-400 dark:bg-blue-900/10" : "border-neutral-200 bg-white dark:border-neutral-700 dark:bg-neutral-800/30",
3237
3538
  className
@@ -3261,11 +3562,11 @@ function MobileDataCard({
3261
3562
  }
3262
3563
  ),
3263
3564
  /* @__PURE__ */ jsxRuntime.jsx(
3264
- chunkNTUQQDCL_js.Text,
3565
+ chunkD2BLWOWK_js.Text,
3265
3566
  {
3266
3567
  size: "xs",
3267
3568
  as: "span",
3268
- className: chunkNTUQQDCL_js.cn(
3569
+ className: chunkD2BLWOWK_js.cn(
3269
3570
  isSelected ? "font-medium text-blue-600 dark:text-blue-400" : "text-neutral-400 dark:text-neutral-500"
3270
3571
  ),
3271
3572
  children: isSelected ? "Selected" : "Select"
@@ -3284,13 +3585,13 @@ function MobileDataCard({
3284
3585
  children: contentBody
3285
3586
  }
3286
3587
  ) : contentBody,
3287
- statsRenderer ?? (stats && stats.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkNTUQQDCL_js.cn("grid gap-1.5 px-3 pb-3", colsClass[cols]), children: stats.map((stat) => /* @__PURE__ */ jsxRuntime.jsxs(
3588
+ statsRenderer ?? (stats && stats.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkD2BLWOWK_js.cn("grid gap-1.5 px-3 pb-3", colsClass[cols]), children: stats.map((stat) => /* @__PURE__ */ jsxRuntime.jsxs(
3288
3589
  "div",
3289
3590
  {
3290
3591
  className: "flex flex-col items-center rounded-md bg-neutral-100 py-1.5 dark:bg-neutral-800",
3291
3592
  children: [
3292
3593
  /* @__PURE__ */ jsxRuntime.jsx(
3293
- chunkNTUQQDCL_js.Text,
3594
+ chunkD2BLWOWK_js.Text,
3294
3595
  {
3295
3596
  size: "xs",
3296
3597
  as: "span",
@@ -3299,12 +3600,12 @@ function MobileDataCard({
3299
3600
  }
3300
3601
  ),
3301
3602
  /* @__PURE__ */ jsxRuntime.jsx(
3302
- chunkNTUQQDCL_js.Text,
3603
+ chunkD2BLWOWK_js.Text,
3303
3604
  {
3304
3605
  size: "sm",
3305
3606
  weight: "semibold",
3306
3607
  as: "span",
3307
- className: chunkNTUQQDCL_js.cn(
3608
+ className: chunkD2BLWOWK_js.cn(
3308
3609
  "mt-0.5 tabular-nums",
3309
3610
  stat.className ?? "text-neutral-800 dark:text-neutral-200"
3310
3611
  ),
@@ -3323,7 +3624,7 @@ function MobileDataCard({
3323
3624
  className: "flex items-center justify-between",
3324
3625
  children: [
3325
3626
  /* @__PURE__ */ jsxRuntime.jsx(
3326
- chunkNTUQQDCL_js.Text,
3627
+ chunkD2BLWOWK_js.Text,
3327
3628
  {
3328
3629
  size: "xs",
3329
3630
  as: "span",
@@ -3332,7 +3633,7 @@ function MobileDataCard({
3332
3633
  }
3333
3634
  ),
3334
3635
  detail.pill ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex items-center rounded-full bg-blue-50 px-2 py-0.5 dark:bg-blue-900/30", children: /* @__PURE__ */ jsxRuntime.jsx(
3335
- chunkNTUQQDCL_js.Text,
3636
+ chunkD2BLWOWK_js.Text,
3336
3637
  {
3337
3638
  size: "xs",
3338
3639
  weight: "medium",
@@ -3480,6 +3781,7 @@ exports.PopoverContent = PopoverContent;
3480
3781
  exports.PopoverTrigger = PopoverTrigger;
3481
3782
  exports.SegmentedControl = SegmentedControl;
3482
3783
  exports.Select = Select;
3784
+ exports.SelectBar = SelectBar;
3483
3785
  exports.SelectContent = SelectContent;
3484
3786
  exports.SelectGroup = SelectGroup;
3485
3787
  exports.SelectItem = SelectItem;
@@ -3532,5 +3834,5 @@ exports.useColumnVisibility = useColumnVisibility;
3532
3834
  exports.useFormContext = useFormContext;
3533
3835
  exports.useFormFieldContext = useFormFieldContext;
3534
3836
  exports.useTableSelection = useTableSelection;
3535
- //# sourceMappingURL=chunk-ZYPPWLV6.js.map
3536
- //# sourceMappingURL=chunk-ZYPPWLV6.js.map
3837
+ //# sourceMappingURL=chunk-HKUYZ5K6.js.map
3838
+ //# sourceMappingURL=chunk-HKUYZ5K6.js.map