themelia-react-ui 2.0.5 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +326 -0
- package/MIGRATION.md +858 -0
- package/README.md +35 -24
- package/dist/{accordion-B9MHG0cT.js → accordion-DNVqwEIC.js} +37 -37
- package/dist/accordion-DNVqwEIC.js.map +1 -0
- package/dist/action-menu-D5343RwT.js +286 -0
- package/dist/action-menu-D5343RwT.js.map +1 -0
- package/dist/ai-artifact-otrz9ZwS.js +1214 -0
- package/dist/ai-artifact-otrz9ZwS.js.map +1 -0
- package/dist/anchored-positioning-1U_eBFNx.js +9 -0
- package/dist/anchored-positioning-1U_eBFNx.js.map +1 -0
- package/dist/app-shell-CPN30Nb1.js +372 -0
- package/dist/app-shell-CPN30Nb1.js.map +1 -0
- package/dist/{attachment-Dg_69lPS.js → attachment-D2-fpfmv.js} +15 -15
- package/dist/{attachment-Dg_69lPS.js.map → attachment-D2-fpfmv.js.map} +1 -1
- package/dist/{auth-DTkkshS8.js → auth-g_oUTDDC.js} +236 -243
- package/dist/auth-g_oUTDDC.js.map +1 -0
- package/dist/{avatar-CeZaFmNH.js → avatar-Ca3Ihrq4.js} +4 -4
- package/dist/{avatar-CeZaFmNH.js.map → avatar-Ca3Ihrq4.js.map} +1 -1
- package/dist/{badge-xIiV_E7f.js → badge-oGiXblW7.js} +8 -9
- package/dist/badge-oGiXblW7.js.map +1 -0
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +2 -2
- package/dist/base/cards.js +3 -3
- package/dist/base/carousel.js +11 -11
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +7 -7
- package/dist/base/feedback.js +4 -4
- package/dist/base/forms-numeric.js +2 -2
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +13 -13
- package/dist/base/inline-edit.js.map +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +203 -2
- package/dist/base/media-gallery.js.map +1 -0
- package/dist/base/metadata-list.js +1 -1
- package/dist/base/navigation.js +7 -7
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +32 -22
- package/dist/base/qr-code.js.map +1 -1
- package/dist/base/repeaters.js +208 -198
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sidebar.js +2 -2
- package/dist/base/signature-pad.js +14 -14
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +8 -14
- package/dist/base/spinner.js.map +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +3 -3
- package/dist/base/toaster.js +2 -2
- package/dist/base/tree.js +2 -2
- package/dist/base/upload-queue.js +303 -2
- package/dist/base/upload-queue.js.map +1 -0
- package/dist/base/upload.js +3 -4
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-Cb8cuvyy.js → batch-action-bar-D6MZQNnC.js} +10 -10
- package/dist/{batch-action-bar-Cb8cuvyy.js.map → batch-action-bar-D6MZQNnC.js.map} +1 -1
- package/dist/blocks/admin.js +242 -228
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +398 -354
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/charts.js +1022 -0
- package/dist/blocks/analytics/charts.js.map +1 -0
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +173 -1392
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +1533 -1399
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -3
- package/dist/blocks/onboarding.js +91 -82
- package/dist/blocks/onboarding.js.map +1 -1
- package/dist/blocks/planning.js +25 -25
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +2 -2
- package/dist/breadcrumbs-CQ9JSlez.js +136 -0
- package/dist/breadcrumbs-CQ9JSlez.js.map +1 -0
- package/dist/{button-S2Cubiiz.js → button-rd6FiHfQ.js} +12 -8
- package/dist/button-rd6FiHfQ.js.map +1 -0
- package/dist/{buttons-BedGfygC.js → buttons-pZVgPTZn.js} +230 -246
- package/dist/buttons-pZVgPTZn.js.map +1 -0
- package/dist/{cards-rNX1M4Xn.js → cards-CgWyqvgZ.js} +25 -22
- package/dist/{cards-rNX1M4Xn.js.map → cards-CgWyqvgZ.js.map} +1 -1
- package/dist/cascader-Cf05pwaq.js +444 -0
- package/dist/cascader-Cf05pwaq.js.map +1 -0
- package/dist/{chart-Darg_0Kv.js → chart-CygRCyIZ.js} +5 -5
- package/dist/{chart-Darg_0Kv.js.map → chart-CygRCyIZ.js.map} +1 -1
- package/dist/{checkbox-fflqmODR.js → checkbox-Dy5_XBMZ.js} +4 -4
- package/dist/{checkbox-fflqmODR.js.map → checkbox-Dy5_XBMZ.js.map} +1 -1
- package/dist/{choice-inputs-zUgBZfE4.js → choice-inputs-oJEsrb5Y.js} +195 -184
- package/dist/choice-inputs-oJEsrb5Y.js.map +1 -0
- package/dist/{code-block-BzmM9Eig.js → code-block-BrLD7mCi.js} +44 -60
- package/dist/code-block-BrLD7mCi.js.map +1 -0
- package/dist/collapsible-CRCCg_bO.js +80 -0
- package/dist/collapsible-CRCCg_bO.js.map +1 -0
- package/dist/{collection-content-gDh1v6O4.js → collection-content-D7SoDlYd.js} +3 -3
- package/dist/{collection-content-gDh1v6O4.js.map → collection-content-D7SoDlYd.js.map} +1 -1
- package/dist/combobox-Dl6f6kHz.js +362 -0
- package/dist/combobox-Dl6f6kHz.js.map +1 -0
- package/dist/combobox-DrDXtSSt.js +929 -0
- package/dist/combobox-DrDXtSSt.js.map +1 -0
- package/dist/command-CjZ2VzKC.js +432 -0
- package/dist/command-CjZ2VzKC.js.map +1 -0
- package/dist/comments-C2MZyRmh.js +1214 -0
- package/dist/comments-C2MZyRmh.js.map +1 -0
- package/dist/components/base/accordion/accordion.d.ts +11 -3
- package/dist/components/base/action-menu/action-menu.d.ts +11 -3
- package/dist/components/base/buttons/button.d.ts +2 -2
- package/dist/components/base/buttons/index.d.ts +1 -1
- package/dist/components/base/buttons/loader-button.d.ts +6 -15
- package/dist/components/base/cards/index.d.ts +1 -1
- package/dist/components/base/cards/partials/card-body-context.d.ts +6 -0
- package/dist/components/base/cards/smart-card.d.ts +0 -2
- package/dist/components/base/cards/smart-card.types.d.ts +12 -10
- package/dist/components/base/cascader/cascader.d.ts +8 -2
- package/dist/components/base/cascader/cascader.types.d.ts +24 -2
- package/dist/components/base/cascader/index.d.ts +1 -1
- package/dist/components/base/choice-inputs/choice-types.d.ts +4 -0
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +7 -6
- package/dist/components/base/choice-inputs/switch.d.ts +1 -1
- package/dist/components/base/code-block/use-code-copy.d.ts +2 -6
- package/dist/components/base/combobox/combobox-field.d.ts +2 -2
- package/dist/components/base/command/command.d.ts +1 -1
- package/dist/components/base/date-pickers/date-picker-internals.d.ts +3 -1
- package/dist/components/base/date-pickers/datepicker.types.d.ts +11 -7
- package/dist/components/base/date-pickers/time-picker.d.ts +17 -3
- package/dist/components/base/display/dialog.d.ts +3 -9
- package/dist/components/base/display/index.d.ts +2 -3
- package/dist/components/base/display/separator.d.ts +1 -1
- package/dist/components/base/feedback/alert.d.ts +2 -1
- package/dist/components/base/feedback/empty.d.ts +10 -2
- package/dist/components/base/feedback/state-display.d.ts +5 -1
- package/dist/components/base/feedback/state-display.strings.d.ts +9 -0
- package/dist/components/base/forms/form-field.d.ts +7 -2
- package/dist/components/base/forms/workflow.d.ts +2 -2
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +4 -1
- package/dist/components/base/forms-numeric/decimal-input.d.ts +2 -2
- package/dist/components/base/forms-numeric/dimensions-input.d.ts +13 -18
- package/dist/components/base/forms-numeric/index.d.ts +3 -3
- package/dist/components/base/forms-numeric/numeric-composite-field.d.ts +12 -0
- package/dist/components/base/forms-numeric/weight-input.d.ts +6 -1
- package/dist/components/base/item/item.types.d.ts +6 -2
- package/dist/components/base/metadata-list/index.d.ts +1 -3
- package/dist/components/base/metadata-list/metadata-list.d.ts +4 -1
- package/dist/components/base/navigation/index.d.ts +2 -2
- package/dist/components/base/navigation/language-switcher.d.ts +17 -8
- package/dist/components/base/navigation/navigation-tabs.d.ts +8 -1
- package/dist/components/base/navigation/page-header/index.d.ts +1 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts +13 -17
- package/dist/components/base/navigation/pagination.d.ts +5 -5
- package/dist/components/base/popover/popover.recipes.d.ts +0 -1
- package/dist/components/base/qr-code/qr-code.d.ts +4 -0
- package/dist/components/base/repeaters/index.d.ts +1 -1
- package/dist/components/base/repeaters/key-value-editor.d.ts +6 -1
- package/dist/components/base/sheet/sheet.d.ts +6 -15
- package/dist/components/base/sidebar/index.d.ts +1 -6
- package/dist/components/base/sidebar/sidebar.d.ts +40 -10
- package/dist/components/base/skeleton/skeleton.d.ts +1 -1
- package/dist/components/base/structure/structure.types.d.ts +11 -2
- package/dist/components/base/text-inputs/index.d.ts +1 -1
- package/dist/components/base/tree/index.d.ts +1 -0
- package/dist/components/base/tree/tree.d.ts +2 -2
- package/dist/components/base/tree/tree.types.d.ts +7 -1
- package/dist/components/base/upload/avatar-upload.d.ts +2 -1
- package/dist/components/base/upload/file-upload.validation.d.ts +37 -1
- package/dist/components/base/upload/image-upload.d.ts +4 -1
- package/dist/components/base/upload/index.d.ts +3 -9
- package/dist/components/base/value-inputs/date-time-input.d.ts +4 -0
- package/dist/components/base/value-inputs/slider.d.ts +5 -2
- package/dist/components/blocks/admin/action-surfaces/index.d.ts +17 -4
- package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +9 -3
- package/dist/components/blocks/admin/index.d.ts +1 -1
- package/dist/components/blocks/ai/ai-artifact/ai-artifact.d.ts +1 -1
- package/dist/components/blocks/ai/ai-artifact/types.d.ts +9 -4
- package/dist/components/blocks/ai/ai-chain-of-thought/ai-chain-of-thought.d.ts +1 -1
- package/dist/components/blocks/ai/ai-chain-of-thought/types.d.ts +11 -1
- package/dist/components/blocks/ai/ai-citation/ai-citation.d.ts +1 -1
- package/dist/components/blocks/ai/ai-citation/types.d.ts +8 -0
- package/dist/components/blocks/ai/ai-confirmation/ai-confirmation.d.ts +1 -1
- package/dist/components/blocks/ai/ai-confirmation/types.d.ts +21 -5
- package/dist/components/blocks/ai/ai-feedback/types.d.ts +7 -2
- package/dist/components/blocks/ai/ai-inline-citation/types.d.ts +9 -3
- package/dist/components/blocks/ai/ai-package-info/ai-package-info.d.ts +1 -1
- package/dist/components/blocks/ai/ai-package-info/types.d.ts +6 -0
- package/dist/components/blocks/ai/ai-reasoning/types.d.ts +2 -0
- package/dist/components/blocks/ai/ai-sources/ai-sources.d.ts +1 -1
- package/dist/components/blocks/ai/ai-sources/types.d.ts +10 -2
- package/dist/components/blocks/ai/ai-task/ai-task.d.ts +1 -1
- package/dist/components/blocks/ai/ai-task/types.d.ts +10 -1
- package/dist/components/blocks/ai/ai-tool-call/ai-tool-call.d.ts +1 -1
- package/dist/components/blocks/ai/ai-tool-call/types.d.ts +8 -0
- package/dist/components/blocks/ai/ai.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/activity-heatmap/types.d.ts +1 -1
- package/dist/components/blocks/analytics/analytics.strings.d.ts +2 -0
- package/dist/components/blocks/analytics/atoms/metric-trend-chip.d.ts +11 -1
- package/dist/components/blocks/analytics/chart-card/chart-card.d.ts +7 -5
- package/dist/components/blocks/analytics/charts/index.d.ts +27 -0
- package/dist/components/blocks/analytics/index.d.ts +17 -24
- package/dist/components/blocks/analytics/metric/metric.d.ts +7 -3
- package/dist/components/blocks/analytics/metric-comparison/metric-comparison.d.ts +2 -0
- package/dist/components/blocks/analytics/metric-grid/metric-grid.d.ts +4 -5
- package/dist/components/blocks/analytics/types.d.ts +13 -4
- package/dist/components/blocks/analytics/usage-card/usage-card.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +5 -16
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +2 -2
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +6 -4
- package/dist/components/blocks/commerce/cart-summary/cart-summary.d.ts +0 -2
- package/dist/components/blocks/commerce/cart-summary/index.d.ts +2 -2
- package/dist/components/blocks/commerce/cart-summary/types.d.ts +9 -11
- package/dist/components/blocks/commerce/coupon-input/coupon-input.d.ts +1 -1
- package/dist/components/blocks/commerce/coupon-input/types.d.ts +7 -3
- package/dist/components/blocks/commerce/discount-stack/discount-stack.d.ts +0 -2
- package/dist/components/blocks/commerce/discount-stack/index.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +4 -6
- package/dist/components/blocks/commerce/fulfillment-group/fulfillment-group.d.ts +1 -1
- package/dist/components/blocks/commerce/fulfillment-group/types.d.ts +2 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-balance.d.ts +18 -0
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-compact.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-copy-button.d.ts +0 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-dark.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-full.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-illustrated.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/partials/giftcard-minimal.d.ts +1 -1
- package/dist/components/blocks/commerce/giftcard-card/types.d.ts +16 -5
- package/dist/components/blocks/commerce/index.d.ts +8 -8
- package/dist/components/blocks/commerce/inventory-level/inventory-level.strings.d.ts +2 -0
- package/dist/components/blocks/commerce/inventory-level/types.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +0 -5
- package/dist/components/blocks/commerce/invoice-line-items/types.d.ts +6 -3
- package/dist/components/blocks/commerce/loyalty-points/loyalty-points.d.ts +1 -1
- package/dist/components/blocks/commerce/loyalty-points/types.d.ts +11 -5
- package/dist/components/blocks/commerce/order-status/order-status.d.ts +1 -1
- package/dist/components/blocks/commerce/order-status/types.d.ts +12 -8
- package/dist/components/blocks/commerce/order-timeline/order-timeline.d.ts +1 -1
- package/dist/components/blocks/commerce/order-timeline/types.d.ts +3 -1
- package/dist/components/blocks/commerce/payment-method/index.d.ts +2 -2
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +0 -8
- package/dist/components/blocks/commerce/payment-method/types.d.ts +0 -2
- package/dist/components/blocks/commerce/receipt/index.d.ts +1 -1
- package/dist/components/blocks/commerce/receipt/receipt-items.d.ts +1 -1
- package/dist/components/blocks/commerce/receipt/types.d.ts +10 -0
- package/dist/components/blocks/commerce/refund-status/index.d.ts +2 -2
- package/dist/components/blocks/commerce/refund-status/refund-status.d.ts +0 -2
- package/dist/components/blocks/commerce/refund-status/types.d.ts +0 -2
- package/dist/components/blocks/commerce/seo-listing/types.d.ts +7 -0
- package/dist/components/blocks/commerce/shared/code-entry.d.ts +39 -0
- package/dist/components/blocks/commerce/shared/order-status.d.ts +1 -1
- package/dist/components/blocks/commerce/subscription-summary/subscription-summary.d.ts +1 -1
- package/dist/components/blocks/commerce/subscription-summary/types.d.ts +10 -1
- package/dist/components/blocks/commerce/upcoming-booking/index.d.ts +2 -1
- package/dist/components/blocks/commerce/upcoming-booking/types.d.ts +8 -0
- package/dist/components/blocks/commerce/upcoming-booking/upcoming-booking.d.ts +2 -2
- package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -5
- package/dist/components/blocks/commerce/voucher-entry/types.d.ts +6 -3
- package/dist/components/blocks/commerce/voucher-entry/voucher-entry.d.ts +1 -1
- package/dist/components/blocks/content-block-hooks.d.ts +22 -0
- package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +5 -1
- package/dist/components/blocks/data-display/dense-info-card/helpers.d.ts +3 -1
- package/dist/components/blocks/data-display/dense-info-card/index.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-classification.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-dashboard.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-financial.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-project.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/partials/dense-info-score.d.ts +1 -1
- package/dist/components/blocks/data-display/dense-info-card/types.d.ts +12 -5
- package/dist/components/blocks/data-display/empty-state/empty-state.types.d.ts +10 -3
- package/dist/components/blocks/data-display/index.d.ts +0 -1
- package/dist/components/blocks/data-display/relationship-card-frame.d.ts +1 -1
- package/dist/components/blocks/onboarding/checklist/checklist.types.d.ts +5 -3
- package/dist/components/blocks/planning/task-card.types.d.ts +7 -3
- package/dist/components/blocks/timelines/changelog/types.d.ts +2 -2
- package/dist/components/blocks/timelines/index.d.ts +2 -2
- package/dist/components/blocks/timelines/milestones/types.d.ts +2 -2
- package/dist/components/blocks/timelines/shared/timeline.d.ts +6 -0
- package/dist/components/blocks/timelines/steps-card/index.d.ts +2 -1
- package/dist/components/blocks/timelines/steps-card/steps-card.d.ts +2 -2
- package/dist/components/blocks/timelines/steps-card/types.d.ts +13 -1
- package/dist/components/features/activities/activities.strings.d.ts +5 -3
- package/dist/components/features/activities/activities.types.d.ts +46 -22
- package/dist/components/features/activities/hooks/use-activity-feed.d.ts +6 -0
- package/dist/components/features/activities/hooks/use-activity-resources.d.ts +2 -1
- package/dist/components/features/activities/index.d.ts +1 -1
- package/dist/components/features/activities/partials/activity-headline.d.ts +5 -0
- package/dist/components/features/activities/partials/activity-row.d.ts +12 -13
- package/dist/components/features/activities/partials/row-layers.d.ts +7 -0
- package/dist/components/features/activities/relative-time.d.ts +18 -0
- package/dist/components/features/ai-chat/ai-chat.d.ts +6 -2
- package/dist/components/features/ai-chat/ai-chat.strings.d.ts +41 -2
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +6 -0
- package/dist/components/features/ai-chat/hooks/use-ai-chat-scroll.d.ts +1 -1
- package/dist/components/features/ai-chat/partials/ai-chat-attachments-strip.d.ts +5 -1
- package/dist/components/features/ai-chat/partials/ai-chat-prompt-input.d.ts +2 -2
- package/dist/components/features/ai-chat/partials/ai-chat-queue.d.ts +3 -1
- package/dist/components/features/ai-chat/partials/ai-chat-suggestions-row.d.ts +6 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.d.ts +1 -1
- package/dist/components/features/appointment-calendar/appointment-calendar.types.d.ts +20 -4
- package/dist/components/features/appointment-calendar/index.d.ts +1 -1
- package/dist/components/features/appointment-calendar/partials/appointment-agenda.d.ts +18 -10
- package/dist/components/features/async-preview/async-preview.d.ts +2 -2
- package/dist/components/features/async-preview/async-preview.types.d.ts +30 -1
- package/dist/components/features/async-preview/preview-trigger-cell.d.ts +7 -2
- package/dist/components/features/combobox/async-resource-combobox.d.ts +2 -2
- package/dist/components/features/combobox/combobox.d.ts +12 -3
- package/dist/components/features/combobox/components/error-message.d.ts +3 -1
- package/dist/components/features/combobox/hooks/use-combobox-core.d.ts +4 -3
- package/dist/components/features/combobox/hooks/use-combobox-state.d.ts +1 -0
- package/dist/components/features/combobox/hooks/use-load-more.d.ts +1 -0
- package/dist/components/features/combobox/index.d.ts +1 -1
- package/dist/components/features/combobox/types.d.ts +68 -37
- package/dist/components/features/comments/comments.strings.d.ts +6 -5
- package/dist/components/features/comments/comments.types.d.ts +40 -26
- package/dist/components/features/comments/hooks/use-attachment-upload.d.ts +5 -1
- package/dist/components/features/comments/hooks/use-comments.d.ts +8 -1
- package/dist/components/features/data-view/data-view.strings.d.ts +9 -2
- package/dist/components/features/data-view/data-view.types.d.ts +15 -2
- package/dist/components/features/email-composer/email-html.d.ts +5 -0
- package/dist/components/features/email-composer/http.d.ts +2 -0
- package/dist/components/features/email-composer/strings.d.ts +17 -2
- package/dist/components/features/email-composer/types.d.ts +19 -2
- package/dist/components/features/email-composer/use-composer.d.ts +2 -78
- package/dist/components/features/event-calendar/event-calendar-day-cell.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-event-badge.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-header.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar-legend.d.ts +2 -2
- package/dist/components/features/event-calendar/event-calendar.d.ts +1 -1
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +126 -21
- package/dist/components/features/filters/facets/date-facet.d.ts +4 -2
- package/dist/components/features/filters/facets/range-facet.d.ts +24 -7
- package/dist/components/features/filters/filter-context.d.ts +9 -0
- package/dist/components/features/filters/filters.strings.d.ts +36 -3
- package/dist/components/features/filters/filters.types.d.ts +75 -8
- package/dist/components/features/filters/hooks/use-filter-draft.d.ts +1 -0
- package/dist/components/features/filters/index.d.ts +2 -2
- package/dist/components/features/filters/operator-options.d.ts +25 -2
- package/dist/components/features/filters/partials/active-filter-item.d.ts +0 -13
- package/dist/components/features/filters/partials/async-options-status.d.ts +32 -0
- package/dist/components/features/filters/partials/date-filter-content.d.ts +3 -2
- package/dist/components/features/filters/partials/filter-draft-footer.d.ts +11 -0
- package/dist/components/features/filters/partials/filter-operator-select.d.ts +4 -2
- package/dist/components/features/filters/partials/filter-pill.d.ts +5 -1
- package/dist/components/features/filters/partials/filter-popover-content.d.ts +4 -2
- package/dist/components/features/filters/partials/filter-tabs.d.ts +2 -1
- package/dist/components/features/filters/partials/range-filter-content.d.ts +12 -0
- package/dist/components/features/filters/partials/regular-filter-content.d.ts +1 -1
- package/dist/components/features/filters/utils/filter-utils.d.ts +34 -5
- package/dist/components/features/global-search/global-search-dialog.d.ts +7 -1
- package/dist/components/features/global-search/global-search.d.ts +7 -1
- package/dist/components/features/global-search/global-search.strings.d.ts +19 -3
- package/dist/components/features/global-search/global-search.types.d.ts +30 -6
- package/dist/components/features/global-search/index.d.ts +1 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +6 -1
- package/dist/components/features/global-search/partials/global-search-input.d.ts +2 -0
- package/dist/components/features/kanban/index.d.ts +2 -2
- package/dist/components/features/kanban/kanban-context.d.ts +4 -0
- package/dist/components/features/kanban/kanban-keyboard.d.ts +7 -2
- package/dist/components/features/kanban/kanban.d.ts +10 -1
- package/dist/components/features/kanban/kanban.strings.d.ts +11 -2
- package/dist/components/features/kanban/kanban.types.d.ts +26 -0
- package/dist/components/features/map/map.d.ts +4 -0
- package/dist/components/features/map/place-autocomplete.d.ts +10 -1
- package/dist/components/features/media-library/hooks/use-media-library.d.ts +3 -1
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +39 -3
- package/dist/components/features/media-library/media-library.types.d.ts +82 -9
- package/dist/components/features/media-library/partials/media-library-partials.d.ts +3 -3
- package/dist/components/features/mentions/hooks/use-mentions-search.d.ts +7 -0
- package/dist/components/features/mentions/hooks/use-mentions.d.ts +16 -1
- package/dist/components/features/mentions/index.d.ts +1 -1
- package/dist/components/features/mentions/mentions.strings.d.ts +10 -2
- package/dist/components/features/mentions/partials/mention-chip.d.ts +1 -0
- package/dist/components/features/mentions/partials/mention-inline-suggestions.d.ts +12 -1
- package/dist/components/features/mentions/partials/mention-picker.d.ts +8 -1
- package/dist/components/features/mentions/partials/mention-search-error.d.ts +6 -0
- package/dist/components/features/mentions/utils/index.d.ts +0 -1
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/dialog.d.ts +1 -1
- package/dist/components/features/overlays/drawer.d.ts +1 -1
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +2 -2
- package/dist/components/features/overlays/index.d.ts +2 -2
- package/dist/components/features/overlays/overlays.strings.d.ts +2 -1
- package/dist/components/features/overlays/overlays.types.d.ts +27 -10
- package/dist/components/features/products/components/index.d.ts +0 -10
- package/dist/components/features/products/components/product-contract-overview.d.ts +1 -1
- package/dist/components/features/products/components/product-details-card.d.ts +1 -1
- package/dist/components/features/products/components/product-operations-card.d.ts +1 -1
- package/dist/components/features/products/components/product-option-action-menu.d.ts +1 -1
- package/dist/components/features/products/components/product-options-summary.d.ts +1 -1
- package/dist/components/features/products/components/product-policies-card.d.ts +1 -1
- package/dist/components/features/products/components/product-quote-preview-card.d.ts +1 -1
- package/dist/components/features/products/components/product-readiness-card.d.ts +1 -1
- package/dist/components/features/products/components/product-structure-card.d.ts +1 -1
- package/dist/components/features/products/components/product-variant-action-menu.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/components/product-variants-table.d.ts +1 -1
- package/dist/components/features/products/partials/product-surface.d.ts +15 -0
- package/dist/components/features/products/products.strings.d.ts +8 -0
- package/dist/components/features/products/products.types.d.ts +26 -8
- package/dist/components/features/questionnaire/questionnaire.types.d.ts +7 -2
- package/dist/components/features/resource/index.d.ts +2 -3
- package/dist/components/features/resource/resource.d.ts +2 -10
- package/dist/components/features/resource/resource.types.d.ts +7 -147
- package/dist/components/features/resource-assignment/partials/assignment-surface.d.ts +15 -0
- package/dist/components/features/resource-assignment/resource-assignment.strings.d.ts +6 -1
- package/dist/components/features/resource-assignment/resource-assignment.types.d.ts +6 -0
- package/dist/components/features/rich-text-editor/form-rich-text-editor.d.ts +1 -1
- package/dist/components/features/rich-text-editor/partials/caret-helpers.d.ts +5 -7
- package/dist/components/features/rich-text-editor/partials/editor-field-aria.d.ts +14 -0
- package/dist/components/features/rich-text-editor/partials/html-helpers.d.ts +2 -3
- package/dist/components/features/rich-text-editor/partials/image-uploads.d.ts +6 -2
- package/dist/components/features/rich-text-editor/partials/index.d.ts +2 -3
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-tiptap.d.ts +0 -1
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-toolbar.d.ts +5 -4
- package/dist/components/features/rich-text-editor/rich-text-editor.recipes.d.ts +1 -1
- package/dist/components/features/rich-text-editor/rich-text-editor.types.d.ts +30 -4
- package/dist/components/features/schema-form/hooks/use-schema-form.d.ts +10 -1
- package/dist/components/features/schema-form/partials/schema-form-field.d.ts +3 -1
- package/dist/components/features/schema-form/schema-form.d.ts +1 -1
- package/dist/components/features/schema-form/schema-form.types.d.ts +13 -5
- package/dist/components/features/schema-form/schema-form.utils.d.ts +1 -1
- package/dist/components/features/suggestions/suggestions.strings.d.ts +14 -0
- package/dist/components/features/suggestions/suggestions.types.d.ts +13 -5
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/filter-bar.d.ts +1 -1
- package/dist/components/features/table/index.d.ts +1 -0
- package/dist/components/features/table/pagination.d.ts +1 -1
- package/dist/components/features/table/partials/cell-value.d.ts +1 -1
- package/dist/components/features/table/table-body.d.ts +1 -1
- package/dist/components/features/table/table-header.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +37 -12
- package/dist/components/features/table/table-region.recipes.d.ts +11 -0
- package/dist/components/features/table/table-toolbar.d.ts +1 -1
- package/dist/components/features/table/table.strings.d.ts +4 -0
- package/dist/components/features/table/table.types.d.ts +91 -49
- package/dist/components/features/theme-tweaker/theme-provider-settings.d.ts +4 -0
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +10 -7
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +17 -0
- package/dist/components/layout/app-shell/app-shell.types.d.ts +46 -49
- package/dist/components/layout/app-shell/index.d.ts +2 -2
- package/dist/components/layout/app-shell/shell-regions.d.ts +9 -0
- package/dist/components/layout/app-shell/shell-skip-link.d.ts +9 -0
- package/dist/components/layout/app-shell/sidebar-inset-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/stacked-layout.d.ts +1 -1
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/auth/auth-shell.d.ts +1 -1
- package/dist/components/layout/auth/auth.types.d.ts +0 -5
- package/dist/components/layout/containers/inline-gutter-context.d.ts +7 -0
- package/dist/components/layout/containers/main-landmark-context.d.ts +6 -0
- package/dist/components/layout/header/header.types.d.ts +19 -8
- package/dist/components/layout/header/partials/header-global-search-trigger.d.ts +1 -1
- package/dist/components/layout/header/partials/header-notifications.d.ts +1 -1
- package/dist/components/layout/header/partials/header-search.d.ts +1 -1
- package/dist/components/layout/hooks/use-command-shortcut.d.ts +10 -1
- package/dist/components/layout/layout.types.d.ts +6 -4
- package/dist/components/layout/navigation/breadcrumb-progress/breadcrumb-progress.d.ts +1 -1
- package/dist/components/layout/navigation/breadcrumb-progress/types.d.ts +9 -0
- package/dist/components/layout/navigation/section-nav/section-nav.d.ts +8 -1
- package/dist/components/layout/navigation/side-nav.d.ts +3 -2
- package/dist/components/layout/normalize-layout-path.d.ts +1 -0
- package/dist/components/layout/page/index.d.ts +2 -3
- package/dist/components/layout/page/page.strings.d.ts +12 -0
- package/dist/components/layout/page/page.types.d.ts +7 -110
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/layout/settings/index.d.ts +1 -1
- package/dist/components/layout/settings/settings.d.ts +4 -6
- package/dist/components/layout/sidebar/app-sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-grouped-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation-footer.d.ts +1 -1
- package/dist/components/layout/sidebar/components/sidebar-navigation.d.ts +1 -1
- package/dist/components/layout/sidebar/index.d.ts +1 -1
- package/dist/components/layout/sidebar/sidebar-navigation-rail.d.ts +17 -7
- package/dist/components/layout/sidebar/sidebar.context.d.ts +1 -0
- package/dist/components/layout/sidebar/sidebar.types.d.ts +12 -12
- package/dist/components/layout/sidebar/sidebar.utils.d.ts +4 -0
- package/dist/components/layout/workspace/workspace.strings.d.ts +2 -2
- package/dist/components/layout/workspace/workspace.types.d.ts +13 -7
- package/dist/components/primitives/date.d.ts +22 -3
- package/dist/components/primitives/file-size.d.ts +8 -2
- package/dist/components/primitives/index.d.ts +1 -1
- package/dist/components/primitives/initials.d.ts +3 -1
- package/dist/components/primitives/link.d.ts +11 -3
- package/dist/components/primitives/money.d.ts +2 -2
- package/dist/components/primitives/number.d.ts +3 -2
- package/dist/components/typography/heading.d.ts +9 -3
- package/dist/components/typography/index.d.ts +1 -1
- package/dist/components/typography/rich-text/rich-text-tree.d.ts +7 -5
- package/dist/components/typography/text-link.d.ts +10 -3
- package/dist/components/ui/badge.d.ts +2 -4
- package/dist/components/ui/breadcrumb.d.ts +2 -3
- package/dist/components/ui/button.d.ts +8 -2
- package/dist/components/ui/collapsible.d.ts +1 -4
- package/dist/components/ui/command.d.ts +20 -18
- package/dist/components/ui/dialog.d.ts +3 -9
- package/dist/components/ui/empty.d.ts +2 -2
- package/dist/components/ui/input-group.d.ts +3 -3
- package/dist/components/ui/item.d.ts +3 -3
- package/dist/components/ui/popover.d.ts +3 -7
- package/dist/components/ui/sheet.d.ts +4 -12
- package/dist/components/ui/sidebar-state.d.ts +6 -1
- package/dist/components/ui/sidebar.d.ts +7 -4
- package/dist/components/ui/tabs.d.ts +2 -2
- package/dist/components/ui/toggle-group.d.ts +3 -3
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/components/ui/tooltip.d.ts +1 -3
- package/dist/{containers-CIxwbZt5.js → containers-BdfLTP4w.js} +37 -32
- package/dist/containers-BdfLTP4w.js.map +1 -0
- package/dist/content-block-hooks-Z3iKjqd1.js +17 -0
- package/dist/content-block-hooks-Z3iKjqd1.js.map +1 -0
- package/dist/{copyable-DIznBqiT.js → copyable-Bmr14W0d.js} +6 -6
- package/dist/{copyable-DIznBqiT.js.map → copyable-Bmr14W0d.js.map} +1 -1
- package/dist/{data-display-BdgCAw8T.js → data-display-CWe9SOYh.js} +264 -250
- package/dist/data-display-CWe9SOYh.js.map +1 -0
- package/dist/date-3qsCE1ID.js +209 -0
- package/dist/date-3qsCE1ID.js.map +1 -0
- package/dist/date-picker-D1keJQIG.js +1617 -0
- package/dist/date-picker-D1keJQIG.js.map +1 -0
- package/dist/date-pickers-D8aJoeHc.js +185 -0
- package/dist/date-pickers-D8aJoeHc.js.map +1 -0
- package/dist/disclosure-panel-B0HFNZ9x.js.map +1 -1
- package/dist/{display-KsZLw9Ov.js → display-VlmP1I0i.js} +23 -46
- package/dist/display-VlmP1I0i.js.map +1 -0
- package/dist/{dropdown-menu-CLs8Lihj.js → dropdown-menu-B8hjvbkS.js} +9 -9
- package/dist/{dropdown-menu-CLs8Lihj.js.map → dropdown-menu-B8hjvbkS.js.map} +1 -1
- package/dist/dropzone-CHBNK3de.js +116 -0
- package/dist/dropzone-CHBNK3de.js.map +1 -0
- package/dist/features/activities.js +767 -700
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +280 -235
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/appointment-calendar.js +430 -334
- package/dist/features/appointment-calendar.js.map +1 -1
- package/dist/features/async-preview.js +351 -265
- package/dist/features/async-preview.js.map +1 -1
- package/dist/features/combobox.js +2 -2
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +212 -151
- package/dist/features/data-view.js.map +1 -1
- package/dist/features/email-composer/engine.js +1 -1
- package/dist/features/email-composer.js +347 -313
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +501 -348
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +2 -2
- package/dist/features/global-search.js +250 -210
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +280 -210
- package/dist/features/kanban.js.map +1 -1
- package/dist/features/map/style.css +15 -0
- package/dist/features/map.js +435 -404
- package/dist/features/map.js.map +1 -1
- package/dist/features/media-library.js +1745 -1195
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +2 -2
- package/dist/features/overlays.js +2 -2
- package/dist/features/products.js +1862 -1759
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +188 -168
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +223 -191
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +55 -217
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +28 -19
- package/dist/features/rich-text-editor.js.map +1 -1
- package/dist/features/schema-form.js +380 -287
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +90 -74
- package/dist/features/suggestions.js.map +1 -1
- package/dist/features/table.js +2 -2
- package/dist/features/theme-tweaker.js +718 -627
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/feedback-DmqmXKLn.js +254 -0
- package/dist/feedback-DmqmXKLn.js.map +1 -0
- package/dist/{field-affordance-recipes-DWcNcOjh.js → field-affordance-recipes-DfbMadot.js} +13 -9
- package/dist/field-affordance-recipes-DfbMadot.js.map +1 -0
- package/dist/field-control-attributes-B6i335wr.js +18 -0
- package/dist/field-control-attributes-B6i335wr.js.map +1 -0
- package/dist/field-state-recipes-EtCxpEy3.js +18 -0
- package/dist/field-state-recipes-EtCxpEy3.js.map +1 -0
- package/dist/filters-BviMRMLS.js +2692 -0
- package/dist/filters-BviMRMLS.js.map +1 -0
- package/dist/{focus-recipes-B653VaLq.js → focus-recipes-DSkiUvUp.js} +3 -3
- package/dist/focus-recipes-DSkiUvUp.js.map +1 -0
- package/dist/form-field-BdfCwSoQ.js +74 -0
- package/dist/form-field-BdfCwSoQ.js.map +1 -0
- package/dist/{form-sizing-Bs2qFUeE.js → form-sizing-DE_dZw32.js} +3 -3
- package/dist/{form-sizing-Bs2qFUeE.js.map → form-sizing-DE_dZw32.js.map} +1 -1
- package/dist/{forms-C0RGnJTe.js → forms-B8DzJnBN.js} +35 -35
- package/dist/forms-B8DzJnBN.js.map +1 -0
- package/dist/forms-numeric-DOBswjKj.js +992 -0
- package/dist/forms-numeric-DOBswjKj.js.map +1 -0
- package/dist/{header-DMMxG__r.js → header-Cq3G0ZRP.js} +163 -158
- package/dist/header-Cq3G0ZRP.js.map +1 -0
- package/dist/hooks/use-files.d.ts +2 -0
- package/dist/{hooks-DB6CJ4MR.js → hooks-DHfeSMAO.js} +34 -14
- package/dist/hooks-DHfeSMAO.js.map +1 -0
- package/dist/{http-D_6rOnzU.js → http-Cu-GPpss.js} +61 -35
- package/dist/http-Cu-GPpss.js.map +1 -0
- package/dist/{icon-badge-DZF-YjQp.js → icon-badge-B0Kq7wom.js} +3 -3
- package/dist/{icon-badge-DZF-YjQp.js.map → icon-badge-B0Kq7wom.js.map} +1 -1
- package/dist/index.js +6 -6
- package/dist/inline-gutter-context-CSqmrMFZ.js +11 -0
- package/dist/inline-gutter-context-CSqmrMFZ.js.map +1 -0
- package/dist/{input-DMBwAZmr.js → input-2YrgTUrz.js} +3 -3
- package/dist/{input-DMBwAZmr.js.map → input-2YrgTUrz.js.map} +1 -1
- package/dist/{input-CvyDQlY7.js → input-DfJyrjoR.js} +7 -7
- package/dist/{input-CvyDQlY7.js.map → input-DfJyrjoR.js.map} +1 -1
- package/dist/{interaction-recipes-XR9ZpVYL.js → interaction-recipes-DmuS1ase.js} +2 -2
- package/dist/{interaction-recipes-XR9ZpVYL.js.map → interaction-recipes-DmuS1ase.js.map} +1 -1
- package/dist/item-GJ9mvCcg.js +279 -0
- package/dist/item-GJ9mvCcg.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +2 -2
- package/dist/layout/settings.js +2 -2
- package/dist/layout/sidebar.js +3 -3
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +12 -12
- package/dist/layout.types-DbtnyAtd.js +33 -0
- package/dist/layout.types-DbtnyAtd.js.map +1 -0
- package/dist/lib/anchored-positioning.d.ts +11 -0
- package/dist/lib/field-affordance-recipes.d.ts +10 -0
- package/dist/lib/field-control-attributes.d.ts +11 -0
- package/dist/lib/field-state-recipes.d.ts +8 -0
- package/dist/lib/focus-recipes.d.ts +7 -0
- package/dist/lib/format.d.ts +26 -0
- package/dist/lib/money-format.d.ts +6 -0
- package/dist/lib/motion-recipes.d.ts +6 -0
- package/dist/lib/surface-recipes.d.ts +33 -3
- package/dist/lib/theme-scope.d.ts +17 -1
- package/dist/lib/token-merge.generated.d.ts +19 -25
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/types.d.ts +5 -0
- package/dist/lib/use-controllable-state.d.ts +16 -0
- package/dist/lib/use-copy-feedback.d.ts +15 -0
- package/dist/lib/utils.js +1 -1
- package/dist/lib/variant-props.d.ts +9 -0
- package/dist/main-landmark-context-BAsyqp2I.js +11 -0
- package/dist/main-landmark-context-BAsyqp2I.js.map +1 -0
- package/dist/mentions-zz0ewNIq.js +670 -0
- package/dist/mentions-zz0ewNIq.js.map +1 -0
- package/dist/message-BiiVrRrm.js +138 -0
- package/dist/message-BiiVrRrm.js.map +1 -0
- package/dist/{metadata-list-C3MkU-Om.js → metadata-list-G85roWjS.js} +13 -12
- package/dist/metadata-list-G85roWjS.js.map +1 -0
- package/dist/{motion-recipes-DitYv6P2.js → motion-recipes-CUc_aHuG.js} +7 -4
- package/dist/motion-recipes-CUc_aHuG.js.map +1 -0
- package/dist/navigation-C0Be5C3i.js +304 -0
- package/dist/navigation-C0Be5C3i.js.map +1 -0
- package/dist/navigation-CmqaQR_G.js +257 -0
- package/dist/navigation-CmqaQR_G.js.map +1 -0
- package/dist/normalize-layout-path-BmEgg6fu.js +14 -0
- package/dist/normalize-layout-path-BmEgg6fu.js.map +1 -0
- package/dist/number-NFWKIoiK.js +340 -0
- package/dist/number-NFWKIoiK.js.map +1 -0
- package/dist/{overflow-tab-bar-IVFVQFV6.js → overflow-tab-bar-DV7HE_3t.js} +8 -8
- package/dist/{overflow-tab-bar-IVFVQFV6.js.map → overflow-tab-bar-DV7HE_3t.js.map} +1 -1
- package/dist/{overlays-BSgCtM2v.js → overlays-D-gAIfPF.js} +369 -364
- package/dist/overlays-D-gAIfPF.js.map +1 -0
- package/dist/page-D4pQhgSq.js +216 -0
- package/dist/page-D4pQhgSq.js.map +1 -0
- package/dist/{page-header-commands-7P3sfE9u.js → page-header-commands-elelNOfd.js} +29 -29
- package/dist/{page-header-commands-7P3sfE9u.js.map → page-header-commands-elelNOfd.js.map} +1 -1
- package/dist/{pagination-CgCjElfu.js → pagination-BuSWw1US.js} +22 -23
- package/dist/pagination-BuSWw1US.js.map +1 -0
- package/dist/popover-BpMxbqEK.js +205 -0
- package/dist/popover-BpMxbqEK.js.map +1 -0
- package/dist/{popover-menu-DlnQ2zlR.js → popover-menu-CO-_iiuz.js} +7 -7
- package/dist/{popover-menu-DlnQ2zlR.js.map → popover-menu-CO-_iiuz.js.map} +1 -1
- package/dist/{popover.recipes-DdiEp0rd.js → popover.recipes-BqkdvlZn.js} +3 -4
- package/dist/{popover.recipes-DdiEp0rd.js.map → popover.recipes-BqkdvlZn.js.map} +1 -1
- package/dist/{portal-recipes-BpsV_iRw.js → portal-recipes-BPeS4rGB.js} +2 -2
- package/dist/{portal-recipes-BpsV_iRw.js.map → portal-recipes-BPeS4rGB.js.map} +1 -1
- package/dist/primitives-BlC1lXBr.js +447 -0
- package/dist/primitives-BlC1lXBr.js.map +1 -0
- package/dist/primitives.js +4 -4
- package/dist/{progress-BJhQP9WX.js → progress-RARK8AjB.js} +5 -5
- package/dist/{progress-BJhQP9WX.js.map → progress-RARK8AjB.js.map} +1 -1
- package/dist/receipt-CUf2Vegp.js +114 -0
- package/dist/receipt-CUf2Vegp.js.map +1 -0
- package/dist/rich-text-Cypm9__d.js +44 -0
- package/dist/rich-text-Cypm9__d.js.map +1 -0
- package/dist/rich-text-editor-Z6cQepsA.js +919 -0
- package/dist/rich-text-editor-Z6cQepsA.js.map +1 -0
- package/dist/rich-text-editor-toolbar-DYbRJARB.js +100 -0
- package/dist/rich-text-editor-toolbar-DYbRJARB.js.map +1 -0
- package/dist/rich-text-tree-DdKHIJx4.js +154 -0
- package/dist/rich-text-tree-DdKHIJx4.js.map +1 -0
- package/dist/{scroll-area-B0dB2cBi.js → scroll-area-B9HKbji0.js} +3 -3
- package/dist/{scroll-area-B0dB2cBi.js.map → scroll-area-B9HKbji0.js.map} +1 -1
- package/dist/{separator-Ct_WSWTJ.js → separator-DaDe26sf.js} +3 -3
- package/dist/separator-DaDe26sf.js.map +1 -0
- package/dist/{separator-Bb17I4pu.js → separator-KGsNXt2J.js} +2 -2
- package/dist/{separator-Bb17I4pu.js.map → separator-KGsNXt2J.js.map} +1 -1
- package/dist/services/actions/action-adapters.d.ts +5 -2
- package/dist/services/actions/index.d.ts +1 -1
- package/dist/services/actions.js +2 -2
- package/dist/services/actions.js.map +1 -1
- package/dist/settings-D5j_RJvT.js +160 -0
- package/dist/settings-D5j_RJvT.js.map +1 -0
- package/dist/sheet-B6j_BE9O.js +241 -0
- package/dist/sheet-B6j_BE9O.js.map +1 -0
- package/dist/{sidebar-f9gRWXIR.js → sidebar-C-iQ_TJP.js} +379 -350
- package/dist/sidebar-C-iQ_TJP.js.map +1 -0
- package/dist/sidebar-D5VO2W8S.js +715 -0
- package/dist/sidebar-D5VO2W8S.js.map +1 -0
- package/dist/{skeleton-BapcJd9C.js → skeleton-Cab_KgVo.js} +13 -13
- package/dist/skeleton-Cab_KgVo.js.map +1 -0
- package/dist/{smart-card-CW0hjetE.js → smart-card-C59z6KFO.js} +217 -210
- package/dist/smart-card-C59z6KFO.js.map +1 -0
- package/dist/{structure-DuxKl954.js → structure-DElaQwwN.js} +2 -2
- package/dist/{structure-DuxKl954.js.map → structure-DElaQwwN.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{surface-recipes-BKRVW8Os.js → surface-recipes-DV6rrOFq.js} +11 -3
- package/dist/surface-recipes-DV6rrOFq.js.map +1 -0
- package/dist/table-CSRUgpdK.js +180 -0
- package/dist/table-CSRUgpdK.js.map +1 -0
- package/dist/table-DdXDBsR_.js +1657 -0
- package/dist/table-DdXDBsR_.js.map +1 -0
- package/dist/tabs-WnHfV2pM.js +192 -0
- package/dist/tabs-WnHfV2pM.js.map +1 -0
- package/dist/{text-inputs-B1culiSK.js → text-inputs-ljyBYaCd.js} +112 -112
- package/dist/text-inputs-ljyBYaCd.js.map +1 -0
- package/dist/theme.css +21 -5
- package/dist/timelines-mOmS9Eh3.js +479 -0
- package/dist/timelines-mOmS9Eh3.js.map +1 -0
- package/dist/tooltip-yjX-Uv-p.js +112 -0
- package/dist/tooltip-yjX-Uv-p.js.map +1 -0
- package/dist/{tree-CzUJHnFs.js → tree-YpkxUG2Z.js} +80 -72
- package/dist/tree-YpkxUG2Z.js.map +1 -0
- package/dist/typography/rich-text.js +1 -1
- package/dist/{typography-BQnine1k.js → typography-C0dELqYV.js} +46 -40
- package/dist/typography-C0dELqYV.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-C-74NVLc.js → ui-provider-Bu1S-o96.js} +4 -3
- package/dist/ui-provider-Bu1S-o96.js.map +1 -0
- package/dist/ui-provider.js +2 -2
- package/dist/upload-DMuMYJFT.js +875 -0
- package/dist/upload-DMuMYJFT.js.map +1 -0
- package/dist/{usage-card-BeSLY0i0.js → usage-card-DDPki5P1.js} +57 -54
- package/dist/usage-card-DDPki5P1.js.map +1 -0
- package/dist/use-controllable-state-BlP8SyBI.js +13 -0
- package/dist/use-controllable-state-BlP8SyBI.js.map +1 -0
- package/dist/use-copy-feedback-CzcaqlLf.js +28 -0
- package/dist/use-copy-feedback-CzcaqlLf.js.map +1 -0
- package/dist/use-metric-format-options-Dk4rC1NO.js +251 -0
- package/dist/use-metric-format-options-Dk4rC1NO.js.map +1 -0
- package/dist/{utils-B6kKb8jB.js → utils-BVbAG2J6.js} +128 -112
- package/dist/utils-BVbAG2J6.js.map +1 -0
- package/dist/value-inputs-h5MwjGCo.js +982 -0
- package/dist/value-inputs-h5MwjGCo.js.map +1 -0
- package/dist/value-typography-D15uwfj-.js +154 -0
- package/dist/value-typography-D15uwfj-.js.map +1 -0
- package/dist/workspace-DIryPqBt.js +400 -0
- package/dist/workspace-DIryPqBt.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +7 -0
- package/docs/consumer-skill/agents/themelia-ui-designer.md +11 -2
- package/docs/consumer-skill/examples/analytics.tsx +1 -1
- package/docs/consumer-skill/examples/app-layout.tsx +3 -3
- package/docs/consumer-skill/examples/commerce-lines.tsx +7 -5
- package/docs/consumer-skill/examples/detail.tsx +3 -2
- package/docs/consumer-skill/examples/edit.tsx +3 -3
- package/docs/consumer-skill/examples/email-composer.tsx +1 -1
- package/docs/consumer-skill/examples/index-table.tsx +2 -2
- package/docs/consumer-skill/examples/scoped-directory.tsx +7 -6
- package/docs/consumer-skill/references/agents-md.md +27 -23
- package/docs/consumer-skill/references/analytics.md +33 -4
- package/docs/consumer-skill/references/building-views.md +213 -0
- package/docs/consumer-skill/references/catalogue.md +617 -0
- package/docs/consumer-skill/references/component-contracts.json +25852 -32067
- package/docs/consumer-skill/references/composition.md +42 -21
- package/docs/consumer-skill/references/design-contract.md +1 -0
- package/docs/consumer-skill/references/discovery.md +8 -5
- package/docs/consumer-skill/references/installation.md +59 -10
- package/docs/consumer-skill/references/integration.md +28 -5
- package/docs/consumer-skill/references/product-composition.md +2 -2
- package/docs/consumer-skill/references/public-api.json +726 -641
- package/docs/consumer-skill/references/review.md +57 -15
- package/docs/consumer-skill/references/rhf-workflows.md +72 -0
- package/docs/consumer-skill/references/screen-archetypes.md +2 -2
- package/docs/consumer-skill/references/theming.md +8 -3
- package/docs/consumer-skill/references/tokens.json +4 -4
- package/docs/consumer-skill/references/workflows.md +7 -7
- package/docs/consumer-skill/scripts/composition-policy.mjs +178 -44
- package/docs/consumer-skill/scripts/composition.mjs +4 -1
- package/docs/consumer-skill/scripts/discovery.mjs +3 -1
- package/docs/consumer-skill/scripts/setup-skills.mjs +74 -10
- package/docs/consumer-skills/themelia-components/SKILL.md +8 -4
- package/docs/consumer-skills/themelia-composition/SKILL.md +7 -3
- package/docs/consumer-skills/themelia-design/SKILL.md +7 -1
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +1 -1
- package/package.json +12 -13
- package/templates/README.md +3 -2
- package/templates/admin-shell-template.tsx +50 -11
- package/templates/analytics-operations-template.tsx +20 -24
- package/templates/customers-template.tsx +30 -25
- package/templates/index.ts +2 -8
- package/templates/orders-template.tsx +28 -24
- package/templates/products-template.tsx +14 -4
- package/templates/user-permissions-template.tsx +11 -14
- package/dist/accordion-B9MHG0cT.js.map +0 -1
- package/dist/action-menu-Dr8K-ghE.js +0 -284
- package/dist/action-menu-Dr8K-ghE.js.map +0 -1
- package/dist/ai-artifact-C58tQcBy.js +0 -1185
- package/dist/ai-artifact-C58tQcBy.js.map +0 -1
- package/dist/anchored-positioning-DPnKTvNs.js +0 -6
- package/dist/anchored-positioning-DPnKTvNs.js.map +0 -1
- package/dist/app-shell-B_IuNWOo.js +0 -321
- package/dist/app-shell-B_IuNWOo.js.map +0 -1
- package/dist/auth-DTkkshS8.js.map +0 -1
- package/dist/badge-xIiV_E7f.js.map +0 -1
- package/dist/base/sheet.js +0 -3
- package/dist/breadcrumbs-J-K2kl4c.js +0 -129
- package/dist/breadcrumbs-J-K2kl4c.js.map +0 -1
- package/dist/button-S2Cubiiz.js.map +0 -1
- package/dist/buttons-BedGfygC.js.map +0 -1
- package/dist/cascader-B1MiqkBq.js +0 -439
- package/dist/cascader-B1MiqkBq.js.map +0 -1
- package/dist/choice-inputs-zUgBZfE4.js.map +0 -1
- package/dist/code-block-BzmM9Eig.js.map +0 -1
- package/dist/collapsible-BkAI_XD4.js +0 -81
- package/dist/collapsible-BkAI_XD4.js.map +0 -1
- package/dist/combobox-BEx0vJgF.js +0 -362
- package/dist/combobox-BEx0vJgF.js.map +0 -1
- package/dist/combobox-BwzoXFSG.js +0 -884
- package/dist/combobox-BwzoXFSG.js.map +0 -1
- package/dist/command-CrlPIL6m.js +0 -425
- package/dist/command-CrlPIL6m.js.map +0 -1
- package/dist/comments-Dmpp0YIc.js +0 -1169
- package/dist/comments-Dmpp0YIc.js.map +0 -1
- package/dist/components/base/buttons/tooltip-button.d.ts +0 -7
- package/dist/components/base/display/content-block.d.ts +0 -75
- package/dist/components/base/display/content-block.strings.d.ts +0 -5
- package/dist/components/base/sheet/index.d.ts +0 -29
- package/dist/components/blocks/ai/use-copy-feedback.d.ts +0 -6
- package/dist/components/blocks/data-display/metadata/index.d.ts +0 -30
- package/dist/components/features/mentions/utils/split-html-by-mentions.d.ts +0 -16
- package/dist/components/features/resource/resource.strings.d.ts +0 -12
- package/dist/components/features/rich-text-editor/partials/rich-text-editor-fallback.d.ts +0 -8
- package/dist/components/features/sync/index.d.ts +0 -26
- package/dist/components/features/sync/sync-range-dialog-form.d.ts +0 -5
- package/dist/components/features/sync/sync.strings.d.ts +0 -18
- package/dist/components/features/sync/sync.types.d.ts +0 -44
- package/dist/components/layout/page/partials/page-actions.d.ts +0 -3
- package/dist/components/ui/slot.d.ts +0 -6
- package/dist/containers-CIxwbZt5.js.map +0 -1
- package/dist/data-display-BdgCAw8T.js.map +0 -1
- package/dist/date-Cq8ioE4o.js +0 -144
- package/dist/date-Cq8ioE4o.js.map +0 -1
- package/dist/date-picker-RlIzKom_.js +0 -1551
- package/dist/date-picker-RlIzKom_.js.map +0 -1
- package/dist/date-pickers-DY-CpXS1.js +0 -179
- package/dist/date-pickers-DY-CpXS1.js.map +0 -1
- package/dist/display-KsZLw9Ov.js.map +0 -1
- package/dist/features/sync.js +0 -142
- package/dist/features/sync.js.map +0 -1
- package/dist/feedback-Dm4izqFn.js +0 -240
- package/dist/feedback-Dm4izqFn.js.map +0 -1
- package/dist/field-affordance-recipes-DWcNcOjh.js.map +0 -1
- package/dist/field-state-recipes-BVA2CWHo.js +0 -12
- package/dist/field-state-recipes-BVA2CWHo.js.map +0 -1
- package/dist/filters-DzgSJpMK.js +0 -2257
- package/dist/filters-DzgSJpMK.js.map +0 -1
- package/dist/focus-recipes-B653VaLq.js.map +0 -1
- package/dist/form-field-BriWAXyg.js +0 -63
- package/dist/form-field-BriWAXyg.js.map +0 -1
- package/dist/forms-C0RGnJTe.js.map +0 -1
- package/dist/forms-numeric-DIhghX1Q.js +0 -910
- package/dist/forms-numeric-DIhghX1Q.js.map +0 -1
- package/dist/header-DMMxG__r.js.map +0 -1
- package/dist/hooks-DB6CJ4MR.js.map +0 -1
- package/dist/http-D_6rOnzU.js.map +0 -1
- package/dist/item-DjCcM18E.js +0 -277
- package/dist/item-DjCcM18E.js.map +0 -1
- package/dist/layout.types-Cn7aUzJp.js +0 -20
- package/dist/layout.types-Cn7aUzJp.js.map +0 -1
- package/dist/media-gallery-C-vChPmE.js +0 -203
- package/dist/media-gallery-C-vChPmE.js.map +0 -1
- package/dist/mentions-0_4nWuI-.js +0 -570
- package/dist/mentions-0_4nWuI-.js.map +0 -1
- package/dist/message-g8p7eVtN.js +0 -128
- package/dist/message-g8p7eVtN.js.map +0 -1
- package/dist/metadata-list-C3MkU-Om.js.map +0 -1
- package/dist/motion-recipes-DitYv6P2.js.map +0 -1
- package/dist/navigation-C90-oQFq.js +0 -255
- package/dist/navigation-C90-oQFq.js.map +0 -1
- package/dist/navigation-DaRjthVk.js +0 -288
- package/dist/navigation-DaRjthVk.js.map +0 -1
- package/dist/number-CRU3kGuk.js +0 -354
- package/dist/number-CRU3kGuk.js.map +0 -1
- package/dist/overlays-BSgCtM2v.js.map +0 -1
- package/dist/page-DUUKDAjo.js +0 -331
- package/dist/page-DUUKDAjo.js.map +0 -1
- package/dist/pagination-CgCjElfu.js.map +0 -1
- package/dist/popover-B85RenIl.js +0 -201
- package/dist/popover-B85RenIl.js.map +0 -1
- package/dist/primitives-ByWgGUgt.js +0 -380
- package/dist/primitives-ByWgGUgt.js.map +0 -1
- package/dist/receipt-tOc7B3hw.js +0 -116
- package/dist/receipt-tOc7B3hw.js.map +0 -1
- package/dist/rich-text-Dth5E882.js +0 -78
- package/dist/rich-text-Dth5E882.js.map +0 -1
- package/dist/rich-text-editor-C1fOjBTd.js +0 -1195
- package/dist/rich-text-editor-C1fOjBTd.js.map +0 -1
- package/dist/rich-text-editor-toolbar-laT3tpBT.js +0 -98
- package/dist/rich-text-editor-toolbar-laT3tpBT.js.map +0 -1
- package/dist/sanitize-html-DsQmI48u.js +0 -92
- package/dist/sanitize-html-DsQmI48u.js.map +0 -1
- package/dist/separator-Ct_WSWTJ.js.map +0 -1
- package/dist/settings-Bar5wiSo.js +0 -167
- package/dist/settings-Bar5wiSo.js.map +0 -1
- package/dist/sheet-BGPERY55.js +0 -250
- package/dist/sheet-BGPERY55.js.map +0 -1
- package/dist/sidebar-D-JYMMbY.js +0 -686
- package/dist/sidebar-D-JYMMbY.js.map +0 -1
- package/dist/sidebar-f9gRWXIR.js.map +0 -1
- package/dist/skeleton-BapcJd9C.js.map +0 -1
- package/dist/slot-CLF9kLrS.js +0 -16
- package/dist/slot-CLF9kLrS.js.map +0 -1
- package/dist/smart-card-CW0hjetE.js.map +0 -1
- package/dist/surface-recipes-BKRVW8Os.js.map +0 -1
- package/dist/table-B4TE7iOV.js +0 -175
- package/dist/table-B4TE7iOV.js.map +0 -1
- package/dist/table-CFOWY9pQ.js +0 -1536
- package/dist/table-CFOWY9pQ.js.map +0 -1
- package/dist/tabs-e7ko9S2o.js +0 -191
- package/dist/tabs-e7ko9S2o.js.map +0 -1
- package/dist/text-inputs-B1culiSK.js.map +0 -1
- package/dist/timelines-D3Sl9ueq.js +0 -458
- package/dist/timelines-D3Sl9ueq.js.map +0 -1
- package/dist/tooltip-8wz5S_Zr.js +0 -113
- package/dist/tooltip-8wz5S_Zr.js.map +0 -1
- package/dist/tree-CzUJHnFs.js.map +0 -1
- package/dist/typography-BQnine1k.js.map +0 -1
- package/dist/ui-provider-C-74NVLc.js.map +0 -1
- package/dist/upload-BOW6U2tI.js +0 -855
- package/dist/upload-BOW6U2tI.js.map +0 -1
- package/dist/upload-queue-qUXn1ykN.js +0 -409
- package/dist/upload-queue-qUXn1ykN.js.map +0 -1
- package/dist/usage-card-BeSLY0i0.js.map +0 -1
- package/dist/utils-B6kKb8jB.js.map +0 -1
- package/dist/value-inputs-skdVB2zh.js +0 -980
- package/dist/value-inputs-skdVB2zh.js.map +0 -1
- package/dist/value-typography-uAmWUAL1.js +0 -116
- package/dist/value-typography-uAmWUAL1.js.map +0 -1
- package/dist/workspace-DHeHv0qw.js +0 -411
- package/dist/workspace-DHeHv0qw.js.map +0 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useStrings as e } from "../lib/strings.js";
|
|
3
|
-
import { t } from "../utils-
|
|
4
|
-
import { n } from "../
|
|
5
|
-
import {
|
|
6
|
-
import { i, t as a } from "../structure-
|
|
7
|
-
import {
|
|
8
|
-
import { n as u, t as d } from "../feedback-
|
|
3
|
+
import { t } from "../utils-BVbAG2J6.js";
|
|
4
|
+
import { c as n } from "../typography-C0dELqYV.js";
|
|
5
|
+
import { n as r } from "../buttons-pZVgPTZn.js";
|
|
6
|
+
import { i, t as a } from "../structure-DElaQwwN.js";
|
|
7
|
+
import { _ as o, f as s, m as c, t as l } from "../smart-card-C59z6KFO.js";
|
|
8
|
+
import { n as u, t as d } from "../feedback-DmqmXKLn.js";
|
|
9
9
|
import { n as f } from "../composition.recipes-COdiFhxB.js";
|
|
10
|
-
import { n as p, t as m } from "../action-menu-
|
|
11
|
-
import { n as h, r as g, t as _ } from "../overlays-
|
|
12
|
-
import { t as v } from "../accordion-
|
|
13
|
-
import { t as y } from "../input-
|
|
14
|
-
import { t as b } from "../form-field-
|
|
15
|
-
import { a as x, c as S, d as C, o as w, s as T } from "../text-inputs-
|
|
16
|
-
import { l as E } from "../choice-inputs-
|
|
17
|
-
import { t as ee } from "../scroll-area-
|
|
18
|
-
import { i as D, n as O, r as
|
|
19
|
-
import { t as ne } from "../popover-menu-
|
|
20
|
-
import { n as A, t as j } from "../rich-text-editor-toolbar-
|
|
10
|
+
import { n as p, t as m } from "../action-menu-D5343RwT.js";
|
|
11
|
+
import { n as h, r as g, t as _ } from "../overlays-D-gAIfPF.js";
|
|
12
|
+
import { t as v } from "../accordion-DNVqwEIC.js";
|
|
13
|
+
import { t as y } from "../input-DfJyrjoR.js";
|
|
14
|
+
import { t as b } from "../form-field-BdfCwSoQ.js";
|
|
15
|
+
import { a as x, c as S, d as C, o as w, s as T } from "../text-inputs-ljyBYaCd.js";
|
|
16
|
+
import { l as E } from "../choice-inputs-oJEsrb5Y.js";
|
|
17
|
+
import { t as ee } from "../scroll-area-B9HKbji0.js";
|
|
18
|
+
import { i as D, n as O, r as k, t as te } from "../tabs-WnHfV2pM.js";
|
|
19
|
+
import { t as ne } from "../popover-menu-CO-_iiuz.js";
|
|
20
|
+
import { n as A, t as j } from "../rich-text-editor-toolbar-DYbRJARB.js";
|
|
21
21
|
import { t as M } from "../rich-text-editor.strings-CB59ekH2.js";
|
|
22
|
-
import { a as N, c as P, i as F, l as
|
|
23
|
-
import { useEffect as
|
|
24
|
-
import { Fragment as
|
|
25
|
-
import { Bold as
|
|
22
|
+
import { a as N, c as P, i as F, l as re, n as ie, o as I, r as L, s as R, t as z, u as B } from "../http-Cu-GPpss.js";
|
|
23
|
+
import { useEffect as V, useId as H, useImperativeHandle as U, useMemo as W, useRef as G, useState as K } from "react";
|
|
24
|
+
import { Fragment as q, jsx as J, jsxs as Y } from "react/jsx-runtime";
|
|
25
|
+
import { Bold as X, Italic as Z, Link as ae, List as oe, ListOrdered as se, Plus as ce, Redo2 as le, Undo2 as ue, X as de } from "lucide-react";
|
|
26
26
|
import { EditorContent as fe, Node as pe, generateJSON as me, mergeAttributes as he, useEditor as ge } from "@tiptap/react";
|
|
27
27
|
import _e from "@tiptap/starter-kit";
|
|
28
28
|
//#region src/components/features/email-composer/partials/data-status.tsx
|
|
@@ -30,7 +30,7 @@ function Q(e) {
|
|
|
30
30
|
return !!(e?.loading || e?.error);
|
|
31
31
|
}
|
|
32
32
|
function ve({ state: e, label: t, retryLabel: n, report: r }) {
|
|
33
|
-
return e?.loading ? /* @__PURE__ */
|
|
33
|
+
return e?.loading ? /* @__PURE__ */ J(u, { label: t }) : e?.error ? /* @__PURE__ */ J(d, {
|
|
34
34
|
variant: "inline",
|
|
35
35
|
description: e.error,
|
|
36
36
|
retryLabel: n,
|
|
@@ -42,7 +42,7 @@ function ve({ state: e, label: t, retryLabel: n, report: r }) {
|
|
|
42
42
|
//#endregion
|
|
43
43
|
//#region src/components/features/email-composer/use-composer.ts
|
|
44
44
|
function ye(t) {
|
|
45
|
-
let n = e(
|
|
45
|
+
let n = e(B, t.strings), r = G(null);
|
|
46
46
|
r.current ||= structuredClone({
|
|
47
47
|
to: [],
|
|
48
48
|
cc: [],
|
|
@@ -50,12 +50,12 @@ function ye(t) {
|
|
|
50
50
|
subject: "",
|
|
51
51
|
body: {
|
|
52
52
|
kind: "rich",
|
|
53
|
-
document:
|
|
53
|
+
document: re
|
|
54
54
|
},
|
|
55
55
|
placeholderOverrides: {},
|
|
56
56
|
...t.value ?? t.defaultValue
|
|
57
57
|
});
|
|
58
|
-
let [i, a] =
|
|
58
|
+
let [i, a] = K(r.current), o = t.value ?? i, s = G({
|
|
59
59
|
props: t,
|
|
60
60
|
draft: o,
|
|
61
61
|
strings: n
|
|
@@ -65,34 +65,34 @@ function ye(t) {
|
|
|
65
65
|
draft: o,
|
|
66
66
|
strings: n
|
|
67
67
|
};
|
|
68
|
-
let c =
|
|
68
|
+
let c = G(o);
|
|
69
69
|
t.value !== void 0 && (c.current = t.value);
|
|
70
|
-
let l =
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
let l = G(null), u = G(null), [d, f] = K(!1), [p, m] = K(""), [h, g] = K(""), [_, v] = K(!1), [y, b] = K([]), x = G(null), S = G(!0);
|
|
71
|
+
V(() => (S.current = !0, () => {
|
|
72
|
+
S.current = !1;
|
|
73
73
|
}), []);
|
|
74
|
-
let
|
|
74
|
+
let C = W(() => {
|
|
75
75
|
let e = Object.create(null);
|
|
76
76
|
for (let r of t.placeholders?.sets ?? []) for (let t of Object.keys(r.definitions)) {
|
|
77
77
|
if (Object.hasOwn(e, t)) throw Error(n.duplicateVariable(t));
|
|
78
78
|
r.definitions[t] && (e[t] = r.definitions[t]);
|
|
79
79
|
}
|
|
80
80
|
return e;
|
|
81
|
-
}, [t.placeholders?.sets, n]),
|
|
82
|
-
if (
|
|
83
|
-
let
|
|
84
|
-
let t = s.current.props.context, n =
|
|
85
|
-
if (i && i.draft === e && i.context === t && i.definitions ===
|
|
86
|
-
let a =
|
|
87
|
-
return
|
|
81
|
+
}, [t.placeholders?.sets, n]), w = W(() => [...t.templates?.items ?? [], ...y], [t.templates?.items, y]), T = G(w);
|
|
82
|
+
if (T.current = w, new Set(w.map((e) => e.id)).size !== w.length) throw Error(n.duplicateTemplate);
|
|
83
|
+
let E = () => c.current, ee = (e) => w.find((t) => t.id === e.templateId), D = G(null), O = (e = E()) => {
|
|
84
|
+
let t = s.current.props.context, n = ee(e), r = s.current.strings, i = D.current;
|
|
85
|
+
if (i && i.draft === e && i.context === t && i.definitions === C && i.template === n && i.strings === r) return i.result;
|
|
86
|
+
let a = ie(e, t, C, n, r);
|
|
87
|
+
return D.current = {
|
|
88
88
|
draft: e,
|
|
89
89
|
context: t,
|
|
90
|
-
definitions:
|
|
90
|
+
definitions: C,
|
|
91
91
|
template: n,
|
|
92
92
|
strings: r,
|
|
93
93
|
result: a
|
|
94
94
|
}, a;
|
|
95
|
-
},
|
|
95
|
+
}, k = () => {
|
|
96
96
|
let { props: e, strings: t } = s.current, n = [];
|
|
97
97
|
for (let r of [
|
|
98
98
|
"to",
|
|
@@ -106,54 +106,56 @@ function ye(t) {
|
|
|
106
106
|
field: "placeholders",
|
|
107
107
|
message: t.dataUnavailable
|
|
108
108
|
}), n;
|
|
109
|
-
}, te =
|
|
110
|
-
let e =
|
|
109
|
+
}, te = k().length > 0, ne = (e = E()) => structuredClone([...k(), ...O(e).issues]), A = () => {
|
|
110
|
+
let e = E(), t = [...O(e).rendered?.unresolved ?? []];
|
|
111
111
|
return {
|
|
112
112
|
draft: structuredClone(e),
|
|
113
113
|
dirty: JSON.stringify(e) !== JSON.stringify(r.current),
|
|
114
114
|
busy: u.current !== null,
|
|
115
|
-
issues:
|
|
115
|
+
issues: ne(e),
|
|
116
116
|
unresolvedPlaceholders: t
|
|
117
117
|
};
|
|
118
|
-
},
|
|
118
|
+
}, j = (e) => {
|
|
119
119
|
let t = e instanceof Error ? e : Error(String(e));
|
|
120
|
-
|
|
121
|
-
},
|
|
122
|
-
if (!
|
|
123
|
-
let r = structuredClone(e(structuredClone(
|
|
124
|
-
s.current.props.value === void 0
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
S.current && m(t.message), s.current.props.onError?.(t);
|
|
121
|
+
}, M = (e, t = "api", n = !1) => {
|
|
122
|
+
if (!S.current || !n && u.current && u.current !== "action") return;
|
|
123
|
+
let r = structuredClone(e(structuredClone(E())));
|
|
124
|
+
c.current = r, s.current.props.value === void 0 ? a(r) : queueMicrotask(() => {
|
|
125
|
+
c.current === r && (c.current = s.current.draft);
|
|
126
|
+
}), s.current.props.onValueChange?.(structuredClone(r)), s.current.props.onEdit?.(structuredClone(r), { source: t }), m(""), g("");
|
|
127
|
+
}, N = G(null);
|
|
128
|
+
async function P(e, t, n = !1) {
|
|
129
|
+
if (u.current && !(n && u.current === "action") || !S.current) return;
|
|
128
130
|
let r = {
|
|
129
131
|
kind: e,
|
|
130
132
|
settled: !1,
|
|
131
|
-
parent: n ?
|
|
133
|
+
parent: n ? N.current : null
|
|
132
134
|
};
|
|
133
|
-
|
|
135
|
+
N.current = r, u.current = e, f(!0), m(""), g("");
|
|
134
136
|
try {
|
|
135
137
|
await t();
|
|
136
138
|
} catch (e) {
|
|
137
|
-
|
|
139
|
+
j(e);
|
|
138
140
|
} finally {
|
|
139
|
-
if (r.settled = !0,
|
|
141
|
+
if (r.settled = !0, N.current === r) {
|
|
140
142
|
let e = r.parent;
|
|
141
143
|
for (; e?.settled;) e = e.parent;
|
|
142
|
-
|
|
144
|
+
N.current = e, u.current = e?.kind ?? null, S.current && f(e !== null);
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
let
|
|
148
|
+
let F = () => {
|
|
147
149
|
if (!l.current) throw Error(n.editorNotReady);
|
|
148
|
-
if (
|
|
149
|
-
return l.current.synchronize(
|
|
150
|
+
if (E().body.kind === "html") throw Error(n.editableRequired);
|
|
151
|
+
return l.current.synchronize(E().body), l.current;
|
|
150
152
|
};
|
|
151
|
-
function
|
|
153
|
+
function I(e, t = {}, r = !1) {
|
|
152
154
|
if (!r && u.current && u.current !== "action") return;
|
|
153
155
|
let i = t.body ?? "replace";
|
|
154
|
-
if (i !== "replace" && (e.body.kind === "html" ||
|
|
155
|
-
let a = i === "replace" ? e.body :
|
|
156
|
-
|
|
156
|
+
if (i !== "replace" && (e.body.kind === "html" || E().body.kind === "html")) throw Error(n.editableRequired);
|
|
157
|
+
let a = i === "replace" ? e.body : F().insert(e.body, i);
|
|
158
|
+
M((n) => ({
|
|
157
159
|
...n,
|
|
158
160
|
body: a,
|
|
159
161
|
subject: t.subject === "preserve" ? n.subject : e.subject ?? n.subject,
|
|
@@ -161,66 +163,66 @@ function ye(t) {
|
|
|
161
163
|
placeholderOverrides: t.overrides === "reset" ? {} : n.placeholderOverrides
|
|
162
164
|
}), "template", r);
|
|
163
165
|
}
|
|
164
|
-
let
|
|
165
|
-
|
|
166
|
-
getState: () =>
|
|
167
|
-
update: (e) =>
|
|
168
|
-
setSubject: (e) =>
|
|
169
|
-
setRecipients: (e, t) =>
|
|
170
|
-
setBody: (e) =>
|
|
171
|
-
importBody: (e) =>
|
|
172
|
-
setPlaceholder: (e, t) =>
|
|
173
|
-
clearPlaceholderOverride: (e) =>
|
|
174
|
-
insertPlaceholder: (e) =>
|
|
175
|
-
applyTemplate: (e, t) =>
|
|
176
|
-
insertText: (e) =>
|
|
177
|
-
focusBody: () =>
|
|
178
|
-
validate: () =>
|
|
179
|
-
prepare: () =>
|
|
180
|
-
send: () =>
|
|
181
|
-
discard: () =>
|
|
166
|
+
let L = G(null), R = G(null);
|
|
167
|
+
R.current ||= {
|
|
168
|
+
getState: () => L.current.getState(),
|
|
169
|
+
update: (e) => L.current.update(e),
|
|
170
|
+
setSubject: (e) => L.current.setSubject(e),
|
|
171
|
+
setRecipients: (e, t) => L.current.setRecipients(e, t),
|
|
172
|
+
setBody: (e) => L.current.setBody(e),
|
|
173
|
+
importBody: (e) => L.current.importBody(e),
|
|
174
|
+
setPlaceholder: (e, t) => L.current.setPlaceholder(e, t),
|
|
175
|
+
clearPlaceholderOverride: (e) => L.current.clearPlaceholderOverride(e),
|
|
176
|
+
insertPlaceholder: (e) => L.current.insertPlaceholder(e),
|
|
177
|
+
applyTemplate: (e, t) => L.current.applyTemplate(e, t),
|
|
178
|
+
insertText: (e) => L.current.insertText(e),
|
|
179
|
+
focusBody: () => L.current.focusBody(),
|
|
180
|
+
validate: () => L.current.validate(),
|
|
181
|
+
prepare: () => L.current.prepare(),
|
|
182
|
+
send: () => L.current.send(),
|
|
183
|
+
discard: () => L.current.discard()
|
|
182
184
|
};
|
|
183
|
-
let
|
|
184
|
-
if (
|
|
185
|
-
let e =
|
|
185
|
+
let z = R.current, H = async () => {
|
|
186
|
+
if (k().length) throw Error(s.current.strings.dataUnavailable);
|
|
187
|
+
let e = O();
|
|
186
188
|
if (e.issues.length || !e.rendered) throw Error(e.issues.map((e) => e.message).join(" "));
|
|
187
189
|
return structuredClone(e.rendered.email);
|
|
188
|
-
},
|
|
190
|
+
}, q = (e = !1) => P("send", async () => {
|
|
189
191
|
let e = s.current.props;
|
|
190
192
|
v(!0);
|
|
191
|
-
let t = await
|
|
193
|
+
let t = await H();
|
|
192
194
|
if (e.onBeforeSend) {
|
|
193
|
-
let n = await e.onBeforeSend(t,
|
|
194
|
-
if (n === !1 || !
|
|
195
|
+
let n = await e.onBeforeSend(t, z);
|
|
196
|
+
if (n === !1 || !S.current) return;
|
|
195
197
|
t = n;
|
|
196
198
|
}
|
|
197
|
-
|
|
198
|
-
}, e),
|
|
199
|
-
let e = s.current.props, t =
|
|
200
|
-
await e.onDiscard?.(
|
|
199
|
+
S.current && (t = structuredClone(t), await e.onSend(structuredClone(t)), x.current = JSON.stringify(E()), S.current && (g(n.sent), e.onSent?.(t)));
|
|
200
|
+
}, e), J = (e = !1) => P("discard", async () => {
|
|
201
|
+
let e = s.current.props, t = E();
|
|
202
|
+
await e.onDiscard?.(z), S.current && E() === t && (M(() => r.current, "api", !0), v(!1), g(n.discarded), e.onClose?.());
|
|
201
203
|
}, e);
|
|
202
|
-
|
|
203
|
-
getState:
|
|
204
|
-
update: (e) =>
|
|
205
|
-
setSubject: (e) =>
|
|
204
|
+
L.current = {
|
|
205
|
+
getState: A,
|
|
206
|
+
update: (e) => M(e),
|
|
207
|
+
setSubject: (e) => M((t) => ({
|
|
206
208
|
...t,
|
|
207
209
|
subject: e
|
|
208
210
|
})),
|
|
209
|
-
setRecipients: (e, t) =>
|
|
211
|
+
setRecipients: (e, t) => M((n) => ({
|
|
210
212
|
...n,
|
|
211
213
|
[e]: t
|
|
212
214
|
})),
|
|
213
|
-
setBody: (e) =>
|
|
215
|
+
setBody: (e) => M((t) => ({
|
|
214
216
|
...t,
|
|
215
217
|
body: e
|
|
216
218
|
})),
|
|
217
|
-
importBody: (e) =>
|
|
219
|
+
importBody: (e) => M((t) => ({
|
|
218
220
|
...t,
|
|
219
221
|
body: e
|
|
220
222
|
})),
|
|
221
223
|
setPlaceholder: (e, t) => {
|
|
222
|
-
if (!Object.hasOwn(
|
|
223
|
-
|
|
224
|
+
if (!Object.hasOwn(C, e)) throw Error(n.unknownVariable(e));
|
|
225
|
+
M((n) => ({
|
|
224
226
|
...n,
|
|
225
227
|
placeholderOverrides: {
|
|
226
228
|
...n.placeholderOverrides,
|
|
@@ -228,20 +230,20 @@ function ye(t) {
|
|
|
228
230
|
}
|
|
229
231
|
}), "placeholder");
|
|
230
232
|
},
|
|
231
|
-
clearPlaceholderOverride: (e) =>
|
|
233
|
+
clearPlaceholderOverride: (e) => M((t) => (delete t.placeholderOverrides[e], t), "placeholder"),
|
|
232
234
|
insertPlaceholder: (e) => {
|
|
233
235
|
if (u.current && u.current !== "action") return;
|
|
234
|
-
if (!Object.hasOwn(
|
|
235
|
-
let t =
|
|
236
|
-
|
|
236
|
+
if (!Object.hasOwn(C, e)) throw Error(n.unknownVariable(e));
|
|
237
|
+
let t = F().insertPlaceholder(e);
|
|
238
|
+
M((e) => ({
|
|
237
239
|
...e,
|
|
238
240
|
body: t
|
|
239
241
|
}));
|
|
240
242
|
},
|
|
241
243
|
insertText: (e) => {
|
|
242
244
|
if (u.current && u.current !== "action") return;
|
|
243
|
-
let t =
|
|
244
|
-
|
|
245
|
+
let t = F().insertText(e);
|
|
246
|
+
M((e) => ({
|
|
245
247
|
...e,
|
|
246
248
|
body: t
|
|
247
249
|
}));
|
|
@@ -249,29 +251,29 @@ function ye(t) {
|
|
|
249
251
|
focusBody: () => l.current?.focus(),
|
|
250
252
|
applyTemplate: (e, t) => {
|
|
251
253
|
if (Q(s.current.props.templates)) throw Error(s.current.strings.templatesUnavailable);
|
|
252
|
-
let r =
|
|
254
|
+
let r = w.find((t) => t.id === e);
|
|
253
255
|
if (!r) throw Error(n.unknownTemplate(e));
|
|
254
|
-
|
|
256
|
+
I(r, t);
|
|
255
257
|
},
|
|
256
|
-
validate: () =>
|
|
257
|
-
prepare:
|
|
258
|
-
send: () =>
|
|
259
|
-
discard: () =>
|
|
260
|
-
},
|
|
261
|
-
let
|
|
262
|
-
await e.onSelect(Object.assign(Object.create(
|
|
263
|
-
send: () =>
|
|
264
|
-
discard: () =>
|
|
258
|
+
validate: () => ne(),
|
|
259
|
+
prepare: H,
|
|
260
|
+
send: () => q(),
|
|
261
|
+
discard: () => J()
|
|
262
|
+
}, U(t.apiRef, () => z, [z]);
|
|
263
|
+
let Y = (e) => P("action", async () => {
|
|
264
|
+
await e.onSelect(Object.assign(Object.create(z), {
|
|
265
|
+
send: () => q(!0),
|
|
266
|
+
discard: () => J(!0)
|
|
265
267
|
}));
|
|
266
|
-
}),
|
|
267
|
-
let e =
|
|
268
|
-
if (t &&
|
|
269
|
-
if (
|
|
270
|
-
b((e) => [...e, structuredClone(t)]),
|
|
268
|
+
}), X = () => P("import", async () => {
|
|
269
|
+
let e = E(), t = await s.current.props.templates?.onImport?.();
|
|
270
|
+
if (t && S.current) {
|
|
271
|
+
if (T.current.some((e) => e.id === t.id)) throw Error(n.duplicateTemplate);
|
|
272
|
+
b((e) => [...e, structuredClone(t)]), E() === e && I(t, {}, !0);
|
|
271
273
|
}
|
|
272
|
-
}), { rendered:
|
|
274
|
+
}), { rendered: Z, renderError: ae } = O(o), oe = Z?.email.resolvedPlaceholders ?? {}, se = A();
|
|
273
275
|
return {
|
|
274
|
-
api:
|
|
276
|
+
api: z,
|
|
275
277
|
draft: o,
|
|
276
278
|
strings: n,
|
|
277
279
|
busy: d,
|
|
@@ -279,25 +281,26 @@ function ye(t) {
|
|
|
279
281
|
error: p,
|
|
280
282
|
notice: h,
|
|
281
283
|
attempted: _,
|
|
282
|
-
rendered:
|
|
283
|
-
renderError:
|
|
284
|
-
definitions:
|
|
285
|
-
templates:
|
|
286
|
-
values:
|
|
284
|
+
rendered: Z,
|
|
285
|
+
renderError: ae,
|
|
286
|
+
definitions: C,
|
|
287
|
+
templates: w,
|
|
288
|
+
values: oe,
|
|
287
289
|
editorRef: l,
|
|
288
|
-
state:
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
290
|
+
state: se,
|
|
291
|
+
unsent: se.dirty && JSON.stringify(o) !== x.current,
|
|
292
|
+
report: j,
|
|
293
|
+
runAction: Y,
|
|
294
|
+
importTemplate: X,
|
|
295
|
+
changeBody: (e) => M((t) => ({
|
|
293
296
|
...t,
|
|
294
297
|
body: e
|
|
295
298
|
}), "body"),
|
|
296
|
-
changeSubject: (e) =>
|
|
299
|
+
changeSubject: (e) => M((t) => ({
|
|
297
300
|
...t,
|
|
298
301
|
subject: e
|
|
299
302
|
}), "subject"),
|
|
300
|
-
changeRecipients: (e, t) =>
|
|
303
|
+
changeRecipients: (e, t) => M((n) => ({
|
|
301
304
|
...n,
|
|
302
305
|
[e]: t
|
|
303
306
|
}), "recipient")
|
|
@@ -306,43 +309,43 @@ function ye(t) {
|
|
|
306
309
|
//#endregion
|
|
307
310
|
//#region src/components/features/email-composer/partials/recipients.tsx
|
|
308
311
|
function be({ recipient: e, field: t, index: n, options: r, busy: i, strings: a, change: o, remove: s, add: c, id: l, errorId: u }) {
|
|
309
|
-
let
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}, [
|
|
313
|
-
let
|
|
314
|
-
!
|
|
312
|
+
let d = F(e), [f, p] = K(d);
|
|
313
|
+
V(() => {
|
|
314
|
+
p(d);
|
|
315
|
+
}, [d]);
|
|
316
|
+
let m = r.mode === "readonly", h = r.mode === "disabled" || i, g = r.mode !== "disabled" && r.allowRemove !== !1 && (!m || r.allowRemove === !0), _ = () => {
|
|
317
|
+
!m && !h && f !== F(e) && o({
|
|
315
318
|
id: e.id,
|
|
316
|
-
...
|
|
319
|
+
...L(f)
|
|
317
320
|
});
|
|
318
321
|
};
|
|
319
|
-
return /* @__PURE__ */
|
|
322
|
+
return /* @__PURE__ */ Y(x, {
|
|
320
323
|
className: "min-w-0 w-full",
|
|
321
|
-
children: [/* @__PURE__ */
|
|
324
|
+
children: [/* @__PURE__ */ J(S, {
|
|
322
325
|
id: l,
|
|
323
326
|
"aria-invalid": !!u,
|
|
324
327
|
"aria-describedby": u,
|
|
325
328
|
"aria-label": a.recipientLabel(t, n),
|
|
326
|
-
value:
|
|
327
|
-
readOnly:
|
|
328
|
-
disabled:
|
|
329
|
+
value: f,
|
|
330
|
+
readOnly: m,
|
|
331
|
+
disabled: h,
|
|
329
332
|
title: F(e),
|
|
330
|
-
onChange: (e) =>
|
|
331
|
-
onBlur:
|
|
333
|
+
onChange: (e) => p(e.target.value),
|
|
334
|
+
onBlur: _,
|
|
332
335
|
onKeyDown: (t) => {
|
|
333
|
-
t.key === "Enter" && (t.preventDefault(),
|
|
336
|
+
t.key === "Enter" && (t.preventDefault(), _()), t.key === "Escape" && (t.preventDefault(), p(F(e)));
|
|
334
337
|
}
|
|
335
|
-
}), (
|
|
338
|
+
}), (g || c) && /* @__PURE__ */ Y(w, {
|
|
336
339
|
align: "inline-end",
|
|
337
|
-
children: [
|
|
340
|
+
children: [g && /* @__PURE__ */ J(T, {
|
|
338
341
|
type: "button",
|
|
339
342
|
iconOnly: !0,
|
|
340
343
|
size: "sm",
|
|
341
344
|
disabled: i,
|
|
342
345
|
"aria-label": a.removeRecipient(e.email),
|
|
343
346
|
onClick: s,
|
|
344
|
-
children: /* @__PURE__ */
|
|
345
|
-
}), c && /* @__PURE__ */
|
|
347
|
+
children: /* @__PURE__ */ J(de, { className: "size-icon" })
|
|
348
|
+
}), c && /* @__PURE__ */ J(T, {
|
|
346
349
|
type: "button",
|
|
347
350
|
iconOnly: !0,
|
|
348
351
|
size: "sm",
|
|
@@ -350,38 +353,38 @@ function be({ recipient: e, field: t, index: n, options: r, busy: i, strings: a,
|
|
|
350
353
|
"aria-label": a.addRecipient(t),
|
|
351
354
|
title: a.addRecipient(t),
|
|
352
355
|
onClick: c,
|
|
353
|
-
children: /* @__PURE__ */
|
|
356
|
+
children: /* @__PURE__ */ J(ce, { className: "size-icon" })
|
|
354
357
|
})]
|
|
355
358
|
})]
|
|
356
359
|
});
|
|
357
360
|
}
|
|
358
361
|
function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange: o, error: s, actions: c, report: l }) {
|
|
359
|
-
let [u, d] =
|
|
362
|
+
let [u, d] = K(!1), [f, p] = K(""), m = H(), h = s ? `${m}-error` : void 0, g = G(null), _ = n.mode !== "disabled" && n.allowAdd !== !1 && (n.mode !== "readonly" || n.allowAdd === !0), v = u || t.length === 0, y = Q(n), C = () => {
|
|
360
363
|
if (r || !_ || !v || y) return;
|
|
361
|
-
let e =
|
|
364
|
+
let e = L(f);
|
|
362
365
|
f.trim() && !t.some((t) => t.email.toLowerCase() === e.email.toLowerCase()) && o([...t, e]), p(""), d(!1);
|
|
363
366
|
};
|
|
364
|
-
|
|
367
|
+
V(() => {
|
|
365
368
|
u && g.current?.focus();
|
|
366
369
|
}, [u]);
|
|
367
370
|
let E = () => {
|
|
368
371
|
v && C(), d(!0), g.current?.focus();
|
|
369
372
|
};
|
|
370
|
-
return /* @__PURE__ */
|
|
373
|
+
return /* @__PURE__ */ J(b, {
|
|
371
374
|
label: i[e],
|
|
372
375
|
required: e === "to",
|
|
373
376
|
error: s,
|
|
374
377
|
supportingTextId: h,
|
|
375
378
|
htmlFor: t.length ? `${m}-0` : `${m}-new`,
|
|
376
|
-
children: /* @__PURE__ */
|
|
379
|
+
children: /* @__PURE__ */ Y(a, {
|
|
377
380
|
id: `${m}-group`,
|
|
378
381
|
gap: "sm",
|
|
379
|
-
children: [y ? /* @__PURE__ */
|
|
382
|
+
children: [y ? /* @__PURE__ */ J(ve, {
|
|
380
383
|
state: n,
|
|
381
384
|
label: i.loadingRecipients(i[e]),
|
|
382
385
|
retryLabel: i.retry,
|
|
383
386
|
report: l
|
|
384
|
-
}) : /* @__PURE__ */
|
|
387
|
+
}) : /* @__PURE__ */ Y(q, { children: [t.map((a, s) => /* @__PURE__ */ J(be, {
|
|
385
388
|
id: `${m}-${s}`,
|
|
386
389
|
errorId: h,
|
|
387
390
|
recipient: a,
|
|
@@ -393,9 +396,9 @@ function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
|
|
|
393
396
|
change: (e) => o(t.map((t, n) => n === s ? e : t)),
|
|
394
397
|
remove: () => o(t.filter((e, t) => t !== s)),
|
|
395
398
|
add: _ && !v && s === t.length - 1 ? E : void 0
|
|
396
|
-
}, a.id ?? s)), v && /* @__PURE__ */
|
|
399
|
+
}, a.id ?? s)), v && /* @__PURE__ */ Y(x, {
|
|
397
400
|
className: "min-w-0 w-full",
|
|
398
|
-
children: [/* @__PURE__ */
|
|
401
|
+
children: [/* @__PURE__ */ J(S, {
|
|
399
402
|
id: `${m}-new`,
|
|
400
403
|
ref: g,
|
|
401
404
|
autoFocus: e !== "to",
|
|
@@ -411,9 +414,9 @@ function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
|
|
|
411
414
|
onKeyDown: (e) => {
|
|
412
415
|
e.key === "Enter" && (e.preventDefault(), C()), e.key === "Escape" && (e.preventDefault(), p(""), d(!1));
|
|
413
416
|
}
|
|
414
|
-
}), _ && /* @__PURE__ */
|
|
417
|
+
}), _ && /* @__PURE__ */ J(w, {
|
|
415
418
|
align: "inline-end",
|
|
416
|
-
children: /* @__PURE__ */
|
|
419
|
+
children: /* @__PURE__ */ J(T, {
|
|
417
420
|
type: "button",
|
|
418
421
|
iconOnly: !0,
|
|
419
422
|
size: "sm",
|
|
@@ -422,10 +425,10 @@ function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
|
|
|
422
425
|
title: i.addRecipient(i[e]),
|
|
423
426
|
onMouseDown: (e) => e.preventDefault(),
|
|
424
427
|
onClick: E,
|
|
425
|
-
children: /* @__PURE__ */
|
|
428
|
+
children: /* @__PURE__ */ J(ce, { className: "size-icon" })
|
|
426
429
|
})
|
|
427
430
|
})]
|
|
428
|
-
})] }), c && /* @__PURE__ */
|
|
431
|
+
})] }), c && /* @__PURE__ */ J(a, {
|
|
429
432
|
direction: "horizontal",
|
|
430
433
|
gap: "xs",
|
|
431
434
|
justify: "end",
|
|
@@ -436,47 +439,47 @@ function xe({ field: e, value: t, options: n = {}, busy: r, strings: i, onChange
|
|
|
436
439
|
}
|
|
437
440
|
//#endregion
|
|
438
441
|
//#region src/components/features/email-composer/partials/variables.tsx
|
|
439
|
-
function Se({ definitions: e, values: t, draft:
|
|
440
|
-
let u =
|
|
441
|
-
return /* @__PURE__ */
|
|
442
|
+
function Se({ definitions: e, values: t, draft: n, api: o, strings: s, busy: c, editable: l }) {
|
|
443
|
+
let u = H();
|
|
444
|
+
return /* @__PURE__ */ J(i, {
|
|
442
445
|
minColumnWidth: "sm",
|
|
443
446
|
gap: "md",
|
|
444
447
|
children: Object.keys(e).map((i) => {
|
|
445
|
-
let d = e[i], f = Object.hasOwn(
|
|
448
|
+
let d = e[i], f = Object.hasOwn(n.placeholderOverrides, i), p = `${u}-email-variable-${i}`, m = {
|
|
446
449
|
id: p,
|
|
447
450
|
value: String(t[i] ?? ""),
|
|
448
451
|
disabled: c,
|
|
449
452
|
readOnly: !d.editable
|
|
450
|
-
}, h = d.input === "textarea" ? /* @__PURE__ */
|
|
453
|
+
}, h = d.input === "textarea" ? /* @__PURE__ */ J(C, {
|
|
451
454
|
...m,
|
|
452
455
|
onChange: (e) => o.setPlaceholder(i, e.target.value)
|
|
453
|
-
}) : d.input === "select" ? /* @__PURE__ */
|
|
456
|
+
}) : d.input === "select" ? /* @__PURE__ */ J(E, {
|
|
454
457
|
...m,
|
|
455
458
|
placeholder: s.choose,
|
|
456
459
|
options: [...d.options ?? []],
|
|
457
460
|
onValueChange: (e) => o.setPlaceholder(i, e ?? "")
|
|
458
|
-
}) : /* @__PURE__ */
|
|
461
|
+
}) : /* @__PURE__ */ J(y, {
|
|
459
462
|
...m,
|
|
460
463
|
type: d.input === "number" ? "number" : d.input === "date" ? "date" : "text",
|
|
461
464
|
onChange: (e) => o.setPlaceholder(i, d.input === "number" && e.target.value !== "" ? Number(e.target.value) : e.target.value)
|
|
462
465
|
});
|
|
463
|
-
return /* @__PURE__ */
|
|
466
|
+
return /* @__PURE__ */ J(b, {
|
|
464
467
|
label: d.group ? `${d.group} · ${d.label}` : d.label,
|
|
465
468
|
htmlFor: p,
|
|
466
469
|
required: d.required,
|
|
467
470
|
helperText: `${f ? s.overridden : s.dynamic}${d.description ? ` · ${d.description}` : ""}`,
|
|
468
|
-
children: /* @__PURE__ */
|
|
471
|
+
children: /* @__PURE__ */ Y(a, {
|
|
469
472
|
id: `${p}-group`,
|
|
470
473
|
direction: "horizontal",
|
|
471
474
|
gap: "sm",
|
|
472
475
|
align: "start",
|
|
473
476
|
wrap: !1,
|
|
474
477
|
children: [
|
|
475
|
-
/* @__PURE__ */
|
|
478
|
+
/* @__PURE__ */ J("div", {
|
|
476
479
|
className: "min-w-0 flex-1",
|
|
477
480
|
children: h
|
|
478
481
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ J(r, {
|
|
480
483
|
type: "button",
|
|
481
484
|
iconOnly: !0,
|
|
482
485
|
size: "sm",
|
|
@@ -485,9 +488,9 @@ function Se({ definitions: e, values: t, draft: r, api: o, strings: s, busy: c,
|
|
|
485
488
|
disabled: c || !l,
|
|
486
489
|
"aria-label": s.insertVariable(d.label),
|
|
487
490
|
onClick: () => o.insertPlaceholder(i),
|
|
488
|
-
children: /* @__PURE__ */
|
|
491
|
+
children: /* @__PURE__ */ J(ce, { className: "size-icon" })
|
|
489
492
|
}),
|
|
490
|
-
f && /* @__PURE__ */
|
|
493
|
+
f && /* @__PURE__ */ J(r, {
|
|
491
494
|
type: "button",
|
|
492
495
|
size: "sm",
|
|
493
496
|
buttonStyle: "ghost",
|
|
@@ -525,10 +528,10 @@ var Ce = pe.create({
|
|
|
525
528
|
],
|
|
526
529
|
renderText: ({ node: e }) => `{{${e.attrs.key}}}`
|
|
527
530
|
}), $ = [_e.configure({ link: { openOnClick: !1 } }), Ce];
|
|
528
|
-
function we({ body: n, disabled: r, onChange: i, adapterRef:
|
|
529
|
-
let u =
|
|
531
|
+
function we({ body: n, disabled: r, onChange: i, adapterRef: o, strings: l }) {
|
|
532
|
+
let u = G(i);
|
|
530
533
|
u.current = i;
|
|
531
|
-
let d =
|
|
534
|
+
let d = G(!1), [f, p] = K(!1), [m, h] = K(""), [_, v] = K(""), x = G({
|
|
532
535
|
from: 1,
|
|
533
536
|
to: 1
|
|
534
537
|
}), S = e(M, {
|
|
@@ -541,6 +544,7 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
541
544
|
content: n.kind === "rich" ? n.document : P(n),
|
|
542
545
|
editable: !r,
|
|
543
546
|
editorProps: { attributes: {
|
|
547
|
+
"data-slot": "editor-field",
|
|
544
548
|
role: "textbox",
|
|
545
549
|
"aria-label": l.body,
|
|
546
550
|
"aria-multiline": "true",
|
|
@@ -553,20 +557,20 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
553
557
|
});
|
|
554
558
|
}
|
|
555
559
|
});
|
|
556
|
-
|
|
560
|
+
V(() => {
|
|
557
561
|
if (C) try {
|
|
558
562
|
let e = n.kind === "rich" ? C.schema.nodeFromJSON(n.document).toJSON() : me(P(n), $);
|
|
559
563
|
JSON.stringify(C.getJSON()) !== JSON.stringify(e) && C.commands.setContent(e, { emitUpdate: !1 });
|
|
560
564
|
} catch {}
|
|
561
|
-
}),
|
|
565
|
+
}), V(() => {
|
|
562
566
|
C?.setEditable(!r && n.kind !== "html", !1);
|
|
563
567
|
}, [
|
|
564
568
|
C,
|
|
565
569
|
r,
|
|
566
570
|
n.kind
|
|
567
|
-
]),
|
|
571
|
+
]), V(() => {
|
|
568
572
|
(r || n.kind === "html") && p(!1);
|
|
569
|
-
}, [r, n.kind]),
|
|
573
|
+
}, [r, n.kind]), U(o, () => {
|
|
570
574
|
let e = (e) => {
|
|
571
575
|
if (!C) throw Error(l.editorNotReady);
|
|
572
576
|
d.current = !0;
|
|
@@ -612,18 +616,20 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
612
616
|
let w = [
|
|
613
617
|
{
|
|
614
618
|
id: "bold",
|
|
615
|
-
icon:
|
|
619
|
+
icon: X,
|
|
616
620
|
label: S.toolbar.bold,
|
|
617
621
|
isActive: () => !!C?.isActive("bold"),
|
|
622
|
+
toggle: !0,
|
|
618
623
|
run: () => {
|
|
619
624
|
C?.chain().focus().toggleBold().run();
|
|
620
625
|
}
|
|
621
626
|
},
|
|
622
627
|
{
|
|
623
628
|
id: "italic",
|
|
624
|
-
icon:
|
|
629
|
+
icon: Z,
|
|
625
630
|
label: S.toolbar.italic,
|
|
626
631
|
isActive: () => !!C?.isActive("italic"),
|
|
632
|
+
toggle: !0,
|
|
627
633
|
run: () => {
|
|
628
634
|
C?.chain().focus().toggleItalic().run();
|
|
629
635
|
}
|
|
@@ -633,6 +639,7 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
633
639
|
icon: oe,
|
|
634
640
|
label: S.toolbar.bulletList,
|
|
635
641
|
isActive: () => !!C?.isActive("bulletList"),
|
|
642
|
+
toggle: !0,
|
|
636
643
|
run: () => {
|
|
637
644
|
C?.chain().focus().toggleBulletList().run();
|
|
638
645
|
}
|
|
@@ -642,6 +649,7 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
642
649
|
icon: se,
|
|
643
650
|
label: S.toolbar.orderedList,
|
|
644
651
|
isActive: () => !!C?.isActive("orderedList"),
|
|
652
|
+
toggle: !0,
|
|
645
653
|
run: () => {
|
|
646
654
|
C?.chain().focus().toggleOrderedList().run();
|
|
647
655
|
}
|
|
@@ -667,11 +675,11 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
667
675
|
disabled: !C?.can().redo()
|
|
668
676
|
}
|
|
669
677
|
];
|
|
670
|
-
return /* @__PURE__ */
|
|
678
|
+
return /* @__PURE__ */ Y(a, {
|
|
671
679
|
gap: "none",
|
|
672
680
|
className: t("email-composer--editor", A.frame, r && A.disabled),
|
|
673
681
|
children: [
|
|
674
|
-
/* @__PURE__ */
|
|
682
|
+
/* @__PURE__ */ J(j, {
|
|
675
683
|
buttons: w,
|
|
676
684
|
disabled: r,
|
|
677
685
|
hasEditor: !!C,
|
|
@@ -691,11 +699,11 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
691
699
|
}
|
|
692
700
|
}]
|
|
693
701
|
}),
|
|
694
|
-
/* @__PURE__ */
|
|
702
|
+
/* @__PURE__ */ J(fe, {
|
|
695
703
|
editor: C,
|
|
696
704
|
className: t(A.content, "min-h-64 w-full min-w-0 [&_.ProseMirror]:min-h-64")
|
|
697
705
|
}),
|
|
698
|
-
/* @__PURE__ */
|
|
706
|
+
/* @__PURE__ */ J(g, {
|
|
699
707
|
open: f,
|
|
700
708
|
onOpenChange: p,
|
|
701
709
|
title: l.linkTitle,
|
|
@@ -711,19 +719,26 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
711
719
|
v(l.invalidLink);
|
|
712
720
|
return;
|
|
713
721
|
}
|
|
714
|
-
C?.commands.setTextSelection(x.current), e
|
|
722
|
+
C?.commands.setTextSelection(x.current), e && C?.state.selection.empty && !C.isActive("link") ? C.chain().focus().insertContent({
|
|
723
|
+
type: "text",
|
|
724
|
+
text: e.replace(/^mailto:/i, ""),
|
|
725
|
+
marks: [{
|
|
726
|
+
type: "link",
|
|
727
|
+
attrs: { href: e }
|
|
728
|
+
}]
|
|
729
|
+
}).run() : e ? C?.chain().focus().extendMarkRange("link").setLink({ href: e }).run() : C?.chain().focus().extendMarkRange("link").unsetLink().run(), p(!1);
|
|
715
730
|
},
|
|
716
|
-
children: /* @__PURE__ */
|
|
731
|
+
children: /* @__PURE__ */ Y(a, {
|
|
717
732
|
gap: "md",
|
|
718
|
-
children: [/* @__PURE__ */
|
|
733
|
+
children: [/* @__PURE__ */ J(b, {
|
|
719
734
|
label: l.linkUrl,
|
|
720
|
-
children: /* @__PURE__ */
|
|
735
|
+
children: /* @__PURE__ */ J(y, {
|
|
721
736
|
value: m,
|
|
722
737
|
onChange: (e) => h(e.target.value)
|
|
723
738
|
})
|
|
724
|
-
}), _ && /* @__PURE__ */
|
|
739
|
+
}), _ && /* @__PURE__ */ J(s, {
|
|
725
740
|
tone: "destructive",
|
|
726
|
-
children: /* @__PURE__ */
|
|
741
|
+
children: /* @__PURE__ */ J(c, { children: _ })
|
|
727
742
|
})]
|
|
728
743
|
})
|
|
729
744
|
})
|
|
@@ -732,22 +747,22 @@ function we({ body: n, disabled: r, onChange: i, adapterRef: c, strings: l }) {
|
|
|
732
747
|
}
|
|
733
748
|
//#endregion
|
|
734
749
|
//#region src/components/features/email-composer/partials/html-preview.tsx
|
|
735
|
-
function Te({ html: e, subject: t, strings:
|
|
736
|
-
return /* @__PURE__ */
|
|
750
|
+
function Te({ html: e, subject: t, strings: r }) {
|
|
751
|
+
return /* @__PURE__ */ Y(a, {
|
|
737
752
|
gap: "normal",
|
|
738
753
|
className: "min-w-0",
|
|
739
|
-
children: [/* @__PURE__ */
|
|
754
|
+
children: [/* @__PURE__ */ Y(n, {
|
|
740
755
|
type: "secondary",
|
|
741
756
|
children: [
|
|
742
|
-
|
|
757
|
+
r.subject,
|
|
743
758
|
": ",
|
|
744
759
|
t
|
|
745
760
|
]
|
|
746
|
-
}), /* @__PURE__ */
|
|
761
|
+
}), /* @__PURE__ */ J(l, {
|
|
747
762
|
surface: "card",
|
|
748
763
|
padding: "none",
|
|
749
|
-
children: /* @__PURE__ */
|
|
750
|
-
title:
|
|
764
|
+
children: /* @__PURE__ */ J("iframe", {
|
|
765
|
+
title: r.previewLabel,
|
|
751
766
|
sandbox: "",
|
|
752
767
|
referrerPolicy: "no-referrer",
|
|
753
768
|
className: "h-80 w-full border-0",
|
|
@@ -759,17 +774,19 @@ function Te({ html: e, subject: t, strings: n }) {
|
|
|
759
774
|
//#endregion
|
|
760
775
|
//#region src/components/features/email-composer/email-composer.tsx
|
|
761
776
|
function Ee(e) {
|
|
762
|
-
let
|
|
777
|
+
let n = ye(e), { api: i, draft: u, strings: d, busy: x, state: S } = n, [C, w] = K("editor"), [T, E] = K(e.placeholders?.showEditor ?? !1), [A, j] = K(!1), [M, N] = K(!1), [P, F] = K(!1), [re, ie] = K(!1), I = () => {
|
|
778
|
+
!x && e.onClose && (e.confirmClose && n.unsent ? ie(!0) : e.onClose());
|
|
779
|
+
}, L = H(), R = C === "preview" || u.body.kind === "html", z = (t) => (e.actions ?? []).filter((e) => (e.position ?? "toolbar") === t && (e.visible?.(S) ?? !0)).map((e) => ({
|
|
763
780
|
id: e.id,
|
|
764
781
|
label: e.label,
|
|
765
782
|
icon: e.icon,
|
|
766
783
|
disabled: x || e.disabled?.(S),
|
|
767
784
|
onClick: () => {
|
|
768
|
-
|
|
785
|
+
n.runAction(e);
|
|
769
786
|
},
|
|
770
787
|
buttonStyle: "ghost",
|
|
771
788
|
tone: "secondary"
|
|
772
|
-
})),
|
|
789
|
+
})), B = /* @__PURE__ */ Y(a, {
|
|
773
790
|
direction: {
|
|
774
791
|
base: "vertical",
|
|
775
792
|
sm: "horizontal"
|
|
@@ -781,10 +798,10 @@ function Ee(e) {
|
|
|
781
798
|
},
|
|
782
799
|
justify: "between",
|
|
783
800
|
className: "w-full",
|
|
784
|
-
children: [/* @__PURE__ */
|
|
801
|
+
children: [/* @__PURE__ */ Y(a, {
|
|
785
802
|
direction: "horizontal",
|
|
786
803
|
gap: f.commands,
|
|
787
|
-
children: [e.buttons?.discard !== !1 && /* @__PURE__ */
|
|
804
|
+
children: [e.buttons?.discard !== !1 && /* @__PURE__ */ J(r, {
|
|
788
805
|
type: "button",
|
|
789
806
|
tone: "secondary",
|
|
790
807
|
buttonStyle: "ghost",
|
|
@@ -793,56 +810,56 @@ function Ee(e) {
|
|
|
793
810
|
i.discard();
|
|
794
811
|
},
|
|
795
812
|
children: e.buttons?.discard?.label ?? d.discard
|
|
796
|
-
}), /* @__PURE__ */
|
|
797
|
-
}), /* @__PURE__ */
|
|
813
|
+
}), /* @__PURE__ */ J(m, { actions: z("footer-start") })]
|
|
814
|
+
}), /* @__PURE__ */ Y(a, {
|
|
798
815
|
direction: "horizontal",
|
|
799
816
|
gap: f.commands,
|
|
800
817
|
justify: "end",
|
|
801
|
-
children: [/* @__PURE__ */
|
|
818
|
+
children: [/* @__PURE__ */ J(m, { actions: z("footer-end") }), (e.buttons?.send !== !1 || !!z("overflow").length) && /* @__PURE__ */ Y(a, {
|
|
802
819
|
direction: "horizontal",
|
|
803
820
|
gap: f.commands,
|
|
804
821
|
wrap: !1,
|
|
805
822
|
className: "email-composer--send-commands",
|
|
806
|
-
children: [e.buttons?.send !== !1 && /* @__PURE__ */
|
|
823
|
+
children: [e.buttons?.send !== !1 && /* @__PURE__ */ J(r, {
|
|
807
824
|
type: "button",
|
|
808
825
|
tone: "primary",
|
|
809
|
-
disabled: x ||
|
|
826
|
+
disabled: x || n.dataPending,
|
|
810
827
|
loading: x,
|
|
811
828
|
strings: { loading: d.working },
|
|
812
829
|
onClick: () => {
|
|
813
830
|
i.send();
|
|
814
831
|
},
|
|
815
832
|
children: x ? d.working : e.buttons?.send?.label ?? d.send
|
|
816
|
-
}), !!
|
|
817
|
-
actions:
|
|
833
|
+
}), !!z("overflow").length && /* @__PURE__ */ J(p, {
|
|
834
|
+
actions: z("overflow"),
|
|
818
835
|
srText: d.more,
|
|
819
|
-
|
|
836
|
+
disabled: x
|
|
820
837
|
})]
|
|
821
838
|
})]
|
|
822
839
|
})]
|
|
823
|
-
}),
|
|
840
|
+
}), V = (e) => n.attempted ? S.issues.find((t) => t.field === e)?.message : void 0, U = /* @__PURE__ */ Y(a, {
|
|
824
841
|
gap: "lg",
|
|
825
842
|
className: "email-composer--body min-w-0",
|
|
826
843
|
children: [
|
|
827
|
-
/* @__PURE__ */
|
|
844
|
+
/* @__PURE__ */ Y(a, {
|
|
828
845
|
gap: "md",
|
|
829
846
|
className: "email-composer--details",
|
|
830
|
-
children: [/* @__PURE__ */
|
|
847
|
+
children: [/* @__PURE__ */ J(a, {
|
|
831
848
|
gap: "md",
|
|
832
849
|
children: [
|
|
833
850
|
"to",
|
|
834
851
|
"cc",
|
|
835
852
|
"bcc"
|
|
836
|
-
].filter((t) => t === "to" || t === "cc" && (A || u.cc.length || Q(e.recipients?.cc)) || t === "bcc" && (M || u.bcc.length || Q(e.recipients?.bcc))).map((t) => /* @__PURE__ */
|
|
853
|
+
].filter((t) => t === "to" || t === "cc" && (A || u.cc.length || Q(e.recipients?.cc)) || t === "bcc" && (M || u.bcc.length || Q(e.recipients?.bcc))).map((t) => /* @__PURE__ */ J(xe, {
|
|
837
854
|
field: t,
|
|
838
855
|
value: u[t],
|
|
839
856
|
options: e.recipients?.[t],
|
|
840
857
|
strings: d,
|
|
841
858
|
busy: x,
|
|
842
|
-
report:
|
|
843
|
-
error:
|
|
844
|
-
onChange: (e) =>
|
|
845
|
-
actions: t === "to" ? /* @__PURE__ */
|
|
859
|
+
report: n.report,
|
|
860
|
+
error: V(t),
|
|
861
|
+
onChange: (e) => n.changeRecipients(t, e),
|
|
862
|
+
actions: t === "to" ? /* @__PURE__ */ Y(q, { children: [!A && !u.cc.length && /* @__PURE__ */ J(r, {
|
|
846
863
|
type: "button",
|
|
847
864
|
size: "sm",
|
|
848
865
|
buttonStyle: "ghost",
|
|
@@ -850,7 +867,7 @@ function Ee(e) {
|
|
|
850
867
|
disabled: x,
|
|
851
868
|
onClick: () => j(!0),
|
|
852
869
|
children: d.cc
|
|
853
|
-
}), !M && !u.bcc.length && /* @__PURE__ */
|
|
870
|
+
}), !M && !u.bcc.length && /* @__PURE__ */ J(r, {
|
|
854
871
|
type: "button",
|
|
855
872
|
size: "sm",
|
|
856
873
|
buttonStyle: "ghost",
|
|
@@ -860,51 +877,51 @@ function Ee(e) {
|
|
|
860
877
|
children: d.bcc
|
|
861
878
|
})] }) : void 0
|
|
862
879
|
}, t))
|
|
863
|
-
}), /* @__PURE__ */
|
|
880
|
+
}), /* @__PURE__ */ J(b, {
|
|
864
881
|
label: d.subject,
|
|
865
882
|
required: !0,
|
|
866
|
-
htmlFor: `${
|
|
867
|
-
error:
|
|
868
|
-
supportingTextId: `${
|
|
869
|
-
children: /* @__PURE__ */
|
|
870
|
-
id: `${
|
|
883
|
+
htmlFor: `${L}-subject`,
|
|
884
|
+
error: V("subject"),
|
|
885
|
+
supportingTextId: `${L}-subject-error`,
|
|
886
|
+
children: /* @__PURE__ */ J(y, {
|
|
887
|
+
id: `${L}-subject`,
|
|
871
888
|
value: u.subject,
|
|
872
889
|
readOnly: e.subject?.readOnly,
|
|
873
890
|
disabled: x,
|
|
874
|
-
invalid: !!
|
|
875
|
-
"aria-describedby":
|
|
876
|
-
onChange: (e) =>
|
|
891
|
+
invalid: !!V("subject"),
|
|
892
|
+
"aria-describedby": V("subject") ? `${L}-subject-error` : void 0,
|
|
893
|
+
onChange: (e) => n.changeSubject(e.target.value)
|
|
877
894
|
})
|
|
878
895
|
})]
|
|
879
896
|
}),
|
|
880
|
-
/* @__PURE__ */
|
|
881
|
-
value:
|
|
897
|
+
/* @__PURE__ */ J(te, {
|
|
898
|
+
value: R ? "preview" : "editor",
|
|
882
899
|
onValueChange: (e) => {
|
|
883
900
|
e && w(e);
|
|
884
901
|
},
|
|
885
|
-
children: /* @__PURE__ */
|
|
902
|
+
children: /* @__PURE__ */ Y(l, {
|
|
886
903
|
surface: "flat",
|
|
887
904
|
padding: "none",
|
|
888
905
|
contentGap: "md",
|
|
889
906
|
titleSize: "sm",
|
|
890
907
|
title: d.body,
|
|
891
|
-
headerAction: /* @__PURE__ */
|
|
908
|
+
headerAction: /* @__PURE__ */ Y(k, { children: [/* @__PURE__ */ J(D, {
|
|
892
909
|
value: "editor",
|
|
893
910
|
disabled: u.body.kind === "html",
|
|
894
911
|
children: d.editor
|
|
895
|
-
}), /* @__PURE__ */
|
|
912
|
+
}), /* @__PURE__ */ J(D, {
|
|
896
913
|
value: "preview",
|
|
897
914
|
children: d.preview
|
|
898
915
|
})] }),
|
|
899
916
|
children: [
|
|
900
|
-
(!!e.templates || !!
|
|
917
|
+
(!!e.templates || !!n.templates.length || z("toolbar").length > 0) && /* @__PURE__ */ Y(a, {
|
|
901
918
|
direction: "horizontal",
|
|
902
919
|
gap: f.commands,
|
|
903
920
|
align: "center",
|
|
904
921
|
className: "email-composer--message-actions",
|
|
905
922
|
children: [
|
|
906
|
-
(e.templates || !!
|
|
907
|
-
trigger: /* @__PURE__ */
|
|
923
|
+
(e.templates || !!n.templates.length) && /* @__PURE__ */ J(ne, {
|
|
924
|
+
trigger: /* @__PURE__ */ J(r, {
|
|
908
925
|
type: "button",
|
|
909
926
|
tone: "secondary",
|
|
910
927
|
buttonStyle: "outline",
|
|
@@ -912,7 +929,7 @@ function Ee(e) {
|
|
|
912
929
|
disabled: x,
|
|
913
930
|
children: d.templates
|
|
914
931
|
}),
|
|
915
|
-
items:
|
|
932
|
+
items: n.templates.map((e) => ({
|
|
916
933
|
value: e.id,
|
|
917
934
|
label: e.name,
|
|
918
935
|
description: e.description ?? e.category,
|
|
@@ -922,13 +939,13 @@ function Ee(e) {
|
|
|
922
939
|
try {
|
|
923
940
|
i.applyTemplate(e.value);
|
|
924
941
|
} catch (e) {
|
|
925
|
-
|
|
942
|
+
n.report(e);
|
|
926
943
|
}
|
|
927
944
|
},
|
|
928
945
|
loading: e.templates?.loading,
|
|
929
946
|
error: e.templates?.error,
|
|
930
947
|
onRetry: e.templates?.onRetry ? () => {
|
|
931
|
-
Promise.resolve().then(e.templates.onRetry).catch(
|
|
948
|
+
Promise.resolve().then(e.templates.onRetry).catch(n.report);
|
|
932
949
|
} : void 0,
|
|
933
950
|
onOpenChange: e.templates?.onOpenChange,
|
|
934
951
|
strings: {
|
|
@@ -938,69 +955,69 @@ function Ee(e) {
|
|
|
938
955
|
retry: d.retry
|
|
939
956
|
}
|
|
940
957
|
}),
|
|
941
|
-
e.templates?.allowImport && e.templates.onImport && /* @__PURE__ */
|
|
958
|
+
e.templates?.allowImport && e.templates.onImport && /* @__PURE__ */ J(r, {
|
|
942
959
|
type: "button",
|
|
943
960
|
tone: "secondary",
|
|
944
961
|
buttonStyle: "ghost",
|
|
945
962
|
size: "sm",
|
|
946
963
|
disabled: x,
|
|
947
964
|
onClick: () => {
|
|
948
|
-
|
|
965
|
+
n.importTemplate();
|
|
949
966
|
},
|
|
950
967
|
children: d.importTemplate
|
|
951
968
|
}),
|
|
952
|
-
/* @__PURE__ */
|
|
969
|
+
/* @__PURE__ */ J(m, {
|
|
953
970
|
size: "sm",
|
|
954
|
-
actions:
|
|
971
|
+
actions: z("toolbar")
|
|
955
972
|
})
|
|
956
973
|
]
|
|
957
974
|
}),
|
|
958
|
-
/* @__PURE__ */
|
|
975
|
+
/* @__PURE__ */ J(O, {
|
|
959
976
|
value: "editor",
|
|
960
977
|
keepMounted: !0,
|
|
961
|
-
children: /* @__PURE__ */
|
|
978
|
+
children: /* @__PURE__ */ J(we, {
|
|
962
979
|
body: u.body,
|
|
963
|
-
disabled: x ||
|
|
964
|
-
onChange:
|
|
965
|
-
adapterRef:
|
|
980
|
+
disabled: x || R,
|
|
981
|
+
onChange: n.changeBody,
|
|
982
|
+
adapterRef: n.editorRef,
|
|
966
983
|
strings: d
|
|
967
984
|
})
|
|
968
985
|
}),
|
|
969
|
-
/* @__PURE__ */
|
|
986
|
+
/* @__PURE__ */ J(O, {
|
|
970
987
|
value: "preview",
|
|
971
|
-
children:
|
|
972
|
-
html:
|
|
973
|
-
subject:
|
|
988
|
+
children: n.rendered && /* @__PURE__ */ J(Te, {
|
|
989
|
+
html: n.rendered.email.html,
|
|
990
|
+
subject: n.rendered.email.subject,
|
|
974
991
|
strings: d
|
|
975
992
|
})
|
|
976
993
|
})
|
|
977
994
|
]
|
|
978
995
|
})
|
|
979
996
|
}),
|
|
980
|
-
(!!Object.keys(
|
|
997
|
+
(!!Object.keys(n.definitions).length || Q(e.placeholders)) && /* @__PURE__ */ J(v, {
|
|
981
998
|
value: T ? ["variables"] : [],
|
|
982
999
|
onValueChange: (e) => E(e.includes("variables")),
|
|
983
1000
|
items: [{
|
|
984
1001
|
value: "variables",
|
|
985
1002
|
title: d.variables,
|
|
986
1003
|
description: d.variablesDescription,
|
|
987
|
-
content: Q(e.placeholders) ? /* @__PURE__ */
|
|
1004
|
+
content: Q(e.placeholders) ? /* @__PURE__ */ J(ve, {
|
|
988
1005
|
state: e.placeholders,
|
|
989
1006
|
label: d.loadingVariables,
|
|
990
1007
|
retryLabel: d.retry,
|
|
991
|
-
report:
|
|
992
|
-
}) : /* @__PURE__ */
|
|
993
|
-
definitions:
|
|
994
|
-
values:
|
|
1008
|
+
report: n.report
|
|
1009
|
+
}) : /* @__PURE__ */ J(Se, {
|
|
1010
|
+
definitions: n.definitions,
|
|
1011
|
+
values: n.values,
|
|
995
1012
|
draft: u,
|
|
996
1013
|
api: i,
|
|
997
1014
|
strings: d,
|
|
998
1015
|
busy: x,
|
|
999
|
-
editable: !
|
|
1016
|
+
editable: !R
|
|
1000
1017
|
})
|
|
1001
1018
|
}]
|
|
1002
1019
|
}),
|
|
1003
|
-
u.body.kind === "html" && /* @__PURE__ */
|
|
1020
|
+
u.body.kind === "html" && /* @__PURE__ */ J(r, {
|
|
1004
1021
|
type: "button",
|
|
1005
1022
|
tone: "secondary",
|
|
1006
1023
|
buttonStyle: "outline",
|
|
@@ -1008,18 +1025,18 @@ function Ee(e) {
|
|
|
1008
1025
|
onClick: () => F(!0),
|
|
1009
1026
|
children: d.convert
|
|
1010
1027
|
}),
|
|
1011
|
-
(
|
|
1028
|
+
(n.error || !n.dataPending && n.renderError) && /* @__PURE__ */ Y(s, {
|
|
1012
1029
|
tone: "destructive",
|
|
1013
|
-
children: [/* @__PURE__ */
|
|
1030
|
+
children: [/* @__PURE__ */ J(o, { children: d.errorTitle }), /* @__PURE__ */ J(c, { children: n.error || n.renderError })]
|
|
1014
1031
|
}),
|
|
1015
|
-
|
|
1032
|
+
n.notice && /* @__PURE__ */ J(s, {
|
|
1016
1033
|
tone: "success",
|
|
1017
1034
|
role: "status",
|
|
1018
|
-
children: /* @__PURE__ */
|
|
1035
|
+
children: /* @__PURE__ */ J(c, { children: n.notice })
|
|
1019
1036
|
}),
|
|
1020
1037
|
e.children?.(i)
|
|
1021
1038
|
]
|
|
1022
|
-
}),
|
|
1039
|
+
}), W = e.title ?? d.title, G = e.onClose ? /* @__PURE__ */ J(r, {
|
|
1023
1040
|
type: "button",
|
|
1024
1041
|
iconOnly: !0,
|
|
1025
1042
|
tone: "secondary",
|
|
@@ -1027,16 +1044,16 @@ function Ee(e) {
|
|
|
1027
1044
|
size: "sm",
|
|
1028
1045
|
disabled: x,
|
|
1029
1046
|
"aria-label": d.close,
|
|
1030
|
-
onClick:
|
|
1031
|
-
children: /* @__PURE__ */
|
|
1032
|
-
}) : void 0,
|
|
1047
|
+
onClick: I,
|
|
1048
|
+
children: /* @__PURE__ */ J(de, { className: "size-icon" })
|
|
1049
|
+
}) : void 0, X, Z = t("email-composer--component min-w-0", e.className);
|
|
1033
1050
|
if (e.position === "dialog" || e.position === "sheet") {
|
|
1034
1051
|
let t = {
|
|
1035
1052
|
open: !0,
|
|
1036
|
-
title:
|
|
1053
|
+
title: W,
|
|
1037
1054
|
description: e.description,
|
|
1038
|
-
onOpenChange: (
|
|
1039
|
-
|
|
1055
|
+
onOpenChange: (e) => {
|
|
1056
|
+
e || I();
|
|
1040
1057
|
},
|
|
1041
1058
|
closeOnEscape: !x && !!e.onClose,
|
|
1042
1059
|
closeOnBackdropClick: !1,
|
|
@@ -1045,55 +1062,72 @@ function Ee(e) {
|
|
|
1045
1062
|
showCancel: !1,
|
|
1046
1063
|
showConfirm: !1,
|
|
1047
1064
|
showCloseButton: !!e.onClose && !x,
|
|
1048
|
-
footer:
|
|
1049
|
-
className:
|
|
1065
|
+
footer: B,
|
|
1066
|
+
className: Z
|
|
1050
1067
|
};
|
|
1051
|
-
|
|
1068
|
+
X = e.position === "dialog" ? /* @__PURE__ */ J(g, {
|
|
1052
1069
|
...t,
|
|
1053
1070
|
size: "3xl",
|
|
1054
1071
|
showCloseButton: !!e.onClose && !x,
|
|
1055
|
-
children:
|
|
1056
|
-
}) : /* @__PURE__ */
|
|
1072
|
+
children: U
|
|
1073
|
+
}) : /* @__PURE__ */ J(h, {
|
|
1057
1074
|
...t,
|
|
1058
1075
|
width: "3xl",
|
|
1059
|
-
children:
|
|
1076
|
+
children: U
|
|
1060
1077
|
});
|
|
1061
1078
|
} else {
|
|
1062
|
-
let t = /* @__PURE__ */
|
|
1063
|
-
className:
|
|
1079
|
+
let t = /* @__PURE__ */ J(l, {
|
|
1080
|
+
className: Z,
|
|
1064
1081
|
surface: "card",
|
|
1065
|
-
title:
|
|
1082
|
+
title: W,
|
|
1066
1083
|
description: e.description,
|
|
1067
|
-
headerAction:
|
|
1068
|
-
headerClassName: e.position === "floating" &&
|
|
1069
|
-
footerSlot:
|
|
1070
|
-
children:
|
|
1084
|
+
headerAction: G,
|
|
1085
|
+
headerClassName: e.position === "floating" && G ? "flex-nowrap [&>.card--header-start]:basis-0 [&>.card--header-end]:shrink-0" : void 0,
|
|
1086
|
+
footerSlot: B,
|
|
1087
|
+
children: U
|
|
1071
1088
|
});
|
|
1072
|
-
|
|
1089
|
+
X = e.position === "floating" ? /* @__PURE__ */ J("div", {
|
|
1073
1090
|
className: "fixed bottom-space-md end-space-md z-40 w-[min(42rem,calc(100vw-2rem))]",
|
|
1074
|
-
children: /* @__PURE__ */
|
|
1091
|
+
children: /* @__PURE__ */ J(ee, {
|
|
1075
1092
|
className: "max-h-[calc(100dvh-2rem)]",
|
|
1076
1093
|
viewportClassName: "max-h-[calc(100dvh-2rem)]",
|
|
1077
1094
|
children: t
|
|
1078
1095
|
})
|
|
1079
1096
|
}) : t;
|
|
1080
1097
|
}
|
|
1081
|
-
return /* @__PURE__ */
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1098
|
+
return /* @__PURE__ */ Y(q, { children: [
|
|
1099
|
+
X,
|
|
1100
|
+
/* @__PURE__ */ J(_, {
|
|
1101
|
+
open: P,
|
|
1102
|
+
onOpenChange: F,
|
|
1103
|
+
title: d.convertTitle,
|
|
1104
|
+
description: d.convertDescription,
|
|
1105
|
+
strings: {
|
|
1106
|
+
confirm: d.convert,
|
|
1107
|
+
cancel: d.cancel,
|
|
1108
|
+
close: d.closeConversion
|
|
1109
|
+
},
|
|
1110
|
+
onConfirm: () => {
|
|
1111
|
+
!x && n.editorRef.current && (i.setBody(n.editorRef.current.convert(u.body)), w("editor"));
|
|
1112
|
+
}
|
|
1113
|
+
}),
|
|
1114
|
+
e.confirmClose && /* @__PURE__ */ J(_, {
|
|
1115
|
+
open: re,
|
|
1116
|
+
onOpenChange: ie,
|
|
1117
|
+
destructive: !0,
|
|
1118
|
+
title: d.confirmCloseTitle,
|
|
1119
|
+
description: d.confirmCloseDescription,
|
|
1120
|
+
strings: {
|
|
1121
|
+
confirm: d.confirmCloseConfirm,
|
|
1122
|
+
cancel: d.confirmCloseCancel
|
|
1123
|
+
},
|
|
1124
|
+
onConfirm: () => {
|
|
1125
|
+
e.onClose?.();
|
|
1126
|
+
}
|
|
1127
|
+
})
|
|
1128
|
+
] });
|
|
1095
1129
|
}
|
|
1096
1130
|
//#endregion
|
|
1097
|
-
export { Ee as EmailComposer, P as bodyHtml,
|
|
1131
|
+
export { Ee as EmailComposer, P as bodyHtml, z as createHttpSender, B as defaultEmailComposerStrings, L as parseRecipient, F as recipientLabel, N as renderEmail, I as resolveValues, R as validate };
|
|
1098
1132
|
|
|
1099
1133
|
//# sourceMappingURL=email-composer.js.map
|