@templatical/editor 0.20.0 → 0.21.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 (186) hide show
  1. package/README.md +1 -0
  2. package/dist/{AiChatSidebar-ChrE6pUq.js → AiChatSidebar-K_AehWc-.js} +9 -9
  3. package/dist/{AiFeatureMenu-DkQ9HhQ6.js → AiFeatureMenu-CPdNpHpZ.js} +6 -6
  4. package/dist/{BlockIssueBadge-B4QjePax.js → BlockIssueBadge-Dmj9rVra.js} +4 -4
  5. package/dist/{CloudEditor-CfX-aMiV.js → CloudEditor-3a7mqMhe.js} +263 -315
  6. package/dist/{CollaboratorBar-DTibhQ1j.js → CollaboratorBar-Ds0YZWzV.js} +3 -3
  7. package/dist/{ColorPicker-4vDYhdGe.js → ColorPicker-s9GHXjZs.js} +4 -4
  8. package/dist/CommentsSidebar-DvNEdugN.js +435 -0
  9. package/dist/{CountdownBlock-Bn5w7C-p.js → CountdownBlock-BUHYIAe9.js} +1 -1
  10. package/dist/{CountdownToolbar-D7yQqnA2.js → CountdownToolbar-DPRcv3Fu.js} +3 -4
  11. package/dist/{DesignReferenceSidebar-DnO6ZdwS.js → DesignReferenceSidebar-DNmK3dxp.js} +8 -8
  12. package/dist/{IssuesPanel-X_vkNGrs.js → IssuesPanel-CEnEGFtd.js} +7 -7
  13. package/dist/{MergeTagSuggestion-DCuaSOPQ.js → MergeTagSuggestion-DMe4rqn0.js} +2 -2
  14. package/dist/NumberWithSuffix-CCPN_oCh.js +121 -0
  15. package/dist/{ParagraphEditor-C5ixOIYb.js → ParagraphEditor-CkwBirNl.js} +47 -47
  16. package/dist/{RichTextEditorContent-DwhDnMsG.js → RichTextEditorContent-FbnWsh46.js} +6 -6
  17. package/dist/SaveBlockDialog-Cc5BSUBx.js +264 -0
  18. package/dist/SavedBlockPreviewCanvas-ubttfmKr.js +109 -0
  19. package/dist/SavedBlocksBrowserModal-LkY_U3lY.js +323 -0
  20. package/dist/SavedBlocksPanels-CET0zvH6.js +36 -0
  21. package/dist/SavedBlocksPickBar-poGS4PoI.js +52 -0
  22. package/dist/{SnapshotHistory-DaVueFv6.js → SnapshotHistory-BvF5IXn1.js} +8 -8
  23. package/dist/{TemplateScoringPanel-B0UHoTLx.js → TemplateScoringPanel-ifGGGWs5.js} +14 -14
  24. package/dist/{TestEmailModal-BkauxF7j.js → TestEmailModal-BRaM_eko.js} +4 -4
  25. package/dist/{TitleEditor-n6WDVDjW.js → TitleEditor-Bhgzh-iQ.js} +11 -11
  26. package/dist/{TplModal-BDDyvT-C.js → TplModal-BA-Zsg0O.js} +3 -3
  27. package/dist/{blockTypeIcons-4D0aFXNg.js → blockTypeIcons-B1-Yzp-a.js} +6 -6
  28. package/dist/bundle-stats.json +8 -8
  29. package/dist/{cdn/chunks/ca-DbWoy4rG.js → ca-BBgad6y5.js} +50 -5
  30. package/dist/cdn/chunks/{AiFeatureMenu-CIBHAGSz.js → AiFeatureMenu--PdArSnv.js} +7 -7
  31. package/dist/cdn/chunks/{AiFeatureMenu-CIBHAGSz.js.map → AiFeatureMenu--PdArSnv.js.map} +1 -1
  32. package/dist/cdn/chunks/{BlockIssueBadge-CxMiLo3p.js → BlockIssueBadge-DMSd0SIl.js} +5 -5
  33. package/dist/cdn/chunks/{BlockIssueBadge-CxMiLo3p.js.map → BlockIssueBadge-DMSd0SIl.js.map} +1 -1
  34. package/dist/cdn/chunks/{CloudEditor-CEa3Xgqh.js → CloudEditor-DnTfI5GU.js} +270 -322
  35. package/dist/cdn/chunks/CloudEditor-DnTfI5GU.js.map +1 -0
  36. package/dist/cdn/chunks/{CollaboratorBar-Bk1gD02G.js → CollaboratorBar-CBqd7ldq.js} +3 -3
  37. package/dist/cdn/chunks/{CollaboratorBar-Bk1gD02G.js.map → CollaboratorBar-CBqd7ldq.js.map} +1 -1
  38. package/dist/cdn/chunks/{ColorPicker-ll8pynws.js → ColorPicker-DCdWP8YB.js} +161 -161
  39. package/dist/cdn/chunks/{ColorPicker-ll8pynws.js.map → ColorPicker-DCdWP8YB.js.map} +1 -1
  40. package/dist/cdn/chunks/{CountdownBlock-eGUE7hhw.js → CountdownBlock-BDnWMAME.js} +4 -4
  41. package/dist/cdn/chunks/{CountdownBlock-eGUE7hhw.js.map → CountdownBlock-BDnWMAME.js.map} +1 -1
  42. package/dist/cdn/chunks/{CountdownToolbar-C1bkSjUR.js → CountdownToolbar-BbLoo22S.js} +4 -5
  43. package/dist/cdn/chunks/{CountdownToolbar-C1bkSjUR.js.map → CountdownToolbar-BbLoo22S.js.map} +1 -1
  44. package/dist/cdn/chunks/{IssuesPanel-Csasylf_.js → IssuesPanel-CfudrI3T.js} +7 -7
  45. package/dist/cdn/chunks/{IssuesPanel-Csasylf_.js.map → IssuesPanel-CfudrI3T.js.map} +1 -1
  46. package/dist/cdn/chunks/{MergeTagSuggestion-BmMmdcRg.js → MergeTagSuggestion-D7TsECll.js} +2 -2
  47. package/dist/cdn/chunks/{MergeTagSuggestion-BmMmdcRg.js.map → MergeTagSuggestion-D7TsECll.js.map} +1 -1
  48. package/dist/cdn/chunks/NumberWithSuffix-BmMx9_n_.js +123 -0
  49. package/dist/cdn/chunks/NumberWithSuffix-BmMx9_n_.js.map +1 -0
  50. package/dist/cdn/chunks/{ParagraphEditor-v0_XEL-v.js → ParagraphEditor-DPCUSXpx.js} +86 -86
  51. package/dist/cdn/chunks/{ParagraphEditor-v0_XEL-v.js.map → ParagraphEditor-DPCUSXpx.js.map} +1 -1
  52. package/dist/cdn/chunks/{RichTextEditorContent-NQExNsaV.js → RichTextEditorContent-B8dOiv_D.js} +5 -5
  53. package/dist/cdn/chunks/{RichTextEditorContent-NQExNsaV.js.map → RichTextEditorContent-B8dOiv_D.js.map} +1 -1
  54. package/dist/cdn/chunks/SaveBlockDialog-BY3SMnNV.js +259 -0
  55. package/dist/cdn/chunks/SaveBlockDialog-BY3SMnNV.js.map +1 -0
  56. package/dist/cdn/chunks/SavedBlockPreviewCanvas-LpaOcusq.js +110 -0
  57. package/dist/cdn/chunks/SavedBlockPreviewCanvas-LpaOcusq.js.map +1 -0
  58. package/dist/cdn/chunks/SavedBlocksBrowserModal-CfIcmyzF.js +318 -0
  59. package/dist/cdn/chunks/SavedBlocksBrowserModal-CfIcmyzF.js.map +1 -0
  60. package/dist/cdn/chunks/SavedBlocksPanels-kIowCfh_.js +38 -0
  61. package/dist/cdn/chunks/SavedBlocksPanels-kIowCfh_.js.map +1 -0
  62. package/dist/cdn/chunks/SavedBlocksPickBar-WSGe1GiZ.js +52 -0
  63. package/dist/cdn/chunks/SavedBlocksPickBar-WSGe1GiZ.js.map +1 -0
  64. package/dist/cdn/chunks/{TitleEditor-CS-_MzYs.js → TitleEditor-iwd-O9sO.js} +11 -11
  65. package/dist/cdn/chunks/{TitleEditor-CS-_MzYs.js.map → TitleEditor-iwd-O9sO.js.map} +1 -1
  66. package/dist/cdn/chunks/{blockTypeIcons-B0Hjh42a.js → blockTypeIcons-BYz0fgLz.js} +7 -7
  67. package/dist/cdn/chunks/{blockTypeIcons-B0Hjh42a.js.map → blockTypeIcons-BYz0fgLz.js.map} +1 -1
  68. package/dist/{ca-DbWoy4rG.js → cdn/chunks/ca-BBgad6y5.js} +52 -3
  69. package/dist/cdn/chunks/ca-BBgad6y5.js.map +1 -0
  70. package/dist/{de-CTYXVU9v.js → cdn/chunks/de-Bw6fB5JU.js} +2 -24
  71. package/dist/cdn/chunks/{de-CTYXVU9v.js.map → de-Bw6fB5JU.js.map} +1 -1
  72. package/dist/cdn/chunks/{de-CgGOnerg.js → de-D7WbpFBR.js} +50 -3
  73. package/dist/cdn/chunks/de-D7WbpFBR.js.map +1 -0
  74. package/dist/{en-DrUV9xth.js → cdn/chunks/en-BrZ0uGK2.js} +51 -2
  75. package/dist/cdn/chunks/en-BrZ0uGK2.js.map +1 -0
  76. package/dist/{en-BtmIaJeb.js → cdn/chunks/en-DAdHJz7h.js} +2 -24
  77. package/dist/cdn/chunks/{en-BtmIaJeb.js.map → en-DAdHJz7h.js.map} +1 -1
  78. package/dist/{es-DwbKjU7q.js → cdn/chunks/es-tLSLysPs.js} +51 -2
  79. package/dist/cdn/chunks/es-tLSLysPs.js.map +1 -0
  80. package/dist/cdn/chunks/{extensions-Di3hdIRT.js → extensions-DeJh3E9b.js} +26 -26
  81. package/dist/cdn/chunks/{extensions-Di3hdIRT.js.map → extensions-DeJh3E9b.js.map} +1 -1
  82. package/dist/cdn/chunks/{features-CLIZ7Q-Y.js → features-pLfGJWIB.js} +1118 -962
  83. package/dist/cdn/chunks/features-pLfGJWIB.js.map +1 -0
  84. package/dist/cdn/chunks/{icons-GX40Qm2W.js → icons-FLemooQz.js} +16 -16
  85. package/dist/cdn/chunks/{icons-GX40Qm2W.js.map → icons-FLemooQz.js.map} +1 -1
  86. package/dist/cdn/chunks/{media-library-yYAkAagU.js → media-library-mCCZieYO.js} +176 -176
  87. package/dist/cdn/chunks/{media-library-yYAkAagU.js.map → media-library-mCCZieYO.js.map} +1 -1
  88. package/dist/cdn/chunks/{pt-BR-Bcc5Tjed.js → pt-BR-BWFokdTU.js} +50 -3
  89. package/dist/cdn/chunks/pt-BR-BWFokdTU.js.map +1 -0
  90. package/dist/{pt-BR-B2ZvFlRL.js → cdn/chunks/pt-BR-w2sGzHNX.js} +2 -24
  91. package/dist/cdn/chunks/{pt-BR-B2ZvFlRL.js.map → pt-BR-w2sGzHNX.js.map} +1 -1
  92. package/dist/cdn/chunks/quality-BRbHtAk1.js +2180 -0
  93. package/dist/cdn/chunks/{quality-DffYv9j5.js.map → quality-BRbHtAk1.js.map} +1 -1
  94. package/dist/cdn/chunks/{renderer-DpBGiXOg.js → renderer-Yg1XhsBN.js} +17 -17
  95. package/dist/cdn/chunks/{renderer-DpBGiXOg.js.map → renderer-Yg1XhsBN.js.map} +1 -1
  96. package/dist/cdn/chunks/{src-9K6uFiuK.js → src-BDJeYiVE.js} +33 -33
  97. package/dist/cdn/chunks/{src-9K6uFiuK.js.map → src-BDJeYiVE.js.map} +1 -1
  98. package/dist/cdn/chunks/{styles-DHSmjlpX.js → styles-Bp5Jsu9J.js} +1380 -1294
  99. package/dist/cdn/chunks/styles-Bp5Jsu9J.js.map +1 -0
  100. package/dist/cdn/chunks/{tiptap-C2indasq.js → tiptap-BMZ-OENR.js} +2012 -1863
  101. package/dist/cdn/chunks/tiptap-BMZ-OENR.js.map +1 -0
  102. package/dist/cdn/editor.css +1 -1
  103. package/dist/cdn/editor.js +123 -114
  104. package/dist/cdn/editor.js.map +1 -1
  105. package/dist/{check-Bl4J_tYV.js → check-BpQDKiPz.js} +1 -1
  106. package/dist/{chevron-down-COEcl2iP.js → chevron-down-j8GrdTyz.js} +1 -1
  107. package/dist/chevron-up-BACyVhyC.js +7 -0
  108. package/dist/{circle-alert-CvHi5etc.js → circle-alert-CgtE46ND.js} +1 -1
  109. package/dist/{clock-CZZw62e8.js → clock-BzKLLW5L.js} +1 -1
  110. package/dist/{cloud-B-RebwxI.js → cloud-Du7mnkz2.js} +19 -47
  111. package/dist/{createLucideIcon-_peTZQtY.js → createLucideIcon-JWHwTI6N.js} +2 -2
  112. package/dist/{cdn/chunks/de-CTYXVU9v.js → de-Bw6fB5JU.js} +0 -26
  113. package/dist/{de-CgGOnerg.js → de-D7WbpFBR.js} +49 -2
  114. package/dist/{dist-CgTKuIUN.js → dist-BEpCh2mG.js} +1158 -1125
  115. package/dist/{dist-Cx7IUM7J.js → dist-BgPYC_8-.js} +14 -6
  116. package/dist/{dist-BKKo5wPC.js → dist-BkM8A17N.js} +2 -2
  117. package/dist/{dist-CcX5sLpz.js → dist-BuNDAAVp.js} +361 -256
  118. package/dist/{dist-COSN3oDJ.js → dist-CBzCU-a-.js} +2 -2
  119. package/dist/{dist-YSCPD13F.js → dist-CDO52Rxy.js} +2 -2
  120. package/dist/{dist-Dk5AdwoQ.js → dist-CrjzhIxB.js} +2 -2
  121. package/dist/{dist-DXAZUjj3.js → dist-CtcgoC_R.js} +2 -2
  122. package/dist/{dist-D6M5FAY7.js → dist-CuXha2_7.js} +2 -2
  123. package/dist/dist-CweLDZrs.js +5 -0
  124. package/dist/dist-DOsdqAEZ.js +5 -0
  125. package/dist/{dist-8TKf-Jpg.js → dist-DYClLqy8.js} +6 -3
  126. package/dist/{cdn/chunks/en-DrUV9xth.js → en-BrZ0uGK2.js} +49 -4
  127. package/dist/{cdn/chunks/en-BtmIaJeb.js → en-DAdHJz7h.js} +0 -26
  128. package/dist/{cdn/chunks/es-DwbKjU7q.js → es-tLSLysPs.js} +49 -4
  129. package/dist/{extensions-BCA9pyer.js → extensions-ClY5Sh7S.js} +5 -5
  130. package/dist/{image-up-D26rNdfX.js → image-up-CQdtq8ge.js} +1 -1
  131. package/dist/index.d.ts +81 -4
  132. package/dist/{info-CE3JSTqk.js → info-BUJBXoE6.js} +1 -1
  133. package/dist/{keys-DFaIbGR8.js → keys-CHPcp-Nz.js} +2 -2
  134. package/dist/{list-checks-BQsLrtBB.js → list-checks-BGHaCSD5.js} +1 -1
  135. package/dist/{loader-circle-s9Rh5lLd.js → loader-circle-C-Z6kgI6.js} +1 -1
  136. package/dist/{message-circle-CI62d690.js → message-circle-CEm5qckV.js} +1 -1
  137. package/dist/pencil-DdwmkKLb.js +10 -0
  138. package/dist/{pt-BR-Bcc5Tjed.js → pt-BR-BWFokdTU.js} +49 -2
  139. package/dist/{cdn/chunks/pt-BR-B2ZvFlRL.js → pt-BR-w2sGzHNX.js} +0 -26
  140. package/dist/{refresh-cw-DlYfl65Y.js → refresh-cw-maKlg0dl.js} +1 -1
  141. package/dist/{scan-line-CHadrYVb.js → scan-line-BFgesTOY.js} +1 -1
  142. package/dist/{send-CbP40otC.js → send-B70aQDrA.js} +1 -1
  143. package/dist/{shield-check-Bnj9aRoJ.js → shield-check-B7x5OKt5.js} +1 -1
  144. package/dist/{sparkles-CncWT57a.js → sparkles-DVlm1Ipp.js} +1 -1
  145. package/dist/style.css +1 -1
  146. package/dist/{styles-DkF_-uX8.js → styles-DIDAJdkj.js} +1237 -1151
  147. package/dist/templatical-editor.js +134 -125
  148. package/dist/{text-align-start-B458vzYw.js → text-align-start-Vay3Kvo2.js} +1 -1
  149. package/dist/{trash-2-DO0yjSU1.js → trash-2-DE8CmxAG.js} +1 -1
  150. package/dist/{triangle-alert-C18_ima6.js → triangle-alert-Djg6IG8N.js} +1 -1
  151. package/dist/{upload-DsCd2zTR.js → upload-BwwE0U6G.js} +1 -1
  152. package/dist/{useCloudI18n-PCDOC2kz.js → useCloudI18n-BmiygEM4.js} +1 -1
  153. package/dist/{useEditorCore-kKUemYY6.js → useEditorCore-Bd9CA4L_.js} +997 -817
  154. package/dist/{useI18n-BNMzZTM5.js → useI18n-D2L9Mkik.js} +1 -1
  155. package/dist/{useMergeTag-DfEY0eK5.js → useMergeTag-BTdDq5DC.js} +1 -1
  156. package/dist/{usePopoverPosition-F9STHRIr.js → usePopoverPosition-BO2LNy5n.js} +1 -1
  157. package/dist/{x-BCFQuE_q.js → x-CkD6A1iB.js} +1 -1
  158. package/package.json +21 -21
  159. package/dist/CommentsSidebar-D-o5Stlg.js +0 -442
  160. package/dist/ModuleBrowserModal-AJt--JPh.js +0 -202
  161. package/dist/ModulePreviewCanvas-BKYOcVCh.js +0 -106
  162. package/dist/NumberWithSuffix-Bf3rNxza.js +0 -89
  163. package/dist/SaveModuleDialog-B4QX9eiv.js +0 -125
  164. package/dist/ToggleSwitch-DUNuUPsZ.js +0 -37
  165. package/dist/cdn/chunks/CloudEditor-CEa3Xgqh.js.map +0 -1
  166. package/dist/cdn/chunks/ModuleBrowserModal-DznWWtBI.js +0 -198
  167. package/dist/cdn/chunks/ModuleBrowserModal-DznWWtBI.js.map +0 -1
  168. package/dist/cdn/chunks/ModulePreviewCanvas-D-h7fr87.js +0 -107
  169. package/dist/cdn/chunks/ModulePreviewCanvas-D-h7fr87.js.map +0 -1
  170. package/dist/cdn/chunks/NumberWithSuffix-Dt-0odUN.js +0 -91
  171. package/dist/cdn/chunks/NumberWithSuffix-Dt-0odUN.js.map +0 -1
  172. package/dist/cdn/chunks/SaveModuleDialog-BpFhTi-k.js +0 -120
  173. package/dist/cdn/chunks/SaveModuleDialog-BpFhTi-k.js.map +0 -1
  174. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js +0 -39
  175. package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js.map +0 -1
  176. package/dist/cdn/chunks/ca-DbWoy4rG.js.map +0 -1
  177. package/dist/cdn/chunks/de-CgGOnerg.js.map +0 -1
  178. package/dist/cdn/chunks/en-DrUV9xth.js.map +0 -1
  179. package/dist/cdn/chunks/es-DwbKjU7q.js.map +0 -1
  180. package/dist/cdn/chunks/features-CLIZ7Q-Y.js.map +0 -1
  181. package/dist/cdn/chunks/pt-BR-Bcc5Tjed.js.map +0 -1
  182. package/dist/cdn/chunks/quality-DffYv9j5.js +0 -2180
  183. package/dist/cdn/chunks/styles-DHSmjlpX.js.map +0 -1
  184. package/dist/cdn/chunks/tiptap-C2indasq.js.map +0 -1
  185. package/dist/dist-BDVm2MrW.js +0 -5
  186. package/dist/dist-DbekZDmJ.js +0 -5
