@xplor-education/core-stencil-components 3.1.2 → 3.1.3

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 (252) hide show
  1. package/components/index.js +28 -3
  2. package/components/index.js.map +1 -1
  3. package/components/{p-B49oUO_9.js → p-AzuDJugb.js} +3 -3
  4. package/components/{p-B49oUO_9.js.map → p-AzuDJugb.js.map} +1 -1
  5. package/components/{p-D4jVa8dE.js → p-BQ6aLuGP.js} +4 -4
  6. package/components/{p-D4jVa8dE.js.map → p-BQ6aLuGP.js.map} +1 -1
  7. package/components/{p-VIJbFoA4.js → p-BZQ63ULK.js} +3 -3
  8. package/components/{p-VIJbFoA4.js.map → p-BZQ63ULK.js.map} +1 -1
  9. package/components/{p-Bs_ocvfe.js → p-CyGsSa4H.js} +7 -4
  10. package/components/p-CyGsSa4H.js.map +1 -0
  11. package/components/{p-B3zR7peH.js → p-oanCZPh6.js} +4 -4
  12. package/components/{p-B3zR7peH.js.map → p-oanCZPh6.js.map} +1 -1
  13. package/components/xplor-alert-message.js +2 -2
  14. package/components/xplor-avatar-and-name.js +2 -2
  15. package/components/xplor-avatar.js +1 -1
  16. package/components/xplor-badge-active.js +1 -1
  17. package/components/xplor-badge-archived.js +1 -1
  18. package/components/xplor-badge-deleted.js +1 -1
  19. package/components/xplor-badge-expired.js +1 -1
  20. package/components/xplor-badge-inactive.js +1 -1
  21. package/components/xplor-badge-recalled.js +1 -1
  22. package/components/xplor-badge-upcoming.js +1 -1
  23. package/components/xplor-badge-waitlist.js +1 -1
  24. package/components/xplor-badge.js +1 -1
  25. package/components/xplor-btn-back-to-parent.js +1 -1
  26. package/components/xplor-btn-back.js +1 -1
  27. package/components/xplor-btn-icon.js +1 -1
  28. package/components/xplor-btn-toggle-group.js +1 -1
  29. package/components/xplor-btn-toggle-secondary.js +1 -1
  30. package/components/xplor-btn-toggle.js +1 -1
  31. package/components/xplor-btn-tooltip.js +3 -3
  32. package/components/xplor-button.js +1 -1
  33. package/components/xplor-canvas-editor.d.ts +11 -0
  34. package/components/xplor-canvas-editor.js +369 -0
  35. package/components/xplor-canvas-editor.js.map +1 -0
  36. package/components/xplor-chat-widget.js +3 -3
  37. package/components/xplor-checkbox.js +1 -1
  38. package/components/xplor-combobox.js +5 -5
  39. package/components/xplor-datatable.js +2 -2
  40. package/components/xplor-date-picker.js +5 -5
  41. package/components/xplor-drag-and-drop-input.js +26 -5
  42. package/components/xplor-drag-and-drop-input.js.map +1 -1
  43. package/components/xplor-dropdown.js +1 -1
  44. package/components/xplor-expansion-panel.js +4 -4
  45. package/components/xplor-expansion-panels.js +1 -1
  46. package/components/xplor-file-upload.js +2 -2
  47. package/components/xplor-inline-checkbox.js +2 -2
  48. package/components/xplor-inline-date-picker.js +1 -1
  49. package/components/xplor-inline-switch.js +1 -1
  50. package/components/xplor-input-file.js +1 -1
  51. package/components/xplor-input-search.js +2 -2
  52. package/components/xplor-input-select.js +2 -2
  53. package/components/xplor-input-send.js +3 -3
  54. package/components/xplor-input-text-area.js +2 -2
  55. package/components/xplor-input-text-secondary.js +2 -2
  56. package/components/xplor-input-text.js +2 -2
  57. package/components/xplor-input-title.js +1 -1
  58. package/components/xplor-links.js +1 -1
  59. package/components/xplor-modal-persistent.js +1 -1
  60. package/components/xplor-nav-tabs.js +2 -2
  61. package/components/xplor-radio-btn.js +2 -2
  62. package/components/xplor-rich-text-editor.d.ts +11 -0
  63. package/components/xplor-rich-text-editor.js +23754 -0
  64. package/components/xplor-rich-text-editor.js.map +1 -0
  65. package/components/xplor-section-card.js +2 -2
  66. package/components/xplor-section-heading.js +2 -2
  67. package/components/xplor-table.js +5 -5
  68. package/components/xplor-text-bubble.js +2 -2
  69. package/components/xplor-text-field.js +2 -2
  70. package/components/xplor-time-picker.js +6 -6
  71. package/components/xplor-tooltip.js +1 -1
  72. package/dist/cjs/{index-BjAapk2n.js → index--_m3aUsf.js} +32 -7
  73. package/dist/cjs/index--_m3aUsf.js.map +1 -0
  74. package/dist/cjs/loader.cjs.js +2 -2
  75. package/dist/cjs/xplor-alert-dialog_60.cjs.entry.js +29457 -0
  76. package/dist/cjs/xplor-alert-dialog_60.cjs.entry.js.map +1 -0
  77. package/dist/cjs/xplor-component-library.cjs.js +2 -2
  78. package/dist/collection/collection-manifest.json +2 -0
  79. package/dist/collection/components/xplor-alert-message/xplor-alert-message.js +2 -2
  80. package/dist/collection/components/xplor-avatar/xplor-avatar.js +2 -2
  81. package/dist/collection/components/xplor-avatar-and-name/xplor-avatar-and-name.js +1 -1
  82. package/dist/collection/components/xplor-badge/xplor-badge.js +1 -1
  83. package/dist/collection/components/xplor-badge-active/xplor-badge-active.js +1 -1
  84. package/dist/collection/components/xplor-badge-archived/xplor-badge-archived.js +1 -1
  85. package/dist/collection/components/xplor-badge-deleted/xplor-badge-deleted.js +1 -1
  86. package/dist/collection/components/xplor-badge-expired/xplor-badge-expired.js +1 -1
  87. package/dist/collection/components/xplor-badge-inactive/xplor-badge-inactive.js +1 -1
  88. package/dist/collection/components/xplor-badge-recalled/xplor-badge-recalled.js +1 -1
  89. package/dist/collection/components/xplor-badge-upcoming/xplor-badge-upcoming.js +1 -1
  90. package/dist/collection/components/xplor-badge-waitlist/xplor-badge-waitlist.js +1 -1
  91. package/dist/collection/components/xplor-btn-back/xplor-btn-back.js +1 -1
  92. package/dist/collection/components/xplor-btn-back-to-parent/xplor-btn-back-to-parent.js +1 -1
  93. package/dist/collection/components/xplor-btn-icon/xplor-btn-icon.js +1 -1
  94. package/dist/collection/components/xplor-btn-toggle/xplor-btn-toggle.js +1 -1
  95. package/dist/collection/components/xplor-btn-toggle-group/xplor-btn-toggle-group.js +1 -1
  96. package/dist/collection/components/xplor-btn-toggle-secondary/xplor-btn-toggle-secondary.js +1 -1
  97. package/dist/collection/components/xplor-btn-tooltip/xplor-btn-tooltip.js +1 -1
  98. package/dist/collection/components/xplor-button/xplor-button.css +8 -3
  99. package/dist/collection/components/xplor-button/xplor-button.js +23 -1
  100. package/dist/collection/components/xplor-button/xplor-button.js.map +1 -1
  101. package/dist/collection/components/xplor-canvas-editor/xplor-canvas-editor.css +1224 -0
  102. package/dist/collection/components/xplor-canvas-editor/xplor-canvas-editor.js +520 -0
  103. package/dist/collection/components/xplor-canvas-editor/xplor-canvas-editor.js.map +1 -0
  104. package/dist/collection/components/xplor-canvas-editor/xplor-canvas-editor.stories.js +280 -0
  105. package/dist/collection/components/xplor-canvas-editor/xplor-canvas-editor.stories.js.map +1 -0
  106. package/dist/collection/components/xplor-chat-widget/xplor-chat-widget.js +1 -1
  107. package/dist/collection/components/xplor-checkbox/xplor-checkbox.js +1 -1
  108. package/dist/collection/components/xplor-combobox/xplor-combobox.js +5 -5
  109. package/dist/collection/components/xplor-datatable/xplor-datatable.js +2 -2
  110. package/dist/collection/components/xplor-date-picker/xplor-date-picker.js +4 -4
  111. package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.css +62 -29
  112. package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.js +25 -4
  113. package/dist/collection/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.js.map +1 -1
  114. package/dist/collection/components/xplor-dropdown/xplor-dropdown.js +1 -1
  115. package/dist/collection/components/xplor-expansion-panel/xplor-expansion-panel.js +4 -4
  116. package/dist/collection/components/xplor-expansion-panels/xplor-expansion-panels.js +1 -1
  117. package/dist/collection/components/xplor-file-upload/xplor-file-upload.js +2 -2
  118. package/dist/collection/components/xplor-inline-checkbox/xplor-inline-checkbox.js +2 -2
  119. package/dist/collection/components/xplor-inline-date-picker/xplor-inline-date-picker.js +1 -1
  120. package/dist/collection/components/xplor-inline-switch/xplor-inline-switch.js +1 -1
  121. package/dist/collection/components/xplor-input-file/xplor-input-file.js +1 -1
  122. package/dist/collection/components/xplor-input-search/xplor-input-search.js +2 -2
  123. package/dist/collection/components/xplor-input-select/xplor-input-select.js +2 -2
  124. package/dist/collection/components/xplor-input-send/xplor-input-send.js +2 -2
  125. package/dist/collection/components/xplor-input-text/xplor-input-text.js +2 -2
  126. package/dist/collection/components/xplor-input-text-area/xplor-input-text-area.js +2 -2
  127. package/dist/collection/components/xplor-input-text-secondary/xplor-input-text-secondary.js +2 -2
  128. package/dist/collection/components/xplor-input-title/xplor-input-title.js +1 -1
  129. package/dist/collection/components/xplor-links/xplor-links.js +1 -1
  130. package/dist/collection/components/xplor-modal-persistent/xplor-modal-persistent.js +1 -1
  131. package/dist/collection/components/xplor-nav-tabs/xplor-nav-tabs.js +2 -2
  132. package/dist/collection/components/xplor-radio-btn/xplor-radio-btn.js +2 -2
  133. package/dist/collection/components/xplor-rich-text-editor/xplor-rich-text-editor.css +1445 -0
  134. package/dist/collection/components/xplor-rich-text-editor/xplor-rich-text-editor.js +800 -0
  135. package/dist/collection/components/xplor-rich-text-editor/xplor-rich-text-editor.js.map +1 -0
  136. package/dist/collection/components/xplor-rich-text-editor/xplor-rich-text-editor.stories.js +260 -0
  137. package/dist/collection/components/xplor-rich-text-editor/xplor-rich-text-editor.stories.js.map +1 -0
  138. package/dist/collection/components/xplor-section-card/xplor-section-card.js +2 -2
  139. package/dist/collection/components/xplor-section-heading/xplor-section-heading.js +2 -2
  140. package/dist/collection/components/xplor-table/xplor-table.js +5 -5
  141. package/dist/collection/components/xplor-text-bubble/xplor-text-bubble.js +2 -2
  142. package/dist/collection/components/xplor-text-field/xplor-text-field.js +2 -2
  143. package/dist/collection/components/xplor-time-picker/xplor-time-picker.js +6 -6
  144. package/dist/collection/components/xplor-tooltip/xplor-tooltip.js +2 -2
  145. package/dist/collection/utils/slate-legacy-converter.js +223 -0
  146. package/dist/collection/utils/slate-legacy-converter.js.map +1 -0
  147. package/dist/components/index.js +28 -3
  148. package/dist/components/index.js.map +1 -1
  149. package/dist/components/{p--zhT6rvJ.js → p-DGaHlr-k.js} +4 -4
  150. package/dist/components/{p--zhT6rvJ.js.map → p-DGaHlr-k.js.map} +1 -1
  151. package/dist/components/{p-B5rS_jjI.js → p-DWaTb2EJ.js} +7 -4
  152. package/dist/components/p-DWaTb2EJ.js.map +1 -0
  153. package/dist/components/{p-J41B2nOt.js → p-DroQBoSo.js} +3 -3
  154. package/dist/components/{p-J41B2nOt.js.map → p-DroQBoSo.js.map} +1 -1
  155. package/dist/components/{p-DQ8MCJFX.js → p-TfYzqGwr.js} +3 -3
  156. package/dist/components/{p-DQ8MCJFX.js.map → p-TfYzqGwr.js.map} +1 -1
  157. package/dist/components/{p-DbQ6ZNvh.js → p-vl-J3tKJ.js} +4 -4
  158. package/dist/components/{p-DbQ6ZNvh.js.map → p-vl-J3tKJ.js.map} +1 -1
  159. package/dist/components/xplor-alert-message.js +2 -2
  160. package/dist/components/xplor-avatar-and-name.js +2 -2
  161. package/dist/components/xplor-avatar.js +1 -1
  162. package/dist/components/xplor-badge-active.js +1 -1
  163. package/dist/components/xplor-badge-archived.js +1 -1
  164. package/dist/components/xplor-badge-deleted.js +1 -1
  165. package/dist/components/xplor-badge-expired.js +1 -1
  166. package/dist/components/xplor-badge-inactive.js +1 -1
  167. package/dist/components/xplor-badge-recalled.js +1 -1
  168. package/dist/components/xplor-badge-upcoming.js +1 -1
  169. package/dist/components/xplor-badge-waitlist.js +1 -1
  170. package/dist/components/xplor-badge.js +1 -1
  171. package/dist/components/xplor-btn-back-to-parent.js +1 -1
  172. package/dist/components/xplor-btn-back.js +1 -1
  173. package/dist/components/xplor-btn-icon.js +1 -1
  174. package/dist/components/xplor-btn-toggle-group.js +1 -1
  175. package/dist/components/xplor-btn-toggle-secondary.js +1 -1
  176. package/dist/components/xplor-btn-toggle.js +1 -1
  177. package/dist/components/xplor-btn-tooltip.js +3 -3
  178. package/dist/components/xplor-button.js +1 -1
  179. package/dist/components/xplor-canvas-editor.d.ts +11 -0
  180. package/dist/components/xplor-canvas-editor.js +370 -0
  181. package/dist/components/xplor-canvas-editor.js.map +1 -0
  182. package/dist/components/xplor-chat-widget.js +3 -3
  183. package/dist/components/xplor-checkbox.js +1 -1
  184. package/dist/components/xplor-combobox.js +5 -5
  185. package/dist/components/xplor-datatable.js +2 -2
  186. package/dist/components/xplor-date-picker.js +5 -5
  187. package/dist/components/xplor-drag-and-drop-input.js +26 -5
  188. package/dist/components/xplor-drag-and-drop-input.js.map +1 -1
  189. package/dist/components/xplor-dropdown.js +1 -1
  190. package/dist/components/xplor-expansion-panel.js +4 -4
  191. package/dist/components/xplor-expansion-panels.js +1 -1
  192. package/dist/components/xplor-file-upload.js +2 -2
  193. package/dist/components/xplor-inline-checkbox.js +2 -2
  194. package/dist/components/xplor-inline-date-picker.js +1 -1
  195. package/dist/components/xplor-inline-switch.js +1 -1
  196. package/dist/components/xplor-input-file.js +1 -1
  197. package/dist/components/xplor-input-search.js +2 -2
  198. package/dist/components/xplor-input-select.js +2 -2
  199. package/dist/components/xplor-input-send.js +3 -3
  200. package/dist/components/xplor-input-text-area.js +2 -2
  201. package/dist/components/xplor-input-text-secondary.js +2 -2
  202. package/dist/components/xplor-input-text.js +2 -2
  203. package/dist/components/xplor-input-title.js +1 -1
  204. package/dist/components/xplor-links.js +1 -1
  205. package/dist/components/xplor-modal-persistent.js +1 -1
  206. package/dist/components/xplor-nav-tabs.js +2 -2
  207. package/dist/components/xplor-radio-btn.js +2 -2
  208. package/dist/components/xplor-rich-text-editor.d.ts +11 -0
  209. package/dist/components/xplor-rich-text-editor.js +23755 -0
  210. package/dist/components/xplor-rich-text-editor.js.map +1 -0
  211. package/dist/components/xplor-section-card.js +2 -2
  212. package/dist/components/xplor-section-heading.js +2 -2
  213. package/dist/components/xplor-table.js +5 -5
  214. package/dist/components/xplor-text-bubble.js +2 -2
  215. package/dist/components/xplor-text-field.js +2 -2
  216. package/dist/components/xplor-time-picker.js +6 -6
  217. package/dist/components/xplor-tooltip.js +1 -1
  218. package/dist/esm/{index-KRfMjDC2.js → index-QwDfQUbw.js} +32 -7
  219. package/dist/esm/index-QwDfQUbw.js.map +1 -0
  220. package/dist/esm/loader.js +3 -3
  221. package/dist/esm/xplor-alert-dialog_60.entry.js +29396 -0
  222. package/dist/esm/xplor-alert-dialog_60.entry.js.map +1 -0
  223. package/dist/esm/xplor-component-library.js +3 -3
  224. package/dist/hydrate/index.js +24230 -95
  225. package/dist/hydrate/index.mjs +24230 -95
  226. package/dist/types/components/xplor-button/xplor-button.d.ts +2 -0
  227. package/dist/types/components/xplor-canvas-editor/xplor-canvas-editor.d.ts +63 -0
  228. package/dist/types/components/xplor-canvas-editor/xplor-canvas-editor.stories.d.ts +84 -0
  229. package/dist/types/components/xplor-drag-and-drop-input/xplor-drag-and-drop-input.d.ts +6 -0
  230. package/dist/types/components/xplor-rich-text-editor/xplor-rich-text-editor.d.ts +129 -0
  231. package/dist/types/components/xplor-rich-text-editor/xplor-rich-text-editor.stories.d.ts +105 -0
  232. package/dist/types/components.d.ts +290 -0
  233. package/dist/types/utils/slate-legacy-converter.d.ts +83 -0
  234. package/dist/xplor-component-library/p-QwDfQUbw.js +3 -0
  235. package/dist/xplor-component-library/p-QwDfQUbw.js.map +1 -0
  236. package/dist/xplor-component-library/p-df68ccde.entry.js +2 -0
  237. package/dist/xplor-component-library/p-df68ccde.entry.js.map +1 -0
  238. package/dist/xplor-component-library/xplor-component-library.css +1 -1
  239. package/dist/xplor-component-library/xplor-component-library.esm.js +1 -1
  240. package/package.json +7 -1
  241. package/components/p-Bs_ocvfe.js.map +0 -1
  242. package/dist/cjs/index-BjAapk2n.js.map +0 -1
  243. package/dist/cjs/xplor-alert-dialog_58.cjs.entry.js +0 -5395
  244. package/dist/cjs/xplor-alert-dialog_58.cjs.entry.js.map +0 -1
  245. package/dist/components/p-B5rS_jjI.js.map +0 -1
  246. package/dist/esm/index-KRfMjDC2.js.map +0 -1
  247. package/dist/esm/xplor-alert-dialog_58.entry.js +0 -5336
  248. package/dist/esm/xplor-alert-dialog_58.entry.js.map +0 -1
  249. package/dist/xplor-component-library/p-7ecb45dd.entry.js +0 -2
  250. package/dist/xplor-component-library/p-7ecb45dd.entry.js.map +0 -1
  251. package/dist/xplor-component-library/p-KRfMjDC2.js +0 -3
  252. package/dist/xplor-component-library/p-KRfMjDC2.js.map +0 -1
