@kritzel/engine 0.4.31

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 (373) hide show
  1. package/LICENSE.md +50 -0
  2. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  3. package/dist/cjs/engine.constants-CakmdKMW.js +28206 -0
  4. package/dist/cjs/index-BbbWU2aN.js +1742 -0
  5. package/dist/cjs/index.cjs.js +4232 -0
  6. package/dist/cjs/kritzel-awareness-cursors_5.cjs.entry.js +28004 -0
  7. package/dist/cjs/loader.cjs.js +13 -0
  8. package/dist/cjs/stencil.cjs.js +25 -0
  9. package/dist/collection/classes/core/core.class.js +1389 -0
  10. package/dist/collection/classes/core/reviver.class.js +124 -0
  11. package/dist/collection/classes/core/store.class.js +337 -0
  12. package/dist/collection/classes/core/viewport.class.js +794 -0
  13. package/dist/collection/classes/core/workspace.class.js +112 -0
  14. package/dist/collection/classes/handlers/base.handler.js +20 -0
  15. package/dist/collection/classes/handlers/context-menu.handler.js +170 -0
  16. package/dist/collection/classes/handlers/hover.handler.js +35 -0
  17. package/dist/collection/classes/handlers/key.handler.js +162 -0
  18. package/dist/collection/classes/handlers/line-handle.handler.js +475 -0
  19. package/dist/collection/classes/handlers/move.handler.js +295 -0
  20. package/dist/collection/classes/handlers/resize.handler.js +327 -0
  21. package/dist/collection/classes/handlers/rotation.handler.js +174 -0
  22. package/dist/collection/classes/handlers/selection.handler.js +526 -0
  23. package/dist/collection/classes/managers/anchor.manager.js +1476 -0
  24. package/dist/collection/classes/managers/browser-permission.manager.js +64 -0
  25. package/dist/collection/classes/managers/clipboard.manager.js +346 -0
  26. package/dist/collection/classes/managers/clipboard.types.js +1 -0
  27. package/dist/collection/classes/managers/cursor.manager.js +139 -0
  28. package/dist/collection/classes/managers/license.manager.js +341 -0
  29. package/dist/collection/classes/managers/localization.manager.js +227 -0
  30. package/dist/collection/classes/managers/theme.manager.js +206 -0
  31. package/dist/collection/classes/objects/base-object.class.js +462 -0
  32. package/dist/collection/classes/objects/dynamic-object.class.js +437 -0
  33. package/dist/collection/classes/objects/group.class.js +590 -0
  34. package/dist/collection/classes/objects/image.class.js +500 -0
  35. package/dist/collection/classes/objects/line.class.js +789 -0
  36. package/dist/collection/classes/objects/path.class.js +578 -0
  37. package/dist/collection/classes/objects/selection-box.class.js +32 -0
  38. package/dist/collection/classes/objects/selection-group.class.js +752 -0
  39. package/dist/collection/classes/objects/shape.class.js +628 -0
  40. package/dist/collection/classes/objects/text.class.js +461 -0
  41. package/dist/collection/classes/providers/assets/asset-resolver.class.js +536 -0
  42. package/dist/collection/classes/providers/assets/http-asset-provider.class.js +111 -0
  43. package/dist/collection/classes/providers/assets/indexeddb-asset-provider.class.js +241 -0
  44. package/dist/collection/classes/providers/assets/presigned-asset-provider.class.js +86 -0
  45. package/dist/collection/classes/providers/paste-intent/event-paste-intent.provider.js +48 -0
  46. package/dist/collection/classes/providers/paste-intent/ios-paste-intent.provider.js +16 -0
  47. package/dist/collection/classes/providers/paste-intent/navigator-paste-intent.provider.js +86 -0
  48. package/dist/collection/classes/providers/sync/broadcast-sync-provider.class.js +100 -0
  49. package/dist/collection/classes/providers/sync/hocuspocus-sync-provider.class.js +333 -0
  50. package/dist/collection/classes/providers/sync/in-memory-sync-provider.class.js +69 -0
  51. package/dist/collection/classes/providers/sync/indexeddb-sync-provider.class.js +39 -0
  52. package/dist/collection/classes/providers/sync/websocket-sync-provider.class.js +110 -0
  53. package/dist/collection/classes/registries/dynamic-object-renderer.registry.js +52 -0
  54. package/dist/collection/classes/registries/font-registry.class.js +161 -0
  55. package/dist/collection/classes/registries/icon-registry.class.js +118 -0
  56. package/dist/collection/classes/registries/paste-intent-provider.registry.js +26 -0
  57. package/dist/collection/classes/registries/tool.registry.js +69 -0
  58. package/dist/collection/classes/structures/app-state-map.structure.js +461 -0
  59. package/dist/collection/classes/structures/object-map.structure.js +1103 -0
  60. package/dist/collection/classes/structures/quadtree.structure.js +251 -0
  61. package/dist/collection/classes/tools/base-tool.class.js +88 -0
  62. package/dist/collection/classes/tools/brush-tool.class.js +236 -0
  63. package/dist/collection/classes/tools/eraser-tool.class.js +133 -0
  64. package/dist/collection/classes/tools/image-tool.class.js +152 -0
  65. package/dist/collection/classes/tools/line-tool.class.js +249 -0
  66. package/dist/collection/classes/tools/selection-tool.class.js +611 -0
  67. package/dist/collection/classes/tools/shape-tool.class.js +251 -0
  68. package/dist/collection/classes/tools/text-tool.class.js +179 -0
  69. package/dist/collection/collection-manifest.json +17 -0
  70. package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.css +115 -0
  71. package/dist/collection/components/kritzel-awareness-cursors/kritzel-awareness-cursors.js +380 -0
  72. package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.css +10 -0
  73. package/dist/collection/components/kritzel-cursor-trail/kritzel-cursor-trail.js +153 -0
  74. package/dist/collection/components/kritzel-engine/kritzel-engine.css +81 -0
  75. package/dist/collection/components/kritzel-engine/kritzel-engine.js +6345 -0
  76. package/dist/collection/components/kritzel-icon/kritzel-icon.css +18 -0
  77. package/dist/collection/components/kritzel-icon/kritzel-icon.js +93 -0
  78. package/dist/collection/components/kritzel-watermark/kritzel-watermark.css +29 -0
  79. package/dist/collection/components/kritzel-watermark/kritzel-watermark.js +83 -0
  80. package/dist/collection/configs/default-asset-storage.config.js +9 -0
  81. package/dist/collection/configs/default-brush-tool.config.js +9 -0
  82. package/dist/collection/configs/default-engine-config.js +73 -0
  83. package/dist/collection/configs/default-line-tool.config.js +12 -0
  84. package/dist/collection/configs/default-shape-tool.config.js +15 -0
  85. package/dist/collection/configs/default-sync.config.js +6 -0
  86. package/dist/collection/configs/default-text-tool.config.js +12 -0
  87. package/dist/collection/constants/color-palette.constants.js +40 -0
  88. package/dist/collection/constants/core.constants.js +1 -0
  89. package/dist/collection/constants/engine.constants.js +4 -0
  90. package/dist/collection/constants/license.constants.js +25 -0
  91. package/dist/collection/constants/schema.constants.js +4 -0
  92. package/dist/collection/constants/storage.constants.js +1 -0
  93. package/dist/collection/constants/stroke-size.constants.js +2 -0
  94. package/dist/collection/constants/text-tool-fonts.constants.js +18 -0
  95. package/dist/collection/constants/version.js +6 -0
  96. package/dist/collection/enums/alignment.enum.js +9 -0
  97. package/dist/collection/enums/event-button.enum.js +6 -0
  98. package/dist/collection/enums/handle-type.enum.js +7 -0
  99. package/dist/collection/enums/shape-type.enum.js +6 -0
  100. package/dist/collection/events/active-workspace-change.event.js +1 -0
  101. package/dist/collection/events/editor-is-ready.event.js +1 -0
  102. package/dist/collection/events/login.event.js +1 -0
  103. package/dist/collection/helpers/alignment.helper.js +73 -0
  104. package/dist/collection/helpers/class.helper.js +5 -0
  105. package/dist/collection/helpers/color.helper.js +106 -0
  106. package/dist/collection/helpers/cursor.helper.js +57 -0
  107. package/dist/collection/helpers/devices.helper.js +28 -0
  108. package/dist/collection/helpers/event.helper.js +58 -0
  109. package/dist/collection/helpers/geometry.helper.js +149 -0
  110. package/dist/collection/helpers/html.helper.js +116 -0
  111. package/dist/collection/helpers/image-file.helper.js +6 -0
  112. package/dist/collection/helpers/keyboard.helper.js +55 -0
  113. package/dist/collection/helpers/localization.helper.js +25 -0
  114. package/dist/collection/helpers/math.helper.js +8 -0
  115. package/dist/collection/helpers/migration.helper.js +45 -0
  116. package/dist/collection/helpers/object.helper.js +29 -0
  117. package/dist/collection/helpers/svg-export.helper.js +655 -0
  118. package/dist/collection/helpers/theme.helper.js +77 -0
  119. package/dist/collection/helpers/tool-config.helper.js +63 -0
  120. package/dist/collection/helpers/wheel.helper.js +113 -0
  121. package/dist/collection/index.js +107 -0
  122. package/dist/collection/interfaces/anchor.interface.js +1 -0
  123. package/dist/collection/interfaces/arrow-head.interface.js +1 -0
  124. package/dist/collection/interfaces/asset-provider.interface.js +1 -0
  125. package/dist/collection/interfaces/asset-storage-config.interface.js +1 -0
  126. package/dist/collection/interfaces/asset.interface.js +1 -0
  127. package/dist/collection/interfaces/bounding-box.interface.js +1 -0
  128. package/dist/collection/interfaces/clonable.interface.js +1 -0
  129. package/dist/collection/interfaces/context-menu-item.interface.js +1 -0
  130. package/dist/collection/interfaces/context-menu-state.interface.js +1 -0
  131. package/dist/collection/interfaces/debug-info.interface.js +1 -0
  132. package/dist/collection/interfaces/dialog.interface.js +1 -0
  133. package/dist/collection/interfaces/document-metadata.interface.js +1 -0
  134. package/dist/collection/interfaces/dynamic-object-renderer.interface.js +1 -0
  135. package/dist/collection/interfaces/engine-state.interface.js +1 -0
  136. package/dist/collection/interfaces/font.interface.js +1 -0
  137. package/dist/collection/interfaces/localization.interface.js +1 -0
  138. package/dist/collection/interfaces/login-config.interface.js +1 -0
  139. package/dist/collection/interfaces/master-detail.interface.js +1 -0
  140. package/dist/collection/interfaces/menu-item.interface.js +1 -0
  141. package/dist/collection/interfaces/migration.interface.js +1 -0
  142. package/dist/collection/interfaces/notification.interface.js +1 -0
  143. package/dist/collection/interfaces/object-change-event.interface.js +1 -0
  144. package/dist/collection/interfaces/object-export.interface.js +1 -0
  145. package/dist/collection/interfaces/object.interface.js +1 -0
  146. package/dist/collection/interfaces/paste-intent-provider.interface.js +1 -0
  147. package/dist/collection/interfaces/point.interface.js +1 -0
  148. package/dist/collection/interfaces/polygon.interface.js +1 -0
  149. package/dist/collection/interfaces/remote-cursor.interface.js +1 -0
  150. package/dist/collection/interfaces/selection-state.interface.js +1 -0
  151. package/dist/collection/interfaces/serializable.interface.js +1 -0
  152. package/dist/collection/interfaces/settings.interface.js +1 -0
  153. package/dist/collection/interfaces/share.interface.js +1 -0
  154. package/dist/collection/interfaces/shortcut.interface.js +1 -0
  155. package/dist/collection/interfaces/sync-config.interface.js +21 -0
  156. package/dist/collection/interfaces/sync-provider.interface.js +1 -0
  157. package/dist/collection/interfaces/theme.interface.js +1 -0
  158. package/dist/collection/interfaces/tool-config.interface.js +1 -0
  159. package/dist/collection/interfaces/tool-type.interface.js +1 -0
  160. package/dist/collection/interfaces/tool.interface.js +1 -0
  161. package/dist/collection/interfaces/toolbar-item.interface.js +1 -0
  162. package/dist/collection/interfaces/undo-state.interface.js +1 -0
  163. package/dist/collection/interfaces/user.interface.js +1 -0
  164. package/dist/collection/interfaces/viewport-state.interface.js +1 -0
  165. package/dist/collection/locales/de-locale.js +119 -0
  166. package/dist/collection/locales/en-locale.js +120 -0
  167. package/dist/collection/locales/fr-locale.js +119 -0
  168. package/dist/collection/migrations/app-state.migrations.js +47 -0
  169. package/dist/collection/migrations/workspace.migrations.js +67 -0
  170. package/dist/collection/themes/dark-theme.js +340 -0
  171. package/dist/collection/themes/light-theme.js +346 -0
  172. package/dist/collection/types/deep-readonly.type.js +1 -0
  173. package/dist/collection/types/state.types.js +1 -0
  174. package/dist/components/index.d.ts +47 -0
  175. package/dist/components/index.js +4143 -0
  176. package/dist/components/kritzel-awareness-cursors.d.ts +11 -0
  177. package/dist/components/kritzel-awareness-cursors.js +6 -0
  178. package/dist/components/kritzel-cursor-trail.d.ts +11 -0
  179. package/dist/components/kritzel-cursor-trail.js +6 -0
  180. package/dist/components/kritzel-engine.d.ts +11 -0
  181. package/dist/components/kritzel-engine.js +52641 -0
  182. package/dist/components/kritzel-icon.d.ts +11 -0
  183. package/dist/components/kritzel-icon.js +6 -0
  184. package/dist/components/kritzel-watermark.d.ts +11 -0
  185. package/dist/components/kritzel-watermark.js +6 -0
  186. package/dist/components/p-B2Htv9ou.js +49 -0
  187. package/dist/components/p-BvRGQvVI.js +3456 -0
  188. package/dist/components/p-CfSx6HU_.js +1469 -0
  189. package/dist/components/p-YP8wAcF4.js +122 -0
  190. package/dist/components/p-fx6msYHJ.js +167 -0
  191. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  192. package/dist/esm/engine.constants-Bl5-pbq-.js +28143 -0
  193. package/dist/esm/index-BU9Mv7y0.js +1715 -0
  194. package/dist/esm/index.js +4134 -0
  195. package/dist/esm/kritzel-awareness-cursors_5.entry.js +27978 -0
  196. package/dist/esm/loader.js +11 -0
  197. package/dist/esm/stencil.js +21 -0
  198. package/dist/index.cjs.js +1 -0
  199. package/dist/index.js +1 -0
  200. package/dist/stencil/index.esm.js +4134 -0
  201. package/dist/stencil/p-BU9Mv7y0.js +1702 -0
  202. package/dist/stencil/p-Bl5-pbq-.js +28143 -0
  203. package/dist/stencil/p-DQuL1Twl.js +3 -0
  204. package/dist/stencil/p-f0a8b7af.entry.js +27978 -0
  205. package/dist/stencil/stencil.esm.js +21 -0
  206. package/dist/types/classes/core/core.class.d.ts +532 -0
  207. package/dist/types/classes/core/reviver.class.d.ts +32 -0
  208. package/dist/types/classes/core/store.class.d.ts +198 -0
  209. package/dist/types/classes/core/viewport.class.d.ts +256 -0
  210. package/dist/types/classes/core/workspace.class.d.ts +95 -0
  211. package/dist/types/classes/handlers/base.handler.d.ts +18 -0
  212. package/dist/types/classes/handlers/context-menu.handler.d.ts +67 -0
  213. package/dist/types/classes/handlers/hover.handler.d.ts +23 -0
  214. package/dist/types/classes/handlers/key.handler.d.ts +44 -0
  215. package/dist/types/classes/handlers/line-handle.handler.d.ts +115 -0
  216. package/dist/types/classes/handlers/move.handler.d.ts +94 -0
  217. package/dist/types/classes/handlers/resize.handler.d.ts +95 -0
  218. package/dist/types/classes/handlers/rotation.handler.d.ts +50 -0
  219. package/dist/types/classes/handlers/selection.handler.d.ts +153 -0
  220. package/dist/types/classes/managers/anchor.manager.d.ts +513 -0
  221. package/dist/types/classes/managers/browser-permission.manager.d.ts +41 -0
  222. package/dist/types/classes/managers/clipboard.manager.d.ts +71 -0
  223. package/dist/types/classes/managers/clipboard.types.d.ts +23 -0
  224. package/dist/types/classes/managers/cursor.manager.d.ts +66 -0
  225. package/dist/types/classes/managers/license.manager.d.ts +147 -0
  226. package/dist/types/classes/managers/localization.manager.d.ts +145 -0
  227. package/dist/types/classes/managers/theme.manager.d.ts +112 -0
  228. package/dist/types/classes/objects/base-object.class.d.ts +266 -0
  229. package/dist/types/classes/objects/dynamic-object.class.d.ts +148 -0
  230. package/dist/types/classes/objects/group.class.d.ts +231 -0
  231. package/dist/types/classes/objects/image.class.d.ts +246 -0
  232. package/dist/types/classes/objects/line.class.d.ts +285 -0
  233. package/dist/types/classes/objects/path.class.d.ts +220 -0
  234. package/dist/types/classes/objects/selection-box.class.d.ts +19 -0
  235. package/dist/types/classes/objects/selection-group.class.d.ts +267 -0
  236. package/dist/types/classes/objects/shape.class.d.ts +322 -0
  237. package/dist/types/classes/objects/text.class.d.ts +197 -0
  238. package/dist/types/classes/providers/assets/asset-resolver.class.d.ts +141 -0
  239. package/dist/types/classes/providers/assets/http-asset-provider.class.d.ts +79 -0
  240. package/dist/types/classes/providers/assets/indexeddb-asset-provider.class.d.ts +69 -0
  241. package/dist/types/classes/providers/assets/presigned-asset-provider.class.d.ts +69 -0
  242. package/dist/types/classes/providers/paste-intent/event-paste-intent.provider.d.ts +8 -0
  243. package/dist/types/classes/providers/paste-intent/ios-paste-intent.provider.d.ts +6 -0
  244. package/dist/types/classes/providers/paste-intent/navigator-paste-intent.provider.d.ts +9 -0
  245. package/dist/types/classes/providers/sync/broadcast-sync-provider.class.d.ts +23 -0
  246. package/dist/types/classes/providers/sync/hocuspocus-sync-provider.class.d.ts +163 -0
  247. package/dist/types/classes/providers/sync/in-memory-sync-provider.class.d.ts +39 -0
  248. package/dist/types/classes/providers/sync/indexeddb-sync-provider.class.d.ts +25 -0
  249. package/dist/types/classes/providers/sync/websocket-sync-provider.class.d.ts +63 -0
  250. package/dist/types/classes/registries/dynamic-object-renderer.registry.d.ts +32 -0
  251. package/dist/types/classes/registries/font-registry.class.d.ts +19 -0
  252. package/dist/types/classes/registries/icon-registry.class.d.ts +39 -0
  253. package/dist/types/classes/registries/paste-intent-provider.registry.d.ts +10 -0
  254. package/dist/types/classes/registries/tool.registry.d.ts +53 -0
  255. package/dist/types/classes/structures/app-state-map.structure.d.ts +171 -0
  256. package/dist/types/classes/structures/object-map.structure.d.ts +403 -0
  257. package/dist/types/classes/structures/quadtree.structure.d.ts +128 -0
  258. package/dist/types/classes/tools/base-tool.class.d.ts +72 -0
  259. package/dist/types/classes/tools/brush-tool.class.d.ts +68 -0
  260. package/dist/types/classes/tools/eraser-tool.class.d.ts +38 -0
  261. package/dist/types/classes/tools/image-tool.class.d.ts +74 -0
  262. package/dist/types/classes/tools/line-tool.class.d.ts +63 -0
  263. package/dist/types/classes/tools/selection-tool.class.d.ts +188 -0
  264. package/dist/types/classes/tools/shape-tool.class.d.ts +90 -0
  265. package/dist/types/classes/tools/text-tool.class.d.ts +66 -0
  266. package/dist/types/components/kritzel-awareness-cursors/kritzel-awareness-cursors.d.ts +29 -0
  267. package/dist/types/components/kritzel-cursor-trail/kritzel-cursor-trail.d.ts +19 -0
  268. package/dist/types/components/kritzel-engine/kritzel-engine.d.ts +695 -0
  269. package/dist/types/components/kritzel-icon/kritzel-icon.d.ts +6 -0
  270. package/dist/types/components/kritzel-watermark/kritzel-watermark.d.ts +20 -0
  271. package/dist/types/components.d.ts +981 -0
  272. package/dist/types/configs/default-asset-storage.config.d.ts +8 -0
  273. package/dist/types/configs/default-brush-tool.config.d.ts +2 -0
  274. package/dist/types/configs/default-engine-config.d.ts +2 -0
  275. package/dist/types/configs/default-line-tool.config.d.ts +2 -0
  276. package/dist/types/configs/default-shape-tool.config.d.ts +2 -0
  277. package/dist/types/configs/default-sync.config.d.ts +5 -0
  278. package/dist/types/configs/default-text-tool.config.d.ts +2 -0
  279. package/dist/types/constants/color-palette.constants.d.ts +31 -0
  280. package/dist/types/constants/core.constants.d.ts +0 -0
  281. package/dist/types/constants/engine.constants.d.ts +4 -0
  282. package/dist/types/constants/license.constants.d.ts +25 -0
  283. package/dist/types/constants/schema.constants.d.ts +4 -0
  284. package/dist/types/constants/storage.constants.d.ts +1 -0
  285. package/dist/types/constants/stroke-size.constants.d.ts +2 -0
  286. package/dist/types/constants/text-tool-fonts.constants.d.ts +3 -0
  287. package/dist/types/constants/version.d.ts +6 -0
  288. package/dist/types/enums/alignment.enum.d.ts +8 -0
  289. package/dist/types/enums/event-button.enum.d.ts +5 -0
  290. package/dist/types/enums/handle-type.enum.d.ts +6 -0
  291. package/dist/types/enums/shape-type.enum.d.ts +5 -0
  292. package/dist/types/events/active-workspace-change.event.d.ts +7 -0
  293. package/dist/types/events/editor-is-ready.event.d.ts +18 -0
  294. package/dist/types/events/login.event.d.ts +3 -0
  295. package/dist/types/helpers/alignment.helper.d.ts +21 -0
  296. package/dist/types/helpers/class.helper.d.ts +3 -0
  297. package/dist/types/helpers/color.helper.d.ts +34 -0
  298. package/dist/types/helpers/cursor.helper.d.ts +22 -0
  299. package/dist/types/helpers/devices.helper.d.ts +8 -0
  300. package/dist/types/helpers/event.helper.d.ts +6 -0
  301. package/dist/types/helpers/geometry.helper.d.ts +38 -0
  302. package/dist/types/helpers/html.helper.d.ts +8 -0
  303. package/dist/types/helpers/image-file.helper.d.ts +3 -0
  304. package/dist/types/helpers/keyboard.helper.d.ts +6 -0
  305. package/dist/types/helpers/localization.helper.d.ts +18 -0
  306. package/dist/types/helpers/math.helper.d.ts +4 -0
  307. package/dist/types/helpers/migration.helper.d.ts +30 -0
  308. package/dist/types/helpers/object.helper.d.ts +9 -0
  309. package/dist/types/helpers/svg-export.helper.d.ts +231 -0
  310. package/dist/types/helpers/theme.helper.d.ts +42 -0
  311. package/dist/types/helpers/tool-config.helper.d.ts +4 -0
  312. package/dist/types/helpers/wheel.helper.d.ts +9 -0
  313. package/dist/types/index.d.ts +109 -0
  314. package/dist/types/interfaces/anchor.interface.d.ts +147 -0
  315. package/dist/types/interfaces/arrow-head.interface.d.ts +27 -0
  316. package/dist/types/interfaces/asset-provider.interface.d.ts +88 -0
  317. package/dist/types/interfaces/asset-storage-config.interface.d.ts +40 -0
  318. package/dist/types/interfaces/asset.interface.d.ts +43 -0
  319. package/dist/types/interfaces/bounding-box.interface.d.ts +8 -0
  320. package/dist/types/interfaces/clonable.interface.d.ts +3 -0
  321. package/dist/types/interfaces/context-menu-item.interface.d.ts +25 -0
  322. package/dist/types/interfaces/context-menu-state.interface.d.ts +16 -0
  323. package/dist/types/interfaces/debug-info.interface.d.ts +7 -0
  324. package/dist/types/interfaces/dialog.interface.d.ts +4 -0
  325. package/dist/types/interfaces/document-metadata.interface.d.ts +6 -0
  326. package/dist/types/interfaces/dynamic-object-renderer.interface.d.ts +40 -0
  327. package/dist/types/interfaces/engine-state.interface.d.ts +82 -0
  328. package/dist/types/interfaces/font.interface.d.ts +15 -0
  329. package/dist/types/interfaces/localization.interface.d.ts +143 -0
  330. package/dist/types/interfaces/login-config.interface.d.ts +24 -0
  331. package/dist/types/interfaces/master-detail.interface.d.ts +14 -0
  332. package/dist/types/interfaces/menu-item.interface.d.ts +27 -0
  333. package/dist/types/interfaces/migration.interface.d.ts +16 -0
  334. package/dist/types/interfaces/notification.interface.d.ts +10 -0
  335. package/dist/types/interfaces/object-change-event.interface.d.ts +31 -0
  336. package/dist/types/interfaces/object-export.interface.d.ts +20 -0
  337. package/dist/types/interfaces/object.interface.d.ts +53 -0
  338. package/dist/types/interfaces/paste-intent-provider.interface.d.ts +10 -0
  339. package/dist/types/interfaces/point.interface.d.ts +4 -0
  340. package/dist/types/interfaces/polygon.interface.d.ts +7 -0
  341. package/dist/types/interfaces/remote-cursor.interface.d.ts +18 -0
  342. package/dist/types/interfaces/selection-state.interface.d.ts +7 -0
  343. package/dist/types/interfaces/serializable.interface.d.ts +5 -0
  344. package/dist/types/interfaces/settings.interface.d.ts +25 -0
  345. package/dist/types/interfaces/share.interface.d.ts +9 -0
  346. package/dist/types/interfaces/shortcut.interface.d.ts +10 -0
  347. package/dist/types/interfaces/sync-config.interface.d.ts +41 -0
  348. package/dist/types/interfaces/sync-provider.interface.d.ts +66 -0
  349. package/dist/types/interfaces/theme.interface.d.ts +553 -0
  350. package/dist/types/interfaces/tool-config.interface.d.ts +24 -0
  351. package/dist/types/interfaces/tool-type.interface.d.ts +1 -0
  352. package/dist/types/interfaces/tool.interface.d.ts +8 -0
  353. package/dist/types/interfaces/toolbar-item.interface.d.ts +66 -0
  354. package/dist/types/interfaces/undo-state.interface.d.ts +6 -0
  355. package/dist/types/interfaces/user.interface.d.ts +22 -0
  356. package/dist/types/interfaces/viewport-state.interface.d.ts +7 -0
  357. package/dist/types/locales/de-locale.d.ts +5 -0
  358. package/dist/types/locales/en-locale.d.ts +6 -0
  359. package/dist/types/locales/fr-locale.d.ts +5 -0
  360. package/dist/types/migrations/app-state.migrations.d.ts +11 -0
  361. package/dist/types/migrations/workspace.migrations.d.ts +11 -0
  362. package/dist/types/stencil-public-runtime.d.ts +1873 -0
  363. package/dist/types/themes/dark-theme.d.ts +5 -0
  364. package/dist/types/themes/light-theme.d.ts +5 -0
  365. package/dist/types/types/deep-readonly.type.d.ts +7 -0
  366. package/dist/types/types/state.types.d.ts +3 -0
  367. package/loader/cdn.js +1 -0
  368. package/loader/index.cjs.js +1 -0
  369. package/loader/index.d.ts +24 -0
  370. package/loader/index.es2017.js +1 -0
  371. package/loader/index.js +2 -0
  372. package/package.json +101 -0
  373. package/readme.md +11 -0
