@aglyn/plugins-crm 1.0.0-beta.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +7 -0
- package/package.json +57 -0
- package/src/index.d.ts +21 -0
- package/src/index.js +29 -0
- package/src/index.js.map +1 -0
- package/src/lib/components/activity-list.d.ts +98 -0
- package/src/lib/components/activity-list.js +321 -0
- package/src/lib/components/activity-list.js.map +1 -0
- package/src/lib/components/activity-queries.d.ts +117 -0
- package/src/lib/components/activity-queries.js +198 -0
- package/src/lib/components/activity-queries.js.map +1 -0
- package/src/lib/components/add-to-list-button.d.ts +25 -0
- package/src/lib/components/add-to-list-button.js +64 -0
- package/src/lib/components/add-to-list-button.js.map +1 -0
- package/src/lib/components/add-to-list-dialog.d.ts +24 -0
- package/src/lib/components/add-to-list-dialog.js +327 -0
- package/src/lib/components/add-to-list-dialog.js.map +1 -0
- package/src/lib/components/assignment-rule-drawer.d.ts +43 -0
- package/src/lib/components/assignment-rule-drawer.js +293 -0
- package/src/lib/components/assignment-rule-drawer.js.map +1 -0
- package/src/lib/components/companies-bulk-bar.d.ts +29 -0
- package/src/lib/components/companies-bulk-bar.js +274 -0
- package/src/lib/components/companies-bulk-bar.js.map +1 -0
- package/src/lib/components/companies-section.d.ts +54 -0
- package/src/lib/components/companies-section.js +522 -0
- package/src/lib/components/companies-section.js.map +1 -0
- package/src/lib/components/company-contacts-card.d.ts +49 -0
- package/src/lib/components/company-contacts-card.js +435 -0
- package/src/lib/components/company-contacts-card.js.map +1 -0
- package/src/lib/components/company-deals-card.d.ts +20 -0
- package/src/lib/components/company-deals-card.js +38 -0
- package/src/lib/components/company-deals-card.js.map +1 -0
- package/src/lib/components/company-detail-page.d.ts +20 -0
- package/src/lib/components/company-detail-page.js +165 -0
- package/src/lib/components/company-detail-page.js.map +1 -0
- package/src/lib/components/company-edit-drawer.d.ts +65 -0
- package/src/lib/components/company-edit-drawer.js +433 -0
- package/src/lib/components/company-edit-drawer.js.map +1 -0
- package/src/lib/components/company-import-drawer.d.ts +42 -0
- package/src/lib/components/company-import-drawer.js +99 -0
- package/src/lib/components/company-import-drawer.js.map +1 -0
- package/src/lib/components/company-picker.d.ts +127 -0
- package/src/lib/components/company-picker.js +323 -0
- package/src/lib/components/company-picker.js.map +1 -0
- package/src/lib/components/company-properties-card.d.ts +47 -0
- package/src/lib/components/company-properties-card.js +289 -0
- package/src/lib/components/company-properties-card.js.map +1 -0
- package/src/lib/components/contact-address-fields.d.ts +29 -0
- package/src/lib/components/contact-address-fields.js +149 -0
- package/src/lib/components/contact-address-fields.js.map +1 -0
- package/src/lib/components/contact-associations-card.d.ts +72 -0
- package/src/lib/components/contact-associations-card.js +296 -0
- package/src/lib/components/contact-associations-card.js.map +1 -0
- package/src/lib/components/contact-custom-columns.d.ts +38 -0
- package/src/lib/components/contact-custom-columns.js +102 -0
- package/src/lib/components/contact-custom-columns.js.map +1 -0
- package/src/lib/components/contact-custom-fields-card.d.ts +39 -0
- package/src/lib/components/contact-custom-fields-card.js +204 -0
- package/src/lib/components/contact-custom-fields-card.js.map +1 -0
- package/src/lib/components/contact-deals-card.d.ts +20 -0
- package/src/lib/components/contact-deals-card.js +38 -0
- package/src/lib/components/contact-deals-card.js.map +1 -0
- package/src/lib/components/contact-detail-page.d.ts +46 -0
- package/src/lib/components/contact-detail-page.js +535 -0
- package/src/lib/components/contact-detail-page.js.map +1 -0
- package/src/lib/components/contact-duplicates-card.d.ts +42 -0
- package/src/lib/components/contact-duplicates-card.js +167 -0
- package/src/lib/components/contact-duplicates-card.js.map +1 -0
- package/src/lib/components/contact-field-drawer.d.ts +64 -0
- package/src/lib/components/contact-field-drawer.js +251 -0
- package/src/lib/components/contact-field-drawer.js.map +1 -0
- package/src/lib/components/contact-import-drawer.d.ts +46 -0
- package/src/lib/components/contact-import-drawer.js +149 -0
- package/src/lib/components/contact-import-drawer.js.map +1 -0
- package/src/lib/components/contact-known-by-card.d.ts +39 -0
- package/src/lib/components/contact-known-by-card.js +142 -0
- package/src/lib/components/contact-known-by-card.js.map +1 -0
- package/src/lib/components/contact-list-columns.d.ts +53 -0
- package/src/lib/components/contact-list-columns.js +288 -0
- package/src/lib/components/contact-list-columns.js.map +1 -0
- package/src/lib/components/contact-merge-dialog.d.ts +79 -0
- package/src/lib/components/contact-merge-dialog.js +405 -0
- package/src/lib/components/contact-merge-dialog.js.map +1 -0
- package/src/lib/components/contact-properties-card.d.ts +89 -0
- package/src/lib/components/contact-properties-card.js +492 -0
- package/src/lib/components/contact-properties-card.js.map +1 -0
- package/src/lib/components/contact-timeline-card.d.ts +68 -0
- package/src/lib/components/contact-timeline-card.js +435 -0
- package/src/lib/components/contact-timeline-card.js.map +1 -0
- package/src/lib/components/contacts-bulk-bar.d.ts +91 -0
- package/src/lib/components/contacts-bulk-bar.js +493 -0
- package/src/lib/components/contacts-bulk-bar.js.map +1 -0
- package/src/lib/components/contacts-section.d.ts +26 -0
- package/src/lib/components/contacts-section.js +1025 -0
- package/src/lib/components/contacts-section.js.map +1 -0
- package/src/lib/components/copy-capture-address-button.d.ts +33 -0
- package/src/lib/components/copy-capture-address-button.js +60 -0
- package/src/lib/components/copy-capture-address-button.js.map +1 -0
- package/src/lib/components/crm-attribution-zone.d.ts +38 -0
- package/src/lib/components/crm-attribution-zone.js +36 -0
- package/src/lib/components/crm-attribution-zone.js.map +1 -0
- package/src/lib/components/crm-booking-zone.d.ts +61 -0
- package/src/lib/components/crm-booking-zone.js +50 -0
- package/src/lib/components/crm-booking-zone.js.map +1 -0
- package/src/lib/components/crm-bulk-bar-frame.d.ts +47 -0
- package/src/lib/components/crm-bulk-bar-frame.js +137 -0
- package/src/lib/components/crm-bulk-bar-frame.js.map +1 -0
- package/src/lib/components/crm-call-actions.d.ts +65 -0
- package/src/lib/components/crm-call-actions.js +110 -0
- package/src/lib/components/crm-call-actions.js.map +1 -0
- package/src/lib/components/crm-column-menu.d.ts +21 -0
- package/src/lib/components/crm-column-menu.js +103 -0
- package/src/lib/components/crm-column-menu.js.map +1 -0
- package/src/lib/components/crm-console-page.d.ts +19 -0
- package/src/lib/components/crm-console-page.js +151 -0
- package/src/lib/components/crm-console-page.js.map +1 -0
- package/src/lib/components/crm-console-sections.d.ts +52 -0
- package/src/lib/components/crm-console-sections.js +83 -0
- package/src/lib/components/crm-console-sections.js.map +1 -0
- package/src/lib/components/crm-custom-field-control.d.ts +26 -0
- package/src/lib/components/crm-custom-field-control.js +131 -0
- package/src/lib/components/crm-custom-field-control.js.map +1 -0
- package/src/lib/components/crm-email-template-tools.d.ts +69 -0
- package/src/lib/components/crm-email-template-tools.js +240 -0
- package/src/lib/components/crm-email-template-tools.js.map +1 -0
- package/src/lib/components/crm-export-all-button.d.ts +39 -0
- package/src/lib/components/crm-export-all-button.js +98 -0
- package/src/lib/components/crm-export-all-button.js.map +1 -0
- package/src/lib/components/crm-filter-bar.d.ts +53 -0
- package/src/lib/components/crm-filter-bar.js +294 -0
- package/src/lib/components/crm-filter-bar.js.map +1 -0
- package/src/lib/components/crm-glance-card.d.ts +54 -0
- package/src/lib/components/crm-glance-card.js +219 -0
- package/src/lib/components/crm-glance-card.js.map +1 -0
- package/src/lib/components/crm-next-activity-column.d.ts +35 -0
- package/src/lib/components/crm-next-activity-column.js +100 -0
- package/src/lib/components/crm-next-activity-column.js.map +1 -0
- package/src/lib/components/crm-record-header.d.ts +97 -0
- package/src/lib/components/crm-record-header.js +160 -0
- package/src/lib/components/crm-record-header.js.map +1 -0
- package/src/lib/components/crm-record-insights-zone.d.ts +50 -0
- package/src/lib/components/crm-record-insights-zone.js +169 -0
- package/src/lib/components/crm-record-insights-zone.js.map +1 -0
- package/src/lib/components/crm-record-picker.d.ts +42 -0
- package/src/lib/components/crm-record-picker.js +104 -0
- package/src/lib/components/crm-record-picker.js.map +1 -0
- package/src/lib/components/crm-send-email-button.d.ts +39 -0
- package/src/lib/components/crm-send-email-button.js +81 -0
- package/src/lib/components/crm-send-email-button.js.map +1 -0
- package/src/lib/components/crm-send-email-dialog.d.ts +61 -0
- package/src/lib/components/crm-send-email-dialog.js +851 -0
- package/src/lib/components/crm-send-email-dialog.js.map +1 -0
- package/src/lib/components/crm-site-picker.d.ts +61 -0
- package/src/lib/components/crm-site-picker.js +99 -0
- package/src/lib/components/crm-site-picker.js.map +1 -0
- package/src/lib/components/crm-suite-lock.d.ts +29 -0
- package/src/lib/components/crm-suite-lock.js +114 -0
- package/src/lib/components/crm-suite-lock.js.map +1 -0
- package/src/lib/components/crm-tasks-due-card.d.ts +42 -0
- package/src/lib/components/crm-tasks-due-card.js +225 -0
- package/src/lib/components/crm-tasks-due-card.js.map +1 -0
- package/src/lib/components/crm-views-control.d.ts +65 -0
- package/src/lib/components/crm-views-control.js +518 -0
- package/src/lib/components/crm-views-control.js.map +1 -0
- package/src/lib/components/csv-import-drawer.d.ts +132 -0
- package/src/lib/components/csv-import-drawer.js +746 -0
- package/src/lib/components/csv-import-drawer.js.map +1 -0
- package/src/lib/components/deal-board.d.ts +70 -0
- package/src/lib/components/deal-board.js +478 -0
- package/src/lib/components/deal-board.js.map +1 -0
- package/src/lib/components/deal-detail-page.d.ts +18 -0
- package/src/lib/components/deal-detail-page.js +323 -0
- package/src/lib/components/deal-detail-page.js.map +1 -0
- package/src/lib/components/deal-edit-drawer.d.ts +59 -0
- package/src/lib/components/deal-edit-drawer.js +640 -0
- package/src/lib/components/deal-edit-drawer.js.map +1 -0
- package/src/lib/components/deal-import-drawer.d.ts +24 -0
- package/src/lib/components/deal-import-drawer.js +83 -0
- package/src/lib/components/deal-import-drawer.js.map +1 -0
- package/src/lib/components/deal-products-card.d.ts +48 -0
- package/src/lib/components/deal-products-card.js +614 -0
- package/src/lib/components/deal-products-card.js.map +1 -0
- package/src/lib/components/deal-properties-card.d.ts +29 -0
- package/src/lib/components/deal-properties-card.js +144 -0
- package/src/lib/components/deal-properties-card.js.map +1 -0
- package/src/lib/components/deal-stage-card.d.ts +24 -0
- package/src/lib/components/deal-stage-card.js +199 -0
- package/src/lib/components/deal-stage-card.js.map +1 -0
- package/src/lib/components/deals-bulk-bar.d.ts +31 -0
- package/src/lib/components/deals-bulk-bar.js +340 -0
- package/src/lib/components/deals-bulk-bar.js.map +1 -0
- package/src/lib/components/deals-section.d.ts +49 -0
- package/src/lib/components/deals-section.js +767 -0
- package/src/lib/components/deals-section.js.map +1 -0
- package/src/lib/components/email-capture-card.d.ts +42 -0
- package/src/lib/components/email-capture-card.js +134 -0
- package/src/lib/components/email-capture-card.js.map +1 -0
- package/src/lib/components/email-template-drawer.d.ts +33 -0
- package/src/lib/components/email-template-drawer.js +209 -0
- package/src/lib/components/email-template-drawer.js.map +1 -0
- package/src/lib/components/email-templates-card.d.ts +33 -0
- package/src/lib/components/email-templates-card.js +370 -0
- package/src/lib/components/email-templates-card.js.map +1 -0
- package/src/lib/components/erase-person-action.d.ts +92 -0
- package/src/lib/components/erase-person-action.js +261 -0
- package/src/lib/components/erase-person-action.js.map +1 -0
- package/src/lib/components/fields-section.d.ts +37 -0
- package/src/lib/components/fields-section.js +641 -0
- package/src/lib/components/fields-section.js.map +1 -0
- package/src/lib/components/form-contact-fields-card.d.ts +46 -0
- package/src/lib/components/form-contact-fields-card.js +253 -0
- package/src/lib/components/form-contact-fields-card.js.map +1 -0
- package/src/lib/components/insert-link-at-caret.d.ts +28 -0
- package/src/lib/components/insert-link-at-caret.js +37 -0
- package/src/lib/components/insert-link-at-caret.js.map +1 -0
- package/src/lib/components/lead-convert-dialog.d.ts +32 -0
- package/src/lib/components/lead-convert-dialog.js +493 -0
- package/src/lib/components/lead-convert-dialog.js.map +1 -0
- package/src/lib/components/lead-detail-page.d.ts +16 -0
- package/src/lib/components/lead-detail-page.js +163 -0
- package/src/lib/components/lead-detail-page.js.map +1 -0
- package/src/lib/components/lead-history-card.d.ts +32 -0
- package/src/lib/components/lead-history-card.js +165 -0
- package/src/lib/components/lead-history-card.js.map +1 -0
- package/src/lib/components/lead-import-drawer.d.ts +24 -0
- package/src/lib/components/lead-import-drawer.js +95 -0
- package/src/lib/components/lead-import-drawer.js.map +1 -0
- package/src/lib/components/lead-owner-select.d.ts +35 -0
- package/src/lib/components/lead-owner-select.js +91 -0
- package/src/lib/components/lead-owner-select.js.map +1 -0
- package/src/lib/components/lead-properties-card.d.ts +61 -0
- package/src/lib/components/lead-properties-card.js +395 -0
- package/src/lib/components/lead-properties-card.js.map +1 -0
- package/src/lib/components/lead-status-chip.d.ts +12 -0
- package/src/lib/components/lead-status-chip.js +43 -0
- package/src/lib/components/lead-status-chip.js.map +1 -0
- package/src/lib/components/lead-surfaces-note.d.ts +126 -0
- package/src/lib/components/lead-surfaces-note.js +262 -0
- package/src/lib/components/lead-surfaces-note.js.map +1 -0
- package/src/lib/components/lead-unqualify-dialog.d.ts +24 -0
- package/src/lib/components/lead-unqualify-dialog.js +125 -0
- package/src/lib/components/lead-unqualify-dialog.js.map +1 -0
- package/src/lib/components/leads-bulk-bar.d.ts +58 -0
- package/src/lib/components/leads-bulk-bar.js +307 -0
- package/src/lib/components/leads-bulk-bar.js.map +1 -0
- package/src/lib/components/leads-section.d.ts +23 -0
- package/src/lib/components/leads-section.js +664 -0
- package/src/lib/components/leads-section.js.map +1 -0
- package/src/lib/components/linked-deals-card.d.ts +32 -0
- package/src/lib/components/linked-deals-card.js +163 -0
- package/src/lib/components/linked-deals-card.js.map +1 -0
- package/src/lib/components/log-activity-dialog.d.ts +60 -0
- package/src/lib/components/log-activity-dialog.js +368 -0
- package/src/lib/components/log-activity-dialog.js.map +1 -0
- package/src/lib/components/lost-reason-dialog.d.ts +26 -0
- package/src/lib/components/lost-reason-dialog.js +95 -0
- package/src/lib/components/lost-reason-dialog.js.map +1 -0
- package/src/lib/components/new-contact-drawer.d.ts +78 -0
- package/src/lib/components/new-contact-drawer.js +343 -0
- package/src/lib/components/new-contact-drawer.js.map +1 -0
- package/src/lib/components/org-lead-surfaces-note.d.ts +57 -0
- package/src/lib/components/org-lead-surfaces-note.js +172 -0
- package/src/lib/components/org-lead-surfaces-note.js.map +1 -0
- package/src/lib/components/owner-avatar.d.ts +18 -0
- package/src/lib/components/owner-avatar.js +61 -0
- package/src/lib/components/owner-avatar.js.map +1 -0
- package/src/lib/components/pipeline-stages-dialog.d.ts +43 -0
- package/src/lib/components/pipeline-stages-dialog.js +339 -0
- package/src/lib/components/pipeline-stages-dialog.js.map +1 -0
- package/src/lib/components/pipelines-dialog.d.ts +55 -0
- package/src/lib/components/pipelines-dialog.js +517 -0
- package/src/lib/components/pipelines-dialog.js.map +1 -0
- package/src/lib/components/recent-activity-feed.d.ts +39 -0
- package/src/lib/components/recent-activity-feed.js +103 -0
- package/src/lib/components/recent-activity-feed.js.map +1 -0
- package/src/lib/components/recipes-card.d.ts +39 -0
- package/src/lib/components/recipes-card.js +485 -0
- package/src/lib/components/recipes-card.js.map +1 -0
- package/src/lib/components/record-activity-card.d.ts +26 -0
- package/src/lib/components/record-activity-card.js +121 -0
- package/src/lib/components/record-activity-card.js.map +1 -0
- package/src/lib/components/record-files-card.d.ts +67 -0
- package/src/lib/components/record-files-card.js +290 -0
- package/src/lib/components/record-files-card.js.map +1 -0
- package/src/lib/components/record-tasks-card.d.ts +32 -0
- package/src/lib/components/record-tasks-card.js +306 -0
- package/src/lib/components/record-tasks-card.js.map +1 -0
- package/src/lib/components/reports/activity-card.d.ts +57 -0
- package/src/lib/components/reports/activity-card.js +281 -0
- package/src/lib/components/reports/activity-card.js.map +1 -0
- package/src/lib/components/reports/closed-deals-card.d.ts +20 -0
- package/src/lib/components/reports/closed-deals-card.js +194 -0
- package/src/lib/components/reports/closed-deals-card.js.map +1 -0
- package/src/lib/components/reports/contacts-mix-card.d.ts +27 -0
- package/src/lib/components/reports/contacts-mix-card.js +161 -0
- package/src/lib/components/reports/contacts-mix-card.js.map +1 -0
- package/src/lib/components/reports/contacts-trend-card.d.ts +31 -0
- package/src/lib/components/reports/contacts-trend-card.js +144 -0
- package/src/lib/components/reports/contacts-trend-card.js.map +1 -0
- package/src/lib/components/reports/forecast-card.d.ts +22 -0
- package/src/lib/components/reports/forecast-card.js +251 -0
- package/src/lib/components/reports/forecast-card.js.map +1 -0
- package/src/lib/components/reports/lead-counts.d.ts +32 -0
- package/src/lib/components/reports/lead-counts.js +44 -0
- package/src/lib/components/reports/lead-counts.js.map +1 -0
- package/src/lib/components/reports/lead-funnel-card.d.ts +38 -0
- package/src/lib/components/reports/lead-funnel-card.js +375 -0
- package/src/lib/components/reports/lead-funnel-card.js.map +1 -0
- package/src/lib/components/reports/pipeline-card.d.ts +19 -0
- package/src/lib/components/reports/pipeline-card.js +338 -0
- package/src/lib/components/reports/pipeline-card.js.map +1 -0
- package/src/lib/components/reports/report-bar-chart.d.ts +39 -0
- package/src/lib/components/reports/report-bar-chart.js +133 -0
- package/src/lib/components/reports/report-bar-chart.js.map +1 -0
- package/src/lib/components/reports/report-breakdown.d.ts +32 -0
- package/src/lib/components/reports/report-breakdown.js +105 -0
- package/src/lib/components/reports/report-breakdown.js.map +1 -0
- package/src/lib/components/reports/report-export.d.ts +37 -0
- package/src/lib/components/reports/report-export.js +66 -0
- package/src/lib/components/reports/report-export.js.map +1 -0
- package/src/lib/components/reports/report-format.d.ts +36 -0
- package/src/lib/components/reports/report-format.js +43 -0
- package/src/lib/components/reports/report-format.js.map +1 -0
- package/src/lib/components/reports/report-scope.d.ts +81 -0
- package/src/lib/components/reports/report-scope.js +58 -0
- package/src/lib/components/reports/report-scope.js.map +1 -0
- package/src/lib/components/reports/report-stat-tile.d.ts +47 -0
- package/src/lib/components/reports/report-stat-tile.js +96 -0
- package/src/lib/components/reports/report-stat-tile.js.map +1 -0
- package/src/lib/components/reports/source-conversion-card.d.ts +28 -0
- package/src/lib/components/reports/source-conversion-card.js +205 -0
- package/src/lib/components/reports/source-conversion-card.js.map +1 -0
- package/src/lib/components/reports/tasks-card.d.ts +26 -0
- package/src/lib/components/reports/tasks-card.js +279 -0
- package/src/lib/components/reports/tasks-card.js.map +1 -0
- package/src/lib/components/reports/use-aggregate-read.d.ts +99 -0
- package/src/lib/components/reports/use-aggregate-read.js +195 -0
- package/src/lib/components/reports/use-aggregate-read.js.map +1 -0
- package/src/lib/components/reports/won-lost-by-owner-card.d.ts +30 -0
- package/src/lib/components/reports/won-lost-by-owner-card.js +168 -0
- package/src/lib/components/reports/won-lost-by-owner-card.js.map +1 -0
- package/src/lib/components/reports-section.d.ts +42 -0
- package/src/lib/components/reports-section.js +308 -0
- package/src/lib/components/reports-section.js.map +1 -0
- package/src/lib/components/sending-addresses-card.d.ts +49 -0
- package/src/lib/components/sending-addresses-card.js +262 -0
- package/src/lib/components/sending-addresses-card.js.map +1 -0
- package/src/lib/components/settings-section.d.ts +151 -0
- package/src/lib/components/settings-section.js +783 -0
- package/src/lib/components/settings-section.js.map +1 -0
- package/src/lib/components/task-cells.d.ts +51 -0
- package/src/lib/components/task-cells.js +139 -0
- package/src/lib/components/task-cells.js.map +1 -0
- package/src/lib/components/task-edit-drawer.d.ts +53 -0
- package/src/lib/components/task-edit-drawer.js +483 -0
- package/src/lib/components/task-edit-drawer.js.map +1 -0
- package/src/lib/components/task-import-drawer.d.ts +24 -0
- package/src/lib/components/task-import-drawer.js +82 -0
- package/src/lib/components/task-import-drawer.js.map +1 -0
- package/src/lib/components/task-snooze-menu.d.ts +65 -0
- package/src/lib/components/task-snooze-menu.js +207 -0
- package/src/lib/components/task-snooze-menu.js.map +1 -0
- package/src/lib/components/tasks-bulk-bar.d.ts +25 -0
- package/src/lib/components/tasks-bulk-bar.js +348 -0
- package/src/lib/components/tasks-bulk-bar.js.map +1 -0
- package/src/lib/components/tasks-calendar.d.ts +38 -0
- package/src/lib/components/tasks-calendar.js +228 -0
- package/src/lib/components/tasks-calendar.js.map +1 -0
- package/src/lib/components/tasks-section.d.ts +27 -0
- package/src/lib/components/tasks-section.js +579 -0
- package/src/lib/components/tasks-section.js.map +1 -0
- package/src/lib/components/use-contact-campaign-emails.d.ts +32 -0
- package/src/lib/components/use-contact-campaign-emails.js +83 -0
- package/src/lib/components/use-contact-campaign-emails.js.map +1 -0
- package/src/lib/components/use-crm-api.d.ts +44 -0
- package/src/lib/components/use-crm-api.js +84 -0
- package/src/lib/components/use-crm-api.js.map +1 -0
- package/src/lib/components/use-crm-inbound-address.d.ts +60 -0
- package/src/lib/components/use-crm-inbound-address.js +124 -0
- package/src/lib/components/use-crm-inbound-address.js.map +1 -0
- package/src/lib/components/use-emails-hub-path.d.ts +24 -0
- package/src/lib/components/use-emails-hub-path.js +59 -0
- package/src/lib/components/use-emails-hub-path.js.map +1 -0
- package/src/lib/components/use-member-email-aliases.d.ts +54 -0
- package/src/lib/components/use-member-email-aliases.js +186 -0
- package/src/lib/components/use-member-email-aliases.js.map +1 -0
- package/src/lib/components/use-org-members.d.ts +40 -0
- package/src/lib/components/use-org-members.js +100 -0
- package/src/lib/components/use-org-members.js.map +1 -0
- package/src/lib/constants/api-routes.d.ts +109 -0
- package/src/lib/constants/api-routes.js +74 -0
- package/src/lib/constants/api-routes.js.map +1 -0
- package/src/lib/constants/bundle-common.d.ts +14 -0
- package/src/lib/constants/bundle-common.js +14 -0
- package/src/lib/constants/bundle-common.js.map +1 -0
- package/src/lib/constants/company-filters.d.ts +18 -0
- package/src/lib/constants/company-filters.js +51 -0
- package/src/lib/constants/company-filters.js.map +1 -0
- package/src/lib/constants/contact-filters.d.ts +38 -0
- package/src/lib/constants/contact-filters.js +294 -0
- package/src/lib/constants/contact-filters.js.map +1 -0
- package/src/lib/hooks/use-contact-field-definitions.d.ts +48 -0
- package/src/lib/hooks/use-contact-field-definitions.js +72 -0
- package/src/lib/hooks/use-contact-field-definitions.js.map +1 -0
- package/src/lib/hooks/use-contact-update.d.ts +25 -0
- package/src/lib/hooks/use-contact-update.js +80 -0
- package/src/lib/hooks/use-contact-update.js.map +1 -0
- package/src/lib/hooks/use-crm-activity-logger.d.ts +73 -0
- package/src/lib/hooks/use-crm-activity-logger.js +101 -0
- package/src/lib/hooks/use-crm-activity-logger.js.map +1 -0
- package/src/lib/hooks/use-crm-bulk-apply.d.ts +52 -0
- package/src/lib/hooks/use-crm-bulk-apply.js +112 -0
- package/src/lib/hooks/use-crm-bulk-apply.js.map +1 -0
- package/src/lib/hooks/use-crm-default-view.d.ts +24 -0
- package/src/lib/hooks/use-crm-default-view.js +64 -0
- package/src/lib/hooks/use-crm-default-view.js.map +1 -0
- package/src/lib/hooks/use-crm-email-templates.d.ts +59 -0
- package/src/lib/hooks/use-crm-email-templates.js +103 -0
- package/src/lib/hooks/use-crm-email-templates.js.map +1 -0
- package/src/lib/hooks/use-crm-hub-path.d.ts +29 -0
- package/src/lib/hooks/use-crm-hub-path.js +41 -0
- package/src/lib/hooks/use-crm-hub-path.js.map +1 -0
- package/src/lib/hooks/use-crm-org-mount.d.ts +97 -0
- package/src/lib/hooks/use-crm-org-mount.js +215 -0
- package/src/lib/hooks/use-crm-org-mount.js.map +1 -0
- package/src/lib/hooks/use-crm-record-names.d.ts +52 -0
- package/src/lib/hooks/use-crm-record-names.js +126 -0
- package/src/lib/hooks/use-crm-record-names.js.map +1 -0
- package/src/lib/hooks/use-crm-records-quota.d.ts +68 -0
- package/src/lib/hooks/use-crm-records-quota.js +118 -0
- package/src/lib/hooks/use-crm-records-quota.js.map +1 -0
- package/src/lib/hooks/use-crm-saved-view.d.ts +96 -0
- package/src/lib/hooks/use-crm-saved-view.js +329 -0
- package/src/lib/hooks/use-crm-saved-view.js.map +1 -0
- package/src/lib/hooks/use-crm-scope.d.ts +117 -0
- package/src/lib/hooks/use-crm-scope.js +147 -0
- package/src/lib/hooks/use-crm-scope.js.map +1 -0
- package/src/lib/hooks/use-crm-tasks.d.ts +85 -0
- package/src/lib/hooks/use-crm-tasks.js +153 -0
- package/src/lib/hooks/use-crm-tasks.js.map +1 -0
- package/src/lib/hooks/use-crm-view-grid.d.ts +55 -0
- package/src/lib/hooks/use-crm-view-grid.js +170 -0
- package/src/lib/hooks/use-crm-view-grid.js.map +1 -0
- package/src/lib/hooks/use-crm-views.d.ts +42 -0
- package/src/lib/hooks/use-crm-views.js +84 -0
- package/src/lib/hooks/use-crm-views.js.map +1 -0
- package/src/lib/hooks/use-deal-stage-api.d.ts +69 -0
- package/src/lib/hooks/use-deal-stage-api.js +78 -0
- package/src/lib/hooks/use-deal-stage-api.js.map +1 -0
- package/src/lib/hooks/use-deals.d.ts +47 -0
- package/src/lib/hooks/use-deals.js +105 -0
- package/src/lib/hooks/use-deals.js.map +1 -0
- package/src/lib/hooks/use-org-leads.d.ts +53 -0
- package/src/lib/hooks/use-org-leads.js +114 -0
- package/src/lib/hooks/use-org-leads.js.map +1 -0
- package/src/lib/hooks/use-org-member-directory.d.ts +36 -0
- package/src/lib/hooks/use-org-member-directory.js +116 -0
- package/src/lib/hooks/use-org-member-directory.js.map +1 -0
- package/src/lib/hooks/use-org-member-options.d.ts +38 -0
- package/src/lib/hooks/use-org-member-options.js +131 -0
- package/src/lib/hooks/use-org-member-options.js.map +1 -0
- package/src/lib/hooks/use-pipeline.d.ts +71 -0
- package/src/lib/hooks/use-pipeline.js +159 -0
- package/src/lib/hooks/use-pipeline.js.map +1 -0
- package/src/lib/model/companies-bulk-writes.d.ts +40 -0
- package/src/lib/model/companies-bulk-writes.js +103 -0
- package/src/lib/model/companies-bulk-writes.js.map +1 -0
- package/src/lib/model/companies-csv.d.ts +36 -0
- package/src/lib/model/companies-csv.js +38 -0
- package/src/lib/model/companies-csv.js.map +1 -0
- package/src/lib/model/companies.d.ts +99 -0
- package/src/lib/model/companies.js +168 -0
- package/src/lib/model/companies.js.map +1 -0
- package/src/lib/model/company-delete-route.d.ts +43 -0
- package/src/lib/model/company-delete-route.js +31 -0
- package/src/lib/model/company-delete-route.js.map +1 -0
- package/src/lib/model/company-delete.d.ts +42 -0
- package/src/lib/model/company-delete.js +52 -0
- package/src/lib/model/company-delete.js.map +1 -0
- package/src/lib/model/contact-duplicates.d.ts +58 -0
- package/src/lib/model/contact-duplicates.js +67 -0
- package/src/lib/model/contact-duplicates.js.map +1 -0
- package/src/lib/model/contact-record.d.ts +113 -0
- package/src/lib/model/contact-record.js +70 -0
- package/src/lib/model/contact-record.js.map +1 -0
- package/src/lib/model/contact-update.d.ts +93 -0
- package/src/lib/model/contact-update.js +50 -0
- package/src/lib/model/contact-update.js.map +1 -0
- package/src/lib/model/contacts-bulk-writes.d.ts +173 -0
- package/src/lib/model/contacts-bulk-writes.js +196 -0
- package/src/lib/model/contacts-bulk-writes.js.map +1 -0
- package/src/lib/model/contacts-csv.d.ts +54 -0
- package/src/lib/model/contacts-csv.js +67 -0
- package/src/lib/model/contacts-csv.js.map +1 -0
- package/src/lib/model/contacts-list-seed.d.ts +51 -0
- package/src/lib/model/contacts-list-seed.js +63 -0
- package/src/lib/model/contacts-list-seed.js.map +1 -0
- package/src/lib/model/crm-activity-report.d.ts +27 -0
- package/src/lib/model/crm-activity-report.js +56 -0
- package/src/lib/model/crm-activity-report.js.map +1 -0
- package/src/lib/model/crm-api.d.ts +49 -0
- package/src/lib/model/crm-api.js +47 -0
- package/src/lib/model/crm-api.js.map +1 -0
- package/src/lib/model/crm-bulk-writes.d.ts +147 -0
- package/src/lib/model/crm-bulk-writes.js +207 -0
- package/src/lib/model/crm-bulk-writes.js.map +1 -0
- package/src/lib/model/crm-company-import.d.ts +154 -0
- package/src/lib/model/crm-company-import.js +331 -0
- package/src/lib/model/crm-company-import.js.map +1 -0
- package/src/lib/model/crm-custom-draft.d.ts +62 -0
- package/src/lib/model/crm-custom-draft.js +67 -0
- package/src/lib/model/crm-custom-draft.js.map +1 -0
- package/src/lib/model/crm-deal-import.d.ts +112 -0
- package/src/lib/model/crm-deal-import.js +263 -0
- package/src/lib/model/crm-deal-import.js.map +1 -0
- package/src/lib/model/crm-import.d.ts +244 -0
- package/src/lib/model/crm-import.js +466 -0
- package/src/lib/model/crm-import.js.map +1 -0
- package/src/lib/model/crm-lead-import.d.ts +105 -0
- package/src/lib/model/crm-lead-import.js +255 -0
- package/src/lib/model/crm-lead-import.js.map +1 -0
- package/src/lib/model/crm-record-routes.d.ts +21 -0
- package/src/lib/model/crm-record-routes.js +70 -0
- package/src/lib/model/crm-record-routes.js.map +1 -0
- package/src/lib/model/crm-routes.d.ts +101 -0
- package/src/lib/model/crm-routes.js +92 -0
- package/src/lib/model/crm-routes.js.map +1 -0
- package/src/lib/model/crm-task-import.d.ts +94 -0
- package/src/lib/model/crm-task-import.js +275 -0
- package/src/lib/model/crm-task-import.js.map +1 -0
- package/src/lib/model/crm-view-param.d.ts +43 -0
- package/src/lib/model/crm-view-param.js +49 -0
- package/src/lib/model/crm-view-param.js.map +1 -0
- package/src/lib/model/deal-board-model.d.ts +241 -0
- package/src/lib/model/deal-board-model.js +439 -0
- package/src/lib/model/deal-board-model.js.map +1 -0
- package/src/lib/model/deal-form-model.d.ts +114 -0
- package/src/lib/model/deal-form-model.js +218 -0
- package/src/lib/model/deal-form-model.js.map +1 -0
- package/src/lib/model/deals-csv.d.ts +32 -0
- package/src/lib/model/deals-csv.js +37 -0
- package/src/lib/model/deals-csv.js.map +1 -0
- package/src/lib/model/import-column-shapes.d.ts +36 -0
- package/src/lib/model/import-column-shapes.js +76 -0
- package/src/lib/model/import-column-shapes.js.map +1 -0
- package/src/lib/model/lead-company-suggestion.d.ts +61 -0
- package/src/lib/model/lead-company-suggestion.js +65 -0
- package/src/lib/model/lead-company-suggestion.js.map +1 -0
- package/src/lib/model/lead-filters.d.ts +29 -0
- package/src/lib/model/lead-filters.js +39 -0
- package/src/lib/model/lead-filters.js.map +1 -0
- package/src/lib/model/lead-surfaces.d.ts +58 -0
- package/src/lib/model/lead-surfaces.js +67 -0
- package/src/lib/model/lead-surfaces.js.map +1 -0
- package/src/lib/model/leads-csv.d.ts +40 -0
- package/src/lib/model/leads-csv.js +40 -0
- package/src/lib/model/leads-csv.js.map +1 -0
- package/src/lib/model/next-activity-api.d.ts +31 -0
- package/src/lib/model/next-activity-api.js +57 -0
- package/src/lib/model/next-activity-api.js.map +1 -0
- package/src/lib/model/next-activity.d.ts +64 -0
- package/src/lib/model/next-activity.js +47 -0
- package/src/lib/model/next-activity.js.map +1 -0
- package/src/lib/model/person-key-web.d.ts +43 -0
- package/src/lib/model/person-key-web.js +52 -0
- package/src/lib/model/person-key-web.js.map +1 -0
- package/src/lib/model/record-facts.d.ts +282 -0
- package/src/lib/model/record-facts.js +434 -0
- package/src/lib/model/record-facts.js.map +1 -0
- package/src/lib/model/task-api.d.ts +28 -0
- package/src/lib/model/task-api.js +57 -0
- package/src/lib/model/task-api.js.map +1 -0
- package/src/lib/model/task-calendar.d.ts +108 -0
- package/src/lib/model/task-calendar.js +139 -0
- package/src/lib/model/task-calendar.js.map +1 -0
- package/src/lib/model/task-routes.d.ts +177 -0
- package/src/lib/model/task-routes.js +197 -0
- package/src/lib/model/task-routes.js.map +1 -0
- package/src/lib/model/task-scope.d.ts +45 -0
- package/src/lib/model/task-scope.js +51 -0
- package/src/lib/model/task-scope.js.map +1 -0
- package/src/lib/model/task-views.d.ts +149 -0
- package/src/lib/model/task-views.js +286 -0
- package/src/lib/model/task-views.js.map +1 -0
- package/src/lib/model/tasks-csv.d.ts +28 -0
- package/src/lib/model/tasks-csv.js +28 -0
- package/src/lib/model/tasks-csv.js.map +1 -0
- package/src/lib/plugin.d.ts +32 -0
- package/src/lib/plugin.js +208 -0
- package/src/lib/plugin.js.map +1 -0
- package/src/lib/server/companies-import.d.ts +57 -0
- package/src/lib/server/companies-import.js +242 -0
- package/src/lib/server/companies-import.js.map +1 -0
- package/src/lib/server/company-delete.d.ts +59 -0
- package/src/lib/server/company-delete.js +146 -0
- package/src/lib/server/company-delete.js.map +1 -0
- package/src/lib/server/contact-email-history.d.ts +82 -0
- package/src/lib/server/contact-email-history.js +264 -0
- package/src/lib/server/contact-email-history.js.map +1 -0
- package/src/lib/server/contact-profile.d.ts +41 -0
- package/src/lib/server/contact-profile.js +45 -0
- package/src/lib/server/contact-profile.js.map +1 -0
- package/src/lib/server/contact-update.d.ts +92 -0
- package/src/lib/server/contact-update.js +512 -0
- package/src/lib/server/contact-update.js.map +1 -0
- package/src/lib/server/contacts-import.d.ts +73 -0
- package/src/lib/server/contacts-import.js +263 -0
- package/src/lib/server/contacts-import.js.map +1 -0
- package/src/lib/server/contacts-merge.d.ts +86 -0
- package/src/lib/server/contacts-merge.js +206 -0
- package/src/lib/server/contacts-merge.js.map +1 -0
- package/src/lib/server/deals-import.d.ts +76 -0
- package/src/lib/server/deals-import.js +246 -0
- package/src/lib/server/deals-import.js.map +1 -0
- package/src/lib/server/email-send.d.ts +119 -0
- package/src/lib/server/email-send.js +667 -0
- package/src/lib/server/email-send.js.map +1 -0
- package/src/lib/server/email-template-duplicate.d.ts +19 -0
- package/src/lib/server/email-template-duplicate.js +206 -0
- package/src/lib/server/email-template-duplicate.js.map +1 -0
- package/src/lib/server/erase-person.d.ts +108 -0
- package/src/lib/server/erase-person.js +309 -0
- package/src/lib/server/erase-person.js.map +1 -0
- package/src/lib/server/import-context.d.ts +85 -0
- package/src/lib/server/import-context.js +181 -0
- package/src/lib/server/import-context.js.map +1 -0
- package/src/lib/server/inbound-address.d.ts +61 -0
- package/src/lib/server/inbound-address.js +188 -0
- package/src/lib/server/inbound-address.js.map +1 -0
- package/src/lib/server/lead-convert.d.ts +78 -0
- package/src/lib/server/lead-convert.js +250 -0
- package/src/lib/server/lead-convert.js.map +1 -0
- package/src/lib/server/leads-import.d.ts +84 -0
- package/src/lib/server/leads-import.js +261 -0
- package/src/lib/server/leads-import.js.map +1 -0
- package/src/lib/server/next-activity-routes.d.ts +33 -0
- package/src/lib/server/next-activity-routes.js +110 -0
- package/src/lib/server/next-activity-routes.js.map +1 -0
- package/src/lib/server/org-activity.d.ts +61 -0
- package/src/lib/server/org-activity.js +120 -0
- package/src/lib/server/org-activity.js.map +1 -0
- package/src/lib/server/org-caller.d.ts +110 -0
- package/src/lib/server/org-caller.js +154 -0
- package/src/lib/server/org-caller.js.map +1 -0
- package/src/lib/server/recipe-routes.d.ts +75 -0
- package/src/lib/server/recipe-routes.js +442 -0
- package/src/lib/server/recipe-routes.js.map +1 -0
- package/src/lib/server/record-facts.d.ts +65 -0
- package/src/lib/server/record-facts.js +337 -0
- package/src/lib/server/record-facts.js.map +1 -0
- package/src/lib/server/record-timeline.d.ts +51 -0
- package/src/lib/server/record-timeline.js +215 -0
- package/src/lib/server/record-timeline.js.map +1 -0
- package/src/lib/server/suite-gate.d.ts +42 -0
- package/src/lib/server/suite-gate.js +87 -0
- package/src/lib/server/suite-gate.js.map +1 -0
- package/src/lib/server/task-routes.d.ts +132 -0
- package/src/lib/server/task-routes.js +699 -0
- package/src/lib/server/task-routes.js.map +1 -0
- package/src/lib/server/tasks-import.d.ts +54 -0
- package/src/lib/server/tasks-import.js +157 -0
- package/src/lib/server/tasks-import.js.map +1 -0
- package/src/lib/server-deal-stage.d.ts +88 -0
- package/src/lib/server-deal-stage.js +316 -0
- package/src/lib/server-deal-stage.js.map +1 -0
- package/src/lib/server.d.ts +149 -0
- package/src/lib/server.js +615 -0
- package/src/lib/server.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/plugins/crm/src/lib/components/sending-addresses-card.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n'use client'\n\nimport { pluginDocsHelp } from '@aglyn/aglyn'\nimport {\n MEMBER_EMAIL_ALIAS_CONFIRM_PARAM,\n MEMBER_EMAIL_ALIASES_MAX,\n} from '@aglyn/aglyn/app-utils/member-email-aliases'\nimport { CardDisplay, useConfirmationContext } from '@aglyn/shared-ui-jsx'\nimport { useSnackbar } from '@aglyn/shared-ui-snackstack'\nimport {\n Box,\n Button,\n Chip,\n List,\n ListItem,\n ListItemText,\n Stack,\n TextField,\n Typography,\n} from '@mui/material'\nimport { useEffect, useRef, useState } from 'react'\nimport { useMemberEmailAliases } from './use-member-email-aliases'\n\nexport interface SendingAddressesCardProps {\n /** The workspace the list is kept in, or `null` until the scope resolves. */\n orgId: string | null\n /** Whether the scope is known, so the list may be asked for. */\n ready: boolean\n}\n\n/** The one sentence that says what the list is for. */\nexport const SENDING_ADDRESSES_EXPLANATION =\n 'Emails you send from these addresses and BCC to your capture address are filed under the person you wrote to.'\n\n/** The state of an address whose confirmation email has gone out. */\nexport const VERIFICATION_SENT_LABEL = 'Verification email sent'\n\n/** The state of an address the member has confirmed. */\nexport const VERIFIED_LABEL = 'Verified'\n\n/**\n * \"Your sending addresses\" — the signed-in member's own addresses in this\n * workspace (AGL-2975), beside the Email capture card they are for.\n *\n * A member who sends outreach from an address they do not sign in with — a\n * Gmail send-as alias on an outbound domain — adds it here. It is sent a\n * verification email, and once the member opens that link while signed in\n * the address is theirs: a message from it copied to the capture address is\n * filed under the person it was written to, not under the alias. Until\n * then the address does nothing, which is why its state is printed on the\n * row rather than implied.\n *\n * The list is each member's own, so every member sees and edits only theirs,\n * under a site or at the organization level alike. The verification link\n * lands back on this page, and this card is what redeems it.\n */\nexport function SendingAddressesCard(props: SendingAddressesCardProps) {\n const { orgId, ready } = props\n const enabled = ready && Boolean(orgId)\n const aliases = useMemberEmailAliases(orgId, { enabled })\n const { enqueueSnackbar } = useSnackbar()\n const { confirm } = useConfirmationContext()\n const [draft, setDraft] = useState('')\n\n // The verification link, redeemed once. The token leaves the address bar\n // at once, so a copied or bookmarked URL does not carry it around.\n const redeemed = useRef(false)\n const confirmAddress = aliases.confirm\n useEffect(() => {\n if (!enabled || redeemed.current || typeof window === 'undefined') return\n const params = new URLSearchParams(window.location.search)\n const token = params.get(MEMBER_EMAIL_ALIAS_CONFIRM_PARAM)\n if (!token) return\n redeemed.current = true\n params.delete(MEMBER_EMAIL_ALIAS_CONFIRM_PARAM)\n const query = params.toString()\n window.history.replaceState(\n window.history.state,\n '',\n `${window.location.pathname}${query ? `?${query}` : ''}${window.location.hash}`,\n )\n void confirmAddress(token).then((result) => {\n if (result.ok === false) {\n enqueueSnackbar(result.error, { variant: 'error', allowDuplicate: true })\n return\n }\n enqueueSnackbar(`${String(result.payload['address'] ?? 'Address')} verified`, {\n variant: 'success',\n })\n })\n }, [enabled, confirmAddress, enqueueSnackbar])\n\n const handleAdd = async () => {\n const address = draft.trim()\n if (!address) return\n const result = await aliases.add(address)\n if (result.ok === false) {\n enqueueSnackbar(result.error, { variant: 'error', allowDuplicate: true })\n return\n }\n setDraft('')\n enqueueSnackbar(VERIFICATION_SENT_LABEL, { variant: 'success' })\n }\n\n const handleResend = async (address: string) => {\n const result = await aliases.resend(address)\n if (result.ok === false) {\n enqueueSnackbar(result.error, { variant: 'error', allowDuplicate: true })\n return\n }\n enqueueSnackbar(VERIFICATION_SENT_LABEL, { variant: 'success' })\n }\n\n const handleRemove = async (address: string, verified: boolean) => {\n if (verified) {\n const confirmed = await confirm({\n title: `Remove ${address}?`,\n description:\n 'Email you send from it stops being filed as yours. Adding it again ' +\n 'sends a new verification email.',\n confirmationText: 'Remove',\n confirmationButtonProps: { color: 'error' },\n })\n .then(() => true)\n .catch(() => false)\n if (!confirmed) return\n }\n const result = await aliases.remove(address)\n if (result.ok === false) {\n enqueueSnackbar(result.error, { variant: 'error', allowDuplicate: true })\n return\n }\n enqueueSnackbar('Address removed', { variant: 'success', persist: false })\n }\n\n const atCap = aliases.aliases.length >= MEMBER_EMAIL_ALIASES_MAX\n const canEdit = enabled && aliases.status === 'ready' && !aliases.busy\n return (\n <CardDisplay\n header={'Your sending addresses'}\n help={pluginDocsHelp('crmSettings', { anchor: '#your-sending-addresses' })}\n contentGutterX\n contentGutterY\n >\n <Stack spacing={1.5} sx={{ maxWidth: 560 }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {SENDING_ADDRESSES_EXPLANATION}\n </Typography>\n {aliases.signInEmail ? (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {`You sign in as ${aliases.signInEmail}, which already counts as yours.`}\n </Typography>\n ) : null}\n {aliases.status === 'error' ? (\n <Typography variant=\"body2\" color=\"error\">\n {aliases.error}\n </Typography>\n ) : null}\n {aliases.aliases.length > 0 ? (\n <Box sx={{ border: 1, borderColor: 'divider', borderRadius: 2, overflow: 'hidden' }}>\n <List dense disablePadding aria-label=\"Your sending addresses\">\n {aliases.aliases.map((row) => (\n <ListItem\n key={row.address}\n divider\n secondaryAction={\n <Stack direction=\"row\" spacing={1} sx={{ alignItems: 'center' }}>\n {!row.verified ? (\n <Button\n size=\"small\"\n disabled={!canEdit}\n aria-label={`Resend the verification email to ${row.address}`}\n onClick={() => void handleResend(row.address)}\n >\n {'Resend'}\n </Button>\n ) : null}\n <Button\n size=\"small\"\n color=\"error\"\n disabled={!canEdit}\n aria-label={`Remove ${row.address}`}\n onClick={() => void handleRemove(row.address, row.verified)}\n >\n {'Remove'}\n </Button>\n </Stack>\n }\n >\n <ListItemText\n primary={row.address}\n secondary={\n <Chip\n size=\"small\"\n variant=\"outlined\"\n color={row.verified ? 'success' : 'warning'}\n label={row.verified ? VERIFIED_LABEL : VERIFICATION_SENT_LABEL}\n sx={{ mt: 0.5 }}\n />\n }\n slotProps={{ secondary: { component: 'div' } }}\n />\n </ListItem>\n ))}\n </List>\n </Box>\n ) : null}\n <Stack direction=\"row\" spacing={1} sx={{ alignItems: 'flex-start' }}>\n <TextField\n size=\"small\"\n fullWidth\n type=\"email\"\n label=\"Add an address you send from\"\n value={draft}\n disabled={!canEdit || atCap}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Enter') void handleAdd()\n }}\n helperText={\n atCap\n ? `You can keep up to ${MEMBER_EMAIL_ALIASES_MAX} addresses.`\n : 'We email it a link. It counts once you open that link while signed in.'\n }\n />\n <Button\n variant=\"outlined\"\n disabled={!canEdit || atCap || !draft.trim()}\n onClick={() => void handleAdd()}\n sx={{ mt: 0.25 }}\n >\n {'Add'}\n </Button>\n </Stack>\n </Stack>\n </CardDisplay>\n )\n}\nSendingAddressesCard.displayName = 'SendingAddressesCard'\n\nexport default SendingAddressesCard\n"],"names":["pluginDocsHelp","MEMBER_EMAIL_ALIAS_CONFIRM_PARAM","MEMBER_EMAIL_ALIASES_MAX","CardDisplay","useConfirmationContext","useSnackbar","Box","Button","Chip","List","ListItem","ListItemText","Stack","TextField","Typography","useEffect","useRef","useState","useMemberEmailAliases","SENDING_ADDRESSES_EXPLANATION","VERIFICATION_SENT_LABEL","VERIFIED_LABEL","SendingAddressesCard","props","orgId","ready","enabled","Boolean","aliases","enqueueSnackbar","confirm","draft","setDraft","redeemed","confirmAddress","current","window","params","URLSearchParams","location","search","token","get","delete","query","toString","history","replaceState","state","pathname","hash","then","result","ok","error","variant","allowDuplicate","String","payload","handleAdd","address","trim","add","handleResend","resend","handleRemove","verified","confirmed","title","description","confirmationText","confirmationButtonProps","color","catch","remove","persist","atCap","length","canEdit","status","busy","header","help","anchor","contentGutterX","contentGutterY","spacing","sx","maxWidth","signInEmail","border","borderColor","borderRadius","overflow","dense","disablePadding","aria-label","map","row","divider","secondaryAction","direction","alignItems","size","disabled","onClick","primary","secondary","label","mt","slotProps","component","fullWidth","type","value","onChange","event","target","onKeyDown","key","helperText","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { type AglynOrgBilling, type ConsolePluginPageProps } from '@aglyn/aglyn';
|
|
2
|
+
export type CrmSettingsSectionProps = Pick<ConsolePluginPageProps, 'hostId' | 'org'>;
|
|
3
|
+
/**
|
|
4
|
+
* Whether the signed-in member may change an org-wide CRM setting, and
|
|
5
|
+
* whether that is known yet.
|
|
6
|
+
*
|
|
7
|
+
* The org document's client branch admits an OWNER or ADMIN and nobody
|
|
8
|
+
* else — `canManageOrg()` in the rules — so the question is the caller's
|
|
9
|
+
* org role, read off their own membership document, which the rules let a
|
|
10
|
+
* member read for themselves. A scoped collaborator, an editor, a viewer:
|
|
11
|
+
* each sees the switch and cannot move it, with the reason beside it,
|
|
12
|
+
* rather than a switch that moves and snaps back with a bare
|
|
13
|
+
* `permission-denied`. `ready` separates "no" from "not yet", so the
|
|
14
|
+
* control disables with a reason instead of hiding until the read lands.
|
|
15
|
+
*/
|
|
16
|
+
export declare function useCanManageCrmSettings(orgId: string | undefined): {
|
|
17
|
+
canManage: boolean;
|
|
18
|
+
ready: boolean;
|
|
19
|
+
};
|
|
20
|
+
export interface AutoCreateCompaniesCardProps {
|
|
21
|
+
/** The site the section is read under, or `null` at the organization level. */
|
|
22
|
+
hostId: string | null;
|
|
23
|
+
org?: Partial<AglynOrgBilling> | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* "Create companies from work email domains" — the org's one switch over
|
|
27
|
+
* what a capture does with a company nobody has filed yet (AGL-2613).
|
|
28
|
+
*
|
|
29
|
+
* ## What the switch decides, and what it does not
|
|
30
|
+
*
|
|
31
|
+
* A contact captured from `jane@acme.com` is linked to the company at
|
|
32
|
+
* `acme.com` whether this is on or off, provided exactly one such company
|
|
33
|
+
* is visible to the capturing site. The switch decides the case where NO
|
|
34
|
+
* company carries the domain: on, the capture creates one named after the
|
|
35
|
+
* domain and links the contact; off — the default — it creates nothing and
|
|
36
|
+
* the contact waits for a person to file them. Public mailbox domains never
|
|
37
|
+
* create a company either way; a workspace's consumer list is not a list
|
|
38
|
+
* of accounts.
|
|
39
|
+
*
|
|
40
|
+
* ## Written where it is read
|
|
41
|
+
*
|
|
42
|
+
* One dotted-path `update()` onto `orgs/{orgId}`, so the org's other keys
|
|
43
|
+
* are untouched and the map under `crm` can grow a key per setting. The
|
|
44
|
+
* shell's org listener delivers the new value back, which is what the
|
|
45
|
+
* switch reflects; a local copy holds the click only until then.
|
|
46
|
+
*/
|
|
47
|
+
export declare function AutoCreateCompaniesCard(props: AutoCreateCompaniesCardProps): import("react").JSX.Element;
|
|
48
|
+
export declare namespace AutoCreateCompaniesCard {
|
|
49
|
+
var displayName: string;
|
|
50
|
+
}
|
|
51
|
+
export interface AssignmentCardProps {
|
|
52
|
+
/** The site the section is read under, or `null` at the organization level. */
|
|
53
|
+
hostId: string | null;
|
|
54
|
+
org?: Partial<AglynOrgBilling> | null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* "Default owner" — who gets the records captured on a site when no
|
|
58
|
+
* assignment rule claims them (AGL-2618).
|
|
59
|
+
*
|
|
60
|
+
* Per site, on the org document: the reader is the org-level assignment
|
|
61
|
+
* pass, which reads one document for every site's default, and the writer
|
|
62
|
+
* is the same owner-or-admin the rest of the `crm` map admits. Under a
|
|
63
|
+
* site the card is that site's one picker; at the ORGANIZATION level
|
|
64
|
+
* (AGL-2630) it is one picker per site in the org, because the map is per
|
|
65
|
+
* site and this is the one place all of it is on screen at once. The
|
|
66
|
+
* field is addressed by `FieldPath` segments rather than a dotted string
|
|
67
|
+
* because a host id is a document id and may contain a dot — joined with
|
|
68
|
+
* dots, the write would land beside the setting rather than in it.
|
|
69
|
+
* Clearing a picker deletes its field, so an org that once set a default
|
|
70
|
+
* and unset it reads exactly like one that never did.
|
|
71
|
+
*/
|
|
72
|
+
export declare function DefaultOwnerCard(props: AssignmentCardProps): import("react").JSX.Element;
|
|
73
|
+
export declare namespace DefaultOwnerCard {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* "Assignment rules" — the ordered list the capture pass tries first
|
|
78
|
+
* (AGL-2618), with Add rule in a drawer, reorder and delete.
|
|
79
|
+
*
|
|
80
|
+
* ## The whole list is the unit of write
|
|
81
|
+
*
|
|
82
|
+
* The rules are an array on the org document and every edit — a new rule,
|
|
83
|
+
* a move, a delete — writes the whole array by its dotted path. A per-rule
|
|
84
|
+
* write has no address (an array element is not a field), and the list is
|
|
85
|
+
* bounded at fifty, so the write is small. The array the card writes is
|
|
86
|
+
* the array it read off the org prop plus the one edit, so two admins
|
|
87
|
+
* editing at once last-write-wins at the granularity of one edit, which
|
|
88
|
+
* is what a list this short and this rarely edited needs.
|
|
89
|
+
*
|
|
90
|
+
* ## First match wins, so order is the meaning
|
|
91
|
+
*
|
|
92
|
+
* A rule's position is a fact about it — "bookings go to Kim, and
|
|
93
|
+
* everything else to Sam" is two rules in that order and nonsense in the
|
|
94
|
+
* other — which is why the reorder controls sit in the first column and
|
|
95
|
+
* the row reads "1st, 2nd…" rather than a name. Up and down rather than
|
|
96
|
+
* drag, the way the custom-field list does it: a drag handle needs a
|
|
97
|
+
* pointer, and the reorder is rare.
|
|
98
|
+
*/
|
|
99
|
+
export declare function AssignmentRulesCard(props: AssignmentCardProps): import("react").JSX.Element;
|
|
100
|
+
export declare namespace AssignmentRulesCard {
|
|
101
|
+
var displayName: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* "Round robin" — the members handed records in turn (AGL-2618).
|
|
105
|
+
*
|
|
106
|
+
* The pool is the roster with a checkbox per member, and its ORDER is the
|
|
107
|
+
* order members were checked: a member checked later joins the end of the
|
|
108
|
+
* rotation, and unchecking removes them without disturbing the others. The
|
|
109
|
+
* pointer — who got the last record — is the server's to move and is only
|
|
110
|
+
* read here, as "next up", so an admin can see where the rotation stands
|
|
111
|
+
* without being able to put a thumb on it.
|
|
112
|
+
*/
|
|
113
|
+
export declare function RoundRobinCard(props: AssignmentCardProps): import("react").JSX.Element;
|
|
114
|
+
export declare namespace RoundRobinCard {
|
|
115
|
+
var displayName: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* `/crm/settings` — what the CRM does on its own, for every site in the
|
|
119
|
+
* workspace (AGL-2613).
|
|
120
|
+
*
|
|
121
|
+
* A stack of cards, one per concern, so a later setting arrives as a card
|
|
122
|
+
* beside this one rather than a field inside it. Every card writes the org
|
|
123
|
+
* document, because a CRM setting is a fact about how the business files
|
|
124
|
+
* people and not about one site; the section is reached from a site's hub
|
|
125
|
+
* or from the organization's (AGL-2630), and writes the same document from
|
|
126
|
+
* either. The one per-site setting — the default owner — is the site's
|
|
127
|
+
* slot in an org-wide map: under a site the card names the site it is for,
|
|
128
|
+
* and at the organization level it lists every site's slot.
|
|
129
|
+
*
|
|
130
|
+
* The Recipes card (AGL-2639) is the one card that mounts at the
|
|
131
|
+
* ORGANIZATION level only. It installs an automation onto a site of the
|
|
132
|
+
* reader's choosing, which is the org's need; under a site the Actions
|
|
133
|
+
* page's own Recipes menu is the door, and a second one here would write
|
|
134
|
+
* the same action by a different route. Last, because the welcome recipe
|
|
135
|
+
* leans on the round-robin pool set up in the card above it.
|
|
136
|
+
*
|
|
137
|
+
* The Email templates card (AGL-2658) is the one card every CRM editor may
|
|
138
|
+
* write to — a template is working material, not policy — and mounts at
|
|
139
|
+
* both levels, listing the site's letters under a site and the whole
|
|
140
|
+
* workspace's from the organization's hub.
|
|
141
|
+
*
|
|
142
|
+
* Your sending addresses (AGL-2975) sits directly under Email capture,
|
|
143
|
+
* because it is where a member who copies that address from an alias looks
|
|
144
|
+
* next: it is the reader's OWN list, at both levels, and writes through the
|
|
145
|
+
* core route rather than the org document.
|
|
146
|
+
*/
|
|
147
|
+
export declare function CrmSettingsSection(props: CrmSettingsSectionProps): import("react").JSX.Element;
|
|
148
|
+
export declare namespace CrmSettingsSection {
|
|
149
|
+
var displayName: string;
|
|
150
|
+
}
|
|
151
|
+
export default CrmSettingsSection;
|