@wealthx/shadcn 1.5.23 → 1.5.24

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.
@@ -14,7 +14,7 @@ npm warn Unknown project config "auto-install-peers". This will stop working in
14
14
  npm warn Unknown project config "public-hoist-pattern". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
15
15
  ≈ tailwindcss v4.2.2
16
16
 
17
- Done in 354ms
17
+ Done in 349ms
18
18
  Built dist/styles.css and src/styles/styles-css.ts
19
19
  warning package.json: No license field
20
20
  $ tsup
@@ -56,9 +56,6 @@ $ tsup
56
56
  ESM dist/chunk-RVDBYV2B.mjs 3.96 KB
57
57
  ESM dist/chunk-KFH36NKF.mjs 1.52 KB
58
58
  ESM dist/chunk-FGHM34AV.mjs 5.31 KB
59
- ESM dist/chunk-PCULNQWA.mjs 3.99 KB
60
- ESM dist/chunk-ETT5JAXF.mjs 7.43 KB
61
- ESM dist/chunk-65PZNG4Y.mjs 4.74 KB
62
59
  ESM dist/chunk-TCE5L44O.mjs 6.13 KB
63
60
  ESM dist/chunk-2SDEURIQ.mjs 36.68 KB
64
61
  ESM dist/chunk-JGUC3KCA.mjs 78.04 KB
@@ -71,6 +68,9 @@ $ tsup
71
68
  ESM dist/chunk-EXI64H46.mjs 2.76 KB
72
69
  ESM dist/chunk-K4VWSDJJ.mjs 1.13 KB
73
70
  ESM dist/chunk-NXZ2F4JA.mjs 11.80 KB
71
+ ESM dist/chunk-PCULNQWA.mjs 3.99 KB
72
+ ESM dist/chunk-ETT5JAXF.mjs 7.43 KB
73
+ ESM dist/chunk-65PZNG4Y.mjs 4.74 KB
74
74
  ESM dist/chunk-67DGIPQ4.mjs 2.09 KB
75
75
  ESM dist/chunk-PSBQ4I3M.mjs 7.46 KB
76
76
  ESM dist/chunk-EHQL64B7.mjs 14.00 KB
@@ -95,6 +95,7 @@ $ tsup
95
95
  ESM dist/chunk-KJQ3BVTB.mjs 19.59 KB
96
96
  ESM dist/chunk-FQYFPHDO.mjs 7.55 KB
97
97
  ESM dist/chunk-MPA2HV5U.mjs 1.63 KB
98
+ ESM dist/chunk-UTCW5YUX.mjs 8.41 KB
98
99
  ESM dist/chunk-BAONSY54.mjs 7.81 KB
99
100
  ESM dist/chunk-ZFKAYRFQ.mjs 8.57 KB
100
101
  ESM dist/chunk-3S4XQTAL.mjs 22.25 KB
@@ -121,7 +122,6 @@ $ tsup
121
122
  ESM dist/chunk-ISUA7DSB.mjs 2.08 KB
122
123
  ESM dist/chunk-V23CBULF.mjs 14.13 KB
123
124
  ESM dist/chunk-ONYADWSO.mjs 13.26 KB
124
- ESM dist/chunk-UTCW5YUX.mjs 8.41 KB
125
125
  ESM dist/chunk-7TMPOZDE.mjs 5.64 KB
126
126
  ESM dist/chunk-4Z66LMIQ.mjs 2.41 KB
127
127
  ESM dist/chunk-WIDZVCH3.mjs 20.71 KB
@@ -145,11 +145,10 @@ $ tsup
145
145
  ESM dist/chunk-INGYBZGU.mjs 15.81 KB
146
146
  ESM dist/chunk-3VDET466.mjs 2.46 KB
147
147
  ESM dist/chunk-PNSYFE3K.mjs 3.80 KB
148
- ESM dist/chunk-K4GJTP6N.mjs 60.44 KB
148
+ ESM dist/chunk-RYGZRDP6.mjs 61.37 KB
149
149
  ESM dist/chunk-3S6KVFF5.mjs 2.37 KB
150
150
  ESM dist/chunk-WE4YKBDE.mjs 4.01 KB
151
151
  ESM dist/chunk-H5DTKPJ2.mjs 9.03 KB
152
- ESM dist/chunk-2GIYVERS.mjs 840.00 B
153
152
  ESM dist/chunk-BS75ICOO.mjs 1.00 KB
154
153
  ESM dist/chunk-OIETBBXQ.mjs 6.53 KB
155
154
  ESM dist/chunk-H6NQTIF4.mjs 3.28 KB
@@ -166,6 +165,7 @@ $ tsup
166
165
  ESM dist/chunk-LSRGA5BI.mjs 1.09 KB
167
166
  ESM dist/chunk-OWFQSXVD.mjs 2.45 KB
168
167
  ESM dist/chunk-6QAFGZC2.mjs 1.76 KB
168
+ ESM dist/chunk-HB5BKRMH.mjs 3.07 KB
169
169
  ESM dist/chunk-LBTHZSBT.mjs 1.14 KB
170
170
  ESM dist/chunk-XYSRRDBH.mjs 3.58 KB
171
171
  ESM dist/chunk-FRCTOAKZ.mjs 3.10 KB
@@ -174,39 +174,42 @@ $ tsup
174
174
  ESM dist/chunk-MN5NYQCL.mjs 931.00 B
175
175
  ESM dist/chunk-NOOEKOWY.mjs 3.63 KB
176
176
  ESM dist/chunk-R4HCRDU5.mjs 1.56 KB
177
- ESM dist/chunk-HB5BKRMH.mjs 3.07 KB
178
177
  ESM dist/chunk-AFML43VJ.mjs 988.00 B
179
178
  ESM dist/chunk-WNQUEZJF.mjs 1.85 KB
180
179
  ESM dist/components/ui/contact-alert-dialog/index.mjs 925.00 B
180
+ ESM dist/chunk-2GIYVERS.mjs 840.00 B
181
181
  ESM dist/components/ui/video-background.mjs 162.00 B
182
182
  ESM dist/components/ui/resource-center/index.mjs 803.00 B
183
183
  ESM dist/components/ui/tooltip.mjs 326.00 B
184
184
  ESM dist/components/ui/top-three-product.mjs 5.06 KB
185
185
  ESM dist/components/ui/transactions-expense-categories-doughnut-chart.mjs 531.00 B
186
+ ESM dist/components/ui/transactions-income-expense-bar-chart.mjs 513.00 B
186
187
  ESM dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.mjs 521.00 B
188
+ ESM dist/components/ui/transactions-summary-block.mjs 1.11 KB
189
+ ESM dist/components/ui/two-fa-setup-form.mjs 440.00 B
187
190
  ESM dist/components/ui/upload-card.mjs 196.00 B
188
191
  ESM dist/components/ui/stepper.mjs 276.00 B
189
- ESM dist/components/ui/switch.mjs 172.00 B
190
192
  ESM dist/components/ui/submission-confirmation-card.mjs 1.96 KB
