@wealthx/shadcn 1.4.1 → 1.5.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.
Files changed (430) hide show
  1. package/.turbo/turbo-build.log +360 -180
  2. package/CHANGELOG.md +6 -0
  3. package/dist/chunk-2A53WPEC.mjs +182 -0
  4. package/dist/{chunk-SIVYAI3M.mjs → chunk-2LLFNGJZ.mjs} +15 -15
  5. package/dist/chunk-2QNOPXMQ.mjs +360 -0
  6. package/dist/{chunk-K5QV4TT6.mjs → chunk-2WCIORP7.mjs} +29 -4
  7. package/dist/{chunk-5NF6T2RS.mjs → chunk-3AREQTZU.mjs} +8 -8
  8. package/dist/{chunk-2EM2FRU6.mjs → chunk-3WGFIFP6.mjs} +5 -5
  9. package/dist/{chunk-K4KOD3KR.mjs → chunk-42NEC57Y.mjs} +44 -25
  10. package/dist/{chunk-FL6DZFJK.mjs → chunk-46Q4335I.mjs} +121 -39
  11. package/dist/chunk-4DO3WM7V.mjs +48 -0
  12. package/dist/chunk-5FHBC6DY.mjs +68 -0
  13. package/dist/chunk-5SAYZ4CI.mjs +40 -0
  14. package/dist/chunk-5WMFKQZ6.mjs +180 -0
  15. package/dist/chunk-623YVI5O.mjs +43 -0
  16. package/dist/{chunk-SFH2NJEJ.mjs → chunk-6OSULDEO.mjs} +3 -3
  17. package/dist/{chunk-UALR6JGV.mjs → chunk-6SR4K5T5.mjs} +1 -1
  18. package/dist/{chunk-D2NSIIXG.mjs → chunk-7KT5HPYM.mjs} +11 -11
  19. package/dist/chunk-A6ER36CW.mjs +456 -0
  20. package/dist/{chunk-QX7IFQSF.mjs → chunk-AHKHVBWR.mjs} +4 -4
  21. package/dist/chunk-AHSCWXYJ.mjs +113 -0
  22. package/dist/{chunk-7GWRPXHD.mjs → chunk-AL6GOL2Y.mjs} +1 -1
  23. package/dist/{chunk-OIKBW2QD.mjs → chunk-AUEUTZIC.mjs} +13 -13
  24. package/dist/{chunk-FYPSTTEJ.mjs → chunk-B7DD3ODQ.mjs} +1 -1
  25. package/dist/{chunk-TLAWKTSA.mjs → chunk-BD3DWDT4.mjs} +3 -3
  26. package/dist/{chunk-S2FKV4M5.mjs → chunk-BDESHD25.mjs} +4 -4
  27. package/dist/{chunk-OKTJFDPN.mjs → chunk-BFB3UH7V.mjs} +2 -2
  28. package/dist/{chunk-DGNHGNYH.mjs → chunk-C6SWS7OW.mjs} +1 -1
  29. package/dist/chunk-CDVG7SFT.mjs +271 -0
  30. package/dist/chunk-CUSHAIUL.mjs +109 -0
  31. package/dist/{chunk-QXKGOMUX.mjs → chunk-CW32WTZU.mjs} +4 -4
  32. package/dist/{chunk-SET2ANTY.mjs → chunk-D447W45Z.mjs} +3 -3
  33. package/dist/{chunk-RCAOCHWA.mjs → chunk-DFL5CV75.mjs} +18 -18
  34. package/dist/chunk-DYSVJ473.mjs +162 -0
  35. package/dist/chunk-E3PQDBYI.mjs +288 -0
  36. package/dist/chunk-EMYBNPIA.mjs +83 -0
  37. package/dist/chunk-EUYPMDQG.mjs +348 -0
  38. package/dist/{chunk-XYPW2XA5.mjs → chunk-EW72FINW.mjs} +11 -11
  39. package/dist/chunk-F24U4QQQ.mjs +234 -0
  40. package/dist/{chunk-VB5M6OZQ.mjs → chunk-F4O2YPXJ.mjs} +1 -1
  41. package/dist/chunk-FFXTQTB4.mjs +84 -0
  42. package/dist/{chunk-ZOWL2L5J.mjs → chunk-FYUSF5KO.mjs} +5 -1
  43. package/dist/{chunk-FTPBQVQ6.mjs → chunk-GNER6MCO.mjs} +1 -1
  44. package/dist/{chunk-2D3HQPFN.mjs → chunk-HF4FUBCY.mjs} +5 -5
  45. package/dist/{chunk-RSUIPKGX.mjs → chunk-HNDTLT5X.mjs} +1 -1
  46. package/dist/{chunk-N6Q5IPKT.mjs → chunk-HO6S3ECM.mjs} +46 -18
  47. package/dist/{chunk-L4NSRQ3T.mjs → chunk-HROG643K.mjs} +1 -1
  48. package/dist/chunk-I2EKKSEF.mjs +148 -0
  49. package/dist/{chunk-QTRSCVQ3.mjs → chunk-I3UDLWQ7.mjs} +1 -1
  50. package/dist/{chunk-AE7MASLF.mjs → chunk-IQGKOT7A.mjs} +9 -6
  51. package/dist/chunk-IXR4BQSQ.mjs +290 -0
  52. package/dist/{chunk-4MM7LHM5.mjs → chunk-J5NW5NCT.mjs} +1 -1
  53. package/dist/{chunk-OLKMCXAR.mjs → chunk-JTG5R5YV.mjs} +24 -24
  54. package/dist/chunk-JUBUN65Q.mjs +106 -0
  55. package/dist/chunk-K7TWMLLW.mjs +520 -0
  56. package/dist/{chunk-BOW7U26Y.mjs → chunk-K7WSRWOU.mjs} +4 -4
  57. package/dist/{chunk-NTYQWVLI.mjs → chunk-KAD26MCC.mjs} +1 -1
  58. package/dist/{chunk-KCWNDYPZ.mjs → chunk-KB7MZMED.mjs} +4 -4
  59. package/dist/chunk-KCKYGQVQ.mjs +61 -0
  60. package/dist/{chunk-VY5NEUP7.mjs → chunk-KLJLDNCA.mjs} +1 -1
  61. package/dist/chunk-LLAGF6BA.mjs +49 -0
  62. package/dist/{chunk-G27TSQLQ.mjs → chunk-M4LTX3MH.mjs} +1 -1
  63. package/dist/{chunk-YIZHS72Z.mjs → chunk-MHHA7QGO.mjs} +94 -54
  64. package/dist/{chunk-P2N2PEFY.mjs → chunk-NCUH54IZ.mjs} +4 -4
  65. package/dist/{chunk-PNRUH7JY.mjs → chunk-OECGKCVF.mjs} +5 -5
  66. package/dist/{chunk-YE67AALL.mjs → chunk-OL65UQHQ.mjs} +10 -10
  67. package/dist/{chunk-LQULK2E3.mjs → chunk-OYBIUEGE.mjs} +1 -1
  68. package/dist/{chunk-LR6LHDP3.mjs → chunk-PGR53HMH.mjs} +7 -7
  69. package/dist/chunk-PUJ42INK.mjs +141 -0
  70. package/dist/{chunk-M4VYX2PV.mjs → chunk-PV3Y7QGK.mjs} +2 -2
  71. package/dist/{chunk-UJZ4UHWI.mjs → chunk-PV7PNA6K.mjs} +4 -4
  72. package/dist/{chunk-6HIOM2HL.mjs → chunk-Q35PNFJ7.mjs} +1 -1
  73. package/dist/{chunk-JZY6TNIS.mjs → chunk-Q5SGEIJV.mjs} +27 -27
  74. package/dist/{chunk-ZFCDYW6N.mjs → chunk-QAX6HCUH.mjs} +1 -1
  75. package/dist/chunk-QHJDGB54.mjs +135 -0
  76. package/dist/chunk-QQSOZQOC.mjs +27 -0
  77. package/dist/chunk-RUX3OLVZ.mjs +59 -0
  78. package/dist/{chunk-QOJ2DQD6.mjs → chunk-S4CTM3UE.mjs} +5 -0
  79. package/dist/{chunk-ZEDMKQK2.mjs → chunk-TAX3KL66.mjs} +1 -1
  80. package/dist/chunk-TC43SMIN.mjs +133 -0
  81. package/dist/chunk-TGVXRD53.mjs +174 -0
  82. package/dist/{chunk-K5VHK7CM.mjs → chunk-TLYSVRSK.mjs} +12 -12
  83. package/dist/{chunk-YCWLFG27.mjs → chunk-TOIVHWNC.mjs} +1 -1
  84. package/dist/chunk-TXUBGKB7.mjs +160 -0
  85. package/dist/chunk-UEREFDAE.mjs +75 -0
  86. package/dist/chunk-UTCQN6XU.mjs +123 -0
  87. package/dist/{chunk-37AE3OM5.mjs → chunk-V4CUTCHS.mjs} +4 -4
  88. package/dist/{chunk-THVO2N47.mjs → chunk-VFH632TB.mjs} +9 -9
  89. package/dist/{chunk-3ERBUVHC.mjs → chunk-VJ3GC7W3.mjs} +95 -49
  90. package/dist/{chunk-V6XGXYCJ.mjs → chunk-VLELWBEW.mjs} +4 -4
  91. package/dist/{chunk-FEZKMUCF.mjs → chunk-WDTXHLYM.mjs} +1 -1
  92. package/dist/chunk-WUA546RX.mjs +129 -0
  93. package/dist/chunk-XHGISOX5.mjs +257 -0
  94. package/dist/chunk-XIY5DJXI.mjs +168 -0
  95. package/dist/{chunk-TOWTPLRC.mjs → chunk-XN37434W.mjs} +8 -8
  96. package/dist/{chunk-KLTACJ2G.mjs → chunk-XTWAJWCQ.mjs} +1 -1
  97. package/dist/chunk-Y24TXIFJ.mjs +518 -0
  98. package/dist/{chunk-DMXYRCHM.mjs → chunk-Y6UM3VTN.mjs} +4 -4
  99. package/dist/components/ui/about-you-form.js +1120 -0
  100. package/dist/components/ui/about-you-form.mjs +323 -0
  101. package/dist/components/ui/account-list-carousel.js +304 -0
  102. package/dist/components/ui/account-list-carousel.mjs +11 -0
  103. package/dist/components/ui/add-column-modal.js +1 -1
  104. package/dist/components/ui/add-column-modal.mjs +6 -6
  105. package/dist/components/ui/add-lead-modal.js +2 -2
  106. package/dist/components/ui/add-lead-modal.mjs +6 -6
  107. package/dist/components/ui/advisor-card.mjs +2 -2
  108. package/dist/components/ui/agent-evaluation-toast.js +299 -0
  109. package/dist/components/ui/agent-evaluation-toast.mjs +12 -0
  110. package/dist/components/ui/ai-assistant-drawer.mjs +5 -5
  111. package/dist/components/ui/ai-builder.js +3 -3
  112. package/dist/components/ui/ai-builder.mjs +5 -5
  113. package/dist/components/ui/ai-conversations.js +2 -2
  114. package/dist/components/ui/ai-conversations.mjs +11 -11
  115. package/dist/components/ui/alert-dialog.mjs +3 -3
  116. package/dist/components/ui/applicant-document-checklist.js +346 -0
  117. package/dist/components/ui/applicant-document-checklist.mjs +10 -0
  118. package/dist/components/ui/applicant-expenses-section.js +455 -0
  119. package/dist/components/ui/applicant-expenses-section.mjs +220 -0
  120. package/dist/components/ui/applicant-navigation-bar.js +309 -0
  121. package/dist/components/ui/applicant-navigation-bar.mjs +87 -0
  122. package/dist/components/ui/applicant-switcher.js +268 -0
  123. package/dist/components/ui/applicant-switcher.mjs +46 -0
  124. package/dist/components/ui/application-mobile-layout.js +88 -0
  125. package/dist/components/ui/application-mobile-layout.mjs +8 -0
  126. package/dist/components/ui/appointment-action-dialogs.js +1 -1
  127. package/dist/components/ui/appointment-action-dialogs.mjs +10 -10
  128. package/dist/components/ui/appointment-availability-settings.js +78 -31
  129. package/dist/components/ui/appointment-availability-settings.mjs +12 -10
  130. package/dist/components/ui/appointment-book-dialog.js +137 -58
  131. package/dist/components/ui/appointment-book-dialog.mjs +14 -14
  132. package/dist/components/ui/appointment-calendar-view.js +1 -1
  133. package/dist/components/ui/appointment-calendar-view.mjs +4 -4
  134. package/dist/components/ui/appointment-detail-sheet.js +38 -11
  135. package/dist/components/ui/appointment-detail-sheet.mjs +13 -13
  136. package/dist/components/ui/appointment-gmail-connect.mjs +2 -2
  137. package/dist/components/ui/appointment-time-slot-picker.mjs +2 -2
  138. package/dist/components/ui/appointment-upcoming-card.js +1 -1
  139. package/dist/components/ui/appointment-upcoming-card.mjs +10 -10
  140. package/dist/components/ui/asset-accordion.js +506 -0
  141. package/dist/components/ui/asset-accordion.mjs +202 -0
  142. package/dist/components/ui/assets-liabilities-side-card.js +328 -0
  143. package/dist/components/ui/assets-liabilities-side-card.mjs +127 -0
  144. package/dist/components/ui/auth-page-layout.js +3 -3
  145. package/dist/components/ui/auth-page-layout.mjs +1 -1
  146. package/dist/components/ui/backoffice-alert-history-chart.mjs +4 -4
  147. package/dist/components/ui/backoffice-alert-matching-chart.js +786 -0
  148. package/dist/components/ui/backoffice-alert-matching-chart.mjs +19 -0
  149. package/dist/components/ui/backoffice-alerts-chart.mjs +4 -4
  150. package/dist/components/ui/backoffice-connections-chart.mjs +4 -4
  151. package/dist/components/ui/backoffice-contact-history-chart.mjs +4 -4
  152. package/dist/components/ui/backoffice-contact-matching-chart.js +803 -0
  153. package/dist/components/ui/backoffice-contact-matching-chart.mjs +19 -0
  154. package/dist/components/ui/backoffice-signup-steps.js +1673 -0
  155. package/dist/components/ui/backoffice-signup-steps.mjs +36 -0
  156. package/dist/components/ui/bank-statement-document-table.js +467 -0
  157. package/dist/components/ui/bank-statement-document-table.mjs +12 -0
  158. package/dist/components/ui/bank-statement-generate-dialog.js +1517 -0
  159. package/dist/components/ui/bank-statement-generate-dialog.mjs +27 -0
  160. package/dist/components/ui/bank-statement-pdf-viewer.js +525 -0
  161. package/dist/components/ui/bank-statement-pdf-viewer.mjs +14 -0
  162. package/dist/components/ui/banking-accounts-connect.js +336 -0
  163. package/dist/components/ui/banking-accounts-connect.mjs +114 -0
  164. package/dist/components/ui/borrowing-capacity-atoms.js +382 -0
  165. package/dist/components/ui/borrowing-capacity-atoms.mjs +17 -0
  166. package/dist/components/ui/borrowing-capacity-card.js +835 -0
  167. package/dist/components/ui/borrowing-capacity-card.mjs +89 -0
  168. package/dist/components/ui/borrowing-capacity-line-chart.mjs +4 -4
  169. package/dist/components/ui/broker-info-panel.js +281 -0
  170. package/dist/components/ui/broker-info-panel.mjs +59 -0
  171. package/dist/components/ui/calculator-input-item.js +101 -0
  172. package/dist/components/ui/calculator-input-item.mjs +8 -0
  173. package/dist/components/ui/calculator-section.js +743 -0
  174. package/dist/components/ui/calculator-section.mjs +220 -0
  175. package/dist/components/ui/calendar.mjs +2 -2
  176. package/dist/components/ui/cash-balance-line-chart.mjs +5 -5
  177. package/dist/components/ui/cashflow-bar-chart.mjs +4 -4
  178. package/dist/components/ui/category-edit-dialog.js +737 -0
  179. package/dist/components/ui/category-edit-dialog.mjs +16 -0
  180. package/dist/components/ui/chat-widget.mjs +3 -3
  181. package/dist/components/ui/color-picker.mjs +4 -4
  182. package/dist/components/ui/connect-bank-step.js +511 -0
  183. package/dist/components/ui/connect-bank-step.mjs +287 -0
  184. package/dist/components/ui/contact-alert-dialog.js +1405 -0
  185. package/dist/components/ui/contact-alert-dialog.mjs +27 -0
  186. package/dist/components/ui/create-contact-modal.js +1028 -0
  187. package/dist/components/ui/create-contact-modal.mjs +21 -0
  188. package/dist/components/ui/csv-import-modal.js +583 -0
  189. package/dist/components/ui/csv-import-modal.mjs +14 -0
  190. package/dist/components/ui/currency-input.js +439 -0
  191. package/dist/components/ui/currency-input.mjs +13 -0
  192. package/dist/components/ui/dashboard-expense-categories.js +355 -0
  193. package/dist/components/ui/dashboard-expense-categories.mjs +186 -0
  194. package/dist/components/ui/dashboard-transactions-table.js +1083 -0
  195. package/dist/components/ui/dashboard-transactions-table.mjs +177 -0
  196. package/dist/components/ui/data-table.mjs +6 -6
  197. package/dist/components/ui/date-picker.mjs +6 -6
  198. package/dist/components/ui/debt-accordion.js +523 -0
  199. package/dist/components/ui/debt-accordion.mjs +219 -0
  200. package/dist/components/ui/delete-contact-component.js +479 -0
  201. package/dist/components/ui/delete-contact-component.mjs +14 -0
  202. package/dist/components/ui/dialog.js +1 -1
  203. package/dist/components/ui/dialog.mjs +3 -3
  204. package/dist/components/ui/document-checklist-template.mjs +4 -4
  205. package/dist/components/ui/drawer.mjs +3 -3
  206. package/dist/components/ui/dropdown-menu.mjs +3 -3
  207. package/dist/components/ui/dynamic-tabs.js +274 -0
  208. package/dist/components/ui/dynamic-tabs.mjs +116 -0
  209. package/dist/components/ui/editable-money-item.js +306 -0
  210. package/dist/components/ui/editable-money-item.mjs +12 -0
  211. package/dist/components/ui/expense-bar-chart.mjs +4 -4
  212. package/dist/components/ui/expense-detail-item.js +506 -0
  213. package/dist/components/ui/expense-detail-item.mjs +15 -0
  214. package/dist/components/ui/expense-work-details.js +1259 -0
  215. package/dist/components/ui/expense-work-details.mjs +175 -0
  216. package/dist/components/ui/field.mjs +2 -2
  217. package/dist/components/ui/file-preview-dialog.js +704 -0
  218. package/dist/components/ui/file-preview-dialog.mjs +17 -0
  219. package/dist/components/ui/financial-cards.mjs +2 -2
  220. package/dist/components/ui/financial-drawers.js +1 -1
  221. package/dist/components/ui/financial-drawers.mjs +5 -5
  222. package/dist/components/ui/financial-sections.mjs +4 -4
  223. package/dist/components/ui/form-primitives.mjs +2 -2
  224. package/dist/components/ui/frontend-signup-steps.js +1239 -0
  225. package/dist/components/ui/frontend-signup-steps.mjs +38 -0
  226. package/dist/components/ui/income-bar-chart.mjs +4 -4
  227. package/dist/components/ui/income-sources-card.js +269 -0
  228. package/dist/components/ui/income-sources-card.mjs +100 -0
  229. package/dist/components/ui/income-summary-component.js +361 -0
  230. package/dist/components/ui/income-summary-component.mjs +84 -0
  231. package/dist/components/ui/income-work-details.js +1663 -0
  232. package/dist/components/ui/income-work-details.mjs +28 -0
  233. package/dist/components/ui/incoming-outgoings-card.js +218 -0
  234. package/dist/components/ui/incoming-outgoings-card.mjs +82 -0
  235. package/dist/components/ui/interest-rate-input.js +442 -0
  236. package/dist/components/ui/interest-rate-input.mjs +90 -0
  237. package/dist/components/ui/interest-rate-section.js +337 -0
  238. package/dist/components/ui/interest-rate-section.mjs +84 -0
  239. package/dist/components/ui/interest-rate-used.js +202 -0
  240. package/dist/components/ui/interest-rate-used.mjs +62 -0
  241. package/dist/components/ui/kanban-column.js +338 -160
  242. package/dist/components/ui/kanban-column.mjs +13 -11
  243. package/dist/components/ui/loan-applicant-information.js +336 -0
  244. package/dist/components/ui/loan-applicant-information.mjs +59 -0
  245. package/dist/components/ui/loan-applicant-invite.js +319 -0
  246. package/dist/components/ui/loan-applicant-invite.mjs +68 -0
  247. package/dist/components/ui/loan-application-badge.js +236 -0
  248. package/dist/components/ui/loan-application-badge.mjs +10 -0
  249. package/dist/components/ui/loan-application-cards.js +356 -0
  250. package/dist/components/ui/loan-application-cards.mjs +110 -0
  251. package/dist/components/ui/loan-entry-shell.js +104 -0
  252. package/dist/components/ui/loan-entry-shell.mjs +8 -0
  253. package/dist/components/ui/loan-financials.js +410 -0
  254. package/dist/components/ui/loan-financials.mjs +76 -0
  255. package/dist/components/ui/loan-option-card.js +102 -0
  256. package/dist/components/ui/loan-option-card.mjs +41 -0
  257. package/dist/components/ui/loan-option-group.js +288 -0
  258. package/dist/components/ui/loan-option-group.mjs +10 -0
  259. package/dist/components/ui/loan-steps.js +1121 -0
  260. package/dist/components/ui/loan-steps.mjs +509 -0
  261. package/dist/components/ui/loan-wizard-shell.js +452 -0
  262. package/dist/components/ui/loan-wizard-shell.mjs +11 -0
  263. package/dist/components/ui/money-input-with-slider.js +210 -0
  264. package/dist/components/ui/money-input-with-slider.mjs +10 -0
  265. package/dist/components/ui/money-item-with-color-indicator.js +314 -0
  266. package/dist/components/ui/money-item-with-color-indicator.mjs +20 -0
  267. package/dist/components/ui/opportunity-card.js +235 -97
  268. package/dist/components/ui/opportunity-card.mjs +11 -9
  269. package/dist/components/ui/opportunity-edit-modals.js +1 -1
  270. package/dist/components/ui/opportunity-edit-modals.mjs +15 -15
  271. package/dist/components/ui/opportunity-summary-tab.js +1 -1
  272. package/dist/components/ui/opportunity-summary-tab.mjs +19 -19
  273. package/dist/components/ui/pagination.mjs +4 -4
  274. package/dist/components/ui/password-strength-tooltip.mjs +4 -4
  275. package/dist/components/ui/pipeline-board.js +358 -176
  276. package/dist/components/ui/pipeline-board.mjs +16 -14
  277. package/dist/components/ui/pipeline-chart.mjs +3 -3
  278. package/dist/components/ui/pipeline-dialogs.js +1 -1
  279. package/dist/components/ui/pipeline-dialogs.mjs +9 -9
  280. package/dist/components/ui/pipeline-primitives.js +75 -8
  281. package/dist/components/ui/pipeline-primitives.mjs +3 -2
  282. package/dist/components/ui/popover.mjs +3 -3
  283. package/dist/components/ui/property-asset-card.js +428 -0
  284. package/dist/components/ui/property-asset-card.mjs +156 -0
  285. package/dist/components/ui/property-cashflow-doughnut-chart.mjs +4 -4
  286. package/dist/components/ui/property-debt-equity-doughnut-chart.mjs +4 -4
  287. package/dist/components/ui/property-list-carousel.js +295 -0
  288. package/dist/components/ui/property-list-carousel.mjs +11 -0
  289. package/dist/components/ui/property-mobile-estimate-line-chart.mjs +4 -4
  290. package/dist/components/ui/property-report-dialog.js +1148 -0
  291. package/dist/components/ui/property-report-dialog.mjs +25 -0
  292. package/dist/components/ui/resource-center.js +748 -0
  293. package/dist/components/ui/resource-center.mjs +24 -0
  294. package/dist/components/ui/review-alerts-dialog.js +569 -0
  295. package/dist/components/ui/review-alerts-dialog.mjs +15 -0
  296. package/dist/components/ui/savings-goal-modal.js +1148 -0
  297. package/dist/components/ui/savings-goal-modal.mjs +160 -0
  298. package/dist/components/ui/scenario-drawer.js +791 -0
  299. package/dist/components/ui/scenario-drawer.mjs +294 -0
  300. package/dist/components/ui/scenario-item.js +256 -0
  301. package/dist/components/ui/scenario-item.mjs +11 -0
  302. package/dist/components/ui/scenario-list.js +507 -0
  303. package/dist/components/ui/scenario-list.mjs +100 -0
  304. package/dist/components/ui/select.mjs +3 -3
  305. package/dist/components/ui/share-details-dialog.js +636 -0
  306. package/dist/components/ui/share-details-dialog.mjs +19 -0
  307. package/dist/components/ui/sheet.mjs +3 -3
  308. package/dist/components/ui/sidebar-nav.mjs +5 -5
  309. package/dist/components/ui/signup-form-primitives.js +770 -0
  310. package/dist/components/ui/signup-form-primitives.mjs +25 -0
  311. package/dist/components/ui/signup-shell.js +338 -0
  312. package/dist/components/ui/signup-shell.mjs +13 -0
  313. package/dist/components/ui/stage-timeline.js +103 -33
  314. package/dist/components/ui/stage-timeline.mjs +5 -4
  315. package/dist/components/ui/submission-confirmation-card.js +284 -0
  316. package/dist/components/ui/submission-confirmation-card.mjs +62 -0
  317. package/dist/components/ui/tooltip.mjs +3 -3
  318. package/dist/components/ui/top-three-product.js +374 -0
  319. package/dist/components/ui/top-three-product.mjs +129 -0
  320. package/dist/components/ui/transactions-expense-categories-doughnut-chart.mjs +4 -4
  321. package/dist/components/ui/transactions-income-expense-bar-chart.mjs +5 -5
  322. package/dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs +4 -4
  323. package/dist/components/ui/transactions-summary-block.js +95 -0
  324. package/dist/components/ui/transactions-summary-block.mjs +34 -0
  325. package/dist/components/ui/two-fa-setup-form.mjs +3 -3
  326. package/dist/index.js +9430 -4573
  327. package/dist/index.mjs +404 -251
  328. package/dist/lib/colors.js +6 -0
  329. package/dist/lib/colors.mjs +3 -1
  330. package/dist/lib/theme-provider.mjs +2 -2
  331. package/dist/styles.css +1 -1
  332. package/package.json +366 -2
  333. package/src/components/index.tsx +223 -0
  334. package/src/components/ui/about-you-form.tsx +397 -0
  335. package/src/components/ui/account-list-carousel.tsx +87 -0
  336. package/src/components/ui/add-lead-modal.tsx +1 -1
  337. package/src/components/ui/agent-evaluation-toast.tsx +191 -0
  338. package/src/components/ui/ai-builder.tsx +3 -5
  339. package/src/components/ui/ai-conversations.tsx +1 -1
  340. package/src/components/ui/applicant-document-checklist.tsx +175 -0
  341. package/src/components/ui/applicant-expenses-section.tsx +260 -0
  342. package/src/components/ui/applicant-navigation-bar.tsx +104 -0
  343. package/src/components/ui/applicant-switcher.tsx +54 -0
  344. package/src/components/ui/application-mobile-layout.tsx +34 -0
  345. package/src/components/ui/appointment-availability-settings.tsx +115 -23
  346. package/src/components/ui/appointment-book-dialog.tsx +406 -259
  347. package/src/components/ui/appointment-calendar-view.tsx +4 -1
  348. package/src/components/ui/appointment-detail-sheet.tsx +59 -24
  349. package/src/components/ui/appointment-time-slot-picker.tsx +5 -1
  350. package/src/components/ui/asset-accordion.tsx +241 -0
  351. package/src/components/ui/assets-liabilities-side-card.tsx +157 -0
  352. package/src/components/ui/auth-page-layout.tsx +3 -3
  353. package/src/components/ui/backoffice-alert-matching-chart.tsx +320 -0
  354. package/src/components/ui/backoffice-contact-matching-chart.tsx +341 -0
  355. package/src/components/ui/backoffice-signup-steps.tsx +615 -0
  356. package/src/components/ui/bank-statement-document-table.tsx +222 -0
  357. package/src/components/ui/bank-statement-generate-dialog.tsx +435 -0
  358. package/src/components/ui/bank-statement-pdf-viewer.tsx +241 -0
  359. package/src/components/ui/banking-accounts-connect.tsx +187 -0
  360. package/src/components/ui/borrowing-capacity-atoms.tsx +228 -0
  361. package/src/components/ui/borrowing-capacity-card.tsx +155 -0
  362. package/src/components/ui/broker-info-panel.tsx +94 -0
  363. package/src/components/ui/calculator-input-item.tsx +49 -0
  364. package/src/components/ui/calculator-section.tsx +275 -0
  365. package/src/components/ui/category-edit-dialog.tsx +300 -0
  366. package/src/components/ui/connect-bank-step.tsx +379 -0
  367. package/src/components/ui/contact-alert-dialog.tsx +710 -0
  368. package/src/components/ui/create-contact-modal.tsx +237 -0
  369. package/src/components/ui/csv-import-modal.tsx +153 -0
  370. package/src/components/ui/currency-input.tsx +104 -0
  371. package/src/components/ui/dashboard-expense-categories.tsx +262 -0
  372. package/src/components/ui/dashboard-transactions-table.tsx +241 -0
  373. package/src/components/ui/debt-accordion.tsx +254 -0
  374. package/src/components/ui/delete-contact-component.tsx +87 -0
  375. package/src/components/ui/dialog.tsx +2 -2
  376. package/src/components/ui/dynamic-tabs.tsx +149 -0
  377. package/src/components/ui/editable-money-item.tsx +176 -0
  378. package/src/components/ui/expense-detail-item.tsx +216 -0
  379. package/src/components/ui/expense-work-details.tsx +229 -0
  380. package/src/components/ui/file-preview-dialog.tsx +292 -0
  381. package/src/components/ui/financial-drawers.tsx +1 -1
  382. package/src/components/ui/frontend-signup-steps.tsx +548 -0
  383. package/src/components/ui/income-sources-card.tsx +143 -0
  384. package/src/components/ui/income-summary-component.tsx +120 -0
  385. package/src/components/ui/income-work-details.tsx +429 -0
  386. package/src/components/ui/incoming-outgoings-card.tsx +111 -0
  387. package/src/components/ui/interest-rate-input.tsx +111 -0
  388. package/src/components/ui/interest-rate-section.tsx +158 -0
  389. package/src/components/ui/interest-rate-used.tsx +82 -0
  390. package/src/components/ui/kanban-column.tsx +53 -2
  391. package/src/components/ui/loan-applicant-information.tsx +64 -0
  392. package/src/components/ui/loan-applicant-invite.tsx +67 -0
  393. package/src/components/ui/loan-application-badge.tsx +70 -0
  394. package/src/components/ui/loan-application-cards.tsx +152 -0
  395. package/src/components/ui/loan-entry-shell.tsx +86 -0
  396. package/src/components/ui/loan-financials.tsx +77 -0
  397. package/src/components/ui/loan-option-card.tsx +62 -0
  398. package/src/components/ui/loan-option-group.tsx +106 -0
  399. package/src/components/ui/loan-steps.tsx +630 -0
  400. package/src/components/ui/loan-wizard-shell.tsx +235 -0
  401. package/src/components/ui/money-input-with-slider.tsx +77 -0
  402. package/src/components/ui/money-item-with-color-indicator.tsx +30 -0
  403. package/src/components/ui/opportunity-card.tsx +46 -18
  404. package/src/components/ui/pipeline-board.tsx +13 -0
  405. package/src/components/ui/pipeline-primitives.tsx +28 -0
  406. package/src/components/ui/property-asset-card.tsx +221 -0
  407. package/src/components/ui/property-list-carousel.tsx +73 -0
  408. package/src/components/ui/property-report-dialog.tsx +355 -0
  409. package/src/components/ui/resource-center.tsx +539 -0
  410. package/src/components/ui/review-alerts-dialog.tsx +163 -0
  411. package/src/components/ui/savings-goal-modal.tsx +169 -0
  412. package/src/components/ui/scenario-drawer.tsx +358 -0
  413. package/src/components/ui/scenario-item.tsx +141 -0
  414. package/src/components/ui/scenario-list.tsx +150 -0
  415. package/src/components/ui/share-details-dialog.tsx +238 -0
  416. package/src/components/ui/signup-form-primitives.tsx +212 -0
  417. package/src/components/ui/signup-shell.tsx +180 -0
  418. package/src/components/ui/stage-timeline.tsx +11 -0
  419. package/src/components/ui/submission-confirmation-card.tsx +68 -0
  420. package/src/components/ui/top-three-product.tsx +207 -0
  421. package/src/components/ui/transactions-summary-block.tsx +59 -0
  422. package/src/lib/colors.ts +12 -0
  423. package/src/lib/format-date.ts +2 -2
  424. package/src/styles/styles-css.ts +1 -1
  425. package/tsup.config.ts +77 -1
  426. package/dist/{chunk-5VOTTIXF.mjs → chunk-FRT3S72S.mjs} +3 -3
  427. package/dist/{chunk-7BTFGCFC.mjs → chunk-MUV4EGDW.mjs} +3 -3
  428. package/dist/{chunk-57ZXILTS.mjs → chunk-MXP2RX2V.mjs} +3 -3
  429. package/dist/{chunk-ZKWXDQDG.mjs → chunk-VCDGLN25.mjs} +3 -3
  430. package/dist/{chunk-FLL633WS.mjs → chunk-ZXEUBBHJ.mjs} +3 -3
