@antelopejs/dms 0.7.21 → 0.8.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 (157) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/implementations/dms-auth/account-emails.d.ts +4 -0
  3. package/dist/implementations/dms-auth/account-emails.js +62 -0
  4. package/dist/implementations/dms-auth/account-emails.js.map +1 -0
  5. package/dist/implementations/dms-auth/index.d.ts +1 -3
  6. package/dist/implementations/dms-auth/index.js +15 -61
  7. package/dist/implementations/dms-auth/index.js.map +1 -1
  8. package/dist/pages/settings/users/email-change.js +3 -4
  9. package/dist/pages/settings/users/email-change.js.map +1 -1
  10. package/dist/pages/settings/users/invites.js +1 -1
  11. package/dist/pages/settings/users/invites.js.map +1 -1
  12. package/dist/pages/settings/users/members.js +1 -1
  13. package/dist/pages/settings/users/members.js.map +1 -1
  14. package/dist/pages/settings/users/notifications.js +1 -0
  15. package/dist/pages/settings/users/notifications.js.map +1 -1
  16. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.d.ts +1 -0
  17. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js +34 -0
  18. package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js.map +1 -0
  19. package/dist/test/unit/interfaces/dms/hook-handler-results.test.d.ts +1 -0
  20. package/dist/test/unit/interfaces/dms/hook-handler-results.test.js +49 -0
  21. package/dist/test/unit/interfaces/dms/hook-handler-results.test.js.map +1 -0
  22. package/dist/test/unit/interfaces/dms/page-topics.test.js +17 -0
  23. package/dist/test/unit/interfaces/dms/page-topics.test.js.map +1 -1
  24. package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js +2 -2
  25. package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js.map +1 -1
  26. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.d.ts +1 -0
  27. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js +29 -0
  28. package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js.map +1 -0
  29. package/dist/test/unit/interfaces/dms-base/resource-form.test.js +5 -0
  30. package/dist/test/unit/interfaces/dms-base/resource-form.test.js.map +1 -1
  31. package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js +12 -2
  32. package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js.map +1 -1
  33. package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js +29 -4
  34. package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js.map +1 -1
  35. package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js +14 -11
  36. package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js.map +1 -1
  37. package/dist/test/unit/interfaces/dms-base/table-view-views.test.js +8 -5
  38. package/dist/test/unit/interfaces/dms-base/table-view-views.test.js.map +1 -1
  39. package/dist/test/unit/utils/email-subjects.test.d.ts +1 -0
  40. package/dist/test/unit/utils/email-subjects.test.js +27 -0
  41. package/dist/test/unit/utils/email-subjects.test.js.map +1 -0
  42. package/dist/utils/admin-invite-email.js +2 -4
  43. package/dist/utils/admin-invite-email.js.map +1 -1
  44. package/dist/utils/email-change-mail.d.ts +1 -1
  45. package/dist/utils/email-change-mail.js +11 -6
  46. package/dist/utils/email-change-mail.js.map +1 -1
  47. package/dist/utils/email-subjects.d.ts +3 -0
  48. package/dist/utils/email-subjects.js +32 -0
  49. package/dist/utils/email-subjects.js.map +1 -0
  50. package/dist/utils/export-jobs.js +15 -10
  51. package/dist/utils/export-jobs.js.map +1 -1
  52. package/frontend-vue/layers/dms-core/app/utils/url-interpolation.ts +29 -11
  53. package/frontend-vue/layers/dms-core/shared/types/app-config.ts +17 -0
  54. package/frontend-vue/layers/dms-layout/app/app.config.ts +5 -0
  55. package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardHeader.vue +18 -2
  56. package/frontend-vue/layers/dms-layout/app/build/components/layout/Footer.vue +16 -1
  57. package/frontend-vue/layers/dms-layout/app/build/composables/layout/useHeaderActionControls.ts +14 -0
  58. package/frontend-vue/layers/dms-layout/app/components/layout/HStack.vue +16 -0
  59. package/frontend-vue/layers/dms-layout/app/components/layout/VStack.vue +2 -0
  60. package/frontend-vue/layers/dms-layout/app/composables/useFooterLinks.ts +11 -1
  61. package/frontend-vue/layers/dms-layout/app/custom-pages/settings/roles.vue +1 -1
  62. package/frontend-vue/layers/dms-layout/app/emails/EmailAdminInvite.vue +1 -1
  63. package/frontend-vue/layers/dms-layout/app/emails/EmailChangeNotice.vue +13 -7
  64. package/frontend-vue/layers/dms-layout/app/emails/EmailChangeVerification.vue +18 -7
  65. package/frontend-vue/layers/dms-layout/app/emails/EmailExportReady.vue +23 -12
  66. package/frontend-vue/layers/dms-layout/app/emails/EmailResetPassword.vue +18 -7
  67. package/frontend-vue/layers/dms-layout/app/emails/EmailTwoFactor.vue +23 -4
  68. package/frontend-vue/layers/dms-layout/app/emails/EmailUserValidation.vue +18 -6
  69. package/frontend-vue/layers/dms-layout/app/emails/components/EmailOTP.vue +8 -2
  70. package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +40 -0
  71. package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +40 -0
  72. package/frontend-vue/layers/dms-ui/app/build/components/form/FormFieldControl.vue +2 -1
  73. package/frontend-vue/layers/dms-ui/app/build/components/form/FormLoadError.vue +11 -3
  74. package/frontend-vue/layers/dms-ui/app/build/composables/actions/useActionTargets.ts +27 -36
  75. package/frontend-vue/layers/dms-ui/app/build/composables/chart/apexTheme.ts +59 -2
  76. package/frontend-vue/layers/dms-ui/app/build/composables/confirm/confirmDialogTexts.ts +27 -4
  77. package/frontend-vue/layers/dms-ui/app/build/composables/confirm/useActionConfirm.ts +10 -2
  78. package/frontend-vue/layers/dms-ui/app/build/composables/data-types/registerDefaults.ts +0 -5
  79. package/frontend-vue/layers/dms-ui/app/build/composables/form/formEntryOrder.ts +23 -0
  80. package/frontend-vue/layers/dms-ui/app/build/composables/form/formFooter.ts +19 -15
  81. package/frontend-vue/layers/dms-ui/app/build/composables/form/formRecordLoad.ts +26 -2
  82. package/frontend-vue/layers/dms-ui/app/build/composables/page/pageUrlValues.ts +41 -0
  83. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/registerDefaultFunctions.ts +2 -2
  84. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableRows.ts +3 -5
  85. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableViewConfig.ts +7 -12
  86. package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableViewRowActions.ts +3 -3
  87. package/frontend-vue/layers/dms-ui/app/build/utils/link.ts +7 -3
  88. package/frontend-vue/layers/dms-ui/app/build/utils/urlVariables.ts +32 -9
  89. package/frontend-vue/layers/dms-ui/app/components/activity-feed/ActivityFeed.vue +8 -1
  90. package/frontend-vue/layers/dms-ui/app/components/banner/Banner.vue +9 -4
  91. package/frontend-vue/layers/dms-ui/app/components/blocks/BannerBlock.vue +5 -11
  92. package/frontend-vue/layers/dms-ui/app/components/blocks/NavCardGridBlock.vue +2 -1
  93. package/frontend-vue/layers/dms-ui/app/components/chart/ApexChartHost.vue +32 -1
  94. package/frontend-vue/layers/dms-ui/app/components/check-list/CheckList.vue +1 -1
  95. package/frontend-vue/layers/dms-ui/app/components/form/Form.vue +12 -2
  96. package/frontend-vue/layers/dms-ui/app/components/form/components/Cascader.vue +7 -3
  97. package/frontend-vue/layers/dms-ui/app/components/form/components/File.vue +7 -0
  98. package/frontend-vue/layers/dms-ui/app/components/form/components/InputAddress.vue +4 -1
  99. package/frontend-vue/layers/dms-ui/app/components/form/components/InputCode.vue +4 -2
  100. package/frontend-vue/layers/dms-ui/app/components/form/components/InputSecret.vue +3 -2
  101. package/frontend-vue/layers/dms-ui/app/components/form/components/Relation.vue +4 -1
  102. package/frontend-vue/layers/dms-ui/app/components/grid/columns.ts +15 -3
  103. package/frontend-vue/layers/dms-ui/app/components/key-value-list/KeyValueList.vue +2 -1
  104. package/frontend-vue/layers/dms-ui/app/components/list-row/ListRow.vue +9 -2
  105. package/frontend-vue/layers/dms-ui/app/components/save-bar/InstantSaveBadge.vue +13 -5
  106. package/frontend-vue/layers/dms-ui/app/components/save-bar/SaveBar.vue +1 -1
  107. package/frontend-vue/layers/dms-ui/app/components/stat-group/StatGroup.vue +3 -2
  108. package/frontend-vue/layers/dms-ui/app/components/table-view/CascaderPath.vue +53 -31
  109. package/frontend-vue/layers/dms-ui/app/composables/chart/apexPlotOptions.ts +15 -4
  110. package/frontend-vue/layers/dms-ui/app/composables/chart/apexYRange.ts +123 -0
  111. package/frontend-vue/layers/dms-ui/app/composables/chart/useApexChart.ts +49 -49
  112. package/frontend-vue/layers/dms-ui/app/composables/chart/useChartTheme.ts +20 -1
  113. package/frontend-vue/layers/dms-ui/app/composables/confirm/types.ts +1 -1
  114. package/frontend-vue/layers/dms-ui/app/composables/form/types/props.ts +2 -0
  115. package/frontend-vue/layers/dms-ui/app/composables/form/useForm.ts +8 -6
  116. package/frontend-vue/layers/dms-ui/app/composables/table-view/types/action-target.ts +1 -1
  117. package/frontend-vue/layers/dms-ui/app/composables/table-view/types/config.ts +3 -5
  118. package/frontend-vue/layers/dms-ui/app/utils/bannerToneIcons.ts +13 -0
  119. package/frontend-vue/layers/dms-ui/app/utils/cascader.ts +26 -0
  120. package/frontend-vue/layers/dms-ui/i18n/locales/ui-en-GB.json +4 -0
  121. package/frontend-vue/layers/dms-ui/i18n/locales/ui-fr-FR.json +4 -0
  122. package/frontend-vue/tests/activity-feed-fill-height.test.ts +7 -0
  123. package/frontend-vue/tests/banner-tone-icon.test.ts +55 -0
  124. package/frontend-vue/tests/builtin-emails.test.ts +141 -0
  125. package/frontend-vue/tests/cascader.test.ts +27 -0
  126. package/frontend-vue/tests/chart-auto-y-range.test.ts +25 -9
  127. package/frontend-vue/tests/chart-colors.test.ts +8 -0
  128. package/frontend-vue/tests/chart-resize-after-animation.test.ts +100 -0
  129. package/frontend-vue/tests/chart-type-defaults.test.ts +128 -0
  130. package/frontend-vue/tests/check-list-marker.test.ts +58 -0
  131. package/frontend-vue/tests/confirm-from.test.ts +1 -1
  132. package/frontend-vue/tests/confirm-secondary-action.test.ts +2 -2
  133. package/frontend-vue/tests/context-links.test.ts +2 -2
  134. package/frontend-vue/tests/custom-action-confirm-from.test.ts +2 -2
  135. package/frontend-vue/tests/download-action-target.test.ts +2 -2
  136. package/frontend-vue/tests/file-drop-prompt.test.ts +72 -0
  137. package/frontend-vue/tests/footer-config.test.ts +135 -0
  138. package/frontend-vue/tests/form-actions.test.ts +7 -0
  139. package/frontend-vue/tests/form-entry-order.test.ts +45 -0
  140. package/frontend-vue/tests/form-footer-kind.test.ts +11 -6
  141. package/frontend-vue/tests/form-load-error.test.ts +38 -1
  142. package/frontend-vue/tests/grid-responsive-columns.test.ts +9 -0
  143. package/frontend-vue/tests/header-actions.test.ts +55 -9
  144. package/frontend-vue/tests/instant-save-badge.test.ts +11 -4
  145. package/frontend-vue/tests/list-row-truncate.test.ts +46 -0
  146. package/frontend-vue/tests/roles-name-errors.test.ts +2 -3
  147. package/frontend-vue/tests/save-bar.test.ts +15 -3
  148. package/frontend-vue/tests/save-status-error.test.ts +2 -2
  149. package/frontend-vue/tests/table-row-action-errors.test.ts +5 -5
  150. package/frontend-vue/tests/table-row-hover.test.ts +2 -2
  151. package/frontend-vue/tests/table-view-sources.test.ts +1 -1
  152. package/frontend-vue/tests/template-tokens.test.ts +235 -0
  153. package/frontend-vue/tests/url-interpolation.test.ts +6 -6
  154. package/package.json +2 -2
  155. package/skills/dms/SKILL.md +2 -1
  156. package/skills/dms-pages/REFERENCE.md +2 -2
  157. package/skills/dms-project/SKILL.md +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-view-views.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms-base/table-view-views.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-view-views.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms-base/table-view-views.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const email_subjects_1 = require("../../../utils/email-subjects");
