@templatical/editor 0.17.1 → 0.19.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 (111) hide show
  1. package/dist/{AiChatSidebar-LxCHMdcj.js → AiChatSidebar-DAQTFuvi.js} +2 -2
  2. package/dist/{AiFeatureMenu-Cr8pLXMj.js → AiFeatureMenu-aFSO20PR.js} +3 -3
  3. package/dist/{BlockIssueBadge-BQ1yB1me.js → BlockIssueBadge-BQmq1bxn.js} +2 -2
  4. package/dist/{CloudEditor-qzoNS8K4.js → CloudEditor-D0K-m1GA.js} +15 -13
  5. package/dist/{CollaboratorBar-BkfR0CyD.js → CollaboratorBar-CJO3l6Dt.js} +2 -2
  6. package/dist/ColorPicker-BsgpTJqK.js +552 -0
  7. package/dist/{CommentsSidebar-Cl93TN96.js → CommentsSidebar-BYMVucZh.js} +4 -4
  8. package/dist/{CountdownBlock-DbXfzwae.js → CountdownBlock-Bn5w7C-p.js} +1 -1
  9. package/dist/{CountdownToolbar-BqaMWRyB.js → CountdownToolbar-PJI3ffi1.js} +3 -3
  10. package/dist/{DesignReferenceSidebar-jVrdS8wW.js → DesignReferenceSidebar-QfAV8XT9.js} +13 -14
  11. package/dist/{IssuesPanel-Bq3yXg6M.js → IssuesPanel-CTjRgz8w.js} +2 -2
  12. package/dist/{ModuleBrowserModal-XEHfEO0O.js → ModuleBrowserModal-BNalLx0k.js} +7 -7
  13. package/dist/{ModulePreviewCanvas-BM8XUgbc.js → ModulePreviewCanvas-BwObwisa.js} +2 -2
  14. package/dist/{NumberWithSuffix-9FG7mNnn.js → NumberWithSuffix-D3BKz66W.js} +1 -1
  15. package/dist/{ParagraphEditor-Cs47wU1V.js → ParagraphEditor-Cf75UfSo.js} +42 -42
  16. package/dist/{RichTextEditorContent-DCzmVeyb.js → RichTextEditorContent-MdaLz6Q3.js} +5 -5
  17. package/dist/{SaveModuleDialog-BgOS9vCQ.js → SaveModuleDialog-MTjwiF9D.js} +6 -6
  18. package/dist/{SnapshotHistory-CLfYzwv9.js → SnapshotHistory-C_Y1LzAY.js} +4 -4
  19. package/dist/{TemplateScoringPanel-CMrfa9Rd.js → TemplateScoringPanel-DikuKc6i.js} +3 -3
  20. package/dist/{TestEmailModal-DTLfATNt.js → TestEmailModal-BW8aTtzf.js} +3 -3
  21. package/dist/{TitleEditor-Bq9S0C8Z.js → TitleEditor-CCUkbRN0.js} +7 -7
  22. package/dist/{TplModal-BW0FAtYe.js → TplModal-DoOwUKlT.js} +3 -3
  23. package/dist/{blockTypeIcons-CvSfLeyV.js → blockTypeIcons-BlPKjD7M.js} +1 -1
  24. package/dist/bundle-stats.json +7 -7
  25. package/dist/{ca-CSl--oWR.js → ca-DbWoy4rG.js} +2 -1
  26. package/dist/cdn/chunks/{AiFeatureMenu-B0zH66nO.js → AiFeatureMenu-RwJiaPXZ.js} +5 -5
  27. package/dist/cdn/chunks/{AiFeatureMenu-B0zH66nO.js.map → AiFeatureMenu-RwJiaPXZ.js.map} +1 -1
  28. package/dist/cdn/chunks/{BlockIssueBadge-yD4pKsU9.js → BlockIssueBadge-DM-TDKbr.js} +5 -5
  29. package/dist/cdn/chunks/{BlockIssueBadge-yD4pKsU9.js.map → BlockIssueBadge-DM-TDKbr.js.map} +1 -1
  30. package/dist/cdn/chunks/{CloudEditor-Da-aSmw5.js → CloudEditor-Dufl354p.js} +132 -130
  31. package/dist/cdn/chunks/CloudEditor-Dufl354p.js.map +1 -0
  32. package/dist/cdn/chunks/{CollaboratorBar-DixaFis-.js → CollaboratorBar-xsU20iPl.js} +3 -3
  33. package/dist/cdn/chunks/{CollaboratorBar-DixaFis-.js.map → CollaboratorBar-xsU20iPl.js.map} +1 -1
  34. package/dist/{ColorPicker-DfzDyNKe.js → cdn/chunks/ColorPicker-y_obnw4o.js} +234 -157
  35. package/dist/cdn/chunks/ColorPicker-y_obnw4o.js.map +1 -0
  36. package/dist/cdn/chunks/{CountdownBlock-jgBPbI1p.js → CountdownBlock-sHsRMe1q.js} +2 -2
  37. package/dist/cdn/chunks/{CountdownBlock-jgBPbI1p.js.map → CountdownBlock-sHsRMe1q.js.map} +1 -1
  38. package/dist/cdn/chunks/{CountdownToolbar-DrmZwvIH.js → CountdownToolbar-Ckc_jEi-.js} +4 -4
  39. package/dist/cdn/chunks/{CountdownToolbar-DrmZwvIH.js.map → CountdownToolbar-Ckc_jEi-.js.map} +1 -1
  40. package/dist/cdn/chunks/{IssuesPanel-CpyhXg9M.js → IssuesPanel-DF5Ajuna.js} +7 -7
  41. package/dist/cdn/chunks/{IssuesPanel-CpyhXg9M.js.map → IssuesPanel-DF5Ajuna.js.map} +1 -1
  42. package/dist/cdn/chunks/{ModuleBrowserModal-DPQLFTti.js → ModuleBrowserModal-DG4AVFjH.js} +8 -8
  43. package/dist/cdn/chunks/{ModuleBrowserModal-DPQLFTti.js.map → ModuleBrowserModal-DG4AVFjH.js.map} +1 -1
  44. package/dist/cdn/chunks/{ModulePreviewCanvas-Csc6M0RA.js → ModulePreviewCanvas-Bc_PcJuc.js} +24 -24
  45. package/dist/cdn/chunks/{ModulePreviewCanvas-Csc6M0RA.js.map → ModulePreviewCanvas-Bc_PcJuc.js.map} +1 -1
  46. package/dist/cdn/chunks/{NumberWithSuffix-YmcsBmCd.js → NumberWithSuffix-8fOO-LC_.js} +2 -2
  47. package/dist/cdn/chunks/{NumberWithSuffix-YmcsBmCd.js.map → NumberWithSuffix-8fOO-LC_.js.map} +1 -1
  48. package/dist/cdn/chunks/{ParagraphEditor-DR5AcHB0.js → ParagraphEditor-BkafKSju.js} +107 -107
  49. package/dist/cdn/chunks/{ParagraphEditor-DR5AcHB0.js.map → ParagraphEditor-BkafKSju.js.map} +1 -1
  50. package/dist/cdn/chunks/{RichTextEditorContent-52c2EuCT.js → RichTextEditorContent-BthhzOZS.js} +5 -5
  51. package/dist/cdn/chunks/{RichTextEditorContent-52c2EuCT.js.map → RichTextEditorContent-BthhzOZS.js.map} +1 -1
  52. package/dist/cdn/chunks/{SaveModuleDialog-dpRlVrrQ.js → SaveModuleDialog-DhsfYf2n.js} +4 -4
  53. package/dist/cdn/chunks/{SaveModuleDialog-dpRlVrrQ.js.map → SaveModuleDialog-DhsfYf2n.js.map} +1 -1
  54. package/dist/cdn/chunks/{TitleEditor-DtQTPAg3.js → TitleEditor-DLv9cXba.js} +8 -8
  55. package/dist/cdn/chunks/{TitleEditor-DtQTPAg3.js.map → TitleEditor-DLv9cXba.js.map} +1 -1
  56. package/dist/cdn/chunks/{blockTypeIcons-B0ktHdUG.js → blockTypeIcons-B0uibGX7.js} +7 -7
  57. package/dist/cdn/chunks/{blockTypeIcons-B0ktHdUG.js.map → blockTypeIcons-B0uibGX7.js.map} +1 -1
  58. package/dist/cdn/chunks/{ca-CSl--oWR.js → ca-DbWoy4rG.js} +3 -2
  59. package/dist/cdn/chunks/{ca-CSl--oWR.js.map → ca-DbWoy4rG.js.map} +1 -1
  60. package/dist/cdn/chunks/{de-ZaffrKDP.js → de-CgGOnerg.js} +3 -2
  61. package/dist/cdn/chunks/{de-ZaffrKDP.js.map → de-CgGOnerg.js.map} +1 -1
  62. package/dist/cdn/chunks/{en-CHuXeJDt.js → en-DrUV9xth.js} +3 -2
  63. package/dist/cdn/chunks/{en-CHuXeJDt.js.map → en-DrUV9xth.js.map} +1 -1
  64. package/dist/{es-CaC8VQjO.js → cdn/chunks/es-DwbKjU7q.js} +4 -1
  65. package/dist/cdn/chunks/{es-CaC8VQjO.js.map → es-DwbKjU7q.js.map} +1 -1
  66. package/dist/cdn/chunks/{extensions-CiewgCtw.js → extensions-DLHvZ0UH.js} +19 -19
  67. package/dist/cdn/chunks/{extensions-CiewgCtw.js.map → extensions-DLHvZ0UH.js.map} +1 -1
  68. package/dist/cdn/chunks/{features-DLu_D-6j.js → features-Cnfv4QAY.js} +1442 -1295
  69. package/dist/cdn/chunks/features-Cnfv4QAY.js.map +1 -0
  70. package/dist/cdn/chunks/{icons-B03IY-pm.js → icons-DbcM69bb.js} +2 -2
  71. package/dist/cdn/chunks/{icons-B03IY-pm.js.map → icons-DbcM69bb.js.map} +1 -1
  72. package/dist/cdn/chunks/{media-library-CYF18RNk.js → media-library-DpSMwHd4.js} +524 -524
  73. package/dist/cdn/chunks/{media-library-CYF18RNk.js.map → media-library-DpSMwHd4.js.map} +1 -1
  74. package/dist/cdn/chunks/{pt-BR-C74zfEWH.js → pt-BR-Bcc5Tjed.js} +3 -2
  75. package/dist/cdn/chunks/{pt-BR-C74zfEWH.js.map → pt-BR-Bcc5Tjed.js.map} +1 -1
  76. package/dist/cdn/chunks/{quality-LmsngN2B.js → quality-D9QqkRcU.js} +77 -77
  77. package/dist/cdn/chunks/{quality-LmsngN2B.js.map → quality-D9QqkRcU.js.map} +1 -1
  78. package/dist/cdn/chunks/{renderer-DAeNIQqa.js → renderer-BsLQZNXU.js} +14 -14
  79. package/dist/cdn/chunks/{renderer-DAeNIQqa.js.map → renderer-BsLQZNXU.js.map} +1 -1
  80. package/dist/cdn/chunks/{src-CModhUDN.js → src-zu1ehVNN.js} +6 -6
  81. package/dist/cdn/chunks/{src-CModhUDN.js.map → src-zu1ehVNN.js.map} +1 -1
  82. package/dist/cdn/chunks/{styles-hd_LBGaF.js → styles-Dx-jXeCd.js} +184 -184
  83. package/dist/cdn/chunks/{styles-hd_LBGaF.js.map → styles-Dx-jXeCd.js.map} +1 -1
  84. package/dist/cdn/editor.css +1 -1
  85. package/dist/cdn/editor.js +55 -52
  86. package/dist/cdn/editor.js.map +1 -1
  87. package/dist/{cloud-BogxOeZu.js → cloud-B-RebwxI.js} +5 -5
  88. package/dist/{de-ZaffrKDP.js → de-CgGOnerg.js} +2 -1
  89. package/dist/{dist-DoRIUsfz.js → dist-BJbqgyPn.js} +108 -94
  90. package/dist/{en-CHuXeJDt.js → en-DrUV9xth.js} +2 -1
  91. package/dist/{cdn/chunks/es-CaC8VQjO.js → es-DwbKjU7q.js} +2 -3
  92. package/dist/{extensions-DhgbhfBX.js → extensions-BCA9pyer.js} +11 -11
  93. package/dist/index.d.ts +68 -0
  94. package/dist/keys-DFaIbGR8.js +10 -0
  95. package/dist/{pt-BR-C74zfEWH.js → pt-BR-Bcc5Tjed.js} +2 -1
  96. package/dist/style.css +1 -1
  97. package/dist/{styles-BWC0jc5-.js → styles-64uLkPJV.js} +136 -136
  98. package/dist/templatical-editor.js +15 -12
  99. package/dist/{upload-BKg6hDRW.js → upload-y4gxiFp5.js} +3 -2
  100. package/dist/{useCloudI18n-CIKI0hCd.js → useCloudI18n-PCDOC2kz.js} +1 -1
  101. package/dist/{useEditorCore-FLMIhtv1.js → useEditorCore-ea9OrrH3.js} +870 -764
  102. package/dist/{useI18n-0EU_JVe7.js → useI18n-BNMzZTM5.js} +1 -1
  103. package/dist/{useMergeTag-C7v6MVah.js → useMergeTag-DfEY0eK5.js} +5 -5
  104. package/dist/{usePopoverPosition-BDqqnMeo.js → usePopoverPosition-F9STHRIr.js} +33 -6
  105. package/package.json +7 -7
  106. package/dist/cdn/chunks/CloudEditor-Da-aSmw5.js.map +0 -1
  107. package/dist/cdn/chunks/ColorPicker-O6xXCPEg.js +0 -471
  108. package/dist/cdn/chunks/ColorPicker-O6xXCPEg.js.map +0 -1
  109. package/dist/cdn/chunks/features-DLu_D-6j.js.map +0 -1
  110. package/dist/keys-WVNarXg8.js +0 -10
  111. package/dist/timeouts-Bmi_yePw.js +0 -4
