@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
package/src/styles/globals.css
CHANGED
|
@@ -11,17 +11,23 @@
|
|
|
11
11
|
* (e.g. when packages/shadcn is outside the Vite root apps/docs).
|
|
12
12
|
* These cover all state-dependent classes used in Checkbox, Button, etc.
|
|
13
13
|
*/
|
|
14
|
-
@source inline("h-2 h-10 h-12 h-16 h-20 h-24 h-28 h-32 h-36 h-40 h-44 h-48 size-10 size-12 size-14 size-16 rounded-full w-4/5 shrink-0 bg-muted transition-all");
|
|
14
|
+
@source inline("h-2 h-10 h-12 h-16 h-20 h-24 h-28 h-32 h-36 h-40 h-44 h-48 size-10 size-12 size-14 size-16 rounded-full w-4/5 shrink-0 bg-muted transition-all flex-wrap gap-x-4 gap-y-1.5 mt-3");
|
|
15
15
|
|
|
16
16
|
@source inline("has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 border-border border-destructive/40 bg-destructive/10 border-warning/40 bg-warning/10 text-warning border-success/40 bg-success/10 text-success border-info/40 bg-info/10 text-info *:data-[slot=alert-description]:text-warning/90 *:data-[slot=alert-description]:text-success/90 *:data-[slot=alert-description]:text-info/90 *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-destructive [&>svg]:text-warning [&>svg]:text-success [&>svg]:text-info");
|
|
17
17
|
|
|
18
18
|
@source inline("focus-visible:border-primary focus-visible:ring-primary/20 focus:bg-primary/5 focus:text-foreground data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 select-none scroll-my-1 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 data-disabled:pointer-events-none data-disabled:opacity-50 data-selected:bg-primary/10 data-active:bg-primary/10 data-active:text-foreground data-active:shadow-sm data-active:bg-transparent data-active:shadow-none data-active:after:opacity-100 after:bg-primary data-popup-open:border-primary data-popup-open:ring-[3px] data-popup-open:ring-primary/20 data-highlighted:bg-primary/5 data-highlighted:text-foreground px-1.5");
|
|
19
|
+
|
|
20
|
+
/* Toggle / ToggleGroup pressed-state safelist — data-pressed is set by @base-ui/react/toggle */
|
|
21
|
+
@source inline("data-pressed:bg-primary/10 data-pressed:inset-ring data-pressed:inset-ring-primary data-pressed:text-foreground data-pressed:hover:bg-primary/10 data-pressed:hover:text-foreground");
|
|
19
22
|
@source inline("bg-foreground/50 hover:bg-foreground/5 focus:ring-border focus:ring-2 focus:ring-offset-0 fixed inset-0 translate-x-[-50%] translate-y-[-50%] max-w-[calc(100%-2rem)] sm:max-w-lg border-t pt-4 justify-end gap-1.5");
|
|
20
23
|
|
|
21
24
|
@source inline("data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20");
|
|
22
25
|
|
|
23
26
|
@source inline("h-(--accordion-panel-height) data-starting-style:h-0 data-ending-style:h-0 focus-visible:ring-foreground/30 [&[data-panel-open]>svg]:rotate-180");
|
|
24
27
|
|
|
28
|
+
/* Button typography tokens — custom utility classes that may not be picked up by glob scan */
|
|
29
|
+
@source inline("text-button text-button-xs");
|
|
30
|
+
|
|
25
31
|
/* Animation safelist — all data-[open]/data-[ending-style] animation classes used by base-ui components */
|
|
26
32
|
@source inline("animate-in animate-out animate-pulse animate-caret-blink fade-in-0 fade-out-0 zoom-in-95 data-open:slide-in-from-bottom data-open:slide-in-from-left data-open:slide-in-from-right data-open:slide-in-from-top data-ending-style:slide-out-to-bottom data-ending-style:slide-out-to-left data-ending-style:slide-out-to-right data-ending-style:slide-out-to-top data-open:duration-500 data-ending-style:duration-300 data-open:bg-accent data-open:text-accent-foreground");
|
|
27
33
|
|
|
@@ -63,17 +69,44 @@
|
|
|
63
69
|
--color-input: var(--input);
|
|
64
70
|
--color-ring: var(--ring);
|
|
65
71
|
|
|
66
|
-
/* === WealthX additions: brand
|
|
72
|
+
/* === WealthX additions: brand colors (tenant-driven) === */
|
|
73
|
+
--color-brand-primary: var(--primary);
|
|
67
74
|
--color-brand-secondary: var(--brand-secondary);
|
|
68
75
|
--color-brand-secondary-foreground: var(--brand-secondary-foreground);
|
|
69
76
|
|
|
77
|
+
/* === WealthX additions: text semantic aliases === */
|
|
78
|
+
--color-text-secondary: var(--muted-foreground);
|
|
79
|
+
--color-text-disabled: color-mix(
|
|
80
|
+
in srgb,
|
|
81
|
+
var(--muted-foreground) 50%,
|
|
82
|
+
transparent
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
/* === WealthX additions: chart tokens === */
|
|
86
|
+
--chart-grid: color-mix(in srgb, var(--border) 60%, transparent);
|
|
87
|
+
|
|
70
88
|
/* === WealthX additions: state colors (not in shadcn defaults) === */
|
|
71
89
|
--color-warning: var(--warning);
|
|
72
90
|
--color-warning-foreground: var(--warning-foreground);
|
|
91
|
+
--color-warning-text: var(--warning-text);
|
|
73
92
|
--color-success: var(--success);
|
|
74
93
|
--color-success-foreground: var(--success-foreground);
|
|
94
|
+
--color-success-text: var(--success-text);
|
|
75
95
|
--color-info: var(--info);
|
|
76
96
|
--color-info-foreground: var(--info-foreground);
|
|
97
|
+
--color-info-text: var(--info-text);
|
|
98
|
+
--color-destructive-text: var(--destructive-text);
|
|
99
|
+
|
|
100
|
+
/* === Pipeline stage palette — defined in ThemeProvider, fallback to defaults here === */
|
|
101
|
+
/* Real values are injected by ThemeProvider via useThemeVars() / inline style. */
|
|
102
|
+
/* Do NOT use these :root fallbacks for production — they won't react to tenant theme. */
|
|
103
|
+
--color-stage-1: oklch(0.894 0.208 163);
|
|
104
|
+
--color-stage-2: oklch(0.894 0.208 163 / 80%);
|
|
105
|
+
--color-stage-3: oklch(0.894 0.208 163 / 60%);
|
|
106
|
+
--color-stage-4: oklch(0.894 0.208 163 / 40%);
|
|
107
|
+
--color-stage-5: oklch(0.894 0.208 163 / 20%);
|
|
108
|
+
/* Auto foreground for stage-colored backgrounds (WCAG contrast of primary) */
|
|
109
|
+
--color-stage-fg: var(--primary-foreground);
|
|
77
110
|
|
|
78
111
|
/* === Chart colors (WealthX series) === */
|
|
79
112
|
--color-chart-1: var(--chart-1);
|
|
@@ -99,19 +132,29 @@
|
|
|
99
132
|
--radius-xl: 0px;
|
|
100
133
|
|
|
101
134
|
/* === Font family === */
|
|
102
|
-
--font-sans:
|
|
135
|
+
--font-sans:
|
|
136
|
+
"Figtree", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
137
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
103
138
|
|
|
104
139
|
/* === Accordion animations === */
|
|
105
140
|
--animate-accordion-down: accordion-down 0.2s ease-out;
|
|
106
141
|
--animate-accordion-up: accordion-up 0.2s ease-out;
|
|
107
142
|
|
|
108
143
|
@keyframes accordion-down {
|
|
109
|
-
from {
|
|
110
|
-
|
|
144
|
+
from {
|
|
145
|
+
height: 0;
|
|
146
|
+
}
|
|
147
|
+
to {
|
|
148
|
+
height: var(--accordion-panel-height);
|
|
149
|
+
}
|
|
111
150
|
}
|
|
112
151
|
@keyframes accordion-up {
|
|
113
|
-
from {
|
|
114
|
-
|
|
152
|
+
from {
|
|
153
|
+
height: var(--accordion-panel-height);
|
|
154
|
+
}
|
|
155
|
+
to {
|
|
156
|
+
height: 0;
|
|
157
|
+
}
|
|
115
158
|
}
|
|
116
159
|
}
|
|
117
160
|
|
|
@@ -122,50 +165,104 @@
|
|
|
122
165
|
* ========================================================================== */
|
|
123
166
|
:root {
|
|
124
167
|
/* Display */
|
|
125
|
-
--typography-display-large-size: 4rem;
|
|
126
|
-
--typography-display-
|
|
127
|
-
--typography-display-
|
|
168
|
+
--typography-display-large-size: 4rem;
|
|
169
|
+
--typography-display-large-leading: 4.5rem;
|
|
170
|
+
--typography-display-large-weight: 700;
|
|
171
|
+
--typography-display-large-tracking: -0.03125rem;
|
|
172
|
+
--typography-display-medium-size: 3rem;
|
|
173
|
+
--typography-display-medium-leading: 3.5rem;
|
|
174
|
+
--typography-display-medium-weight: 700;
|
|
175
|
+
--typography-display-small-size: 2.125rem;
|
|
176
|
+
--typography-display-small-leading: 2.625rem;
|
|
177
|
+
--typography-display-small-weight: 600;
|
|
128
178
|
|
|
129
179
|
/* Headings */
|
|
130
|
-
--typography-h1-size: 2rem;
|
|
131
|
-
--typography-
|
|
132
|
-
--typography-
|
|
133
|
-
--typography-
|
|
134
|
-
--typography-
|
|
135
|
-
--typography-
|
|
180
|
+
--typography-h1-size: 2rem;
|
|
181
|
+
--typography-h1-leading: 2.5rem;
|
|
182
|
+
--typography-h1-weight: 700;
|
|
183
|
+
--typography-h2-size: 1.75rem;
|
|
184
|
+
--typography-h2-leading: 2.25rem;
|
|
185
|
+
--typography-h2-weight: 600;
|
|
186
|
+
--typography-h3-size: 1.5rem;
|
|
187
|
+
--typography-h3-leading: 2rem;
|
|
188
|
+
--typography-h3-weight: 600;
|
|
189
|
+
--typography-h4-size: 1.3125rem;
|
|
190
|
+
--typography-h4-leading: 1.75rem;
|
|
191
|
+
--typography-h4-weight: 600;
|
|
192
|
+
--typography-h5-size: 1.125rem;
|
|
193
|
+
--typography-h5-leading: 1.5rem;
|
|
194
|
+
--typography-h5-weight: 600;
|
|
195
|
+
--typography-h6-size: 1rem;
|
|
196
|
+
--typography-h6-leading: 1.375rem;
|
|
197
|
+
--typography-h6-weight: 600;
|
|
136
198
|
|
|
137
199
|
/* Body */
|
|
138
|
-
--typography-body-large-size: 1.125rem;
|
|
139
|
-
--typography-body-
|
|
140
|
-
--typography-body-
|
|
200
|
+
--typography-body-large-size: 1.125rem;
|
|
201
|
+
--typography-body-large-leading: 1.75rem;
|
|
202
|
+
--typography-body-large-weight: 400;
|
|
203
|
+
--typography-body-medium-size: 1rem;
|
|
204
|
+
--typography-body-medium-leading: 1.5rem;
|
|
205
|
+
--typography-body-medium-weight: 400;
|
|
206
|
+
--typography-body-small-size: 0.875rem;
|
|
207
|
+
--typography-body-small-leading: 1.25rem;
|
|
208
|
+
--typography-body-small-weight: 400;
|
|
141
209
|
|
|
142
210
|
/* Labels */
|
|
143
|
-
--typography-label-large-size: 1rem;
|
|
144
|
-
--typography-label-
|
|
145
|
-
--typography-label-
|
|
211
|
+
--typography-label-large-size: 1rem;
|
|
212
|
+
--typography-label-large-leading: 1.25rem;
|
|
213
|
+
--typography-label-large-weight: 600;
|
|
214
|
+
--typography-label-medium-size: 0.875rem;
|
|
215
|
+
--typography-label-medium-leading: 1.125rem;
|
|
216
|
+
--typography-label-medium-weight: 600;
|
|
217
|
+
--typography-label-small-size: 0.75rem;
|
|
218
|
+
--typography-label-small-leading: 1rem;
|
|
219
|
+
--typography-label-small-weight: 600;
|
|
220
|
+
--typography-label-small-tracking: 0.03125rem;
|
|
221
|
+
|
|
222
|
+
/* Button */
|
|
223
|
+
--typography-button-default-size: 0.875rem;
|
|
224
|
+
--typography-button-default-leading: 1.25rem;
|
|
225
|
+
--typography-button-default-weight: 500;
|
|
226
|
+
--typography-button-xs-size: 0.75rem;
|
|
227
|
+
--typography-button-xs-leading: 1.25rem;
|
|
228
|
+
--typography-button-xs-weight: 500;
|
|
146
229
|
|
|
147
230
|
/* Utility */
|
|
148
|
-
--typography-caption-size: 0.75rem;
|
|
149
|
-
--typography-
|
|
150
|
-
--typography-
|
|
231
|
+
--typography-caption-size: 0.75rem;
|
|
232
|
+
--typography-caption-leading: 1rem;
|
|
233
|
+
--typography-caption-weight: 400;
|
|
234
|
+
--typography-overline-size: 0.625rem;
|
|
235
|
+
--typography-overline-leading: 0.875rem;
|
|
236
|
+
--typography-overline-weight: 600;
|
|
237
|
+
--typography-overline-tracking: 0.09375rem;
|
|
238
|
+
--typography-code-size: 0.875rem;
|
|
239
|
+
--typography-code-leading: 1.25rem;
|
|
240
|
+
--typography-code-weight: 400;
|
|
151
241
|
}
|
|
152
242
|
|
|
153
243
|
/* Tablet — ≤1024px */
|
|
154
244
|
@media (max-width: 1024px) {
|
|
155
245
|
:root {
|
|
156
|
-
--typography-display-large-size: 3.6rem;
|
|
157
|
-
--typography-display-
|
|
158
|
-
--typography-display-
|
|
246
|
+
--typography-display-large-size: 3.6rem;
|
|
247
|
+
--typography-display-large-leading: 4.05rem;
|
|
248
|
+
--typography-display-medium-size: 2.7rem;
|
|
249
|
+
--typography-display-medium-leading: 3.15rem;
|
|
250
|
+
--typography-display-small-size: 1.9125rem;
|
|
251
|
+
--typography-display-small-leading: 2.3625rem;
|
|
159
252
|
}
|
|
160
253
|
}
|
|
161
254
|
|
|
162
255
|
/* Mobile — ≤768px */
|
|
163
256
|
@media (max-width: 768px) {
|
|
164
257
|
:root {
|
|
165
|
-
--typography-display-large-size: 2.5rem;
|
|
166
|
-
--typography-display-
|
|
167
|
-
--typography-
|
|
168
|
-
--typography-
|
|
258
|
+
--typography-display-large-size: 2.5rem;
|
|
259
|
+
--typography-display-large-leading: 2.8125rem;
|
|
260
|
+
--typography-display-medium-size: 2rem;
|
|
261
|
+
--typography-display-medium-leading: 2.334rem;
|
|
262
|
+
--typography-h1-size: 1.75rem;
|
|
263
|
+
--typography-h1-leading: 2.1875rem;
|
|
264
|
+
--typography-h2-size: 1.5rem;
|
|
265
|
+
--typography-h2-leading: 1.93rem;
|
|
169
266
|
}
|
|
170
267
|
}
|
|
171
268
|
|
|
@@ -176,32 +273,140 @@
|
|
|
176
273
|
* ========================================================================== */
|
|
177
274
|
@layer utilities {
|
|
178
275
|
/* Display */
|
|
179
|
-
.text-display-large
|
|
180
|
-
|
|
181
|
-
|
|
276
|
+
.text-display-large {
|
|
277
|
+
font-size: var(--typography-display-large-size);
|
|
278
|
+
line-height: var(--typography-display-large-leading);
|
|
279
|
+
font-weight: var(--typography-display-large-weight);
|
|
280
|
+
letter-spacing: var(--typography-display-large-tracking, normal);
|
|
281
|
+
font-family: var(--font-sans);
|
|
282
|
+
}
|
|
283
|
+
.text-display-medium {
|
|
284
|
+
font-size: var(--typography-display-medium-size);
|
|
285
|
+
line-height: var(--typography-display-medium-leading);
|
|
286
|
+
font-weight: var(--typography-display-medium-weight);
|
|
287
|
+
font-family: var(--font-sans);
|
|
288
|
+
}
|
|
289
|
+
.text-display-small {
|
|
290
|
+
font-size: var(--typography-display-small-size);
|
|
291
|
+
line-height: var(--typography-display-small-leading);
|
|
292
|
+
font-weight: var(--typography-display-small-weight);
|
|
293
|
+
font-family: var(--font-sans);
|
|
294
|
+
}
|
|
182
295
|
|
|
183
296
|
/* Headings */
|
|
184
|
-
.text-h1 {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
297
|
+
.text-h1 {
|
|
298
|
+
font-size: var(--typography-h1-size);
|
|
299
|
+
line-height: var(--typography-h1-leading);
|
|
300
|
+
font-weight: var(--typography-h1-weight);
|
|
301
|
+
font-family: var(--font-sans);
|
|
302
|
+
}
|
|
303
|
+
.text-h2 {
|
|
304
|
+
font-size: var(--typography-h2-size);
|
|
305
|
+
line-height: var(--typography-h2-leading);
|
|
306
|
+
font-weight: var(--typography-h2-weight);
|
|
307
|
+
font-family: var(--font-sans);
|
|
308
|
+
}
|
|
309
|
+
.text-h3 {
|
|
310
|
+
font-size: var(--typography-h3-size);
|
|
311
|
+
line-height: var(--typography-h3-leading);
|
|
312
|
+
font-weight: var(--typography-h3-weight);
|
|
313
|
+
font-family: var(--font-sans);
|
|
314
|
+
}
|
|
315
|
+
.text-h4 {
|
|
316
|
+
font-size: var(--typography-h4-size);
|
|
317
|
+
line-height: var(--typography-h4-leading);
|
|
318
|
+
font-weight: var(--typography-h4-weight);
|
|
319
|
+
font-family: var(--font-sans);
|
|
320
|
+
}
|
|
321
|
+
.text-h5 {
|
|
322
|
+
font-size: var(--typography-h5-size);
|
|
323
|
+
line-height: var(--typography-h5-leading);
|
|
324
|
+
font-weight: var(--typography-h5-weight);
|
|
325
|
+
font-family: var(--font-sans);
|
|
326
|
+
}
|
|
327
|
+
.text-h6 {
|
|
328
|
+
font-size: var(--typography-h6-size);
|
|
329
|
+
line-height: var(--typography-h6-leading);
|
|
330
|
+
font-weight: var(--typography-h6-weight);
|
|
331
|
+
font-family: var(--font-sans);
|
|
332
|
+
}
|
|
190
333
|
|
|
191
334
|
/* Body */
|
|
192
|
-
.text-body-large
|
|
193
|
-
|
|
194
|
-
|
|
335
|
+
.text-body-large {
|
|
336
|
+
font-size: var(--typography-body-large-size);
|
|
337
|
+
line-height: var(--typography-body-large-leading);
|
|
338
|
+
font-weight: var(--typography-body-large-weight);
|
|
339
|
+
font-family: var(--font-sans);
|
|
340
|
+
}
|
|
341
|
+
.text-body-medium {
|
|
342
|
+
font-size: var(--typography-body-medium-size);
|
|
343
|
+
line-height: var(--typography-body-medium-leading);
|
|
344
|
+
font-weight: var(--typography-body-medium-weight);
|
|
345
|
+
font-family: var(--font-sans);
|
|
346
|
+
}
|
|
347
|
+
.text-body-small {
|
|
348
|
+
font-size: var(--typography-body-small-size);
|
|
349
|
+
line-height: var(--typography-body-small-leading);
|
|
350
|
+
font-weight: var(--typography-body-small-weight);
|
|
351
|
+
font-family: var(--font-sans);
|
|
352
|
+
}
|
|
195
353
|
|
|
196
354
|
/* Labels */
|
|
197
|
-
.text-label-large
|
|
198
|
-
|
|
199
|
-
|
|
355
|
+
.text-label-large {
|
|
356
|
+
font-size: var(--typography-label-large-size);
|
|
357
|
+
line-height: var(--typography-label-large-leading);
|
|
358
|
+
font-weight: var(--typography-label-large-weight);
|
|
359
|
+
font-family: var(--font-sans);
|
|
360
|
+
}
|
|
361
|
+
.text-label-medium {
|
|
362
|
+
font-size: var(--typography-label-medium-size);
|
|
363
|
+
line-height: var(--typography-label-medium-leading);
|
|
364
|
+
font-weight: var(--typography-label-medium-weight);
|
|
365
|
+
font-family: var(--font-sans);
|
|
366
|
+
}
|
|
367
|
+
.text-label-small {
|
|
368
|
+
font-size: var(--typography-label-small-size);
|
|
369
|
+
line-height: var(--typography-label-small-leading);
|
|
370
|
+
font-weight: var(--typography-label-small-weight);
|
|
371
|
+
letter-spacing: var(--typography-label-small-tracking);
|
|
372
|
+
font-family: var(--font-sans);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/* Button */
|
|
376
|
+
.text-button {
|
|
377
|
+
font-size: var(--typography-button-default-size);
|
|
378
|
+
line-height: var(--typography-button-default-leading);
|
|
379
|
+
font-weight: var(--typography-button-default-weight);
|
|
380
|
+
font-family: var(--font-sans);
|
|
381
|
+
}
|
|
382
|
+
.text-button-xs {
|
|
383
|
+
font-size: var(--typography-button-xs-size);
|
|
384
|
+
line-height: var(--typography-button-xs-leading);
|
|
385
|
+
font-weight: var(--typography-button-xs-weight);
|
|
386
|
+
font-family: var(--font-sans);
|
|
387
|
+
}
|
|
200
388
|
|
|
201
389
|
/* Utility */
|
|
202
|
-
.text-caption
|
|
203
|
-
|
|
204
|
-
|
|
390
|
+
.text-caption {
|
|
391
|
+
font-size: var(--typography-caption-size);
|
|
392
|
+
line-height: var(--typography-caption-leading);
|
|
393
|
+
font-weight: var(--typography-caption-weight);
|
|
394
|
+
font-family: var(--font-sans);
|
|
395
|
+
}
|
|
396
|
+
.text-overline {
|
|
397
|
+
font-size: var(--typography-overline-size);
|
|
398
|
+
line-height: var(--typography-overline-leading);
|
|
399
|
+
font-weight: var(--typography-overline-weight);
|
|
400
|
+
letter-spacing: var(--typography-overline-tracking);
|
|
401
|
+
text-transform: uppercase;
|
|
402
|
+
font-family: var(--font-sans);
|
|
403
|
+
}
|
|
404
|
+
.text-code {
|
|
405
|
+
font-size: var(--typography-code-size);
|
|
406
|
+
line-height: var(--typography-code-leading);
|
|
407
|
+
font-weight: var(--typography-code-weight);
|
|
408
|
+
font-family: var(--font-mono, ui-monospace, monospace);
|
|
409
|
+
}
|
|
205
410
|
}
|
|
206
411
|
|
|
207
412
|
/* ==========================================================================
|
|
@@ -221,74 +426,96 @@
|
|
|
221
426
|
--radius: 0; /* WealthX: sharp corners — no border radius */
|
|
222
427
|
|
|
223
428
|
/* Core surfaces — from palette/background/* */
|
|
224
|
-
--background: oklch(1
|
|
225
|
-
--foreground: oklch(0.152 0.
|
|
429
|
+
--background: oklch(1 0 0); /* #FFFFFF — palette/background/default */
|
|
430
|
+
--foreground: oklch(0.152 0.02 235); /* #040D13 — palette/text/primary */
|
|
226
431
|
|
|
227
432
|
/* Card — from color/background/elevated */
|
|
228
|
-
--card: oklch(1
|
|
229
|
-
--card-foreground: oklch(0.152 0.
|
|
433
|
+
--card: oklch(1 0 0); /* #FFFFFF */
|
|
434
|
+
--card-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
230
435
|
|
|
231
436
|
/* Popover — from color/background/elevated */
|
|
232
|
-
--popover: oklch(1
|
|
233
|
-
--popover-foreground: oklch(0.152 0.
|
|
437
|
+
--popover: oklch(1 0 0); /* #FFFFFF */
|
|
438
|
+
--popover-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
234
439
|
|
|
235
440
|
/* Primary — TENANT-DRIVEN (white-label)
|
|
236
441
|
* Default: WealthX green #33FF99
|
|
237
442
|
* Override at runtime via ThemeProvider for each tenant */
|
|
238
|
-
--primary: oklch(0.894 0.208 163
|
|
239
|
-
--primary-foreground: oklch(
|
|
443
|
+
--primary: oklch(0.894 0.208 163); /* #33FF99 — palette/primary/main */
|
|
444
|
+
--primary-foreground: oklch(
|
|
445
|
+
0.152 0.02 235
|
|
446
|
+
); /* #040D13 — contrastText for bright primary (button text readability) */
|
|
240
447
|
|
|
241
448
|
/* Secondary — maps to WealthX paper/subtle background */
|
|
242
|
-
--secondary: oklch(
|
|
243
|
-
|
|
449
|
+
--secondary: oklch(
|
|
450
|
+
0.977 0.004 236.5
|
|
451
|
+
); /* #F5F8FA — palette/background/paper */
|
|
452
|
+
--secondary-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
244
453
|
|
|
245
454
|
/* Muted — secondary text and disabled states */
|
|
246
|
-
--muted: oklch(0.977 0.004 236.5);
|
|
247
|
-
--muted-foreground: oklch(
|
|
455
|
+
--muted: oklch(0.977 0.004 236.5); /* #F5F8FA — palette/background/paper */
|
|
456
|
+
--muted-foreground: oklch(
|
|
457
|
+
0.465 0.032 241.8
|
|
458
|
+
); /* #4A5C6A — palette/text/secondary */
|
|
248
459
|
|
|
249
460
|
/* Accent — tertiary surface for hover/active states */
|
|
250
|
-
--accent: oklch(0.936 0.003 247.9);
|
|
251
|
-
--accent-foreground: oklch(0.152 0.
|
|
461
|
+
--accent: oklch(0.936 0.003 247.9); /* #E8EAEC — color/background/tertiary */
|
|
462
|
+
--accent-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
252
463
|
|
|
253
464
|
/* Destructive — error state */
|
|
254
|
-
--destructive: oklch(0.643 0.215 28.8);
|
|
255
|
-
--destructive-foreground: oklch(1
|
|
465
|
+
--destructive: oklch(0.643 0.215 28.8); /* #F44336 — palette/error/main */
|
|
466
|
+
--destructive-foreground: oklch(1 0 0); /* #FFFFFF — light text on red */
|
|
256
467
|
|
|
257
468
|
/* Borders */
|
|
258
|
-
--border: oklch(0.936 0.003 247.9);
|
|
259
|
-
--input: oklch(0.936 0.003 247.9);
|
|
260
|
-
--ring: oklch(
|
|
469
|
+
--border: oklch(0.936 0.003 247.9); /* #E8EAEC — color/border/default */
|
|
470
|
+
--input: oklch(0.936 0.003 247.9); /* #E8EAEC — same as border */
|
|
471
|
+
--ring: oklch(
|
|
472
|
+
0.894 0.208 163
|
|
473
|
+
); /* #33FF99 — primary (focus ring uses brand color) */
|
|
261
474
|
|
|
262
475
|
/* WealthX custom: state colors */
|
|
263
|
-
--warning: oklch(0.
|
|
264
|
-
--warning-foreground: oklch(1
|
|
265
|
-
--
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
--
|
|
476
|
+
--warning: oklch(0.77 0.174 64.1); /* #FF9800 — palette/warning/main */
|
|
477
|
+
--warning-foreground: oklch(1 0 0); /* #FFFFFF */
|
|
478
|
+
--warning-text: oklch(
|
|
479
|
+
0.44 0.14 58
|
|
480
|
+
); /* ~#7A5200 — darkened for text on light bg (4.5:1 on white) */
|
|
481
|
+
--success: oklch(0.673 0.162 144.2); /* #4CAF50 — palette/success/main */
|
|
482
|
+
--success-foreground: oklch(1 0 0); /* #FFFFFF */
|
|
483
|
+
--success-text: oklch(
|
|
484
|
+
0.4 0.12 145
|
|
485
|
+
); /* ~#1B5E20 — darkened for text on light bg */
|
|
486
|
+
--info: oklch(0.658 0.169 248.8); /* #2196F3 — palette/info/main */
|
|
487
|
+
--info-foreground: oklch(1 0 0); /* #FFFFFF */
|
|
488
|
+
--info-text: oklch(
|
|
489
|
+
0.4 0.13 250
|
|
490
|
+
); /* ~#0D47A1 — darkened for text on light bg */
|
|
491
|
+
--destructive-text: oklch(
|
|
492
|
+
0.44 0.2 28.8
|
|
493
|
+
); /* ~#8B0000 — darkened for text on light bg */
|
|
269
494
|
|
|
270
495
|
/* Chart series — WealthX Charts collection */
|
|
271
|
-
--chart-1: oklch(0.
|
|
272
|
-
--chart-2: oklch(0.747 0.086 204.1);
|
|
273
|
-
--chart-3: oklch(0.846 0.
|
|
274
|
-
--chart-4: oklch(0.702 0.192 39
|
|
275
|
-
--chart-5: oklch(0.661 0.213 27.5);
|
|
496
|
+
--chart-1: oklch(0.59 0.217 261.8); /* #2B72FB — series/blue */
|
|
497
|
+
--chart-2: oklch(0.747 0.086 204.1); /* #64BDC6 — series/teal */
|
|
498
|
+
--chart-3: oklch(0.846 0.16 94.6); /* #EECA34 — series/yellow */
|
|
499
|
+
--chart-4: oklch(0.702 0.192 39); /* #FE6A35 — series/orange */
|
|
500
|
+
--chart-5: oklch(0.661 0.213 27.5); /* #FA4B42 — series/red */
|
|
276
501
|
|
|
277
502
|
/* Brand secondary — WealthX dark navy #162029 (tenant-driven via ThemeProvider)
|
|
278
503
|
* NOTE: --secondary is reserved by shadcn for surface/paper (#F5F8FA).
|
|
279
504
|
* --brand-secondary holds the WealthX brand navy used by the Secondary button variant. */
|
|
280
|
-
--brand-secondary: oklch(
|
|
281
|
-
|
|
505
|
+
--brand-secondary: oklch(
|
|
506
|
+
0.238 0.023 246.1
|
|
507
|
+
); /* #162029 — palette/secondary/main */
|
|
508
|
+
--brand-secondary-foreground: oklch(1 0 0); /* #FFFFFF — white on dark navy */
|
|
282
509
|
|
|
283
510
|
/* Sidebar — uses paper/secondary background */
|
|
284
|
-
--sidebar: oklch(0.977 0.004 236.5);
|
|
285
|
-
--sidebar-foreground: oklch(0.152 0.
|
|
286
|
-
--sidebar-primary: oklch(0.894 0.208 163
|
|
287
|
-
--sidebar-primary-foreground: oklch(0.152 0.
|
|
288
|
-
--sidebar-accent: oklch(0.936 0.003 247.9);
|
|
289
|
-
--sidebar-accent-foreground: oklch(0.152 0.
|
|
290
|
-
--sidebar-border: oklch(0.936 0.003 247.9);
|
|
291
|
-
--sidebar-ring: oklch(0.465 0.032 241.8);
|
|
511
|
+
--sidebar: oklch(0.977 0.004 236.5); /* #F5F8FA */
|
|
512
|
+
--sidebar-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
513
|
+
--sidebar-primary: oklch(0.894 0.208 163); /* #33FF99 — tenant primary */
|
|
514
|
+
--sidebar-primary-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
515
|
+
--sidebar-accent: oklch(0.936 0.003 247.9); /* #E8EAEC */
|
|
516
|
+
--sidebar-accent-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
517
|
+
--sidebar-border: oklch(0.936 0.003 247.9); /* #E8EAEC */
|
|
518
|
+
--sidebar-ring: oklch(0.465 0.032 241.8); /* #4A5C6A */
|
|
292
519
|
}
|
|
293
520
|
|
|
294
521
|
/* ==========================================================================
|
|
@@ -298,11 +525,11 @@
|
|
|
298
525
|
* ========================================================================== */
|
|
299
526
|
.dark {
|
|
300
527
|
/* Core surfaces */
|
|
301
|
-
--background: oklch(0.188 0.013 248.5);
|
|
302
|
-
--foreground: oklch(0.977 0.004 236.5);
|
|
528
|
+
--background: oklch(0.188 0.013 248.5); /* #0F1419 — dark navy */
|
|
529
|
+
--foreground: oklch(0.977 0.004 236.5); /* #F5F8FA — light text */
|
|
303
530
|
|
|
304
531
|
/* Card */
|
|
305
|
-
--card: oklch(0.238 0.023 246.1);
|
|
532
|
+
--card: oklch(0.238 0.023 246.1); /* #162029 — secondary as dark card */
|
|
306
533
|
--card-foreground: oklch(0.977 0.004 236.5);
|
|
307
534
|
|
|
308
535
|
/* Popover */
|
|
@@ -310,57 +537,69 @@
|
|
|
310
537
|
--popover-foreground: oklch(0.977 0.004 236.5);
|
|
311
538
|
|
|
312
539
|
/* Primary — stays same hue, slightly brighter in dark mode */
|
|
313
|
-
--primary: oklch(0.894 0.208 163
|
|
314
|
-
--primary-foreground: oklch(0.152 0.
|
|
540
|
+
--primary: oklch(0.894 0.208 163); /* #33FF99 — same green works on dark */
|
|
541
|
+
--primary-foreground: oklch(0.152 0.02 235); /* #040D13 */
|
|
315
542
|
|
|
316
543
|
/* Secondary */
|
|
317
|
-
--secondary: oklch(0.278 0.023 241.1);
|
|
544
|
+
--secondary: oklch(0.278 0.023 241.1); /* #1E2A33 */
|
|
318
545
|
--secondary-foreground: oklch(0.977 0.004 236.5);
|
|
319
546
|
|
|
320
547
|
/* Muted */
|
|
321
|
-
--muted: oklch(0.278 0.023 241.1);
|
|
322
|
-
--muted-foreground: oklch(
|
|
548
|
+
--muted: oklch(0.278 0.023 241.1); /* #1E2A33 */
|
|
549
|
+
--muted-foreground: oklch(
|
|
550
|
+
0.732 0.021 245.7
|
|
551
|
+
); /* #9EAAB5 — palette/text/disabled */
|
|
323
552
|
|
|
324
553
|
/* Accent */
|
|
325
|
-
--accent: oklch(0.314 0.
|
|
554
|
+
--accent: oklch(0.314 0.03 246.9); /* #253340 */
|
|
326
555
|
--accent-foreground: oklch(0.977 0.004 236.5);
|
|
327
556
|
|
|
328
557
|
/* Destructive */
|
|
329
|
-
--destructive: oklch(0.712 0.181 22.8);
|
|
330
|
-
--destructive-foreground: oklch(0.152 0.
|
|
558
|
+
--destructive: oklch(0.712 0.181 22.8); /* #FF6B6B — brighter red for dark */
|
|
559
|
+
--destructive-foreground: oklch(0.152 0.02 235);
|
|
331
560
|
|
|
332
561
|
/* Borders */
|
|
333
|
-
--border: oklch(0.314 0.
|
|
334
|
-
--input: oklch(0.314 0.
|
|
335
|
-
--ring: oklch(0.894 0.208 163
|
|
562
|
+
--border: oklch(0.314 0.03 246.9); /* #253340 */
|
|
563
|
+
--input: oklch(0.314 0.03 246.9);
|
|
564
|
+
--ring: oklch(0.894 0.208 163); /* #33FF99 */
|
|
336
565
|
|
|
337
566
|
/* State colors — brighter variants for dark mode */
|
|
338
|
-
--warning: oklch(0.829 0.145 73.5);
|
|
339
|
-
--warning-foreground: oklch(0.152 0.
|
|
340
|
-
--
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
--
|
|
567
|
+
--warning: oklch(0.829 0.145 73.5); /* #FFB74D */
|
|
568
|
+
--warning-foreground: oklch(0.152 0.02 235);
|
|
569
|
+
--warning-text: oklch(
|
|
570
|
+
0.829 0.145 73.5
|
|
571
|
+
); /* dark mode: use the bright token directly — bg is dark */
|
|
572
|
+
--success: oklch(0.766 0.118 145.3); /* #81C784 */
|
|
573
|
+
--success-foreground: oklch(0.152 0.02 235);
|
|
574
|
+
--success-text: oklch(0.766 0.118 145.3);
|
|
575
|
+
--info: oklch(0.748 0.123 244.7); /* #64B5F6 */
|
|
576
|
+
--info-foreground: oklch(0.152 0.02 235);
|
|
577
|
+
--info-text: oklch(0.748 0.123 244.7);
|
|
578
|
+
--destructive-text: oklch(0.704 0.191 27.5); /* lighter red for dark bg */
|
|
344
579
|
|
|
345
580
|
/* Chart series — same in dark */
|
|
346
|
-
--chart-1: oklch(0.
|
|
581
|
+
--chart-1: oklch(0.59 0.217 261.8);
|
|
347
582
|
--chart-2: oklch(0.747 0.086 204.1);
|
|
348
|
-
--chart-3: oklch(0.846 0.
|
|
349
|
-
--chart-4: oklch(0.702 0.192 39
|
|
583
|
+
--chart-3: oklch(0.846 0.16 94.6);
|
|
584
|
+
--chart-4: oklch(0.702 0.192 39);
|
|
350
585
|
--chart-5: oklch(0.661 0.213 27.5);
|
|
351
586
|
|
|
352
587
|
/* Brand secondary — brighter/lighter in dark mode for legibility */
|
|
353
|
-
--brand-secondary: oklch(
|
|
354
|
-
|
|
588
|
+
--brand-secondary: oklch(
|
|
589
|
+
0.314 0.03 246.9
|
|
590
|
+
); /* #253340 — slightly lighter navy */
|
|
591
|
+
--brand-secondary-foreground: oklch(
|
|
592
|
+
0.977 0.004 236.5
|
|
593
|
+
); /* #F5F8FA — near-white on dark */
|
|
355
594
|
|
|
356
595
|
/* Sidebar */
|
|
357
|
-
--sidebar: oklch(0.238 0.023 246.1);
|
|
596
|
+
--sidebar: oklch(0.238 0.023 246.1); /* #162029 */
|
|
358
597
|
--sidebar-foreground: oklch(0.977 0.004 236.5);
|
|
359
|
-
--sidebar-primary: oklch(0.894 0.208 163
|
|
360
|
-
--sidebar-primary-foreground: oklch(0.152 0.
|
|
361
|
-
--sidebar-accent: oklch(0.314 0.
|
|
598
|
+
--sidebar-primary: oklch(0.894 0.208 163);
|
|
599
|
+
--sidebar-primary-foreground: oklch(0.152 0.02 235);
|
|
600
|
+
--sidebar-accent: oklch(0.314 0.03 246.9);
|
|
362
601
|
--sidebar-accent-foreground: oklch(0.977 0.004 236.5);
|
|
363
|
-
--sidebar-border: oklch(0.314 0.
|
|
602
|
+
--sidebar-border: oklch(0.314 0.03 246.9);
|
|
364
603
|
--sidebar-ring: oklch(0.465 0.032 241.8);
|
|
365
604
|
}
|
|
366
605
|
|
|
@@ -383,7 +622,15 @@ textarea::selection {
|
|
|
383
622
|
* Inset box-shadow avoids corner artifacts from mixing 4px left + 1px other borders.
|
|
384
623
|
* !important required to override Sonner's own styles.
|
|
385
624
|
*/
|
|
386
|
-
[data-sonner-toast][data-type="success"] {
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
[data-sonner-toast][data-type="
|
|
625
|
+
[data-sonner-toast][data-type="success"] {
|
|
626
|
+
box-shadow: inset 4px 0 0 var(--success) !important;
|
|
627
|
+
}
|
|
628
|
+
[data-sonner-toast][data-type="error"] {
|
|
629
|
+
box-shadow: inset 4px 0 0 var(--destructive) !important;
|
|
630
|
+
}
|
|
631
|
+
[data-sonner-toast][data-type="warning"] {
|
|
632
|
+
box-shadow: inset 4px 0 0 var(--warning) !important;
|
|
633
|
+
}
|
|
634
|
+
[data-sonner-toast][data-type="info"] {
|
|
635
|
+
box-shadow: inset 4px 0 0 var(--info) !important;
|
|
636
|
+
}
|