@hartl-services/medusa-base 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/ImageSettingInput.js +48 -0
  2. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.js +3 -2
  3. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +17 -0
  4. package/.medusa/server/src/admin/admin-components/features/plugin-features/components/PluginPageShell.js +20 -0
  5. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.js +16 -3
  6. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.d.ts +5 -1
  7. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.d.ts +20 -4
  8. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatures.js +1 -1
  9. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.d.ts +5 -1
  10. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.d.ts +1 -1
  11. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/action-runs.js +3 -2
  12. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.d.ts +20 -4
  13. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-features-admin-client.js +1 -1
  14. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.d.ts +17 -2
  15. package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/settings-draft.js +33 -1
  16. package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.d.ts +3 -0
  17. package/{dist → .medusa/server/src/admin}/admin-components/i18n/texts.js +3 -0
  18. package/.medusa/server/src/admin/admin-components/index.d.ts +36 -0
  19. package/.medusa/server/src/admin/admin-components/index.js +37 -0
  20. package/.medusa/server/src/admin/admin-components/shared/lib/date-input.d.ts +8 -0
  21. package/.medusa/server/src/admin/admin-components/shared/lib/date-input.js +43 -0
  22. package/.medusa/server/src/admin/admin-components/shared/lib/errors.d.ts +9 -0
  23. package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/errors.js +4 -6
  24. package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.d.ts +24 -0
  25. package/.medusa/server/src/admin/admin-components/shared/lib/file-validation.js +18 -0
  26. package/.medusa/server/src/admin/admin-components/shared/lib/format.d.ts +32 -0
  27. package/.medusa/server/src/admin/admin-components/shared/lib/format.js +77 -0
  28. package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.d.ts +16 -0
  29. package/.medusa/server/src/admin/admin-components/shared/lib/pdf-preview.js +31 -0
  30. package/.medusa/server/src/admin/admin-components/shared/lib/pdf.d.ts +6 -0
  31. package/.medusa/server/src/admin/admin-components/shared/lib/pdf.js +13 -0
  32. package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.d.ts +2 -0
  33. package/.medusa/server/src/admin/admin-components/shared/lib/use-debounced-value.js +10 -0
  34. package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.d.ts +24 -0
  35. package/.medusa/server/src/admin/admin-components/shared/lib/use-pdf-preview.js +47 -0
  36. package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.d.ts +8 -0
  37. package/.medusa/server/src/admin/admin-components/shared/ui/AdminDatePicker.js +9 -0
  38. package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.d.ts +8 -0
  39. package/.medusa/server/src/admin/admin-components/shared/ui/BackLink.js +5 -0
  40. package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.d.ts +20 -0
  41. package/.medusa/server/src/admin/admin-components/shared/ui/DateRangeFilter.js +17 -0
  42. package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.d.ts +14 -0
  43. package/.medusa/server/src/admin/admin-components/shared/ui/FilePickerButton.js +14 -0
  44. package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.d.ts +17 -0
  45. package/.medusa/server/src/admin/admin-components/shared/ui/MappedStatusBadge.js +12 -0
  46. package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.d.ts +15 -0
  47. package/.medusa/server/src/admin/admin-components/shared/ui/OffsetTablePagination.js +19 -0
  48. package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.d.ts +20 -0
  49. package/.medusa/server/src/admin/admin-components/shared/ui/PdfPreviewModal.js +7 -0
  50. package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.d.ts +19 -0
  51. package/.medusa/server/src/admin/admin-components/shared/ui/PluginFeatureRoute.js +16 -0
  52. package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.d.ts +24 -0
  53. package/.medusa/server/src/admin/admin-components/shared/ui/QueryState.js +23 -0
  54. package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.d.ts +63 -0
  55. package/.medusa/server/src/admin/admin-components/shared/ui/SearchableReferenceField.js +84 -0
  56. package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.d.ts +15 -0
  57. package/.medusa/server/src/admin/admin-components/shared/ui/SectionHeader.js +13 -0
  58. package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.d.ts +6 -0
  59. package/.medusa/server/src/admin/admin-components/shared/ui/mapped-status.js +10 -0
  60. package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.d.ts +17 -0
  61. package/.medusa/server/src/admin/admin-components/shared/ui/offset-pagination.js +15 -0
  62. package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.d.ts +16 -0
  63. package/.medusa/server/src/admin/admin-components/shared/ui/reference-results-state.js +13 -0
  64. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.d.ts +8 -0
  65. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/InsertMenu.js +10 -0
  66. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.d.ts +14 -0
  67. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/LinkPrompt.js +26 -0
  68. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.d.ts +15 -0
  69. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextEditor.js +8 -0
  70. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.d.ts +10 -0
  71. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/RichTextToolbar.js +49 -0
  72. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.d.ts +11 -0
  73. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/SlashMenu.js +44 -0
  74. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.d.ts +8 -0
  75. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/build-extensions.js +43 -0
  76. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.d.ts +15 -0
  77. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-handle.js +161 -0
  78. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.d.ts +30 -0
  79. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/drag-target.js +47 -0
  80. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.d.ts +6 -0
  81. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/editor-styles.js +46 -0
  82. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.d.ts +9 -0
  83. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/index.js +6 -0
  84. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.d.ts +8 -0
  85. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-href.js +21 -0
  86. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.d.ts +13 -0
  87. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/link-policy.js +20 -0
  88. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.d.ts +13 -0
  89. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-command.js +60 -0
  90. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.d.ts +25 -0
  91. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/slash-items.js +10 -0
  92. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.d.ts +7 -0
  93. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/tiptap.js +7 -0
  94. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.d.ts +44 -0
  95. package/.medusa/server/src/admin/admin-components/shared/ui/rich-text-editor/use-rich-text-editor.js +37 -0
  96. package/.medusa/server/src/admin/index.js +4513 -1447
  97. package/.medusa/server/src/admin/index.mjs +4515 -1452
  98. package/.medusa/server/src/api/admin/email/attachments/[id]/mail-kinds/route.js +16 -0
  99. package/.medusa/server/src/api/admin/email/attachments/[id]/route.js +15 -0
  100. package/.medusa/server/src/api/admin/email/attachments/[id]/versions/[version_id]/download/route.js +16 -0
  101. package/.medusa/server/src/api/admin/email/attachments/[id]/versions/route.js +41 -0
  102. package/.medusa/server/src/api/admin/email/attachments/route.js +21 -0
  103. package/.medusa/server/src/api/admin/email/templates/[kind]/preview/route.js +31 -0
  104. package/.medusa/server/src/api/admin/email/templates/[kind]/route.js +28 -0
  105. package/.medusa/server/src/api/admin/email/templates/[kind]/send-test/route.js +179 -0
  106. package/.medusa/server/src/api/admin/email/templates/[kind]/test-sources/route.js +19 -0
  107. package/.medusa/server/src/api/admin/email/templates/route.js +15 -0
  108. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/route.js +2 -2
  109. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/actions/[action_key]/runs/route.js +2 -2
  110. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/route.js +2 -2
  111. package/.medusa/server/src/api/admin/plugin-features/[plugin_key]/settings/route.js +2 -2
  112. package/.medusa/server/src/api/admin/plugin-features/route.js +2 -2
  113. package/.medusa/server/src/api/attachment-download-response.js +12 -0
  114. package/.medusa/server/src/api/email-template-response.js +43 -0
  115. package/.medusa/server/src/api/middlewares.js +75 -17
  116. package/.medusa/server/src/api/plugin-actions.js +6 -5
  117. package/.medusa/server/src/api/plugin-features-http.js +4 -9
  118. package/.medusa/server/src/api/store/carts/[id]/completion-check/route.js +2 -2
  119. package/.medusa/server/src/api/store/plugin-features/[plugin_key]/route.js +2 -2
  120. package/.medusa/server/src/api/store/plugin-features/route.js +2 -2
  121. package/.medusa/server/src/documents/plugin-features.js +1 -7
  122. package/.medusa/server/src/documents/templates/financial-document.js +12 -11
  123. package/.medusa/server/src/documents/templates/html-factory.js +1 -1
  124. package/.medusa/server/src/documents/templates/html-utils.js +4 -10
  125. package/.medusa/server/src/documents/templates/layout.js +30 -11
  126. package/.medusa/server/src/documents/templates/packing-list.js +8 -7
  127. package/.medusa/server/src/documents/utils/document-render-settings.js +9 -6
  128. package/.medusa/server/src/email/application/handle-customer-verification-event.js +8 -3
  129. package/.medusa/server/src/email/application/handle-invite-event.js +8 -3
  130. package/.medusa/server/src/email/application/handle-password-reset-event.js +8 -3
  131. package/.medusa/server/src/email/application/notification-attachments.js +86 -0
  132. package/.medusa/server/src/email/application/template-data-from-order.js +339 -0
  133. package/.medusa/server/src/email/config/index.js +5 -29
  134. package/.medusa/server/src/email/domain/business-keys.js +5 -5
  135. package/.medusa/server/src/email/domain/documents-fact-fingerprint.js +3 -3
  136. package/.medusa/server/src/email/domain/order-summary.js +21 -27
  137. package/.medusa/server/src/email/domain/refund-summary.js +7 -12
  138. package/.medusa/server/src/email/domain/return-summary.js +32 -38
  139. package/.medusa/server/src/email/domain/shipment-summary.js +22 -28
  140. package/.medusa/server/src/email/plugin-features.js +2 -10
  141. package/.medusa/server/src/email/rendering/calendar-dates.js +19 -0
  142. package/.medusa/server/src/email/rendering/default-templates.js +99 -682
  143. package/.medusa/server/src/email/rendering/email-html.js +189 -0
  144. package/.medusa/server/src/email/rendering/load-email-shop-details.js +14 -12
  145. package/.medusa/server/src/email/rendering/render-email.js +46 -13
  146. package/.medusa/server/src/email/rendering/resolve-shop-configuration.js +3 -14
  147. package/.medusa/server/src/email/templates/blocks/dynamic-blocks.js +427 -0
  148. package/.medusa/server/src/email/templates/blocks/placeholders.js +71 -0
  149. package/.medusa/server/src/email/templates/blocks/render-document.js +137 -0
  150. package/.medusa/server/src/email/templates/code-override.js +18 -0
  151. package/.medusa/server/src/email/templates/defaults/documents.js +129 -0
  152. package/.medusa/server/src/email/templates/defaults/subjects.js +62 -0
  153. package/.medusa/server/src/email/templates/defaults/texts.js +42 -0
  154. package/.medusa/server/src/email/templates/index.js +22 -0
  155. package/.medusa/server/src/email/templates/load-template.js +39 -0
  156. package/.medusa/server/src/email/templates/preview.js +33 -0
  157. package/.medusa/server/src/email/templates/render.js +70 -0
  158. package/.medusa/server/src/email/templates/sample-data.js +165 -0
  159. package/.medusa/server/src/email/templates/types.js +3 -0
  160. package/.medusa/server/src/email/templates/validate.js +113 -0
  161. package/.medusa/server/src/files/config/index.js +6 -9
  162. package/.medusa/server/src/migration-scripts/move-logo-to-shop-appearance.js +53 -0
  163. package/.medusa/server/src/modules/documents/domain/cancellation-snapshot.js +4 -3
  164. package/.medusa/server/src/modules/documents/domain/merchant.js +4 -3
  165. package/.medusa/server/src/modules/documents/domain/options.js +3 -5
  166. package/.medusa/server/src/modules/documents/domain/tax-breakdown.js +4 -7
  167. package/.medusa/server/src/modules/documents/service.js +12 -33
  168. package/.medusa/server/src/modules/email/domain/attachment.js +22 -8
  169. package/.medusa/server/src/modules/email/migrations/Migration20261009083539.js +80 -0
  170. package/.medusa/server/src/modules/email/migrations/Migration20261009100654.js +17 -0
  171. package/.medusa/server/src/modules/email/models/email-attachment-document-version.js +39 -0
  172. package/.medusa/server/src/modules/email/models/email-attachment-document.js +27 -0
  173. package/.medusa/server/src/modules/email/models/email-template.js +25 -0
  174. package/.medusa/server/src/modules/email/service.js +370 -93
  175. package/.medusa/server/src/modules/plugin-features/domain/plugin-settings.js +9 -11
  176. package/.medusa/server/src/modules/plugin-features/service.js +2 -1
  177. package/.medusa/server/src/providers/s3-cache/cache/cache-manager.js +3 -3
  178. package/.medusa/server/src/providers/s3-cache/s3-object-store.js +3 -9
  179. package/.medusa/server/src/providers/smtp/service.js +13 -13
  180. package/.medusa/server/src/public/descriptor.js +16 -18
  181. package/.medusa/server/src/public/enforcement.js +29 -1
  182. package/.medusa/server/src/public/index.js +8 -2
  183. package/.medusa/server/src/public/module-access.js +9 -2
  184. package/.medusa/server/src/public/shop-master-data.js +109 -18
  185. package/.medusa/server/src/shared/lib/coerce.js +26 -0
  186. package/.medusa/server/src/shared/lib/collections.js +19 -0
  187. package/.medusa/server/src/shared/lib/dates.js +43 -0
  188. package/.medusa/server/src/shared/lib/errors.js +11 -0
  189. package/.medusa/server/src/shared/lib/hash.js +8 -0
  190. package/.medusa/server/src/shared/lib/index.js +29 -0
  191. package/.medusa/server/src/shared/lib/logging.js +61 -0
  192. package/.medusa/server/src/shared/lib/money.js +47 -0
  193. package/.medusa/server/src/shared/lib/text.js +53 -0
  194. package/.medusa/server/src/shared/lib/transaction.js +58 -0
  195. package/.medusa/server/src/{api → shared/lib}/wire-response.js +1 -1
  196. package/.medusa/server/src/shop-config/options.js +3 -5
  197. package/.medusa/server/src/subscribers/packing-list-fulfillment-canceled.js +4 -6
  198. package/.medusa/server/src/workflows/documents/issue-invoice-after-shipment.js +10 -12
  199. package/.medusa/server/src/workflows/documents/issue-packing-list.js +5 -6
  200. package/.medusa/server/src/workflows/documents/reconcile-order-cancellation.js +6 -8
  201. package/.medusa/server/src/workflows/email/dispatch-email-message.js +11 -41
  202. package/.medusa/server/src/workflows/email/prepare-order-received-email.js +2 -2
  203. package/.medusa/server/src/workflows/hooks/complete-cart-participants.js +4 -8
  204. package/README.md +427 -54
  205. package/dist/documents/templates/financial-document.js +11 -10
  206. package/dist/documents/templates/html-factory.d.ts +1 -1
  207. package/dist/documents/templates/html-factory.js +1 -1
  208. package/dist/documents/templates/html-utils.d.ts +0 -1
  209. package/dist/documents/templates/html-utils.js +3 -9
  210. package/dist/documents/templates/layout.js +29 -10
  211. package/dist/documents/templates/packing-list.js +7 -6
  212. package/dist/documents/types/documents.d.ts +7 -1
  213. package/dist/email/config/index.js +4 -28
  214. package/dist/email/types/shop-configuration.d.ts +6 -5
  215. package/dist/files/config/index.js +5 -8
  216. package/dist/modules/documents/domain/options.js +2 -4
  217. package/dist/public/descriptor.js +15 -17
  218. package/dist/public/enforcement.d.ts +21 -1
  219. package/dist/public/enforcement.js +28 -0
  220. package/dist/public/index.d.ts +3 -2
  221. package/dist/public/index.js +7 -1
  222. package/dist/public/module-access.d.ts +8 -0
  223. package/dist/public/module-access.js +8 -1
  224. package/dist/public/shop-master-data.d.ts +22 -5
  225. package/dist/public/shop-master-data.js +108 -17
  226. package/dist/public/types.d.ts +10 -2
  227. package/dist/shared/lib/coerce.d.ts +19 -0
  228. package/dist/shared/lib/coerce.js +25 -0
  229. package/dist/shared/lib/collections.d.ts +3 -0
  230. package/dist/shared/lib/collections.js +18 -0
  231. package/dist/shared/lib/dates.d.ts +12 -0
  232. package/dist/shared/lib/dates.js +42 -0
  233. package/dist/shared/lib/errors.d.ts +2 -0
  234. package/dist/shared/lib/errors.js +10 -0
  235. package/dist/shared/lib/hash.d.ts +2 -0
  236. package/dist/shared/lib/hash.js +7 -0
  237. package/dist/shared/lib/index.d.ts +10 -0
  238. package/dist/shared/lib/index.js +28 -0
  239. package/dist/shared/lib/logging.d.ts +26 -0
  240. package/dist/shared/lib/logging.js +60 -0
  241. package/dist/shared/lib/money.d.ts +13 -0
  242. package/dist/shared/lib/money.js +46 -0
  243. package/dist/shared/lib/text.d.ts +19 -0
  244. package/dist/shared/lib/text.js +52 -0
  245. package/dist/shared/lib/transaction.d.ts +26 -0
  246. package/dist/shared/lib/transaction.js +57 -0
  247. package/dist/shared/lib/wire-response.d.ts +6 -0
  248. package/dist/shared/lib/wire-response.js +9 -0
  249. package/dist/shop-config/options.js +2 -4
  250. package/package.json +19 -4
  251. package/.medusa/server/src/api/admin/email/terms-versions/[id]/download/route.js +0 -16
  252. package/.medusa/server/src/api/admin/email/terms-versions/route.js +0 -47
  253. package/.medusa/server/src/api/terms-download-response.js +0 -12
  254. package/.medusa/server/src/modules/email/models/email-terms-version.js +0 -37
  255. package/dist/admin-components/features/plugin-features/components/ImageSettingInput.js +0 -42
  256. package/dist/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.js +0 -16
  257. package/dist/admin-components/features/plugin-features/components/PluginPageShell.js +0 -20
  258. package/dist/admin-components/features/plugin-features/lib/image-upload.d.ts +0 -6
  259. package/dist/admin-components/features/plugin-features/lib/image-upload.js +0 -17
  260. package/dist/admin-components/index.d.ts +0 -14
  261. package/dist/admin-components/index.js +0 -14
  262. package/dist/admin-components/lib/errors.d.ts +0 -6
  263. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/ImageSettingInput.d.ts +0 -0
  264. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginActionsSection.d.ts +0 -0
  265. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.d.ts +0 -0
  266. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginDetailPage.js +0 -0
  267. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.d.ts +0 -0
  268. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureGate.js +0 -0
  269. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.d.ts +0 -0
  270. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeatureSections.js +0 -0
  271. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.d.ts +0 -0
  272. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesCard.js +0 -0
  273. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginFeaturesSettingsPage.d.ts +0 -0
  274. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.d.ts +0 -0
  275. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginHubCard.js +0 -0
  276. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginPageShell.d.ts +0 -0
  277. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginSettingsForm.d.ts +0 -0
  278. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.d.ts +0 -0
  279. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/components/PluginStatusChips.js +0 -0
  280. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginFeatureEnabled.js +0 -0
  281. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/hooks/usePluginSettingsForm.js +0 -0
  282. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.d.ts +0 -0
  283. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/lib/plugin-paths.js +0 -0
  284. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.d.ts +0 -0
  285. /package/{dist → .medusa/server/src/admin}/admin-components/features/plugin-features/queries/pluginFeatureKeys.js +0 -0
  286. /package/{dist/admin-components → .medusa/server/src/admin/admin-components/shared}/lib/sdk.d.ts +0 -0
  287. /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 E-Mail logo for the layout of one mail.