191
- ESM dist/components/ui/tabs.mjs 264.00 B
192
- ESM dist/components/ui/toggle-group.mjs 227.00 B
193
+ ESM dist/components/ui/switch.mjs 172.00 B
193
194
  ESM dist/components/ui/table.mjs 336.00 B
195
+ ESM dist/components/ui/tabs.mjs 264.00 B
194
196
  ESM dist/components/ui/textarea.mjs 148.00 B
197
+ ESM dist/components/ui/toggle-group.mjs 227.00 B
195
198
  ESM dist/components/ui/toggle.mjs 180.00 B
196
199
  ESM dist/components/ui/sidebar-nav.mjs 397.00 B
197
200
  ESM dist/components/ui/signup-form-primitives.mjs 637.00 B
198
- ESM dist/components/ui/skeleton.mjs 148.00 B
199
201
  ESM dist/components/ui/signup-shell.mjs 263.00 B
202
+ ESM dist/components/ui/skeleton.mjs 148.00 B
200
203
  ESM dist/components/ui/slider.mjs 144.00 B
201
204
  ESM dist/components/ui/sonner.mjs 111.00 B
202
205
  ESM dist/components/ui/spinner.mjs 184.00 B
203
206
  ESM dist/components/ui/stage-timeline.mjs 438.00 B
204
- ESM dist/components/ui/scenario-item.mjs 261.00 B
205
207
  ESM dist/components/ui/scenario-drawer.mjs 9.64 KB
208
+ ESM dist/components/ui/scenario-item.mjs 261.00 B
206
209
  ESM dist/components/ui/scenario-list.mjs 3.24 KB
210
+ ESM dist/components/ui/select.mjs 586.00 B
207
211
  ESM dist/components/ui/selectable-card.mjs 195.00 B
208
212
  ESM dist/components/ui/separator.mjs 150.00 B
209
- ESM dist/components/ui/select.mjs 586.00 B
210
213
  ESM dist/components/ui/share-details-dialog.mjs 608.00 B
211
214
  ESM dist/components/ui/sheet.mjs 462.00 B
212
215
  ESM dist/components/ui/property-cashflow-doughnut-chart.mjs 505.00 B
@@ -220,12 +223,12 @@ $ tsup
220
223
  ESM dist/components/ui/pipeline-alerts.mjs 160.00 B
221
224
  ESM dist/components/ui/pipeline-board.mjs 893.00 B
222
225
  ESM dist/components/ui/pipeline-chart.mjs 298.00 B
223
- ESM dist/components/ui/pipeline-primitives.mjs 298.00 B
224
226
  ESM dist/components/ui/pipeline-dialogs.mjs 719.00 B
227
+ ESM dist/components/ui/pipeline-primitives.mjs 298.00 B
225
228
  ESM dist/components/ui/popover.mjs 432.00 B
226
229
  ESM dist/components/ui/progress.mjs 148.00 B
227
- ESM dist/components/ui/onboarding-layout.mjs 319.00 B
228
230
  ESM dist/components/ui/property-asset-card.mjs 6.75 KB
231
+ ESM dist/components/ui/onboarding-layout.mjs 319.00 B
229
232
  ESM dist/components/ui/opportunity-card.mjs 676.00 B
230
233
  ESM dist/components/ui/opportunity-edit-modals.mjs 1.06 KB
231
234
  ESM dist/components/ui/opportunity-summary-tab.mjs 1.06 KB
@@ -234,65 +237,62 @@ $ tsup
234
237
  ESM dist/components/ui/pagination.mjs 651.00 B
235
238
  ESM dist/components/ui/password-strength-tooltip.mjs 283.00 B
236
239
  ESM dist/components/ui/loan-entry-shell.mjs 160.00 B
237
- ESM dist/components/ui/loan-option-card.mjs 1.21 KB
238
240
  ESM dist/components/ui/loan-financials.mjs 2.21 KB
241
+ ESM dist/components/ui/loan-option-card.mjs 1.21 KB
239
242
  ESM dist/components/ui/loan-option-group.mjs 232.00 B
240
- ESM dist/components/ui/loan-wizard-shell.mjs 267.00 B
241
243
  ESM dist/components/ui/loan-steps.mjs 15.27 KB
244
+ ESM dist/components/ui/loan-wizard-shell.mjs 267.00 B
242
245
  ESM dist/components/ui/money-input-with-slider.mjs 242.00 B
243
246
  ESM dist/components/ui/money-item-with-color-indicator.mjs 565.00 B
244
247
  ESM dist/components/ui/interest-rate-section.mjs 3.58 KB
245
248
  ESM dist/components/ui/interest-rate-used.mjs 2.02 KB
246
249
  ESM dist/components/ui/kanban-column.mjs 751.00 B
247
- ESM dist/components/ui/loan-applicant-information.mjs 1.98 KB
248
250
  ESM dist/components/ui/label.mjs 142.00 B
249
- ESM dist/components/ui/loan-application-badge.mjs 242.00 B
251
+ ESM dist/components/ui/loan-applicant-information.mjs 1.98 KB
250
252
  ESM dist/components/ui/loan-applicant-invite.mjs 2.00 KB
251
- ESM dist/components/ui/income-summary-component.mjs 3.18 KB
253
+ ESM dist/components/ui/loan-application-badge.mjs 242.00 B
252
254
  ESM dist/components/ui/loan-application-cards.mjs 4.49 KB
255
+ ESM dist/components/ui/income-summary-component.mjs 3.18 KB
253
256
  ESM dist/components/ui/income-work-details.mjs 866.00 B
254
257
  ESM dist/components/ui/incoming-outgoings-card.mjs 2.53 KB
255
258
  ESM dist/components/ui/input-group.mjs 488.00 B
256
259
  ESM dist/components/ui/input-otp.mjs 256.00 B
257
260
  ESM dist/components/ui/input.mjs 142.00 B
258
- ESM dist/components/ui/interest-rate-input.mjs 2.26 KB
259
261
  ESM dist/components/ui/integration-card.mjs 267.00 B
262
+ ESM dist/components/ui/interest-rate-input.mjs 2.26 KB
260
263
  ESM dist/components/ui/financial-cards.mjs 581.00 B
261
- ESM dist/components/ui/transactions-income-expense-bar-chart.mjs 513.00 B
264
+ ESM dist/components/ui/financial-drawers.mjs 471.00 B
262
265
  ESM dist/components/ui/financial-primitives.mjs 508.00 B
263
266
  ESM dist/components/ui/financial-sections.mjs 807.00 B
264
- ESM dist/components/ui/frontend-signup-steps.mjs 1.02 KB
265
267
  ESM dist/components/ui/form-primitives.mjs 467.00 B
266
- ESM dist/components/ui/income-sources-card.mjs 3.89 KB
268
+ ESM dist/components/ui/frontend-signup-steps.mjs 1.02 KB
267
269
  ESM dist/components/ui/income-bar-chart.mjs 475.00 B
268
- ESM dist/components/ui/editable-money-item.mjs 306.00 B
270
+ ESM dist/components/ui/income-sources-card.mjs 3.89 KB
269
271
  ESM dist/components/ui/dynamic-tabs.mjs 4.06 KB
