@templatical/editor 0.28.1 → 0.29.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.
- package/dist/{AiChatSidebar-mZyf81xG.js → AiChatSidebar-KeS30iRG.js} +7 -7
- package/dist/{AiFeatureMenu-wpL2vbbd.js → AiFeatureMenu-CCdTgCy7.js} +4 -4
- package/dist/{BlockIssueBadge-CavnyR3o.js → BlockIssueBadge-DQ6jBV1T.js} +2 -2
- package/dist/{BlockPreviewCanvas-C4M7JT4x.js → BlockPreviewCanvas-MgXVXOG_.js} +1 -1
- package/dist/{CloudHeaderExtras-fH0cB-Ru.js → CloudHeaderExtras-L_b51XVJ.js} +2 -2
- package/dist/{CloudPanels-Davlnzfd.js → CloudPanels-XUtScYFl.js} +3 -3
- package/dist/{CollaboratorBar-BvQZriPA.js → CollaboratorBar-Cx5klY7H.js} +2 -2
- package/dist/{ColorPicker-OLSFZBBZ.js → ColorPicker-DjfecH79.js} +1 -1
- package/dist/{CommentsPanel-B4_63eIS.js → CommentsPanel-5QxgkKF-.js} +1 -1
- package/dist/{CommentsSidebar-BkBHMXez.js → CommentsSidebar-CScszOsC.js} +10 -10
- package/dist/{CountdownToolbar-D8FsDIfa.js → CountdownToolbar-CiBrLbq0.js} +1 -1
- package/dist/{DesignReferenceSidebar-Dp44REBY.js → DesignReferenceSidebar-B1__DJJI.js} +5 -5
- package/dist/{IssuesPanel-C1v3dmoB.js → IssuesPanel-CkuV9Fjp.js} +5 -5
- package/dist/{MergeTagModeToggle-CZN0Pr1o.js → MergeTagModeToggle-oX-n91fH.js} +2 -2
- package/dist/{MergeTagSuggestion-a7Tk8tBB.js → MergeTagSuggestion-BUozNVtA.js} +55 -39
- package/dist/{ParagraphEditor-CGxsm0Mx.js → ParagraphEditor-BVlMj-YW.js} +19 -19
- package/dist/{RestoreVersionDialog-BLW8wC1J.js → RestoreVersionDialog-CZRLWoqP.js} +3 -3
- package/dist/{RichTextEditorContent-COBy_Q9j.js → RichTextEditorContent-BN6RBSZG.js} +3 -3
- package/dist/{SaveBlockDialog-KWQaS1_q.js → SaveBlockDialog-KNQVLcUG.js} +6 -6
- package/dist/{SavedBlocksBrowserModal-Cg8yP_EN.js → SavedBlocksBrowserModal-D7qatvfw.js} +7 -7
- package/dist/{SavedBlocksPanels-bept0JjA.js → SavedBlocksPanels-bizAFdNK.js} +1 -1
- package/dist/{SavedBlocksPickBar-Z-YRd488.js → SavedBlocksPickBar-BXUSoa38.js} +2 -2
- package/dist/{TemplateScoringPanel-5zp1qOSl.js → TemplateScoringPanel-Dm83xt9R.js} +10 -10
- package/dist/{TestEmailModal-DtJabfkS.js → TestEmailModal-DAdO9Gmo.js} +6 -6
- package/dist/{TestEmailPanel-CtFxt5q7.js → TestEmailPanel-DORs6xk0.js} +1 -1
- package/dist/{TitleEditor-BfWPus_C.js → TitleEditor-B_aWxZER.js} +8 -8
- package/dist/{TplModal-DBlMd7h9.js → TplModal-7623HR5x.js} +1 -1
- package/dist/{VersionHistoryMenu-Cg4UKxKc.js → VersionHistoryMenu-D7lgozpw.js} +4 -4
- package/dist/{VersionHistoryPanels-BKjbNEOM.js → VersionHistoryPanels-Dor0p1Ur.js} +1 -1
- package/dist/{VersionPreviewBanner-B0thyJ8F.js → VersionPreviewBanner-CQt2il1L.js} +1 -1
- package/dist/{blockTypeIcons-CQMkcHo9.js → blockTypeIcons-Di4AsjQx.js} +2 -2
- package/dist/bundle-stats.json +6 -6
- package/dist/cdn/chunks/{AiChatSidebar-BQATQ3Tr.js → AiChatSidebar-Cwr9eqTh.js} +2 -2
- package/dist/cdn/chunks/{AiChatSidebar-BQATQ3Tr.js.map → AiChatSidebar-Cwr9eqTh.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-cNoZ0xl_.js → AiFeatureMenu-CT2QiHmi.js} +3 -3
- package/dist/cdn/chunks/{AiFeatureMenu-cNoZ0xl_.js.map → AiFeatureMenu-CT2QiHmi.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-CH_3vFw4.js → BlockIssueBadge-CXlXn9Sm.js} +2 -2
- package/dist/cdn/chunks/{BlockIssueBadge-CH_3vFw4.js.map → BlockIssueBadge-CXlXn9Sm.js.map} +1 -1
- package/dist/cdn/chunks/{BlockPreviewCanvas-BXVC8-Zj.js → BlockPreviewCanvas-BisO3JEy.js} +2 -2
- package/dist/cdn/chunks/{BlockPreviewCanvas-BXVC8-Zj.js.map → BlockPreviewCanvas-BisO3JEy.js.map} +1 -1
- package/dist/cdn/chunks/{CloudHeaderExtras-CUAM2ADe.js → CloudHeaderExtras-MRCYqip8.js} +3 -3
- package/dist/cdn/chunks/{CloudHeaderExtras-CUAM2ADe.js.map → CloudHeaderExtras-MRCYqip8.js.map} +1 -1
- package/dist/cdn/chunks/{CloudPanels-DMnnSIkX.js → CloudPanels-Bb9qSwKJ.js} +4 -4
- package/dist/cdn/chunks/{CloudPanels-DMnnSIkX.js.map → CloudPanels-Bb9qSwKJ.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-C6sorNRi.js → CollaboratorBar-CG13kDHu.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-C6sorNRi.js.map → CollaboratorBar-CG13kDHu.js.map} +1 -1
- package/dist/cdn/chunks/{ColorPicker-q1V7ggWI.js → ColorPicker-UpN24AsB.js} +2 -2
- package/dist/cdn/chunks/{ColorPicker-q1V7ggWI.js.map → ColorPicker-UpN24AsB.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsPanel-ExfxJZM3.js → CommentsPanel-CIcIXzOB.js} +2 -2
- package/dist/cdn/chunks/{CommentsPanel-ExfxJZM3.js.map → CommentsPanel-CIcIXzOB.js.map} +1 -1
- package/dist/cdn/chunks/{CommentsSidebar-CzALURMJ.js → CommentsSidebar-CB5Z8xNz.js} +2 -2
- package/dist/cdn/chunks/{CommentsSidebar-CzALURMJ.js.map → CommentsSidebar-CB5Z8xNz.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-CkbWSrAH.js → CountdownToolbar-B1L0IK1T.js} +2 -2
- package/dist/cdn/chunks/{CountdownToolbar-CkbWSrAH.js.map → CountdownToolbar-B1L0IK1T.js.map} +1 -1
- package/dist/cdn/chunks/{DesignReferenceSidebar-COh0Rx_A.js → DesignReferenceSidebar-BwsfOFsc.js} +2 -2
- package/dist/cdn/chunks/{DesignReferenceSidebar-COh0Rx_A.js.map → DesignReferenceSidebar-BwsfOFsc.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-C1NG0xRI.js → IssuesPanel-3nTCyKgK.js} +2 -2
- package/dist/cdn/chunks/{IssuesPanel-C1NG0xRI.js.map → IssuesPanel-3nTCyKgK.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagModeToggle-B1yXCp3D.js → MergeTagModeToggle-BUNsRKs6.js} +2 -2
- package/dist/cdn/chunks/{MergeTagModeToggle-B1yXCp3D.js.map → MergeTagModeToggle-BUNsRKs6.js.map} +1 -1
- package/dist/cdn/chunks/{MergeTagSuggestion-DqYR3jPA.js → MergeTagSuggestion-Dt6I8bZi.js} +2 -2
- package/dist/cdn/chunks/{MergeTagSuggestion-DqYR3jPA.js.map → MergeTagSuggestion-Dt6I8bZi.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-DPM1hUKo.js → ParagraphEditor-BtzkHfv2.js} +17 -17
- package/dist/cdn/chunks/{ParagraphEditor-DPM1hUKo.js.map → ParagraphEditor-BtzkHfv2.js.map} +1 -1
- package/dist/cdn/chunks/{RestoreVersionDialog-Dz0bX5ZZ.js → RestoreVersionDialog-DNoo-EBT.js} +3 -3
- package/dist/cdn/chunks/{RestoreVersionDialog-Dz0bX5ZZ.js.map → RestoreVersionDialog-DNoo-EBT.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-nkyIRAyN.js → RichTextEditorContent-BQATmyd9.js} +3 -3
- package/dist/cdn/chunks/{RichTextEditorContent-nkyIRAyN.js.map → RichTextEditorContent-BQATmyd9.js.map} +1 -1
- package/dist/cdn/chunks/{SaveBlockDialog-DYr5yKqy.js → SaveBlockDialog-DB37Vmqt.js} +5 -5
- package/dist/cdn/chunks/{SaveBlockDialog-DYr5yKqy.js.map → SaveBlockDialog-DB37Vmqt.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-BUJjcHkw.js → SavedBlocksBrowserModal-CTU2rGWQ.js} +6 -6
- package/dist/cdn/chunks/{SavedBlocksBrowserModal-BUJjcHkw.js.map → SavedBlocksBrowserModal-CTU2rGWQ.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPanels-DFgvmsbj.js → SavedBlocksPanels-B9h9wI6d.js} +2 -2
- package/dist/cdn/chunks/{SavedBlocksPanels-DFgvmsbj.js.map → SavedBlocksPanels-B9h9wI6d.js.map} +1 -1
- package/dist/cdn/chunks/{SavedBlocksPickBar-Brg8US_n.js → SavedBlocksPickBar-CTY5WZum.js} +3 -3
- package/dist/cdn/chunks/{SavedBlocksPickBar-Brg8US_n.js.map → SavedBlocksPickBar-CTY5WZum.js.map} +1 -1
- package/dist/cdn/chunks/{TemplateScoringPanel-DO86BvdQ.js → TemplateScoringPanel-DZ0cpe_D.js} +7 -7
- package/dist/cdn/chunks/{TemplateScoringPanel-DO86BvdQ.js.map → TemplateScoringPanel-DZ0cpe_D.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailModal-DRCcdGvX.js → TestEmailModal-Dqx1RyDE.js} +6 -6
- package/dist/cdn/chunks/{TestEmailModal-DRCcdGvX.js.map → TestEmailModal-Dqx1RyDE.js.map} +1 -1
- package/dist/cdn/chunks/{TestEmailPanel-BZU5HX2c.js → TestEmailPanel-DrcQhnON.js} +2 -2
- package/dist/cdn/chunks/{TestEmailPanel-BZU5HX2c.js.map → TestEmailPanel-DrcQhnON.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CLkXt5RZ.js → TitleEditor-CSeDvWVn.js} +8 -8
- package/dist/cdn/chunks/{TitleEditor-CLkXt5RZ.js.map → TitleEditor-CSeDvWVn.js.map} +1 -1
- package/dist/cdn/chunks/{TplModal-BhfPoZ_W.js → TplModal-BNBLwBxJ.js} +2 -2
- package/dist/cdn/chunks/{TplModal-BhfPoZ_W.js.map → TplModal-BNBLwBxJ.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryMenu-_DyRYBRP.js → VersionHistoryMenu-cZlb0sMi.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryMenu-_DyRYBRP.js.map → VersionHistoryMenu-cZlb0sMi.js.map} +1 -1
- package/dist/cdn/chunks/{VersionHistoryPanels-DGfOOcKV.js → VersionHistoryPanels-DgrjTK3z.js} +2 -2
- package/dist/cdn/chunks/{VersionHistoryPanels-DGfOOcKV.js.map → VersionHistoryPanels-DgrjTK3z.js.map} +1 -1
- package/dist/cdn/chunks/{VersionPreviewBanner-FbBmgknN.js → VersionPreviewBanner-BNq7PRun.js} +2 -2
- package/dist/cdn/chunks/{VersionPreviewBanner-FbBmgknN.js.map → VersionPreviewBanner-BNq7PRun.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-o4ammRlm.js → blockTypeIcons-BNGmmzB_.js} +2 -2
- package/dist/cdn/chunks/{blockTypeIcons-o4ammRlm.js.map → blockTypeIcons-BNGmmzB_.js.map} +1 -1
- package/dist/cdn/chunks/createCloudRuntime-B_HRgFxU.js +443 -0
- package/dist/cdn/chunks/createCloudRuntime-B_HRgFxU.js.map +1 -0
- package/dist/cdn/chunks/en-BZlZVGwM.js +2 -0
- package/dist/cdn/chunks/{extensions-qSqWdFko.js → extensions-Deqilwp8.js} +3 -3
- package/dist/cdn/chunks/{extensions-qSqWdFko.js.map → extensions-Deqilwp8.js.map} +1 -1
- package/dist/cdn/chunks/{icons-MeYdeH4P.js → icons-C2kP4vOJ.js} +17 -17
- package/dist/cdn/chunks/{icons-MeYdeH4P.js.map → icons-C2kP4vOJ.js.map} +1 -1
- package/dist/cdn/chunks/{src-2QDLdUyx.js → src-CgIXdQlX.js} +3 -3
- package/dist/cdn/chunks/{src-2QDLdUyx.js.map → src-CgIXdQlX.js.map} +1 -1
- package/dist/cdn/chunks/{src-BxHH_6Yr.js → src-CnQgwcsc.js} +2 -2
- package/dist/cdn/chunks/{src-BxHH_6Yr.js.map → src-CnQgwcsc.js.map} +1 -1
- package/dist/cdn/chunks/{tiptap-DgH_wKK_.js → tiptap-DOw5Yb4H.js} +3276 -3229
- package/dist/cdn/chunks/tiptap-DOw5Yb4H.js.map +1 -0
- package/dist/cdn/chunks/{useEditorCore-2ZVOY0Rh.js → useEditorCore-Dq5gdn5i.js} +435 -411
- package/dist/cdn/chunks/useEditorCore-Dq5gdn5i.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +1360 -1353
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-CLfibuQc.js → check-Cv96tY88.js} +1 -1
- package/dist/{chevron-down-DamTR8ta.js → chevron-down-BwEyjSjd.js} +1 -1
- package/dist/{chevron-up-CrV_Ksg-.js → chevron-up-C6Ye-Nzc.js} +1 -1
- package/dist/{circle-alert-BLy-e34e.js → circle-alert-BLt_gkcU.js} +1 -1
- package/dist/{clock-DQI6aaFT.js → clock-D-2BI0Co.js} +1 -1
- package/dist/createCloudRuntime-CWPQ7puE.js +441 -0
- package/dist/{createLucideIcon-Cbl3Ma_H.js → createLucideIcon-DGRWivCX.js} +2 -2
- package/dist/{dist-CgXIMxZc.js → dist-BG2cHdqw.js} +2 -2
- package/dist/{dist-CclsUQ7r.js → dist-BIFUEhwQ.js} +2 -2
- package/dist/{dist-DUn6jY0n.js → dist-BUh4MT4D.js} +2111 -2086
- package/dist/{dist-7Lr_A7Va.js → dist-BpHkLruF.js} +5 -4
- package/dist/{dist-C145btxT.js → dist-BtPhkQ2u.js} +154 -162
- package/dist/{dist-CQQNoHxz.js → dist-Btz6cFCI.js} +4 -4
- package/dist/dist-CCfNhI54.js +5 -0
- package/dist/{dist-D4Jb08yv.js → dist-CHp21juN.js} +2 -2
- package/dist/dist-CMcNDUcw.js +5 -0
- package/dist/{dist-CLc1cpN2.js → dist-DAR13YWM.js} +6 -5
- package/dist/{dist-Dx-KOuOj.js → dist-DQ_4a0hb.js} +2 -2
- package/dist/{dist-Dz7KUOSg.js → dist-q3Puexqv.js} +2 -2
- package/dist/{extensions-PJK0gLCL.js → extensions-BlYe3NFn.js} +3 -3
- package/dist/{image-up-BVOMy_Fs.js → image-up-KRq0lcdU.js} +1 -1
- package/dist/index.d.ts +146 -117
- package/dist/{info-BKMKasyT.js → info-DbmE2JAo.js} +1 -1
- package/dist/{loader-circle-CSGh8n8A.js → loader-circle-dSap9DfQ.js} +1 -1
- package/dist/{message-circle-C6q2Fm_W.js → message-circle-qSKKLbac.js} +1 -1
- package/dist/{pencil-DaTN0HKw.js → pencil-DMP8vL2F.js} +1 -1
- package/dist/{refresh-cw-Cu4wRQwT.js → refresh-cw-WXtBeMva.js} +1 -1
- package/dist/{scan-line-O_o657Gv.js → scan-line-BTrngVuN.js} +1 -1
- package/dist/{send-GS3soauT.js → send-CLa8Cxmh.js} +1 -1
- package/dist/{shield-check-B2TzT3Wp.js → shield-check-42WZrKQu.js} +1 -1
- package/dist/{sparkles-CNENcXZl.js → sparkles-DcOb0umz.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/templatical-editor.js +723 -716
- package/dist/{text-align-start-D0-k8RUf.js → text-align-start-zoZhXJ2T.js} +1 -1
- package/dist/{trash-2-BE-qGIpG.js → trash-2-Capv4cSE.js} +1 -1
- package/dist/{triangle-alert-DNM2_dyh.js → triangle-alert-CnJUGX-6.js} +1 -1
- package/dist/{upload-Cv2Jx-yM.js → upload-Bc0ZTywl.js} +1 -1
- package/dist/{useEditorCore-DM8vzMZQ.js → useEditorCore-CIjO_NM9.js} +1094 -1072
- package/dist/{useScrollToBlock-C2LYXENK.js → useScrollToBlock-C2-9xCr7.js} +1 -1
- package/dist/{x-DUPrT6Aa.js → x-CvPZ3OAd.js} +1 -1
- package/package.json +22 -22
- package/dist/cdn/chunks/createCloudRuntime-C-u7oIGa.js +0 -344
- package/dist/cdn/chunks/createCloudRuntime-C-u7oIGa.js.map +0 -1
- package/dist/cdn/chunks/en-C6FKrw69.js +0 -2
- package/dist/cdn/chunks/tiptap-DgH_wKK_.js.map +0 -1
- package/dist/cdn/chunks/useEditorCore-2ZVOY0Rh.js.map +0 -1
- package/dist/createCloudRuntime-BrgMP9gS.js +0 -342
- package/dist/dist-D-ulkdvF.js +0 -5
- package/dist/dist-Kf9u4ULN.js +0 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as e, G as t, Gn as n, Wn as r, et as i, f as a, fn as o, gn as s, lt as c, nt as l, pn as u, u as d, v as f } from "./dist-
|
|
1
|
+
import { E as e, G as t, Gn as n, Wn as r, et as i, f as a, fn as o, gn as s, lt as c, nt as l, pn as u, u as d, v as f } from "./dist-BUh4MT4D.js";
|
|
2
2
|
//#region ../../node_modules/.pnpm/linkifyjs@4.3.3/node_modules/linkifyjs/dist/linkify.mjs
|
|
3
3
|
var p = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2", m = "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2", h = "numeric", g = "ascii", _ = "alpha", v = "asciinumeric", y = "alphanumeric", b = "domain", x = "emoji", ee = "scheme", S = "slashscheme", C = "whitespace";
|
|
4
4
|
function w(e, t) {
|
|
@@ -510,7 +510,7 @@ function yt(e, t = null, n = null) {
|
|
|
510
510
|
return a;
|
|
511
511
|
}
|
|
512
512
|
//#endregion
|
|
513
|
-
//#region ../../node_modules/.pnpm/@tiptap+extension-link@3.30.
|
|
513
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-link@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3__@tiptap+pm@3.30.3/node_modules/@tiptap/extension-link/dist/index.js
|
|
514
514
|
var bt = "[\0- \xA0 -\u2029 ]", xt = new RegExp(bt), St = RegExp(`${bt}$`), Ct = new RegExp(bt, "g");
|
|
515
515
|
function wt(e) {
|
|
516
516
|
return e.length === 1 ? e[0].isLink : e.length === 3 && e[1].isLink ? ["()", "[]"].includes(e[0].value + e[2].value) : !1;
|
|
@@ -521,8 +521,8 @@ function Tt(i) {
|
|
|
521
521
|
appendTransaction: (n, r, a) => {
|
|
522
522
|
let o = n.some((e) => e.docChanged) && !r.doc.eq(a.doc), s = n.some((e) => e.getMeta("preventAutolink"));
|
|
523
523
|
if (!o || s) return;
|
|
524
|
-
let { tr: u } = a
|
|
525
|
-
if (l(
|
|
524
|
+
let { tr: u } = a;
|
|
525
|
+
if (l(e(r.doc, [...n])).forEach(({ newRange: e }) => {
|
|
526
526
|
let n = t(a.doc, e, (e) => e.isTextblock), r, o;
|
|
527
527
|
if (n.length > 1) r = n[0], o = a.doc.textBetween(r.pos, r.pos + r.node.nodeSize, void 0, " ");
|
|
528
528
|
else if (n.length) {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Color as e } from "./dist-DAR13YWM.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-color@3.30.3_@tiptap+extension-text-style@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3__/node_modules/@tiptap/extension-color/dist/index.js
|
|
3
|
+
var t = e;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as Color, t as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as e, gn as t } from "./dist-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@tiptap+extension-subscript@3.30.
|
|
1
|
+
import { f as e, gn as t } from "./dist-BUh4MT4D.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-subscript@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3__@tiptap+pm@3.30.3/node_modules/@tiptap/extension-subscript/dist/index.js
|
|
3
3
|
var n = e.create({
|
|
4
4
|
name: "subscript",
|
|
5
5
|
addOptions() {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FontFamily as e } from "./dist-DAR13YWM.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-font-family@3.30.3_@tiptap+extension-text-style@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3__/node_modules/@tiptap/extension-font-family/dist/index.js
|
|
3
|
+
var t = e;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as FontFamily, t as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { bt as e, f as t, gn as n, s as r } from "./dist-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@tiptap+extension-text-style@3.30.
|
|
1
|
+
import { bt as e, f as t, gn as n, s as r } from "./dist-BUh4MT4D.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-text-style@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3_/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) => {
|
|
@@ -9,8 +9,9 @@ var i = 20, a = (e, t = 0) => {
|
|
|
9
9
|
if (!e.children.length) return;
|
|
10
10
|
let t = a(e);
|
|
11
11
|
t && t.forEach((e) => {
|
|
12
|
-
|
|
13
|
-
e.
|
|
12
|
+
var t;
|
|
13
|
+
let n = e.getAttribute("style"), r = (t = e.parentElement) == null || (t = t.closest("span")) == null ? void 0 : t.getAttribute("style");
|
|
14
|
+
e.setAttribute("style", `${r};${n}`);
|
|
14
15
|
});
|
|
15
16
|
}, s = t.create({
|
|
16
17
|
name: "textStyle",
|
|
@@ -41,7 +42,7 @@ var i = 20, a = (e, t = 0) => {
|
|
|
41
42
|
removeEmptyTextStyle: () => ({ tr: e }) => {
|
|
42
43
|
let { selection: t } = e;
|
|
43
44
|
return e.doc.nodesBetween(t.from, t.to, (t, n) => {
|
|
44
|
-
if (t.
|
|
45
|
+
if (!t.isInline) return !0;
|
|
45
46
|
t.marks.filter((e) => e.type === this.type).some((e) => Object.values(e.attrs).some((e) => !!e)) || e.removeMark(n, n + t.nodeSize, this.type);
|
|
46
47
|
}), !0;
|
|
47
48
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { f as e, gn as t } from "./dist-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@tiptap+extension-underline@3.30.
|
|
1
|
+
import { f as e, gn as t } from "./dist-BUh4MT4D.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-underline@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3_/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 { bt as e, f as t, fn as n, gn as r, pn as i } from "./dist-
|
|
2
|
-
//#region ../../node_modules/.pnpm/@tiptap+extension-highlight@3.30.
|
|
1
|
+
import { bt as e, f as t, fn as n, gn as r, pn as i } from "./dist-BUh4MT4D.js";
|
|
2
|
+
//#region ../../node_modules/.pnpm/@tiptap+extension-highlight@3.30.3_@tiptap+core@3.30.3_@tiptap+pm@3.30.3_/node_modules/@tiptap/extension-highlight/dist/index.js
|
|
3
3
|
var a = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/, o = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g, s = t.create({
|
|
4
4
|
name: "highlight",
|
|
5
5
|
addOptions() {
|
|
@@ -3,9 +3,9 @@ import { a as h, c as g, s as _ } from "./runtime-dom.esm-bundler-CHEsXNQz.js";
|
|
|
3
3
|
import { D as v, E as y, N as b, a as x } from "./dist-B1kLn1rs.js";
|
|
4
4
|
import { t as S } from "./useI18n-DT_DKupw.js";
|
|
5
5
|
import { t as C } from "./useMergeTag-CcHQCcPN.js";
|
|
6
|
-
import { gn as w, m as T, s as E, u as D, v as O } from "./dist-
|
|
7
|
-
import { i as k, r as A, t as j } from "./MergeTagSuggestion-
|
|
8
|
-
import { n as M, t as N } from "./dist-
|
|
6
|
+
import { gn as w, m as T, s as E, u as D, v as O } from "./dist-BUh4MT4D.js";
|
|
7
|
+
import { i as k, r as A, t as j } from "./MergeTagSuggestion-BUozNVtA.js";
|
|
8
|
+
import { n as M, t as N } from "./dist-BpHkLruF.js";
|
|
9
9
|
//#region src/extensions/FontSize.ts
|
|
10
10
|
var P = E.create({
|
|
11
11
|
name: "fontSize",
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@ import type { AiConfig } from '@templatical/types';
|
|
|
2
2
|
import { BlockDefaults } from '@templatical/types';
|
|
3
3
|
import type { CollaborationConfig } from '@templatical/types';
|
|
4
4
|
import { ColorsConfig } from '@templatical/types';
|
|
5
|
-
import
|
|
5
|
+
import { CommentEventMeta } from '@templatical/types';
|
|
6
|
+
import { CommentsOptions } from '@templatical/types';
|
|
6
7
|
import type { CommentsProvider } from '@templatical/types';
|
|
7
8
|
import { ComputedRef } from 'vue';
|
|
8
9
|
import { createLocalStorageSavedBlocksProvider } from '@templatical/core';
|
|
@@ -28,40 +29,32 @@ import { RenderProvider } from '@templatical/types';
|
|
|
28
29
|
import type { ResolvePreview } from '@templatical/types';
|
|
29
30
|
import { SavedBlock } from '@templatical/types';
|
|
30
31
|
import { SavedBlocksListParams } from '@templatical/types';
|
|
32
|
+
import { SavedBlocksOptions } from '@templatical/types';
|
|
31
33
|
import { SavedBlocksProvider } from '@templatical/types';
|
|
32
34
|
import { Template } from '@templatical/types';
|
|
33
35
|
import { TemplateContent } from '@templatical/types';
|
|
34
36
|
import { TemplateDefaults } from '@templatical/types';
|
|
35
37
|
import { TemplatePatch } from '@templatical/types';
|
|
38
|
+
import { TemplateSaveTrigger } from '@templatical/types';
|
|
39
|
+
import { TemplatesOptions } from '@templatical/types';
|
|
36
40
|
import { TemplatesProvider } from '@templatical/types';
|
|
41
|
+
import { TestEmailOptions } from '@templatical/types';
|
|
37
42
|
import { TestEmailPayload } from '@templatical/types';
|
|
38
43
|
import { TestEmailProvider } from '@templatical/types';
|
|
39
44
|
import { ThemeOverrides } from '@templatical/types';
|
|
40
45
|
import { UiTheme } from '@templatical/types';
|
|
46
|
+
import { VersionHistoryOptions } from '@templatical/types';
|
|
41
47
|
import type { VersionHistoryProvider } from '@templatical/types';
|
|
42
48
|
import { ViewportSize } from '@templatical/types';
|
|
43
49
|
|
|
44
|
-
/**
|
|
45
|
-
* How often the editor's single debounced tick fires, and whether it saves.
|
|
46
|
-
*
|
|
47
|
-
* `true` / `false` turn autosave on and off at the default cadence; the object
|
|
48
|
-
* form turns it on and sets the cadence in one key. One key rather than a
|
|
49
|
-
* `boolean` plus a separate `autoSaveDebounce`, so there is no combination —
|
|
50
|
-
* `autoSave: false, autoSaveDebounce: 500` — that reads as configured but does
|
|
51
|
-
* nothing.
|
|
52
|
-
*
|
|
53
|
-
* The debounce governs `onChange` too: both ride one `useAutoSave` instance so
|
|
54
|
-
* the notification and the save cannot drift apart, and so both inherit the
|
|
55
|
-
* pause-during-undo/redo behaviour `useEditorCore` wires around it.
|
|
56
|
-
*/
|
|
57
|
-
declare type AutoSaveConfig = boolean | {
|
|
58
|
-
debounce?: number;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
50
|
export { BlockDefaults }
|
|
62
51
|
|
|
63
52
|
export { ColorsConfig }
|
|
64
53
|
|
|
54
|
+
export { CommentEventMeta }
|
|
55
|
+
|
|
56
|
+
export { CommentsOptions }
|
|
57
|
+
|
|
65
58
|
export { createLocalStorageSavedBlocksProvider }
|
|
66
59
|
|
|
67
60
|
export { CustomBlockDefinition }
|
|
@@ -159,11 +152,6 @@ export declare interface EditorCapabilities {
|
|
|
159
152
|
canUpdate: ComputedRef<boolean>;
|
|
160
153
|
canDelete: ComputedRef<boolean>;
|
|
161
154
|
};
|
|
162
|
-
/**
|
|
163
|
-
* Present only when a `TestEmailProvider` is configured — in OSS via
|
|
164
|
-
* `init({ testEmail })`, in Cloud whenever cloud mode is active (or when a
|
|
165
|
-
* consumer supplied their own sender to `initCloud()`).
|
|
166
|
-
*/
|
|
167
155
|
/**
|
|
168
156
|
* Present only when a `TemplatesProvider` is configured — in OSS via
|
|
169
157
|
* `init({ templates })`.
|
|
@@ -216,8 +204,11 @@ export declare interface EditorCapabilities {
|
|
|
216
204
|
isAvailable: ComputedRef<boolean>;
|
|
217
205
|
};
|
|
218
206
|
/**
|
|
219
|
-
* Present
|
|
220
|
-
* `init({ versionHistory })
|
|
207
|
+
* Present when a `VersionHistoryProvider` is configured via
|
|
208
|
+
* `init({ versionHistory })`. Always present in Cloud — Cloud injects its
|
|
209
|
+
* own adapter unconditionally, so `initCloud({ versionHistory })` (events
|
|
210
|
+
* only, no storage) attaches handlers to it rather than gating whether
|
|
211
|
+
* this capability exists.
|
|
221
212
|
*/
|
|
222
213
|
versionHistory?: {
|
|
223
214
|
/** Re-read the list from the provider. A no-op before a template exists. */
|
|
@@ -239,6 +230,11 @@ export declare interface EditorCapabilities {
|
|
|
239
230
|
canCreate: ComputedRef<boolean>;
|
|
240
231
|
canRestore: ComputedRef<boolean>;
|
|
241
232
|
};
|
|
233
|
+
/**
|
|
234
|
+
* Present only when a `TestEmailProvider` is configured — in OSS via
|
|
235
|
+
* `init({ testEmail })`, in Cloud whenever cloud mode is active (or when a
|
|
236
|
+
* consumer supplied their own sender to `initCloud()`).
|
|
237
|
+
*/
|
|
242
238
|
testEmail?: {
|
|
243
239
|
/** Open the send dialog. A no-op while {@link isAvailable} is false. */
|
|
244
240
|
open(): void;
|
|
@@ -306,12 +302,30 @@ export declare function init(config: TemplaticalEditorConfig): Promise<Templatic
|
|
|
306
302
|
* session that dies *later* — an auth refresh that cannot renew the token — does
|
|
307
303
|
* still surface as an overlay, because by then there is an editor to cover.
|
|
308
304
|
*
|
|
309
|
-
* `templates`, `
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
*
|
|
305
|
+
* `templates`, `comments` and `versionHistory` are all keyed to a template
|
|
306
|
+
* id Cloud issued, which also anchors collaboration, AI rewrite, scoring and
|
|
307
|
+
* the server-side export — a store Cloud never issued ids for would degrade
|
|
308
|
+
* all of them silently. Cloud therefore keeps each key's storage, but each
|
|
309
|
+
* key is still accepted, for its configuration and events:
|
|
310
|
+
* `templates.load`/`create`/`save`,
|
|
311
|
+
* `comments.list`/`create`/`update`/`delete`/`setResolved`, and
|
|
312
|
+
* `versionHistory.list`/`get`/`create`/`restore` are ignored with a warning
|
|
313
|
+
* naming them, while `templates`' `autoSave`, `unsavedChangesGuard`,
|
|
314
|
+
* `nameField`, `onSaved`, `onCreated`, `onLoaded`, `comments`' `onCreated`,
|
|
315
|
+
* `onUpdated`, `onDeleted`, `onResolved`, `onUnresolved`, and
|
|
316
|
+
* `versionHistory`'s `onCreated`, `onRestored` are all honoured.
|
|
317
|
+
*
|
|
318
|
+
* `render` is not a key here at all, unlike `init()` — Cloud renders
|
|
319
|
+
* server-side for test email, sends and exports, so a supplied renderer
|
|
320
|
+
* would change only what you preview and export, never what Cloud delivers.
|
|
321
|
+
* `resolvePreview` is the same key with the same type on both entry points,
|
|
322
|
+
* so upgrading an OSS integration is a deletion. `savedBlocks` and
|
|
323
|
+
* `testEmail` are the same key on both entry points too, but Cloud widens
|
|
324
|
+
* each type to also accept an events-only shape — `boolean |
|
|
325
|
+
* SavedBlocksOptions | SavedBlocksProvider` and `Pick<TestEmailOptions,
|
|
326
|
+
* "onSent" | "defaultRecipient"> | TestEmailProvider` — so upgrading is
|
|
327
|
+
* still a deletion: drop the key to adopt Cloud's store or sender, or leave
|
|
328
|
+
* it exactly as it is to keep your own.
|
|
315
329
|
*
|
|
316
330
|
* `user` is not a key either: Cloud signs comment writes against the auth token's
|
|
317
331
|
* `user` claim, so it fills `init({ user })` from there rather than letting a
|
|
@@ -355,6 +369,8 @@ export { SavedBlock }
|
|
|
355
369
|
|
|
356
370
|
export { SavedBlocksListParams }
|
|
357
371
|
|
|
372
|
+
export { SavedBlocksOptions }
|
|
373
|
+
|
|
358
374
|
export { SavedBlocksProvider }
|
|
359
375
|
|
|
360
376
|
export { Template }
|
|
@@ -365,6 +381,10 @@ export { TemplateDefaults }
|
|
|
365
381
|
|
|
366
382
|
export { TemplatePatch }
|
|
367
383
|
|
|
384
|
+
export { TemplateSaveTrigger }
|
|
385
|
+
|
|
386
|
+
export { TemplatesOptions }
|
|
387
|
+
|
|
368
388
|
export { TemplatesProvider }
|
|
369
389
|
|
|
370
390
|
/**
|
|
@@ -376,11 +396,12 @@ export { TemplatesProvider }
|
|
|
376
396
|
* false. It also means moving between them is a config change and never a
|
|
377
397
|
* rewrite of the calling code.
|
|
378
398
|
*
|
|
379
|
-
* Three cloud-only members went with the convergence: `
|
|
380
|
-
* (`
|
|
381
|
-
*
|
|
382
|
-
*
|
|
383
|
-
*
|
|
399
|
+
* Three cloud-only members went with the convergence: `create()` takes
|
|
400
|
+
* `init()`'s `{ name?, content? }` input object now, rather than a bare
|
|
401
|
+
* `TemplateContent`; `setThemeOverrides` is gone (`config.theme` is applied
|
|
402
|
+
* at init on both entry points, and the entitlement that gated changing it
|
|
403
|
+
* later is gone); and `sendTestEmail` is gone (the shared dialog is the
|
|
404
|
+
* supported path).
|
|
384
405
|
*/
|
|
385
406
|
export declare type TemplaticalCloudEditor = TemplaticalEditor;
|
|
386
407
|
|
|
@@ -442,21 +463,7 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
442
463
|
* @default true
|
|
443
464
|
*/
|
|
444
465
|
smallScreenNotice?: boolean;
|
|
445
|
-
/**
|
|
446
|
-
* Show the template's name in the header, inline-editable. Defaults to `true`.
|
|
447
|
-
*
|
|
448
|
-
* Set to `false` when your store has no name column, or when your own chrome
|
|
449
|
-
* owns the name. Hides the field only — `create({ name })`, `setName()` and the
|
|
450
|
-
* `name` in each save patch keep working, so a headless caller or your own UI
|
|
451
|
-
* can still manage names.
|
|
452
|
-
*
|
|
453
|
-
* Without a `templates` provider the header renders no name field either way.
|
|
454
|
-
*
|
|
455
|
-
* @default true
|
|
456
|
-
*/
|
|
457
|
-
templateNameField?: boolean;
|
|
458
466
|
ai?: AiConfig | false;
|
|
459
|
-
commenting?: boolean;
|
|
460
467
|
collaboration?: CollaborationConfig;
|
|
461
468
|
mcp?: McpConfig;
|
|
462
469
|
blockDefaults?: BlockDefaults;
|
|
@@ -465,8 +472,10 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
465
472
|
* Reusable saved blocks.
|
|
466
473
|
*
|
|
467
474
|
* - **omitted / `true`** — backed by Templatical Cloud, gated on the
|
|
468
|
-
* `saved_modules` plan feature
|
|
469
|
-
* - **`false`** — off entirely; no UI renders
|
|
475
|
+
* `saved_modules` plan feature;
|
|
476
|
+
* - **`false`** — off entirely; no UI renders;
|
|
477
|
+
* - **a {@link SavedBlocksOptions}** — still backed by Cloud's store, plus
|
|
478
|
+
* your `onCreated`, `onUpdated` and `onDeleted` handlers;
|
|
470
479
|
* - **a {@link SavedBlocksProvider}** — backed by *your* store instead of
|
|
471
480
|
* Cloud's, and **not plan-gated**, because the plan feature licenses Cloud's
|
|
472
481
|
* storage rather than the editor's UI.
|
|
@@ -475,14 +484,59 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
475
484
|
* integration to Cloud means deleting this key (to adopt Cloud's store) or
|
|
476
485
|
* leaving it exactly as-is (to keep your own) — never rewriting it.
|
|
477
486
|
*/
|
|
478
|
-
savedBlocks?: boolean | SavedBlocksProvider;
|
|
487
|
+
savedBlocks?: boolean | SavedBlocksOptions | SavedBlocksProvider;
|
|
488
|
+
/**
|
|
489
|
+
* Configuration and events for the template lifecycle. **The same key and
|
|
490
|
+
* the same type as `init()`'s `templates`** — minus the storage methods,
|
|
491
|
+
* which Cloud owns: the id it issues is the join key for collaboration,
|
|
492
|
+
* version history, comments, AI rewrite, scoring and the server-side export.
|
|
493
|
+
*
|
|
494
|
+
* Passing a full provider is not an error: `load` / `create` / `save` are
|
|
495
|
+
* ignored with a warning naming them, while `autoSave`, `unsavedChangesGuard`,
|
|
496
|
+
* `nameField`, `onSaved`, `onCreated` and `onLoaded` are all honoured. So an
|
|
497
|
+
* OSS integration moving to Cloud leaves this key exactly as it is.
|
|
498
|
+
*/
|
|
499
|
+
templates?: TemplatesOptions;
|
|
500
|
+
/**
|
|
501
|
+
* The review conversation. **The same key `init()` takes**, minus the storage
|
|
502
|
+
* methods Cloud owns — a comment is keyed to a template id Cloud issued and
|
|
503
|
+
* its author is signed by the auth token.
|
|
504
|
+
*
|
|
505
|
+
* - **omitted** — Cloud's store, subject to the `commenting` plan feature;
|
|
506
|
+
* - **`false`** — off, whatever the plan grants;
|
|
507
|
+
* - **an options object** — Cloud's store, plus your `onCreated`,
|
|
508
|
+
* `onUpdated`, `onDeleted`, `onResolved` and `onUnresolved` handlers.
|
|
509
|
+
*
|
|
510
|
+
* Passing a full provider is not an error: its methods are ignored with a
|
|
511
|
+
* warning naming them, and its events are honoured.
|
|
512
|
+
*/
|
|
513
|
+
comments?: false | CommentsOptions;
|
|
479
514
|
/**
|
|
480
|
-
*
|
|
481
|
-
* `init()
|
|
482
|
-
*
|
|
483
|
-
*
|
|
515
|
+
* Outward notifications for a template's version history. **The same key
|
|
516
|
+
* `init()` takes**, minus the storage methods Cloud owns — a version is
|
|
517
|
+
* keyed to a template id Cloud issued, so Cloud owns version-history
|
|
518
|
+
* storage.
|
|
519
|
+
*
|
|
520
|
+
* - **omitted** — Cloud's store, with no extra notifications;
|
|
521
|
+
* - **a {@link VersionHistoryOptions}** — Cloud's store, plus your
|
|
522
|
+
* `onCreated` and `onRestored` handlers.
|
|
523
|
+
*
|
|
524
|
+
* Passing a full provider is not an error: its methods are ignored with a
|
|
525
|
+
* warning naming them, and its events are honoured.
|
|
484
526
|
*/
|
|
485
|
-
|
|
527
|
+
versionHistory?: VersionHistoryOptions;
|
|
528
|
+
/**
|
|
529
|
+
* How long the editor waits after the last edit before it fires `onChange`
|
|
530
|
+
* and, when `templates.autoSave` is on, saves.
|
|
531
|
+
*
|
|
532
|
+
* One timer drives both, so they cannot drift apart. Cloud always injects
|
|
533
|
+
* its own `templates` provider, so pace `onChange` alone with
|
|
534
|
+
* `templates: { autoSave: false }` rather than by omitting a provider —
|
|
535
|
+
* the no-provider case `init()` uses for this doesn't exist on this tier.
|
|
536
|
+
*
|
|
537
|
+
* @default 2000
|
|
538
|
+
*/
|
|
539
|
+
changeDebounce?: number;
|
|
486
540
|
mergeTags?: MergeTagsConfig;
|
|
487
541
|
logicTags?: LogicTagsConfig;
|
|
488
542
|
displayConditions?: DisplayConditionsConfig;
|
|
@@ -524,19 +578,7 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
524
578
|
* the same type as `init()`'s** — one editor, one set of keys.
|
|
525
579
|
*/
|
|
526
580
|
onDirtyChange?: (isDirty: boolean) => void;
|
|
527
|
-
/**
|
|
528
|
-
* Warn before closing the tab with unsaved changes. On by default, since a
|
|
529
|
-
* Cloud session always has a store to save to. Set to `false` to own the
|
|
530
|
-
* prompt yourself; it can never cover client-side route changes either way,
|
|
531
|
-
* which is what {@link onDirtyChange} is for.
|
|
532
|
-
*
|
|
533
|
-
* @default true
|
|
534
|
-
*/
|
|
535
|
-
unsavedChangesGuard?: boolean;
|
|
536
|
-
onCreate?: (template: Template) => void;
|
|
537
|
-
onLoad?: (template: Template) => void;
|
|
538
581
|
onError?: (error: Error) => void;
|
|
539
|
-
onComment?: (event: CommentEvent) => void;
|
|
540
582
|
onUnmount?: () => void;
|
|
541
583
|
onRequestMedia?: (context: MediaRequestContext) => Promise<MediaItem | null>;
|
|
542
584
|
/**
|
|
@@ -551,16 +593,27 @@ export declare interface TemplaticalCloudEditorConfig {
|
|
|
551
593
|
* Sending backend for test emails.
|
|
552
594
|
*
|
|
553
595
|
* - **omitted** — sent by Templatical Cloud, gated on the `test_email` plan
|
|
554
|
-
* feature and its signed allowed-recipient list
|
|
596
|
+
* feature and its signed allowed-recipient list;
|
|
597
|
+
* - **`{ onSent?, defaultRecipient? }`** — still sent by Cloud, plus your
|
|
598
|
+
* `onSent` handler and/or a pre-filled recipient (ignored unless it's
|
|
599
|
+
* already on Cloud's own allowlist — this can't smuggle in an address
|
|
600
|
+
* outside it). `includeMjml` and `allowedRecipients` are not honoured on
|
|
601
|
+
* this form — Cloud renders server-side rather than from a client MJML
|
|
602
|
+
* pass, and the allowlist is the signed one from your project's JWT, not
|
|
603
|
+
* a client-supplied one. TypeScript does not flag passing them here
|
|
604
|
+
* (both are valid members of the sibling {@link TestEmailProvider} arm,
|
|
605
|
+
* so the union accepts them structurally); passing either logs a
|
|
606
|
+
* runtime warning naming it instead;
|
|
555
607
|
* - **a {@link TestEmailProvider}** — sent by *you* instead, which is what to
|
|
556
608
|
* reach for when mail must leave your own infrastructure for compliance or
|
|
557
|
-
* data-residency reasons.
|
|
609
|
+
* data-residency reasons. `includeMjml`, `allowedRecipients`,
|
|
610
|
+
* `defaultRecipient` and `onSent` are all yours to set here.
|
|
558
611
|
*
|
|
559
612
|
* The same type `init()` takes, so moving an OSS integration to Cloud means
|
|
560
613
|
* deleting this key (to adopt Cloud's sender) or leaving it exactly as-is (to
|
|
561
614
|
* keep your own) — never rewriting it.
|
|
562
615
|
*/
|
|
563
|
-
testEmail?: TestEmailProvider;
|
|
616
|
+
testEmail?: Pick<TestEmailOptions, "onSent" | "defaultRecipient"> | TestEmailProvider;
|
|
564
617
|
/**
|
|
565
618
|
* Resolves the template for preview surfaces — typically evaluating logic
|
|
566
619
|
* tags (`{% if %}` … `{% endif %}`) against real data on your backend.
|
|
@@ -733,6 +786,11 @@ export declare interface TemplaticalEditorConfig {
|
|
|
733
786
|
* await editor.load("tpl_123");
|
|
734
787
|
* ```
|
|
735
788
|
*
|
|
789
|
+
* Autosave (`templates.autoSave`), the unsaved-changes guard
|
|
790
|
+
* (`templates.unsavedChangesGuard`) and the header's inline name field
|
|
791
|
+
* (`templates.nameField`) are configured on this same object — grouped here
|
|
792
|
+
* because none of the three mean anything without somewhere to save to.
|
|
793
|
+
*
|
|
736
794
|
* **Omitted by default.** With no provider the feature is entirely off — no
|
|
737
795
|
* name field, no save button, no status indicator — and `create()` / `load()` /
|
|
738
796
|
* `save()` reject with an explanatory error. Persist the content yourself from
|
|
@@ -815,34 +873,15 @@ export declare interface TemplaticalEditorConfig {
|
|
|
815
873
|
*/
|
|
816
874
|
versionHistory?: VersionHistoryProvider;
|
|
817
875
|
/**
|
|
818
|
-
*
|
|
819
|
-
*
|
|
820
|
-
* and the option is ignored with a warning.
|
|
876
|
+
* How long the editor waits after the last edit before it fires `onChange`
|
|
877
|
+
* and, when `templates.autoSave` is on, saves.
|
|
821
878
|
*
|
|
822
|
-
*
|
|
823
|
-
*
|
|
824
|
-
* apart.
|
|
879
|
+
* One timer drives both, so they cannot drift apart. Set it with no templates
|
|
880
|
+
* provider to pace `onChange` alone.
|
|
825
881
|
*
|
|
826
|
-
*
|
|
827
|
-
* autoSave: true // default cadence
|
|
828
|
-
* autoSave: { debounce: 2000 } // on, slower
|
|
829
|
-
* ```
|
|
830
|
-
*
|
|
831
|
-
* @default false
|
|
882
|
+
* @default 2000
|
|
832
883
|
*/
|
|
833
|
-
|
|
834
|
-
/**
|
|
835
|
-
* Warn the user before they close or reload the tab with unsaved changes.
|
|
836
|
-
* On by default whenever a `templates` provider is configured — without one
|
|
837
|
-
* the editor cannot know whether you already persisted the change, so it never
|
|
838
|
-
* warns.
|
|
839
|
-
*
|
|
840
|
-
* Set to `false` to own that prompt yourself. Note it can never cover
|
|
841
|
-
* client-side route changes; use `onDirtyChange` for those.
|
|
842
|
-
*
|
|
843
|
-
* @default true
|
|
844
|
-
*/
|
|
845
|
-
unsavedChangesGuard?: boolean;
|
|
884
|
+
changeDebounce?: number;
|
|
846
885
|
onRequestMedia?: OnRequestMedia;
|
|
847
886
|
/**
|
|
848
887
|
* Resolves the template for preview surfaces — typically evaluating logic
|
|
@@ -1053,6 +1092,11 @@ export declare interface TemplaticalEditorConfig {
|
|
|
1053
1092
|
* **Omitted by default**, and the panel also stays hidden until a template is
|
|
1054
1093
|
* loaded, since a comment belongs to a template id.
|
|
1055
1094
|
*
|
|
1095
|
+
* The same object also carries outward events — `onCreated`, `onUpdated`,
|
|
1096
|
+
* `onDeleted`, `onResolved`, `onUnresolved` — each called with the comment and
|
|
1097
|
+
* whether the change was made locally or arrived through `subscribe`. That's
|
|
1098
|
+
* the hook for a "3 new comments" badge outside the editor.
|
|
1099
|
+
*
|
|
1056
1100
|
* Realtime is an optional `subscribe` on the provider, not a prerequisite:
|
|
1057
1101
|
* without it comments work identically, you simply see a colleague's on the next
|
|
1058
1102
|
* read rather than immediately.
|
|
@@ -1073,12 +1117,6 @@ export declare interface TemplaticalEditorConfig {
|
|
|
1073
1117
|
* already trusts.
|
|
1074
1118
|
*/
|
|
1075
1119
|
user?: EditorUser;
|
|
1076
|
-
/**
|
|
1077
|
-
* Called for every comment change the editor applied — including ones that
|
|
1078
|
-
* arrived through a provider's `subscribe`, so this is the hook for a "3 new
|
|
1079
|
-
* comments" badge outside the editor.
|
|
1080
|
-
*/
|
|
1081
|
-
onComment?: (event: CommentEvent) => void;
|
|
1082
1120
|
blockDefaults?: BlockDefaults;
|
|
1083
1121
|
templateDefaults?: TemplateDefaults;
|
|
1084
1122
|
theme?: ThemeOverrides;
|
|
@@ -1105,19 +1143,6 @@ export declare interface TemplaticalEditorConfig {
|
|
|
1105
1143
|
* @default true
|
|
1106
1144
|
*/
|
|
1107
1145
|
smallScreenNotice?: boolean;
|
|
1108
|
-
/**
|
|
1109
|
-
* Show the template's name in the header, inline-editable. Defaults to `true`.
|
|
1110
|
-
*
|
|
1111
|
-
* Set to `false` when your store has no name column, or when your own chrome
|
|
1112
|
-
* owns the name. Hides the field only — `create({ name })`, `setName()` and the
|
|
1113
|
-
* `name` in each save patch keep working, so a headless caller or your own UI
|
|
1114
|
-
* can still manage names.
|
|
1115
|
-
*
|
|
1116
|
-
* Without a `templates` provider the header renders no name field either way.
|
|
1117
|
-
*
|
|
1118
|
-
* @default true
|
|
1119
|
-
*/
|
|
1120
|
-
templateNameField?: boolean;
|
|
1121
1146
|
/**
|
|
1122
1147
|
* Template linter (`@templatical/quality`) configuration. Runs every
|
|
1123
1148
|
* linter exported by the package (accessibility + structure).
|
|
@@ -1130,6 +1155,8 @@ export declare interface TemplaticalEditorConfig {
|
|
|
1130
1155
|
lint?: LintOptions;
|
|
1131
1156
|
}
|
|
1132
1157
|
|
|
1158
|
+
export { TestEmailOptions }
|
|
1159
|
+
|
|
1133
1160
|
export { TestEmailPayload }
|
|
1134
1161
|
|
|
1135
1162
|
export { TestEmailProvider }
|
|
@@ -1159,6 +1186,8 @@ export declare interface UseFontsReturn {
|
|
|
1159
1186
|
getDefaultFont: () => string;
|
|
1160
1187
|
}
|
|
1161
1188
|
|
|
1189
|
+
export { VersionHistoryOptions }
|
|
1190
|
+
|
|
1162
1191
|
export { ViewportSize }
|
|
1163
1192
|
|
|
1164
1193
|
export { }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./createLucideIcon-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.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"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./createLucideIcon-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.js";
|
|
2
2
|
var t = e("pencil", [["path", {
|
|
3
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
4
|
key: "1a8usu"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./createLucideIcon-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.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-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.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-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.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-
|
|
1
|
+
import { t as e } from "./createLucideIcon-DGRWivCX.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",
|