17
- * Branding must never block a mail: each failed read renders without its
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, logo] = await Promise.all([
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.getPluginSettings)(container, plugin_features_1.emailPluginFeatures).then(({ values }) => values.logo, () => {
27
- warn(container, "Email: logo setting unavailable; rendering without it.");
28
- return undefined;
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
- return typeof logo === "string" && logo
32
- ? { ...masterData, logo }
33
- : masterData;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbWFpbC1zaG9wLWRldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvcmVuZGVyaW5nL2xvYWQtZW1haWwtc2hvcC1kZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUFzRTtBQUV0RSx5Q0FBb0U7QUFDcEUsd0RBQXlEO0FBR3pELE1BQU0sSUFBSSxHQUFHLENBQUMsU0FBMEIsRUFBRSxPQUFlLEVBQVEsRUFBRTtJQUNqRSxJQUFJLENBQUM7UUFDSCxTQUFTLENBQUMsT0FBTyxDQUFTLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsOERBQThEO0lBQ2hFLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0ksTUFBTSxvQkFBb0IsR0FBRyxLQUFLLEVBQ3ZDLFNBQTBCLEVBQ0MsRUFBRTtJQUM3QixNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFBLDBCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDL0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQ3RCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FDRixTQUFTLEVBQ1QsNERBQTRELENBQzdELENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FDRjtRQUNELElBQUEsMEJBQWlCLEVBQUMsU0FBUyxFQUFFLHFDQUFtQixDQUFDLENBQUMsSUFBSSxDQUNwRCxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQzNCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FDRixTQUFTLEVBQ1Qsd0RBQXdELENBQ3pELENBQUM7WUFDRixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQ0Y7S0FDRixDQUFDLENBQUM7SUFDSCxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJO1FBQ3JDLENBQUMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRTtRQUN6QixDQUFDLENBQUMsVUFBVSxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQTVCVyxRQUFBLG9CQUFvQix3QkE0Qi9CIn0=
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
- const renderEmail = (configuration, input, shop) => {
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(configuration.layout({
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtYWlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VtYWlsL3JlbmRlcmluZy9yZW5kZXItZW1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXdEO0FBRXhELG9DQVFrQjtBQWdCbEIsa0VBQWtFO0FBQ2xFLE1BQU0sbUJBQW1CLEdBQTJCLElBQUksR0FBRyxDQUFDO0lBQzFELHNCQUFzQjtJQUN0Qix1Q0FBdUM7SUFDdkMsYUFBYTtDQUNkLENBQUMsQ0FBQztBQUVILE1BQU0sa0JBQWtCLEdBQUcsR0FBVSxFQUFFO0lBQ3JDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDZCQUE2QixDQUM5QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFjLEVBQVUsRUFBRTtJQUNoRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFDbEMsd0NBQXdDLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFFSyxNQUFNLFdBQVcsR0FBRyxDQUN6QixhQUE2QyxFQUM3QyxLQUF1QixFQUN2QixJQUFzQixFQUNQLEVBQUU7SUFDakIsTUFBTSxVQUFVLEdBQUcsdUJBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsT0FBTyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQzdCLE1BQU0sVUFBVSxHQUFHLDhCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixPQUFPLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUVqQyxDQUFDO0lBQ2IsSUFBSSxPQUFPLFFBQVEsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuQyxPQUFPLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUE0QixDQUFDO0lBQ3RFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FDekIsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxNQUFNO1lBQ1IsQ0FBQyxDQUFDLFVBQVUsQ0FBeUI7UUFDdkMsUUFBUTtRQUNSLFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTztRQUNQLElBQUk7S0FDTCxDQUFDLENBQ0gsQ0FBQztJQUVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFyQ1csUUFBQSxXQUFXLGVBcUN0QiJ9
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 && !isTimeZone(shop.timeZone)) {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zaG9wLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvcmVuZGVyaW5nL3Jlc29sdmUtc2hvcC1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUV4RCxvQ0FJa0I7QUFDbEIsMkRBRzZCO0FBRTdCLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFXLEVBQUU7SUFDN0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQWUsRUFBUyxFQUFFO0lBQ3RELE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHFDQUFxQyxPQUFPLEVBQUUsQ0FDL0MsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSSxNQUFNLDZCQUE2QixHQUFHLENBQzNDLElBQTRCLEVBQ0ksRUFBRTtJQUNsQyxJQUFJLE9BQU8sSUFBSSxFQUFFLFdBQVcsS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDdEUsb0JBQW9CLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbkUsb0JBQW9CLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVM7UUFDaEMsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLFVBQVUsRUFDeEMsQ0FBQztRQUNELG9CQUFvQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQ0UsSUFBSSxDQUFDLDZCQUE2QixLQUFLLFNBQVM7UUFDaEQsT0FBTyxJQUFJLENBQUMsNkJBQTZCLEtBQUssVUFBVSxFQUN4RCxDQUFDO1FBQ0Qsb0JBQW9CLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUztRQUNuQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVLEVBQzNDLENBQUM7UUFDRCxvQkFBb0IsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlELG9CQUFvQixDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQ0UsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTO1FBQzVCLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxFQUMvRCxDQUFDO1FBQ0Qsb0JBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxTQUFTLEdBQTRCLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFFLG1CQUFpQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZELG9CQUFvQixDQUFDLHdDQUF3QyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDO2FBQU0sSUFBSSxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNqRCxvQkFBb0IsQ0FBQyxjQUFjLElBQUksd0JBQXdCLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFBLDRDQUF3QixFQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakUsU0FBUyxFQUFFO1lBQ1QsR0FBRyxJQUFBLCtDQUEyQixFQUFDLElBQUksQ0FBQztZQUNwQyxHQUFHLFNBQVM7U0FDYjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUF6RFcsUUFBQSw2QkFBNkIsaUNBeUR4QyJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zaG9wLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZW1haWwvcmVuZGVyaW5nL3Jlc29sdmUtc2hvcC1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUF3RDtBQUV4RCwwQ0FBbUQ7QUFFbkQsb0NBSWtCO0FBQ2xCLDJEQUc2QjtBQUU3QixNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZSxFQUFTLEVBQUU7SUFDdEQsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIscUNBQXFDLE9BQU8sRUFBRSxDQUMvQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNJLE1BQU0sNkJBQTZCLEdBQUcsQ0FDM0MsSUFBNEIsRUFDSSxFQUFFO0lBQ2xDLElBQUksT0FBTyxJQUFJLEVBQUUsV0FBVyxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN0RSxvQkFBb0IsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNuRSxvQkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUNFLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUNoQyxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssVUFBVSxFQUN4QyxDQUFDO1FBQ0Qsb0JBQW9CLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsNkJBQTZCLEtBQUssU0FBUztRQUNoRCxPQUFPLElBQUksQ0FBQyw2QkFBNkIsS0FBSyxVQUFVLEVBQ3hELENBQUM7UUFDRCxvQkFBb0IsQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFDRCxJQUNFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFVBQVUsRUFDM0MsQ0FBQztRQUNELG9CQUFvQixDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFBLHFCQUFlLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkUsb0JBQW9CLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBQ0QsSUFDRSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVM7UUFDNUIsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQy9ELENBQUM7UUFDRCxvQkFBb0IsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBNEIsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUUsbUJBQWlDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsb0JBQW9CLENBQUMsd0NBQXdDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxJQUFJLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2pELG9CQUFvQixDQUFDLGNBQWMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUEsNENBQXdCLEVBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqRSxTQUFTLEVBQUU7WUFDVCxHQUFHLElBQUEsK0NBQTJCLEVBQUMsSUFBSSxDQUFDO1lBQ3BDLEdBQUcsU0FBUztTQUNiO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpEVyxRQUFBLDZCQUE2QixpQ0F5RHhDIn0=