@templatical/editor 0.16.4 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/{AiChatSidebar-CYAbVB2G.js → AiChatSidebar-LxCHMdcj.js} +1 -1
  2. package/dist/{AiFeatureMenu-BPCkrHAS.js → AiFeatureMenu-zwSmx9ZW.js} +3 -3
  3. package/dist/{BlockIssueBadge-BLytBabN.js → BlockIssueBadge-BQ1yB1me.js} +2 -2
  4. package/dist/{CloudEditor-v8ARYaFW.js → CloudEditor-5ahgKRX8.js} +11 -10
  5. package/dist/{CollaboratorBar-BQzKZ2zo.js → CollaboratorBar-6PtX-1AS.js} +2 -2
  6. package/dist/{ColorPicker-Cab6U2sH.js → ColorPicker-DfzDyNKe.js} +57 -58
  7. package/dist/{CommentsSidebar-C_XLBbo3.js → CommentsSidebar-Cl93TN96.js} +3 -3
  8. package/dist/{CountdownBlock-173fiO5Z.js → CountdownBlock-DbXfzwae.js} +1 -1
  9. package/dist/{CountdownToolbar-q3umZ7TZ.js → CountdownToolbar-BqaMWRyB.js} +3 -3
  10. package/dist/{DesignReferenceSidebar-Bh9uAZ4B.js → DesignReferenceSidebar-jVrdS8wW.js} +2 -2
  11. package/dist/{IssuesPanel-DltSuU6H.js → IssuesPanel-Bq3yXg6M.js} +2 -2
  12. package/dist/{MergeTagSuggestion-DrT3LiZ4.js → MergeTagSuggestion-jIpT_jmz.js} +7 -5
  13. package/dist/{ModuleBrowserModal-CzzChPmN.js → ModuleBrowserModal-B5IH3-1I.js} +7 -7
  14. package/dist/{ModulePreviewCanvas-C0Q2n3FL.js → ModulePreviewCanvas-CYOLWoZ9.js} +2 -2
  15. package/dist/{NumberWithSuffix-Bhm2ByHs.js → NumberWithSuffix-9FG7mNnn.js} +1 -1
  16. package/dist/{ParagraphEditor-BhsBi8p8.js → ParagraphEditor-duWYA6Vv.js} +38 -39
  17. package/dist/{RichTextEditorContent-ef0fdj6e.js → RichTextEditorContent-DCzmVeyb.js} +13 -13
  18. package/dist/{SaveModuleDialog-BNN3dcxD.js → SaveModuleDialog-BPUly5h3.js} +6 -6
  19. package/dist/{SnapshotHistory-tWvgMCe6.js → SnapshotHistory-CmwU3nlN.js} +4 -4
  20. package/dist/{TemplateScoringPanel-ZhObHWeb.js → TemplateScoringPanel-CMrfa9Rd.js} +3 -3
  21. package/dist/{TestEmailModal-EdwEcsrD.js → TestEmailModal-zfomMz9i.js} +3 -3
  22. package/dist/{TitleEditor-DdvRepBq.js → TitleEditor-v0gtezZE.js} +18 -18
  23. package/dist/{TplModal-Niu4Y96-.js → TplModal-eGFG7k-y.js} +4 -4
  24. package/dist/{blockTypeIcons-DHcYPMB8.js → blockTypeIcons-Dd0w4T0I.js} +1 -1
  25. package/dist/bundle-stats.json +7 -7
  26. package/dist/{ca-DI1ViqMa.js → ca-CSl--oWR.js} +1 -1
  27. package/dist/cdn/chunks/{AiFeatureMenu-AoUwsqor.js → AiFeatureMenu-CtXsam7G.js} +6 -6
  28. package/dist/cdn/chunks/{AiFeatureMenu-AoUwsqor.js.map → AiFeatureMenu-CtXsam7G.js.map} +1 -1
  29. package/dist/cdn/chunks/{BlockIssueBadge-DZU3CfEN.js → BlockIssueBadge-DR7cpDfQ.js} +4 -4
  30. package/dist/cdn/chunks/{BlockIssueBadge-DZU3CfEN.js.map → BlockIssueBadge-DR7cpDfQ.js.map} +1 -1
  31. package/dist/cdn/chunks/{CloudEditor-BrZLF_m1.js → CloudEditor-YC5y3AwC.js} +131 -130
  32. package/dist/cdn/chunks/CloudEditor-YC5y3AwC.js.map +1 -0
  33. package/dist/cdn/chunks/{CollaboratorBar-BAC56ez6.js → CollaboratorBar-BOD2j8Kl.js} +3 -3
  34. package/dist/cdn/chunks/{CollaboratorBar-BAC56ez6.js.map → CollaboratorBar-BOD2j8Kl.js.map} +1 -1
  35. package/dist/cdn/chunks/{ColorPicker-DLEoT419.js → ColorPicker-CPMWLHpa.js} +144 -144
  36. package/dist/cdn/chunks/ColorPicker-CPMWLHpa.js.map +1 -0
  37. package/dist/cdn/chunks/{CountdownBlock-BOF9aTXF.js → CountdownBlock-BmGqb7Zi.js} +4 -4
  38. package/dist/cdn/chunks/{CountdownBlock-BOF9aTXF.js.map → CountdownBlock-BmGqb7Zi.js.map} +1 -1
  39. package/dist/cdn/chunks/{CountdownToolbar-C9bQ5k4E.js → CountdownToolbar-BBwsdGbV.js} +4 -4
  40. package/dist/cdn/chunks/{CountdownToolbar-C9bQ5k4E.js.map → CountdownToolbar-BBwsdGbV.js.map} +1 -1
  41. package/dist/cdn/chunks/{IssuesPanel-CHwYahKK.js → IssuesPanel-G0z-j3JS.js} +7 -7
  42. package/dist/cdn/chunks/{IssuesPanel-CHwYahKK.js.map → IssuesPanel-G0z-j3JS.js.map} +1 -1
  43. package/dist/cdn/chunks/{MergeTagSuggestion-jesxS7An.js → MergeTagSuggestion-rpZ6Ol-i.js} +8 -6
  44. package/dist/cdn/chunks/MergeTagSuggestion-rpZ6Ol-i.js.map +1 -0
  45. package/dist/cdn/chunks/{ModuleBrowserModal-iSXXpAUk.js → ModuleBrowserModal-DiLTY0ec.js} +8 -8
  46. package/dist/cdn/chunks/{ModuleBrowserModal-iSXXpAUk.js.map → ModuleBrowserModal-DiLTY0ec.js.map} +1 -1
  47. package/dist/cdn/chunks/{ModulePreviewCanvas-DIy0MZj2.js → ModulePreviewCanvas-CdV5mEQ6.js} +32 -32
  48. package/dist/cdn/chunks/{ModulePreviewCanvas-DIy0MZj2.js.map → ModulePreviewCanvas-CdV5mEQ6.js.map} +1 -1
  49. package/dist/cdn/chunks/{NumberWithSuffix-vPdOG2lO.js → NumberWithSuffix-lqQlf0Uk.js} +2 -2
  50. package/dist/cdn/chunks/{NumberWithSuffix-vPdOG2lO.js.map → NumberWithSuffix-lqQlf0Uk.js.map} +1 -1
  51. package/dist/cdn/chunks/{ParagraphEditor-D7znI_X1.js → ParagraphEditor-BYoZfURd.js} +75 -75
  52. package/dist/cdn/chunks/ParagraphEditor-BYoZfURd.js.map +1 -0
  53. package/dist/cdn/chunks/{RichTextEditorContent-DVwGHbO6.js → RichTextEditorContent-BnPRnXxy.js} +6 -6
  54. package/dist/cdn/chunks/{RichTextEditorContent-DVwGHbO6.js.map → RichTextEditorContent-BnPRnXxy.js.map} +1 -1
  55. package/dist/cdn/chunks/{SaveModuleDialog-D2_qPtE9.js → SaveModuleDialog-C9hUeWyG.js} +20 -20
  56. package/dist/cdn/chunks/{SaveModuleDialog-D2_qPtE9.js.map → SaveModuleDialog-C9hUeWyG.js.map} +1 -1
  57. package/dist/cdn/chunks/{TitleEditor-CKjZ6Cgp.js → TitleEditor-wFvnU3Jr.js} +9 -9
  58. package/dist/cdn/chunks/TitleEditor-wFvnU3Jr.js.map +1 -0
  59. package/dist/cdn/chunks/{blockTypeIcons-BKecgdgr.js → blockTypeIcons-DNMvDz5B.js} +7 -7
  60. package/dist/cdn/chunks/{blockTypeIcons-BKecgdgr.js.map → blockTypeIcons-DNMvDz5B.js.map} +1 -1
  61. package/dist/cdn/chunks/{ca-DI1ViqMa.js → ca-CSl--oWR.js} +2 -2
  62. package/dist/cdn/chunks/ca-CSl--oWR.js.map +1 -0
  63. package/dist/cdn/chunks/{de-q9lTCMre.js → de-ZaffrKDP.js} +2 -2
  64. package/dist/cdn/chunks/de-ZaffrKDP.js.map +1 -0
  65. package/dist/cdn/chunks/{en-CR4LItrX.js → en-CHuXeJDt.js} +2 -2
  66. package/dist/cdn/chunks/en-CHuXeJDt.js.map +1 -0
  67. package/dist/cdn/chunks/{es-CEt-lrGd.js → es-CaC8VQjO.js} +2 -2
  68. package/dist/cdn/chunks/es-CaC8VQjO.js.map +1 -0
  69. package/dist/cdn/chunks/{extensions-OZTN_skA.js → extensions-DxcxIlwT.js} +29 -29
  70. package/dist/cdn/chunks/{extensions-OZTN_skA.js.map → extensions-DxcxIlwT.js.map} +1 -1
  71. package/dist/cdn/chunks/{features-Bo7H8WNI.js → features-B3qgDBHf.js} +727 -677
  72. package/dist/cdn/chunks/features-B3qgDBHf.js.map +1 -0
  73. package/dist/cdn/chunks/{icons-BrNSrnyT.js → icons-kiMqh99T.js} +2 -2
  74. package/dist/cdn/chunks/{icons-BrNSrnyT.js.map → icons-kiMqh99T.js.map} +1 -1
  75. package/dist/cdn/chunks/{media-library-Cec5DMR3.js → media-library-C5ogiZ4f.js} +451 -451
  76. package/dist/cdn/chunks/{media-library-Cec5DMR3.js.map → media-library-C5ogiZ4f.js.map} +1 -1
  77. package/dist/cdn/chunks/{pt-BR-DvBHY0AA.js → pt-BR-C74zfEWH.js} +2 -2
  78. package/dist/cdn/chunks/pt-BR-C74zfEWH.js.map +1 -0
  79. package/dist/cdn/chunks/{quality-Dd2iYgRf.js → quality-BftAn_AJ.js} +512 -512
  80. package/dist/cdn/chunks/{quality-Dd2iYgRf.js.map → quality-BftAn_AJ.js.map} +1 -1
  81. package/dist/cdn/chunks/{renderer-Br-qXdnQ.js → renderer-Cdlo4MVX.js} +16 -16
  82. package/dist/cdn/chunks/{renderer-Br-qXdnQ.js.map → renderer-Cdlo4MVX.js.map} +1 -1
  83. package/dist/cdn/chunks/{src-BH8PABpF.js → src-GBA8oUL2.js} +6 -6
  84. package/dist/cdn/chunks/{src-BH8PABpF.js.map → src-GBA8oUL2.js.map} +1 -1
  85. package/dist/cdn/chunks/{styles-nqo5BynI.js → styles-B6rdq9JB.js} +219 -219
  86. package/dist/cdn/chunks/styles-B6rdq9JB.js.map +1 -0
  87. package/dist/cdn/editor.css +1 -1
  88. package/dist/cdn/editor.js +53 -52
  89. package/dist/cdn/editor.js.map +1 -1
  90. package/dist/{de-q9lTCMre.js → de-ZaffrKDP.js} +1 -1
  91. package/dist/{en-CR4LItrX.js → en-CHuXeJDt.js} +1 -1
  92. package/dist/{es-CEt-lrGd.js → es-CaC8VQjO.js} +1 -1
  93. package/dist/{extensions-B2poxDIo.js → extensions-B4lu0KkE.js} +3 -3
  94. package/dist/index.d.ts +56 -0
  95. package/dist/keys-WVNarXg8.js +10 -0
  96. package/dist/{pt-BR-DvBHY0AA.js → pt-BR-C74zfEWH.js} +1 -1
  97. package/dist/style.css +1 -1
  98. package/dist/{styles-DN4J7w-C.js → styles-mBSbDYeX.js} +98 -98
  99. package/dist/templatical-editor.js +11 -10
  100. package/dist/{useCloudI18n-WbfVWq5k.js → useCloudI18n-CIKI0hCd.js} +1 -1
  101. package/dist/{useEditorCore-DBq2689h.js → useEditorCore-CaaHPKjm.js} +715 -684
  102. package/dist/{useI18n-eR1yVW0v.js → useI18n-0EU_JVe7.js} +1 -1
  103. package/dist/{useMergeTag-C3GfSktg.js → useMergeTag-C7v6MVah.js} +2 -2
  104. package/dist/usePopoverPosition-BDqqnMeo.js +281 -0
  105. package/package.json +7 -7
  106. package/dist/cdn/chunks/CloudEditor-BrZLF_m1.js.map +0 -1
  107. package/dist/cdn/chunks/ColorPicker-DLEoT419.js.map +0 -1
  108. package/dist/cdn/chunks/MergeTagSuggestion-jesxS7An.js.map +0 -1
  109. package/dist/cdn/chunks/ParagraphEditor-D7znI_X1.js.map +0 -1
  110. package/dist/cdn/chunks/TitleEditor-CKjZ6Cgp.js.map +0 -1
  111. package/dist/cdn/chunks/ca-DI1ViqMa.js.map +0 -1
  112. package/dist/cdn/chunks/de-q9lTCMre.js.map +0 -1
  113. package/dist/cdn/chunks/en-CR4LItrX.js.map +0 -1
  114. package/dist/cdn/chunks/es-CEt-lrGd.js.map +0 -1
  115. package/dist/cdn/chunks/features-Bo7H8WNI.js.map +0 -1
  116. package/dist/cdn/chunks/pt-BR-DvBHY0AA.js.map +0 -1
  117. package/dist/cdn/chunks/styles-nqo5BynI.js.map +0 -1
  118. package/dist/color-DhoxCSMv.js +0 -259
  119. package/dist/keys-BbDgCU6K.js +0 -10
  120. package/dist/usePopoverRoot-C1j0D7cc.js +0 -8