@@ -8,7 +8,7 @@ const XplorBadgeDeleted$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeDel
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'df3f8b3c1375d524ab3d43973744d60c2abfaac5' }, h("span", { key: '61801350159e59fe22fd75ebe81d0c6601df3de7', class: "xplor-badge-deleted" }, "Deleted")));
11
+ return (h(Host, { key: '07d61ee7c210ada3c3eaf2b0c0c91bb6747d39e6' }, h("span", { key: '1535e3498d7e7b1d12438b835cb3da2efec112ff', class: "xplor-badge-deleted" }, "Deleted")));
12
12
  }
13
13
  static get style() { return xplorBadgeDeletedCss; }
14
14
  }, [2, "xplor-badge-deleted"]);
@@ -8,7 +8,7 @@ const XplorBadgeExpired$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeExp
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: 'fed692675532969ab1353a505743baf529ee8267' }, h("span", { key: '780c2bf72f1b4d0f6dc2057ac1b4fc2c29e9b479', class: "xplor-badge-expired" }, "Expired")));
11
+ return (h(Host, { key: '28da2eebab84d7cb5ce6aa010d102c6b45b607d9' }, h("span", { key: '879d02cf4052f13e3e5324be091bea5fa0849300', class: "xplor-badge-expired" }, "Expired")));
12
12
  }
13
13
  static get style() { return xplorBadgeExpiredCss; }
14
14
  }, [2, "xplor-badge-expired"]);
@@ -8,7 +8,7 @@ const XplorBadgeInactive$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeIn
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '91648179b68ae6aa6db61292bf53b27761b7e00a' }, h("span", { key: '08eab77d253bf84f767f78e0ee147147d7b999ef', class: "xplor-badge-inactive" }, "Inactive")));
11
+ return (h(Host, { key: 'f87a4a1d082c17102c5192ca1c064d636b13d803' }, h("span", { key: '75aa909657eedd5b91d90cf0b71a59215e13b2c8', class: "xplor-badge-inactive" }, "Inactive")));
12
12
  }
13
13
  static get style() { return xplorBadgeInactiveCss; }
14
14
  }, [2, "xplor-badge-inactive"]);
@@ -8,7 +8,7 @@ const XplorBadgeRecalled$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeRe
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '9233d1e70a44d0b058b44f42afab990f4bdb851d' }, h("span", { key: 'be98dcedb815e3df2c68c94ba21b7084f55523a7', class: "xplor-badge-recalled" }, "Recalled")));
11
+ return (h(Host, { key: 'bf0879b3e61b3f732345c974185809bd78a57063' }, h("span", { key: 'f4cdf5ef2b1bf4910f0bbfc1bbefdee98ae09575', class: "xplor-badge-recalled" }, "Recalled")));
12
12
  }