@@ -1,5 +1,5 @@
1
- import { c as e, ft as t, i as n, qt as r } from "./dist-CgTKuIUN.js";
2
- //#region ../../node_modules/.pnpm/@tiptap+extension-text-style@3.28.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0_/node_modules/@tiptap/extension-text-style/dist/index.js
1
+ import { c as e, ft as t, i as n, qt as r } from "./dist-BEpCh2mG.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-text-style@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0_/node_modules/@tiptap/extension-text-style/dist/index.js
3
3
  var i = 20, a = (e, t = 0) => {
4
4
  let n = [];
5
5
  return !e.children.length || t > i || Array.from(e.children).forEach((e) => {
@@ -1,5 +1,5 @@
1
- import { Ut as e, Wt as t, c as n, ft as r, qt as i } from "./dist-CgTKuIUN.js";
2
- //#region ../../node_modules/.pnpm/@tiptap+extension-highlight@3.28.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0_/node_modules/@tiptap/extension-highlight/dist/index.js
1
+ import { Ut as e, Wt as t, c as n, ft as r, qt as i } from "./dist-BEpCh2mG.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-highlight@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0_/node_modules/@tiptap/extension-highlight/dist/index.js
3
3
  var a = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, o = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g, s = n.create({
4
4
  name: "highlight",
5
5
  addOptions() {
@@ -1,5 +1,5 @@
1
- import { c as e, qt as t } from "./dist-CgTKuIUN.js";
2
- //#region ../../node_modules/.pnpm/@tiptap+extension-subscript@3.28.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0__@tiptap+pm@3.28.0/node_modules/@tiptap/extension-subscript/dist/index.js
1
+ import { c as e, qt as t } from "./dist-BEpCh2mG.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-subscript@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0__@tiptap+pm@3.29.0/node_modules/@tiptap/extension-subscript/dist/index.js
3
3
  var n = e.create({
4
4
  name: "subscript",
5
5
  addOptions() {
@@ -1,5 +1,5 @@
1
- import { c as e, qt as t } from "./dist-CgTKuIUN.js";
2
- //#region ../../node_modules/.pnpm/@tiptap+extension-underline@3.28.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0_/node_modules/@tiptap/extension-underline/dist/index.js
1
+ import { c as e, qt as t } from "./dist-BEpCh2mG.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-underline@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0_/node_modules/@tiptap/extension-underline/dist/index.js
3
3
  var n = e.create({
4
4
  name: "underline",
5
5
  addOptions() {
@@ -1,5 +1,5 @@
1
- import { i as e } from "./dist-CgTKuIUN.js";
2
- //#region ../../node_modules/.pnpm/@tiptap+extension-text-align@3.28.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0_/node_modules/@tiptap/extension-text-align/dist/index.js
1
+ import { i as e } from "./dist-BEpCh2mG.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-text-align@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0_/node_modules/@tiptap/extension-text-align/dist/index.js
3
3
  var t = e.create({
4
4
  name: "textAlign",
5
5
  addOptions() {
@@ -0,0 +1,5 @@
1
+ import { Color as e } from "./dist-CBzCU-a-.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-color@3.29.0_@tiptap+extension-text-style@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0__/node_modules/@tiptap/extension-color/dist/index.js
3
+ var t = e;
4
+ //#endregion
5
+ export { e as Color, t as default };
@@ -0,0 +1,5 @@
1
+ import { FontFamily as e } from "./dist-CBzCU-a-.js";
2
+ //#region ../../node_modules/.pnpm/@tiptap+extension-font-family@3.29.0_@tiptap+extension-text-style@3.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0__/node_modules/@tiptap/extension-font-family/dist/index.js
3
+ var t = e;
4
+ //#endregion
5
+ export { e as FontFamily, t as default };
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
2
  import { E as t, G as n, L as r, Q as i, T as a, V as o, Y as s, Z as ee, _ as c, k as l, nt as te, q as u, v as ne, w as re, y as d } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
3
3
  import { r as f } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
4
- import { $ as ie, $t as ae, A as oe, At as se, B as ce, Bt as le, C as ue, Ct as p, D as m, Dt as h, E as g, Et as _, F as v, Ft as y, G as b, Gt as x, H as S, Ht as C, I as w, It as T, J as E, Jt as D, K as O, Kt as k, L as A, Lt as j, M, Mt as N, N as P, Nt as F, O as I, Ot as L, P as R, Pt as z, Q as B, Qt as V, R as H, Rt as U, S as de, St as fe, T as pe, Tt as me, U as he, Ut as ge, V as _e, Vt as ve, W as ye, Wt as be, X as xe, Xt as Se, Y as Ce, Yt as we, Z as Te, Zt as Ee, _ as De, _t as Oe, a as ke, an as Ae, at as je, b as Me, bt as Ne, c as Pe, cn as Fe, ct as Ie, d as Le, dn as Re, dt as ze, en as W, et as Be, f as G, fn as Ve, ft as He, g as Ue, gn as We, gt as Ge, h as Ke, hn as qe, ht as Je, i as Ye, in as Xe, it as Ze, j as Qe, jt as $e, k as et, kt as tt, l as K, ln as nt, lt as rt, m as it, mn as at, mt as ot, n as st, nn as ct, nt as lt, o as ut, on as dt, ot as ft, p as pt, pn as mt, pt as ht, q as gt, qt as _t, r as vt, rn as yt, rt as bt, s as xt, sn as St, st as Ct, t as wt, tn as Tt, tt as Et, u as Dt, un as Ot, ut as kt, v as At, vt as q, w as jt, wt as Mt, x as Nt, xt as Pt, y as Ft, yt as It, z as Lt, zt as Rt } from "./dist-CgTKuIUN.js";
5
- //#region ../../node_modules/.pnpm/@tiptap+vue-3@3.28.0_@floating-ui+dom@1.8.0_@tiptap+core@3.28.0_@tiptap+pm@3.28.0__@tip_4ba92f67967a101693494066850c20ae/node_modules/@tiptap/vue-3/dist/index.js
4
+ import { $ as ie, $t as ae, A as oe, At as se, B as ce, Bt as le, C as ue, Ct as p, D as m, Dt as h, E as g, Et as _, F as v, Ft as y, G as b, Gt as x, H as S, Ht as C, I as w, It as T, J as E, Jt as D, K as O, Kt as k, L as A, Lt as j, M, Mt as N, N as P, Nt as F, O as I, Ot as L, P as R, Pt as z, Q as B, Qt as V, R as H, Rt as U, S as de, St as fe, T as pe, Tt as me, U as he, Ut as ge, V as _e, Vt as ve, W as ye, Wt as be, X as xe, Xt as Se, Y as Ce, Yt as we, Z as Te, Zt as Ee, _ as De, _t as Oe, a as ke, an as Ae, at as je, b as Me, bt as Ne, c as Pe, cn as Fe, ct as Ie, d as Le, dn as Re, dt as ze, en as W, et as Be, f as G, fn as Ve, ft as He, g as Ue, gn as We, gt as Ge, h as Ke, hn as qe, ht as Je, i as Ye, in as Xe, it as Ze, j as Qe, jt as $e, k as et, kt as tt, l as K, ln as nt, lt as rt, m as it, mn as at, mt as ot, n as st, nn as ct, nt as lt, o as ut, on as dt, ot as ft, p as pt, pn as mt, pt as ht, q as gt, qt as _t, r as vt, rn as yt, rt as bt, s as xt, sn as St, st as Ct, t as wt, tn as Tt, tt as Et, u as Dt, un as Ot, ut as kt, v as At, vt as q, w as jt, wt as Mt, x as Nt, xt as Pt, y as Ft, yt as It, z as Lt, zt as Rt } from "./dist-BEpCh2mG.js";
5
+ //#region ../../node_modules/.pnpm/@tiptap+vue-3@3.29.0_@floating-ui+dom@1.8.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0__@tip_9696d1519782ad8e4d37c9e55313c1ec/node_modules/@tiptap/vue-3/dist/index.js
6
6
  var zt = /* @__PURE__ */ e({
7
7
  CommandManager: () => wt,
8
8
  Editor: () => Y,
@@ -439,7 +439,10 @@ var Kt = {
439
439
  setup: (e) => {
440
440
  var t;
441
441
  return l("onDragStart", n), l("decorationClasses", this.decorationClasses), l("nodeViewContentRef", (e) => {
442
- this.contentDOMElement && e && e.firstChild !== this.contentDOMElement && e.appendChild(this.contentDOMElement);
442
+ if (!(!e || e === this.contentDOMElement)) {
443
+ if (this.contentDOMElement) for (; this.contentDOMElement.firstChild;) e.appendChild(this.contentDOMElement.firstChild);
444
+ this.contentDOMElement = e;
445
+ }
443
446
  }), (t = this.component).setup?.call(t, e, { expose: () => void 0 });
444
447
  },
445
448
  __scopeId: this.component.__scopeId,
@@ -86,7 +86,7 @@ var e = {
86
86
  duplicate: "Duplicate block",
87
87
  delete: "Delete block",
88
88
  hiddenOnViewport: "Hidden on {viewport}",
89
- saveAsModule: "Save as Module",
89
+ saveAsBlock: "Save as Block",
90
90
  conditionToggle: "Toggle display condition",
91
91
  comments: "Comments ({count})",
92
92
  lifted: "{block} lifted. Position {position} of {total}.",
@@ -522,8 +522,55 @@ var e = {
522
522
  cropOptional: "(optional)",
523
523
  storageTooltip: "{used} of {total} used ({remaining} remaining)"
524
524
  },
525
+ savedBlocks: {
526
+ title: "Saved Blocks",
527
+ saveAsBlock: "Save as Block",
528
+ name: "Name",
529
+ namePlaceholder: "e.g. Header, Footer, CTA...",
530
+ save: "Save Block",
531
+ saving: "Saving...",
532
+ cancel: "Cancel",
533
+ empty: "No saved blocks yet",
534
+ emptyHint: "Save blocks from your templates to reuse them later.",
535
+ noResults: "No saved blocks match your search",
536
+ search: "Search saved blocks...",
537
+ loading: "Loading saved blocks…",
538
+ category: "Category",
539
+ categoryPlaceholder: "e.g. Headers, Promos... (optional)",
540
+ allCategories: "All categories",
541
+ filterByCategory: "Filter by category",
542
+ insert: "Insert",
543
+ rename: "Rename",
544
+ delete: "Delete",
545
+ deleteConfirm: "Delete this saved block?",
546
+ blockCount: "{count} block(s)",
547
+ browse: "Browse Saved Blocks",
548
+ selectToPreview: "Select a saved block to preview",
549
+ insertAtBeginning: "At beginning",
550
+ insertAfterBlock: "After {block}",
551
+ insertAtEnd: "At end",
552
+ insertPosition: "Insert position",
553
+ close: "Close",
554
+ pickToolbar: "Saved block selection",
555
+ pickCount: "{count} block(s) selected",
556
+ pickHint: "Click blocks to add or remove them",
557
+ savingCount: "Saving {count} block(s):",
558
+ reorderHint: "Drag to reorder — blocks are saved in this order",
559
+ reorderHandle: "Reorder {block}, position {position} of {total}",
560
+ reorderAnnouncement: "{block} moved to position {position} of {total}",
561
+ expand: "Expand",
562
+ collapse: "Collapse",
563
+ expandPreview: "Expand {block} preview",
564
+ collapsePreview: "Collapse {block} preview",
565
+ time: {
566
+ justNow: "Just now",
567
+ minutesAgo: "{minutes}m ago",
568
+ hoursAgo: "{hours}h ago",
569
+ daysAgo: "{days}d ago"
570
+ }
571
+ },
525
572
  sidebarNav: {
526
- browseModules: "Browse saved modules",
573
+ browseSavedBlocks: "Browse saved blocks",
527
574
  expandSidebar: "Expand block sidebar",
528
575
  palette: "Block palette",
529
576
  insertBlock: "Insert {block} block"
@@ -559,5 +606,3 @@ var e = {
559
606
  };
560
607
  //#endregion
561
608
  export { e as default };
562
-
563
- //# sourceMappingURL=en-DrUV9xth.js.map
@@ -153,30 +153,6 @@ var e = {
153
153
  blockLockedBy: "Editing by {name}",
154
154
  usersOnline: "{count} users online"
155
155
  },
156
- modules: {
157
- title: "Saved Modules",
158
- saveAsModule: "Save as Module",
159
- moduleName: "Module Name",
160
- moduleNamePlaceholder: "e.g. Header, Footer, CTA...",
161
- selectBlocks: "Select Blocks",
162
- save: "Save Module",
163
- saving: "Saving...",
164
- cancel: "Cancel",
165
- noModules: "No saved modules yet",
166
- noModulesHint: "Save blocks from your templates to reuse them later.",
167
- search: "Search modules...",
168
- insert: "Insert",
169
- delete: "Delete",
170
- deleteConfirm: "Delete this module?",
171
- blockCount: "{count} block(s)",
172
- browse: "Browse Modules",
173
- selectToPreview: "Select a module to preview",
174
- insertAtBeginning: "At beginning",
175
- insertAfterBlock: "After {block}",
176
- insertAtEnd: "At end",
177
- insertPosition: "Insert position",
178
- close: "Close"
179
- },
180
156
  designReference: {
181
157
  title: "Design Reference",
182
158
  button: "Design",
@@ -205,5 +181,3 @@ var e = {
205
181
  };
206
182
  //#endregion
207
183
  export { e as default };
208
-
209
- //# sourceMappingURL=en-BtmIaJeb.js.map
@@ -86,7 +86,7 @@ var e = {
86
86
  duplicate: "Duplicar bloque",
87
87
  delete: "Eliminar bloque",
88
88
  hiddenOnViewport: "Oculto en {viewport}",
89
- saveAsModule: "Guardar como módulo",
89
+ saveAsBlock: "Guardar como bloque",
90
90
  conditionToggle: "Alternar condición de visualización",
91
91
  comments: "Comentarios ({count})",
92
92
  lifted: "{block} levantado. Posición {position} de {total}.",
@@ -522,8 +522,55 @@ var e = {
522
522
  cropOptional: "(opcional)",
523
523
  storageTooltip: "{used} de {total} usados (quedan {remaining})"
524
524
  },
525
+ savedBlocks: {
526
+ title: "Bloques guardados",
527
+ saveAsBlock: "Guardar como bloque",
528
+ name: "Nombre",
529
+ namePlaceholder: "p. ej. Encabezado, Pie de página, CTA...",
530
+ save: "Guardar bloque",
531
+ saving: "Guardando...",
532
+ cancel: "Cancelar",
533
+ empty: "Aún no hay bloques guardados",
534
+ emptyHint: "Guarda bloques de tus plantillas para reutilizarlos más tarde.",
535
+ noResults: "Ningún bloque guardado coincide con tu búsqueda",
536
+ search: "Buscar bloques guardados...",
537
+ loading: "Cargando bloques guardados…",
538
+ category: "Categoría",
539
+ categoryPlaceholder: "p. ej. Cabeceras, Promociones... (opcional)",
540
+ allCategories: "Todas las categorías",
541
+ filterByCategory: "Filtrar por categoría",
542
+ insert: "Insertar",
543
+ rename: "Cambiar nombre",
544
+ delete: "Eliminar",
545
+ deleteConfirm: "¿Eliminar este bloque guardado?",
546
+ blockCount: "{count} bloque(s)",
547
+ browse: "Explorar bloques guardados",
548
+ selectToPreview: "Selecciona un bloque guardado para previsualizarlo",
549
+ insertAtBeginning: "Al principio",
550
+ insertAfterBlock: "Después de {block}",
551
+ insertAtEnd: "Al final",
552
+ insertPosition: "Posición de inserción",
553
+ close: "Cerrar",
554
+ pickToolbar: "Selección de bloque guardado",
555
+ pickCount: "{count} bloque(s) seleccionado(s)",
556
+ pickHint: "Haz clic en los bloques para añadirlos o quitarlos",
557
+ savingCount: "Guardando {count} bloque(s):",
558
+ reorderHint: "Arrastra para reordenar: los bloques se guardan en este orden",
559
+ reorderHandle: "Reordenar {block}, posición {position} de {total}",
560
+ reorderAnnouncement: "{block} movido a la posición {position} de {total}",
561
+ expand: "Expandir",
562
+ collapse: "Contraer",
563
+ expandPreview: "Expandir la vista previa de {block}",
564
+ collapsePreview: "Contraer la vista previa de {block}",
565
+ time: {
566
+ justNow: "Ahora mismo",
567
+ minutesAgo: "hace {minutes} min",
568
+ hoursAgo: "hace {hours} h",
569
+ daysAgo: "hace {days} d"
570
+ }
571
+ },
525
572
  sidebarNav: {
526
- browseModules: "Explorar módulos guardados",
573
+ browseSavedBlocks: "Explorar bloques guardados",
527
574
  expandSidebar: "Expandir barra lateral de bloques",
528
575
  palette: "Paleta de bloques",
529
576
  insertBlock: "Insertar bloque {block}"
@@ -559,5 +606,3 @@ var e = {
559
606
  };
560
607
  //#endregion
561
608
  export { e as default };
562
-
563
- //# sourceMappingURL=es-DwbKjU7q.js.map
@@ -1,11 +1,11 @@
1
1
  import { Dt as e, Et as t, O as n, Ot as r, R as i, Y as a, _ as o, c as s, d as c, l, nt as u, s as d, u as f, w as p, z as m } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { a as h, c as g, s as _ } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { D as v, E as y, a as b, j as x } from "./dist-BJbqgyPn.js";
4
- import { t as S } from "./useI18n-BNMzZTM5.js";
5
- import { t as C } from "./useMergeTag-DfEY0eK5.js";
6
- import { i as w, o as T, p as E, qt as D, u as O } from "./dist-CgTKuIUN.js";
7
- import { i as k, r as A, t as j } from "./MergeTagSuggestion-DCuaSOPQ.js";
8
- import { n as M, t as N } from "./dist-8TKf-Jpg.js";
4
+ import { t as S } from "./useI18n-D2L9Mkik.js";
5
+ import { t as C } from "./useMergeTag-BTdDq5DC.js";
6
+ import { i as w, o as T, p as E, qt as D, u as O } from "./dist-BEpCh2mG.js";
7
+ import { i as k, r as A, t as j } from "./MergeTagSuggestion-DMe4rqn0.js";
8
+ import { n as M, t as N } from "./dist-DYClLqy8.js";
9
9
  //#region src/extensions/FontSize.ts
10
10
  var P = w.create({
11
11
  name: "fontSize",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("image-up", [
3
3
  ["path", {
4
4
  d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",
package/dist/index.d.ts CHANGED
@@ -4,12 +4,14 @@ import type { CollaborationConfig } from '@templatical/types';
4
4
  import { ColorsConfig } from '@templatical/types';
5
5
  import type { CommentEvent } from '@templatical/types';
6
6
  import { ComputedRef } from 'vue';
7
+ import { createLocalStorageSavedBlocksProvider } from '@templatical/core';
7
8
  import type { CustomBlock } from '@templatical/types';
8
9
  import { CustomBlockDefinition } from '@templatical/types';
9
10
  import { CustomFont } from '@templatical/types';
10
11
  import { DisplayConditionsConfig } from '@templatical/types';
11
12
  import { FontsConfig } from '@templatical/types';
12
13
  import { LintOptions } from '@templatical/quality';
14
+ import { LocalStorageSavedBlocksOptions } from '@templatical/core';
13
15
  import { LogicPair } from '@templatical/types';
14
16
  import { LogicTag } from '@templatical/types';
15
17
  import { LogicTagsConfig } from '@templatical/types';
@@ -19,6 +21,9 @@ import type { MediaRequestContext } from '@templatical/media-library';
19
21
  import type { MediaResult } from '@templatical/types';
20
22
  import { MergeTagsConfig } from '@templatical/types';
21
23
  import { Ref } from 'vue';
24
+ import { SavedBlock } from '@templatical/types';
25
+ import { SavedBlocksListParams } from '@templatical/types';
26
+ import { SavedBlocksProvider } from '@templatical/types';
22
27
  import { SaveResult } from '@templatical/types';
23
28
  import { Template } from '@templatical/types';
24
29
  import { TemplateContent } from '@templatical/types';
@@ -31,6 +36,8 @@ export { BlockDefaults }
31
36
 
32
37
  export { ColorsConfig }
33
38
 
39
+ export { createLocalStorageSavedBlocksProvider }
40
+
34
41
  export { CustomBlockDefinition }
35
42
 
36
43
  export { CustomFont }
@@ -48,10 +55,50 @@ export declare interface EditorCapabilities {
48
55
  getBlockCount(blockId: string): number;
49
56
  openForBlock(blockId: string): void;
50
57
  };
51
- savedModules?: {
52
- openSaveDialog(blockId: string): void;
58
+ /**
59
+ * Present only when a `SavedBlocksProvider` is configured — in OSS via
60
+ * `init({ savedBlocks })`, in Cloud whenever cloud mode is active.
61
+ */
62
+ savedBlocks?: {
63
+ /**
64
+ * Begin a canvas pick session seeded with this block. Blocks are then
65
+ * chosen by plain clicks until the floating bar confirms or cancels —
66
+ * `EditorState.selectedBlockId` is untouched throughout.
67
+ */
68
+ startPicking(blockId: string): void;
69
+ togglePick(blockId: string): void;
70
+ isPicked(blockId: string): boolean;
71
+ /** True while a pick session is running; block chrome swaps behaviour. */
72
+ isPicking: ComputedRef<boolean>;
73
+ /** Exposed so the shared keyboard handler can drive Enter/Escape. */
74
+ confirmPicking(): void;
75
+ cancelPicking(): void;
53
76
  openBrowser(): void;
54
- moduleCount: ComputedRef<number>;
77
+ /**
78
+ * How many entries are loaded. Informational only — the sidebar rail is
79
+ * gated on {@link isAvailable} alone, never on this, so a slow or empty
80
+ * `list()` can't make the entry appear late or shift the rail.
81
+ */
82
+ count: ComputedRef<number>;
83
+ /**
84
+ * Whether the feature is usable right now. Reactive because Cloud only
85
+ * learns its plan entitlement after an async config fetch, which happens
86
+ * *after* capabilities are provided — so presence alone can't encode it.
87
+ * UI must gate on this, or it will render controls that do nothing.
88
+ */
89
+ isAvailable: ComputedRef<boolean>;
90
+ /**
91
+ * Which mutations the provider supplied — a provider may pass `false`
92
+ * instead of a function to withhold one. Shared UI hides the corresponding
93
+ * affordance: with `canCreate` false there is no bookmark action and so no
94
+ * pick session, leaving a browse-and-insert-only library.
95
+ *
96
+ * Separate from {@link isAvailable}, which answers whether the feature
97
+ * exists at all.
98
+ */
99
+ canCreate: ComputedRef<boolean>;
100
+ canUpdate: ComputedRef<boolean>;
101
+ canDelete: ComputedRef<boolean>;
55
102
  };
56
103
  }
57
104
 
@@ -98,6 +145,8 @@ export declare function isCloudLocaleSupported(locale: string): boolean;
98
145
  /** Check if a locale has OSS translations (matched by exact locale, then base). */
99
146
  export declare function isLocaleSupported(locale: string): boolean;
100
147
 
148
+ export { LocalStorageSavedBlocksOptions }
149
+
101
150
  export { LogicPair }
102
151
 
103
152
  export { LogicTag }
@@ -118,6 +167,12 @@ export declare type OnRequestMedia = (context?: MediaRequestContext) => Promise<
118
167
  */
119
168
  export declare type ResolveImageUrl = (src: string) => string | null | Promise<string | null>;
120
169
 
170
+ export { SavedBlock }
171
+
172
+ export { SavedBlocksListParams }
173
+
174
+ export { SavedBlocksProvider }
175
+
121
176
  export { SaveResult }
122
177
 
123
178
  export { Template }
@@ -203,7 +258,7 @@ export declare interface TemplaticalCloudEditorConfig {
203
258
  mcp?: McpConfig;
204
259
  blockDefaults?: BlockDefaults;
205
260
  templateDefaults?: TemplateDefaults;
206
- modules?: boolean;
261
+ savedBlocks?: boolean;
207
262
  autoSave?: boolean;
208
263
  autoSaveDebounce?: number;
209
264
  mergeTags?: MergeTagsConfig;
@@ -427,6 +482,28 @@ export declare interface TemplaticalEditorConfig {
427
482
  * configured, since that would leave the picker with no way to set a color.
428
483
  */
429
484
  colors?: ColorsConfig;
485
+ /**
486
+ * Storage backend for **saved blocks** — reusable groups of blocks a user
487
+ * saves from the canvas and re-inserts into other templates.
488
+ *
489
+ * The editor owns the UI (a save action on each block, a searchable browser
490
+ * with preview, insert-at-position, rename, delete); you own persistence.
491
+ * Implement the four methods of `SavedBlocksProvider` against your own API,
492
+ * or use the bundled browser-local provider for demos and prototypes:
493
+ *
494
+ * ```ts
495
+ * import { init, createLocalStorageSavedBlocksProvider } from "@templatical/editor";
496
+ *
497
+ * init({ container, savedBlocks: createLocalStorageSavedBlocksProvider() });
498
+ * ```
499
+ *
500
+ * **Omitted by default.** With no provider the feature is entirely off — no
501
+ * save action, no sidebar entry, and none of its UI code is downloaded.
502
+ *
503
+ * Not to be confused with `customBlocks`, which registers developer-defined
504
+ * block *types* with their own templates and field schemas.
505
+ */
506
+ savedBlocks?: SavedBlocksProvider;
430
507
  blockDefaults?: BlockDefaults;
431
508
  templateDefaults?: TemplateDefaults;
432
509
  theme?: ThemeOverrides;
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("info", [
3
3
  ["circle", {
4
4
  cx: "12",
@@ -1,10 +1,10 @@
1
1
  import { x as e } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  //#region src/keys.ts
3
- var t = Symbol("translations"), n = Symbol("editor"), r = Symbol("history"), i = Symbol("blockActions"), a = Symbol("conditionPreview"), o = Symbol("fontsManager"), s = Symbol("themeStyles"), c = Symbol("tplUiTheme"), l = Symbol("blockDefaults"), u = Symbol("blockRegistry"), d = Symbol("customBlockDefinitions"), f = Symbol("paletteBlocks"), p = Symbol("htmlBlockPreview"), m = Symbol("colors"), h = Symbol("customBlockStylesheets"), g = Symbol("mergeTags"), _ = Symbol("mergeTagSyntax"), v = Symbol("onRequestMergeTag"), y = Symbol("mergeTagAutocomplete"), b = Symbol("mergeTagPicker"), x = Symbol("logicTags"), S = Symbol("logicPairs"), C = Symbol("logicPicker"), w = Symbol("onRequestLogic"), T = Symbol("onRequestMedia"), E = Symbol("imageUrlResolver"), D = Symbol("displayConditions"), O = Symbol("allowCustomConditions"), k = Symbol("capabilities"), A = Symbol("keyboardReorder"), j = Symbol("templateLint"), M = Symbol("editorRoot"), N = Symbol("popoverRoot"), P = Symbol("authManager"), F = Symbol("aiConfig"), I = Symbol("comments"), L = Symbol("savedModulesHeadless"), R = Symbol("scoring"), z = Symbol("cloudTranslations");
3
+ var t = Symbol("translations"), n = Symbol("editor"), r = Symbol("history"), i = Symbol("blockActions"), a = Symbol("conditionPreview"), o = Symbol("fontsManager"), s = Symbol("themeStyles"), c = Symbol("tplUiTheme"), l = Symbol("blockDefaults"), u = Symbol("blockRegistry"), d = Symbol("customBlockDefinitions"), f = Symbol("paletteBlocks"), p = Symbol("htmlBlockPreview"), m = Symbol("colors"), h = Symbol("customBlockStylesheets"), g = Symbol("mergeTags"), _ = Symbol("mergeTagSyntax"), v = Symbol("onRequestMergeTag"), y = Symbol("mergeTagAutocomplete"), b = Symbol("mergeTagPicker"), x = Symbol("logicTags"), S = Symbol("logicPairs"), C = Symbol("logicPicker"), w = Symbol("onRequestLogic"), T = Symbol("onRequestMedia"), E = Symbol("imageUrlResolver"), D = Symbol("displayConditions"), O = Symbol("allowCustomConditions"), k = Symbol("capabilities"), A = Symbol("keyboardReorder"), j = Symbol("templateLint"), M = Symbol("editorRoot"), N = Symbol("popoverRoot"), P = Symbol("savedBlocks"), F = Symbol("authManager"), I = Symbol("aiConfig"), L = Symbol("comments"), R = Symbol("scoring"), z = Symbol("cloudTranslations");
4
4
  function B(t, n) {
5
5
  let r = e(t, null);
6
6
  if (r == null) throw Error(`${n} requires a provider for ${t.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
7
7
  return r;
8
8
  }
9
9
  //#endregion
10
- export { T as A, B, x as C, b as D, y as E, R as F, j as I, s as L, f as M, N, _ as O, L as P, t as R, S, g as T, o as _, l as a, E as b, z as c, a as d, d as f, M as g, n as h, i, v as j, w as k, m as l, D as m, O as n, u as o, h as p, P as r, k as s, F as t, I as u, r as v, C as w, A as x, p as y, c as z };
10
+ export { T as A, B, x as C, b as D, y as E, R as F, j as I, s as L, f as M, N, _ as O, P, t as R, S, g as T, o as _, l as a, E as b, z as c, a as d, d as f, M as g, n as h, i, v as j, w as k, m as l, D as m, O as n, u as o, h as p, F as r, k as s, I as t, L as u, r as v, C as w, A as x, p as y, c as z };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("list-checks", [
3
3
  ["path", {
4
4
  d: "M13 5h8",
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("loader-circle", [["path", {
3
3
  d: "M21 12a9 9 0 1 1-6.219-8.56",
4
4
  key: "13zald"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("message-circle", [["path", {
3
3
  d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
4
4
  key: "1sd12s"
@@ -0,0 +1,10 @@
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
+ var t = e("pencil", [["path", {
3
+ d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
4
+ key: "1a8usu"
5
+ }], ["path", {
6
+ d: "m15 5 4 4",
7
+ key: "1mk7zo"
8
+ }]]);
9
+ //#endregion
10
+ export { t };
@@ -86,7 +86,7 @@ var e = {
86
86
  duplicate: "Duplicar bloco",
87
87
  delete: "Excluir bloco",
88
88
  hiddenOnViewport: "Oculto em {viewport}",
89
- saveAsModule: "Salvar como Módulo",
89
+ saveAsBlock: "Salvar como Bloco",
90
90
  conditionToggle: "Alternar condição de exibição",
91
91
  comments: "Comentários ({count})",
92
92
  lifted: "{block} levantado. Posição {position} de {total}.",
@@ -522,8 +522,55 @@ var e = {
522
522
  cropOptional: "(opcional)",
523
523
  storageTooltip: "{used} de {total} usados ({remaining} restantes)"
524
524
  },
525
+ savedBlocks: {
526
+ title: "Blocos Salvos",
527
+ saveAsBlock: "Salvar como Bloco",
528
+ name: "Nome",
529
+ namePlaceholder: "ex.: Cabeçalho, Rodapé, CTA...",
530
+ save: "Salvar Bloco",
531
+ saving: "Salvando...",
532
+ cancel: "Cancelar",
533
+ empty: "Nenhum bloco salvo ainda",
534
+ emptyHint: "Salve blocos dos seus templates para reutilizá-los depois.",
535
+ noResults: "Nenhum bloco salvo corresponde à sua busca",
536
+ search: "Buscar blocos salvos...",
537
+ loading: "Carregando blocos salvos…",
538
+ category: "Categoria",
539
+ categoryPlaceholder: "ex.: Cabeçalhos, Promoções... (opcional)",
540
+ allCategories: "Todas as categorias",
541
+ filterByCategory: "Filtrar por categoria",
542
+ insert: "Inserir",
543
+ rename: "Renomear",
544
+ delete: "Excluir",
545
+ deleteConfirm: "Excluir este bloco salvo?",
546
+ blockCount: "{count} bloco(s)",
547
+ browse: "Explorar Blocos Salvos",
548
+ selectToPreview: "Selecione um bloco salvo para visualizar",
549
+ insertAtBeginning: "No início",
550
+ insertAfterBlock: "Após {block}",
551
+ insertAtEnd: "No final",
552
+ insertPosition: "Posição de inserção",
553
+ close: "Fechar",
554
+ pickToolbar: "Seleção de bloco salvo",
555
+ pickCount: "{count} bloco(s) selecionado(s)",
556
+ pickHint: "Clique nos blocos para adicionar ou remover",
557
+ savingCount: "Salvando {count} bloco(s):",
558
+ reorderHint: "Arraste para reordenar — os blocos são salvos nesta ordem",
559
+ reorderHandle: "Reordenar {block}, posição {position} de {total}",
560
+ reorderAnnouncement: "{block} movido para a posição {position} de {total}",
561
+ expand: "Expandir",
562
+ collapse: "Recolher",
563
+ expandPreview: "Expandir a prévia de {block}",
564
+ collapsePreview: "Recolher a prévia de {block}",
565
+ time: {
566
+ justNow: "Agora mesmo",
567
+ minutesAgo: "há {minutes}min",
568
+ hoursAgo: "há {hours}h",
569
+ daysAgo: "há {days}d"
570
+ }
571
+ },
525
572
  sidebarNav: {
526
- browseModules: "Explorar módulos salvos",
573
+ browseSavedBlocks: "Explorar blocos salvos",
527
574
  expandSidebar: "Expandir barra lateral de blocos",
528
575
  palette: "Paleta de blocos",
529
576
  insertBlock: "Inserir bloco {block}"
@@ -153,30 +153,6 @@ var e = {
153
153
  blockLockedBy: "Em edição por {name}",
154
154
  usersOnline: "{count} usuários online"
155
155
  },
156
- modules: {
157
- title: "Módulos Salvos",
158
- saveAsModule: "Salvar como Módulo",
159
- moduleName: "Nome do Módulo",
160
- moduleNamePlaceholder: "ex.: Cabeçalho, Rodapé, CTA...",
161
- selectBlocks: "Selecionar Blocos",
162
- save: "Salvar Módulo",
163
- saving: "Salvando...",
164
- cancel: "Cancelar",
165
- noModules: "Nenhum módulo salvo ainda",
166
- noModulesHint: "Salve blocos dos seus templates para reutilizá-los depois.",
167
- search: "Buscar módulos...",
168
- insert: "Inserir",
169
- delete: "Excluir",
170
- deleteConfirm: "Excluir este módulo?",
171
- blockCount: "{count} bloco(s)",
172
- browse: "Explorar Módulos",
173
- selectToPreview: "Selecione um módulo para visualizar",
174
- insertAtBeginning: "No início",
175
- insertAfterBlock: "Após {block}",
176
- insertAtEnd: "No final",
177
- insertPosition: "Posição de inserção",
178
- close: "Fechar"
179
- },
180
156
  designReference: {
181
157
  title: "Referência de Design",
182
158
  button: "Design",
@@ -205,5 +181,3 @@ var e = {
205
181
  };
206
182
  //#endregion
207
183
  export { e as default };
208
-
209
- //# sourceMappingURL=pt-BR-B2ZvFlRL.js.map
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("eye", [["path", {
3
3
  d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
4
4
  key: "1nclc0"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("braces", [["path", {
3
3
  d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",
4
4
  key: "ezmyqa"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("send", [["path", {
3
3
  d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
4
4
  key: "1ffxy3"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("shield-check", [["path", {
3
3
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
4
4
  key: "oel41y"
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-_peTZQtY.js";
1
+ import { t as e } from "./createLucideIcon-JWHwTI6N.js";
2
2
  var t = e("sparkles", [
3
3
  ["path", {
4
4
  d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",