@@ -1,7 +1,7 @@
1
1
  import { A as e, Et as t, I as n, O as r, Ot as i, R as ee, Y as a, _ as o, c as s, d as c, h as l, l as u, m as d, nt as f, r as p, u as m, w as te, x as ne, z as re } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { a as h, t as g } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { m as ie, p as ae } from "./dist-DYv_Pttj.js";
4
- import { L as _, S as oe, c as se, m as ce, r as le } from "./keys-BbDgCU6K.js";
4
+ import { C as oe, R as _, c as se, m as ce, r as le } from "./keys-WVNarXg8.js";
5
5
  import { t as v } from "./createLucideIcon-FSF4peHQ.js";
6
6
  import { t as ue } from "./circle-alert-Bhzm-fNA.js";
7
7
  import { t as de } from "./loader-circle-BT38qSm3.js";
@@ -1,11 +1,11 @@
1
1
  import { A as e, Dt as t, N as n, O as r, Ot as i, _ as a, c as o, d as s, l as c, r as l, s as u } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import "./useEditorCore-DBq2689h.js";
3
- import { L as d, t as f } from "./keys-BbDgCU6K.js";
2
+ import "./useEditorCore-CaaHPKjm.js";
3
+ import { R as d, t as f } from "./keys-WVNarXg8.js";
4
4
  import { t as p } from "./image-up-CDEgJqwA.js";
