@wealthx/shadcn 1.0.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +235 -138
- package/CHANGELOG.md +12 -0
- package/README.md +82 -0
- package/dist/{chunk-6OJF6XRN.mjs → chunk-24FUO7TD.mjs} +4 -8
- package/dist/{chunk-4AJ5HWHD.mjs → chunk-2I5S2AMY.mjs} +3 -3
- package/dist/chunk-2SF672SZ.mjs +161 -0
- package/dist/{chunk-GPRJQ24C.mjs → chunk-34NWQURD.mjs} +2 -2
- package/dist/{chunk-MQ72DIBH.mjs → chunk-3GF7OVTP.mjs} +14 -5
- package/dist/chunk-3WMX6KWS.mjs +245 -0
- package/dist/{chunk-PMKODV6M.mjs → chunk-462HMNO4.mjs} +6 -10
- package/dist/chunk-4CX4SBRO.mjs +153 -0
- package/dist/chunk-4MN6UQHG.mjs +443 -0
- package/dist/chunk-5QQVZTVZ.mjs +233 -0
- package/dist/{chunk-BGP2N52Z.mjs → chunk-66MI7Q4B.mjs} +5 -5
- package/dist/chunk-6FCGKSZX.mjs +268 -0
- package/dist/{chunk-CGOKTPXU.mjs → chunk-6JQFUE5I.mjs} +20 -23
- package/dist/{chunk-Z3MK2KKZ.mjs → chunk-7DHU4VGG.mjs} +7 -3
- package/dist/{chunk-VZ2NR7L3.mjs → chunk-7PYJD5JI.mjs} +35 -27
- package/dist/{chunk-JU2RUWHF.mjs → chunk-7XJHLGUV.mjs} +1 -1
- package/dist/{chunk-BMFN37JH.mjs → chunk-7YAU5CY6.mjs} +1 -1
- package/dist/chunk-A56YQQHG.mjs +402 -0
- package/dist/chunk-AH52LG6N.mjs +315 -0
- package/dist/{chunk-SLWCCURD.mjs → chunk-CLIN5525.mjs} +8 -4
- package/dist/{chunk-3VQNJ235.mjs → chunk-CSDO6VBW.mjs} +7 -0
- package/dist/chunk-D4ILTPOG.mjs +293 -0
- package/dist/{chunk-HS7TFG7V.mjs → chunk-D6ID6M4V.mjs} +1 -1
- package/dist/chunk-DOH3EHX7.mjs +378 -0
- package/dist/{chunk-MJIEMGRD.mjs → chunk-EFRENWEJ.mjs} +9 -17
- package/dist/chunk-ERGGHC2V.mjs +185 -0
- package/dist/{chunk-OXQQNQZI.mjs → chunk-FEZKMUCF.mjs} +10 -1
- package/dist/{chunk-55CEW76V.mjs → chunk-FH6QVUVZ.mjs} +1 -1
- package/dist/chunk-FMAXJ2SI.mjs +71 -0
- package/dist/chunk-FZIXGLMV.mjs +173 -0
- package/dist/{chunk-DS2AMHN2.mjs → chunk-GYMYRIZP.mjs} +2 -2
- package/dist/{chunk-KQDD5MU3.mjs → chunk-H45TKD34.mjs} +5 -5
- package/dist/{chunk-BBJBJSXQ.mjs → chunk-J5UICVJS.mjs} +1 -1
- package/dist/{chunk-RL772EH7.mjs → chunk-JHJHG4GO.mjs} +4 -12
- package/dist/chunk-KMCGSZTX.mjs +177 -0
- package/dist/{chunk-FHNT55I5.mjs → chunk-KUDCQ4FI.mjs} +4 -4
- package/dist/chunk-LE6YFY6D.mjs +209 -0
- package/dist/{chunk-HUVTPUV2.mjs → chunk-LLVQKSU3.mjs} +23 -19
- package/dist/{chunk-KKHTJNMM.mjs → chunk-MARPPFOJ.mjs} +8 -4
- package/dist/{chunk-6AFMNC42.mjs → chunk-N2PT566P.mjs} +15 -11
- package/dist/chunk-NLCKVHWB.mjs +161 -0
- package/dist/{chunk-YN5SYTOO.mjs → chunk-NQPOYKAQ.mjs} +9 -5
- package/dist/{chunk-ZZV5JVNW.mjs → chunk-NSLMILBT.mjs} +3 -7
- package/dist/chunk-NXA3CZ7A.mjs +248 -0
- package/dist/chunk-OGOYQ7BG.mjs +150 -0
- package/dist/{chunk-3NQGYJEZ.mjs → chunk-P6AM5V7O.mjs} +10 -18
- package/dist/{chunk-CZ3BW5GL.mjs → chunk-P76HMUI6.mjs} +5 -11
- package/dist/chunk-PCPLO5HT.mjs +671 -0
- package/dist/chunk-PG6K5XEC.mjs +475 -0
- package/dist/chunk-PJHPSRYD.mjs +234 -0
- package/dist/{chunk-DDPA2XXS.mjs → chunk-PMB3A7V3.mjs} +2 -2
- package/dist/chunk-PR6V5XKM.mjs +209 -0
- package/dist/{chunk-46OFHMQA.mjs → chunk-Q76O3RIQ.mjs} +10 -6
- package/dist/chunk-QVKWW6KE.mjs +272 -0
- package/dist/chunk-RGU7HOEC.mjs +140 -0
- package/dist/{chunk-JF4PHPD5.mjs → chunk-RGVKLTLH.mjs} +4 -4
- package/dist/{chunk-VG6UF6UT.mjs → chunk-RP3SQYA3.mjs} +2 -2
- package/dist/chunk-RRBS6D63.mjs +163 -0
- package/dist/chunk-SMQ3DG25.mjs +285 -0
- package/dist/chunk-SPJ5KXW7.mjs +199 -0
- package/dist/chunk-SYOD63OZ.mjs +225 -0
- package/dist/chunk-UFYSFDER.mjs +42 -0
- package/dist/chunk-VACKZOMY.mjs +190 -0
- package/dist/chunk-VLQZANBF.mjs +42 -0
- package/dist/chunk-WA6O6EUR.mjs +1885 -0
- package/dist/{chunk-E3K6O4FZ.mjs → chunk-WAZD7NFU.mjs} +5 -2
- package/dist/chunk-WG6JGJXB.mjs +165 -0
- package/dist/{chunk-I64K754C.mjs → chunk-WNGWBVLV.mjs} +2 -2
- package/dist/{chunk-3U7SD3MS.mjs → chunk-WOEHFRGB.mjs} +3 -3
- package/dist/{chunk-DKZRJOMF.mjs → chunk-XIRTEFKH.mjs} +12 -12
- package/dist/chunk-Y6DWJSKZ.mjs +79 -0
- package/dist/chunk-YKPROFLB.mjs +161 -0
- package/dist/{chunk-K76E2TQU.mjs → chunk-ZRO5JO3H.mjs} +107 -67
- package/dist/{chunk-VYMHBV6D.mjs → chunk-ZU4NV6RG.mjs} +5 -3
- package/dist/components/ui/accordion.js +40 -4
- package/dist/components/ui/accordion.mjs +2 -2
- package/dist/components/ui/add-column-modal.js +789 -0
- package/dist/components/ui/add-column-modal.mjs +17 -0
- package/dist/components/ui/add-lead-modal.js +647 -0
- package/dist/components/ui/add-lead-modal.mjs +16 -0
- package/dist/components/ui/ai-assistant-drawer.js +686 -0
- package/dist/components/ui/ai-assistant-drawer.mjs +16 -0
- package/dist/components/ui/alert-dialog.js +37 -5
- package/dist/components/ui/alert-dialog.mjs +4 -4
- package/dist/components/ui/alert.js +37 -11
- package/dist/components/ui/alert.mjs +2 -2
- package/dist/components/ui/avatar.js +36 -8
- package/dist/components/ui/avatar.mjs +2 -2
- package/dist/components/ui/backoffice-alert-history-chart.js +624 -0
- package/dist/components/ui/backoffice-alert-history-chart.mjs +16 -0
- package/dist/components/ui/backoffice-contact-history-chart.js +687 -0
- package/dist/components/ui/backoffice-contact-history-chart.mjs +16 -0
- package/dist/components/ui/badge.js +37 -2
- package/dist/components/ui/badge.mjs +2 -2
- package/dist/components/ui/borrowing-capacity-line-chart.js +639 -0
- package/dist/components/ui/borrowing-capacity-line-chart.mjs +16 -0
- package/dist/components/ui/button.js +35 -3
- package/dist/components/ui/button.mjs +2 -2
- package/dist/components/ui/calendar.js +43 -19
- package/dist/components/ui/calendar.mjs +3 -3
- package/dist/components/ui/card.js +40 -4
- package/dist/components/ui/card.mjs +2 -2
- package/dist/components/ui/cash-balance-line-chart.js +627 -0
- package/dist/components/ui/cash-balance-line-chart.mjs +16 -0
- package/dist/components/ui/cashflow-bar-chart.js +650 -0
- package/dist/components/ui/cashflow-bar-chart.mjs +16 -0
- package/dist/components/ui/checkbox.js +36 -5
- package/dist/components/ui/checkbox.mjs +2 -3
- package/dist/components/ui/chip.js +37 -2
- package/dist/components/ui/chip.mjs +3 -3
- package/dist/components/ui/combobox.js +280 -0
- package/dist/components/ui/combobox.mjs +28 -0
- package/dist/components/ui/data-table.js +160 -88
- package/dist/components/ui/data-table.mjs +10 -11
- package/dist/components/ui/date-picker.js +44 -20
- package/dist/components/ui/date-picker.mjs +6 -7
- package/dist/components/ui/dialog.js +44 -12
- package/dist/components/ui/dialog.mjs +4 -4
- package/dist/components/ui/drawer.js +46 -10
- package/dist/components/ui/drawer.mjs +3 -3
- package/dist/components/ui/dropdown-menu.js +40 -16
- package/dist/components/ui/dropdown-menu.mjs +3 -3
- package/dist/components/ui/empty.js +41 -5
- package/dist/components/ui/empty.mjs +2 -2
- package/dist/components/ui/expense-bar-chart.js +642 -0
- package/dist/components/ui/expense-bar-chart.mjs +16 -0
- package/dist/components/ui/field.js +53 -21
- package/dist/components/ui/field.mjs +4 -4
- package/dist/components/ui/financial-cards.js +1002 -0
- package/dist/components/ui/financial-cards.mjs +24 -0
- package/dist/components/ui/financial-drawers.js +637 -0
- package/dist/components/ui/financial-drawers.mjs +17 -0
- package/dist/components/ui/financial-primitives.js +218 -0
- package/dist/components/ui/financial-primitives.mjs +22 -0
- package/dist/components/ui/financial-sections.js +1422 -0
- package/dist/components/ui/financial-sections.mjs +30 -0
- package/dist/components/ui/form-primitives.js +682 -0
- package/dist/components/ui/form-primitives.mjs +19 -0
- package/dist/components/ui/income-bar-chart.js +641 -0
- package/dist/components/ui/income-bar-chart.mjs +16 -0
- package/dist/components/ui/input-group.js +43 -7
- package/dist/components/ui/input-group.mjs +5 -5
- package/dist/components/ui/input-otp.js +39 -3
- package/dist/components/ui/input-otp.mjs +2 -2
- package/dist/components/ui/input.js +34 -2
- package/dist/components/ui/input.mjs +2 -2
- package/dist/components/ui/kanban-column.js +1143 -0
- package/dist/components/ui/kanban-column.mjs +20 -0
- package/dist/components/ui/label.js +35 -7
- package/dist/components/ui/label.mjs +2 -2
- package/dist/components/ui/opportunity-card.js +960 -0
- package/dist/components/ui/opportunity-card.mjs +20 -0
- package/dist/components/ui/opportunity-edit-modals.js +3360 -0
- package/dist/components/ui/opportunity-edit-modals.mjs +37 -0
- package/dist/components/ui/opportunity-summary-tab.js +4365 -0
- package/dist/components/ui/opportunity-summary-tab.mjs +34 -0
- package/dist/components/ui/pagination.js +35 -3
- package/dist/components/ui/pagination.mjs +3 -3
- package/dist/components/ui/pipeline-alerts.js +103 -0
- package/dist/components/ui/pipeline-alerts.mjs +8 -0
- package/dist/components/ui/pipeline-board.js +1408 -0
- package/dist/components/ui/pipeline-board.mjs +24 -0
- package/dist/components/ui/pipeline-chart.js +216 -0
- package/dist/components/ui/pipeline-chart.mjs +10 -0
- package/dist/components/ui/pipeline-dialogs.js +1183 -0
- package/dist/components/ui/pipeline-dialogs.mjs +23 -0
- package/dist/components/ui/pipeline-primitives.js +300 -0
- package/dist/components/ui/pipeline-primitives.mjs +11 -0
- package/dist/components/ui/popover.js +45 -4
- package/dist/components/ui/popover.mjs +3 -3
- package/dist/components/ui/progress.js +33 -1
- package/dist/components/ui/progress.mjs +2 -2
- package/dist/components/ui/property-cashflow-doughnut-chart.js +523 -0
- package/dist/components/ui/property-cashflow-doughnut-chart.mjs +16 -0
- package/dist/components/ui/property-debt-equity-doughnut-chart.js +521 -0
- package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +16 -0
- package/dist/components/ui/property-mobile-estimate-line-chart.js +682 -0
- package/dist/components/ui/property-mobile-estimate-line-chart.mjs +16 -0
- package/dist/components/ui/radio-group.js +33 -1
- package/dist/components/ui/radio-group.mjs +2 -2
- package/dist/components/ui/select.js +66 -26
- package/dist/components/ui/select.mjs +3 -3
- package/dist/components/ui/separator.js +33 -1
- package/dist/components/ui/separator.mjs +2 -2
- package/dist/components/ui/sheet.js +37 -9
- package/dist/components/ui/sheet.mjs +3 -3
- package/dist/components/ui/skeleton.js +33 -1
- package/dist/components/ui/skeleton.mjs +2 -2
- package/dist/components/ui/slider.js +86 -102
- package/dist/components/ui/slider.mjs +2 -2
- package/dist/components/ui/spinner.js +33 -1
- package/dist/components/ui/spinner.mjs +2 -2
- package/dist/components/ui/stage-timeline.js +579 -0
- package/dist/components/ui/stage-timeline.mjs +15 -0
- package/dist/components/ui/switch.js +37 -4
- package/dist/components/ui/switch.mjs +2 -3
- package/dist/components/ui/table.js +37 -5
- package/dist/components/ui/table.mjs +2 -2
- package/dist/components/ui/tabs.js +36 -12
- package/dist/components/ui/tabs.mjs +2 -2
- package/dist/components/ui/textarea.js +34 -2
- package/dist/components/ui/textarea.mjs +2 -2
- package/dist/components/ui/toggle-group.js +35 -4
- package/dist/components/ui/toggle-group.mjs +3 -4
- package/dist/components/ui/toggle.js +35 -4
- package/dist/components/ui/toggle.mjs +2 -3
- package/dist/components/ui/tooltip.js +51 -22
- package/dist/components/ui/tooltip.mjs +3 -3
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.js +528 -0
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +16 -0
- package/dist/components/ui/transactions-income-expense-bar-chart.js +516 -0
- package/dist/components/ui/transactions-income-expense-bar-chart.mjs +16 -0
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.js +528 -0
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +16 -0
- package/dist/index.js +11613 -2868
- package/dist/index.mjs +377 -164
- package/dist/lib/theme-provider.js +10 -1
- package/dist/lib/theme-provider.mjs +1 -1
- package/dist/lib/typography.js +8 -0
- package/dist/lib/typography.mjs +3 -1
- package/dist/lib/utils.js +33 -1
- package/dist/lib/utils.mjs +1 -1
- package/dist/styles.css +1 -1
- package/package.json +169 -6
- package/src/components/index.tsx +323 -13
- package/src/components/ui/accordion.tsx +6 -3
- package/src/components/ui/add-column-modal.tsx +339 -0
- package/src/components/ui/add-lead-modal.tsx +290 -0
- package/src/components/ui/ai-assistant-drawer.tsx +408 -0
- package/src/components/ui/alert-dialog.tsx +80 -54
- package/src/components/ui/alert.tsx +28 -28
- package/src/components/ui/avatar.tsx +30 -29
- package/src/components/ui/backoffice-alert-history-chart.tsx +260 -0
- package/src/components/ui/backoffice-contact-history-chart.tsx +325 -0
- package/src/components/ui/badge.tsx +17 -15
- package/src/components/ui/borrowing-capacity-line-chart.tsx +357 -0
- package/src/components/ui/button.tsx +30 -27
- package/src/components/ui/calendar.tsx +53 -67
- package/src/components/ui/card.tsx +27 -24
- package/src/components/ui/cash-balance-line-chart.tsx +302 -0
- package/src/components/ui/cashflow-bar-chart.tsx +363 -0
- package/src/components/ui/chart-shared.tsx +261 -0
- package/src/components/ui/checkbox.tsx +30 -26
- package/src/components/ui/combobox.tsx +223 -0
- package/src/components/ui/data-table.tsx +160 -99
- package/src/components/ui/date-picker.tsx +0 -2
- package/src/components/ui/dialog.tsx +70 -60
- package/src/components/ui/drawer.tsx +57 -48
- package/src/components/ui/dropdown-menu.tsx +90 -82
- package/src/components/ui/empty.tsx +31 -27
- package/src/components/ui/expense-bar-chart.tsx +296 -0
- package/src/components/ui/field.tsx +70 -62
- package/src/components/ui/financial-cards.tsx +830 -0
- package/src/components/ui/financial-drawers.tsx +339 -0
- package/src/components/ui/financial-primitives.tsx +331 -0
- package/src/components/ui/financial-sections.tsx +672 -0
- package/src/components/ui/form-primitives.tsx +536 -0
- package/src/components/ui/income-bar-chart.tsx +297 -0
- package/src/components/ui/input-group.tsx +41 -34
- package/src/components/ui/input-otp.tsx +29 -24
- package/src/components/ui/input.tsx +8 -8
- package/src/components/ui/kanban-column.tsx +333 -0
- package/src/components/ui/label.tsx +9 -12
- package/src/components/ui/opportunity-card.tsx +616 -0
- package/src/components/ui/opportunity-edit-modals.tsx +2528 -0
- package/src/components/ui/opportunity-summary-tab.tsx +579 -0
- package/src/components/ui/pipeline-alerts.tsx +74 -0
- package/src/components/ui/pipeline-board.tsx +268 -0
- package/src/components/ui/pipeline-chart.tsx +173 -0
- package/src/components/ui/pipeline-dialogs.tsx +303 -0
- package/src/components/ui/pipeline-primitives.tsx +108 -0
- package/src/components/ui/popover.tsx +41 -36
- package/src/components/ui/property-cashflow-doughnut-chart.tsx +188 -0
- package/src/components/ui/property-debt-equity-doughnut-chart.tsx +185 -0
- package/src/components/ui/property-mobile-estimate-line-chart.tsx +393 -0
- package/src/components/ui/select.tsx +65 -52
- package/src/components/ui/sheet.tsx +55 -52
- package/src/components/ui/slider.tsx +54 -77
- package/src/components/ui/stage-timeline.tsx +205 -0
- package/src/components/ui/switch.tsx +42 -29
- package/src/components/ui/table.tsx +28 -28
- package/src/components/ui/tabs.tsx +22 -28
- package/src/components/ui/textarea.tsx +8 -8
- package/src/components/ui/toggle-group.tsx +0 -2
- package/src/components/ui/toggle.tsx +13 -15
- package/src/components/ui/tooltip.tsx +30 -28
- package/src/components/ui/transactions-expense-categories-doughnut-chart.tsx +191 -0
- package/src/components/ui/transactions-income-expense-bar-chart.tsx +205 -0
- package/src/components/ui/transactions-liabilities-breakdown-doughnut-chart.tsx +191 -0
- package/src/lib/theme-provider.tsx +10 -0
- package/src/lib/typography.ts +9 -0
- package/src/lib/utils.ts +41 -3
- package/src/styles/globals.css +371 -124
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +32 -0
- package/dist/chunk-K74JRTJR.mjs +0 -105
- package/dist/chunk-V7CNWJT3.mjs +0 -10
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { type ReactElement } from "react"
|
|
2
|
-
import * as React from "react"
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import * as React from "react";
|
|
3
3
|
import {
|
|
4
4
|
ChevronDownIcon,
|
|
5
5
|
ChevronLeftIcon,
|
|
6
6
|
ChevronRightIcon,
|
|
7
|
-
} from "lucide-react"
|
|
7
|
+
} from "lucide-react";
|
|
8
8
|
import {
|
|
9
9
|
DayPicker,
|
|
10
10
|
getDefaultClassNames,
|
|
11
11
|
type DayButton,
|
|
12
|
-
} from "react-day-picker"
|
|
13
|
-
import { cn } from "@/lib/utils"
|
|
14
|
-
import { Button, buttonVariants } from "@/components/ui/button"
|
|
12
|
+
} from "react-day-picker";
|
|
13
|
+
import { cn } from "@/lib/utils";
|
|
14
|
+
import { Button, buttonVariants } from "@/components/ui/button";
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Calendar — shadcn/WealthX
|
|
@@ -25,16 +25,16 @@ import { Button, buttonVariants } from "@/components/ui/button"
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
export type CalendarProps = React.ComponentProps<typeof DayPicker> & {
|
|
28
|
-
buttonVariant?: React.ComponentProps<typeof Button>["variant"]
|
|
29
|
-
}
|
|
28
|
+
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
29
|
+
};
|
|
30
30
|
|
|
31
31
|
function CalendarRoot({
|
|
32
32
|
className,
|
|
33
33
|
rootRef,
|
|
34
34
|
...props
|
|
35
35
|
}: {
|
|
36
|
-
className?: string
|
|
37
|
-
rootRef?: React.Ref<HTMLDivElement
|
|
36
|
+
className?: string;
|
|
37
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
38
38
|
} & React.ComponentProps<"div">): ReactElement {
|
|
39
39
|
return (
|
|
40
40
|
<div
|
|
@@ -43,7 +43,7 @@ function CalendarRoot({
|
|
|
43
43
|
ref={rootRef}
|
|
44
44
|
{...props}
|
|
45
45
|
/>
|
|
46
|
-
)
|
|
46
|
+
);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
function CalendarChevron({
|
|
@@ -51,27 +51,18 @@ function CalendarChevron({
|
|
|
51
51
|
orientation,
|
|
52
52
|
...props
|
|
53
53
|
}: {
|
|
54
|
-
className?: string
|
|
55
|
-
orientation?: string
|
|
54
|
+
className?: string;
|
|
55
|
+
orientation?: string;
|
|
56
56
|
} & React.ComponentProps<"svg">): ReactElement {
|
|
57
57
|
if (orientation === "left") {
|
|
58
|
-
return (
|
|
59
|
-
<ChevronLeftIcon className={cn("size-4", className)} {...props} />
|
|
60
|
-
)
|
|
58
|
+
return <ChevronLeftIcon className={cn("size-4", className)} {...props} />;
|
|
61
59
|
}
|
|
62
60
|
|
|
63
61
|
if (orientation === "right") {
|
|
64
|
-
return (
|
|
65
|
-
<ChevronRightIcon
|
|
66
|
-
className={cn("size-4", className)}
|
|
67
|
-
{...props}
|
|
68
|
-
/>
|
|
69
|
-
)
|
|
62
|
+
return <ChevronRightIcon className={cn("size-4", className)} {...props} />;
|
|
70
63
|
}
|
|
71
64
|
|
|
72
|
-
return (
|
|
73
|
-
<ChevronDownIcon className={cn("size-4", className)} {...props} />
|
|
74
|
-
)
|
|
65
|
+
return <ChevronDownIcon className={cn("size-4", className)} {...props} />;
|
|
75
66
|
}
|
|
76
67
|
|
|
77
68
|
function CalendarWeekNumber({
|
|
@@ -84,7 +75,7 @@ function CalendarWeekNumber({
|
|
|
84
75
|
{children}
|
|
85
76
|
</div>
|
|
86
77
|
</td>
|
|
87
|
-
)
|
|
78
|
+
);
|
|
88
79
|
}
|
|
89
80
|
|
|
90
81
|
function Calendar({
|
|
@@ -97,7 +88,7 @@ function Calendar({
|
|
|
97
88
|
components,
|
|
98
89
|
...props
|
|
99
90
|
}: CalendarProps): ReactElement {
|
|
100
|
-
const defaultClassNames = getDefaultClassNames()
|
|
91
|
+
const defaultClassNames = getDefaultClassNames();
|
|
101
92
|
|
|
102
93
|
return (
|
|
103
94
|
<DayPicker
|
|
@@ -106,85 +97,82 @@ function Calendar({
|
|
|
106
97
|
"group/calendar bg-background p-3 font-sans border border-border shadow-sm [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
107
98
|
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
108
99
|
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
109
|
-
className
|
|
100
|
+
className,
|
|
110
101
|
)}
|
|
111
102
|
classNames={{
|
|
112
103
|
root: cn("w-fit", defaultClassNames.root),
|
|
113
104
|
months: cn(
|
|
114
105
|
"relative flex flex-col gap-4 md:flex-row",
|
|
115
|
-
defaultClassNames.months
|
|
106
|
+
defaultClassNames.months,
|
|
116
107
|
),
|
|
117
108
|
month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
|
|
118
109
|
nav: cn(
|
|
119
110
|
"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
|
|
120
|
-
defaultClassNames.nav
|
|
111
|
+
defaultClassNames.nav,
|
|
121
112
|
),
|
|
122
113
|
button_previous: cn(
|
|
123
114
|
buttonVariants({ variant: buttonVariant }),
|
|
124
115
|
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
|
|
125
|
-
defaultClassNames.button_previous
|
|
116
|
+
defaultClassNames.button_previous,
|
|
126
117
|
),
|
|
127
118
|
button_next: cn(
|
|
128
119
|
buttonVariants({ variant: buttonVariant }),
|
|
129
120
|
"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",
|
|
130
|
-
defaultClassNames.button_next
|
|
121
|
+
defaultClassNames.button_next,
|
|
131
122
|
),
|
|
132
123
|
month_caption: cn(
|
|
133
124
|
"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",
|
|
134
|
-
defaultClassNames.month_caption
|
|
125
|
+
defaultClassNames.month_caption,
|
|
135
126
|
),
|
|
136
127
|
dropdowns: cn(
|
|
137
|
-
"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-
|
|
138
|
-
defaultClassNames.dropdowns
|
|
128
|
+
"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-label-small",
|
|
129
|
+
defaultClassNames.dropdowns,
|
|
139
130
|
),
|
|
140
131
|
dropdown_root: cn(
|
|
141
132
|
"relative border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50",
|
|
142
|
-
defaultClassNames.dropdown_root
|
|
133
|
+
defaultClassNames.dropdown_root,
|
|
143
134
|
),
|
|
144
135
|
dropdown: cn(
|
|
145
136
|
"absolute inset-0 bg-popover opacity-0",
|
|
146
|
-
defaultClassNames.dropdown
|
|
137
|
+
defaultClassNames.dropdown,
|
|
147
138
|
),
|
|
148
139
|
caption_label: cn(
|
|
149
|
-
"
|
|
140
|
+
"select-none",
|
|
150
141
|
captionLayout === "label"
|
|
151
|
-
? "text-
|
|
152
|
-
: "flex h-8 items-center gap-1 pr-1 pl-2 text-
|
|
153
|
-
defaultClassNames.caption_label
|
|
142
|
+
? "text-label-small"
|
|
143
|
+
: "flex h-8 items-center gap-1 pr-1 pl-2 text-label-small [&>svg]:size-3.5 [&>svg]:text-muted-foreground",
|
|
144
|
+
defaultClassNames.caption_label,
|
|
154
145
|
),
|
|
155
146
|
table: "w-full border-collapse",
|
|
156
147
|
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
157
148
|
weekday: cn(
|
|
158
|
-
"flex-1 text-
|
|
159
|
-
defaultClassNames.weekday
|
|
149
|
+
"flex-1 text-caption font-normal text-muted-foreground select-none",
|
|
150
|
+
defaultClassNames.weekday,
|
|
160
151
|
),
|
|
161
152
|
week: cn("mt-2 flex w-full", defaultClassNames.week),
|
|
162
153
|
week_number_header: cn(
|
|
163
154
|
"w-(--cell-size) select-none",
|
|
164
|
-
defaultClassNames.week_number_header
|
|
155
|
+
defaultClassNames.week_number_header,
|
|
165
156
|
),
|
|
166
157
|
week_number: cn(
|
|
167
|
-
"text-
|
|
168
|
-
defaultClassNames.week_number
|
|
158
|
+
"text-caption text-muted-foreground select-none",
|
|
159
|
+
defaultClassNames.week_number,
|
|
169
160
|
),
|
|
170
161
|
day: cn(
|
|
171
162
|
"group/day relative aspect-square h-full w-full p-0 text-center select-none",
|
|
172
|
-
defaultClassNames.day
|
|
163
|
+
defaultClassNames.day,
|
|
173
164
|
),
|
|
174
165
|
range_start: cn("bg-accent", defaultClassNames.range_start),
|
|
175
166
|
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
176
167
|
range_end: cn("bg-accent", defaultClassNames.range_end),
|
|
177
|
-
today: cn(
|
|
178
|
-
"bg-accent text-accent-foreground",
|
|
179
|
-
defaultClassNames.today
|
|
180
|
-
),
|
|
168
|
+
today: cn("bg-accent text-accent-foreground", defaultClassNames.today),
|
|
181
169
|
outside: cn(
|
|
182
170
|
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
183
|
-
defaultClassNames.outside
|
|
171
|
+
defaultClassNames.outside,
|
|
184
172
|
),
|
|
185
173
|
disabled: cn(
|
|
186
174
|
"text-muted-foreground opacity-50",
|
|
187
|
-
defaultClassNames.disabled
|
|
175
|
+
defaultClassNames.disabled,
|
|
188
176
|
),
|
|
189
177
|
hidden: cn("invisible", defaultClassNames.hidden),
|
|
190
178
|
...classNames,
|
|
@@ -204,10 +192,10 @@ function Calendar({
|
|
|
204
192
|
showOutsideDays={showOutsideDays}
|
|
205
193
|
{...props}
|
|
206
194
|
/>
|
|
207
|
-
)
|
|
195
|
+
);
|
|
208
196
|
}
|
|
209
197
|
|
|
210
|
-
export type CalendarDayButtonProps = React.ComponentProps<typeof DayButton
|
|
198
|
+
export type CalendarDayButtonProps = React.ComponentProps<typeof DayButton>;
|
|
211
199
|
|
|
212
200
|
function CalendarDayButton({
|
|
213
201
|
className,
|
|
@@ -215,26 +203,24 @@ function CalendarDayButton({
|
|
|
215
203
|
modifiers,
|
|
216
204
|
...props
|
|
217
205
|
}: CalendarDayButtonProps): ReactElement {
|
|
218
|
-
const defaultClassNames = getDefaultClassNames()
|
|
206
|
+
const defaultClassNames = getDefaultClassNames();
|
|
219
207
|
|
|
220
|
-
const ref = React.useRef<HTMLButtonElement>(null)
|
|
208
|
+
const ref = React.useRef<HTMLButtonElement>(null);
|
|
221
209
|
React.useEffect(() => {
|
|
222
|
-
if (modifiers.focused) ref.current?.focus()
|
|
223
|
-
}, [modifiers.focused])
|
|
210
|
+
if (modifiers.focused) ref.current?.focus();
|
|
211
|
+
}, [modifiers.focused]);
|
|
224
212
|
|
|
225
213
|
const selectedSingle =
|
|
226
|
-
modifiers.selected &&
|
|
227
|
-
!modifiers.range_start &&
|
|
228
|
-
!modifiers.range_end
|
|
214
|
+
modifiers.selected && !modifiers.range_start && !modifiers.range_end
|
|
229
215
|
? !modifiers.range_middle
|
|
230
|
-
: null
|
|
216
|
+
: null;
|
|
231
217
|
|
|
232
218
|
return (
|
|
233
219
|
<Button
|
|
234
220
|
className={cn(
|
|
235
|
-
"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1
|
|
221
|
+
"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal rounded-none group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-accent-foreground [&>span]:text-caption [&>span]:opacity-70",
|
|
236
222
|
defaultClassNames.day,
|
|
237
|
-
className
|
|
223
|
+
className,
|
|
238
224
|
)}
|
|
239
225
|
data-day={day.date.toLocaleDateString()}
|
|
240
226
|
data-range-end={modifiers.range_end}
|
|
@@ -246,7 +232,7 @@ function CalendarDayButton({
|
|
|
246
232
|
variant="ghost"
|
|
247
233
|
{...props}
|
|
248
234
|
/>
|
|
249
|
-
)
|
|
235
|
+
);
|
|
250
236
|
}
|
|
251
237
|
|
|
252
|
-
export { Calendar, CalendarDayButton }
|
|
238
|
+
export { Calendar, CalendarDayButton };
|
|
@@ -1,77 +1,80 @@
|
|
|
1
|
-
import { type ReactElement } from "react"
|
|
2
|
-
import * as React from "react"
|
|
3
|
-
import { cn } from "@/lib/utils"
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "@/lib/utils";
|
|
4
4
|
|
|
5
|
-
export type CardProps = React.ComponentProps<"div"
|
|
5
|
+
export type CardProps = React.ComponentProps<"div">;
|
|
6
6
|
|
|
7
7
|
function Card({ className, ...props }: CardProps): ReactElement {
|
|
8
8
|
return (
|
|
9
9
|
<div
|
|
10
10
|
className={cn(
|
|
11
11
|
"flex flex-col gap-6 border bg-card py-6 text-card-foreground shadow-sm",
|
|
12
|
-
className
|
|
12
|
+
className,
|
|
13
13
|
)}
|
|
14
14
|
data-slot="card"
|
|
15
15
|
{...props}
|
|
16
16
|
/>
|
|
17
|
-
)
|
|
17
|
+
);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export type CardHeaderProps = React.ComponentProps<"div"
|
|
20
|
+
export type CardHeaderProps = React.ComponentProps<"div">;
|
|
21
21
|
|
|
22
22
|
function CardHeader({ className, ...props }: CardHeaderProps): ReactElement {
|
|
23
23
|
return (
|
|
24
24
|
<div
|
|
25
25
|
className={cn(
|
|
26
26
|
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
27
|
-
className
|
|
27
|
+
className,
|
|
28
28
|
)}
|
|
29
29
|
data-slot="card-header"
|
|
30
30
|
{...props}
|
|
31
31
|
/>
|
|
32
|
-
)
|
|
32
|
+
);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export type CardTitleProps = React.ComponentProps<"div"
|
|
35
|
+
export type CardTitleProps = React.ComponentProps<"div">;
|
|
36
36
|
|
|
37
37
|
function CardTitle({ className, ...props }: CardTitleProps): ReactElement {
|
|
38
38
|
return (
|
|
39
39
|
<div
|
|
40
|
-
className={cn("
|
|
40
|
+
className={cn("text-label-large", className)}
|
|
41
41
|
data-slot="card-title"
|
|
42
42
|
{...props}
|
|
43
43
|
/>
|
|
44
|
-
)
|
|
44
|
+
);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
export type CardDescriptionProps = React.ComponentProps<"div"
|
|
47
|
+
export type CardDescriptionProps = React.ComponentProps<"div">;
|
|
48
48
|
|
|
49
|
-
function CardDescription({
|
|
49
|
+
function CardDescription({
|
|
50
|
+
className,
|
|
51
|
+
...props
|
|
52
|
+
}: CardDescriptionProps): ReactElement {
|
|
50
53
|
return (
|
|
51
54
|
<div
|
|
52
|
-
className={cn("text-
|
|
55
|
+
className={cn("text-body-small text-muted-foreground", className)}
|
|
53
56
|
data-slot="card-description"
|
|
54
57
|
{...props}
|
|
55
58
|
/>
|
|
56
|
-
)
|
|
59
|
+
);
|
|
57
60
|
}
|
|
58
61
|
|
|
59
|
-
export type CardActionProps = React.ComponentProps<"div"
|
|
62
|
+
export type CardActionProps = React.ComponentProps<"div">;
|
|
60
63
|
|
|
61
64
|
function CardAction({ className, ...props }: CardActionProps): ReactElement {
|
|
62
65
|
return (
|
|
63
66
|
<div
|
|
64
67
|
className={cn(
|
|
65
68
|
"col-start-2 row-span-2 row-start-1 self-start justify-self-end",
|
|
66
|
-
className
|
|
69
|
+
className,
|
|
67
70
|
)}
|
|
68
71
|
data-slot="card-action"
|
|
69
72
|
{...props}
|
|
70
73
|
/>
|
|
71
|
-
)
|
|
74
|
+
);
|
|
72
75
|
}
|
|
73
76
|
|
|
74
|
-
export type CardContentProps = React.ComponentProps<"div"
|
|
77
|
+
export type CardContentProps = React.ComponentProps<"div">;
|
|
75
78
|
|
|
76
79
|
function CardContent({ className, ...props }: CardContentProps): ReactElement {
|
|
77
80
|
return (
|
|
@@ -80,10 +83,10 @@ function CardContent({ className, ...props }: CardContentProps): ReactElement {
|
|
|
80
83
|
data-slot="card-content"
|
|
81
84
|
{...props}
|
|
82
85
|
/>
|
|
83
|
-
)
|
|
86
|
+
);
|
|
84
87
|
}
|
|
85
88
|
|
|
86
|
-
export type CardFooterProps = React.ComponentProps<"div"
|
|
89
|
+
export type CardFooterProps = React.ComponentProps<"div">;
|
|
87
90
|
|
|
88
91
|
function CardFooter({ className, ...props }: CardFooterProps): ReactElement {
|
|
89
92
|
return (
|
|
@@ -92,7 +95,7 @@ function CardFooter({ className, ...props }: CardFooterProps): ReactElement {
|
|
|
92
95
|
data-slot="card-footer"
|
|
93
96
|
{...props}
|
|
94
97
|
/>
|
|
95
|
-
)
|
|
98
|
+
);
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
export {
|
|
@@ -103,4 +106,4 @@ export {
|
|
|
103
106
|
CardAction,
|
|
104
107
|
CardDescription,
|
|
105
108
|
CardContent,
|
|
106
|
-
}
|
|
109
|
+
};
|