13
13
  static get style() { return xplorBadgeRecalledCss; }
14
14
  }, [2, "xplor-badge-recalled"]);
@@ -8,7 +8,7 @@ const XplorBadgeUpcoming$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeUp
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '51078127992721291d5b557148239d657b050ad4' }, h("span", { key: 'cd95ea48dad3fb544df80a70318da7671b8700be', class: "xplor-badge-upcoming" }, "Upcoming")));
11
+ return (h(Host, { key: 'e670e6d49428aae18b3a0f97c39a10745cb5a039' }, h("span", { key: 'dfbd77ac03b9b4779758963e62504450040243b4', class: "xplor-badge-upcoming" }, "Upcoming")));
12
12
  }
13
13
  static get style() { return xplorBadgeUpcomingCss; }
14
14
  }, [2, "xplor-badge-upcoming"]);
@@ -8,7 +8,7 @@ const XplorBadgeWaitlist$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadgeWa
8
8
  this.__registerHost();
9
9
  }
10
10
  render() {
11
- return (h(Host, { key: '918d4113efa7e206ba15af2ccacdf11950640aaf' }, h("span", { key: '697713efbf0a9b86a6af4e7bf102f07a7ad2dd48', class: "xplor-badge-waitlist" }, "Waitlist")));
11
+ return (h(Host, { key: '150ff857e845f012a1fb6f8d04cf519b0e18c1dd' }, h("span", { key: '00ef3af174c37039b23603a9d47fd7e30cf497b3', class: "xplor-badge-waitlist" }, "Waitlist")));
12
12
  }
13
13
  static get style() { return xplorBadgeWaitlistCss; }
14
14
  }, [2, "xplor-badge-waitlist"]);
@@ -116,7 +116,7 @@ const XplorBadge$1 = /*@__PURE__*/ proxyCustomElement(class XplorBadge extends H
116
116
  };
117
117
  }
118
118
  render() {
119
- return (h(Host, { key: '4f0691b5233e85340519a7ead5f3f3508c35c307' }, h("span", { key: '1588d8d3a85def71d7e5b5f5883d36ca5a232141', class: this.computedClasses, style: this.cssVars }, h("slot", { key: '571aa32299b77b94351ef8a1b66e071fa318c2e5' }, this.text))));
119
+ return (h(Host, { key: '4aadb0c86d68133c04ad829d14095aa5c9dba36e' }, h("span", { key: 'f0f4b465265cf55da555ad25d2ea478e7e8d75c0', class: this.computedClasses, style: this.cssVars }, h("slot", { key: '3d6c7ab9d5b383b716c38adebf179d4a9d29ee82' }, this.text))));
120
120
  }
121
121
  static get style() { return xplorBadgeCss; }
122
122
  }, [6, "xplor-badge", {
@@ -43,7 +43,7 @@ const XplorBtnBackToParent$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnBa
43
43
  const buttonStyles = {
44
44
  '--btn-size': this.size,
45
45
  };
46
- return (h(Host, { key: '0962b04ae634f044dd3e7c1eacf42b7d2c8e0f1e' }, h("button", { key: '82cb8fa3218a17784a0ab360d328b68f2c0e6e81', class: buttonClasses, style: buttonStyles, onClick: this.handleClick, "aria-label": this.ariaLabel }, h("span", { key: '784853baa5b013fc85a07054e446e6166eab7068', class: "xplor-btn-back-to-parent__icon" }, "\u2715"))));
46
+ return (h(Host, { key: '3423fa1064a5527c1313e5e74f01093fbfdf9a5c' }, h("button", { key: '362161229ce57836bb0bdcd3d6ce671669208d70', class: buttonClasses, style: buttonStyles, onClick: this.handleClick, "aria-label": this.ariaLabel }, h("span", { key: '223cc632ce76b936f6129e39a1602123c89e4fc1', class: "xplor-btn-back-to-parent__icon" }, "\u2715"))));
47
47
  }
48
48
  static get style() { return xplorBtnBackToParentCss; }
49
49
  }, [2, "xplor-btn-back-to-parent", {
@@ -43,7 +43,7 @@ const XplorBtnBack$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnBack exten
43
43
  '--min-height': this.minHeight,
44
44
  '--gap': this.gap,
45
45
  };
46
- return (h(Host, { key: '1fa9f6b770f01f2a384591293831a2fecb15b593' }, h("button", { key: '3d201c9b3ccb3176401b1c671237825231c78d39', class: buttonClasses, style: buttonStyles, disabled: this.disabled, onClick: this.handleClick }, h("span", { key: '2e92390e29ad2f0e9c5144f802d66544bd1f00c4', class: "xplor-btn-back__icon" }, "\u2039"), h("span", { key: 'e663a5e163007a0fc82162b6d9a2a8018cab8a76', class: "xplor-btn-back__text" }, h("slot", { key: '4bcd417f211ec014b8c861d309bf709048e34c8d' }, "Back")))));
46
+ return (h(Host, { key: '11a49ee4557580e42bf35430829f95d4744c23c3' }, h("button", { key: '52a8657c87b146ef5ecb0adf0388132a5bb2bf93', class: buttonClasses, style: buttonStyles, disabled: this.disabled, onClick: this.handleClick }, h("span", { key: '6c399ed83f9779a3b0f2e2162b0e05e186f2ba1b', class: "xplor-btn-back__icon" }, "\u2039"), h("span", { key: '05bc6d2cbbef85d33b6ed4225aa4fc45dc4cbe0f', class: "xplor-btn-back__text" }, h("slot", { key: '61800e333b89fb55fe4fe638ce055870fce0e4fd' }, "Back")))));
47
47
  }
48
48
  static get style() { return xplorBtnBackCss; }
49
49
  }, [6, "xplor-btn-back", {
@@ -44,7 +44,7 @@ const XplorBtnIcon$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnIcon exten
44
44
  '--btn-size': typeof this.size === 'number' ? `${this.size}px` : this.size,
45
45
  '--icon-size': typeof this.iconSize === 'number' ? `${this.iconSize}px` : this.iconSize,
46
46
  };
47
- return (h(Host, { key: '9d87aab5e3af33201c71dffeab51a5a02cc61e98' }, h("button", { key: 'c30b8c4aa51a957c84e7fff3d72e01961dec911c', class: buttonClasses, style: buttonStyles, disabled: this.disabled, onClick: this.handleClick, "aria-label": this.ariaLabel }, h("span", { key: '99773527f599523638ce8463fe308826f01202cf', class: "xplor-btn-icon__content" }, h("slot", { key: '14e1356bcecd1d2b8768cddbaf257f49bf92e5a7' })))));
47
+ return (h(Host, { key: 'd4312cd0ef1b871a49fc252fdc913c3a089a2d33' }, h("button", { key: '5b9b112c5b1c70ea82c6c615c24403ce514753a0', class: buttonClasses, style: buttonStyles, disabled: this.disabled, onClick: this.handleClick, "aria-label": this.ariaLabel }, h("span", { key: '1736857fad944996c0ad380189edbf5e30c013f0', class: "xplor-btn-icon__content" }, h("slot", { key: '8bd0e864ae2469dfa4fe48c2bd4215a38f8db182' })))));
48
48
  }
49
49
  static get style() { return xplorBtnIconCss; }
50
50
  }, [6, "xplor-btn-icon", {
@@ -16,7 +16,7 @@ const XplorBtnToggleGroup$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnTog
16
16
  this.density = 'default';
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '587016261064869ff2b10cf04371963f57642221' }, h("div", { key: 'ee8813207ade2261011e699ce12010135a6d640b', class: "xplor-btn-toggle-group", role: "group" }, h("slot", { key: '3b4d82938d310ac8864a02425d97b822ba4b1d9d' }))));
19
+ return (h(Host, { key: '9f4c71cf767b466ed9116c30d3befde6d794122d' }, h("div", { key: '8004544207dce87f5eebbb56fa2829a17adcb5e6', class: "xplor-btn-toggle-group", role: "group" }, h("slot", { key: '3aa75d08de1bc105295b5204273c34697b46ef87' }))));
20
20
  }
21
21
  static get style() { return xplorBtnToggleGroupCss; }
22
22
  }, [6, "xplor-btn-toggle-group", {
@@ -33,7 +33,7 @@ const XplorBtnToggleSecondary$1 = /*@__PURE__*/ proxyCustomElement(class XplorBt
33
33
  'xplor-btn-toggle-secondary--disabled': this.disabled,
34
34
  'xplor-btn-toggle-secondary--inactive-outlined': this.inactiveOutlined && !this.active,
35
35
  };
36
- return (h(Host, { key: 'e82338d3bdbd2af08df290ee79359acb9e61dfae' }, h("button", { key: '137cf53e7b48676e86e3ed12a575e94792eab35c', class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, "aria-pressed": this.active ? 'true' : 'false' }, h("slot", { key: 'bfacf098eb4692bc56faf88a4444b1c2213d3a3b' }))));
36
+ return (h(Host, { key: '52551538bd39aedb16ab80e6f7e82d922128df31' }, h("button", { key: '8d527b973bef5aebaf437cd962421572e0005c11', class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, "aria-pressed": this.active ? 'true' : 'false' }, h("slot", { key: '1f8da5c88d120cd82b0e91a40fa76f6f5aaa006b' }))));
37
37
  }
38
38
  static get style() { return xplorBtnToggleSecondaryCss; }
39
39
  }, [6, "xplor-btn-toggle-secondary", {
@@ -37,7 +37,7 @@ const XplorBtnToggle$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnToggle e
37
37
  'xplor-btn-toggle--disabled': this.disabled,
38
38
  'xplor-btn-toggle--inactive-outlined': this.inactiveOutlined && !this.active,
39
39
  };
40
- return (h(Host, { key: '9434059f3e934707d2be2dbabe539ef6f06dbf66' }, h("button", { key: 'bbdc0032e4eb79951d06fb47e19ab76a842f0c46', class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, "aria-pressed": this.active ? 'true' : 'false' }, h("slot", { key: 'c5944a5ce768ca5f1cafa5f33dcf72145c94b189' }))));
40
+ return (h(Host, { key: '0df89df461cff00e400c8519d01355e02944a09b' }, h("button", { key: '3b3ae840b9724bc999729e0596166c6247319d3d', class: buttonClasses, disabled: this.disabled, onClick: this.handleClick, "aria-pressed": this.active ? 'true' : 'false' }, h("slot", { key: '468875beb8d19c779c6c1f29b016e4d870f8c563' }))));
41
41
  }
42
42
  static get style() { return xplorBtnToggleCss; }