@@ -0,0 +1,25 @@
1
+ import {
2
+ FormField,
3
+ PasswordField,
4
+ SectionHeading,
5
+ StaffRowItem
6
+ } from "../../chunk-TXUBGKB7.mjs";
7
+ import "../../chunk-F4O2YPXJ.mjs";
8
+ import "../../chunk-MUV4EGDW.mjs";
9
+ import "../../chunk-TAX3KL66.mjs";
10
+ import "../../chunk-2GIYVERS.mjs";
11
+ import "../../chunk-C6SWS7OW.mjs";
12
+ import "../../chunk-P7CEBZM6.mjs";
13
+ import "../../chunk-LBTHZSBT.mjs";
14
+ import "../../chunk-WDTXHLYM.mjs";
15
+ import "../../chunk-S4CTM3UE.mjs";
16
+ import "../../chunk-NOOEKOWY.mjs";
17
+ import "../../chunk-R4HCRDU5.mjs";
18
+ import "../../chunk-AFML43VJ.mjs";
19
+ import "../../chunk-WNQUEZJF.mjs";
20
+ export {
21
+ FormField,
22
+ PasswordField,
23
+ SectionHeading,
24
+ StaffRowItem
25
+ };
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/ui/signup-shell.tsx
31
+ var signup_shell_exports = {};
32
+ __export(signup_shell_exports, {
33
+ FrontendShell: () => FrontendShell,
34
+ SignupShell: () => SignupShell,
35
+ SignupVideoPanel: () => SignupVideoPanel
36
+ });
37
+ module.exports = __toCommonJS(signup_shell_exports);
38
+
39
+ // src/components/ui/stepper.tsx
40
+ var React = __toESM(require("react"));
41
+ var import_lucide_react = require("lucide-react");
42
+
43
+ // src/lib/utils.ts
44
+ var import_clsx = require("clsx");
45
+ var import_tailwind_merge = require("tailwind-merge");
46
+ var twMerge = (0, import_tailwind_merge.extendTailwindMerge)({
47
+ extend: {
48
+ classGroups: {
49
+ "font-size": [
50
+ {
51
+ text: [
52
+ "display-large",
53
+ "display-medium",
54
+ "display-small",
55
+ "h1",
56
+ "h2",
57
+ "h3",
58
+ "h4",
59
+ "h5",
60
+ "h6",
61
+ "body-large",
62
+ "body-medium",
63
+ "body-small",
64
+ "label-large",
65
+ "label-medium",
66
+ "label-small",
67
+ "button",
68
+ "button-xs",
69
+ "caption",
70
+ "overline",
71
+ "code"
72
+ ]
73
+ }
74
+ ]
75
+ }
76
+ }
77
+ });
78
+ function cn(...inputs) {
79
+ return twMerge((0, import_clsx.clsx)(inputs));
80
+ }
81
+
82
+ // src/components/ui/stepper.tsx
83
+ var import_jsx_runtime = require("react/jsx-runtime");
84
+ var StepperContext = React.createContext({
85
+ activeStep: 0,
86
+ orientation: "horizontal",
87
+ totalSteps: 0
88
+ });
89
+ var StepContext = React.createContext({
90
+ index: 0,
91
+ isActive: false,
92
+ isCompleted: false,
93
+ isFirst: true,
94
+ isLast: false
95
+ });
96
+ function Stepper({
97
+ activeStep = 0,
98
+ orientation = "horizontal",
99
+ className,
100
+ children
101
+ }) {
102
+ const totalSteps = React.Children.count(children);
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepperContext.Provider, { value: { activeStep, orientation, totalSteps }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
+ "div",
105
+ {
106
+ "data-slot": "stepper",
107
+ className: cn(
108
+ "font-sans",
109
+ orientation === "horizontal" ? "flex w-full items-start" : "flex flex-col",
110
+ className
111
+ ),
112
+ children: React.Children.map(
113
+ children,
114
+ (step, index) => React.isValidElement(step) ? React.cloneElement(
115
+ step,
116
+ { _index: index }
117
+ ) : step
118
+ )
119
+ }
120
+ ) });
121
+ }
122
+ function Step({ _index = 0, error, className, children }) {
123
+ const { activeStep, orientation, totalSteps } = React.useContext(StepperContext);
124
+ const isActive = _index === activeStep;
125
+ const isCompleted = _index < activeStep;
126
+ const isFirst = _index === 0;
127
+ const isLast = _index === totalSteps - 1;
128
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
129
+ StepContext.Provider,
130
+ {
131
+ value: { index: _index, isActive, isCompleted, isFirst, isLast },
132
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
133
+ "div",
134
+ {
135
+ "data-slot": "step",
136
+ "aria-current": isActive ? "step" : void 0,
137
+ "data-active": isActive || void 0,
138
+ "data-completed": isCompleted || void 0,
139
+ "data-error": error || void 0,
140
+ className: cn(
141
+ orientation === "horizontal" ? "flex flex-1 flex-col items-center" : "flex flex-row gap-3",
142
+ className
143
+ ),
144
+ children
145
+ }
146
+ )
147
+ }
148
+ );
149
+ }
150
+ function StepIndicator({ error, className }) {
151
+ const { orientation } = React.useContext(StepperContext);
152
+ const { index, isActive, isCompleted, isFirst, isLast } = React.useContext(StepContext);
153
+ const filled = isActive || isCompleted;
154
+ const circle = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
155
+ "div",
156
+ {
157
+ className: cn(
158
+ "relative z-10 flex size-8 shrink-0 items-center justify-center rounded-full text-sm font-medium transition-colors",
159
+ !filled && !error && "border-2 border-border bg-background text-muted-foreground",
160
+ isActive && !error && "border-2 border-primary bg-primary text-primary-foreground",
161
+ isCompleted && !error && "bg-primary text-primary-foreground",
162
+ error && "border-2 border-destructive bg-destructive text-destructive-foreground"
163
+ ),
164
+ children: isCompleted && !error ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.Check, { className: "size-4", strokeWidth: 2.5 }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: index + 1 })
165
+ }
166
+ );
167
+ if (orientation === "horizontal") {
168
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
169
+ "div",
170
+ {
171
+ "data-slot": "step-indicator",
172
+ className: cn("flex w-full items-center", className),
173
+ children: [
174
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
175
+ "div",
176
+ {
177
+ className: cn(
178
+ "h-[2px] flex-1 transition-colors",
179
+ isFirst ? "bg-transparent" : isActive || isCompleted ? "bg-primary" : "bg-border"
180
+ )
181
+ }
182
+ ),
183
+ circle,
184
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
185
+ "div",
186
+ {
187
+ className: cn(
188
+ "h-[2px] flex-1 transition-colors",
189
+ isLast ? "bg-transparent" : isCompleted ? "bg-primary" : "bg-border"
190
+ )
191
+ }
192
+ )
193
+ ]
194
+ }
195
+ );
196
+ }
197
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
198
+ "div",
199
+ {
200
+ "data-slot": "step-indicator",
201
+ className: cn("flex w-8 shrink-0 flex-col items-center", className),
202
+ children: [
203
+ circle,
204
+ !isLast && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
205
+ "div",
206
+ {
207
+ "data-slot": "step-connector",
208
+ className: cn(
209
+ "mt-1 w-[2px] flex-1 transition-colors",
210
+ isActive || isCompleted ? "bg-primary" : "bg-border"
211
+ )
212
+ }
213
+ )
214
+ ]
215
+ }
216
+ );
217
+ }
218
+ function StepLabel({
219
+ children,
220
+ description,
221
+ error,
222
+ className
223
+ }) {
224
+ const { orientation } = React.useContext(StepperContext);
225
+ const { isActive, isCompleted, isLast } = React.useContext(StepContext);
226
+ const subtext = typeof error === "string" ? error : description;
227
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
228
+ "div",
229
+ {
230
+ "data-slot": "step-label",
231
+ className: cn(
232
+ "flex flex-col",
233
+ orientation === "horizontal" ? "mt-2 items-center text-center" : cn("flex-1", !isLast && "pb-5"),
234
+ className
235
+ ),
236
+ children: [
237
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
238
+ "span",
239
+ {
240
+ className: cn(
241
+ "text-sm font-medium leading-tight transition-colors",
242
+ (isActive || isCompleted) && !error && "text-foreground",
243
+ !isActive && !isCompleted && !error && "text-muted-foreground",
244
+ error && "text-destructive"
245
+ ),
246
+ children
247
+ }
248
+ ),
249
+ subtext && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
250
+ "span",
251
+ {
252
+ className: cn(
253
+ "mt-0.5 text-xs",
254
+ error ? "text-destructive" : "text-muted-foreground"
255
+ ),
256
+ children: subtext
257
+ }
258
+ )
259
+ ]
260
+ }
261
+ );
262
+ }
263
+ function StepItem({ label, description, error }) {
264
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
265
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepIndicator, { error: !!error }),
266
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StepLabel, { description, error, children: label })
267
+ ] });
268
+ }
269
+
270
+ // src/components/ui/signup-shell.tsx
271
+ var import_jsx_runtime2 = require("react/jsx-runtime");
272
+ var DEFAULT_VIDEO_SRC = "https://d1rndq5v7rs3ry.cloudfront.net/padua-landing-video.mp4";
273
+ function SignupVideoPanel({
274
+ videoSrc = DEFAULT_VIDEO_SRC
275
+ }) {
276
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "hidden @md:block relative bg-neutral-900 overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
277
+ "video",
278
+ {
279
+ autoPlay: true,
280
+ muted: true,
281
+ loop: true,
282
+ playsInline: true,
283
+ className: "absolute inset-0 w-full h-full object-cover",
284
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("source", { src: videoSrc, type: "video/mp4" })
285
+ }
286
+ ) });
287
+ }
288
+ function SignupShell({
289
+ steps,
290
+ step,
291
+ children,
292
+ footer,
293
+ videoSrc,
294
+ title = "Sign Up"
295
+ }) {
296
+ const isSuccess = step >= steps.length;
297
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "@md:grid @md:grid-cols-2 h-screen overflow-hidden", children: [
298
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SignupVideoPanel, { videoSrc }),
299
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex flex-col h-full overflow-hidden", children: isSuccess ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 overflow-y-auto min-h-0 flex items-center justify-center", children }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
300
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 overflow-y-auto min-h-0", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex min-h-full justify-center px-4 py-6 @sm:px-10 @sm:py-10", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "w-full max-w-[560px] flex flex-col gap-8", children: [
301
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h1", { className: "text-3xl font-bold text-foreground text-center", children: title }),
302
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Stepper, { activeStep: step, className: "w-full", children: steps.map((label) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Step, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StepItem, { label }) }, label)) }),
303
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h2", { className: "text-2xl font-bold text-foreground", children: steps[step] }),
304
+ children
305
+ ] }) }) }),
306
+ footer && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "shrink-0 border-t border-border bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "w-full max-w-[560px] mx-auto px-0 py-4 flex justify-between", children: footer }) })
307
+ ] }) })
308
+ ] });
309
+ }
310
+ function FrontendShell({
311
+ steps,
312
+ stepIndex,
313
+ children,
314
+ footer,
315
+ isSuccess = false,
316
+ videoSrc,
317
+ title = "Create Account"
318
+ }) {
319
+ const hasStepper = stepIndex !== void 0 && steps !== void 0;
320
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "@md:grid @md:grid-cols-2 h-screen overflow-hidden", children: [
321
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(SignupVideoPanel, { videoSrc }),
322
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex flex-col h-full overflow-hidden", children: isSuccess ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 overflow-y-auto min-h-0 flex items-center justify-center", children }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
323
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex-1 overflow-y-auto min-h-0", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "flex min-h-full justify-center px-4 py-6 @sm:px-10 @sm:py-10", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "w-full max-w-[520px] flex flex-col gap-8", children: [
324
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h1", { className: "text-3xl font-bold text-foreground text-center", children: title }),
325
+ hasStepper && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Stepper, { activeStep: stepIndex, className: "w-full", children: steps.map((label) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Step, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(StepItem, { label }) }, label)) }),
326
+ hasStepper && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("h2", { className: "text-2xl font-bold text-foreground", children: steps[stepIndex] }),
327
+ children
328
+ ] }) }) }),
329
+ footer && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "shrink-0 border-t border-border bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "w-full max-w-[520px] mx-auto px-0 py-4 flex justify-between", children: footer }) })
330
+ ] }) })
331
+ ] });
332
+ }
333
+ // Annotate the CommonJS export names for ESM import in node:
334
+ 0 && (module.exports = {
335
+ FrontendShell,
336
+ SignupShell,
337
+ SignupVideoPanel
338
+ });
@@ -0,0 +1,13 @@
1
+ import {
2
+ FrontendShell,
3
+ SignupShell,
4
+ SignupVideoPanel
5
+ } from "../../chunk-UEREFDAE.mjs";
6
+ import "../../chunk-6TX73WG7.mjs";
7
+ import "../../chunk-AFML43VJ.mjs";
8
+ import "../../chunk-WNQUEZJF.mjs";
9
+ export {
10
+ FrontendShell,
11
+ SignupShell,
12
+ SignupVideoPanel
13
+ };
@@ -345,18 +345,65 @@ function Checkbox(_a) {
345
345
  );
