@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,1469 @@
1
+ const NAMESPACE = 'stencil';
2
+ const BUILD = /* stencil */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: false, state: true, updatable: true};
3
+
4
+ /*
5
+ Stencil Client Platform v4.44.2 | MIT Licensed | https://stenciljs.com
6
+ */
7
+
8
+
9
+ // src/utils/constants.ts
10
+ var SVG_NS = "http://www.w3.org/2000/svg";
11
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
12
+
13
+ // src/utils/get-prop-descriptor.ts
14
+ function getPropertyDescriptor(obj, memberName, getOnly) {
15
+ const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
16
+ while (obj && obj !== stopAt) {
17
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
18
+ if (desc && (!getOnly || desc.get)) return desc;
19
+ obj = Object.getPrototypeOf(obj);
20
+ }
21
+ return void 0;
22
+ }
23
+
24
+ // src/utils/es2022-rewire-class-members.ts
25
+ var reWireGetterSetter = (instance, hostRef) => {
26
+ var _a;
27
+ const cmpMeta = hostRef.$cmpMeta$;
28
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
29
+ members.map(([memberName, [memberFlags]]) => {
30
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
31
+ const ogValue = instance[memberName];
32
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
33
+ if (ogDescriptor) {
34
+ Object.defineProperty(instance, memberName, {
35
+ get() {
36
+ return ogDescriptor.get.call(this);
37
+ },
38
+ set(newValue) {
39
+ ogDescriptor.set.call(this, newValue);
40
+ },
41
+ configurable: true,
42
+ enumerable: true
43
+ });
44
+ }
45
+ if (hostRef.$instanceValues$.has(memberName)) {
46
+ instance[memberName] = hostRef.$instanceValues$.get(memberName);
47
+ } else if (ogValue !== void 0) {
48
+ instance[memberName] = ogValue;
49
+ }
50
+ }
51
+ });
52
+ };
53
+
54
+ // src/client/client-host-ref.ts
55
+ var getHostRef = (ref) => {
56
+ if (ref.__stencil__getHostRef) {
57
+ return ref.__stencil__getHostRef();
58
+ }
59
+ return void 0;
60
+ };
61
+ var registerHost = (hostElement, cmpMeta) => {
62
+ const hostRef = {
63
+ $flags$: 0,
64
+ $hostElement$: hostElement,
65
+ $cmpMeta$: cmpMeta,
66
+ $instanceValues$: /* @__PURE__ */ new Map(),
67
+ $serializerValues$: /* @__PURE__ */ new Map()
68
+ };
69
+ {
70
+ hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
71
+ hostElement["s-p"] = [];
72
+ hostElement["s-rc"] = [];
73
+ }
74
+ const ref = hostRef;
75
+ hostElement.__stencil__getHostRef = () => ref;
76
+ if (cmpMeta.$flags$ & 512 /* hasModernPropertyDecls */ && (BUILD.state)) {
77
+ reWireGetterSetter(hostElement, hostRef);
78
+ }
79
+ return ref;
80
+ };
81
+ var isMemberInElement = (elm, memberName) => memberName in elm;
82
+ var consoleError = (e, el) => (0, console.error)(e, el);
83
+
84
+ // src/client/client-style.ts
85
+ var styles = /* @__PURE__ */ new Map();
86
+ var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
87
+ var LAZY_LOAD_RETRY_INTERVAL_MS = 1e3;
88
+ var win = typeof window !== "undefined" ? window : {};
89
+ var H = win.HTMLElement || class {
90
+ };
91
+ var plt = {
92
+ $flags$: 0,
93
+ $resourcesUrl$: "",
94
+ jmp: (h2) => h2(),
95
+ raf: (h2) => requestAnimationFrame(h2),
96
+ ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
97
+ rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
98
+ ce: (eventName, opts) => new CustomEvent(eventName, opts)
99
+ };
100
+ var supportsListenerOptions = /* @__PURE__ */ (() => {
101
+ var _a;
102
+ let supportsListenerOptions2 = false;
103
+ try {
104
+ (_a = win.document) == null ? void 0 : _a.addEventListener(
105
+ "e",
106
+ null,
107
+ Object.defineProperty({}, "passive", {
108
+ get() {
109
+ supportsListenerOptions2 = true;
110
+ }
111
+ })
112
+ );
113
+ } catch (e) {
114
+ }
115
+ return supportsListenerOptions2;
116
+ })();
117
+ var promiseResolve = (v) => Promise.resolve(v);
118
+ var supportsConstructableStylesheets = /* @__PURE__ */ (() => {
119
+ try {
120
+ if (!win.document.adoptedStyleSheets) {
121
+ return false;
122
+ }
123
+ new CSSStyleSheet();
124
+ return typeof new CSSStyleSheet().replaceSync === "function";
125
+ } catch (e) {
126
+ }
127
+ return false;
128
+ })() ;
129
+ var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false;
130
+ var queuePending = false;
131
+ var queueDomReads = [];
132
+ var queueDomWrites = [];
133
+ var scheduleFlush = () => {
134
+ var _a;
135
+ return ((_a = win.document) == null ? void 0 : _a.hidden) ? nextTick(flush) : plt.raf(flush);
136
+ };
137
+ var queueTask = (queue, write) => (cb) => {
138
+ queue.push(cb);
139
+ if (!queuePending) {
140
+ queuePending = true;
141
+ if (write && plt.$flags$ & 4 /* queueSync */) {
142
+ nextTick(flush);
143
+ } else {
144
+ scheduleFlush();
145
+ }
146
+ }
147
+ };
148
+ var consume = (queue) => {
149
+ for (let i2 = 0; i2 < queue.length; i2++) {
150
+ try {
151
+ queue[i2](performance.now());
152
+ } catch (e) {
153
+ consoleError(e);
154
+ }
155
+ }
156
+ queue.length = 0;
157
+ };
158
+ var flush = () => {
159
+ consume(queueDomReads);
160
+ {
161
+ consume(queueDomWrites);
162
+ if (queuePending = queueDomReads.length > 0) {
163
+ scheduleFlush();
164
+ }
165
+ }
166
+ };
167
+ var nextTick = (cb) => promiseResolve().then(cb);
168
+ var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
169
+
170
+ // src/runtime/asset-path.ts
171
+ var getAssetPath = (path) => {
172
+ const assetUrl = new URL(path, plt.$resourcesUrl$);
173
+ return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
174
+ };
175
+ var setAssetPath = (path) => plt.$resourcesUrl$ = path;
176
+
177
+ // src/utils/style.ts
178
+ function createStyleSheetIfNeededAndSupported(styles2) {
179
+ return void 0;
180
+ }
181
+
182
+ // src/utils/shadow-root.ts
183
+ var globalStyleSheet;
184
+ function createShadowRoot(cmpMeta) {
185
+ var _a;
186
+ const opts = { mode: "open" };
187
+ const shadowRoot = this.attachShadow(opts);
188
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
189
+ if (globalStyleSheet) {
190
+ if (supportsMutableAdoptedStyleSheets) {
191
+ shadowRoot.adoptedStyleSheets.push(globalStyleSheet);
192
+ } else {
193
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
194
+ }
195
+ }
196
+ }
197
+ var createTime = (fnName, tagName = "") => {
198
+ {
199
+ return () => {
200
+ return;
201
+ };
202
+ }
203
+ };
204
+
205
+ // src/utils/query-nonce-meta-tag-content.ts
206
+ function queryNonceMetaTagContent(doc) {
207
+ var _a, _b, _c;
208
+ 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;
209
+ }
210
+
211
+ // src/runtime/styles.ts
212
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
213
+ var registerStyle = (scopeId2, cssText, allowCS) => {
214
+ let style = styles.get(scopeId2);
215
+ if (supportsConstructableStylesheets && allowCS) {
216
+ style = style || new CSSStyleSheet();
217
+ if (typeof style === "string") {
218
+ style = cssText;
219
+ } else {
220
+ style.replaceSync(cssText);
221
+ }
222
+ } else {
223
+ style = cssText;
224
+ }
225
+ styles.set(scopeId2, style);
226
+ };
227
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
228
+ var _a, _b, _c;
229
+ const scopeId2 = getScopeId(cmpMeta);
230
+ const style = styles.get(scopeId2);
231
+ if (!win.document) {
232
+ return scopeId2;
233
+ }
234
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
235
+ if (style) {
236
+ if (typeof style === "string") {
237
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
238
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
239
+ let styleElm;
240
+ if (!appliedStyles) {
241
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
242
+ }
243
+ if (!appliedStyles.has(scopeId2)) {
244
+ styleElm = win.document.createElement("style");
245
+ styleElm.textContent = style;
246
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
247
+ if (nonce != null) {
248
+ styleElm.setAttribute("nonce", nonce);
249
+ }
250
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
251
+ if (styleContainerNode.nodeName === "HEAD") {
252
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
253
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
254
+ styleContainerNode.insertBefore(
255
+ styleElm,
256
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
257
+ );
258
+ } else if ("host" in styleContainerNode) {
259
+ if (supportsConstructableStylesheets) {
260
+ const currentWindow = (_b = styleContainerNode.defaultView) != null ? _b : styleContainerNode.ownerDocument.defaultView;
261
+ const stylesheet = new currentWindow.CSSStyleSheet();
262
+ stylesheet.replaceSync(style);
263
+ if (supportsMutableAdoptedStyleSheets) {
264
+ styleContainerNode.adoptedStyleSheets.unshift(stylesheet);
265
+ } else {
266
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
267
+ }
268
+ } else {
269
+ const existingStyleContainer = styleContainerNode.querySelector("style");
270
+ if (existingStyleContainer && true) {
271
+ existingStyleContainer.textContent = style + existingStyleContainer.textContent;
272
+ } else {
273
+ styleContainerNode.prepend(styleElm);
274
+ }
275
+ }
276
+ } else {
277
+ styleContainerNode.append(styleElm);
278
+ }
279
+ }
280
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
281
+ styleContainerNode.insertBefore(styleElm, null);
282
+ }
283
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
284
+ styleElm.textContent += SLOT_FB_CSS;
285
+ }
286
+ if (appliedStyles) {
287
+ appliedStyles.add(scopeId2);
288
+ }
289
+ }
290
+ } else {
291
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
292
+ if (!appliedStyles) {
293
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
294
+ }
295
+ if (!appliedStyles.has(scopeId2)) {
296
+ const currentWindow = (_c = styleContainerNode.defaultView) != null ? _c : styleContainerNode.ownerDocument.defaultView;
297
+ let stylesheet;
298
+ if (style.constructor === currentWindow.CSSStyleSheet) {
299
+ stylesheet = style;
300
+ } else {
301
+ stylesheet = new currentWindow.CSSStyleSheet();
302
+ for (let i2 = 0; i2 < style.cssRules.length; i2++) {
303
+ stylesheet.insertRule(style.cssRules[i2].cssText, i2);
304
+ }
305
+ }
306
+ if (supportsMutableAdoptedStyleSheets) {
307
+ styleContainerNode.adoptedStyleSheets.push(stylesheet);
308
+ } else {
309
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, stylesheet];
310
+ }
311
+ appliedStyles.add(scopeId2);
312
+ }
313
+ }
314
+ }
315
+ return scopeId2;
316
+ };
317
+ var attachStyles = (hostRef) => {
318
+ const cmpMeta = hostRef.$cmpMeta$;
319
+ const elm = hostRef.$hostElement$;
320
+ const flags = cmpMeta.$flags$;
321
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
322
+ const scopeId2 = addStyle(
323
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
324
+ cmpMeta);
325
+ if (flags & 10 /* needsScopedEncapsulation */) {
326
+ elm["s-sc"] = scopeId2;
327
+ elm.classList.add(scopeId2 + "-h");
328
+ }
329
+ endAttachStyles();
330
+ };
331
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
332
+ var isComplexType = (o) => {
333
+ o = typeof o;
334
+ return o === "object" || o === "function";
335
+ };
336
+
337
+ // src/runtime/vdom/h.ts
338
+ var h = (nodeName, vnodeData, ...children) => {
339
+ if (typeof nodeName === "string") {
340
+ nodeName = transformTag(nodeName);
341
+ }
342
+ let child = null;
343
+ let key = null;
344
+ let simple = false;
345
+ let lastSimple = false;
346
+ const vNodeChildren = [];
347
+ const walk = (c) => {
348
+ for (let i2 = 0; i2 < c.length; i2++) {
349
+ child = c[i2];
350
+ if (Array.isArray(child)) {
351
+ walk(child);
352
+ } else if (child != null && typeof child !== "boolean") {
353
+ if (simple = typeof nodeName !== "function" && !isComplexType(child)) {
354
+ child = String(child);
355
+ } else if (typeof nodeName !== "function" && child.$flags$ === void 0) {
356
+ {
357
+ consoleError("Invalid vNode child");
358
+ }
359
+ continue;
360
+ }
361
+ if (simple && lastSimple) {
362
+ vNodeChildren[vNodeChildren.length - 1].$text$ += child;
363
+ } else {
364
+ vNodeChildren.push(simple ? newVNode(null, child) : child);
365
+ }
366
+ lastSimple = simple;
367
+ }
368
+ }
369
+ };
370
+ walk(children);
371
+ if (vnodeData) {
372
+ if (vnodeData.key) {
373
+ key = vnodeData.key;
374
+ }
375
+ {
376
+ const classData = vnodeData.className || vnodeData.class;
377
+ if (classData) {
378
+ vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" ");
379
+ }
380
+ }
381
+ }
382
+ const vnode = newVNode(nodeName, null);
383
+ vnode.$attrs$ = vnodeData;
384
+ if (vNodeChildren.length > 0) {
385
+ vnode.$children$ = vNodeChildren;
386
+ }
387
+ {
388
+ vnode.$key$ = key;
389
+ }
390
+ return vnode;
391
+ };
392
+ var newVNode = (tag, text) => {
393
+ const vnode = {
394
+ $flags$: 0,
395
+ $tag$: tag,
396
+ // Normalize undefined to null to prevent rendering "undefined" as text
397
+ $text$: text != null ? text : null,
398
+ $elm$: null,
399
+ $children$: null
400
+ };
401
+ {
402
+ vnode.$attrs$ = null;
403
+ }
404
+ {
405
+ vnode.$key$ = null;
406
+ }
407
+ return vnode;
408
+ };
409
+ var Host = {};
410
+ var isHost = (node) => node && node.$tag$ === Host;
411
+
412
+ // src/runtime/normalize-watchers.ts
413
+ var normalizeWatchers = (raw) => {
414
+ if (!raw) return void 0;
415
+ const keys = Object.keys(raw);
416
+ if (keys.length === 0) return void 0;
417
+ let hasLegacy = false;
418
+ for (const propName of keys) {
419
+ if (hasLegacy) break;
420
+ for (const h2 of raw[propName]) {
421
+ if (typeof h2 === "string") {
422
+ hasLegacy = true;
423
+ break;
424
+ }
425
+ }
426
+ }
427
+ if (!hasLegacy) return raw;
428
+ const out = {};
429
+ for (const propName of keys) {
430
+ out[propName] = raw[propName].map(
431
+ (h2) => typeof h2 === "string" ? { [h2]: 0 } : h2
432
+ );
433
+ }
434
+ return out;
435
+ };
436
+
437
+ // src/runtime/parse-property-value.ts
438
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
439
+ if (propValue != null && !isComplexType(propValue)) {
440
+ if (propType & 4 /* Boolean */) {
441
+ {
442
+ return propValue === "false" ? false : propValue === "" || !!propValue;
443
+ }
444
+ }
445
+ if (propType & 2 /* Number */) {
446
+ return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
447
+ }
448
+ if (propType & 1 /* String */) {
449
+ return String(propValue);
450
+ }
451
+ return propValue;
452
+ }
453
+ return propValue;
454
+ };
455
+ var getElement = (ref) => {
456
+ return ref;
457
+ };
458
+
459
+ // src/runtime/event-emitter.ts
460
+ var createEvent = (ref, name, flags) => {
461
+ const elm = getElement(ref);
462
+ return {
463
+ emit: (detail) => {
464
+ return emitEvent(elm, name, {
465
+ bubbles: true,
466
+ composed: true,
467
+ cancelable: true,
468
+ detail
469
+ });
470
+ }
471
+ };
472
+ };
473
+ var emitEvent = (elm, name, opts) => {
474
+ const ev = plt.ce(name, opts);
475
+ elm.dispatchEvent(ev);
476
+ return ev;
477
+ };
478
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
479
+ if (oldValue === newValue) {
480
+ return;
481
+ }
482
+ let isProp = isMemberInElement(elm, memberName);
483
+ let ln = memberName.toLowerCase();
484
+ if (memberName === "class") {
485
+ const classList = elm.classList;
486
+ const oldClasses = parseClassList(oldValue);
487
+ let newClasses = parseClassList(newValue);
488
+ {
489
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
490
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
491
+ }
492
+ } else if (memberName === "style") {
493
+ {
494
+ for (const prop in oldValue) {
495
+ if (!newValue || newValue[prop] == null) {
496
+ if (prop.includes("-")) {
497
+ elm.style.removeProperty(prop);
498
+ } else {
499
+ elm.style[prop] = "";
500
+ }
501
+ }
502
+ }
503
+ }
504
+ for (const prop in newValue) {
505
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
506
+ if (prop.includes("-")) {
507
+ elm.style.setProperty(prop, newValue[prop]);
508
+ } else {
509
+ elm.style[prop] = newValue[prop];
510
+ }
511
+ }
512
+ }
513
+ } else if (memberName === "key") ; else if (memberName === "ref") {
514
+ if (newValue) {
515
+ queueRefAttachment(newValue, elm);
516
+ }
517
+ } else if ((!elm.__lookupSetter__(memberName)) && memberName[0] === "o" && memberName[1] === "n") {
518
+ if (memberName[2] === "-") {
519
+ memberName = memberName.slice(3);
520
+ } else if (isMemberInElement(win, ln)) {
521
+ memberName = ln.slice(2);
522
+ } else {
523
+ memberName = ln[2] + memberName.slice(3);
524
+ }
525
+ if (oldValue || newValue) {
526
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
527
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
528
+ if (oldValue) {
529
+ plt.rel(elm, memberName, oldValue, capture);
530
+ }
531
+ if (newValue) {
532
+ plt.ael(elm, memberName, newValue, capture);
533
+ }
534
+ }
535
+ } else if (memberName[0] === "a" && memberName.startsWith("attr:")) {
536
+ const propName = memberName.slice(5);
537
+ let attrName;
538
+ {
539
+ const hostRef = getHostRef(elm);
540
+ if (hostRef && hostRef.$cmpMeta$ && hostRef.$cmpMeta$.$members$) {
541
+ const memberMeta = hostRef.$cmpMeta$.$members$[propName];
542
+ if (memberMeta && memberMeta[1]) {
543
+ attrName = memberMeta[1];
544
+ }
545
+ }
546
+ }
547
+ if (!attrName) {
548
+ attrName = propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
549
+ }
550
+ if (newValue == null || newValue === false) {
551
+ if (newValue !== false || elm.getAttribute(attrName) === "") {
552
+ elm.removeAttribute(attrName);
553
+ }
554
+ } else {
555
+ elm.setAttribute(attrName, newValue === true ? "" : newValue);
556
+ }
557
+ return;
558
+ } else if (memberName[0] === "p" && memberName.startsWith("prop:")) {
559
+ const propName = memberName.slice(5);
560
+ try {
561
+ elm[propName] = newValue;
562
+ } catch (e) {
563
+ }
564
+ return;
565
+ } else {
566
+ const isComplex = isComplexType(newValue);
567
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
568
+ try {
569
+ if (!elm.tagName.includes("-")) {
570
+ const n = newValue == null ? "" : newValue;
571
+ if (memberName === "list") {
572
+ isProp = false;
573
+ } else if (oldValue == null || elm[memberName] !== n) {
574
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
575
+ elm[memberName] = n;
576
+ } else {
577
+ elm.setAttribute(memberName, n);
578
+ }
579
+ }
580
+ } else if (elm[memberName] !== newValue) {
581
+ elm[memberName] = newValue;
582
+ }
583
+ } catch (e) {
584
+ }
585
+ }
586
+ if (newValue == null || newValue === false) {
587
+ if (newValue !== false || elm.getAttribute(memberName) === "" || flags & 4 /* isHost */ && !isEnumeratedAttribute(memberName)) {
588
+ {
589
+ elm.removeAttribute(memberName);
590
+ }
591
+ }
592
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
593
+ newValue = newValue === true ? "" : newValue;
594
+ {
595
+ elm.setAttribute(memberName, newValue);
596
+ }
597
+ }
598
+ }
599
+ };
600
+ var ENUMERATED_ATTRIBUTES = /* @__PURE__ */ new Set(["draggable", "contenteditable", "spellcheck"]);
601
+ var isEnumeratedAttribute = (attrName) => ENUMERATED_ATTRIBUTES.has(attrName) || attrName.startsWith("aria-");
602
+ var parseClassListRegex = /\s/;
603
+ var parseClassList = (value) => {
604
+ if (typeof value === "object" && value && "baseVal" in value) {
605
+ value = value.baseVal;
606
+ }
607
+ if (!value || typeof value !== "string") {
608
+ return [];
609
+ }
610
+ return value.split(parseClassListRegex);
611
+ };
612
+ var CAPTURE_EVENT_SUFFIX = "Capture";
613
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
614
+
615
+ // src/runtime/vdom/update-element.ts
616
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
617
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
618
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
619
+ const newVnodeAttrs = newVnode.$attrs$ || {};
620
+ {
621
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
622
+ if (!(memberName in newVnodeAttrs)) {
623
+ setAccessor(
624
+ elm,
625
+ memberName,
626
+ oldVnodeAttrs[memberName],
627
+ void 0,
628
+ isSvgMode2,
629
+ newVnode.$flags$);
630
+ }
631
+ }
632
+ }
633
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
634
+ setAccessor(
635
+ elm,
636
+ memberName,
637
+ oldVnodeAttrs[memberName],
638
+ newVnodeAttrs[memberName],
639
+ isSvgMode2,
640
+ newVnode.$flags$);
641
+ }
642
+ };
643
+ function sortedAttrNames(attrNames) {
644
+ return attrNames.includes("ref") ? (
645
+ // we need to sort these to ensure that `'ref'` is the last attr
646
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
647
+ ) : (
648
+ // no need to sort, return the original array
649
+ attrNames
650
+ );
651
+ }
652
+ var hostTagName;
653
+ var isSvgMode = false;
654
+ var refCallbacksToRemove = [];
655
+ var refCallbacksToAttach = [];
656
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
657
+ const newVNode2 = newParentVNode.$children$[childIndex];
658
+ let i2 = 0;
659
+ let elm;
660
+ let childNode;
661
+ if (newVNode2.$text$ != null) {
662
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
663
+ } else {
664
+ if (!isSvgMode) {
665
+ isSvgMode = newVNode2.$tag$ === "svg";
666
+ }
667
+ if (!win.document) {
668
+ throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM.");
669
+ }
670
+ elm = newVNode2.$elm$ = win.document.createElementNS(
671
+ isSvgMode ? SVG_NS : HTML_NS,
672
+ newVNode2.$tag$
673
+ ) ;
674
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
675
+ isSvgMode = false;
676
+ }
677
+ {
678
+ updateElement(null, newVNode2, isSvgMode);
679
+ }
680
+ if (newVNode2.$children$) {
681
+ const appendTarget = newVNode2.$tag$ === "template" ? elm.content : elm;
682
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
683
+ childNode = createElm(oldParentVNode, newVNode2, i2);
684
+ if (childNode) {
685
+ appendTarget.appendChild(childNode);
686
+ }
687
+ }
688
+ }
689
+ {
690
+ if (newVNode2.$tag$ === "svg") {
691
+ isSvgMode = false;
692
+ } else if (elm.tagName === "foreignObject") {
693
+ isSvgMode = true;
694
+ }
695
+ }
696
+ }
697
+ elm["s-hn"] = hostTagName;
698
+ return elm;
699
+ };
700
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
701
+ let containerElm = parentElm;
702
+ let childNode;
703
+ if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
704
+ containerElm = containerElm.shadowRoot;
705
+ }
706
+ if (parentVNode.$tag$ === "template") {
707
+ containerElm = containerElm.content;
708
+ }
709
+ for (; startIdx <= endIdx; ++startIdx) {
710
+ if (vnodes[startIdx]) {
711
+ childNode = createElm(null, parentVNode, startIdx);
712
+ if (childNode) {
713
+ vnodes[startIdx].$elm$ = childNode;
714
+ insertBefore(containerElm, childNode, before);
715
+ }
716
+ }
717
+ }
718
+ };
719
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
720
+ for (let index = startIdx; index <= endIdx; ++index) {
721
+ const vnode = vnodes[index];
722
+ if (vnode) {
723
+ const elm = vnode.$elm$;
724
+ nullifyVNodeRefs(vnode);
725
+ if (elm) {
726
+ elm.remove();
727
+ }
728
+ }
729
+ }
730
+ };
731
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
732
+ let oldStartIdx = 0;
733
+ let newStartIdx = 0;
734
+ let idxInOld = 0;
735
+ let i2 = 0;
736
+ let oldEndIdx = oldCh.length - 1;
737
+ let oldStartVnode = oldCh[0];
738
+ let oldEndVnode = oldCh[oldEndIdx];
739
+ let newEndIdx = newCh.length - 1;
740
+ let newStartVnode = newCh[0];
741
+ let newEndVnode = newCh[newEndIdx];
742
+ let node;
743
+ let elmToMove;
744
+ const containerElm = newVNode2.$tag$ === "template" ? parentElm.content : parentElm;
745
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
746
+ if (oldStartVnode == null) {
747
+ oldStartVnode = oldCh[++oldStartIdx];
748
+ } else if (oldEndVnode == null) {
749
+ oldEndVnode = oldCh[--oldEndIdx];
750
+ } else if (newStartVnode == null) {
751
+ newStartVnode = newCh[++newStartIdx];
752
+ } else if (newEndVnode == null) {
753
+ newEndVnode = newCh[--newEndIdx];
754
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
755
+ patch(oldStartVnode, newStartVnode, isInitialRender);
756
+ oldStartVnode = oldCh[++oldStartIdx];
757
+ newStartVnode = newCh[++newStartIdx];
758
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
759
+ patch(oldEndVnode, newEndVnode, isInitialRender);
760
+ oldEndVnode = oldCh[--oldEndIdx];
761
+ newEndVnode = newCh[--newEndIdx];
762
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
763
+ patch(oldStartVnode, newEndVnode, isInitialRender);
764
+ insertBefore(containerElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
765
+ oldStartVnode = oldCh[++oldStartIdx];
766
+ newEndVnode = newCh[--newEndIdx];
767
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
768
+ patch(oldEndVnode, newStartVnode, isInitialRender);
769
+ insertBefore(containerElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
770
+ oldEndVnode = oldCh[--oldEndIdx];
771
+ newStartVnode = newCh[++newStartIdx];
772
+ } else {
773
+ idxInOld = -1;
774
+ {
775
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
776
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
777
+ idxInOld = i2;
778
+ break;
779
+ }
780
+ }
781
+ }
782
+ if (idxInOld >= 0) {
783
+ elmToMove = oldCh[idxInOld];
784
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
785
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
786
+ } else {
787
+ patch(elmToMove, newStartVnode, isInitialRender);
788
+ oldCh[idxInOld] = void 0;
789
+ node = elmToMove.$elm$;
790
+ }
791
+ newStartVnode = newCh[++newStartIdx];
792
+ } else {
793
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
794
+ newStartVnode = newCh[++newStartIdx];
795
+ }
796
+ if (node) {
797
+ {
798
+ insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
799
+ }
800
+ }
801
+ }
802
+ }
803
+ if (oldStartIdx > oldEndIdx) {
804
+ addVnodes(
805
+ parentElm,
806
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
807
+ newVNode2,
808
+ newCh,
809
+ newStartIdx,
810
+ newEndIdx
811
+ );
812
+ } else if (newStartIdx > newEndIdx) {
813
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
814
+ }
815
+ };
816
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
817
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
818
+ if (!isInitialRender) {
819
+ return leftVNode.$key$ === rightVNode.$key$;
820
+ }
821
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
822
+ leftVNode.$key$ = rightVNode.$key$;
823
+ }
824
+ return true;
825
+ }
826
+ return false;
827
+ };
828
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
829
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
830
+ const oldChildren = oldVNode.$children$;
831
+ const newChildren = newVNode2.$children$;
832
+ const tag = newVNode2.$tag$;
833
+ const text = newVNode2.$text$;
834
+ if (text == null) {
835
+ {
836
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
837
+ }
838
+ {
839
+ updateElement(oldVNode, newVNode2, isSvgMode);
840
+ }
841
+ if (oldChildren !== null && newChildren !== null) {
842
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
843
+ } else if (newChildren !== null) {
844
+ if (oldVNode.$text$ !== null) {
845
+ elm.textContent = "";
846
+ }
847
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
848
+ } else if (
849
+ // don't do this on initial render as it can cause non-hydrated content to be removed
850
+ !isInitialRender && BUILD.updatable && oldChildren !== null
851
+ ) {
852
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
853
+ } else ;
854
+ if (isSvgMode && tag === "svg") {
855
+ isSvgMode = false;
856
+ }
857
+ } else if (oldVNode.$text$ !== text) {
858
+ elm.data = text;
859
+ }
860
+ };
861
+ var nullifyVNodeRefs = (vNode) => {
862
+ {
863
+ if (vNode.$attrs$ && vNode.$attrs$.ref) {
864
+ refCallbacksToRemove.push(() => vNode.$attrs$.ref(null));
865
+ }
866
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
867
+ }
868
+ };
869
+ var queueRefAttachment = (refCallback, elm) => {
870
+ {
871
+ refCallbacksToAttach.push(() => refCallback(elm));
872
+ }
873
+ };
874
+ var flushQueuedRefCallbacks = () => {
875
+ {
876
+ refCallbacksToRemove.forEach((cb) => cb());
877
+ refCallbacksToRemove.length = 0;
878
+ refCallbacksToAttach.forEach((cb) => cb());
879
+ refCallbacksToAttach.length = 0;
880
+ }
881
+ };
882
+ var insertBefore = (parent, newNode, reference, isInitialLoad) => {
883
+ {
884
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
885
+ }
886
+ };
887
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
888
+ const hostElm = hostRef.$hostElement$;
889
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
890
+ const isHostElement = isHost(renderFnResults);
891
+ const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
892
+ hostTagName = hostElm.tagName;
893
+ if (isInitialLoad && rootVnode.$attrs$) {
894
+ for (const key of Object.keys(rootVnode.$attrs$)) {
895
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
896
+ rootVnode.$attrs$[key] = hostElm[key];
897
+ }
898
+ }
899
+ }
900
+ rootVnode.$tag$ = null;
901
+ rootVnode.$flags$ |= 4 /* isHost */;
902
+ hostRef.$vnode$ = rootVnode;
903
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
904
+ patch(oldVNode, rootVnode, isInitialLoad);
905
+ flushQueuedRefCallbacks();
906
+ };
907
+
908
+ // src/runtime/update-component.ts
909
+ var attachToAncestor = (hostRef, ancestorComponent) => {
910
+ if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
911
+ const index = ancestorComponent["s-p"].push(
912
+ new Promise(
913
+ (r) => hostRef.$onRenderResolve$ = () => {
914
+ ancestorComponent["s-p"].splice(index - 1, 1);
915
+ r();
916
+ }
917
+ )
918
+ );
919
+ }
920
+ };
921
+ var scheduleUpdate = (hostRef, isInitialLoad) => {
922
+ {
923
+ hostRef.$flags$ |= 16 /* isQueuedForUpdate */;
924
+ }
925
+ if (hostRef.$flags$ & 4 /* isWaitingForChildren */) {
926
+ hostRef.$flags$ |= 512 /* needsRerender */;
927
+ return;
928
+ }
929
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$);
930
+ const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
931
+ if (isInitialLoad) {
932
+ queueMicrotask(() => {
933
+ dispatch();
934
+ });
935
+ return;
936
+ }
937
+ return writeTask(dispatch) ;
938
+ };
939
+ var dispatchHooks = (hostRef, isInitialLoad) => {
940
+ const elm = hostRef.$hostElement$;
941
+ const endSchedule = createTime("scheduleUpdate", hostRef.$cmpMeta$.$tagName$);
942
+ const instance = elm;
943
+ if (!instance) {
944
+ throw new Error(
945
+ `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`
946
+ );
947
+ }
948
+ let maybePromise;
949
+ if (isInitialLoad) {
950
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
951
+ } else {
952
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
953
+ }
954
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
955
+ endSchedule();
956
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
957
+ };
958
+ var enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn).catch((err) => {
959
+ console.error(err);
960
+ fn();
961
+ }) : fn();
962
+ var isPromisey = (maybePromise) => maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === "function";
963
+ var updateComponent = async (hostRef, instance, isInitialLoad) => {
964
+ var _a;
965
+ const elm = hostRef.$hostElement$;
966
+ const endUpdate = createTime("update", hostRef.$cmpMeta$.$tagName$);
967
+ const rc = elm["s-rc"];
968
+ if (isInitialLoad) {
969
+ attachStyles(hostRef);
970
+ }
971
+ const endRender = createTime("render", hostRef.$cmpMeta$.$tagName$);
972
+ {
973
+ callRender(hostRef, instance, elm, isInitialLoad);
974
+ }
975
+ if (rc) {
976
+ rc.map((cb) => cb());
977
+ elm["s-rc"] = void 0;
978
+ }
979
+ endRender();
980
+ endUpdate();
981
+ {
982
+ const childrenPromises = (_a = elm["s-p"]) != null ? _a : [];
983
+ const postUpdate = () => postUpdateComponent(hostRef);
984
+ if (childrenPromises.length === 0) {
985
+ postUpdate();
986
+ } else {
987
+ Promise.all(childrenPromises).then(postUpdate).catch(postUpdate);
988
+ hostRef.$flags$ |= 4 /* isWaitingForChildren */;
989
+ childrenPromises.length = 0;
990
+ }
991
+ }
992
+ };
993
+ var callRender = (hostRef, instance, elm, isInitialLoad) => {
994
+ try {
995
+ instance = instance.render() ;
996
+ {
997
+ hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
998
+ }
999
+ {
1000
+ hostRef.$flags$ |= 2 /* hasRendered */;
1001
+ }
1002
+ {
1003
+ {
1004
+ {
1005
+ renderVdom(hostRef, instance, isInitialLoad);
1006
+ }
1007
+ }
1008
+ }
1009
+ } catch (e) {
1010
+ consoleError(e, hostRef.$hostElement$);
1011
+ }
1012
+ return null;
1013
+ };
1014
+ var postUpdateComponent = (hostRef) => {
1015
+ const tagName = hostRef.$cmpMeta$.$tagName$;
1016
+ const elm = hostRef.$hostElement$;
1017
+ const endPostUpdate = createTime("postUpdate", tagName);
1018
+ const instance = elm;
1019
+ const ancestorComponent = hostRef.$ancestorComponent$;
1020
+ safeCall(instance, "componentDidRender", void 0, elm);
1021
+ if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1022
+ hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1023
+ {
1024
+ addHydratedFlag(elm);
1025
+ }
1026
+ safeCall(instance, "componentDidLoad", void 0, elm);
1027
+ endPostUpdate();
1028
+ {
1029
+ hostRef.$onReadyResolve$(elm);
1030
+ if (!ancestorComponent) {
1031
+ appDidLoad();
1032
+ }
1033
+ }
1034
+ } else {
1035
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1036
+ endPostUpdate();
1037
+ }
1038
+ {
1039
+ if (hostRef.$onRenderResolve$) {
1040
+ hostRef.$onRenderResolve$();
1041
+ hostRef.$onRenderResolve$ = void 0;
1042
+ }
1043
+ if (hostRef.$flags$ & 512 /* needsRerender */) {
1044
+ nextTick(() => scheduleUpdate(hostRef, false));
1045
+ }
1046
+ hostRef.$flags$ &= -517;
1047
+ }
1048
+ };
1049
+ var appDidLoad = (who) => {
1050
+ nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1051
+ };
1052
+ var safeCall = (instance, method, arg, elm) => {
1053
+ if (instance && instance[method]) {
1054
+ try {
1055
+ return instance[method](arg);
1056
+ } catch (e) {
1057
+ consoleError(e, elm);
1058
+ }
1059
+ }
1060
+ return void 0;
1061
+ };
1062
+ var addHydratedFlag = (elm) => {
1063
+ var _a;
1064
+ return elm.classList.add((_a = BUILD.hydratedSelectorName) != null ? _a : "hydrated") ;
1065
+ };
1066
+
1067
+ // src/runtime/set-value.ts
1068
+ var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
1069
+ var setValue = (ref, propName, newVal, cmpMeta) => {
1070
+ const hostRef = getHostRef(ref);
1071
+ if (!hostRef) {
1072
+ return;
1073
+ }
1074
+ const elm = ref;
1075
+ const oldVal = hostRef.$instanceValues$.get(propName);
1076
+ const flags = hostRef.$flags$;
1077
+ const instance = elm;
1078
+ newVal = parsePropertyValue(
1079
+ newVal,
1080
+ cmpMeta.$members$[propName][0]);
1081
+ const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1082
+ const didValueChange = newVal !== oldVal && !areBothNaN;
1083
+ if (didValueChange) {
1084
+ hostRef.$instanceValues$.set(propName, newVal);
1085
+ if (cmpMeta.$watchers$) {
1086
+ const watchMethods = cmpMeta.$watchers$[propName];
1087
+ if (watchMethods) {
1088
+ watchMethods.map((watcher) => {
1089
+ try {
1090
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
1091
+ if (flags & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */) {
1092
+ if (!instance) {
1093
+ hostRef.$fetchedCbList$.push(() => {
1094
+ hostRef.$lazyInstance$[watchMethodName](newVal, oldVal, propName);
1095
+ });
1096
+ } else {
1097
+ instance[watchMethodName](newVal, oldVal, propName);
1098
+ }
1099
+ }
1100
+ } catch (e) {
1101
+ consoleError(e, elm);
1102
+ }
1103
+ });
1104
+ }
1105
+ }
1106
+ if (flags & 2 /* hasRendered */) {
1107
+ if (instance.componentShouldUpdate) {
1108
+ const shouldUpdate = instance.componentShouldUpdate(newVal, oldVal, propName);
1109
+ if (shouldUpdate === false && !(flags & 16 /* isQueuedForUpdate */)) {
1110
+ return;
1111
+ }
1112
+ }
1113
+ if (!(flags & 16 /* isQueuedForUpdate */)) {
1114
+ scheduleUpdate(hostRef, false);
1115
+ }
1116
+ }
1117
+ }
1118
+ };
1119
+ var proxyComponent = (Cstr, cmpMeta, flags) => {
1120
+ var _a, _b;
1121
+ const prototype = Cstr.prototype;
1122
+ {
1123
+ {
1124
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1125
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.watchers);
1126
+ }
1127
+ if (Cstr.deserializers && !cmpMeta.$deserializers$) {
1128
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1129
+ }
1130
+ if (Cstr.serializers && !cmpMeta.$serializers$) {
1131
+ cmpMeta.$serializers$ = Cstr.serializers;
1132
+ }
1133
+ }
1134
+ const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1135
+ members.map(([memberName, [memberFlags]]) => {
1136
+ if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
1137
+ const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
1138
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1139
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1140
+ {
1141
+ Object.defineProperty(prototype, memberName, {
1142
+ get() {
1143
+ {
1144
+ return origGetter ? origGetter.apply(this) : getValue(this, memberName);
1145
+ }
1146
+ },
1147
+ configurable: true,
1148
+ enumerable: true
1149
+ });
1150
+ }
1151
+ Object.defineProperty(prototype, memberName, {
1152
+ set(newValue) {
1153
+ const ref = getHostRef(this);
1154
+ if (!ref) {
1155
+ return;
1156
+ }
1157
+ if (origSetter) {
1158
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1159
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1160
+ newValue = ref.$instanceValues$.get(memberName);
1161
+ }
1162
+ origSetter.apply(this, [
1163
+ parsePropertyValue(
1164
+ newValue,
1165
+ memberFlags)
1166
+ ]);
1167
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1168
+ setValue(this, memberName, newValue, cmpMeta);
1169
+ return;
1170
+ }
1171
+ {
1172
+ setValue(this, memberName, newValue, cmpMeta);
1173
+ return;
1174
+ }
1175
+ }
1176
+ });
1177
+ }
1178
+ });
1179
+ {
1180
+ const attrNameToPropName = /* @__PURE__ */ new Map();
1181
+ prototype.attributeChangedCallback = function(attrName, oldValue, newValue) {
1182
+ plt.jmp(() => {
1183
+ var _a2;
1184
+ const propName = attrNameToPropName.get(attrName);
1185
+ const hostRef = getHostRef(this);
1186
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) ;
1187
+ if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
1188
+ this[propName] == newValue) {
1189
+ return;
1190
+ } else if (propName == null) {
1191
+ const flags2 = hostRef == null ? void 0 : hostRef.$flags$;
1192
+ if (hostRef && flags2 && !(flags2 & 8 /* isConstructingInstance */) && newValue !== oldValue) {
1193
+ const elm = this;
1194
+ const instance = elm;
1195
+ const entry = (_a2 = cmpMeta.$watchers$) == null ? void 0 : _a2[attrName];
1196
+ entry == null ? void 0 : entry.forEach((watcher) => {
1197
+ const [[watchMethodName, watcherFlags]] = Object.entries(watcher);
1198
+ if (instance[watchMethodName] != null && (flags2 & 128 /* isWatchReady */ || watcherFlags & 1 /* Immediate */)) {
1199
+ instance[watchMethodName].call(instance, newValue, oldValue, attrName);
1200
+ }
1201
+ });
1202
+ }
1203
+ return;
1204
+ }
1205
+ const propFlags = members.find(([m]) => m === propName);
1206
+ const propMemberFlags = propFlags ? propFlags[1][0] : 0;
1207
+ const isBooleanTarget = propMemberFlags & 4 /* Boolean */;
1208
+ const isSpuriousBooleanRemoval = isBooleanTarget && newValue === null && this[propName] === void 0;
1209
+ if (isBooleanTarget) {
1210
+ newValue = newValue === null || newValue === "false" ? false : true;
1211
+ }
1212
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1213
+ if (!isSpuriousBooleanRemoval && newValue != this[propName] && (!propDesc.get || !!propDesc.set)) {
1214
+ this[propName] = newValue;
1215
+ }
1216
+ });
1217
+ };
1218
+ Cstr.observedAttributes = Array.from(
1219
+ /* @__PURE__ */ new Set([
1220
+ ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
1221
+ ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
1222
+ const attrName = m[1] || propName;
1223
+ attrNameToPropName.set(attrName, propName);
1224
+ return attrName;
1225
+ })
1226
+ ])
1227
+ );
1228
+ }
1229
+ }
1230
+ return Cstr;
1231
+ };
1232
+
1233
+ // src/runtime/initialize-component.ts
1234
+ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1235
+ let Cstr;
1236
+ try {
1237
+ if ((hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) {
1238
+ hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1239
+ hostRef.$flags$ &= -1025 /* hasFailedLoad */;
1240
+ {
1241
+ Cstr = elm.constructor;
1242
+ const cmpTag = elm.localName;
1243
+ customElements.whenDefined(cmpTag).then(() => hostRef.$flags$ |= 128 /* isWatchReady */);
1244
+ }
1245
+ if (Cstr && Cstr.style) {
1246
+ let style;
1247
+ if (typeof Cstr.style === "string") {
1248
+ style = Cstr.style;
1249
+ }
1250
+ const scopeId2 = getScopeId(cmpMeta);
1251
+ if (!styles.has(scopeId2) || BUILD.hotModuleReplacement) {
1252
+ const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
1253
+ registerStyle(scopeId2, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */));
1254
+ endRegisterStyles();
1255
+ }
1256
+ }
1257
+ }
1258
+ const ancestorComponent = hostRef.$ancestorComponent$;
1259
+ const schedule = () => scheduleUpdate(hostRef, true);
1260
+ if (ancestorComponent && ancestorComponent["s-rc"]) {
1261
+ ancestorComponent["s-rc"].push(schedule);
1262
+ } else {
1263
+ schedule();
1264
+ }
1265
+ } catch (e) {
1266
+ consoleError(e, elm);
1267
+ if (hostRef.$onRenderResolve$) {
1268
+ hostRef.$onRenderResolve$();
1269
+ hostRef.$onRenderResolve$ = void 0;
1270
+ }
1271
+ if (hostRef.$onReadyResolve$ && !(hostRef.$flags$ & 1024 /* hasFailedLoad */)) {
1272
+ hostRef.$onReadyResolve$(elm);
1273
+ }
1274
+ }
1275
+ };
1276
+ var fireConnectedCallback = (instance, elm) => {
1277
+ };
1278
+
1279
+ // src/runtime/connected-callback.ts
1280
+ var connectedCallback = (elm) => {
1281
+ if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1282
+ const hostRef = getHostRef(elm);
1283
+ if (!hostRef) {
1284
+ return;
1285
+ }
1286
+ const cmpMeta = hostRef.$cmpMeta$;
1287
+ const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1288
+ if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1289
+ hostRef.$flags$ |= 1 /* hasConnected */;
1290
+ {
1291
+ let ancestorComponent = elm;
1292
+ while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
1293
+ if (ancestorComponent["s-p"]) {
1294
+ attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);
1295
+ break;
1296
+ }
1297
+ }
1298
+ }
1299
+ if (cmpMeta.$members$) {
1300
+ Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1301
+ if (memberFlags & 31 /* Prop */ && Object.prototype.hasOwnProperty.call(elm, memberName)) {
1302
+ const value = elm[memberName];
1303
+ delete elm[memberName];
1304
+ elm[memberName] = value;
1305
+ }
1306
+ });
1307
+ }
1308
+ {
1309
+ initializeComponent(elm, hostRef, cmpMeta);
1310
+ }
1311
+ } else {
1312
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1313
+ if (hostRef == null ? void 0 : hostRef.$lazyInstance$) ; else if (hostRef.$flags$ & 1024 /* hasFailedLoad */) {
1314
+ setTimeout(() => initializeComponent(elm, hostRef, cmpMeta), LAZY_LOAD_RETRY_INTERVAL_MS);
1315
+ } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1316
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
1317
+ }
1318
+ }
1319
+ endConnected();
1320
+ }
1321
+ };
1322
+ var disconnectedCallback = async (elm) => {
1323
+ if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
1324
+ const hostRef = getHostRef(elm);
1325
+ {
1326
+ if (hostRef == null ? void 0 : hostRef.$rmListeners$) {
1327
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
1328
+ hostRef.$rmListeners$ = void 0;
1329
+ }
1330
+ }
1331
+ }
1332
+ if (rootAppliedStyles.has(elm)) {
1333
+ rootAppliedStyles.delete(elm);
1334
+ }
1335
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
1336
+ rootAppliedStyles.delete(elm.shadowRoot);
1337
+ }
1338
+ };
1339
+ var proxyCustomElement = (Cstr, compactMeta) => {
1340
+ const cmpMeta = {
1341
+ $flags$: compactMeta[0],
1342
+ $tagName$: compactMeta[1]
1343
+ };
1344
+ try {
1345
+ {
1346
+ cmpMeta.$members$ = compactMeta[2];
1347
+ }
1348
+ {
1349
+ cmpMeta.$listeners$ = compactMeta[3];
1350
+ }
1351
+ {
1352
+ cmpMeta.$watchers$ = normalizeWatchers(Cstr.$watchers$);
1353
+ cmpMeta.$deserializers$ = Cstr.$deserializers$;
1354
+ cmpMeta.$serializers$ = Cstr.$serializers$;
1355
+ }
1356
+ const originalConnectedCallback = Cstr.prototype.connectedCallback;
1357
+ const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;
1358
+ Object.assign(Cstr.prototype, {
1359
+ __hasHostListenerAttached: false,
1360
+ __registerHost() {
1361
+ registerHost(this, cmpMeta);
1362
+ },
1363
+ connectedCallback() {
1364
+ if (!this.__hasHostListenerAttached) {
1365
+ const hostRef = getHostRef(this);
1366
+ if (!hostRef) {
1367
+ return;
1368
+ }
1369
+ addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
1370
+ this.__hasHostListenerAttached = true;
1371
+ }
1372
+ connectedCallback(this);
1373
+ if (originalConnectedCallback) {
1374
+ originalConnectedCallback.call(this);
1375
+ }
1376
+ },
1377
+ disconnectedCallback() {
1378
+ disconnectedCallback(this);
1379
+ if (originalDisconnectedCallback) {
1380
+ originalDisconnectedCallback.call(this);
1381
+ }
1382
+ },
1383
+ __attachShadow() {
1384
+ {
1385
+ if (!this.shadowRoot) {
1386
+ createShadowRoot.call(this, cmpMeta);
1387
+ } else {
1388
+ if (this.shadowRoot.mode !== "open") {
1389
+ throw new Error(
1390
+ `Unable to re-use existing shadow root for ${cmpMeta.$tagName$}! Mode is set to ${this.shadowRoot.mode} but Stencil only supports open shadow roots.`
1391
+ );
1392
+ }
1393
+ }
1394
+ }
1395
+ }
1396
+ });
1397
+ Object.defineProperty(Cstr, "is", {
1398
+ value: cmpMeta.$tagName$,
1399
+ configurable: true
1400
+ });
1401
+ return proxyComponent(Cstr, cmpMeta);
1402
+ } catch (e) {
1403
+ consoleError(e);
1404
+ return Cstr;
1405
+ }
1406
+ };
1407
+ var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1408
+ if (listeners && win.document) {
1409
+ listeners.map(([flags, name, method]) => {
1410
+ const target = getHostListenerTarget(win.document, elm, flags) ;
1411
+ const handler = hostListenerProxy(hostRef, method);
1412
+ const opts = hostListenerOpts(flags);
1413
+ plt.ael(target, name, handler, opts);
1414
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
1415
+ });
1416
+ }
1417
+ };
1418
+ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1419
+ try {
1420
+ {
1421
+ hostRef.$hostElement$[methodName](ev);
1422
+ }
1423
+ } catch (e) {
1424
+ consoleError(e, hostRef.$hostElement$);
1425
+ }
1426
+ };
1427
+ var getHostListenerTarget = (doc, elm, flags) => {
1428
+ if (flags & 4 /* TargetDocument */) {
1429
+ return doc;
1430
+ }
1431
+ if (flags & 8 /* TargetWindow */) {
1432
+ return win;
1433
+ }
1434
+ return elm;
1435
+ };
1436
+ var hostListenerOpts = (flags) => supportsListenerOptions ? {
1437
+ passive: (flags & 1 /* Passive */) !== 0,
1438
+ capture: (flags & 2 /* Capture */) !== 0
1439
+ } : (flags & 2 /* Capture */) !== 0;
1440
+
1441
+ // src/runtime/nonce.ts
1442
+ var setNonce = (nonce) => plt.$nonce$ = nonce;
1443
+
1444
+ // src/runtime/platform-options.ts
1445
+ var setPlatformOptions = (opts) => Object.assign(plt, opts);
1446
+
1447
+ // src/runtime/render.ts
1448
+ var hostRefCache = /* @__PURE__ */ new WeakMap();
1449
+ function render(vnode, container) {
1450
+ let ref = hostRefCache.get(container);
1451
+ if (!ref) {
1452
+ const cmpMeta = {
1453
+ $flags$: 0,
1454
+ $tagName$: container.tagName
1455
+ };
1456
+ ref = {
1457
+ $flags$: 0,
1458
+ $cmpMeta$: cmpMeta,
1459
+ $hostElement$: container
1460
+ };
1461
+ hostRefCache.set(container, ref);
1462
+ }
1463
+ renderVdom(ref, vnode);
1464
+ }
1465
+ function transformTag(tag) {
1466
+ return tag;
1467
+ }
1468
+
1469
+ export { H, setNonce as a, setPlatformOptions as b, createEvent as c, Host as d, getAssetPath as g, h, proxyCustomElement as p, render as r, setAssetPath as s, transformTag as t };