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