@pos-360/horizon 0.30.2 → 0.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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,282 @@ 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
+ }, ref) => {
891
+ const [open, setOpen] = React11__namespace.useState(false);
892
+ const [search, setSearch] = React11__namespace.useState("");
893
+ const searchRef = React11__namespace.useRef(null);
894
+ const [internalValue, setInternalValue] = React11__namespace.useState(
895
+ void 0
896
+ );
897
+ const [internalMultiValue, setInternalMultiValue] = React11__namespace.useState(
898
+ []
899
+ );
900
+ const [draftValue, setDraftValue] = React11__namespace.useState(
901
+ void 0
902
+ );
903
+ const [draftMultiValue, setDraftMultiValue] = React11__namespace.useState([]);
904
+ const committedSingle = value !== void 0 ? value : internalValue;
905
+ const committedMulti = multiValue !== void 0 ? multiValue : internalMultiValue;
906
+ const activeSingle = manualApply ? draftValue : committedSingle;
907
+ const activeMulti = manualApply ? draftMultiValue : committedMulti;
908
+ const commitSingle = React11__namespace.useCallback(
909
+ (v) => {
910
+ if (value === void 0) setInternalValue(v);
911
+ onChange?.(v);
912
+ },
913
+ [value, onChange]
914
+ );
915
+ const commitMulti = React11__namespace.useCallback(
916
+ (v) => {
917
+ if (multiValue === void 0) setInternalMultiValue(v);
918
+ onMultiChange?.(v);
919
+ },
920
+ [multiValue, onMultiChange]
921
+ );
922
+ const handleOpenChange = (newOpen) => {
923
+ if (newOpen) {
924
+ setDraftValue(committedSingle);
925
+ setDraftMultiValue(committedMulti);
926
+ setSearch("");
927
+ if (searchable) {
928
+ requestAnimationFrame(() => searchRef.current?.focus());
929
+ }
930
+ }
931
+ setOpen(newOpen);
932
+ };
933
+ const filtered = React11__namespace.useMemo(
934
+ () => search ? options.filter(
935
+ (o) => o.label.toLowerCase().includes(search.toLowerCase())
936
+ ) : options,
937
+ [options, search]
938
+ );
939
+ const handleSingleSelect = (optionValue) => {
940
+ if (manualApply) {
941
+ setDraftValue(optionValue);
942
+ } else {
943
+ commitSingle(optionValue);
944
+ setOpen(false);
945
+ }
946
+ };
947
+ const handleMultiToggle = (optionValue) => {
948
+ const current = manualApply ? draftMultiValue : committedMulti;
949
+ const next = current.includes(optionValue) ? current.filter((v) => v !== optionValue) : [...current, optionValue];
950
+ if (manualApply) {
951
+ setDraftMultiValue(next);
952
+ } else {
953
+ commitMulti(next);
954
+ }
955
+ };
956
+ const handleApply = () => {
957
+ if (multiple) {
958
+ commitMulti(draftMultiValue);
959
+ } else {
960
+ commitSingle(draftValue);
961
+ }
962
+ setOpen(false);
963
+ };
964
+ const handleClear = () => {
965
+ if (manualApply) {
966
+ if (multiple) {
967
+ setDraftMultiValue([]);
968
+ } else {
969
+ setDraftValue(void 0);
970
+ }
971
+ } else {
972
+ if (multiple) {
973
+ commitMulti([]);
974
+ } else {
975
+ commitSingle(void 0);
976
+ }
977
+ setOpen(false);
978
+ }
979
+ };
980
+ const canApply = (() => {
981
+ if (!manualApply) return false;
982
+ if (multiple) {
983
+ const a = [...draftMultiValue].sort();
984
+ const b = [...committedMulti].sort();
985
+ return JSON.stringify(a) !== JSON.stringify(b);
986
+ }
987
+ return draftValue !== committedSingle;
988
+ })();
989
+ const canClear = (() => {
990
+ if (manualApply) {
991
+ return multiple ? draftMultiValue.length > 0 : draftValue !== void 0;
992
+ }
993
+ return multiple ? committedMulti.length > 0 : committedSingle !== void 0;
994
+ })();
995
+ const labelFor = (v) => options.find((o) => o.value === v)?.label ?? v;
996
+ const renderTriggerContent = () => {
997
+ if (multiple) {
998
+ if (committedMulti.length === 0) {
999
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500 truncate", children: placeholder });
1000
+ }
1001
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-gray-900 dark:text-gray-100", children: committedMulti.length === options.length ? "All selected" : `${committedMulti.length} selected` });
1002
+ }
1003
+ if (committedSingle !== void 0) {
1004
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-gray-900 dark:text-gray-100", children: labelFor(committedSingle) });
1005
+ }
1006
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400 dark:text-gray-500 truncate", children: placeholder });
1007
+ };
1008
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkD2BLWOWK_js.cn("space-y-1.5", className), children: [
1009
+ label && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Label, { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: label }),
1010
+ /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
1011
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1012
+ "button",
1013
+ {
1014
+ ref,
1015
+ type: "button",
1016
+ disabled,
1017
+ className: chunkD2BLWOWK_js.cn(
1018
+ "flex h-[52px] min-h-[52px] 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",
1019
+ "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
1020
+ "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
1021
+ "disabled:pointer-events-none disabled:opacity-50"
1022
+ ),
1023
+ children: [
1024
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 min-w-0 flex items-center", children: renderTriggerContent() }),
1025
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4 shrink-0 opacity-50" })
1026
+ ]
1027
+ }
1028
+ ) }),
1029
+ /* @__PURE__ */ jsxRuntime.jsxs(
1030
+ PopoverContent,
1031
+ {
1032
+ align: "start",
1033
+ className: "w-[var(--radix-popover-trigger-width)] min-w-[200px] p-0 overflow-hidden",
1034
+ children: [
1035
+ searchable && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b border-neutral-200/50 dark:border-neutral-700/50", children: [
1036
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-6 w-6 shrink-0 opacity-50 pl-2" }),
1037
+ /* @__PURE__ */ jsxRuntime.jsx(
1038
+ "input",
1039
+ {
1040
+ ref: searchRef,
1041
+ value: search,
1042
+ onChange: (e) => setSearch(e.target.value),
1043
+ placeholder: searchPlaceholder,
1044
+ onKeyDown: (e) => e.stopPropagation(),
1045
+ 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"
1046
+ }
1047
+ )
1048
+ ] }),
1049
+ /* @__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) => {
1050
+ if (multiple) {
1051
+ const checked = activeMulti.includes(option.value);
1052
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1053
+ "button",
1054
+ {
1055
+ type: "button",
1056
+ disabled: option.disabled,
1057
+ onClick: () => handleMultiToggle(option.value),
1058
+ className: chunkD2BLWOWK_js.cn(
1059
+ "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",
1060
+ "hover:bg-black/5 dark:hover:bg-white/10",
1061
+ option.disabled && "pointer-events-none opacity-50"
1062
+ ),
1063
+ children: [
1064
+ /* @__PURE__ */ jsxRuntime.jsx(
1065
+ CheckboxPrimitive__namespace.Root,
1066
+ {
1067
+ checked,
1068
+ tabIndex: -1,
1069
+ className: chunkD2BLWOWK_js.cn(
1070
+ "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"
1071
+ ),
1072
+ style: { pointerEvents: "none" },
1073
+ children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className: "flex items-center justify-center text-current", children: /* @__PURE__ */ jsxRuntime.jsx(
1074
+ lucideReact.Check,
1075
+ {
1076
+ className: "h-3.5 w-3.5",
1077
+ strokeWidth: 3
1078
+ }
1079
+ ) })
1080
+ }
1081
+ ),
1082
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: option.label })
1083
+ ]
1084
+ },
1085
+ option.value
1086
+ );
1087
+ }
1088
+ const selected = activeSingle === option.value;
1089
+ return /* @__PURE__ */ jsxRuntime.jsxs(
1090
+ "button",
1091
+ {
1092
+ type: "button",
1093
+ disabled: option.disabled,
1094
+ onClick: () => handleSingleSelect(option.value),
1095
+ className: chunkD2BLWOWK_js.cn(
1096
+ "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",
1097
+ "hover:bg-black/5 dark:hover:bg-white/10",
1098
+ option.disabled && "pointer-events-none opacity-50"
1099
+ ),
1100
+ children: [
1101
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: option.label }),
1102
+ 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" }) })
1103
+ ]
1104
+ },
1105
+ option.value
1106
+ );
1107
+ }) }),
1108
+ 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: [
1109
+ /* @__PURE__ */ jsxRuntime.jsx(
1110
+ "button",
1111
+ {
1112
+ type: "button",
1113
+ onClick: handleClear,
1114
+ disabled: !canClear,
1115
+ className: chunkD2BLWOWK_js.cn(
1116
+ "px-3 py-1.5 rounded-md text-sm transition-colors",
1117
+ 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"
1118
+ ),
1119
+ children: "Clear"
1120
+ }
1121
+ ),
1122
+ /* @__PURE__ */ jsxRuntime.jsx(
1123
+ "button",
1124
+ {
1125
+ type: "button",
1126
+ onClick: handleApply,
1127
+ disabled: !canApply,
1128
+ className: chunkD2BLWOWK_js.cn(
1129
+ "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
1130
+ 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"
1131
+ ),
1132
+ children: "Apply"
1133
+ }
1134
+ )
1135
+ ] })
1136
+ ]
1137
+ }
1138
+ )
1139
+ ] })
1140
+ ] });
1141
+ });
1142
+ SelectBar.displayName = "SelectBar";
876
1143
  var separatorVariants = classVarianceAuthority.cva("shrink-0 bg-gray-200 dark:bg-neutral-700", {
877
1144
  variants: {
878
1145
  orientation: {
@@ -895,7 +1162,7 @@ function Separator3({
895
1162
  {
896
1163
  role: decorative ? "none" : "separator",
897
1164
  "aria-orientation": decorative ? void 0 : orientation ?? void 0,
898
- className: chunkNTUQQDCL_js.cn(separatorVariants({ orientation }), className),
1165
+ className: chunkD2BLWOWK_js.cn(separatorVariants({ orientation }), className),
899
1166
  ...props
900
1167
  }
901
1168
  );
@@ -904,7 +1171,7 @@ function Skeleton({ className }) {
904
1171
  return /* @__PURE__ */ jsxRuntime.jsx(
905
1172
  "div",
906
1173
  {
907
- className: chunkNTUQQDCL_js.cn(
1174
+ className: chunkD2BLWOWK_js.cn(
908
1175
  "animate-pulse rounded-hz-md bg-neutral-200 dark:bg-neutral-800",
909
1176
  className
910
1177
  )
@@ -912,28 +1179,28 @@ function Skeleton({ className }) {
912
1179
  );
913
1180
  }
914
1181
  function SkeletonText({ className }) {
915
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-4", className) });
1182
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-4", className) });
916
1183
  }
917
1184
  function SkeletonTitle({ className }) {
918
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-6 w-48", className) });
1185
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-6 w-48", className) });
919
1186
  }
920
1187
  function SkeletonSubtitle({ className }) {
921
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-3 w-64", className) });
1188
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-3 w-64", className) });
922
1189
  }
923
1190
  function SkeletonAvatar({ className }) {
924
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("w-10 h-10 rounded", className) });
1191
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("w-10 h-10 rounded", className) });
925
1192
  }
926
1193
  function SkeletonBadge({ className }) {
927
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-6 w-24", className) });
1194
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-6 w-24", className) });
928
1195
  }
929
1196
  function SkeletonIcon({ className }) {
930
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("w-6 h-6 rounded", className) });
1197
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("w-6 h-6 rounded", className) });
931
1198
  }