@@ -0,0 +1,1742 @@
1
+ 'use strict';
2
+
3
+ function _interopNamespace(e) {
4
+ if (e && e.__esModule) return e;
5
+ var n = Object.create(null);
6
+ if (e) {
7
+ Object.keys(e).forEach(function (k) {
8
+ if (k !== 'default') {
9
+ var d = Object.getOwnPropertyDescriptor(e, k);
10
+ Object.defineProperty(n, k, d.get ? d : {
11
+ enumerable: true,
12
+ get: function () { return e[k]; }
13
+ });
14
+ }
15
+ });
16
+ }
17
+ n.default = e;
18
+ return Object.freeze(n);
19
+ }
20
+
21
+ const NAMESPACE = 'stencil';
22
+ const BUILD = /* stencil */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, state: true, updatable: true};
23
+
24
+ /*
25
+ Stencil Client Platform v4.44.2 | MIT Licensed | https://stenciljs.com
26
+ */
27
+
28
+
29
+ // src/utils/constants.ts
30
+ var SVG_NS = "http://www.w3.org/2000/svg";
31
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
32
+
33
+ // src/utils/get-prop-descriptor.ts
34
+ function getPropertyDescriptor(obj, memberName, getOnly) {
35
+ const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
36
+ while (obj && obj !== stopAt) {
37
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
38
+ if (desc && (!getOnly || desc.get)) return desc;
39
+ obj = Object.getPrototypeOf(obj);
40
+ }
41
+ return void 0;
42
+ }
43
+
44
+ // src/utils/es2022-rewire-class-members.ts
45
+ var reWireGetterSetter = (instance, hostRef) => {
46
+ var _a;
47
+ const cmpMeta = hostRef.$cmpMeta$;
48
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
49
+ members.map(([memberName, [memberFlags]]) => {
50
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
51
+ const ogValue = instance[memberName];
52
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
53
+ if (ogDescriptor) {
54
+ Object.defineProperty(instance, memberName, {
55
+ get() {
56
+ return ogDescriptor.get.call(this);
57
+ },
58
+ set(newValue) {
59
+ ogDescriptor.set.call(this, newValue);
60
+ },
61
+ configurable: true,
62
+ enumerable: true
63
+ });
64
+ }
65
+ if (hostRef.$instanceValues$.has(memberName)) {
66
+ instance[memberName] = hostRef.$instanceValues$.get(memberName);
67
+ } else if (ogValue !== void 0) {
68
+ instance[memberName] = ogValue;
69
+ }
70
+ }
71
+ });
72
+ };
73
+
74
+ // src/client/client-host-ref.ts
75
+ var getHostRef = (ref) => {
76
+ if (ref.__stencil__getHostRef) {
77
+ return ref.__stencil__getHostRef();
78
+ }
79
+ return void 0;
80
+ };
81
+ var registerInstance = (lazyInstance, hostRef) => {
82
+ if (!hostRef) return;
83
+ lazyInstance.__stencil__getHostRef = () => hostRef;
84
+ hostRef.$lazyInstance$ = lazyInstance;
85
+ if (hostRef.$cmpMeta$.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
86
+ reWireGetterSetter(lazyInstance, hostRef);
87
+ }
88
+ };
89
+ var registerHost = (hostElement, cmpMeta) => {
90
+ const hostRef = {
91
+ $flags$: 0,
92
+ $hostElement$: hostElement,
93
+ $cmpMeta$: cmpMeta,
94
+ $instanceValues$: /* @__PURE__ */ new Map(),
95
+ $serializerValues$: /* @__PURE__ */ new Map()
96
+ };
97
+ {
98
+ hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
99
+ }
100
+ {
101
+ hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
102
+ hostElement["s-p"] = [];
103
+ hostElement["s-rc"] = [];
104
+ }
105
+ {
106
+ hostRef.$fetchedCbList$ = [];
107
+ }
108
+ const ref = hostRef;
109
+ hostElement.__stencil__getHostRef = () => ref;
110
+ return ref;
111
+ };
112
+ var isMemberInElement = (elm, memberName) => memberName in elm;
113
+ var consoleError = (e, el) => (0, console.error)(e, el);
114
+
115
+ // src/client/client-load-module.ts
116
+ var cmpModules = /* @__PURE__ */ new Map();
117
+ var failedLoadAttempts = /* @__PURE__ */ new Map();
118
+ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
119
+ var _a;
120
+ const exportName = cmpMeta.$tagName$.replace(/-/g, "_");
121
+ const bundleId = cmpMeta.$lazyBundleId$;
122
+ if (!bundleId) {
123
+ return void 0;
124
+ }
125
+ const module = cmpModules.get(bundleId) ;
126
+ if (module) {
127
+ return module[exportName];
128
+ }
129
+ const retryCount = (_a = failedLoadAttempts.get(bundleId)) != null ? _a : 0;
130
+ const cacheBustParams = [
131
+ retryCount > 0 ? `s-retry=${retryCount}` : "",
132
+ ""
133
+ ].filter(Boolean).join("&");
134
+
135
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
136
+ const processMod = importedModule => {
137
+ cmpModules.set(bundleId, importedModule);
138
+ return importedModule[exportName];
139
+ }
140
+ switch(bundleId) {
141
+
142
+ case 'kritzel-awareness-cursors_5.cjs':
143
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
144
+ /* webpackMode: "lazy" */
145
+ './kritzel-awareness-cursors_5.cjs.entry.js')); }).then(processMod, consoleError);
146
+ }
147
+ }
148
+ return (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(
149
+ /* @vite-ignore */
150
+ /* webpackInclude: /\.entry\.js$/ */
151
+ /* webpackExclude: /\.system\.entry\.js$/ */
152
+ /* webpackMode: "lazy" */
153
+ `./${bundleId}.entry.js${cacheBustParams ? "?" + cacheBustParams : ""}`
154
+ ).then(
155
+ (importedModule) => {
156
+ {
157
+ failedLoadAttempts.delete(bundleId);
158
+ cmpModules.set(bundleId, importedModule);
159
+ }
160
+ return importedModule[exportName];
161
+ },
162
+ (e) => {
163
+ failedLoadAttempts.set(bundleId, retryCount + 1);
164
+ consoleError(e, hostRef.$hostElement$);
165
+ }
166
+ );
167
+ };
168
+
169
+ // src/client/client-style.ts
170
+ var styles = /* @__PURE__ */ new Map();
171
+ var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
172
+ var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
173
+ var MAX_LAZY_LOAD_RETRIES = 3;
174
+ var LAZY_LOAD_RETRY_INTERVAL_MS = 1e3;
175
+ var win = typeof window !== "undefined" ? window : {};
176
+ var plt = {
177
+ $flags$: 0,
178
+ $resourcesUrl$: "",
179
+ jmp: (h2) => h2(),
180
+ raf: (h2) => requestAnimationFrame(h2),
181
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
182
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
183
+ ce: (eventName, opts) => new CustomEvent(eventName, opts)
184
+ };
185
+ var supportsListenerOptions = /* @__PURE__ */ (() => {
186
+ var _a;
187
+ let supportsListenerOptions2 = false;
188
+ try {
189
+ (_a = win.document) == null ? void 0 : _a.addEventListener(
190
+ "e",
191
+ null,
192
+ Object.defineProperty({}, "passive", {
193
+ get() {
194
+ supportsListenerOptions2 = true;
195
+ }
196
+ })
197
+ );
198
+ } catch (e) {
199
+ }
200
+ return supportsListenerOptions2;
201
+ })();
202
+ var promiseResolve = (v) => Promise.resolve(v);
203
+ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
204
+ try {
205
+ if (!win.document.adoptedStyleSheets) {
206
+ return false;
207
+ }
208
+ new CSSStyleSheet();
209
+ return typeof new CSSStyleSheet().replaceSync === "function";
210
+ } catch (e) {
211
+ }
212
+ return false;
213
+ })() ;
214
+ var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
215
+ var queuePending = false;
216
+ var queueDomReads = [];
217
+ var queueDomWrites = [];
218
+ var scheduleFlush = () => {
219
+ var _a;
220
+ return ((_a = win.document) == null ? void 0 : _a.hidden) ? nextTick(flush) : plt.raf(flush);
221
+ };
222
+ var queueTask = (queue, write) => (cb) => {
223
+ queue.push(cb);
224
+ if (!queuePending) {
225
+ queuePending = true;
226
+ if (write && plt.$flags$ & 4 /* queueSync */) {
227
+ nextTick(flush);
228
+ } else {
229
+ scheduleFlush();
230
+ }
231
+ }
232
+ };
233
+ var consume = (queue) => {
234
+ for (let i2 = 0; i2 < queue.length; i2++) {
235
+ try {
236
+ queue[i2](performance.now());
237
+ } catch (e) {
238
+ consoleError(e);
239
+ }
240
+ }
241
+ queue.length = 0;
242
+ };
243
+ var flush = () => {
244
+ consume(queueDomReads);
245
+ {
246
+ consume(queueDomWrites);
247
+ if (queuePending = queueDomReads.length > 0) {
248
+ scheduleFlush();
249
+ }
250
+ }
251
+ };
252
+ var nextTick = (cb) => promiseResolve().then(cb);
253
+ var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
254
+
255
+ // src/utils/style.ts
256
+ function createStyleSheetIfNeededAndSupported(styles2) {
257
+ return void 0;
258
+ }
259
+
260
+ // src/utils/shadow-root.ts
261
+ var globalStyleSheet;
262
+ function createShadowRoot(cmpMeta) {
263
+ var _a;
264
+ const opts = { mode: "open" };
265
+ const shadowRoot = this.attachShadow(opts);
266
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
267
+ if (globalStyleSheet) {
268
+ if (supportsMutableAdoptedStyleSheets) {
269
+ shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
270
+ } else {
271
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
272
+ }
273
+ }
274
+ }
275
+ var createTime = (fnName, tagName = "") => {
276
+ {
277
+ return () => {
278
+ return;
279
+ };
280
+ }
281
+ };
282
+ var uniqueTime = (key, measureText) => {
283
+ {
284
+ return () => {
285
+ return;
286
+ };
287
+ }
288
+ };
289
+
290
+ // src/utils/query-nonce-meta-tag-content.ts
291
+ function queryNonceMetaTagContent(doc) {
292
+ var _a, _b, _c;
293
+ return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
294
+ }
295
+
296
+ // src/runtime/styles.ts
297
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
298
+ var registerStyle = (scopeId2, cssText, allowCS) => {
299
+ let style = styles.get(scopeId2);
300
+ if (supportsConstructableStylesheets && allowCS) {
301
+ style = style || new CSSStyleSheet();
302
+ if (typeof style === "string") {
303
+ style = cssText;
304
+ } else {
305
+ style.replaceSync(cssText);
306
+ }
307
+ } else {
308
+ style = cssText;
309
+ }
310
+ styles.set(scopeId2, style);
311
+ };
312
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
313
+ var _a, _b, _c;
314
+ const scopeId2 = getScopeId(cmpMeta);
315
+ const style = styles.get(scopeId2);
316
+ if (!win.document) {
317
+ return scopeId2;
318
+ }
319
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
320
+ if (style) {
321
+ if (typeof style === "string") {
322
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
323
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
324
+ let styleElm;
325
+ if (!appliedStyles) {
326
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
327
+ }
328
+ if (!appliedStyles.has(scopeId2)) {
329
+ styleElm = win.document.createElement("style");
330
+ styleElm.textContent = style;
331
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
332
+ if (nonce != null) {
333
+ styleElm.setAttribute("nonce", nonce);
334
+ }
335
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
336
+ if (styleContainerNode.nodeName === "HEAD") {
337
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
338
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
339
+ styleContainerNode.insertBefore(
340
+ styleElm,
341
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
342
+ );
343
+ } else if ("host" in styleContainerNode) {
344
+ if (supportsConstructableStylesheets) {
345
+ const currentWindow = (_b = styleContainerNode.defaultView) != null ? _b : styleContainerNode.ownerDocument.defaultView;
346
+ const stylesheet = new currentWindow.CSSStyleSheet();
347
+ stylesheet.replaceSync(style);
348
+ if (supportsMutableAdoptedStyleSheets) {
349
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
350
+ } else {
351
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
352
+ }
353
+ } else {
354
+ const existingStyleContainer = styleContainerNode.querySelector("style");
355
+ if (existingStyleContainer && true) {
356
+ existingStyleContainer.textContent = style + existingStyleContainer.textContent;
357
+ } else {
358
+ styleContainerNode.prepend(styleElm);
359
+ }
360
+ }
361
+ } else {
362
+ styleContainerNode.append(styleElm);
363
+ }
364
+ }
365
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
366
+ styleContainerNode.insertBefore(styleElm, null);
367
+ }
368
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
369
+ styleElm.textContent += SLOT_FB_CSS;
370
+ }
371
+ if (appliedStyles) {
372
+ appliedStyles.add(scopeId2);
373
+ }
374
+ }
375
+ } else {
376
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
377
+ if (!appliedStyles) {
378
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
379
+ }
380
+ if (!appliedStyles.has(scopeId2)) {
381
+ const currentWindow = (_c = styleContainerNode.defaultView) != null ? _c : styleContainerNode.ownerDocument.defaultView;
382
+ let stylesheet;
383
+ if (style.constructor === currentWindow.CSSStyleSheet) {
384
+ stylesheet = style;
385
+ } else {
386
+ stylesheet = new currentWindow.CSSStyleSheet();
387
+ for (let i2 = 0; i2 < style.cssRules.length; i2++) {
388
+ stylesheet.insertRule(style.cssRules[i2].cssText, i2);
389
+ }
390
+ }
391
+ if (supportsMutableAdoptedStyleSheets) {
392
+ styleContainerNode.adoptedStyleSheets.push(stylesheet);
393
+ } else {
394
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, stylesheet];
395
+ }
396
+ appliedStyles.add(scopeId2);
397
+ }
398
+ }
399
+ }
400
+ return scopeId2;
401
+ };
402
+ var attachStyles = (hostRef) => {
403
+ const cmpMeta = hostRef.$cmpMeta$;
404
+ const elm = hostRef.$hostElement$;
405
+ const flags = cmpMeta.$flags$;
406
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
407
+ const scopeId2 = addStyle(
408
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
409
+ cmpMeta);
410
+ if (flags & 10 /* needsScopedEncapsulation */) {
411
+ elm["s-sc"] = scopeId2;
412
+ elm.classList.add(scopeId2 + "-h");
413
+ }
414
+ endAttachStyles();
415
+ };
416
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
417
+ var isComplexType = (o) => {
418
+ o = typeof o;
419
+ return o === "object" || o === "function";
420
+ };
421
+
422
+ // src/runtime/vdom/h.ts
423
+ var h = (nodeName, vnodeData, ...children) => {
424
+ if (typeof nodeName === "string") {
425
+ nodeName = transformTag(nodeName);
426
+ }
427
+ let child = null;
428
+ let key = null;
429
+ let simple = false;
430
+ let lastSimple = false;
431
+ const vNodeChildren = [];
432
+ const walk = (c) => {
433
+ for (let i2 = 0; i2 < c.length; i2++) {
434
+ child = c[i2];
435
+ if (Array.isArray(child)) {
436
+ walk(child);
437
+ } else if (child != null && typeof child !== "boolean") {
438
+ if (simple = typeof nodeName !== "function" && !isComplexType(child)) {
439
+ child = String(child);
440
+ } else if (typeof nodeName !== "function" && child.$flags$ === void 0) {
441
+ {
442
+ consoleError("Invalid vNode child");
443
+ }
444
+ continue;
445
+ }
446
+ if (simple && lastSimple) {
447
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
448
+ } else {
449
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
450
+ }
451
+ lastSimple = simple;
452
+ }
453
+ }
454
+ };
455
+ walk(children);
456
+ if (vnodeData) {
457
+ if (vnodeData.key) {
458
+ key = vnodeData.key;
459
+ }
460
+ {
461
+ const classData = vnodeData.className || vnodeData.class;
462
+ if (classData) {
463
+ vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" ");
464
+ }
465
+ }
466
+ }
467
+ const vnode = newVNode(nodeName, null);
468
+ vnode.$attrs$ = vnodeData;
469
+ if (vNodeChildren.length > 0) {
470
+ vnode.$children$ = vNodeChildren;
471
+ }
472
+ {
473
+ vnode.$key$ = key;
474
+ }
475
+ return vnode;
476
+ };
477
+ var newVNode = (tag, text) => {
478
+ const vnode = {
479
+ $flags$: 0,
480
+ $tag$: tag,
481
+ // Normalize undefined to null to prevent rendering "undefined" as text
482
+ $text$: text != null ? text : null,
483
+ $elm$: null,
484
+ $children$: null
485
+ };
486
+ {
487
+ vnode.$attrs$ = null;
488
+ }
489
+ {
490
+ vnode.$key$ = null;
491
+ }
492
+ return vnode;
493
+ };
494
+ var Host = {};
495
+ var isHost = (node) => node && node.$tag$ === Host;
496
+
497
+ // src/runtime/normalize-watchers.ts
498
+ var normalizeWatchers = (raw) => {
499
+ if (!raw) return void 0;
500
+ const keys = Object.keys(raw);
501
+ if (keys.length === 0) return void 0;
502
+ let hasLegacy = false;
503
+ for (const propName of keys) {
504
+ if (hasLegacy) break;
505
+ for (const h2 of raw[propName]) {
506
+ if (typeof h2 === "string") {
507
+ hasLegacy = true;
508
+ break;
509
+ }
510
+ }
511
+ }
512
+ if (!hasLegacy) return raw;
513
+ const out = {};
514
+ for (const propName of keys) {
515
+ out[propName] = raw[propName].map(
516
+ (h2) => typeof h2 === "string" ? { [h2]: 0 } : h2
517
+ );
518
+ }
519
+ return out;
520
+ };
521
+
522
+ // src/runtime/parse-property-value.ts
523
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
524
+ if (propValue != null && !isComplexType(propValue)) {
525
+ if (propType & 4 /* Boolean */) {
526
+ {
527
+ return propValue === "false" ? false : propValue === "" || !!propValue;
528
+ }
529
+ }
530
+ if (propType & 2 /* Number */) {
531
+ return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
532
+ }
533
+ if (propType & 1 /* String */) {
534
+ return String(propValue);
535
+ }
536
+ return propValue;
537
+ }
538
+ return propValue;
539
+ };
540
+ var getElement = (ref) => {
541
+ var _a;
542
+ return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
543
+ };
544
+
545
+ // src/runtime/event-emitter.ts
546
+ var createEvent = (ref, name, flags) => {
547
+ const elm = getElement(ref);
548
+ return {
549
+ emit: (detail) => {
550
+ return emitEvent(elm, name, {
551
+ bubbles: true,
552
+ composed: true,
553
+ cancelable: true,
554
+ detail
555
+ });
556
+ }
557
+ };
558
+ };
559
+ var emitEvent = (elm, name, opts) => {
560
+ const ev = plt.ce(name, opts);
561
+ elm.dispatchEvent(ev);
562
+ return ev;
563
+ };
564
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
565
+ if (oldValue === newValue) {
566
+ return;
567
+ }
568
+ let isProp = isMemberInElement(elm, memberName);
569
+ let ln = memberName.toLowerCase();
570
+ if (memberName === "class") {
571
+ const classList = elm.classList;
572
+ const oldClasses = parseClassList(oldValue);
573
+ let newClasses = parseClassList(newValue);
574
+ {
575
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
576
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
577
+ }
578
+ } else if (memberName === "style") {
579
+ {
580
+ for (const prop in oldValue) {
581
+ if (!newValue || newValue[prop] == null) {
582
+ if (prop.includes("-")) {
583
+ elm.style.removeProperty(prop);
584
+ } else {
585
+ elm.style[prop] = "";
586
+ }
587
+ }
588
+ }
589
+ }
590
+ for (const prop in newValue) {
591
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
592
+ if (prop.includes("-")) {
593
+ elm.style.setProperty(prop, newValue[prop]);
594
+ } else {
595
+ elm.style[prop] = newValue[prop];
596
+ }
597
+ }
598
+ }
599
+ } else if (memberName === "key") ; else if (memberName === "ref") {
600
+ if (newValue) {
601
+ queueRefAttachment(newValue, elm);
602
+ }
603
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
604
+ if (memberName[2] === "-") {
605
+ memberName = memberName.slice(3);
606
+ } else if (isMemberInElement(win, ln)) {
607
+ memberName = ln.slice(2);
608
+ } else {
609
+ memberName = ln[2] + memberName.slice(3);
610
+ }
611
+ if (oldValue || newValue) {
612
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
613
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
614
+ if (oldValue) {
615
+ plt.rel(elm, memberName, oldValue, capture);
616
+ }
617
+ if (newValue) {
618
+ plt.ael(elm, memberName, newValue, capture);
619
+ }
620
+ }
621
+ } else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
622
+ const propName = memberName.slice(5);
623
+ let attrName;
624
+ {
625
+ const hostRef = getHostRef(elm);
626
+ if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
627
+ const memberMeta = hostRef.$cmpMeta$.$members$[propName];
628
+ if (memberMeta && memberMeta[1]) {
629
+ attrName = memberMeta[1];
630
+ }
631
+ }
632
+ }
633
+ if (!attrName) {
634
+ attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
635
+ }
636
+ if (newValue == null || newValue === false) {
637
+ if (newValue !== false || elm.getAttribute(attrName) === "") {
638
+ elm.removeAttribute(attrName);
639
+ }
640
+ } else {
641
+ elm.setAttribute(attrName, newValue === true ? "" : newValue);
642
+ }
643
+ return;
644
+ } else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
645
+ const propName = memberName.slice(5);
646
+ try {
647
+ elm[propName] = newValue;
648
+ } catch (e) {
649
+ }
650
+ return;
651
+ } else {
652
+ const isComplex = isComplexType(newValue);
653
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
654
+ try {
655
+ if (!elm.tagName.includes("-")) {
656
+ const n = newValue == null ? "" : newValue;
657
+ if (memberName === "list") {
658
+ isProp = false;
659
+ } else if (oldValue == null || elm[memberName] !== n) {
660
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
661
+ elm[memberName] = n;
662
+ } else {
663
+ elm.setAttribute(memberName, n);
664
+ }
665
+ }
666
+ } else if (elm[memberName] !== newValue) {
667
+ elm[memberName] = newValue;
668
+ }
669
+ } catch (e) {
670
+ }
671
+ }
672
+ if (newValue == null || newValue === false) {
673
+ if (newValue !== false || elm.getAttribute(memberName) === "" || flags & 4 /* isHost */ && !isEnumeratedAttribute(memberName)) {
674
+ {
675
+ elm.removeAttribute(memberName);
676
+ }
677
+ }
678
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
679
+ newValue = newValue === true ? "" : newValue;
680
+ {
681
+ elm.setAttribute(memberName, newValue);
682
+ }
683
+ }
684
+ }
685
+ };
686
+ var ENUMERATED_ATTRIBUTES = /* @__PURE__ */ new Set(["draggable", "contenteditable", "spellcheck"]);
687
+ var isEnumeratedAttribute = (attrName) => ENUMERATED_ATTRIBUTES.has(attrName) || attrName.startsWith("aria-");
688
+ var parseClassListRegex = /\s/;
689
+ var parseClassList = (value) => {
690
+ if (typeof value === "object" && value && "baseVal" in value) {
691
+ value = value.baseVal;
692
+ }
693
+ if (!value || typeof value !== "string") {
694
+ return [];
695
+ }
696
+ return value.split(parseClassListRegex);
697
+ };
698
+ var CAPTURE_EVENT_SUFFIX = "Capture";
699
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
700
+
701
+ // src/runtime/vdom/update-element.ts
702
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
703
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
704
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
705
+ const newVnodeAttrs = newVnode.$attrs$ || {};
706
+ {
707
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
708
+ if (!(memberName in newVnodeAttrs)) {
709
+ setAccessor(
710
+ elm,
711
+ memberName,
712
+ oldVnodeAttrs[memberName],
713
+ void 0,
714
+ isSvgMode2,
715
+ newVnode.$flags$);
716
+ }
717
+ }
718
+ }
719
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
720
+ setAccessor(
721
+ elm,
722
+ memberName,
723
+ oldVnodeAttrs[memberName],
724
+ newVnodeAttrs[memberName],
725
+ isSvgMode2,
726
+ newVnode.$flags$);
727
+ }
728
+ };
729
+ function sortedAttrNames(attrNames) {
730
+ return attrNames.includes("ref") ? (
731
+ // we need to sort these to ensure that `'ref'` is the last attr
732
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
733
+ ) : (
734
+ // no need to sort, return the original array
735
+ attrNames
736
+ );
737
+ }
738
+ var hostTagName;
739
+ var isSvgMode = false;
740
+ var refCallbacksToRemove = [];
741
+ var refCallbacksToAttach = [];
742
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
743
+ const newVNode2 = newParentVNode.$children$[childIndex];
744
+ let i2 = 0;
745
+ let elm;
746
+ let childNode;
747
+ if (newVNode2.$text$ != null) {
748
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
749
+ } else {
750
+ if (!isSvgMode) {
751
+ isSvgMode = newVNode2.$tag$ === "svg";
752
+ }
753
+ if (!win.document) {
754
+ throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");
755
+ }
756
+ elm = newVNode2.$elm$ = win.document.createElementNS(
757
+ isSvgMode ? SVG_NS : HTML_NS,
758
+ newVNode2.$tag$
759
+ ) ;
760
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
761
+ isSvgMode = false;
762
+ }
763
+ {
764
+ updateElement(null, newVNode2, isSvgMode);
765
+ }
766
+ if (newVNode2.$children$) {
767
+ const appendTarget = newVNode2.$tag$ === "template" ? elm.content : elm;
768
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
769
+ childNode = createElm(oldParentVNode, newVNode2, i2);
770
+ if (childNode) {
771
+ appendTarget.appendChild(childNode);
772
+ }
773
+ }
774
+ }
775
+ {
776
+ if (newVNode2.$tag$ === "svg") {
777
+ isSvgMode = false;
778
+ } else if (elm.tagName === "foreignObject") {
779
+ isSvgMode = true;
780
+ }
781
+ }
782
+ }
783
+ elm["s-hn"] = hostTagName;
784
+ return elm;
785
+ };
786
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
787
+ let containerElm = parentElm;
788
+ let childNode;
789
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
790
+ containerElm = containerElm.shadowRoot;
791
+ }
792
+ if (parentVNode.$tag$ === "template") {
793
+ containerElm = containerElm.content;
794
+ }
795
+ for (; startIdx <= endIdx; ++startIdx) {
796
+ if (vnodes[startIdx]) {
797
+ childNode = createElm(null, parentVNode, startIdx);
798
+ if (childNode) {
799
+ vnodes[startIdx].$elm$ = childNode;
800
+ insertBefore(containerElm, childNode, before);
801
+ }
802
+ }
803
+ }
804
+ };
805
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
806
+ for (let index = startIdx; index <= endIdx; ++index) {
807
+ const vnode = vnodes[index];
808
+ if (vnode) {
809
+ const elm = vnode.$elm$;
810
+ nullifyVNodeRefs(vnode);
811
+ if (elm) {
812
+ elm.remove();
813
+ }
814
+ }
815
+ }
816
+ };
817
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
818
+ let oldStartIdx = 0;
819
+ let newStartIdx = 0;
820
+ let idxInOld = 0;
821
+ let i2 = 0;
822
+ let oldEndIdx = oldCh.length - 1;
823
+ let oldStartVnode = oldCh[0];
824
+ let oldEndVnode = oldCh[oldEndIdx];
825
+ let newEndIdx = newCh.length - 1;
826
+ let newStartVnode = newCh[0];
827
+ let newEndVnode = newCh[newEndIdx];
828
+ let node;
829
+ let elmToMove;
830
+ const containerElm = newVNode2.$tag$ === "template" ? parentElm.content : parentElm;
831
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
832
+ if (oldStartVnode == null) {
833
+ oldStartVnode = oldCh[++oldStartIdx];
834
+ } else if (oldEndVnode == null) {
835
+ oldEndVnode = oldCh[--oldEndIdx];
836
+ } else if (newStartVnode == null) {
837
+ newStartVnode = newCh[++newStartIdx];
838
+ } else if (newEndVnode == null) {
839
+ newEndVnode = newCh[--newEndIdx];
840
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
841
+ patch(oldStartVnode, newStartVnode, isInitialRender);
842
+ oldStartVnode = oldCh[++oldStartIdx];
843
+ newStartVnode = newCh[++newStartIdx];
844
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
845
+ patch(oldEndVnode, newEndVnode, isInitialRender);
846
+ oldEndVnode = oldCh[--oldEndIdx];
847
+ newEndVnode = newCh[--newEndIdx];
848
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
849
+ patch(oldStartVnode, newEndVnode, isInitialRender);
850
+ insertBefore(containerElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
851
+ oldStartVnode = oldCh[++oldStartIdx];
852
+ newEndVnode = newCh[--newEndIdx];
853
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
854
+ patch(oldEndVnode, newStartVnode, isInitialRender);
855
+ insertBefore(containerElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
856
+ oldEndVnode = oldCh[--oldEndIdx];
857
+ newStartVnode = newCh[++newStartIdx];
858
+ } else {
859
+ idxInOld = -1;
860
+ {
861
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
862
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
863
+ idxInOld = i2;
864
+ break;
865
+ }
866
+ }
867
+ }
868
+ if (idxInOld >= 0) {
869
+ elmToMove = oldCh[idxInOld];
870
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
871
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
872
+ } else {
873
+ patch(elmToMove, newStartVnode, isInitialRender);
874
+ oldCh[idxInOld] = void 0;
875
+ node = elmToMove.$elm$;
876
+ }
877
+ newStartVnode = newCh[++newStartIdx];
878
+ } else {
879
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
880
+ newStartVnode = newCh[++newStartIdx];
881
+ }
882
+ if (node) {
883
+ {
884
+ insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
885
+ }
886
+ }
887
+ }
888
+ }
889
+ if (oldStartIdx > oldEndIdx) {
890
+ addVnodes(
891
+ parentElm,
892
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
893
+ newVNode2,
894
+ newCh,
895
+ newStartIdx,
896
+ newEndIdx
897
+ );
898
+ } else if (newStartIdx > newEndIdx) {
899
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
900
+ }
901
+ };
902
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
903
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
904
+ if (!isInitialRender) {
905
+ return leftVNode.$key$ === rightVNode.$key$;
906
+ }
907
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
908
+ leftVNode.$key$ = rightVNode.$key$;
909
+ }
910
+ return true;
911
+ }
912
+ return false;
913
+ };
914
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
915
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
916
+ const oldChildren = oldVNode.$children$;
917
+ const newChildren = newVNode2.$children$;
918
+ const tag = newVNode2.$tag$;
919
+ const text = newVNode2.$text$;
920
+ if (text == null) {
921
+ {
922
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
923
+ }
924
+ {
925
+ updateElement(oldVNode, newVNode2, isSvgMode);
926
+ }
927
+ if (oldChildren !== null && newChildren !== null) {
928
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
929
+ } else if (newChildren !== null) {
930
+ if (oldVNode.$text$ !== null) {
931
+ elm.textContent = "";
932
+ }
933
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
934
+ } else if (
935
+ // don't do this on initial render as it can cause non-hydrated content to be removed
936
+ !isInitialRender && BUILD.updatable && oldChildren !== null
937
+ ) {
938
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
939
+ } else ;
940
+ if (isSvgMode && tag === "svg") {
941
+ isSvgMode = false;
942
+ }
943
+ } else if (oldVNode.$text$ !== text) {
944
+ elm.data = text;
945
+ }
946
+ };
947
+ var nullifyVNodeRefs = (vNode) => {
948
+ {
949
+ if (vNode.$attrs$ && vNode.$attrs$.ref) {
950
+ refCallbacksToRemove.push(() => vNode.$attrs$.ref(null));
951
+ }
952
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
953
+ }
954
+ };
955
+ var queueRefAttachment = (refCallback, elm) => {
956
+ {
957
+ refCallbacksToAttach.push(() => refCallback(elm));
958
+ }
959
+ };
960
+ var flushQueuedRefCallbacks = () => {
961
+ {
962
+ refCallbacksToRemove.forEach((cb) => cb());
963
+ refCallbacksToRemove.length = 0;
964
+ refCallbacksToAttach.forEach((cb) => cb());
965
+ refCallbacksToAttach.length = 0;
966
+ }
967
+ };
968
+ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
969
+ {
970
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
971
+ }
972
+ };
973
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
974
+ const hostElm = hostRef.$hostElement$;
975
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
976
+ const isHostElement = isHost(renderFnResults);
977
+ const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
978
+ hostTagName = hostElm.tagName;
979
+ if (isInitialLoad && rootVnode.$attrs$) {
980
+ for (const key of Object.keys(rootVnode.$attrs$)) {
981
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
982
+ rootVnode.$attrs$[key] = hostElm[key];
983
+ }
984
+ }
985
+ }
986
+ rootVnode.$tag$ = null;
987
+ rootVnode.$flags$ |= 4 /* isHost */;
988
+ hostRef.$vnode$ = rootVnode;
989
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
990
+ patch(oldVNode, rootVnode, isInitialLoad);
991
+ flushQueuedRefCallbacks();
992
+ };
993
+
994
+ // src/runtime/update-component.ts
995
+ var attachToAncestor = (hostRef, ancestorComponent) => {
996
+ if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
997
+ const index = ancestorComponent["s-p"].push(
998
+ new Promise(
999
+ (r) => hostRef.$onRenderResolve$ = () => {
1000
+ ancestorComponent["s-p"].splice(index - 1, 1);
1001
+ r();
1002
+ }
1003
+ )
1004
+ );
1005
+ }
1006
+ };
1007
+ var scheduleUpdate = (hostRef, isInitialLoad) => {
1008
+ {
1009
+ hostRef.$flags$ |= 16 /* isQueuedForUpdate */;
1010
+ }
1011
+ if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {
1012
+ hostRef.$flags$ |= 512 /* needsRerender */;
1013
+ return;
1014
+ }
1015
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$);
1016
+ const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1017
+ if (isInitialLoad) {
1018
+ queueMicrotask(() => {
1019
+ dispatch();
1020
+ });
1021
+ return;
1022
+ }
1023
+ return writeTask(dispatch) ;
1024
+ };
1025
+ var dispatchHooks = (hostRef, isInitialLoad) => {
1026
+ const elm = hostRef.$hostElement$;
1027
+ const endSchedule = createTime("scheduleUpdate", hostRef.$cmpMeta$.$tagName$);
1028
+ const instance = hostRef.$lazyInstance$ ;
1029
+ if (!instance) {
1030
+ throw new Error(
1031
+ `Can't render component <${elm.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`
1032
+ );
1033
+ }
1034
+ let maybePromise;
1035
+ if (isInitialLoad) {
1036
+ {
1037
+ {
1038
+ hostRef.$flags$ |= 256 /* isListenReady */;
1039
+ if (hostRef.$queuedListeners$) {
1040
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1041
+ hostRef.$queuedListeners$ = void 0;
1042
+ }
1043
+ }
1044
+ if (hostRef.$fetchedCbList$.length) {
1045
+ hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
1046
+ }
1047
+ }
1048
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
1049
+ } else {
1050
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1051
+ }
1052
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
1053
+ endSchedule();
1054
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1055
+ };
1056
+ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err) => {
1057
+ console.error(err);
1058
+ fn();
1059
+ }) : fn();
1060
+ var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
1061
+ var updateComponent = async (hostRef, instance, isInitialLoad) => {
1062
+ var _a;
1063
+ const elm = hostRef.$hostElement$;
1064
+ const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
1065
+ const rc = elm["s-rc"];
1066
+ if (isInitialLoad) {
1067
+ attachStyles(hostRef);
1068
+ }
1069
+ const endRender = createTime("render", hostRef.$cmpMeta$.$tagName$);
1070
+ {
1071
+ callRender(hostRef, instance, elm, isInitialLoad);
1072
+ }
1073
+ if (rc) {
1074
+ rc.map((cb) => cb());
1075
+ elm["s-rc"] = void 0;
1076
+ }
1077
+ endRender();
1078
+ endUpdate();
1079
+ {
1080
+ const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
1081
+ const postUpdate = () => postUpdateComponent(hostRef);
1082
+ if (childrenPromises.length === 0) {
1083
+ postUpdate();
1084
+ } else {
1085
+ Promise.all(childrenPromises).then(postUpdate).catch(postUpdate);
1086
+ hostRef.$flags$ |= 4 /* isWaitingForChildren */;
1087
+ childrenPromises.length = 0;
1088
+ }
1089
+ }
1090
+ };
1091
+ var callRender = (hostRef, instance, elm, isInitialLoad) => {
1092
+ try {
1093
+ instance = instance.render() ;
1094
+ {
1095
+ hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
1096
+ }
1097
+ {
1098
+ hostRef.$flags$ |= 2 /* hasRendered */;
1099
+ }
1100
+ {
1101
+ {
1102
+ {
1103
+ renderVdom(hostRef, instance, isInitialLoad);
1104
+ }
1105
+ }
1106
+ }
1107
+ } catch (e) {
1108
+ consoleError(e, hostRef.$hostElement$);
1109
+ }
1110
+ return null;
1111
+ };
1112
+ var postUpdateComponent = (hostRef) => {
1113
+ const tagName = hostRef.$cmpMeta$.$tagName$;
1114
+ const elm = hostRef.$hostElement$;
1115
+ const endPostUpdate = createTime("postUpdate", tagName);
1116
+ const instance = hostRef.$lazyInstance$ ;
1117
+ const ancestorComponent = hostRef.$ancestorComponent$;
1118
+ safeCall(instance, "componentDidRender", void 0, elm);
1119
+ if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1120
+ hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1121
+ {
1122
+ addHydratedFlag(elm);
1123
+ }
1124
+ safeCall(instance, "componentDidLoad", void 0, elm);
1125
+ endPostUpdate();
1126
+ {
1127
+ hostRef.$onReadyResolve$(elm);
1128
+ if (!ancestorComponent) {
1129
+ appDidLoad();
1130
+ }
1131
+ }
1132
+ } else {
1133
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1134
+ endPostUpdate();
1135
+ }
1136
+ {
1137
+ hostRef.$onInstanceResolve$(elm);
1138
+ }
1139
+ {
1140
+ if (hostRef.$onRenderResolve$) {
1141
+ hostRef.$onRenderResolve$();
1142
+ hostRef.$onRenderResolve$ = void 0;
1143
+ }
1144
+ if (hostRef.$flags$ & 512 /* needsRerender */) {
1145
+ nextTick(() => scheduleUpdate(hostRef, false));
1146
+ }
1147
+ hostRef.$flags$ &= -517;
1148
+ }
1149
+ };
1150
+ var appDidLoad = (who) => {
1151
+ nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1152
+ };
1153
+ var safeCall = (instance, method, arg, elm) => {
1154
+ if (instance && instance[method]) {
1155
+ try {
1156
+ return instance[method](arg);
1157
+ } catch (e) {
1158
+ consoleError(e, elm);
1159
+ }
1160
+ }
1161
+ return void 0;
1162
+ };
1163
+ var addHydratedFlag = (elm) => {
1164
+ var _a;
1165
+ return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
1166
+ };
1167
+
1168
+ // src/runtime/set-value.ts
1169
+ var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1170
+ var setValue = (ref, propName, newVal, cmpMeta) => {
1171
+ const hostRef = getHostRef(ref);
1172
+ if (!hostRef) {
1173
+ return;
1174
+ }
1175
+ if (!hostRef) {
1176
+ throw new Error(
1177
+ `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
1178
+ );
1179
+ }
1180
+ const elm = hostRef.$hostElement$ ;
1181
+ const oldVal = hostRef.$instanceValues$.get(propName);
1182
+ const flags = hostRef.$flags$;
1183
+ const instance = hostRef.$lazyInstance$ ;
1184
+ newVal = parsePropertyValue(
1185
+ newVal,
1186
+ cmpMeta.$members$[propName][0]);
1187
+ const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1188
+ const didValueChange = newVal !== oldVal && !areBothNaN;
1189
+ if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
1190
+ hostRef.$instanceValues$.set(propName, newVal);
1191
+ if (cmpMeta.$watchers$) {
1192
+ const watchMethods = cmpMeta.$watchers$[propName];
1193
+ if (watchMethods) {
1194
+ watchMethods.map((watcher) => {
1195
+ try {
1196
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
1197
+ if (flags & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */) {
1198
+ if (!instance) {
1199
+ hostRef.$fetchedCbList$.push(() => {
1200
+ hostRef.$lazyInstance$[watchMethodName](newVal, oldVal, propName);
1201
+ });
1202
+ } else {
1203
+ instance[watchMethodName](newVal, oldVal, propName);
1204
+ }
1205
+ }
1206
+ } catch (e) {
1207
+ consoleError(e, elm);
1208
+ }
1209
+ });
1210
+ }
1211
+ }
1212
+ if (flags & 2 /* hasRendered */) {
1213
+ if (instance.componentShouldUpdate) {
1214
+ const shouldUpdate = instance.componentShouldUpdate(newVal, oldVal, propName);
1215
+ if (shouldUpdate === false && !(flags & 16 /* isQueuedForUpdate */)) {
1216
+ return;
1217
+ }
1218
+ }
1219
+ if (!(flags & 16 /* isQueuedForUpdate */)) {
1220
+ scheduleUpdate(hostRef, false);
1221
+ }
1222
+ }
1223
+ }
1224
+ };
1225
+ var proxyComponent = (Cstr, cmpMeta, flags) => {
1226
+ var _a, _b;
1227
+ const prototype = Cstr.prototype;
1228
+ if (cmpMeta.$members$ || BUILD.propChangeCallback) {
1229
+ {
1230
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1231
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
1232
+ }
1233
+ if (Cstr.deserializers && !cmpMeta.$deserializers$) {
1234
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1235
+ }
1236
+ if (Cstr.serializers && !cmpMeta.$serializers$) {
1237
+ cmpMeta.$serializers$ = Cstr.serializers;
1238
+ }
1239
+ }
1240
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1241
+ members.map(([memberName, [memberFlags]]) => {
1242
+ if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1243
+ const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
1244
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1245
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1246
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
1247
+ Object.defineProperty(prototype, memberName, {
1248
+ get() {
1249
+ {
1250
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
1251
+ return getValue(this, memberName);
1252
+ }
1253
+ const ref = getHostRef(this);
1254
+ const instance = ref ? ref.$lazyInstance$ : prototype;
1255
+ if (!instance) return;
1256
+ return instance[memberName];
1257
+ }
1258
+ },
1259
+ configurable: true,
1260
+ enumerable: true
1261
+ });
1262
+ }
1263
+ Object.defineProperty(prototype, memberName, {
1264
+ set(newValue) {
1265
+ const ref = getHostRef(this);
1266
+ if (!ref) {
1267
+ return;
1268
+ }
1269
+ if (origSetter) {
1270
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1271
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1272
+ newValue = ref.$instanceValues$.get(memberName);
1273
+ }
1274
+ origSetter.apply(this, [
1275
+ parsePropertyValue(
1276
+ newValue,
1277
+ memberFlags)
1278
+ ]);
1279
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1280
+ setValue(this, memberName, newValue, cmpMeta);
1281
+ return;
1282
+ }
1283
+ {
1284
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
1285
+ setValue(this, memberName, newValue, cmpMeta);
1286
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
1287
+ ref.$fetchedCbList$.push(() => {
1288
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
1289
+ ref.$lazyInstance$[memberName] = newValue;
1290
+ }
1291
+ });
1292
+ }
1293
+ return;
1294
+ }
1295
+ const setterSetVal = () => {
1296
+ const currentValue = ref.$lazyInstance$[memberName];
1297
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1298
+ ref.$instanceValues$.set(memberName, currentValue);
1299
+ }
1300
+ ref.$lazyInstance$[memberName] = parsePropertyValue(
1301
+ newValue,
1302
+ memberFlags);
1303
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1304
+ };
1305
+ if (ref.$lazyInstance$) {
1306
+ setterSetVal();
1307
+ } else {
1308
+ ref.$fetchedCbList$.push(() => {
1309
+ setterSetVal();
1310
+ });
1311
+ }
1312
+ }
1313
+ }
1314
+ });
1315
+ } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1316
+ Object.defineProperty(prototype, memberName, {
1317
+ value(...args) {
1318
+ var _a2;
1319
+ const ref = getHostRef(this);
1320
+ return (_a2 = ref == null ? void 0 : ref.$onInstancePromise$) == null ? void 0 : _a2.then(() => {
1321
+ var _a3;
1322
+ return (_a3 = ref.$lazyInstance$) == null ? void 0 : _a3[memberName](...args);
1323
+ });
1324
+ }
1325
+ });
1326
+ }
1327
+ });
1328
+ if ((flags & 1 /* isElementConstructor */)) {
1329
+ const attrNameToPropName = /* @__PURE__ */ new Map();
1330
+ prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {
1331
+ plt.jmp(() => {
1332
+ var _a2;
1333
+ const propName = attrNameToPropName.get(attrName);
1334
+ const hostRef = getHostRef(this);
1335
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1336
+ newValue = this[propName];
1337
+ delete this[propName];
1338
+ }
1339
+ if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
1340
+ this[propName] == newValue) {
1341
+ return;
1342
+ } else if (propName == null) {
1343
+ const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
1344
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && newValue !== oldValue) {
1345
+ const instance = hostRef.$lazyInstance$ ;
1346
+ const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
1347
+ entry == null ? void 0 : entry.forEach((watcher) => {
1348
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
1349
+ if (instance[watchMethodName] != null && (flags2 & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */)) {
1350
+ instance[watchMethodName].call(instance, newValue, oldValue, attrName);
1351
+ }
1352
+ });
1353
+ }
1354
+ return;
1355
+ }
1356
+ const propFlags = members.find(([m]) => m === propName);
1357
+ const propMemberFlags = propFlags ? propFlags[1][0] : 0;
1358
+ const isBooleanTarget = propMemberFlags & 4 /* Boolean */;
1359
+ const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
1360
+ if (isBooleanTarget) {
1361
+ newValue = newValue === null || newValue === "false" ? false : true;
1362
+ }
1363
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1364
+ if (!isSpuriousBooleanRemoval && newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
1365
+ this[propName] = newValue;
1366
+ }
1367
+ });
1368
+ };
1369
+ Cstr.observedAttributes = Array.from(
1370
+ /* @__PURE__ */ new Set([
1371
+ ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
1372
+ ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
1373
+ const attrName = m[1] || propName;
1374
+ attrNameToPropName.set(attrName, propName);
1375
+ return attrName;
1376
+ })
1377
+ ])
1378
+ );
1379
+ }
1380
+ }
1381
+ return Cstr;
1382
+ };
1383
+
1384
+ // src/runtime/initialize-component.ts
1385
+ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1386
+ var _a;
1387
+ let Cstr;
1388
+ try {
1389
+ if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1390
+ hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1391
+ hostRef.$flags$ &= -1025 /* hasFailedLoad */;
1392
+ const bundleId = cmpMeta.$lazyBundleId$;
1393
+ if (bundleId) {
1394
+ const CstrImport = loadModule(cmpMeta, hostRef);
1395
+ if (CstrImport && "then" in CstrImport) {
1396
+ const endLoad = uniqueTime();
1397
+ Cstr = await CstrImport;
1398
+ endLoad();
1399
+ } else {
1400
+ Cstr = CstrImport;
1401
+ }
1402
+ if (!Cstr) {
1403
+ hostRef.$flags$ &= -33 /* hasInitializedComponent */;
1404
+ hostRef.$loadRetryCount$ = ((_a = hostRef.$loadRetryCount$) != null ? _a : 0) + 1;
1405
+ if (hostRef.$loadRetryCount$ < MAX_LAZY_LOAD_RETRIES) {
1406
+ hostRef.$flags$ |= 1024 /* hasFailedLoad */;
1407
+ }
1408
+ throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1409
+ }
1410
+ if (!Cstr.isProxied) {
1411
+ {
1412
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
1413
+ cmpMeta.$serializers$ = Cstr.serializers;
1414
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1415
+ }
1416
+ proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1417
+ Cstr.isProxied = true;
1418
+ }
1419
+ const endNewInstance = createTime("createInstance", cmpMeta.$tagName$);
1420
+ {
1421
+ hostRef.$flags$ |= 8 /* isConstructingInstance */;
1422
+ }
1423
+ try {
1424
+ new Cstr(hostRef);
1425
+ } catch (e) {
1426
+ consoleError(e, elm);
1427
+ }
1428
+ {
1429
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
1430
+ }
1431
+ {
1432
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1433
+ }
1434
+ endNewInstance();
1435
+ {
1436
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1437
+ }
1438
+ } else {
1439
+ Cstr = elm.constructor;
1440
+ const cmpTag = elm.localName;
1441
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1442
+ }
1443
+ if (Cstr && Cstr.style) {
1444
+ let style;
1445
+ if (typeof Cstr.style === "string") {
1446
+ style = Cstr.style;
1447
+ }
1448
+ const scopeId2 = getScopeId(cmpMeta);
1449
+ if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
1450
+ const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
1451
+ registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1452
+ endRegisterStyles();
1453
+ }
1454
+ }
1455
+ }
1456
+ const ancestorComponent = hostRef.$ancestorComponent$;
1457
+ const schedule = () => scheduleUpdate(hostRef, true);
1458
+ if (ancestorComponent && ancestorComponent["s-rc"]) {
1459
+ ancestorComponent["s-rc"].push(schedule);
1460
+ } else {
1461
+ schedule();
1462
+ }
1463
+ } catch (e) {
1464
+ consoleError(e, elm);
1465
+ if (hostRef.$onRenderResolve$) {
1466
+ hostRef.$onRenderResolve$();
1467
+ hostRef.$onRenderResolve$ = void 0;
1468
+ }
1469
+ if (hostRef.$onReadyResolve$ && !(hostRef.$flags$ & 1024 /* hasFailedLoad */)) {
1470
+ hostRef.$onReadyResolve$(elm);
1471
+ }
1472
+ }
1473
+ };
1474
+ var fireConnectedCallback = (instance, elm) => {
1475
+ {
1476
+ safeCall(instance, "connectedCallback", void 0, elm);
1477
+ }
1478
+ };
1479
+
1480
+ // src/runtime/connected-callback.ts
1481
+ var connectedCallback = (elm) => {
1482
+ if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1483
+ const hostRef = getHostRef(elm);
1484
+ if (!hostRef) {
1485
+ return;
1486
+ }
1487
+ const cmpMeta = hostRef.$cmpMeta$;
1488
+ const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1489
+ if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1490
+ hostRef.$flags$ |= 1 /* hasConnected */;
1491
+ {
1492
+ let ancestorComponent = elm;
1493
+ while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
1494
+ if (ancestorComponent["s-p"]) {
1495
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);
1496
+ break;
1497
+ }
1498
+ }
1499
+ }
1500
+ if (cmpMeta.$members$) {
1501
+ Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1502
+ if (memberFlags & 31 /* Prop */ && Object.prototype.hasOwnProperty.call(elm, memberName)) {
1503
+ const value = elm[memberName];
1504
+ delete elm[memberName];
1505
+ elm[memberName] = value;
1506
+ }
1507
+ });
1508
+ }
1509
+ {
1510
+ initializeComponent(elm, hostRef, cmpMeta);
1511
+ }
1512
+ } else {
1513
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1514
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1515
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1516
+ } else if (hostRef.$flags$ & 1024 /* hasFailedLoad */) {
1517
+ setTimeout(() => initializeComponent(elm, hostRef, cmpMeta), LAZY_LOAD_RETRY_INTERVAL_MS);
1518
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1519
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1520
+ }
1521
+ }
1522
+ endConnected();
1523
+ }
1524
+ };
1525
+ var disconnectInstance = (instance, elm) => {
1526
+ {
1527
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1528
+ }
1529
+ };
1530
+ var disconnectedCallback = async (elm) => {
1531
+ if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1532
+ const hostRef = getHostRef(elm);
1533
+ {
1534
+ if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
1535
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
1536
+ hostRef.$rmListeners$ = void 0;
1537
+ }
1538
+ }
1539
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1540
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1541
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1542
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1543
+ }
1544
+ }
1545
+ if (rootAppliedStyles.has(elm)) {
1546
+ rootAppliedStyles.delete(elm);
1547
+ }
1548
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
1549
+ rootAppliedStyles.delete(elm.shadowRoot);
1550
+ }
1551
+ };
1552
+
1553
+ // src/runtime/bootstrap-lazy.ts
1554
+ var bootstrapLazy = (lazyBundles, options = {}) => {
1555
+ var _a;
1556
+ if (!win.document) {
1557
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
1558
+ return;
1559
+ }
1560
+ const endBootstrap = createTime();
1561
+ const cmpTags = [];
1562
+ const exclude = options.exclude || [];
1563
+ const customElements2 = win.customElements;
1564
+ const head = win.document.head;
1565
+ const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
1566
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
1567
+ const deferredConnectedCallbacks = [];
1568
+ let appLoadFallback;
1569
+ let isBootstrapping = true;
1570
+ Object.assign(plt, options);
1571
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1572
+ lazyBundles.map((lazyBundle) => {
1573
+ lazyBundle[1].map((compactMeta) => {
1574
+ var _a2, _b;
1575
+ const cmpMeta = {
1576
+ $flags$: compactMeta[0],
1577
+ $tagName$: compactMeta[1],
1578
+ $members$: compactMeta[2],
1579
+ $listeners$: compactMeta[3]
1580
+ };
1581
+ {
1582
+ cmpMeta.$members$ = compactMeta[2];
1583
+ }
1584
+ {
1585
+ cmpMeta.$listeners$ = compactMeta[3];
1586
+ }
1587
+ {
1588
+ cmpMeta.$watchers$ = normalizeWatchers(compactMeta[4]);
1589
+ cmpMeta.$serializers$ = (_a2 = compactMeta[5]) != null ? _a2 : {};
1590
+ cmpMeta.$deserializers$ = (_b = compactMeta[6]) != null ? _b : {};
1591
+ }
1592
+ const tagName = transformTag(cmpMeta.$tagName$);
1593
+ const HostElement = class extends HTMLElement {
1594
+ ["s-p"];
1595
+ ["s-rc"];
1596
+ hasRegisteredEventListeners = false;
1597
+ // StencilLazyHost
1598
+ constructor(self) {
1599
+ super(self);
1600
+ self = this;
1601
+ registerHost(self, cmpMeta);
1602
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1603
+ {
1604
+ if (!self.shadowRoot) {
1605
+ createShadowRoot.call(self, cmpMeta);
1606
+ } else {
1607
+ if (self.shadowRoot.mode !== "open") {
1608
+ throw new Error(
1609
+ `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${self.shadowRoot.mode} but Stencil only supports open shadow roots.`
1610
+ );
1611
+ }
1612
+ }
1613
+ }
1614
+ }
1615
+ }
1616
+ connectedCallback() {
1617
+ const hostRef = getHostRef(this);
1618
+ if (!hostRef) {
1619
+ return;
1620
+ }
1621
+ if (!this.hasRegisteredEventListeners) {
1622
+ this.hasRegisteredEventListeners = true;
1623
+ addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
1624
+ }
1625
+ if (appLoadFallback) {
1626
+ clearTimeout(appLoadFallback);
1627
+ appLoadFallback = null;
1628
+ }
1629
+ if (isBootstrapping) {
1630
+ deferredConnectedCallbacks.push(this);
1631
+ } else {
1632
+ plt.jmp(() => connectedCallback(this));
1633
+ }
1634
+ }
1635
+ disconnectedCallback() {
1636
+ plt.jmp(() => disconnectedCallback(this));
1637
+ nextTick(() => {
1638
+ var _a3;
1639
+ const hostRef = getHostRef(this);
1640
+ if (!hostRef) {
1641
+ return;
1642
+ }
1643
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
1644
+ if (i2 > -1) {
1645
+ deferredConnectedCallbacks.splice(i2, 1);
1646
+ }
1647
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
1648
+ delete hostRef.$vnode$.$elm$;
1649
+ }
1650
+ });
1651
+ }
1652
+ componentOnReady() {
1653
+ var _a3;
1654
+ return (_a3 = getHostRef(this)) == null ? void 0 : _a3.$onReadyPromise$;
1655
+ }
1656
+ };
1657
+ cmpMeta.$lazyBundleId$ = lazyBundle[0];
1658
+ if (!exclude.includes(tagName) && !customElements2.get(tagName)) {
1659
+ cmpTags.push(tagName);
1660
+ customElements2.define(
1661
+ tagName,
1662
+ proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */)
1663
+ );
1664
+ }
1665
+ });
1666
+ });
1667
+ if (cmpTags.length > 0) {
1668
+ {
1669
+ dataStyles.textContent += cmpTags.sort() + HYDRATED_CSS;
1670
+ }
1671
+ if (dataStyles.innerHTML.length) {
1672
+ dataStyles.setAttribute("data-styles", "");
1673
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1674
+ if (nonce != null) {
1675
+ dataStyles.setAttribute("nonce", nonce);
1676
+ }
1677
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1678
+ }
1679
+ }
1680
+ isBootstrapping = false;
1681
+ if (deferredConnectedCallbacks.length) {
1682
+ deferredConnectedCallbacks.map((host) => host.connectedCallback());
1683
+ } else {
1684
+ {
1685
+ plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30));
1686
+ }
1687
+ }
1688
+ endBootstrap();
1689
+ };
1690
+ var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1691
+ if (listeners && win.document) {
1692
+ listeners.map(([flags, name, method]) => {
1693
+ const target = getHostListenerTarget(win.document, elm, flags) ;
1694
+ const handler = hostListenerProxy(hostRef, method);
1695
+ const opts = hostListenerOpts(flags);
1696
+ plt.ael(target, name, handler, opts);
1697
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
1698
+ });
1699
+ }
1700
+ };
1701
+ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1702
+ var _a;
1703
+ try {
1704
+ {
1705
+ if (hostRef.$flags$ & 256 /* isListenReady */) {
1706
+ (_a = hostRef.$lazyInstance$) == null ? void 0 : _a[methodName](ev);
1707
+ } else {
1708
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
1709
+ }
1710
+ }
1711
+ } catch (e) {
1712
+ consoleError(e, hostRef.$hostElement$);
1713
+ }
1714
+ };
1715
+ var getHostListenerTarget = (doc, elm, flags) => {
1716
+ if (flags & 4 /* TargetDocument */) {
1717
+ return doc;
1718
+ }
1719
+ if (flags & 8 /* TargetWindow */) {
1720
+ return win;
1721
+ }
1722
+ return elm;
1723
+ };
1724
+ var hostListenerOpts = (flags) => supportsListenerOptions ? {
1725
+ passive: (flags & 1 /* Passive */) !== 0,
1726
+ capture: (flags & 2 /* Capture */) !== 0
1727
+ } : (flags & 2 /* Capture */) !== 0;
1728
+
1729
+ // src/runtime/nonce.ts
1730
+ var setNonce = (nonce) => plt.$nonce$ = nonce;
1731
+ function transformTag(tag) {
1732
+ return tag;
1733
+ }
1734
+
1735
+ exports.Host = Host;
1736
+ exports.bootstrapLazy = bootstrapLazy;
1737
+ exports.createEvent = createEvent;
1738
+ exports.getElement = getElement;
1739
+ exports.h = h;
1740
+ exports.promiseResolve = promiseResolve;
1741
+ exports.registerInstance = registerInstance;
1742
+ exports.setNonce = setNonce;