272
+ ESM dist/components/ui/editable-money-item.mjs 306.00 B
270
273
  ESM dist/components/ui/empty.mjs 300.00 B
271
274
  ESM dist/components/ui/expense-bar-chart.mjs 477.00 B
272
275
  ESM dist/components/ui/expense-detail-item.mjs 411.00 B
273
- ESM dist/components/ui/field.mjs 486.00 B
274
276
  ESM dist/components/ui/expense-work-details.mjs 5.99 KB
277
+ ESM dist/components/ui/field.mjs 486.00 B
275
278
  ESM dist/components/ui/file-preview-dialog.mjs 551.00 B
276
279
  ESM dist/components/ui/data-table.mjs 757.00 B
277
- ESM dist/components/ui/transactions-summary-block.mjs 1.11 KB
278
- ESM dist/components/ui/two-fa-setup-form.mjs 440.00 B
279
- ESM dist/components/ui/financial-drawers.mjs 471.00 B
280
280
  ESM dist/components/ui/date-picker.mjs 432.00 B
281
281
  ESM dist/components/ui/debt-accordion.mjs 7.40 KB
282
282
  ESM dist/components/ui/delete-contact-component.mjs 386.00 B
283
- ESM dist/components/ui/document-checklist-template.mjs 427.00 B
284
283
  ESM dist/components/ui/dialog.mjs 584.00 B
284
+ ESM dist/components/ui/document-checklist-template.mjs 427.00 B
285
285
  ESM dist/components/ui/drawer.mjs 514.00 B
286
286
  ESM dist/components/ui/dropdown-menu.mjs 884.00 B
287
287
  ESM dist/components/ui/color-picker.mjs 546.00 B
288
288
  ESM dist/components/ui/combobox.mjs 510.00 B
289
+ ESM dist/components/ui/connect-bank-step.mjs 10.29 KB
289
290
  ESM dist/components/ui/create-contact-modal.mjs 623.00 B
290
291
  ESM dist/components/ui/csv-import-modal.mjs 370.00 B
291
- ESM dist/components/ui/connect-bank-step.mjs 10.29 KB
292
292
  ESM dist/components/ui/currency-input.mjs 333.00 B
293
293
  ESM dist/components/ui/dashboard-expense-categories.mjs 6.88 KB
294
- ESM dist/components/ui/card.mjs 318.00 B
295
294
  ESM dist/components/ui/dashboard-transactions-table.mjs 5.92 KB
295
+ ESM dist/components/ui/card.mjs 318.00 B
296
296
  ESM dist/components/ui/cash-balance-line-chart.mjs 487.00 B
297
297
  ESM dist/components/ui/cashflow-bar-chart.mjs 479.00 B
298
298
  ESM dist/components/ui/category-edit-dialog.mjs 448.00 B
@@ -310,8 +310,8 @@ $ tsup
310
310
  ESM dist/components/ui/calendar.mjs 295.00 B
311
311
  ESM dist/components/ui/backoffice-contact-history-chart.mjs 505.00 B
312
312
  ESM dist/components/ui/backoffice-contact-matching-chart.mjs 577.00 B
313
- ESM dist/components/ui/badge.mjs 211.00 B
314
313
  ESM dist/components/ui/backoffice-signup-steps.mjs 954.00 B
314
+ ESM dist/components/ui/badge.mjs 211.00 B
315
315
  ESM dist/components/ui/bank-statement-document-table.mjs 324.00 B
316
316
  ESM dist/components/ui/bank-statement-generate-dialog.mjs 886.00 B
317
317
  ESM dist/components/ui/bank-statement-pdf-viewer.mjs 386.00 B
@@ -320,23 +320,26 @@ $ tsup
320
320
  ESM dist/components/ui/auth-logo.mjs 148.00 B
321
321
  ESM dist/components/ui/auth-page-layout.mjs 160.00 B
322
322
  ESM dist/components/ui/avatar.mjs 310.00 B
323
- ESM dist/components/ui/backoffice-alert-matching-chart.mjs 573.00 B
324
323
  ESM dist/components/ui/backoffice-alert-history-chart.mjs 501.00 B
325
- ESM dist/components/ui/backoffice-connections-chart.mjs 569.00 B
324
+ ESM dist/components/ui/backoffice-alert-matching-chart.mjs 573.00 B
326
325
  ESM dist/components/ui/backoffice-alerts-chart.mjs 559.00 B
327
- ESM dist/components/ui/appointment-calendar-view.mjs 423.00 B
326
+ ESM dist/components/ui/backoffice-connections-chart.mjs 569.00 B
328
327
  ESM dist/components/ui/appointment-book-dialog.mjs 874.00 B
329
- ESM dist/components/ui/appointment-gmail-connect.mjs 353.00 B
328
+ ESM dist/components/ui/appointment-calendar-view.mjs 423.00 B
330
329
  ESM dist/components/ui/appointment-detail-sheet.mjs 771.00 B
331
- ESM dist/components/ui/appointment-time-slot-picker.mjs 339.00 B
330
+ ESM dist/components/ui/appointment-gmail-connect.mjs 353.00 B
332
331
  ESM dist/components/ui/appointment-mini-card.mjs 275.00 B
332
+ ESM dist/components/ui/appointment-time-slot-picker.mjs 339.00 B
333
333
  ESM dist/components/ui/appointment-upcoming-card.mjs 668.00 B
334
334
  ESM dist/components/ui/asset-accordion.mjs 6.80 KB
335
335
  ESM dist/components/ui/alert.mjs 210.00 B
336
+ ESM dist/components/ui/applicant-document-checklist.mjs 254.00 B
336
337
  ESM dist/components/ui/applicant-expenses-section.mjs 7.22 KB
338
+ ESM dist/components/ui/applicant-navigation-bar.mjs 2.41 KB
339
+ ESM dist/components/ui/applicant-switcher.mjs 1.12 KB
337
340
  ESM dist/components/ui/application-mobile-layout.mjs 178.00 B
338
- ESM dist/components/ui/appointment-availability-settings.mjs 815.00 B
339
341
  ESM dist/components/ui/appointment-action-dialogs.mjs 732.00 B
342
+ ESM dist/components/ui/appointment-availability-settings.mjs 815.00 B
340
343
  ESM dist/components/ui/add-column-modal.mjs 440.00 B
341
344
  ESM dist/components/ui/add-lead-modal.mjs 541.00 B
342
345
  ESM dist/components/ui/advisor-card.mjs 476.00 B
@@ -347,41 +350,39 @@ $ tsup
347
350
  ESM dist/components/ui/alert-dialog.mjs 768.00 B
348
351
  ESM dist/components/ui/about-you-form.mjs 11.05 KB
349
352
  ESM dist/components/ui/accordion.mjs 264.00 B
350
- ESM dist/components/ui/applicant-document-checklist.mjs 254.00 B
351
353
  ESM dist/components/ui/account-list-carousel.mjs 275.00 B
