@templatical/editor 0.38.0 → 0.39.1

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 (289) hide show
  1. package/README.md +2 -4
  2. package/dist/{AiChatSidebar-tu4eLcf_.js → AiChatSidebar-pOxCZWz9.js} +67 -67
  3. package/dist/{AiFeatureMenu-BF0i0vA4.js → AiFeatureMenu-Bljk6Qjv.js} +7 -7
  4. package/dist/{BlockIssueBadge-DT-FqKeC.js → BlockIssueBadge-D5oGxOQP.js} +5 -5
  5. package/dist/{BlockPreviewCanvas-DDCmMram.js → BlockPreviewCanvas-DXGjUECG.js} +27 -27
  6. package/dist/{CloudHeaderExtras-NPhudovT.js → CloudHeaderExtras-DaocwNmy.js} +5 -5
  7. package/dist/{CloudPanels-Iwnky0iA.js → CloudPanels-CyZAnSJY.js} +7 -7
  8. package/dist/{CollaboratorBar-DAITu0hz.js → CollaboratorBar-C7Zca3g1.js} +4 -4
  9. package/dist/{CommentsPanel-CDvgmWP1.js → CommentsPanel-CNOb7YCm.js} +2 -2
  10. package/dist/{CommentsSidebar-X_xqM3dR.js → CommentsSidebar-VmwjU9va.js} +14 -14
  11. package/dist/{CountdownBlock-ZFJIdbP6.js → CountdownBlock-DSvbf3qU.js} +3 -3
  12. package/dist/{CountdownToolbar-DBFoG3a6.js → CountdownToolbar-C2kfS6Oy.js} +31 -30
  13. package/dist/{DesignReferenceSidebar--QtXjLrw.js → DesignReferenceSidebar-QC4gEUWp.js} +11 -11
  14. package/dist/{IssuesPanel-BLbNFMSX.js → IssuesPanel-DL2Xr14_.js} +8 -8
  15. package/dist/{LoadingTrack-BlTL4zFv.js → LoadingTrack-C2jKCU2d.js} +1 -1
  16. package/dist/LogicTagInsertButton-D8IwH-9Z.js +1071 -0
  17. package/dist/{MediaPanels-CMTAhDXB.js → MediaPanels-Cc4UkfG1.js} +2 -2
  18. package/dist/MergeTagInput-QI-5KG2R.js +81 -0
  19. package/dist/{MergeTagModeToggle-DKN6ihI5.js → MergeTagModeToggle-D793Bj_E.js} +32 -73
  20. package/dist/{ParagraphEditor-1E9yzOfk.js → ParagraphEditor-DkkPSexG.js} +50 -51
  21. package/dist/{RestoreVersionDialog-BMGUkcd8.js → RestoreVersionDialog-BgueZnZr.js} +5 -5
  22. package/dist/{RichTextEditorContent-BnxbQUV9.js → RichTextEditorContent-BC5UTVnb.js} +12 -12
  23. package/dist/{SaveBlockDialog-WKASpCCT.js → SaveBlockDialog-BuTuVlLr.js} +12 -11
  24. package/dist/{SavedBlocksBrowserModal-AYEXTMtQ.js → SavedBlocksBrowserModal-Srhix8BB.js} +17 -16
  25. package/dist/{SavedBlocksPanels-D_CpacTl.js → SavedBlocksPanels-B2iScCS-.js} +2 -2
  26. package/dist/{SavedBlocksPickBar-BHMwg-1G.js → SavedBlocksPickBar-cI7bDQQi.js} +4 -4
  27. package/dist/{TemplateScoringPanel-CSin43YM.js → TemplateScoringPanel-C2Rdlyn6.js} +104 -104
  28. package/dist/TemplateSettings-C_5leDdF.js +245 -0
  29. package/dist/{TestEmailModal-BxizsRCd.js → TestEmailModal-DJ5q_u4N.js} +55 -55
  30. package/dist/{TestEmailPanel-vd2e5HzT.js → TestEmailPanel-CP24UGst.js} +2 -2
  31. package/dist/{TitleEditor-CLJ68Ty4.js → TitleEditor-QBBOXtxx.js} +18 -18
  32. package/dist/ToggleSwitch-JvQ_CmI1.js +102 -0
  33. package/dist/Toolbar-COD2TW20.js +2426 -0
  34. package/dist/{TplModal-Q9fDgS1M.js → TplModal-C8xGjC1l.js} +5 -5
  35. package/dist/{VersionHistoryMenu-eGYVhM4H.js → VersionHistoryMenu-BVQityes.js} +10 -10
  36. package/dist/{VersionHistoryPanels-C7Ntrrfq.js → VersionHistoryPanels-BrK6na4A.js} +2 -2
  37. package/dist/{VersionPreviewBanner-BbQXnR0M.js → VersionPreviewBanner-BaMSgA1O.js} +3 -3
  38. package/dist/{blockTypeIcons-5qD4bB76.js → blockTypeIcons-CdXugKyV.js} +16 -37
  39. package/dist/bundle-stats.json +8 -8
  40. package/dist/{cdn/chunks/ca-D9S-UCfZ.js → ca-YlPDhElv.js} +5 -3
  41. package/dist/cdn/chunks/{AiChatSidebar-dyqqHAcI.js → AiChatSidebar-CjSEoK4x.js} +54 -54
  42. package/dist/cdn/chunks/AiChatSidebar-CjSEoK4x.js.map +1 -0
  43. package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js → AiFeatureMenu-l0K5TOSn.js} +6 -6
  44. package/dist/cdn/chunks/{AiFeatureMenu-BjVMwhW8.js.map → AiFeatureMenu-l0K5TOSn.js.map} +1 -1
  45. package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js → BlockIssueBadge-9hHpaXb9.js} +5 -5
  46. package/dist/cdn/chunks/{BlockIssueBadge-BJ__oEtm.js.map → BlockIssueBadge-9hHpaXb9.js.map} +1 -1
  47. package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js → BlockPreviewCanvas-lQrAdgG3.js} +30 -30
  48. package/dist/cdn/chunks/{BlockPreviewCanvas-B5f26eLE.js.map → BlockPreviewCanvas-lQrAdgG3.js.map} +1 -1
  49. package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js → CloudHeaderExtras-CXNe7Q-4.js} +5 -5
  50. package/dist/cdn/chunks/{CloudHeaderExtras-D5P5IEKA.js.map → CloudHeaderExtras-CXNe7Q-4.js.map} +1 -1
  51. package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js → CloudPanels-bHhh9AUA.js} +6 -6
  52. package/dist/cdn/chunks/{CloudPanels-DkmR05nB.js.map → CloudPanels-bHhh9AUA.js.map} +1 -1
  53. package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js → CollaboratorBar-DgqcaGGI.js} +5 -5
  54. package/dist/cdn/chunks/{CollaboratorBar-Yn7KSpt4.js.map → CollaboratorBar-DgqcaGGI.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js → CommentsPanel-Cy4TlTHC.js} +3 -3
  56. package/dist/cdn/chunks/{CommentsPanel-CntwwocI.js.map → CommentsPanel-Cy4TlTHC.js.map} +1 -1
  57. package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js → CommentsSidebar-C7oAP3Mx.js} +5 -5
  58. package/dist/cdn/chunks/{CommentsSidebar-BLDKnKy7.js.map → CommentsSidebar-C7oAP3Mx.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js → CountdownBlock-DdC8Lg5F.js} +4 -4
  60. package/dist/cdn/chunks/{CountdownBlock-B4AfqJwb.js.map → CountdownBlock-DdC8Lg5F.js.map} +1 -1
  61. package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js → CountdownToolbar-CN9h4nlC.js} +22 -21
  62. package/dist/cdn/chunks/{CountdownToolbar-CA1dpuOI.js.map → CountdownToolbar-CN9h4nlC.js.map} +1 -1
  63. package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js → DesignReferenceSidebar-Bjo0M-AY.js} +7 -7
  64. package/dist/cdn/chunks/{DesignReferenceSidebar-D1Y9Hswe.js.map → DesignReferenceSidebar-Bjo0M-AY.js.map} +1 -1
  65. package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js → IssuesPanel-DdFk-Blf.js} +6 -6
  66. package/dist/cdn/chunks/{IssuesPanel-Q62LTqvd.js.map → IssuesPanel-DdFk-Blf.js.map} +1 -1
  67. package/dist/cdn/chunks/{LoadingTrack-Cm3TDKb3.js → LoadingTrack-Ba5xh5HD.js} +2 -2
  68. package/dist/cdn/chunks/{LoadingTrack-Cm3TDKb3.js.map → LoadingTrack-Ba5xh5HD.js.map} +1 -1
  69. package/dist/cdn/chunks/LogicTagInsertButton-DpyPozop.js +1035 -0
  70. package/dist/cdn/chunks/LogicTagInsertButton-DpyPozop.js.map +1 -0
  71. package/dist/cdn/chunks/{MediaPanels-D21M6shx.js → MediaPanels-kX9AZQ7K.js} +3 -3
  72. package/dist/cdn/chunks/{MediaPanels-D21M6shx.js.map → MediaPanels-kX9AZQ7K.js.map} +1 -1
  73. package/dist/cdn/chunks/MergeTagInput-ERJr7bP_.js +83 -0
  74. package/dist/cdn/chunks/MergeTagInput-ERJr7bP_.js.map +1 -0
  75. package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js → MergeTagModeToggle-n3nvSNeQ.js} +33 -33
  76. package/dist/cdn/chunks/{MergeTagModeToggle-DYxkAGtA.js.map → MergeTagModeToggle-n3nvSNeQ.js.map} +1 -1
  77. package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js → ParagraphEditor-DO4RzP8l.js} +43 -43
  78. package/dist/cdn/chunks/{ParagraphEditor-Bd-GQXee.js.map → ParagraphEditor-DO4RzP8l.js.map} +1 -1
  79. package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js → RestoreVersionDialog-CzZ_sFnz.js} +5 -5
  80. package/dist/cdn/chunks/{RestoreVersionDialog-2X9RpM9A.js.map → RestoreVersionDialog-CzZ_sFnz.js.map} +1 -1
  81. package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js → RichTextEditorContent-Ch5zeyZ7.js} +9 -9
  82. package/dist/cdn/chunks/{RichTextEditorContent-D_rb0rmU.js.map → RichTextEditorContent-Ch5zeyZ7.js.map} +1 -1
  83. package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js → SaveBlockDialog-LgxYrXyx.js} +10 -9
  84. package/dist/cdn/chunks/{SaveBlockDialog-CufdTomT.js.map → SaveBlockDialog-LgxYrXyx.js.map} +1 -1
  85. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js → SavedBlocksBrowserModal-CdeSsTpb.js} +9 -9
  86. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CqpaNsk7.js.map → SavedBlocksBrowserModal-CdeSsTpb.js.map} +1 -1
  87. package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js → SavedBlocksPanels-B5hakNJj.js} +3 -3
  88. package/dist/cdn/chunks/{SavedBlocksPanels-DpxYxddo.js.map → SavedBlocksPanels-B5hakNJj.js.map} +1 -1
  89. package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js → SavedBlocksPickBar-Cl6PLwwV.js} +5 -5
  90. package/dist/cdn/chunks/{SavedBlocksPickBar-Drpoav1B.js.map → SavedBlocksPickBar-Cl6PLwwV.js.map} +1 -1
  91. package/dist/cdn/chunks/{TemplateScoringPanel-DBjUNULq.js → TemplateScoringPanel--JxR6CsQ.js} +86 -86
  92. package/dist/cdn/chunks/TemplateScoringPanel--JxR6CsQ.js.map +1 -0
  93. package/dist/cdn/chunks/TemplateSettings-DjXiiiNr.js +207 -0
  94. package/dist/cdn/chunks/TemplateSettings-DjXiiiNr.js.map +1 -0
  95. package/dist/cdn/chunks/{TestEmailModal-BTNlSW6f.js → TestEmailModal-BAuDxJtD.js} +53 -53
  96. package/dist/cdn/chunks/TestEmailModal-BAuDxJtD.js.map +1 -0
  97. package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js → TestEmailPanel-GUGZisLp.js} +3 -3
  98. package/dist/cdn/chunks/{TestEmailPanel-D0A9Zgxr.js.map → TestEmailPanel-GUGZisLp.js.map} +1 -1
  99. package/dist/cdn/chunks/{TitleEditor-CrnuIq62.js → TitleEditor-uKu33Nwr.js} +16 -16
  100. package/dist/cdn/chunks/TitleEditor-uKu33Nwr.js.map +1 -0
  101. package/dist/cdn/chunks/ToggleSwitch-CDy8OfcB.js +104 -0
  102. package/dist/cdn/chunks/ToggleSwitch-CDy8OfcB.js.map +1 -0
  103. package/dist/cdn/chunks/Toolbar-dxDYwN5E.js +2385 -0
  104. package/dist/cdn/chunks/Toolbar-dxDYwN5E.js.map +1 -0
  105. package/dist/cdn/chunks/{TplModal-DYXrTz42.js → TplModal-DuwS2ifK.js} +5 -5
  106. package/dist/cdn/chunks/{TplModal-DYXrTz42.js.map → TplModal-DuwS2ifK.js.map} +1 -1
  107. package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js → VersionHistoryMenu-Dij1pTEb.js} +6 -6
  108. package/dist/cdn/chunks/{VersionHistoryMenu-bDGnE4hb.js.map → VersionHistoryMenu-Dij1pTEb.js.map} +1 -1
  109. package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js → VersionHistoryPanels-GeR6MStB.js} +3 -3
  110. package/dist/cdn/chunks/{VersionHistoryPanels-82P0Q0HM.js.map → VersionHistoryPanels-GeR6MStB.js.map} +1 -1
  111. package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js → VersionPreviewBanner-Df3FVlig.js} +4 -4
  112. package/dist/cdn/chunks/{VersionPreviewBanner-BJiwKkVC.js.map → VersionPreviewBanner-Df3FVlig.js.map} +1 -1
  113. package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js → blockTypeIcons-raBjStuv.js} +2 -2
  114. package/dist/cdn/chunks/{blockTypeIcons-CNjJSFun.js.map → blockTypeIcons-raBjStuv.js.map} +1 -1
  115. package/dist/{ca-D9S-UCfZ.js → cdn/chunks/ca-YlPDhElv.js} +7 -1
  116. package/dist/cdn/chunks/{ca-D9S-UCfZ.js.map → ca-YlPDhElv.js.map} +1 -1
  117. package/dist/cdn/chunks/{cloud-BLgCKP7Z.js → cloud-eaXyxZ8l.js} +2 -2
  118. package/dist/cdn/chunks/{cloud-BLgCKP7Z.js.map → cloud-eaXyxZ8l.js.map} +1 -1
  119. package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js → createCloudRuntime-D5bXzcTe.js} +6 -6
  120. package/dist/cdn/chunks/{createCloudRuntime-U-qCH-dq.js.map → createCloudRuntime-D5bXzcTe.js.map} +1 -1
  121. package/dist/cdn/chunks/{de-BUPszLpi.js → de-CONjnzrF.js} +6 -2
  122. package/dist/cdn/chunks/{de-BUPszLpi.js.map → de-CONjnzrF.js.map} +1 -1
  123. package/dist/cdn/chunks/{dist-BW6Y49zE.js → dist-BRZhN8qJ.js} +4 -4
  124. package/dist/cdn/chunks/dist-BRZhN8qJ.js.map +1 -0
  125. package/dist/cdn/chunks/{dist-CAFTQ6Y2.js → dist-CXB2_kBa.js} +27 -22
  126. package/dist/cdn/chunks/dist-CXB2_kBa.js.map +1 -0
  127. package/dist/cdn/chunks/{draggable-kbOhCgnk.js → draggable-IB4x6w2O.js} +1477 -1470
  128. package/dist/cdn/chunks/draggable-IB4x6w2O.js.map +1 -0
  129. package/dist/cdn/chunks/{editor-modal-MXgtarMl.js → editor-modal-C_xYN_66.js} +7 -7
  130. package/dist/cdn/chunks/{editor-modal-MXgtarMl.js.map → editor-modal-C_xYN_66.js.map} +1 -1
  131. package/dist/cdn/chunks/{en-BbOC5x3w.js → en-BAMooiOF.js} +6 -2
  132. package/dist/cdn/chunks/{en-BbOC5x3w.js.map → en-BAMooiOF.js.map} +1 -1
  133. package/dist/cdn/chunks/en-BwfjKb4M.js +2 -0
  134. package/dist/{es-0bCDcT9p.js → cdn/chunks/es-I47lHs2m.js} +7 -1
  135. package/dist/cdn/chunks/{es-0bCDcT9p.js.map → es-I47lHs2m.js.map} +1 -1
  136. package/dist/cdn/chunks/{extensions-B8_jnIkD.js → extensions-Bhu8UEE5.js} +185 -100
  137. package/dist/cdn/chunks/extensions-Bhu8UEE5.js.map +1 -0
  138. package/dist/cdn/chunks/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +6 -2
  139. package/dist/cdn/chunks/{fr-Brr8mJ9e.js.map → fr-B8MIKjT4.js.map} +1 -1
  140. package/dist/cdn/chunks/htmlparser-ClUZ6waR.js +1113 -0
  141. package/dist/cdn/chunks/htmlparser-ClUZ6waR.js.map +1 -0
  142. package/dist/cdn/chunks/{icons-BUlqGSgd.js → icons-BKkJ-5xF.js} +36 -36
  143. package/dist/cdn/chunks/{icons-BUlqGSgd.js.map → icons-BKkJ-5xF.js.map} +1 -1
  144. package/dist/cdn/chunks/keys-dJbD1QPs.js +12 -0
  145. package/dist/cdn/chunks/keys-dJbD1QPs.js.map +1 -0
  146. package/dist/{nl-Co3_RL0M.js → cdn/chunks/nl-CBLxcb-0.js} +7 -1
  147. package/dist/cdn/chunks/{nl-Co3_RL0M.js.map → nl-CBLxcb-0.js.map} +1 -1
  148. package/dist/{pt-BR-BECez5b0.js → cdn/chunks/pt-BR-CMSRfX7t.js} +7 -1
  149. package/dist/cdn/chunks/{pt-BR-BECez5b0.js.map → pt-BR-CMSRfX7t.js.map} +1 -1
  150. package/dist/cdn/chunks/socialIcons-9VrG8X3m.js +1054 -0
  151. package/dist/cdn/chunks/socialIcons-9VrG8X3m.js.map +1 -0
  152. package/dist/cdn/chunks/{src-IGLRmUar.js → src-CZ-W8YBa.js} +4 -4
  153. package/dist/cdn/chunks/{src-IGLRmUar.js.map → src-CZ-W8YBa.js.map} +1 -1
  154. package/dist/cdn/chunks/{src-CUvZWL6Y.js → src-CaNsA_WX.js} +2 -2
  155. package/dist/cdn/chunks/{src-CUvZWL6Y.js.map → src-CaNsA_WX.js.map} +1 -1
  156. package/dist/cdn/chunks/src-Dwgq7hf4.js.map +1 -1
  157. package/dist/cdn/chunks/templateSettingsFields-YCFVBVYh.js +36 -0
  158. package/dist/cdn/chunks/templateSettingsFields-YCFVBVYh.js.map +1 -0
  159. package/dist/cdn/chunks/{tiptap-Epe8m3Vo.js → tiptap-DhLuKyDc.js} +2776 -2773
  160. package/dist/cdn/chunks/tiptap-DhLuKyDc.js.map +1 -0
  161. package/dist/cdn/chunks/{useAliveFlag-CT9gjvO_.js → useAliveFlag-DAlQLbM2.js} +2 -2
  162. package/dist/cdn/chunks/{useAliveFlag-CT9gjvO_.js.map → useAliveFlag-DAlQLbM2.js.map} +1 -1
  163. package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js → useCloudI18n-C09JcFS0.js} +3 -3
  164. package/dist/cdn/chunks/{useCloudI18n-DSWSGj-A.js.map → useCloudI18n-C09JcFS0.js.map} +1 -1
  165. package/dist/cdn/chunks/useEditorCore-BHmIp1hW.js +2592 -0
  166. package/dist/cdn/chunks/useEditorCore-BHmIp1hW.js.map +1 -0
  167. package/dist/cdn/chunks/useEditorRoot-DFx2fXJP.js +10 -0
  168. package/dist/cdn/chunks/{useEditorRoot-B0zW2nT4.js.map → useEditorRoot-DFx2fXJP.js.map} +1 -1
  169. package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js → useI18n-DTZ9sIcv.js} +3 -3
  170. package/dist/cdn/chunks/{useI18n-Dlo7R9RA.js.map → useI18n-DTZ9sIcv.js.map} +1 -1
  171. package/dist/cdn/chunks/useLogicTag-E2V0Xdcb.js +38 -0
  172. package/dist/cdn/chunks/useLogicTag-E2V0Xdcb.js.map +1 -0
  173. package/dist/cdn/chunks/useMergeTag-BE8oDoha.js +60 -0
  174. package/dist/cdn/chunks/useMergeTag-BE8oDoha.js.map +1 -0
  175. package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js → usePopoverPosition-gB9q-ql7.js} +3 -3
  176. package/dist/cdn/chunks/{usePopoverPosition-ElP3ABaV.js.map → usePopoverPosition-gB9q-ql7.js.map} +1 -1
  177. package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js → useScrollToBlock-CtTXwmiU.js} +3 -3
  178. package/dist/cdn/chunks/{useScrollToBlock-nTbWkgaU.js.map → useScrollToBlock-CtTXwmiU.js.map} +1 -1
  179. package/dist/cdn/editor.css +1 -1
  180. package/dist/cdn/editor.js +856 -3347
  181. package/dist/cdn/editor.js.map +1 -1
  182. package/dist/{check-DWtkBzBU.js → check-eqb2JhqU.js} +1 -1
  183. package/dist/{chevron-down-C-Fjxcqj.js → chevron-down-Dkr-7Ywl.js} +1 -1
  184. package/dist/{chevron-right-SOkn2d4P.js → chevron-right-Bge4XF_B.js} +1 -1
  185. package/dist/{chevron-up-lntU1ypp.js → chevron-up-CQAyl0kC.js} +1 -1
  186. package/dist/{circle-alert-CjzUTwy3.js → circle-alert-CYgTHKWr.js} +1 -1
  187. package/dist/{clock-pB2QKPsJ.js → clock-BgSJZJP5.js} +1 -1
  188. package/dist/{cloud-DdidMW6f.js → cloud-C9xWZXhg.js} +1 -1
  189. package/dist/{copy-CId1E038.js → copy-mw6PVnOJ.js} +1 -1
  190. package/dist/{createCloudRuntime-x5WZm3p8.js → createCloudRuntime-BGd5--Bq.js} +5 -5
  191. package/dist/{createLucideIcon-Cwf_nTzE.js → createLucideIcon-BxY5yz5u.js} +6 -6
  192. package/dist/{de-BUPszLpi.js → de-CONjnzrF.js} +5 -1
  193. package/dist/{dist-D8i1ixHK.js → dist-8VFzbeu9.js} +3 -3
  194. package/dist/{dist-DBirAJIs.js → dist-BDuPwOyn.js} +26 -21
  195. package/dist/{dist-CtF9STPS.js → dist-BJM3eFyT.js} +1 -1
  196. package/dist/{dist-DkcA6epL.js → dist-BdHF7nyq.js} +3 -3
  197. package/dist/{dist-ByT5fgKq.js → dist-Bl4rxpX9.js} +1 -1
  198. package/dist/{dist-BVqAYoRB.js → dist-BmsLcnrO.js} +4 -4
  199. package/dist/{dist-CtMXAH7a.js → dist-BxVnMgXZ.js} +1 -1
  200. package/dist/{dist-DC-3T0ED.js → dist-CQSVro7b.js} +1 -1
  201. package/dist/{dist-f7HXo6j6.js → dist-DQbOebGW.js} +1 -1
  202. package/dist/{dist-DL9334yz.js → dist-DerFNpDY.js} +3 -3
  203. package/dist/{dist-D08oVYhr.js → dist-Djmzp6wi.js} +1 -1
  204. package/dist/{dist-D7WY8VPq.js → dist-DyrEOKEJ.js} +1 -1
  205. package/dist/{dist-DzdeVn-W.js → dist-EDkj3Ub1.js} +1 -1
  206. package/dist/{dist-C1tsW_99.js → dist-wyXxj3R1.js} +1 -1
  207. package/dist/{editor-modal-B_LaQf0s.js → editor-modal-OPhP71YO.js} +20 -20
  208. package/dist/{en-BbOC5x3w.js → en-BAMooiOF.js} +5 -1
  209. package/dist/en-CjNopehs.js +2 -0
  210. package/dist/{cdn/chunks/es-0bCDcT9p.js → es-I47lHs2m.js} +5 -3
  211. package/dist/extensions-DRN-elXT.js +1645 -0
  212. package/dist/{eye-BuGtFUoJ.js → eye-DphkRtAD.js} +1 -1
  213. package/dist/{fr-Brr8mJ9e.js → fr-B8MIKjT4.js} +5 -1
  214. package/dist/{image-up-gH4JEpU5.js → image-up-Qi2BXD7T.js} +1 -1
  215. package/dist/index.d.ts +15 -0
  216. package/dist/{info-BQ60P82u.js → info-VSyAs02q.js} +1 -1
  217. package/dist/keys-BdoSgsz9.js +10 -0
  218. package/dist/{link-3R8it3J7.js → link-CNuozGqD.js} +1 -1
  219. package/dist/{list-Ccdgj46T.js → list-BA0I5Wmu.js} +1 -1
  220. package/dist/{loader-circle-B_tAD4k6.js → loader-circle-z5eeqasv.js} +1 -1
  221. package/dist/{message-circle-P-KSc6V0.js → message-circle-BsQ9hEup.js} +1 -1
  222. package/dist/{cdn/chunks/nl-Co3_RL0M.js → nl-CBLxcb-0.js} +5 -3
  223. package/dist/package-OkXfuRoO.js +25 -0
  224. package/dist/{pencil-9ZiwqS4r.js → pencil-DFVFA7Dj.js} +1 -1
  225. package/dist/{plus-BwJEzCaO.js → plus-D8bkVjZ7.js} +1 -1
  226. package/dist/{cdn/chunks/pt-BR-BECez5b0.js → pt-BR-CMSRfX7t.js} +5 -3
  227. package/dist/{refresh-cw-DEgfb2FK.js → refresh-cw-DPB7YFuz.js} +1 -1
  228. package/dist/{runtime-dom.esm-bundler-PnoZU512.js → runtime-dom.esm-bundler-BGbPz4-g.js} +2 -2
  229. package/dist/{search-DqQ8Li5E.js → search-C-dCgqIa.js} +1 -1
  230. package/dist/{send-CE6uvqop.js → send-Cm2fy2zm.js} +1 -1
  231. package/dist/{shield-check-DhD1Z3rd.js → shield-check-COgBYFDF.js} +1 -1
  232. package/dist/smartphone-v0u_MOEV.js +46 -0
  233. package/dist/socialIcons-DkGcpEwC.js +1130 -0
  234. package/dist/{sparkles-R0ZQHa6F.js → sparkles-Ds0RF8Iu.js} +1 -1
  235. package/dist/style.css +1 -1
  236. package/dist/templateSettingsFields-YCFVBVYh.js +34 -0
  237. package/dist/templatical-editor.js +945 -3511
  238. package/dist/{text-align-start-DSux2UNn.js → text-align-start-DiavaIm6.js} +1 -1
  239. package/dist/{trash-Cf_SqsER.js → trash-DnOkfu2V.js} +1 -1
  240. package/dist/{triangle-alert-C6tGa6jw.js → triangle-alert-DGLAyXnh.js} +1 -1
  241. package/dist/{upload-DusKjpVr.js → upload-BBDme2cy.js} +1 -1
  242. package/dist/{useAliveFlag-oyByIcjy.js → useAliveFlag-BkKyhkwZ.js} +1 -1
  243. package/dist/{useCloudI18n-BLyh_e2T.js → useCloudI18n-D1iedlP3.js} +2 -2
  244. package/dist/useEditorCore-C5APBjjV.js +4097 -0
  245. package/dist/{useEditorRoot-ds57-l6F.js → useEditorRoot-BOxn5EfP.js} +2 -2
  246. package/dist/{useI18n-BbdxxpOE.js → useI18n-Ds_-druD.js} +2 -2
  247. package/dist/useLogicTag-DoHfc08B.js +36 -0
  248. package/dist/useMergeTag-DXyum3kG.js +58 -0
  249. package/dist/{usePopoverPosition-CprM5p-c.js → usePopoverPosition-Du-Ah8E9.js} +2 -2
  250. package/dist/{useScrollToBlock-BTFw0b9O.js → useScrollToBlock-DXQYPCnJ.js} +3 -3
  251. package/dist/{vue.runtime.esm-bundler-DShF3P6k.js → vue.runtime.esm-bundler-CyqhBwpY.js} +1133 -1126
  252. package/dist/{x-D_-42Ukq.js → x-3BHV3Q6K.js} +1 -1
  253. package/package.json +16 -16
  254. package/dist/ColorPicker-BqlZ_TqG.js +0 -501
  255. package/dist/FieldRow-C8nOknr_.js +0 -128
  256. package/dist/MergeTagInput-BEjzj4Iu.js +0 -457
  257. package/dist/MergeTagSuggestion-DKoLEeoj.js +0 -1329
  258. package/dist/cdn/chunks/AiChatSidebar-dyqqHAcI.js.map +0 -1
  259. package/dist/cdn/chunks/ColorPicker-LcrzgMoW.js +0 -502
  260. package/dist/cdn/chunks/ColorPicker-LcrzgMoW.js.map +0 -1
  261. package/dist/cdn/chunks/FieldRow-D9OJhYeb.js +0 -130
  262. package/dist/cdn/chunks/FieldRow-D9OJhYeb.js.map +0 -1
  263. package/dist/cdn/chunks/MergeTagInput-l7paaAml.js +0 -419
  264. package/dist/cdn/chunks/MergeTagInput-l7paaAml.js.map +0 -1
  265. package/dist/cdn/chunks/MergeTagSuggestion-t8Uj00Er.js +0 -215
  266. package/dist/cdn/chunks/MergeTagSuggestion-t8Uj00Er.js.map +0 -1
  267. package/dist/cdn/chunks/TemplateScoringPanel-DBjUNULq.js.map +0 -1
  268. package/dist/cdn/chunks/TestEmailModal-BTNlSW6f.js.map +0 -1
  269. package/dist/cdn/chunks/TitleEditor-CrnuIq62.js.map +0 -1
  270. package/dist/cdn/chunks/dist-BW6Y49zE.js.map +0 -1
  271. package/dist/cdn/chunks/dist-CAFTQ6Y2.js.map +0 -1
  272. package/dist/cdn/chunks/draggable-kbOhCgnk.js.map +0 -1
  273. package/dist/cdn/chunks/en-C9U7N77n.js +0 -2
  274. package/dist/cdn/chunks/extensions-B8_jnIkD.js.map +0 -1
  275. package/dist/cdn/chunks/htmlparser-DTML8Gvz.js +0 -1007
  276. package/dist/cdn/chunks/htmlparser-DTML8Gvz.js.map +0 -1
  277. package/dist/cdn/chunks/keys-DBFhDFng.js +0 -12
  278. package/dist/cdn/chunks/keys-DBFhDFng.js.map +0 -1
  279. package/dist/cdn/chunks/tiptap-Epe8m3Vo.js.map +0 -1
  280. package/dist/cdn/chunks/useEditorCore-Cs7rYVBo.js +0 -3689
  281. package/dist/cdn/chunks/useEditorCore-Cs7rYVBo.js.map +0 -1
  282. package/dist/cdn/chunks/useEditorRoot-B0zW2nT4.js +0 -10
  283. package/dist/cdn/chunks/useMergeTag-BYAifvh8.js +0 -46
  284. package/dist/cdn/chunks/useMergeTag-BYAifvh8.js.map +0 -1
  285. package/dist/en-DcmpWV53.js +0 -2
  286. package/dist/extensions-CHOBZRab.js +0 -445
  287. package/dist/keys-DQA2i1k1.js +0 -10
  288. package/dist/useEditorCore-DhlKOYwe.js +0 -5273
  289. package/dist/useMergeTag-DlvOBW_B.js +0 -44
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-Cwf_nTzE.js";
1
+ import { t as e } from "./createLucideIcon-BxY5yz5u.js";
2
2
  var t = e({
3
3
  name: "x",
4
4
  size: 24,
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@templatical/editor",
3
3
  "description": "Vue 3 visual drag-and-drop email editor powered by Templatical",
4
- "version": "0.38.0",
4
+ "version": "0.39.1",
5
5
  "bugs": "https://github.com/templatical/sdk/issues",
6
6
  "devDependencies": {
7
- "@lucide/vue": "^1.43.0",
8
- "@templatical/core": "0.38.0",
9
- "@templatical/media-library": "0.38.0",
10
- "@templatical/quality": "0.38.0",
11
- "@templatical/types": "0.38.0",
7
+ "@lucide/vue": "^1.47.0",
8
+ "@templatical/core": "0.39.1",
9
+ "@templatical/media-library": "0.39.1",
10
+ "@templatical/quality": "0.39.1",
11
+ "@templatical/types": "0.39.1",
12
12
  "@tiptap/core": "^3.31.3",
13
13
  "@tiptap/extension-color": "^3.31.3",
14
14
  "@tiptap/extension-font-family": "^3.31.3",
@@ -22,19 +22,19 @@
22
22
  "@tiptap/starter-kit": "^3.31.3",
23
23
  "@tiptap/suggestion": "^3.31.3",
24
24
  "@tiptap/vue-3": "^3.31.3",
25
- "@vitejs/plugin-vue": "^6.0.8",
26
- "@vue/test-utils": "^2.5.0",
27
- "@vueuse/core": "^14.4.0",
25
+ "@vitejs/plugin-vue": "^6.0.9",
26
+ "@vue/test-utils": "^2.5.1",
27
+ "@vueuse/core": "^15.0.0",
28
28
  "es-module-lexer": "^3.0.2",
29
- "happy-dom": "^20.14.0",
30
- "jsdom": "30.0.1",
29
+ "happy-dom": "^20.14.5",
30
+ "jsdom": "30.1.0",
31
31
  "liquidjs": "^10.29.0",
32
32
  "tailwindcss": "^4.3.3",
33
33
  "typescript": "^6.0.3",
34
34
  "vanilla-colorful": "^0.7.2",
35
- "vite": "^8.2.2",
36
- "vitest": "^5.0.0",
37
- "vue": "^3.5.42",
35
+ "vite": "^8.3.0",
36
+ "vitest": "^5.0.1",
37
+ "vue": "^3.5.43",
38
38
  "vue-draggable-plus": "^0.6.1",
39
39
  "vue-tsc": "^3.3.11"
40
40
  },
@@ -64,8 +64,8 @@
64
64
  "license": "FSL-1.1-MIT",
65
65
  "module": "./dist/templatical-editor.js",
66
66
  "peerDependencies": {
67
- "@templatical/quality": "0.38.0",
68
- "@templatical/renderer": "0.38.0"
67
+ "@templatical/quality": "0.39.1",
68
+ "@templatical/renderer": "0.39.1"
69
69
  },
70
70
  "peerDependenciesMeta": {
71
71
  "@templatical/renderer": {
@@ -1,501 +0,0 @@
1
- import { A as e, At as t, B as n, M as r, S as i, Z as a, at as o, c as s, d as c, g as l, i as ee, kt as u, l as te, r as ne, s as d, u as f, v as p } from "./vue.runtime.esm-bundler-DShF3P6k.js";
2
- import { c as re, s as m, t as ie } from "./runtime-dom.esm-bundler-PnoZU512.js";
3
- import { t as ae } from "./dist-DBirAJIs.js";
4
- import { W as oe, d as se, q as ce } from "./keys-DQA2i1k1.js";
5
- import { t as le } from "./useI18n-BbdxxpOE.js";
6
- import { a as ue, i as h, n as de, r as g, t as fe } from "./usePopoverPosition-CprM5p-c.js";
7
- import { t as _ } from "./x-D_-42Ukq.js";
8
- import { u as pe } from "./styleConstants-C_YAPdQS.js";
9
- //#region ../../node_modules/.pnpm/vanilla-colorful@0.7.2/node_modules/vanilla-colorful/lib/utils/math.js
10
- var v = (e, t = 0, n = 1) => e > n ? n : e < t ? t : e, y = (e, t = 0, n = 10 ** t) => Math.round(n * e) / n;
11
- 360 / (Math.PI * 2);
12
- var b = (e) => O(x(e)), x = (e) => (e[0] === "#" && (e = e.substring(1)), e.length < 6 ? {
13
- r: parseInt(e[0] + e[0], 16),
14
- g: parseInt(e[1] + e[1], 16),
15
- b: parseInt(e[2] + e[2], 16),
16
- a: e.length === 4 ? y(parseInt(e[3] + e[3], 16) / 255, 2) : 1
17
- } : {
18
- r: parseInt(e.substring(0, 2), 16),
19
- g: parseInt(e.substring(2, 4), 16),
20
- b: parseInt(e.substring(4, 6), 16),
21
- a: e.length === 8 ? y(parseInt(e.substring(6, 8), 16) / 255, 2) : 1
22
- }), S = (e) => D(T(e)), C = ({ h: e, s: t, v: n, a: r }) => {
23
- let i = (200 - t) * n / 100;
24
- return {
25
- h: y(e),
26
- s: y(i > 0 && i < 200 ? t * n / 100 / (i <= 100 ? i : 200 - i) * 100 : 0),
27
- l: y(i / 2),
28
- a: y(r, 2)
29
- };
30
- }, w = (e) => {
31
- let { h: t, s: n, l: r } = C(e);
32
- return `hsl(${t}, ${n}%, ${r}%)`;
33
- }, T = ({ h: e, s: t, v: n, a: r }) => {
34
- e = e / 360 * 6, t /= 100, n /= 100;
35
- let i = Math.floor(e), a = n * (1 - t), o = n * (1 - (e - i) * t), s = n * (1 - (1 - e + i) * t), c = i % 6;
36
- return {
37
- r: y([
38
- n,
39
- o,
40
- a,
41
- a,
42
- s,
43
- n
44
- ][c] * 255),
45
- g: y([
46
- s,
47
- n,
48
- n,
49
- o,
50
- a,
51
- a
52
- ][c] * 255),
53
- b: y([
54
- a,
55
- a,
56
- s,
57
- n,
58
- n,
59
- o
60
- ][c] * 255),
61
- a: y(r, 2)
62
- };
63
- }, E = (e) => {
64
- let t = e.toString(16);
65
- return t.length < 2 ? "0" + t : t;
66
- }, D = ({ r: e, g: t, b: n, a: r }) => {
67
- let i = r < 1 ? E(y(r * 255)) : "";
68
- return "#" + E(e) + E(t) + E(n) + i;
69
- }, O = ({ r: e, g: t, b: n, a: r }) => {
70
- let i = Math.max(e, t, n), a = i - Math.min(e, t, n), o = a ? i === e ? (t - n) / a : i === t ? 2 + (n - e) / a : 4 + (e - t) / a : 0;
71
- return {
72
- h: y(60 * (o < 0 ? o + 6 : o)),
73
- s: y(i ? a / i * 100 : 0),
74
- v: y(i / 255 * 100),
75
- a: r
76
- };
77
- }, k = (e, t) => {
78
- if (e === t) return !0;
79
- for (let n in e) if (e[n] !== t[n]) return !1;
80
- return !0;
81
- }, A = (e, t) => e.toLowerCase() === t.toLowerCase() || k(x(e), x(t)), j = {}, M = (e) => {
82
- let t = j[e];
83
- return t || (t = document.createElement("template"), t.innerHTML = e, j[e] = t), t;
84
- }, N = (e, t, n) => {
85
- e.dispatchEvent(new CustomEvent(t, {
86
- bubbles: !0,
87
- detail: n
88
- }));
89
- }, P = !1, F = (e) => "touches" in e, I = (e) => P && !F(e) ? !1 : (P ||= F(e), !0), L = (e, t) => {
90
- let n = F(t) ? t.touches[0] : t, r = e.el.getBoundingClientRect();
91
- N(e.el, "move", e.getMove({
92
- x: v((n.pageX - (r.left + window.pageXOffset)) / r.width),
93
- y: v((n.pageY - (r.top + window.pageYOffset)) / r.height)
94
- }));
95
- }, R = (e, t) => {
96
- let n = t.keyCode;
97
- n > 40 || e.xy && n < 37 || n < 33 || (t.preventDefault(), N(e.el, "move", e.getMove({
98
- x: n === 39 ? .01 : n === 37 ? -.01 : n === 34 ? .05 : n === 33 ? -.05 : n === 35 ? 1 : n === 36 ? -1 : 0,
99
- y: n === 40 ? .01 : n === 38 ? -.01 : 0
100
- }, !0)));
101
- }, z = class {
102
- constructor(e, t, n, r) {
103
- let i = M(`<div role="slider" tabindex="0" part="${t}" ${n}><div part="${t}-pointer"></div></div>`);
104
- e.appendChild(i.content.cloneNode(!0));
105
- let a = e.querySelector(`[part=${t}]`);
106
- a.addEventListener("mousedown", this), a.addEventListener("touchstart", this), a.addEventListener("keydown", this), this.el = a, this.xy = r, this.nodes = [a.firstChild, a];
107
- }
108
- set dragging(e) {
109
- let t = e ? document.addEventListener : document.removeEventListener;
110
- t(P ? "touchmove" : "mousemove", this), t(P ? "touchend" : "mouseup", this);
111
- }
112
- handleEvent(e) {
113
- switch (e.type) {
114
- case "mousedown":
115
- case "touchstart":
116
- if (e.preventDefault(), !I(e) || !P && e.button != 0) return;
117
- this.el.focus(), L(this, e), this.dragging = !0;
118
- break;
119
- case "mousemove":
120
- case "touchmove":
121
- e.preventDefault(), L(this, e);
122
- break;
123
- case "mouseup":
124
- case "touchend":
125
- this.dragging = !1;
126
- break;
127
- case "keydown": R(this, e);
128
- }
129
- }
130
- style(e) {
131
- e.forEach((e, t) => {
132
- for (let n in e) this.nodes[t].style.setProperty(n, e[n]);
133
- });
134
- }
135
- }, B = class extends z {
136
- constructor(e) {
137
- super(e, "hue", "aria-label=\"Hue\" aria-valuemin=\"0\" aria-valuemax=\"360\"", !1);
138
- }
139
- update({ h: e }) {
140
- this.h = e, this.style([{
141
- left: `${e / 360 * 100}%`,
142
- color: w({
143
- h: e,
144
- s: 100,
145
- v: 100,
146
- a: 1
147
- })
148
- }]), this.el.setAttribute("aria-valuenow", `${y(e)}`);
149
- }
150
- getMove(e, t) {
151
- return { h: t ? v(this.h + e.x * 360, 0, 360) : 360 * e.x };
152
- }
153
- }, V = class extends z {
154
- constructor(e) {
155
- super(e, "saturation", "aria-label=\"Color\"", !0);
156
- }
157
- update(e) {
158
- this.hsva = e, this.style([{
159
- top: `${100 - e.v}%`,
160
- left: `${e.s}%`,
161
- color: w(e)
162
- }, { "background-color": w({
163
- h: e.h,
164
- s: 100,
165
- v: 100,
166
- a: 1
167
- }) }]), this.el.setAttribute("aria-valuetext", `Saturation ${y(e.s)}%, Brightness ${y(e.v)}%`);
168
- }
169
- getMove(e, t) {
170
- return {
171
- s: t ? v(this.hsva.s + e.x * 100, 0, 100) : e.x * 100,
172
- v: t ? v(this.hsva.v - e.y * 100, 0, 100) : Math.round(100 - e.y * 100)
173
- };
174
- }
175
- }, H = ":host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:\"\";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}", U = "[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}", W = "[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}", G = Symbol("same"), K = Symbol("color"), q = Symbol("hsva"), J = Symbol("update"), Y = Symbol("parts"), X = Symbol("css"), Z = Symbol("sliders"), me = class extends HTMLElement {
176
- static get observedAttributes() {
177
- return ["color"];
178
- }
179
- get [X]() {
180
- return [
181
- H,
182
- U,
183
- W
184
- ];
185
- }
186
- get [Z]() {
187
- return [V, B];
188
- }
189
- get color() {
190
- return this[K];
191
- }
192
- set color(e) {
193
- if (!this[G](e)) {
194
- let t = this.colorModel.toHsva(e);
195
- this[J](t), this[K] = e;
196
- }
197
- }
198
- constructor() {
199
- super();
200
- let e = M(`<style>${this[X].join("")}</style>`), t = this.attachShadow({ mode: "open" });
201
- t.appendChild(e.content.cloneNode(!0)), t.addEventListener("move", this), this[Y] = this[Z].map((e) => new e(t));
202
- }
203
- connectedCallback() {
204
- if (this.hasOwnProperty("color")) {
205
- let e = this.color;
206
- delete this.color, this.color = e;
207
- } else this.color ||= this.colorModel.defaultColor;
208
- }
209
- attributeChangedCallback(e, t, n) {
210
- let r = this.colorModel.fromAttr(n);
211
- this[G](r) || (this.color = r);
212
- }
213
- handleEvent(e) {
214
- let t = this[q], n = {
215
- ...t,
216
- ...e.detail
217
- };
218
- this[J](n);
219
- let r;
220
- !k(n, t) && !this[G](r = this.colorModel.fromHsva(n)) && (this[K] = r, N(this, "color-changed", { value: r }));
221
- }
222
- [G](e) {
223
- return this.color && this.colorModel.equal(e, this.color);
224
- }
225
- [J](e) {
226
- this[q] = e, this[Y].forEach((t) => t.update(e));
227
- }
228
- }, Q = {
229
- defaultColor: "#000",
230
- toHsva: b,
231
- fromHsva: ({ h: e, s: t, v: n }) => S({
232
- h: e,
233
- s: t,
234
- v: n,
235
- a: 1
236
- }),
237
- equal: A,
238
- fromAttr: (e) => e
239
- }, $ = class extends me {
240
- get colorModel() {
241
- return Q;
242
- }
243
- }, he = class extends $ {};
244
- customElements.define("hex-color-picker", he);
245
- //#endregion
246
- //#region src/components/ColorPicker.vue?vue&type=script&setup=true&lang.ts
247
- var ge = [
248
- "disabled",
249
- "aria-label",
250
- "title",
251
- "aria-expanded"
252
- ], _e = {
253
- key: 0,
254
- class: "tpl:relative tpl:flex-1"
255
- }, ve = [
256
- "value",
257
- "placeholder",
258
- "disabled",
259
- "aria-label"
260
- ], ye = ["aria-label", "title"], be = ["data-tpl-theme"], xe = ["aria-label"], Se = [
261
- "aria-label",
262
- "title",
263
- "aria-checked",
264
- "tabindex"
265
- ], Ce = [
266
- "aria-label",
267
- "title",
268
- "aria-checked",
269
- "tabindex",
270
- "onClick"
271
- ], we = ["color", "aria-label"], Te = {
272
- key: 2,
273
- class: "tpl:relative tpl:mt-2"
274
- }, Ee = [
275
- "value",
276
- "placeholder",
277
- "disabled",
278
- "aria-label"
279
- ], De = ["aria-label", "title"], Oe = /* @__PURE__ */ p({
280
- __name: "ColorPicker",
281
- props: {
282
- modelValue: {},
283
- placeholder: { default: "" },
284
- seedColor: { default: "#ffffff" },
285
- swatchOnly: {
286
- type: Boolean,
287
- default: !1
288
- },
289
- disabled: {
290
- type: Boolean,
291
- default: !1
292
- },
293
- size: { default: "md" },
294
- ariaLabel: { default: "" },
295
- presets: { default: void 0 },
296
- allowCustom: {
297
- type: Boolean,
298
- default: void 0
299
- }
300
- },
301
- emits: ["update:modelValue"],
302
- setup(p, { emit: v }) {
303
- let y = p, b = v, { t: x } = le(), S = a(!1), C = a(), w = a(), T = a(!1);
304
- ae(C, () => {
305
- S.value = !1;
306
- }, { ignore: [w] });
307
- let E = d(() => !y.modelValue), D = d(() => h(y.modelValue)), O = d(() => h(y.modelValue || y.seedColor)), k = d(() => !y.disabled && !E.value), A = i(se, ue), j = d(() => [...new Set(y.presets ?? A.presets)]), M = d(() => y.allowCustom ?? A.allowCustom), N = d(() => j.value.length > 0), P = d(() => M.value || !N.value), F = d(() => g(y.modelValue));
308
- function I(e) {
309
- return F.value !== "" && g(e) === F.value;
310
- }
311
- function L(e) {
312
- b("update:modelValue", e);
313
- }
314
- let R = d(() => N.value && !P.value);
315
- function z(e) {
316
- return R.value ? e + 1 : e;
317
- }
318
- let B = d(() => {
319
- if (R.value && E.value) return 0;
320
- let e = j.value.findIndex((e) => I(e));
321
- return e === -1 ? 0 : z(e);
322
- });
323
- function V() {
324
- return B.value === 0 ? 0 : -1;
325
- }
326
- function H(e) {
327
- return z(e) === B.value ? 0 : -1;
328
- }
329
- function U(e) {
330
- if (![
331
- "ArrowRight",
332
- "ArrowDown",
333
- "ArrowLeft",
334
- "ArrowUp"
335
- ].includes(e.key)) return;
336
- let t = e.currentTarget, n = Array.from(t.querySelectorAll("[role=\"radio\"]")), r = e.target.closest("[role=\"radio\"]"), i = r ? n.indexOf(r) : -1;
337
- i !== -1 && (n[(i + (e.key === "ArrowRight" || e.key === "ArrowDown" ? 1 : -1) + n.length) % n.length]?.focus(), e.preventDefault());
338
- }
339
- function W(e) {
340
- T.value = !0, b("update:modelValue", e.detail.value);
341
- }
342
- function G() {
343
- T.value = !1;
344
- }
345
- function K() {
346
- !T.value && E.value && b("update:modelValue", O.value);
347
- }
348
- function q(e) {
349
- b("update:modelValue", e.target.value);
350
- }
351
- function J() {
352
- b("update:modelValue", "");
353
- }
354
- let Y = de(), { toLocal: X } = fe(), Z = i(oe, null), me = i(ce, null), Q = a({
355
- top: 0,
356
- left: 0
357
- });
358
- function $() {
359
- if (!y.disabled) {
360
- if (!S.value) {
361
- let e = w.value?.getBoundingClientRect();
362
- if (e) {
363
- let t = e.bottom + 8 + 240 <= window.innerHeight ? e.bottom + 8 : Math.max(8, e.top - 240 - 8);
364
- Q.value = X({
365
- top: t,
366
- left: e.left
367
- });
368
- }
369
- }
370
- S.value = !S.value;
371
- }
372
- }
373
- return (i, a) => (e(), c("div", { class: u(["tpl:flex tpl:items-center tpl:gap-2 tpl:relative", p.disabled && "tpl:opacity-60 tpl:cursor-not-allowed"]) }, [
374
- s("button", {
375
- ref_key: "swatchRef",
376
- ref: w,
377
- type: "button",
378
- disabled: p.disabled,
379
- "aria-label": p.ariaLabel || o(x).colorPicker.pickColor,
380
- title: p.ariaLabel || void 0,
381
- "aria-expanded": S.value,
382
- class: u([
383
- "tpl:shrink-0 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-0.5 tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
384
- p.disabled ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer",
385
- S.value ? "tpl:border-[var(--tpl-primary)] tpl:shadow-[var(--tpl-ring)]" : !p.disabled && "tpl:hover:border-[var(--tpl-text-dim)]",
386
- p.size === "sm" ? "tpl:size-8" : "tpl:size-10"
387
- ]),
388
- onClick: $
389
- }, [s("span", {
390
- class: u(["tpl:block tpl:size-full tpl:rounded-[calc(var(--tpl-radius-sm)-2px)]", { "tpl-color-swatch-empty": E.value }]),
391
- style: t(E.value ? void 0 : { backgroundColor: D.value })
392
- }, null, 6)], 10, ge),
393
- !p.swatchOnly && P.value ? (e(), c("div", _e, [s("input", {
394
- type: "text",
395
- class: u([o(pe), "tpl:w-full"]),
396
- style: t(k.value ? { paddingRight: "2.25rem" } : void 0),
397
- value: D.value,
398
- placeholder: p.placeholder || o(x).colorPicker.notSet,
399
- disabled: p.disabled,
400
- "aria-label": o(x).colorPicker.hexValue,
401
- onInput: q
402
- }, null, 46, ve), k.value ? (e(), c("button", {
403
- key: 0,
404
- type: "button",
405
- "aria-label": o(x).colorPicker.clear,
406
- title: o(x).colorPicker.clear,
407
- class: "tpl:absolute tpl:right-2 tpl:top-1/2 tpl:flex tpl:size-6 tpl:-translate-y-1/2 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
408
- onClick: J
409
- }, [l(o(_), {
410
- size: 14,
411
- "stroke-width": 1.5
412
- })], 8, ye)) : f("", !0)])) : f("", !0),
413
- (e(), te(ee, {
414
- to: o(Y),
415
- disabled: !o(Y)
416
- }, [l(ie, {
417
- "enter-active-class": "tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
418
- "enter-from-class": "tpl:opacity-0 tpl:scale-95 tpl:translate-y-1",
419
- "enter-to-class": "tpl:opacity-100 tpl:scale-100 tpl:translate-y-0",
420
- "leave-active-class": "tpl:transition-all tpl:duration-[80ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]",
421
- "leave-from-class": "tpl:opacity-100 tpl:scale-100 tpl:translate-y-0",
422
- "leave-to-class": "tpl:opacity-0 tpl:scale-95 tpl:translate-y-1"
423
- }, {
424
- default: n(() => [S.value ? (e(), c("div", {
425
- key: 0,
426
- ref_key: "popoverRef",
427
- ref: C,
428
- "data-tpl-theme": o(me),
429
- class: "tpl-color-popover tpl:absolute tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-3 tpl:shadow-[var(--tpl-shadow-lg)]",
430
- style: t({
431
- top: `${Q.value.top}px`,
432
- left: `${Q.value.left}px`,
433
- ...o(Z)
434
- })
435
- }, [
436
- N.value ? (e(), c("div", {
437
- key: 0,
438
- role: "radiogroup",
439
- "aria-label": o(x).colorPicker.presetColors,
440
- class: u(["tpl:flex tpl:flex-wrap tpl:gap-1.5", P.value && "tpl:mb-2"]),
441
- onKeydown: U
442
- }, [R.value ? (e(), c("button", {
443
- key: 0,
444
- type: "button",
445
- role: "radio",
446
- "aria-label": o(x).colorPicker.clear,
447
- title: o(x).colorPicker.clear,
448
- "aria-checked": E.value,
449
- tabindex: V(),
450
- class: u(["tpl-color-swatch-empty tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:focus-visible:ring-2 tpl:focus-visible:ring-[var(--tpl-primary)] tpl:focus-visible:ring-offset-1 tpl:focus-visible:ring-offset-[var(--tpl-bg-elevated)]", E.value ? "tpl:ring-2 tpl:ring-[var(--tpl-primary)] tpl:ring-offset-1 tpl:ring-offset-[var(--tpl-bg-elevated)]" : "tpl:hover:border-[var(--tpl-text-dim)]"]),
451
- onClick: J
452
- }, null, 10, Se)) : f("", !0), (e(!0), c(ne, null, r(j.value, (n, r) => (e(), c("button", {
453
- key: n,
454
- type: "button",
455
- role: "radio",
456
- "aria-label": n,
457
- title: n,
458
- "aria-checked": I(n),
459
- tabindex: H(r),
460
- style: t({ backgroundColor: n }),
461
- class: u(["tpl:size-6 tpl:shrink-0 tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:outline-none tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:focus-visible:ring-2 tpl:focus-visible:ring-[var(--tpl-primary)] tpl:focus-visible:ring-offset-1 tpl:focus-visible:ring-offset-[var(--tpl-bg-elevated)]", I(n) ? "tpl:ring-2 tpl:ring-[var(--tpl-primary)] tpl:ring-offset-1 tpl:ring-offset-[var(--tpl-bg-elevated)]" : "tpl:hover:border-[var(--tpl-text-dim)]"]),
462
- onClick: (e) => L(n)
463
- }, null, 14, Ce))), 128))], 42, xe)) : f("", !0),
464
- P.value ? (e(), c("hex-color-picker", {
465
- key: 1,
466
- color: O.value,
467
- "aria-label": o(x).colorPicker.pickColor,
468
- onColorChanged: W,
469
- onPointerdown: G,
470
- onPointerup: K,
471
- onKeydown: a[0] ||= m((e) => S.value = !1, ["escape"])
472
- }, null, 40, we)) : f("", !0),
473
- p.swatchOnly && P.value ? (e(), c("div", Te, [s("input", {
474
- type: "text",
475
- class: u([o(pe), "tpl:w-full"]),
476
- style: t(k.value ? { paddingRight: "2.25rem" } : void 0),
477
- value: D.value,
478
- placeholder: p.placeholder || o(x).colorPicker.notSet,
479
- disabled: p.disabled,
480
- "aria-label": o(x).colorPicker.hexValue,
481
- onChange: q,
482
- onKeydown: a[1] ||= m(re((e) => e.target.blur(), ["prevent"]), ["enter"])
483
- }, null, 46, Ee), k.value ? (e(), c("button", {
484
- key: 0,
485
- type: "button",
486
- "aria-label": o(x).colorPicker.clear,
487
- title: o(x).colorPicker.clear,
488
- class: "tpl:absolute tpl:right-2 tpl:top-1/2 tpl:flex tpl:size-6 tpl:-translate-y-1/2 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
489
- onClick: J
490
- }, [l(o(_), {
491
- size: 14,
492
- "stroke-width": 1.5
493
- })], 8, De)) : f("", !0)])) : f("", !0)
494
- ], 12, be)) : f("", !0)]),
495
- _: 1
496
- })], 8, ["to", "disabled"]))
497
- ], 2));
498
- }
499
- });
500
- //#endregion
501
- export { Oe as t };
@@ -1,128 +0,0 @@
1
- import { A as e, At as t, F as n, M as r, N as i, at as a, c as o, d as s, h as c, jt as l, kt as u, l as d, r as f, s as p, u as m, v as h } from "./vue.runtime.esm-bundler-DShF3P6k.js";
2
- import { g, h as _, m as v } from "./styleConstants-C_YAPdQS.js";
3
- //#region src/components/ToggleSwitch.vue?vue&type=script&setup=true&lang.ts
4
- var y = { key: 0 }, b = {
5
- key: 0,
6
- class: "tpl:text-[var(--tpl-danger)]"
7
- }, x = [
8
- "aria-checked",
9
- "aria-label",
10
- "disabled"
11
- ], S = /* @__PURE__ */ h({
12
- __name: "ToggleSwitch",
13
- props: {
14
- modelValue: { type: Boolean },
15
- label: {},
16
- disabled: { type: Boolean },
17
- required: { type: Boolean }
18
- },
19
- emits: ["update:modelValue"],
20
- setup(t, { emit: n }) {
21
- let r = n;
22
- return (n, a) => (e(), s("label", { class: u(["tpl:flex tpl:items-center tpl:justify-between tpl:gap-2", t.disabled ? "tpl:cursor-not-allowed" : "tpl:cursor-pointer"]) }, [n.$slots.default || t.label || t.required ? (e(), s("span", y, [i(n.$slots, "default", {}, () => [c(l(t.label), 1)]), t.required ? (e(), s("span", b, " *")) : m("", !0)])) : m("", !0), o("button", {
23
- type: "button",
24
- role: "switch",
25
- "aria-checked": t.modelValue,
26
- "aria-label": t.label,
27
- disabled: t.disabled,
28
- class: u([
29
- "tpl:relative tpl:inline-flex tpl:h-5 tpl:w-9 tpl:shrink-0 tpl:rounded-full tpl:border-2 tpl:border-transparent tpl:transition-colors tpl:duration-200",
30
- t.modelValue ? "tpl:bg-[var(--tpl-primary)]" : "tpl:bg-[var(--tpl-border)]",
31
- t.disabled ? "tpl:cursor-not-allowed tpl:opacity-60" : "tpl:cursor-pointer"
32
- ]),
33
- onClick: a[0] ||= (e) => !t.disabled && r("update:modelValue", !t.modelValue)
34
- }, [o("span", { class: u(["tpl:pointer-events-none tpl:inline-block tpl:size-4 tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow)] tpl:transition-transform tpl:duration-200", t.modelValue ? "tpl:translate-x-4" : "tpl:translate-x-0"]) }, null, 2)], 10, x)], 2));
35
- }
36
- }), C = [
37
- "aria-checked",
38
- "aria-label",
39
- "title",
40
- "onClick"
41
- ], w = { key: 1 }, T = /* @__PURE__ */ h({
42
- __name: "SlidingPillSelect",
43
- props: {
44
- options: {},
45
- modelValue: {}
46
- },
47
- emits: ["update:modelValue"],
48
- setup(i, { emit: a }) {
49
- let o = i, c = a, u = p(() => o.options.findIndex((e) => e.value === o.modelValue)), h = p(() => `translateX(${Math.max(u.value, 0) * 100}%)`);
50
- return (a, o) => (e(), s("div", {
51
- role: "radiogroup",
52
- class: "tpl:relative tpl:grid tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1",
53
- style: t({
54
- gridTemplateColumns: `repeat(${i.options.length}, 1fr)`,
55
- backgroundColor: "var(--tpl-bg-hover)"
56
- })
57
- }, [u.value >= 0 ? (e(), s("div", {
58
- key: 0,
59
- class: "tpl:absolute tpl:inset-y-1 tpl:rounded-[var(--tpl-radius-sm)]",
60
- style: t({
61
- left: "4px",
62
- width: `calc((100% - 8px) / ${i.options.length})`,
63
- transform: h.value,
64
- backgroundColor: "var(--tpl-bg)",
65
- boxShadow: "var(--tpl-shadow)",
66
- transition: "transform 120ms cubic-bezier(0.16, 1, 0.3, 1)"
67
- })
68
- }, null, 4)) : m("", !0), (e(!0), s(f, null, r(i.options, (r) => (e(), s("button", {
69
- key: r.value,
70
- role: "radio",
71
- "aria-checked": i.modelValue === r.value,
72
- "aria-label": r.label,
73
- class: "tpl:relative tpl:z-10 tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:py-[5px] tpl:text-xs tpl:font-medium",
74
- style: t({
75
- color: i.modelValue === r.value ? "var(--tpl-primary)" : "var(--tpl-text-muted)",
76
- transition: "color 120ms cubic-bezier(0.16, 1, 0.3, 1)"
77
- }),
78
- title: r.label,
79
- onClick: (e) => c("update:modelValue", r.value)
80
- }, [r.icon ? (e(), d(n(r.icon), {
81
- key: 0,
82
- size: 14,
83
- "stroke-width": 2
84
- })) : (e(), s("span", w, l(r.label), 1))], 12, C))), 128))], 4));
85
- }
86
- }), E = { class: "tpl:flex tpl:items-stretch" }, D = [
87
- "data-testid",
88
- "value",
89
- "min",
90
- "max"
91
- ], O = /* @__PURE__ */ h({
92
- __name: "NumberWithSuffix",
93
- props: {
94
- modelValue: {},
95
- min: {},
96
- max: {},
97
- suffix: {},
98
- testid: {}
99
- },
100
- emits: ["update:modelValue"],
101
- setup(t, { emit: n }) {
102
- let r = n;
103
- function i(e) {
104
- let t = e.target;
105
- t.validity?.badInput || r("update:modelValue", Number(t.value));
106
- }
107
- return (n, r) => (e(), s("div", E, [o("input", {
108
- type: "number",
109
- "data-testid": t.testid,
110
- class: u(a(v)),
111
- value: t.modelValue,
112
- min: t.min,
113
- max: t.max,
114
- onInput: i
115
- }, null, 42, D), o("span", { class: u(a(_)) }, l(t.suffix), 3)]));
116
- }
117
- }), k = { class: "tpl:mb-3.5" }, A = /* @__PURE__ */ h({
118
- __name: "FieldRow",
119
- props: { label: {} },
120
- setup(t) {
121
- return (n, r) => (e(), s("div", k, [t.label ? (e(), s("label", {
122
- key: 0,
123
- class: u(a(g))
124
- }, l(t.label), 3)) : m("", !0), i(n.$slots, "default")]));
125
- }
126
- });
127
- //#endregion
128
- export { S as i, O as n, T as r, A as t };