@@ -1,24 +1,24 @@
1
1
  import { M as e, T as t, f as n, g as r, h as i, it as a, m as o, ot as s, x as c } from "./draggable-D840DIZB.js";
2
- import { Bt as l, Mt as u, cn as d, ft as f } from "./features-DLu_D-6j.js";
2
+ import { Ht as l, dn as u, dt as d, jt as f } from "./features-Cnfv4QAY.js";
3
3
  //#region src/components/canvas/BlockIssueBadge.vue?vue&type=script&setup=true&lang.ts
4
4
  var p = ["title", "aria-label"], m = /* @__PURE__ */ c({
5
5
  __name: "BlockIssueBadge",
6
6
  props: { blockId: {} },
7
7
  setup(c) {
8
- let m = c, { t: h } = l(), g = t(d, null), _ = n(() => (g?.issues.value ?? []).filter((e) => e.blockId === m.blockId)), v = n(() => _.value.some((e) => e.severity === "error") ? "error" : _.value.some((e) => e.severity === "warning") ? "warning" : null), y = n(() => v.value === "error" ? h.issues.badgeError : h.issues.badgeWarning);
8
+ let m = c, { t: h } = l(), g = t(u, null), _ = n(() => (g?.issues.value ?? []).filter((e) => e.blockId === m.blockId)), v = n(() => _.value.some((e) => e.severity === "error") ? "error" : _.value.some((e) => e.severity === "warning") ? "warning" : null), y = n(() => v.value === "error" ? h.issues.badgeError : h.issues.badgeWarning);
9
9
  return (t, n) => v.value ? (e(), r("span", {
10
10
  key: 0,
11
11
  class: s(["tpl:absolute tpl:top-1 tpl:right-1 tpl:z-10 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:ring-1 tpl:ring-[var(--tpl-border)]", v.value === "error" ? "tpl:text-[var(--tpl-danger)]" : "tpl:text-[var(--tpl-warning)]"]),
12
12
  title: y.value,
13
13
  "aria-label": y.value,
14
14
  role: "img"
15
- }, [v.value === "error" ? (e(), o(a(u), {
15
+ }, [v.value === "error" ? (e(), o(a(f), {
16
16
  key: 0,
17
17
  size: 14,
18
18
  "stroke-width": 2.25,
19
19
  fill: "currentColor",
20
20
  stroke: "var(--tpl-bg)"
21
- })) : (e(), o(a(f), {
21
+ })) : (e(), o(a(d), {
22
22
  key: 1,
23
23
  size: 14,
24
24
  "stroke-width": 2.25,
@@ -30,4 +30,4 @@ var p = ["title", "aria-label"], m = /* @__PURE__ */ c({
30
30
  //#endregion
31
31
  export { m as default };
32
32
 
33
- //# sourceMappingURL=BlockIssueBadge-yD4pKsU9.js.map
33
+ //# sourceMappingURL=BlockIssueBadge-DM-TDKbr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockIssueBadge-yD4pKsU9.js","names":[],"sources":["../../../src/components/canvas/BlockIssueBadge.vue","../../../src/components/canvas/BlockIssueBadge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { CircleAlert, TriangleAlert } from \"@lucide/vue\";\nimport { useI18n } from \"../../composables/useI18n\";\nimport { TEMPLATE_LINT_KEY } from \"../../keys\";\n\nconst props = defineProps<{ blockId: string }>();\nconst { t } = useI18n();\nconst lint = inject(TEMPLATE_LINT_KEY, null);\n\nconst blockIssues = computed(() =>\n (lint?.issues.value ?? []).filter((i) => i.blockId === props.blockId),\n);\n\nconst severity = computed<\"error\" | \"warning\" | null>(() => {\n if (blockIssues.value.some((i) => i.severity === \"error\")) return \"error\";\n if (blockIssues.value.some((i) => i.severity === \"warning\")) return \"warning\";\n return null;\n});\n\nconst tooltip = computed(() =>\n severity.value === \"error\" ? t.issues.badgeError : t.issues.badgeWarning,\n);\n</script>\n\n<template>\n <span\n v-if=\"severity\"\n class=\"tpl:absolute tpl:top-1 tpl:right-1 tpl:z-10 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:ring-1 tpl:ring-[var(--tpl-border)]\"\n :class=\"\n severity === 'error'\n ? 'tpl:text-[var(--tpl-danger)]'\n : 'tpl:text-[var(--tpl-warning)]'\n \"\n :title=\"tooltip\"\n :aria-label=\"tooltip\"\n role=\"img\"\n >\n <CircleAlert\n v-if=\"severity === 'error'\"\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n <TriangleAlert\n v-else\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n </span>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { CircleAlert, TriangleAlert } from \"@lucide/vue\";\nimport { useI18n } from \"../../composables/useI18n\";\nimport { TEMPLATE_LINT_KEY } from \"../../keys\";\n\nconst props = defineProps<{ blockId: string }>();\nconst { t } = useI18n();\nconst lint = inject(TEMPLATE_LINT_KEY, null);\n\nconst blockIssues = computed(() =>\n (lint?.issues.value ?? []).filter((i) => i.blockId === props.blockId),\n);\n\nconst severity = computed<\"error\" | \"warning\" | null>(() => {\n if (blockIssues.value.some((i) => i.severity === \"error\")) return \"error\";\n if (blockIssues.value.some((i) => i.severity === \"warning\")) return \"warning\";\n return null;\n});\n\nconst tooltip = computed(() =>\n severity.value === \"error\" ? t.issues.badgeError : t.issues.badgeWarning,\n);\n</script>\n\n<template>\n <span\n v-if=\"severity\"\n class=\"tpl:absolute tpl:top-1 tpl:right-1 tpl:z-10 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:ring-1 tpl:ring-[var(--tpl-border)]\"\n :class=\"\n severity === 'error'\n ? 'tpl:text-[var(--tpl-danger)]'\n : 'tpl:text-[var(--tpl-warning)]'\n \"\n :title=\"tooltip\"\n :aria-label=\"tooltip\"\n role=\"img\"\n >\n <CircleAlert\n v-if=\"severity === 'error'\"\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n <TriangleAlert\n v-else\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n </span>\n</template>\n"],"mappings":";;;;;;;EAMA,IAAM,IAAQ,GACR,EAAE,SAAM,EAAQ,GAChB,IAAO,EAAO,GAAmB,IAAI,GAErC,IAAc,SACjB,GAAM,OAAO,SAAS,CAAC,EAAA,CAAG,QAAQ,MAAM,EAAE,YAAY,EAAM,OAAO,CACtE,GAEM,IAAW,QACX,EAAY,MAAM,MAAM,MAAM,EAAE,aAAa,OAAO,IAAU,UAC9D,EAAY,MAAM,MAAM,MAAM,EAAE,aAAa,SAAS,IAAU,YAC7D,IACR,GAEK,IAAU,QACd,EAAS,UAAU,UAAU,EAAE,OAAO,aAAa,EAAE,OAAO,YAC9D;mBAKU,EAAA,SAAA,EAAA,GADR,EA0BO,QAAA;;GAxBL,OAAK,EAAA,CAAC,yNACS,EAAA,UAAQ,UAAA,iCAAA,+BAAA,CAAA;GAKtB,OAAO,EAAA;GACP,cAAY,EAAA;GACb,MAAK;MAGG,EAAA,UAAQ,WAAA,EAAA,GADhB,EAME,EAAA,CAAA,GAAA;;GAJC,MAAM;GACN,gBAAc;GACf,MAAK;GACL,QAAO;cAET,EAME,EAAA,CAAA,GAAA;;GAJC,MAAM;GACN,gBAAc;GACf,MAAK;GACL,QAAO"}
1
+ {"version":3,"file":"BlockIssueBadge-DM-TDKbr.js","names":[],"sources":["../../../src/components/canvas/BlockIssueBadge.vue","../../../src/components/canvas/BlockIssueBadge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { CircleAlert, TriangleAlert } from \"@lucide/vue\";\nimport { useI18n } from \"../../composables/useI18n\";\nimport { TEMPLATE_LINT_KEY } from \"../../keys\";\n\nconst props = defineProps<{ blockId: string }>();\nconst { t } = useI18n();\nconst lint = inject(TEMPLATE_LINT_KEY, null);\n\nconst blockIssues = computed(() =>\n (lint?.issues.value ?? []).filter((i) => i.blockId === props.blockId),\n);\n\nconst severity = computed<\"error\" | \"warning\" | null>(() => {\n if (blockIssues.value.some((i) => i.severity === \"error\")) return \"error\";\n if (blockIssues.value.some((i) => i.severity === \"warning\")) return \"warning\";\n return null;\n});\n\nconst tooltip = computed(() =>\n severity.value === \"error\" ? t.issues.badgeError : t.issues.badgeWarning,\n);\n</script>\n\n<template>\n <span\n v-if=\"severity\"\n class=\"tpl:absolute tpl:top-1 tpl:right-1 tpl:z-10 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:ring-1 tpl:ring-[var(--tpl-border)]\"\n :class=\"\n severity === 'error'\n ? 'tpl:text-[var(--tpl-danger)]'\n : 'tpl:text-[var(--tpl-warning)]'\n \"\n :title=\"tooltip\"\n :aria-label=\"tooltip\"\n role=\"img\"\n >\n <CircleAlert\n v-if=\"severity === 'error'\"\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n <TriangleAlert\n v-else\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n </span>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { CircleAlert, TriangleAlert } from \"@lucide/vue\";\nimport { useI18n } from \"../../composables/useI18n\";\nimport { TEMPLATE_LINT_KEY } from \"../../keys\";\n\nconst props = defineProps<{ blockId: string }>();\nconst { t } = useI18n();\nconst lint = inject(TEMPLATE_LINT_KEY, null);\n\nconst blockIssues = computed(() =>\n (lint?.issues.value ?? []).filter((i) => i.blockId === props.blockId),\n);\n\nconst severity = computed<\"error\" | \"warning\" | null>(() => {\n if (blockIssues.value.some((i) => i.severity === \"error\")) return \"error\";\n if (blockIssues.value.some((i) => i.severity === \"warning\")) return \"warning\";\n return null;\n});\n\nconst tooltip = computed(() =>\n severity.value === \"error\" ? t.issues.badgeError : t.issues.badgeWarning,\n);\n</script>\n\n<template>\n <span\n v-if=\"severity\"\n class=\"tpl:absolute tpl:top-1 tpl:right-1 tpl:z-10 tpl:flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:ring-1 tpl:ring-[var(--tpl-border)]\"\n :class=\"\n severity === 'error'\n ? 'tpl:text-[var(--tpl-danger)]'\n : 'tpl:text-[var(--tpl-warning)]'\n \"\n :title=\"tooltip\"\n :aria-label=\"tooltip\"\n role=\"img\"\n >\n <CircleAlert\n v-if=\"severity === 'error'\"\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n <TriangleAlert\n v-else\n :size=\"14\"\n :stroke-width=\"2.25\"\n fill=\"currentColor\"\n stroke=\"var(--tpl-bg)\"\n />\n </span>\n</template>\n"],"mappings":";;;;;;;EAMA,IAAM,IAAQ,GACR,EAAE,SAAM,EAAQ,GAChB,IAAO,EAAO,GAAmB,IAAI,GAErC,IAAc,SACjB,GAAM,OAAO,SAAS,CAAC,EAAA,CAAG,QAAQ,MAAM,EAAE,YAAY,EAAM,OAAO,CACtE,GAEM,IAAW,QACX,EAAY,MAAM,MAAM,MAAM,EAAE,aAAa,OAAO,IAAU,UAC9D,EAAY,MAAM,MAAM,MAAM,EAAE,aAAa,SAAS,IAAU,YAC7D,IACR,GAEK,IAAU,QACd,EAAS,UAAU,UAAU,EAAE,OAAO,aAAa,EAAE,OAAO,YAC9D;mBAKU,EAAA,SAAA,EAAA,GADR,EA0BO,QAAA;;GAxBL,OAAK,EAAA,CAAC,yNACS,EAAA,UAAQ,UAAA,iCAAA,+BAAA,CAAA;GAKtB,OAAO,EAAA;GACP,cAAY,EAAA;GACb,MAAK;MAGG,EAAA,UAAQ,WAAA,EAAA,GADhB,EAME,EAAA,CAAA,GAAA;;GAJC,MAAM;GACN,gBAAc;GACf,MAAK;GACL,QAAO;cAET,EAME,EAAA,CAAA,GAAA;;GAJC,MAAM;GACN,gBAAc;GACf,MAAK;GACL,QAAO"}