352
- ESM dist/components/ui/applicant-navigation-bar.mjs 2.41 KB
353
- ESM dist/components/ui/applicant-switcher.mjs 1.12 KB
354
- ESM ⚡️ Build success in 783ms
354
+ ESM ⚡️ Build success in 721ms
355
355
  CJS dist/lib/colors.js 4.33 KB
356
+ CJS dist/lib/theme-provider.js 8.19 KB
356
357
  CJS dist/lib/typography.js 5.74 KB
357
358
  CJS dist/lib/utils.js 2.02 KB
358
359
  CJS dist/components/ui/about-you-form.js 41.60 KB
359
- CJS dist/components/ui/accordion.js 5.75 KB
360
360
  CJS dist/components/ui/account-list-carousel.js 11.56 KB
361
- CJS dist/components/ui/add-column-modal.js 26.57 KB
361
+ CJS dist/components/ui/accordion.js 5.75 KB
362
362
  CJS dist/components/ui/add-lead-modal.js 39.95 KB
363
+ CJS dist/components/ui/add-column-modal.js 26.57 KB
363
364
  CJS dist/components/ui/advisor-card.js 25.41 KB
364
365
  CJS dist/components/ui/agent-evaluation-toast.js 11.15 KB
365
366
  CJS dist/components/ui/ai-assistant-drawer.js 28.64 KB
366
367
  CJS dist/components/ui/ai-builder.js 40.23 KB
367
- CJS dist/components/ui/ai-conversations.js 104.71 KB
368
368
  CJS dist/components/ui/alert-dialog.js 16.03 KB
369
+ CJS dist/components/ui/ai-conversations.js 105.77 KB
370
+ CJS dist/components/ui/applicant-document-checklist.js 13.68 KB
369
371
  CJS dist/components/ui/alert.js 5.17 KB
372
+ CJS dist/components/ui/applicant-navigation-bar.js 11.35 KB
373
+ CJS dist/components/ui/applicant-expenses-section.js 17.30 KB
370
374
  CJS dist/components/ui/applicant-switcher.js 9.80 KB
371
375
  CJS dist/components/ui/application-mobile-layout.js 2.58 KB
372
- CJS dist/components/ui/applicant-document-checklist.js 13.68 KB
373
- CJS dist/components/ui/applicant-expenses-section.js 17.30 KB
374
- CJS dist/components/ui/applicant-navigation-bar.js 11.35 KB
375
- CJS dist/components/ui/appointment-action-dialogs.js 47.45 KB
376
376
  CJS dist/components/ui/appointment-availability-settings.js 68.24 KB
377
+ CJS dist/components/ui/appointment-action-dialogs.js 47.45 KB
377
378
  CJS dist/components/ui/appointment-calendar-view.js 32.63 KB
378
379
  CJS dist/components/ui/appointment-book-dialog.js 77.41 KB
379
380
  CJS dist/components/ui/appointment-detail-sheet.js 67.23 KB
380
381
  CJS dist/components/ui/appointment-gmail-connect.js 19.27 KB
381
382
  CJS dist/components/ui/appointment-mini-card.js 12.50 KB
382
383
  CJS dist/components/ui/appointment-time-slot-picker.js 11.33 KB
383
- CJS dist/components/ui/asset-accordion.js 19.18 KB
384
384
  CJS dist/components/ui/appointment-upcoming-card.js 56.50 KB
385
+ CJS dist/components/ui/asset-accordion.js 19.18 KB
385
386
  CJS dist/components/ui/assets-liabilities-side-card.js 12.56 KB
386
387
  CJS dist/components/ui/auth-logo.js 3.33 KB
387
388
  CJS dist/components/ui/auth-page-layout.js 3.49 KB
@@ -389,127 +390,126 @@ $ tsup
389
390
  CJS dist/components/ui/backoffice-alert-history-chart.js 21.53 KB
390
391
  CJS dist/components/ui/backoffice-alert-matching-chart.js 27.13 KB
391
392
  CJS dist/components/ui/backoffice-alerts-chart.js 27.04 KB
392
- CJS dist/components/ui/backoffice-contact-history-chart.js 23.06 KB
393
393
  CJS dist/components/ui/backoffice-connections-chart.js 27.69 KB
394
+ CJS dist/components/ui/backoffice-contact-history-chart.js 23.06 KB
394
395
  CJS dist/components/ui/backoffice-contact-matching-chart.js 27.60 KB
395
- CJS dist/components/ui/badge.js 7.01 KB
396
396
  CJS dist/components/ui/backoffice-signup-steps.js 71.14 KB
397
+ CJS dist/components/ui/badge.js 7.01 KB
397
398
  CJS dist/components/ui/bank-statement-document-table.js 19.39 KB
398
- CJS dist/components/ui/bank-statement-pdf-viewer.js 21.20 KB
399
399
  CJS dist/components/ui/bank-statement-generate-dialog.js 64.09 KB
400
400
  CJS dist/components/ui/banking-accounts-connect.js 13.77 KB
401
401
  CJS dist/components/ui/borrowing-capacity-atoms.js 14.71 KB
402
402
  CJS dist/components/ui/borrowing-capacity-card.js 31.33 KB
403
- CJS dist/components/ui/borrowing-capacity-line-chart.js 23.32 KB
404
403
  CJS dist/components/ui/broker-info-panel.js 10.73 KB
405
- CJS dist/components/ui/button.js 8.76 KB
404
+ CJS dist/components/ui/borrowing-capacity-line-chart.js 23.32 KB
406
405
  CJS dist/components/ui/calculator-input-item.js 3.20 KB
406
+ CJS dist/components/ui/button.js 8.76 KB
407
407
  CJS dist/components/ui/calculator-section.js 28.15 KB
408
- CJS dist/components/ui/calendar.js 16.87 KB
409
408
  CJS dist/components/ui/card.js 5.54 KB
409
+ CJS dist/components/ui/calendar.js 16.87 KB
410
410
  CJS dist/components/ui/cash-balance-line-chart.js 22.28 KB
411
411
  CJS dist/components/ui/cashflow-bar-chart.js 22.72 KB
412
412
  CJS dist/components/ui/category-edit-dialog.js 28.69 KB
413
413
  CJS dist/components/ui/chat-widget-primitives.js 21.40 KB
414
414
  CJS dist/components/ui/chat-widget.js 47.89 KB
415
415
  CJS dist/components/ui/checkbox.js 7.11 KB
416
- CJS dist/components/ui/chip.js 11.82 KB
417
416
  CJS dist/components/ui/color-picker.js 19.32 KB
417
+ CJS dist/components/ui/chip.js 11.82 KB
418
418
  CJS dist/components/ui/combobox.js 10.71 KB
419
419
  CJS dist/components/ui/connect-bank-step.js 20.49 KB
420
420
  CJS dist/components/ui/create-contact-modal.js 38.93 KB
421
421
  CJS dist/components/ui/csv-import-modal.js 20.84 KB
422
422
  CJS dist/components/ui/currency-input.js 16.27 KB