346
346
  }
347
347
 
348
- // src/components/ui/pipeline-primitives.tsx
348
+ // src/components/ui/switch.tsx
349
+ var import_react2 = require("react");
350
+ var import_switch = require("@base-ui/react/switch");
349
351
  var import_jsx_runtime5 = require("react/jsx-runtime");
352
+ function Switch(_a) {
353
+ var _b = _a, {
354
+ className,
355
+ size = "default"
356
+ } = _b, props = __objRest(_b, [
357
+ "className",
358
+ "size"
359
+ ]);
360
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
361
+ import_switch.Switch.Root,
362
+ __spreadProps(__spreadValues({
363
+ className: cn(
364
+ "peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none",
365
+ "focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
366
+ "disabled:cursor-not-allowed disabled:opacity-50",
367
+ "data-[size=default]:h-[1.15rem] data-[size=default]:w-8",
368
+ "data-[size=sm]:h-3.5 data-[size=sm]:w-6",
369
+ "data-checked:bg-primary data-unchecked:bg-input",
370
+ "aria-invalid:data-checked:bg-destructive aria-invalid:border-destructive",
371
+ "dark:data-unchecked:bg-input/80",
372
+ className
373
+ ),
374
+ "data-size": size,
375
+ "data-slot": "switch"
376
+ }, props), {
377
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
378
+ import_switch.Switch.Thumb,
379
+ {
380
+ className: cn(
381
+ "pointer-events-none block rounded-full bg-background ring-0 transition-transform",
382
+ "group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3",
383
+ "data-checked:translate-x-[calc(100%-2px)] data-unchecked:translate-x-0",
384
+ "dark:data-checked:bg-primary-foreground dark:data-unchecked:bg-foreground"
385
+ ),
386
+ "data-slot": "switch-thumb"
387
+ }
388
+ )
389
+ })
390
+ );
391
+ }
392
+
393
+ // src/components/ui/pipeline-primitives.tsx
394
+ var import_jsx_runtime6 = require("react/jsx-runtime");
350
395
  function TaskCheckItem({
351
396
  title,
352
397
  completed,
353
398
  aiAgentName,
399
+ autoCompleteEnabled,
400
+ onAutoCompleteToggle,
354
401
  onToggle,
355
402
  disabled = false,
356
403
  size = "xs",
357
404
  className
358
405
  }) {
359
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
406
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
360
407
  "div",
361
408
  {
362
409
  className: cn(
@@ -367,7 +414,7 @@ function TaskCheckItem({
367
414
  onClick: () => onToggle == null ? void 0 : onToggle(),
368
415
  "data-slot": "task-check-item",
369
416
  children: [
370
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { onClick: (e) => e.stopPropagation(), className: "mt-0.5 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
417
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { onClick: (e) => e.stopPropagation(), className: "mt-0.5 shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
371
418
  Checkbox,
372
419
  {
373
420
  checked: completed,
@@ -375,8 +422,8 @@ function TaskCheckItem({
375
422
  disabled
376
423
  }
377
424
  ) }),
378
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
379
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
425
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("span", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
426
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
380
427
  "span",
381
428
  {
382
429
  className: cn(
@@ -387,8 +434,8 @@ function TaskCheckItem({
387
434
  children: title
388
435
  }
389
436
  ),
390
- aiAgentName && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Badge, { variant: "secondary", className: "gap-1 text-[10px]", children: [
391
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
437
+ aiAgentName && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Badge, { variant: "secondary", className: "gap-1 text-[10px]", children: [
438
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
392
439
  "span",
393
440
  {
394
441
  className: "size-1.5 rounded-full bg-primary",
@@ -396,7 +443,27 @@ function TaskCheckItem({
396
443
  }
397
444
  ),
398
445
  aiAgentName
399
- ] })
446
+ ] }),
447
+ aiAgentName && autoCompleteEnabled !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
448
+ "span",
449
+ {
450
+ className: "flex items-center gap-1.5",
451
+ onClick: (e) => e.stopPropagation(),
452
+ children: [
453
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
454
+ Switch,
455
+ {
456
+ checked: autoCompleteEnabled,
457
+ onCheckedChange: () => onAutoCompleteToggle == null ? void 0 : onAutoCompleteToggle(),
458
+ disabled,
459
+ className: "scale-75 origin-left",
460
+ "aria-label": "Allow agent to auto complete"
461
+ }
462
+ ),
463
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "text-[10px] text-muted-foreground", children: "Allow Agent to Auto Complete" })
464
+ ]
465
+ }
466
+ )
400
467
  ] })
401
468
  ]
402
469
  }
