@akira-io/ui 1.3.1 → 2.0.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/README.md +2 -2
- package/dist/blocks.d.ts +100 -10
- package/dist/blocks.js +547 -270
- package/dist/blocks.js.map +1 -1
- package/dist/chunk-2V6HUWST.js +18 -5
- package/dist/chunk-2V6HUWST.js.map +1 -1
- package/dist/chunk-3Z2VGVPI.js +16 -6
- package/dist/chunk-3Z2VGVPI.js.map +1 -1
- package/dist/chunk-B3L6PRLX.js +207 -99
- package/dist/chunk-B3L6PRLX.js.map +1 -1
- package/dist/chunk-DE2AJ54R.js +458 -0
- package/dist/chunk-DE2AJ54R.js.map +1 -0
- package/dist/{chunk-QNF4LJVT.js → chunk-E26KKMGS.js} +8 -6
- package/dist/chunk-E26KKMGS.js.map +1 -0
- package/dist/{chunk-N2KIFFI7.js → chunk-EYPM6IMS.js} +30 -34
- package/dist/chunk-EYPM6IMS.js.map +1 -0
- package/dist/chunk-IQMRJXEO.js +5 -4
- package/dist/chunk-IQMRJXEO.js.map +1 -1
- package/dist/chunk-KHOA4TEI.js +53 -24
- package/dist/chunk-KHOA4TEI.js.map +1 -1
- package/dist/chunk-L2H5GIF7.js +5 -4
- package/dist/chunk-L2H5GIF7.js.map +1 -1
- package/dist/chunk-SZUXATOF.js +169 -75
- package/dist/chunk-SZUXATOF.js.map +1 -1
- package/dist/chunk-TM5MN3MI.js +29 -0
- package/dist/chunk-TM5MN3MI.js.map +1 -0
- package/dist/{chunk-I6VVCFZ2.js → chunk-UCJTM3UM.js} +254 -243
- package/dist/chunk-UCJTM3UM.js.map +1 -0
- package/dist/{chunk-IDNOI4OK.js → chunk-UXVI326F.js} +15 -8
- package/dist/chunk-UXVI326F.js.map +1 -0
- package/dist/chunk-VA6A4HZ2.js +394 -0
- package/dist/chunk-VA6A4HZ2.js.map +1 -0
- package/dist/chunk-YBXRJSR3.js +14 -6
- package/dist/chunk-YBXRJSR3.js.map +1 -1
- package/dist/code.d.ts +2 -2
- package/dist/code.js +96 -52
- package/dist/code.js.map +1 -1
- package/dist/{context-OwSoVEri.d.ts → context-Soro3B1I.d.ts} +5 -4
- package/dist/editor.d.ts +1 -1
- package/dist/editor.js +135 -52
- package/dist/editor.js.map +1 -1
- package/dist/{field-DWm5NXeV.d.ts → field-C1TdmC2t.d.ts} +1 -1
- package/dist/index.d.ts +14 -11
- package/dist/index.js +1105 -633
- package/dist/index.js.map +1 -1
- package/dist/inertia.d.ts +11 -3
- package/dist/inertia.js +66 -12
- package/dist/inertia.js.map +1 -1
- package/dist/{input-Dxnsxi-f.d.ts → input-B4uEClxB.d.ts} +1 -1
- package/dist/{json-viewer-BARA2RCW.d.ts → json-viewer-Bssv9mTD.d.ts} +1 -1
- package/dist/locales/pt.d.ts +9 -8
- package/dist/locales/pt.js +40 -3
- package/dist/locales/pt.js.map +1 -1
- package/dist/shells.d.ts +46 -5
- package/dist/shells.js +211 -71
- package/dist/shells.js.map +1 -1
- package/dist/{sidebar-Bp6Q46j-.d.ts → sidebar-BLL2tgTt.d.ts} +2 -2
- package/dist/types-1LUmNJf_.d.ts +41 -0
- package/dist/{types-cmBL8zOc.d.ts → types-CMZRvMV5.d.ts} +1 -1
- package/dist/{types-B-eGPoFD.d.ts → types-CfAUvz--.d.ts} +1 -1
- package/package.json +4 -2
- package/dist/chunk-I6VVCFZ2.js.map +0 -1
- package/dist/chunk-IDNOI4OK.js.map +0 -1
- package/dist/chunk-N2KIFFI7.js.map +0 -1
- package/dist/chunk-NGMG2UWX.js +0 -172
- package/dist/chunk-NGMG2UWX.js.map +0 -1
- package/dist/chunk-QNF4LJVT.js.map +0 -1
- package/dist/types-u1qfmJQi.d.ts +0 -28
|
@@ -1,22 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
import { useUiLabels } from './chunk-QNF4LJVT.js';
|
|
3
|
-
import { Input } from './chunk-3Z2VGVPI.js';
|
|
4
|
-
import { elevatedSurface, cn, panelSurface, glassControl, controlFill, focusRing, nestedSurfaceReset, fieldSurface, fieldFocus, Button, buttonVariants, modalSurface, menuSurface } from './chunk-KHOA4TEI.js';
|
|
5
|
-
import { Minus, AlertCircle, ChevronRight, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, SearchIcon, SearchXIcon, CheckIcon, ChevronUpIcon, ArrowLeftIcon, XIcon } from 'lucide-react';
|
|
6
|
-
import * as React6 from 'react';
|
|
7
|
-
import { useId, useState, useEffect } from 'react';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
|
-
import { cva } from 'class-variance-authority';
|
|
10
|
-
import { getDefaultClassNames, DayPicker } from 'react-day-picker';
|
|
11
|
-
import { Command as Command$1 } from 'cmdk';
|
|
12
|
-
import { Popover as Popover$1 } from 'radix-ui';
|
|
13
|
-
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
14
|
-
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
15
|
-
import { createPortal } from 'react-dom';
|
|
16
|
-
import { OTPInput, OTPInputContext } from 'input-otp';
|
|
17
|
-
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
18
|
-
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
1
|
+
'use client';
|
|
19
2
|
|
|
3
|
+
import {
|
|
4
|
+
Dialog,
|
|
5
|
+
DialogContent,
|
|
6
|
+
DialogDescription,
|
|
7
|
+
DialogFooter,
|
|
8
|
+
DialogHeader,
|
|
9
|
+
DialogTitle
|
|
10
|
+
} from "./chunk-EYPM6IMS.js";
|
|
11
|
+
import {
|
|
12
|
+
useUiLabels
|
|
13
|
+
} from "./chunk-E26KKMGS.js";
|
|
14
|
+
import {
|
|
15
|
+
Label
|
|
16
|
+
} from "./chunk-TM5MN3MI.js";
|
|
17
|
+
import {
|
|
18
|
+
Input
|
|
19
|
+
} from "./chunk-3Z2VGVPI.js";
|
|
20
|
+
import {
|
|
21
|
+
Button,
|
|
22
|
+
buttonVariants,
|
|
23
|
+
cn,
|
|
24
|
+
controlFill,
|
|
25
|
+
elevatedSurface,
|
|
26
|
+
fieldFocus,
|
|
27
|
+
fieldSurface,
|
|
28
|
+
focusRing,
|
|
29
|
+
glassControl,
|
|
30
|
+
menuSurface,
|
|
31
|
+
modalSurface,
|
|
32
|
+
nestedSurfaceReset,
|
|
33
|
+
panelSurface
|
|
34
|
+
} from "./chunk-KHOA4TEI.js";
|
|
35
|
+
|
|
36
|
+
// src/components/ui/confirm-dialog.tsx
|
|
37
|
+
import { AlertCircle, ChevronRight } from "lucide-react";
|
|
38
|
+
import { useEffect, useId, useState } from "react";
|
|
39
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
20
40
|
var confirmDialogDefaultLabels = {
|
|
21
41
|
title: "Confirm Action",
|
|
22
42
|
description: "Are you sure you want to continue? This action cannot be undone.",
|
|
@@ -131,84 +151,19 @@ function ConfirmDialog({
|
|
|
131
151
|
] }) })
|
|
132
152
|
] }) });
|
|
133
153
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
);
|
|
150
|
-
var alertDefaultLabels = {
|
|
151
|
-
warningLabel: "Warning",
|
|
152
|
-
infoLabel: "Information"
|
|
153
|
-
};
|
|
154
|
-
var SEVERITY_LABELS = {
|
|
155
|
-
warning: "warningLabel",
|
|
156
|
-
info: "infoLabel"
|
|
157
|
-
};
|
|
158
|
-
function Alert({
|
|
159
|
-
className,
|
|
160
|
-
variant,
|
|
161
|
-
labels,
|
|
162
|
-
slotName = "alert",
|
|
163
|
-
...props
|
|
164
|
-
}) {
|
|
165
|
-
const resolved = useUiLabels("alert", alertDefaultLabels, labels);
|
|
166
|
-
const severity = variant ? SEVERITY_LABELS[variant] : void 0;
|
|
167
|
-
return /* @__PURE__ */ jsx(
|
|
168
|
-
"div",
|
|
169
|
-
{
|
|
170
|
-
role: "alert",
|
|
171
|
-
"aria-label": severity ? resolved[severity] : void 0,
|
|
172
|
-
className: cn(alertVariants({ variant }), className),
|
|
173
|
-
...props,
|
|
174
|
-
"data-slot": slotName
|
|
175
|
-
}
|
|
176
|
-
);
|
|
177
|
-
}
|
|
178
|
-
function AlertTitle({
|
|
179
|
-
className,
|
|
180
|
-
slotName = "alert-title",
|
|
181
|
-
...props
|
|
182
|
-
}) {
|
|
183
|
-
return /* @__PURE__ */ jsx(
|
|
184
|
-
"div",
|
|
185
|
-
{
|
|
186
|
-
className: cn(
|
|
187
|
-
"min-h-4 font-medium tracking-tight col-start-2 line-clamp-1",
|
|
188
|
-
className
|
|
189
|
-
),
|
|
190
|
-
...props,
|
|
191
|
-
"data-slot": slotName
|
|
192
|
-
}
|
|
193
|
-
);
|
|
194
|
-
}
|
|
195
|
-
function AlertDescription({
|
|
196
|
-
className,
|
|
197
|
-
slotName = "alert-description",
|
|
198
|
-
...props
|
|
199
|
-
}) {
|
|
200
|
-
return /* @__PURE__ */ jsx(
|
|
201
|
-
"div",
|
|
202
|
-
{
|
|
203
|
-
className: cn(
|
|
204
|
-
"gap-1 text-sm [&_p]:leading-relaxed col-start-2 grid justify-items-start text-muted-foreground",
|
|
205
|
-
className
|
|
206
|
-
),
|
|
207
|
-
...props,
|
|
208
|
-
"data-slot": slotName
|
|
209
|
-
}
|
|
210
|
-
);
|
|
211
|
-
}
|
|
154
|
+
|
|
155
|
+
// src/components/ui/calendar.tsx
|
|
156
|
+
import {
|
|
157
|
+
ChevronDownIcon,
|
|
158
|
+
ChevronLeftIcon,
|
|
159
|
+
ChevronRightIcon
|
|
160
|
+
} from "lucide-react";
|
|
161
|
+
import * as React from "react";
|
|
162
|
+
import {
|
|
163
|
+
DayPicker,
|
|
164
|
+
getDefaultClassNames
|
|
165
|
+
} from "react-day-picker";
|
|
166
|
+
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
212
167
|
function Calendar({
|
|
213
168
|
className,
|
|
214
169
|
classNames,
|
|
@@ -221,7 +176,7 @@ function Calendar({
|
|
|
221
176
|
...props
|
|
222
177
|
}) {
|
|
223
178
|
const defaultClassNames = getDefaultClassNames();
|
|
224
|
-
return /* @__PURE__ */
|
|
179
|
+
return /* @__PURE__ */ jsx2(
|
|
225
180
|
DayPicker,
|
|
226
181
|
{
|
|
227
182
|
showOutsideDays,
|
|
@@ -335,7 +290,7 @@ function Calendar({
|
|
|
335
290
|
},
|
|
336
291
|
components: {
|
|
337
292
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
338
|
-
return /* @__PURE__ */
|
|
293
|
+
return /* @__PURE__ */ jsx2(
|
|
339
294
|
"div",
|
|
340
295
|
{
|
|
341
296
|
ref: rootRef,
|
|
@@ -347,7 +302,7 @@ function Calendar({
|
|
|
347
302
|
},
|
|
348
303
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
349
304
|
if (orientation === "left") {
|
|
350
|
-
return /* @__PURE__ */
|
|
305
|
+
return /* @__PURE__ */ jsx2(
|
|
351
306
|
ChevronLeftIcon,
|
|
352
307
|
{
|
|
353
308
|
className: cn("size-4", className2),
|
|
@@ -356,7 +311,7 @@ function Calendar({
|
|
|
356
311
|
);
|
|
357
312
|
}
|
|
358
313
|
if (orientation === "right") {
|
|
359
|
-
return /* @__PURE__ */
|
|
314
|
+
return /* @__PURE__ */ jsx2(
|
|
360
315
|
ChevronRightIcon,
|
|
361
316
|
{
|
|
362
317
|
className: cn("size-4", className2),
|
|
@@ -364,7 +319,7 @@ function Calendar({
|
|
|
364
319
|
}
|
|
365
320
|
);
|
|
366
321
|
}
|
|
367
|
-
return /* @__PURE__ */
|
|
322
|
+
return /* @__PURE__ */ jsx2(
|
|
368
323
|
ChevronDownIcon,
|
|
369
324
|
{
|
|
370
325
|
className: cn("size-4", className2),
|
|
@@ -374,7 +329,7 @@ function Calendar({
|
|
|
374
329
|
},
|
|
375
330
|
DayButton: CalendarDayButton,
|
|
376
331
|
WeekNumber: ({ children, ...props2 }) => {
|
|
377
|
-
return /* @__PURE__ */
|
|
332
|
+
return /* @__PURE__ */ jsx2("td", { ...props2, children: /* @__PURE__ */ jsx2("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
378
333
|
},
|
|
379
334
|
...components
|
|
380
335
|
},
|
|
@@ -389,11 +344,11 @@ function CalendarDayButton({
|
|
|
389
344
|
...props
|
|
390
345
|
}) {
|
|
391
346
|
const defaultClassNames = getDefaultClassNames();
|
|
392
|
-
const ref =
|
|
393
|
-
|
|
347
|
+
const ref = React.useRef(null);
|
|
348
|
+
React.useEffect(() => {
|
|
394
349
|
if (modifiers.focused) ref.current?.focus();
|
|
395
350
|
}, [modifiers.focused]);
|
|
396
|
-
return /* @__PURE__ */
|
|
351
|
+
return /* @__PURE__ */ jsx2(
|
|
397
352
|
Button,
|
|
398
353
|
{
|
|
399
354
|
ref,
|
|
@@ -413,13 +368,18 @@ function CalendarDayButton({
|
|
|
413
368
|
}
|
|
414
369
|
);
|
|
415
370
|
}
|
|
371
|
+
|
|
372
|
+
// src/components/ui/command.tsx
|
|
373
|
+
import { Command as CommandPrimitive } from "cmdk";
|
|
374
|
+
import { SearchIcon, SearchXIcon } from "lucide-react";
|
|
375
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
416
376
|
function Command({
|
|
417
377
|
className,
|
|
418
378
|
slotName = "command",
|
|
419
379
|
...props
|
|
420
380
|
}) {
|
|
421
|
-
return /* @__PURE__ */
|
|
422
|
-
|
|
381
|
+
return /* @__PURE__ */ jsx3(
|
|
382
|
+
CommandPrimitive,
|
|
423
383
|
{
|
|
424
384
|
className: cn(
|
|
425
385
|
elevatedSurface,
|
|
@@ -440,12 +400,12 @@ function CommandDialog({
|
|
|
440
400
|
hideCloseButton = true,
|
|
441
401
|
...props
|
|
442
402
|
}) {
|
|
443
|
-
return /* @__PURE__ */
|
|
444
|
-
/* @__PURE__ */
|
|
445
|
-
/* @__PURE__ */
|
|
446
|
-
/* @__PURE__ */
|
|
403
|
+
return /* @__PURE__ */ jsxs2(Dialog, { ...props, children: [
|
|
404
|
+
/* @__PURE__ */ jsxs2(DialogHeader, { className: "sr-only", children: [
|
|
405
|
+
/* @__PURE__ */ jsx3(DialogTitle, { children: title }),
|
|
406
|
+
/* @__PURE__ */ jsx3(DialogDescription, { children: description })
|
|
447
407
|
] }),
|
|
448
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ jsx3(
|
|
449
409
|
DialogContent,
|
|
450
410
|
{
|
|
451
411
|
className: cn(
|
|
@@ -453,7 +413,7 @@ function CommandDialog({
|
|
|
453
413
|
className
|
|
454
414
|
),
|
|
455
415
|
hideCloseButton,
|
|
456
|
-
children: /* @__PURE__ */
|
|
416
|
+
children: /* @__PURE__ */ jsx3(Command, { className: "[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-item]]:py-2.5 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children })
|
|
457
417
|
}
|
|
458
418
|
)
|
|
459
419
|
] });
|
|
@@ -463,7 +423,7 @@ function CommandInput({
|
|
|
463
423
|
slotName = "command-input",
|
|
464
424
|
...props
|
|
465
425
|
}) {
|
|
466
|
-
return /* @__PURE__ */
|
|
426
|
+
return /* @__PURE__ */ jsx3("div", { className: "shrink-0 border-b border-border", children: /* @__PURE__ */ jsxs2(
|
|
467
427
|
"div",
|
|
468
428
|
{
|
|
469
429
|
"data-slot": "command-input-wrapper",
|
|
@@ -472,9 +432,9 @@ function CommandInput({
|
|
|
472
432
|
"h-11 gap-3 px-4 m-3 flex items-center"
|
|
473
433
|
),
|
|
474
434
|
children: [
|
|
475
|
-
/* @__PURE__ */
|
|
476
|
-
/* @__PURE__ */
|
|
477
|
-
|
|
435
|
+
/* @__PURE__ */ jsx3(SearchIcon, { className: "size-4 shrink-0 opacity-50" }),
|
|
436
|
+
/* @__PURE__ */ jsx3(
|
|
437
|
+
CommandPrimitive.Input,
|
|
478
438
|
{
|
|
479
439
|
className: cn(
|
|
480
440
|
"h-11 text-base sm:text-sm font-medium flex w-full bg-transparent outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -493,8 +453,8 @@ function CommandList({
|
|
|
493
453
|
slotName = "command-list",
|
|
494
454
|
...props
|
|
495
455
|
}) {
|
|
496
|
-
return /* @__PURE__ */
|
|
497
|
-
|
|
456
|
+
return /* @__PURE__ */ jsx3(
|
|
457
|
+
CommandPrimitive.List,
|
|
498
458
|
{
|
|
499
459
|
className: cn(
|
|
500
460
|
"scroll-py-1 max-h-[300px] overflow-x-hidden overflow-y-auto",
|
|
@@ -511,8 +471,8 @@ function CommandEmpty({
|
|
|
511
471
|
slotName = "command-empty",
|
|
512
472
|
...props
|
|
513
473
|
}) {
|
|
514
|
-
return /* @__PURE__ */
|
|
515
|
-
|
|
474
|
+
return /* @__PURE__ */ jsxs2(
|
|
475
|
+
CommandPrimitive.Empty,
|
|
516
476
|
{
|
|
517
477
|
className: cn(
|
|
518
478
|
"gap-3 px-6 py-10 flex flex-col items-center justify-center text-center",
|
|
@@ -521,8 +481,8 @@ function CommandEmpty({
|
|
|
521
481
|
...props,
|
|
522
482
|
"data-slot": slotName,
|
|
523
483
|
children: [
|
|
524
|
-
/* @__PURE__ */
|
|
525
|
-
/* @__PURE__ */
|
|
484
|
+
/* @__PURE__ */ jsx3("span", { className: "size-10 flex items-center justify-center rounded-full bg-surface-recessed text-muted-foreground", children: /* @__PURE__ */ jsx3(SearchXIcon, { className: "size-5" }) }),
|
|
485
|
+
/* @__PURE__ */ jsx3("span", { className: "text-sm text-muted-foreground", children })
|
|
526
486
|
]
|
|
527
487
|
}
|
|
528
488
|
);
|
|
@@ -532,8 +492,8 @@ function CommandGroup({
|
|
|
532
492
|
slotName = "command-group",
|
|
533
493
|
...props
|
|
534
494
|
}) {
|
|
535
|
-
return /* @__PURE__ */
|
|
536
|
-
|
|
495
|
+
return /* @__PURE__ */ jsx3(
|
|
496
|
+
CommandPrimitive.Group,
|
|
537
497
|
{
|
|
538
498
|
className: cn(
|
|
539
499
|
"p-3 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium overflow-hidden text-foreground [&_[cmdk-group-heading]]:text-muted-foreground",
|
|
@@ -549,8 +509,8 @@ function CommandSeparator({
|
|
|
549
509
|
slotName = "command-separator",
|
|
550
510
|
...props
|
|
551
511
|
}) {
|
|
552
|
-
return /* @__PURE__ */
|
|
553
|
-
|
|
512
|
+
return /* @__PURE__ */ jsx3(
|
|
513
|
+
CommandPrimitive.Separator,
|
|
554
514
|
{
|
|
555
515
|
className: cn("mx-3 h-px bg-border", className),
|
|
556
516
|
...props,
|
|
@@ -563,8 +523,8 @@ function CommandItem({
|
|
|
563
523
|
slotName = "command-item",
|
|
564
524
|
...props
|
|
565
525
|
}) {
|
|
566
|
-
return /* @__PURE__ */
|
|
567
|
-
|
|
526
|
+
return /* @__PURE__ */ jsx3(
|
|
527
|
+
CommandPrimitive.Item,
|
|
568
528
|
{
|
|
569
529
|
className: cn(
|
|
570
530
|
"gap-2 px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 rounded-xl relative flex cursor-default items-center outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-muted-foreground",
|
|
@@ -580,7 +540,7 @@ function CommandShortcut({
|
|
|
580
540
|
slotName = "command-shortcut",
|
|
581
541
|
...props
|
|
582
542
|
}) {
|
|
583
|
-
return /* @__PURE__ */
|
|
543
|
+
return /* @__PURE__ */ jsx3(
|
|
584
544
|
"span",
|
|
585
545
|
{
|
|
586
546
|
className: cn(
|
|
@@ -592,18 +552,23 @@ function CommandShortcut({
|
|
|
592
552
|
}
|
|
593
553
|
);
|
|
594
554
|
}
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
555
|
+
|
|
556
|
+
// src/components/ui/popover.tsx
|
|
557
|
+
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
558
|
+
import * as React2 from "react";
|
|
559
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
560
|
+
var Popover = PopoverPrimitive.Root;
|
|
561
|
+
var PopoverTrigger = PopoverPrimitive.Trigger;
|
|
562
|
+
var PopoverAnchor = PopoverPrimitive.Anchor;
|
|
563
|
+
var PopoverContent = React2.forwardRef(
|
|
599
564
|
({
|
|
600
565
|
className,
|
|
601
566
|
align = "center",
|
|
602
567
|
sideOffset = 4,
|
|
603
568
|
slotName = "popover-content",
|
|
604
569
|
...props
|
|
605
|
-
}, ref) => /* @__PURE__ */
|
|
606
|
-
|
|
570
|
+
}, ref) => /* @__PURE__ */ jsx4(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx4(
|
|
571
|
+
PopoverPrimitive.Content,
|
|
607
572
|
{
|
|
608
573
|
ref,
|
|
609
574
|
align,
|
|
@@ -617,24 +582,29 @@ var PopoverContent = React6.forwardRef(
|
|
|
617
582
|
}
|
|
618
583
|
) })
|
|
619
584
|
);
|
|
620
|
-
PopoverContent.displayName =
|
|
585
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
586
|
+
|
|
587
|
+
// src/components/ui/select.tsx
|
|
588
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
589
|
+
import { CheckIcon, ChevronDownIcon as ChevronDownIcon2, ChevronUpIcon } from "lucide-react";
|
|
590
|
+
import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
621
591
|
function Select({
|
|
622
592
|
slotName = "select",
|
|
623
593
|
...props
|
|
624
594
|
}) {
|
|
625
|
-
return /* @__PURE__ */
|
|
595
|
+
return /* @__PURE__ */ jsx5(SelectPrimitive.Root, { ...props, "data-slot": slotName });
|
|
626
596
|
}
|
|
627
597
|
function SelectGroup({
|
|
628
598
|
slotName = "select-group",
|
|
629
599
|
...props
|
|
630
600
|
}) {
|
|
631
|
-
return /* @__PURE__ */
|
|
601
|
+
return /* @__PURE__ */ jsx5(SelectPrimitive.Group, { ...props, "data-slot": slotName });
|
|
632
602
|
}
|
|
633
603
|
function SelectValue({
|
|
634
604
|
slotName = "select-value",
|
|
635
605
|
...props
|
|
636
606
|
}) {
|
|
637
|
-
return /* @__PURE__ */
|
|
607
|
+
return /* @__PURE__ */ jsx5(SelectPrimitive.Value, { ...props, "data-slot": slotName });
|
|
638
608
|
}
|
|
639
609
|
function SelectTrigger({
|
|
640
610
|
className,
|
|
@@ -642,7 +612,7 @@ function SelectTrigger({
|
|
|
642
612
|
slotName = "select-trigger",
|
|
643
613
|
...props
|
|
644
614
|
}) {
|
|
645
|
-
return /* @__PURE__ */
|
|
615
|
+
return /* @__PURE__ */ jsxs3(
|
|
646
616
|
SelectPrimitive.Trigger,
|
|
647
617
|
{
|
|
648
618
|
className: cn(
|
|
@@ -653,7 +623,7 @@ function SelectTrigger({
|
|
|
653
623
|
"data-slot": slotName,
|
|
654
624
|
children: [
|
|
655
625
|
children,
|
|
656
|
-
/* @__PURE__ */
|
|
626
|
+
/* @__PURE__ */ jsx5(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx5(ChevronDownIcon2, { className: "size-4 opacity-50" }) })
|
|
657
627
|
]
|
|
658
628
|
}
|
|
659
629
|
);
|
|
@@ -665,7 +635,7 @@ function SelectContent({
|
|
|
665
635
|
slotName = "select-content",
|
|
666
636
|
...props
|
|
667
637
|
}) {
|
|
668
|
-
return /* @__PURE__ */
|
|
638
|
+
return /* @__PURE__ */ jsx5(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs3(
|
|
669
639
|
SelectPrimitive.Content,
|
|
670
640
|
{
|
|
671
641
|
className: cn(
|
|
@@ -677,8 +647,8 @@ function SelectContent({
|
|
|
677
647
|
...props,
|
|
678
648
|
"data-slot": slotName,
|
|
679
649
|
children: [
|
|
680
|
-
/* @__PURE__ */
|
|
681
|
-
/* @__PURE__ */
|
|
650
|
+
/* @__PURE__ */ jsx5(SelectScrollUpButton, {}),
|
|
651
|
+
/* @__PURE__ */ jsx5(
|
|
682
652
|
SelectPrimitive.Viewport,
|
|
683
653
|
{
|
|
684
654
|
className: cn(
|
|
@@ -688,7 +658,7 @@ function SelectContent({
|
|
|
688
658
|
children
|
|
689
659
|
}
|
|
690
660
|
),
|
|
691
|
-
/* @__PURE__ */
|
|
661
|
+
/* @__PURE__ */ jsx5(SelectScrollDownButton, {})
|
|
692
662
|
]
|
|
693
663
|
}
|
|
694
664
|
) });
|
|
@@ -698,7 +668,7 @@ function SelectLabel({
|
|
|
698
668
|
slotName = "select-label",
|
|
699
669
|
...props
|
|
700
670
|
}) {
|
|
701
|
-
return /* @__PURE__ */
|
|
671
|
+
return /* @__PURE__ */ jsx5(
|
|
702
672
|
SelectPrimitive.Label,
|
|
703
673
|
{
|
|
704
674
|
className: cn(
|
|
@@ -716,7 +686,7 @@ function SelectItem({
|
|
|
716
686
|
slotName = "select-item",
|
|
717
687
|
...props
|
|
718
688
|
}) {
|
|
719
|
-
return /* @__PURE__ */
|
|
689
|
+
return /* @__PURE__ */ jsxs3(
|
|
720
690
|
SelectPrimitive.Item,
|
|
721
691
|
{
|
|
722
692
|
className: cn(
|
|
@@ -726,8 +696,8 @@ function SelectItem({
|
|
|
726
696
|
...props,
|
|
727
697
|
"data-slot": slotName,
|
|
728
698
|
children: [
|
|
729
|
-
/* @__PURE__ */
|
|
730
|
-
/* @__PURE__ */
|
|
699
|
+
/* @__PURE__ */ jsx5("span", { className: "right-2 size-3.5 absolute flex items-center justify-center", children: /* @__PURE__ */ jsx5(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx5(CheckIcon, { className: "size-4" }) }) }),
|
|
700
|
+
/* @__PURE__ */ jsx5(SelectPrimitive.ItemText, { children })
|
|
731
701
|
]
|
|
732
702
|
}
|
|
733
703
|
);
|
|
@@ -737,7 +707,7 @@ function SelectSeparator({
|
|
|
737
707
|
slotName = "select-separator",
|
|
738
708
|
...props
|
|
739
709
|
}) {
|
|
740
|
-
return /* @__PURE__ */
|
|
710
|
+
return /* @__PURE__ */ jsx5(
|
|
741
711
|
SelectPrimitive.Separator,
|
|
742
712
|
{
|
|
743
713
|
className: cn(
|
|
@@ -754,7 +724,7 @@ function SelectScrollUpButton({
|
|
|
754
724
|
slotName = "select-scroll-up-button",
|
|
755
725
|
...props
|
|
756
726
|
}) {
|
|
757
|
-
return /* @__PURE__ */
|
|
727
|
+
return /* @__PURE__ */ jsx5(
|
|
758
728
|
SelectPrimitive.ScrollUpButton,
|
|
759
729
|
{
|
|
760
730
|
className: cn(
|
|
@@ -763,7 +733,7 @@ function SelectScrollUpButton({
|
|
|
763
733
|
),
|
|
764
734
|
...props,
|
|
765
735
|
"data-slot": slotName,
|
|
766
|
-
children: /* @__PURE__ */
|
|
736
|
+
children: /* @__PURE__ */ jsx5(ChevronUpIcon, { className: "size-4" })
|
|
767
737
|
}
|
|
768
738
|
);
|
|
769
739
|
}
|
|
@@ -772,7 +742,7 @@ function SelectScrollDownButton({
|
|
|
772
742
|
slotName = "select-scroll-down-button",
|
|
773
743
|
...props
|
|
774
744
|
}) {
|
|
775
|
-
return /* @__PURE__ */
|
|
745
|
+
return /* @__PURE__ */ jsx5(
|
|
776
746
|
SelectPrimitive.ScrollDownButton,
|
|
777
747
|
{
|
|
778
748
|
className: cn(
|
|
@@ -781,53 +751,21 @@ function SelectScrollDownButton({
|
|
|
781
751
|
),
|
|
782
752
|
...props,
|
|
783
753
|
"data-slot": slotName,
|
|
784
|
-
children: /* @__PURE__ */
|
|
785
|
-
}
|
|
786
|
-
);
|
|
787
|
-
}
|
|
788
|
-
var FieldContext = React6.createContext(null);
|
|
789
|
-
function useOptionalField() {
|
|
790
|
-
return React6.useContext(FieldContext);
|
|
791
|
-
}
|
|
792
|
-
function useField() {
|
|
793
|
-
const field = useOptionalField();
|
|
794
|
-
if (!field) {
|
|
795
|
-
throw new Error("Field parts must be rendered inside a Field.");
|
|
796
|
-
}
|
|
797
|
-
return field;
|
|
798
|
-
}
|
|
799
|
-
function FieldError({
|
|
800
|
-
message,
|
|
801
|
-
className,
|
|
802
|
-
slotName = "field-error",
|
|
803
|
-
...props
|
|
804
|
-
}) {
|
|
805
|
-
const field = useOptionalField();
|
|
806
|
-
if (!message) {
|
|
807
|
-
return null;
|
|
808
|
-
}
|
|
809
|
-
return /* @__PURE__ */ jsx(
|
|
810
|
-
"p",
|
|
811
|
-
{
|
|
812
|
-
id: field?.errorId,
|
|
813
|
-
className: cn(
|
|
814
|
-
"ml-1 text-xs font-medium text-destructive group-data-[orientation=horizontal]/field:col-span-2 group-data-[orientation=horizontal]/field:row-start-3",
|
|
815
|
-
className
|
|
816
|
-
),
|
|
817
|
-
...props,
|
|
818
|
-
"data-slot": slotName,
|
|
819
|
-
children: message
|
|
754
|
+
children: /* @__PURE__ */ jsx5(ChevronDownIcon2, { className: "size-4" })
|
|
820
755
|
}
|
|
821
756
|
);
|
|
822
757
|
}
|
|
758
|
+
|
|
759
|
+
// src/components/ui/floating-sheet-context.ts
|
|
760
|
+
import * as React3 from "react";
|
|
823
761
|
var floatingSheetDefaultLabels = {
|
|
824
762
|
backLabel: "Back",
|
|
825
763
|
closeLabel: "Close"
|
|
826
764
|
};
|
|
827
765
|
var FLOATING_SHEET_OFFSET_LIMIT = 3;
|
|
828
|
-
var FloatingSheetStackContext =
|
|
766
|
+
var FloatingSheetStackContext = React3.createContext(null);
|
|
829
767
|
function useFloatingSheetStack() {
|
|
830
|
-
const context =
|
|
768
|
+
const context = React3.useContext(FloatingSheetStackContext);
|
|
831
769
|
if (!context) {
|
|
832
770
|
throw new Error(
|
|
833
771
|
"FloatingSheet must be rendered inside a FloatingSheetStack."
|
|
@@ -835,6 +773,11 @@ function useFloatingSheetStack() {
|
|
|
835
773
|
}
|
|
836
774
|
return context;
|
|
837
775
|
}
|
|
776
|
+
|
|
777
|
+
// src/components/ui/floating-sheet-stack.tsx
|
|
778
|
+
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
779
|
+
import * as React4 from "react";
|
|
780
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
838
781
|
function FloatingSheetStack({
|
|
839
782
|
children,
|
|
840
783
|
labels,
|
|
@@ -845,22 +788,22 @@ function FloatingSheetStack({
|
|
|
845
788
|
floatingSheetDefaultLabels,
|
|
846
789
|
labels
|
|
847
790
|
);
|
|
848
|
-
const [entries, setEntries] =
|
|
849
|
-
const [container, setContainer] =
|
|
850
|
-
const register =
|
|
791
|
+
const [entries, setEntries] = React4.useState([]);
|
|
792
|
+
const [container, setContainer] = React4.useState(null);
|
|
793
|
+
const register = React4.useCallback((entry) => {
|
|
851
794
|
setEntries(
|
|
852
795
|
(current) => current.some((item) => item.id === entry.id) ? current.map((item) => item.id === entry.id ? entry : item) : [...current, entry]
|
|
853
796
|
);
|
|
854
797
|
}, []);
|
|
855
|
-
const unregister =
|
|
798
|
+
const unregister = React4.useCallback((id) => {
|
|
856
799
|
setEntries((current) => current.filter((item) => item.id !== id));
|
|
857
800
|
}, []);
|
|
858
|
-
const closeAll =
|
|
801
|
+
const closeAll = React4.useCallback(() => {
|
|
859
802
|
for (const entry of [...entries].reverse()) {
|
|
860
803
|
entry.close();
|
|
861
804
|
}
|
|
862
805
|
}, [entries]);
|
|
863
|
-
const value =
|
|
806
|
+
const value = React4.useMemo(
|
|
864
807
|
() => ({
|
|
865
808
|
labels: { backLabel, closeLabel },
|
|
866
809
|
container,
|
|
@@ -880,9 +823,9 @@ function FloatingSheetStack({
|
|
|
880
823
|
]
|
|
881
824
|
);
|
|
882
825
|
const top = entries.at(-1);
|
|
883
|
-
return /* @__PURE__ */
|
|
826
|
+
return /* @__PURE__ */ jsxs4(FloatingSheetStackContext.Provider, { value, children: [
|
|
884
827
|
children,
|
|
885
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ jsx6(
|
|
886
829
|
DialogPrimitive.Root,
|
|
887
830
|
{
|
|
888
831
|
open: entries.length > 0,
|
|
@@ -891,15 +834,15 @@ function FloatingSheetStack({
|
|
|
891
834
|
closeAll();
|
|
892
835
|
}
|
|
893
836
|
},
|
|
894
|
-
children: /* @__PURE__ */
|
|
895
|
-
/* @__PURE__ */
|
|
837
|
+
children: /* @__PURE__ */ jsxs4(DialogPrimitive.Portal, { children: [
|
|
838
|
+
/* @__PURE__ */ jsx6(
|
|
896
839
|
DialogPrimitive.Overlay,
|
|
897
840
|
{
|
|
898
841
|
"data-slot": "floating-sheet-overlay",
|
|
899
842
|
className: "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 inset-0 bg-black/60 backdrop-blur-sm fixed z-50"
|
|
900
843
|
}
|
|
901
844
|
),
|
|
902
|
-
/* @__PURE__ */
|
|
845
|
+
/* @__PURE__ */ jsxs4(
|
|
903
846
|
DialogPrimitive.Content,
|
|
904
847
|
{
|
|
905
848
|
"aria-describedby": void 0,
|
|
@@ -919,8 +862,8 @@ function FloatingSheetStack({
|
|
|
919
862
|
className: "inset-2 sm:inset-y-4 sm:right-4 sm:left-auto sm:w-[calc(100vw-2rem)] sm:max-w-lg sm:p-0 fixed z-50 p-[env(safe-area-inset-top)_env(safe-area-inset-right)_env(safe-area-inset-bottom)_env(safe-area-inset-left)] outline-none",
|
|
920
863
|
"data-slot": slotName,
|
|
921
864
|
children: [
|
|
922
|
-
/* @__PURE__ */
|
|
923
|
-
/* @__PURE__ */
|
|
865
|
+
/* @__PURE__ */ jsx6(DialogPrimitive.Title, { className: "sr-only", children: top?.title }),
|
|
866
|
+
/* @__PURE__ */ jsx6(
|
|
924
867
|
"div",
|
|
925
868
|
{
|
|
926
869
|
ref: setContainer,
|
|
@@ -936,6 +879,12 @@ function FloatingSheetStack({
|
|
|
936
879
|
)
|
|
937
880
|
] });
|
|
938
881
|
}
|
|
882
|
+
|
|
883
|
+
// src/components/ui/floating-sheet.tsx
|
|
884
|
+
import { ArrowLeftIcon, XIcon } from "lucide-react";
|
|
885
|
+
import * as React5 from "react";
|
|
886
|
+
import { createPortal } from "react-dom";
|
|
887
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
939
888
|
function FloatingSheet({
|
|
940
889
|
open,
|
|
941
890
|
onOpenChange,
|
|
@@ -948,20 +897,20 @@ function FloatingSheet({
|
|
|
948
897
|
...props
|
|
949
898
|
}) {
|
|
950
899
|
const { labels, container, entries, register, unregister, closeAll } = useFloatingSheetStack();
|
|
951
|
-
const id =
|
|
900
|
+
const id = React5.useId();
|
|
952
901
|
const titleId = `${id}-title`;
|
|
953
902
|
const descriptionId = `${id}-description`;
|
|
954
|
-
const close =
|
|
955
|
-
const closeRef =
|
|
956
|
-
const titleRef =
|
|
957
|
-
const openerRef =
|
|
958
|
-
const panelRef =
|
|
959
|
-
const focusedRef =
|
|
960
|
-
|
|
903
|
+
const close = React5.useCallback(() => onOpenChange(false), [onOpenChange]);
|
|
904
|
+
const closeRef = React5.useRef(close);
|
|
905
|
+
const titleRef = React5.useRef(title);
|
|
906
|
+
const openerRef = React5.useRef(null);
|
|
907
|
+
const panelRef = React5.useRef(null);
|
|
908
|
+
const focusedRef = React5.useRef(false);
|
|
909
|
+
React5.useEffect(() => {
|
|
961
910
|
closeRef.current = close;
|
|
962
911
|
titleRef.current = title;
|
|
963
912
|
});
|
|
964
|
-
|
|
913
|
+
React5.useEffect(() => {
|
|
965
914
|
if (!open) {
|
|
966
915
|
return;
|
|
967
916
|
}
|
|
@@ -972,7 +921,7 @@ function FloatingSheet({
|
|
|
972
921
|
close: () => closeRef.current()
|
|
973
922
|
});
|
|
974
923
|
}, [open, id, persistent, register]);
|
|
975
|
-
|
|
924
|
+
React5.useEffect(() => {
|
|
976
925
|
if (!open) {
|
|
977
926
|
return;
|
|
978
927
|
}
|
|
@@ -981,7 +930,7 @@ function FloatingSheet({
|
|
|
981
930
|
const index = entries.findIndex((entry) => entry.id === id);
|
|
982
931
|
const depth = index === -1 ? 0 : entries.length - 1 - index;
|
|
983
932
|
const isTop = index !== -1 && depth === 0;
|
|
984
|
-
|
|
933
|
+
React5.useEffect(() => {
|
|
985
934
|
if (open) {
|
|
986
935
|
openerRef.current = document.activeElement;
|
|
987
936
|
return;
|
|
@@ -992,7 +941,7 @@ function FloatingSheet({
|
|
|
992
941
|
opener.focus();
|
|
993
942
|
}
|
|
994
943
|
}, [open]);
|
|
995
|
-
|
|
944
|
+
React5.useEffect(() => {
|
|
996
945
|
if (!open) {
|
|
997
946
|
focusedRef.current = false;
|
|
998
947
|
return;
|
|
@@ -1009,7 +958,7 @@ function FloatingSheet({
|
|
|
1009
958
|
}
|
|
1010
959
|
const offset = Math.min(depth, FLOATING_SHEET_OFFSET_LIMIT);
|
|
1011
960
|
return createPortal(
|
|
1012
|
-
/* @__PURE__ */
|
|
961
|
+
/* @__PURE__ */ jsxs5(
|
|
1013
962
|
"section",
|
|
1014
963
|
{
|
|
1015
964
|
ref: panelRef,
|
|
@@ -1032,13 +981,13 @@ function FloatingSheet({
|
|
|
1032
981
|
...props,
|
|
1033
982
|
"data-slot": slotName,
|
|
1034
983
|
children: [
|
|
1035
|
-
/* @__PURE__ */
|
|
984
|
+
/* @__PURE__ */ jsxs5(
|
|
1036
985
|
"header",
|
|
1037
986
|
{
|
|
1038
987
|
"data-slot": "floating-sheet-header",
|
|
1039
988
|
className: "gap-1 p-5 flex flex-col",
|
|
1040
989
|
children: [
|
|
1041
|
-
index > 0 ? /* @__PURE__ */
|
|
990
|
+
index > 0 ? /* @__PURE__ */ jsxs5(
|
|
1042
991
|
"button",
|
|
1043
992
|
{
|
|
1044
993
|
type: "button",
|
|
@@ -1049,12 +998,12 @@ function FloatingSheet({
|
|
|
1049
998
|
focusRing
|
|
1050
999
|
),
|
|
1051
1000
|
children: [
|
|
1052
|
-
/* @__PURE__ */
|
|
1001
|
+
/* @__PURE__ */ jsx7(ArrowLeftIcon, { className: "size-4" }),
|
|
1053
1002
|
labels.backLabel
|
|
1054
1003
|
]
|
|
1055
1004
|
}
|
|
1056
1005
|
) : null,
|
|
1057
|
-
/* @__PURE__ */
|
|
1006
|
+
/* @__PURE__ */ jsx7(
|
|
1058
1007
|
"h2",
|
|
1059
1008
|
{
|
|
1060
1009
|
id: titleId,
|
|
@@ -1063,7 +1012,7 @@ function FloatingSheet({
|
|
|
1063
1012
|
children: title
|
|
1064
1013
|
}
|
|
1065
1014
|
),
|
|
1066
|
-
description ? /* @__PURE__ */
|
|
1015
|
+
description ? /* @__PURE__ */ jsx7(
|
|
1067
1016
|
"p",
|
|
1068
1017
|
{
|
|
1069
1018
|
id: descriptionId,
|
|
@@ -1076,7 +1025,7 @@ function FloatingSheet({
|
|
|
1076
1025
|
}
|
|
1077
1026
|
),
|
|
1078
1027
|
children,
|
|
1079
|
-
/* @__PURE__ */
|
|
1028
|
+
/* @__PURE__ */ jsx7(
|
|
1080
1029
|
"button",
|
|
1081
1030
|
{
|
|
1082
1031
|
type: "button",
|
|
@@ -1087,7 +1036,7 @@ function FloatingSheet({
|
|
|
1087
1036
|
"top-4 right-4 size-9 shadow-xs absolute flex items-center justify-center rounded-full border border-border bg-muted text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none",
|
|
1088
1037
|
focusRing
|
|
1089
1038
|
),
|
|
1090
|
-
children: /* @__PURE__ */
|
|
1039
|
+
children: /* @__PURE__ */ jsx7(XIcon, { className: "size-4" })
|
|
1091
1040
|
}
|
|
1092
1041
|
)
|
|
1093
1042
|
]
|
|
@@ -1101,7 +1050,7 @@ function FloatingSheetBody({
|
|
|
1101
1050
|
slotName = "floating-sheet-body",
|
|
1102
1051
|
...props
|
|
1103
1052
|
}) {
|
|
1104
|
-
return /* @__PURE__ */
|
|
1053
|
+
return /* @__PURE__ */ jsx7(
|
|
1105
1054
|
"div",
|
|
1106
1055
|
{
|
|
1107
1056
|
className: cn("p-5 flex-1 overflow-y-auto", className),
|
|
@@ -1115,7 +1064,7 @@ function FloatingSheetFooter({
|
|
|
1115
1064
|
slotName = "floating-sheet-footer",
|
|
1116
1065
|
...props
|
|
1117
1066
|
}) {
|
|
1118
|
-
return /* @__PURE__ */
|
|
1067
|
+
return /* @__PURE__ */ jsx7(
|
|
1119
1068
|
"div",
|
|
1120
1069
|
{
|
|
1121
1070
|
className: cn(
|
|
@@ -1127,7 +1076,13 @@ function FloatingSheetFooter({
|
|
|
1127
1076
|
}
|
|
1128
1077
|
);
|
|
1129
1078
|
}
|
|
1130
|
-
|
|
1079
|
+
|
|
1080
|
+
// src/components/ui/input-otp.tsx
|
|
1081
|
+
import { OTPInput, OTPInputContext } from "input-otp";
|
|
1082
|
+
import { Minus } from "lucide-react";
|
|
1083
|
+
import * as React6 from "react";
|
|
1084
|
+
import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1085
|
+
var InputOTP = React6.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx8(
|
|
1131
1086
|
OTPInput,
|
|
1132
1087
|
{
|
|
1133
1088
|
ref,
|
|
@@ -1140,12 +1095,12 @@ var InputOTP = React6.forwardRef(({ className, containerClassName, ...props }, r
|
|
|
1140
1095
|
}
|
|
1141
1096
|
));
|
|
1142
1097
|
InputOTP.displayName = "InputOTP";
|
|
1143
|
-
var InputOTPGroup = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */
|
|
1098
|
+
var InputOTPGroup = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, className: cn("flex items-center", className), ...props }));
|
|
1144
1099
|
InputOTPGroup.displayName = "InputOTPGroup";
|
|
1145
1100
|
var InputOTPSlot = React6.forwardRef(({ index, className, slotName = "input-otp-slot", ...props }, ref) => {
|
|
1146
1101
|
const inputOTPContext = React6.useContext(OTPInputContext);
|
|
1147
1102
|
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
|
|
1148
|
-
return /* @__PURE__ */
|
|
1103
|
+
return /* @__PURE__ */ jsxs6(
|
|
1149
1104
|
"div",
|
|
1150
1105
|
{
|
|
1151
1106
|
ref,
|
|
@@ -1160,15 +1115,20 @@ var InputOTPSlot = React6.forwardRef(({ index, className, slotName = "input-otp-
|
|
|
1160
1115
|
"data-slot": slotName,
|
|
1161
1116
|
children: [
|
|
1162
1117
|
char,
|
|
1163
|
-
hasFakeCaret && /* @__PURE__ */
|
|
1118
|
+
hasFakeCaret && /* @__PURE__ */ jsx8("div", { className: "inset-0 pointer-events-none absolute flex items-center justify-center", children: /* @__PURE__ */ jsx8("div", { className: "h-4 animate-caret-blink w-px bg-foreground duration-1000" }) })
|
|
1164
1119
|
]
|
|
1165
1120
|
}
|
|
1166
1121
|
);
|
|
1167
1122
|
});
|
|
1168
1123
|
InputOTPSlot.displayName = "InputOTPSlot";
|
|
1169
|
-
var InputOTPSeparator = React6.forwardRef(({ ...props }, ref) => /* @__PURE__ */
|
|
1124
|
+
var InputOTPSeparator = React6.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx8("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx8(Minus, {}) }));
|
|
1170
1125
|
InputOTPSeparator.displayName = "InputOTPSeparator";
|
|
1171
|
-
|
|
1126
|
+
|
|
1127
|
+
// src/components/ui/switch.tsx
|
|
1128
|
+
import * as SwitchPrimitives from "@radix-ui/react-switch";
|
|
1129
|
+
import * as React7 from "react";
|
|
1130
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
1131
|
+
var Switch = React7.forwardRef(({ className, slotName = "switch", ...props }, ref) => /* @__PURE__ */ jsx9(
|
|
1172
1132
|
SwitchPrimitives.Root,
|
|
1173
1133
|
{
|
|
1174
1134
|
className: cn(
|
|
@@ -1178,7 +1138,7 @@ var Switch = React6.forwardRef(({ className, slotName = "switch", ...props }, re
|
|
|
1178
1138
|
...props,
|
|
1179
1139
|
ref,
|
|
1180
1140
|
"data-slot": slotName,
|
|
1181
|
-
children: /* @__PURE__ */
|
|
1141
|
+
children: /* @__PURE__ */ jsx9(
|
|
1182
1142
|
SwitchPrimitives.Thumb,
|
|
1183
1143
|
{
|
|
1184
1144
|
"data-slot": "switch-thumb",
|
|
@@ -1190,9 +1150,14 @@ var Switch = React6.forwardRef(({ className, slotName = "switch", ...props }, re
|
|
|
1190
1150
|
}
|
|
1191
1151
|
));
|
|
1192
1152
|
Switch.displayName = SwitchPrimitives.Root.displayName;
|
|
1193
|
-
|
|
1153
|
+
|
|
1154
|
+
// src/components/ui/tabs.tsx
|
|
1155
|
+
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
1156
|
+
import * as React8 from "react";
|
|
1157
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
1158
|
+
var Tabs = React8.forwardRef(({ slotName = "tabs", ...props }, ref) => /* @__PURE__ */ jsx10(TabsPrimitive.Root, { ref, ...props, "data-slot": slotName }));
|
|
1194
1159
|
Tabs.displayName = TabsPrimitive.Root.displayName;
|
|
1195
|
-
var TabsList =
|
|
1160
|
+
var TabsList = React8.forwardRef(({ className, slotName = "tabs-list", ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
1196
1161
|
TabsPrimitive.List,
|
|
1197
1162
|
{
|
|
1198
1163
|
ref,
|
|
@@ -1205,7 +1170,7 @@ var TabsList = React6.forwardRef(({ className, slotName = "tabs-list", ...props
|
|
|
1205
1170
|
}
|
|
1206
1171
|
));
|
|
1207
1172
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
1208
|
-
var TabsTrigger =
|
|
1173
|
+
var TabsTrigger = React8.forwardRef(({ className, slotName = "tabs-trigger", ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
1209
1174
|
TabsPrimitive.Trigger,
|
|
1210
1175
|
{
|
|
1211
1176
|
ref,
|
|
@@ -1218,7 +1183,7 @@ var TabsTrigger = React6.forwardRef(({ className, slotName = "tabs-trigger", ...
|
|
|
1218
1183
|
}
|
|
1219
1184
|
));
|
|
1220
1185
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
1221
|
-
var TabsContent =
|
|
1186
|
+
var TabsContent = React8.forwardRef(({ className, slotName = "tabs-content", ...props }, ref) => /* @__PURE__ */ jsx10(
|
|
1222
1187
|
TabsPrimitive.Content,
|
|
1223
1188
|
{
|
|
1224
1189
|
ref,
|
|
@@ -1233,8 +1198,12 @@ var TabsContent = React6.forwardRef(({ className, slotName = "tabs-content", ...
|
|
|
1233
1198
|
}
|
|
1234
1199
|
));
|
|
1235
1200
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
1236
|
-
|
|
1237
|
-
|
|
1201
|
+
|
|
1202
|
+
// src/components/ui/textarea.tsx
|
|
1203
|
+
import * as React9 from "react";
|
|
1204
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
1205
|
+
var Textarea = React9.forwardRef(({ className, slotName = "textarea", ...props }, ref) => {
|
|
1206
|
+
return /* @__PURE__ */ jsx11(
|
|
1238
1207
|
"textarea",
|
|
1239
1208
|
{
|
|
1240
1209
|
className: cn(
|
|
@@ -1252,6 +1221,48 @@ var Textarea = React6.forwardRef(({ className, slotName = "textarea", ...props }
|
|
|
1252
1221
|
});
|
|
1253
1222
|
Textarea.displayName = "Textarea";
|
|
1254
1223
|
|
|
1255
|
-
export {
|
|
1256
|
-
|
|
1257
|
-
|
|
1224
|
+
export {
|
|
1225
|
+
confirmDialogDefaultLabels,
|
|
1226
|
+
ConfirmDialog,
|
|
1227
|
+
Calendar,
|
|
1228
|
+
CalendarDayButton,
|
|
1229
|
+
Command,
|
|
1230
|
+
CommandDialog,
|
|
1231
|
+
CommandInput,
|
|
1232
|
+
CommandList,
|
|
1233
|
+
CommandEmpty,
|
|
1234
|
+
CommandGroup,
|
|
1235
|
+
CommandSeparator,
|
|
1236
|
+
CommandItem,
|
|
1237
|
+
CommandShortcut,
|
|
1238
|
+
Popover,
|
|
1239
|
+
PopoverTrigger,
|
|
1240
|
+
PopoverAnchor,
|
|
1241
|
+
PopoverContent,
|
|
1242
|
+
Select,
|
|
1243
|
+
SelectGroup,
|
|
1244
|
+
SelectValue,
|
|
1245
|
+
SelectTrigger,
|
|
1246
|
+
SelectContent,
|
|
1247
|
+
SelectLabel,
|
|
1248
|
+
SelectItem,
|
|
1249
|
+
SelectSeparator,
|
|
1250
|
+
SelectScrollUpButton,
|
|
1251
|
+
SelectScrollDownButton,
|
|
1252
|
+
floatingSheetDefaultLabels,
|
|
1253
|
+
FloatingSheetStack,
|
|
1254
|
+
FloatingSheet,
|
|
1255
|
+
FloatingSheetBody,
|
|
1256
|
+
FloatingSheetFooter,
|
|
1257
|
+
InputOTP,
|
|
1258
|
+
InputOTPGroup,
|
|
1259
|
+
InputOTPSlot,
|
|
1260
|
+
InputOTPSeparator,
|
|
1261
|
+
Switch,
|
|
1262
|
+
Tabs,
|
|
1263
|
+
TabsList,
|
|
1264
|
+
TabsTrigger,
|
|
1265
|
+
TabsContent,
|
|
1266
|
+
Textarea
|
|
1267
|
+
};
|
|
1268
|
+
//# sourceMappingURL=chunk-UCJTM3UM.js.map
|