kritzel-stencil 0.0.130 → 0.0.131

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 (282) hide show
  1. package/dist/cjs/{index-CfXjPLHb.js → index-BwINBV6L.js} +216 -166
  2. package/dist/cjs/index-BwINBV6L.js.map +1 -0
  3. package/dist/cjs/{index-CUSIflVf.js → index-nzUNdMPh.js} +41 -15
  4. package/dist/cjs/index-nzUNdMPh.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +2 -1
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/kritzel-brush-style_23.cjs.entry.js +570 -527
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/stencil.cjs.js +2 -2
  10. package/dist/cjs/stencil.cjs.js.map +1 -1
  11. package/dist/collection/classes/commands/add-object.command.js +1 -0
  12. package/dist/collection/classes/commands/add-object.command.js.map +1 -1
  13. package/dist/collection/classes/commands/add-selection-group.command.js +1 -0
  14. package/dist/collection/classes/commands/add-selection-group.command.js.map +1 -1
  15. package/dist/collection/classes/commands/base.command.js +4 -2
  16. package/dist/collection/classes/commands/base.command.js.map +1 -1
  17. package/dist/collection/classes/commands/batch.command.js +1 -0
  18. package/dist/collection/classes/commands/batch.command.js.map +1 -1
  19. package/dist/collection/classes/commands/move-selection-group.command.js +6 -0
  20. package/dist/collection/classes/commands/move-selection-group.command.js.map +1 -1
  21. package/dist/collection/classes/commands/remove-object.command.js +1 -0
  22. package/dist/collection/classes/commands/remove-object.command.js.map +1 -1
  23. package/dist/collection/classes/commands/remove-selection-group.command.js +2 -1
  24. package/dist/collection/classes/commands/remove-selection-group.command.js.map +1 -1
  25. package/dist/collection/classes/commands/resize-selection-group.command.js +3 -0
  26. package/dist/collection/classes/commands/resize-selection-group.command.js.map +1 -1
  27. package/dist/collection/classes/commands/rotate-selection-group.command.js +3 -0
  28. package/dist/collection/classes/commands/rotate-selection-group.command.js.map +1 -1
  29. package/dist/collection/classes/commands/update-object.command.js +3 -0
  30. package/dist/collection/classes/commands/update-object.command.js.map +1 -1
  31. package/dist/collection/classes/commands/update-viewport.command.js +2 -0
  32. package/dist/collection/classes/commands/update-viewport.command.js.map +1 -1
  33. package/dist/collection/classes/database.class.js +6 -5
  34. package/dist/collection/classes/database.class.js.map +1 -1
  35. package/dist/collection/classes/handlers/base.handler.js +1 -0
  36. package/dist/collection/classes/handlers/base.handler.js.map +1 -1
  37. package/dist/collection/classes/handlers/context-menu.handler.js +2 -2
  38. package/dist/collection/classes/handlers/context-menu.handler.js.map +1 -1
  39. package/dist/collection/classes/handlers/move.handler.js +8 -3
  40. package/dist/collection/classes/handlers/move.handler.js.map +1 -1
  41. package/dist/collection/classes/handlers/resize.handler.js +6 -6
  42. package/dist/collection/classes/handlers/resize.handler.js.map +1 -1
  43. package/dist/collection/classes/handlers/rotation.handler.js +2 -2
  44. package/dist/collection/classes/handlers/rotation.handler.js.map +1 -1
  45. package/dist/collection/classes/handlers/selection.handler.js +5 -3
  46. package/dist/collection/classes/handlers/selection.handler.js.map +1 -1
  47. package/dist/collection/classes/history.class.js +4 -0
  48. package/dist/collection/classes/history.class.js.map +1 -1
  49. package/dist/collection/classes/objects/base-object.class.js +28 -15
  50. package/dist/collection/classes/objects/base-object.class.js.map +1 -1
  51. package/dist/collection/classes/objects/custom-element.class.js +3 -2
  52. package/dist/collection/classes/objects/custom-element.class.js.map +1 -1
  53. package/dist/collection/classes/objects/image.class.js +12 -12
  54. package/dist/collection/classes/objects/image.class.js.map +1 -1
  55. package/dist/collection/classes/objects/path.class.js +29 -27
  56. package/dist/collection/classes/objects/path.class.js.map +1 -1
  57. package/dist/collection/classes/objects/selection-box.class.js +2 -5
  58. package/dist/collection/classes/objects/selection-box.class.js.map +1 -1
  59. package/dist/collection/classes/objects/selection-group.class.js +7 -6
  60. package/dist/collection/classes/objects/selection-group.class.js.map +1 -1
  61. package/dist/collection/classes/objects/text.class.js +11 -11
  62. package/dist/collection/classes/objects/text.class.js.map +1 -1
  63. package/dist/collection/classes/registries/icon-registry.class.js +1 -1
  64. package/dist/collection/classes/registries/icon-registry.class.js.map +1 -1
  65. package/dist/collection/classes/registries/tool.registry.js +1 -1
  66. package/dist/collection/classes/registries/tool.registry.js.map +1 -1
  67. package/dist/collection/classes/reviver.class.js +1 -0
  68. package/dist/collection/classes/reviver.class.js.map +1 -1
  69. package/dist/collection/classes/store.class.js +9 -8
  70. package/dist/collection/classes/store.class.js.map +1 -1
  71. package/dist/collection/classes/structures/circular-buffer.structure.js +5 -3
  72. package/dist/collection/classes/structures/circular-buffer.structure.js.map +1 -1
  73. package/dist/collection/classes/structures/object-map.structure.js +1 -0
  74. package/dist/collection/classes/structures/object-map.structure.js.map +1 -1
  75. package/dist/collection/classes/tools/base-tool.class.js +3 -2
  76. package/dist/collection/classes/tools/base-tool.class.js.map +1 -1
  77. package/dist/collection/classes/tools/brush-tool.class.js +7 -7
  78. package/dist/collection/classes/tools/brush-tool.class.js.map +1 -1
  79. package/dist/collection/classes/tools/eraser-tool.class.js +2 -3
  80. package/dist/collection/classes/tools/eraser-tool.class.js.map +1 -1
  81. package/dist/collection/classes/tools/image-tool.class.js +3 -4
  82. package/dist/collection/classes/tools/image-tool.class.js.map +1 -1
  83. package/dist/collection/classes/tools/selection-tool.class.js +12 -9
  84. package/dist/collection/classes/tools/selection-tool.class.js.map +1 -1
  85. package/dist/collection/classes/tools/text-tool.class.js +26 -27
  86. package/dist/collection/classes/tools/text-tool.class.js.map +1 -1
  87. package/dist/collection/classes/viewport.class.js +4 -3
  88. package/dist/collection/classes/viewport.class.js.map +1 -1
  89. package/dist/collection/classes/workspace.class.js +5 -0
  90. package/dist/collection/classes/workspace.class.js.map +1 -1
  91. package/dist/collection/collection-manifest.json +1 -1
  92. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js +6 -6
  93. package/dist/collection/components/core/kritzel-cursor-trail/kritzel-cursor-trail.js.map +1 -1
  94. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js +91 -87
  95. package/dist/collection/components/core/kritzel-editor/kritzel-editor.js.map +1 -1
  96. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js +135 -146
  97. package/dist/collection/components/core/kritzel-engine/kritzel-engine.js.map +1 -1
  98. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js +6 -7
  99. package/dist/collection/components/shared/kritzel-brush-style/kritzel-brush-style.js.map +1 -1
  100. package/dist/collection/components/shared/kritzel-color/kritzel-color.js +2 -3
  101. package/dist/collection/components/shared/kritzel-color/kritzel-color.js.map +1 -1
  102. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js +5 -6
  103. package/dist/collection/components/shared/kritzel-color-palette/kritzel-color-palette.js.map +1 -1
  104. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js +44 -40
  105. package/dist/collection/components/shared/kritzel-dropdown/kritzel-dropdown.js.map +1 -1
  106. package/dist/collection/components/shared/kritzel-font/kritzel-font.js +3 -5
  107. package/dist/collection/components/shared/kritzel-font/kritzel-font.js.map +1 -1
  108. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js +17 -17
  109. package/dist/collection/components/shared/kritzel-font-family/kritzel-font-family.js.map +1 -1
  110. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js +4 -5
  111. package/dist/collection/components/shared/kritzel-font-size/kritzel-font-size.js.map +1 -1
  112. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js +3 -3
  113. package/dist/collection/components/shared/kritzel-icon/kritzel-icon.js.map +1 -1
  114. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.css +1 -1
  115. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js +34 -28
  116. package/dist/collection/components/shared/kritzel-menu/kritzel-menu.js.map +1 -1
  117. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.css +7 -0
  118. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js +37 -31
  119. package/dist/collection/components/shared/kritzel-menu-item/kritzel-menu-item.js.map +1 -1
  120. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js +18 -19
  121. package/dist/collection/components/shared/kritzel-portal/kritzel-portal.js.map +1 -1
  122. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.css +16 -16
  123. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js +56 -47
  124. package/dist/collection/components/shared/kritzel-split-button/kritzel-split-button.js.map +1 -1
  125. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js +3 -4
  126. package/dist/collection/components/shared/kritzel-stroke-size/kritzel-stroke-size.js.map +1 -1
  127. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js +9 -10
  128. package/dist/collection/components/shared/kritzel-tooltip/kritzel-tooltip.js.map +1 -1
  129. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js +5 -3
  130. package/dist/collection/components/ui/kritzel-context-menu/kritzel-context-menu.js.map +1 -1
  131. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js +4 -4
  132. package/dist/collection/components/ui/kritzel-control-brush-config/kritzel-control-brush-config.js.map +1 -1
  133. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js +3 -3
  134. package/dist/collection/components/ui/kritzel-control-text-config/kritzel-control-text-config.js.map +1 -1
  135. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js +23 -30
  136. package/dist/collection/components/ui/kritzel-controls/kritzel-controls.js.map +1 -1
  137. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js +3 -0
  138. package/dist/collection/components/ui/kritzel-utility-panel/kritzel-utility-panel.js.map +1 -1
  139. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js +17 -15
  140. package/dist/collection/components/ui/kritzel-workspace-manager/kritzel-workspace-manager.js.map +1 -1
  141. package/dist/collection/helpers/event.helper.js +2 -2
  142. package/dist/collection/helpers/event.helper.js.map +1 -1
  143. package/dist/collection/helpers/html.helper.js +1 -2
  144. package/dist/collection/helpers/html.helper.js.map +1 -1
  145. package/dist/collection/helpers/object.helper.js +2 -14
  146. package/dist/collection/helpers/object.helper.js.map +1 -1
  147. package/dist/collection/index.js +1 -0
  148. package/dist/collection/index.js.map +1 -1
  149. package/dist/components/index.js +4 -3
  150. package/dist/components/index.js.map +1 -1
  151. package/dist/components/kritzel-brush-style.js +1 -1
  152. package/dist/components/kritzel-color-palette.js +1 -1
  153. package/dist/components/kritzel-color.js +1 -1
  154. package/dist/components/kritzel-context-menu.js +1 -1
  155. package/dist/components/kritzel-control-brush-config.js +1 -1
  156. package/dist/components/kritzel-control-text-config.js +1 -1
  157. package/dist/components/kritzel-controls.js +1 -1
  158. package/dist/components/kritzel-cursor-trail.js +1 -1
  159. package/dist/components/kritzel-dropdown.js +1 -1
  160. package/dist/components/kritzel-editor.js +115 -110
  161. package/dist/components/kritzel-editor.js.map +1 -1
  162. package/dist/components/kritzel-engine.js +1 -1
  163. package/dist/components/kritzel-font-family.js +1 -1
  164. package/dist/components/kritzel-font-size.js +1 -1
  165. package/dist/components/kritzel-font.js +1 -1
  166. package/dist/components/kritzel-icon.js +1 -1
  167. package/dist/components/kritzel-menu-item.js +1 -1
  168. package/dist/components/kritzel-menu.js +1 -1
  169. package/dist/components/kritzel-portal.js +1 -1
  170. package/dist/components/kritzel-split-button.js +1 -1
  171. package/dist/components/kritzel-stroke-size.js +1 -1
  172. package/dist/components/kritzel-tooltip.js +1 -1
  173. package/dist/components/kritzel-utility-panel.js +1 -1
  174. package/dist/components/kritzel-workspace-manager.js +1 -1
  175. package/dist/components/{p-BU2q3PRS.js → p-B1BLgWL1.js} +9 -6
  176. package/dist/components/p-B1BLgWL1.js.map +1 -0
  177. package/dist/components/{p-5CJxFNEE.js → p-BB0_-X42.js} +5 -4
  178. package/dist/components/p-BB0_-X42.js.map +1 -0
  179. package/dist/components/{p-D_Uh-xv_.js → p-BB5R2k1o.js} +40 -46
  180. package/dist/components/p-BB5R2k1o.js.map +1 -0
  181. package/dist/components/{p-CaPdvVd4.js → p-BPz_H-EG.js} +63 -53
  182. package/dist/components/p-BPz_H-EG.js.map +1 -0
  183. package/dist/components/{p-BqrTPNyu.js → p-BYanlgdq.js} +41 -15
  184. package/dist/components/p-BYanlgdq.js.map +1 -0
  185. package/dist/components/{p-BeVv4o5c.js → p-B_lb1FGi.js} +7 -2
  186. package/dist/components/p-B_lb1FGi.js.map +1 -0
  187. package/dist/components/{p-C-DqsDXz.js → p-BeljsQ-8.js} +78 -64
  188. package/dist/components/p-BeljsQ-8.js.map +1 -0
  189. package/dist/components/{p-_ntxNi8v.js → p-BexTdWaX.js} +21 -19
  190. package/dist/components/p-BexTdWaX.js.map +1 -0
  191. package/dist/components/{p-fyfT6A5K.js → p-BgmKrd5Z.js} +7 -4
  192. package/dist/components/p-BgmKrd5Z.js.map +1 -0
  193. package/dist/components/{p-BZ-j_4CK.js → p-BhiYvSBc.js} +6 -6
  194. package/dist/components/p-BhiYvSBc.js.map +1 -0
  195. package/dist/components/{p-26poIWa_.js → p-BrBQUN0Q.js} +12 -12
  196. package/dist/components/p-BrBQUN0Q.js.map +1 -0
  197. package/dist/components/{p-DtmZW6eP.js → p-BubxwvMA.js} +9 -7
  198. package/dist/components/p-BubxwvMA.js.map +1 -0
  199. package/dist/components/{p-jGaWxggY.js → p-BuewJQNl.js} +258 -233
  200. package/dist/components/p-BuewJQNl.js.map +1 -0
  201. package/dist/components/{p-BcQWRzsB.js → p-CGmS8wnN.js} +26 -23
  202. package/dist/components/p-CGmS8wnN.js.map +1 -0
  203. package/dist/components/{p-Crni2OI4.js → p-CHxPWeZd.js} +13 -11
  204. package/dist/components/p-CHxPWeZd.js.map +1 -0
  205. package/dist/components/{p-BGccckxP.js → p-CMJ3P0Vw.js} +7 -6
  206. package/dist/components/p-CMJ3P0Vw.js.map +1 -0
  207. package/dist/components/{p-C9-70hiF.js → p-DHSEK3rF.js} +118 -97
  208. package/dist/components/p-DHSEK3rF.js.map +1 -0
  209. package/dist/components/{p-BAPUTr3K.js → p-DMrtdhBD.js} +9 -8
  210. package/dist/components/p-DMrtdhBD.js.map +1 -0
  211. package/dist/components/p-DnUKql15.js +30 -0
  212. package/dist/components/p-DnUKql15.js.map +1 -0
  213. package/dist/components/{p-jpGLgpoq.js → p-DxTu1aoJ.js} +22 -22
  214. package/dist/components/p-DxTu1aoJ.js.map +1 -0
  215. package/dist/components/{p-BLmFBe2a.js → p-p1Jkec_q.js} +7 -5
  216. package/dist/components/p-p1Jkec_q.js.map +1 -0
  217. package/dist/components/{p-V4ui5aWj.js → p-rIRXQdie.js} +11 -10
  218. package/dist/components/p-rIRXQdie.js.map +1 -0
  219. package/dist/components/{p-Cb1IUD_g.js → p-t4NIsuX9.js} +13 -11
  220. package/dist/components/p-t4NIsuX9.js.map +1 -0
  221. package/dist/components/{p-BvlGgLAQ.js → p-trncBp_6.js} +47 -41
  222. package/dist/components/p-trncBp_6.js.map +1 -0
  223. package/dist/components/{p-BcQTDgzV.js → p-yZ48g7-u.js} +8 -7
  224. package/dist/components/p-yZ48g7-u.js.map +1 -0
  225. package/dist/esm/{index-DqqxAoZI.js → index-B-oSk-v8.js} +216 -167
  226. package/dist/esm/index-B-oSk-v8.js.map +1 -0
  227. package/dist/esm/{index-NiIEUDzj.js → index-oCOlsFCN.js} +41 -15
  228. package/dist/esm/index-oCOlsFCN.js.map +1 -0
  229. package/dist/esm/index.js +1 -1
  230. package/dist/esm/kritzel-brush-style_23.entry.js +568 -525
  231. package/dist/esm/loader.js +2 -2
  232. package/dist/esm/stencil.js +3 -3
  233. package/dist/esm/stencil.js.map +1 -1
  234. package/dist/stencil/index.esm.js +1 -1
  235. package/dist/stencil/p-3bb80782.entry.js +2 -0
  236. package/dist/stencil/p-3bb80782.entry.js.map +1 -0
  237. package/dist/stencil/p-B-oSk-v8.js +2 -0
  238. package/dist/stencil/p-B-oSk-v8.js.map +1 -0
  239. package/dist/stencil/p-oCOlsFCN.js +3 -0
  240. package/dist/stencil/p-oCOlsFCN.js.map +1 -0
  241. package/dist/stencil/stencil.esm.js +1 -1
  242. package/dist/stencil/stencil.esm.js.map +1 -1
  243. package/dist/types/classes/objects/path.class.d.ts +0 -2
  244. package/dist/types/index.d.ts +1 -0
  245. package/dist/types/stencil-public-runtime.d.ts +6 -4
  246. package/package.json +1 -1
  247. package/dist/cjs/index-CUSIflVf.js.map +0 -1
  248. package/dist/cjs/index-CfXjPLHb.js.map +0 -1
  249. package/dist/components/p-26poIWa_.js.map +0 -1
  250. package/dist/components/p-5CJxFNEE.js.map +0 -1
  251. package/dist/components/p-BAPUTr3K.js.map +0 -1
  252. package/dist/components/p-BGccckxP.js.map +0 -1
  253. package/dist/components/p-BLmFBe2a.js.map +0 -1
  254. package/dist/components/p-BU2q3PRS.js.map +0 -1
  255. package/dist/components/p-BZ-j_4CK.js.map +0 -1
  256. package/dist/components/p-Bb6od8He.js +0 -42
  257. package/dist/components/p-Bb6od8He.js.map +0 -1
  258. package/dist/components/p-BcQTDgzV.js.map +0 -1
  259. package/dist/components/p-BcQWRzsB.js.map +0 -1
  260. package/dist/components/p-BeVv4o5c.js.map +0 -1
  261. package/dist/components/p-BqrTPNyu.js.map +0 -1
  262. package/dist/components/p-BvlGgLAQ.js.map +0 -1
  263. package/dist/components/p-C-DqsDXz.js.map +0 -1
  264. package/dist/components/p-C9-70hiF.js.map +0 -1
  265. package/dist/components/p-CaPdvVd4.js.map +0 -1
  266. package/dist/components/p-Cb1IUD_g.js.map +0 -1
  267. package/dist/components/p-Crni2OI4.js.map +0 -1
  268. package/dist/components/p-D_Uh-xv_.js.map +0 -1
  269. package/dist/components/p-DtmZW6eP.js.map +0 -1
  270. package/dist/components/p-V4ui5aWj.js.map +0 -1
  271. package/dist/components/p-_ntxNi8v.js.map +0 -1
  272. package/dist/components/p-fyfT6A5K.js.map +0 -1
  273. package/dist/components/p-jGaWxggY.js.map +0 -1
  274. package/dist/components/p-jpGLgpoq.js.map +0 -1
  275. package/dist/esm/index-DqqxAoZI.js.map +0 -1
  276. package/dist/esm/index-NiIEUDzj.js.map +0 -1
  277. package/dist/stencil/p-DqqxAoZI.js +0 -2
  278. package/dist/stencil/p-DqqxAoZI.js.map +0 -1
  279. package/dist/stencil/p-NiIEUDzj.js +0 -3
  280. package/dist/stencil/p-NiIEUDzj.js.map +0 -1
  281. package/dist/stencil/p-eebdbf65.entry.js +0 -2
  282. package/dist/stencil/p-eebdbf65.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"file":"p-jpGLgpoq.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/shared/kritzel-portal/kritzel-portal.tsx"],"sourcesContent":["import { Component, Host, Listen, Prop, Watch, h, Event, EventEmitter, Element } from '@stencil/core';\r\nimport { ObjectHelper } from '../../../helpers/object.helper';\r\n\r\n@Component({\r\n tag: 'kritzel-portal',\r\n shadow: true,\r\n})\r\nexport class KritzelPortal {\r\n @Element() host: HTMLElement;\r\n\r\n @Prop() anchor: HTMLElement;\r\n @Watch('anchor')\r\n anchorChanged(newValue: HTMLElement) {\r\n if (newValue) {\r\n this.openPortal();\r\n this.calculatePosition();\r\n if (this.autoFocus) {\r\n this.focusFirstElement();\r\n }\r\n } else {\r\n this.closePortal();\r\n }\r\n }\r\n\r\n @Prop() offsetX: number;\r\n @Prop() offsetY: number;\r\n @Prop() autoFocus: boolean = true;\r\n\r\n @Event() close: EventEmitter<void>;\r\n\r\n @Listen('click', { target: 'window' })\r\n handleOutsideClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n\r\n const isLastPortal = this.lastAddedPortal === this.portal;\r\n if (!isLastPortal) return;\r\n\r\n const target = event.target as HTMLElement;\r\n if (!this.host.contains(target)) {\r\n this.close.emit();\r\n this.closePortal();\r\n }\r\n }\r\n\r\n @Listen('keydown', { target: 'window' })\r\n handleKeyDown(event: KeyboardEvent) {\r\n event.stopPropagation();\r\n\r\n const isLastPortal = this.lastAddedPortal === this.portal;\r\n if (!isLastPortal) return;\r\n\r\n if (event.key === 'Escape') {\r\n this.anchor.focus();\r\n this.close.emit();\r\n this.closePortal();\r\n }\r\n\r\n if (event.key === 'Tab') {\r\n this.trapFocus(event);\r\n }\r\n\r\n if (event.key === 'Enter') {\r\n const activeElement = this.getDeepActiveElement() as HTMLElement;\r\n if (activeElement?.click) {\r\n event.preventDefault();\r\n activeElement.click();\r\n }\r\n }\r\n }\r\n\r\n @Listen('resize', { target: 'window', capture: true })\r\n handleResize() {\r\n this.calculatePosition();\r\n }\r\n\r\n private portal: HTMLElement;\r\n private id: string = `portal-${ObjectHelper.generateUUID()}`;\r\n private defaultOffset = 0;\r\n private minLeft = 0;\r\n\r\n private focusFirstElement() {\r\n requestAnimationFrame(() => {\r\n this.firstFocusableElement?.focus?.();\r\n });\r\n }\r\n\r\n private getDeepActiveElement(): Element {\r\n let activeEl = document.activeElement;\r\n while (activeEl?.shadowRoot?.activeElement) {\r\n activeEl = activeEl.shadowRoot.activeElement;\r\n }\r\n return activeEl;\r\n }\r\n\r\n private trapFocus(event: KeyboardEvent) {\r\n const focusableElements = this.getFocusableElements(this.host);\r\n if (focusableElements.length === 0) return;\r\n\r\n const firstFocusable = focusableElements[0];\r\n const lastFocusable = focusableElements[focusableElements.length - 1];\r\n const activeElement = this.getDeepActiveElement();\r\n\r\n if (event.shiftKey) {\r\n /* shift + tab */\r\n if (activeElement === firstFocusable) {\r\n lastFocusable.focus();\r\n event.preventDefault();\r\n }\r\n } else {\r\n /* tab */\r\n if (activeElement === lastFocusable) {\r\n firstFocusable.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n private getFocusableElements(root: HTMLElement): HTMLElement[] {\r\n if (!root) return [];\r\n\r\n const focusableElements: HTMLElement[] = [];\r\n const focusableSelector = 'a[href], button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), details, [tabindex]:not([tabindex=\"-1\"])';\r\n\r\n const isVisible = (el: HTMLElement) => {\r\n return el.offsetParent !== null;\r\n };\r\n\r\n // Check if the root element itself is focusable\r\n if (root.matches(focusableSelector) && !root.hasAttribute('disabled') && isVisible(root)) {\r\n focusableElements.push(root);\r\n }\r\n\r\n // Function to recursively find focusable elements\r\n const findFocusable = (element: Element) => {\r\n // Search in shadow root\r\n if (element.shadowRoot) {\r\n Array.from(element.shadowRoot.querySelectorAll<HTMLElement>(focusableSelector)).forEach(el => {\r\n if (isVisible(el)) {\r\n focusableElements.push(el);\r\n }\r\n });\r\n Array.from(element.shadowRoot.children).forEach(findFocusable);\r\n }\r\n\r\n // Search in light DOM\r\n Array.from(element.querySelectorAll<HTMLElement>(focusableSelector)).forEach(el => {\r\n if (!focusableElements.includes(el) && isVisible(el)) {\r\n focusableElements.push(el);\r\n }\r\n });\r\n\r\n // Handle slotted content\r\n if (element.tagName === 'SLOT') {\r\n (element as HTMLSlotElement).assignedElements({ flatten: true }).forEach(el => findFocusable(el));\r\n }\r\n\r\n Array.from(element.children).forEach(findFocusable);\r\n };\r\n\r\n findFocusable(root);\r\n\r\n // Return unique elements in document order\r\n return [...new Set(focusableElements)];\r\n }\r\n\r\n private get firstFocusableElement(): HTMLElement | null {\r\n const slotEl = this.host.shadowRoot?.querySelector('slot') as HTMLSlotElement | null;\r\n const firstAssigned = slotEl?.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\r\n if (!firstAssigned) return null;\r\n\r\n const focusable = this.getFocusableElements(firstAssigned);\r\n return focusable[0] ?? firstAssigned;\r\n }\r\n\r\n private get lastAddedPortal(): HTMLElement | null {\r\n const portals = Array.from(document.querySelectorAll<HTMLElement>('[id^=\"portal-\"]'));\r\n return portals.length ? portals[portals.length - 1] : null;\r\n }\r\n\r\n private calculateLeft() {\r\n if (!this.anchor || !this.portal) return 0;\r\n const refRect = this.anchor.getBoundingClientRect();\r\n const portalRect = this.portal.getBoundingClientRect();\r\n\r\n const offset = this.offsetX ?? this.defaultOffset;\r\n let left = refRect.left + offset;\r\n\r\n const maxLeft = window.innerWidth - portalRect.width - this.minLeft;\r\n if (left < this.minLeft) left = this.minLeft;\r\n if (left > maxLeft) left = maxLeft;\r\n\r\n return Math.round(left + window.scrollX);\r\n }\r\n\r\n private calculateTop() {\r\n if (!this.anchor || !this.portal) return 0;\r\n const refRect = this.anchor.getBoundingClientRect();\r\n const portalRect = this.portal.getBoundingClientRect();\r\n const offset = this.offsetY ?? this.defaultOffset;\r\n\r\n let top = refRect.bottom + offset;\r\n\r\n if (top + portalRect.height > window.innerHeight) {\r\n top = refRect.top - portalRect.height - offset;\r\n }\r\n\r\n return Math.round(top + window.scrollY);\r\n }\r\n\r\n private openPortal() {\r\n this.portal = document.createElement('div');\r\n this.portal.setAttribute('id', this.id);\r\n this.portal.style.zIndex = '1';\r\n this.portal.style.position = 'absolute';\r\n this.portal.style.top = '0px';\r\n this.portal.style.left = '0px';\r\n this.portal.appendChild(this.host);\r\n document.body.append(this.portal);\r\n }\r\n\r\n private closePortal() {\r\n const portal = document.getElementById(this.id);\r\n if (!portal) return;\r\n document.body.removeChild(portal);\r\n this.host.remove();\r\n }\r\n\r\n private calculatePosition() {\r\n if (!this.anchor || !this.portal) return;\r\n const top = this.calculateTop();\r\n const left = this.calculateLeft();\r\n this.portal.style.top = `${top}px`;\r\n this.portal.style.left = `${left}px`;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host style={{ display: this.anchor ? 'block' : 'none' }}>\r\n <slot />\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"version":3}