@hartl-services/medusa-base 2.5.0 → 2.6.1
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/.medusa/server/src/admin/admin-components/features/plugin-features/components/ImageSettingInput.js +48 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.js +3 -2
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +17 -0
- package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginPageShell.js +20 -0
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.js +16 -3
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.js +3 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.d.ts +17 -2
- package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.js +33 -1
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.d.ts +3 -0
- package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.js +3 -0
- package/.medusa/server/src/admin/admin-components/index.d.ts +36 -0
- package/.medusa/server/src/admin/admin-components/index.js +37 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/date-input.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/errors.d.ts +9 -0
- package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/errors.js +4 -6
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.js +18 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.d.ts +32 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/format.js +77 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.js +31 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/pdf.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.d.ts +2 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.js +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.js +5 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.js +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.js +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.js +12 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.js +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.d.ts +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.d.ts +19 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.js +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.d.ts +24 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.js +23 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.d.ts +63 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.js +84 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.d.ts +17 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.js +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.d.ts +16 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.js +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.d.ts +14 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.js +26 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.js +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.d.ts +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.js +49 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.d.ts +11 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.js +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.js +43 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.d.ts +15 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.js +161 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.d.ts +30 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.js +47 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.d.ts +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.js +46 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.d.ts +9 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.js +6 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.d.ts +8 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.js +21 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.js +20 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.d.ts +13 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.js +60 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.d.ts +25 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.js +10 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.d.ts +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.js +7 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.d.ts +44 -0
- package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.js +37 -0
- package/.medusa/server/src/admin/index.js +4519 -1447
- package/.medusa/server/src/admin/index.mjs +4521 -1452
- package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +15 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/[version_id]/download/route.js +16 -0
- package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +41 -0
- package/.medusa/server/src/api/admin/email/attachments/route.js +21 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +31 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +28 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +179 -0
- package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +19 -0
- package/.medusa/server/src/api/admin/email/templates/route.js +15 -0
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
- package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
- package/.medusa/server/src/api/attachment-download-response.js +12 -0
- package/.medusa/server/src/api/email-template-response.js +43 -0
- package/.medusa/server/src/api/middlewares.js +75 -17
- package/.medusa/server/src/api/plugin-actions.js +6 -5
- package/.medusa/server/src/api/plugin-features-http.js +4 -9
- package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +2 -2
- package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
- package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
- package/.medusa/server/src/documents/plugin-features.js +1 -7
- package/.medusa/server/src/documents/templates/financial-document.js +12 -11
- package/.medusa/server/src/documents/templates/html-factory.js +1 -1
- package/.medusa/server/src/documents/templates/html-utils.js +4 -10
- package/.medusa/server/src/documents/templates/layout.js +30 -11
- package/.medusa/server/src/documents/templates/packing-list.js +8 -7
- package/.medusa/server/src/documents/utils/document-render-settings.js +9 -6
- package/.medusa/server/src/email/application/handle-customer-verification-event.js +8 -3
- package/.medusa/server/src/email/application/handle-invite-event.js +8 -3
- package/.medusa/server/src/email/application/handle-password-reset-event.js +8 -3
- package/.medusa/server/src/email/application/notification-attachments.js +86 -0
- package/.medusa/server/src/email/application/template-data-from-order.js +339 -0
- package/.medusa/server/src/email/config/index.js +5 -29
- package/.medusa/server/src/email/domain/business-keys.js +5 -5
- package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +3 -3
- package/.medusa/server/src/email/domain/order-summary.js +21 -27
- package/.medusa/server/src/email/domain/refund-summary.js +7 -12
- package/.medusa/server/src/email/domain/return-summary.js +32 -38
- package/.medusa/server/src/email/domain/shipment-summary.js +22 -28
- package/.medusa/server/src/email/plugin-features.js +2 -10
- package/.medusa/server/src/email/rendering/calendar-dates.js +19 -0
- package/.medusa/server/src/email/rendering/default-templates.js +99 -682
- package/.medusa/server/src/email/rendering/email-html.js +189 -0
- package/.medusa/server/src/email/rendering/load-email-shop-details.js +14 -12
- package/.medusa/server/src/email/rendering/render-email.js +46 -13
- package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +3 -14
- package/.medusa/server/src/email/templates/blocks/dynamic-blocks.js +427 -0
- package/.medusa/server/src/email/templates/blocks/placeholders.js +71 -0
- package/.medusa/server/src/email/templates/blocks/render-document.js +137 -0
- package/.medusa/server/src/email/templates/code-override.js +18 -0
- package/.medusa/server/src/email/templates/defaults/documents.js +129 -0
- package/.medusa/server/src/email/templates/defaults/subjects.js +62 -0
- package/.medusa/server/src/email/templates/defaults/texts.js +42 -0
- package/.medusa/server/src/email/templates/index.js +22 -0
- package/.medusa/server/src/email/templates/load-template.js +39 -0
- package/.medusa/server/src/email/templates/preview.js +33 -0
- package/.medusa/server/src/email/templates/render.js +70 -0
- package/.medusa/server/src/email/templates/sample-data.js +165 -0
- package/.medusa/server/src/email/templates/types.js +3 -0
- package/.medusa/server/src/email/templates/validate.js +113 -0
- package/.medusa/server/src/files/config/index.js +6 -9
- package/.medusa/server/src/migration-scripts/move-logo-to-shop-appearance.js +53 -0
- package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +4 -3
- package/.medusa/server/src/modules/documents/domain/merchant.js +4 -3
- package/.medusa/server/src/modules/documents/domain/options.js +3 -5
- package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +4 -7
- package/.medusa/server/src/modules/documents/service.js +12 -33
- package/.medusa/server/src/modules/email/domain/attachment.js +22 -8
- package/.medusa/server/src/modules/email/migrations/Migration20261009083539.js +80 -0
- package/.medusa/server/src/modules/email/migrations/Migration20261009100654.js +17 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document-version.js +39 -0
- package/.medusa/server/src/modules/email/models/email-attachment-document.js +27 -0
- package/.medusa/server/src/modules/email/models/email-template.js +25 -0
- package/.medusa/server/src/modules/email/service.js +370 -93
- package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +9 -11
- package/.medusa/server/src/modules/plugin-features/service.js +2 -1
- package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +3 -3
- package/.medusa/server/src/providers/s3-cache/s3-object-store.js +3 -9
- package/.medusa/server/src/providers/smtp/service.js +13 -13
- package/.medusa/server/src/public/descriptor.js +16 -18
- package/.medusa/server/src/public/enforcement.js +29 -1
- package/.medusa/server/src/public/index.js +8 -2
- package/.medusa/server/src/public/module-access.js +9 -2
- package/.medusa/server/src/public/shop-master-data.js +109 -18
- package/.medusa/server/src/shared/lib/coerce.js +26 -0
- package/.medusa/server/src/shared/lib/collections.js +19 -0
- package/.medusa/server/src/shared/lib/dates.js +43 -0
- package/.medusa/server/src/shared/lib/errors.js +11 -0
- package/.medusa/server/src/shared/lib/hash.js +8 -0
- package/.medusa/server/src/shared/lib/index.js +29 -0
- package/.medusa/server/src/shared/lib/logging.js +61 -0
- package/.medusa/server/src/shared/lib/money.js +47 -0
- package/.medusa/server/src/shared/lib/text.js +53 -0
- package/.medusa/server/src/shared/lib/transaction.js +58 -0
- package/.medusa/server/src/{api → shared/lib}/wire-response.js +1 -1
- package/.medusa/server/src/shop-config/options.js +3 -5
- package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +4 -6
- package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +10 -12
- package/.medusa/server/src/workflows/documents/issue-packing-list.js +5 -6
- package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +6 -8
- package/.medusa/server/src/workflows/email/dispatch-email-message.js +11 -41
- package/.medusa/server/src/workflows/email/prepare-order-received-email.js +2 -2
- package/.medusa/server/src/workflows/hooks/complete-cart-participants.js +4 -8
- package/README.md +427 -54
- package/dist/documents/templates/financial-document.js +11 -10
- package/dist/documents/templates/html-factory.d.ts +1 -1
- package/dist/documents/templates/html-factory.js +1 -1
- package/dist/documents/templates/html-utils.d.ts +0 -1
- package/dist/documents/templates/html-utils.js +3 -9
- package/dist/documents/templates/layout.js +29 -10
- package/dist/documents/templates/packing-list.js +7 -6
- package/dist/documents/types/documents.d.ts +7 -1
- package/dist/email/config/index.js +4 -28
- package/dist/email/types/shop-configuration.d.ts +6 -5
- package/dist/files/config/index.js +5 -8
- package/dist/modules/documents/domain/options.js +2 -4
- package/dist/public/descriptor.js +15 -17
- package/dist/public/enforcement.d.ts +21 -1
- package/dist/public/enforcement.js +28 -0
- package/dist/public/index.d.ts +3 -2
- package/dist/public/index.js +7 -1
- package/dist/public/module-access.d.ts +8 -0
- package/dist/public/module-access.js +8 -1
- package/dist/public/shop-master-data.d.ts +22 -5
- package/dist/public/shop-master-data.js +108 -17
- package/dist/public/types.d.ts +10 -2
- package/dist/shared/lib/coerce.d.ts +19 -0
- package/dist/shared/lib/coerce.js +25 -0
- package/dist/shared/lib/collections.d.ts +3 -0
- package/dist/shared/lib/collections.js +18 -0
- package/dist/shared/lib/dates.d.ts +12 -0
- package/dist/shared/lib/dates.js +42 -0
- package/dist/shared/lib/errors.d.ts +2 -0
- package/dist/shared/lib/errors.js +10 -0
- package/dist/shared/lib/hash.d.ts +2 -0
- package/dist/shared/lib/hash.js +7 -0
- package/dist/shared/lib/index.d.ts +10 -0
- package/dist/shared/lib/index.js +28 -0
- package/dist/shared/lib/logging.d.ts +26 -0
- package/dist/shared/lib/logging.js +60 -0
- package/dist/shared/lib/money.d.ts +13 -0
- package/dist/shared/lib/money.js +46 -0
- package/dist/shared/lib/text.d.ts +19 -0
- package/dist/shared/lib/text.js +52 -0
- package/dist/shared/lib/transaction.d.ts +26 -0
- package/dist/shared/lib/transaction.js +57 -0
- package/dist/shared/lib/wire-response.d.ts +6 -0
- package/dist/shared/lib/wire-response.js +9 -0
- package/dist/shop-config/options.js +2 -4
- package/package.json +19 -4
- package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +0 -16
- package/.medusa/server/src/api/admin/email/terms-versions/route.js +0 -47
- package/.medusa/server/src/api/terms-download-response.js +0 -12
- package/.medusa/server/src/modules/email/models/email-terms-version.js +0 -37
- package/dist/admin-components/features/plugin-features/components/ImageSettingInput.js +0 -42
- package/dist/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +0 -16
- package/dist/admin-components/features/plugin-features/components/PluginPageShell.js +0 -20
- package/dist/admin-components/features/plugin-features/lib/image-upload.d.ts +0 -6
- package/dist/admin-components/features/plugin-features/lib/image-upload.js +0 -17
- package/dist/admin-components/index.d.ts +0 -14
- package/dist/admin-components/index.js +0 -14
- package/dist/admin-components/lib/errors.d.ts +0 -6
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/ImageSettingInput.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginPageShell.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.js +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.d.ts +0 -0
- /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.js +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.d.ts +0 -0
- /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.js +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.customerName = exports.addressHtml = exports.itemListHtml = exports.itemLabelText = exports.renderOrderSummaryText = exports.renderOrderSummaryHtml = exports.addressLines = exports.countryName = exports.isDefaultVariantTitle = exports.orderReference = exports.linkStyle = exports.joinPresent = exports.button = exports.details = exports.sectionHeading = exports.paragraph = exports.paletteFor = exports.FONT = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* HTML and text building blocks shared by the layout, the code templates and
|
|
6
|
+
* the block templates. Mail clients ignore stylesheets and flexbox: tables
|
|
7
|
+
* and inline styles only.
|
|
8
|
+
*/
|
|
9
|
+
const format_1 = require("../../documents/templates/format");
|
|
10
|
+
const lib_1 = require("../../shared/lib");
|
|
11
|
+
exports.FONT = "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif";
|
|
12
|
+
const COLOR = {
|
|
13
|
+
background: "#f4f4f5",
|
|
14
|
+
border: "#e4e4e7",
|
|
15
|
+
heading: "#18181b",
|
|
16
|
+
text: "#3f3f46",
|
|
17
|
+
muted: "#71717a",
|
|
18
|
+
faint: "#a1a1aa",
|
|
19
|
+
};
|
|
20
|
+
const paletteFor = ({ colors }) => ({
|
|
21
|
+
accent: colors.accent ?? COLOR.heading,
|
|
22
|
+
background: colors.surface ?? COLOR.background,
|
|
23
|
+
border: colors.line ?? COLOR.border,
|
|
24
|
+
faint: colors.muted ?? COLOR.faint,
|
|
25
|
+
muted: colors.muted ?? COLOR.muted,
|
|
26
|
+
strong: colors.text ?? COLOR.heading,
|
|
27
|
+
text: colors.text ?? COLOR.text,
|
|
28
|
+
});
|
|
29
|
+
exports.paletteFor = paletteFor;
|
|
30
|
+
const paragraph = (p, html) => `<p style="margin: 0 0 16px; font-family: ${exports.FONT}; font-size: 15px; line-height: 24px; color: ${p.text};">${html}</p>`;
|
|
31
|
+
exports.paragraph = paragraph;
|
|
32
|
+
const sectionHeading = (p, label) => `<h2 style="margin: 28px 0 12px; font-family: ${exports.FONT}; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: 0.4px; text-transform: uppercase; color: ${p.muted};">${(0, lib_1.escapeHtml)(label)}</h2>`;
|
|
33
|
+
exports.sectionHeading = sectionHeading;
|
|
34
|
+
const details = (p, rows) => `<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 8px 0 24px; background: ${p.background}; border-radius: 6px;">${rows
|
|
35
|
+
.map(([label, value]) => `<tr><td style="padding: 10px 16px; font-family: ${exports.FONT}; font-size: 13px; color: ${p.muted}; width: 45%;">${(0, lib_1.escapeHtml)(label)}</td><td style="padding: 10px 16px; font-family: ${exports.FONT}; font-size: 14px; font-weight: 600; color: ${p.strong};">${(0, lib_1.escapeHtml)(value)}</td></tr>`)
|
|
36
|
+
.join("")}</table>`;
|
|
37
|
+
exports.details = details;
|
|
38
|
+
const button = (p, url, label) => {
|
|
39
|
+
const href = (0, lib_1.escapeHtml)(url);
|
|
40
|
+
return `<table role="presentation" cellpadding="0" cellspacing="0" border="0" style="margin: 8px 0 24px;"><tr><td style="border-radius: 6px; background: ${p.accent};"><a href="${href}" style="display: inline-block; padding: 12px 22px; font-family: ${exports.FONT}; font-size: 15px; font-weight: 600; color: #ffffff; text-decoration: none; border-radius: 6px;">${(0, lib_1.escapeHtml)(label)}</a></td></tr></table>`;
|
|
41
|
+
};
|
|
42
|
+
exports.button = button;
|
|
43
|
+
const joinPresent = (values, separator) => values.filter((value) => Boolean(value?.trim())).join(separator);
|
|
44
|
+
exports.joinPresent = joinPresent;
|
|
45
|
+
const linkStyle = (p) => `color: ${p.muted}; text-decoration: underline;`;
|
|
46
|
+
exports.linkStyle = linkStyle;
|
|
47
|
+
const orderReference = (summary, orderId) => summary.display_id === null ? orderId : `#${summary.display_id}`;
|
|
48
|
+
exports.orderReference = orderReference;
|
|
49
|
+
// Medusa names the variant of a product without options "Default variant".
|
|
50
|
+
const isDefaultVariantTitle = (title) => /^default( variant)?$/i.test(title);
|
|
51
|
+
exports.isDefaultVariantTitle = isDefaultVariantTitle;
|
|
52
|
+
const countryName = (countryCode) => {
|
|
53
|
+
try {
|
|
54
|
+
return (new Intl.DisplayNames("de", { type: "region" }).of(countryCode.toUpperCase()) ?? countryCode.toUpperCase());
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return countryCode.toUpperCase();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
exports.countryName = countryName;
|
|
61
|
+
const addressLines = (address) => [
|
|
62
|
+
address.company,
|
|
63
|
+
[address.first_name, address.last_name].filter(Boolean).join(" "),
|
|
64
|
+
address.address_1,
|
|
65
|
+
address.address_2,
|
|
66
|
+
[address.postal_code, address.city].filter(Boolean).join(" "),
|
|
67
|
+
address.country_code ? (0, exports.countryName)(address.country_code) : null,
|
|
68
|
+
].filter((line) => Boolean(line));
|
|
69
|
+
exports.addressLines = addressLines;
|
|
70
|
+
const orderSummaryRows = (summary) => {
|
|
71
|
+
const money = (amount) => (0, format_1.formatMoney)({ amount, currencyCode: summary.currency_code });
|
|
72
|
+
const shippingLabel = summary.shipping_method_names.length
|
|
73
|
+
? `Versand (${summary.shipping_method_names.join(", ")})`
|
|
74
|
+
: "Versand";
|
|
75
|
+
const rows = [
|
|
76
|
+
{ label: "Zwischensumme", amount: money(summary.original_item_total) },
|
|
77
|
+
{
|
|
78
|
+
label: shippingLabel,
|
|
79
|
+
amount: Number(summary.original_shipping_total) === 0
|
|
80
|
+
? "kostenlos"
|
|
81
|
+
: money(summary.original_shipping_total),
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
if (Number(summary.discount_total) > 0) {
|
|
85
|
+
rows.push({
|
|
86
|
+
label: "Rabatt",
|
|
87
|
+
amount: `− ${money(summary.discount_total)}`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
rows.push({
|
|
91
|
+
label: "Gesamt",
|
|
92
|
+
amount: money(summary.total),
|
|
93
|
+
emphasis: true,
|
|
94
|
+
note: Number(summary.tax_total) > 0
|
|
95
|
+
? `inkl. ${money(summary.tax_total)} MwSt.`
|
|
96
|
+
: undefined,
|
|
97
|
+
});
|
|
98
|
+
return rows;
|
|
99
|
+
};
|
|
100
|
+
const renderOrderSummaryHtml = (p, summary, heading, { withAddresses = true } = {}) => {
|
|
101
|
+
const money = (amount) => (0, lib_1.escapeHtml)((0, format_1.formatMoney)({ amount, currencyCode: summary.currency_code }));
|
|
102
|
+
const cell = `font-family: ${exports.FONT}; font-size: 14px; line-height: 20px; color: ${p.text}; padding: 12px 0; border-bottom: 1px solid ${p.border};`;
|
|
103
|
+
const items = summary.items
|
|
104
|
+
.map((item) => {
|
|
105
|
+
const variant = item.variant_title && !(0, exports.isDefaultVariantTitle)(item.variant_title)
|
|
106
|
+
? `<br /><span style="font-size: 13px; color: ${p.muted};">${(0, lib_1.escapeHtml)(item.variant_title)}</span>`
|
|
107
|
+
: "";
|
|
108
|
+
return `<tr><td style="${cell}"><span style="color: ${p.strong}; font-weight: 600;">${(0, lib_1.escapeHtml)(item.title)}</span>${variant}</td><td style="${cell} width: 48px; text-align: right; white-space: nowrap; color: ${p.muted};">${(0, lib_1.escapeHtml)(String(item.quantity))} ×</td><td style="${cell} width: 110px; text-align: right; white-space: nowrap;">${money(item.original_total)}</td></tr>`;
|
|
109
|
+
})
|
|
110
|
+
.join("");
|
|
111
|
+
const totals = orderSummaryRows(summary)
|
|
112
|
+
.map(({ amount, emphasis, label, note }) => {
|
|
113
|
+
const style = emphasis
|
|
114
|
+
? `padding: 12px 0 0; font-size: 16px; font-weight: 700; color: ${p.strong}; border-top: 1px solid ${p.border};`
|
|
115
|
+
: `padding: 4px 0; font-size: 14px; color: ${p.text};`;
|
|
116
|
+
const noteHtml = note
|
|
117
|
+
? `<tr><td colspan="2" style="padding: 2px 0 0; font-family: ${exports.FONT}; font-size: 12px; color: ${p.muted}; text-align: right;">${(0, lib_1.escapeHtml)(note)}</td></tr>`
|
|
118
|
+
: "";
|
|
119
|
+
return `<tr><td style="font-family: ${exports.FONT}; ${style}">${(0, lib_1.escapeHtml)(label)}</td><td style="font-family: ${exports.FONT}; ${style} text-align: right; white-space: nowrap;">${(0, lib_1.escapeHtml)(amount)}</td></tr>${noteHtml}`;
|
|
120
|
+
})
|
|
121
|
+
.join("");
|
|
122
|
+
const addressColumn = (label, address) => address
|
|
123
|
+
? `<td valign="top" width="50%" style="padding: 0 12px 0 0;">${(0, exports.sectionHeading)(p, label)}<p style="margin: 0; font-family: ${exports.FONT}; font-size: 14px; line-height: 21px; color: ${p.text};">${(0, exports.addressLines)(address).map(lib_1.escapeHtml).join("<br />")}</p></td>`
|
|
124
|
+
: "";
|
|
125
|
+
const addresses = withAddresses
|
|
126
|
+
? addressColumn("Lieferadresse", summary.shipping_address) +
|
|
127
|
+
addressColumn("Rechnungsadresse", summary.billing_address)
|
|
128
|
+
: "";
|
|
129
|
+
return `${(0, exports.sectionHeading)(p, heading)}
|
|
130
|
+
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0">${items}</table>
|
|
131
|
+
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top: 12px;">${totals}</table>
|
|
132
|
+
${addresses ? `<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-top: 8px;"><tr>${addresses}</tr></table>` : ""}`;
|
|
133
|
+
};
|
|
134
|
+
exports.renderOrderSummaryHtml = renderOrderSummaryHtml;
|
|
135
|
+
const renderOrderSummaryText = (summary, { withAddresses = true } = {}) => {
|
|
136
|
+
const money = (amount) => (0, format_1.formatMoney)({ amount, currencyCode: summary.currency_code });
|
|
137
|
+
const items = summary.items.map((item) => {
|
|
138
|
+
const variant = item.variant_title && !(0, exports.isDefaultVariantTitle)(item.variant_title)
|
|
139
|
+
? ` (${item.variant_title})`
|
|
140
|
+
: "";
|
|
141
|
+
return `${item.quantity} × ${item.title}${variant}: ${money(item.original_total)}`;
|
|
142
|
+
});
|
|
143
|
+
const totals = orderSummaryRows(summary).flatMap(({ amount, label, note }) => note ? [`${label}: ${amount}`, note] : [`${label}: ${amount}`]);
|
|
144
|
+
const address = (label, value) => withAddresses && value ? ["", `${label}:`, ...(0, exports.addressLines)(value)] : [];
|
|
145
|
+
return [
|
|
146
|
+
...items,
|
|
147
|
+
"",
|
|
148
|
+
...totals,
|
|
149
|
+
...address("Lieferadresse", summary.shipping_address),
|
|
150
|
+
...address("Rechnungsadresse", summary.billing_address),
|
|
151
|
+
].join("\n");
|
|
152
|
+
};
|
|
153
|
+
exports.renderOrderSummaryText = renderOrderSummaryText;
|
|
154
|
+
const itemLabelText = (title, variantTitle) => variantTitle && !(0, exports.isDefaultVariantTitle)(variantTitle)
|
|
155
|
+
? `${title} (${variantTitle})`
|
|
156
|
+
: title;
|
|
157
|
+
exports.itemLabelText = itemLabelText;
|
|
158
|
+
/** Items with quantity and without prices (parcels, returns). */
|
|
159
|
+
const itemListHtml = (p, items) => {
|
|
160
|
+
const cell = `font-family: ${exports.FONT}; font-size: 14px; line-height: 20px; color: ${p.text}; padding: 12px 0; border-bottom: 1px solid ${p.border};`;
|
|
161
|
+
const subline = (text) => `<br /><span style="font-size: 13px; color: ${p.muted};">${(0, lib_1.escapeHtml)(text)}</span>`;
|
|
162
|
+
const rows = items
|
|
163
|
+
.map((item) => {
|
|
164
|
+
const variant = item.variant_title && !(0, exports.isDefaultVariantTitle)(item.variant_title)
|
|
165
|
+
? subline(item.variant_title)
|
|
166
|
+
: "";
|
|
167
|
+
const note = item.note ? subline(item.note) : "";
|
|
168
|
+
return `<tr><td style="${cell}"><span style="color: ${p.strong}; font-weight: 600;">${(0, lib_1.escapeHtml)(item.title)}</span>${variant}${note}</td><td style="${cell} width: 48px; text-align: right; white-space: nowrap; color: ${p.muted};">${(0, lib_1.escapeHtml)(String(item.quantity))} ×</td></tr>`;
|
|
169
|
+
})
|
|
170
|
+
.join("");
|
|
171
|
+
return `<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">${rows}</table>`;
|
|
172
|
+
};
|
|
173
|
+
exports.itemListHtml = itemListHtml;
|
|
174
|
+
const addressHtml = (p, label, address) => `${(0, exports.sectionHeading)(p, label)}<p style="margin: 0 0 16px; font-family: ${exports.FONT}; font-size: 14px; line-height: 21px; color: ${p.text};">${(0, exports.addressLines)(address).map(lib_1.escapeHtml).join("<br />")}</p>`;
|
|
175
|
+
exports.addressHtml = addressHtml;
|
|
176
|
+
/** "Ada Beispiel" from the billing, else the shipping address; `null` without. */
|
|
177
|
+
const customerName = (summary) => {
|
|
178
|
+
for (const address of [summary.billing_address, summary.shipping_address]) {
|
|
179
|
+
const name = [address?.first_name, address?.last_name]
|
|
180
|
+
.filter(Boolean)
|
|
181
|
+
.join(" ");
|
|
182
|
+
if (name) {
|
|
183
|
+
return name;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return null;
|
|
187
|
+
};
|
|
188
|
+
exports.customerName = customerName;
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtaHRtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbWFpbC9yZW5kZXJpbmcvZW1haWwtaHRtbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7OztHQUlHO0FBQ0gsNkRBQStEO0FBQy9ELDBDQUE4QztBQU9qQyxRQUFBLElBQUksR0FDZixxRkFBcUYsQ0FBQztBQUN4RixNQUFNLEtBQUssR0FBRztJQUNaLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLElBQUksRUFBRSxTQUFTO0lBQ2YsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7Q0FDUixDQUFDO0FBYUosTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBb0IsRUFBVyxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTztJQUN0QyxVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsVUFBVTtJQUM5QyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTTtJQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztJQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSztJQUNsQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTztJQUNwQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSTtDQUNoQyxDQUFDLENBQUM7QUFSVSxRQUFBLFVBQVUsY0FRcEI7QUFFSSxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxJQUFZLEVBQVUsRUFBRSxDQUM1RCw0Q0FBNEMsWUFBSSxnREFBZ0QsQ0FB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
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.loadEmailShopDetails = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const public_1 = require("../../public");
|
|
6
|
-
const plugin_features_1 = require("../plugin-features");
|
|
7
6
|
const warn = (container, message) => {
|
|
8
7
|
try {
|
|
9
8
|
container.resolve(utils_1.ContainerRegistrationKeys.LOGGER).warn(message);
|
|
@@ -13,24 +12,27 @@ const warn = (container, message) => {
|
|
|
13
12
|
}
|
|
14
13
|
};
|
|
15
14
|
/**
|
|
16
|
-
* The shop master data and the
|
|
17
|
-
* Branding must never block a mail: each failed read renders without
|
|
18
|
-
* part (company details or logo).
|
|
15
|
+
* The shop master data and the appearance (logo and colors) for the layout of
|
|
16
|
+
* one mail. Branding must never block a mail: each failed read renders without
|
|
17
|
+
* its part (company details, or logo and colors).
|
|
19
18
|
*/
|
|
20
19
|
const loadEmailShopDetails = async (container) => {
|
|
21
|
-
const [masterData,
|
|
20
|
+
const [masterData, appearance] = await Promise.all([
|
|
22
21
|
(0, public_1.getShopMasterData)(container).then(({ values }) => values, () => {
|
|
23
22
|
warn(container, "Email: shop master data unavailable; rendering without it.");
|
|
24
23
|
return {};
|
|
25
24
|
}),
|
|
26
|
-
(0, public_1.
|
|
27
|
-
warn(container, "Email:
|
|
28
|
-
return
|
|
25
|
+
(0, public_1.getShopAppearance)(container).catch(() => {
|
|
26
|
+
warn(container, "Email: shop appearance unavailable; rendering with defaults.");
|
|
27
|
+
return { colors: {} };
|
|
29
28
|
}),
|
|
30
29
|
]);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const { logo, colors } = appearance;
|
|
31
|
+
return {
|
|
32
|
+
...masterData,
|
|
33
|
+
...(typeof logo === "string" && logo ? { logo } : {}),
|
|
34
|
+
colors,
|
|
35
|
+
};
|
|
34
36
|
};
|
|
35
37
|
exports.loadEmailShopDetails = loadEmailShopDetails;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbWFpbC1zaG9wLWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvcmVuZGVyaW5nL2xvYWQtZW1haWwtc2hvcC1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUV0RSx5Q0FJc0I7QUFHdEIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUEwQixFQUFFLE9BQWUsRUFBUSxFQUFFO0lBQ2pFLElBQUksQ0FBQztRQUNILFNBQVMsQ0FBQyxPQUFPLENBQVMsaUNBQXlCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCw4REFBOEQ7SUFDaEUsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDdkMsU0FBMEIsRUFDQyxFQUFFO0lBQzdCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2pELElBQUEsMEJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUMvQixDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFDdEIsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUNGLFNBQVMsRUFDVCw0REFBNEQsQ0FDN0QsQ0FBQztZQUNGLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUNGO1FBQ0QsSUFBQSwwQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBbUIsRUFBRTtZQUN0RCxJQUFJLENBQ0YsU0FBUyxFQUNULDhEQUE4RCxDQUMvRCxDQUFDO1lBQ0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUM7S0FDSCxDQUFDLENBQUM7SUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQztJQUNwQyxPQUFPO1FBQ0wsR0FBRyxVQUFVO1FBQ2IsR0FBRyxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRCxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTVCVyxRQUFBLG9CQUFvQix3QkE0Qi9CIn0=
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderEmail = void 0;
|
|
3
|
+
exports.renderEmail = exports.layoutEmail = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const types_1 = require("../types");
|
|
6
|
+
const code_override_1 = require("../templates/code-override");
|
|
7
|
+
const render_1 = require("../templates/render");
|
|
6
8
|
/** Kinds that go to the shop's own team instead of a customer. */
|
|
7
9
|
const SHOP_AUDIENCE_KINDS = new Set([
|
|
8
10
|
"order.received.admin",
|
|
@@ -18,7 +20,46 @@ const requireContent = (value) => {
|
|
|
18
20
|
}
|
|
19
21
|
return value;
|
|
20
22
|
};
|
|
21
|
-
|
|
23
|
+
/** The mail's full HTML: its content in the configured layout. */
|
|
24
|
+
const layoutEmail = (configuration, kind, { bodyHtml, subject, text }, shop) => configuration.layout({
|
|
25
|
+
audience: (SHOP_AUDIENCE_KINDS.has(kind)
|
|
26
|
+
? "shop"
|
|
27
|
+
: "customer"),
|
|
28
|
+
bodyHtml,
|
|
29
|
+
preheader: text,
|
|
30
|
+
subject,
|
|
31
|
+
shop,
|
|
32
|
+
});
|
|
33
|
+
exports.layoutEmail = layoutEmail;
|
|
34
|
+
/**
|
|
35
|
+
* The Admin template of an editable mail, when it applies: the mail has its
|
|
36
|
+
* snapshot and the shop's code does not override the kind. A template never
|
|
37
|
+
* fails a mail: an error or empty content falls back to the code renderer.
|
|
38
|
+
*/
|
|
39
|
+
const renderStoredTemplate = (configuration, input, shop, template) => {
|
|
40
|
+
if (!template ||
|
|
41
|
+
!(0, render_1.isEditableKind)(input.kind) ||
|
|
42
|
+
(0, code_override_1.isCodeOverride)(configuration, input.kind)) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const editable = input;
|
|
46
|
+
if (!(0, render_1.hasTemplateSnapshot)(editable)) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const content = (0, render_1.renderTemplatedEmail)({
|
|
51
|
+
configuration,
|
|
52
|
+
input: editable,
|
|
53
|
+
shop,
|
|
54
|
+
template,
|
|
55
|
+
});
|
|
56
|
+
return content.bodyHtml.trim() && content.text.trim() ? content : null;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const renderEmail = (configuration, input, shop, template = null) => {
|
|
22
63
|
const kindResult = types_1.EmailKindSchema.safeParse(input.kind);
|
|
23
64
|
if (!kindResult.success) {
|
|
24
65
|
return invalidRenderInput();
|
|
@@ -32,20 +73,12 @@ const renderEmail = (configuration, input, shop) => {
|
|
|
32
73
|
if (typeof renderer !== "function") {
|
|
33
74
|
return invalidRenderInput();
|
|
34
75
|
}
|
|
35
|
-
const rendered = renderer(dataResult.data);
|
|
76
|
+
const rendered = (renderStoredTemplate(configuration, { kind, data: dataResult.data }, shop, template) ?? renderer(dataResult.data, shop));
|
|
36
77
|
const bodyHtml = requireContent(rendered?.bodyHtml);
|
|
37
78
|
const subject = requireContent(rendered?.subject);
|
|
38
79
|
const text = requireContent(rendered?.text);
|
|
39
|
-
const html = requireContent(
|
|
40
|
-
audience: (SHOP_AUDIENCE_KINDS.has(kind)
|
|
41
|
-
? "shop"
|
|
42
|
-
: "customer"),
|
|
43
|
-
bodyHtml,
|
|
44
|
-
preheader: text,
|
|
45
|
-
subject,
|
|
46
|
-
shop,
|
|
47
|
-
}));
|
|
80
|
+
const html = requireContent((0, exports.layoutEmail)(configuration, kind, { bodyHtml, subject, text }, shop));
|
|
48
81
|
return { bodyHtml, html, subject, text };
|
|
49
82
|
};
|
|
50
83
|
exports.renderEmail = renderEmail;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VtYWlsL3JlbmRlcmluZy9yZW5kZXItZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXdEO0FBRXhELG9DQVNrQjtBQUNsQiw4REFBNEQ7QUFDNUQsZ0RBSTZCO0FBaUI3QixrRUFBa0U7QUFDbEUsTUFBTSxtQkFBbUIsR0FBMkIsSUFBSSxHQUFHLENBQUM7SUFDMUQsc0JBQXNCO0lBQ3RCLHVDQUF1QztJQUN2QyxhQUFhO0NBQ2QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxrQkFBa0IsR0FBRyxHQUFVLEVBQUU7SUFDckMsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsNkJBQTZCLENBQzlCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWMsRUFBVSxFQUFFO0lBQ2hELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDL0MsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUNsQyx3Q0FBd0MsQ0FDekMsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLGtFQUFrRTtBQUMzRCxNQUFNLFdBQVcsR0FBRyxDQUN6QixhQUE2RCxFQUM3RCxJQUFlLEVBQ2YsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBd0IsRUFDakQsSUFBc0IsRUFDZCxFQUFFLENBQ1YsYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNuQixRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxNQUFNO1FBQ1IsQ0FBQyxDQUFDLFVBQVUs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
|
|
@@ -2,20 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveShopEmailConfiguration = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const lib_1 = require("../../shared/lib");
|
|
5
6
|
const types_1 = require("../types");
|
|
6
7
|
const default_templates_1 = require("./default-templates");
|
|
7
|
-
const isTimeZone = (value) => {
|
|
8
|
-
if (typeof value !== "string" || !value.trim()) {
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
try {
|
|
12
|
-
new Intl.DateTimeFormat("de", { timeZone: value });
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
8
|
const invalidConfiguration = (message) => {
|
|
20
9
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Invalid email shop configuration: ${message}`);
|
|
21
10
|
};
|
|
@@ -43,7 +32,7 @@ const resolveShopEmailConfiguration = (shop) => {
|
|
|
43
32
|
typeof shop.verifyAccountUrl !== "function") {
|
|
44
33
|
invalidConfiguration("verifyAccountUrl must be a function.");
|
|
45
34
|
}
|
|
46
|
-
if (shop.timeZone !== undefined && !
|
|
35
|
+
if (shop.timeZone !== undefined && !(0, lib_1.isValidTimeZone)(shop.timeZone)) {
|
|
47
36
|
invalidConfiguration("timeZone must be an IANA time zone.");
|
|
48
37
|
}
|
|
49
38
|
if (shop.renderers !== undefined &&
|
|
@@ -72,4 +61,4 @@ const resolveShopEmailConfiguration = (shop) => {
|
|
|
72
61
|
};
|
|
73
62
|
};
|
|
74
63
|
exports.resolveShopEmailConfiguration = resolveShopEmailConfiguration;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zaG9wLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvcmVuZGVyaW5nL3Jlc29sdmUtc2hvcC1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUV4RCwwQ0FBbUQ7QUFFbkQsb0NBSWtCO0FBQ2xCLDJEQUc2QjtBQUU3QixNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZSxFQUFTLEVBQUU7SUFDdEQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIscUNBQXFDLE9BQU8sRUFBRSxDQUMvQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sNkJBQTZCLEdBQUcsQ0FDM0MsSUFBNEIsRUFDSSxFQUFFO0lBQ2xDLElBQUksT0FBTyxJQUFJLEVBQUUsV0FBVyxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN0RSxvQkFBb0IsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuRSxvQkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUNFLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUNoQyxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUN4QyxDQUFDO1FBQ0Qsb0JBQW9CLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsNkJBQTZCLEtBQUssU0FBUztRQUNoRCxPQUFPLElBQUksQ0FBQyw2QkFBNkIsS0FBSyxVQUFVLEVBQ3hELENBQUM7UUFDRCxvQkFBb0IsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxJQUNFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFVBQVUsRUFDM0MsQ0FBQztRQUNELG9CQUFvQixDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFBLHFCQUFlLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkUsb0JBQW9CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVM7UUFDNUIsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQy9ELENBQUM7UUFDRCxvQkFBb0IsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBNEIsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUUsbUJBQWlDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsb0JBQW9CLENBQUMsd0NBQXdDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2pELG9CQUFvQixDQUFDLGNBQWMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUEsNENBQXdCLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqRSxTQUFTLEVBQUU7WUFDVCxHQUFHLElBQUEsK0NBQTJCLEVBQUMsSUFBSSxDQUFDO1lBQ3BDLEdBQUcsU0FBUztTQUNiO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpEVyxRQUFBLDZCQUE2QixpQ0F5RHhDIn0=
|