5
+ describe("[unit] utils/email-subjects", () => {
6
+ describe("resolveEmailLanguage", () => {
7
+ it("keeps a supported language, region dropped", () => {
8
+ (0, chai_1.expect)((0, email_subjects_1.resolveEmailLanguage)("fr-FR")).to.equal("fr");
9
+ (0, chai_1.expect)((0, email_subjects_1.resolveEmailLanguage)("EN-gb")).to.equal("en");
10
+ });
11
+ it("falls back to English", () => {
12
+ (0, chai_1.expect)((0, email_subjects_1.resolveEmailLanguage)()).to.equal("en");
13
+ (0, chai_1.expect)((0, email_subjects_1.resolveEmailLanguage)("de")).to.equal("en");
14
+ (0, chai_1.expect)((0, email_subjects_1.resolveEmailLanguage)("constructor")).to.equal("en");
15
+ });
16
+ });
17
+ describe("builtInEmailSubject", () => {
18
+ it("writes the subject in the recipient's language", () => {
19
+ (0, chai_1.expect)((0, email_subjects_1.builtInEmailSubject)("resetPassword", "fr")).to.equal("Réinitialisez votre mot de passe");
20
+ (0, chai_1.expect)((0, email_subjects_1.builtInEmailSubject)("resetPassword", "en-GB")).to.equal("Reset Your Password");
21
+ });
22
+ it("writes English for a language without copy", () => {
23
+ (0, chai_1.expect)((0, email_subjects_1.builtInEmailSubject)("exportReady", "de")).to.equal("Your data export is ready");
24
+ });
25
+ });
26
+ });
27
+ //# sourceMappingURL=email-subjects.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-subjects.test.js","sourceRoot":"","sources":["../../../../src/test/unit/utils/email-subjects.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,kEAGuC;AAEvC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,IAAA,aAAM,EAAC,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,IAAA,aAAM,EAAC,IAAA,qCAAoB,GAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAA,aAAM,EAAC,IAAA,qCAAoB,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,IAAA,aAAM,EAAC,IAAA,qCAAoB,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,IAAA,aAAM,EAAC,IAAA,oCAAmB,EAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACzD,kCAAkC,CACnC,CAAC;YACF,IAAA,aAAM,EAAC,IAAA,oCAAmB,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAC5D,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,IAAA,aAAM,EAAC,IAAA,oCAAmB,EAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACvD,2BAA2B,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.resolveAdminInviteLanguage = resolveAdminInviteLanguage;
4
4
  exports.buildAdminInviteSubject = buildAdminInviteSubject;
