@templatical/editor 0.21.0 → 0.21.2

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 (133) hide show
  1. package/dist/{AiFeatureMenu-CPdNpHpZ.js → AiFeatureMenu-CcqQDHzJ.js} +1 -1
  2. package/dist/{CloudEditor-3a7mqMhe.js → CloudEditor-DOjGJwPe.js} +24 -24
  3. package/dist/{CollaboratorBar-Ds0YZWzV.js → CollaboratorBar-Bj4NZiie.js} +1 -1
  4. package/dist/CountdownBlock-J_Q9JRQM.js +91 -0
  5. package/dist/{ParagraphEditor-CkwBirNl.js → ParagraphEditor--_zWfxps.js} +1 -1
  6. package/dist/{SaveBlockDialog-Cc5BSUBx.js → SaveBlockDialog-CYIEHABH.js} +3 -3
  7. package/dist/{SavedBlockPreviewCanvas-ubttfmKr.js → SavedBlockPreviewCanvas-2-mzAnZE.js} +1 -1
  8. package/dist/{SavedBlocksBrowserModal-LkY_U3lY.js → SavedBlocksBrowserModal-D5V5yF_3.js} +4 -4
  9. package/dist/{SavedBlocksPanels-CET0zvH6.js → SavedBlocksPanels-Dff38YXu.js} +1 -1
  10. package/dist/{SavedBlocksPickBar-poGS4PoI.js → SavedBlocksPickBar-rB6iyji6.js} +1 -1
  11. package/dist/{SnapshotHistory-BvF5IXn1.js → SnapshotHistory-FtzDq8f0.js} +1 -1
  12. package/dist/{TestEmailModal-BRaM_eko.js → TestEmailModal-DL2O1H8M.js} +2 -2
  13. package/dist/{TitleEditor-Bhgzh-iQ.js → TitleEditor-CPda5lh-.js} +1 -1
  14. package/dist/{TplModal-BA-Zsg0O.js → TplModal-C7Koj5gM.js} +1 -1
  15. package/dist/{blockTypeIcons-B1-Yzp-a.js → blockTypeIcons-CgwECCut.js} +1 -1
  16. package/dist/bundle-stats.json +8 -8
  17. package/dist/cdn/chunks/AiChatSidebar-A1CuWGY0.js +203 -0
  18. package/dist/cdn/chunks/AiChatSidebar-A1CuWGY0.js.map +1 -0
  19. package/dist/cdn/chunks/{AiFeatureMenu--PdArSnv.js → AiFeatureMenu-Duwg413F.js} +9 -5
  20. package/dist/cdn/chunks/{AiFeatureMenu--PdArSnv.js.map → AiFeatureMenu-Duwg413F.js.map} +1 -1
  21. package/dist/cdn/chunks/{BlockIssueBadge-DMSd0SIl.js → BlockIssueBadge-Da4yR-mh.js} +7 -5
  22. package/dist/cdn/chunks/{BlockIssueBadge-DMSd0SIl.js.map → BlockIssueBadge-Da4yR-mh.js.map} +1 -1
  23. package/dist/cdn/chunks/{CloudEditor-DnTfI5GU.js → CloudEditor-C0Y4RD4c.js} +162 -153
  24. package/dist/cdn/chunks/CloudEditor-C0Y4RD4c.js.map +1 -0
  25. package/dist/cdn/chunks/{CollaboratorBar-CBqd7ldq.js → CollaboratorBar-BS3rJy6-.js} +7 -6
  26. package/dist/cdn/chunks/{CollaboratorBar-CBqd7ldq.js.map → CollaboratorBar-BS3rJy6-.js.map} +1 -1
  27. package/dist/cdn/chunks/{ColorPicker-DCdWP8YB.js → ColorPicker-DZSzZ5ZP.js} +107 -103
  28. package/dist/cdn/chunks/{ColorPicker-DCdWP8YB.js.map → ColorPicker-DZSzZ5ZP.js.map} +1 -1
  29. package/dist/cdn/chunks/CommentsSidebar-DHdRiGPX.js +412 -0
  30. package/dist/cdn/chunks/CommentsSidebar-DHdRiGPX.js.map +1 -0
  31. package/dist/cdn/chunks/CountdownBlock-Bffpoppw.js +93 -0
  32. package/dist/cdn/chunks/{CountdownBlock-BDnWMAME.js.map → CountdownBlock-Bffpoppw.js.map} +1 -1
  33. package/dist/cdn/chunks/{CountdownToolbar-BbLoo22S.js → CountdownToolbar-DAnmIZjq.js} +4 -4
  34. package/dist/cdn/chunks/{CountdownToolbar-BbLoo22S.js.map → CountdownToolbar-DAnmIZjq.js.map} +1 -1
  35. package/dist/cdn/chunks/DesignReferenceSidebar-Dre99DTH.js +223 -0
  36. package/dist/cdn/chunks/DesignReferenceSidebar-Dre99DTH.js.map +1 -0
  37. package/dist/cdn/chunks/{IssuesPanel-CfudrI3T.js → IssuesPanel-D80JedOj.js} +11 -10
  38. package/dist/cdn/chunks/{IssuesPanel-CfudrI3T.js.map → IssuesPanel-D80JedOj.js.map} +1 -1
  39. package/dist/cdn/chunks/LoadingTrack-D-CW2tUa.js +12 -0
  40. package/dist/cdn/chunks/LoadingTrack-D-CW2tUa.js.map +1 -0
  41. package/dist/cdn/chunks/{NumberWithSuffix-BmMx9_n_.js → NumberWithSuffix-CjlVNIEe.js} +2 -2
  42. package/dist/cdn/chunks/{NumberWithSuffix-BmMx9_n_.js.map → NumberWithSuffix-CjlVNIEe.js.map} +1 -1
  43. package/dist/cdn/chunks/{ParagraphEditor-DPCUSXpx.js → ParagraphEditor-CtaRa1vr.js} +73 -68
  44. package/dist/cdn/chunks/{ParagraphEditor-DPCUSXpx.js.map → ParagraphEditor-CtaRa1vr.js.map} +1 -1
  45. package/dist/cdn/chunks/{RichTextEditorContent-B8dOiv_D.js → RichTextEditorContent-BbdgJqWM.js} +9 -6
  46. package/dist/cdn/chunks/{RichTextEditorContent-B8dOiv_D.js.map → RichTextEditorContent-BbdgJqWM.js.map} +1 -1
  47. package/dist/cdn/chunks/{SaveBlockDialog-BY3SMnNV.js → SaveBlockDialog-Bb3fdUEZ.js} +30 -26
  48. package/dist/cdn/chunks/{SaveBlockDialog-BY3SMnNV.js.map → SaveBlockDialog-Bb3fdUEZ.js.map} +1 -1
  49. package/dist/cdn/chunks/{SavedBlockPreviewCanvas-LpaOcusq.js → SavedBlockPreviewCanvas-DZOMgNsz.js} +33 -32
  50. package/dist/cdn/chunks/{SavedBlockPreviewCanvas-LpaOcusq.js.map → SavedBlockPreviewCanvas-DZOMgNsz.js.map} +1 -1
  51. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CfIcmyzF.js → SavedBlocksBrowserModal-CeUWcPv0.js} +14 -10
  52. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CfIcmyzF.js.map → SavedBlocksBrowserModal-CeUWcPv0.js.map} +1 -1
  53. package/dist/cdn/chunks/{SavedBlocksPanels-kIowCfh_.js → SavedBlocksPanels-D-pA_wfk.js} +2 -2
  54. package/dist/cdn/chunks/{SavedBlocksPanels-kIowCfh_.js.map → SavedBlocksPanels-D-pA_wfk.js.map} +1 -1
  55. package/dist/cdn/chunks/{SavedBlocksPickBar-WSGe1GiZ.js → SavedBlocksPickBar-1rf1KpqS.js} +6 -4
  56. package/dist/cdn/chunks/{SavedBlocksPickBar-WSGe1GiZ.js.map → SavedBlocksPickBar-1rf1KpqS.js.map} +1 -1
  57. package/dist/cdn/chunks/SnapshotHistory-Bf1uovti.js +121 -0
  58. package/dist/cdn/chunks/SnapshotHistory-Bf1uovti.js.map +1 -0
  59. package/dist/cdn/chunks/TemplateScoringPanel-CTk8WwxU.js +231 -0
  60. package/dist/cdn/chunks/TemplateScoringPanel-CTk8WwxU.js.map +1 -0
  61. package/dist/cdn/chunks/TestEmailModal-BJTDxFHh.js +96 -0
  62. package/dist/cdn/chunks/TestEmailModal-BJTDxFHh.js.map +1 -0
  63. package/dist/cdn/chunks/{TitleEditor-iwd-O9sO.js → TitleEditor-BJ7LFykI.js} +15 -12
  64. package/dist/cdn/chunks/{TitleEditor-iwd-O9sO.js.map → TitleEditor-BJ7LFykI.js.map} +1 -1
  65. package/dist/cdn/chunks/TplModal-CH9RzKF7.js +50 -0
  66. package/dist/cdn/chunks/TplModal-CH9RzKF7.js.map +1 -0
  67. package/dist/cdn/chunks/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  68. package/dist/cdn/chunks/blockTypeIcons-etMMQoVv.js +21 -0
  69. package/dist/cdn/chunks/{blockTypeIcons-BYz0fgLz.js.map → blockTypeIcons-etMMQoVv.js.map} +1 -1
  70. package/dist/cdn/chunks/cloud-BJlbXGTJ.js +1787 -0
  71. package/dist/cdn/chunks/cloud-BJlbXGTJ.js.map +1 -0
  72. package/dist/cdn/chunks/dist-CiBEt0VR.js +163 -0
  73. package/dist/cdn/chunks/dist-CiBEt0VR.js.map +1 -0
  74. package/dist/cdn/chunks/dist-CxTt8FRE.js +403 -0
  75. package/dist/cdn/chunks/dist-CxTt8FRE.js.map +1 -0
  76. package/dist/cdn/chunks/{extensions-DeJh3E9b.js → extensions-ZX2oarW6.js} +17 -15
  77. package/dist/cdn/chunks/{extensions-DeJh3E9b.js.map → extensions-ZX2oarW6.js.map} +1 -1
  78. package/dist/cdn/chunks/formatRelativeTime-CtUU-QZ8.js +12 -0
  79. package/dist/cdn/chunks/formatRelativeTime-CtUU-QZ8.js.map +1 -0
  80. package/dist/cdn/chunks/htmlparser-CZa2V5cF.js +1008 -0
  81. package/dist/cdn/chunks/htmlparser-CZa2V5cF.js.map +1 -0
  82. package/dist/cdn/chunks/icons-CYWw8Xfp.js +1190 -0
  83. package/dist/cdn/chunks/icons-CYWw8Xfp.js.map +1 -0
  84. package/dist/cdn/chunks/keys-D7kUmfpE.js +12 -0
  85. package/dist/cdn/chunks/keys-D7kUmfpE.js.map +1 -0
  86. package/dist/cdn/chunks/src-BKI1x1k7.js +546 -0
  87. package/dist/cdn/chunks/src-BKI1x1k7.js.map +1 -0
  88. package/dist/cdn/chunks/{renderer-Yg1XhsBN.js → src-BuC_IHzN.js} +118 -134
  89. package/dist/cdn/chunks/src-BuC_IHzN.js.map +1 -0
  90. package/dist/cdn/chunks/src-CM0gCvAS.js +1176 -0
  91. package/dist/cdn/chunks/src-CM0gCvAS.js.map +1 -0
  92. package/dist/cdn/chunks/{media-library-mCCZieYO.js → src-D6F_3XkE.js} +1782 -1280
  93. package/dist/cdn/chunks/src-D6F_3XkE.js.map +1 -0
  94. package/dist/cdn/chunks/{styles-Bp5Jsu9J.js → styles-DMOEiSX9.js} +867 -859
  95. package/dist/cdn/chunks/styles-DMOEiSX9.js.map +1 -0
  96. package/dist/cdn/chunks/timeouts-Bmi_yePw.js +6 -0
  97. package/dist/cdn/chunks/timeouts-Bmi_yePw.js.map +1 -0
  98. package/dist/cdn/chunks/useAliveFlag-aanU8uqB.js +12 -0
  99. package/dist/cdn/chunks/useAliveFlag-aanU8uqB.js.map +1 -0
  100. package/dist/cdn/chunks/useCloudI18n-BjNENqkM.js +25 -0
  101. package/dist/cdn/chunks/useCloudI18n-BjNENqkM.js.map +1 -0
  102. package/dist/cdn/chunks/useEditorCore-BA6mspzD.js +3019 -0
  103. package/dist/cdn/chunks/useEditorCore-BA6mspzD.js.map +1 -0
  104. package/dist/cdn/chunks/useI18n-8Wd7G-cq.js +19 -0
  105. package/dist/cdn/chunks/useI18n-8Wd7G-cq.js.map +1 -0
  106. package/dist/cdn/chunks/useMergeTag-C7G31KV-.js +46 -0
  107. package/dist/cdn/chunks/useMergeTag-C7G31KV-.js.map +1 -0
  108. package/dist/cdn/chunks/usePopoverPosition-Bx0QewTv.js +61 -0
  109. package/dist/cdn/chunks/usePopoverPosition-Bx0QewTv.js.map +1 -0
  110. package/dist/cdn/editor.css +1 -1
  111. package/dist/cdn/editor.js +72 -69
  112. package/dist/cdn/editor.js.map +1 -1
  113. package/dist/index.d.ts +15 -1
  114. package/dist/style.css +1 -1
  115. package/dist/{styles-DIDAJdkj.js → styles-PcOPXvLO.js} +547 -549
  116. package/dist/templatical-editor.js +5 -5
  117. package/dist/{useEditorCore-Bd9CA4L_.js → useEditorCore-CT1slufs.js} +3 -3
  118. package/package.json +7 -7
  119. package/dist/CountdownBlock-BUHYIAe9.js +0 -92
  120. package/dist/cdn/chunks/CloudEditor-DnTfI5GU.js.map +0 -1
  121. package/dist/cdn/chunks/CountdownBlock-BDnWMAME.js +0 -93
  122. package/dist/cdn/chunks/blockTypeIcons-BYz0fgLz.js +0 -22
  123. package/dist/cdn/chunks/features-pLfGJWIB.js +0 -7813
  124. package/dist/cdn/chunks/features-pLfGJWIB.js.map +0 -1
  125. package/dist/cdn/chunks/icons-FLemooQz.js +0 -690
  126. package/dist/cdn/chunks/icons-FLemooQz.js.map +0 -1
  127. package/dist/cdn/chunks/media-library-mCCZieYO.js.map +0 -1
  128. package/dist/cdn/chunks/quality-BRbHtAk1.js +0 -2180
  129. package/dist/cdn/chunks/quality-BRbHtAk1.js.map +0 -1
  130. package/dist/cdn/chunks/renderer-Yg1XhsBN.js.map +0 -1
  131. package/dist/cdn/chunks/src-BDJeYiVE.js +0 -509
  132. package/dist/cdn/chunks/src-BDJeYiVE.js.map +0 -1
  133. package/dist/cdn/chunks/styles-Bp5Jsu9J.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ //#region src/constants/timeouts.ts
