@wealthx/shadcn 1.2.2 → 1.3.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 +200 -156
- package/CHANGELOG.md +22 -0
- package/dist/{chunk-4Y6R4WEC.mjs → chunk-2A5RRQGG.mjs} +9 -22
- package/dist/{chunk-TS2ZX2VS.mjs → chunk-2UM72RJ7.mjs} +11 -15
- package/dist/{chunk-A56YQQHG.mjs → chunk-3NCUZIFP.mjs} +2 -2
- package/dist/chunk-3OYFOX3X.mjs +79 -0
- package/dist/{chunk-RP3SQYA3.mjs → chunk-3TTACBDP.mjs} +9 -4
- package/dist/chunk-4GAWMKMI.mjs +710 -0
- package/dist/{chunk-VGSESELX.mjs → chunk-5FQIKDKP.mjs} +5 -5
- package/dist/{chunk-K3JYD4IU.mjs → chunk-5IS7G74I.mjs} +11 -4
- package/dist/chunk-6AW4KJHE.mjs +235 -0
- package/dist/chunk-6CR5N2JW.mjs +302 -0
- package/dist/{chunk-XIRTEFKH.mjs → chunk-6DZEXFNB.mjs} +36 -8
- package/dist/chunk-6O6KD7CE.mjs +271 -0
- package/dist/chunk-7PV3IWCN.mjs +33 -0
- package/dist/{chunk-SPJ5KXW7.mjs → chunk-7S5AESZO.mjs} +5 -5
- package/dist/{chunk-RYCLWMZ7.mjs → chunk-ABFDMHOR.mjs} +9 -7
- package/dist/{chunk-SWGT756Z.mjs → chunk-AMQZRHEZ.mjs} +10 -4
- package/dist/{chunk-WAZD7NFU.mjs → chunk-BKNFWEH2.mjs} +6 -6
- package/dist/{chunk-CLIN5525.mjs → chunk-C7CQJNMR.mjs} +1 -1
- package/dist/{chunk-D4ILTPOG.mjs → chunk-CFMQP5QS.mjs} +5 -4
- package/dist/{chunk-VPBN3WOO.mjs → chunk-DGHAXJBN.mjs} +9 -7
- package/dist/chunk-DOEO3CDL.mjs +27 -0
- package/dist/{chunk-5MEWU56Z.mjs → chunk-DUJTAXMH.mjs} +11 -6
- package/dist/{chunk-GGM2UYGG.mjs → chunk-EBXQWIYG.mjs} +10 -4
- package/dist/chunk-EWRB4PAD.mjs +468 -0
- package/dist/{chunk-ZSHYDDRB.mjs → chunk-FAKPBKLT.mjs} +6 -2
- package/dist/chunk-FNQXOAYJ.mjs +169 -0
- package/dist/{chunk-A6AAWBPF.mjs → chunk-GHC7LLUX.mjs} +13 -4
- package/dist/chunk-HBZLGDIN.mjs +507 -0
- package/dist/{chunk-SIZMLSRU.mjs → chunk-HISNT2MG.mjs} +8 -6
- package/dist/{chunk-CGH4DRNG.mjs → chunk-HVY6KCCF.mjs} +10 -7
- package/dist/chunk-I3RZS7V2.mjs +136 -0
- package/dist/chunk-IAE3F7DR.mjs +1962 -0
- package/dist/{chunk-UT4KJR7V.mjs → chunk-IHMFS7NZ.mjs} +35 -74
- package/dist/{chunk-PCPLO5HT.mjs → chunk-IOJRDS6V.mjs} +96 -14
- package/dist/{chunk-LHYCMLVA.mjs → chunk-JKGDCQTZ.mjs} +11 -4
- package/dist/{chunk-H45TKD34.mjs → chunk-JMHR3YGZ.mjs} +1 -1
- package/dist/{chunk-4MN6UQHG.mjs → chunk-K5A5L6T2.mjs} +17 -39
- package/dist/chunk-LV35NGVG.mjs +272 -0
- package/dist/{chunk-FZIXGLMV.mjs → chunk-M3FV7LOK.mjs} +5 -12
- package/dist/{chunk-FMAXJ2SI.mjs → chunk-MBON7YRJ.mjs} +1 -1
- package/dist/chunk-MIZQHHUO.mjs +441 -0
- package/dist/chunk-MN5NYQCL.mjs +29 -0
- package/dist/chunk-NL3ZO62D.mjs +31 -0
- package/dist/{chunk-Q76O3RIQ.mjs → chunk-NMOI6CQD.mjs} +1 -1
- package/dist/{chunk-P6AM5V7O.mjs → chunk-OODBHKG7.mjs} +1 -1
- package/dist/chunk-PBL4OQV2.mjs +283 -0
- package/dist/{chunk-Y4QFWRNR.mjs → chunk-PU4YZQXV.mjs} +17 -18
- package/dist/chunk-QMY3AZJH.mjs +80 -0
- package/dist/{chunk-BL3DXM2X.mjs → chunk-QZ4RE6NA.mjs} +11 -4
- package/dist/{chunk-VACKZOMY.mjs → chunk-R3VSPKNP.mjs} +3 -3
- package/dist/{chunk-OPNQAVVH.mjs → chunk-RJI6GKVF.mjs} +8 -6
- package/dist/{chunk-WG6JGJXB.mjs → chunk-T4BJLT57.mjs} +1 -1
- package/dist/chunk-UMTOX62O.mjs +415 -0
- package/dist/{chunk-7MMXNK3C.mjs → chunk-VLARHE5V.mjs} +8 -6
- package/dist/{chunk-2I5S2AMY.mjs → chunk-XREGSKX3.mjs} +2 -2
- package/dist/{chunk-JNQORUPP.mjs → chunk-YJG55G2H.mjs} +14 -11
- package/dist/{chunk-ZRSDX6OW.mjs → chunk-ZC45IGZO.mjs} +33 -30
- package/dist/components/ui/add-column-modal.js +42 -14
- package/dist/components/ui/add-column-modal.mjs +5 -5
- package/dist/components/ui/add-lead-modal.js +42 -11
- package/dist/components/ui/add-lead-modal.mjs +3 -3
- package/dist/components/ui/advisor-card.js +497 -0
- package/dist/components/ui/advisor-card.mjs +13 -0
- package/dist/components/ui/ai-assistant-drawer.js +11 -10
- package/dist/components/ui/ai-assistant-drawer.mjs +3 -3
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/alert-dialog.mjs +2 -2
- package/dist/components/ui/appointment-action-dialogs.js +1160 -0
- package/dist/components/ui/appointment-action-dialogs.mjs +23 -0
- package/dist/components/ui/appointment-availability-settings.js +1590 -0
- package/dist/components/ui/appointment-availability-settings.mjs +23 -0
- package/dist/components/ui/appointment-book-dialog.js +1744 -0
- package/dist/components/ui/appointment-book-dialog.mjs +27 -0
- package/dist/components/ui/appointment-calendar-view.js +833 -0
- package/dist/components/ui/appointment-calendar-view.mjs +14 -0
- package/dist/components/ui/appointment-detail-sheet.js +1517 -0
- package/dist/components/ui/appointment-detail-sheet.mjs +24 -0
- package/dist/components/ui/appointment-gmail-connect.js +467 -0
- package/dist/components/ui/appointment-gmail-connect.mjs +14 -0
- package/dist/components/ui/appointment-mini-card.js +345 -0
- package/dist/components/ui/appointment-mini-card.mjs +11 -0
- package/dist/components/ui/appointment-time-slot-picker.js +311 -0
- package/dist/components/ui/appointment-time-slot-picker.mjs +13 -0
- package/dist/components/ui/appointment-upcoming-card.js +1268 -0
- package/dist/components/ui/appointment-upcoming-card.mjs +21 -0
- package/dist/components/ui/backoffice-alert-history-chart.js +11 -5
- package/dist/components/ui/backoffice-alert-history-chart.mjs +5 -4
- package/dist/components/ui/backoffice-alerts-chart.js +786 -0
- package/dist/components/ui/backoffice-alerts-chart.mjs +19 -0
- package/dist/components/ui/backoffice-connections-chart.js +817 -0
- package/dist/components/ui/backoffice-connections-chart.mjs +19 -0
- package/dist/components/ui/backoffice-contact-history-chart.js +11 -5
- package/dist/components/ui/backoffice-contact-history-chart.mjs +5 -4
- package/dist/components/ui/badge.js +6 -6
- package/dist/components/ui/badge.mjs +1 -1
- package/dist/components/ui/borrowing-capacity-line-chart.js +30 -21
- package/dist/components/ui/borrowing-capacity-line-chart.mjs +5 -4
- package/dist/components/ui/button.js +2 -2
- package/dist/components/ui/button.mjs +1 -1
- package/dist/components/ui/calendar.js +2 -2
- package/dist/components/ui/calendar.mjs +2 -2
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/card.mjs +1 -1
- package/dist/components/ui/cash-balance-line-chart.js +31 -23
- package/dist/components/ui/cash-balance-line-chart.mjs +5 -4
- package/dist/components/ui/cashflow-bar-chart.js +12 -5
- package/dist/components/ui/cashflow-bar-chart.mjs +5 -4
- package/dist/components/ui/chip.js +97 -18
- package/dist/components/ui/chip.mjs +3 -2
- package/dist/components/ui/color-picker.js +158 -28
- package/dist/components/ui/color-picker.mjs +3 -1
- package/dist/components/ui/data-table.js +140 -119
- package/dist/components/ui/data-table.mjs +3 -2
- package/dist/components/ui/date-picker.js +48 -27
- package/dist/components/ui/date-picker.mjs +4 -3
- package/dist/components/ui/dialog.js +37 -9
- package/dist/components/ui/dialog.mjs +2 -2
- package/dist/components/ui/expense-bar-chart.js +12 -5
- package/dist/components/ui/expense-bar-chart.mjs +5 -4
- package/dist/components/ui/field.mjs +2 -2
- package/dist/components/ui/financial-cards.js +322 -155
- package/dist/components/ui/financial-cards.mjs +5 -3
- package/dist/components/ui/financial-drawers.js +2 -2
- package/dist/components/ui/financial-drawers.mjs +3 -3
- package/dist/components/ui/financial-sections.js +14 -10
- package/dist/components/ui/financial-sections.mjs +6 -5
- package/dist/components/ui/income-bar-chart.js +12 -5
- package/dist/components/ui/income-bar-chart.mjs +5 -4
- package/dist/components/ui/input-group.js +2 -2
- package/dist/components/ui/input-group.mjs +2 -2
- package/dist/components/ui/kanban-column.js +52 -44
- package/dist/components/ui/kanban-column.mjs +7 -5
- package/dist/components/ui/opportunity-card.js +52 -44
- package/dist/components/ui/opportunity-card.mjs +6 -4
- package/dist/components/ui/opportunity-edit-modals.js +1367 -1263
- package/dist/components/ui/opportunity-edit-modals.mjs +8 -8
- package/dist/components/ui/opportunity-summary-tab.js +2744 -2157
- package/dist/components/ui/opportunity-summary-tab.mjs +14 -14
- package/dist/components/ui/page-header.js +92 -0
- package/dist/components/ui/page-header.mjs +8 -0
- package/dist/components/ui/page-top-bar.js +88 -0
- package/dist/components/ui/page-top-bar.mjs +8 -0
- package/dist/components/ui/pagination.js +303 -19
- package/dist/components/ui/pagination.mjs +11 -4
- package/dist/components/ui/pipeline-board.js +205 -191
- package/dist/components/ui/pipeline-board.mjs +9 -7
- package/dist/components/ui/pipeline-dialogs.js +114 -65
- package/dist/components/ui/pipeline-dialogs.mjs +7 -6
- package/dist/components/ui/pipeline-primitives.js +6 -6
- package/dist/components/ui/pipeline-primitives.mjs +2 -2
- package/dist/components/ui/property-cashflow-doughnut-chart.js +14 -12
- package/dist/components/ui/property-cashflow-doughnut-chart.mjs +5 -4
- package/dist/components/ui/property-debt-equity-doughnut-chart.js +14 -12
- package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +5 -4
- package/dist/components/ui/property-mobile-estimate-line-chart.js +16 -14
- package/dist/components/ui/property-mobile-estimate-line-chart.mjs +5 -4
- package/dist/components/ui/sidebar-nav.js +234 -95
- package/dist/components/ui/sidebar-nav.mjs +4 -1
- package/dist/components/ui/stage-timeline.js +6 -6
- package/dist/components/ui/stage-timeline.mjs +3 -3
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.js +18 -16
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +5 -4
- package/dist/components/ui/transactions-income-expense-bar-chart.js +28 -12
- package/dist/components/ui/transactions-income-expense-bar-chart.mjs +5 -4
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.js +18 -16
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +5 -4
- package/dist/index.js +12899 -9343
- package/dist/index.mjs +256 -190
- package/dist/styles.css +1 -1
- package/package.json +71 -1
- package/src/components/index.tsx +114 -9
- package/src/components/ui/add-column-modal.tsx +7 -7
- package/src/components/ui/add-lead-modal.tsx +6 -3
- package/src/components/ui/advisor-card.tsx +227 -0
- package/src/components/ui/ai-assistant-drawer.tsx +4 -3
- package/src/components/ui/appointment-action-dialogs.tsx +297 -0
- package/src/components/ui/appointment-availability-settings.tsx +645 -0
- package/src/components/ui/appointment-book-dialog.tsx +618 -0
- package/src/components/ui/appointment-calendar-view.tsx +510 -0
- package/src/components/ui/appointment-detail-sheet.tsx +415 -0
- package/src/components/ui/appointment-gmail-connect.tsx +188 -0
- package/src/components/ui/appointment-mini-card.tsx +104 -0
- package/src/components/ui/appointment-time-slot-picker.tsx +123 -0
- package/src/components/ui/appointment-upcoming-card.tsx +635 -0
- package/src/components/ui/backoffice-alert-history-chart.tsx +10 -2
- package/src/components/ui/backoffice-alerts-chart.tsx +312 -0
- package/src/components/ui/backoffice-connections-chart.tsx +339 -0
- package/src/components/ui/backoffice-contact-history-chart.tsx +10 -2
- package/src/components/ui/badge.tsx +12 -6
- package/src/components/ui/borrowing-capacity-line-chart.tsx +4 -11
- package/src/components/ui/button.tsx +2 -2
- package/src/components/ui/card.tsx +1 -1
- package/src/components/ui/cash-balance-line-chart.tsx +4 -23
- package/src/components/ui/cashflow-bar-chart.tsx +9 -2
- package/src/components/ui/chart-shared.tsx +4 -11
- package/src/components/ui/chip.tsx +23 -19
- package/src/components/ui/color-picker.tsx +4 -2
- package/src/components/ui/data-table.tsx +28 -74
- package/src/components/ui/date-picker.tsx +42 -37
- package/src/components/ui/dialog.tsx +72 -6
- package/src/components/ui/expense-bar-chart.tsx +11 -2
- package/src/components/ui/financial-cards.tsx +99 -10
- package/src/components/ui/income-bar-chart.tsx +11 -2
- package/src/components/ui/opportunity-card.tsx +10 -39
- package/src/components/ui/opportunity-edit-modals.tsx +98 -36
- package/src/components/ui/opportunity-summary-tab.tsx +548 -232
- package/src/components/ui/page-header.tsx +57 -0
- package/src/components/ui/page-top-bar.tsx +48 -0
- package/src/components/ui/pagination.tsx +171 -22
- package/src/components/ui/pipeline-board.tsx +12 -5
- package/src/components/ui/property-cashflow-doughnut-chart.tsx +3 -1
- package/src/components/ui/property-debt-equity-doughnut-chart.tsx +3 -1
- package/src/components/ui/property-mobile-estimate-line-chart.tsx +3 -1
- package/src/components/ui/sidebar-nav.tsx +36 -37
- package/src/components/ui/transactions-expense-categories-doughnut-chart.tsx +3 -1
- package/src/components/ui/transactions-income-expense-bar-chart.tsx +12 -9
- package/src/components/ui/transactions-liabilities-breakdown-doughnut-chart.tsx +3 -1
- package/src/lib/format-currency.ts +44 -0
- package/src/lib/format-date.ts +50 -0
- package/src/lib/opportunity-constants.ts +12 -0
- package/src/styles/globals.css +17 -15
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +14 -0
- package/dist/chunk-S4QRUQNW.mjs +0 -475
- package/dist/chunk-URGMJAE3.mjs +0 -1885
- package/dist/chunk-WNGWBVLV.mjs +0 -148
- package/dist/{chunk-LLVQKSU3.mjs → chunk-GD4BJDJR.mjs} +3 -3
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BackofficeConnectionsChart
|
|
3
|
+
} from "../../chunk-6CR5N2JW.mjs";
|
|
4
|
+
import "../../chunk-D6ID6M4V.mjs";
|
|
5
|
+
import "../../chunk-M3FV7LOK.mjs";
|
|
6
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
7
|
+
import "../../chunk-NQPOYKAQ.mjs";
|
|
8
|
+
import "../../chunk-C7CQJNMR.mjs";
|
|
9
|
+
import "../../chunk-EI5F6FMT.mjs";
|
|
10
|
+
import "../../chunk-BDYZCBRT.mjs";
|
|
11
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
12
|
+
import "../../chunk-DBHJ5KC3.mjs";
|
|
13
|
+
import "../../chunk-FEZKMUCF.mjs";
|
|
14
|
+
import "../../chunk-QOJ2DQD6.mjs";
|
|
15
|
+
import "../../chunk-VLQZANBF.mjs";
|
|
16
|
+
import "../../chunk-FWCSY2DS.mjs";
|
|
17
|
+
export {
|
|
18
|
+
BackofficeConnectionsChart
|
|
19
|
+
};
|
|
@@ -134,7 +134,7 @@ function CardHeader(_a) {
|
|
|
134
134
|
"div",
|
|
135
135
|
__spreadValues({
|
|
136
136
|
className: cn(
|
|
137
|
-
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-
|
|
137
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-center gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
138
138
|
className
|
|
139
139
|
),
|
|
140
140
|
"data-slot": "card-header"
|
|
@@ -298,10 +298,10 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
298
298
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
299
299
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
300
300
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
301
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
301
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
302
302
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
303
303
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
304
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
304
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
305
305
|
link: "text-primary underline-offset-4 hover:underline"
|
|
306
306
|
},
|
|
307
307
|
size: {
|
|
@@ -455,7 +455,13 @@ function ChartPeriodButton({
|
|
|
455
455
|
|
|
456
456
|
// src/components/ui/backoffice-contact-history-chart.tsx
|
|
457
457
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
458
|
-
import_chart.Chart.register(
|
|
458
|
+
import_chart.Chart.register(
|
|
459
|
+
import_chart.CategoryScale,
|
|
460
|
+
import_chart.LinearScale,
|
|
461
|
+
import_chart.BarController,
|
|
462
|
+
import_chart.BarElement,
|
|
463
|
+
import_chart.Tooltip
|
|
464
|
+
);
|
|
459
465
|
var CONTACT_PERIODS = [3, 6, 12];
|
|
460
466
|
var SLICE_COUNT = {
|
|
461
467
|
3: 3,
|
|
@@ -634,7 +640,7 @@ function BackofficeContactHistoryChart({
|
|
|
634
640
|
style: { maxWidth: width, fontFamily },
|
|
635
641
|
children: [
|
|
636
642
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(CardHeader, { className: "px-3 sm:px-6", children: [
|
|
637
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-
|
|
643
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-xs font-semibold uppercase tracking-wide", children: title }),
|
|
638
644
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardAction, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex gap-0.5 sm:gap-1", children: CONTACT_PERIODS.map((p) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
639
645
|
ChartPeriodButton,
|
|
640
646
|
{
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BackofficeContactHistoryChart
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-EBXQWIYG.mjs";
|
|
4
4
|
import "../../chunk-D6ID6M4V.mjs";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-M3FV7LOK.mjs";
|
|
6
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
6
7
|
import "../../chunk-NQPOYKAQ.mjs";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-C7CQJNMR.mjs";
|
|
9
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
9
10
|
import "../../chunk-DBHJ5KC3.mjs";
|
|
10
11
|
import "../../chunk-FEZKMUCF.mjs";
|
|
11
12
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
@@ -155,12 +155,12 @@ var badgeVariants = (0, import_class_variance_authority.cva)(
|
|
|
155
155
|
{
|
|
156
156
|
variants: {
|
|
157
157
|
variant: {
|
|
158
|
-
default: "bg-primary text-
|
|
159
|
-
secondary: "bg-muted text-muted-foreground [a&]:hover:bg-muted/80",
|
|
160
|
-
destructive: "bg-destructive text-destructive-
|
|
161
|
-
success: "bg-success text-success-
|
|
162
|
-
warning: "bg-warning text-warning-
|
|
163
|
-
info: "bg-info text-info-
|
|
158
|
+
default: "border-primary/40 bg-primary/10 text-foreground [a&]:hover:bg-primary/15",
|
|
159
|
+
secondary: "border-border bg-muted text-muted-foreground [a&]:hover:bg-muted/80",
|
|
160
|
+
destructive: "border-destructive/40 bg-destructive/10 text-destructive-text focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/15",
|
|
161
|
+
success: "border-success/40 bg-success/10 text-success-text [a&]:hover:bg-success/15",
|
|
162
|
+
warning: "border-warning/40 bg-warning/10 text-warning-text [a&]:hover:bg-warning/15",
|
|
163
|
+
info: "border-info/40 bg-info/10 text-info-text [a&]:hover:bg-info/15",
|
|
164
164
|
outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
165
165
|
ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
|
|
166
166
|
link: "text-primary underline-offset-4 [a&]:hover:underline"
|
|
@@ -134,7 +134,7 @@ function CardHeader(_a) {
|
|
|
134
134
|
"div",
|
|
135
135
|
__spreadValues({
|
|
136
136
|
className: cn(
|
|
137
|
-
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-
|
|
137
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-center gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
138
138
|
className
|
|
139
139
|
),
|
|
140
140
|
"data-slot": "card-header"
|
|
@@ -285,10 +285,10 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
285
285
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
286
286
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
287
287
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
288
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
288
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
289
289
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
290
290
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
291
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
291
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
292
292
|
link: "text-primary underline-offset-4 hover:underline"
|
|
293
293
|
},
|
|
294
294
|
size: {
|
|
@@ -349,13 +349,22 @@ var Button = (0, import_react2.forwardRef)(function Button2(_a, ref) {
|
|
|
349
349
|
);
|
|
350
350
|
});
|
|
351
351
|
|
|
352
|
-
// src/
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
352
|
+
// src/lib/format-currency.ts
|
|
353
|
+
function formatCurrency(value, options) {
|
|
354
|
+
const { decimals = 0, showSign = false } = options != null ? options : {};
|
|
355
|
+
const abs = Math.abs(value);
|
|
356
|
+
const formatted = new Intl.NumberFormat("en-AU", {
|
|
357
|
+
style: "currency",
|
|
358
|
+
currency: "AUD",
|
|
359
|
+
minimumFractionDigits: decimals,
|
|
360
|
+
maximumFractionDigits: decimals
|
|
361
|
+
}).format(abs);
|
|
362
|
+
if (!showSign) return value < 0 ? `-${formatted}` : formatted;
|
|
363
|
+
if (value > 0) return `+${formatted}`;
|
|
364
|
+
if (value < 0) return `-${formatted}`;
|
|
365
|
+
return formatted;
|
|
366
|
+
}
|
|
367
|
+
function formatCurrencyAbbrev(value) {
|
|
359
368
|
const abs = Math.abs(value);
|
|
360
369
|
const sign = value < 0 ? "-" : "";
|
|
361
370
|
if (abs >= 1e9)
|
|
@@ -364,6 +373,13 @@ function formatAbbrev(value) {
|
|
|
364
373
|
if (abs >= 1e3) return `${sign}$${(abs / 1e3).toFixed(0)}K`;
|
|
365
374
|
return `${sign}$${abs.toFixed(0)}`;
|
|
366
375
|
}
|
|
376
|
+
|
|
377
|
+
// src/components/ui/chart-shared.tsx
|
|
378
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
379
|
+
var FALLBACK_PRIMARY = "#33FF99";
|
|
380
|
+
var FALLBACK_BG = "#ffffff";
|
|
381
|
+
var FALLBACK_FOREGROUND = "#040D13";
|
|
382
|
+
var FALLBACK_TICK = "#9EAAB5";
|
|
367
383
|
function ChartLegendItem({
|
|
368
384
|
label,
|
|
369
385
|
color,
|
|
@@ -443,13 +459,6 @@ var SERIES_LEGEND_ORDER = [
|
|
|
443
459
|
"desired-loan-amount"
|
|
444
460
|
];
|
|
445
461
|
var DASH_PATTERN = [6, 4];
|
|
446
|
-
function formatCurrencyFull(dollars) {
|
|
447
|
-
return new Intl.NumberFormat("en-AU", {
|
|
448
|
-
style: "currency",
|
|
449
|
-
currency: "AUD",
|
|
450
|
-
maximumFractionDigits: 0
|
|
451
|
-
}).format(dollars);
|
|
452
|
-
}
|
|
453
462
|
function formatDateLabel(iso) {
|
|
454
463
|
const d = /* @__PURE__ */ new Date(`${iso.slice(0, 7)}-01T00:00:00`);
|
|
455
464
|
return d.toLocaleDateString("en-US", { month: "short", year: "2-digit" });
|
|
@@ -549,7 +558,7 @@ function BorrowingCapacityLineChart({
|
|
|
549
558
|
label: (ctx) => {
|
|
550
559
|
var _a;
|
|
551
560
|
const dollars = (_a = ctx.parsed.y) != null ? _a : 0;
|
|
552
|
-
return ` ${ctx.dataset.label}: ${
|
|
561
|
+
return ` ${ctx.dataset.label}: ${formatCurrency(dollars)}`;
|
|
553
562
|
}
|
|
554
563
|
}
|
|
555
564
|
}
|
|
@@ -584,7 +593,7 @@ function BorrowingCapacityLineChart({
|
|
|
584
593
|
padding: 8,
|
|
585
594
|
color: FALLBACK_TICK,
|
|
586
595
|
font: { size: 10, family: fontFamily },
|
|
587
|
-
callback: (v) =>
|
|
596
|
+
callback: (v) => formatCurrencyAbbrev(Number(v))
|
|
588
597
|
}
|
|
589
598
|
}
|
|
590
599
|
}
|
|
@@ -614,8 +623,8 @@ function BorrowingCapacityLineChart({
|
|
|
614
623
|
style: { maxWidth: width, fontFamily },
|
|
615
624
|
children: [
|
|
616
625
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardHeader, { className: "px-3 sm:px-6", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-start justify-between gap-4", children: [
|
|
617
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-
|
|
618
|
-
kpiValue != null && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "shrink-0 text-xl font-bold tabular-nums", children:
|
|
626
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-xs font-semibold uppercase tracking-wide", children: title }),
|
|
627
|
+
kpiValue != null && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: "shrink-0 text-xl font-bold tabular-nums", children: formatCurrency(kpiValue / 100) })
|
|
619
628
|
] }) }),
|
|
620
629
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardContent, { className: "px-3 sm:px-6", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Skeleton, { style: { height, width: "100%" } }) : !hasData ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Empty, { className: "flex-none p-4", style: { height }, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(EmptyDescription, { children: "No borrowing capacity data available" }) }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime7.Fragment, { children: [
|
|
621
630
|
legendPosition === "top" && legendWrapper,
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BorrowingCapacityLineChart
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-2UM72RJ7.mjs";
|
|
4
4
|
import "../../chunk-D6ID6M4V.mjs";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-M3FV7LOK.mjs";
|
|
6
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
6
7
|
import "../../chunk-NQPOYKAQ.mjs";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-C7CQJNMR.mjs";
|
|
9
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
9
10
|
import "../../chunk-DBHJ5KC3.mjs";
|
|
10
11
|
import "../../chunk-FEZKMUCF.mjs";
|
|
11
12
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
@@ -163,10 +163,10 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
163
163
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
164
164
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
165
165
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
166
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
166
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
167
167
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
168
168
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
169
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
169
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
170
170
|
link: "text-primary underline-offset-4 hover:underline"
|
|
171
171
|
},
|
|
172
172
|
size: {
|
|
@@ -168,10 +168,10 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
168
168
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
169
169
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
170
170
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
171
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
171
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
172
172
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
173
173
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
174
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
174
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
175
175
|
link: "text-primary underline-offset-4 hover:underline"
|
|
176
176
|
},
|
|
177
177
|
size: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Calendar,
|
|
3
3
|
CalendarDayButton
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-OODBHKG7.mjs";
|
|
5
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
6
6
|
import "../../chunk-DBHJ5KC3.mjs";
|
|
7
7
|
import "../../chunk-VLQZANBF.mjs";
|
|
8
8
|
import "../../chunk-FWCSY2DS.mjs";
|
|
@@ -116,7 +116,7 @@ function CardHeader(_a) {
|
|
|
116
116
|
"div",
|
|
117
117
|
__spreadValues({
|
|
118
118
|
className: cn(
|
|
119
|
-
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-
|
|
119
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-center gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
120
120
|
className
|
|
121
121
|
),
|
|
122
122
|
"data-slot": "card-header"
|
|
@@ -134,7 +134,7 @@ function CardHeader(_a) {
|
|
|
134
134
|
"div",
|
|
135
135
|
__spreadValues({
|
|
136
136
|
className: cn(
|
|
137
|
-
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-
|
|
137
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-center gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
138
138
|
className
|
|
139
139
|
),
|
|
140
140
|
"data-slot": "card-header"
|
|
@@ -301,10 +301,10 @@ var buttonVariants = (0, import_class_variance_authority3.cva)(
|
|
|
301
301
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
302
302
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
303
303
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
304
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
304
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
305
305
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
306
306
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
307
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
307
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
308
308
|
link: "text-primary underline-offset-4 hover:underline"
|
|
309
309
|
},
|
|
310
310
|
size: {
|
|
@@ -365,6 +365,31 @@ var Button = (0, import_react2.forwardRef)(function Button2(_a, ref) {
|
|
|
365
365
|
);
|
|
366
366
|
});
|
|
367
367
|
|
|
368
|
+
// src/lib/format-currency.ts
|
|
369
|
+
function formatCurrency(value, options) {
|
|
370
|
+
const { decimals = 0, showSign = false } = options != null ? options : {};
|
|
371
|
+
const abs = Math.abs(value);
|
|
372
|
+
const formatted = new Intl.NumberFormat("en-AU", {
|
|
373
|
+
style: "currency",
|
|
374
|
+
currency: "AUD",
|
|
375
|
+
minimumFractionDigits: decimals,
|
|
376
|
+
maximumFractionDigits: decimals
|
|
377
|
+
}).format(abs);
|
|
378
|
+
if (!showSign) return value < 0 ? `-${formatted}` : formatted;
|
|
379
|
+
if (value > 0) return `+${formatted}`;
|
|
380
|
+
if (value < 0) return `-${formatted}`;
|
|
381
|
+
return formatted;
|
|
382
|
+
}
|
|
383
|
+
function formatCurrencyAbbrev(value) {
|
|
384
|
+
const abs = Math.abs(value);
|
|
385
|
+
const sign = value < 0 ? "-" : "";
|
|
386
|
+
if (abs >= 1e9)
|
|
387
|
+
return `${sign}$${(abs / 1e9).toFixed(1)}B`;
|
|
388
|
+
if (abs >= 1e6) return `${sign}$${(abs / 1e6).toFixed(1)}M`;
|
|
389
|
+
if (abs >= 1e3) return `${sign}$${(abs / 1e3).toFixed(0)}K`;
|
|
390
|
+
return `${sign}$${abs.toFixed(0)}`;
|
|
391
|
+
}
|
|
392
|
+
|
|
368
393
|
// src/components/ui/chart-shared.tsx
|
|
369
394
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
370
395
|
var FALLBACK_PRIMARY = "#33FF99";
|
|
@@ -423,23 +448,6 @@ import_chart.Chart.register(
|
|
|
423
448
|
import_chart.PointElement,
|
|
424
449
|
import_chart.Tooltip
|
|
425
450
|
);
|
|
426
|
-
function formatAbbrev(value) {
|
|
427
|
-
const abs = Math.abs(value);
|
|
428
|
-
const sign = value < 0 ? "-" : "";
|
|
429
|
-
if (abs >= 1e9)
|
|
430
|
-
return `${sign}$${(abs / 1e9).toFixed(1)}B`;
|
|
431
|
-
if (abs >= 1e6) return `${sign}$${(abs / 1e6).toFixed(1)}M`;
|
|
432
|
-
if (abs >= 1e3) return `${sign}$${(abs / 1e3).toFixed(1)}K`;
|
|
433
|
-
return `${sign}$${abs.toFixed(0)}`;
|
|
434
|
-
}
|
|
435
|
-
function formatBalanceFull(value) {
|
|
436
|
-
const abs = Math.abs(value);
|
|
437
|
-
const sign = value < 0 ? "-" : "";
|
|
438
|
-
return `${sign}$${abs.toLocaleString(void 0, {
|
|
439
|
-
minimumFractionDigits: 2,
|
|
440
|
-
maximumFractionDigits: 2
|
|
441
|
-
})}`;
|
|
442
|
-
}
|
|
443
451
|
function formatDateLabel(iso) {
|
|
444
452
|
const d = new Date(iso);
|
|
445
453
|
return d.toLocaleDateString("en-US", { month: "short", day: "numeric" });
|
|
@@ -565,7 +573,7 @@ function CashBalanceLineChart({
|
|
|
565
573
|
padding: 8,
|
|
566
574
|
color: FALLBACK_TICK,
|
|
567
575
|
font: { size: 10, family: fontFamily },
|
|
568
|
-
callback: (v) =>
|
|
576
|
+
callback: (v) => formatCurrencyAbbrev(Number(v))
|
|
569
577
|
}
|
|
570
578
|
}
|
|
571
579
|
}
|
|
@@ -580,8 +588,8 @@ function CashBalanceLineChart({
|
|
|
580
588
|
style: { maxWidth: width, fontFamily },
|
|
581
589
|
children: [
|
|
582
590
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardHeader, { className: "px-3 sm:px-6", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-0.5", children: [
|
|
583
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-
|
|
584
|
-
showBalanceValue && latestValue !== null && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-2xl font-bold tabular-nums leading-tight", children:
|
|
591
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-xs font-semibold uppercase tracking-wide", children: title }),
|
|
592
|
+
showBalanceValue && latestValue !== null && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-2xl font-bold tabular-nums leading-tight", children: formatCurrency(latestValue, { decimals: 2 }) })
|
|
585
593
|
] }) }),
|
|
586
594
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardContent, { className: "px-3 sm:px-6", children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
587
595
|
"div",
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CashBalanceLineChart
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-2A5RRQGG.mjs";
|
|
4
|
+
import "../../chunk-M3FV7LOK.mjs";
|
|
5
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
5
6
|
import "../../chunk-NQPOYKAQ.mjs";
|
|
6
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-C7CQJNMR.mjs";
|
|
7
8
|
import "../../chunk-7YAU5CY6.mjs";
|
|
8
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
9
10
|
import "../../chunk-DBHJ5KC3.mjs";
|
|
10
11
|
import "../../chunk-FEZKMUCF.mjs";
|
|
11
12
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
@@ -134,7 +134,7 @@ function CardHeader(_a) {
|
|
|
134
134
|
"div",
|
|
135
135
|
__spreadValues({
|
|
136
136
|
className: cn(
|
|
137
|
-
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-
|
|
137
|
+
"@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-center gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
|
|
138
138
|
className
|
|
139
139
|
),
|
|
140
140
|
"data-slot": "card-header"
|
|
@@ -298,10 +298,10 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
298
298
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
299
299
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
300
300
|
destructive: "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
301
|
-
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
301
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
302
302
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
303
303
|
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
304
|
-
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs dark:hover:bg-accent/50",
|
|
304
|
+
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
305
305
|
link: "text-primary underline-offset-4 hover:underline"
|
|
306
306
|
},
|
|
307
307
|
size: {
|
|
@@ -404,7 +404,14 @@ function ChartPeriodButton({
|
|
|
404
404
|
|
|
405
405
|
// src/components/ui/cashflow-bar-chart.tsx
|
|
406
406
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
407
|
-
import_chart.Chart.register(
|
|
407
|
+
import_chart.Chart.register(
|
|
408
|
+
import_chart.CategoryScale,
|
|
409
|
+
import_chart.LinearScale,
|
|
410
|
+
import_chart.BarController,
|
|
411
|
+
import_chart.BarElement,
|
|
412
|
+
import_chart.Tooltip,
|
|
413
|
+
import_chart.Legend
|
|
414
|
+
);
|
|
408
415
|
function LegendItem({
|
|
409
416
|
label,
|
|
410
417
|
fillColor,
|
|
@@ -615,7 +622,7 @@ function CashflowBarChart({
|
|
|
615
622
|
style: { maxWidth: width, fontFamily },
|
|
616
623
|
children: [
|
|
617
624
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(CardHeader, { className: "px-3 sm:px-6", children: [
|
|
618
|
-
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-
|
|
625
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardTitle, { className: "text-xs font-semibold uppercase tracking-wide", children: title }),
|
|
619
626
|
showPeriodSelector && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(CardAction, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex gap-0.5 sm:gap-1", children: PERIODS.map((p) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
620
627
|
ChartPeriodButton,
|
|
621
628
|
{
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CashflowBarChart
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-JKGDCQTZ.mjs";
|
|
4
4
|
import "../../chunk-D6ID6M4V.mjs";
|
|
5
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-M3FV7LOK.mjs";
|
|
6
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
6
7
|
import "../../chunk-NQPOYKAQ.mjs";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-C7CQJNMR.mjs";
|
|
9
|
+
import "../../chunk-XREGSKX3.mjs";
|
|
9
10
|
import "../../chunk-DBHJ5KC3.mjs";
|
|
10
11
|
import "../../chunk-FEZKMUCF.mjs";
|
|
11
12
|
import "../../chunk-QOJ2DQD6.mjs";
|