@templatical/editor 0.27.2 → 0.27.4

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 (164) hide show
  1. package/dist/{AiChatSidebar-iVJDzqjr.js → AiChatSidebar-LstHjwBU.js} +8 -8
  2. package/dist/{AiFeatureMenu-DrLGc2H2.js → AiFeatureMenu-DVQrznsN.js} +6 -6
  3. package/dist/{BlockIssueBadge-BHysq7XQ.js → BlockIssueBadge-DKaFQNxW.js} +4 -4
  4. package/dist/{BlockPreviewCanvas-2WASf5A4.js → BlockPreviewCanvas-D9eC04OA.js} +2 -2
  5. package/dist/{CloudHeaderExtras-DWApyc4P.js → CloudHeaderExtras-DX0j3CJ3.js} +3 -3
  6. package/dist/{CloudPanels-DvOhGdRj.js → CloudPanels-DCeNSwXy.js} +5 -5
  7. package/dist/{CollaboratorBar-C6MC0UCk.js → CollaboratorBar-BZ-JCjdM.js} +3 -3
  8. package/dist/{ColorPicker-Di8L5TLQ.js → ColorPicker-j0TQu5lE.js} +4 -4
  9. package/dist/{CommentsPanel-D5wQB1Kf.js → CommentsPanel-c5LmzlNN.js} +1 -1
  10. package/dist/{CommentsSidebar-BoTIxpLE.js → CommentsSidebar-Bm1DxFb5.js} +12 -12
  11. package/dist/{CountdownBlock-BFX8iU90.js → CountdownBlock-qKtJVRIV.js} +1 -1
  12. package/dist/{CountdownToolbar-d9QM4m5x.js → CountdownToolbar-UPdwNvVI.js} +2 -2
  13. package/dist/{DesignReferenceSidebar-DKsx2TiL.js → DesignReferenceSidebar-C8WTApc5.js} +7 -7
  14. package/dist/{IssuesPanel-flKKwKpM.js → IssuesPanel-D49aJjLS.js} +41 -40
  15. package/dist/{MergeTagModeToggle-PKCoKAoF.js → MergeTagModeToggle-CVzJY9b2.js} +4 -4
  16. package/dist/{ParagraphEditor-iwTjkjtx.js → ParagraphEditor-C9-jQ5zP.js} +11 -11
  17. package/dist/{RestoreVersionDialog-DyMPGfsr.js → RestoreVersionDialog-Ds6gEF5u.js} +4 -4
  18. package/dist/{RichTextEditorContent-BVXG9oF4.js → RichTextEditorContent-CO1se6ln.js} +6 -6
  19. package/dist/{SaveBlockDialog-BMCAIfK9.js → SaveBlockDialog-DJIcncsU.js} +8 -8
  20. package/dist/{SavedBlocksBrowserModal-p5ma1qay.js → SavedBlocksBrowserModal-BUhhkGEb.js} +9 -9
  21. package/dist/{SavedBlocksPanels-BsiSstsZ.js → SavedBlocksPanels-DBfPz4iB.js} +1 -1
  22. package/dist/{SavedBlocksPickBar-fU4Mjm-8.js → SavedBlocksPickBar-D9NsfzCB.js} +3 -3
  23. package/dist/{TemplateScoringPanel-Bv_bBsJi.js → TemplateScoringPanel-BFsUqnXR.js} +12 -12
  24. package/dist/{TestEmailModal-EFYcrmTk.js → TestEmailModal-DARwBqpV.js} +8 -8
  25. package/dist/{TestEmailPanel-ljriUqs1.js → TestEmailPanel-BkgAew1S.js} +1 -1
  26. package/dist/{TitleEditor-BqRW7HTz.js → TitleEditor-BWLwZh84.js} +8 -8
  27. package/dist/{TplModal-CTC9-w6B.js → TplModal-CJLs8as_.js} +3 -3
  28. package/dist/{VersionHistoryMenu-Cq4rH56t.js → VersionHistoryMenu-CrIVG_SN.js} +11 -11
  29. package/dist/{VersionHistoryPanels-GkxkBiSi.js → VersionHistoryPanels-s45U7XY-.js} +1 -1
  30. package/dist/{VersionPreviewBanner-BdtTu9mI.js → VersionPreviewBanner-BIy95B34.js} +2 -2
  31. package/dist/{blockTypeIcons-CIrMr1SJ.js → blockTypeIcons-BjUkQsAe.js} +2 -2
  32. package/dist/bundle-stats.json +7 -7
  33. package/dist/cdn/chunks/{AiChatSidebar-DTUoBH5a.js → AiChatSidebar-tZqbhmuJ.js} +3 -3
  34. package/dist/cdn/chunks/{AiChatSidebar-DTUoBH5a.js.map → AiChatSidebar-tZqbhmuJ.js.map} +1 -1
  35. package/dist/cdn/chunks/{AiFeatureMenu-BQz9Kczt.js → AiFeatureMenu-BhtNkpIq.js} +5 -5
  36. package/dist/cdn/chunks/{AiFeatureMenu-BQz9Kczt.js.map → AiFeatureMenu-BhtNkpIq.js.map} +1 -1
  37. package/dist/cdn/chunks/{BlockIssueBadge-UzSSOM_2.js → BlockIssueBadge-D9L8j7Db.js} +4 -4
  38. package/dist/cdn/chunks/{BlockIssueBadge-UzSSOM_2.js.map → BlockIssueBadge-D9L8j7Db.js.map} +1 -1
  39. package/dist/cdn/chunks/{BlockPreviewCanvas-40ocpXDD.js → BlockPreviewCanvas-Bt7fFzIQ.js} +3 -3
  40. package/dist/cdn/chunks/{BlockPreviewCanvas-40ocpXDD.js.map → BlockPreviewCanvas-Bt7fFzIQ.js.map} +1 -1
  41. package/dist/cdn/chunks/{CloudHeaderExtras-F_ySlW1S.js → CloudHeaderExtras-CScGpeLl.js} +4 -4
  42. package/dist/cdn/chunks/{CloudHeaderExtras-F_ySlW1S.js.map → CloudHeaderExtras-CScGpeLl.js.map} +1 -1
  43. package/dist/cdn/chunks/{CloudPanels-C34bcHpc.js → CloudPanels-DVtJkWsj.js} +6 -6
  44. package/dist/cdn/chunks/{CloudPanels-C34bcHpc.js.map → CloudPanels-DVtJkWsj.js.map} +1 -1
  45. package/dist/cdn/chunks/{CollaboratorBar-WBtrPPnM.js → CollaboratorBar-BH1lM_Ta.js} +4 -4
  46. package/dist/cdn/chunks/{CollaboratorBar-WBtrPPnM.js.map → CollaboratorBar-BH1lM_Ta.js.map} +1 -1
  47. package/dist/cdn/chunks/{ColorPicker-CxKYd_8N.js → ColorPicker-d4kY7WWd.js} +5 -5
  48. package/dist/cdn/chunks/{ColorPicker-CxKYd_8N.js.map → ColorPicker-d4kY7WWd.js.map} +1 -1
  49. package/dist/cdn/chunks/{CommentsPanel-jzZ2X0P4.js → CommentsPanel-COhQMagD.js} +2 -2
  50. package/dist/cdn/chunks/{CommentsPanel-jzZ2X0P4.js.map → CommentsPanel-COhQMagD.js.map} +1 -1
  51. package/dist/cdn/chunks/{CommentsSidebar-Dxke-vUP.js → CommentsSidebar-vzLX-_h3.js} +4 -4
  52. package/dist/cdn/chunks/{CommentsSidebar-Dxke-vUP.js.map → CommentsSidebar-vzLX-_h3.js.map} +1 -1
  53. package/dist/cdn/chunks/{CountdownBlock-BYSrJWxg.js → CountdownBlock-BKrYGRiT.js} +2 -2
  54. package/dist/cdn/chunks/{CountdownBlock-BYSrJWxg.js.map → CountdownBlock-BKrYGRiT.js.map} +1 -1
  55. package/dist/cdn/chunks/{CountdownToolbar-pVbkPNVo.js → CountdownToolbar-BRDbI1mM.js} +3 -3
  56. package/dist/cdn/chunks/{CountdownToolbar-pVbkPNVo.js.map → CountdownToolbar-BRDbI1mM.js.map} +1 -1
  57. package/dist/cdn/chunks/{DesignReferenceSidebar-sZWciECR.js → DesignReferenceSidebar-npLxDRJI.js} +4 -4
  58. package/dist/cdn/chunks/{DesignReferenceSidebar-sZWciECR.js.map → DesignReferenceSidebar-npLxDRJI.js.map} +1 -1
  59. package/dist/cdn/chunks/{IssuesPanel-CHtetM9i.js → IssuesPanel-CTGlv7HF.js} +37 -35
  60. package/dist/cdn/chunks/IssuesPanel-CTGlv7HF.js.map +1 -0
  61. package/dist/cdn/chunks/{MergeTagModeToggle-ZwW-5EeN.js → MergeTagModeToggle-CkpKFx9N.js} +4 -4
  62. package/dist/cdn/chunks/{MergeTagModeToggle-ZwW-5EeN.js.map → MergeTagModeToggle-CkpKFx9N.js.map} +1 -1
  63. package/dist/cdn/chunks/{ParagraphEditor-BBcIQQK2.js → ParagraphEditor-BgeeE0Gj.js} +9 -9
  64. package/dist/cdn/chunks/{ParagraphEditor-BBcIQQK2.js.map → ParagraphEditor-BgeeE0Gj.js.map} +1 -1
  65. package/dist/cdn/chunks/{RestoreVersionDialog-DNUZHFa_.js → RestoreVersionDialog-tfoAQAeP.js} +4 -4
  66. package/dist/cdn/chunks/{RestoreVersionDialog-DNUZHFa_.js.map → RestoreVersionDialog-tfoAQAeP.js.map} +1 -1
  67. package/dist/cdn/chunks/{RichTextEditorContent-Cl-acKAD.js → RichTextEditorContent-DvLBtUcW.js} +6 -6
  68. package/dist/cdn/chunks/{RichTextEditorContent-Cl-acKAD.js.map → RichTextEditorContent-DvLBtUcW.js.map} +1 -1
  69. package/dist/cdn/chunks/{SaveBlockDialog-BXTZ729e.js → SaveBlockDialog-D67K2lHn.js} +7 -7
  70. package/dist/cdn/chunks/{SaveBlockDialog-BXTZ729e.js.map → SaveBlockDialog-D67K2lHn.js.map} +1 -1
  71. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BqGNBpRR.js → SavedBlocksBrowserModal-BxVR-yDt.js} +8 -8
  72. package/dist/cdn/chunks/{SavedBlocksBrowserModal-BqGNBpRR.js.map → SavedBlocksBrowserModal-BxVR-yDt.js.map} +1 -1
  73. package/dist/cdn/chunks/{SavedBlocksPanels-nbK0UQTp.js → SavedBlocksPanels-VkKCO0uY.js} +2 -2
  74. package/dist/cdn/chunks/SavedBlocksPanels-VkKCO0uY.js.map +1 -0
  75. package/dist/cdn/chunks/{SavedBlocksPickBar-B9mbw3Gk.js → SavedBlocksPickBar-BJHQDgUT.js} +4 -4
  76. package/dist/cdn/chunks/{SavedBlocksPickBar-B9mbw3Gk.js.map → SavedBlocksPickBar-BJHQDgUT.js.map} +1 -1
  77. package/dist/cdn/chunks/{TemplateScoringPanel-Xdkp2EMY.js → TemplateScoringPanel-MvdrkgqL.js} +4 -4
  78. package/dist/cdn/chunks/{TemplateScoringPanel-Xdkp2EMY.js.map → TemplateScoringPanel-MvdrkgqL.js.map} +1 -1
  79. package/dist/cdn/chunks/{TestEmailModal-DE6fi3he.js → TestEmailModal-CEBFCevy.js} +8 -8
  80. package/dist/cdn/chunks/{TestEmailModal-DE6fi3he.js.map → TestEmailModal-CEBFCevy.js.map} +1 -1
  81. package/dist/cdn/chunks/{TestEmailPanel-CAjQDXle.js → TestEmailPanel-C35nqIIl.js} +2 -2
  82. package/dist/cdn/chunks/TestEmailPanel-C35nqIIl.js.map +1 -0
  83. package/dist/cdn/chunks/{TitleEditor-BP0ewaWF.js → TitleEditor-c2aQCyds.js} +8 -8
  84. package/dist/cdn/chunks/{TitleEditor-BP0ewaWF.js.map → TitleEditor-c2aQCyds.js.map} +1 -1
  85. package/dist/cdn/chunks/{TplModal-C4kJduTr.js → TplModal-DSTVZKuI.js} +4 -4
  86. package/dist/cdn/chunks/{TplModal-C4kJduTr.js.map → TplModal-DSTVZKuI.js.map} +1 -1
  87. package/dist/cdn/chunks/{VersionHistoryMenu-_MAj3qZj.js → VersionHistoryMenu-BNYSIjVj.js} +5 -5
  88. package/dist/cdn/chunks/{VersionHistoryMenu-_MAj3qZj.js.map → VersionHistoryMenu-BNYSIjVj.js.map} +1 -1
  89. package/dist/cdn/chunks/{VersionHistoryPanels-DMq2PRee.js → VersionHistoryPanels-CvWySHUE.js} +2 -2
  90. package/dist/cdn/chunks/{VersionHistoryPanels-DMq2PRee.js.map → VersionHistoryPanels-CvWySHUE.js.map} +1 -1
  91. package/dist/cdn/chunks/{VersionPreviewBanner-04CL1SGY.js → VersionPreviewBanner-CBVDWnhq.js} +3 -3
  92. package/dist/cdn/chunks/VersionPreviewBanner-CBVDWnhq.js.map +1 -0
  93. package/dist/cdn/chunks/{blockTypeIcons-hX_W4dqo.js → blockTypeIcons-A9qFb1cR.js} +2 -2
  94. package/dist/cdn/chunks/{blockTypeIcons-hX_W4dqo.js.map → blockTypeIcons-A9qFb1cR.js.map} +1 -1
  95. package/dist/cdn/chunks/{createCloudRuntime-gXA8_QRU.js → createCloudRuntime-DYDf_-rN.js} +3 -3
  96. package/dist/cdn/chunks/{createCloudRuntime-gXA8_QRU.js.map → createCloudRuntime-DYDf_-rN.js.map} +1 -1
  97. package/dist/cdn/chunks/{extensions-CMcVw2uu.js → extensions-Byo2sA1r.js} +3 -3
  98. package/dist/cdn/chunks/{extensions-CMcVw2uu.js.map → extensions-Byo2sA1r.js.map} +1 -1
  99. package/dist/cdn/chunks/{icons-C36Ha5VU.js → icons-Dl5bcXmT.js} +7 -7
  100. package/dist/cdn/chunks/{icons-C36Ha5VU.js.map → icons-Dl5bcXmT.js.map} +1 -1
  101. package/dist/cdn/chunks/{keys-CbQuRX85.js → keys-oJdkdtPn.js} +2 -2
  102. package/dist/cdn/chunks/{keys-CbQuRX85.js.map → keys-oJdkdtPn.js.map} +1 -1
  103. package/dist/cdn/chunks/{src-D5lajkK5.js → src-BAWlZu4B.js} +3 -3
  104. package/dist/cdn/chunks/{src-D5lajkK5.js.map → src-BAWlZu4B.js.map} +1 -1
  105. package/dist/cdn/chunks/{src-CoHDh8Ua.js → src-BDUi-9js.js} +15 -15
  106. package/dist/cdn/chunks/{src-CoHDh8Ua.js.map → src-BDUi-9js.js.map} +1 -1
  107. package/dist/cdn/chunks/{useCloudI18n-NVa1aeY8.js → useCloudI18n-Ch-SiRjU.js} +3 -3
  108. package/dist/cdn/chunks/{useCloudI18n-NVa1aeY8.js.map → useCloudI18n-Ch-SiRjU.js.map} +1 -1
  109. package/dist/cdn/chunks/{useEditorCore-DC8gmfs6.js → useEditorCore-D84laTMj.js} +128 -135
  110. package/dist/cdn/chunks/useEditorCore-D84laTMj.js.map +1 -0
  111. package/dist/cdn/chunks/useEditorRoot-Cxnmf5hM.js +10 -0
  112. package/dist/cdn/chunks/useEditorRoot-Cxnmf5hM.js.map +1 -0
  113. package/dist/cdn/chunks/{useI18n-DVWCJJFH.js → useI18n-4sUbTM3Y.js} +3 -3
  114. package/dist/cdn/chunks/useI18n-4sUbTM3Y.js.map +1 -0
  115. package/dist/cdn/chunks/{useMergeTag-BfZBRPQp.js → useMergeTag-DxjTEyin.js} +2 -2
  116. package/dist/cdn/chunks/{useMergeTag-BfZBRPQp.js.map → useMergeTag-DxjTEyin.js.map} +1 -1
  117. package/dist/cdn/chunks/{usePopoverPosition-BC-HA7TK.js → usePopoverPosition-C1N2kaiZ.js} +2 -2
  118. package/dist/cdn/chunks/{usePopoverPosition-BC-HA7TK.js.map → usePopoverPosition-C1N2kaiZ.js.map} +1 -1
  119. package/dist/cdn/chunks/useScrollToBlock-BvWAfWd8.js +22 -0
  120. package/dist/cdn/chunks/useScrollToBlock-BvWAfWd8.js.map +1 -0
  121. package/dist/cdn/editor.css +1 -1
  122. package/dist/cdn/editor.js +974 -937
  123. package/dist/cdn/editor.js.map +1 -1
  124. package/dist/{check-DZbmkMQe.js → check-GRcTaHlZ.js} +1 -1
  125. package/dist/{chevron-down-nYScOLeZ.js → chevron-down-NUIAa2Qf.js} +1 -1
  126. package/dist/{chevron-up-CpYpDLnc.js → chevron-up-Bjf2BQtL.js} +1 -1
  127. package/dist/{circle-alert-CuuK6thq.js → circle-alert-FpQ8ykQL.js} +1 -1
  128. package/dist/{clock-DxkrtqOr.js → clock-CaOM1DC-.js} +1 -1
  129. package/dist/{createCloudRuntime-Bt8W-ajI.js → createCloudRuntime-FEZG-Gve.js} +1 -1
  130. package/dist/{createLucideIcon-L-wQXW_R.js → createLucideIcon-CAmDKr5Z.js} +2 -2
  131. package/dist/{extensions-CX87G4aL.js → extensions-BV9qfsYr.js} +2 -2
  132. package/dist/{image-up-DouZRGVt.js → image-up-CIGT4cSb.js} +1 -1
  133. package/dist/{info-puX5V6Iq.js → info-9YwKinXj.js} +1 -1
  134. package/dist/{keys-BxixS0TN.js → keys-CVpi8xCT.js} +1 -1
  135. package/dist/{loader-circle-DqTxB7Kr.js → loader-circle-QyURl47g.js} +1 -1
  136. package/dist/{message-circle-BZ7YpB22.js → message-circle-C9pycEzV.js} +1 -1
  137. package/dist/{pencil-DmbRhTJu.js → pencil-BvW86jVn.js} +1 -1
  138. package/dist/{refresh-cw-OK_O-cL0.js → refresh-cw-BDAUomac.js} +1 -1
  139. package/dist/{scan-line-DyaSTsJ5.js → scan-line-B5EvAPSG.js} +1 -1
  140. package/dist/{send-B-wasJJC.js → send-BAUn7DLp.js} +1 -1
  141. package/dist/{shield-check-DUIyRrTo.js → shield-check-CLGywlg0.js} +1 -1
  142. package/dist/{sparkles-DYEMATWC.js → sparkles-X6C0spo6.js} +1 -1
  143. package/dist/style.css +1 -1
  144. package/dist/templatical-editor.js +931 -895
  145. package/dist/{text-align-start-CzjLeBLe.js → text-align-start-C6FXOoEj.js} +1 -1
  146. package/dist/{trash-2-C0shEPry.js → trash-2-balHkQP4.js} +1 -1
  147. package/dist/{triangle-alert-Fw0ce8oQ.js → triangle-alert-D2JBEr6k.js} +1 -1
  148. package/dist/{upload-D69C2CBx.js → upload-D70OYprI.js} +1 -1
  149. package/dist/{useCloudI18n-CAZTZ9_a.js → useCloudI18n-DmWo4nzs.js} +2 -2
  150. package/dist/{useEditorCore-CFLzobo_.js → useEditorCore-D7Gz7_CW.js} +474 -481
  151. package/dist/useEditorRoot-DKyG95pb.js +8 -0
  152. package/dist/{useI18n-BfXff_Sy.js → useI18n-CvYvat9_.js} +2 -2
  153. package/dist/{useMergeTag-Dd4I7kge.js → useMergeTag-D6Z6cyDa.js} +1 -1
  154. package/dist/{usePopoverPosition-CxhCX3SQ.js → usePopoverPosition-WslxM_PU.js} +1 -1
  155. package/dist/useScrollToBlock-DcImB73T.js +44 -0
  156. package/dist/{x-BjTlFqRv.js → x-DTUPbuwx.js} +1 -1
  157. package/package.json +9 -9
  158. package/dist/cdn/chunks/IssuesPanel-CHtetM9i.js.map +0 -1
  159. package/dist/cdn/chunks/SavedBlocksPanels-nbK0UQTp.js.map +0 -1
  160. package/dist/cdn/chunks/TestEmailPanel-CAjQDXle.js.map +0 -1
  161. package/dist/cdn/chunks/VersionPreviewBanner-04CL1SGY.js.map +0 -1
  162. package/dist/cdn/chunks/useEditorCore-DC8gmfs6.js.map +0 -1
  163. package/dist/cdn/chunks/useI18n-DVWCJJFH.js.map +0 -1
  164. package/dist/list-checks-jw-ZlvWY.js +0 -25
@@ -1,5 +1,5 @@
1
1
  import { E as e, q as t } from "./draggable-BfpsXFg7.js";
2
- import { l as n } from "./keys-CbQuRX85.js";
2
+ import { l as n } from "./keys-oJdkdtPn.js";
3
3
  //#region src/composables/useCloudI18n.ts
4
4
  function r(e, t) {
5
5
  return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
@@ -13,7 +13,7 @@ function i(i) {
13
13
  }
14
14
  function a(e) {
15
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.");
16
+ if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component renders inside an editor mounted with initCloud().");
17
17
  return {
18
18
  t,
19
19
  format: n
@@ -22,4 +22,4 @@ function a(e) {
22
22
  //#endregion
23
23
  export { a as n, i as t };
24
24
 
25
- //# sourceMappingURL=useCloudI18n-NVa1aeY8.js.map
25
+ //# sourceMappingURL=useCloudI18n-Ch-SiRjU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCloudI18n-NVa1aeY8.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"}
1
+ {"version":3,"file":"useCloudI18n-Ch-SiRjU.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 renders inside an editor mounted with initCloud().\",\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,sIACF;CAEF,OAAO;EAAE;EAAG,QAAQ;CAAE;AACxB"}