423
+ CJS dist/components/ui/bank-statement-pdf-viewer.js 21.20 KB
423
424
  CJS dist/components/ui/dashboard-expense-categories.js 13.22 KB
424
- CJS dist/components/ui/dashboard-transactions-table.js 41.31 KB
425
425
  CJS dist/components/ui/date-picker.js 23.55 KB
426
- CJS dist/components/ui/debt-accordion.js 19.84 KB
426
+ CJS dist/components/ui/dashboard-transactions-table.js 41.31 KB
427
427
  CJS dist/components/ui/delete-contact-component.js 17.52 KB
428
+ CJS dist/components/ui/debt-accordion.js 19.84 KB
428
429
  CJS dist/components/ui/document-checklist-template.js 26.15 KB
429
- CJS dist/components/ui/dialog.js 16.08 KB
430
+ CJS dist/components/ui/data-table.js 41.53 KB
430
431
  CJS dist/components/ui/drawer.js 8.55 KB
431
432
  CJS dist/components/ui/dropdown-menu.js 13.57 KB
432
433
  CJS dist/components/ui/dynamic-tabs.js 10.53 KB
434
+ CJS dist/components/ui/dialog.js 16.08 KB
433
435
  CJS dist/components/ui/editable-money-item.js 11.37 KB
434
436
  CJS dist/components/ui/empty.js 5.93 KB
435
437
  CJS dist/components/ui/expense-bar-chart.js 22.36 KB
436
438
  CJS dist/components/ui/expense-detail-item.js 19.01 KB
437
439
  CJS dist/components/ui/expense-work-details.js 46.89 KB
438
- CJS dist/components/ui/field.js 12.08 KB
439
- CJS dist/components/ui/file-preview-dialog.js 42.42 KB
440
440
  CJS dist/components/ui/financial-cards.js 50.63 KB
441
+ CJS dist/components/ui/field.js 12.08 KB
441
442
  CJS dist/components/ui/financial-drawers.js 25.49 KB
442
- CJS dist/components/ui/financial-primitives.js 8.00 KB
443
443
  CJS dist/components/ui/financial-sections.js 56.07 KB
444
444
  CJS dist/components/ui/form-primitives.js 23.29 KB
445
- CJS dist/components/ui/frontend-signup-steps.js 47.18 KB
445
+ CJS dist/components/ui/financial-primitives.js 8.00 KB
446
446
  CJS dist/components/ui/income-bar-chart.js 22.32 KB
447
+ CJS dist/components/ui/frontend-signup-steps.js 47.18 KB
447
448
  CJS dist/components/ui/income-sources-card.js 9.81 KB
448
449
  CJS dist/components/ui/income-summary-component.js 14.73 KB
449
- CJS dist/components/ui/income-work-details.js 58.65 KB
450
- CJS dist/components/ui/incoming-outgoings-card.js 7.52 KB
451
450
  CJS dist/components/ui/input-group.js 16.63 KB
452
451
  CJS dist/components/ui/input-otp.js 6.49 KB
453
452
  CJS dist/components/ui/input.js 3.88 KB
454
453
  CJS dist/components/ui/integration-card.js 13.13 KB
455
454
  CJS dist/components/ui/interest-rate-input.js 16.38 KB
456
- CJS dist/components/ui/interest-rate-section.js 13.80 KB
457
455
  CJS dist/components/ui/interest-rate-used.js 6.83 KB
458
- CJS dist/components/ui/kanban-column.js 67.37 KB
456
+ CJS dist/components/ui/interest-rate-section.js 13.80 KB
457
+ CJS dist/components/ui/incoming-outgoings-card.js 7.52 KB
459
458
  CJS dist/components/ui/label.js 3.97 KB
459
+ CJS dist/components/ui/income-work-details.js 58.65 KB
460
460
  CJS dist/components/ui/loan-applicant-information.js 13.38 KB
461
- CJS dist/components/ui/loan-applicant-invite.js 12.23 KB
462
461
  CJS dist/components/ui/loan-application-badge.js 8.18 KB
463
- CJS dist/components/ui/loan-application-cards.js 14.53 KB
462
+ CJS dist/components/ui/loan-applicant-invite.js 12.23 KB
464
463
  CJS dist/components/ui/loan-entry-shell.js 3.66 KB
464
+ CJS dist/components/ui/loan-application-cards.js 14.53 KB
465
465
  CJS dist/components/ui/loan-financials.js 15.65 KB
466
466
  CJS dist/components/ui/loan-option-card.js 3.10 KB
467
467
  CJS dist/components/ui/loan-option-group.js 9.49 KB
468
468
  CJS dist/components/ui/loan-steps.js 39.22 KB
469
469
  CJS dist/components/ui/loan-wizard-shell.js 18.81 KB
470
- CJS dist/components/ui/money-input-with-slider.js 6.93 KB
471
470
  CJS dist/components/ui/money-item-with-color-indicator.js 11.75 KB
472
- CJS dist/components/ui/onboarding-layout.js 20.35 KB
471
+ CJS dist/components/ui/money-input-with-slider.js 6.93 KB
472
+ CJS dist/components/ui/kanban-column.js 67.37 KB
473
473
  CJS dist/components/ui/opportunity-card.js 54.35 KB
474
+ CJS dist/components/ui/onboarding-layout.js 20.35 KB
474
475
  CJS dist/components/ui/opportunity-edit-modals.js 145.31 KB
475
- CJS dist/components/ui/opportunity-summary-tab.js 221.85 KB
476
476
  CJS dist/components/ui/page-header.js 2.79 KB
477
477
  CJS dist/components/ui/page-top-bar.js 2.60 KB
478
478
  CJS dist/components/ui/pagination.js 23.77 KB
479
+ CJS dist/components/ui/opportunity-summary-tab.js 221.85 KB
479
480
  CJS dist/components/ui/password-strength-tooltip.js 7.05 KB
480
481
  CJS dist/components/ui/pipeline-alerts.js 3.53 KB
481
482
  CJS dist/components/ui/pipeline-chart.js 10.60 KB
482
483
  CJS dist/components/ui/pipeline-board.js 77.70 KB
483
484
  CJS dist/components/ui/pipeline-dialogs.js 47.90 KB
485
+ CJS dist/components/ui/progress.js 3.94 KB
484
486
  CJS dist/components/ui/popover.js 6.49 KB
485
487
  CJS dist/components/ui/property-asset-card.js 17.81 KB
486
488
  CJS dist/components/ui/property-cashflow-doughnut-chart.js 19.37 KB
487
489
  CJS dist/components/ui/property-debt-equity-doughnut-chart.js 19.25 KB
488
490
  CJS dist/components/ui/property-list-carousel.js 11.25 KB
489
- CJS dist/components/ui/property-mobile-estimate-line-chart.js 23.44 KB
490
- CJS dist/components/ui/progress.js 3.94 KB
491
491
  CJS dist/components/ui/pipeline-primitives.js 13.90 KB
492
+ CJS dist/components/ui/property-mobile-estimate-line-chart.js 23.44 KB
492
493
  CJS dist/components/ui/radio-group.js 7.16 KB