43
43
  }, [6, "xplor-btn-toggle", {
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
- import { d as defineCustomElement$3 } from './p-B5rS_jjI.js';
3
- import { d as defineCustomElement$2 } from './p-DbQ6ZNvh.js';
2
+ import { d as defineCustomElement$3 } from './p-DWaTb2EJ.js';
3
+ import { d as defineCustomElement$2 } from './p-vl-J3tKJ.js';
4
4
 
5
5
  const xplorBtnTooltipCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-btn-tooltip {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-btn-tooltip {\n width: 600px !important;\n }\n}\nh1.sc-xplor-btn-tooltip {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-btn-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-btn-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-btn-tooltip {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-btn-tooltip, ul.sc-xplor-btn-tooltip {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-btn-tooltip li.sc-xplor-btn-tooltip, ul.sc-xplor-btn-tooltip li.sc-xplor-btn-tooltip {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-btn-tooltip, ul.mdc-list.sc-xplor-btn-tooltip {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-btn-tooltip li.mdc-list-item.sc-xplor-btn-tooltip, ul.mdc-list.sc-xplor-btn-tooltip li.mdc-list-item.sc-xplor-btn-tooltip {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-btn-tooltip {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-btn-tooltip {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-btn-tooltip {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-btn-tooltip {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-btn-tooltip .mdc-text-field--outlined.sc-xplor-btn-tooltip .mdc-notched-outline__notch.sc-xplor-btn-tooltip {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-btn-tooltip .mdc-notched-outline__notch.sc-xplor-btn-tooltip {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-btn-tooltip .mdc-notched-outline.sc-xplor-btn-tooltip .mdc-notched-outline__notch.sc-xplor-btn-tooltip {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-btn-tooltip {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-btn-tooltip:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-btn-tooltip {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.sc-xplor-btn-tooltip-h {\n display: inline-block;\n}";
6
6
 
@@ -13,7 +13,7 @@ const XplorBtnTooltip$1 = /*@__PURE__*/ proxyCustomElement(class XplorBtnTooltip
13
13
  this.disabled = false;
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '252d295aa8fa8f6f404727baef30d00dbcac17b8' }, h("xplor-tooltip", { key: 'cba71a8dd339f47b16f4a161a341895ca70e22b0', position: this.tooltipPosition, content: this.tooltipText, trigger: "hover", arrow: true, disabled: this.disabled }, h("xplor-button", { key: '31c167ffa852074e94a2cac255ab10b86ad041ef', slot: "trigger", text: this.text, type: this.type, mode: this.mode, "icon-position": this.iconPosition }, h("slot", { key: 'aef011d1873e4f81237f88d651f5bfb7c0fb2569' })))));
16
+ return (h(Host, { key: '6d43dae5717d346c8a9ffa210f79bd9d74d8d6a9' }, h("xplor-tooltip", { key: 'a5dd7d12066e3fb08334463cc7410d5cdde5158b', position: this.tooltipPosition, content: this.tooltipText, trigger: "hover", arrow: true, disabled: this.disabled }, h("xplor-button", { key: '83e0ac08cfafeeadd25c23e682af15faa2cc81de', slot: "trigger", text: this.text, type: this.type, mode: this.mode, "icon-position": this.iconPosition }, h("slot", { key: 'e994ce16062426a41f67d92dfb0be8f54acceff1' })))));
17
17
  }
18
18
  static get style() { return xplorBtnTooltipCss; }
19
19
  }, [6, "xplor-btn-tooltip", {
@@ -1,4 +1,4 @@
1
- import { X as XplorButton$1, d as defineCustomElement$1 } from './p-B5rS_jjI.js';
1
+ import { X as XplorButton$1, d as defineCustomElement$1 } from './p-DWaTb2EJ.js';
2
2
 
3
3
  const XplorButton = XplorButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface XplorCanvasEditor extends Components.XplorCanvasEditor, HTMLElement {}
4
+ export const XplorCanvasEditor: {
5
+ prototype: XplorCanvasEditor;
6
+ new (): XplorCanvasEditor;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,370 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
2
+
3
+ const xplorCanvasEditorCss = "@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer base {\n \n :root {\n --color-primary: #db3b03;\n --color-primary-50: rgba(255, 152, 0, 1);\n --color-secondary: rgb(0, 119, 107);\n --color-secondary-50: rgba(1, 163, 157, 1);\n --color-tertiary: rgb(128, 104, 186);\n --color-tertiary: rgb(223, 242, 241);\n --color-white: white;\n --color-emphasis: rgb(8, 8, 9);\n --color-supergiant: rgb(213, 66, 99);\n --color-orange: rgb(250, 200, 127);\n --color-buttons: #fbbc05;\n --color-typography: #ea4335;\n --background: 20 66% 99%;\n --foreground: 20 51% 4%;\n --muted: 20 25% 86%;\n --muted-foreground: 20 7% 25%;\n --popover: 20 66% 98%;\n --popover-foreground: 20 51% 3%;\n --card: 20 66% 98%;\n --card-foreground: 20 51% 3%;\n --border: 20 15% 94%;\n --input: 20 15% 94%;\n --primary: 20 48% 72%;\n --primary-foreground: 20 48% 12%;\n --secondary: 20 12% 92%;\n --secondary-foreground: 20 12% 32%;\n --accent: 20 12% 92%;\n --accent-foreground: 20 12% 32%;\n --destructive: 11 80% 22%;\n --destructive-foreground: 11 80% 82%;\n --ring: 20 48% 72%;\n --radius: 0.5rem;\n --chart-1: 12 76% 61%;\n --chart-2: 173 58% 39%;\n --chart-3: 197 37% 24%;\n --chart-4: 43 74% 66%;\n --chart-5: 27 87% 67%;\n }\n .dark {\n --background: 253 43% 3%;\n --foreground: 253 31% 98%;\n --muted: 253 7% 13%;\n --muted-foreground: 253 13% 63%;\n --popover: 253 43% 3%;\n --popover-foreground: 253 31% 98%;\n --card: 253 43% 4%;\n --card-foreground: 253 31% 99%;\n --border: 215 27.9% 16.9%;\n --input: 215 27.9% 16.9%;\n --primary: 253 91% 58%;\n --primary-foreground: 253 91% 98%;\n --secondary: 253 7% 9%;\n --secondary-foreground: 253 7% 69%;\n --accent: 253 13% 14%;\n --accent-foreground: 253 13% 74%;\n --destructive: 339.2 90.36% 51.18%;\n --destructive-foreground: 0 0% 100%;\n --ring: 253 91% 58%;\n --chart-1: 220 70% 50%;\n --chart-2: 160 60% 45%;\n --chart-3: 30 80% 55%;\n --chart-4: 280 65% 60%;\n --chart-5: 340 75% 55%;\n }\n}\n@layer base {\n * {\n @apply border-border;\n }\n body {\n @apply box-border bg-background text-foreground;\n }\n}\n@layer utilities {\n .min-h-screen {\n min-height: 100vh;\n \n min-height: 100dvh;\n }\n .h-screen {\n height: 100vh;\n \n height: 100dvh;\n }\n}\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n@layer components {\n .glass {\n border: none;\n backdrop-filter: blur(var(--glass-blur, 40px));\n background-color: transparent;\n background-image: linear-gradient(135deg, rgb(255, 255, 255, var(--glass-opacity, 30%)), transparent), linear-gradient(var(--glass-reflex-degree, 100deg), rgb(255, 255, 255, var(--glass-reflex-opacity, 10%)) 25%, transparent 0);\n box-shadow: 0 0 0 1px rgb(255, 255, 255, var(--glass-border-opacity, 10%)) inset, 0 0 0 2px rgba(0, 0, 0, 0.05);\n text-shadow: 0 1px rgb(0, 0, 0, var(--glass-text-shadow-opacity, 5%));\n }\n}\n.tox.tox-tinymce.sc-xplor-canvas-editor {\n width: 50% !important;\n height: 400px !important;\n display: inline-flex;\n}\n\n\n@media only screen and (min-width: 600px) {\n .tox.tox-tinymce.sc-xplor-canvas-editor {\n width: 600px !important;\n }\n}\nh1.sc-xplor-canvas-editor {\n color: var(--color-primary);\n \n font-family: Inter;\n font-size: 48px;\n font-style: normal;\n font-weight: 400;\n line-height: 56px; \n}\n\nh2.sc-xplor-canvas-editor {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 32px;\n font-style: normal;\n font-weight: 600;\n line-height: 38px; \n letter-spacing: 0.25px;\n}\n\nh3.sc-xplor-canvas-editor {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 24px;\n font-style: normal;\n font-weight: 400;\n line-height: 32px; \n}\n\n.overline.sc-xplor-canvas-editor {\n color: var(--grey-1100252525, #252525);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 500;\n line-height: 16px; \n letter-spacing: 3.2px;\n text-transform: uppercase;\n}\n\nol.sc-xplor-canvas-editor, ul.sc-xplor-canvas-editor {\n list-style: none;\n margin: 1rem;\n padding: 0;\n}\nol.sc-xplor-canvas-editor li.sc-xplor-canvas-editor, ul.sc-xplor-canvas-editor li.sc-xplor-canvas-editor {\n margin: 1rem;\n padding: 0;\n}\nol.mdc-list.sc-xplor-canvas-editor, ul.mdc-list.sc-xplor-canvas-editor {\n list-style-type: none;\n list-style: none;\n}\nol.mdc-list.sc-xplor-canvas-editor li.mdc-list-item.sc-xplor-canvas-editor, ul.mdc-list.sc-xplor-canvas-editor li.mdc-list-item.sc-xplor-canvas-editor {\n list-style-type: none;\n list-style: none !important;\n}\n\n.orange-label.sc-xplor-canvas-editor {\n color: var(--Orange-900-Primary, #db3b03);\n \n font-family: Inter;\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px; \n letter-spacing: 0.4px;\n margin: 0px 0 -9px 16px;\n z-index: 1 !important;\n position: relative;\n width: fit-content;\n}\n.orange-label.grey-bg.sc-xplor-canvas-editor {\n background-color: #fefcfb;\n}\n\n#spinnerLoader.sc-xplor-canvas-editor {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: #fff;\n padding: 20px;\n border-radius: 5px;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 100;\n pointer-events: none;\n}\n\n#textfield-Title-label.sc-xplor-canvas-editor {\n background-color: white;\n}\n\n.mdc-ripple-upgraded.sc-xplor-canvas-editor .mdc-text-field--outlined.sc-xplor-canvas-editor .mdc-notched-outline__notch.sc-xplor-canvas-editor {\n border: 0px solid transparent !important;\n border-bottom: 1px solid #db3b03 !important;\n padding: 0;\n height: 0;\n}\n\n.mdc-text-field--focused.sc-xplor-canvas-editor .mdc-notched-outline__notch.sc-xplor-canvas-editor {\n border: 0px solid transparent !important;\n border-bottom: 2px solid #db3b03 !important;\n}\n\n.mdc-text-field--outlined.sc-xplor-canvas-editor .mdc-notched-outline.sc-xplor-canvas-editor .mdc-notched-outline__notch.sc-xplor-canvas-editor {\n max-width: calc(100% - max(12px, var(--mdc-shape-small, 4px)) * 2);\n border-top: transparent;\n}\n\n.generate-btn.sc-xplor-canvas-editor {\n display: flex;\n height: 48px;\n padding: 12px 24px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n border-radius: 16px;\n}\n.generate-btn.link.sc-xplor-canvas-editor:hover {\n background-color: var(--Cyan-700-Secondary, #e27046);\n color: var(--Cyan-700-Secondary-Text, #fff);\n}\n\n.bg-green.sc-xplor-canvas-editor {\n background: var(--Cyan-700-Secondary, #00776b);\n}\n\n.margin-128.sc-xplor-canvas-editor {\n margin: 8rem;\n}\n\n.margin-t-128.sc-xplor-canvas-editor {\n margin-top: 8rem;\n}\n\n.margin-r-128.sc-xplor-canvas-editor {\n margin-right: 8rem;\n}\n\n.margin-b-128.sc-xplor-canvas-editor {\n margin-bottom: 8rem;\n}\n\n.margin-l-128.sc-xplor-canvas-editor {\n margin-left: 8rem;\n}\n\n.margin-x-128.sc-xplor-canvas-editor {\n margin-left: 8rem;\n margin-right: 8rem;\n}\n\n.margin-y-128.sc-xplor-canvas-editor {\n margin-top: 8rem;\n margin-bottom: 8rem;\n}\n\n.margin-80.sc-xplor-canvas-editor {\n margin: 5rem;\n}\n\n.margin-t-80.sc-xplor-canvas-editor {\n margin-top: 5rem;\n}\n\n.margin-r-80.sc-xplor-canvas-editor {\n margin-right: 5rem;\n}\n\n.margin-b-80.sc-xplor-canvas-editor {\n margin-bottom: 5rem;\n}\n\n.margin-l-80.sc-xplor-canvas-editor {\n margin-left: 5rem;\n}\n\n.margin-x-80.sc-xplor-canvas-editor {\n margin-left: 5rem;\n margin-right: 5rem;\n}\n\n.margin-y-80.sc-xplor-canvas-editor {\n margin-top: 5rem;\n margin-bottom: 5rem;\n}\n\n.margin-64.sc-xplor-canvas-editor {\n margin: 4rem;\n}\n\n.margin-t-64.sc-xplor-canvas-editor {\n margin-top: 4rem;\n}\n\n.margin-r-64.sc-xplor-canvas-editor {\n margin-right: 4rem;\n}\n\n.margin-b-64.sc-xplor-canvas-editor {\n margin-bottom: 4rem;\n}\n\n.margin-l-64.sc-xplor-canvas-editor {\n margin-left: 4rem;\n}\n\n.margin-x-64.sc-xplor-canvas-editor {\n margin-left: 4rem;\n margin-right: 4rem;\n}\n\n.margin-y-64.sc-xplor-canvas-editor {\n margin-top: 4rem;\n margin-bottom: 4rem;\n}\n\n.margin-56.sc-xplor-canvas-editor {\n margin: 3.5rem;\n}\n\n.margin-t-56.sc-xplor-canvas-editor {\n margin-top: 3.5rem;\n}\n\n.margin-r-56.sc-xplor-canvas-editor {\n margin-right: 3.5rem;\n}\n\n.margin-b-56.sc-xplor-canvas-editor {\n margin-bottom: 3.5rem;\n}\n\n.margin-l-56.sc-xplor-canvas-editor {\n margin-left: 3.5rem;\n}\n\n.margin-x-56.sc-xplor-canvas-editor {\n margin-left: 3.5rem;\n margin-right: 3.5rem;\n}\n\n.margin-y-56.sc-xplor-canvas-editor {\n margin-top: 3.5rem;\n margin-bottom: 3.5rem;\n}\n\n.margin-48.sc-xplor-canvas-editor {\n margin: 3rem;\n}\n\n.margin-t-48.sc-xplor-canvas-editor {\n margin-top: 3rem;\n}\n\n.margin-r-48.sc-xplor-canvas-editor {\n margin-right: 3rem;\n}\n\n.margin-b-48.sc-xplor-canvas-editor {\n margin-bottom: 3rem;\n}\n\n.margin-l-48.sc-xplor-canvas-editor {\n margin-left: 3rem;\n}\n\n.margin-x-48.sc-xplor-canvas-editor {\n margin-left: 3rem;\n margin-right: 3rem;\n}\n\n.margin-y-48.sc-xplor-canvas-editor {\n margin-top: 3rem;\n margin-bottom: 3rem;\n}\n\n.margin-40.sc-xplor-canvas-editor {\n margin: 2.5rem;\n}\n\n.margin-t-40.sc-xplor-canvas-editor {\n margin-top: 2.5rem;\n}\n\n.margin-r-40.sc-xplor-canvas-editor {\n margin-right: 2.5rem;\n}\n\n.margin-b-40.sc-xplor-canvas-editor {\n margin-bottom: 2.5rem;\n}\n\n.margin-l-40.sc-xplor-canvas-editor {\n margin-left: 2.5rem;\n}\n\n.margin-x-40.sc-xplor-canvas-editor {\n margin-left: 2.5rem;\n margin-right: 2.5rem;\n}\n\n.margin-y-40.sc-xplor-canvas-editor {\n margin-top: 2.5rem;\n margin-bottom: 2.5rem;\n}\n\n.margin-32.sc-xplor-canvas-editor {\n margin: 2rem;\n}\n\n.margin-t-32.sc-xplor-canvas-editor {\n margin-top: 2rem;\n}\n\n.margin-r-32.sc-xplor-canvas-editor {\n margin-right: 2rem;\n}\n\n.margin-b-32.sc-xplor-canvas-editor {\n margin-bottom: 2rem;\n}\n\n.margin-l-32.sc-xplor-canvas-editor {\n margin-left: 2rem;\n}\n\n.margin-x-32.sc-xplor-canvas-editor {\n margin-left: 2rem;\n margin-right: 2rem;\n}\n\n.margin-y-32.sc-xplor-canvas-editor {\n margin-top: 2rem;\n margin-bottom: 2rem;\n}\n\n.margin-24.sc-xplor-canvas-editor {\n margin: 1.5rem;\n}\n\n.margin-t-24.sc-xplor-canvas-editor {\n margin-top: 1.5rem;\n}\n\n.margin-r-24.sc-xplor-canvas-editor {\n margin-right: 1.5rem;\n}\n\n.margin-b-24.sc-xplor-canvas-editor {\n margin-bottom: 1.5rem;\n}\n\n.margin-l-24.sc-xplor-canvas-editor {\n margin-left: 1.5rem;\n}\n\n.margin-x-24.sc-xplor-canvas-editor {\n margin-left: 1.5rem;\n margin-right: 1.5rem;\n}\n\n.margin-y-24.sc-xplor-canvas-editor {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n.margin-20.sc-xplor-canvas-editor {\n margin: 1.25rem;\n}\n\n.margin-t-20.sc-xplor-canvas-editor {\n margin-top: 1.25rem;\n}\n\n.margin-r-20.sc-xplor-canvas-editor {\n margin-right: 1.25rem;\n}\n\n.margin-b-20.sc-xplor-canvas-editor {\n margin-bottom: 1.25rem;\n}\n\n.margin-l-20.sc-xplor-canvas-editor {\n margin-left: 1.25rem;\n}\n\n.margin-x-20.sc-xplor-canvas-editor {\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n}\n\n.margin-y-20.sc-xplor-canvas-editor {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem;\n}\n\n.margin-16.sc-xplor-canvas-editor {\n margin: 1rem;\n}\n\n.margin-t-16.sc-xplor-canvas-editor {\n margin-top: 1rem;\n}\n\n.margin-r-16.sc-xplor-canvas-editor {\n margin-right: 1rem;\n}\n\n.margin-b-16.sc-xplor-canvas-editor {\n margin-bottom: 1rem;\n}\n\n.margin-l-16.sc-xplor-canvas-editor {\n margin-left: 1rem;\n}\n\n.margin-x-16.sc-xplor-canvas-editor {\n margin-left: 1rem;\n margin-right: 1rem;\n}\n\n.margin-y-16.sc-xplor-canvas-editor {\n margin-top: 1rem;\n margin-bottom: 1rem;\n}\n\n.margin-12.sc-xplor-canvas-editor {\n margin: 0.75rem;\n}\n\n.margin-t-12.sc-xplor-canvas-editor {\n margin-top: 0.75rem;\n}\n\n.margin-r-12.sc-xplor-canvas-editor {\n margin-right: 0.75rem;\n}\n\n.margin-b-12.sc-xplor-canvas-editor {\n margin-bottom: 0.75rem;\n}\n\n.margin-l-12.sc-xplor-canvas-editor {\n margin-left: 0.75rem;\n}\n\n.margin-x-12.sc-xplor-canvas-editor {\n margin-left: 0.75rem;\n margin-right: 0.75rem;\n}\n\n.margin-y-12.sc-xplor-canvas-editor {\n margin-top: 0.75rem;\n margin-bottom: 0.75rem;\n}\n\n.margin-8.sc-xplor-canvas-editor {\n margin: 0.5rem;\n}\n\n.margin-t-8.sc-xplor-canvas-editor {\n margin-top: 0.5rem;\n}\n\n.margin-r-8.sc-xplor-canvas-editor {\n margin-right: 0.5rem;\n}\n\n.margin-b-8.sc-xplor-canvas-editor {\n margin-bottom: 0.5rem;\n}\n\n.margin-l-8.sc-xplor-canvas-editor {\n margin-left: 0.5rem;\n}\n\n.margin-x-8.sc-xplor-canvas-editor {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n\n.margin-y-8.sc-xplor-canvas-editor {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n\n.margin-4.sc-xplor-canvas-editor {\n margin: 0.25rem;\n}\n\n.margin-t-4.sc-xplor-canvas-editor {\n margin-top: 0.25rem;\n}\n\n.margin-r-4.sc-xplor-canvas-editor {\n margin-right: 0.25rem;\n}\n\n.margin-b-4.sc-xplor-canvas-editor {\n margin-bottom: 0.25rem;\n}\n\n.margin-l-4.sc-xplor-canvas-editor {\n margin-left: 0.25rem;\n}\n\n.margin-x-4.sc-xplor-canvas-editor {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n.margin-y-4.sc-xplor-canvas-editor {\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n}\n\n.padding-128.sc-xplor-canvas-editor {\n padding: 8rem;\n}\n\n.padding-t-128.sc-xplor-canvas-editor {\n padding-top: 8rem;\n}\n\n.padding-r-128.sc-xplor-canvas-editor {\n padding-right: 8rem;\n}\n\n.padding-b-128.sc-xplor-canvas-editor {\n padding-bottom: 8rem;\n}\n\n.padding-l-128.sc-xplor-canvas-editor {\n padding-left: 8rem;\n}\n\n.padding-x-128.sc-xplor-canvas-editor {\n padding-left: 8rem;\n padding-right: 8rem;\n}\n\n.padding-y-128.sc-xplor-canvas-editor {\n padding-top: 8rem;\n padding-bottom: 8rem;\n}\n\n.padding-80.sc-xplor-canvas-editor {\n padding: 5rem;\n}\n\n.padding-t-80.sc-xplor-canvas-editor {\n padding-top: 5rem;\n}\n\n.padding-r-80.sc-xplor-canvas-editor {\n padding-right: 5rem;\n}\n\n.padding-b-80.sc-xplor-canvas-editor {\n padding-bottom: 5rem;\n}\n\n.padding-l-80.sc-xplor-canvas-editor {\n padding-left: 5rem;\n}\n\n.padding-x-80.sc-xplor-canvas-editor {\n padding-left: 5rem;\n padding-right: 5rem;\n}\n\n.padding-y-80.sc-xplor-canvas-editor {\n padding-top: 5rem;\n padding-bottom: 5rem;\n}\n\n.padding-64.sc-xplor-canvas-editor {\n padding: 4rem;\n}\n\n.padding-t-64.sc-xplor-canvas-editor {\n padding-top: 4rem;\n}\n\n.padding-r-64.sc-xplor-canvas-editor {\n padding-right: 4rem;\n}\n\n.padding-b-64.sc-xplor-canvas-editor {\n padding-bottom: 4rem;\n}\n\n.padding-l-64.sc-xplor-canvas-editor {\n padding-left: 4rem;\n}\n\n.padding-x-64.sc-xplor-canvas-editor {\n padding-left: 4rem;\n padding-right: 4rem;\n}\n\n.padding-y-64.sc-xplor-canvas-editor {\n padding-top: 4rem;\n padding-bottom: 4rem;\n}\n\n.padding-56.sc-xplor-canvas-editor {\n padding: 3.5rem;\n}\n\n.padding-t-56.sc-xplor-canvas-editor {\n padding-top: 3.5rem;\n}\n\n.padding-r-56.sc-xplor-canvas-editor {\n padding-right: 3.5rem;\n}\n\n.padding-b-56.sc-xplor-canvas-editor {\n padding-bottom: 3.5rem;\n}\n\n.padding-l-56.sc-xplor-canvas-editor {\n padding-left: 3.5rem;\n}\n\n.padding-x-56.sc-xplor-canvas-editor {\n padding-left: 3.5rem;\n padding-right: 3.5rem;\n}\n\n.padding-y-56.sc-xplor-canvas-editor {\n padding-top: 3.5rem;\n padding-bottom: 3.5rem;\n}\n\n.padding-48.sc-xplor-canvas-editor {\n padding: 3rem;\n}\n\n.padding-t-48.sc-xplor-canvas-editor {\n padding-top: 3rem;\n}\n\n.padding-r-48.sc-xplor-canvas-editor {\n padding-right: 3rem;\n}\n\n.padding-b-48.sc-xplor-canvas-editor {\n padding-bottom: 3rem;\n}\n\n.padding-l-48.sc-xplor-canvas-editor {\n padding-left: 3rem;\n}\n\n.padding-x-48.sc-xplor-canvas-editor {\n padding-left: 3rem;\n padding-right: 3rem;\n}\n\n.padding-y-48.sc-xplor-canvas-editor {\n padding-top: 3rem;\n padding-bottom: 3rem;\n}\n\n.padding-40.sc-xplor-canvas-editor {\n padding: 2.5rem;\n}\n\n.padding-t-40.sc-xplor-canvas-editor {\n padding-top: 2.5rem;\n}\n\n.padding-r-40.sc-xplor-canvas-editor {\n padding-right: 2.5rem;\n}\n\n.padding-b-40.sc-xplor-canvas-editor {\n padding-bottom: 2.5rem;\n}\n\n.padding-l-40.sc-xplor-canvas-editor {\n padding-left: 2.5rem;\n}\n\n.padding-x-40.sc-xplor-canvas-editor {\n padding-left: 2.5rem;\n padding-right: 2.5rem;\n}\n\n.padding-y-40.sc-xplor-canvas-editor {\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n}\n\n.padding-32.sc-xplor-canvas-editor {\n padding: 2rem;\n}\n\n.padding-t-32.sc-xplor-canvas-editor {\n padding-top: 2rem;\n}\n\n.padding-r-32.sc-xplor-canvas-editor {\n padding-right: 2rem;\n}\n\n.padding-b-32.sc-xplor-canvas-editor {\n padding-bottom: 2rem;\n}\n\n.padding-l-32.sc-xplor-canvas-editor {\n padding-left: 2rem;\n}\n\n.padding-x-32.sc-xplor-canvas-editor {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n\n.padding-y-32.sc-xplor-canvas-editor {\n padding-top: 2rem;\n padding-bottom: 2rem;\n}\n\n.padding-24.sc-xplor-canvas-editor {\n padding: 1.5rem;\n}\n\n.padding-t-24.sc-xplor-canvas-editor {\n padding-top: 1.5rem;\n}\n\n.padding-r-24.sc-xplor-canvas-editor {\n padding-right: 1.5rem;\n}\n\n.padding-b-24.sc-xplor-canvas-editor {\n padding-bottom: 1.5rem;\n}\n\n.padding-l-24.sc-xplor-canvas-editor {\n padding-left: 1.5rem;\n}\n\n.padding-x-24.sc-xplor-canvas-editor {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n\n.padding-y-24.sc-xplor-canvas-editor {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n\n.padding-20.sc-xplor-canvas-editor {\n padding: 1.25rem;\n}\n\n.padding-t-20.sc-xplor-canvas-editor {\n padding-top: 1.25rem;\n}\n\n.padding-r-20.sc-xplor-canvas-editor {\n padding-right: 1.25rem;\n}\n\n.padding-b-20.sc-xplor-canvas-editor {\n padding-bottom: 1.25rem;\n}\n\n.padding-l-20.sc-xplor-canvas-editor {\n padding-left: 1.25rem;\n}\n\n.padding-x-20.sc-xplor-canvas-editor {\n padding-left: 1.25rem;\n padding-right: 1.25rem;\n}\n\n.padding-y-20.sc-xplor-canvas-editor {\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n}\n\n.padding-16.sc-xplor-canvas-editor {\n padding: 1rem;\n}\n\n.padding-t-16.sc-xplor-canvas-editor {\n padding-top: 1rem;\n}\n\n.padding-r-16.sc-xplor-canvas-editor {\n padding-right: 1rem;\n}\n\n.padding-b-16.sc-xplor-canvas-editor {\n padding-bottom: 1rem;\n}\n\n.padding-l-16.sc-xplor-canvas-editor {\n padding-left: 1rem;\n}\n\n.padding-x-16.sc-xplor-canvas-editor {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n\n.padding-y-16.sc-xplor-canvas-editor {\n padding-top: 1rem;\n padding-bottom: 1rem;\n}\n\n.padding-12.sc-xplor-canvas-editor {\n padding: 0.75rem;\n}\n\n.padding-t-12.sc-xplor-canvas-editor {\n padding-top: 0.75rem;\n}\n\n.padding-r-12.sc-xplor-canvas-editor {\n padding-right: 0.75rem;\n}\n\n.padding-b-12.sc-xplor-canvas-editor {\n padding-bottom: 0.75rem;\n}\n\n.padding-l-12.sc-xplor-canvas-editor {\n padding-left: 0.75rem;\n}\n\n.padding-x-12.sc-xplor-canvas-editor {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n.padding-y-12.sc-xplor-canvas-editor {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\n.padding-8.sc-xplor-canvas-editor {\n padding: 0.5rem;\n}\n\n.padding-t-8.sc-xplor-canvas-editor {\n padding-top: 0.5rem;\n}\n\n.padding-r-8.sc-xplor-canvas-editor {\n padding-right: 0.5rem;\n}\n\n.padding-b-8.sc-xplor-canvas-editor {\n padding-bottom: 0.5rem;\n}\n\n.padding-l-8.sc-xplor-canvas-editor {\n padding-left: 0.5rem;\n}\n\n.padding-x-8.sc-xplor-canvas-editor {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.padding-y-8.sc-xplor-canvas-editor {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.padding-4.sc-xplor-canvas-editor {\n padding: 0.25rem;\n}\n\n.padding-t-4.sc-xplor-canvas-editor {\n padding-top: 0.25rem;\n}\n\n.padding-r-4.sc-xplor-canvas-editor {\n padding-right: 0.25rem;\n}\n\n.padding-b-4.sc-xplor-canvas-editor {\n padding-bottom: 0.25rem;\n}\n\n.padding-l-4.sc-xplor-canvas-editor {\n padding-left: 0.25rem;\n}\n\n.padding-x-4.sc-xplor-canvas-editor {\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n}\n\n.padding-y-4.sc-xplor-canvas-editor {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.sc-xplor-canvas-editor-h {\n display: block;\n --canvas-bg: var(--color-surface, #ffffff);\n --canvas-border: var(--color-gray-200, #eeeeee);\n --canvas-border-radius: 0.75rem;\n --canvas-toolbar-bg: var(--color-gray-50, #fafafa);\n --canvas-toolbar-border: var(--color-gray-200, #eeeeee);\n --handle-size: 5;\n --handle-fill: #ffffff;\n --handle-stroke: var(--color-primary-500, var(--color-primary-500, #2196f3));\n --selection-color: var(--color-primary-500, var(--color-primary-500, #2196f3));\n --canvas-btn-size: 2rem;\n --canvas-btn-color: var(--color-gray-600, #757575);\n --canvas-btn-active-bg: var(--color-primary-50, var(--color-primary-50, #e3f2fd));\n --canvas-btn-active-color: var(--color-primary-500, var(--color-primary-500, #2196f3));\n --canvas-btn-hover-bg: var(--color-gray-100, #f5f5f5);\n --canvas-btn-danger-color: var(--color-error-600, var(--color-error-600, #e53935));\n --canvas-btn-danger-hover-bg: var(--color-error-50, #fef2f2);\n}\n\n.xplor-canvas__sr-only.sc-xplor-canvas-editor {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.xplor-canvas.sc-xplor-canvas-editor {\n display: inline-flex;\n flex-direction: column;\n border: 1px solid var(--canvas-border);\n border-radius: var(--canvas-border-radius);\n background-color: var(--canvas-bg);\n overflow: hidden;\n outline: none;\n position: relative;\n}\n.xplor-canvas.sc-xplor-canvas-editor:focus-visible {\n outline: 2px solid var(--selection-color);\n outline-offset: 2px;\n}\n\n.xplor-canvas__toolbar.sc-xplor-canvas-editor {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background-color: var(--canvas-toolbar-bg);\n border-bottom: 1px solid var(--canvas-toolbar-border);\n flex-shrink: 0;\n}\n\n.xplor-canvas__toolbar-group.sc-xplor-canvas-editor {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n\n.xplor-canvas__toolbar-divider.sc-xplor-canvas-editor {\n width: 1px;\n height: 1.5rem;\n background-color: var(--canvas-toolbar-border);\n margin: 0 0.25rem;\n flex-shrink: 0;\n}\n\n.xplor-canvas__toolbar-btn.sc-xplor-canvas-editor {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--canvas-btn-size);\n height: var(--canvas-btn-size);\n border: none;\n border-radius: 0.375rem;\n background: transparent;\n color: var(--canvas-btn-color);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n padding: 0;\n flex-shrink: 0;\n}\n.xplor-canvas__toolbar-btn.sc-xplor-canvas-editor svg.sc-xplor-canvas-editor {\n pointer-events: none;\n}\n.xplor-canvas__toolbar-btn.sc-xplor-canvas-editor:hover:not(:disabled) {\n background-color: var(--canvas-btn-hover-bg);\n}\n.xplor-canvas__toolbar-btn.sc-xplor-canvas-editor:focus-visible {\n outline: 2px solid var(--selection-color);\n outline-offset: 1px;\n}\n.xplor-canvas__toolbar-btn--active.sc-xplor-canvas-editor {\n background-color: var(--canvas-btn-active-bg);\n color: var(--canvas-btn-active-color);\n}\n.xplor-canvas__toolbar-btn--danger.sc-xplor-canvas-editor {\n color: var(--canvas-btn-danger-color);\n}\n.xplor-canvas__toolbar-btn--danger.sc-xplor-canvas-editor:hover:not(:disabled) {\n background-color: var(--canvas-btn-danger-hover-bg);\n}\n.xplor-canvas__toolbar-btn.sc-xplor-canvas-editor:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.xplor-canvas__svg-wrapper.sc-xplor-canvas-editor {\n overflow: auto;\n flex: 1 1 auto;\n line-height: 0;\n}\n\n.xplor-canvas__svg.sc-xplor-canvas-editor {\n display: block;\n background-color: var(--canvas-bg);\n user-select: none;\n -webkit-user-select: none;\n cursor: default;\n}\n\n.xplor-canvas__bg.sc-xplor-canvas-editor {\n fill: transparent;\n}\n\n.xplor-canvas__shape.sc-xplor-canvas-editor {\n transition: opacity 0.1s ease;\n}\n.xplor-canvas__shape.sc-xplor-canvas-editor:hover {\n opacity: 0.85;\n}\n.xplor-canvas__shape--selected.sc-xplor-canvas-editor {\n opacity: 1;\n}\n.xplor-canvas__shape--draft.sc-xplor-canvas-editor {\n pointer-events: none;\n opacity: 0.7;\n stroke-dasharray: 4, 3;\n}\n\n.xplor-canvas__selection-overlay.sc-xplor-canvas-editor {\n pointer-events: none;\n}\n\n.xplor-canvas__handle.sc-xplor-canvas-editor {\n fill: var(--handle-fill, #ffffff);\n stroke: var(--handle-stroke, var(--color-primary-500, #2196f3));\n stroke-width: 2;\n transition: fill 0.1s ease, transform 0.1s ease;\n}\n.xplor-canvas__handle.sc-xplor-canvas-editor:hover {\n fill: var(--handle-stroke, var(--color-primary-500, #2196f3));\n transform-origin: center;\n transform: scale(1.3);\n}\n.xplor-canvas__handle.sc-xplor-canvas-editor:focus-visible {\n outline: 2px solid var(--selection-color);\n outline-offset: 2px;\n}\n\n.dark.sc-xplor-canvas-editor-h, .dark .sc-xplor-canvas-editor-h {\n --canvas-bg: var(--color-surface-dark, #1e1e2e);\n --canvas-border: var(--color-gray-700, #616161);\n --canvas-toolbar-bg: var(--color-gray-800, #424242);\n --canvas-toolbar-border: var(--color-gray-700, #616161);\n --canvas-btn-color: var(--color-gray-300, #e0e0e0);\n --canvas-btn-hover-bg: var(--color-gray-700, #616161);\n --canvas-btn-active-bg: rgba(33, 150, 243, 0.2);\n --canvas-btn-active-color: var(--color-primary-300, var(--color-primary-300, #64b5f6));\n --handle-fill: #1e1e2e;\n}";
4
+
5
+ let canvasIdCounter = 0;
6
+ const XplorCanvasEditor$1 = /*@__PURE__*/ proxyCustomElement(class XplorCanvasEditor extends H {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.xplorShapeAdd = createEvent(this, "xplorShapeAdd");
11
+ this.xplorShapeRemove = createEvent(this, "xplorShapeRemove");
12
+ this.xplorShapeChange = createEvent(this, "xplorShapeChange");
13
+ this.componentId = `xplor-canvas-${++canvasIdCounter}`;
14
+ // Drawing state (non-reactive, no need to trigger re-render)
15
+ this.isDrawing = false;
16
+ this.drawStart = null;
17
+ // Resize state
18
+ this.isResizing = false;
19
+ this.resizeHandle = null;
20
+ this.resizeStart = null;
21
+ // -------------------------------------------------------------------------
22
+ // Props
23
+ // -------------------------------------------------------------------------
24
+ /** Width of the SVG canvas in pixels */
25
+ this.width = 800;
26
+ /** Height of the SVG canvas in pixels */
27
+ this.height = 500;
28
+ /**
29
+ * Initially active tool. The consumer can switch tool programmatically by
30
+ * updating this prop; the internal `activeTool` state takes over once the
31
+ * component mounts.
32
+ */
33
+ this.tool = 'select';
34
+ // -------------------------------------------------------------------------
35
+ // State
36
+ // -------------------------------------------------------------------------
37
+ this.shapes = [];
38
+ this.selectedId = null;
39
+ this.activeTool = 'select';
40
+ this.draftShape = null;
41
+ // -------------------------------------------------------------------------
42
+ // Private: Drawing handlers (SVG events)
43
+ // -------------------------------------------------------------------------
44
+ this.onSvgMouseDown = (event) => {
45
+ // Only draw if target is the SVG itself or the background rect
46
+ const target = event.target;
47
+ const isBackground = target === this.svgEl ||
48
+ target.classList.contains('xplor-canvas__bg');
49
+ if (this.activeTool === 'select') {
50
+ // Clicking background clears selection
51
+ if (isBackground) {
52
+ this.selectedId = null;
53
+ }
54
+ return;
55
+ }
56
+ if (!isBackground)
57
+ return;
58
+ const point = this.getSvgPoint(event);
59
+ this.isDrawing = true;
60
+ this.drawStart = point;
61
+ this.draftShape = {
62
+ id: '__draft__',
63
+ type: this.activeTool,
64
+ x: point.x,
65
+ y: point.y,
66
+ width: 0,
67
+ height: 0,
68
+ fill: 'rgba(33, 150, 243, 0.15)',
69
+ stroke: '#2196f3',
70
+ };
71
+ event.preventDefault();
72
+ };
73
+ this.onSvgMouseMove = (event) => {
74
+ if (!this.isDrawing || !this.drawStart || !this.draftShape)
75
+ return;
76
+ const point = this.getSvgPoint(event);
77
+ const x = Math.min(point.x, this.drawStart.x);
78
+ const y = Math.min(point.y, this.drawStart.y);
79
+ const width = Math.abs(point.x - this.drawStart.x);
80
+ const height = Math.abs(point.y - this.drawStart.y);
81
+ // Spread to a new object to trigger re-render
82
+ this.draftShape = Object.assign(Object.assign({}, this.draftShape), { x, y, width, height });
83
+ };
84
+ this.onSvgMouseUp = (_event) => {
85
+ if (!this.isDrawing || !this.draftShape) {
86
+ this.isDrawing = false;
87
+ return;
88
+ }
89
+ this.isDrawing = false;
90
+ // Discard draws smaller than 5 px in either dimension
91
+ if (this.draftShape.width < 5 || this.draftShape.height < 5) {
92
+ this.draftShape = null;
93
+ this.drawStart = null;
94
+ return;
95
+ }
96
+ const newShape = Object.assign(Object.assign({}, this.draftShape), { id: this.generateId(), fill: 'rgba(33, 150, 243, 0.25)', stroke: '#1976d2' });
97
+ this.shapes = [...this.shapes, newShape];
98
+ this.draftShape = null;
99
+ this.drawStart = null;
100
+ this.xplorShapeAdd.emit(newShape);
101
+ };
102
+ this.onShapeClick = (event, shape) => {
103
+ if (this.activeTool !== 'select')
104
+ return;
105
+ event.stopPropagation();
106
+ this.selectedId = shape.id;
107
+ };
108
+ // -------------------------------------------------------------------------
109
+ // Private: Resize handlers
110
+ // -------------------------------------------------------------------------
111
+ this.onResizeHandleMouseDown = (event, handleName) => {
112
+ event.stopPropagation();
113
+ event.preventDefault();
114
+ const selectedShape = this.shapes.find(s => s.id === this.selectedId);
115
+ if (!selectedShape)
116
+ return;
117
+ const point = this.getSvgPoint(event);
118
+ this.isResizing = true;
119
+ this.resizeHandle = handleName;
120
+ this.resizeStart = { x: point.x, y: point.y, shape: Object.assign({}, selectedShape) };
121
+ const onMouseMove = (e) => this.onResizeMouseMove(e);
122
+ const onMouseUp = (e) => {
123
+ this.onResizeMouseUp(e);
124
+ window.removeEventListener('mousemove', onMouseMove);
125
+ window.removeEventListener('mouseup', onMouseUp);
126
+ };
127
+ window.addEventListener('mousemove', onMouseMove);
128
+ window.addEventListener('mouseup', onMouseUp);
129
+ };
130
+ this.onResizeMouseMove = (event) => {
131
+ if (!this.isResizing || !this.resizeStart || !this.resizeHandle)
132
+ return;
133
+ const point = this.getSvgPoint(event);
134
+ const dx = point.x - this.resizeStart.x;
135
+ const dy = point.y - this.resizeStart.y;
136
+ const orig = this.resizeStart.shape;
137
+ const MIN = 10;
138
+ let { x, y, width, height } = orig;
139
+ if (this.resizeHandle.includes('e')) {
140
+ width = Math.max(MIN, orig.width + dx);
141
+ }
142
+ if (this.resizeHandle.includes('w')) {
143
+ const newWidth = Math.max(MIN, orig.width - dx);
144
+ x = orig.x + (orig.width - newWidth);
145
+ width = newWidth;
146
+ }
147
+ if (this.resizeHandle.includes('s')) {
148
+ height = Math.max(MIN, orig.height + dy);
149
+ }
150
+ if (this.resizeHandle.includes('n')) {
151
+ const newHeight = Math.max(MIN, orig.height - dy);
152
+ y = orig.y + (orig.height - newHeight);
153
+ height = newHeight;
154
+ }
155
+ this.shapes = this.shapes.map(s => s.id === this.selectedId ? Object.assign(Object.assign({}, s), { x, y, width, height }) : s);
156
+ };
157
+ this.onResizeMouseUp = (_event) => {
158
+ if (!this.isResizing)
159
+ return;
160
+ this.isResizing = false;
161
+ this.resizeHandle = null;
162
+ this.resizeStart = null;
163
+ const updatedShape = this.shapes.find(s => s.id === this.selectedId);
164
+ if (updatedShape) {
165
+ this.xplorShapeChange.emit(Object.assign({}, updatedShape));
166
+ }
167
+ };
168
+ // -------------------------------------------------------------------------
169
+ // Private: Keyboard handler (on the wrapper div)
170
+ // -------------------------------------------------------------------------
171
+ this.onKeyDown = (event) => {
172
+ if (event.key === 'Delete' || event.key === 'Backspace') {
173
+ event.preventDefault();
174
+ this.deleteSelected();
175
+ }
176
+ };
177
+ }
178
+ // -------------------------------------------------------------------------
179
+ // Lifecycle
180
+ // -------------------------------------------------------------------------
181
+ componentWillLoad() {
182
+ this.activeTool = this.tool;
183
+ }
184
+ // -------------------------------------------------------------------------
185
+ // Public methods
186
+ // -------------------------------------------------------------------------
187
+ /** Removes all shapes and clears the selection */
188
+ async clearAll() {
189
+ this.shapes = [];
190
+ this.selectedId = null;
191
+ }
192
+ /** Returns a shallow copy of all current shapes */
193
+ async getShapes() {
194
+ return [...this.shapes];
195
+ }
196
+ // -------------------------------------------------------------------------
197
+ // Private: Utilities
198
+ // -------------------------------------------------------------------------
199
+ generateId() {
200
+ return `shape-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
201
+ }
202
+ getSvgPoint(event) {
203
+ const rect = this.svgEl.getBoundingClientRect();
204
+ return {
205
+ x: Math.max(0, Math.min(this.width, event.clientX - rect.left)),
206
+ y: Math.max(0, Math.min(this.height, event.clientY - rect.top)),
207
+ };
208
+ }
209
+ setActiveTool(tool) {
210
+ this.activeTool = tool;
211
+ this.draftShape = null;
212
+ this.isDrawing = false;
213
+ }
214
+ deleteSelected() {
215
+ if (!this.selectedId)
216
+ return;
217
+ const id = this.selectedId;
218
+ this.shapes = this.shapes.filter(s => s.id !== id);
219
+ this.selectedId = null;
220
+ this.xplorShapeRemove.emit(id);
221
+ }
222
+ // -------------------------------------------------------------------------
223
+ // Private: SVG render helpers
224
+ // -------------------------------------------------------------------------
225
+ renderShape(shape, isDraft = false) {
226
+ const isSelected = !isDraft && shape.id === this.selectedId;
227
+ const commonProps = {
228
+ class: {
229
+ 'xplor-canvas__shape': true,
230
+ 'xplor-canvas__shape--selected': isSelected,
231
+ 'xplor-canvas__shape--draft': isDraft,
232
+ },
233
+ fill: shape.fill,
234
+ stroke: shape.stroke,
235
+ 'stroke-width': '2',
236
+ style: {
237
+ cursor: this.activeTool === 'select' && !isDraft ? 'pointer' : 'default',
238
+ },
239
+ onClick: !isDraft
240
+ ? (e) => this.onShapeClick(e, shape)
241
+ : undefined,
242
+ };
243
+ if (shape.type === 'rect') {
244
+ return (h("rect", Object.assign({}, commonProps, { x: shape.x, y: shape.y, width: shape.width, height: shape.height, rx: "2" })));
245
+ }
246
+ if (shape.type === 'circle') {
247
+ return (h("ellipse", Object.assign({}, commonProps, { cx: shape.x + shape.width / 2, cy: shape.y + shape.height / 2, rx: shape.width / 2, ry: shape.height / 2 })));
248
+ }
249
+ if (shape.type === 'line') {
250
+ return (h("line", Object.assign({}, commonProps, { x1: shape.x, y1: shape.y, x2: shape.x + shape.width, y2: shape.y + shape.height, fill: "none" })));
251
+ }
252
+ return null;
253
+ }
254
+ renderSelectionOverlay(shape) {
255
+ const overlayProps = {
256
+ class: 'xplor-canvas__selection-overlay',
257
+ stroke: 'var(--selection-color, #2196f3)',
258
+ 'stroke-dasharray': '5,3',
259
+ 'stroke-width': '2',
260
+ fill: 'none',
261
+ style: { pointerEvents: 'none' },
262
+ };
263
+ if (shape.type === 'line') {
264
+ return (h("line", Object.assign({}, overlayProps, { x1: shape.x, y1: shape.y, x2: shape.x + shape.width, y2: shape.y + shape.height })));
265
+ }
266
+ if (shape.type === 'circle') {
267
+ return (h("ellipse", Object.assign({}, overlayProps, { cx: shape.x + shape.width / 2, cy: shape.y + shape.height / 2, rx: shape.width / 2, ry: shape.height / 2 })));
268
+ }
269
+ // rect (default)
270
+ return (h("rect", Object.assign({}, overlayProps, { x: shape.x, y: shape.y, width: shape.width, height: shape.height, rx: "2" })));
271
+ }
272
+ renderResizeHandles(shape) {
273
+ const { x, y, width, height } = shape;
274
+ const mx = x + width / 2;
275
+ const my = y + height / 2;
276
+ const handles = [
277
+ { name: 'nw', cx: x, cy: y, cursor: 'nwse-resize' },
278
+ { name: 'n', cx: mx, cy: y, cursor: 'ns-resize' },
279
+ { name: 'ne', cx: x + width, cy: y, cursor: 'nesw-resize' },
280
+ { name: 'e', cx: x + width, cy: my, cursor: 'ew-resize' },
281
+ { name: 'se', cx: x + width, cy: y + height, cursor: 'nwse-resize' },
282
+ { name: 's', cx: mx, cy: y + height, cursor: 'ns-resize' },
283
+ { name: 'sw', cx: x, cy: y + height, cursor: 'nesw-resize' },
284
+ { name: 'w', cx: x, cy: my, cursor: 'ew-resize' },
285
+ ];
286
+ return handles.map(h => (h("circle", { key: h.name, class: "xplor-canvas__handle", cx: h.cx, cy: h.cy, r: "var(--handle-size, 5)", style: { cursor: h.cursor }, onMouseDown: (e) => this.onResizeHandleMouseDown(e, h.name), "aria-label": `Resize ${h.name.toUpperCase()} handle`, role: "button" })));
287
+ }
288
+ // -------------------------------------------------------------------------
289
+ // Private: Toolbar render
290
+ // -------------------------------------------------------------------------
291
+ renderToolbar() {
292
+ const tools = [
293
+ {
294
+ id: 'select',
295
+ label: 'Select tool',
296
+ icon: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M4 0 L20 12 L12.5 14.5 L10 24 Z" }))),
297
+ },
298
+ {
299
+ id: 'rect',
300
+ label: 'Rectangle tool',
301
+ icon: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "aria-hidden": "true" }, h("rect", { x: "3", y: "3", width: "18", height: "18", rx: "1" }))),
302
+ },
303
+ {
304
+ id: 'circle',
305
+ label: 'Circle / Ellipse tool',
306
+ icon: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "aria-hidden": "true" }, h("ellipse", { cx: "12", cy: "12", rx: "9", ry: "9" }))),
307
+ },
308
+ {
309
+ id: 'line',
310
+ label: 'Line tool',
311
+ icon: (h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "aria-hidden": "true" }, h("line", { x1: "3", y1: "21", x2: "21", y2: "3" }))),
312
+ },
313
+ ];
314
+ return (h("div", { class: "xplor-canvas__toolbar", role: "toolbar", "aria-label": "Canvas drawing tools", id: `${this.componentId}-toolbar` }, h("div", { class: "xplor-canvas__toolbar-group", role: "group", "aria-label": "Drawing tools" }, tools.map(t => (h("button", { type: "button", key: t.id, class: {
315
+ 'xplor-canvas__toolbar-btn': true,
316
+ 'xplor-canvas__toolbar-btn--active': this.activeTool === t.id,
317
+ }, "aria-label": t.label, "aria-pressed": String(this.activeTool === t.id), title: t.label, onClick: () => this.setActiveTool(t.id) }, t.icon)))), h("div", { class: "xplor-canvas__toolbar-divider", "aria-hidden": "true" }), h("div", { class: "xplor-canvas__toolbar-group", role: "group", "aria-label": "Canvas actions" }, h("button", { type: "button", class: {
318
+ 'xplor-canvas__toolbar-btn': true,
319
+ 'xplor-canvas__toolbar-btn--danger': !!this.selectedId,
320
+ }, "aria-label": "Delete selected shape", title: "Delete selected (Del)", disabled: !this.selectedId, onClick: () => this.deleteSelected() }, h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" }))), h("button", { type: "button", class: "xplor-canvas__toolbar-btn", "aria-label": "Clear all shapes", title: "Clear all", onClick: () => this.clearAll() }, h("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true" }, h("path", { d: "M5 13h14v-2H5v2zm-2 4h14v-2H3v2zM7 7v2h14V7H7z" }), h("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }))))));
321
+ }
322
+ // -------------------------------------------------------------------------
323
+ // Render
324
+ // -------------------------------------------------------------------------
325
+ render() {
326
+ const selectedShape = this.selectedId
327
+ ? this.shapes.find(s => s.id === this.selectedId)
328
+ : null;
329
+ const svgCursor = this.activeTool !== 'select' ? 'crosshair' : 'default';
330
+ return (h(Host, { key: '14f6878d3a4a6de64d1862ab998f2acdf00004d5' }, h("div", { key: '62a4fff983faeea8884d30df8a3bc3e39e6931a6', class: "xplor-canvas", role: "application", "aria-label": "Canvas editor", "aria-describedby": `${this.componentId}-desc`, tabIndex: 0, onKeyDown: this.onKeyDown }, h("span", { key: 'cb962f76307036784990f491e9b55f38baa0b660', id: `${this.componentId}-desc`, class: "xplor-canvas__sr-only" }, "Interactive canvas editor. Use toolbar to select a drawing tool, then click and drag on the canvas to draw shapes. Press Delete to remove a selected shape."), this.renderToolbar(), h("div", { key: 'e46429cfb82d2804ad97f474469e307d4cedc61a', class: "xplor-canvas__svg-wrapper" }, h("svg", { key: '01f59f5ad95af1854ce8883b79fbcb382b8c910f', ref: el => (this.svgEl = el), class: "xplor-canvas__svg", width: this.width, height: this.height, style: { cursor: svgCursor }, "aria-label": `Drawing canvas, ${this.shapes.length} shape${this.shapes.length !== 1 ? 's' : ''}`, role: "img", onMouseDown: this.onSvgMouseDown, onMouseMove: this.onSvgMouseMove, onMouseUp: this.onSvgMouseUp }, h("rect", { key: '831a519b540b5dd36c15edec85ad67bcb6d1dc03', class: "xplor-canvas__bg", x: "0", y: "0", width: this.width, height: this.height, fill: "transparent" }), this.shapes.map(shape => this.renderShape(shape)), selectedShape && this.renderSelectionOverlay(selectedShape), selectedShape &&
331
+ this.activeTool === 'select' &&
332
+ this.renderResizeHandles(selectedShape), this.draftShape && this.renderShape(this.draftShape, true))), h("div", { key: '5758ccf14f88614a1732085e287bad7f29ea0030', class: "xplor-canvas__sr-only", "aria-live": "polite", "aria-atomic": "true" }, this.shapes.length > 0
333
+ ? `Canvas contains ${this.shapes.length} shape${this.shapes.length !== 1 ? 's' : ''}.`
334
+ : 'Canvas is empty.'))));
335
+ }
336
+ get el() { return this; }
337
+ static get style() { return xplorCanvasEditorCss; }
338
+ }, [2, "xplor-canvas-editor", {
339
+ "width": [2],
340
+ "height": [2],
341
+ "tool": [1],
342
+ "shapes": [32],
343
+ "selectedId": [32],
344
+ "activeTool": [32],
345
+ "draftShape": [32],
346
+ "clearAll": [64],
347
+ "getShapes": [64]
348
+ }]);
349
+ function defineCustomElement$1() {
350
+ if (typeof customElements === "undefined") {
351
+ return;
352
+ }
353
+ const components = ["xplor-canvas-editor"];
354
+ components.forEach(tagName => { switch (tagName) {
355
+ case "xplor-canvas-editor":
356
+ if (!customElements.get(tagName)) {
357
+ customElements.define(tagName, XplorCanvasEditor$1);
358
+ }
359
+ break;
360
+ } });
361
+ }
362
+ defineCustomElement$1();
363
+
364
+ const XplorCanvasEditor = XplorCanvasEditor$1;
365
+ const defineCustomElement = defineCustomElement$1;
366
+
367
+ export { XplorCanvasEditor, defineCustomElement };
368
+ //# sourceMappingURL=xplor-canvas-editor.js.map
369
+
370
+ //# sourceMappingURL=xplor-canvas-editor.js.map