5
5
  exports.buildAdminInviteSignupLink = buildAdminInviteSignupLink;
6
- const DEFAULT_LANGUAGE = "en";
7
- const LANGUAGE_CODE_LENGTH = 2;
6
+ const email_subjects_1 = require("./email-subjects");
8
7
  const SUBJECT_COPY = {
9
8
  en: {
10
9
  generic: "You're Invited to Join",
@@ -20,8 +19,7 @@ const SUBJECT_COPY = {
20
19
  },
21
20
  };
22
21
  function resolveAdminInviteLanguage(language) {
23
- const code = language?.slice(0, LANGUAGE_CODE_LENGTH).toLowerCase();
24
- return code && Object.hasOwn(SUBJECT_COPY, code) ? code : DEFAULT_LANGUAGE;
22
+ return (0, email_subjects_1.resolveEmailLanguage)(language);
25
23
  }
26
24
  function joinTarget(copy, names) {
27
25
  const { workspaceName, platformName } = names;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-invite-email.js","sourceRoot":"","sources":["../../src/utils/admin-invite-email.ts"],"names":[],"mappings":";;AAyCA,gEAGC;AAiBD,0DAYC;AAcD,gEAQC;AA/FD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAkB/B,MAAM,YAAY,GAA2C;IAC3D,EAAE,EAAE;QACF,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,0BAA0B,MAAM,EAAE;QACpD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,GAAG,OAAO,wBAAwB,MAAM,EAAE;QAC5C,mBAAmB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE;KAC5E;IACD,EAAE,EAAE;QACF,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gCAAgC,MAAM,EAAE;QAC1D,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,GAAG,OAAO,4BAA4B,MAAM,EAAE;QAChD,mBAAmB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAC3C,GAAG,SAAS,QAAQ,QAAQ,EAAE;KACjC;CACF,CAAC;AAMF,SAAgB,0BAA0B,CAAC,QAAiB;IAC1D,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC7E,CAAC;AAED,SAAS,UAAU,CACjB,IAA4B,EAC5B,KAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC9C,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,aAAa,IAAI,YAAY,CAAC;AACvC,CAAC;AAMD,SAAgB,uBAAuB,CACrC,KAA4B,EAC5B,QAAiB;IAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,WAAW;QACtB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAcD,SAAgB,0BAA0B,CACxC,aAAqB,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAA2B;IAEhE,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,GAAG,aAAa,gBAAgB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"admin-invite-email.js","sourceRoot":"","sources":["../../src/utils/admin-invite-email.ts"],"names":[],"mappings":";;AAwCA,gEAEC;AAiBD,0DAYC;AAcD,gEAQC;AA7FD,qDAAwD;AAkBxD,MAAM,YAAY,GAA2C;IAC3D,EAAE,EAAE;QACF,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,0BAA0B,MAAM,EAAE;QACpD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,GAAG,OAAO,wBAAwB,MAAM,EAAE;QAC5C,mBAAmB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,SAAS,OAAO,QAAQ,EAAE;KAC5E;IACD,EAAE,EAAE;QACF,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,gCAAgC,MAAM,EAAE;QAC1D,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACnC,GAAG,OAAO,4BAA4B,MAAM,EAAE;QAChD,mBAAmB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAC3C,GAAG,SAAS,QAAQ,QAAQ,EAAE;KACjC;CACF,CAAC;AAMF,SAAgB,0BAA0B,CAAC,QAAiB;IAC1D,OAAO,IAAA,qCAAoB,EAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CACjB,IAA4B,EAC5B,KAA4B;IAE5B,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC9C,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,aAAa,IAAI,YAAY,CAAC;AACvC,CAAC;AAMD,SAAgB,uBAAuB,CACrC,KAA4B,EAC5B,QAAiB;IAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC,WAAW;QACtB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAcD,SAAgB,0BAA0B,CACxC,aAAqB,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAA2B;IAEhE,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,QAAQ;QAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,GAAG,aAAa,gBAAgB,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AAC5D,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { User } from "@antelopejs/interface-dms/auth/db";
2
- export declare function sendEmailChangeCode(user: User, newEmail: string, code: string, expiresIn: string): Promise<void>;
2
+ export declare function sendEmailChangeCode(user: User, newEmail: string, code: string, expiresInHours: number): Promise<void>;
3
3
  export declare function sendEmailChangeNotice(user: User, newEmail: string): Promise<void>;
@@ -4,22 +4,27 @@ exports.sendEmailChangeCode = sendEmailChangeCode;
4
4
  exports.sendEmailChangeNotice = sendEmailChangeNotice;
5
5
  const interface_email_1 = require("@antelopejs/interface-email");
6
6
  const html_render_1 = require("@antelopejs/interface-dms/html-render");
7
+ const email_subjects_1 = require("./email-subjects");
7
8
  const CodeTemplate = (0, html_render_1.RegisterHtmlTemplate)("EmailChangeVerification");
8
9
  const NoticeTemplate = (0, html_render_1.RegisterHtmlTemplate)("EmailChangeNotice");
9
- const CODE_SUBJECT = "Confirm your new sign-in email";
10
- const NOTICE_SUBJECT = "Your sign-in email is being changed";
11
10
  async function sendOrThrow(to, subject, html) {
12
11
  const result = await (0, interface_email_1.Send)({ to, subject, html });
13
12
  if (!result.success) {
14
13
  throw new Error(`Failed to send email: ${result.error?.message}`);
15
14
  }
16
15
  }
17
- async function sendEmailChangeCode(user, newEmail, code, expiresIn) {
18
- const html = await (0, html_render_1.GenerateHtml)(CodeTemplate, { userName: user.name || user.email, newEmail, code, expiresIn }, user.language);
19
- await sendOrThrow(newEmail, CODE_SUBJECT, html);
16
+ async function sendEmailChangeCode(user, newEmail, code, expiresInHours) {
17
+ const html = await (0, html_render_1.GenerateHtml)(CodeTemplate, {
18
+ userName: user.name || user.email,
19
+ newEmail,
20
+ code,
21
+ expiresIn: `${expiresInHours} hours`,
22
+ expiresInHours,
23
+ }, user.language);
24
+ await sendOrThrow(newEmail, (0, email_subjects_1.builtInEmailSubject)("emailChangeVerification", user.language), html);
20
25
  }
21
26
  async function sendEmailChangeNotice(user, newEmail) {
22
27
  const html = await (0, html_render_1.GenerateHtml)(NoticeTemplate, { userName: user.name || user.email, newEmail }, user.language);
23
- await sendOrThrow(user.email, NOTICE_SUBJECT, html);
28
+ await sendOrThrow(user.email, (0, email_subjects_1.builtInEmailSubject)("emailChangeNotice", user.language), html);
24
29
  }
25
30
  //# sourceMappingURL=email-change-mail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-change-mail.js","sourceRoot":"","sources":["../../src/utils/email-change-mail.ts"],"names":[],"mappings":";;AAwCA,kDAYC;AAGD,sDAUC;AAjED,iEAAmD;AAEnD,uEAG+C;AAc/C,MAAM,YAAY,GAAG,IAAA,kCAAoB,EACvC,yBAAyB,CAC1B,CAAC;AACF,MAAM,cAAc,GAClB,IAAA,kCAAoB,EAAwB,mBAAmB,CAAC,CAAC;AAEnE,MAAM,YAAY,GAAG,gCAAgC,CAAC;AACtD,MAAM,cAAc,GAAG,qCAAqC,CAAC;AAE7D,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,OAAe,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAI,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,QAAgB,EAChB,IAAY,EACZ,SAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAY,EAC7B,YAAY,EACZ,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAChE,IAAI,CAAC,QAAQ,CACd,CAAC;IACF,MAAM,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAGM,KAAK,UAAU,qBAAqB,CACzC,IAAU,EACV,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAY,EAC7B,cAAc,EACd,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAC/C,IAAI,CAAC,QAAQ,CACd,CAAC;IACF,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"email-change-mail.js","sourceRoot":"","sources":["../../src/utils/email-change-mail.ts"],"names":[],"mappings":";;AAuCA,kDAsBC;AAGD,sDAcC;AA9ED,iEAAmD;AAEnD,uEAG+C;AAC/C,qDAAuD;AAevD,MAAM,YAAY,GAAG,IAAA,kCAAoB,EACvC,yBAAyB,CAC1B,CAAC;AACF,MAAM,cAAc,GAClB,IAAA,kCAAoB,EAAwB,mBAAmB,CAAC,CAAC;AAEnE,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,OAAe,EAAE,IAAY;IAClE,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAI,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAOM,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,QAAgB,EAChB,IAAY,EACZ,cAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAY,EAC7B,YAAY,EACZ;QACE,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;QACjC,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,GAAG,cAAc,QAAQ;QACpC,cAAc;KACf,EACD,IAAI,CAAC,QAAQ,CACd,CAAC;IACF,MAAM,WAAW,CACf,QAAQ,EACR,IAAA,oCAAmB,EAAC,yBAAyB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC7D,IAAI,CACL,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,qBAAqB,CACzC,IAAU,EACV,QAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAY,EAC7B,cAAc,EACd,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAC/C,IAAI,CAAC,QAAQ,CACd,CAAC;IACF,MAAM,WAAW,CACf,IAAI,CAAC,KAAK,EACV,IAAA,oCAAmB,EAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,EACvD,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type BuiltInEmailSubject = "userValidation" | "resetPassword" | "twoFactor" | "emailChangeVerification" | "emailChangeNotice" | "exportReady";
2
+ export declare function resolveEmailLanguage(language?: string): string;
3
+ export declare function builtInEmailSubject(email: BuiltInEmailSubject, language?: string): string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveEmailLanguage = resolveEmailLanguage;
4
+ exports.builtInEmailSubject = builtInEmailSubject;
5
+ const DEFAULT_LANGUAGE = "en";
6
+ const LANGUAGE_CODE_LENGTH = 2;
7
+ const SUBJECTS = {
8
+ en: {
9
+ userValidation: "Verify Your Email",
10
+ resetPassword: "Reset Your Password",
11
+ twoFactor: "Your verification code",
12
+ emailChangeVerification: "Confirm your new sign-in email",
13
+ emailChangeNotice: "Your sign-in email is being changed",
14
+ exportReady: "Your data export is ready",
15
+ },
16
+ fr: {
17
+ userValidation: "Vérifiez votre adresse e-mail",
18
+ resetPassword: "Réinitialisez votre mot de passe",
19
+ twoFactor: "Votre code de vérification",
20
+ emailChangeVerification: "Confirmez votre nouvelle adresse de connexion",
21
+ emailChangeNotice: "Votre adresse de connexion va changer",
22
+ exportReady: "Votre export de données est prêt",
23
+ },
24
+ };
25
+ function resolveEmailLanguage(language) {
26
+ const code = language?.slice(0, LANGUAGE_CODE_LENGTH).toLowerCase();
27
+ return code && Object.hasOwn(SUBJECTS, code) ? code : DEFAULT_LANGUAGE;
28
+ }
29
+ function builtInEmailSubject(email, language) {
30
+ return SUBJECTS[resolveEmailLanguage(language)][email];
31
+ }
32
+ //# sourceMappingURL=email-subjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-subjects.js","sourceRoot":"","sources":["../../src/utils/email-subjects.ts"],"names":[],"mappings":";;AAqCA,oDAGC;AAGD,kDAKC;AAhDD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAa/B,MAAM,QAAQ,GAAwD;IACpE,EAAE,EAAE;QACF,cAAc,EAAE,mBAAmB;QACnC,aAAa,EAAE,qBAAqB;QACpC,SAAS,EAAE,wBAAwB;QACnC,uBAAuB,EAAE,gCAAgC;QACzD,iBAAiB,EAAE,qCAAqC;QACxD,WAAW,EAAE,2BAA2B;KACzC;IACD,EAAE,EAAE;QACF,cAAc,EAAE,+BAA+B;QAC/C,aAAa,EAAE,kCAAkC;QACjD,SAAS,EAAE,4BAA4B;QACvC,uBAAuB,EAAE,+CAA+C;QACxE,iBAAiB,EAAE,uCAAuC;QAC1D,WAAW,EAAE,kCAAkC;KAChD;CACF,CAAC;AAMF,SAAgB,oBAAoB,CAAC,QAAiB;IACpD,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACzE,CAAC;AAGD,SAAgB,mBAAmB,CACjC,KAA0B,EAC1B,QAAiB;IAEjB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
@@ -30,6 +30,7 @@ const html_render_1 = require("@antelopejs/interface-dms/html-render");
30
30
  const sync_1 = require("csv-stringify/sync");
31
31
  const config_1 = require("../config");
32
32
  const exportJobs_model_1 = require("@antelopejs/interface-dms/db/internal/exportJobs.model");
33
+ const email_subjects_1 = require("./email-subjects");
33
34
  const run_in_batches_1 = require("./run-in-batches");
34
35
  const export_jobs_1 = require("@antelopejs/interface-dms/base/export-jobs");
35
36
  const time_1 = require("@antelopejs/interface-dms/utils/internal/time");
@@ -92,7 +93,6 @@ const downloadDeliverer = {
92
93
  async deliver() { },
93
94
  };
94
95
  const ExportReadyTemplate = (0, html_render_1.RegisterHtmlTemplate)("EmailExportReady");
95
- const EXPORT_READY_SUBJECT = "Your data export is ready";
96
96
  function buildDeliveryLink(exportRecord) {
97
97
  const baseUrl = (0, config_1.getClientBaseUrl)();
98
98
  (0, interface_api_util_1.assert)(baseUrl, 500, "clientBaseUrl is required to deliver an export link");
@@ -103,6 +103,18 @@ function readJobResult(exportRecord) {
103
103
  return undefined;
104
104
  return JSON.parse(exportRecord.json_result);
105
105
  }
106
+ function exportReadyEmailData(user, exportRecord) {
107
+ const result = readJobResult(exportRecord);
108
+ const expiresInHours = export_jobs_1.EXPORT_TTL_MS / time_1.MILLISECONDS_PER_HOUR;
109
+ return {
110
+ userName: user.name || user.email,
111
+ downloadLink: buildDeliveryLink(exportRecord),
112
+ expiresIn: `${expiresInHours} hours`,
113
+ expiresInHours,
114
+ partial: result?.partial ?? false,
115
+ failedSources: (result?.failures ?? []).map((failure) => failure.source),
116
+ };
117
+ }
106
118
  const emailDeliverer = {
107
119
  validate(options) {
108
120
  (0, interface_api_util_1.assert)(options.deliveryPath, 400, "Email delivery requires a deliveryPath to build the download link");
@@ -110,17 +122,10 @@ const emailDeliverer = {
110
122
  async deliver(exportRecord) {
111
123
  const user = await (0, interface_database_decorators_1.GetModel)(db_2.UserModel).get(exportRecord.userId);
112
124
  (0, interface_api_util_1.assert)(user, 500, "Export recipient not found");
113
- const result = readJobResult(exportRecord);
114
- const html = await (0, html_render_1.GenerateHtml)(ExportReadyTemplate, {
115
- userName: user.name || user.email,
116
- downloadLink: buildDeliveryLink(exportRecord),
117
- expiresIn: `${export_jobs_1.EXPORT_TTL_MS / time_1.MILLISECONDS_PER_HOUR} hours`,
118
- partial: result?.partial ?? false,
119
- failedSources: (result?.failures ?? []).map((failure) => failure.source),
120
- });
125
+ const html = await (0, html_render_1.GenerateHtml)(ExportReadyTemplate, exportReadyEmailData(user, exportRecord), user.language);
121
126
  const sent = await (0, interface_email_1.Send)({
122
127
  to: user.email,
123
- subject: EXPORT_READY_SUBJECT,
128
+ subject: (0, email_subjects_1.builtInEmailSubject)("exportReady", user.language),
124
129
  html,
125
130
  });
126
131
  (0, interface_api_util_1.assert)(sent.success, 500, `Failed to send export email: ${sent.error?.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/utils/export-jobs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-jobs.js","sourceRoot":"","sources":["../../src/utils/export-jobs.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
1
  import { get } from "@nuxt/ui/runtime/utils/index.js";
2
2
 
3
- const VARIABLE_PATTERN = /{([^}]+)}/g;
3
+ // A row field is named `{{row.<field>}}` (a dotted path reaching into it), as
4
+ // the page's values are `{{params.X}}` / `{{query.X}}`, filled elsewhere.
5
+ const ROW_TOKEN = /\{\{\s*row\.([^{}\s]+)\s*\}\}/g;
6
+
7
+ /** Whether a template names a field of a row (`{{row.X}}`). */
8
+ export const namesRowField = (template: string): boolean =>
9
+ new RegExp(ROW_TOKEN.source).test(template);
10
+
11
+ const rowValue = (data: Record<string, unknown>, key: string): string => {
12
+ const value: unknown = get(data, key);
13
+ return value === undefined || value === null ? "" : String(value);
14
+ };
15
+
4
16
  // A colon is a valid path character (RFC 3986 pchar) and the API router
5
17
  // matches path parameters without decoding them: tenant-scoped ids
6
18
  // ("default:<uuid>") must reach a `/:id/...` route as they are.
@@ -11,7 +23,7 @@ const SAFE_SCHEMES: ReadonlySet<string> = new Set(["http", "https", "mailto"]);
11
23
  const REFUSED_URL = "";
12
24
 
13
25
  // The colon survives the encoding, so a template starting with a field
14
- // (`{website}`) takes its scheme from row data: `javascript:` must not reach
26
+ // (`{{row.website}}`) takes its scheme from row data: `javascript:` must not reach
15
27
  // a link or `location.href`.
16
28
  function hasSafeScheme(url: string): boolean {
17
29
  const scheme = SCHEME_PATTERN.exec(url)?.[1];
@@ -19,19 +31,25 @@ function hasSafeScheme(url: string): boolean {
19
31
  }
20
32
 
21
33
  /**
22
- * Fills `{field}` placeholders of a URL template with encoded row values. A
23
- * result with a scheme other than http, https or mailto comes back empty.
34
+ * Fills the `{{row.field}}` tokens of a URL template with encoded row values,
35
+ * a field the row lacks left empty. A result with a scheme other than http,
36
+ * https or mailto comes back empty.
24
37
  */
25
38
  export const interpolateUrl = (
26
39
  url: string,
27
40
  data: Record<string, unknown>,
28
41
  ): string => {
29
- const interpolated = url.replace(VARIABLE_PATTERN, (_, key: string) => {
30
- const value = get(data, key);
31
- if (value === undefined || value === null) {
32
- return "";
33
- }
34
- return encodeURIComponent(String(value)).replace(ENCODED_COLON, ":");
35
- });
42
+ const interpolated = url.replace(ROW_TOKEN, (_, key: string) =>
43
+ encodeURIComponent(rowValue(data, key)).replace(ENCODED_COLON, ":"),
44
+ );
36
45
  return hasSafeScheme(interpolated) ? interpolated : REFUSED_URL;
37
46
  };
47
+
48
+ /**
49
+ * Fills the `{{row.field}}` tokens of a plain value (a file name) with the
50
+ * row's values as they are, a field the row lacks left empty.
51
+ */
52
+ export const interpolateRowText = (
53
+ text: string,
54
+ data: Record<string, unknown>,
55
+ ): string => text.replace(ROW_TOKEN, (_, key: string) => rowValue(data, key));
@@ -12,6 +12,22 @@ export interface DmsLogoSources {
12
12
  dark: string;
13
13
  }
14
14
 
15
+ /**
16
+ * What the footer of the public and auth pages shows besides its links
17
+ * (`registerFooterLink`).
18
+ */
19
+ export interface DmsFooterConfig {
20
+ /**
21
+ * Name after the `©`, a literal or a `$`-prefixed i18n key; `false` drops
22
+ * the copyright.
23
+ */
24
+ copyright?: string | false;
25
+ /** The GitHub "Star" button of the DMS repository. */
26
+ githubStar?: boolean;
27
+ /** The language picker. */
28
+ localeSwitcher?: boolean;
29
+ }
30
+
15
31
  export interface DmsBrandingConfig {
16
32
  /**
17
33
  * Absent when an instance ships no logo of its own; the layer's app config
@@ -21,6 +37,7 @@ export interface DmsBrandingConfig {
21
37
  default: DmsLogoSources;
22
38
  collapsed: DmsLogoSources;
23
39
  };
40
+ footer?: DmsFooterConfig;
24
41
  }
25
42
 
26
43
  export interface DmsAppConfig {
@@ -194,5 +194,10 @@ export default {
194
194
  dark: "/images/antelope-logo/icon.svg",
195
195
  },
196
196
  },
197
+ footer: {
198
+ copyright: "Antelope",
199
+ githubStar: true,
200
+ localeSwitcher: true,
201
+ },
197
202
  },
198
203
  };
@@ -1,9 +1,13 @@
1
1
  <script setup lang="ts">
2
2
  import type { BreadcrumbItem, DropdownMenuItem } from "@nuxt/ui";
3
+ import { onMounted, ref } from "vue";
3
4
  import NotificationPopover from "../notification/NotificationPopover.vue";
4
5
  import QuickActionsPopover from "./QuickActionsPopover.vue";
5
6
  import { useSidebarState } from "./sidebarState";
6
- import { useHeaderActionControls } from "../../composables/layout/useHeaderActionControls";
7
+ import {
8
+ isPlainDataHeaderAction,
9
+ useHeaderActionControls,
10
+ } from "../../composables/layout/useHeaderActionControls";
7
11
  import { usePageRecordLabel } from "#dms-core/app/composables/page/usePageRecordLabel";
8
12
  import type { CategoryInfo } from "../../../types/page";
9
13
  import { resolveModuleLandingSlug } from "../../../utils/moduleLanding";
@@ -30,7 +34,19 @@ const { open: sidebarOpen, collapsed: sidebarCollapsed } = useSidebarState();
30
34
 
31
35
  // Modules register their own header buttons through this generic registry, so
32
36
  // core has no knowledge of any specific module.
33
- const { actions: registeredActions } = useHeaderActions();
37
+ const { actions: visibleActions } = useHeaderActions();
38
+ // A `.client` plugin's action is missing from the server markup: drawn while
39
+ // hydrating, its button would be patched onto the next one's node. It joins
40
+ // once the header has mounted.
41
+ const isMounted = ref(false);
42
+ onMounted(() => {
43
+ isMounted.value = true;
44
+ });
45
+ const registeredActions = computed(() =>
46
+ isMounted.value
47
+ ? visibleActions.value
48
+ : visibleActions.value.filter(isPlainDataHeaderAction),
49
+ );
34
50
 
35
51
  // The builder button keeps its fixed slot first in the toolbar, and only
36
52
  // exists when a module (the Builder) registers the action that drives it.
@@ -6,6 +6,7 @@ import {
6
6
  } from "../../utils/github-repository";
7
7
 
8
8
  const EXTERNAL_LINK_PATTERN = /^https?:\/\//;
9
+ const DEFAULT_COPYRIGHT = "Antelope";
9
10
  const GITHUB_REPOSITORY_API = `https://api.github.com/repos/${GITHUB_REPOSITORY}`;
10
11
  const GITHUB_STARS_CACHE_KEY = "dms-github-stars";
11
12
  // GitHub allows 60 anonymous API calls an hour per visitor: the count is
@@ -15,6 +16,17 @@ const GITHUB_STARS_CACHE_TTL_MS = 60 * 60 * 1000;
15
16
  const { locale, setLocale, t } = useI18n();
16
17
  const { uniqueLocales } = useUniqueLocales();
17
18
  const { links } = useFooterLinks();
19
+ const { processI18n } = useTranslation();
20
+ const footer = computed(() => useDmsAppConfig().branding.footer ?? {});
21
+ const copyright = computed(() =>
22
+ footer.value.copyright === false
23
+ ? null
24
+ : processI18n(footer.value.copyright ?? DEFAULT_COPYRIGHT),
25
+ );
26
+ const showsGithubStar = computed(() => footer.value.githubStar !== false);
27
+ const showsLocaleSwitcher = computed(
28
+ () => footer.value.localeSwitcher !== false,
29
+ );
18
30
 
19
31
  const localesOptions: SelectItem[] = uniqueLocales.value.map((lang) => ({
20
32
  label: lang.name,
@@ -87,6 +99,7 @@ async function loadGithubStars(): Promise<void> {
87
99
  }
88
100
 
89
101
  onMounted(async () => {
102
+ if (!showsGithubStar.value) return;
90
103
  await loadGithubStars();
91
104
  githubStarsSettled.value = true;
92
105
  });
@@ -103,7 +116,7 @@ async function onLocaleChange(code: unknown) {
103
116
  <footer
104
117
  class="border-default text-dimmed flex flex-wrap items-center gap-x-[18px] gap-y-1.5 border-t px-5 py-3 text-[12.5px] max-sm:justify-center"
105
118
  >
106
- <span>&copy; Antelope</span>
119
+ <span v-if="copyright">&copy; {{ copyright }}</span>
107
120
  <template v-for="link in links" :key="link.id">
108
121
  <a
109
122
  v-if="isExternal(link.to)"
@@ -125,6 +138,7 @@ async function onLocaleChange(code: unknown) {
125
138
 
126
139
  <!-- GitHub star button: icon + "Star" | live count, opens the repository. -->
127
140
  <a
141
+ v-if="showsGithubStar"
128
142
  :href="GITHUB_REPOSITORY_URL"
129
143
  target="_blank"
130
144
  rel="noopener noreferrer"
@@ -152,6 +166,7 @@ async function onLocaleChange(code: unknown) {
152
166
  </a>
153
167
 
154
168
  <USelect
169
+ v-if="showsLocaleSwitcher"
155
170
  :model-value="locale"
156
171
  :items="localesOptions"
157
172
  :aria-label="t('empty_layout.footer.language')"
@@ -15,6 +15,20 @@ export interface HeaderActionControls {
15
15
  select: (action: HeaderAction) => void;
16
16
  }
17
17
 
18
+ const ACTION_CALLABLES = ["onSelect", "isVisible", "isActive"] as const;
19
+
20
+ /**
21
+ * Whether the action is plain data, which a universal plugin registers on the
22
+ * server and the client alike, so the server markup holds its button. One
23
+ * carrying a callable belongs in a `.client` plugin: the server never drew
24
+ * it, and the header adds it once mounted rather than during hydration.
25
+ *
26
+ * @internal
27
+ */
28
+ export function isPlainDataHeaderAction(action: HeaderAction): boolean {
29
+ return ACTION_CALLABLES.every((key) => typeof action[key] !== "function");
30
+ }
31
+
18
32
  /**
19
33
  * How the header reads and runs any {@link HeaderAction}: an action linked to
20
34
  * a side panel gets its state and its click from the DMS, any other one from
@@ -9,6 +9,7 @@ interface HStackProps {
9
9
  distribution?: StackDistribution;
10
10
  spacing?: string;
11
11
  wrap?: boolean;
12
+ grow?: number;
12
13
  }
13
14
 
14
15
  const props = withDefaults(defineProps<HStackProps>(), {
@@ -28,6 +29,7 @@ const props = withDefaults(defineProps<HStackProps>(), {
28
29
  justifyContent: distributionMap[props.distribution],
29
30
  gap: props.spacing,
30
31
  '--dms-stack-gap': props.spacing,
32
+ flexGrow: props.grow,
31
33
  flexWrap: props.wrap ? 'wrap' : 'nowrap',
32
34
  }"
33
35
  class="dms-hstack w-full"
@@ -35,3 +37,17 @@ const props = withDefaults(defineProps<HStackProps>(), {
35
37
  <slot />
36
38
  </div>
37
39
  </template>
40
+
41
+ <style>
42
+ /* A stack fills what holds it, except along a row, where it is one item among
43
+ its siblings: sibling stacks share the row (in their `grow` ratio), and in
44
+ a row with a Spacer they keep their content width so the Spacer can push
45
+ them aside. An inline `grow` wins over both. */
46
+ .dms-hstack > :is(.dms-hstack, .dms-vstack) {
47
+ width: auto;
48
+ flex: 1 1 0%;
49
+ }
50
+ .dms-hstack:has(> .dms-spacer) > :is(.dms-hstack, .dms-vstack) {
51
+ flex: 0 1 auto;
52
+ }
53
+ </style>
@@ -8,6 +8,7 @@ interface VStackProps {
8
8
  alignment?: StackAlignment;
9
9
  distribution?: StackDistribution;
10
10
  spacing?: string;
11
+ grow?: number;
11
12
  }
12
13
 
13
14
  const props = withDefaults(defineProps<VStackProps>(), {
@@ -26,6 +27,7 @@ const props = withDefaults(defineProps<VStackProps>(), {
26
27
  justifyContent: distributionMap[props.distribution],
27
28
  gap: props.spacing,
28
29
  '--dms-stack-gap': props.spacing,
30
+ flexGrow: props.grow,
29
31
  }"
30
32
  class="dms-vstack w-full"
31
33
  >
@@ -7,7 +7,8 @@ export interface FooterLink {
7
7
 
8
8
  /**
9
9
  * The Antelope links every footer starts with. A layer replaces one by
10
- * registering an entry under the same id.
10
+ * registering an entry under the same id, or removes it with
11
+ * `unregisterFooterLink`.
11
12
  */
12
13
  const DEFAULT_FOOTER_LINKS: FooterLink[] = [
13
14
  {
@@ -43,6 +44,15 @@ export function registerFooterLink(link: FooterLink): void {
43
44
  links.value = next;
44
45
  }
45
46
 
47
+ /**
48
+ * Removes a link from the footer, one of the Antelope defaults
49
+ * (`dms:documentation`, `dms:website`) or another layer's. An id never
50
+ * registered is ignored.
51
+ */
52
+ export function unregisterFooterLink(id: string): void {
53
+ links.value = links.value.filter((entry) => entry.id !== id);
54
+ }
55
+
46
56
  export function useFooterLinks() {
47
57
  const sortedLinks = computed<FooterLink[]>(() =>
48
58
  [...links.value].sort(compareByOrder),
@@ -32,7 +32,7 @@ interface RoleEditorHandle {
32
32
 
33
33
  const NAME_REQUIRED = "$page.settings.roles.error.name_required";
34
34
  const NAME_TAKEN = "$page.settings.roles.error.name_taken";
35
- const ROLE_DELETE_CONFIRM_URL = `${ROLES_API_PATH}/{id}/delete-confirm`;
35
+ const ROLE_DELETE_CONFIRM_URL = `${ROLES_API_PATH}/{{row.id}}/delete-confirm`;
36
36
 
37
37
  const api = useRolesApi();
38
38
  const { t } = useI18n();