493
- CJS dist/components/ui/property-report-dialog.js 44.37 KB
494
494
  CJS dist/components/ui/review-alerts-dialog.js 22.26 KB
495
+ CJS dist/components/ui/property-report-dialog.js 44.37 KB
496
+ CJS dist/components/ui/file-preview-dialog.js 42.42 KB
497
+ CJS dist/components/ui/savings-goal-modal.js 43.29 KB
495
498
  CJS dist/components/ui/scenario-drawer.js 29.79 KB
496
499
  CJS dist/components/ui/scenario-item.js 9.28 KB
497
500
  CJS dist/components/ui/scenario-list.js 19.00 KB
498
501
  CJS dist/components/ui/select.js 11.96 KB
499
502
  CJS dist/components/ui/selectable-card.js 5.32 KB
500
503
  CJS dist/components/ui/separator.js 3.58 KB
501
- CJS dist/components/ui/savings-goal-modal.js 43.29 KB
502
- CJS dist/components/ui/share-details-dialog.js 37.64 KB
503
504
  CJS dist/components/ui/sidebar-nav.js 30.59 KB
504
- CJS dist/components/ui/sheet.js 8.69 KB
505
- CJS dist/components/ui/signup-form-primitives.js 30.19 KB
506
505
  CJS dist/components/ui/signup-shell.js 13.58 KB
507
506
  CJS dist/components/ui/skeleton.js 3.24 KB
508
507
  CJS dist/components/ui/slider.js 4.60 KB
509
- CJS dist/components/ui/sonner.js 3.35 KB
510
508
  CJS dist/components/ui/spinner.js 3.73 KB
509
+ CJS dist/components/ui/sonner.js 3.35 KB
511
510
  CJS dist/components/ui/stage-timeline.js 24.60 KB
512
511
  CJS dist/components/ui/stepper.js 9.15 KB
512
+ CJS dist/components/ui/submission-confirmation-card.js 10.88 KB
513
513
  CJS dist/components/ui/switch.js 6.96 KB
514
514
  CJS dist/components/ui/table.js 6.25 KB
515
515
  CJS dist/components/ui/tabs.js 7.02 KB
@@ -518,18 +518,18 @@ $ tsup
518
518
  CJS dist/components/ui/toggle.js 4.61 KB
519
519
  CJS dist/components/ui/tooltip.js 5.77 KB
520
520
  CJS dist/components/ui/top-three-product.js 15.24 KB
521
- CJS dist/components/ui/transactions-expense-categories-doughnut-chart.js 19.64 KB
522
521
  CJS dist/components/ui/transactions-income-expense-bar-chart.js 19.06 KB
523
522
  CJS dist/components/ui/transactions-liabilities-breakdown-doughnut-chart.js 19.64 KB
524
523
  CJS dist/components/ui/transactions-summary-block.js 3.15 KB
524
+ CJS dist/components/ui/transactions-expense-categories-doughnut-chart.js 19.64 KB
525
525
  CJS dist/components/ui/two-fa-setup-form.js 24.07 KB
526
526
  CJS dist/components/ui/upload-card.js 5.43 KB
527
527
  CJS dist/components/ui/video-background.js 3.25 KB
528
- CJS dist/components/ui/resource-center/index.js 45.52 KB
529
528
  CJS dist/components/ui/contact-alert-dialog/index.js 67.85 KB
529
+ CJS dist/components/ui/signup-form-primitives.js 30.19 KB
530
+ CJS dist/components/ui/sheet.js 8.69 KB
531
+ CJS dist/components/ui/share-details-dialog.js 37.64 KB
532
+ CJS dist/components/ui/resource-center/index.js 45.52 KB
530
533
  CJS dist/index.js 1.13 MB
531
- CJS dist/components/ui/submission-confirmation-card.js 10.88 KB
532
- CJS dist/lib/theme-provider.js 8.19 KB
533
- CJS dist/components/ui/data-table.js 41.53 KB
534
- CJS ⚡️ Build success in 833ms
535
- Done in 4.08s.
534
+ CJS ⚡️ Build success in 814ms
535
+ Done in 4.04s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @wealthx/shadcn
2
2
 
3
+ ## 1.5.24
4
+
5
+ ### Patch Changes
6
+
7
+ - 385752a: enhance ai conversation
8
+
3
9
  ## 1.5.23
4
10
 
5
11
  ### Patch Changes