932
1199
  function SkeletonButton({ className }) {
933
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-10 w-24 rounded-hz-md", className) });
1200
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-10 w-24 rounded-hz-md", className) });
934
1201
  }
935
1202
  function SkeletonInput({ className }) {
936
- return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkNTUQQDCL_js.cn("h-10 w-full rounded-hz-md", className) });
1203
+ return /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: chunkD2BLWOWK_js.cn("h-10 w-full rounded-hz-md", className) });
937
1204
  }
938
1205
  function SkeletonTableRow({
939
1206
  columns = 4,
@@ -951,7 +1218,7 @@ function SkeletonCard({ className }) {
951
1218
  return /* @__PURE__ */ jsxRuntime.jsxs(
952
1219
  "div",
953
1220
  {
954
- className: chunkNTUQQDCL_js.cn(
1221
+ className: chunkD2BLWOWK_js.cn(
955
1222
  "rounded-hz-lg border bg-card p-6 space-y-4",
956
1223
  className
957
1224
  ),
@@ -1025,7 +1292,7 @@ function SegmentedControl({
1025
1292
  {
1026
1293
  ...props,
1027
1294
  ...value !== void 0 ? { value, onValueChange: onChange } : {},
1028
- className: chunkNTUQQDCL_js.cn(
1295
+ className: chunkD2BLWOWK_js.cn(
1029
1296
  segmentedControlVariants({ size }),
1030
1297
  containerRadiusClass[radius],
1031
1298
  className
@@ -1035,7 +1302,7 @@ function SegmentedControl({
1035
1302
  {
1036
1303
  value: option.value,
1037
1304
  disabled: option.disabled,
1038
- className: chunkNTUQQDCL_js.cn(
1305
+ className: chunkD2BLWOWK_js.cn(
1039
1306
  segmentedControlItemVariants({ size }),
1040
1307
  itemRadiusClass[radius],
1041
1308
  "border border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
@@ -1053,8 +1320,8 @@ function SegmentedControl({
1053
1320
  );
1054
1321
  }
1055
1322
  function BulkEditPopover({ column, onApply }) {
1056
- const [value, setValue] = React10__namespace.useState("");
1057
- const [open, setOpen] = React10__namespace.useState(false);
1323
+ const [value, setValue] = React11__namespace.useState("");
1324
+ const [open, setOpen] = React11__namespace.useState(false);
1058
1325
  const { bulkEdit } = column;
1059
1326
  if (!bulkEdit) return null;
1060
1327
  const isValid = bulkEdit.kind === "input" ? !!value.trim() : !!value;
@@ -1072,7 +1339,7 @@ function BulkEditPopover({ column, onApply }) {
1072
1339
  }
1073
1340
  if (!next) setValue("");
1074
1341
  };
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: [
1342
+ 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
1343
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1077
1344
  "button",
1078
1345
  {
@@ -1083,7 +1350,7 @@ function BulkEditPopover({ column, onApply }) {
1083
1350
  children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, { className: "h-3.5 w-3.5" })
1084
1351
  }
1085
1352
  ) }),
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: [
1353
+ /* @__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
1354
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide", children: [
1088
1355
  "Apply to all \u2014 ",
1089
1356
  headingLabel
@@ -1104,7 +1371,7 @@ function BulkEditPopover({ column, onApply }) {
1104
1371
  }
1105
1372
  },
1106
1373
  autoFocus: true,
1107
- className: chunkNTUQQDCL_js.cn(
1374
+ className: chunkD2BLWOWK_js.cn(
1108
1375
  "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
1376
  bulkEdit.leadingDecorator ? "pl-7 pr-3" : "px-3"
1110
1377
  )
@@ -1128,12 +1395,12 @@ function BulkEditPopover({ column, onApply }) {
1128
1395
  ] })
1129
1396
  ] }) }) });
1130
1397
  }
1131
- var TableContext = React10__namespace.createContext(null);
1398
+ var TableContext = React11__namespace.createContext(null);
1132
1399
  var useTableContext = () => {
1133
- const context = React10__namespace.useContext(TableContext);
1400
+ const context = React11__namespace.useContext(TableContext);
1134
1401
  return context;
1135
1402
  };
1136
- var TableInner = React10__namespace.forwardRef(
1403
+ var TableInner = React11__namespace.forwardRef(
1137
1404
  ({
1138
1405
  className,
1139
1406
  selectionMode = "multiple",
@@ -1159,23 +1426,23 @@ var TableInner = React10__namespace.forwardRef(
1159
1426
  }, ref) => {
1160
1427
  const effectiveActionColumns = actionColumns ?? [];
1161
1428
  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);
1429
+ const [internalSelectedRows, setInternalSelectedRows] = React11__namespace.useState(/* @__PURE__ */ new Set());
1430
+ const [registeredRowIds, setRegisteredRowIds] = React11__namespace.useState(/* @__PURE__ */ new Set());
1431
+ const wrapperRef = React11__namespace.useRef(null);
1165
1432
  const isControlled = controlledSelectedRows !== void 0;
1166
1433
  const selectedRowsSet = isControlled ? new Set(controlledSelectedRows) : internalSelectedRows;
1167
- const defaultGetRowId = React10__namespace.useCallback((row) => {
1434
+ const defaultGetRowId = React11__namespace.useCallback((row) => {
1168
1435
  if (typeof row === "string") return row;
1169
1436
  if (typeof row === "object" && row?.id) return String(row.id);
1170
1437
  return String(row);
1171
1438
  }, []);
1172
1439
  const finalGetRowId = getRowId || defaultGetRowId;
1173
- const allRowIds = React10__namespace.useMemo(() => {
1440
+ const allRowIds = React11__namespace.useMemo(() => {
1174
1441
  if (rows) return new Set(rows.map(finalGetRowId));
1175
1442
  if (data) return new Set(data.map(finalGetRowId));
1176
1443
  return registeredRowIds;
1177
1444
  }, [rows, data, finalGetRowId, registeredRowIds]);
1178
- const registerRowId = React10__namespace.useCallback((rowId) => {
1445
+ const registerRowId = React11__namespace.useCallback((rowId) => {
1179
1446
  if (rowId) {
1180
1447
  setRegisteredRowIds((prev) => {
1181
1448
  if (prev.has(rowId)) return prev;
@@ -1183,7 +1450,7 @@ var TableInner = React10__namespace.forwardRef(
1183
1450
  });
1184
1451
  }
1185
1452
  }, []);
1186
- const unregisterRowId = React10__namespace.useCallback((rowId) => {
1453
+ const unregisterRowId = React11__namespace.useCallback((rowId) => {
1187
1454
  if (rowId) {
1188
1455
  setRegisteredRowIds((prev) => {
1189
1456
  if (!prev.has(rowId)) return prev;
@@ -1193,7 +1460,7 @@ var TableInner = React10__namespace.forwardRef(
1193
1460
  });
1194
1461
  }
1195
1462
  }, []);
1196
- const toggleRow = React10__namespace.useCallback(
1463
+ const toggleRow = React11__namespace.useCallback(
1197
1464
  (rowId) => {
1198
1465
  if (!effectiveSelectable) return;
1199
1466
  const next = new Set(selectedRowsSet);
@@ -1218,7 +1485,7 @@ var TableInner = React10__namespace.forwardRef(
1218
1485
  },
1219
1486
  [effectiveSelectable, selectionMode, selectedRowsSet, isControlled, onSelectionChange]
1220
1487
  );
1221
- const selectAll = React10__namespace.useCallback(() => {
1488
+ const selectAll = React11__namespace.useCallback(() => {
1222
1489
  if (!effectiveSelectable || selectionMode !== "multiple" || allRowIds.size === 0) return;
1223
1490
  const next = new Set(allRowIds);
1224
1491
  if (isControlled) {
@@ -1228,7 +1495,7 @@ var TableInner = React10__namespace.forwardRef(
1228
1495
  onSelectionChange?.(Array.from(next));
1229
1496
  }
1230
1497
  }, [effectiveSelectable, selectionMode, allRowIds, isControlled, onSelectionChange]);
1231
- const deselectAll = React10__namespace.useCallback(() => {
1498
+ const deselectAll = React11__namespace.useCallback(() => {
1232
1499
  if (!effectiveSelectable) return;
1233
1500
  const next = /* @__PURE__ */ new Set();
1234
1501
  if (isControlled) {
@@ -1238,19 +1505,19 @@ var TableInner = React10__namespace.forwardRef(
1238
1505
  onSelectionChange?.(Array.from(next));
1239
1506
  }
1240
1507
  }, [effectiveSelectable, isControlled, onSelectionChange]);
1241
- const isRowSelected = React10__namespace.useCallback(
1508
+ const isRowSelected = React11__namespace.useCallback(
1242
1509
  (rowId) => selectedRowsSet.has(rowId),
1243
1510
  [selectedRowsSet]
1244
1511
  );
1245
- const isAllSelected = React10__namespace.useMemo(() => {
1512
+ const isAllSelected = React11__namespace.useMemo(() => {
1246
1513
  if (!effectiveSelectable || allRowIds.size === 0) return false;
1247
1514
  return allRowIds.size > 0 && Array.from(allRowIds).every((id) => selectedRowsSet.has(id));
1248
1515
  }, [effectiveSelectable, allRowIds, selectedRowsSet]);
1249
- const isSomeSelected = React10__namespace.useMemo(() => {
1516
+ const isSomeSelected = React11__namespace.useMemo(() => {
1250
1517
  if (!effectiveSelectable) return false;
1251
1518
  return selectedRowsSet.size > 0 && !isAllSelected;
1252
1519
  }, [effectiveSelectable, selectedRowsSet.size, isAllSelected]);
1253
- const contextValue = React10__namespace.useMemo(() => ({
1520
+ const contextValue = React11__namespace.useMemo(() => ({
1254
1521
  selectable: effectiveSelectable,
1255
1522
  selectionMode,
1256
1523
  selectedRows: selectedRowsSet,
@@ -1279,7 +1546,7 @@ var TableInner = React10__namespace.forwardRef(
1279
1546
  unregisterRowId,
1280
1547
  stickyYHeader
1281
1548
  ]);
1282
- React10__namespace.useEffect(() => {
1549
+ React11__namespace.useEffect(() => {
1283
1550
  const wrapper = wrapperRef.current;
1284
1551
  if (!wrapper || highlightMode === "none") return;
1285
1552
  let prevCell = null;
@@ -1335,12 +1602,12 @@ var TableInner = React10__namespace.forwardRef(
1335
1602
  "div",
1336
1603
  {
1337
1604
  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),
1605
+ 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
1606
  children: /* @__PURE__ */ jsxRuntime.jsx(
1340
1607
  "table",
1341
1608
  {
1342
1609
  ref,
1343
- className: chunkNTUQQDCL_js.cn("w-full caption-bottom text-sm", className),
1610
+ className: chunkD2BLWOWK_js.cn("w-full caption-bottom text-sm", className),
1344
1611
  ...props,
1345
1612
  children: columns && data ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: (() => {
1346
1613
  const filteredCols = columns.filter(
@@ -1393,7 +1660,7 @@ var TableInner = React10__namespace.forwardRef(
1393
1660
  ...col.stickyXHeader ? { left: stickyOffsets[col.key] } : {},
1394
1661
  ...col.stickyXHeader && stickyYHeader ? { boxShadow: xyShadow } : col.stickyXHeader ? { boxShadow: xShadow } : stickyYHeader ? { boxShadow: yShadow } : {}
1395
1662
  },
1396
- className: chunkNTUQQDCL_js.cn(
1663
+ className: chunkD2BLWOWK_js.cn(
1397
1664
  "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400",
1398
1665
  stickyYHeader && "sticky top-0 z-20 bg-gray-50 dark:bg-neutral-800",
1399
1666
  col.stickyXHeader && "sticky z-20 bg-gray-50 dark:bg-neutral-800",
@@ -1420,7 +1687,7 @@ var TableInner = React10__namespace.forwardRef(
1420
1687
  "tr",
1421
1688
  {
1422
1689
  "data-state": isSelected ? "selected" : void 0,
1423
- className: chunkNTUQQDCL_js.cn(
1690
+ className: chunkD2BLWOWK_js.cn(
1424
1691
  "border-b border-gray-200 transition-colors dark:border-neutral-700",
1425
1692
  isSelected ? "bg-blue-50 dark:bg-blue-900/20" : (highlightMode === "row" || highlightMode === "cross") && "hover:bg-gray-50 dark:hover:bg-neutral-800/50",
1426
1693
  onRowClick && "cursor-pointer"
@@ -1442,9 +1709,9 @@ var TableInner = React10__namespace.forwardRef(
1442
1709
  }
1443
1710
  contextValue.toggleRow(rowId);
1444
1711
  } : col.key === "__delete__" ? (e) => e.stopPropagation() : void 0,
1445
- className: chunkNTUQQDCL_js.cn(
1712
+ className: chunkD2BLWOWK_js.cn(
1446
1713
  "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"),
1714
+ col.stickyXHeader && chunkD2BLWOWK_js.cn("sticky z-20", isSelected ? "bg-blue-50 dark:bg-[#242a3a]" : "bg-gray-50 dark:bg-neutral-800"),
1448
1715
  showDividers && "border-r border-gray-200 dark:border-neutral-700",
1449
1716
  typeof col.cellClassName === "function" ? col.cellClassName(row) : col.cellClassName
1450
1717
  ),
@@ -1466,29 +1733,29 @@ var TableInner = React10__namespace.forwardRef(
1466
1733
  );
1467
1734
  TableInner.displayName = "Table";
1468
1735
  var Table = TableInner;
1469
- var TableHeader = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1736
+ var TableHeader = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1470
1737
  "thead",
1471
1738
  {
1472
1739
  ref,
1473
- className: chunkNTUQQDCL_js.cn("[&_tr]:border-b [&_tr]:border-gray-200 dark:[&_tr]:border-gray-700", className),
1740
+ className: chunkD2BLWOWK_js.cn("[&_tr]:border-b [&_tr]:border-gray-200 dark:[&_tr]:border-gray-700", className),
1474
1741
  ...props
1475
1742
  }
1476
1743
  ));
1477
1744
  TableHeader.displayName = "TableHeader";
1478
- var TableBody = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1745
+ var TableBody = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1479
1746
  "tbody",
1480
1747
  {
1481
1748
  ref,
1482
- className: chunkNTUQQDCL_js.cn("[&_tr:last-child]:border-0", className),
1749
+ className: chunkD2BLWOWK_js.cn("[&_tr:last-child]:border-0", className),
1483
1750
  ...props
1484
1751
  }
1485
1752
  ));
1486
1753
  TableBody.displayName = "TableBody";
1487
- var TableFooter = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1754
+ var TableFooter = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1488
1755
  "tfoot",
1489
1756
  {
1490
1757
  ref,
1491
- className: chunkNTUQQDCL_js.cn(
1758
+ className: chunkD2BLWOWK_js.cn(
1492
1759
  "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
1760
  className
1494
1761
  ),
@@ -1496,19 +1763,19 @@ var TableFooter = React10__namespace.forwardRef(({ className, ...props }, ref) =
1496
1763
  }
1497
1764
  ));
1498
1765
  TableFooter.displayName = "TableFooter";
1499
- var TableRow = React10__namespace.forwardRef(
1766
+ var TableRow = React11__namespace.forwardRef(
1500
1767
  ({ className, rowId, rowData, onClick, ...props }, ref) => {
1501
1768
  const context = useTableContext();
1502
1769
  const getRowId = context?.getRowId;
1503
1770
  const selectable = context?.selectable;
1504
1771
  const registerRowId = context?.registerRowId;
1505
1772
  const unregisterRowId = context?.unregisterRowId;
1506
- const finalRowId = React10__namespace.useMemo(() => {
1773
+ const finalRowId = React11__namespace.useMemo(() => {
1507
1774
  if (rowId) return rowId;
1508
1775
  if (rowData && getRowId) return getRowId(rowData);
1509
1776
  return props.id || void 0;
1510
1777
  }, [rowId, rowData, getRowId, props.id]);
1511
- React10__namespace.useEffect(() => {
1778
+ React11__namespace.useEffect(() => {
1512
1779
  if (finalRowId && selectable) {
1513
1780
  registerRowId?.(finalRowId);
1514
1781
  return () => {
@@ -1517,7 +1784,7 @@ var TableRow = React10__namespace.forwardRef(
1517
1784
  }
1518
1785
  }, [finalRowId, selectable, registerRowId, unregisterRowId]);
1519
1786
  const isSelected = finalRowId ? context?.isRowSelected(finalRowId) : false;
1520
- const handleClick = React10__namespace.useCallback(
1787
+ const handleClick = React11__namespace.useCallback(
1521
1788
  (e) => {
1522
1789
  onClick?.(e);
1523
1790
  },
@@ -1529,7 +1796,7 @@ var TableRow = React10__namespace.forwardRef(
1529
1796
  ref,
1530
1797
  "data-state": isSelected ? "selected" : void 0,
1531
1798
  "data-row-id": finalRowId,
1532
- className: chunkNTUQQDCL_js.cn(
1799
+ className: chunkD2BLWOWK_js.cn(
1533
1800
  "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
1801
  className
1535
1802
  ),
@@ -1540,7 +1807,7 @@ var TableRow = React10__namespace.forwardRef(
1540
1807
  }
1541
1808
  );
1542
1809
  TableRow.displayName = "TableRow";
1543
- var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, ref) => {
1810
+ var TableHead = React11__namespace.forwardRef(({ className, style, ...props }, ref) => {
1544
1811
  const context = useTableContext();
1545
1812
  const isDark = typeof document !== "undefined" && document.documentElement.classList.contains("dark");
1546
1813
  const yShadow = `inset 0 -1px 0 0 ${isDark ? "rgba(255,255,255,0.1)" : "rgba(0,0,0,0.1)"}`;
@@ -1549,7 +1816,7 @@ var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, r
1549
1816
  {
1550
1817
  ref,
1551
1818
  style: context?.stickyHeader ? { boxShadow: yShadow, ...style } : style,
1552
- className: chunkNTUQQDCL_js.cn(
1819
+ className: chunkD2BLWOWK_js.cn(
1553
1820
  "h-12 px-4 text-left align-middle font-medium text-gray-500 dark:text-gray-400 [&:has([role=checkbox])]:pr-0",
1554
1821
  context?.stickyHeader && "sticky top-0 z-20 bg-gray-50 dark:bg-neutral-800",
1555
1822
  className
@@ -1559,12 +1826,12 @@ var TableHead = React10__namespace.forwardRef(({ className, style, ...props }, r
1559
1826
  );
1560
1827
  });
1561
1828
  TableHead.displayName = "TableHead";
1562
- var TableCell = React10__namespace.forwardRef(
1829
+ var TableCell = React11__namespace.forwardRef(
1563
1830
  ({ className, variant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1564
1831
  "td",
1565
1832
  {
1566
1833
  ref,
1567
- className: chunkNTUQQDCL_js.cn(
1834
+ className: chunkD2BLWOWK_js.cn(
1568
1835
  "align-middle [&:has([role=checkbox])]:pr-0",
1569
1836
  variant === "embed" ? "p-1.5" : "p-4",
1570
1837
  className
@@ -1574,16 +1841,16 @@ var TableCell = React10__namespace.forwardRef(
1574
1841
  )
1575
1842
  );
1576
1843
  TableCell.displayName = "TableCell";
1577
- var TableCaption = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1844
+ var TableCaption = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1578
1845
  "caption",
1579
1846
  {
1580
1847
  ref,
1581
- className: chunkNTUQQDCL_js.cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className),
1848
+ className: chunkD2BLWOWK_js.cn("mt-4 text-sm text-gray-500 dark:text-gray-400", className),
1582
1849
  ...props
1583
1850
  }
1584
1851
  ));
1585
1852
  TableCaption.displayName = "TableCaption";
1586
- var TableSelectAll = React10__namespace.forwardRef(({ className, ...props }, ref) => {
1853
+ var TableSelectAll = React11__namespace.forwardRef(({ className, ...props }, ref) => {
1587
1854
  const context = useTableContext();
1588
1855
  if (!context?.selectable || context.selectionMode !== "multiple") {
1589
1856
  return null;
@@ -1607,13 +1874,13 @@ var TableSelectAll = React10__namespace.forwardRef(({ className, ...props }, ref
1607
1874
  ) });
1608
1875
  });
1609
1876
  TableSelectAll.displayName = "TableSelectAll";
1610
- var TableRowCheckbox = React10__namespace.forwardRef(({ rowId, rowData, className, ...props }, ref) => {
1877
+ var TableRowCheckbox = React11__namespace.forwardRef(({ rowId, rowData, className, ...props }, ref) => {
1611
1878
  const context = useTableContext();
1612
1879
  const getRowId = context?.getRowId;
1613
1880
  if (!context?.selectable) {
1614
1881
  return null;
1615
1882
  }
1616
- const finalRowId = React10__namespace.useMemo(() => {
1883
+ const finalRowId = React11__namespace.useMemo(() => {
1617
1884
  if (rowId) return rowId;
1618
1885
  if (rowData && getRowId) return getRowId(rowData);
1619
1886
  return void 0;
@@ -1651,7 +1918,7 @@ function getDefaultColumns(columns, isMobile) {
1651
1918
  }
1652
1919
  function useColumnVisibility(columns, options = {}) {
1653
1920
  const { storageKey } = options;
1654
- const [visibleColumns, setVisibleColumnsState] = React10.useState(() => {
1921
+ const [visibleColumns, setVisibleColumnsState] = React11.useState(() => {
1655
1922
  if (storageKey && typeof window !== "undefined") {
1656
1923
  try {
1657
1924
  const saved = localStorage.getItem(storageKey);
@@ -1665,7 +1932,7 @@ function useColumnVisibility(columns, options = {}) {
1665
1932
  }
1666
1933
  return getDefaultColumns(columns, false);
1667
1934
  });
1668
- React10.useEffect(() => {
1935
+ React11.useEffect(() => {
1669
1936
  if (storageKey) {
1670
1937
  try {
1671
1938
  const saved = localStorage.getItem(storageKey);
@@ -1678,7 +1945,7 @@ function useColumnVisibility(columns, options = {}) {
1678
1945
  setVisibleColumnsState(getDefaultColumns(columns, true));
1679
1946
  }
1680
1947
  }, []);
1681
- const setVisibleColumns = React10.useCallback((cols) => {
1948
+ const setVisibleColumns = React11.useCallback((cols) => {
1682
1949
  const stickyKeys = columns.filter((c) => c.stickyXHeader).map((c) => c.key);
1683
1950
  const merged = Array.from(/* @__PURE__ */ new Set([...stickyKeys, ...cols]));
1684
1951
  setVisibleColumnsState(merged);
@@ -1698,7 +1965,7 @@ function ColumnSelection({
1698
1965
  triggerLabel = "Manage Columns",
1699
1966
  trigger
1700
1967
  }) {
1701
- const handleToggle = React10__namespace.useCallback((key, checked) => {
1968
+ const handleToggle = React11__namespace.useCallback((key, checked) => {
1702
1969
  if (checked) {
1703
1970
  if (!visibleColumns.includes(key)) {
1704
1971
  onVisibleColumnsChange([...visibleColumns, key]);
@@ -1720,7 +1987,7 @@ function ColumnSelection({
1720
1987
  return /* @__PURE__ */ jsxRuntime.jsxs(
1721
1988
  "label",
1722
1989
  {
1723
- className: chunkNTUQQDCL_js.cn(
1990
+ className: chunkD2BLWOWK_js.cn(
1724
1991
  "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
1992
  isSticky && "opacity-50 cursor-not-allowed"
1726
1993
  ),
@@ -1745,33 +2012,33 @@ function ColumnSelection({
1745
2012
  ] })
1746
2013
  ] });
1747
2014
  }
1748
- var TabsContext = React10__namespace.createContext(null);
2015
+ var TabsContext = React11__namespace.createContext(null);
1749
2016
  var useTabsContext = () => {
1750
- const context = React10__namespace.useContext(TabsContext);
2017
+ const context = React11__namespace.useContext(TabsContext);
1751
2018
  if (!context) {
1752
2019
  throw new Error("Tabs components must be used within a Tabs provider");
1753
2020
  }
1754
2021
  return context;
1755
2022
  };
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(
2023
+ var TabsListContext = React11__namespace.createContext({ variant: "pill" });
2024
+ var useTabsListContext = () => React11__namespace.useContext(TabsListContext);
2025
+ var Tabs = React11__namespace.forwardRef(({ defaultValue, value, onValueChange, children, ...props }, ref) => {
2026
+ const [activeTab, setActiveTabState] = React11__namespace.useState(value ?? defaultValue);
2027
+ const tabRefs = React11__namespace.useRef(/* @__PURE__ */ new Map()).current;
2028
+ const listRef = React11__namespace.useRef(null);
2029
+ const setActiveTab = React11__namespace.useCallback(
1763
2030
  (newValue) => {
1764
2031
  setActiveTabState(newValue);
1765
2032
  onValueChange?.(newValue);
1766
2033
  },
1767
2034
  [onValueChange]
1768
2035
  );
1769
- React10__namespace.useEffect(() => {
2036
+ React11__namespace.useEffect(() => {
1770
2037
  if (value !== void 0) {
1771
2038
  setActiveTabState(value);
1772
2039
  }
1773
2040
  }, [value]);
1774
- const registerTab = React10__namespace.useCallback(
2041
+ const registerTab = React11__namespace.useCallback(
1775
2042
  (tabValue, element) => {
1776
2043
  tabRefs.set(tabValue, element);
1777
2044
  },
@@ -1796,10 +2063,10 @@ var Tabs = React10__namespace.forwardRef(({ defaultValue, value, onValueChange,
1796
2063
  );
1797
2064
  });
1798
2065
  Tabs.displayName = "Tabs";
1799
- var TabsList = React10__namespace.forwardRef(({ className, children, variant = "pill", ...props }, ref) => {
2066
+ var TabsList = React11__namespace.forwardRef(({ className, children, variant = "pill", ...props }, ref) => {
1800
2067
  const { activeTab, tabRefs, listRef } = useTabsContext();
1801
- const [indicatorStyle, setIndicatorStyle] = React10__namespace.useState(null);
1802
- React10__namespace.useEffect(() => {
2068
+ const [indicatorStyle, setIndicatorStyle] = React11__namespace.useState(null);
2069
+ React11__namespace.useEffect(() => {
1803
2070
  if (variant !== "pill") return;
1804
2071
  const updateIndicator = () => {
1805
2072
  if (!activeTab || !listRef.current) return;
@@ -1824,7 +2091,7 @@ var TabsList = React10__namespace.forwardRef(({ className, children, variant = "
1824
2091
  else if (ref) ref.current = node;
1825
2092
  listRef.current = node;
1826
2093
  },
1827
- className: chunkNTUQQDCL_js.cn(
2094
+ className: chunkD2BLWOWK_js.cn(
1828
2095
  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
2096
  className
1830
2097
  ),
@@ -1852,11 +2119,11 @@ var TabsList = React10__namespace.forwardRef(({ className, children, variant = "
1852
2119
  ) });
1853
2120
  });
1854
2121
  TabsList.displayName = TabsPrimitive__namespace.List.displayName;
1855
- var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, children, ...props }, ref) => {
2122
+ var TabsTrigger = React11__namespace.forwardRef(({ className, value, icon, children, ...props }, ref) => {
1856
2123
  const { registerTab, activeTab } = useTabsContext();
1857
2124
  const { variant } = useTabsListContext();
1858
- const triggerRef = React10__namespace.useRef(null);
1859
- React10__namespace.useEffect(() => {
2125
+ const triggerRef = React11__namespace.useRef(null);
2126
+ React11__namespace.useEffect(() => {
1860
2127
  registerTab(value, triggerRef.current);
1861
2128
  return () => registerTab(value, null);
1862
2129
  }, [value, registerTab]);
@@ -1870,12 +2137,12 @@ var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, child
1870
2137
  else if (ref) ref.current = node;
1871
2138
  },
1872
2139
  value,
1873
- className: chunkNTUQQDCL_js.cn(
2140
+ className: chunkD2BLWOWK_js.cn(
1874
2141
  "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(
2142
+ variant === "pill" ? chunkD2BLWOWK_js.cn(
1876
2143
  "relative z-10 justify-center rounded-hz-md px-3 py-1.5 transition-colors",
1877
2144
  isActive ? "text-gray-900 dark:text-gray-100" : "text-gray-500 dark:text-gray-400"
1878
- ) : chunkNTUQQDCL_js.cn(
2145
+ ) : chunkD2BLWOWK_js.cn(
1879
2146
  "pb-3 border-b-2 transition-colors",
1880
2147
  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
2148
  ),
@@ -1890,11 +2157,11 @@ var TabsTrigger = React10__namespace.forwardRef(({ className, value, icon, child
1890
2157
  );
1891
2158
  });
1892
2159
  TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
1893
- var TabsContent = React10__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2160
+ var TabsContent = React11__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1894
2161
  TabsPrimitive__namespace.Content,
1895
2162
  {
1896
2163
  ref,
1897
- className: chunkNTUQQDCL_js.cn(
2164
+ className: chunkD2BLWOWK_js.cn(
1898
2165
  "mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
1899
2166
  className
1900
2167
  ),
@@ -1902,12 +2169,12 @@ var TabsContent = React10__namespace.forwardRef(({ className, ...props }, ref) =
1902
2169
  }
1903
2170
  ));
1904
2171
  TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
1905
- var Textarea = React10__namespace.forwardRef(
2172
+ var Textarea = React11__namespace.forwardRef(
1906
2173
  ({ className, ...props }, ref) => {
1907
2174
  return /* @__PURE__ */ jsxRuntime.jsx(
1908
2175
  "textarea",
1909
2176
  {
1910
- className: chunkNTUQQDCL_js.cn(
2177
+ className: chunkD2BLWOWK_js.cn(
1911
2178
  "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
2179
  className
1913
2180
  ),
@@ -1986,7 +2253,7 @@ function Toggle({
1986
2253
  ...props,
1987
2254
  type: "multiple",
1988
2255
  ...value !== void 0 ? { value, onValueChange: onChange } : {},
1989
- className: chunkNTUQQDCL_js.cn(
2256
+ className: chunkD2BLWOWK_js.cn(
1990
2257
  toggleGroupVariants({ size }),
1991
2258
  containerRadiusClass2[radius],
1992
2259
  className
@@ -1999,7 +2266,7 @@ function Toggle({
1999
2266
  value: option.value,
2000
2267
  disabled: option.disabled,
2001
2268
  "aria-label": iconOnly ? option.ariaLabel ?? option.value : void 0,
2002
- className: chunkNTUQQDCL_js.cn(
2269
+ className: chunkD2BLWOWK_js.cn(
2003
2270
  toggleItemVariants({ size, iconOnly }),
2004
2271
  itemRadiusClass2[radius],
2005
2272
  "border border-transparent text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
@@ -2059,8 +2326,8 @@ var switchLabelVariants = classVarianceAuthority.cva("select-none", {
2059
2326
  size: "default"
2060
2327
  }
2061
2328
  });
2062
- var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosition = "right", ...props }, ref) => {
2063
- const generatedId = React10__namespace.useId();
2329
+ var Switch = React11__namespace.forwardRef(({ className, size, label, labelPosition = "right", ...props }, ref) => {
2330
+ const generatedId = React11__namespace.useId();
2064
2331
  const switchId = props.id ?? generatedId;
2065
2332
  const switchEl = /* @__PURE__ */ jsxRuntime.jsx(
2066
2333
  SwitchPrimitive__namespace.Root,
@@ -2068,7 +2335,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2068
2335
  ...props,
2069
2336
  id: switchId,
2070
2337
  ref,
2071
- className: chunkNTUQQDCL_js.cn(switchTrackVariants({ size }), className),
2338
+ className: chunkD2BLWOWK_js.cn(switchTrackVariants({ size }), className),
2072
2339
  children: /* @__PURE__ */ jsxRuntime.jsx(SwitchPrimitive__namespace.Thumb, { className: switchThumbVariants({ size }) })
2073
2340
  }
2074
2341
  );
@@ -2076,7 +2343,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2076
2343
  return /* @__PURE__ */ jsxRuntime.jsxs(
2077
2344
  "div",
2078
2345
  {
2079
- className: chunkNTUQQDCL_js.cn(
2346
+ className: chunkD2BLWOWK_js.cn(
2080
2347
  "inline-flex items-center gap-2",
2081
2348
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2082
2349
  ),
@@ -2085,7 +2352,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2085
2352
  "label",
2086
2353
  {
2087
2354
  htmlFor: switchId,
2088
- className: chunkNTUQQDCL_js.cn(
2355
+ className: chunkD2BLWOWK_js.cn(
2089
2356
  switchLabelVariants({ size }),
2090
2357
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2091
2358
  ),
@@ -2097,7 +2364,7 @@ var Switch = React10__namespace.forwardRef(({ className, size, label, labelPosit
2097
2364
  "label",
2098
2365
  {
2099
2366
  htmlFor: switchId,
2100
- className: chunkNTUQQDCL_js.cn(
2367
+ className: chunkD2BLWOWK_js.cn(
2101
2368
  switchLabelVariants({ size }),
2102
2369
  props.disabled ? "cursor-not-allowed" : "cursor-pointer"
2103
2370
  ),
@@ -2143,11 +2410,11 @@ function TimeInput({
2143
2410
  disabled = false,
2144
2411
  "aria-label": ariaLabel
2145
2412
  }) {
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]);
2413
+ const [editValue, setEditValue] = React11__namespace.useState(null);
2414
+ const internalRef = React11__namespace.useRef(null);
2415
+ const committedRef = React11__namespace.useRef(false);
2416
+ const pendingDigitRef = React11__namespace.useRef(null);
2417
+ const setRefs = React11__namespace.useCallback(chunkD2BLWOWK_js.mergeRefs(internalRef, inputRef), [inputRef]);
2151
2418
  const commitTwoDigits = (raw) => {
2152
2419
  const parsed = parseInt(raw, 10);
2153
2420
  const clamped = clamp(parsed, min2, max);
@@ -2242,7 +2509,7 @@ function TimeInput({
2242
2509
  },
2243
2510
  onBlur: () => commit(),
2244
2511
  onKeyDown: handleKeyDown,
2245
- className: chunkNTUQQDCL_js.cn(
2512
+ className: chunkD2BLWOWK_js.cn(
2246
2513
  "w-9 h-8 rounded-md border text-center text-sm tabular-nums font-medium outline-none transition-colors",
2247
2514
  "bg-white border-gray-200 text-gray-600",
2248
2515
  "focus:border-blue-500 focus:ring-1 focus:ring-blue-500/30 focus:text-gray-700",
@@ -2257,7 +2524,7 @@ function PeriodToggle({ value, onChange, disabled = false }) {
2257
2524
  return /* @__PURE__ */ jsxRuntime.jsx(
2258
2525
  "div",
2259
2526
  {
2260
- className: chunkNTUQQDCL_js.cn(
2527
+ className: chunkD2BLWOWK_js.cn(
2261
2528
  "inline-flex rounded-md border overflow-hidden",
2262
2529
  disabled && "opacity-40 cursor-not-allowed",
2263
2530
  "border-gray-200 dark:border-neutral-600"
@@ -2268,7 +2535,7 @@ function PeriodToggle({ value, onChange, disabled = false }) {
2268
2535
  type: "button",
2269
2536
  disabled,
2270
2537
  onClick: () => onChange(p),
2271
- className: chunkNTUQQDCL_js.cn(
2538
+ className: chunkD2BLWOWK_js.cn(
2272
2539
  "px-2 h-8 text-xs font-semibold tracking-wide transition-colors",
2273
2540
  "disabled:pointer-events-none",
2274
2541
  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 +2558,8 @@ function TimeField({
2291
2558
  disabled = false
2292
2559
  }) {
2293
2560
  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]);
2561
+ const minuteInputRef = React11__namespace.useRef(null);
2562
+ const mergedMinuteRef = React11__namespace.useCallback(chunkD2BLWOWK_js.mergeRefs(minuteInputRef, minuteRef), [minuteRef]);
2296
2563
  const handleHourChange = (newHour12) => {
2297
2564
  onChange({ ...value, hour: to24Hour(newHour12, period) });
2298
2565
  };
@@ -2310,7 +2577,7 @@ function TimeField({
2310
2577
  /* @__PURE__ */ jsxRuntime.jsx(
2311
2578
  "span",
2312
2579
  {
2313
- className: chunkNTUQQDCL_js.cn(
2580
+ className: chunkD2BLWOWK_js.cn(
2314
2581
  "text-xs font-semibold uppercase tracking-wider",
2315
2582
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2316
2583
  ),
@@ -2335,7 +2602,7 @@ function TimeField({
2335
2602
  /* @__PURE__ */ jsxRuntime.jsx(
2336
2603
  "span",
2337
2604
  {
2338
- className: chunkNTUQQDCL_js.cn(
2605
+ className: chunkD2BLWOWK_js.cn(
2339
2606
  "text-sm font-bold select-none",
2340
2607
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2341
2608
  ),
@@ -2388,14 +2655,14 @@ function useTimeFieldState(value) {
2388
2655
  return { showDuration, durationLabel, isOvernight, incompleteHint };
2389
2656
  }
2390
2657
  function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRemove = false, onDirty }) {
2391
- const toHourRef = React10__namespace.useRef(null);
2658
+ const toHourRef = React11__namespace.useRef(null);
2392
2659
  const { showDuration, durationLabel, isOvernight, incompleteHint } = useTimeFieldState(value);
2393
2660
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col px-2 pt-2 pb-2 gap-1", children: [
2394
2661
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2395
2662
  /* @__PURE__ */ jsxRuntime.jsx(
2396
2663
  lucideReact.Clock,
2397
2664
  {
2398
- className: chunkNTUQQDCL_js.cn(
2665
+ className: chunkD2BLWOWK_js.cn(
2399
2666
  "w-4 h-4 shrink-0",
2400
2667
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2401
2668
  )
@@ -2404,7 +2671,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2404
2671
  /* @__PURE__ */ jsxRuntime.jsx(
2405
2672
  "span",
2406
2673
  {
2407
- className: chunkNTUQQDCL_js.cn(
2674
+ className: chunkD2BLWOWK_js.cn(
2408
2675
  "text-xs font-semibold uppercase tracking-wider",
2409
2676
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2410
2677
  ),
@@ -2413,7 +2680,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2413
2680
  ),
2414
2681
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[9px] font-medium text-gray-400 dark:text-gray-600 tracking-wide", children: "(Optional)" }),
2415
2682
  showRemove && onRemove && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-auto", children: /* @__PURE__ */ jsxRuntime.jsx(
2416
- chunkNTUQQDCL_js.TextButton,
2683
+ chunkD2BLWOWK_js.TextButton,
2417
2684
  {
2418
2685
  variant: "danger",
2419
2686
  onClick: onRemove,
@@ -2446,7 +2713,7 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2446
2713
  disabled
2447
2714
  }
2448
2715
  ),
2449
- showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNTUQQDCL_js.cn(
2716
+ showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkD2BLWOWK_js.cn(
2450
2717
  "text-[10px] font-medium",
2451
2718
  isOvernight ? "text-amber-500 dark:text-amber-400" : "text-gray-400 dark:text-gray-500"
2452
2719
  ), children: durationLabel }),
@@ -2455,14 +2722,14 @@ function TimePickerColumn({ value, onChange, disabled = false, onRemove, showRem
2455
2722
  ] });
2456
2723
  }
2457
2724
  function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove = false, onDirty }) {
2458
- const toHourRef = React10__namespace.useRef(null);
2725
+ const toHourRef = React11__namespace.useRef(null);
2459
2726
  const { showDuration, durationLabel, isOvernight, incompleteHint } = useTimeFieldState(value);
2460
2727
  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
2728
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-1", children: [
2462
2729
  /* @__PURE__ */ jsxRuntime.jsx(
2463
2730
  lucideReact.Clock,
2464
2731
  {
2465
- className: chunkNTUQQDCL_js.cn(
2732
+ className: chunkD2BLWOWK_js.cn(
2466
2733
  "w-4 h-4 shrink-0",
2467
2734
  disabled ? "text-gray-300 dark:text-gray-600" : "text-gray-400 dark:text-gray-500"
2468
2735
  )
@@ -2486,7 +2753,7 @@ function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove
2486
2753
  /* @__PURE__ */ jsxRuntime.jsx(
2487
2754
  "div",
2488
2755
  {
2489
- className: chunkNTUQQDCL_js.cn(
2756
+ className: chunkD2BLWOWK_js.cn(
2490
2757
  "w-4 h-px",
2491
2758
  disabled ? "bg-gray-200 dark:bg-neutral-700" : "bg-gray-300 dark:bg-neutral-600"
2492
2759
  )
@@ -2513,7 +2780,7 @@ function TimePickerRow({ value, onChange, disabled = false, onRemove, showRemove
2513
2780
  }
2514
2781
  )
2515
2782
  ] }),
2516
- showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkNTUQQDCL_js.cn(
2783
+ showDuration && /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkD2BLWOWK_js.cn(
2517
2784
  "text-[10px] font-medium pl-0.5",
2518
2785
  isOvernight ? "text-amber-500 dark:text-amber-400" : "text-gray-400 dark:text-gray-500"
2519
2786
  ), children: durationLabel }),
@@ -2567,7 +2834,7 @@ function CalendarMonth({
2567
2834
  "button",
2568
2835
  {
2569
2836
  onClick: onPrevMonth,
2570
- className: chunkNTUQQDCL_js.cn(
2837
+ className: chunkD2BLWOWK_js.cn(
2571
2838
  "p-1 rounded-md transition-colors",
2572
2839
  showPrevNav ? "hover:bg-gray-100 dark:hover:bg-neutral-700 text-gray-500 dark:text-gray-400" : "invisible pointer-events-none"
2573
2840
  ),
@@ -2579,7 +2846,7 @@ function CalendarMonth({
2579
2846
  "button",
2580
2847
  {
2581
2848
  onClick: onNextMonth,
2582
- className: chunkNTUQQDCL_js.cn(
2849
+ className: chunkD2BLWOWK_js.cn(
2583
2850
  "p-1 rounded-md transition-colors",
2584
2851
  showNextNav ? "hover:bg-gray-100 dark:hover:bg-neutral-700 text-gray-500 dark:text-gray-400" : "invisible pointer-events-none"
2585
2852
  ),
@@ -2614,7 +2881,7 @@ function CalendarMonth({
2614
2881
  return /* @__PURE__ */ jsxRuntime.jsx(
2615
2882
  "div",
2616
2883
  {
2617
- className: chunkNTUQQDCL_js.cn(
2884
+ className: chunkD2BLWOWK_js.cn(
2618
2885
  "h-9 flex items-center justify-center",
2619
2886
  (inRange || rangeStart || rangeEnd) && "bg-blue-50 dark:bg-blue-950/40",
2620
2887
  rangeStart && !rangeEnd && "rounded-l-full",
@@ -2628,7 +2895,7 @@ function CalendarMonth({
2628
2895
  onMouseEnter: () => !disabled && onDayHover(day),
2629
2896
  tabIndex: disabled ? -1 : 0,
2630
2897
  disabled,
2631
- className: chunkNTUQQDCL_js.cn(
2898
+ className: chunkD2BLWOWK_js.cn(
2632
2899
  "w-8 h-8 rounded-full text-sm flex items-center justify-center transition-colors",
2633
2900
  isFuture && "text-gray-300 dark:text-gray-600 pointer-events-none cursor-not-allowed",
2634
2901
  !disabled && !rangeStart && !rangeEnd && "text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-neutral-700",
@@ -2654,24 +2921,24 @@ function useDateRangePicker({
2654
2921
  timeValue,
2655
2922
  onTimeChange
2656
2923
  }) {
2657
- const [open, setOpen] = React10__namespace.useState(false);
2658
- const [internalRange, setInternalRange] = React10__namespace.useState({
2924
+ const [open, setOpen] = React11__namespace.useState(false);
2925
+ const [internalRange, setInternalRange] = React11__namespace.useState({
2659
2926
  from: void 0,
2660
2927
  to: void 0
2661
2928
  });
2662
- const [draft, setDraft] = React10__namespace.useState({
2929
+ const [draft, setDraft] = React11__namespace.useState({
2663
2930
  from: void 0,
2664
2931
  to: void 0
2665
2932
  });
2666
- const [hoverDate, setHoverDate] = React10__namespace.useState();
2667
- const [viewMonth, setViewMonth] = React10__namespace.useState(
2933
+ const [hoverDate, setHoverDate] = React11__namespace.useState();
2934
+ const [viewMonth, setViewMonth] = React11__namespace.useState(
2668
2935
  () => dateFns.startOfMonth(value?.from ?? /* @__PURE__ */ new Date())
2669
2936
  );
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);
2937
+ const [activePreset, setActivePreset] = React11__namespace.useState();
2938
+ const [committedInternalTime, setCommittedInternalTime] = React11__namespace.useState(DEFAULT_TIME_RANGE);
2939
+ const [draftTime, setDraftTime] = React11__namespace.useState(DEFAULT_TIME_RANGE);
2940
+ const [timeExpanded, setTimeExpanded] = React11__namespace.useState(false);
2941
+ const [timeDirty, setTimeDirty] = React11__namespace.useState(false);
2675
2942
  const committedRange = value ?? internalRange;
2676
2943
  const committedTime = timeValue ?? committedInternalTime;
2677
2944
  const timeVisible = !!(draft.from && draft.to);
@@ -2680,15 +2947,15 @@ function useDateRangePicker({
2680
2947
  const hasPartialTime = showTimePicker && timeExpanded && !isTimeComplete2;
2681
2948
  const canClear = !!(draft.from || committedRange.from);
2682
2949
  const canApply = !(draft.from && !draft.to) && !!(draft.from || committedRange.from) && !hasPartialTime;
2683
- const resetTime = React10__namespace.useCallback(() => {
2950
+ const resetTime = React11__namespace.useCallback(() => {
2684
2951
  setDraftTime(DEFAULT_TIME_RANGE);
2685
2952
  setTimeExpanded(false);
2686
2953
  setTimeDirty(false);
2687
2954
  }, []);
2688
- const handleTimeChange = React10__namespace.useCallback((newTime) => {
2955
+ const handleTimeChange = React11__namespace.useCallback((newTime) => {
2689
2956
  setDraftTime(newTime);
2690
2957
  }, []);
2691
- const handleOpenChange = React10__namespace.useCallback(
2958
+ const handleOpenChange = React11__namespace.useCallback(
2692
2959
  (newOpen) => {
2693
2960
  if (newOpen) {
2694
2961
  setDraft(committedRange);
@@ -2703,7 +2970,7 @@ function useDateRangePicker({
2703
2970
  },
2704
2971
  [committedRange, committedTime]
2705
2972
  );
2706
- const handleDayClick = React10__namespace.useCallback(
2973
+ const handleDayClick = React11__namespace.useCallback(
2707
2974
  (date) => {
2708
2975
  const { from, to } = draft;
2709
2976
  if (!from || from && to) {
@@ -2720,7 +2987,7 @@ function useDateRangePicker({
2720
2987
  },
2721
2988
  [draft, showTimePicker, timeExpanded, resetTime]
2722
2989
  );
2723
- const handlePreset = React10__namespace.useCallback(
2990
+ const handlePreset = React11__namespace.useCallback(
2724
2991
  (preset) => {
2725
2992
  const newRange = preset.getRange();
2726
2993
  setDraft(newRange);
@@ -2730,7 +2997,7 @@ function useDateRangePicker({
2730
2997
  },
2731
2998
  [showTimePicker, resetTime]
2732
2999
  );
2733
- const handleApply = React10__namespace.useCallback(() => {
3000
+ const handleApply = React11__namespace.useCallback(() => {
2734
3001
  if (draft.from && !draft.to) return;
2735
3002
  const newRange = draft.from && draft.to ? draft : void 0;
2736
3003
  const rangeChanged = newRange?.from?.getTime() !== committedRange.from?.getTime() || newRange?.to?.getTime() !== committedRange.to?.getTime();
@@ -2745,15 +3012,15 @@ function useDateRangePicker({
2745
3012
  }
2746
3013
  setOpen(false);
2747
3014
  }, [draft, onChange, committedRange, draftTime, committedTime, onTimeChange]);
2748
- const handleClear = React10__namespace.useCallback(() => {
3015
+ const handleClear = React11__namespace.useCallback(() => {
2749
3016
  setDraft({ from: void 0, to: void 0 });
2750
3017
  setActivePreset(void 0);
2751
3018
  if (showTimePicker) resetTime();
2752
3019
  }, [showTimePicker, resetTime]);
2753
- const expandTime = React10__namespace.useCallback(() => {
3020
+ const expandTime = React11__namespace.useCallback(() => {
2754
3021
  setTimeExpanded(true);
2755
3022
  }, []);
2756
- const markTimeDirty = React10__namespace.useCallback(() => {
3023
+ const markTimeDirty = React11__namespace.useCallback(() => {
2757
3024
  setTimeDirty(true);
2758
3025
  }, []);
2759
3026
  return {
@@ -2881,7 +3148,7 @@ function DateRangePicker({
2881
3148
  "button",
2882
3149
  {
2883
3150
  disabled,
2884
- className: chunkNTUQQDCL_js.cn(
3151
+ className: chunkD2BLWOWK_js.cn(
2885
3152
  "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
3153
  "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
2887
3154
  "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
@@ -2900,14 +3167,14 @@ function DateRangePicker({
2900
3167
  }
2901
3168
  ) }),
2902
3169
  /* @__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: [
3170
+ /* @__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
3171
  si > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-2 border-t border-gray-100 dark:border-neutral-700" }),
2905
3172
  /* @__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
3173
  section.options.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
2907
3174
  "button",
2908
3175
  {
2909
3176
  onClick: () => picker.handlePreset(preset),
2910
- className: chunkNTUQQDCL_js.cn(
3177
+ className: chunkD2BLWOWK_js.cn(
2911
3178
  "w-full text-left px-2 py-1.5 rounded-md text-sm transition-colors",
2912
3179
  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
3180
  ),
@@ -2999,7 +3266,7 @@ function DateRangePicker({
2999
3266
  {
3000
3267
  onClick: picker.handleClear,
3001
3268
  disabled: !picker.canClear,
3002
- className: chunkNTUQQDCL_js.cn(
3269
+ className: chunkD2BLWOWK_js.cn(
3003
3270
  "px-3 py-1.5 rounded-md text-sm transition-colors",
3004
3271
  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
3272
  ),
@@ -3011,7 +3278,7 @@ function DateRangePicker({
3011
3278
  {
3012
3279
  onClick: picker.handleApply,
3013
3280
  disabled: !picker.canApply,
3014
- className: chunkNTUQQDCL_js.cn(
3281
+ className: chunkD2BLWOWK_js.cn(
3015
3282
  "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
3016
3283
  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
3284
  ),
@@ -3043,14 +3310,14 @@ function DateRangePickerMobile({
3043
3310
  timeValue,
3044
3311
  onTimeChange
3045
3312
  });
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 }),
3313
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkD2BLWOWK_js.cn("space-y-1.5", className), children: [
3314
+ label && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Label, { className: "text-sm font-medium text-gray-900 dark:text-gray-100", children: label }),
3048
3315
  /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open: picker.open, onOpenChange: picker.handleOpenChange, children: [
3049
3316
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
3050
3317
  "button",
3051
3318
  {
3052
3319
  disabled,
3053
- className: chunkNTUQQDCL_js.cn(
3320
+ className: chunkD2BLWOWK_js.cn(
3054
3321
  "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
3322
  "hover:bg-gray-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",
3056
3323
  "dark:border-neutral-600 dark:bg-neutral-800 dark:hover:bg-neutral-700",
@@ -3069,14 +3336,14 @@ function DateRangePickerMobile({
3069
3336
  ) }),
3070
3337
  /* @__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
3338
  /* @__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: [
3339
+ (section, si) => /* @__PURE__ */ jsxRuntime.jsxs(React11__namespace.Fragment, { children: [
3073
3340
  si > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-2 border-t border-gray-100 dark:border-neutral-700" }),
3074
3341
  /* @__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
3342
  section.options.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
3076
3343
  "button",
3077
3344
  {
3078
3345
  onClick: () => picker.handlePreset(preset),
3079
- className: chunkNTUQQDCL_js.cn(
3346
+ className: chunkD2BLWOWK_js.cn(
3080
3347
  "w-full text-left px-2 py-1.5 rounded-md text-sm transition-colors",
3081
3348
  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
3349
  ),
@@ -3154,7 +3421,7 @@ function DateRangePickerMobile({
3154
3421
  {
3155
3422
  onClick: picker.handleClear,
3156
3423
  disabled: !picker.canClear,
3157
- className: chunkNTUQQDCL_js.cn(
3424
+ className: chunkD2BLWOWK_js.cn(
3158
3425
  "px-3 py-1.5 rounded-md text-sm transition-colors",
3159
3426
  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
3427
  ),
@@ -3166,7 +3433,7 @@ function DateRangePickerMobile({
3166
3433
  {
3167
3434
  onClick: picker.handleApply,
3168
3435
  disabled: !picker.canApply,
3169
- className: chunkNTUQQDCL_js.cn(
3436
+ className: chunkD2BLWOWK_js.cn(
3170
3437
  "px-3 py-1.5 rounded-md text-sm font-medium transition-colors",
3171
3438
  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
3439
  ),
@@ -3206,7 +3473,7 @@ function MobileDataCard({
3206
3473
  image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: image }),
3207
3474
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [
3208
3475
  /* @__PURE__ */ jsxRuntime.jsx(
3209
- chunkNTUQQDCL_js.Text,
3476
+ chunkD2BLWOWK_js.Text,
3210
3477
  {
3211
3478
  size: "sm",
3212
3479
  weight: "semibold",
@@ -3214,7 +3481,7 @@ function MobileDataCard({
3214
3481
  children: title
3215
3482
  }
3216
3483
  ),
3217
- subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkNTUQQDCL_js.Text, { size: "xs", className: "text-neutral-400 dark:text-neutral-500", children: subtitle }),
3484
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx(chunkD2BLWOWK_js.Text, { size: "xs", className: "text-neutral-400 dark:text-neutral-500", children: subtitle }),
3218
3485
  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
3486
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-neutral-400 dark:text-neutral-500", children: [
3220
3487
  row.label,
@@ -3231,7 +3498,7 @@ function MobileDataCard({
3231
3498
  return /* @__PURE__ */ jsxRuntime.jsxs(
3232
3499
  "div",
3233
3500
  {
3234
- className: chunkNTUQQDCL_js.cn(
3501
+ className: chunkD2BLWOWK_js.cn(
3235
3502
  "overflow-hidden rounded-lg border transition-colors",
3236
3503
  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
3504
  className
@@ -3261,11 +3528,11 @@ function MobileDataCard({
3261
3528
  }
3262
3529
  ),
3263
3530
  /* @__PURE__ */ jsxRuntime.jsx(
3264
- chunkNTUQQDCL_js.Text,
3531
+ chunkD2BLWOWK_js.Text,
3265
3532
  {
3266
3533
  size: "xs",
3267
3534
  as: "span",
3268
- className: chunkNTUQQDCL_js.cn(
3535
+ className: chunkD2BLWOWK_js.cn(
3269
3536
  isSelected ? "font-medium text-blue-600 dark:text-blue-400" : "text-neutral-400 dark:text-neutral-500"
3270
3537
  ),
3271
3538
  children: isSelected ? "Selected" : "Select"
@@ -3284,13 +3551,13 @@ function MobileDataCard({
3284
3551
  children: contentBody
3285
3552
  }
3286
3553
  ) : 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(
3554
+ 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
3555
  "div",
3289
3556
  {
3290
3557
  className: "flex flex-col items-center rounded-md bg-neutral-100 py-1.5 dark:bg-neutral-800",
3291
3558
  children: [
3292
3559
  /* @__PURE__ */ jsxRuntime.jsx(
3293
- chunkNTUQQDCL_js.Text,
3560
+ chunkD2BLWOWK_js.Text,
3294
3561
  {
3295
3562
  size: "xs",
3296
3563
  as: "span",
@@ -3299,12 +3566,12 @@ function MobileDataCard({
3299
3566
  }
3300
3567
  ),
3301
3568
  /* @__PURE__ */ jsxRuntime.jsx(
3302
- chunkNTUQQDCL_js.Text,
3569
+ chunkD2BLWOWK_js.Text,
3303
3570
  {
3304
3571
  size: "sm",
3305
3572
  weight: "semibold",
3306
3573
  as: "span",
3307
- className: chunkNTUQQDCL_js.cn(
3574
+ className: chunkD2BLWOWK_js.cn(
3308
3575
  "mt-0.5 tabular-nums",
3309
3576
  stat.className ?? "text-neutral-800 dark:text-neutral-200"
3310
3577
  ),
@@ -3323,7 +3590,7 @@ function MobileDataCard({
3323
3590
  className: "flex items-center justify-between",
3324
3591
  children: [
3325
3592
  /* @__PURE__ */ jsxRuntime.jsx(
3326
- chunkNTUQQDCL_js.Text,
3593
+ chunkD2BLWOWK_js.Text,
3327
3594
  {
3328
3595
  size: "xs",
3329
3596
  as: "span",
@@ -3332,7 +3599,7 @@ function MobileDataCard({
3332
3599
  }
3333
3600
  ),
3334
3601
  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,
3602
+ chunkD2BLWOWK_js.Text,
3336
3603
  {
3337
3604
  size: "xs",
3338
3605
  weight: "medium",
@@ -3480,6 +3747,7 @@ exports.PopoverContent = PopoverContent;
3480
3747
  exports.PopoverTrigger = PopoverTrigger;
3481
3748
  exports.SegmentedControl = SegmentedControl;
3482
3749
  exports.Select = Select;
3750
+ exports.SelectBar = SelectBar;
3483
3751
  exports.SelectContent = SelectContent;
3484
3752
  exports.SelectGroup = SelectGroup;
3485
3753
  exports.SelectItem = SelectItem;
@@ -3532,5 +3800,5 @@ exports.useColumnVisibility = useColumnVisibility;
3532
3800
  exports.useFormContext = useFormContext;
3533
3801
  exports.useFormFieldContext = useFormFieldContext;
3534
3802
  exports.useTableSelection = useTableSelection;
3535
- //# sourceMappingURL=chunk-ZYPPWLV6.js.map
3536
- //# sourceMappingURL=chunk-ZYPPWLV6.js.map
3803
+ //# sourceMappingURL=chunk-T2YNCJ65.js.map
3804
+ //# sourceMappingURL=chunk-T2YNCJ65.js.map