@wealthx/shadcn 1.3.2 → 1.3.4
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 +227 -191
- package/CHANGELOG.md +12 -0
- package/dist/{chunk-2UM72RJ7.mjs → chunk-2D3HQPFN.mjs} +12 -10
- package/dist/chunk-2EM2FRU6.mjs +613 -0
- package/dist/{chunk-FH6QVUVZ.mjs → chunk-2GIYVERS.mjs} +2 -2
- package/dist/chunk-2P7HP7LR.mjs +68 -0
- package/dist/{chunk-HISNT2MG.mjs → chunk-37AE3OM5.mjs} +5 -5
- package/dist/{chunk-HBZLGDIN.mjs → chunk-3ERBUVHC.mjs} +169 -110
- package/dist/{chunk-C7CQJNMR.mjs → chunk-3VDET466.mjs} +2 -2
- package/dist/{chunk-462HMNO4.mjs → chunk-4MM7LHM5.mjs} +2 -2
- package/dist/{chunk-QMY3AZJH.mjs → chunk-4Z66LMIQ.mjs} +2 -2
- package/dist/{chunk-U5X52X37.mjs → chunk-57ZXILTS.mjs} +6 -6
- package/dist/{chunk-2A5RRQGG.mjs → chunk-5NF6T2RS.mjs} +11 -20
- package/dist/{chunk-3OYFOX3X.mjs → chunk-5VOTTIXF.mjs} +2 -2
- package/dist/{chunk-LBMRIB3G.mjs → chunk-6AJUS7VX.mjs} +1 -1
- package/dist/{chunk-OODBHKG7.mjs → chunk-6HIOM2HL.mjs} +7 -4
- package/dist/{chunk-BDYZCBRT.mjs → chunk-6QAFGZC2.mjs} +2 -2
- package/dist/{chunk-U4NDAF2P.mjs → chunk-6TX73WG7.mjs} +1 -1
- package/dist/{chunk-GD4BJDJR.mjs → chunk-7BTFGCFC.mjs} +4 -4
- package/dist/{chunk-FAKPBKLT.mjs → chunk-7GWRPXHD.mjs} +4 -4
- package/dist/{chunk-NMOI6CQD.mjs → chunk-7YI3HEBH.mjs} +5 -5
- package/dist/{chunk-T4BJLT57.mjs → chunk-AE7MASLF.mjs} +5 -5
- package/dist/{chunk-VLQZANBF.mjs → chunk-AFML43VJ.mjs} +6 -1
- package/dist/chunk-BBXSNDS3.mjs +260 -0
- package/dist/chunk-BOW7U26Y.mjs +203 -0
- package/dist/{chunk-34NWQURD.mjs → chunk-BS75ICOO.mjs} +2 -2
- package/dist/chunk-D2NSIIXG.mjs +394 -0
- package/dist/{chunk-3GF7OVTP.mjs → chunk-DGNHGNYH.mjs} +2 -2
- package/dist/{chunk-VLARHE5V.mjs → chunk-DMXYRCHM.mjs} +6 -6
- package/dist/{chunk-OGOYQ7BG.mjs → chunk-DQB4EPIS.mjs} +1 -1
- package/dist/{chunk-MIZQHHUO.mjs → chunk-FL6DZFJK.mjs} +106 -38
- package/dist/{chunk-I3RZS7V2.mjs → chunk-FLL633WS.mjs} +19 -33
- package/dist/{chunk-PBL4OQV2.mjs → chunk-FTPBQVQ6.mjs} +4 -4
- package/dist/chunk-FYPSTTEJ.mjs +169 -0
- package/dist/{chunk-6O6KD7CE.mjs → chunk-G27TSQLQ.mjs} +6 -6
- package/dist/{chunk-66MI7Q4B.mjs → chunk-GT3RU6GA.mjs} +2 -2
- package/dist/{chunk-D6ID6M4V.mjs → chunk-GTAVSBDO.mjs} +2 -2
- package/dist/{chunk-24FUO7TD.mjs → chunk-H6NQTIF4.mjs} +2 -2
- package/dist/{chunk-7DHU4VGG.mjs → chunk-HK4HUQTV.mjs} +2 -2
- package/dist/chunk-I4KVSZCH.mjs +101 -0
- package/dist/{chunk-RGVKLTLH.mjs → chunk-IKXYTCSB.mjs} +2 -2
- package/dist/{chunk-Y6DWJSKZ.mjs → chunk-ISUA7DSB.mjs} +1 -1
- package/dist/{chunk-J5UICVJS.mjs → chunk-JPGL36WQ.mjs} +2 -2
- package/dist/{chunk-7XJHLGUV.mjs → chunk-JTK6VJXY.mjs} +2 -2
- package/dist/{chunk-7YAU5CY6.mjs → chunk-JVMXMFBB.mjs} +2 -2
- package/dist/{chunk-IAE3F7DR.mjs → chunk-JZY6TNIS.mjs} +21 -21
- package/dist/{chunk-K5A5L6T2.mjs → chunk-K4KOD3KR.mjs} +12 -12
- package/dist/{chunk-MBON7YRJ.mjs → chunk-K5QV4TT6.mjs} +3 -3
- package/dist/{chunk-IHMFS7NZ.mjs → chunk-K5VHK7CM.mjs} +21 -21
- package/dist/{chunk-RJI6GKVF.mjs → chunk-KCWNDYPZ.mjs} +5 -5
- package/dist/{chunk-UFYSFDER.mjs → chunk-KFH36NKF.mjs} +1 -1
- package/dist/{chunk-EBXQWIYG.mjs → chunk-KLTACJ2G.mjs} +5 -5
- package/dist/{chunk-3TTACBDP.mjs → chunk-KWD6GANL.mjs} +4 -4
- package/dist/{chunk-IOJRDS6V.mjs → chunk-L4NSRQ3T.mjs} +218 -147
- package/dist/{chunk-GYMYRIZP.mjs → chunk-LBTHZSBT.mjs} +2 -2
- package/dist/{chunk-AMQZRHEZ.mjs → chunk-LQULK2E3.mjs} +5 -5
- package/dist/{chunk-YJG55G2H.mjs → chunk-LR6LHDP3.mjs} +5 -5
- package/dist/{chunk-7PV3IWCN.mjs → chunk-M4VYX2PV.mjs} +19 -1
- package/dist/{chunk-P76HMUI6.mjs → chunk-MDUKXXIL.mjs} +2 -2
- package/dist/{chunk-LV35NGVG.mjs → chunk-N6Q5IPKT.mjs} +9 -9
- package/dist/{chunk-DOEO3CDL.mjs → chunk-NB3ZL36B.mjs} +1 -1
- package/dist/{chunk-XREGSKX3.mjs → chunk-NOOEKOWY.mjs} +5 -5
- package/dist/{chunk-NL3ZO62D.mjs → chunk-NT4FX27K.mjs} +1 -1
- package/dist/{chunk-QZ4RE6NA.mjs → chunk-NTYQWVLI.mjs} +6 -6
- package/dist/{chunk-ERGGHC2V.mjs → chunk-OEOOYMC2.mjs} +2 -2
- package/dist/{chunk-4GAWMKMI.mjs → chunk-OIKBW2QD.mjs} +291 -54
- package/dist/{chunk-DUJTAXMH.mjs → chunk-OKTJFDPN.mjs} +6 -6
- package/dist/chunk-OLKMCXAR.mjs +1219 -0
- package/dist/{chunk-EI5F6FMT.mjs → chunk-OWFQSXVD.mjs} +3 -3
- package/dist/{chunk-6DZEXFNB.mjs → chunk-P2N2PEFY.mjs} +3 -3
- package/dist/{chunk-NSLMILBT.mjs → chunk-P7CEBZM6.mjs} +2 -2
- package/dist/{chunk-7S5AESZO.mjs → chunk-PNRUH7JY.mjs} +6 -6
- package/dist/{chunk-ZU4NV6RG.mjs → chunk-PNSYFE3K.mjs} +2 -2
- package/dist/{chunk-JKGDCQTZ.mjs → chunk-QTRSCVQ3.mjs} +5 -5
- package/dist/{chunk-ABFDMHOR.mjs → chunk-QX7IFQSF.mjs} +5 -5
- package/dist/{chunk-CFMQP5QS.mjs → chunk-QXKGOMUX.mjs} +6 -6
- package/dist/{chunk-NQPOYKAQ.mjs → chunk-R2ON6CAN.mjs} +2 -2
- package/dist/{chunk-DBHJ5KC3.mjs → chunk-R4HCRDU5.mjs} +1 -1
- package/dist/{chunk-EWRB4PAD.mjs → chunk-RCAOCHWA.mjs} +14 -14
- package/dist/{chunk-EFRENWEJ.mjs → chunk-RSUIPKGX.mjs} +2 -2
- package/dist/{chunk-DGHAXJBN.mjs → chunk-S2FKV4M5.mjs} +5 -5
- package/dist/{chunk-RGU7HOEC.mjs → chunk-SET2ANTY.mjs} +5 -7
- package/dist/chunk-SFH2NJEJ.mjs +47 -0
- package/dist/{chunk-6AW4KJHE.mjs → chunk-SIVYAI3M.mjs} +12 -12
- package/dist/{chunk-5FQIKDKP.mjs → chunk-THVO2N47.mjs} +8 -8
- package/dist/{chunk-JMHR3YGZ.mjs → chunk-TLAWKTSA.mjs} +3 -3
- package/dist/{chunk-HVY6KCCF.mjs → chunk-TOWTPLRC.mjs} +68 -72
- package/dist/{chunk-6JQFUE5I.mjs → chunk-UALR6JGV.mjs} +2 -2
- package/dist/{chunk-N6TNTQL6.mjs → chunk-UJZ4UHWI.mjs} +9 -11
- package/dist/{chunk-MARPPFOJ.mjs → chunk-UNACI2YK.mjs} +2 -2
- package/dist/{chunk-3NCUZIFP.mjs → chunk-V6XGXYCJ.mjs} +7 -7
- package/dist/chunk-VB5M6OZQ.mjs +57 -0
- package/dist/{chunk-5IS7G74I.mjs → chunk-VY5NEUP7.mjs} +6 -6
- package/dist/{chunk-JHJHG4GO.mjs → chunk-WE4YKBDE.mjs} +2 -2
- package/dist/{chunk-BKNFWEH2.mjs → chunk-WL6WVV47.mjs} +3 -3
- package/dist/{chunk-FWCSY2DS.mjs → chunk-WNQUEZJF.mjs} +22 -1
- package/dist/{chunk-2Y7YJKPE.mjs → chunk-WZ6UJCBL.mjs} +1 -1
- package/dist/{chunk-UMTOX62O.mjs → chunk-XYPW2XA5.mjs} +13 -10
- package/dist/chunk-Y2MTAVAK.mjs +34 -0
- package/dist/{chunk-6CR5N2JW.mjs → chunk-YCWLFG27.mjs} +6 -6
- package/dist/{chunk-PU4YZQXV.mjs → chunk-YE67AALL.mjs} +12 -12
- package/dist/{chunk-M3FV7LOK.mjs → chunk-YEWNFK5S.mjs} +6 -1
- package/dist/{chunk-R3VSPKNP.mjs → chunk-YIZHS72Z.mjs} +11 -12
- package/dist/{chunk-7PYJD5JI.mjs → chunk-ZEDMKQK2.mjs} +2 -2
- package/dist/{chunk-N2PT566P.mjs → chunk-ZFCDYW6N.mjs} +4 -4
- package/dist/chunk-ZGQIVGIN.mjs +57 -0
- package/dist/{chunk-Q2BGOAMG.mjs → chunk-ZKWXDQDG.mjs} +4 -4
- package/dist/{chunk-GHC7LLUX.mjs → chunk-ZOWL2L5J.mjs} +5 -5
- package/dist/components/ui/accordion.mjs +3 -3
- package/dist/components/ui/add-column-modal.js +2 -2
- package/dist/components/ui/add-column-modal.mjs +10 -10
- package/dist/components/ui/add-lead-modal.js +424 -82
- package/dist/components/ui/add-lead-modal.mjs +12 -9
- package/dist/components/ui/advisor-card.js +2 -2
- package/dist/components/ui/advisor-card.mjs +8 -8
- package/dist/components/ui/ai-assistant-drawer.js +2 -2
- package/dist/components/ui/ai-assistant-drawer.mjs +9 -9
- package/dist/components/ui/ai-builder.js +958 -0
- package/dist/components/ui/ai-builder.mjs +25 -0
- package/dist/components/ui/ai-conversations.js +2045 -0
- package/dist/components/ui/ai-conversations.mjs +41 -0
- package/dist/components/ui/alert-dialog.js +2 -2
- package/dist/components/ui/alert-dialog.mjs +5 -5
- package/dist/components/ui/alert.mjs +3 -3
- package/dist/components/ui/appointment-action-dialogs.js +19 -3
- package/dist/components/ui/appointment-action-dialogs.mjs +15 -14
- package/dist/components/ui/appointment-availability-settings.js +181 -111
- package/dist/components/ui/appointment-availability-settings.mjs +20 -18
- package/dist/components/ui/appointment-book-dialog.js +113 -24
- package/dist/components/ui/appointment-book-dialog.mjs +21 -20
- package/dist/components/ui/appointment-calendar-view.js +19 -3
- package/dist/components/ui/appointment-calendar-view.mjs +10 -9
- package/dist/components/ui/appointment-detail-sheet.js +19 -3
- package/dist/components/ui/appointment-detail-sheet.mjs +18 -17
- package/dist/components/ui/appointment-gmail-connect.js +49 -89
- package/dist/components/ui/appointment-gmail-connect.mjs +8 -9
- package/dist/components/ui/appointment-mini-card.js +2 -2
- package/dist/components/ui/appointment-mini-card.mjs +6 -6
- package/dist/components/ui/appointment-time-slot-picker.mjs +6 -6
- package/dist/components/ui/appointment-upcoming-card.js +19 -3
- package/dist/components/ui/appointment-upcoming-card.mjs +15 -14
- package/dist/components/ui/auth-logo.js +95 -0
- package/dist/components/ui/auth-logo.mjs +8 -0
- package/dist/components/ui/auth-page-layout.js +108 -0
- package/dist/components/ui/auth-page-layout.mjs +8 -0
- package/dist/components/ui/avatar.mjs +3 -3
- package/dist/components/ui/backoffice-alert-history-chart.js +2 -2
- package/dist/components/ui/backoffice-alert-history-chart.mjs +9 -9
- package/dist/components/ui/backoffice-alerts-chart.js +2 -2
- package/dist/components/ui/backoffice-alerts-chart.mjs +11 -11
- package/dist/components/ui/backoffice-connections-chart.js +2 -2
- package/dist/components/ui/backoffice-connections-chart.mjs +11 -11
- package/dist/components/ui/backoffice-contact-history-chart.js +2 -2
- package/dist/components/ui/backoffice-contact-history-chart.mjs +9 -9
- package/dist/components/ui/badge.mjs +4 -4
- package/dist/components/ui/borrowing-capacity-line-chart.js +145 -132
- package/dist/components/ui/borrowing-capacity-line-chart.mjs +9 -9
- package/dist/components/ui/button.js +2 -2
- package/dist/components/ui/button.mjs +4 -4
- package/dist/components/ui/calendar.js +17 -3
- package/dist/components/ui/calendar.mjs +6 -5
- package/dist/components/ui/card.mjs +3 -3
- package/dist/components/ui/cash-balance-line-chart.js +158 -158
- package/dist/components/ui/cash-balance-line-chart.mjs +9 -9
- package/dist/components/ui/cashflow-bar-chart.js +2 -2
- package/dist/components/ui/cashflow-bar-chart.mjs +9 -9
- package/dist/components/ui/chat-widget-primitives.js +573 -0
- package/dist/components/ui/chat-widget-primitives.mjs +21 -0
- package/dist/components/ui/chat-widget.js +1268 -0
- package/dist/components/ui/chat-widget.mjs +29 -0
- package/dist/components/ui/checkbox.mjs +3 -3
- package/dist/components/ui/chip.js +2 -2
- package/dist/components/ui/chip.mjs +6 -6
- package/dist/components/ui/color-picker.js +2 -2
- package/dist/components/ui/color-picker.mjs +7 -7
- package/dist/components/ui/combobox.mjs +3 -3
- package/dist/components/ui/data-table.js +2 -2
- package/dist/components/ui/data-table.mjs +12 -12
- package/dist/components/ui/date-picker.js +22 -6
- package/dist/components/ui/date-picker.mjs +9 -8
- package/dist/components/ui/dialog.js +2 -2
- package/dist/components/ui/dialog.mjs +5 -5
- package/dist/components/ui/document-checklist-template.js +630 -0
- package/dist/components/ui/document-checklist-template.mjs +15 -0
- package/dist/components/ui/drawer.js +2 -2
- package/dist/components/ui/drawer.mjs +3 -3
- package/dist/components/ui/dropdown-menu.mjs +3 -3
- package/dist/components/ui/empty.mjs +3 -3
- package/dist/components/ui/expense-bar-chart.js +2 -2
- package/dist/components/ui/expense-bar-chart.mjs +9 -9
- package/dist/components/ui/field.mjs +5 -5
- package/dist/components/ui/financial-cards.js +431 -291
- package/dist/components/ui/financial-cards.mjs +10 -9
- package/dist/components/ui/financial-drawers.js +4 -4
- package/dist/components/ui/financial-drawers.mjs +8 -8
- package/dist/components/ui/financial-primitives.mjs +3 -3
- package/dist/components/ui/financial-sections.js +8 -9
- package/dist/components/ui/financial-sections.mjs +12 -12
- package/dist/components/ui/form-primitives.mjs +8 -8
- package/dist/components/ui/income-bar-chart.js +2 -2
- package/dist/components/ui/income-bar-chart.mjs +9 -9
- package/dist/components/ui/input-group.js +2 -2
- package/dist/components/ui/input-group.mjs +7 -7
- package/dist/components/ui/input-otp.mjs +3 -3
- package/dist/components/ui/input.mjs +3 -3
- package/dist/components/ui/kanban-column.js +19 -23
- package/dist/components/ui/kanban-column.mjs +14 -14
- package/dist/components/ui/label.mjs +3 -3
- package/dist/components/ui/onboarding-layout.js +476 -0
- package/dist/components/ui/onboarding-layout.mjs +11 -0
- package/dist/components/ui/opportunity-card.js +2 -2
- package/dist/components/ui/opportunity-card.mjs +12 -12
- package/dist/components/ui/opportunity-edit-modals.js +22 -6
- package/dist/components/ui/opportunity-edit-modals.mjs +21 -20
- package/dist/components/ui/opportunity-summary-tab.js +991 -674
- package/dist/components/ui/opportunity-summary-tab.mjs +26 -26
- package/dist/components/ui/page-header.mjs +3 -3
- package/dist/components/ui/page-top-bar.mjs +3 -3
- package/dist/components/ui/pagination.js +2 -2
- package/dist/components/ui/pagination.mjs +6 -6
- package/dist/components/ui/password-strength-tooltip.js +197 -0
- package/dist/components/ui/password-strength-tooltip.mjs +11 -0
- package/dist/components/ui/pipeline-alerts.mjs +3 -3
- package/dist/components/ui/pipeline-board.js +19 -23
- package/dist/components/ui/pipeline-board.mjs +18 -18
- package/dist/components/ui/pipeline-chart.js +12 -6
- package/dist/components/ui/pipeline-chart.mjs +4 -3
- package/dist/components/ui/pipeline-dialogs.js +28 -12
- package/dist/components/ui/pipeline-dialogs.mjs +14 -13
- package/dist/components/ui/pipeline-primitives.mjs +6 -6
- package/dist/components/ui/popover.mjs +3 -3
- package/dist/components/ui/progress.mjs +3 -3
- package/dist/components/ui/property-cashflow-doughnut-chart.js +2 -2
- package/dist/components/ui/property-cashflow-doughnut-chart.mjs +9 -9
- package/dist/components/ui/property-debt-equity-doughnut-chart.js +2 -2
- package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +9 -9
- package/dist/components/ui/property-mobile-estimate-line-chart.js +2 -2
- package/dist/components/ui/property-mobile-estimate-line-chart.mjs +9 -9
- package/dist/components/ui/radio-group.mjs +3 -3
- package/dist/components/ui/select.mjs +3 -3
- package/dist/components/ui/separator.mjs +3 -3
- package/dist/components/ui/sheet.mjs +3 -3
- package/dist/components/ui/sidebar-nav.js +6 -5
- package/dist/components/ui/sidebar-nav.mjs +7 -7
- package/dist/components/ui/skeleton.mjs +3 -3
- package/dist/components/ui/slider.mjs +3 -3
- package/dist/components/ui/sonner.mjs +2 -2
- package/dist/components/ui/spinner.mjs +3 -3
- package/dist/components/ui/stage-timeline.mjs +10 -10
- package/dist/components/ui/stepper.mjs +3 -3
- package/dist/components/ui/switch.mjs +3 -3
- package/dist/components/ui/table.mjs +3 -3
- package/dist/components/ui/tabs.mjs +3 -3
- package/dist/components/ui/textarea.mjs +3 -3
- package/dist/components/ui/toggle-group.mjs +4 -4
- package/dist/components/ui/toggle.mjs +3 -3
- package/dist/components/ui/tooltip.mjs +3 -3
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.js +2 -2
- package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +9 -9
- package/dist/components/ui/transactions-income-expense-bar-chart.js +2 -2
- package/dist/components/ui/transactions-income-expense-bar-chart.mjs +9 -9
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.js +2 -2
- package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +9 -9
- package/dist/components/ui/two-fa-setup-form.js +612 -0
- package/dist/components/ui/two-fa-setup-form.mjs +16 -0
- package/dist/components/ui/upload-card.js +187 -0
- package/dist/components/ui/upload-card.mjs +10 -0
- package/dist/components/ui/video-background.js +118 -0
- package/dist/components/ui/video-background.mjs +8 -0
- package/dist/index.js +12674 -9311
- package/dist/index.mjs +341 -245
- package/dist/lib/colors.mjs +1 -1
- package/dist/lib/theme-provider.mjs +1 -1
- package/dist/lib/typography.mjs +2 -2
- package/dist/lib/utils.js +8 -2
- package/dist/lib/utils.mjs +6 -4
- package/dist/styles.css +1 -1
- package/package.json +61 -1
- package/src/components/index.tsx +126 -1
- package/src/components/ui/add-lead-modal.tsx +101 -142
- package/src/components/ui/ai-builder.tsx +560 -0
- package/src/components/ui/ai-conversations.tsx +1690 -0
- package/src/components/ui/appointment-availability-settings.tsx +152 -101
- package/src/components/ui/appointment-book-dialog.tsx +138 -24
- package/src/components/ui/appointment-calendar-view.tsx +2 -3
- package/src/components/ui/appointment-gmail-connect.tsx +23 -42
- package/src/components/ui/auth-logo.tsx +50 -0
- package/src/components/ui/auth-page-layout.tsx +59 -0
- package/src/components/ui/borrowing-capacity-line-chart.tsx +10 -8
- package/src/components/ui/button.tsx +2 -2
- package/src/components/ui/calendar.tsx +2 -1
- package/src/components/ui/cash-balance-line-chart.tsx +11 -20
- package/src/components/ui/chart-shared.tsx +10 -0
- package/src/components/ui/chat-widget-primitives.tsx +336 -0
- package/src/components/ui/chat-widget.tsx +822 -0
- package/src/components/ui/document-checklist-template.tsx +264 -0
- package/src/components/ui/drawer.tsx +2 -2
- package/src/components/ui/financial-cards.tsx +176 -78
- package/src/components/ui/financial-drawers.tsx +2 -2
- package/src/components/ui/financial-sections.tsx +1 -1
- package/src/components/ui/kanban-column.tsx +2 -5
- package/src/components/ui/onboarding-layout.tsx +109 -0
- package/src/components/ui/opportunity-summary-tab.tsx +469 -142
- package/src/components/ui/password-strength-tooltip.tsx +70 -0
- package/src/components/ui/pipeline-chart.tsx +2 -6
- package/src/components/ui/sidebar-nav.tsx +1 -11
- package/src/components/ui/two-fa-setup-form.tsx +229 -0
- package/src/components/ui/upload-card.tsx +98 -0
- package/src/components/ui/video-background.tsx +55 -0
- package/src/lib/format-date.ts +26 -0
- package/src/lib/utils.ts +11 -0
- package/src/styles/styles-css.ts +1 -1
- package/tsup.config.ts +13 -0
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpportunitySummaryTab
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-OIKBW2QD.mjs";
|
|
4
|
+
import "../../chunk-JZY6TNIS.mjs";
|
|
5
|
+
import "../../chunk-L4NSRQ3T.mjs";
|
|
6
|
+
import "../../chunk-DQB4EPIS.mjs";
|
|
7
7
|
import "../../chunk-MN5NYQCL.mjs";
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
20
|
-
import "../../chunk-
|
|
21
|
-
import "../../chunk-
|
|
22
|
-
import "../../chunk-
|
|
23
|
-
import "../../chunk-
|
|
24
|
-
import "../../chunk-
|
|
25
|
-
import "../../chunk-
|
|
26
|
-
import "../../chunk-
|
|
27
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-57ZXILTS.mjs";
|
|
9
|
+
import "../../chunk-ISUA7DSB.mjs";
|
|
10
|
+
import "../../chunk-JTK6VJXY.mjs";
|
|
11
|
+
import "../../chunk-OWFQSXVD.mjs";
|
|
12
|
+
import "../../chunk-6QAFGZC2.mjs";
|
|
13
|
+
import "../../chunk-BS75ICOO.mjs";
|
|
14
|
+
import "../../chunk-WL6WVV47.mjs";
|
|
15
|
+
import "../../chunk-OKTJFDPN.mjs";
|
|
16
|
+
import "../../chunk-DGNHGNYH.mjs";
|
|
17
|
+
import "../../chunk-WE4YKBDE.mjs";
|
|
18
|
+
import "../../chunk-6HIOM2HL.mjs";
|
|
19
|
+
import "../../chunk-M4VYX2PV.mjs";
|
|
20
|
+
import "../../chunk-UNACI2YK.mjs";
|
|
21
|
+
import "../../chunk-P7CEBZM6.mjs";
|
|
22
|
+
import "../../chunk-IKXYTCSB.mjs";
|
|
23
|
+
import "../../chunk-ZEDMKQK2.mjs";
|
|
24
|
+
import "../../chunk-LBTHZSBT.mjs";
|
|
25
|
+
import "../../chunk-P2N2PEFY.mjs";
|
|
26
|
+
import "../../chunk-NOOEKOWY.mjs";
|
|
27
|
+
import "../../chunk-R4HCRDU5.mjs";
|
|
28
28
|
import "../../chunk-FEZKMUCF.mjs";
|
|
29
29
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
30
|
-
import "../../chunk-
|
|
31
|
-
import "../../chunk-
|
|
30
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
31
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
32
32
|
export {
|
|
33
33
|
OpportunitySummaryTab
|
|
34
34
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PageHeader
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-NT4FX27K.mjs";
|
|
4
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
5
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
6
6
|
export {
|
|
7
7
|
PageHeader
|
|
8
8
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PageTopBar
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-NB3ZL36B.mjs";
|
|
4
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
5
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
6
6
|
export {
|
|
7
7
|
PageTopBar
|
|
8
8
|
};
|
|
@@ -173,9 +173,9 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
173
173
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
174
174
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
175
175
|
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",
|
|
176
|
-
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",
|
|
176
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:border-border focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
177
177
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
178
|
-
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
178
|
+
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:border-brand-secondary focus-visible:ring-brand-secondary/30",
|
|
179
179
|
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
180
180
|
link: "text-primary underline-offset-4 hover:underline"
|
|
181
181
|
},
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
PaginationNext,
|
|
9
9
|
PaginationPrevious,
|
|
10
10
|
TablePagination
|
|
11
|
-
} from "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
11
|
+
} from "../../chunk-FTPBQVQ6.mjs";
|
|
12
|
+
import "../../chunk-ZEDMKQK2.mjs";
|
|
13
|
+
import "../../chunk-NOOEKOWY.mjs";
|
|
14
|
+
import "../../chunk-R4HCRDU5.mjs";
|
|
15
15
|
import "../../chunk-FEZKMUCF.mjs";
|
|
16
16
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
17
|
-
import "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
18
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
19
19
|
export {
|
|
20
20
|
Pagination,
|
|
21
21
|
PaginationContent,
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __spreadValues = (a, b) => {
|
|
10
|
+
for (var prop in b || (b = {}))
|
|
11
|
+
if (__hasOwnProp.call(b, prop))
|
|
12
|
+
__defNormalProp(a, prop, b[prop]);
|
|
13
|
+
if (__getOwnPropSymbols)
|
|
14
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
+
if (__propIsEnum.call(b, prop))
|
|
16
|
+
__defNormalProp(a, prop, b[prop]);
|
|
17
|
+
}
|
|
18
|
+
return a;
|
|
19
|
+
};
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
var __export = (target, all) => {
|
|
33
|
+
for (var name in all)
|
|
34
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
35
|
+
};
|
|
36
|
+
var __copyProps = (to, from, except, desc) => {
|
|
37
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
38
|
+
for (let key of __getOwnPropNames(from))
|
|
39
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
40
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
41
|
+
}
|
|
42
|
+
return to;
|
|
43
|
+
};
|
|
44
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
45
|
+
|
|
46
|
+
// src/components/ui/password-strength-tooltip.tsx
|
|
47
|
+
var password_strength_tooltip_exports = {};
|
|
48
|
+
__export(password_strength_tooltip_exports, {
|
|
49
|
+
PasswordStrengthTooltip: () => PasswordStrengthTooltip
|
|
50
|
+
});
|
|
51
|
+
module.exports = __toCommonJS(password_strength_tooltip_exports);
|
|
52
|
+
var import_lucide_react = require("lucide-react");
|
|
53
|
+
|
|
54
|
+
// src/components/ui/popover.tsx
|
|
55
|
+
var import_popover = require("@base-ui/react/popover");
|
|
56
|
+
|
|
57
|
+
// src/lib/utils.ts
|
|
58
|
+
var import_clsx = require("clsx");
|
|
59
|
+
var import_tailwind_merge = require("tailwind-merge");
|
|
60
|
+
var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
|
|
61
|
+
extend: {
|
|
62
|
+
classGroups: {
|
|
63
|
+
"font-size": [
|
|
64
|
+
{
|
|
65
|
+
text: [
|
|
66
|
+
"display-large",
|
|
67
|
+
"display-medium",
|
|
68
|
+
"display-small",
|
|
69
|
+
"h1",
|
|
70
|
+
"h2",
|
|
71
|
+
"h3",
|
|
72
|
+
"h4",
|
|
73
|
+
"h5",
|
|
74
|
+
"h6",
|
|
75
|
+
"body-large",
|
|
76
|
+
"body-medium",
|
|
77
|
+
"body-small",
|
|
78
|
+
"label-large",
|
|
79
|
+
"label-medium",
|
|
80
|
+
"label-small",
|
|
81
|
+
"button",
|
|
82
|
+
"button-xs",
|
|
83
|
+
"caption",
|
|
84
|
+
"overline",
|
|
85
|
+
"code"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
function cn(...inputs) {
|
|
93
|
+
return twMerge((0, import_clsx.clsx)(inputs));
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// src/lib/theme-provider.tsx
|
|
97
|
+
var import_react = require("react");
|
|
98
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
99
|
+
var ThemeVarsContext = (0, import_react.createContext)({});
|
|
100
|
+
function useThemeVars() {
|
|
101
|
+
return (0, import_react.useContext)(ThemeVarsContext);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// src/components/ui/popover.tsx
|
|
105
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
106
|
+
function Popover(_a) {
|
|
107
|
+
var props = __objRest(_a, []);
|
|
108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_popover.Popover.Root, __spreadValues({ "data-slot": "popover" }, props));
|
|
109
|
+
}
|
|
110
|
+
function PopoverTrigger(_a) {
|
|
111
|
+
var props = __objRest(_a, []);
|
|
112
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_popover.Popover.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
|
|
113
|
+
}
|
|
114
|
+
function PopoverContent(_a) {
|
|
115
|
+
var _b = _a, {
|
|
116
|
+
className,
|
|
117
|
+
align = "center",
|
|
118
|
+
sideOffset = 4,
|
|
119
|
+
style
|
|
120
|
+
} = _b, props = __objRest(_b, [
|
|
121
|
+
"className",
|
|
122
|
+
"align",
|
|
123
|
+
"sideOffset",
|
|
124
|
+
"style"
|
|
125
|
+
]);
|
|
126
|
+
const themeVars = useThemeVars();
|
|
127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_popover.Popover.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
128
|
+
import_popover.Popover.Positioner,
|
|
129
|
+
{
|
|
130
|
+
className: "z-[200]",
|
|
131
|
+
align,
|
|
132
|
+
sideOffset,
|
|
133
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
134
|
+
import_popover.Popover.Popup,
|
|
135
|
+
__spreadValues({
|
|
136
|
+
className: cn(
|
|
137
|
+
"z-50 w-72 border border-border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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-ending-style:animate-out data-ending-style:fade-out-0 data-ending-style:zoom-out-95 data-ending-style:fill-mode-forwards data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95",
|
|
138
|
+
className
|
|
139
|
+
),
|
|
140
|
+
"data-slot": "popover-content",
|
|
141
|
+
style: __spreadValues(__spreadValues({}, themeVars), style)
|
|
142
|
+
}, props)
|
|
143
|
+
)
|
|
144
|
+
}
|
|
145
|
+
) });
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// src/components/ui/password-strength-tooltip.tsx
|
|
149
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
150
|
+
var RULES = [
|
|
151
|
+
{ label: "Minimum 8 characters", test: (p) => p.length >= 8 },
|
|
152
|
+
{ label: "At least one uppercase letter", test: (p) => /[A-Z]/.test(p) },
|
|
153
|
+
{ label: "At least one lowercase letter", test: (p) => /[a-z]/.test(p) },
|
|
154
|
+
{ label: "At least one number", test: (p) => /\d/.test(p) },
|
|
155
|
+
{
|
|
156
|
+
label: "At least one special character",
|
|
157
|
+
test: (p) => /[^A-Za-z0-9]/.test(p)
|
|
158
|
+
}
|
|
159
|
+
];
|
|
160
|
+
function PasswordStrengthTooltip({
|
|
161
|
+
open = false,
|
|
162
|
+
password,
|
|
163
|
+
children,
|
|
164
|
+
side = "right"
|
|
165
|
+
}) {
|
|
166
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Popover, { open, children: [
|
|
167
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { children }) }),
|
|
168
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
169
|
+
PopoverContent,
|
|
170
|
+
{
|
|
171
|
+
side,
|
|
172
|
+
align: "start",
|
|
173
|
+
sideOffset: 8,
|
|
174
|
+
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
175
|
+
className: "w-auto max-w-[280px] font-sans",
|
|
176
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "flex flex-col gap-1.5", children: RULES.map((rule) => {
|
|
177
|
+
const valid = password ? rule.test(password) : false;
|
|
178
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
179
|
+
"div",
|
|
180
|
+
{
|
|
181
|
+
className: `flex items-center gap-1.5 text-[13px] leading-[18px] ${valid ? "text-success" : "text-destructive"}`,
|
|
182
|
+
children: [
|
|
183
|
+
valid ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.Check, { size: 14, className: "shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react.X, { size: 14, className: "shrink-0" }),
|
|
184
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { children: rule.label })
|
|
185
|
+
]
|
|
186
|
+
},
|
|
187
|
+
rule.label
|
|
188
|
+
);
|
|
189
|
+
}) })
|
|
190
|
+
}
|
|
191
|
+
)
|
|
192
|
+
] });
|
|
193
|
+
}
|
|
194
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
195
|
+
0 && (module.exports = {
|
|
196
|
+
PasswordStrengthTooltip
|
|
197
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PasswordStrengthTooltip
|
|
3
|
+
} from "../../chunk-VB5M6OZQ.mjs";
|
|
4
|
+
import "../../chunk-DGNHGNYH.mjs";
|
|
5
|
+
import "../../chunk-FEZKMUCF.mjs";
|
|
6
|
+
import "../../chunk-QOJ2DQD6.mjs";
|
|
7
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
8
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
9
|
+
export {
|
|
10
|
+
PasswordStrengthTooltip
|
|
11
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PipelineAlerts
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-KFH36NKF.mjs";
|
|
4
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
5
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
6
6
|
export {
|
|
7
7
|
PipelineAlerts
|
|
8
8
|
};
|
|
@@ -165,9 +165,9 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
165
165
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
166
166
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
167
167
|
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",
|
|
168
|
-
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",
|
|
168
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:border-border focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
169
169
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
170
|
-
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
170
|
+
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:border-brand-secondary focus-visible:ring-brand-secondary/30",
|
|
171
171
|
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
172
172
|
link: "text-primary underline-offset-4 hover:underline"
|
|
173
173
|
},
|
|
@@ -367,6 +367,22 @@ function useThemeVars() {
|
|
|
367
367
|
return (0, import_react2.useContext)(ThemeVarsContext);
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
+
// src/lib/format-currency.ts
|
|
371
|
+
function formatCurrency(value, options) {
|
|
372
|
+
const { decimals = 0, showSign = false } = options != null ? options : {};
|
|
373
|
+
const abs = Math.abs(value);
|
|
374
|
+
const formatted = new Intl.NumberFormat("en-AU", {
|
|
375
|
+
style: "currency",
|
|
376
|
+
currency: "AUD",
|
|
377
|
+
minimumFractionDigits: decimals,
|
|
378
|
+
maximumFractionDigits: decimals
|
|
379
|
+
}).format(abs);
|
|
380
|
+
if (!showSign) return value < 0 ? `-${formatted}` : formatted;
|
|
381
|
+
if (value > 0) return `+${formatted}`;
|
|
382
|
+
if (value < 0) return `-${formatted}`;
|
|
383
|
+
return formatted;
|
|
384
|
+
}
|
|
385
|
+
|
|
370
386
|
// src/components/ui/badge.tsx
|
|
371
387
|
var import_class_variance_authority3 = require("class-variance-authority");
|
|
372
388
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
@@ -517,22 +533,6 @@ function DropdownMenuSeparator(_a) {
|
|
|
517
533
|
// src/components/ui/opportunity-card.tsx
|
|
518
534
|
var import_lucide_react6 = require("lucide-react");
|
|
519
535
|
|
|
520
|
-
// src/lib/format-currency.ts
|
|
521
|
-
function formatCurrency(value, options) {
|
|
522
|
-
const { decimals = 0, showSign = false } = options != null ? options : {};
|
|
523
|
-
const abs = Math.abs(value);
|
|
524
|
-
const formatted = new Intl.NumberFormat("en-AU", {
|
|
525
|
-
style: "currency",
|
|
526
|
-
currency: "AUD",
|
|
527
|
-
minimumFractionDigits: decimals,
|
|
528
|
-
maximumFractionDigits: decimals
|
|
529
|
-
}).format(abs);
|
|
530
|
-
if (!showSign) return value < 0 ? `-${formatted}` : formatted;
|
|
531
|
-
if (value > 0) return `+${formatted}`;
|
|
532
|
-
if (value < 0) return `-${formatted}`;
|
|
533
|
-
return formatted;
|
|
534
|
-
}
|
|
535
|
-
|
|
536
536
|
// src/lib/format-date.ts
|
|
537
537
|
var import_date_fns = require("date-fns");
|
|
538
538
|
function safeParse(iso) {
|
|
@@ -1124,11 +1124,7 @@ function LeadCard({
|
|
|
1124
1124
|
// src/components/ui/kanban-column.tsx
|
|
1125
1125
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1126
1126
|
function formatTotalValue(value) {
|
|
1127
|
-
return
|
|
1128
|
-
style: "currency",
|
|
1129
|
-
currency: "AUD",
|
|
1130
|
-
maximumFractionDigits: 0
|
|
1131
|
-
}).format(value);
|
|
1127
|
+
return formatCurrency(value);
|
|
1132
1128
|
}
|
|
1133
1129
|
function growthColor(growth) {
|
|
1134
1130
|
return growth > 0 ? "var(--color-success-text)" : "var(--color-destructive-text)";
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PipelineBoard
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-EFRENWEJ.mjs";
|
|
3
|
+
} from "../../chunk-ZOWL2L5J.mjs";
|
|
4
|
+
import "../../chunk-YIZHS72Z.mjs";
|
|
5
|
+
import "../../chunk-K4KOD3KR.mjs";
|
|
6
|
+
import "../../chunk-K5QV4TT6.mjs";
|
|
8
7
|
import "../../chunk-MN5NYQCL.mjs";
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
8
|
+
import "../../chunk-RSUIPKGX.mjs";
|
|
9
|
+
import "../../chunk-OWFQSXVD.mjs";
|
|
10
|
+
import "../../chunk-6QAFGZC2.mjs";
|
|
11
|
+
import "../../chunk-WL6WVV47.mjs";
|
|
12
|
+
import "../../chunk-M4VYX2PV.mjs";
|
|
13
|
+
import "../../chunk-UNACI2YK.mjs";
|
|
14
|
+
import "../../chunk-2GIYVERS.mjs";
|
|
15
|
+
import "../../chunk-IKXYTCSB.mjs";
|
|
16
|
+
import "../../chunk-JVMXMFBB.mjs";
|
|
17
|
+
import "../../chunk-LBTHZSBT.mjs";
|
|
18
|
+
import "../../chunk-NOOEKOWY.mjs";
|
|
19
|
+
import "../../chunk-R4HCRDU5.mjs";
|
|
20
20
|
import "../../chunk-FEZKMUCF.mjs";
|
|
21
21
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
22
|
-
import "../../chunk-
|
|
23
|
-
import "../../chunk-
|
|
22
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
23
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
24
24
|
export {
|
|
25
25
|
PipelineBoard
|
|
26
26
|
};
|
|
@@ -82,15 +82,21 @@ function useThemeVars() {
|
|
|
82
82
|
return (0, import_react.useContext)(ThemeVarsContext);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
// src/lib/format-currency.ts
|
|
86
|
+
function formatCurrencyAbbrev(value) {
|
|
87
|
+
const abs = Math.abs(value);
|
|
88
|
+
const sign = value < 0 ? "-" : "";
|
|
89
|
+
if (abs >= 1e9)
|
|
90
|
+
return `${sign}$${(abs / 1e9).toFixed(1)}B`;
|
|
91
|
+
if (abs >= 1e6) return `${sign}$${(abs / 1e6).toFixed(1)}M`;
|
|
92
|
+
if (abs >= 1e3) return `${sign}$${(abs / 1e3).toFixed(0)}K`;
|
|
93
|
+
return `${sign}$${abs.toFixed(0)}`;
|
|
94
|
+
}
|
|
95
|
+
|
|
85
96
|
// src/components/ui/pipeline-chart.tsx
|
|
86
97
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
87
98
|
function formatValue(v) {
|
|
88
|
-
return
|
|
89
|
-
style: "currency",
|
|
90
|
-
currency: "AUD",
|
|
91
|
-
notation: "compact",
|
|
92
|
-
maximumFractionDigits: 1
|
|
93
|
-
}).format(v);
|
|
99
|
+
return formatCurrencyAbbrev(v);
|
|
94
100
|
}
|
|
95
101
|
var FALLBACK_COLORS = [
|
|
96
102
|
"var(--color-stage-1)",
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PipelineChart
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-SET2ANTY.mjs";
|
|
4
|
+
import "../../chunk-MN5NYQCL.mjs";
|
|
4
5
|
import "../../chunk-FEZKMUCF.mjs";
|
|
5
6
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
8
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
8
9
|
export {
|
|
9
10
|
PipelineChart
|
|
10
11
|
};
|
|
@@ -65,7 +65,7 @@ __export(pipeline_dialogs_exports, {
|
|
|
65
65
|
});
|
|
66
66
|
module.exports = __toCommonJS(pipeline_dialogs_exports);
|
|
67
67
|
var React6 = __toESM(require("react"));
|
|
68
|
-
var
|
|
68
|
+
var import_date_fns3 = require("date-fns");
|
|
69
69
|
|
|
70
70
|
// src/lib/utils.ts
|
|
71
71
|
var import_clsx = require("clsx");
|
|
@@ -180,9 +180,9 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
|
180
180
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
181
181
|
secondary: "bg-brand-secondary text-brand-secondary-foreground shadow-xs hover:bg-brand-secondary/80 focus-visible:ring-brand-secondary/30",
|
|
182
182
|
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",
|
|
183
|
-
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",
|
|
183
|
+
outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground focus-visible:border-border focus-visible:ring-border/50 dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
184
184
|
"outline-primary": "border border-primary text-foreground bg-transparent shadow-xs hover:bg-primary/5 focus-visible:ring-primary/50",
|
|
185
|
-
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:ring-brand-secondary/30",
|
|
185
|
+
"outline-secondary": "border border-brand-secondary text-brand-secondary bg-transparent shadow-xs hover:bg-brand-secondary/10 focus-visible:border-brand-secondary focus-visible:ring-brand-secondary/30",
|
|
186
186
|
ghost: "hover:bg-accent hover:text-accent-foreground hover:shadow-xs focus-visible:ring-border/50 dark:hover:bg-accent/50",
|
|
187
187
|
link: "text-primary underline-offset-4 hover:underline"
|
|
188
188
|
},
|
|
@@ -669,7 +669,7 @@ function ToggleGroupItem(_a) {
|
|
|
669
669
|
|
|
670
670
|
// src/components/ui/date-picker.tsx
|
|
671
671
|
var React5 = __toESM(require("react"));
|
|
672
|
-
var
|
|
672
|
+
var import_date_fns2 = require("date-fns");
|
|
673
673
|
var import_lucide_react5 = require("lucide-react");
|
|
674
674
|
|
|
675
675
|
// src/components/ui/input.tsx
|
|
@@ -695,6 +695,22 @@ function Input(_a) {
|
|
|
695
695
|
var React4 = __toESM(require("react"));
|
|
696
696
|
var import_lucide_react4 = require("lucide-react");
|
|
697
697
|
var import_react_day_picker = require("react-day-picker");
|
|
698
|
+
|
|
699
|
+
// src/lib/format-date.ts
|
|
700
|
+
var import_date_fns = require("date-fns");
|
|
701
|
+
function safeParse(iso) {
|
|
702
|
+
return (0, import_date_fns.parseISO)(iso);
|
|
703
|
+
}
|
|
704
|
+
function formatDateShort(iso) {
|
|
705
|
+
if (!iso) return "\u2014";
|
|
706
|
+
try {
|
|
707
|
+
return (0, import_date_fns.format)(safeParse(iso), "dd MMM yyyy");
|
|
708
|
+
} catch (e) {
|
|
709
|
+
return iso;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
// src/components/ui/calendar.tsx
|
|
698
714
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
699
715
|
function CalendarRoot(_a) {
|
|
700
716
|
var _b = _a, {
|
|
@@ -879,7 +895,7 @@ function CalendarDayButton(_a) {
|
|
|
879
895
|
defaultClassNames.day,
|
|
880
896
|
className
|
|
881
897
|
),
|
|
882
|
-
"data-day": day.date.
|
|
898
|
+
"data-day": formatDateShort(day.date.toISOString()),
|
|
883
899
|
"data-range-end": modifiers.range_end,
|
|
884
900
|
"data-range-middle": modifiers.range_middle,
|
|
885
901
|
"data-range-start": modifiers.range_start,
|
|
@@ -968,9 +984,9 @@ function DatePicker({
|
|
|
968
984
|
const timeValue = value ? `${String(value.getHours()).padStart(2, "0")}:${String(value.getMinutes()).padStart(2, "0")}` : "";
|
|
969
985
|
let displayValue;
|
|
970
986
|
if (value && showTimePicker) {
|
|
971
|
-
displayValue = (0,
|
|
987
|
+
displayValue = (0, import_date_fns2.format)(value, "dd/MM/yyyy HH:mm");
|
|
972
988
|
} else if (value) {
|
|
973
|
-
displayValue = (0,
|
|
989
|
+
displayValue = (0, import_date_fns2.format)(value, "dd/MM/yyyy");
|
|
974
990
|
}
|
|
975
991
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Popover, { onOpenChange: disabled ? void 0 : setOpen, open, children: [
|
|
976
992
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
@@ -1150,15 +1166,15 @@ function PutOnHoldDialog({
|
|
|
1150
1166
|
}) {
|
|
1151
1167
|
const [duration, setDuration] = React6.useState("90");
|
|
1152
1168
|
const [customDate, setCustomDate] = React6.useState();
|
|
1153
|
-
const today = React6.useMemo(() => (0,
|
|
1169
|
+
const today = React6.useMemo(() => (0, import_date_fns3.startOfDay)(/* @__PURE__ */ new Date()), []);
|
|
1154
1170
|
const resolvedDate = React6.useMemo(() => {
|
|
1155
1171
|
if (duration === "custom") return customDate;
|
|
1156
|
-
return (0,
|
|
1172
|
+
return (0, import_date_fns3.addDays)(today, parseInt(duration, 10));
|
|
1157
1173
|
}, [duration, customDate, today]);
|
|
1158
1174
|
const isValid = resolvedDate !== void 0 && resolvedDate >= today;
|
|
1159
1175
|
function handleSave() {
|
|
1160
1176
|
if (!resolvedDate) return;
|
|
1161
|
-
onSave((0,
|
|
1177
|
+
onSave((0, import_date_fns3.format)(resolvedDate, "yyyy-MM-dd"));
|
|
1162
1178
|
}
|
|
1163
1179
|
React6.useEffect(() => {
|
|
1164
1180
|
if (open) {
|
|
@@ -1202,12 +1218,12 @@ function PutOnHoldDialog({
|
|
|
1202
1218
|
) : resolvedDate && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex h-9 items-center border border-input bg-muted/30 px-3 text-sm text-muted-foreground", children: [
|
|
1203
1219
|
"Hold until:",
|
|
1204
1220
|
" ",
|
|
1205
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "ml-1 font-medium text-foreground", children: (0,
|
|
1221
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "ml-1 font-medium text-foreground", children: (0, import_date_fns3.format)(resolvedDate, "dd MMM yyyy") })
|
|
1206
1222
|
] }),
|
|
1207
1223
|
duration === "custom" && customDate && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("p", { className: "text-sm text-muted-foreground", children: [
|
|
1208
1224
|
"Hold until:",
|
|
1209
1225
|
" ",
|
|
1210
|
-
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "font-medium text-foreground", children: (0,
|
|
1226
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)("span", { className: "font-medium text-foreground", children: (0, import_date_fns3.format)(customDate, "dd MMM yyyy") })
|
|
1211
1227
|
] })
|
|
1212
1228
|
] }),
|
|
1213
1229
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(DialogFooter, { children: [
|
|
@@ -2,21 +2,22 @@ import {
|
|
|
2
2
|
ChangePriorityDialog,
|
|
3
3
|
DeleteOpportunityDialog,
|
|
4
4
|
PutOnHoldDialog
|
|
5
|
-
} from "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
5
|
+
} from "../../chunk-THVO2N47.mjs";
|
|
6
|
+
import "../../chunk-OWFQSXVD.mjs";
|
|
7
|
+
import "../../chunk-6QAFGZC2.mjs";
|
|
8
|
+
import "../../chunk-OKTJFDPN.mjs";
|
|
9
|
+
import "../../chunk-DGNHGNYH.mjs";
|
|
10
|
+
import "../../chunk-6HIOM2HL.mjs";
|
|
11
|
+
import "../../chunk-M4VYX2PV.mjs";
|
|
12
|
+
import "../../chunk-ZEDMKQK2.mjs";
|
|
13
|
+
import "../../chunk-LBTHZSBT.mjs";
|
|
14
|
+
import "../../chunk-P2N2PEFY.mjs";
|
|
15
|
+
import "../../chunk-NOOEKOWY.mjs";
|
|
16
|
+
import "../../chunk-R4HCRDU5.mjs";
|
|
16
17
|
import "../../chunk-FEZKMUCF.mjs";
|
|
17
18
|
import "../../chunk-QOJ2DQD6.mjs";
|
|
18
|
-
import "../../chunk-
|
|
19
|
-
import "../../chunk-
|
|
19
|
+
import "../../chunk-AFML43VJ.mjs";
|
|
20
|
+
import "../../chunk-WNQUEZJF.mjs";
|
|
20
21
|
export {
|
|
21
22
|
ChangePriorityDialog,
|
|
22
23
|
DeleteOpportunityDialog,
|