5
5
  import { t as m } from "./shield-check-YYDhGroE.js";
6
6
  import { t as h } from "./sparkles-CCwQMMMZ.js";
7
7
  import { t as g } from "./_plugin-vue_export-helper-B3ysoDQm.js";
8
- import { n as _ } from "./useCloudI18n-WbfVWq5k.js";
8
+ import { n as _ } from "./useCloudI18n-CIKI0hCd.js";
9
9
  //#region src/cloud/components/AiFeatureMenu.vue?vue&type=script&setup=true&lang.ts
10
10
  var v = {
11
11
  class: "tpl-ai-feature-menu tpl:w-[280px] tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:py-1 tpl:bg-[var(--tpl-bg-elevated)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
@@ -1,6 +1,6 @@
1
1
  import { Et as e, O as t, _ as n, d as r, l as i, nt as a, s as o, u as s, x as c } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { N as l } from "./keys-BbDgCU6K.js";
3
- import { t as u } from "./useI18n-eR1yVW0v.js";
2
+ import { P as l } from "./keys-WVNarXg8.js";
3
+ import { t as u } from "./useI18n-0EU_JVe7.js";
4
4
  import { t as d } from "./circle-alert-Bhzm-fNA.js";
5
5
  import { t as f } from "./triangle-alert-B2g0ALvq.js";
6
6
  //#region src/components/canvas/BlockIssueBadge.vue?vue&type=script&setup=true&lang.ts
@@ -2,15 +2,15 @@ import { A as e, D as t, Dt as n, E as r, Et as i, I as a, K as o, O as s, Ot as
2
2
  import { c as E, o as D, t as O } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import { t as k } from "./timeouts-Bmi_yePw.js";
4
4
  import { O as A, a as j } from "./dist-DoRIUsfz.js";
5
- import { L as M, T as N, b as ee, t as P } from "./useEditorCore-DBq2689h.js";
5
+ import { L as M, T as N, b as ee, t as P } from "./useEditorCore-CaaHPKjm.js";
6
6
  import { m as F } from "./dist-DYv_Pttj.js";
7
- import { n as I } from "./color-DhoxCSMv.js";
8
- import { D as L, M as R, c as z, j as te, l as ne, r as B, s as re, t as ie } from "./keys-BbDgCU6K.js";
9
- import { t as V } from "./useI18n-eR1yVW0v.js";
7
+ import { i as I } from "./usePopoverPosition-BDqqnMeo.js";
8
+ import { M as L, N as R, O as te, c as z, l as ne, r as B, s as re, t as ie } from "./keys-WVNarXg8.js";
9
+ import { t as V } from "./useI18n-0EU_JVe7.js";
10
10
  import { t as H } from "./createLucideIcon-FSF4peHQ.js";
11
11
  import { t as U } from "./check-Cg6Mc2pP.js";
12
12
  import { t as W } from "./circle-alert-Bhzm-fNA.js";
13
- import { a as G, c as ae, d as oe, f as K, i as q, l as se, n as ce, o as le, p as ue, r as de, s as fe, t as pe, u as me } from "./styles-DN4J7w-C.js";
13
+ import { a as G, c as ae, d as oe, f as K, i as q, l as se, n as ce, o as le, p as ue, r as de, s as fe, t as pe, u as me } from "./styles-mBSbDYeX.js";
14
14
  import { t as he } from "./clock-m7TwQw4b.js";
15
15
  import { t as J } from "./loader-circle-BT38qSm3.js";
16
16
  import { t as ge } from "./message-circle-BAHcL9S-.js";
@@ -18,8 +18,8 @@ import { t as _e } from "./send-DvMay6bt.js";
18
18
  import { t as Y } from "./sparkles-CCwQMMMZ.js";
19
19
  import { t as X } from "./triangle-alert-B2g0ALvq.js";
20
20
  import { t as Z } from "./_plugin-vue_export-helper-B3ysoDQm.js";
21
- import { n as Q } from "./useCloudI18n-WbfVWq5k.js";
22
- import { d as $ } from "./ColorPicker-Cab6U2sH.js";
21
+ import { n as Q } from "./useCloudI18n-CIKI0hCd.js";
22
+ import { d as $ } from "./ColorPicker-DfzDyNKe.js";
23
23
  import { _ as ve, a as ye, c as be, d as xe, f as Se, g as Ce, h as we, l as Te, m as Ee, n as De, o as Oe, p as ke, r as Ae, s as je, t as Me, v as Ne, y as Pe } from "./cloud-BogxOeZu.js";
24
24
  var Fe = H("save", [
25
25
  ["path", {
@@ -279,6 +279,7 @@ function Ve(e) {
279
279
  blockDefaults: t.blockDefaults,
280
280
  customBlocks: [],
281
281
  paletteBlocks: t.paletteBlocks,
282
+ htmlBlockPreview: t.htmlBlockPreview,
282
283
  mergeTags: t.mergeTags,
283
284
  logicTags: t.logicTags,
284
285
  displayConditions: t.displayConditions,
@@ -372,7 +373,7 @@ function Ve(e) {
372
373
  o()?.filterByBlock(e);
373
374
  });
374
375
  }
375
- _(L, A.handleRequestMedia), _(B, h), _(ie, O), _(ne, F), _(te, I), _(R, U), _(re, {
376
+ _(te, A.handleRequestMedia), _(B, h), _(ie, O), _(ne, F), _(L, I), _(R, U), _(re, {
376
377
  plan: g,
377
378
  ai: O,
378
379
  comments: {
@@ -628,7 +629,7 @@ var Ge = ["aria-label"], Ke = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
628
629
  },
629
630
  emits: ["save"],
630
631
  setup(e) {
631
- let t = h(() => import("./CollaboratorBar-BQzKZ2zo.js")), r = h(() => import("./SnapshotHistory-tWvgMCe6.js")), a = h(() => import("./AiFeatureMenu-BPCkrHAS.js")), { t: o, format: u } = Q();
632
+ let t = h(() => import("./CollaboratorBar-6PtX-1AS.js")), r = h(() => import("./SnapshotHistory-CmwU3nlN.js")), a = h(() => import("./AiFeatureMenu-zwSmx9ZW.js")), { t: o, format: u } = Q();
632
633
  return (d, f) => (s(), m("header", tt, [
633
634
  p("div", nt, [e.featureFlags.templateLimit.value === null ? w("", !0) : (s(), m("span", rt, c(b(u)(b(o).header.templatesUsed, {
634
635
  used: e.featureFlags.templateCount.value,
@@ -790,7 +791,7 @@ var Ge = ["aria-label"], Ke = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
790
791
  "module-insert"
791
792
  ],
792
793
  setup(e, { expose: t, emit: n }) {
793
- let r = h(() => import("./AiChatSidebar-CYAbVB2G.js")), i = h(() => import("./CommentsSidebar-C_XLBbo3.js")), a = h(() => import("./DesignReferenceSidebar-Bh9uAZ4B.js")), o = h(() => import("./TemplateScoringPanel-ZhObHWeb.js")), c = h(() => import("./TestEmailModal-EdwEcsrD.js")), l = h(() => import("./SaveModuleDialog-BNN3dcxD.js")), d = h(() => import("./ModuleBrowserModal-CzzChPmN.js")), f = h(async () => {
794
+ let r = h(() => import("./AiChatSidebar-LxCHMdcj.js")), i = h(() => import("./CommentsSidebar-Cl93TN96.js")), a = h(() => import("./DesignReferenceSidebar-jVrdS8wW.js")), o = h(() => import("./TemplateScoringPanel-CMrfa9Rd.js")), c = h(() => import("./TestEmailModal-zfomMz9i.js")), l = h(() => import("./SaveModuleDialog-BPUly5h3.js")), d = h(() => import("./ModuleBrowserModal-B5IH3-1I.js")), f = h(async () => {
794
795
  try {
795
796
  return (await import("@templatical/media-library")).MediaLibraryModal;
796
797
  } catch {
@@ -1,7 +1,7 @@
1
1
  import { A as e, Dt as t, O as n, Ot as r, _ as i, c as a, d as o, l as s, nt as c, r as l, s as u, u as d } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import "./useEditorCore-DBq2689h.js";
2
+ import "./useEditorCore-CaaHPKjm.js";
3
3
  import { t as f } from "./createLucideIcon-FSF4peHQ.js";
4
- import { n as p } from "./useCloudI18n-WbfVWq5k.js";
4
+ import { n as p } from "./useCloudI18n-CIKI0hCd.js";
5
5
  import { t as m } from "./readableTextColor-f8Kykfnh.js";
6
6
  var h = f("wifi-off", [
7
7
  ["path", {
@@ -1,10 +1,9 @@
1
1
  import { Dt as e, Et as t, O as n, R as r, Y as i, _ as a, c as o, d as s, h as c, i as ee, l as te, nt as l, s as u, u as d, x as f } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { c as ne, s as p, t as re } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { n as ie, t as m } from "./color-DhoxCSMv.js";
4
- import { I as ae, P as oe } from "./keys-BbDgCU6K.js";
5
- import { t as se } from "./useI18n-eR1yVW0v.js";
3
+ import { i as ie, n as ae, r as m, t as oe } from "./usePopoverPosition-BDqqnMeo.js";
4
+ import { F as se, L as ce } from "./keys-WVNarXg8.js";
5
+ import { t as le } from "./useI18n-0EU_JVe7.js";
6
6
  import { t as h } from "./x-Ctg_250T.js";
7
- import { t as ce } from "./usePopoverRoot-C1j0D7cc.js";
8
7
  //#region src/constants/styleConstants.ts
9
8
  var g = "tpl:block tpl:mb-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]", _ = "tpl:w-full tpl:h-10 tpl:px-3.5 tpl:py-1.5 tpl:text-sm tpl:border tpl:rounded-[var(--tpl-radius-sm)] tpl:shadow-xs tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:outline-none focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)] placeholder:tpl:text-[var(--tpl-text-dim)]", v = "tpl:w-full tpl:h-10 tpl:px-3.5 tpl:py-1.5 tpl:text-sm tpl:border tpl:rounded-l-[var(--tpl-radius-sm)] tpl:rounded-r-none tpl:border-r-0 tpl:shadow-xs tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:outline-none focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)] placeholder:tpl:text-[var(--tpl-text-dim)]", y = "tpl:flex tpl:items-center tpl:px-2.5 tpl:text-xs tpl:border tpl:border-l-0 tpl:text-[var(--tpl-text-dim)] tpl:bg-[var(--tpl-bg-hover)] tpl:border-[var(--tpl-border)] tpl:rounded-r-[var(--tpl-radius-sm)]", b = "tpl:flex-1 tpl:h-10 tpl:px-3.5 tpl:py-1.5 tpl:text-xs tpl:font-mono tpl:border tpl:rounded-[var(--tpl-radius-sm)] tpl:shadow-xs tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)] tpl:border-[var(--tpl-border)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:outline-none focus:tpl:border-[var(--tpl-primary)] focus:tpl:shadow-[var(--tpl-ring)]", x = "tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-4 tpl:border tpl:border-[var(--tpl-border)] tpl:transition-colors tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-bg-hover)]", S = "tpl:flex tpl:size-8 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-danger)] tpl:hover:bg-[var(--tpl-danger-light)] tpl:hover:text-[var(--tpl-danger)]", C = "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:border-[var(--tpl-primary)] tpl:hover:text-[var(--tpl-primary)]", w = "tpl:w-full tpl:resize-y tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-2.5 tpl:py-2 tpl:font-mono tpl:text-xs tpl:text-[var(--tpl-text)] tpl:outline-none tpl:transition-all tpl:duration-150 tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]", T = "tpl-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3.5 tpl:py-2 tpl:text-sm tpl:font-medium tpl:whitespace-nowrap tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] hover:tpl:bg-[var(--tpl-primary)] hover:tpl:text-[var(--tpl-bg)] tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50", E = [
10
9
  "10px",
@@ -59,7 +58,7 @@ var g = "tpl:block tpl:mb-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-te
59
58
  }
60
59
  ], k = "#000000", A = "#ffffff", j = "#ffff00", M = "#f2f2f2", N = (e, t = 0, n = 1) => e > n ? n : e < t ? t : e, P = (e, t = 0, n = 10 ** t) => Math.round(n * e) / n;
61
60
  360 / (Math.PI * 2);
62
- var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.length < 6 ? {
61
+ var F = (e) => fe(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.length < 6 ? {
63
62
  r: parseInt(e[0] + e[0], 16),
64
63
  g: parseInt(e[1] + e[1], 16),
65
64
  b: parseInt(e[2] + e[2], 16),
@@ -69,7 +68,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
69
68
  g: parseInt(e.substring(2, 4), 16),
70
69
  b: parseInt(e.substring(4, 6), 16),
71
70
  a: e.length === 8 ? P(parseInt(e.substring(6, 8), 16) / 255, 2) : 1
72
- }), L = (e) => ue(le(e)), R = ({ h: e, s: t, v: n, a: r }) => {
71
+ }), L = (e) => de(ue(e)), R = ({ h: e, s: t, v: n, a: r }) => {
73
72
  let i = (200 - t) * n / 100;
74
73
  return {
75
74
  h: P(e),
@@ -80,7 +79,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
80
79
  }, z = (e) => {
81
80
  let { h: t, s: n, l: r } = R(e);
82
81
  return `hsl(${t}, ${n}%, ${r}%)`;
83
- }, le = ({ h: e, s: t, v: n, a: r }) => {
82
+ }, ue = ({ h: e, s: t, v: n, a: r }) => {
84
83
  e = e / 360 * 6, t /= 100, n /= 100;
85
84
  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;
86
85
  return {
@@ -113,10 +112,10 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
113
112
  }, B = (e) => {
114
113
  let t = e.toString(16);
115
114
  return t.length < 2 ? "0" + t : t;
116
- }, ue = ({ r: e, g: t, b: n, a: r }) => {
115
+ }, de = ({ r: e, g: t, b: n, a: r }) => {
117
116
  let i = r < 1 ? B(P(r * 255)) : "";
118
117
  return "#" + B(e) + B(t) + B(n) + i;
119
- }, de = ({ r: e, g: t, b: n, a: r }) => {
118
+ }, fe = ({ r: e, g: t, b: n, a: r }) => {
120
119
  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;
121
120
  return {
122
121
  h: P(60 * (o < 0 ? o + 6 : o)),
@@ -128,7 +127,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
128
127
  if (e === t) return !0;
129
128
  for (let n in e) if (e[n] !== t[n]) return !1;
130
129
  return !0;
131
- }, fe = (e, t) => e.toLowerCase() === t.toLowerCase() || V(I(e), I(t)), H = {}, U = (e) => {
130
+ }, pe = (e, t) => e.toLowerCase() === t.toLowerCase() || V(I(e), I(t)), H = {}, U = (e) => {
132
131
  let t = H[e];
133
132
  return t || (t = document.createElement("template"), t.innerHTML = e, H[e] = t), t;
134
133
  }, W = (e, t, n) => {
@@ -136,13 +135,13 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
136
135
  bubbles: !0,
137
136
  detail: n
138
137
  }));
139
- }, G = !1, K = (e) => "touches" in e, pe = (e) => G && !K(e) ? !1 : (G ||= K(e), !0), q = (e, t) => {
138
+ }, G = !1, K = (e) => "touches" in e, me = (e) => G && !K(e) ? !1 : (G ||= K(e), !0), q = (e, t) => {
140
139
  let n = K(t) ? t.touches[0] : t, r = e.el.getBoundingClientRect();
141
140
  W(e.el, "move", e.getMove({
142
141
  x: N((n.pageX - (r.left + window.pageXOffset)) / r.width),
143
142
  y: N((n.pageY - (r.top + window.pageYOffset)) / r.height)
144
143
  }));
145
- }, me = (e, t) => {
144
+ }, he = (e, t) => {
146
145
  let n = t.keyCode;
147
146
  n > 40 || e.xy && n < 37 || n < 33 || (t.preventDefault(), W(e.el, "move", e.getMove({
148
147
  x: n === 39 ? .01 : n === 37 ? -.01 : n === 34 ? .05 : n === 33 ? -.05 : n === 35 ? 1 : n === 36 ? -1 : 0,
@@ -163,7 +162,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
163
162
  switch (e.type) {
164
163
  case "mousedown":
165
164
  case "touchstart":
166
- if (e.preventDefault(), !pe(e) || !G && e.button != 0) return;
165
+ if (e.preventDefault(), !me(e) || !G && e.button != 0) return;
167
166
  this.el.focus(), q(this, e), this.dragging = !0;
168
167
  break;
169
168
  case "mousemove":
@@ -175,7 +174,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
175
174
  this.dragging = !1;
176
175
  break;
177
176
  case "keydown":
178
- me(this, e);
177
+ he(this, e);
179
178
  break;
180
179
  }
181
180
  }
@@ -184,7 +183,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
184
183
  for (let n in e) this.nodes[t].style.setProperty(n, e[n]);
185
184
  });
186
185
  }
187
- }, he = class extends J {
186
+ }, ge = class extends J {
188
187
  constructor(e) {
189
188
  super(e, "hue", "aria-label=\"Hue\" aria-valuemin=\"0\" aria-valuemax=\"360\"", !1);
190
189
  }
@@ -202,7 +201,7 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
202
201
  getMove(e, t) {
203
202
  return { h: t ? N(this.h + e.x * 360, 0, 360) : 360 * e.x };
204
203
  }
205
- }, ge = class extends J {
204
+ }, _e = class extends J {
206
205
  constructor(e) {
207
206
  super(e, "saturation", "aria-label=\"Color\"", !0);
208
207
  }
@@ -224,19 +223,19 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
224
223
  v: t ? N(this.hsva.v - e.y * 100, 0, 100) : Math.round(100 - e.y * 100)
225
224
  };
226
225
  }
227
- }, _e = ":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)}", ve = "[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}", ye = "[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}", Y = Symbol("same"), X = Symbol("color"), Z = Symbol("hsva"), Q = Symbol("update"), $ = Symbol("parts"), be = Symbol("css"), xe = Symbol("sliders"), Se = class extends HTMLElement {
226
+ }, ve = ":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)}", ye = "[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}", be = "[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}", Y = Symbol("same"), X = Symbol("color"), Z = Symbol("hsva"), Q = Symbol("update"), xe = Symbol("parts"), Se = Symbol("css"), $ = Symbol("sliders"), Ce = class extends HTMLElement {
228
227
  static get observedAttributes() {
229
228
  return ["color"];
230
229
  }
231
- get [be]() {
230
+ get [Se]() {
232
231
  return [
233
- _e,
234
232
  ve,
235
- ye
233
+ ye,
234
+ be
236
235
  ];
237
236
  }
238
- get [xe]() {
239
- return [ge, he];
237
+ get [$]() {
238
+ return [_e, ge];
240
239
  }
241
240
  get color() {
242
241
  return this[X];
@@ -249,8 +248,8 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
249
248
  }
250
249
  constructor() {
251
250
  super();
252
- let e = U(`<style>${this[be].join("")}</style>`), t = this.attachShadow({ mode: "open" });
253
- t.appendChild(e.content.cloneNode(!0)), t.addEventListener("move", this), this[$] = this[xe].map((e) => new e(t));
251
+ let e = U(`<style>${this[Se].join("")}</style>`), t = this.attachShadow({ mode: "open" });
252
+ t.appendChild(e.content.cloneNode(!0)), t.addEventListener("move", this), this[xe] = this[$].map((e) => new e(t));
254
253
  }
255
254
  connectedCallback() {
256
255
  if (this.hasOwnProperty("color")) {
@@ -275,9 +274,9 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
275
274
  return this.color && this.colorModel.equal(e, this.color);
276
275
  }
277
276
  [Q](e) {
278
- this[Z] = e, this[$].forEach((t) => t.update(e));
277
+ this[Z] = e, this[xe].forEach((t) => t.update(e));
279
278
  }
280
- }, Ce = {
279
+ }, we = {
281
280
  defaultColor: "#000",
282
281
  toHsva: F,
283
282
  fromHsva: ({ h: e, s: t, v: n }) => L({
@@ -286,38 +285,38 @@ var F = (e) => de(I(e)), I = (e) => (e[0] === "#" && (e = e.substring(1)), e.len
286
285
  v: n,
287
286
  a: 1
288
287
  }),
289
- equal: fe,
288
+ equal: pe,
290
289
  fromAttr: (e) => e
291
- }, we = class extends Se {
290
+ }, Te = class extends Ce {
292
291
  get colorModel() {
293
- return Ce;
292
+ return we;
294
293
  }
295
- }, Te = class extends we {};
296
- customElements.define("hex-color-picker", Te);
294
+ }, Ee = class extends Te {};
295
+ customElements.define("hex-color-picker", Ee);
297
296
  //#endregion
298
297
  //#region src/components/ColorPicker.vue?vue&type=script&setup=true&lang.ts
299
- var Ee = [
298
+ var De = [
300
299
  "disabled",
301
300
  "aria-label",
302
301
  "title",
303
302
  "aria-expanded"
304
- ], De = {
303
+ ], Oe = {
305
304
  key: 0,
306
305
  class: "tpl:relative tpl:flex-1"
307
- }, Oe = [
306
+ }, ke = [
308
307
  "value",
309
308
  "placeholder",
310
309
  "disabled",
311
310
  "aria-label"
312
- ], ke = ["aria-label", "title"], Ae = ["data-tpl-theme"], je = ["color", "aria-label"], Me = {
311
+ ], Ae = ["aria-label", "title"], je = ["data-tpl-theme"], Me = ["color", "aria-label"], Ne = {
313
312
  key: 0,
314
313
  class: "tpl:relative tpl:mt-2"
315
- }, Ne = [
314
+ }, Pe = [
316
315
  "value",
317
316
  "placeholder",
318
317
  "disabled",
319
318
  "aria-label"
320
- ], Pe = ["aria-label", "title"], Fe = /* @__PURE__ */ a({
319
+ ], Fe = ["aria-label", "title"], Ie = /* @__PURE__ */ a({
321
320
  __name: "ColorPicker",
322
321
  props: {
323
322
  modelValue: {},
@@ -336,7 +335,7 @@ var Ee = [
336
335
  },
337
336
  emits: ["update:modelValue"],
338
337
  setup(a, { emit: g }) {
339
- let _ = a, v = g, { t: y } = se(), x = i(!1), S = i(), C = i(), w = i(!1);
338
+ let _ = a, v = g, { t: y } = le(), x = i(!1), S = i(), C = i(), w = i(!1);
340
339
  ie(S, () => {
341
340
  x.value = !1;
342
341
  }, { ignore: [C] });
@@ -356,20 +355,20 @@ var Ee = [
356
355
  function N() {
357
356
  v("update:modelValue", "");
358
357
  }
359
- let P = ce(), F = f(oe, null), I = f(ae, null), L = i({
358
+ let P = ae(), { toLocal: F } = oe(), I = f(se, null), L = f(ce, null), R = i({
360
359
  top: 0,
361
360
  left: 0
362
361
  });
363
- function R() {
362
+ function z() {
364
363
  if (!_.disabled) {
365
364
  if (!x.value) {
366
365
  let e = C.value?.getBoundingClientRect();
367
366
  if (e) {
368
- let t = e.bottom + 8 + 240 <= window.innerHeight;
369
- L.value = {
370
- top: t ? e.bottom + 8 : Math.max(8, e.top - 240 - 8),
367
+ let t = e.bottom + 8 + 240 <= window.innerHeight ? e.bottom + 8 : Math.max(8, e.top - 240 - 8);
368
+ R.value = F({
369
+ top: t,
371
370
  left: e.left
372
- };
371
+ });
373
372
  }
374
373
  }
375
374
  x.value = !x.value;
@@ -390,12 +389,12 @@ var Ee = [
390
389
  x.value ? "tpl:border-[var(--tpl-primary)] tpl:shadow-[var(--tpl-ring)]" : !a.disabled && "hover:tpl:border-[var(--tpl-text-dim)]",
391
390
  a.size === "sm" ? "tpl:size-8" : "tpl:size-10"
392
391
  ]),
393
- onClick: R
392
+ onClick: z
394
393
  }, [o("span", {
395
394
  class: t(["tpl:block tpl:size-full tpl:rounded-[calc(var(--tpl-radius-sm)-2px)]", { "tpl-color-swatch-empty": T.value }]),
396
395
  style: e(T.value ? void 0 : { backgroundColor: E.value })
397
- }, null, 6)], 10, Ee),
398
- a.swatchOnly ? d("", !0) : (n(), s("div", De, [o("input", {
396
+ }, null, 6)], 10, De),
397
+ a.swatchOnly ? d("", !0) : (n(), s("div", Oe, [o("input", {
399
398
  type: "text",
400
399
  class: t([l(b), "tpl:w-full"]),
401
400
  style: e(O.value ? { paddingRight: "2.25rem" } : void 0),
@@ -404,7 +403,7 @@ var Ee = [
404
403
  disabled: a.disabled,
405
404
  "aria-label": l(y).colorPicker.hexValue,
406
405
  onInput: M
407
- }, null, 46, Oe), O.value ? (n(), s("button", {
406
+ }, null, 46, ke), O.value ? (n(), s("button", {
408
407
  key: 0,
409
408
  type: "button",
410
409
  "aria-label": l(y).colorPicker.clear,
@@ -414,7 +413,7 @@ var Ee = [
414
413
  }, [c(l(h), {
415
414
  size: 14,
416
415
  "stroke-width": 1.5
417
- })], 8, ke)) : d("", !0)])),
416
+ })], 8, Ae)) : d("", !0)])),
418
417
  (n(), te(ee, {
419
418
  to: l(P),
420
419
  disabled: !l(P)
@@ -430,12 +429,12 @@ var Ee = [
430
429
  key: 0,
431
430
  ref_key: "popoverRef",
432
431
  ref: S,
433
- "data-tpl-theme": l(I),
434
- class: "tpl-color-popover tpl:fixed tpl:z-modal tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-3 tpl:shadow-lg",
432
+ "data-tpl-theme": l(L),
433
+ class: "tpl-color-popover tpl:absolute tpl:z-modal tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-3 tpl:shadow-lg",
435
434
  style: e({
436
- top: `${L.value.top}px`,
437
- left: `${L.value.left}px`,
438
- ...l(F)
435
+ top: `${R.value.top}px`,
436
+ left: `${R.value.left}px`,
437
+ ...l(I)
439
438
  })
440
439
  }, [o("hex-color-picker", {
441
440
  color: D.value,
@@ -444,7 +443,7 @@ var Ee = [
444
443
  onPointerdown: A,
445
444
  onPointerup: j,
446
445
  onKeydown: u[0] ||= p((e) => x.value = !1, ["escape"])
447
- }, null, 40, je), a.swatchOnly ? (n(), s("div", Me, [o("input", {
446
+ }, null, 40, Me), a.swatchOnly ? (n(), s("div", Ne, [o("input", {
448
447
  type: "text",
449
448
  class: t([l(b), "tpl:w-full"]),
450
449
  style: e(O.value ? { paddingRight: "2.25rem" } : void 0),
@@ -454,7 +453,7 @@ var Ee = [
454
453
  "aria-label": l(y).colorPicker.hexValue,
455
454
  onChange: M,
456
455
  onKeydown: u[1] ||= p(ne((e) => e.target.blur(), ["prevent"]), ["enter"])
457
- }, null, 46, Ne), O.value ? (n(), s("button", {
456
+ }, null, 46, Pe), O.value ? (n(), s("button", {
458
457
  key: 0,
459
458
  type: "button",
460
459
  "aria-label": l(y).colorPicker.clear,
@@ -464,11 +463,11 @@ var Ee = [
464
463
  }, [c(l(h), {
465
464
  size: 14,
466
465
  "stroke-width": 1.5
467
- })], 8, Pe)) : d("", !0)])) : d("", !0)], 12, Ae)) : d("", !0)]),
466
+ })], 8, Fe)) : d("", !0)])) : d("", !0)], 12, je)) : d("", !0)]),
468
467
  _: 1
469
468
  })], 8, ["to", "disabled"]))
470
469
  ], 2));
471
470
  }
472
471
  });
473
472
  //#endregion
474
- export { S as _, k as a, D as c, T as d, _ as f, w as g, g as h, M as i, C as l, y as m, A as n, E as o, v as p, j as r, O as s, Fe as t, x as u };
473
+ export { S as _, k as a, D as c, T as d, _ as f, w as g, g as h, M as i, C as l, y as m, A as n, E as o, v as p, j as r, O as s, Ie as t, x as u };
@@ -1,7 +1,7 @@
1
1
  import { A as e, Dt as t, Et as n, I as r, O as i, Ot as a, R as o, Y as s, _ as c, c as l, d as u, h as d, l as f, m as ee, nt as p, r as m, s as h, u as g, w as te, z as _ } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { a as v, t as y } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import { L as b, l as ne, m as re, r as ie } from "./keys-BbDgCU6K.js";
4
- import { t as ae } from "./useI18n-eR1yVW0v.js";
3
+ import { R as b, l as ne, m as re, r as ie } from "./keys-WVNarXg8.js";
4
+ import { t as ae } from "./useI18n-0EU_JVe7.js";
5
5
  import { t as x } from "./createLucideIcon-FSF4peHQ.js";
6
6
  import { t as oe } from "./check-Cg6Mc2pP.js";
7
7
  import { t as se } from "./chevron-down-dClfxKrJ.js";
@@ -11,7 +11,7 @@ import { t as w } from "./send-DvMay6bt.js";
11
11
  import { t as T } from "./trash-2-CRBDolnR.js";
12
12
  import { t as E } from "./x-Ctg_250T.js";
13
13
  import { t as D } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
- import { n as ce } from "./useCloudI18n-WbfVWq5k.js";
14
+ import { n as ce } from "./useCloudI18n-CIKI0hCd.js";
15
15
  import { t as le } from "./formatRelativeTime-CtUU-QZ8.js";
16
16
  var ue = x("chevron-up", [["path", {
17
17
  d: "m18 15-6-6-6 6",
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
2
  import { A as t, Dt as n, O as r, Ot as i, Y as a, _ as o, c as s, d as c, nt as l, r as u, s as d, u as f } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
3
3
  import { p } from "./dist-DYv_Pttj.js";
4
- import { t as m } from "./useI18n-eR1yVW0v.js";
4
+ import { t as m } from "./useI18n-0EU_JVe7.js";
5
5
  //#region src/components/blocks/CountdownBlock.vue?vue&type=script&setup=true&lang.ts
6
6
  var h = {
7
7
  key: 0,
@@ -1,8 +1,8 @@
1
1
  import { A as e, Et as t, O as n, Ot as r, R as i, _ as a, c as o, d as s, h as c, l, nt as u, r as d, s as f } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { t as p } from "./useI18n-eR1yVW0v.js";
3
- import { f as m, t as h } from "./ColorPicker-Cab6U2sH.js";
2
+ import { t as p } from "./useI18n-0EU_JVe7.js";
3
+ import { f as m, t as h } from "./ColorPicker-DfzDyNKe.js";
4
4
  import { t as g } from "./ToggleSwitch-DUNuUPsZ.js";
5
- import { n as _, r as v, t as y } from "./NumberWithSuffix-Bhm2ByHs.js";
5
+ import { n as _, r as v, t as y } from "./NumberWithSuffix-9FG7mNnn.js";
6
6
  //#region src/components/toolbar/CountdownToolbar.vue?vue&type=script&setup=true&lang.ts
7
7
  var b = ["value"], x = ["value"], S = ["value"], C = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-2" }, w = ["value"], T = { value: "" }, E = ["value"], D = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, O = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-3" }, k = { class: "tpl:grid tpl:grid-cols-2 tpl:gap-2" }, A = [
8
8
  "value",
@@ -1,7 +1,7 @@
1
1
  import { Dt as e, Et as t, I as n, O as r, Ot as i, R as ee, T as a, Y as o, _ as s, c, d as l, h as u, l as te, m as d, nt as f, s as ne, u as p, z as re } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { a as ie, t as ae } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
3
  import "./timeouts-Bmi_yePw.js";
4
- import { L as m, m as oe, r as se } from "./keys-BbDgCU6K.js";
4
+ import { R as m, m as oe, r as se } from "./keys-WVNarXg8.js";
5
5
  import { t as h } from "./createLucideIcon-FSF4peHQ.js";
6
6
  import { t as ce } from "./circle-alert-Bhzm-fNA.js";
7
7
  import { t as g } from "./image-up-CDEgJqwA.js";
@@ -9,7 +9,7 @@ import { t as _ } from "./upload-BKg6hDRW.js";
9
9
  import { t as v } from "./x-Ctg_250T.js";
10
10
  import { t as le } from "./LoadingTrack-KIcREPlS.js";
11
11
  import { t as y } from "./_plugin-vue_export-helper-B3ysoDQm.js";
12
- import { n as ue } from "./useCloudI18n-WbfVWq5k.js";
12
+ import { n as ue } from "./useCloudI18n-CIKI0hCd.js";
13
13
  import { u as de } from "./cloud-BogxOeZu.js";
14
14
  var fe = h("file-image", [
15
15
  ["path", {
@@ -1,6 +1,6 @@
1
1
  import { A as e, Et as t, N as n, O as r, Ot as i, _ as a, c as o, d as s, h as c, l, m as u, nt as d, r as f, s as p, u as m, x as h } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { N as g, m as _ } from "./keys-BbDgCU6K.js";
3
- import { t as v } from "./useI18n-eR1yVW0v.js";
2
+ import { P as g, m as _ } from "./keys-WVNarXg8.js";
3
+ import { t as v } from "./useI18n-0EU_JVe7.js";
4
4
  import { t as y } from "./createLucideIcon-FSF4peHQ.js";
5
5
  import { t as b } from "./circle-alert-Bhzm-fNA.js";
6
6
  import { t as x } from "./info-BNP8yGsK.js";
@@ -1202,11 +1202,13 @@ function kt(e, t) {
1202
1202
  }
1203
1203
  function b(e) {
1204
1204
  if (!r || !e || e.bottom < 0 || e.top > window.innerHeight) return;
1205
- r.style.position = "fixed", r.style.left = `${e.left}px`, r.style.zIndex = "9999", r.style.top = `${e.bottom}px`;
1206
- let t = r.offsetHeight;
1207
- if (t !== 0 && window.innerHeight - e.bottom < t) {
1208
- let n = Math.max(0, e.top - t);
1209
- r.style.top = `${n}px`;
1205
+ r.style.position = "absolute", r.style.zIndex = "9999";
1206
+ let t = r.offsetParent?.getBoundingClientRect(), n = t?.top ?? 0, i = t?.left ?? 0;
1207
+ r.style.left = `${e.left - i}px`, r.style.top = `${e.bottom - n}px`;
1208
+ let a = r.offsetHeight;
1209
+ if (a !== 0 && window.innerHeight - e.bottom < a) {
1210
+ let t = Math.max(0, e.top - a);
1211
+ r.style.top = `${t - n}px`;
1210
1212
  }
1211
1213
  }
1212
1214
  function x(e, t) {
@@ -1,13 +1,13 @@
1
1
  import { A as e, Dt as t, I as n, N as r, O as i, Ot as a, R as o, Y as s, _ as c, c as l, d as u, g as ee, h as d, l as f, nt as p, r as m, s as h, u as te, z as g } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
2
  import { a as ne, c as _, i as re } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
3
- import "./useEditorCore-DBq2689h.js";
4
- import { L as v, j as ie, m as ae } from "./keys-BbDgCU6K.js";
5
- import { t as oe } from "./useI18n-eR1yVW0v.js";
6
- import { n as se, r as y, t as b } from "./blockTypeIcons-DHcYPMB8.js";
3
+ import "./useEditorCore-CaaHPKjm.js";
4
+ import { M as ie, R as v, m as ae } from "./keys-WVNarXg8.js";
5
+ import { t as oe } from "./useI18n-0EU_JVe7.js";
6
+ import { n as se, r as y, t as b } from "./blockTypeIcons-Dd0w4T0I.js";
7
7
  import { t as ce } from "./trash-2-CRBDolnR.js";
8
8
  import { t as le } from "./x-Ctg_250T.js";
9
- import { n as ue } from "./useCloudI18n-WbfVWq5k.js";
10
- import { t as de } from "./TplModal-Niu4Y96-.js";
9
+ import { n as ue } from "./useCloudI18n-CIKI0hCd.js";
10
+ import { t as de } from "./TplModal-eGFG7k-y.js";
11
11
  //#region src/cloud/components/ModuleBrowserModal.vue?vue&type=script&setup=true&lang.ts
12
12
  var fe = {
13
13
  role: "dialog",
@@ -46,7 +46,7 @@ var fe = {
46
46
  props: { visible: { type: Boolean } },
47
47
  emits: ["close", "insert"],
48
48
  setup(c, { emit: B }) {
49
- let Te = c, V = B, Ee = ee(() => import("./ModulePreviewCanvas-C0Q2n3FL.js")), { t: De } = oe(), { t: H } = ue(), U = v(ie, "ModuleBrowserModal"), W = v(ae, "ModuleBrowserModal"), G = s(""), K = s(null), q = s(null), J = s("end"), Y = h(() => {
49
+ let Te = c, V = B, Ee = ee(() => import("./ModulePreviewCanvas-CYOLWoZ9.js")), { t: De } = oe(), { t: H } = ue(), U = v(ie, "ModuleBrowserModal"), W = v(ae, "ModuleBrowserModal"), G = s(""), K = s(null), q = s(null), J = s("end"), Y = h(() => {
50
50
  let e = U.modules.value;
51
51
  if (!G.value) return e;
52
52
  let t = G.value.toLowerCase();
@@ -1,6 +1,6 @@
1
1
  import { A as e, Dt as t, M as n, N as r, O as i, _ as a, c as o, d as s, l as c, nt as l, r as u, s as d, x as f } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { I as p, _ as m, a as h, d as g, f as _, h as v, i as y, l as b, m as x, n as S, p as C, r as w, v as T, y as E } from "./useEditorCore-DBq2689h.js";
3
- import { o as D } from "./keys-BbDgCU6K.js";
2
+ import { I as p, _ as m, a as h, d as g, f as _, h as v, i as y, l as b, m as x, n as S, p as C, r as w, v as T, y as E } from "./useEditorCore-CaaHPKjm.js";
3
+ import { o as D } from "./keys-WVNarXg8.js";
4
4
  //#region src/components/blocks/PreviewSectionBlock.vue?vue&type=script&setup=true&lang.ts
5
5
  var O = { class: "tpl:w-full" }, k = { class: "tpl:flex tpl:gap-0" }, A = /* @__PURE__ */ a({
6
6
  name: "PreviewSectionBlock",
@@ -1,5 +1,5 @@
1
1
  import { A as e, Dt as t, Et as n, N as r, O as i, Ot as a, _ as o, c as s, d as c, j as l, l as u, nt as d, r as f, s as p, u as m } from "./vue.runtime.esm-bundler-B0xoGkDv.js";
2
- import { h, m as g, p as _ } from "./ColorPicker-Cab6U2sH.js";
2
+ import { h, m as g, p as _ } from "./ColorPicker-DfzDyNKe.js";
3
3
  //#region src/components/SlidingPillSelect.vue?vue&type=script&setup=true&lang.ts
4
4
  var v = [
5
5
  "aria-checked",