@@ -406,7 +473,7 @@ function TaskCheckItem({
406
473
  // src/components/ui/spinner.tsx
407
474
  var import_class_variance_authority2 = require("class-variance-authority");
408
475
  var import_lucide_react3 = require("lucide-react");
409
- var import_jsx_runtime6 = require("react/jsx-runtime");
476
+ var import_jsx_runtime7 = require("react/jsx-runtime");
410
477
  var spinnerVariants = (0, import_class_variance_authority2.cva)("animate-spin shrink-0", {
411
478
  variants: {
412
479
  size: {
@@ -422,7 +489,7 @@ var spinnerVariants = (0, import_class_variance_authority2.cva)("animate-spin sh
422
489
  });
423
490
  function Spinner(_a) {
424
491
  var _b = _a, { className, size } = _b, props = __objRest(_b, ["className", "size"]);
425
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
492
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
426
493
  import_lucide_react3.LoaderCircle,
427
494
  __spreadValues({
428
495
  "aria-hidden": "true",
@@ -433,16 +500,17 @@ function Spinner(_a) {
433
500
  }
434
501
 
435
502
  // src/components/ui/stage-timeline.tsx
436
- var import_jsx_runtime7 = require("react/jsx-runtime");
503
+ var import_jsx_runtime8 = require("react/jsx-runtime");
437
504
  function StageTimeline({
438
505
  stages,
439
506
  onTaskToggle,
507
+ onTaskAutoCompleteToggle,
440
508
  isLoading = false,
441
509
  className
442
510
  }) {
443
511
  var _a, _b;
444
512
  if (isLoading) {
445
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
513
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
446
514
  "div",
447
515
  {
448
516
  className: cn(
@@ -451,14 +519,14 @@ function StageTimeline({
451
519
  ),
452
520
  "data-slot": "stage-timeline",
453
521
  children: [
454
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Spinner, { size: "lg", className: "text-muted-foreground" }),
455
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "text-sm text-muted-foreground", children: "Loading stages\u2026" })
522
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Spinner, { size: "lg", className: "text-muted-foreground" }),
523
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "text-sm text-muted-foreground", children: "Loading stages\u2026" })
456
524
  ]
457
525
  }
458
526
  );
459
527
  }
460
528
  if (stages.length === 0) {
461
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
529
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
462
530
  "div",
463
531
  {
464
532
  className: cn(
@@ -473,25 +541,25 @@ function StageTimeline({
473
541
  const completedCount = stages.filter((s) => s.isCompleted).length;
474
542
  const progressPct = Math.round(completedCount / stages.length * 100);
475
543
  const defaultOpen = (_b = (_a = stages.find((s) => s.isCurrentStage)) == null ? void 0 : _a.id) != null ? _b : stages[0].id;
476
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
544
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
477
545
  "div",
478
546
  {
479
547
  className: cn("flex flex-col gap-4", className),
480
548
  "data-slot": "stage-timeline",
481
549
  children: [
482
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-col gap-2", children: [
483
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
484
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { children: "Stage progress" }),
485
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { children: [
550
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-col gap-2", children: [
551
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex items-center justify-between text-sm text-muted-foreground", children: [
552
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Stage progress" }),
553
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { children: [
486
554
  completedCount,
487
555
  " / ",
488
556
  stages.length,
489
557
  " completed"
490
558
  ] })
491
559
  ] }),
492
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Progress, { value: progressPct, className: "h-2.5" })
560
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Progress, { value: progressPct, className: "h-2.5" })
493
561
  ] }),
494
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
562
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
495
563
  Accordion,
496
564
  {
497
565
  type: "single",
@@ -501,13 +569,13 @@ function StageTimeline({
501
569
  children: stages.map((stage) => {
502
570
  const completedTasks = stage.tasks.filter((t) => t.completed).length;
503
571
  const hasTasks = stage.tasks.length > 0;
504
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
572
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
505
573
  AccordionItem,
506
574
  {
507
575
  value: stage.id,
508
576
  className: "border-b border-border last:border-0",
509
577
  children: [
510
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
578
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
511
579
  AccordionTrigger,
512
580
  {
513
581
  className: cn(
@@ -515,13 +583,13 @@ function StageTimeline({
515
583
  stage.isCompleted ? "text-muted-foreground" : stage.isCurrentStage ? "font-semibold text-foreground" : "font-normal text-muted-foreground"
516
584
  ),
517
585
  disabled: !hasTasks,
518
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "flex items-center gap-2.5", children: [
519
- stage.isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
586
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: "flex items-center gap-2.5", children: [
587
+ stage.isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
520
588
  "span",
521
589
  {
522
590
  className: "flex size-5 shrink-0 items-center justify-center rounded-full bg-primary",
523
591
  "aria-hidden": "true",
524
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
592
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
525
593
  import_lucide_react4.Check,
526
594
  {
527
595
  className: "size-3 text-primary-foreground",
@@ -529,21 +597,21 @@ function StageTimeline({
529
597
  }
530
598
  )
531
599
  }
532
- ) : stage.isCurrentStage ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
600
+ ) : stage.isCurrentStage ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
533
601
  "span",
534
602
  {
535
603
  className: "size-5 shrink-0 rounded-full border-2 border-primary bg-background",
536
604
  "aria-hidden": "true"
537
605
  }
538
- ) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
606
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
539
607
  "span",
540
608
  {
541
609
  className: "size-5 shrink-0 rounded-full border-2 border-muted-foreground/30 bg-background",
542
610
  "aria-hidden": "true"
543
611
  }
544
612
  ),
545
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { className: cn(stage.isCompleted && "line-through"), children: stage.name }),
546
- hasTasks && /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
613
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { className: cn(stage.isCompleted && "line-through"), children: stage.name }),
614
+ hasTasks && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
547
615
  completedTasks,
548
616
  "/",
549
617
  stage.tasks.length
@@ -551,14 +619,16 @@ function StageTimeline({
551
619
  ] })
552
620
  }
553
621
  ),
554
- hasTasks && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(AccordionContent, { className: "p-0 pb-3 pl-8", children: stage.tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
622
+ hasTasks && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionContent, { className: "p-0 pb-3 pl-8", children: stage.tasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
555
623
  TaskCheckItem,
556
624
  {
557
625
  title: task.title,
558
626
  completed: task.completed,
559
627
  aiAgentName: task.aiAgentName,
628
+ autoCompleteEnabled: task.autoCompleteEnabled,
560
629
  size: "sm",
561
- onToggle: onTaskToggle ? () => onTaskToggle(stage.id, task.id) : void 0
630
+ onToggle: onTaskToggle ? () => onTaskToggle(stage.id, task.id) : void 0,
631
+ onAutoCompleteToggle: onTaskAutoCompleteToggle ? () => onTaskAutoCompleteToggle(stage.id, task.id) : void 0
562
632
  },
563
633
  task.id
564
634
  )) })