2
+ var e = 3e4, t = 4e3, n = 5e3, r = 10 * 1024 * 1024;
3
+ //#endregion
4
+ export { r as i, n, e as r, t };
5
+
6
+ //# sourceMappingURL=timeouts-Bmi_yePw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeouts-Bmi_yePw.js","names":[],"sources":["../../../src/constants/timeouts.ts"],"sourcesContent":["/** Timeout in ms for editor initialization before giving up. */\nexport const INIT_TIMEOUT_MS = 30000;\n\n/** Duration in ms to show the collaboration undo warning toast. */\nexport const COLLAB_UNDO_WARNING_MS = 4000;\n\n/** Default debounce in ms for auto-save when not configured. */\nexport const DEFAULT_AUTO_SAVE_DEBOUNCE_MS = 5000;\n\n/** Maximum upload file size in bytes (10 MB). */\nexport const MAX_UPLOAD_SIZE_BYTES = 10 * 1024 * 1024;\n\n/**\n * Debounce in ms before an edited image src is sent to `resolveImageUrl`.\n * The src input commits per keystroke, so this is what turns \"per keystroke\"\n * into \"per committed value\" for the host's resolver. The initial src of a\n * mounted block resolves immediately (template load shouldn't wait).\n */\nexport const RESOLVE_IMAGE_DEBOUNCE_MS = 300;\n"],"mappings":";AACA,IAAa,IAAkB,KAGlB,IAAyB,KAGzB,IAAgC,KAGhC,IAAwB,KAAK,OAAO"}
@@ -0,0 +1,12 @@
1
+ import { k as e } from "./draggable-D840DIZB.js";
2
+ //#region src/composables/useAliveFlag.ts
3
+ function t() {
4
+ let t = { alive: !0 };
5
+ return e(() => {
6
+ t.alive = !1;
7
+ }), t;
8
+ }
9
+ //#endregion
10
+ export { t };
11
+
12
+ //# sourceMappingURL=useAliveFlag-aanU8uqB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAliveFlag-aanU8uqB.js","names":[],"sources":["../../../src/composables/useAliveFlag.ts"],"sourcesContent":["import { onBeforeUnmount } from \"vue\";\n\nexport interface AliveFlag {\n readonly alive: boolean;\n}\n\n/**\n * Returns a flag that flips to false on component unmount.\n * Use to guard post-`await` side effects that touch external state.\n *\n * ```ts\n * const aliveFlag = useAliveFlag();\n * async function load() {\n * const data = await fetch();\n * if (!aliveFlag.alive) return;\n * applyData(data);\n * }\n * ```\n */\nexport function useAliveFlag(): AliveFlag {\n const flag = { alive: true };\n onBeforeUnmount(() => {\n flag.alive = false;\n });\n return flag;\n}\n"],"mappings":";;AAmBA,SAAgB,IAA0B;CACxC,IAAM,IAAO,EAAE,OAAO,GAAK;CAI3B,OAHA,QAAsB;EACpB,EAAK,QAAQ;CACf,CAAC,GACM;AACT"}
@@ -0,0 +1,25 @@
1
+ import { K as e, T as t } from "./draggable-D840DIZB.js";
2
+ import { c as n } from "./keys-D7kUmfpE.js";
3
+ //#region src/composables/useCloudI18n.ts
4
+ function r(e, t) {
5
+ return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
6
+ }
7
+ function i(i) {
8
+ let a = i ?? t(n, null);
9
+ return {
10
+ t: a ? e(a) ? a.value : a : null,
11
+ format: r
12
+ };
13
+ }
14
+ function a(e) {
15
+ let { t, format: n } = i(e);
16
+ if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
17
+ return {
18
+ t,
19
+ format: n
20
+ };
21
+ }
22
+ //#endregion
23
+ export { a as n, i as t };
24
+
25
+ //# sourceMappingURL=useCloudI18n-BjNENqkM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCloudI18n-BjNENqkM.js","names":[],"sources":["../../../src/composables/useCloudI18n.ts"],"sourcesContent":["import type { CloudTranslations } from \"../i18n\";\nimport { type Ref, inject, isRef } from \"vue\";\nimport { CLOUD_TRANSLATIONS_KEY } from \"../keys\";\n\nexport interface UseCloudI18nReturn {\n /** Cloud translations, or null when running in OSS mode (no cloud chunk loaded). */\n t: CloudTranslations | null;\n /** Format a string with placeholders. */\n format: (template: string, values: Record<string, string | number>) => string;\n}\n\nexport interface UseCloudI18nStrictReturn {\n t: CloudTranslations;\n format: (template: string, values: Record<string, string | number>) => string;\n}\n\nfunction format(\n template: string,\n values: Record<string, string | number>,\n): string {\n return template.replace(/\\{(\\w+)\\}/g, (_, key) => {\n return key in values ? String(values[key]) : `{${key}}`;\n });\n}\n\n/**\n * Composable for cloud-only translations.\n * Returns `t: null` when no cloud chunk is provided (OSS mode), so shared\n * components can guard with `v-if=\"cloudT\"` and render the cloud branch only\n * when both the cloud capability and its translations are available.\n *\n * For cloud-only components that always have cloud translations available,\n * use `useCloudI18nStrict()` to get a non-null type.\n */\nexport function useCloudI18n(\n translationsOverride?: CloudTranslations,\n): UseCloudI18nReturn {\n const injected =\n translationsOverride ??\n (inject(CLOUD_TRANSLATIONS_KEY, null) as\n CloudTranslations | Ref<CloudTranslations> | null);\n\n const t: CloudTranslations | null = injected\n ? isRef(injected)\n ? injected.value\n : injected\n : null;\n\n return { t, format };\n}\n\n/**\n * Strict variant of `useCloudI18n()` for cloud-only components.\n * Throws if cloud translations were not provided.\n */\nexport function useCloudI18nStrict(\n translationsOverride?: CloudTranslations,\n): UseCloudI18nStrictReturn {\n const { t, format: f } = useCloudI18n(translationsOverride);\n if (!t) {\n throw new Error(\n \"useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.\",\n );\n }\n return { t, format: f };\n}\n"],"mappings":";;;AAgBA,SAAS,EACP,GACA,GACQ;CACR,OAAO,EAAS,QAAQ,eAAe,GAAG,MACjC,KAAO,IAAS,OAAO,EAAO,EAAI,IAAI,IAAI,EAAI,EACtD;AACH;AAWA,SAAgB,EACd,GACoB;CACpB,IAAM,IACJ,KACC,EAAO,GAAwB,IAAI;CAStC,OAAO;EAAE,GAN2B,IAChC,EAAM,CAAQ,IACZ,EAAS,QACT,IACF;EAEQ;CAAO;AACrB;AAMA,SAAgB,EACd,GAC0B;CAC1B,IAAM,EAAE,GAAG,QAAQ,MAAM,EAAa,CAAoB;CAC1D,IAAI,CAAC,GACH,MAAU,MACR,mHACF;CAEF,OAAO;EAAE;EAAG,QAAQ;CAAE;AACxB"}