@codapet/design-system 0.7.0 → 0.7.2
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/index.d.mts +26 -2
- package/dist/index.mjs +543 -345
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
package/dist/index.mjs
CHANGED
|
@@ -1645,7 +1645,7 @@ function Checkbox({
|
|
|
1645
1645
|
{
|
|
1646
1646
|
"data-slot": "checkbox",
|
|
1647
1647
|
className: cn(
|
|
1648
|
-
"group peer border-
|
|
1648
|
+
"group peer border-gray-stroke-default dark:bg-input/30 transition-colors duration-400 data-[state=checked]:bg-primary-stroke-default data-[state=checked]:text-white dark:data-[state=checked]:bg-primary-stroke-default data-[state=checked]:border-primary-stroke-default focus-visible:border-ring focus-visible:ring-brand-text-vibrant aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-5 shrink-0 rounded-[4px] border-2 outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-40 focus-visible:before:absolute focus-visible:before:-inset-[3px] focus:ring-offset-1 focus:ring-offset-brand-text-vibrant",
|
|
1649
1649
|
className
|
|
1650
1650
|
),
|
|
1651
1651
|
...props,
|
|
@@ -1655,7 +1655,7 @@ function Checkbox({
|
|
|
1655
1655
|
"data-slot": "checkbox-indicator",
|
|
1656
1656
|
forceMount: true,
|
|
1657
1657
|
className: "flex items-center justify-center text-current transition-opacity duration-400 opacity-0 group-data-[state=checked]:opacity-100",
|
|
1658
|
-
children: /* @__PURE__ */ jsx19(Check, { className: "size-
|
|
1658
|
+
children: /* @__PURE__ */ jsx19(Check, { className: "size-4" })
|
|
1659
1659
|
}
|
|
1660
1660
|
)
|
|
1661
1661
|
}
|
|
@@ -2604,10 +2604,7 @@ function DateInput({
|
|
|
2604
2604
|
showOutsideDays,
|
|
2605
2605
|
startMonth: dropdownStartMonth,
|
|
2606
2606
|
endMonth: dropdownEndMonth,
|
|
2607
|
-
className: cn(
|
|
2608
|
-
"w-auto mx-auto overflow-y-auto h-auto m-2",
|
|
2609
|
-
calendarClassName
|
|
2610
|
-
),
|
|
2607
|
+
className: cn("w-auto mx-auto h-auto sm:m-2", calendarClassName),
|
|
2611
2608
|
classNames,
|
|
2612
2609
|
components,
|
|
2613
2610
|
formatters,
|
|
@@ -4433,6 +4430,157 @@ function NavigationMenuIndicator({
|
|
|
4433
4430
|
);
|
|
4434
4431
|
}
|
|
4435
4432
|
|
|
4433
|
+
// src/components/ui/option-card.tsx
|
|
4434
|
+
import { cva as cva11 } from "class-variance-authority";
|
|
4435
|
+
import { Check as Check2, Circle } from "lucide-react";
|
|
4436
|
+
import "react";
|
|
4437
|
+
import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4438
|
+
var optionCardVariants = cva11(
|
|
4439
|
+
"group flex items-center gap-2 h-12 p-2 cursor-pointer transition-all duration-200 font-medium text-base leading-6 outline-none select-none",
|
|
4440
|
+
{
|
|
4441
|
+
variants: {
|
|
4442
|
+
hasStroke: {
|
|
4443
|
+
true: "border rounded-lg",
|
|
4444
|
+
false: "rounded-lg"
|
|
4445
|
+
},
|
|
4446
|
+
selected: {
|
|
4447
|
+
true: "",
|
|
4448
|
+
false: ""
|
|
4449
|
+
},
|
|
4450
|
+
weight: {
|
|
4451
|
+
hug: "w-fit",
|
|
4452
|
+
resizable: "w-full"
|
|
4453
|
+
},
|
|
4454
|
+
disabled: {
|
|
4455
|
+
true: "opacity-40 cursor-not-allowed pointer-events-none",
|
|
4456
|
+
false: ""
|
|
4457
|
+
}
|
|
4458
|
+
},
|
|
4459
|
+
compoundVariants: [
|
|
4460
|
+
// Stroke + not selected
|
|
4461
|
+
{
|
|
4462
|
+
hasStroke: true,
|
|
4463
|
+
selected: false,
|
|
4464
|
+
disabled: false,
|
|
4465
|
+
className: "border-gray-stroke-default text-vibrant-text-heading hover:border-primary-stroke-default"
|
|
4466
|
+
},
|
|
4467
|
+
// Stroke + selected
|
|
4468
|
+
{
|
|
4469
|
+
hasStroke: true,
|
|
4470
|
+
selected: true,
|
|
4471
|
+
disabled: false,
|
|
4472
|
+
className: "border-primary-stroke-default bg-primary-surface-subtle text-primary-stroke-default"
|
|
4473
|
+
},
|
|
4474
|
+
// Stroke + disabled + not selected
|
|
4475
|
+
{
|
|
4476
|
+
hasStroke: true,
|
|
4477
|
+
selected: false,
|
|
4478
|
+
disabled: true,
|
|
4479
|
+
className: "border-gray-stroke-default text-vibrant-text-heading"
|
|
4480
|
+
},
|
|
4481
|
+
// Stroke + disabled + selected
|
|
4482
|
+
{
|
|
4483
|
+
hasStroke: true,
|
|
4484
|
+
selected: true,
|
|
4485
|
+
disabled: true,
|
|
4486
|
+
className: "border-gray-stroke-default text-vibrant-text-heading"
|
|
4487
|
+
},
|
|
4488
|
+
// No stroke + not selected
|
|
4489
|
+
{
|
|
4490
|
+
hasStroke: false,
|
|
4491
|
+
selected: false,
|
|
4492
|
+
disabled: false,
|
|
4493
|
+
className: "text-vibrant-text-heading"
|
|
4494
|
+
},
|
|
4495
|
+
// No stroke + selected
|
|
4496
|
+
{
|
|
4497
|
+
hasStroke: false,
|
|
4498
|
+
selected: true,
|
|
4499
|
+
disabled: false,
|
|
4500
|
+
className: "bg-primary-surface-subtle text-primary-stroke-default"
|
|
4501
|
+
},
|
|
4502
|
+
// No stroke + disabled
|
|
4503
|
+
{
|
|
4504
|
+
hasStroke: false,
|
|
4505
|
+
disabled: true,
|
|
4506
|
+
className: "text-vibrant-text-heading"
|
|
4507
|
+
}
|
|
4508
|
+
],
|
|
4509
|
+
defaultVariants: {
|
|
4510
|
+
hasStroke: true,
|
|
4511
|
+
selected: false,
|
|
4512
|
+
weight: "hug",
|
|
4513
|
+
disabled: false
|
|
4514
|
+
}
|
|
4515
|
+
}
|
|
4516
|
+
);
|
|
4517
|
+
function RadioIndicator({ selected }) {
|
|
4518
|
+
return /* @__PURE__ */ jsx38(
|
|
4519
|
+
"span",
|
|
4520
|
+
{
|
|
4521
|
+
className: cn(
|
|
4522
|
+
"flex items-center justify-center shrink-0 size-5 rounded-full border-2 transition-colors duration-200",
|
|
4523
|
+
selected ? "bg-primary-stroke-default border-primary-stroke-default" : "border-gray-stroke-default bg-transparent group-hover:border-primary-stroke-default"
|
|
4524
|
+
),
|
|
4525
|
+
children: selected && /* @__PURE__ */ jsx38(Circle, { className: "size-2 fill-white text-white" })
|
|
4526
|
+
}
|
|
4527
|
+
);
|
|
4528
|
+
}
|
|
4529
|
+
function CheckboxIndicator({ selected }) {
|
|
4530
|
+
return /* @__PURE__ */ jsx38(
|
|
4531
|
+
"span",
|
|
4532
|
+
{
|
|
4533
|
+
className: cn(
|
|
4534
|
+
"flex items-center justify-center shrink-0 size-5 rounded-[4px] border-2 transition-colors duration-200",
|
|
4535
|
+
selected ? "bg-primary-stroke-default border-primary-stroke-default" : "border-gray-stroke-default bg-transparent group-hover:border-primary-stroke-default"
|
|
4536
|
+
),
|
|
4537
|
+
children: selected && /* @__PURE__ */ jsx38(Check2, { className: "size-4 text-white" })
|
|
4538
|
+
}
|
|
4539
|
+
);
|
|
4540
|
+
}
|
|
4541
|
+
function OptionCard({
|
|
4542
|
+
className,
|
|
4543
|
+
children,
|
|
4544
|
+
selected = false,
|
|
4545
|
+
disabled = false,
|
|
4546
|
+
hasStroke = true,
|
|
4547
|
+
weight = "hug",
|
|
4548
|
+
selectorPosition = "right",
|
|
4549
|
+
selectionType = "single",
|
|
4550
|
+
icon,
|
|
4551
|
+
...props
|
|
4552
|
+
}) {
|
|
4553
|
+
const Indicator5 = selectionType === "single" ? RadioIndicator : CheckboxIndicator;
|
|
4554
|
+
const indicator = /* @__PURE__ */ jsx38(Indicator5, { selected });
|
|
4555
|
+
return /* @__PURE__ */ jsxs22(
|
|
4556
|
+
"button",
|
|
4557
|
+
{
|
|
4558
|
+
type: "button",
|
|
4559
|
+
"data-slot": "option-card",
|
|
4560
|
+
"data-state": selected ? "selected" : "unselected",
|
|
4561
|
+
disabled,
|
|
4562
|
+
className: cn(
|
|
4563
|
+
optionCardVariants({
|
|
4564
|
+
hasStroke,
|
|
4565
|
+
selected,
|
|
4566
|
+
weight,
|
|
4567
|
+
disabled
|
|
4568
|
+
}),
|
|
4569
|
+
className
|
|
4570
|
+
),
|
|
4571
|
+
...props,
|
|
4572
|
+
children: [
|
|
4573
|
+
selectorPosition === "left" && indicator,
|
|
4574
|
+
/* @__PURE__ */ jsxs22("span", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
|
|
4575
|
+
icon && /* @__PURE__ */ jsx38("span", { className: "flex items-center justify-center shrink-0 size-5 [&_svg]:size-5", children: icon }),
|
|
4576
|
+
/* @__PURE__ */ jsx38("span", { className: "truncate", children })
|
|
4577
|
+
] }),
|
|
4578
|
+
selectorPosition === "right" && indicator
|
|
4579
|
+
]
|
|
4580
|
+
}
|
|
4581
|
+
);
|
|
4582
|
+
}
|
|
4583
|
+
|
|
4436
4584
|
// src/components/ui/pagination.tsx
|
|
4437
4585
|
import "react";
|
|
4438
4586
|
import {
|
|
@@ -4440,9 +4588,9 @@ import {
|
|
|
4440
4588
|
ChevronRightIcon as ChevronRightIcon5,
|
|
4441
4589
|
MoreHorizontalIcon
|
|
4442
4590
|
} from "lucide-react";
|
|
4443
|
-
import { jsx as
|
|
4591
|
+
import { jsx as jsx39, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
4444
4592
|
function Pagination({ className, ...props }) {
|
|
4445
|
-
return /* @__PURE__ */
|
|
4593
|
+
return /* @__PURE__ */ jsx39(
|
|
4446
4594
|
"nav",
|
|
4447
4595
|
{
|
|
4448
4596
|
role: "navigation",
|
|
@@ -4457,7 +4605,7 @@ function PaginationContent({
|
|
|
4457
4605
|
className,
|
|
4458
4606
|
...props
|
|
4459
4607
|
}) {
|
|
4460
|
-
return /* @__PURE__ */
|
|
4608
|
+
return /* @__PURE__ */ jsx39(
|
|
4461
4609
|
"ul",
|
|
4462
4610
|
{
|
|
4463
4611
|
"data-slot": "pagination-content",
|
|
@@ -4467,7 +4615,7 @@ function PaginationContent({
|
|
|
4467
4615
|
);
|
|
4468
4616
|
}
|
|
4469
4617
|
function PaginationItem({ ...props }) {
|
|
4470
|
-
return /* @__PURE__ */
|
|
4618
|
+
return /* @__PURE__ */ jsx39("li", { "data-slot": "pagination-item", ...props });
|
|
4471
4619
|
}
|
|
4472
4620
|
function PaginationLink({
|
|
4473
4621
|
className,
|
|
@@ -4475,7 +4623,7 @@ function PaginationLink({
|
|
|
4475
4623
|
size = "icon",
|
|
4476
4624
|
...props
|
|
4477
4625
|
}) {
|
|
4478
|
-
return /* @__PURE__ */
|
|
4626
|
+
return /* @__PURE__ */ jsx39(
|
|
4479
4627
|
"a",
|
|
4480
4628
|
{
|
|
4481
4629
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -4496,7 +4644,7 @@ function PaginationPrevious({
|
|
|
4496
4644
|
className,
|
|
4497
4645
|
...props
|
|
4498
4646
|
}) {
|
|
4499
|
-
return /* @__PURE__ */
|
|
4647
|
+
return /* @__PURE__ */ jsxs23(
|
|
4500
4648
|
PaginationLink,
|
|
4501
4649
|
{
|
|
4502
4650
|
"aria-label": "Go to previous page",
|
|
@@ -4504,8 +4652,8 @@ function PaginationPrevious({
|
|
|
4504
4652
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
4505
4653
|
...props,
|
|
4506
4654
|
children: [
|
|
4507
|
-
/* @__PURE__ */
|
|
4508
|
-
/* @__PURE__ */
|
|
4655
|
+
/* @__PURE__ */ jsx39(ChevronLeftIcon2, {}),
|
|
4656
|
+
/* @__PURE__ */ jsx39("span", { className: "hidden sm:block", children: "Previous" })
|
|
4509
4657
|
]
|
|
4510
4658
|
}
|
|
4511
4659
|
);
|
|
@@ -4514,7 +4662,7 @@ function PaginationNext({
|
|
|
4514
4662
|
className,
|
|
4515
4663
|
...props
|
|
4516
4664
|
}) {
|
|
4517
|
-
return /* @__PURE__ */
|
|
4665
|
+
return /* @__PURE__ */ jsxs23(
|
|
4518
4666
|
PaginationLink,
|
|
4519
4667
|
{
|
|
4520
4668
|
"aria-label": "Go to next page",
|
|
@@ -4522,8 +4670,8 @@ function PaginationNext({
|
|
|
4522
4670
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
4523
4671
|
...props,
|
|
4524
4672
|
children: [
|
|
4525
|
-
/* @__PURE__ */
|
|
4526
|
-
/* @__PURE__ */
|
|
4673
|
+
/* @__PURE__ */ jsx39("span", { className: "hidden sm:block", children: "Next" }),
|
|
4674
|
+
/* @__PURE__ */ jsx39(ChevronRightIcon5, {})
|
|
4527
4675
|
]
|
|
4528
4676
|
}
|
|
4529
4677
|
);
|
|
@@ -4532,7 +4680,7 @@ function PaginationEllipsis({
|
|
|
4532
4680
|
className,
|
|
4533
4681
|
...props
|
|
4534
4682
|
}) {
|
|
4535
|
-
return /* @__PURE__ */
|
|
4683
|
+
return /* @__PURE__ */ jsxs23(
|
|
4536
4684
|
"span",
|
|
4537
4685
|
{
|
|
4538
4686
|
"aria-hidden": true,
|
|
@@ -4540,8 +4688,8 @@ function PaginationEllipsis({
|
|
|
4540
4688
|
className: cn("flex size-9 items-center justify-center", className),
|
|
4541
4689
|
...props,
|
|
4542
4690
|
children: [
|
|
4543
|
-
/* @__PURE__ */
|
|
4544
|
-
/* @__PURE__ */
|
|
4691
|
+
/* @__PURE__ */ jsx39(MoreHorizontalIcon, { className: "size-4" }),
|
|
4692
|
+
/* @__PURE__ */ jsx39("span", { className: "sr-only", children: "More pages" })
|
|
4545
4693
|
]
|
|
4546
4694
|
}
|
|
4547
4695
|
);
|
|
@@ -4550,13 +4698,13 @@ function PaginationEllipsis({
|
|
|
4550
4698
|
// src/components/ui/progress.tsx
|
|
4551
4699
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
4552
4700
|
import "react";
|
|
4553
|
-
import { jsx as
|
|
4701
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
4554
4702
|
function Progress({
|
|
4555
4703
|
className,
|
|
4556
4704
|
value,
|
|
4557
4705
|
...props
|
|
4558
4706
|
}) {
|
|
4559
|
-
return /* @__PURE__ */
|
|
4707
|
+
return /* @__PURE__ */ jsx40(
|
|
4560
4708
|
ProgressPrimitive.Root,
|
|
4561
4709
|
{
|
|
4562
4710
|
"data-slot": "progress",
|
|
@@ -4565,7 +4713,7 @@ function Progress({
|
|
|
4565
4713
|
className
|
|
4566
4714
|
),
|
|
4567
4715
|
...props,
|
|
4568
|
-
children: /* @__PURE__ */
|
|
4716
|
+
children: /* @__PURE__ */ jsx40(
|
|
4569
4717
|
ProgressPrimitive.Indicator,
|
|
4570
4718
|
{
|
|
4571
4719
|
"data-slot": "progress-indicator",
|
|
@@ -4578,10 +4726,10 @@ function Progress({
|
|
|
4578
4726
|
}
|
|
4579
4727
|
|
|
4580
4728
|
// src/components/ui/progress-bar.tsx
|
|
4581
|
-
import { cva as
|
|
4729
|
+
import { cva as cva12 } from "class-variance-authority";
|
|
4582
4730
|
import "react";
|
|
4583
|
-
import { jsx as
|
|
4584
|
-
var progressBarVariants =
|
|
4731
|
+
import { jsx as jsx41, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
4732
|
+
var progressBarVariants = cva12("relative overflow-hidden rounded-[8px]", {
|
|
4585
4733
|
variants: {
|
|
4586
4734
|
device: {
|
|
4587
4735
|
desktop: "w-[360px] h-[4px]",
|
|
@@ -4601,7 +4749,7 @@ function ProgressBar({
|
|
|
4601
4749
|
...props
|
|
4602
4750
|
}) {
|
|
4603
4751
|
const percentage = value !== void 0 ? Math.min(100, Math.max(0, value)) : Math.min(100, Math.max(0, currentStep / totalSteps * 100));
|
|
4604
|
-
return /* @__PURE__ */
|
|
4752
|
+
return /* @__PURE__ */ jsxs24(
|
|
4605
4753
|
"div",
|
|
4606
4754
|
{
|
|
4607
4755
|
"data-slot": "progress-bar",
|
|
@@ -4612,8 +4760,8 @@ function ProgressBar({
|
|
|
4612
4760
|
"aria-valuemax": 100,
|
|
4613
4761
|
...props,
|
|
4614
4762
|
children: [
|
|
4615
|
-
/* @__PURE__ */
|
|
4616
|
-
/* @__PURE__ */
|
|
4763
|
+
/* @__PURE__ */ jsx41("div", { className: "absolute inset-0 rounded-[8px] bg-primary-surface-light" }),
|
|
4764
|
+
/* @__PURE__ */ jsx41(
|
|
4617
4765
|
"div",
|
|
4618
4766
|
{
|
|
4619
4767
|
"data-slot": "progress-bar-fill",
|
|
@@ -4630,12 +4778,12 @@ function ProgressBar({
|
|
|
4630
4778
|
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
|
|
4631
4779
|
import { CircleIcon as CircleIcon4 } from "lucide-react";
|
|
4632
4780
|
import "react";
|
|
4633
|
-
import { jsx as
|
|
4781
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4634
4782
|
function RadioGroup4({
|
|
4635
4783
|
className,
|
|
4636
4784
|
...props
|
|
4637
4785
|
}) {
|
|
4638
|
-
return /* @__PURE__ */
|
|
4786
|
+
return /* @__PURE__ */ jsx42(
|
|
4639
4787
|
RadioGroupPrimitive.Root,
|
|
4640
4788
|
{
|
|
4641
4789
|
"data-slot": "radio-group",
|
|
@@ -4648,21 +4796,21 @@ function RadioGroupItem({
|
|
|
4648
4796
|
className,
|
|
4649
4797
|
...props
|
|
4650
4798
|
}) {
|
|
4651
|
-
return /* @__PURE__ */
|
|
4799
|
+
return /* @__PURE__ */ jsx42(
|
|
4652
4800
|
RadioGroupPrimitive.Item,
|
|
4653
4801
|
{
|
|
4654
4802
|
"data-slot": "radio-group-item",
|
|
4655
4803
|
className: cn(
|
|
4656
|
-
"border-
|
|
4804
|
+
"border-gray-stroke-default text-primary-stroke-default focus-visible:border-ring focus-visible:ring-brand-text-vibrant aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-5 shrink-0 rounded-full border-2 transition-all duration-400 outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-40 data-[state=checked]:bg-primary-stroke-default data-[state=checked]:border-primary-stroke-default",
|
|
4657
4805
|
className
|
|
4658
4806
|
),
|
|
4659
4807
|
...props,
|
|
4660
|
-
children: /* @__PURE__ */
|
|
4808
|
+
children: /* @__PURE__ */ jsx42(
|
|
4661
4809
|
RadioGroupPrimitive.Indicator,
|
|
4662
4810
|
{
|
|
4663
4811
|
"data-slot": "radio-group-indicator",
|
|
4664
4812
|
className: "relative flex items-center justify-center",
|
|
4665
|
-
children: /* @__PURE__ */
|
|
4813
|
+
children: /* @__PURE__ */ jsx42(CircleIcon4, { className: "fill-white absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
|
|
4666
4814
|
}
|
|
4667
4815
|
)
|
|
4668
4816
|
}
|
|
@@ -4673,12 +4821,12 @@ function RadioGroupItem({
|
|
|
4673
4821
|
import "react";
|
|
4674
4822
|
import { GripVerticalIcon } from "lucide-react";
|
|
4675
4823
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
4676
|
-
import { jsx as
|
|
4824
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
4677
4825
|
function ResizablePanelGroup({
|
|
4678
4826
|
className,
|
|
4679
4827
|
...props
|
|
4680
4828
|
}) {
|
|
4681
|
-
return /* @__PURE__ */
|
|
4829
|
+
return /* @__PURE__ */ jsx43(
|
|
4682
4830
|
ResizablePrimitive.PanelGroup,
|
|
4683
4831
|
{
|
|
4684
4832
|
"data-slot": "resizable-panel-group",
|
|
@@ -4693,14 +4841,14 @@ function ResizablePanelGroup({
|
|
|
4693
4841
|
function ResizablePanel({
|
|
4694
4842
|
...props
|
|
4695
4843
|
}) {
|
|
4696
|
-
return /* @__PURE__ */
|
|
4844
|
+
return /* @__PURE__ */ jsx43(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
4697
4845
|
}
|
|
4698
4846
|
function ResizableHandle({
|
|
4699
4847
|
withHandle,
|
|
4700
4848
|
className,
|
|
4701
4849
|
...props
|
|
4702
4850
|
}) {
|
|
4703
|
-
return /* @__PURE__ */
|
|
4851
|
+
return /* @__PURE__ */ jsx43(
|
|
4704
4852
|
ResizablePrimitive.PanelResizeHandle,
|
|
4705
4853
|
{
|
|
4706
4854
|
"data-slot": "resizable-handle",
|
|
@@ -4709,7 +4857,7 @@ function ResizableHandle({
|
|
|
4709
4857
|
className
|
|
4710
4858
|
),
|
|
4711
4859
|
...props,
|
|
4712
|
-
children: withHandle && /* @__PURE__ */
|
|
4860
|
+
children: withHandle && /* @__PURE__ */ jsx43("div", { className: "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border", children: /* @__PURE__ */ jsx43(GripVerticalIcon, { className: "size-2.5" }) })
|
|
4713
4861
|
}
|
|
4714
4862
|
);
|
|
4715
4863
|
}
|
|
@@ -4717,20 +4865,20 @@ function ResizableHandle({
|
|
|
4717
4865
|
// src/components/ui/scroll-area.tsx
|
|
4718
4866
|
import "react";
|
|
4719
4867
|
import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
|
|
4720
|
-
import { jsx as
|
|
4868
|
+
import { jsx as jsx44, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
4721
4869
|
function ScrollArea({
|
|
4722
4870
|
className,
|
|
4723
4871
|
children,
|
|
4724
4872
|
...props
|
|
4725
4873
|
}) {
|
|
4726
|
-
return /* @__PURE__ */
|
|
4874
|
+
return /* @__PURE__ */ jsxs25(
|
|
4727
4875
|
ScrollAreaPrimitive.Root,
|
|
4728
4876
|
{
|
|
4729
4877
|
"data-slot": "scroll-area",
|
|
4730
4878
|
className: cn("relative", className),
|
|
4731
4879
|
...props,
|
|
4732
4880
|
children: [
|
|
4733
|
-
/* @__PURE__ */
|
|
4881
|
+
/* @__PURE__ */ jsx44(
|
|
4734
4882
|
ScrollAreaPrimitive.Viewport,
|
|
4735
4883
|
{
|
|
4736
4884
|
"data-slot": "scroll-area-viewport",
|
|
@@ -4738,8 +4886,8 @@ function ScrollArea({
|
|
|
4738
4886
|
children
|
|
4739
4887
|
}
|
|
4740
4888
|
),
|
|
4741
|
-
/* @__PURE__ */
|
|
4742
|
-
/* @__PURE__ */
|
|
4889
|
+
/* @__PURE__ */ jsx44(ScrollBar, {}),
|
|
4890
|
+
/* @__PURE__ */ jsx44(ScrollAreaPrimitive.Corner, {})
|
|
4743
4891
|
]
|
|
4744
4892
|
}
|
|
4745
4893
|
);
|
|
@@ -4749,7 +4897,7 @@ function ScrollBar({
|
|
|
4749
4897
|
orientation = "vertical",
|
|
4750
4898
|
...props
|
|
4751
4899
|
}) {
|
|
4752
|
-
return /* @__PURE__ */
|
|
4900
|
+
return /* @__PURE__ */ jsx44(
|
|
4753
4901
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
4754
4902
|
{
|
|
4755
4903
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -4761,7 +4909,7 @@ function ScrollBar({
|
|
|
4761
4909
|
className
|
|
4762
4910
|
),
|
|
4763
4911
|
...props,
|
|
4764
|
-
children: /* @__PURE__ */
|
|
4912
|
+
children: /* @__PURE__ */ jsx44(
|
|
4765
4913
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
4766
4914
|
{
|
|
4767
4915
|
"data-slot": "scroll-area-thumb",
|
|
@@ -4773,9 +4921,9 @@ function ScrollBar({
|
|
|
4773
4921
|
}
|
|
4774
4922
|
|
|
4775
4923
|
// src/components/ui/search-input.tsx
|
|
4776
|
-
import * as
|
|
4924
|
+
import * as React43 from "react";
|
|
4777
4925
|
import { Search, X as X3 } from "lucide-react";
|
|
4778
|
-
import { jsx as
|
|
4926
|
+
import { jsx as jsx45, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
4779
4927
|
function SearchInput({
|
|
4780
4928
|
variant = "icon",
|
|
4781
4929
|
value: valueProp,
|
|
@@ -4794,23 +4942,23 @@ function SearchInput({
|
|
|
4794
4942
|
onSuggestionClick,
|
|
4795
4943
|
className
|
|
4796
4944
|
}) {
|
|
4797
|
-
const [internalValue, setInternalValue] =
|
|
4798
|
-
const [isFocused, setIsFocused] =
|
|
4799
|
-
const [showSuggestions, setShowSuggestions] =
|
|
4800
|
-
const inputRef =
|
|
4801
|
-
const containerRef =
|
|
4945
|
+
const [internalValue, setInternalValue] = React43.useState(defaultValue);
|
|
4946
|
+
const [isFocused, setIsFocused] = React43.useState(false);
|
|
4947
|
+
const [showSuggestions, setShowSuggestions] = React43.useState(false);
|
|
4948
|
+
const inputRef = React43.useRef(null);
|
|
4949
|
+
const containerRef = React43.useRef(null);
|
|
4802
4950
|
const isControlled = valueProp !== void 0;
|
|
4803
4951
|
const currentValue = isControlled ? valueProp : internalValue;
|
|
4804
4952
|
const hasValue = currentValue.trim().length > 0;
|
|
4805
4953
|
const isFilledEdit = hasValue && !isFocused && !error;
|
|
4806
|
-
const updateValue =
|
|
4954
|
+
const updateValue = React43.useCallback(
|
|
4807
4955
|
(next) => {
|
|
4808
4956
|
if (!isControlled) setInternalValue(next);
|
|
4809
4957
|
onValueChange?.(next);
|
|
4810
4958
|
},
|
|
4811
4959
|
[isControlled, onValueChange]
|
|
4812
4960
|
);
|
|
4813
|
-
const handleInputChange =
|
|
4961
|
+
const handleInputChange = React43.useCallback(
|
|
4814
4962
|
(e) => {
|
|
4815
4963
|
updateValue(e.target.value);
|
|
4816
4964
|
if (e.target.value.trim().length > 0 && suggestions.length > 0) {
|
|
@@ -4821,7 +4969,7 @@ function SearchInput({
|
|
|
4821
4969
|
},
|
|
4822
4970
|
[updateValue, suggestions.length]
|
|
4823
4971
|
);
|
|
4824
|
-
const handleKeyDown =
|
|
4972
|
+
const handleKeyDown = React43.useCallback(
|
|
4825
4973
|
(e) => {
|
|
4826
4974
|
if (e.key === "Enter") {
|
|
4827
4975
|
e.preventDefault();
|
|
@@ -4834,16 +4982,16 @@ function SearchInput({
|
|
|
4834
4982
|
},
|
|
4835
4983
|
[currentValue, onSearch]
|
|
4836
4984
|
);
|
|
4837
|
-
const handleClear =
|
|
4985
|
+
const handleClear = React43.useCallback(() => {
|
|
4838
4986
|
updateValue("");
|
|
4839
4987
|
onClear?.();
|
|
4840
4988
|
inputRef.current?.focus();
|
|
4841
4989
|
}, [updateValue, onClear]);
|
|
4842
|
-
const handleSearchClick =
|
|
4990
|
+
const handleSearchClick = React43.useCallback(() => {
|
|
4843
4991
|
onSearch?.(currentValue);
|
|
4844
4992
|
setShowSuggestions(false);
|
|
4845
4993
|
}, [currentValue, onSearch]);
|
|
4846
|
-
const handleSuggestionClick =
|
|
4994
|
+
const handleSuggestionClick = React43.useCallback(
|
|
4847
4995
|
(label2) => {
|
|
4848
4996
|
updateValue(label2);
|
|
4849
4997
|
onSuggestionClick?.(label2);
|
|
@@ -4852,14 +5000,14 @@ function SearchInput({
|
|
|
4852
5000
|
},
|
|
4853
5001
|
[updateValue, onSuggestionClick]
|
|
4854
5002
|
);
|
|
4855
|
-
const handleFocus =
|
|
5003
|
+
const handleFocus = React43.useCallback(() => {
|
|
4856
5004
|
if (disabled) return;
|
|
4857
5005
|
setIsFocused(true);
|
|
4858
5006
|
if (currentValue.trim().length > 0 && suggestions.length > 0) {
|
|
4859
5007
|
setShowSuggestions(true);
|
|
4860
5008
|
}
|
|
4861
5009
|
}, [disabled, currentValue, suggestions.length]);
|
|
4862
|
-
const handleBlur =
|
|
5010
|
+
const handleBlur = React43.useCallback(
|
|
4863
5011
|
(e) => {
|
|
4864
5012
|
if (containerRef.current?.contains(e.relatedTarget)) return;
|
|
4865
5013
|
setIsFocused(false);
|
|
@@ -4869,7 +5017,7 @@ function SearchInput({
|
|
|
4869
5017
|
);
|
|
4870
5018
|
const displayHelperText = error && errorMessage ? errorMessage : helperText;
|
|
4871
5019
|
const showClearButton = (isFilledEdit || error) && hasValue;
|
|
4872
|
-
return /* @__PURE__ */
|
|
5020
|
+
return /* @__PURE__ */ jsxs26(
|
|
4873
5021
|
"div",
|
|
4874
5022
|
{
|
|
4875
5023
|
ref: containerRef,
|
|
@@ -4877,8 +5025,8 @@ function SearchInput({
|
|
|
4877
5025
|
className: cn("flex flex-col gap-[8px] items-start w-full", className),
|
|
4878
5026
|
onBlur: handleBlur,
|
|
4879
5027
|
children: [
|
|
4880
|
-
label && /* @__PURE__ */
|
|
4881
|
-
/* @__PURE__ */
|
|
5028
|
+
label && /* @__PURE__ */ jsx45("div", { className: "flex items-center font-sans font-medium text-[14px] leading-[20px] text-vibrant-text-details", children: label }),
|
|
5029
|
+
/* @__PURE__ */ jsxs26(
|
|
4882
5030
|
"div",
|
|
4883
5031
|
{
|
|
4884
5032
|
className: cn(
|
|
@@ -4895,7 +5043,7 @@ function SearchInput({
|
|
|
4895
5043
|
disabled && "opacity-60 cursor-not-allowed"
|
|
4896
5044
|
),
|
|
4897
5045
|
children: [
|
|
4898
|
-
icon && /* @__PURE__ */
|
|
5046
|
+
icon && /* @__PURE__ */ jsx45(
|
|
4899
5047
|
"span",
|
|
4900
5048
|
{
|
|
4901
5049
|
className: cn(
|
|
@@ -4905,7 +5053,7 @@ function SearchInput({
|
|
|
4905
5053
|
children: icon
|
|
4906
5054
|
}
|
|
4907
5055
|
),
|
|
4908
|
-
/* @__PURE__ */
|
|
5056
|
+
/* @__PURE__ */ jsx45(
|
|
4909
5057
|
"input",
|
|
4910
5058
|
{
|
|
4911
5059
|
ref: inputRef,
|
|
@@ -4922,7 +5070,7 @@ function SearchInput({
|
|
|
4922
5070
|
)
|
|
4923
5071
|
}
|
|
4924
5072
|
),
|
|
4925
|
-
showClearButton ? /* @__PURE__ */
|
|
5073
|
+
showClearButton ? /* @__PURE__ */ jsx45(
|
|
4926
5074
|
"button",
|
|
4927
5075
|
{
|
|
4928
5076
|
type: "button",
|
|
@@ -4930,9 +5078,9 @@ function SearchInput({
|
|
|
4930
5078
|
className: "flex items-center justify-center shrink-0 size-[20px] text-muted-foreground hover:text-vibrant-text-heading transition-colors cursor-pointer",
|
|
4931
5079
|
"aria-label": "Clear search",
|
|
4932
5080
|
tabIndex: -1,
|
|
4933
|
-
children: /* @__PURE__ */
|
|
5081
|
+
children: /* @__PURE__ */ jsx45(X3, { className: "size-[16px]" })
|
|
4934
5082
|
}
|
|
4935
|
-
) : variant === "button" ? /* @__PURE__ */
|
|
5083
|
+
) : variant === "button" ? /* @__PURE__ */ jsx45(
|
|
4936
5084
|
"button",
|
|
4937
5085
|
{
|
|
4938
5086
|
type: "button",
|
|
@@ -4942,7 +5090,7 @@ function SearchInput({
|
|
|
4942
5090
|
tabIndex: -1,
|
|
4943
5091
|
children: "Search"
|
|
4944
5092
|
}
|
|
4945
|
-
) : /* @__PURE__ */
|
|
5093
|
+
) : /* @__PURE__ */ jsx45(
|
|
4946
5094
|
"button",
|
|
4947
5095
|
{
|
|
4948
5096
|
type: "button",
|
|
@@ -4951,13 +5099,13 @@ function SearchInput({
|
|
|
4951
5099
|
className: "flex items-center justify-center shrink-0 size-[36px] rounded-[6px] bg-primary-surface-default cursor-pointer disabled:cursor-not-allowed transition-colors",
|
|
4952
5100
|
"aria-label": "Search",
|
|
4953
5101
|
tabIndex: -1,
|
|
4954
|
-
children: /* @__PURE__ */
|
|
5102
|
+
children: /* @__PURE__ */ jsx45(Search, { className: "size-[20px] text-white" })
|
|
4955
5103
|
}
|
|
4956
5104
|
)
|
|
4957
5105
|
]
|
|
4958
5106
|
}
|
|
4959
5107
|
),
|
|
4960
|
-
displayHelperText && /* @__PURE__ */
|
|
5108
|
+
displayHelperText && /* @__PURE__ */ jsx45(
|
|
4961
5109
|
"p",
|
|
4962
5110
|
{
|
|
4963
5111
|
className: cn(
|
|
@@ -4967,12 +5115,12 @@ function SearchInput({
|
|
|
4967
5115
|
children: displayHelperText
|
|
4968
5116
|
}
|
|
4969
5117
|
),
|
|
4970
|
-
showSuggestions && suggestions.length > 0 && /* @__PURE__ */
|
|
5118
|
+
showSuggestions && suggestions.length > 0 && /* @__PURE__ */ jsx45(
|
|
4971
5119
|
"div",
|
|
4972
5120
|
{
|
|
4973
5121
|
"data-slot": "search-input-suggestions",
|
|
4974
5122
|
className: "w-full rounded-[8px] border border-gray-stroke-light bg-white dark:bg-card p-[12px] shadow-[0px_4px_24px_0px_rgba(0,0,0,0.05)] flex flex-col gap-[16px]",
|
|
4975
|
-
children: suggestions.map((suggestion, idx) => /* @__PURE__ */
|
|
5123
|
+
children: suggestions.map((suggestion, idx) => /* @__PURE__ */ jsxs26(
|
|
4976
5124
|
"button",
|
|
4977
5125
|
{
|
|
4978
5126
|
type: "button",
|
|
@@ -4980,8 +5128,8 @@ function SearchInput({
|
|
|
4980
5128
|
onMouseDown: (e) => e.preventDefault(),
|
|
4981
5129
|
className: "flex items-center gap-[13px] h-[40px] pr-[12px] rounded-[8px] w-full text-left hover:bg-gray-surface-light transition-colors cursor-pointer",
|
|
4982
5130
|
children: [
|
|
4983
|
-
suggestion.icon && /* @__PURE__ */
|
|
4984
|
-
/* @__PURE__ */
|
|
5131
|
+
suggestion.icon && /* @__PURE__ */ jsx45("span", { className: "flex items-center justify-center shrink-0 size-[40px] rounded-[8px] bg-gray-surface-light [&_svg]:size-[20px] text-muted-foreground", children: suggestion.icon }),
|
|
5132
|
+
/* @__PURE__ */ jsx45("span", { className: "flex-1 min-w-0 font-sans font-medium text-[16px] leading-[24px] text-vibrant-text-heading truncate", children: suggestion.label })
|
|
4985
5133
|
]
|
|
4986
5134
|
},
|
|
4987
5135
|
`${suggestion.label}-${idx}`
|
|
@@ -4994,12 +5142,12 @@ function SearchInput({
|
|
|
4994
5142
|
}
|
|
4995
5143
|
|
|
4996
5144
|
// src/components/ui/searchable-select.tsx
|
|
4997
|
-
import * as
|
|
5145
|
+
import * as React44 from "react";
|
|
4998
5146
|
import { CheckIcon as CheckIcon4, ChevronsUpDown, XIcon as XIcon2 } from "lucide-react";
|
|
4999
|
-
import { jsx as
|
|
5000
|
-
var SearchableSelectContext =
|
|
5147
|
+
import { jsx as jsx46, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
5148
|
+
var SearchableSelectContext = React44.createContext(null);
|
|
5001
5149
|
function useSearchableSelect() {
|
|
5002
|
-
const ctx =
|
|
5150
|
+
const ctx = React44.useContext(SearchableSelectContext);
|
|
5003
5151
|
if (!ctx) {
|
|
5004
5152
|
throw new Error(
|
|
5005
5153
|
"SearchableSelect compound components must be used within <SearchableSelect>"
|
|
@@ -5025,11 +5173,11 @@ function SearchableSelect({
|
|
|
5025
5173
|
onOpenChange,
|
|
5026
5174
|
children
|
|
5027
5175
|
}) {
|
|
5028
|
-
const [internalOpen, setInternalOpen] =
|
|
5029
|
-
const [internalValue, setInternalValue] =
|
|
5030
|
-
const [internalValues, setInternalValues] =
|
|
5176
|
+
const [internalOpen, setInternalOpen] = React44.useState(false);
|
|
5177
|
+
const [internalValue, setInternalValue] = React44.useState(defaultValue);
|
|
5178
|
+
const [internalValues, setInternalValues] = React44.useState(defaultValues);
|
|
5031
5179
|
const open = controlledOpen ?? internalOpen;
|
|
5032
|
-
const setOpen =
|
|
5180
|
+
const setOpen = React44.useCallback(
|
|
5033
5181
|
(next) => {
|
|
5034
5182
|
if (controlledOpen !== void 0) {
|
|
5035
5183
|
onOpenChange?.(next);
|
|
@@ -5041,7 +5189,7 @@ function SearchableSelect({
|
|
|
5041
5189
|
[controlledOpen, onOpenChange]
|
|
5042
5190
|
);
|
|
5043
5191
|
const value = controlledValue ?? internalValue;
|
|
5044
|
-
const setValue =
|
|
5192
|
+
const setValue = React44.useCallback(
|
|
5045
5193
|
(next) => {
|
|
5046
5194
|
if (controlledValue === void 0) {
|
|
5047
5195
|
setInternalValue(next);
|
|
@@ -5051,7 +5199,7 @@ function SearchableSelect({
|
|
|
5051
5199
|
[controlledValue, onValueChange]
|
|
5052
5200
|
);
|
|
5053
5201
|
const values = controlledValues ?? internalValues;
|
|
5054
|
-
const setValues =
|
|
5202
|
+
const setValues = React44.useCallback(
|
|
5055
5203
|
(next) => {
|
|
5056
5204
|
if (controlledValues === void 0) {
|
|
5057
5205
|
setInternalValues(next);
|
|
@@ -5060,14 +5208,14 @@ function SearchableSelect({
|
|
|
5060
5208
|
},
|
|
5061
5209
|
[controlledValues, onValuesChange]
|
|
5062
5210
|
);
|
|
5063
|
-
const optionMap =
|
|
5211
|
+
const optionMap = React44.useMemo(() => {
|
|
5064
5212
|
const map = /* @__PURE__ */ new Map();
|
|
5065
5213
|
for (const opt of options) {
|
|
5066
5214
|
map.set(opt.value, opt.label);
|
|
5067
5215
|
}
|
|
5068
5216
|
return map;
|
|
5069
5217
|
}, [options]);
|
|
5070
|
-
const ctx =
|
|
5218
|
+
const ctx = React44.useMemo(
|
|
5071
5219
|
() => ({
|
|
5072
5220
|
open,
|
|
5073
5221
|
setOpen,
|
|
@@ -5101,7 +5249,7 @@ function SearchableSelect({
|
|
|
5101
5249
|
optionMap
|
|
5102
5250
|
]
|
|
5103
5251
|
);
|
|
5104
|
-
return /* @__PURE__ */
|
|
5252
|
+
return /* @__PURE__ */ jsx46(SearchableSelectContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx46(Popover, { open, onOpenChange: setOpen, children }) });
|
|
5105
5253
|
}
|
|
5106
5254
|
function SearchableSelectTrigger({
|
|
5107
5255
|
className,
|
|
@@ -5114,7 +5262,7 @@ function SearchableSelectTrigger({
|
|
|
5114
5262
|
if (children) return children;
|
|
5115
5263
|
if (ctx.mode === "single") {
|
|
5116
5264
|
const label = ctx.optionMap.get(ctx.value);
|
|
5117
|
-
return /* @__PURE__ */
|
|
5265
|
+
return /* @__PURE__ */ jsx46(
|
|
5118
5266
|
"span",
|
|
5119
5267
|
{
|
|
5120
5268
|
"data-slot": "searchable-select-value",
|
|
@@ -5127,7 +5275,7 @@ function SearchableSelectTrigger({
|
|
|
5127
5275
|
);
|
|
5128
5276
|
}
|
|
5129
5277
|
if (ctx.values.length === 0) {
|
|
5130
|
-
return /* @__PURE__ */
|
|
5278
|
+
return /* @__PURE__ */ jsx46(
|
|
5131
5279
|
"span",
|
|
5132
5280
|
{
|
|
5133
5281
|
"data-slot": "searchable-select-value",
|
|
@@ -5138,20 +5286,20 @@ function SearchableSelectTrigger({
|
|
|
5138
5286
|
}
|
|
5139
5287
|
const visible = ctx.values.slice(0, ctx.maxCount);
|
|
5140
5288
|
const remaining = ctx.values.length - visible.length;
|
|
5141
|
-
return /* @__PURE__ */
|
|
5289
|
+
return /* @__PURE__ */ jsxs27(
|
|
5142
5290
|
"span",
|
|
5143
5291
|
{
|
|
5144
5292
|
"data-slot": "searchable-select-value",
|
|
5145
5293
|
className: "flex flex-wrap items-center gap-1",
|
|
5146
5294
|
children: [
|
|
5147
|
-
visible.map((v) => /* @__PURE__ */
|
|
5295
|
+
visible.map((v) => /* @__PURE__ */ jsxs27(
|
|
5148
5296
|
Badge,
|
|
5149
5297
|
{
|
|
5150
5298
|
variant: "secondary",
|
|
5151
5299
|
className: "gap-1 pr-1",
|
|
5152
5300
|
children: [
|
|
5153
|
-
/* @__PURE__ */
|
|
5154
|
-
/* @__PURE__ */
|
|
5301
|
+
/* @__PURE__ */ jsx46("span", { className: "truncate max-w-[120px]", children: ctx.optionMap.get(v) || v }),
|
|
5302
|
+
/* @__PURE__ */ jsx46(
|
|
5155
5303
|
"span",
|
|
5156
5304
|
{
|
|
5157
5305
|
role: "button",
|
|
@@ -5163,14 +5311,14 @@ function SearchableSelectTrigger({
|
|
|
5163
5311
|
e.stopPropagation();
|
|
5164
5312
|
ctx.setValues(ctx.values.filter((val) => val !== v));
|
|
5165
5313
|
},
|
|
5166
|
-
children: /* @__PURE__ */
|
|
5314
|
+
children: /* @__PURE__ */ jsx46(XIcon2, { className: "size-3" })
|
|
5167
5315
|
}
|
|
5168
5316
|
)
|
|
5169
5317
|
]
|
|
5170
5318
|
},
|
|
5171
5319
|
v
|
|
5172
5320
|
)),
|
|
5173
|
-
remaining > 0 && /* @__PURE__ */
|
|
5321
|
+
remaining > 0 && /* @__PURE__ */ jsxs27(Badge, { variant: "outline", className: "text-muted-foreground", children: [
|
|
5174
5322
|
"+",
|
|
5175
5323
|
remaining,
|
|
5176
5324
|
" more"
|
|
@@ -5179,7 +5327,7 @@ function SearchableSelectTrigger({
|
|
|
5179
5327
|
}
|
|
5180
5328
|
);
|
|
5181
5329
|
};
|
|
5182
|
-
return /* @__PURE__ */
|
|
5330
|
+
return /* @__PURE__ */ jsxs27(
|
|
5183
5331
|
PopoverTrigger,
|
|
5184
5332
|
{
|
|
5185
5333
|
"data-slot": "searchable-select-trigger",
|
|
@@ -5193,7 +5341,7 @@ function SearchableSelectTrigger({
|
|
|
5193
5341
|
...props,
|
|
5194
5342
|
children: [
|
|
5195
5343
|
renderContent(),
|
|
5196
|
-
/* @__PURE__ */
|
|
5344
|
+
/* @__PURE__ */ jsx46(ChevronsUpDown, { className: "size-4 shrink-0 opacity-50" })
|
|
5197
5345
|
]
|
|
5198
5346
|
}
|
|
5199
5347
|
);
|
|
@@ -5205,7 +5353,7 @@ function SearchableSelectContent({
|
|
|
5205
5353
|
...props
|
|
5206
5354
|
}) {
|
|
5207
5355
|
const ctx = useSearchableSelect();
|
|
5208
|
-
const groupedOptions =
|
|
5356
|
+
const groupedOptions = React44.useMemo(() => {
|
|
5209
5357
|
if (ctx.options.length === 0) return null;
|
|
5210
5358
|
const groups = /* @__PURE__ */ new Map();
|
|
5211
5359
|
for (const opt of ctx.options) {
|
|
@@ -5219,7 +5367,7 @@ function SearchableSelectContent({
|
|
|
5219
5367
|
if (!groupedOptions) return null;
|
|
5220
5368
|
const entries = Array.from(groupedOptions.entries());
|
|
5221
5369
|
if (entries.length === 1 && entries[0][0] === "") {
|
|
5222
|
-
return entries[0][1].map((opt) => /* @__PURE__ */
|
|
5370
|
+
return entries[0][1].map((opt) => /* @__PURE__ */ jsx46(
|
|
5223
5371
|
SearchableSelectItem,
|
|
5224
5372
|
{
|
|
5225
5373
|
value: opt.value,
|
|
@@ -5229,7 +5377,7 @@ function SearchableSelectContent({
|
|
|
5229
5377
|
opt.value
|
|
5230
5378
|
));
|
|
5231
5379
|
}
|
|
5232
|
-
return entries.map(([group, opts]) => /* @__PURE__ */
|
|
5380
|
+
return entries.map(([group, opts]) => /* @__PURE__ */ jsx46(SearchableSelectGroup, { heading: group || void 0, children: opts.map((opt) => /* @__PURE__ */ jsx46(
|
|
5233
5381
|
SearchableSelectItem,
|
|
5234
5382
|
{
|
|
5235
5383
|
value: opt.value,
|
|
@@ -5239,17 +5387,17 @@ function SearchableSelectContent({
|
|
|
5239
5387
|
opt.value
|
|
5240
5388
|
)) }, group));
|
|
5241
5389
|
};
|
|
5242
|
-
return /* @__PURE__ */
|
|
5390
|
+
return /* @__PURE__ */ jsx46(
|
|
5243
5391
|
PopoverContent,
|
|
5244
5392
|
{
|
|
5245
5393
|
"data-slot": "searchable-select-content",
|
|
5246
5394
|
className: cn("w-[var(--radix-popover-trigger-width)] p-0", className),
|
|
5247
5395
|
align: "start",
|
|
5248
5396
|
...props,
|
|
5249
|
-
children: /* @__PURE__ */
|
|
5250
|
-
ctx.searchable && /* @__PURE__ */
|
|
5251
|
-
/* @__PURE__ */
|
|
5252
|
-
/* @__PURE__ */
|
|
5397
|
+
children: /* @__PURE__ */ jsxs27(Command, { children: [
|
|
5398
|
+
ctx.searchable && /* @__PURE__ */ jsx46(CommandInput, { placeholder: ctx.searchPlaceholder }),
|
|
5399
|
+
/* @__PURE__ */ jsxs27(CommandList, { children: [
|
|
5400
|
+
/* @__PURE__ */ jsx46(CommandEmpty, { children: emptyText }),
|
|
5253
5401
|
children || renderAutoItems()
|
|
5254
5402
|
] })
|
|
5255
5403
|
] })
|
|
@@ -5276,7 +5424,7 @@ function SearchableSelectItem({
|
|
|
5276
5424
|
);
|
|
5277
5425
|
}
|
|
5278
5426
|
};
|
|
5279
|
-
return /* @__PURE__ */
|
|
5427
|
+
return /* @__PURE__ */ jsxs27(
|
|
5280
5428
|
CommandItem,
|
|
5281
5429
|
{
|
|
5282
5430
|
"data-slot": "searchable-select-item",
|
|
@@ -5289,18 +5437,18 @@ function SearchableSelectItem({
|
|
|
5289
5437
|
"data-disabled": disabled || void 0,
|
|
5290
5438
|
...props,
|
|
5291
5439
|
children: [
|
|
5292
|
-
ctx.mode === "multiple" && /* @__PURE__ */
|
|
5440
|
+
ctx.mode === "multiple" && /* @__PURE__ */ jsx46("span", { className: "absolute left-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx46(
|
|
5293
5441
|
"span",
|
|
5294
5442
|
{
|
|
5295
5443
|
className: cn(
|
|
5296
5444
|
"size-4 rounded-sm border border-primary transition-colors",
|
|
5297
5445
|
isSelected ? "bg-primary text-primary-foreground" : "bg-transparent"
|
|
5298
5446
|
),
|
|
5299
|
-
children: isSelected && /* @__PURE__ */
|
|
5447
|
+
children: isSelected && /* @__PURE__ */ jsx46(CheckIcon4, { className: "size-4 p-0.5" })
|
|
5300
5448
|
}
|
|
5301
5449
|
) }),
|
|
5302
|
-
/* @__PURE__ */
|
|
5303
|
-
ctx.mode === "single" && isSelected && /* @__PURE__ */
|
|
5450
|
+
/* @__PURE__ */ jsx46("span", { className: "flex-1 truncate", children }),
|
|
5451
|
+
ctx.mode === "single" && isSelected && /* @__PURE__ */ jsx46("span", { className: "absolute right-2 flex size-4 items-center justify-center", children: /* @__PURE__ */ jsx46(CheckIcon4, { className: "size-4" }) })
|
|
5304
5452
|
]
|
|
5305
5453
|
}
|
|
5306
5454
|
);
|
|
@@ -5309,7 +5457,7 @@ function SearchableSelectGroup({
|
|
|
5309
5457
|
className,
|
|
5310
5458
|
...props
|
|
5311
5459
|
}) {
|
|
5312
|
-
return /* @__PURE__ */
|
|
5460
|
+
return /* @__PURE__ */ jsx46(
|
|
5313
5461
|
CommandGroup,
|
|
5314
5462
|
{
|
|
5315
5463
|
"data-slot": "searchable-select-group",
|
|
@@ -5323,7 +5471,7 @@ function SearchableSelectEmpty({
|
|
|
5323
5471
|
children = "No results found.",
|
|
5324
5472
|
...props
|
|
5325
5473
|
}) {
|
|
5326
|
-
return /* @__PURE__ */
|
|
5474
|
+
return /* @__PURE__ */ jsx46(
|
|
5327
5475
|
CommandEmpty,
|
|
5328
5476
|
{
|
|
5329
5477
|
"data-slot": "searchable-select-empty",
|
|
@@ -5338,21 +5486,21 @@ function SearchableSelectEmpty({
|
|
|
5338
5486
|
import "react";
|
|
5339
5487
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
5340
5488
|
import { CheckIcon as CheckIcon5, ChevronDownIcon as ChevronDownIcon4, ChevronUpIcon } from "lucide-react";
|
|
5341
|
-
import { jsx as
|
|
5489
|
+
import { jsx as jsx47, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5342
5490
|
function Select({
|
|
5343
5491
|
...props
|
|
5344
5492
|
}) {
|
|
5345
|
-
return /* @__PURE__ */
|
|
5493
|
+
return /* @__PURE__ */ jsx47(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
5346
5494
|
}
|
|
5347
5495
|
function SelectGroup({
|
|
5348
5496
|
...props
|
|
5349
5497
|
}) {
|
|
5350
|
-
return /* @__PURE__ */
|
|
5498
|
+
return /* @__PURE__ */ jsx47(SelectPrimitive.Group, { "data-slot": "select-group", ...props });
|
|
5351
5499
|
}
|
|
5352
5500
|
function SelectValue({
|
|
5353
5501
|
...props
|
|
5354
5502
|
}) {
|
|
5355
|
-
return /* @__PURE__ */
|
|
5503
|
+
return /* @__PURE__ */ jsx47(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
5356
5504
|
}
|
|
5357
5505
|
function SelectTrigger({
|
|
5358
5506
|
className,
|
|
@@ -5360,7 +5508,7 @@ function SelectTrigger({
|
|
|
5360
5508
|
children,
|
|
5361
5509
|
...props
|
|
5362
5510
|
}) {
|
|
5363
|
-
return /* @__PURE__ */
|
|
5511
|
+
return /* @__PURE__ */ jsxs28(
|
|
5364
5512
|
SelectPrimitive.Trigger,
|
|
5365
5513
|
{
|
|
5366
5514
|
"data-slot": "select-trigger",
|
|
@@ -5372,7 +5520,7 @@ function SelectTrigger({
|
|
|
5372
5520
|
...props,
|
|
5373
5521
|
children: [
|
|
5374
5522
|
children,
|
|
5375
|
-
/* @__PURE__ */
|
|
5523
|
+
/* @__PURE__ */ jsx47(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx47(ChevronDownIcon4, { className: "size-4 opacity-50" }) })
|
|
5376
5524
|
]
|
|
5377
5525
|
}
|
|
5378
5526
|
);
|
|
@@ -5383,7 +5531,7 @@ function SelectContent({
|
|
|
5383
5531
|
position = "popper",
|
|
5384
5532
|
...props
|
|
5385
5533
|
}) {
|
|
5386
|
-
return /* @__PURE__ */
|
|
5534
|
+
return /* @__PURE__ */ jsx47(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs28(
|
|
5387
5535
|
SelectPrimitive.Content,
|
|
5388
5536
|
{
|
|
5389
5537
|
"data-slot": "select-content",
|
|
@@ -5395,8 +5543,8 @@ function SelectContent({
|
|
|
5395
5543
|
position,
|
|
5396
5544
|
...props,
|
|
5397
5545
|
children: [
|
|
5398
|
-
/* @__PURE__ */
|
|
5399
|
-
/* @__PURE__ */
|
|
5546
|
+
/* @__PURE__ */ jsx47(SelectScrollUpButton, {}),
|
|
5547
|
+
/* @__PURE__ */ jsx47(
|
|
5400
5548
|
SelectPrimitive.Viewport,
|
|
5401
5549
|
{
|
|
5402
5550
|
className: cn(
|
|
@@ -5406,7 +5554,7 @@ function SelectContent({
|
|
|
5406
5554
|
children
|
|
5407
5555
|
}
|
|
5408
5556
|
),
|
|
5409
|
-
/* @__PURE__ */
|
|
5557
|
+
/* @__PURE__ */ jsx47(SelectScrollDownButton, {})
|
|
5410
5558
|
]
|
|
5411
5559
|
}
|
|
5412
5560
|
) });
|
|
@@ -5415,7 +5563,7 @@ function SelectLabel({
|
|
|
5415
5563
|
className,
|
|
5416
5564
|
...props
|
|
5417
5565
|
}) {
|
|
5418
|
-
return /* @__PURE__ */
|
|
5566
|
+
return /* @__PURE__ */ jsx47(
|
|
5419
5567
|
SelectPrimitive.Label,
|
|
5420
5568
|
{
|
|
5421
5569
|
"data-slot": "select-label",
|
|
@@ -5429,7 +5577,7 @@ function SelectItem({
|
|
|
5429
5577
|
children,
|
|
5430
5578
|
...props
|
|
5431
5579
|
}) {
|
|
5432
|
-
return /* @__PURE__ */
|
|
5580
|
+
return /* @__PURE__ */ jsxs28(
|
|
5433
5581
|
SelectPrimitive.Item,
|
|
5434
5582
|
{
|
|
5435
5583
|
"data-slot": "select-item",
|
|
@@ -5439,8 +5587,8 @@ function SelectItem({
|
|
|
5439
5587
|
),
|
|
5440
5588
|
...props,
|
|
5441
5589
|
children: [
|
|
5442
|
-
/* @__PURE__ */
|
|
5443
|
-
/* @__PURE__ */
|
|
5590
|
+
/* @__PURE__ */ jsx47("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx47(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx47(CheckIcon5, { className: "size-4" }) }) }),
|
|
5591
|
+
/* @__PURE__ */ jsx47(SelectPrimitive.ItemText, { children })
|
|
5444
5592
|
]
|
|
5445
5593
|
}
|
|
5446
5594
|
);
|
|
@@ -5449,7 +5597,7 @@ function SelectSeparator({
|
|
|
5449
5597
|
className,
|
|
5450
5598
|
...props
|
|
5451
5599
|
}) {
|
|
5452
|
-
return /* @__PURE__ */
|
|
5600
|
+
return /* @__PURE__ */ jsx47(
|
|
5453
5601
|
SelectPrimitive.Separator,
|
|
5454
5602
|
{
|
|
5455
5603
|
"data-slot": "select-separator",
|
|
@@ -5462,7 +5610,7 @@ function SelectScrollUpButton({
|
|
|
5462
5610
|
className,
|
|
5463
5611
|
...props
|
|
5464
5612
|
}) {
|
|
5465
|
-
return /* @__PURE__ */
|
|
5613
|
+
return /* @__PURE__ */ jsx47(
|
|
5466
5614
|
SelectPrimitive.ScrollUpButton,
|
|
5467
5615
|
{
|
|
5468
5616
|
"data-slot": "select-scroll-up-button",
|
|
@@ -5471,7 +5619,7 @@ function SelectScrollUpButton({
|
|
|
5471
5619
|
className
|
|
5472
5620
|
),
|
|
5473
5621
|
...props,
|
|
5474
|
-
children: /* @__PURE__ */
|
|
5622
|
+
children: /* @__PURE__ */ jsx47(ChevronUpIcon, { className: "size-4" })
|
|
5475
5623
|
}
|
|
5476
5624
|
);
|
|
5477
5625
|
}
|
|
@@ -5479,7 +5627,7 @@ function SelectScrollDownButton({
|
|
|
5479
5627
|
className,
|
|
5480
5628
|
...props
|
|
5481
5629
|
}) {
|
|
5482
|
-
return /* @__PURE__ */
|
|
5630
|
+
return /* @__PURE__ */ jsx47(
|
|
5483
5631
|
SelectPrimitive.ScrollDownButton,
|
|
5484
5632
|
{
|
|
5485
5633
|
"data-slot": "select-scroll-down-button",
|
|
@@ -5488,7 +5636,7 @@ function SelectScrollDownButton({
|
|
|
5488
5636
|
className
|
|
5489
5637
|
),
|
|
5490
5638
|
...props,
|
|
5491
|
-
children: /* @__PURE__ */
|
|
5639
|
+
children: /* @__PURE__ */ jsx47(ChevronDownIcon4, { className: "size-4" })
|
|
5492
5640
|
}
|
|
5493
5641
|
);
|
|
5494
5642
|
}
|
|
@@ -5496,14 +5644,14 @@ function SelectScrollDownButton({
|
|
|
5496
5644
|
// src/components/ui/separator.tsx
|
|
5497
5645
|
import "react";
|
|
5498
5646
|
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
5499
|
-
import { jsx as
|
|
5647
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
5500
5648
|
function Separator5({
|
|
5501
5649
|
className,
|
|
5502
5650
|
orientation = "horizontal",
|
|
5503
5651
|
decorative = true,
|
|
5504
5652
|
...props
|
|
5505
5653
|
}) {
|
|
5506
|
-
return /* @__PURE__ */
|
|
5654
|
+
return /* @__PURE__ */ jsx48(
|
|
5507
5655
|
SeparatorPrimitive.Root,
|
|
5508
5656
|
{
|
|
5509
5657
|
"data-slot": "separator",
|
|
@@ -5522,30 +5670,30 @@ function Separator5({
|
|
|
5522
5670
|
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
5523
5671
|
import { XIcon as XIcon3 } from "lucide-react";
|
|
5524
5672
|
import "react";
|
|
5525
|
-
import { jsx as
|
|
5673
|
+
import { jsx as jsx49, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
5526
5674
|
function Sheet({ ...props }) {
|
|
5527
|
-
return /* @__PURE__ */
|
|
5675
|
+
return /* @__PURE__ */ jsx49(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
|
|
5528
5676
|
}
|
|
5529
5677
|
function SheetTrigger({
|
|
5530
5678
|
...props
|
|
5531
5679
|
}) {
|
|
5532
|
-
return /* @__PURE__ */
|
|
5680
|
+
return /* @__PURE__ */ jsx49(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
5533
5681
|
}
|
|
5534
5682
|
function SheetClose({
|
|
5535
5683
|
...props
|
|
5536
5684
|
}) {
|
|
5537
|
-
return /* @__PURE__ */
|
|
5685
|
+
return /* @__PURE__ */ jsx49(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
|
|
5538
5686
|
}
|
|
5539
5687
|
function SheetPortal({
|
|
5540
5688
|
...props
|
|
5541
5689
|
}) {
|
|
5542
|
-
return /* @__PURE__ */
|
|
5690
|
+
return /* @__PURE__ */ jsx49(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
|
|
5543
5691
|
}
|
|
5544
5692
|
function SheetOverlay({
|
|
5545
5693
|
className,
|
|
5546
5694
|
...props
|
|
5547
5695
|
}) {
|
|
5548
|
-
return /* @__PURE__ */
|
|
5696
|
+
return /* @__PURE__ */ jsx49(
|
|
5549
5697
|
SheetPrimitive.Overlay,
|
|
5550
5698
|
{
|
|
5551
5699
|
"data-slot": "sheet-overlay",
|
|
@@ -5564,9 +5712,9 @@ function SheetContent({
|
|
|
5564
5712
|
showCloseButton = true,
|
|
5565
5713
|
...props
|
|
5566
5714
|
}) {
|
|
5567
|
-
return /* @__PURE__ */
|
|
5568
|
-
/* @__PURE__ */
|
|
5569
|
-
/* @__PURE__ */
|
|
5715
|
+
return /* @__PURE__ */ jsxs29(SheetPortal, { children: [
|
|
5716
|
+
/* @__PURE__ */ jsx49(SheetOverlay, {}),
|
|
5717
|
+
/* @__PURE__ */ jsxs29(
|
|
5570
5718
|
SheetPrimitive.Content,
|
|
5571
5719
|
{
|
|
5572
5720
|
"data-slot": "sheet-content",
|
|
@@ -5581,9 +5729,9 @@ function SheetContent({
|
|
|
5581
5729
|
...props,
|
|
5582
5730
|
children: [
|
|
5583
5731
|
children,
|
|
5584
|
-
showCloseButton && /* @__PURE__ */
|
|
5585
|
-
/* @__PURE__ */
|
|
5586
|
-
/* @__PURE__ */
|
|
5732
|
+
showCloseButton && /* @__PURE__ */ jsxs29(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
|
|
5733
|
+
/* @__PURE__ */ jsx49(XIcon3, { className: "size-4" }),
|
|
5734
|
+
/* @__PURE__ */ jsx49("span", { className: "sr-only", children: "Close" })
|
|
5587
5735
|
] })
|
|
5588
5736
|
]
|
|
5589
5737
|
}
|
|
@@ -5591,7 +5739,7 @@ function SheetContent({
|
|
|
5591
5739
|
] });
|
|
5592
5740
|
}
|
|
5593
5741
|
function SheetHeader({ className, ...props }) {
|
|
5594
|
-
return /* @__PURE__ */
|
|
5742
|
+
return /* @__PURE__ */ jsx49(
|
|
5595
5743
|
"div",
|
|
5596
5744
|
{
|
|
5597
5745
|
"data-slot": "sheet-header",
|
|
@@ -5601,7 +5749,7 @@ function SheetHeader({ className, ...props }) {
|
|
|
5601
5749
|
);
|
|
5602
5750
|
}
|
|
5603
5751
|
function SheetFooter({ className, ...props }) {
|
|
5604
|
-
return /* @__PURE__ */
|
|
5752
|
+
return /* @__PURE__ */ jsx49(
|
|
5605
5753
|
"div",
|
|
5606
5754
|
{
|
|
5607
5755
|
"data-slot": "sheet-footer",
|
|
@@ -5614,7 +5762,7 @@ function SheetTitle({
|
|
|
5614
5762
|
className,
|
|
5615
5763
|
...props
|
|
5616
5764
|
}) {
|
|
5617
|
-
return /* @__PURE__ */
|
|
5765
|
+
return /* @__PURE__ */ jsx49(
|
|
5618
5766
|
SheetPrimitive.Title,
|
|
5619
5767
|
{
|
|
5620
5768
|
"data-slot": "sheet-title",
|
|
@@ -5627,7 +5775,7 @@ function SheetDescription({
|
|
|
5627
5775
|
className,
|
|
5628
5776
|
...props
|
|
5629
5777
|
}) {
|
|
5630
|
-
return /* @__PURE__ */
|
|
5778
|
+
return /* @__PURE__ */ jsx49(
|
|
5631
5779
|
SheetPrimitive.Description,
|
|
5632
5780
|
{
|
|
5633
5781
|
"data-slot": "sheet-description",
|
|
@@ -5639,14 +5787,14 @@ function SheetDescription({
|
|
|
5639
5787
|
|
|
5640
5788
|
// src/components/ui/sidebar.tsx
|
|
5641
5789
|
import { Slot as Slot6 } from "@radix-ui/react-slot";
|
|
5642
|
-
import { cva as
|
|
5790
|
+
import { cva as cva13 } from "class-variance-authority";
|
|
5643
5791
|
import { PanelLeftIcon } from "lucide-react";
|
|
5644
|
-
import * as
|
|
5792
|
+
import * as React50 from "react";
|
|
5645
5793
|
|
|
5646
5794
|
// src/components/ui/skeleton.tsx
|
|
5647
|
-
import { jsx as
|
|
5795
|
+
import { jsx as jsx50 } from "react/jsx-runtime";
|
|
5648
5796
|
function Skeleton({ className, ...props }) {
|
|
5649
|
-
return /* @__PURE__ */
|
|
5797
|
+
return /* @__PURE__ */ jsx50(
|
|
5650
5798
|
"div",
|
|
5651
5799
|
{
|
|
5652
5800
|
"data-slot": "skeleton",
|
|
@@ -5657,15 +5805,15 @@ function Skeleton({ className, ...props }) {
|
|
|
5657
5805
|
}
|
|
5658
5806
|
|
|
5659
5807
|
// src/components/ui/tooltip.tsx
|
|
5660
|
-
import "react";
|
|
5808
|
+
import * as React48 from "react";
|
|
5661
5809
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
5662
5810
|
import { X as X4 } from "lucide-react";
|
|
5663
|
-
import { jsx as
|
|
5811
|
+
import { jsx as jsx51, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
5664
5812
|
function TooltipProvider({
|
|
5665
5813
|
delayDuration = 0,
|
|
5666
5814
|
...props
|
|
5667
5815
|
}) {
|
|
5668
|
-
return /* @__PURE__ */
|
|
5816
|
+
return /* @__PURE__ */ jsx51(
|
|
5669
5817
|
TooltipPrimitive.Provider,
|
|
5670
5818
|
{
|
|
5671
5819
|
"data-slot": "tooltip-provider",
|
|
@@ -5674,15 +5822,38 @@ function TooltipProvider({
|
|
|
5674
5822
|
}
|
|
5675
5823
|
);
|
|
5676
5824
|
}
|
|
5825
|
+
var TooltipCloseContext = React48.createContext(null);
|
|
5677
5826
|
function Tooltip2({
|
|
5827
|
+
persistent = false,
|
|
5678
5828
|
...props
|
|
5679
5829
|
}) {
|
|
5680
|
-
|
|
5830
|
+
const [open, setOpen] = React48.useState(props.defaultOpen ?? false);
|
|
5831
|
+
if (!persistent) {
|
|
5832
|
+
return /* @__PURE__ */ jsx51(TooltipProvider, { children: /* @__PURE__ */ jsx51(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
|
|
5833
|
+
}
|
|
5834
|
+
const close = () => {
|
|
5835
|
+
setOpen(false);
|
|
5836
|
+
props.onOpenChange?.(false);
|
|
5837
|
+
};
|
|
5838
|
+
return /* @__PURE__ */ jsx51(TooltipProvider, { children: /* @__PURE__ */ jsx51(TooltipCloseContext.Provider, { value: close, children: /* @__PURE__ */ jsx51(
|
|
5839
|
+
TooltipPrimitive.Root,
|
|
5840
|
+
{
|
|
5841
|
+
"data-slot": "tooltip",
|
|
5842
|
+
open: props.open ?? open,
|
|
5843
|
+
onOpenChange: (isOpen) => {
|
|
5844
|
+
if (isOpen) {
|
|
5845
|
+
setOpen(true);
|
|
5846
|
+
props.onOpenChange?.(true);
|
|
5847
|
+
}
|
|
5848
|
+
},
|
|
5849
|
+
...props
|
|
5850
|
+
}
|
|
5851
|
+
) }) });
|
|
5681
5852
|
}
|
|
5682
5853
|
function TooltipTrigger({
|
|
5683
5854
|
...props
|
|
5684
5855
|
}) {
|
|
5685
|
-
return /* @__PURE__ */
|
|
5856
|
+
return /* @__PURE__ */ jsx51(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
5686
5857
|
}
|
|
5687
5858
|
function TooltipContent({
|
|
5688
5859
|
className,
|
|
@@ -5690,7 +5861,7 @@ function TooltipContent({
|
|
|
5690
5861
|
children,
|
|
5691
5862
|
...props
|
|
5692
5863
|
}) {
|
|
5693
|
-
return /* @__PURE__ */
|
|
5864
|
+
return /* @__PURE__ */ jsx51(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs30(
|
|
5694
5865
|
TooltipPrimitive.Content,
|
|
5695
5866
|
{
|
|
5696
5867
|
"data-slot": "tooltip-content",
|
|
@@ -5702,7 +5873,7 @@ function TooltipContent({
|
|
|
5702
5873
|
...props,
|
|
5703
5874
|
children: [
|
|
5704
5875
|
children,
|
|
5705
|
-
/* @__PURE__ */
|
|
5876
|
+
/* @__PURE__ */ jsx51(TooltipPrimitive.Arrow, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
5706
5877
|
]
|
|
5707
5878
|
}
|
|
5708
5879
|
) });
|
|
@@ -5717,7 +5888,12 @@ function RichTooltipContent({
|
|
|
5717
5888
|
children,
|
|
5718
5889
|
...props
|
|
5719
5890
|
}) {
|
|
5720
|
-
|
|
5891
|
+
const close = React48.useContext(TooltipCloseContext);
|
|
5892
|
+
const handleDismiss = () => {
|
|
5893
|
+
close?.();
|
|
5894
|
+
onDismiss?.();
|
|
5895
|
+
};
|
|
5896
|
+
return /* @__PURE__ */ jsx51(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs30(
|
|
5721
5897
|
TooltipPrimitive.Content,
|
|
5722
5898
|
{
|
|
5723
5899
|
"data-slot": "rich-tooltip-content",
|
|
@@ -5726,26 +5902,29 @@ function RichTooltipContent({
|
|
|
5726
5902
|
"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 origin-(--radix-tooltip-content-transform-origin)",
|
|
5727
5903
|
className
|
|
5728
5904
|
),
|
|
5905
|
+
...dismissible && {
|
|
5906
|
+
onPointerDownOutside: handleDismiss
|
|
5907
|
+
},
|
|
5729
5908
|
...props,
|
|
5730
5909
|
children: [
|
|
5731
|
-
/* @__PURE__ */
|
|
5732
|
-
icon && /* @__PURE__ */
|
|
5733
|
-
/* @__PURE__ */
|
|
5734
|
-
heading && /* @__PURE__ */
|
|
5735
|
-
/* @__PURE__ */
|
|
5910
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex items-start gap-3 bg-gray-surface-dark rounded-[12px] px-3 py-4 text-sm leading-5 max-w-sm", children: [
|
|
5911
|
+
icon && /* @__PURE__ */ jsx51("span", { className: "flex items-center justify-center shrink-0 size-5 text-white [&_svg]:size-5", children: icon }),
|
|
5912
|
+
/* @__PURE__ */ jsxs30("div", { className: "flex flex-1 flex-col gap-2 min-w-0", children: [
|
|
5913
|
+
heading && /* @__PURE__ */ jsx51("p", { className: "font-semibold text-sm leading-5 text-white", children: heading }),
|
|
5914
|
+
/* @__PURE__ */ jsx51("div", { className: "font-normal text-sm leading-5 text-white", children })
|
|
5736
5915
|
] }),
|
|
5737
|
-
dismissible && /* @__PURE__ */
|
|
5916
|
+
dismissible && /* @__PURE__ */ jsx51(
|
|
5738
5917
|
"button",
|
|
5739
5918
|
{
|
|
5740
5919
|
type: "button",
|
|
5741
|
-
onClick:
|
|
5920
|
+
onClick: handleDismiss,
|
|
5742
5921
|
className: "flex items-center justify-center shrink-0 size-5 text-white/70 hover:text-white transition-colors cursor-pointer",
|
|
5743
5922
|
"aria-label": "Dismiss",
|
|
5744
|
-
children: /* @__PURE__ */
|
|
5923
|
+
children: /* @__PURE__ */ jsx51(X4, { className: "size-3.5" })
|
|
5745
5924
|
}
|
|
5746
5925
|
)
|
|
5747
5926
|
] }),
|
|
5748
|
-
/* @__PURE__ */
|
|
5927
|
+
/* @__PURE__ */ jsx51(
|
|
5749
5928
|
TooltipPrimitive.Arrow,
|
|
5750
5929
|
{
|
|
5751
5930
|
width: 16,
|
|
@@ -5759,11 +5938,11 @@ function RichTooltipContent({
|
|
|
5759
5938
|
}
|
|
5760
5939
|
|
|
5761
5940
|
// src/hooks/use-mobile.ts
|
|
5762
|
-
import * as
|
|
5941
|
+
import * as React49 from "react";
|
|
5763
5942
|
var MOBILE_BREAKPOINT = 768;
|
|
5764
5943
|
function useIsMobile() {
|
|
5765
|
-
const [isMobile, setIsMobile] =
|
|
5766
|
-
|
|
5944
|
+
const [isMobile, setIsMobile] = React49.useState(void 0);
|
|
5945
|
+
React49.useEffect(() => {
|
|
5767
5946
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
5768
5947
|
const onChange = () => {
|
|
5769
5948
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -5776,16 +5955,16 @@ function useIsMobile() {
|
|
|
5776
5955
|
}
|
|
5777
5956
|
|
|
5778
5957
|
// src/components/ui/sidebar.tsx
|
|
5779
|
-
import { jsx as
|
|
5958
|
+
import { jsx as jsx52, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
5780
5959
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
5781
5960
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
5782
5961
|
var SIDEBAR_WIDTH = "18rem";
|
|
5783
5962
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
5784
5963
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
5785
5964
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
5786
|
-
var SidebarContext =
|
|
5965
|
+
var SidebarContext = React50.createContext(null);
|
|
5787
5966
|
function useSidebar() {
|
|
5788
|
-
const context =
|
|
5967
|
+
const context = React50.useContext(SidebarContext);
|
|
5789
5968
|
if (!context) {
|
|
5790
5969
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
5791
5970
|
}
|
|
@@ -5801,10 +5980,10 @@ function SidebarProvider({
|
|
|
5801
5980
|
...props
|
|
5802
5981
|
}) {
|
|
5803
5982
|
const isMobile = useIsMobile();
|
|
5804
|
-
const [openMobile, setOpenMobile] =
|
|
5805
|
-
const [_open, _setOpen] =
|
|
5983
|
+
const [openMobile, setOpenMobile] = React50.useState(false);
|
|
5984
|
+
const [_open, _setOpen] = React50.useState(defaultOpen);
|
|
5806
5985
|
const open = openProp ?? _open;
|
|
5807
|
-
const setOpen =
|
|
5986
|
+
const setOpen = React50.useCallback(
|
|
5808
5987
|
(value) => {
|
|
5809
5988
|
const openState = typeof value === "function" ? value(open) : value;
|
|
5810
5989
|
if (setOpenProp) {
|
|
@@ -5816,10 +5995,10 @@ function SidebarProvider({
|
|
|
5816
5995
|
},
|
|
5817
5996
|
[setOpenProp, open]
|
|
5818
5997
|
);
|
|
5819
|
-
const toggleSidebar =
|
|
5998
|
+
const toggleSidebar = React50.useCallback(() => {
|
|
5820
5999
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
5821
6000
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
5822
|
-
|
|
6001
|
+
React50.useEffect(() => {
|
|
5823
6002
|
const handleKeyDown = (event) => {
|
|
5824
6003
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
5825
6004
|
event.preventDefault();
|
|
@@ -5830,7 +6009,7 @@ function SidebarProvider({
|
|
|
5830
6009
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
5831
6010
|
}, [toggleSidebar]);
|
|
5832
6011
|
const state = open ? "expanded" : "collapsed";
|
|
5833
|
-
const contextValue =
|
|
6012
|
+
const contextValue = React50.useMemo(
|
|
5834
6013
|
() => ({
|
|
5835
6014
|
state,
|
|
5836
6015
|
open,
|
|
@@ -5842,7 +6021,7 @@ function SidebarProvider({
|
|
|
5842
6021
|
}),
|
|
5843
6022
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
5844
6023
|
);
|
|
5845
|
-
return /* @__PURE__ */
|
|
6024
|
+
return /* @__PURE__ */ jsx52(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx52(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx52(
|
|
5846
6025
|
"div",
|
|
5847
6026
|
{
|
|
5848
6027
|
"data-slot": "sidebar-wrapper",
|
|
@@ -5870,7 +6049,7 @@ function Sidebar({
|
|
|
5870
6049
|
}) {
|
|
5871
6050
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
5872
6051
|
if (collapsible === "none") {
|
|
5873
|
-
return /* @__PURE__ */
|
|
6052
|
+
return /* @__PURE__ */ jsx52(
|
|
5874
6053
|
"div",
|
|
5875
6054
|
{
|
|
5876
6055
|
"data-slot": "sidebar",
|
|
@@ -5884,7 +6063,7 @@ function Sidebar({
|
|
|
5884
6063
|
);
|
|
5885
6064
|
}
|
|
5886
6065
|
if (isMobile) {
|
|
5887
|
-
return /* @__PURE__ */
|
|
6066
|
+
return /* @__PURE__ */ jsx52(Sheet, { open: openMobile, onOpenChange: setOpenMobile, ...props, children: /* @__PURE__ */ jsxs31(
|
|
5888
6067
|
SheetContent,
|
|
5889
6068
|
{
|
|
5890
6069
|
"data-sidebar": "sidebar",
|
|
@@ -5896,16 +6075,16 @@ function Sidebar({
|
|
|
5896
6075
|
},
|
|
5897
6076
|
side,
|
|
5898
6077
|
children: [
|
|
5899
|
-
/* @__PURE__ */
|
|
5900
|
-
/* @__PURE__ */
|
|
5901
|
-
/* @__PURE__ */
|
|
6078
|
+
/* @__PURE__ */ jsxs31(SheetHeader, { className: "sr-only", children: [
|
|
6079
|
+
/* @__PURE__ */ jsx52(SheetTitle, { children: "Sidebar" }),
|
|
6080
|
+
/* @__PURE__ */ jsx52(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
5902
6081
|
] }),
|
|
5903
|
-
/* @__PURE__ */
|
|
6082
|
+
/* @__PURE__ */ jsx52("div", { className: "flex h-full w-full flex-col", children })
|
|
5904
6083
|
]
|
|
5905
6084
|
}
|
|
5906
6085
|
) });
|
|
5907
6086
|
}
|
|
5908
|
-
return /* @__PURE__ */
|
|
6087
|
+
return /* @__PURE__ */ jsxs31(
|
|
5909
6088
|
"div",
|
|
5910
6089
|
{
|
|
5911
6090
|
className: "group peer text-sidebar-foreground hidden md:block",
|
|
@@ -5915,7 +6094,7 @@ function Sidebar({
|
|
|
5915
6094
|
"data-side": side,
|
|
5916
6095
|
"data-slot": "sidebar",
|
|
5917
6096
|
children: [
|
|
5918
|
-
/* @__PURE__ */
|
|
6097
|
+
/* @__PURE__ */ jsx52(
|
|
5919
6098
|
"div",
|
|
5920
6099
|
{
|
|
5921
6100
|
"data-slot": "sidebar-gap",
|
|
@@ -5927,7 +6106,7 @@ function Sidebar({
|
|
|
5927
6106
|
)
|
|
5928
6107
|
}
|
|
5929
6108
|
),
|
|
5930
|
-
/* @__PURE__ */
|
|
6109
|
+
/* @__PURE__ */ jsx52(
|
|
5931
6110
|
"div",
|
|
5932
6111
|
{
|
|
5933
6112
|
"data-slot": "sidebar-container",
|
|
@@ -5939,7 +6118,7 @@ function Sidebar({
|
|
|
5939
6118
|
className
|
|
5940
6119
|
),
|
|
5941
6120
|
...props,
|
|
5942
|
-
children: /* @__PURE__ */
|
|
6121
|
+
children: /* @__PURE__ */ jsx52(
|
|
5943
6122
|
"div",
|
|
5944
6123
|
{
|
|
5945
6124
|
"data-sidebar": "sidebar",
|
|
@@ -5960,7 +6139,7 @@ function SidebarTrigger({
|
|
|
5960
6139
|
...props
|
|
5961
6140
|
}) {
|
|
5962
6141
|
const { toggleSidebar } = useSidebar();
|
|
5963
|
-
return /* @__PURE__ */
|
|
6142
|
+
return /* @__PURE__ */ jsxs31(
|
|
5964
6143
|
Button,
|
|
5965
6144
|
{
|
|
5966
6145
|
"data-sidebar": "trigger",
|
|
@@ -5974,15 +6153,15 @@ function SidebarTrigger({
|
|
|
5974
6153
|
},
|
|
5975
6154
|
...props,
|
|
5976
6155
|
children: [
|
|
5977
|
-
/* @__PURE__ */
|
|
5978
|
-
/* @__PURE__ */
|
|
6156
|
+
/* @__PURE__ */ jsx52(PanelLeftIcon, {}),
|
|
6157
|
+
/* @__PURE__ */ jsx52("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
5979
6158
|
]
|
|
5980
6159
|
}
|
|
5981
6160
|
);
|
|
5982
6161
|
}
|
|
5983
6162
|
function SidebarRail({ className, ...props }) {
|
|
5984
6163
|
const { toggleSidebar } = useSidebar();
|
|
5985
|
-
return /* @__PURE__ */
|
|
6164
|
+
return /* @__PURE__ */ jsx52(
|
|
5986
6165
|
"button",
|
|
5987
6166
|
{
|
|
5988
6167
|
"data-sidebar": "rail",
|
|
@@ -6005,7 +6184,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
6005
6184
|
);
|
|
6006
6185
|
}
|
|
6007
6186
|
function SidebarInset({ className, ...props }) {
|
|
6008
|
-
return /* @__PURE__ */
|
|
6187
|
+
return /* @__PURE__ */ jsx52(
|
|
6009
6188
|
"main",
|
|
6010
6189
|
{
|
|
6011
6190
|
"data-slot": "sidebar-inset",
|
|
@@ -6022,7 +6201,7 @@ function SidebarInput({
|
|
|
6022
6201
|
className,
|
|
6023
6202
|
...props
|
|
6024
6203
|
}) {
|
|
6025
|
-
return /* @__PURE__ */
|
|
6204
|
+
return /* @__PURE__ */ jsx52(
|
|
6026
6205
|
Input,
|
|
6027
6206
|
{
|
|
6028
6207
|
"data-slot": "sidebar-input",
|
|
@@ -6033,7 +6212,7 @@ function SidebarInput({
|
|
|
6033
6212
|
);
|
|
6034
6213
|
}
|
|
6035
6214
|
function SidebarHeader({ className, ...props }) {
|
|
6036
|
-
return /* @__PURE__ */
|
|
6215
|
+
return /* @__PURE__ */ jsx52(
|
|
6037
6216
|
"div",
|
|
6038
6217
|
{
|
|
6039
6218
|
"data-slot": "sidebar-header",
|
|
@@ -6044,7 +6223,7 @@ function SidebarHeader({ className, ...props }) {
|
|
|
6044
6223
|
);
|
|
6045
6224
|
}
|
|
6046
6225
|
function SidebarFooter({ className, ...props }) {
|
|
6047
|
-
return /* @__PURE__ */
|
|
6226
|
+
return /* @__PURE__ */ jsx52(
|
|
6048
6227
|
"div",
|
|
6049
6228
|
{
|
|
6050
6229
|
"data-slot": "sidebar-footer",
|
|
@@ -6058,7 +6237,7 @@ function SidebarSeparator({
|
|
|
6058
6237
|
className,
|
|
6059
6238
|
...props
|
|
6060
6239
|
}) {
|
|
6061
|
-
return /* @__PURE__ */
|
|
6240
|
+
return /* @__PURE__ */ jsx52(
|
|
6062
6241
|
Separator5,
|
|
6063
6242
|
{
|
|
6064
6243
|
"data-slot": "sidebar-separator",
|
|
@@ -6069,7 +6248,7 @@ function SidebarSeparator({
|
|
|
6069
6248
|
);
|
|
6070
6249
|
}
|
|
6071
6250
|
function SidebarContent({ className, ...props }) {
|
|
6072
|
-
return /* @__PURE__ */
|
|
6251
|
+
return /* @__PURE__ */ jsx52(
|
|
6073
6252
|
"div",
|
|
6074
6253
|
{
|
|
6075
6254
|
"data-slot": "sidebar-content",
|
|
@@ -6083,7 +6262,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
6083
6262
|
);
|
|
6084
6263
|
}
|
|
6085
6264
|
function SidebarGroup({ className, ...props }) {
|
|
6086
|
-
return /* @__PURE__ */
|
|
6265
|
+
return /* @__PURE__ */ jsx52(
|
|
6087
6266
|
"div",
|
|
6088
6267
|
{
|
|
6089
6268
|
"data-slot": "sidebar-group",
|
|
@@ -6099,7 +6278,7 @@ function SidebarGroupLabel({
|
|
|
6099
6278
|
...props
|
|
6100
6279
|
}) {
|
|
6101
6280
|
const Comp = asChild ? Slot6 : "div";
|
|
6102
|
-
return /* @__PURE__ */
|
|
6281
|
+
return /* @__PURE__ */ jsx52(
|
|
6103
6282
|
Comp,
|
|
6104
6283
|
{
|
|
6105
6284
|
"data-slot": "sidebar-group-label",
|
|
@@ -6119,7 +6298,7 @@ function SidebarGroupAction({
|
|
|
6119
6298
|
...props
|
|
6120
6299
|
}) {
|
|
6121
6300
|
const Comp = asChild ? Slot6 : "button";
|
|
6122
|
-
return /* @__PURE__ */
|
|
6301
|
+
return /* @__PURE__ */ jsx52(
|
|
6123
6302
|
Comp,
|
|
6124
6303
|
{
|
|
6125
6304
|
"data-slot": "sidebar-group-action",
|
|
@@ -6139,7 +6318,7 @@ function SidebarGroupContent({
|
|
|
6139
6318
|
className,
|
|
6140
6319
|
...props
|
|
6141
6320
|
}) {
|
|
6142
|
-
return /* @__PURE__ */
|
|
6321
|
+
return /* @__PURE__ */ jsx52(
|
|
6143
6322
|
"div",
|
|
6144
6323
|
{
|
|
6145
6324
|
"data-slot": "sidebar-group-content",
|
|
@@ -6150,7 +6329,7 @@ function SidebarGroupContent({
|
|
|
6150
6329
|
);
|
|
6151
6330
|
}
|
|
6152
6331
|
function SidebarMenu({ className, ...props }) {
|
|
6153
|
-
return /* @__PURE__ */
|
|
6332
|
+
return /* @__PURE__ */ jsx52(
|
|
6154
6333
|
"ul",
|
|
6155
6334
|
{
|
|
6156
6335
|
"data-slot": "sidebar-menu",
|
|
@@ -6161,7 +6340,7 @@ function SidebarMenu({ className, ...props }) {
|
|
|
6161
6340
|
);
|
|
6162
6341
|
}
|
|
6163
6342
|
function SidebarMenuItem({ className, ...props }) {
|
|
6164
|
-
return /* @__PURE__ */
|
|
6343
|
+
return /* @__PURE__ */ jsx52(
|
|
6165
6344
|
"li",
|
|
6166
6345
|
{
|
|
6167
6346
|
"data-slot": "sidebar-menu-item",
|
|
@@ -6171,7 +6350,7 @@ function SidebarMenuItem({ className, ...props }) {
|
|
|
6171
6350
|
}
|
|
6172
6351
|
);
|
|
6173
6352
|
}
|
|
6174
|
-
var sidebarMenuButtonVariants =
|
|
6353
|
+
var sidebarMenuButtonVariants = cva13(
|
|
6175
6354
|
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
|
|
6176
6355
|
{
|
|
6177
6356
|
variants: {
|
|
@@ -6202,7 +6381,7 @@ function SidebarMenuButton({
|
|
|
6202
6381
|
}) {
|
|
6203
6382
|
const Comp = asChild ? Slot6 : "button";
|
|
6204
6383
|
const { isMobile, state } = useSidebar();
|
|
6205
|
-
const button = /* @__PURE__ */
|
|
6384
|
+
const button = /* @__PURE__ */ jsx52(
|
|
6206
6385
|
Comp,
|
|
6207
6386
|
{
|
|
6208
6387
|
"data-slot": "sidebar-menu-button",
|
|
@@ -6221,9 +6400,9 @@ function SidebarMenuButton({
|
|
|
6221
6400
|
children: tooltip
|
|
6222
6401
|
};
|
|
6223
6402
|
}
|
|
6224
|
-
return /* @__PURE__ */
|
|
6225
|
-
/* @__PURE__ */
|
|
6226
|
-
/* @__PURE__ */
|
|
6403
|
+
return /* @__PURE__ */ jsxs31(Tooltip2, { children: [
|
|
6404
|
+
/* @__PURE__ */ jsx52(TooltipTrigger, { asChild: true, children: button }),
|
|
6405
|
+
/* @__PURE__ */ jsx52(
|
|
6227
6406
|
TooltipContent,
|
|
6228
6407
|
{
|
|
6229
6408
|
side: "right",
|
|
@@ -6241,7 +6420,7 @@ function SidebarMenuAction({
|
|
|
6241
6420
|
...props
|
|
6242
6421
|
}) {
|
|
6243
6422
|
const Comp = asChild ? Slot6 : "button";
|
|
6244
|
-
return /* @__PURE__ */
|
|
6423
|
+
return /* @__PURE__ */ jsx52(
|
|
6245
6424
|
Comp,
|
|
6246
6425
|
{
|
|
6247
6426
|
"data-slot": "sidebar-menu-action",
|
|
@@ -6265,7 +6444,7 @@ function SidebarMenuBadge({
|
|
|
6265
6444
|
className,
|
|
6266
6445
|
...props
|
|
6267
6446
|
}) {
|
|
6268
|
-
return /* @__PURE__ */
|
|
6447
|
+
return /* @__PURE__ */ jsx52(
|
|
6269
6448
|
"div",
|
|
6270
6449
|
{
|
|
6271
6450
|
"data-slot": "sidebar-menu-badge",
|
|
@@ -6288,10 +6467,10 @@ function SidebarMenuSkeleton({
|
|
|
6288
6467
|
showIcon = false,
|
|
6289
6468
|
...props
|
|
6290
6469
|
}) {
|
|
6291
|
-
const width =
|
|
6470
|
+
const width = React50.useMemo(() => {
|
|
6292
6471
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
6293
6472
|
}, []);
|
|
6294
|
-
return /* @__PURE__ */
|
|
6473
|
+
return /* @__PURE__ */ jsxs31(
|
|
6295
6474
|
"div",
|
|
6296
6475
|
{
|
|
6297
6476
|
"data-slot": "sidebar-menu-skeleton",
|
|
@@ -6299,14 +6478,14 @@ function SidebarMenuSkeleton({
|
|
|
6299
6478
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className),
|
|
6300
6479
|
...props,
|
|
6301
6480
|
children: [
|
|
6302
|
-
showIcon && /* @__PURE__ */
|
|
6481
|
+
showIcon && /* @__PURE__ */ jsx52(
|
|
6303
6482
|
Skeleton,
|
|
6304
6483
|
{
|
|
6305
6484
|
className: "size-4 rounded-md",
|
|
6306
6485
|
"data-sidebar": "menu-skeleton-icon"
|
|
6307
6486
|
}
|
|
6308
6487
|
),
|
|
6309
|
-
/* @__PURE__ */
|
|
6488
|
+
/* @__PURE__ */ jsx52(
|
|
6310
6489
|
Skeleton,
|
|
6311
6490
|
{
|
|
6312
6491
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -6321,7 +6500,7 @@ function SidebarMenuSkeleton({
|
|
|
6321
6500
|
);
|
|
6322
6501
|
}
|
|
6323
6502
|
function SidebarMenuSub({ className, ...props }) {
|
|
6324
|
-
return /* @__PURE__ */
|
|
6503
|
+
return /* @__PURE__ */ jsx52(
|
|
6325
6504
|
"ul",
|
|
6326
6505
|
{
|
|
6327
6506
|
"data-slot": "sidebar-menu-sub",
|
|
@@ -6339,7 +6518,7 @@ function SidebarMenuSubItem({
|
|
|
6339
6518
|
className,
|
|
6340
6519
|
...props
|
|
6341
6520
|
}) {
|
|
6342
|
-
return /* @__PURE__ */
|
|
6521
|
+
return /* @__PURE__ */ jsx52(
|
|
6343
6522
|
"li",
|
|
6344
6523
|
{
|
|
6345
6524
|
"data-slot": "sidebar-menu-sub-item",
|
|
@@ -6357,7 +6536,7 @@ function SidebarMenuSubButton({
|
|
|
6357
6536
|
...props
|
|
6358
6537
|
}) {
|
|
6359
6538
|
const Comp = asChild ? Slot6 : "a";
|
|
6360
|
-
return /* @__PURE__ */
|
|
6539
|
+
return /* @__PURE__ */ jsx52(
|
|
6361
6540
|
Comp,
|
|
6362
6541
|
{
|
|
6363
6542
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -6378,9 +6557,9 @@ function SidebarMenuSubButton({
|
|
|
6378
6557
|
}
|
|
6379
6558
|
|
|
6380
6559
|
// src/components/ui/slider.tsx
|
|
6381
|
-
import * as
|
|
6560
|
+
import * as React51 from "react";
|
|
6382
6561
|
import * as SliderPrimitive from "@radix-ui/react-slider";
|
|
6383
|
-
import { jsx as
|
|
6562
|
+
import { jsx as jsx53, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
6384
6563
|
function Slider({
|
|
6385
6564
|
className,
|
|
6386
6565
|
defaultValue,
|
|
@@ -6389,11 +6568,11 @@ function Slider({
|
|
|
6389
6568
|
max = 100,
|
|
6390
6569
|
...props
|
|
6391
6570
|
}) {
|
|
6392
|
-
const _values =
|
|
6571
|
+
const _values = React51.useMemo(
|
|
6393
6572
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
6394
6573
|
[value, defaultValue, min, max]
|
|
6395
6574
|
);
|
|
6396
|
-
return /* @__PURE__ */
|
|
6575
|
+
return /* @__PURE__ */ jsxs32(
|
|
6397
6576
|
SliderPrimitive.Root,
|
|
6398
6577
|
{
|
|
6399
6578
|
"data-slot": "slider",
|
|
@@ -6407,14 +6586,14 @@ function Slider({
|
|
|
6407
6586
|
),
|
|
6408
6587
|
...props,
|
|
6409
6588
|
children: [
|
|
6410
|
-
/* @__PURE__ */
|
|
6589
|
+
/* @__PURE__ */ jsx53(
|
|
6411
6590
|
SliderPrimitive.Track,
|
|
6412
6591
|
{
|
|
6413
6592
|
"data-slot": "slider-track",
|
|
6414
6593
|
className: cn(
|
|
6415
6594
|
"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"
|
|
6416
6595
|
),
|
|
6417
|
-
children: /* @__PURE__ */
|
|
6596
|
+
children: /* @__PURE__ */ jsx53(
|
|
6418
6597
|
SliderPrimitive.Range,
|
|
6419
6598
|
{
|
|
6420
6599
|
"data-slot": "slider-range",
|
|
@@ -6425,7 +6604,7 @@ function Slider({
|
|
|
6425
6604
|
)
|
|
6426
6605
|
}
|
|
6427
6606
|
),
|
|
6428
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
6607
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx53(
|
|
6429
6608
|
SliderPrimitive.Thumb,
|
|
6430
6609
|
{
|
|
6431
6610
|
"data-slot": "slider-thumb",
|
|
@@ -6442,7 +6621,7 @@ function Slider({
|
|
|
6442
6621
|
import "react";
|
|
6443
6622
|
|
|
6444
6623
|
// src/components/ui/useMediaQuery.ts
|
|
6445
|
-
import { useEffect as useEffect8, useState as
|
|
6624
|
+
import { useEffect as useEffect8, useState as useState11 } from "react";
|
|
6446
6625
|
function useMediaQuery(query) {
|
|
6447
6626
|
const getMatches = (query2) => {
|
|
6448
6627
|
if (typeof window !== "undefined") {
|
|
@@ -6450,7 +6629,7 @@ function useMediaQuery(query) {
|
|
|
6450
6629
|
}
|
|
6451
6630
|
return false;
|
|
6452
6631
|
};
|
|
6453
|
-
const [matches, setMatches] =
|
|
6632
|
+
const [matches, setMatches] = useState11(getMatches(query));
|
|
6454
6633
|
function handleChange() {
|
|
6455
6634
|
setMatches(getMatches(query));
|
|
6456
6635
|
}
|
|
@@ -6474,10 +6653,10 @@ function useMediaQuery(query) {
|
|
|
6474
6653
|
}
|
|
6475
6654
|
|
|
6476
6655
|
// src/components/ui/smart-dialog-drawer.tsx
|
|
6477
|
-
import { Fragment as Fragment3, jsx as
|
|
6656
|
+
import { Fragment as Fragment3, jsx as jsx54 } from "react/jsx-runtime";
|
|
6478
6657
|
var SmartDialog = ({ children, ...props }) => {
|
|
6479
6658
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6480
|
-
return isMobile ? /* @__PURE__ */
|
|
6659
|
+
return isMobile ? /* @__PURE__ */ jsx54(Drawer, { ...props, children }) : /* @__PURE__ */ jsx54(Dialog, { ...props, children });
|
|
6481
6660
|
};
|
|
6482
6661
|
var SmartDialogContent = ({
|
|
6483
6662
|
children,
|
|
@@ -6487,14 +6666,14 @@ var SmartDialogContent = ({
|
|
|
6487
6666
|
...props
|
|
6488
6667
|
}) => {
|
|
6489
6668
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6490
|
-
return isMobile ? /* @__PURE__ */
|
|
6669
|
+
return isMobile ? /* @__PURE__ */ jsx54(
|
|
6491
6670
|
DrawerContent,
|
|
6492
6671
|
{
|
|
6493
6672
|
...props,
|
|
6494
6673
|
withCloseButton: withCloseButton ?? showCloseButton ?? true,
|
|
6495
6674
|
children
|
|
6496
6675
|
}
|
|
6497
|
-
) : /* @__PURE__ */
|
|
6676
|
+
) : /* @__PURE__ */ jsx54(
|
|
6498
6677
|
DialogContent,
|
|
6499
6678
|
{
|
|
6500
6679
|
...props,
|
|
@@ -6509,47 +6688,63 @@ var SmartDialogDescription = ({
|
|
|
6509
6688
|
...props
|
|
6510
6689
|
}) => {
|
|
6511
6690
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6512
|
-
return isMobile ? /* @__PURE__ */
|
|
6691
|
+
return isMobile ? /* @__PURE__ */ jsx54(DrawerDescription, { ...props, children }) : /* @__PURE__ */ jsx54(DialogDescription, { ...props, children });
|
|
6513
6692
|
};
|
|
6514
6693
|
var SmartDialogHeader = ({ children, ...props }) => {
|
|
6515
6694
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6516
|
-
return isMobile ? /* @__PURE__ */
|
|
6695
|
+
return isMobile ? /* @__PURE__ */ jsx54(DrawerHeader, { ...props, children }) : /* @__PURE__ */ jsx54(DialogHeader, { ...props, children });
|
|
6517
6696
|
};
|
|
6518
6697
|
var SmartDialogTitle = ({ children, ...props }) => {
|
|
6519
6698
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6520
|
-
return isMobile ? /* @__PURE__ */
|
|
6699
|
+
return isMobile ? /* @__PURE__ */ jsx54(DrawerTitle, { ...props, children }) : /* @__PURE__ */ jsx54(DialogTitle, { ...props, children });
|
|
6521
6700
|
};
|
|
6522
6701
|
var SmartDialogTrigger = ({
|
|
6523
6702
|
children,
|
|
6524
6703
|
...props
|
|
6525
6704
|
}) => {
|
|
6526
6705
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6527
|
-
return isMobile ? /* @__PURE__ */
|
|
6706
|
+
return isMobile ? /* @__PURE__ */ jsx54(DrawerTrigger, { ...props, children }) : /* @__PURE__ */ jsx54(DialogTrigger, { ...props, children });
|
|
6528
6707
|
};
|
|
6529
6708
|
var SmartDialogFooter = ({ children, ...props }) => {
|
|
6530
6709
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6531
|
-
return isMobile ? /* @__PURE__ */
|
|
6710
|
+
return isMobile ? /* @__PURE__ */ jsx54(DrawerFooter, { ...props, children }) : /* @__PURE__ */ jsx54(DialogFooter, { ...props, children });
|
|
6532
6711
|
};
|
|
6533
6712
|
var SmartDialogClose = ({ children, ...props }) => {
|
|
6534
6713
|
const isMobile = useMediaQuery("(max-width: 600px)");
|
|
6535
|
-
return isMobile ? /* @__PURE__ */
|
|
6714
|
+
return isMobile ? /* @__PURE__ */ jsx54(Fragment3, { children: /* @__PURE__ */ jsx54(DrawerClose, { ...props, children }) }) : /* @__PURE__ */ jsx54(DialogClose, { ...props, children });
|
|
6536
6715
|
};
|
|
6537
6716
|
|
|
6538
6717
|
// src/components/ui/sonner.tsx
|
|
6718
|
+
import { CircleCheck, Info, TriangleAlert } from "lucide-react";
|
|
6539
6719
|
import { useTheme } from "next-themes";
|
|
6540
|
-
import { Toaster as Sonner } from "sonner";
|
|
6541
|
-
import { jsx as
|
|
6720
|
+
import { Toaster as Sonner, toast } from "sonner";
|
|
6721
|
+
import { jsx as jsx55 } from "react/jsx-runtime";
|
|
6722
|
+
var iconWrapper = (icon) => /* @__PURE__ */ jsx55("span", { className: "flex items-center justify-center shrink-0 size-5 [&_svg]:size-5", children: icon });
|
|
6542
6723
|
var Toaster = ({ ...props }) => {
|
|
6543
6724
|
const { theme = "system" } = useTheme();
|
|
6544
|
-
return /* @__PURE__ */
|
|
6725
|
+
return /* @__PURE__ */ jsx55(
|
|
6545
6726
|
Sonner,
|
|
6546
6727
|
{
|
|
6547
6728
|
theme,
|
|
6548
6729
|
className: "toaster group",
|
|
6730
|
+
icons: {
|
|
6731
|
+
info: iconWrapper(/* @__PURE__ */ jsx55(Info, {})),
|
|
6732
|
+
error: iconWrapper(/* @__PURE__ */ jsx55(TriangleAlert, {})),
|
|
6733
|
+
success: iconWrapper(/* @__PURE__ */ jsx55(CircleCheck, {}))
|
|
6734
|
+
},
|
|
6735
|
+
toastOptions: {
|
|
6736
|
+
unstyled: true,
|
|
6737
|
+
classNames: {
|
|
6738
|
+
toast: "flex items-start gap-3 w-full rounded-[12px] border px-3 py-4 text-sm leading-5",
|
|
6739
|
+
title: "font-semibold text-sm leading-5 text-vibrant-text-heading",
|
|
6740
|
+
description: "font-normal text-sm leading-5 text-vibrant-text-body",
|
|
6741
|
+
info: "bg-alert-bg-informative border-gray-stroke-light [&_svg]:text-[#52525c] dark:[&_svg]:text-[#a1a1aa]",
|
|
6742
|
+
error: "bg-alert-bg-error border-error-stroke-light [&_svg]:text-[#ff6467] dark:[&_svg]:text-[#ff8486]",
|
|
6743
|
+
success: "bg-success-surface-subtle border-success-stroke-light [&_svg]:text-[#00a63e] dark:[&_svg]:text-[#34d399]"
|
|
6744
|
+
}
|
|
6745
|
+
},
|
|
6549
6746
|
style: {
|
|
6550
|
-
"--
|
|
6551
|
-
"--normal-text": "var(--popover-foreground)",
|
|
6552
|
-
"--normal-border": "var(--border)"
|
|
6747
|
+
"--width": "436px"
|
|
6553
6748
|
},
|
|
6554
6749
|
...props
|
|
6555
6750
|
}
|
|
@@ -6559,12 +6754,12 @@ var Toaster = ({ ...props }) => {
|
|
|
6559
6754
|
// src/components/ui/switch.tsx
|
|
6560
6755
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
6561
6756
|
import "react";
|
|
6562
|
-
import { jsx as
|
|
6757
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
6563
6758
|
function Switch({
|
|
6564
6759
|
className,
|
|
6565
6760
|
...props
|
|
6566
6761
|
}) {
|
|
6567
|
-
return /* @__PURE__ */
|
|
6762
|
+
return /* @__PURE__ */ jsx56(
|
|
6568
6763
|
SwitchPrimitive.Root,
|
|
6569
6764
|
{
|
|
6570
6765
|
"data-slot": "switch",
|
|
@@ -6573,7 +6768,7 @@ function Switch({
|
|
|
6573
6768
|
className
|
|
6574
6769
|
),
|
|
6575
6770
|
...props,
|
|
6576
|
-
children: /* @__PURE__ */
|
|
6771
|
+
children: /* @__PURE__ */ jsx56(
|
|
6577
6772
|
SwitchPrimitive.Thumb,
|
|
6578
6773
|
{
|
|
6579
6774
|
"data-slot": "switch-thumb",
|
|
@@ -6588,14 +6783,14 @@ function Switch({
|
|
|
6588
6783
|
|
|
6589
6784
|
// src/components/ui/table.tsx
|
|
6590
6785
|
import "react";
|
|
6591
|
-
import { jsx as
|
|
6786
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
6592
6787
|
function Table({ className, ...props }) {
|
|
6593
|
-
return /* @__PURE__ */
|
|
6788
|
+
return /* @__PURE__ */ jsx57(
|
|
6594
6789
|
"div",
|
|
6595
6790
|
{
|
|
6596
6791
|
"data-slot": "table-container",
|
|
6597
6792
|
className: "relative w-full overflow-x-auto",
|
|
6598
|
-
children: /* @__PURE__ */
|
|
6793
|
+
children: /* @__PURE__ */ jsx57(
|
|
6599
6794
|
"table",
|
|
6600
6795
|
{
|
|
6601
6796
|
"data-slot": "table",
|
|
@@ -6607,7 +6802,7 @@ function Table({ className, ...props }) {
|
|
|
6607
6802
|
);
|
|
6608
6803
|
}
|
|
6609
6804
|
function TableHeader({ className, ...props }) {
|
|
6610
|
-
return /* @__PURE__ */
|
|
6805
|
+
return /* @__PURE__ */ jsx57(
|
|
6611
6806
|
"thead",
|
|
6612
6807
|
{
|
|
6613
6808
|
"data-slot": "table-header",
|
|
@@ -6617,7 +6812,7 @@ function TableHeader({ className, ...props }) {
|
|
|
6617
6812
|
);
|
|
6618
6813
|
}
|
|
6619
6814
|
function TableBody({ className, ...props }) {
|
|
6620
|
-
return /* @__PURE__ */
|
|
6815
|
+
return /* @__PURE__ */ jsx57(
|
|
6621
6816
|
"tbody",
|
|
6622
6817
|
{
|
|
6623
6818
|
"data-slot": "table-body",
|
|
@@ -6627,7 +6822,7 @@ function TableBody({ className, ...props }) {
|
|
|
6627
6822
|
);
|
|
6628
6823
|
}
|
|
6629
6824
|
function TableFooter({ className, ...props }) {
|
|
6630
|
-
return /* @__PURE__ */
|
|
6825
|
+
return /* @__PURE__ */ jsx57(
|
|
6631
6826
|
"tfoot",
|
|
6632
6827
|
{
|
|
6633
6828
|
"data-slot": "table-footer",
|
|
@@ -6640,7 +6835,7 @@ function TableFooter({ className, ...props }) {
|
|
|
6640
6835
|
);
|
|
6641
6836
|
}
|
|
6642
6837
|
function TableRow({ className, ...props }) {
|
|
6643
|
-
return /* @__PURE__ */
|
|
6838
|
+
return /* @__PURE__ */ jsx57(
|
|
6644
6839
|
"tr",
|
|
6645
6840
|
{
|
|
6646
6841
|
"data-slot": "table-row",
|
|
@@ -6653,7 +6848,7 @@ function TableRow({ className, ...props }) {
|
|
|
6653
6848
|
);
|
|
6654
6849
|
}
|
|
6655
6850
|
function TableHead({ className, ...props }) {
|
|
6656
|
-
return /* @__PURE__ */
|
|
6851
|
+
return /* @__PURE__ */ jsx57(
|
|
6657
6852
|
"th",
|
|
6658
6853
|
{
|
|
6659
6854
|
"data-slot": "table-head",
|
|
@@ -6666,7 +6861,7 @@ function TableHead({ className, ...props }) {
|
|
|
6666
6861
|
);
|
|
6667
6862
|
}
|
|
6668
6863
|
function TableCell({ className, ...props }) {
|
|
6669
|
-
return /* @__PURE__ */
|
|
6864
|
+
return /* @__PURE__ */ jsx57(
|
|
6670
6865
|
"td",
|
|
6671
6866
|
{
|
|
6672
6867
|
"data-slot": "table-cell",
|
|
@@ -6682,7 +6877,7 @@ function TableCaption({
|
|
|
6682
6877
|
className,
|
|
6683
6878
|
...props
|
|
6684
6879
|
}) {
|
|
6685
|
-
return /* @__PURE__ */
|
|
6880
|
+
return /* @__PURE__ */ jsx57(
|
|
6686
6881
|
"caption",
|
|
6687
6882
|
{
|
|
6688
6883
|
"data-slot": "table-caption",
|
|
@@ -6694,19 +6889,19 @@ function TableCaption({
|
|
|
6694
6889
|
|
|
6695
6890
|
// src/components/ui/tabs.tsx
|
|
6696
6891
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
6697
|
-
import { cva as
|
|
6698
|
-
import * as
|
|
6699
|
-
import { jsx as
|
|
6700
|
-
var TabsContext =
|
|
6892
|
+
import { cva as cva14 } from "class-variance-authority";
|
|
6893
|
+
import * as React55 from "react";
|
|
6894
|
+
import { jsx as jsx58, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
6895
|
+
var TabsContext = React55.createContext({
|
|
6701
6896
|
orientation: "horizontal"
|
|
6702
6897
|
});
|
|
6703
6898
|
function useTabIndicator(listRef, orientation) {
|
|
6704
|
-
const [style, setStyle] =
|
|
6899
|
+
const [style, setStyle] = React55.useState({
|
|
6705
6900
|
position: "absolute",
|
|
6706
6901
|
opacity: 0
|
|
6707
6902
|
});
|
|
6708
|
-
const isFirstMeasurement =
|
|
6709
|
-
const measure =
|
|
6903
|
+
const isFirstMeasurement = React55.useRef(true);
|
|
6904
|
+
const measure = React55.useCallback(() => {
|
|
6710
6905
|
const list = listRef.current;
|
|
6711
6906
|
if (!list) return;
|
|
6712
6907
|
requestAnimationFrame(() => {
|
|
@@ -6745,7 +6940,7 @@ function useTabIndicator(listRef, orientation) {
|
|
|
6745
6940
|
}
|
|
6746
6941
|
});
|
|
6747
6942
|
}, [listRef, orientation]);
|
|
6748
|
-
|
|
6943
|
+
React55.useEffect(() => {
|
|
6749
6944
|
const list = listRef.current;
|
|
6750
6945
|
if (!list) return;
|
|
6751
6946
|
measure();
|
|
@@ -6774,11 +6969,11 @@ function Tabs({
|
|
|
6774
6969
|
orientation = "horizontal",
|
|
6775
6970
|
...props
|
|
6776
6971
|
}) {
|
|
6777
|
-
const ctx =
|
|
6972
|
+
const ctx = React55.useMemo(
|
|
6778
6973
|
() => ({ orientation: orientation ?? "horizontal" }),
|
|
6779
6974
|
[orientation]
|
|
6780
6975
|
);
|
|
6781
|
-
return /* @__PURE__ */
|
|
6976
|
+
return /* @__PURE__ */ jsx58(TabsContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx58(
|
|
6782
6977
|
TabsPrimitive.Root,
|
|
6783
6978
|
{
|
|
6784
6979
|
"data-slot": "tabs",
|
|
@@ -6795,10 +6990,10 @@ function TabsList({
|
|
|
6795
6990
|
className,
|
|
6796
6991
|
...props
|
|
6797
6992
|
}) {
|
|
6798
|
-
const listRef =
|
|
6799
|
-
const { orientation } =
|
|
6993
|
+
const listRef = React55.useRef(null);
|
|
6994
|
+
const { orientation } = React55.useContext(TabsContext);
|
|
6800
6995
|
const { style: indicatorStyle } = useTabIndicator(listRef, orientation);
|
|
6801
|
-
return /* @__PURE__ */
|
|
6996
|
+
return /* @__PURE__ */ jsxs33(
|
|
6802
6997
|
TabsPrimitive.List,
|
|
6803
6998
|
{
|
|
6804
6999
|
ref: listRef,
|
|
@@ -6811,12 +7006,12 @@ function TabsList({
|
|
|
6811
7006
|
...props,
|
|
6812
7007
|
children: [
|
|
6813
7008
|
props.children,
|
|
6814
|
-
/* @__PURE__ */
|
|
7009
|
+
/* @__PURE__ */ jsx58("span", { "data-slot": "tabs-indicator", style: indicatorStyle })
|
|
6815
7010
|
]
|
|
6816
7011
|
}
|
|
6817
7012
|
);
|
|
6818
7013
|
}
|
|
6819
|
-
var tabsTriggerVariants =
|
|
7014
|
+
var tabsTriggerVariants = cva14(
|
|
6820
7015
|
"cursor-pointer inline-flex shrink-0 items-center justify-center font-sans font-medium whitespace-nowrap transition-[color,box-shadow] text-vibrant-text-details data-[state=active]:font-semibold data-[state=active]:text-vibrant-text-heading disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4",
|
|
6821
7016
|
{
|
|
6822
7017
|
variants: {
|
|
@@ -6845,14 +7040,14 @@ function TabsTrigger({
|
|
|
6845
7040
|
children,
|
|
6846
7041
|
...props
|
|
6847
7042
|
}) {
|
|
6848
|
-
const { orientation } =
|
|
6849
|
-
return /* @__PURE__ */
|
|
7043
|
+
const { orientation } = React55.useContext(TabsContext);
|
|
7044
|
+
return /* @__PURE__ */ jsx58(
|
|
6850
7045
|
TabsPrimitive.Trigger,
|
|
6851
7046
|
{
|
|
6852
7047
|
"data-slot": "tabs-trigger",
|
|
6853
7048
|
className: cn(tabsTriggerVariants({ size, orientation }), className),
|
|
6854
7049
|
...props,
|
|
6855
|
-
children: /* @__PURE__ */
|
|
7050
|
+
children: /* @__PURE__ */ jsx58(
|
|
6856
7051
|
"span",
|
|
6857
7052
|
{
|
|
6858
7053
|
className: cn(
|
|
@@ -6869,7 +7064,7 @@ function TabsContent({
|
|
|
6869
7064
|
className,
|
|
6870
7065
|
...props
|
|
6871
7066
|
}) {
|
|
6872
|
-
return /* @__PURE__ */
|
|
7067
|
+
return /* @__PURE__ */ jsx58(
|
|
6873
7068
|
TabsPrimitive.Content,
|
|
6874
7069
|
{
|
|
6875
7070
|
"data-slot": "tabs-content",
|
|
@@ -6883,9 +7078,9 @@ function TabsContent({
|
|
|
6883
7078
|
import {
|
|
6884
7079
|
ThemeProvider as NextThemesProvider
|
|
6885
7080
|
} from "next-themes";
|
|
6886
|
-
import { jsx as
|
|
7081
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
6887
7082
|
function ThemeProvider({ children, ...props }) {
|
|
6888
|
-
return /* @__PURE__ */
|
|
7083
|
+
return /* @__PURE__ */ jsx59(
|
|
6889
7084
|
NextThemesProvider,
|
|
6890
7085
|
{
|
|
6891
7086
|
attribute: "class",
|
|
@@ -6902,29 +7097,29 @@ function ThemeProvider({ children, ...props }) {
|
|
|
6902
7097
|
import { Monitor, Moon, Sun } from "lucide-react";
|
|
6903
7098
|
import { useTheme as useTheme2 } from "next-themes";
|
|
6904
7099
|
import "react";
|
|
6905
|
-
import { jsx as
|
|
7100
|
+
import { jsx as jsx60, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
6906
7101
|
function ThemeToggle({
|
|
6907
7102
|
className,
|
|
6908
7103
|
...props
|
|
6909
7104
|
}) {
|
|
6910
7105
|
const { setTheme } = useTheme2();
|
|
6911
|
-
return /* @__PURE__ */
|
|
6912
|
-
/* @__PURE__ */
|
|
6913
|
-
/* @__PURE__ */
|
|
6914
|
-
/* @__PURE__ */
|
|
6915
|
-
/* @__PURE__ */
|
|
7106
|
+
return /* @__PURE__ */ jsxs34(DropdownMenu, { children: [
|
|
7107
|
+
/* @__PURE__ */ jsx60(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs34(Button, { variant: "outline", size: "icon", className, ...props, children: [
|
|
7108
|
+
/* @__PURE__ */ jsx60(Sun, { className: "size-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" }),
|
|
7109
|
+
/* @__PURE__ */ jsx60(Moon, { className: "absolute size-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" }),
|
|
7110
|
+
/* @__PURE__ */ jsx60("span", { className: "sr-only", children: "Toggle theme" })
|
|
6916
7111
|
] }) }),
|
|
6917
|
-
/* @__PURE__ */
|
|
6918
|
-
/* @__PURE__ */
|
|
6919
|
-
/* @__PURE__ */
|
|
7112
|
+
/* @__PURE__ */ jsxs34(DropdownMenuContent, { align: "end", children: [
|
|
7113
|
+
/* @__PURE__ */ jsxs34(DropdownMenuItem, { onClick: () => setTheme("light"), children: [
|
|
7114
|
+
/* @__PURE__ */ jsx60(Sun, { className: "size-4" }),
|
|
6920
7115
|
"Light"
|
|
6921
7116
|
] }),
|
|
6922
|
-
/* @__PURE__ */
|
|
6923
|
-
/* @__PURE__ */
|
|
7117
|
+
/* @__PURE__ */ jsxs34(DropdownMenuItem, { onClick: () => setTheme("dark"), children: [
|
|
7118
|
+
/* @__PURE__ */ jsx60(Moon, { className: "size-4" }),
|
|
6924
7119
|
"Dark"
|
|
6925
7120
|
] }),
|
|
6926
|
-
/* @__PURE__ */
|
|
6927
|
-
/* @__PURE__ */
|
|
7121
|
+
/* @__PURE__ */ jsxs34(DropdownMenuItem, { onClick: () => setTheme("system"), children: [
|
|
7122
|
+
/* @__PURE__ */ jsx60(Monitor, { className: "size-4" }),
|
|
6928
7123
|
"System"
|
|
6929
7124
|
] })
|
|
6930
7125
|
] })
|
|
@@ -6934,8 +7129,8 @@ function ThemeToggle({
|
|
|
6934
7129
|
// src/components/ui/time-input.tsx
|
|
6935
7130
|
import "class-variance-authority";
|
|
6936
7131
|
import { Clock } from "lucide-react";
|
|
6937
|
-
import * as
|
|
6938
|
-
import { jsx as
|
|
7132
|
+
import * as React57 from "react";
|
|
7133
|
+
import { jsx as jsx61, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
6939
7134
|
var TIME_FORMAT_PLACEHOLDER = {
|
|
6940
7135
|
"12h": "hh:mm AM/PM",
|
|
6941
7136
|
"24h": "HH:mm",
|
|
@@ -6988,16 +7183,16 @@ function TimeInput({
|
|
|
6988
7183
|
formatDisplay
|
|
6989
7184
|
}) {
|
|
6990
7185
|
const resolvedPlaceholder = placeholder ?? TIME_FORMAT_PLACEHOLDER[timeFormat];
|
|
6991
|
-
const displayValue =
|
|
7186
|
+
const displayValue = React57.useMemo(() => {
|
|
6992
7187
|
if (!time) return "";
|
|
6993
7188
|
if (formatDisplay) return formatDisplay(time);
|
|
6994
7189
|
return formatTime(time, timeFormat);
|
|
6995
7190
|
}, [time, formatDisplay, timeFormat]);
|
|
6996
|
-
const [open, setOpen] =
|
|
6997
|
-
const hoursRef =
|
|
6998
|
-
const minutesRef =
|
|
6999
|
-
const periodRef =
|
|
7000
|
-
const scrollToSelected =
|
|
7191
|
+
const [open, setOpen] = React57.useState(false);
|
|
7192
|
+
const hoursRef = React57.useRef(null);
|
|
7193
|
+
const minutesRef = React57.useRef(null);
|
|
7194
|
+
const periodRef = React57.useRef(null);
|
|
7195
|
+
const scrollToSelected = React57.useCallback(() => {
|
|
7001
7196
|
requestAnimationFrame(() => {
|
|
7002
7197
|
for (const ref of [hoursRef, minutesRef, periodRef]) {
|
|
7003
7198
|
const container = ref.current;
|
|
@@ -7009,7 +7204,7 @@ function TimeInput({
|
|
|
7009
7204
|
}
|
|
7010
7205
|
});
|
|
7011
7206
|
}, []);
|
|
7012
|
-
|
|
7207
|
+
React57.useEffect(() => {
|
|
7013
7208
|
if (open) {
|
|
7014
7209
|
scrollToSelected();
|
|
7015
7210
|
}
|
|
@@ -7045,8 +7240,8 @@ function TimeInput({
|
|
|
7045
7240
|
const selectedH12 = time ? getDisplayHour(time.hours, timeFormat) : null;
|
|
7046
7241
|
const selectedMinute = time?.minutes ?? null;
|
|
7047
7242
|
const selectedPeriod = time ? getPeriod(time.hours) : null;
|
|
7048
|
-
return /* @__PURE__ */
|
|
7049
|
-
/* @__PURE__ */
|
|
7243
|
+
return /* @__PURE__ */ jsx61("div", { className: cn("relative flex gap-2", className), children: /* @__PURE__ */ jsxs35(Popover, { open, onOpenChange: setOpen, children: [
|
|
7244
|
+
/* @__PURE__ */ jsx61(PopoverTrigger, { asChild: true, disabled: inputDisabled, children: /* @__PURE__ */ jsxs35(
|
|
7050
7245
|
Button,
|
|
7051
7246
|
{
|
|
7052
7247
|
type: "button",
|
|
@@ -7061,18 +7256,18 @@ function TimeInput({
|
|
|
7061
7256
|
disabled: inputDisabled,
|
|
7062
7257
|
children: [
|
|
7063
7258
|
displayValue || resolvedPlaceholder,
|
|
7064
|
-
icon !== void 0 ? icon : /* @__PURE__ */
|
|
7259
|
+
icon !== void 0 ? icon : /* @__PURE__ */ jsx61(Clock, { className: "h-4 w-4 text-muted-foreground shrink-0" })
|
|
7065
7260
|
]
|
|
7066
7261
|
}
|
|
7067
7262
|
) }),
|
|
7068
|
-
/* @__PURE__ */
|
|
7263
|
+
/* @__PURE__ */ jsx61(
|
|
7069
7264
|
PopoverContent,
|
|
7070
7265
|
{
|
|
7071
7266
|
className: cn("w-auto p-0", popoverContentClassName),
|
|
7072
7267
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
7073
7268
|
...popoverContentProps,
|
|
7074
|
-
children: /* @__PURE__ */
|
|
7075
|
-
/* @__PURE__ */
|
|
7269
|
+
children: /* @__PURE__ */ jsxs35("div", { className: "flex divide-x border border-focus-ring rounded-md", children: [
|
|
7270
|
+
/* @__PURE__ */ jsx61("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx61("div", { ref: hoursRef, className: "flex flex-col p-1 ", children: hoursList.map((h) => /* @__PURE__ */ jsx61(
|
|
7076
7271
|
Button,
|
|
7077
7272
|
{
|
|
7078
7273
|
variant: "ghost",
|
|
@@ -7087,7 +7282,7 @@ function TimeInput({
|
|
|
7087
7282
|
},
|
|
7088
7283
|
h
|
|
7089
7284
|
)) }) }),
|
|
7090
|
-
/* @__PURE__ */
|
|
7285
|
+
/* @__PURE__ */ jsx61("div", { className: "h-56 w-16 overflow-y-auto overscroll-y-contain [-webkit-overflow-scrolling:touch]", children: /* @__PURE__ */ jsx61(
|
|
7091
7286
|
"div",
|
|
7092
7287
|
{
|
|
7093
7288
|
ref: minutesRef,
|
|
@@ -7095,7 +7290,7 @@ function TimeInput({
|
|
|
7095
7290
|
"flex flex-col p-1",
|
|
7096
7291
|
minutesList.length <= 12 && "h-full justify-center"
|
|
7097
7292
|
),
|
|
7098
|
-
children: minutesList.map((m) => /* @__PURE__ */
|
|
7293
|
+
children: minutesList.map((m) => /* @__PURE__ */ jsx61(
|
|
7099
7294
|
Button,
|
|
7100
7295
|
{
|
|
7101
7296
|
variant: "ghost",
|
|
@@ -7112,7 +7307,7 @@ function TimeInput({
|
|
|
7112
7307
|
))
|
|
7113
7308
|
}
|
|
7114
7309
|
) }),
|
|
7115
|
-
!is24HourFormat(timeFormat) && /* @__PURE__ */
|
|
7310
|
+
!is24HourFormat(timeFormat) && /* @__PURE__ */ jsx61("div", { className: "flex flex-col p-1 justify-center gap-1", children: ["AM", "PM"].map((p) => /* @__PURE__ */ jsx61(
|
|
7116
7311
|
Button,
|
|
7117
7312
|
{
|
|
7118
7313
|
variant: "ghost",
|
|
@@ -7136,9 +7331,9 @@ function TimeInput({
|
|
|
7136
7331
|
// src/components/ui/toggle.tsx
|
|
7137
7332
|
import "react";
|
|
7138
7333
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
7139
|
-
import { cva as
|
|
7140
|
-
import { jsx as
|
|
7141
|
-
var toggleVariants =
|
|
7334
|
+
import { cva as cva15 } from "class-variance-authority";
|
|
7335
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
7336
|
+
var toggleVariants = cva15(
|
|
7142
7337
|
"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",
|
|
7143
7338
|
{
|
|
7144
7339
|
variants: {
|
|
@@ -7164,7 +7359,7 @@ function Toggle({
|
|
|
7164
7359
|
size,
|
|
7165
7360
|
...props
|
|
7166
7361
|
}) {
|
|
7167
|
-
return /* @__PURE__ */
|
|
7362
|
+
return /* @__PURE__ */ jsx62(
|
|
7168
7363
|
TogglePrimitive.Root,
|
|
7169
7364
|
{
|
|
7170
7365
|
"data-slot": "toggle",
|
|
@@ -7175,11 +7370,11 @@ function Toggle({
|
|
|
7175
7370
|
}
|
|
7176
7371
|
|
|
7177
7372
|
// src/components/ui/toggle-group.tsx
|
|
7178
|
-
import * as
|
|
7373
|
+
import * as React59 from "react";
|
|
7179
7374
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
7180
7375
|
import "class-variance-authority";
|
|
7181
|
-
import { jsx as
|
|
7182
|
-
var ToggleGroupContext =
|
|
7376
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
7377
|
+
var ToggleGroupContext = React59.createContext({
|
|
7183
7378
|
size: "default",
|
|
7184
7379
|
variant: "default"
|
|
7185
7380
|
});
|
|
@@ -7190,7 +7385,7 @@ function ToggleGroup({
|
|
|
7190
7385
|
children,
|
|
7191
7386
|
...props
|
|
7192
7387
|
}) {
|
|
7193
|
-
return /* @__PURE__ */
|
|
7388
|
+
return /* @__PURE__ */ jsx63(
|
|
7194
7389
|
ToggleGroupPrimitive.Root,
|
|
7195
7390
|
{
|
|
7196
7391
|
"data-slot": "toggle-group",
|
|
@@ -7201,7 +7396,7 @@ function ToggleGroup({
|
|
|
7201
7396
|
className
|
|
7202
7397
|
),
|
|
7203
7398
|
...props,
|
|
7204
|
-
children: /* @__PURE__ */
|
|
7399
|
+
children: /* @__PURE__ */ jsx63(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
7205
7400
|
}
|
|
7206
7401
|
);
|
|
7207
7402
|
}
|
|
@@ -7212,8 +7407,8 @@ function ToggleGroupItem({
|
|
|
7212
7407
|
size,
|
|
7213
7408
|
...props
|
|
7214
7409
|
}) {
|
|
7215
|
-
const context =
|
|
7216
|
-
return /* @__PURE__ */
|
|
7410
|
+
const context = React59.useContext(ToggleGroupContext);
|
|
7411
|
+
return /* @__PURE__ */ jsx63(
|
|
7217
7412
|
ToggleGroupPrimitive.Item,
|
|
7218
7413
|
{
|
|
7219
7414
|
"data-slot": "toggle-group-item",
|
|
@@ -7235,10 +7430,10 @@ function ToggleGroupItem({
|
|
|
7235
7430
|
|
|
7236
7431
|
// src/components/ui/typography.tsx
|
|
7237
7432
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
7238
|
-
import { cva as
|
|
7433
|
+
import { cva as cva16 } from "class-variance-authority";
|
|
7239
7434
|
import "react";
|
|
7240
|
-
import { jsx as
|
|
7241
|
-
var displayTextVariants =
|
|
7435
|
+
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
7436
|
+
var displayTextVariants = cva16(
|
|
7242
7437
|
"tracking-normal font-normal font-serif italic text-vibrant-text-display",
|
|
7243
7438
|
{
|
|
7244
7439
|
variants: {
|
|
@@ -7260,7 +7455,7 @@ function DisplayHeading({
|
|
|
7260
7455
|
...props
|
|
7261
7456
|
}) {
|
|
7262
7457
|
const Comp = asChild ? Slot7 : "h1";
|
|
7263
|
-
return /* @__PURE__ */
|
|
7458
|
+
return /* @__PURE__ */ jsx64(
|
|
7264
7459
|
Comp,
|
|
7265
7460
|
{
|
|
7266
7461
|
"data-slot": "h1",
|
|
@@ -7269,7 +7464,7 @@ function DisplayHeading({
|
|
|
7269
7464
|
}
|
|
7270
7465
|
);
|
|
7271
7466
|
}
|
|
7272
|
-
var bodyTextVariants =
|
|
7467
|
+
var bodyTextVariants = cva16("font-sans text-vibrant-text-body", {
|
|
7273
7468
|
variants: {
|
|
7274
7469
|
size: {
|
|
7275
7470
|
lg: "text-lg md:text-xl leading-[26px] md:leading-[28px]",
|
|
@@ -7289,7 +7484,7 @@ function Body({
|
|
|
7289
7484
|
...props
|
|
7290
7485
|
}) {
|
|
7291
7486
|
const Comp = asChild ? Slot7 : "p";
|
|
7292
|
-
return /* @__PURE__ */
|
|
7487
|
+
return /* @__PURE__ */ jsx64(
|
|
7293
7488
|
Comp,
|
|
7294
7489
|
{
|
|
7295
7490
|
"data-slot": "p",
|
|
@@ -7304,7 +7499,7 @@ function HeadingXL({
|
|
|
7304
7499
|
...props
|
|
7305
7500
|
}) {
|
|
7306
7501
|
const Comp = asChild ? Slot7 : "h1";
|
|
7307
|
-
return /* @__PURE__ */
|
|
7502
|
+
return /* @__PURE__ */ jsx64(
|
|
7308
7503
|
Comp,
|
|
7309
7504
|
{
|
|
7310
7505
|
"data-slot": "h1",
|
|
@@ -7322,7 +7517,7 @@ function HeadingL({
|
|
|
7322
7517
|
...props
|
|
7323
7518
|
}) {
|
|
7324
7519
|
const Comp = asChild ? Slot7 : "h2";
|
|
7325
|
-
return /* @__PURE__ */
|
|
7520
|
+
return /* @__PURE__ */ jsx64(
|
|
7326
7521
|
Comp,
|
|
7327
7522
|
{
|
|
7328
7523
|
"data-slot": "h2",
|
|
@@ -7340,7 +7535,7 @@ function HeadingM({
|
|
|
7340
7535
|
...props
|
|
7341
7536
|
}) {
|
|
7342
7537
|
const Comp = asChild ? Slot7 : "h3";
|
|
7343
|
-
return /* @__PURE__ */
|
|
7538
|
+
return /* @__PURE__ */ jsx64(
|
|
7344
7539
|
Comp,
|
|
7345
7540
|
{
|
|
7346
7541
|
"data-slot": "h3",
|
|
@@ -7358,7 +7553,7 @@ function HeadingS({
|
|
|
7358
7553
|
...props
|
|
7359
7554
|
}) {
|
|
7360
7555
|
const Comp = asChild ? Slot7 : "h4";
|
|
7361
|
-
return /* @__PURE__ */
|
|
7556
|
+
return /* @__PURE__ */ jsx64(
|
|
7362
7557
|
Comp,
|
|
7363
7558
|
{
|
|
7364
7559
|
"data-slot": "h4",
|
|
@@ -7376,7 +7571,7 @@ function HeadingXS({
|
|
|
7376
7571
|
...props
|
|
7377
7572
|
}) {
|
|
7378
7573
|
const Comp = asChild ? Slot7 : "h5";
|
|
7379
|
-
return /* @__PURE__ */
|
|
7574
|
+
return /* @__PURE__ */ jsx64(
|
|
7380
7575
|
Comp,
|
|
7381
7576
|
{
|
|
7382
7577
|
"data-slot": "h5",
|
|
@@ -7394,7 +7589,7 @@ function HeadingXXS({
|
|
|
7394
7589
|
...props
|
|
7395
7590
|
}) {
|
|
7396
7591
|
const Comp = asChild ? Slot7 : "h6";
|
|
7397
|
-
return /* @__PURE__ */
|
|
7592
|
+
return /* @__PURE__ */ jsx64(
|
|
7398
7593
|
Comp,
|
|
7399
7594
|
{
|
|
7400
7595
|
"data-slot": "h6",
|
|
@@ -7412,7 +7607,7 @@ function HeadingXLMedium({
|
|
|
7412
7607
|
...props
|
|
7413
7608
|
}) {
|
|
7414
7609
|
const Comp = asChild ? Slot7 : "h1";
|
|
7415
|
-
return /* @__PURE__ */
|
|
7610
|
+
return /* @__PURE__ */ jsx64(
|
|
7416
7611
|
Comp,
|
|
7417
7612
|
{
|
|
7418
7613
|
"data-slot": "h1",
|
|
@@ -7430,7 +7625,7 @@ function HeadingLMedium({
|
|
|
7430
7625
|
...props
|
|
7431
7626
|
}) {
|
|
7432
7627
|
const Comp = asChild ? Slot7 : "h2";
|
|
7433
|
-
return /* @__PURE__ */
|
|
7628
|
+
return /* @__PURE__ */ jsx64(
|
|
7434
7629
|
Comp,
|
|
7435
7630
|
{
|
|
7436
7631
|
"data-slot": "h2",
|
|
@@ -7448,7 +7643,7 @@ function HeadingMMedium({
|
|
|
7448
7643
|
...props
|
|
7449
7644
|
}) {
|
|
7450
7645
|
const Comp = asChild ? Slot7 : "h3";
|
|
7451
|
-
return /* @__PURE__ */
|
|
7646
|
+
return /* @__PURE__ */ jsx64(
|
|
7452
7647
|
Comp,
|
|
7453
7648
|
{
|
|
7454
7649
|
"data-slot": "h3",
|
|
@@ -7466,7 +7661,7 @@ function HeadingSMedium({
|
|
|
7466
7661
|
...props
|
|
7467
7662
|
}) {
|
|
7468
7663
|
const Comp = asChild ? Slot7 : "h4";
|
|
7469
|
-
return /* @__PURE__ */
|
|
7664
|
+
return /* @__PURE__ */ jsx64(
|
|
7470
7665
|
Comp,
|
|
7471
7666
|
{
|
|
7472
7667
|
"data-slot": "h4",
|
|
@@ -7484,7 +7679,7 @@ function HeadingXSMedium({
|
|
|
7484
7679
|
...props
|
|
7485
7680
|
}) {
|
|
7486
7681
|
const Comp = asChild ? Slot7 : "h5";
|
|
7487
|
-
return /* @__PURE__ */
|
|
7682
|
+
return /* @__PURE__ */ jsx64(
|
|
7488
7683
|
Comp,
|
|
7489
7684
|
{
|
|
7490
7685
|
"data-slot": "h5",
|
|
@@ -7502,7 +7697,7 @@ function HeadingXXSMedium({
|
|
|
7502
7697
|
...props
|
|
7503
7698
|
}) {
|
|
7504
7699
|
const Comp = asChild ? Slot7 : "h6";
|
|
7505
|
-
return /* @__PURE__ */
|
|
7700
|
+
return /* @__PURE__ */ jsx64(
|
|
7506
7701
|
Comp,
|
|
7507
7702
|
{
|
|
7508
7703
|
"data-slot": "h6",
|
|
@@ -7701,6 +7896,7 @@ export {
|
|
|
7701
7896
|
NavigationMenuList,
|
|
7702
7897
|
NavigationMenuTrigger,
|
|
7703
7898
|
NavigationMenuViewport,
|
|
7899
|
+
OptionCard,
|
|
7704
7900
|
Pagination,
|
|
7705
7901
|
PaginationContent,
|
|
7706
7902
|
PaginationEllipsis,
|
|
@@ -7818,8 +8014,10 @@ export {
|
|
|
7818
8014
|
inputVariants,
|
|
7819
8015
|
labelTextVariants,
|
|
7820
8016
|
navigationMenuTriggerStyle,
|
|
8017
|
+
optionCardVariants,
|
|
7821
8018
|
progressBarVariants,
|
|
7822
8019
|
tabsTriggerVariants,
|
|
8020
|
+
toast,
|
|
7823
8021
|
toggleVariants,
|
|
7824
8022
|
useFormField,
|
|
7825
8023
|
useIsMobile,
|