@@ -520,6 +520,7 @@ function ChatComposer({
520
520
  mode,
521
521
  channel: channelProp = "chat",
522
522
  onChannelChange,
523
+ channelType = "chat",
523
524
  isEmailIntegrated = false,
524
525
  contactEmail = "",
525
526
  inputValue = "",
@@ -530,8 +531,10 @@ function ChatComposer({
530
531
  onLetAiHandle,
531
532
  className
532
533
  }) {
534
+ const showIntegrateEmailPrompt = channelType === "email" && !isEmailIntegrated;
535
+ const initialChannel = channelType === "email" && isEmailIntegrated ? "email" : channelProp;
533
536
  const [channel, setChannel] = React.useState(
534
- isEmailIntegrated ? channelProp : "chat"
537
+ isEmailIntegrated ? initialChannel : "chat"
535
538
  );
536
539
  const [emailTo, setEmailTo] = React.useState(contactEmail);
537
540
  const [emailCc, setEmailCc] = React.useState("");
@@ -556,6 +559,22 @@ function ChatComposer({
556
559
  setChannel(c);
557
560
  onChannelChange == null ? void 0 : onChannelChange(c);
558
561
  };
562
+ if (showIntegrateEmailPrompt) {
563
+ return /* @__PURE__ */ jsxs(
564
+ "div",
565
+ {
566
+ className: cn(
567
+ "flex flex-col items-center justify-center gap-2 border-t border-border bg-muted/30 px-6 py-8 text-center",
568
+ className
569
+ ),
570
+ children: [
571
+ /* @__PURE__ */ jsx(Mail, { className: "h-8 w-8 text-muted-foreground" }),
572
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-foreground", children: "Email integration required" }),
573
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Please integrate your email to reply to this conversation." })
574
+ ]
575
+ }
576
+ );
577
+ }
559
578
  return /* @__PURE__ */ jsxs(
560
579
  "div",
561
580
  {
@@ -755,6 +774,7 @@ function ChatThread({
755
774
  isAiTyping = false,
756
775
  channel,
757
776
  onChannelChange,
777
+ channelType,
758
778
  isEmailIntegrated,
759
779
  inputValue,
760
780
  onInputChange,
@@ -946,6 +966,7 @@ function ChatThread({
946
966
  mode,
947
967
  channel,
948
968
  onChannelChange,
969
+ channelType,
949
970
  isEmailIntegrated,
950
971
  contactEmail: contact.email,
951
972
  inputValue,
@@ -1334,6 +1355,7 @@ function ConversationsPage({
1334
1355
  onChannelFilterChange,
1335
1356
  channel,
1336
1357
  onChannelChange,
1358
+ channelType,
1337
1359
  isEmailIntegrated,
1338
1360
  inputValue,
1339
1361
  internalNotes,
@@ -1420,6 +1442,7 @@ function ConversationsPage({
1420
1442
  isAiTyping,
1421
1443
  channel,
1422
1444
  onChannelChange,
1445
+ channelType,
1423
1446
  isEmailIntegrated,
1424
1447
  inputValue,
1425
1448
  onInputChange,
@@ -1381,6 +1381,7 @@ function ChatComposer({
1381
1381
  mode,
1382
1382
  channel: channelProp = "chat",
1383
1383
  onChannelChange,
1384
+ channelType = "chat",
1384
1385
  isEmailIntegrated = false,
1385
1386
  contactEmail = "",
1386
1387
  inputValue = "",
@@ -1391,8 +1392,10 @@ function ChatComposer({
1391
1392
  onLetAiHandle,
1392
1393
  className
1393
1394
  }) {
1395
+ const showIntegrateEmailPrompt = channelType === "email" && !isEmailIntegrated;
1396
+ const initialChannel = channelType === "email" && isEmailIntegrated ? "email" : channelProp;
1394
1397
  const [channel, setChannel] = import_react3.default.useState(
1395
- isEmailIntegrated ? channelProp : "chat"
1398
+ isEmailIntegrated ? initialChannel : "chat"
1396
1399
  );
1397
1400
  const [emailTo, setEmailTo] = import_react3.default.useState(contactEmail);
1398
1401
  const [emailCc, setEmailCc] = import_react3.default.useState("");
@@ -1417,6 +1420,22 @@ function ChatComposer({
1417
1420
  setChannel(c);
1418
1421
  onChannelChange == null ? void 0 : onChannelChange(c);
1419
1422
  };
1423
+ if (showIntegrateEmailPrompt) {
1424
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1425
+ "div",
1426
+ {
1427
+ className: cn(
1428
+ "flex flex-col items-center justify-center gap-2 border-t border-border bg-muted/30 px-6 py-8 text-center",
1429
+ className
1430
+ ),
1431
+ children: [
1432
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_lucide_react4.Mail, { className: "h-8 w-8 text-muted-foreground" }),
1433
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-sm font-medium text-foreground", children: "Email integration required" }),
1434
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-xs text-muted-foreground", children: "Please integrate your email to reply to this conversation." })
1435
+ ]
1436
+ }
1437
+ );
1438
+ }
1420
1439
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
1421
1440
  "div",
1422
1441
  {
@@ -1616,6 +1635,7 @@ function ChatThread({
1616
1635
  isAiTyping = false,
1617
1636
  channel,
1618
1637
  onChannelChange,
1638
+ channelType,
1619
1639
  isEmailIntegrated,
1620
1640
  inputValue,
1621
1641
  onInputChange,
@@ -1807,6 +1827,7 @@ function ChatThread({
1807
1827
  mode,
1808
1828
  channel,
1809
1829
  onChannelChange,
1830
+ channelType,
1810
1831
  isEmailIntegrated,
1811
1832
  contactEmail: contact.email,
1812
1833
  inputValue,
@@ -2195,6 +2216,7 @@ function ConversationsPage({
2195
2216
  onChannelFilterChange,
2196
2217
  channel,
2197
2218
  onChannelChange,
2219
+ channelType,
2198
2220
  isEmailIntegrated,
2199
2221
  inputValue,
2200
2222
  internalNotes,
@@ -2281,6 +2303,7 @@ function ConversationsPage({
2281
2303
  isAiTyping,
2282
2304
  channel,
2283
2305
  onChannelChange,
2306
+ channelType,
2284
2307
  isEmailIntegrated,
2285
2308
  inputValue,
2286
2309
  onInputChange,
@@ -9,7 +9,7 @@ import {
9
9
  ConversationStatusChip,
10
10
  ConversationsPage,
11
11
  LeadInfoPanel
12
- } from "../../chunk-K4GJTP6N.mjs";
12
+ } from "../../chunk-RYGZRDP6.mjs";
13
13
  import "../../chunk-3S6KVFF5.mjs";
14
14
  import "../../chunk-WE4YKBDE.mjs";
15
15
  import "../../chunk-H5DTKPJ2.mjs";
package/dist/index.js CHANGED
@@ -2803,6 +2803,7 @@ function ChatComposer({
2803
2803
  mode,
2804
2804
  channel: channelProp = "chat",
2805
2805
  onChannelChange,
2806
+ channelType = "chat",
2806
2807
  isEmailIntegrated = false,
2807
2808
  contactEmail = "",
2808
2809
  inputValue = "",
@@ -2813,8 +2814,10 @@ function ChatComposer({
2813
2814
  onLetAiHandle,
2814
2815
  className
2815
2816
  }) {
2817
+ const showIntegrateEmailPrompt = channelType === "email" && !isEmailIntegrated;
2818
+ const initialChannel = channelType === "email" && isEmailIntegrated ? "email" : channelProp;
2816
2819
  const [channel, setChannel] = import_react5.default.useState(
2817
- isEmailIntegrated ? channelProp : "chat"
2820
+ isEmailIntegrated ? initialChannel : "chat"
2818
2821
  );
2819
2822
  const [emailTo, setEmailTo] = import_react5.default.useState(contactEmail);
2820
2823
  const [emailCc, setEmailCc] = import_react5.default.useState("");
@@ -2839,6 +2842,22 @@ function ChatComposer({
2839
2842
  setChannel(c);
2840
2843
  onChannelChange == null ? void 0 : onChannelChange(c);
2841
2844
  };
2845
+ if (showIntegrateEmailPrompt) {
2846
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2847
+ "div",
2848
+ {
2849
+ className: cn(
2850
+ "flex flex-col items-center justify-center gap-2 border-t border-border bg-muted/30 px-6 py-8 text-center",
2851
+ className
2852
+ ),
2853
+ children: [
2854
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react6.Mail, { className: "h-8 w-8 text-muted-foreground" }),
2855
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-sm font-medium text-foreground", children: "Email integration required" }),
2856
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "text-xs text-muted-foreground", children: "Please integrate your email to reply to this conversation." })
2857
+ ]
2858
+ }
2859
+ );
2860
+ }
2842
2861
  return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2843
2862
  "div",
2844
2863
  {
@@ -3038,6 +3057,7 @@ function ChatThread({
3038
3057
  isAiTyping = false,
3039
3058
  channel,
3040
3059
  onChannelChange,
3060
+ channelType,
3041
3061
  isEmailIntegrated,
3042
3062
  inputValue,
3043
3063
  onInputChange,
@@ -3229,6 +3249,7 @@ function ChatThread({
3229
3249
  mode,
3230
3250
  channel,
3231
3251
  onChannelChange,
3252
+ channelType,
3232
3253
  isEmailIntegrated,
3233
3254
  contactEmail: contact.email,
3234
3255
  inputValue,
@@ -3617,6 +3638,7 @@ function ConversationsPage({
3617
3638
  onChannelFilterChange,
3618
3639
  channel,
3619
3640
  onChannelChange,
3641
+ channelType,
3620
3642
  isEmailIntegrated,
3621
3643
  inputValue,
3622
3644
  internalNotes,
@@ -3703,6 +3725,7 @@ function ConversationsPage({
3703
3725
  isAiTyping,
3704
3726
  channel,
3705
3727
  onChannelChange,
3728
+ channelType,
3706
3729
  isEmailIntegrated,
3707
3730
  inputValue,
3708
3731
  onInputChange,
package/dist/index.mjs CHANGED
@@ -517,7 +517,7 @@ import {
517
517
  ConversationStatusChip,
518
518
  ConversationsPage,
519
519
  LeadInfoPanel
520
- } from "./chunk-K4GJTP6N.mjs";
520
+ } from "./chunk-RYGZRDP6.mjs";
521
521
  import {
522
522
  Tooltip,
523
523
  TooltipContent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wealthx/shadcn",
3
- "version": "1.5.23",
3
+ "version": "1.5.24",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./src/index.ts",
@@ -684,6 +684,15 @@ export interface ChatComposerProps {
684
684
  /** Active reply channel. Defaults to "chat". */
685
685
  channel?: AiConvChannel;
686
686
  onChannelChange?: (channel: AiConvChannel) => void;
687
+ /**
688
+ * The channel this conversation belongs to.
689
+ *
690
+ * - `"chat"` (default) — chat composer shown normally.
691
+ * - `"email"` + `isEmailIntegrated=true` — email tab is active by default.
692
+ * - `"email"` + `isEmailIntegrated=false` — composer is replaced with a
693
+ * prompt to integrate email.
694
+ */
695
+ channelType?: AiConvChannel;
687
696
  /**
688
697
  * When true, the Email tab is shown in the composer. Defaults to false —
689
698
  * consumers must opt in once their tenant's email integration is wired up.
@@ -807,6 +816,7 @@ export function ChatComposer({
807
816
  mode,
808
817
  channel: channelProp = "chat",
809
818
  onChannelChange,
819
+ channelType = "chat",
810
820
  isEmailIntegrated = false,
811
821
  contactEmail = "",
812
822
  inputValue = "",
@@ -817,10 +827,16 @@ export function ChatComposer({
817
827
  onLetAiHandle,
818
828
  className,
819
829
  }: ChatComposerProps) {
830
+ const showIntegrateEmailPrompt =
831
+ channelType === "email" && !isEmailIntegrated;
832
+
820
833
  // Semi-controlled: owns channel state for uncontrolled usage, notifies parent on change.
834
+ // When channelType is email and integrated, default to email tab.
835
+ const initialChannel =
836
+ channelType === "email" && isEmailIntegrated ? "email" : channelProp;
821
837
  // Force chat when email isn't integrated so the panel never lands on a hidden tab.
822
838
  const [channel, setChannel] = React.useState<AiConvChannel>(
823
- isEmailIntegrated ? channelProp : "chat",
839
+ isEmailIntegrated ? initialChannel : "chat",
824
840
  );
825
841
  const [emailTo, setEmailTo] = React.useState(contactEmail);
826
842
  const [emailCc, setEmailCc] = React.useState("");
@@ -850,6 +866,25 @@ export function ChatComposer({
850
866
  onChannelChange?.(c);
851
867
  };
852
868
 
869
+ if (showIntegrateEmailPrompt) {
870
+ return (
871
+ <div
872
+ className={cn(
873
+ "flex flex-col items-center justify-center gap-2 border-t border-border bg-muted/30 px-6 py-8 text-center",
874
+ className,
875
+ )}
876
+ >
877
+ <Mail className="h-8 w-8 text-muted-foreground" />
878
+ <p className="text-sm font-medium text-foreground">
879
+ Email integration required
880
+ </p>
881
+ <p className="text-xs text-muted-foreground">
882
+ Please integrate your email to reply to this conversation.
883
+ </p>
884
+ </div>
885
+ );
886
+ }
887
+
853
888
  return (
854
889
  <div
855
890
  className={cn(
@@ -1030,6 +1065,15 @@ export interface ChatThreadProps {
1030
1065
  /** Active reply channel — "chat" (default) or "email". */
1031
1066
  channel?: AiConvChannel;
1032
1067
  onChannelChange?: (channel: AiConvChannel) => void;
1068
+ /**
1069
+ * The channel this conversation belongs to.
1070
+ *
1071
+ * - `"chat"` (default) — chat composer shown normally.
1072
+ * - `"email"` + `isEmailIntegrated=true` — email tab is active by default.
1073
+ * - `"email"` + `isEmailIntegrated=false` — composer is replaced with a
1074
+ * prompt to integrate email.
1075
+ */
1076
+ channelType?: AiConvChannel;
1033
1077
  /**
1034
1078
  * When true, the Email tab is shown in the composer. Defaults to false.
1035
1079
  */
@@ -1068,6 +1112,7 @@ export function ChatThread({
1068
1112
  isAiTyping = false,
1069
1113
  channel,
1070
1114
  onChannelChange,
1115
+ channelType,
1071
1116
  isEmailIntegrated,
1072
1117
  inputValue,
1073
1118
  onInputChange,
@@ -1310,6 +1355,7 @@ export function ChatThread({
1310
1355
  mode={mode}
1311
1356
  channel={channel}
1312
1357
  onChannelChange={onChannelChange}
1358
+ channelType={channelType}
1313
1359
  isEmailIntegrated={isEmailIntegrated}
1314
1360
  contactEmail={contact.email}
1315
1361
  inputValue={inputValue}
@@ -1818,6 +1864,15 @@ export interface ConversationsPageProps {
1818
1864
  /** Active reply channel — "chat" (default) or "email". */
1819
1865
  channel?: AiConvChannel;
1820
1866
  onChannelChange?: (channel: AiConvChannel) => void;
1867
+ /**
1868
+ * The channel this conversation belongs to.
1869
+ *
1870
+ * - `"chat"` (default) — chat composer shown normally.
1871
+ * - `"email"` + `isEmailIntegrated=true` — email tab is active by default.
1872
+ * - `"email"` + `isEmailIntegrated=false` — composer is replaced with a
1873
+ * prompt to integrate email.
1874
+ */
1875
+ channelType?: AiConvChannel;
1821
1876
  /**
1822
1877
  * When true, the Email tab is shown in the composer. Defaults to false.
1823
1878
  */
@@ -1884,6 +1939,7 @@ export function ConversationsPage({
1884
1939
  onChannelFilterChange,
1885
1940
  channel,
1886
1941
  onChannelChange,
1942
+ channelType,
1887
1943
  isEmailIntegrated,
1888
1944
  inputValue,
1889
1945
  internalNotes,
@@ -1975,6 +2031,7 @@ export function ConversationsPage({
1975
2031
  isAiTyping={isAiTyping}
1976
2032
  channel={channel}
1977
2033
  onChannelChange={onChannelChange}
2034
+ channelType={channelType}
1978
2035
  isEmailIntegrated={isEmailIntegrated}
1979
2036
  inputValue={inputValue}
1980
2037
  onInputChange={onInputChange}