@revolist/revogrid 4.15.2 → 4.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (316) hide show
  1. package/dist/cjs/{app-globals-f72a6199.js → app-globals-Dyhp_4xt.js} +3 -2
  2. package/dist/cjs/app-globals-Dyhp_4xt.js.map +1 -0
  3. package/dist/cjs/{cell-renderer-e5481ec8.js → cell-renderer-TbPNpr1V.js} +5 -4
  4. package/dist/cjs/cell-renderer-TbPNpr1V.js.map +1 -0
  5. package/dist/cjs/{column.drag.plugin-f3c54b57.js → column.drag.plugin-6uJDpdhd.js} +15 -20
  6. package/dist/cjs/column.drag.plugin-6uJDpdhd.js.map +1 -0
  7. package/dist/cjs/{column.service-e6411bc8.js → column.service-tkBPqZbF.js} +46 -15
  8. package/dist/cjs/column.service-tkBPqZbF.js.map +1 -0
  9. package/dist/cjs/{debounce-ec7a04b4.js → debounce-CcpHiH2p.js} +13 -20
  10. package/dist/cjs/debounce-CcpHiH2p.js.map +1 -0
  11. package/dist/cjs/{dimension.helpers-29797371.js → dimension.helpers-B22YFI1t.js} +73 -158
  12. package/dist/cjs/dimension.helpers-B22YFI1t.js.map +1 -0
  13. package/dist/cjs/{edit.utils-2142d37d.js → edit.utils-C4mlXiHS.js} +3 -2
  14. package/dist/cjs/edit.utils-C4mlXiHS.js.map +1 -0
  15. package/dist/cjs/{events-af8f6914.js → events-DeLDyZlb.js} +2 -1
  16. package/dist/cjs/events-DeLDyZlb.js.map +1 -0
  17. package/dist/cjs/{filter.button-2708e602.js → filter.button-0z5oxlOa.js} +3 -2
  18. package/dist/cjs/filter.button-0z5oxlOa.js.map +1 -0
  19. package/dist/cjs/{header-cell-renderer-56658ed7.js → header-cell-renderer-BsXDj6T-.js} +8 -9
  20. package/dist/cjs/header-cell-renderer-BsXDj6T-.js.map +1 -0
  21. package/dist/cjs/{index-8006d065.js → index-BkwGxxDX.js} +1403 -1119
  22. package/dist/cjs/index-BkwGxxDX.js.map +1 -0
  23. package/dist/cjs/index.cjs.js +16 -21
  24. package/dist/cjs/index.cjs.js.map +1 -1
  25. package/dist/cjs/loader.cjs.js +4 -5
  26. package/dist/cjs/loader.cjs.js.map +1 -1
  27. package/dist/cjs/{resize-observer-d009a220.js → resize-observer-BCzJvzIA.js} +2 -1
  28. package/dist/cjs/resize-observer-BCzJvzIA.js.map +1 -0
  29. package/dist/cjs/revo-grid.cjs.entry.js +134 -25
  30. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  31. package/dist/cjs/revo-grid.cjs.js +8 -7
  32. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  33. package/dist/cjs/revo-grid.entry.cjs.js.map +1 -0
  34. package/dist/cjs/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.cjs.js.map +1 -0
  35. package/dist/cjs/revogr-attribution_7.cjs.entry.js +38 -56
  36. package/dist/cjs/revogr-attribution_7.cjs.entry.js.map +1 -1
  37. package/dist/cjs/revogr-clipboard.revogr-edit.revogr-order-editor.entry.cjs.js.map +1 -0
  38. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +11 -20
  39. package/dist/cjs/revogr-clipboard_3.cjs.entry.js.map +1 -1
  40. package/dist/cjs/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.cjs.js.map +1 -0
  41. package/dist/cjs/revogr-data_4.cjs.entry.js +38 -54
  42. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/revogr-filter-panel.cjs.entry.js +14 -12
  44. package/dist/cjs/revogr-filter-panel.cjs.entry.js.map +1 -1
  45. package/dist/cjs/revogr-filter-panel.entry.cjs.js.map +1 -0
  46. package/dist/cjs/{text-editor-aa356695.js → text-editor-CKL2sOoS.js} +4 -3
  47. package/dist/cjs/text-editor-CKL2sOoS.js.map +1 -0
  48. package/dist/cjs/{throttle-c7ae5154.js → throttle-DH3Y55Tf.js} +4 -3
  49. package/dist/cjs/throttle-DH3Y55Tf.js.map +1 -0
  50. package/dist/cjs/{viewport.helpers-e59a544e.js → viewport.helpers-DWmWzj7C.js} +2 -1
  51. package/dist/cjs/viewport.helpers-DWmWzj7C.js.map +1 -0
  52. package/dist/cjs/{viewport.store-7f0d0f80.js → viewport.store-CTVsdNW0.js} +3 -2
  53. package/dist/cjs/viewport.store-CTVsdNW0.js.map +1 -0
  54. package/dist/collection/collection-manifest.json +1 -1
  55. package/dist/collection/components/clipboard/revogr-clipboard.js +1 -4
  56. package/dist/collection/components/clipboard/revogr-clipboard.js.map +1 -1
  57. package/dist/collection/components/data/revogr-data.js +19 -20
  58. package/dist/collection/components/data/revogr-data.js.map +1 -1
  59. package/dist/collection/components/editors/revogr-edit.js +9 -7
  60. package/dist/collection/components/editors/revogr-edit.js.map +1 -1
  61. package/dist/collection/components/extra/revogr-extra.js +7 -0
  62. package/dist/collection/components/extra/revogr-extra.js.map +1 -1
  63. package/dist/collection/components/header/revogr-header.js +18 -16
  64. package/dist/collection/components/header/revogr-header.js.map +1 -1
  65. package/dist/collection/components/order/revogr-order-editor.js +5 -6
  66. package/dist/collection/components/order/revogr-order-editor.js.map +1 -1
  67. package/dist/collection/components/overlay/revogr-overlay-selection.js +18 -21
  68. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  69. package/dist/collection/components/revoGrid/revo-grid.js +156 -30
  70. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  71. package/dist/collection/components/rowHeaders/revogr-row-headers.js +13 -11
  72. package/dist/collection/components/rowHeaders/revogr-row-headers.js.map +1 -1
  73. package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
  74. package/dist/collection/components/scroll/revogr-viewport-scroll.js.map +1 -1
  75. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +8 -8
  76. package/dist/collection/components/scrollable/revogr-scroll-virtual.js.map +1 -1
  77. package/dist/collection/components/selectionFocus/revogr-focus.js +12 -10
  78. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  79. package/dist/collection/components/selectionTempRange/revogr-temp-range.js +3 -3
  80. package/dist/collection/components/selectionTempRange/revogr-temp-range.js.map +1 -1
  81. package/dist/collection/components/vnode/vnode-converter.js +2 -1
  82. package/dist/collection/components/vnode/vnode-converter.js.map +1 -1
  83. package/dist/collection/plugins/filter/filter.panel.js +14 -7
  84. package/dist/collection/plugins/filter/filter.panel.js.map +1 -1
  85. package/dist/collection/plugins/wcag/index.js +3 -3
  86. package/dist/collection/plugins/wcag/index.js.map +1 -1
  87. package/dist/esm/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
  88. package/dist/esm/app-globals-CkPSYtJ_.js.map +1 -0
  89. package/dist/{revo-grid/cell-renderer-852ac653.js → esm/cell-renderer-Dtpwnxt0.js} +5 -4
  90. package/dist/esm/cell-renderer-Dtpwnxt0.js.map +1 -0
  91. package/dist/esm/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
  92. package/dist/esm/column.drag.plugin-BZ32BSNS.js.map +1 -0
  93. package/dist/esm/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
  94. package/dist/esm/column.service-Do0vf1Cg.js.map +1 -0
  95. package/dist/esm/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
  96. package/dist/esm/debounce-BfO9dz9v.js.map +1 -0
  97. package/dist/{revo-grid/dimension.helpers-87e12689.js → esm/dimension.helpers-8nBiaJKx.js} +70 -154
  98. package/dist/esm/dimension.helpers-8nBiaJKx.js.map +1 -0
  99. package/dist/esm/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
  100. package/dist/esm/edit.utils-t1e44_Iw.js.map +1 -0
  101. package/dist/esm/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
  102. package/dist/esm/events-BvSmBueA.js.map +1 -0
  103. package/dist/{revo-grid/filter.button-84396156.js → esm/filter.button-CTclut8G.js} +3 -2
  104. package/dist/esm/filter.button-CTclut8G.js.map +1 -0
  105. package/dist/{revo-grid/header-cell-renderer-c2acd090.js → esm/header-cell-renderer-CF2Sx-Ys.js} +8 -9
  106. package/dist/esm/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
  107. package/dist/esm/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
  108. package/dist/esm/index-CHLNwl4l.js.map +1 -0
  109. package/dist/esm/index.js +14 -13
  110. package/dist/esm/index.js.map +1 -1
  111. package/dist/esm/loader.js +5 -4
  112. package/dist/esm/loader.js.map +1 -1
  113. package/dist/esm/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
  114. package/dist/esm/resize-observer-Ccj7Fd8V.js.map +1 -0
  115. package/dist/esm/revo-grid.entry.js +134 -23
  116. package/dist/esm/revo-grid.entry.js.map +1 -1
  117. package/dist/esm/revo-grid.js +7 -5
  118. package/dist/esm/revo-grid.js.map +1 -1
  119. package/dist/esm/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.js.map +1 -0
  120. package/dist/esm/revogr-attribution_7.entry.js +38 -54
  121. package/dist/esm/revogr-attribution_7.entry.js.map +1 -1
  122. package/dist/esm/revogr-clipboard.revogr-edit.revogr-order-editor.entry.js.map +1 -0
  123. package/dist/esm/revogr-clipboard_3.entry.js +11 -18
  124. package/dist/esm/revogr-clipboard_3.entry.js.map +1 -1
  125. package/dist/esm/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.js.map +1 -0
  126. package/dist/esm/revogr-data_4.entry.js +38 -52
  127. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  128. package/dist/esm/revogr-filter-panel.entry.js +14 -10
  129. package/dist/esm/revogr-filter-panel.entry.js.map +1 -1
  130. package/dist/{revo-grid/text-editor-4224a2f6.js → esm/text-editor-CaPIpNpL.js} +4 -3
  131. package/dist/esm/text-editor-CaPIpNpL.js.map +1 -0
  132. package/dist/{revo-grid/throttle-7c83ca69.js → esm/throttle-DXN-EdTN.js} +4 -3
  133. package/dist/esm/throttle-DXN-EdTN.js.map +1 -0
  134. package/dist/{revo-grid/viewport.helpers-7e7f9dad.js → esm/viewport.helpers-B3EYGhqf.js} +2 -1
  135. package/dist/esm/viewport.helpers-B3EYGhqf.js.map +1 -0
  136. package/dist/{revo-grid/viewport.store-84060ef5.js → esm/viewport.store-BM58GIue.js} +3 -2
  137. package/dist/esm/viewport.store-BM58GIue.js.map +1 -0
  138. package/dist/revo-grid/{app-globals-6b929fd8.js → app-globals-CkPSYtJ_.js} +3 -2
  139. package/dist/revo-grid/app-globals-CkPSYtJ_.js.map +1 -0
  140. package/dist/{esm/cell-renderer-852ac653.js → revo-grid/cell-renderer-Dtpwnxt0.js} +5 -4
  141. package/dist/revo-grid/cell-renderer-Dtpwnxt0.js.map +1 -0
  142. package/dist/revo-grid/{column.drag.plugin-c6b89504.js → column.drag.plugin-BZ32BSNS.js} +12 -17
  143. package/dist/revo-grid/column.drag.plugin-BZ32BSNS.js.map +1 -0
  144. package/dist/revo-grid/{column.service-e3c41fb8.js → column.service-Do0vf1Cg.js} +43 -13
  145. package/dist/revo-grid/column.service-Do0vf1Cg.js.map +1 -0
  146. package/dist/revo-grid/{debounce-b3166f78.js → debounce-BfO9dz9v.js} +11 -18
  147. package/dist/revo-grid/debounce-BfO9dz9v.js.map +1 -0
  148. package/dist/{esm/dimension.helpers-87e12689.js → revo-grid/dimension.helpers-8nBiaJKx.js} +70 -154
  149. package/dist/revo-grid/dimension.helpers-8nBiaJKx.js.map +1 -0
  150. package/dist/revo-grid/{edit.utils-512f86c9.js → edit.utils-t1e44_Iw.js} +3 -2
  151. package/dist/revo-grid/edit.utils-t1e44_Iw.js.map +1 -0
  152. package/dist/revo-grid/{events-cf0893a3.js → events-BvSmBueA.js} +2 -1
  153. package/dist/revo-grid/events-BvSmBueA.js.map +1 -0
  154. package/dist/{esm/filter.button-84396156.js → revo-grid/filter.button-CTclut8G.js} +3 -2
  155. package/dist/revo-grid/filter.button-CTclut8G.js.map +1 -0
  156. package/dist/{esm/header-cell-renderer-c2acd090.js → revo-grid/header-cell-renderer-CF2Sx-Ys.js} +8 -9
  157. package/dist/revo-grid/header-cell-renderer-CF2Sx-Ys.js.map +1 -0
  158. package/dist/revo-grid/{index-f6fae858.js → index-CHLNwl4l.js} +1400 -1096
  159. package/dist/revo-grid/index-CHLNwl4l.js.map +1 -0
  160. package/dist/revo-grid/index.esm.js +14 -13
  161. package/dist/revo-grid/index.esm.js.map +1 -1
  162. package/dist/revo-grid/loader.esm.js.map +1 -0
  163. package/dist/revo-grid/{resize-observer-83c9e167.js → resize-observer-Ccj7Fd8V.js} +2 -1
  164. package/dist/revo-grid/resize-observer-Ccj7Fd8V.js.map +1 -0
  165. package/dist/revo-grid/revo-grid.entry.esm.js.map +1 -0
  166. package/dist/revo-grid/revo-grid.entry.js +134 -23
  167. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  168. package/dist/revo-grid/revo-grid.esm.js +7 -5
  169. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  170. package/dist/revo-grid/revogr-attribution.revogr-extra.revogr-focus.revogr-overlay-selection.revogr-row-headers.revogr-scroll-virtual.revogr-temp-range.entry.esm.js.map +1 -0
  171. package/dist/revo-grid/revogr-attribution_7.entry.js +38 -54
  172. package/dist/revo-grid/revogr-attribution_7.entry.js.map +1 -1
  173. package/dist/revo-grid/revogr-clipboard.revogr-edit.revogr-order-editor.entry.esm.js.map +1 -0
  174. package/dist/revo-grid/revogr-clipboard_3.entry.js +11 -18
  175. package/dist/revo-grid/revogr-clipboard_3.entry.js.map +1 -1
  176. package/dist/revo-grid/revogr-data.revogr-header.revogr-viewport-scroll.vnode-html.entry.esm.js.map +1 -0
  177. package/dist/revo-grid/revogr-data_4.entry.js +38 -52
  178. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  179. package/dist/revo-grid/revogr-filter-panel.entry.esm.js.map +1 -0
  180. package/dist/revo-grid/revogr-filter-panel.entry.js +14 -10
  181. package/dist/revo-grid/revogr-filter-panel.entry.js.map +1 -1
  182. package/dist/{esm/text-editor-4224a2f6.js → revo-grid/text-editor-CaPIpNpL.js} +4 -3
  183. package/dist/revo-grid/text-editor-CaPIpNpL.js.map +1 -0
  184. package/dist/{esm/throttle-7c83ca69.js → revo-grid/throttle-DXN-EdTN.js} +4 -3
  185. package/dist/revo-grid/throttle-DXN-EdTN.js.map +1 -0
  186. package/dist/{esm/viewport.helpers-7e7f9dad.js → revo-grid/viewport.helpers-B3EYGhqf.js} +2 -1
  187. package/dist/revo-grid/viewport.helpers-B3EYGhqf.js.map +1 -0
  188. package/dist/{esm/viewport.store-84060ef5.js → revo-grid/viewport.store-BM58GIue.js} +3 -2
  189. package/dist/revo-grid/viewport.store-BM58GIue.js.map +1 -0
  190. package/dist/types/stencil-public-runtime.d.ts +3 -0
  191. package/hydrate/index.d.ts +34 -5
  192. package/hydrate/index.js +2629 -2051
  193. package/hydrate/index.mjs +2639 -2061
  194. package/package.json +3 -3
  195. package/standalone/column.service.js +42 -12
  196. package/standalone/column.service.js.map +1 -1
  197. package/standalone/consts.js +1 -0
  198. package/standalone/consts.js.map +1 -1
  199. package/standalone/data.store.js +59 -143
  200. package/standalone/data.store.js.map +1 -1
  201. package/standalone/debounce.js +5 -6
  202. package/standalone/debounce.js.map +1 -1
  203. package/standalone/dimension.helpers.js +10 -9
  204. package/standalone/dimension.helpers.js.map +1 -1
  205. package/standalone/filter.button.js +1 -0
  206. package/standalone/filter.button.js.map +1 -1
  207. package/standalone/index.js +3 -2
  208. package/standalone/index.js.map +1 -1
  209. package/standalone/index2.js +1 -0
  210. package/standalone/index2.js.map +1 -1
  211. package/standalone/local.scroll.timer.js +1 -0
  212. package/standalone/local.scroll.timer.js.map +1 -1
  213. package/standalone/platform.js +3 -2
  214. package/standalone/platform.js.map +1 -1
  215. package/standalone/resize-observer.js +1 -0
  216. package/standalone/resize-observer.js.map +1 -1
  217. package/standalone/revo-grid.js +140 -35
  218. package/standalone/revo-grid.js.map +1 -1
  219. package/standalone/revogr-attribution.js +1 -0
  220. package/standalone/revogr-attribution2.js +1 -0
  221. package/standalone/revogr-attribution2.js.map +1 -1
  222. package/standalone/revogr-clipboard.js +1 -0
  223. package/standalone/revogr-clipboard2.js +1 -1
  224. package/standalone/revogr-clipboard2.js.map +1 -1
  225. package/standalone/revogr-data.js +1 -0
  226. package/standalone/revogr-data2.js +16 -24
  227. package/standalone/revogr-data2.js.map +1 -1
  228. package/standalone/revogr-edit.js +1 -0
  229. package/standalone/revogr-edit2.js +8 -9
  230. package/standalone/revogr-edit2.js.map +1 -1
  231. package/standalone/revogr-extra.js +1 -0
  232. package/standalone/revogr-extra2.js +7 -0
  233. package/standalone/revogr-extra2.js.map +1 -1
  234. package/standalone/revogr-filter-panel.js +14 -10
  235. package/standalone/revogr-filter-panel.js.map +1 -1
  236. package/standalone/revogr-focus.js +1 -0
  237. package/standalone/revogr-focus2.js +12 -16
  238. package/standalone/revogr-focus2.js.map +1 -1
  239. package/standalone/revogr-header.js +1 -0
  240. package/standalone/revogr-header2.js +24 -34
  241. package/standalone/revogr-header2.js.map +1 -1
  242. package/standalone/revogr-order-editor.js +1 -0
  243. package/standalone/revogr-order-editor2.js +4 -8
  244. package/standalone/revogr-order-editor2.js.map +1 -1
  245. package/standalone/revogr-overlay-selection.js +1 -0
  246. package/standalone/revogr-overlay-selection2.js +15 -25
  247. package/standalone/revogr-overlay-selection2.js.map +1 -1
  248. package/standalone/revogr-row-headers.js +1 -0
  249. package/standalone/revogr-row-headers2.js +11 -12
  250. package/standalone/revogr-row-headers2.js.map +1 -1
  251. package/standalone/revogr-scroll-virtual.js +1 -0
  252. package/standalone/revogr-scroll-virtual2.js +6 -6
  253. package/standalone/revogr-scroll-virtual2.js.map +1 -1
  254. package/standalone/revogr-temp-range.js +1 -0
  255. package/standalone/revogr-temp-range2.js +5 -8
  256. package/standalone/revogr-temp-range2.js.map +1 -1
  257. package/standalone/revogr-viewport-scroll.js +1 -0
  258. package/standalone/revogr-viewport-scroll2.js +9 -5
  259. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  260. package/standalone/selection.utils.js +2 -1
  261. package/standalone/selection.utils.js.map +1 -1
  262. package/standalone/throttle.js +2 -1
  263. package/standalone/throttle.js.map +1 -1
  264. package/standalone/toNumber.js +6 -11
  265. package/standalone/toNumber.js.map +1 -1
  266. package/standalone/vnode-converter.js +2 -1
  267. package/standalone/vnode-converter.js.map +1 -1
  268. package/standalone/vnode-html.js +1 -0
  269. package/dist/cjs/app-globals-f72a6199.js.map +0 -1
  270. package/dist/cjs/cell-renderer-e5481ec8.js.map +0 -1
  271. package/dist/cjs/column.drag.plugin-f3c54b57.js.map +0 -1
  272. package/dist/cjs/column.service-e6411bc8.js.map +0 -1
  273. package/dist/cjs/debounce-ec7a04b4.js.map +0 -1
  274. package/dist/cjs/dimension.helpers-29797371.js.map +0 -1
  275. package/dist/cjs/edit.utils-2142d37d.js.map +0 -1
  276. package/dist/cjs/events-af8f6914.js.map +0 -1
  277. package/dist/cjs/filter.button-2708e602.js.map +0 -1
  278. package/dist/cjs/header-cell-renderer-56658ed7.js.map +0 -1
  279. package/dist/cjs/index-8006d065.js.map +0 -1
  280. package/dist/cjs/resize-observer-d009a220.js.map +0 -1
  281. package/dist/cjs/text-editor-aa356695.js.map +0 -1
  282. package/dist/cjs/throttle-c7ae5154.js.map +0 -1
  283. package/dist/cjs/viewport.helpers-e59a544e.js.map +0 -1
  284. package/dist/cjs/viewport.store-7f0d0f80.js.map +0 -1
  285. package/dist/esm/app-globals-6b929fd8.js.map +0 -1
  286. package/dist/esm/cell-renderer-852ac653.js.map +0 -1
  287. package/dist/esm/column.drag.plugin-c6b89504.js.map +0 -1
  288. package/dist/esm/column.service-e3c41fb8.js.map +0 -1
  289. package/dist/esm/debounce-b3166f78.js.map +0 -1
  290. package/dist/esm/dimension.helpers-87e12689.js.map +0 -1
  291. package/dist/esm/edit.utils-512f86c9.js.map +0 -1
  292. package/dist/esm/events-cf0893a3.js.map +0 -1
  293. package/dist/esm/filter.button-84396156.js.map +0 -1
  294. package/dist/esm/header-cell-renderer-c2acd090.js.map +0 -1
  295. package/dist/esm/index-f6fae858.js.map +0 -1
  296. package/dist/esm/resize-observer-83c9e167.js.map +0 -1
  297. package/dist/esm/text-editor-4224a2f6.js.map +0 -1
  298. package/dist/esm/throttle-7c83ca69.js.map +0 -1
  299. package/dist/esm/viewport.helpers-7e7f9dad.js.map +0 -1
  300. package/dist/esm/viewport.store-84060ef5.js.map +0 -1
  301. package/dist/revo-grid/app-globals-6b929fd8.js.map +0 -1
  302. package/dist/revo-grid/cell-renderer-852ac653.js.map +0 -1
  303. package/dist/revo-grid/column.drag.plugin-c6b89504.js.map +0 -1
  304. package/dist/revo-grid/column.service-e3c41fb8.js.map +0 -1
  305. package/dist/revo-grid/debounce-b3166f78.js.map +0 -1
  306. package/dist/revo-grid/dimension.helpers-87e12689.js.map +0 -1
  307. package/dist/revo-grid/edit.utils-512f86c9.js.map +0 -1
  308. package/dist/revo-grid/events-cf0893a3.js.map +0 -1
  309. package/dist/revo-grid/filter.button-84396156.js.map +0 -1
  310. package/dist/revo-grid/header-cell-renderer-c2acd090.js.map +0 -1
  311. package/dist/revo-grid/index-f6fae858.js.map +0 -1
  312. package/dist/revo-grid/resize-observer-83c9e167.js.map +0 -1
  313. package/dist/revo-grid/text-editor-4224a2f6.js.map +0 -1
  314. package/dist/revo-grid/throttle-7c83ca69.js.map +0 -1
  315. package/dist/revo-grid/viewport.helpers-7e7f9dad.js.map +0 -1
  316. package/dist/revo-grid/viewport.store-84060ef5.js.map +0 -1
@@ -2,10 +2,10 @@
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
4
  const NAMESPACE = 'revo-grid';
5
- const BUILD = /* revo-grid */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: true, invisiblePrehydration: false, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
5
+ const BUILD = /* revo-grid */ { hydratedSelectorName: "hydrated", lazyLoad: true, shadowDom: false, slotRelocation: true, updatable: true};
6
6
 
7
7
  /*
8
- Stencil Client Platform v4.23.0 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Platform v4.29.2 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  var __defProp = Object.defineProperty;
11
11
  var __export = (target, all) => {
@@ -13,14 +13,47 @@ var __export = (target, all) => {
13
13
  __defProp(target, name, { get: all[name], enumerable: true });
14
14
  };
15
15
  var Build = {
16
- isDev: false,
17
- isBrowser: true,
18
- isServer: false,
19
- isTesting: false
20
- };
21
- var hostRefs = /* @__PURE__ */ new WeakMap();
22
- var getHostRef = (ref) => hostRefs.get(ref);
23
- var registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
16
+ isDev: false};
17
+
18
+ // src/utils/constants.ts
19
+ var SVG_NS = "http://www.w3.org/2000/svg";
20
+ var HTML_NS = "http://www.w3.org/1999/xhtml";
21
+ var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => {
22
+ PrimitiveType2["Undefined"] = "undefined";
23
+ PrimitiveType2["Null"] = "null";
24
+ PrimitiveType2["String"] = "string";
25
+ PrimitiveType2["Number"] = "number";
26
+ PrimitiveType2["SpecialNumber"] = "number";
27
+ PrimitiveType2["Boolean"] = "boolean";
28
+ PrimitiveType2["BigInt"] = "bigint";
29
+ return PrimitiveType2;
30
+ })(PrimitiveType || {});
31
+ var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => {
32
+ NonPrimitiveType2["Array"] = "array";
33
+ NonPrimitiveType2["Date"] = "date";
34
+ NonPrimitiveType2["Map"] = "map";
35
+ NonPrimitiveType2["Object"] = "object";
36
+ NonPrimitiveType2["RegularExpression"] = "regexp";
37
+ NonPrimitiveType2["Set"] = "set";
38
+ NonPrimitiveType2["Channel"] = "channel";
39
+ NonPrimitiveType2["Symbol"] = "symbol";
40
+ return NonPrimitiveType2;
41
+ })(NonPrimitiveType || {});
42
+ var TYPE_CONSTANT = "type";
43
+ var VALUE_CONSTANT = "value";
44
+ var SERIALIZED_PREFIX = "serialized:";
45
+
46
+ // src/client/client-host-ref.ts
47
+ var getHostRef = (ref) => {
48
+ if (ref.__stencil__getHostRef) {
49
+ return ref.__stencil__getHostRef();
50
+ }
51
+ return void 0;
52
+ };
53
+ var registerInstance = (lazyInstance, hostRef) => {
54
+ lazyInstance.__stencil__getHostRef = () => hostRef;
55
+ hostRef.$lazyInstance$ = lazyInstance;
56
+ };
24
57
  var registerHost = (hostElement, cmpMeta) => {
25
58
  const hostRef = {
26
59
  $flags$: 0,
@@ -36,7 +69,9 @@ var registerHost = (hostElement, cmpMeta) => {
36
69
  hostElement["s-p"] = [];
37
70
  hostElement["s-rc"] = [];
38
71
  }
39
- return hostRefs.set(hostElement, hostRef);
72
+ const ref = hostRef;
73
+ hostElement.__stencil__getHostRef = () => ref;
74
+ return ref;
40
75
  };
41
76
  var isMemberInElement = (elm, memberName) => memberName in elm;
42
77
  var consoleError = (e, el) => (0, console.error)(e, el);
@@ -60,12 +95,17 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
60
95
  /* webpackExclude: /\.system\.entry\.js$/ */
61
96
  /* webpackMode: "lazy" */
62
97
  `./${bundleId}.entry.js${""}`
63
- ).then((importedModule) => {
64
- {
65
- cmpModules.set(bundleId, importedModule);
98
+ ).then(
99
+ (importedModule) => {
100
+ {
101
+ cmpModules.set(bundleId, importedModule);
102
+ }
103
+ return importedModule[exportName];
104
+ },
105
+ (e) => {
106
+ consoleError(e, hostRef.$hostElement$);
66
107
  }
67
- return importedModule[exportName];
68
- }, consoleError);
108
+ );
69
109
  };
70
110
 
71
111
  // src/client/client-style.ts
@@ -83,7 +123,6 @@ var HYDRATE_CHILD_ID = "c-id";
83
123
  var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}";
84
124
  var XLINK_NS = "http://www.w3.org/1999/xlink";
85
125
  var win = typeof window !== "undefined" ? window : {};
86
- var doc = win.document || { head: {} };
87
126
  var plt = {
88
127
  $flags$: 0,
89
128
  $resourcesUrl$: "",
@@ -95,9 +134,10 @@ var plt = {
95
134
  };
96
135
  var supportsShadow = BUILD.shadowDom;
97
136
  var supportsListenerOptions = /* @__PURE__ */ (() => {
137
+ var _a;
98
138
  let supportsListenerOptions2 = false;
99
139
  try {
100
- doc.addEventListener(
140
+ (_a = win.document) == null ? void 0 : _a.addEventListener(
101
141
  "e",
102
142
  null,
103
143
  Object.defineProperty({}, "passive", {
@@ -154,25 +194,112 @@ var flush = () => {
154
194
  };
155
195
  var nextTick = (cb) => promiseResolve().then(cb);
156
196
  var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
157
-
158
- // src/utils/constants.ts
159
- var EMPTY_OBJ = {};
160
- var SVG_NS = "http://www.w3.org/2000/svg";
161
- var HTML_NS = "http://www.w3.org/1999/xhtml";
162
-
163
- // src/utils/helpers.ts
164
- var isDef = (v) => v != null;
165
197
  var isComplexType = (o) => {
166
198
  o = typeof o;
167
199
  return o === "object" || o === "function";
168
200
  };
169
201
 
170
202
  // src/utils/query-nonce-meta-tag-content.ts
171
- function queryNonceMetaTagContent(doc2) {
203
+ function queryNonceMetaTagContent(doc) {
172
204
  var _a, _b, _c;
173
- return (_c = (_b = (_a = doc2.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0;
205
+ 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;
174
206
  }
175
207
 
208
+ // src/utils/remote-value.ts
209
+ var RemoteValue = class _RemoteValue {
210
+ /**
211
+ * Deserializes a LocalValue serialized object back to its original JavaScript representation
212
+ *
213
+ * @param serialized The serialized LocalValue object
214
+ * @returns The original JavaScript value/object
215
+ */
216
+ static fromLocalValue(serialized) {
217
+ const type = serialized[TYPE_CONSTANT];
218
+ const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0;
219
+ switch (type) {
220
+ case "string" /* String */:
221
+ return value;
222
+ case "boolean" /* Boolean */:
223
+ return value;
224
+ case "bigint" /* BigInt */:
225
+ return BigInt(value);
226
+ case "undefined" /* Undefined */:
227
+ return void 0;
228
+ case "null" /* Null */:
229
+ return null;
230
+ case "number" /* Number */:
231
+ if (value === "NaN") return NaN;
232
+ if (value === "-0") return -0;
233
+ if (value === "Infinity") return Infinity;
234
+ if (value === "-Infinity") return -Infinity;
235
+ return value;
236
+ case "array" /* Array */:
237
+ return value.map((item) => _RemoteValue.fromLocalValue(item));
238
+ case "date" /* Date */:
239
+ return new Date(value);
240
+ case "map" /* Map */:
241
+ const map2 = /* @__PURE__ */ new Map();
242
+ for (const [key, val] of value) {
243
+ const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key;
244
+ const deserializedValue = _RemoteValue.fromLocalValue(val);
245
+ map2.set(deserializedKey, deserializedValue);
246
+ }
247
+ return map2;
248
+ case "object" /* Object */:
249
+ const obj = {};
250
+ for (const [key, val] of value) {
251
+ obj[key] = _RemoteValue.fromLocalValue(val);
252
+ }
253
+ return obj;
254
+ case "regexp" /* RegularExpression */:
255
+ const { pattern, flags } = value;
256
+ return new RegExp(pattern, flags);
257
+ case "set" /* Set */:
258
+ const set = /* @__PURE__ */ new Set();
259
+ for (const item of value) {
260
+ set.add(_RemoteValue.fromLocalValue(item));
261
+ }
262
+ return set;
263
+ case "symbol" /* Symbol */:
264
+ return Symbol(value);
265
+ default:
266
+ throw new Error(`Unsupported type: ${type}`);
267
+ }
268
+ }
269
+ /**
270
+ * Utility method to deserialize multiple LocalValues at once
271
+ *
272
+ * @param serializedValues Array of serialized LocalValue objects
273
+ * @returns Array of deserialized JavaScript values
274
+ */
275
+ static fromLocalValueArray(serializedValues) {
276
+ return serializedValues.map((value) => _RemoteValue.fromLocalValue(value));
277
+ }
278
+ /**
279
+ * Verifies if the given object matches the structure of a serialized LocalValue
280
+ *
281
+ * @param obj Object to verify
282
+ * @returns boolean indicating if the object has LocalValue structure
283
+ */
284
+ static isLocalValueObject(obj) {
285
+ if (typeof obj !== "object" || obj === null) {
286
+ return false;
287
+ }
288
+ if (!obj.hasOwnProperty(TYPE_CONSTANT)) {
289
+ return false;
290
+ }
291
+ const type = obj[TYPE_CONSTANT];
292
+ const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type);
293
+ if (!hasTypeProperty) {
294
+ return false;
295
+ }
296
+ if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) {
297
+ return obj.hasOwnProperty(VALUE_CONSTANT);
298
+ }
299
+ return true;
300
+ }
301
+ };
302
+
176
303
  // src/utils/result.ts
177
304
  var result_exports = {};
178
305
  __export(result_exports, {
@@ -221,6 +348,162 @@ var unwrapErr = (result) => {
221
348
  throw result.value;
222
349
  }
223
350
  };
351
+
352
+ // src/utils/serialize.ts
353
+ function deserializeProperty(value) {
354
+ if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) {
355
+ return value;
356
+ }
357
+ return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
358
+ }
359
+ var updateFallbackSlotVisibility = (elm) => {
360
+ const childNodes = internalCall(elm, "childNodes");
361
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
362
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
363
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
364
+ if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
365
+ slotNode.hidden = true;
366
+ } else {
367
+ slotNode.hidden = false;
368
+ }
369
+ }
370
+ });
371
+ }
372
+ let i2 = 0;
373
+ for (i2 = 0; i2 < childNodes.length; i2++) {
374
+ const childNode = childNodes[i2];
375
+ if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
376
+ updateFallbackSlotVisibility(childNode);
377
+ }
378
+ }
379
+ };
380
+ var getSlottedChildNodes = (childNodes) => {
381
+ const result = [];
382
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
383
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
384
+ if (slottedNode && slottedNode.isConnected) {
385
+ result.push(slottedNode);
386
+ }
387
+ }
388
+ return result;
389
+ };
390
+ function getHostSlotNodes(childNodes, hostName, slotName) {
391
+ let i2 = 0;
392
+ let slottedNodes = [];
393
+ let childNode;
394
+ for (; i2 < childNodes.length; i2++) {
395
+ childNode = childNodes[i2];
396
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) {
397
+ slottedNodes.push(childNode);
398
+ }
399
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
400
+ }
401
+ return slottedNodes;
402
+ }
403
+ var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
404
+ const childNodes = [];
405
+ if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
406
+ let node = slot;
407
+ while (node = node.nextSibling) {
408
+ if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
409
+ }
410
+ return childNodes;
411
+ };
412
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
413
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
414
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
415
+ return true;
416
+ }
417
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
418
+ return true;
419
+ }
420
+ return false;
421
+ }
422
+ if (nodeToRelocate["s-sn"] === slotName) {
423
+ return true;
424
+ }
425
+ return slotName === "";
426
+ };
427
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
428
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
429
+ return;
430
+ }
431
+ const slottedNodeLocation = document.createTextNode("");
432
+ slottedNodeLocation["s-nr"] = newChild;
433
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
434
+ const parent = slotNode["s-cr"].parentNode;
435
+ const appendMethod = internalCall(parent, "appendChild");
436
+ if (typeof position !== "undefined") {
437
+ slottedNodeLocation["s-oo"] = position;
438
+ const childNodes = internalCall(parent, "childNodes");
439
+ const slotRelocateNodes = [slottedNodeLocation];
440
+ childNodes.forEach((n) => {
441
+ if (n["s-nr"]) slotRelocateNodes.push(n);
442
+ });
443
+ slotRelocateNodes.sort((a, b) => {
444
+ if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1;
445
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
446
+ return 0;
447
+ });
448
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
449
+ } else {
450
+ appendMethod.call(parent, slottedNodeLocation);
451
+ }
452
+ newChild["s-ol"] = slottedNodeLocation;
453
+ newChild["s-sh"] = slotNode["s-hn"];
454
+ };
455
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
456
+ function patchSlotNode(node) {
457
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
458
+ const assignedFactory = (elementsOnly) => (function(opts) {
459
+ const toReturn = [];
460
+ const slotName = this["s-sn"];
461
+ if (opts == null ? void 0 : opts.flatten) {
462
+ console.error(`
463
+ Flattening is not supported for Stencil non-shadow slots.
464
+ You can use \`.childNodes\` to nested slot fallback content.
465
+ If you have a particular use case, please open an issue on the Stencil repo.
466
+ `);
467
+ }
468
+ const parent = this["s-cr"].parentElement;
469
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
470
+ slottedNodes.forEach((n) => {
471
+ if (slotName === getSlotName(n)) {
472
+ toReturn.push(n);
473
+ }
474
+ });
475
+ if (elementsOnly) {
476
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
477
+ }
478
+ return toReturn;
479
+ }).bind(node);
480
+ node.assignedElements = assignedFactory(true);
481
+ node.assignedNodes = assignedFactory(false);
482
+ }
483
+ function internalCall(node, method) {
484
+ if ("__" + method in node) {
485
+ const toReturn = node["__" + method];
486
+ if (typeof toReturn !== "function") return toReturn;
487
+ return toReturn.bind(node);
488
+ } else {
489
+ if (typeof node[method] !== "function") return node[method];
490
+ return node[method].bind(node);
491
+ }
492
+ }
493
+ var createTime = (fnName, tagName = "") => {
494
+ {
495
+ return () => {
496
+ return;
497
+ };
498
+ }
499
+ };
500
+ var uniqueTime = (key, measureText) => {
501
+ {
502
+ return () => {
503
+ return;
504
+ };
505
+ }
506
+ };
224
507
  var h = (nodeName, vnodeData, ...children) => {
225
508
  let child = null;
226
509
  let key = null;
@@ -332,1119 +615,1108 @@ var convertToPrivate = (node) => {
332
615
  vnode.$name$ = node.vname;
333
616
  return vnode;
334
617
  };
335
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
336
- if (oldValue !== newValue) {
337
- let isProp = isMemberInElement(elm, memberName);
338
- let ln = memberName.toLowerCase();
339
- if (memberName === "class") {
340
- const classList = elm.classList;
341
- const oldClasses = parseClassList(oldValue);
342
- const newClasses = parseClassList(newValue);
343
- if (elm["s-si"] && newClasses.indexOf(elm["s-si"]) < 0) {
344
- newClasses.push(elm["s-si"]);
618
+
619
+ // src/runtime/client-hydrate.ts
620
+ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
621
+ var _a;
622
+ const endHydrate = createTime("hydrateClient", tagName);
623
+ const shadowRoot = hostElm.shadowRoot;
624
+ const childRenderNodes = [];
625
+ const slotNodes = [];
626
+ const slottedNodes = [];
627
+ const shadowRootNodes = null;
628
+ const vnode = newVNode(tagName, null);
629
+ vnode.$elm$ = hostElm;
630
+ const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
631
+ members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
632
+ var _a2;
633
+ if (!(memberFlags & 31 /* Prop */)) {
634
+ return;
635
+ }
636
+ const attributeName = metaAttributeName || memberName;
637
+ const attrVal = hostElm.getAttribute(attributeName);
638
+ if (attrVal !== null) {
639
+ const attrPropVal = parsePropertyValue(attrVal, memberFlags);
640
+ (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
641
+ }
642
+ });
643
+ if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
644
+ initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
645
+ }
646
+ hostElm[HYDRATE_ID] = hostId;
647
+ hostElm.removeAttribute(HYDRATE_ID);
648
+ hostRef.$vnode$ = clientHydrate(
649
+ vnode,
650
+ childRenderNodes,
651
+ slotNodes,
652
+ shadowRootNodes,
653
+ hostElm,
654
+ hostElm,
655
+ hostId,
656
+ slottedNodes
657
+ );
658
+ let crIndex = 0;
659
+ const crLength = childRenderNodes.length;
660
+ let childRenderNode;
661
+ for (crIndex; crIndex < crLength; crIndex++) {
662
+ childRenderNode = childRenderNodes[crIndex];
663
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
664
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
665
+ const node = childRenderNode.$elm$;
666
+ if (!shadowRoot) {
667
+ node["s-hn"] = tagName.toUpperCase();
668
+ if (childRenderNode.$tag$ === "slot") {
669
+ node["s-cr"] = hostElm["s-cr"];
345
670
  }
346
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
347
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
348
- } else if (memberName === "style") {
349
- {
350
- for (const prop in oldValue) {
351
- if (!newValue || newValue[prop] == null) {
352
- if (prop.includes("-")) {
353
- elm.style.removeProperty(prop);
354
- } else {
355
- elm.style[prop] = "";
356
- }
357
- }
671
+ }
672
+ if (childRenderNode.$tag$ === "slot") {
673
+ childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
674
+ if (childRenderNode.$children$) {
675
+ childRenderNode.$flags$ |= 2 /* isSlotFallback */;
676
+ if (!childRenderNode.$elm$.childNodes.length) {
677
+ childRenderNode.$children$.forEach((c) => {
678
+ childRenderNode.$elm$.appendChild(c.$elm$);
679
+ });
358
680
  }
681
+ } else {
682
+ childRenderNode.$flags$ |= 1 /* isSlotReference */;
359
683
  }
360
- for (const prop in newValue) {
361
- if (!oldValue || newValue[prop] !== oldValue[prop]) {
362
- if (prop.includes("-")) {
363
- elm.style.setProperty(prop, newValue[prop]);
364
- } else {
365
- elm.style[prop] = newValue[prop];
366
- }
367
- }
684
+ }
685
+ if (orgLocationNode && orgLocationNode.isConnected) {
686
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
687
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
368
688
  }
369
- } else if (memberName === "key") ; else if (memberName === "ref") {
370
- if (newValue) {
371
- newValue(elm);
689
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
690
+ if (!shadowRoot) {
691
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
372
692
  }
373
- } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
374
- if (memberName[2] === "-") {
375
- memberName = memberName.slice(3);
376
- } else if (isMemberInElement(win, ln)) {
377
- memberName = ln.slice(2);
378
- } else {
379
- memberName = ln[2] + memberName.slice(3);
693
+ }
694
+ plt.$orgLocNodes$.delete(orgLocationId);
695
+ }
696
+ const hosts = [];
697
+ const snLen = slottedNodes.length;
698
+ let snIndex = 0;
699
+ let slotGroup;
700
+ let snGroupIdx;
701
+ let snGroupLen;
702
+ let slottedItem;
703
+ for (snIndex; snIndex < snLen; snIndex++) {
704
+ slotGroup = slottedNodes[snIndex];
705
+ if (!slotGroup || !slotGroup.length) continue;
706
+ snGroupLen = slotGroup.length;
707
+ snGroupIdx = 0;
708
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
709
+ slottedItem = slotGroup[snGroupIdx];
710
+ if (!hosts[slottedItem.hostId]) {
711
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
380
712
  }
381
- if (oldValue || newValue) {
382
- const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
383
- memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
384
- if (oldValue) {
385
- plt.rel(elm, memberName, oldValue, capture);
386
- }
387
- if (newValue) {
388
- plt.ael(elm, memberName, newValue, capture);
713
+ if (!hosts[slottedItem.hostId]) continue;
714
+ const hostEle = hosts[slottedItem.hostId];
715
+ if (!hostEle.shadowRoot || !shadowRoot) {
716
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
717
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
718
+ slottedItem.slot["s-cr"] = hostEle;
719
+ } else {
720
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
389
721
  }
722
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
390
723
  }
391
- } else {
392
- const isComplex = isComplexType(newValue);
393
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
394
- try {
395
- if (!elm.tagName.includes("-")) {
396
- const n = newValue == null ? "" : newValue;
397
- if (memberName === "list") {
398
- isProp = false;
399
- } else if (oldValue == null || elm[memberName] != n) {
400
- if (typeof elm.__lookupSetter__(memberName) === "function") {
401
- elm[memberName] = n;
402
- } else {
403
- elm.setAttribute(memberName, n);
404
- }
405
- }
406
- } else {
407
- elm[memberName] = newValue;
408
- }
409
- } catch (e) {
410
- }
724
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
725
+ hostEle.appendChild(slottedItem.node);
411
726
  }
412
- let xlink = false;
413
- {
414
- if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
415
- memberName = ln;
416
- xlink = true;
727
+ }
728
+ }
729
+ plt.$orgLocNodes$.delete(hostElm["s-id"]);
730
+ hostRef.$hostElement$ = hostElm;
731
+ endHydrate();
732
+ };
733
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
734
+ let childNodeType;
735
+ let childIdSplt;
736
+ let childVNode;
737
+ let i2;
738
+ if (node.nodeType === 1 /* ElementNode */) {
739
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
740
+ if (childNodeType) {
741
+ childIdSplt = childNodeType.split(".");
742
+ if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
743
+ childVNode = createSimpleVNode({
744
+ $flags$: 0,
745
+ $hostId$: childIdSplt[0],
746
+ $nodeId$: childIdSplt[1],
747
+ $depth$: childIdSplt[2],
748
+ $index$: childIdSplt[3],
749
+ $tag$: node.tagName.toLowerCase(),
750
+ $elm$: node,
751
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
752
+ // won't try to reconcile them. Classes set on the node will be blown away.
753
+ $attrs$: { class: node.className || "" }
754
+ });
755
+ childRenderNodes.push(childVNode);
756
+ node.removeAttribute(HYDRATE_CHILD_ID);
757
+ if (!parentVNode.$children$) {
758
+ parentVNode.$children$ = [];
417
759
  }
418
- }
419
- if (newValue == null || newValue === false) {
420
- if (newValue !== false || elm.getAttribute(memberName) === "") {
421
- if (xlink) {
422
- elm.removeAttributeNS(XLINK_NS, memberName);
423
- } else {
424
- elm.removeAttribute(memberName);
760
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
761
+ if (typeof slotName === "string") {
762
+ if (childVNode.$tag$ === "slot-fb") {
763
+ addSlot(
764
+ slotName,
765
+ childIdSplt[2],
766
+ childVNode,
767
+ node,
768
+ parentVNode,
769
+ childRenderNodes,
770
+ slotNodes,
771
+ shadowRootNodes,
772
+ slottedNodes
773
+ );
425
774
  }
775
+ childVNode.$elm$["s-sn"] = slotName;
776
+ childVNode.$elm$.removeAttribute("s-sn");
426
777
  }
427
- } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
428
- newValue = newValue === true ? "" : newValue;
429
- if (xlink) {
430
- elm.setAttributeNS(XLINK_NS, memberName, newValue);
431
- } else {
432
- elm.setAttribute(memberName, newValue);
778
+ if (childVNode.$index$ !== void 0) {
779
+ parentVNode.$children$[childVNode.$index$] = childVNode;
433
780
  }
781
+ parentVNode = childVNode;
434
782
  }
435
783
  }
436
- }
437
- };
438
- var parseClassListRegex = /\s/;
439
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
440
- var CAPTURE_EVENT_SUFFIX = "Capture";
441
- var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
442
-
443
- // src/runtime/vdom/update-element.ts
444
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
445
- const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
446
- const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
447
- const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
448
- {
449
- for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
450
- if (!(memberName in newVnodeAttrs)) {
451
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
784
+ if (node.shadowRoot) {
785
+ for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
786
+ clientHydrate(
787
+ parentVNode,
788
+ childRenderNodes,
789
+ slotNodes,
790
+ shadowRootNodes,
791
+ hostElm,
792
+ node.shadowRoot.childNodes[i2],
793
+ hostId,
794
+ slottedNodes
795
+ );
452
796
  }
453
797
  }
454
- }
455
- for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
456
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
457
- }
458
- };
459
- function sortedAttrNames(attrNames) {
460
- return attrNames.includes("ref") ? (
461
- // we need to sort these to ensure that `'ref'` is the last attr
462
- [...attrNames.filter((attr) => attr !== "ref"), "ref"]
463
- ) : (
464
- // no need to sort, return the original array
465
- attrNames
466
- );
467
- }
468
-
469
- // src/runtime/vdom/vdom-render.ts
470
- var scopeId;
471
- var contentRef;
472
- var hostTagName;
473
- var useNativeShadowDom = false;
474
- var checkSlotFallbackVisibility = false;
475
- var checkSlotRelocate = false;
476
- var isSvgMode = false;
477
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
478
- var _a;
479
- const newVNode2 = newParentVNode.$children$[childIndex];
480
- let i2 = 0;
481
- let elm;
482
- let childNode;
483
- let oldVNode;
484
- if (!useNativeShadowDom) {
485
- checkSlotRelocate = true;
486
- if (newVNode2.$tag$ === "slot") {
487
- newVNode2.$flags$ |= newVNode2.$children$ ? (
488
- // slot element has fallback content
489
- // still create an element that "mocks" the slot element
490
- 2 /* isSlotFallback */
491
- ) : (
492
- // slot element does not have fallback content
493
- // create an html comment we'll use to always reference
494
- // where actual slot content should sit next to
495
- 1 /* isSlotReference */
798
+ const nonShadowNodes = node.__childNodes || node.childNodes;
799
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
800
+ clientHydrate(
801
+ parentVNode,
802
+ childRenderNodes,
803
+ slotNodes,
804
+ shadowRootNodes,
805
+ hostElm,
806
+ nonShadowNodes[i2],
807
+ hostId,
808
+ slottedNodes
496
809
  );
497
810
  }
498
- }
499
- if (newVNode2.$text$ !== null) {
500
- elm = newVNode2.$elm$ = doc.createTextNode(newVNode2.$text$);
501
- } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
502
- elm = newVNode2.$elm$ = doc.createTextNode("");
503
- } else {
504
- if (!isSvgMode) {
505
- isSvgMode = newVNode2.$tag$ === "svg";
506
- }
507
- elm = newVNode2.$elm$ = doc.createElementNS(
508
- isSvgMode ? SVG_NS : HTML_NS,
509
- !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
510
- ) ;
511
- if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
512
- isSvgMode = false;
811
+ } else if (node.nodeType === 8 /* CommentNode */) {
812
+ childIdSplt = node.nodeValue.split(".");
813
+ if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
814
+ childNodeType = childIdSplt[0];
815
+ childVNode = createSimpleVNode({
816
+ $hostId$: childIdSplt[1],
817
+ $nodeId$: childIdSplt[2],
818
+ $depth$: childIdSplt[3],
819
+ $index$: childIdSplt[4] || "0",
820
+ $elm$: node,
821
+ $attrs$: null,
822
+ $children$: null,
823
+ $key$: null,
824
+ $name$: null,
825
+ $tag$: null,
826
+ $text$: null
827
+ });
828
+ if (childNodeType === TEXT_NODE_ID) {
829
+ childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */);
830
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
831
+ childVNode.$text$ = childVNode.$elm$.textContent;
832
+ childRenderNodes.push(childVNode);
833
+ node.remove();
834
+ if (hostId === childVNode.$hostId$) {
835
+ if (!parentVNode.$children$) {
836
+ parentVNode.$children$ = [];
837
+ }
838
+ parentVNode.$children$[childVNode.$index$] = childVNode;
839
+ }
840
+ }
841
+ } else if (childNodeType === COMMENT_NODE_ID) {
842
+ childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */);
843
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
844
+ childRenderNodes.push(childVNode);
845
+ node.remove();
846
+ }
847
+ } else if (childVNode.$hostId$ === hostId) {
848
+ if (childNodeType === SLOT_NODE_ID) {
849
+ const slotName = node["s-sn"] = childIdSplt[5] || "";
850
+ addSlot(
851
+ slotName,
852
+ childIdSplt[2],
853
+ childVNode,
854
+ node,
855
+ parentVNode,
856
+ childRenderNodes,
857
+ slotNodes,
858
+ shadowRootNodes,
859
+ slottedNodes
860
+ );
861
+ } else if (childNodeType === CONTENT_REF_ID) {
862
+ {
863
+ hostElm["s-cr"] = node;
864
+ node["s-cn"] = true;
865
+ }
866
+ }
867
+ }
513
868
  }
514
- {
515
- updateElement(null, newVNode2, isSvgMode);
869
+ } else if (parentVNode && parentVNode.$tag$ === "style") {
870
+ const vnode = newVNode(null, node.textContent);
871
+ vnode.$elm$ = node;
872
+ vnode.$index$ = "0";
873
+ parentVNode.$children$ = [vnode];
874
+ } else {
875
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
876
+ node.remove();
516
877
  }
517
- const rootNode = elm.getRootNode();
518
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
519
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
520
- elm.classList.add(elm["s-si"] = scopeId);
878
+ }
879
+ return parentVNode;
880
+ };
881
+ var initializeDocumentHydrate = (node, orgLocNodes) => {
882
+ if (node.nodeType === 1 /* ElementNode */) {
883
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
884
+ if (componentId) {
885
+ orgLocNodes.set(componentId, node);
521
886
  }
522
- if (newVNode2.$children$) {
523
- for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
524
- childNode = createElm(oldParentVNode, newVNode2, i2);
525
- if (childNode) {
526
- elm.appendChild(childNode);
527
- }
887
+ let i2 = 0;
888
+ if (node.shadowRoot) {
889
+ for (; i2 < node.shadowRoot.childNodes.length; i2++) {
890
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
528
891
  }
529
892
  }
530
- {
531
- if (newVNode2.$tag$ === "svg") {
532
- isSvgMode = false;
533
- } else if (elm.tagName === "foreignObject") {
534
- isSvgMode = true;
535
- }
893
+ const nonShadowNodes = node.__childNodes || node.childNodes;
894
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
895
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
896
+ }
897
+ } else if (node.nodeType === 8 /* CommentNode */) {
898
+ const childIdSplt = node.nodeValue.split(".");
899
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
900
+ orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
901
+ node.nodeValue = "";
902
+ node["s-en"] = childIdSplt[3];
536
903
  }
537
904
  }
538
- elm["s-hn"] = hostTagName;
905
+ };
906
+ var createSimpleVNode = (vnode) => {
907
+ const defaultVNode = {
908
+ $flags$: 0,
909
+ $hostId$: null,
910
+ $nodeId$: null,
911
+ $depth$: null,
912
+ $index$: "0",
913
+ $elm$: null,
914
+ $attrs$: null,
915
+ $children$: null,
916
+ $key$: null,
917
+ $name$: null,
918
+ $tag$: null,
919
+ $text$: null
920
+ };
921
+ return { ...defaultVNode, ...vnode };
922
+ };
923
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
924
+ node["s-sr"] = true;
925
+ childVNode.$name$ = slotName || null;
926
+ childVNode.$tag$ = "slot";
927
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
539
928
  {
540
- if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
541
- elm["s-sr"] = true;
542
- elm["s-cr"] = contentRef;
543
- elm["s-sn"] = newVNode2.$name$ || "";
544
- elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
545
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
546
- if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
547
- {
548
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
549
- }
550
- }
929
+ const slot = childVNode.$elm$;
930
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
931
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
932
+ patchSlotNode(node);
933
+ if (shouldMove) {
934
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
551
935
  }
936
+ childRenderNodes.push(childVNode);
937
+ }
938
+ slotNodes.push(childVNode);
939
+ if (!parentVNode.$children$) {
940
+ parentVNode.$children$ = [];
941
+ }
942
+ parentVNode.$children$[childVNode.$index$] = childVNode;
943
+ }
944
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
945
+ let slottedNode = slotNode.nextSibling;
946
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
947
+ while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
948
+ slottedNode["s-sn"] = slotName;
949
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
950
+ slottedNode = slottedNode.nextSibling;
552
951
  }
553
- return elm;
554
952
  };
555
- var putBackInOriginalLocation = (parentElm, recursive) => {
556
- plt.$flags$ |= 1 /* isTmpDisconnected */;
557
- const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
558
- if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
559
- let node = parentElm;
560
- while (node = node.nextSibling) {
561
- if (node && node["s-sn"] === parentElm["s-sn"] && node["s-sh"] === hostTagName) {
562
- oldSlotChildNodes.push(node);
563
- }
953
+ var findCorrespondingNode = (node, type) => {
954
+ let sibling = node;
955
+ do {
956
+ sibling = sibling.nextSibling;
957
+ } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue));
958
+ return sibling;
959
+ };
960
+ var parsePropertyValue = (propValue, propType) => {
961
+ if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
962
+ try {
963
+ propValue = JSON.parse(propValue);
964
+ return propValue;
965
+ } catch (e) {
564
966
  }
565
967
  }
566
- for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
567
- const childNode = oldSlotChildNodes[i2];
568
- if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
569
- insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
570
- childNode["s-ol"].remove();
571
- childNode["s-ol"] = void 0;
572
- childNode["s-sh"] = void 0;
573
- checkSlotRelocate = true;
968
+ if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
969
+ propValue = deserializeProperty(propValue);
970
+ return propValue;
971
+ }
972
+ if (propValue != null && !isComplexType(propValue)) {
973
+ if (propType & 4 /* Boolean */) {
974
+ return propValue === "false" ? false : propValue === "" || !!propValue;
574
975
  }
575
- if (recursive) {
576
- putBackInOriginalLocation(childNode, recursive);
976
+ if (propType & 2 /* Number */) {
977
+ return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
978
+ }
979
+ if (propType & 1 /* String */) {
980
+ return String(propValue);
577
981
  }
982
+ return propValue;
578
983
  }
579
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
984
+ return propValue;
580
985
  };
581
- var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
582
- let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
583
- let childNode;
584
- for (; startIdx <= endIdx; ++startIdx) {
585
- if (vnodes[startIdx]) {
586
- childNode = createElm(null, parentVNode, startIdx);
587
- if (childNode) {
588
- vnodes[startIdx].$elm$ = childNode;
589
- insertBefore(containerElm, childNode, referenceNode(before) );
590
- }
986
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
987
+
988
+ // src/runtime/event-emitter.ts
989
+ var createEvent = (ref, name, flags) => {
990
+ const elm = getElement(ref);
991
+ return {
992
+ emit: (detail) => {
993
+ return emitEvent(elm, name, {
994
+ bubbles: !!(flags & 4 /* Bubbles */),
995
+ composed: !!(flags & 2 /* Composed */),
996
+ cancelable: !!(flags & 1 /* Cancellable */),
997
+ detail
998
+ });
591
999
  }
592
- }
1000
+ };
593
1001
  };
594
- var removeVnodes = (vnodes, startIdx, endIdx) => {
595
- for (let index = startIdx; index <= endIdx; ++index) {
596
- const vnode = vnodes[index];
597
- if (vnode) {
598
- const elm = vnode.$elm$;
599
- nullifyVNodeRefs(vnode);
600
- if (elm) {
601
- {
602
- checkSlotFallbackVisibility = true;
603
- if (elm["s-ol"]) {
604
- elm["s-ol"].remove();
605
- } else {
606
- putBackInOriginalLocation(elm, true);
607
- }
608
- }
609
- elm.remove();
610
- }
1002
+ var emitEvent = (elm, name, opts) => {
1003
+ const ev = plt.ce(name, opts);
1004
+ elm.dispatchEvent(ev);
1005
+ return ev;
1006
+ };
1007
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1008
+ var registerStyle = (scopeId2, cssText, allowCS) => {
1009
+ let style = styles.get(scopeId2);
1010
+ if (supportsConstructableStylesheets && allowCS) {
1011
+ style = style || new CSSStyleSheet();
1012
+ if (typeof style === "string") {
1013
+ style = cssText;
1014
+ } else {
1015
+ style.replaceSync(cssText);
611
1016
  }
1017
+ } else {
1018
+ style = cssText;
612
1019
  }
1020
+ styles.set(scopeId2, style);
613
1021
  };
614
- var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
615
- let oldStartIdx = 0;
616
- let newStartIdx = 0;
617
- let idxInOld = 0;
618
- let i2 = 0;
619
- let oldEndIdx = oldCh.length - 1;
620
- let oldStartVnode = oldCh[0];
621
- let oldEndVnode = oldCh[oldEndIdx];
622
- let newEndIdx = newCh.length - 1;
623
- let newStartVnode = newCh[0];
624
- let newEndVnode = newCh[newEndIdx];
625
- let node;
626
- let elmToMove;
627
- while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
628
- if (oldStartVnode == null) {
629
- oldStartVnode = oldCh[++oldStartIdx];
630
- } else if (oldEndVnode == null) {
631
- oldEndVnode = oldCh[--oldEndIdx];
632
- } else if (newStartVnode == null) {
633
- newStartVnode = newCh[++newStartIdx];
634
- } else if (newEndVnode == null) {
635
- newEndVnode = newCh[--newEndIdx];
636
- } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
637
- patch(oldStartVnode, newStartVnode, isInitialRender);
638
- oldStartVnode = oldCh[++oldStartIdx];
639
- newStartVnode = newCh[++newStartIdx];
640
- } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
641
- patch(oldEndVnode, newEndVnode, isInitialRender);
642
- oldEndVnode = oldCh[--oldEndIdx];
643
- newEndVnode = newCh[--newEndIdx];
644
- } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
645
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
646
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
647
- }
648
- patch(oldStartVnode, newEndVnode, isInitialRender);
649
- insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
650
- oldStartVnode = oldCh[++oldStartIdx];
651
- newEndVnode = newCh[--newEndIdx];
652
- } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
653
- if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
654
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1022
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1023
+ var _a;
1024
+ const scopeId2 = getScopeId(cmpMeta);
1025
+ const style = styles.get(scopeId2);
1026
+ if (!win.document) {
1027
+ return scopeId2;
1028
+ }
1029
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1030
+ if (style) {
1031
+ if (typeof style === "string") {
1032
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
1033
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1034
+ let styleElm;
1035
+ if (!appliedStyles) {
1036
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
655
1037
  }
656
- patch(oldEndVnode, newStartVnode, isInitialRender);
657
- insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
658
- oldEndVnode = oldCh[--oldEndIdx];
659
- newStartVnode = newCh[++newStartIdx];
660
- } else {
661
- idxInOld = -1;
662
- {
663
- for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
664
- if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
665
- idxInOld = i2;
666
- break;
1038
+ if (!appliedStyles.has(scopeId2)) {
1039
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1040
+ styleElm.innerHTML = style;
1041
+ } else {
1042
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
1043
+ styleElm.innerHTML = style;
1044
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1045
+ if (nonce != null) {
1046
+ styleElm.setAttribute("nonce", nonce);
1047
+ }
1048
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1049
+ if (styleContainerNode.nodeName === "HEAD") {
1050
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1051
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1052
+ styleContainerNode.insertBefore(
1053
+ styleElm,
1054
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1055
+ );
1056
+ } else if ("host" in styleContainerNode) {
1057
+ if (supportsConstructableStylesheets) {
1058
+ const stylesheet = new CSSStyleSheet();
1059
+ stylesheet.replaceSync(style);
1060
+ styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1061
+ } else {
1062
+ const existingStyleContainer = styleContainerNode.querySelector("style");
1063
+ if (existingStyleContainer) {
1064
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1065
+ } else {
1066
+ styleContainerNode.prepend(styleElm);
1067
+ }
1068
+ }
1069
+ } else {
1070
+ styleContainerNode.append(styleElm);
1071
+ }
1072
+ }
1073
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1074
+ styleContainerNode.insertBefore(styleElm, null);
667
1075
  }
668
1076
  }
669
- }
670
- if (idxInOld >= 0) {
671
- elmToMove = oldCh[idxInOld];
672
- if (elmToMove.$tag$ !== newStartVnode.$tag$) {
673
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
674
- } else {
675
- patch(elmToMove, newStartVnode, isInitialRender);
676
- oldCh[idxInOld] = void 0;
677
- node = elmToMove.$elm$;
1077
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1078
+ styleElm.innerHTML += SLOT_FB_CSS;
678
1079
  }
679
- newStartVnode = newCh[++newStartIdx];
680
- } else {
681
- node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
682
- newStartVnode = newCh[++newStartIdx];
683
- }
684
- if (node) {
685
- {
686
- insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
1080
+ if (appliedStyles) {
1081
+ appliedStyles.add(scopeId2);
687
1082
  }
688
1083
  }
1084
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1085
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
689
1086
  }
690
1087
  }
691
- if (oldStartIdx > oldEndIdx) {
692
- addVnodes(
693
- parentElm,
694
- newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
695
- newVNode2,
696
- newCh,
697
- newStartIdx,
698
- newEndIdx
699
- );
700
- } else if (newStartIdx > newEndIdx) {
701
- removeVnodes(oldCh, oldStartIdx, oldEndIdx);
702
- }
703
- };
704
- var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
705
- if (leftVNode.$tag$ === rightVNode.$tag$) {
706
- if (leftVNode.$tag$ === "slot") {
707
- if (
708
- // The component gets hydrated and no VDOM has been initialized.
709
- // Here the comparison can't happen as $name$ property is not set for `leftNode`.
710
- "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
711
- // hydration comments to be removed
712
- leftVNode.$elm$.nodeType !== 8
713
- ) {
714
- return false;
715
- }
716
- return leftVNode.$name$ === rightVNode.$name$;
717
- }
718
- if (!isInitialRender) {
719
- return leftVNode.$key$ === rightVNode.$key$;
720
- }
721
- return true;
722
- }
723
- return false;
724
- };
725
- var referenceNode = (node) => {
726
- return node && node["s-ol"] || node;
1088
+ return scopeId2;
727
1089
  };
728
- var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
729
- var patch = (oldVNode, newVNode2, isInitialRender = false) => {
730
- const elm = newVNode2.$elm$ = oldVNode.$elm$;
731
- const oldChildren = oldVNode.$children$;
732
- const newChildren = newVNode2.$children$;
733
- const tag = newVNode2.$tag$;
734
- const text = newVNode2.$text$;
735
- let defaultHolder;
736
- if (text === null) {
737
- {
738
- isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1090
+ var attachStyles = (hostRef) => {
1091
+ const cmpMeta = hostRef.$cmpMeta$;
1092
+ const elm = hostRef.$hostElement$;
1093
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1094
+ addStyle(
1095
+ elm.getRootNode(),
1096
+ cmpMeta);
1097
+ endAttachStyles();
1098
+ };
1099
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1100
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1101
+ if (oldValue === newValue) {
1102
+ return;
1103
+ }
1104
+ let isProp = isMemberInElement(elm, memberName);
1105
+ let ln = memberName.toLowerCase();
1106
+ if (memberName === "class") {
1107
+ const classList = elm.classList;
1108
+ const oldClasses = parseClassList(oldValue);
1109
+ let newClasses = parseClassList(newValue);
1110
+ if (elm["s-si"] && initialRender) {
1111
+ newClasses.push(elm["s-si"]);
1112
+ oldClasses.forEach((c) => {
1113
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
1114
+ });
1115
+ newClasses = [...new Set(newClasses)];
1116
+ classList.add(...newClasses);
1117
+ } else {
1118
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
1119
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
739
1120
  }
1121
+ } else if (memberName === "style") {
740
1122
  {
741
- if (tag === "slot" && !useNativeShadowDom) ; else {
742
- updateElement(oldVNode, newVNode2, isSvgMode);
1123
+ for (const prop in oldValue) {
1124
+ if (!newValue || newValue[prop] == null) {
1125
+ if (prop.includes("-")) {
1126
+ elm.style.removeProperty(prop);
1127
+ } else {
1128
+ elm.style[prop] = "";
1129
+ }
1130
+ }
743
1131
  }
744
1132
  }
745
- if (oldChildren !== null && newChildren !== null) {
746
- updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
747
- } else if (newChildren !== null) {
748
- if (oldVNode.$text$ !== null) {
749
- elm.textContent = "";
1133
+ for (const prop in newValue) {
1134
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
1135
+ if (prop.includes("-")) {
1136
+ elm.style.setProperty(prop, newValue[prop]);
1137
+ } else {
1138
+ elm.style[prop] = newValue[prop];
1139
+ }
750
1140
  }
751
- addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
752
- } else if (
753
- // don't do this on initial render as it can cause non-hydrated content to be removed
754
- !isInitialRender && BUILD.updatable && oldChildren !== null
755
- ) {
756
- removeVnodes(oldChildren, 0, oldChildren.length - 1);
757
1141
  }
758
- if (isSvgMode && tag === "svg") {
759
- isSvgMode = false;
1142
+ } else if (memberName === "key") ; else if (memberName === "ref") {
1143
+ if (newValue) {
1144
+ newValue(elm);
760
1145
  }
761
- } else if ((defaultHolder = elm["s-cr"])) {
762
- defaultHolder.parentNode.textContent = text;
763
- } else if (oldVNode.$text$ !== text) {
764
- elm.data = text;
765
- }
766
- };
767
- var updateFallbackSlotVisibility = (elm) => {
768
- const childNodes = elm.__childNodes || elm.childNodes;
769
- for (const childNode of childNodes) {
770
- if (childNode.nodeType === 1 /* ElementNode */) {
771
- if (childNode["s-sr"]) {
772
- const slotName = childNode["s-sn"];
773
- childNode.hidden = false;
774
- for (const siblingNode of childNodes) {
775
- if (siblingNode !== childNode) {
776
- if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
777
- if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
778
- childNode.hidden = true;
779
- break;
780
- }
781
- } else if (slotName === siblingNode["s-sn"]) {
782
- if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
783
- childNode.hidden = true;
784
- break;
785
- }
786
- }
787
- }
788
- }
1146
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
1147
+ if (memberName[2] === "-") {
1148
+ memberName = memberName.slice(3);
1149
+ } else if (isMemberInElement(win, ln)) {
1150
+ memberName = ln.slice(2);
1151
+ } else {
1152
+ memberName = ln[2] + memberName.slice(3);
1153
+ }
1154
+ if (oldValue || newValue) {
1155
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
1156
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, "");
1157
+ if (oldValue) {
1158
+ plt.rel(elm, memberName, oldValue, capture);
1159
+ }
1160
+ if (newValue) {
1161
+ plt.ael(elm, memberName, newValue, capture);
789
1162
  }
790
- updateFallbackSlotVisibility(childNode);
791
1163
  }
792
- }
793
- };
794
- var relocateNodes = [];
795
- var markSlotContentForRelocation = (elm) => {
796
- let node;
797
- let hostContentNodes;
798
- let j;
799
- const children = elm.__childNodes || elm.childNodes;
800
- for (const childNode of children) {
801
- if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
802
- hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
803
- const slotName = childNode["s-sn"];
804
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
805
- node = hostContentNodes[j];
806
- if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (!BUILD.experimentalSlotFixes )) {
807
- if (isNodeLocatedInSlot(node, slotName)) {
808
- let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
809
- checkSlotFallbackVisibility = true;
810
- node["s-sn"] = node["s-sn"] || slotName;
811
- if (relocateNodeData) {
812
- relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
813
- relocateNodeData.$slotRefNode$ = childNode;
1164
+ } else {
1165
+ const isComplex = isComplexType(newValue);
1166
+ if ((isProp || isComplex && newValue !== null) && !isSvg) {
1167
+ try {
1168
+ if (!elm.tagName.includes("-")) {
1169
+ const n = newValue == null ? "" : newValue;
1170
+ if (memberName === "list") {
1171
+ isProp = false;
1172
+ } else if (oldValue == null || elm[memberName] != n) {
1173
+ if (typeof elm.__lookupSetter__(memberName) === "function") {
1174
+ elm[memberName] = n;
814
1175
  } else {
815
- node["s-sh"] = childNode["s-hn"];
816
- relocateNodes.push({
817
- $slotRefNode$: childNode,
818
- $nodeToRelocate$: node
819
- });
1176
+ elm.setAttribute(memberName, n);
820
1177
  }
821
- if (node["s-sr"]) {
822
- relocateNodes.map((relocateNode) => {
823
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
824
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
825
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
826
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
827
- }
828
- }
829
- });
830
- }
831
- } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
832
- relocateNodes.push({
833
- $nodeToRelocate$: node
834
- });
835
1178
  }
1179
+ } else if (elm[memberName] !== newValue) {
1180
+ elm[memberName] = newValue;
836
1181
  }
1182
+ } catch (e) {
837
1183
  }
838
1184
  }
839
- if (childNode.nodeType === 1 /* ElementNode */) {
840
- markSlotContentForRelocation(childNode);
1185
+ let xlink = false;
1186
+ {
1187
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ""))) {
1188
+ memberName = ln;
1189
+ xlink = true;
1190
+ }
1191
+ }
1192
+ if (newValue == null || newValue === false) {
1193
+ if (newValue !== false || elm.getAttribute(memberName) === "") {
1194
+ if (xlink) {
1195
+ elm.removeAttributeNS(XLINK_NS, memberName);
1196
+ } else {
1197
+ elm.removeAttribute(memberName);
1198
+ }
1199
+ }
1200
+ } else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex && elm.nodeType === 1 /* ElementNode */) {
1201
+ newValue = newValue === true ? "" : newValue;
1202
+ if (xlink) {
1203
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
1204
+ } else {
1205
+ elm.setAttribute(memberName, newValue);
1206
+ }
841
1207
  }
842
1208
  }
843
1209
  };
844
- var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
845
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
846
- if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
847
- return true;
848
- }
849
- if (nodeToRelocate.getAttribute("slot") === slotName) {
850
- return true;
851
- }
852
- return false;
1210
+ var parseClassListRegex = /\s/;
1211
+ var parseClassList = (value) => {
1212
+ if (typeof value === "object" && value && "baseVal" in value) {
1213
+ value = value.baseVal;
853
1214
  }
854
- if (nodeToRelocate["s-sn"] === slotName) {
855
- return true;
1215
+ if (!value || typeof value !== "string") {
1216
+ return [];
856
1217
  }
857
- return slotName === "";
1218
+ return value.split(parseClassListRegex);
858
1219
  };
859
- var nullifyVNodeRefs = (vNode) => {
1220
+ var CAPTURE_EVENT_SUFFIX = "Capture";
1221
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
1222
+
1223
+ // src/runtime/vdom/update-element.ts
1224
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
1225
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
1226
+ const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
1227
+ const newVnodeAttrs = newVnode.$attrs$ || {};
860
1228
  {
861
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
862
- vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1229
+ for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
1230
+ if (!(memberName in newVnodeAttrs)) {
1231
+ setAccessor(
1232
+ elm,
1233
+ memberName,
1234
+ oldVnodeAttrs[memberName],
1235
+ void 0,
1236
+ isSvgMode2,
1237
+ newVnode.$flags$,
1238
+ isInitialRender
1239
+ );
1240
+ }
1241
+ }
863
1242
  }
864
- };
865
- var insertBefore = (parent, newNode, reference) => {
866
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
867
- return inserted;
868
- };
869
- var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
870
- var _a, _b, _c, _d;
871
- const hostElm = hostRef.$hostElement$;
872
- const cmpMeta = hostRef.$cmpMeta$;
873
- const oldVNode = hostRef.$vnode$ || newVNode(null, null);
874
- const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
875
- hostTagName = hostElm.tagName;
876
- if (cmpMeta.$attrsToReflect$) {
877
- rootVnode.$attrs$ = rootVnode.$attrs$ || {};
878
- cmpMeta.$attrsToReflect$.map(
879
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1243
+ for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
1244
+ setAccessor(
1245
+ elm,
1246
+ memberName,
1247
+ oldVnodeAttrs[memberName],
1248
+ newVnodeAttrs[memberName],
1249
+ isSvgMode2,
1250
+ newVnode.$flags$,
1251
+ isInitialRender
880
1252
  );
881
1253
  }
882
- if (isInitialLoad && rootVnode.$attrs$) {
883
- for (const key of Object.keys(rootVnode.$attrs$)) {
884
- if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
885
- rootVnode.$attrs$[key] = hostElm[key];
886
- }
1254
+ };
1255
+ function sortedAttrNames(attrNames) {
1256
+ return attrNames.includes("ref") ? (
1257
+ // we need to sort these to ensure that `'ref'` is the last attr
1258
+ [...attrNames.filter((attr) => attr !== "ref"), "ref"]
1259
+ ) : (
1260
+ // no need to sort, return the original array
1261
+ attrNames
1262
+ );
1263
+ }
1264
+ var contentRef;
1265
+ var hostTagName;
1266
+ var useNativeShadowDom = false;
1267
+ var checkSlotFallbackVisibility = false;
1268
+ var checkSlotRelocate = false;
1269
+ var isSvgMode = false;
1270
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
1271
+ var _a;
1272
+ const newVNode2 = newParentVNode.$children$[childIndex];
1273
+ let i2 = 0;
1274
+ let elm;
1275
+ let childNode;
1276
+ let oldVNode;
1277
+ if (!useNativeShadowDom) {
1278
+ checkSlotRelocate = true;
1279
+ if (newVNode2.$tag$ === "slot") {
1280
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
1281
+ // slot element has fallback content
1282
+ // still create an element that "mocks" the slot element
1283
+ 2 /* isSlotFallback */
1284
+ ) : (
1285
+ // slot element does not have fallback content
1286
+ // create an html comment we'll use to always reference
1287
+ // where actual slot content should sit next to
1288
+ 1 /* isSlotReference */
1289
+ );
887
1290
  }
888
1291
  }
889
- rootVnode.$tag$ = null;
890
- rootVnode.$flags$ |= 4 /* isHost */;
891
- hostRef.$vnode$ = rootVnode;
892
- rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
893
- useNativeShadowDom = supportsShadow ;
894
- {
895
- contentRef = hostElm["s-cr"];
896
- checkSlotFallbackVisibility = false;
897
- }
898
- patch(oldVNode, rootVnode, isInitialLoad);
899
- {
900
- plt.$flags$ |= 1 /* isTmpDisconnected */;
901
- if (checkSlotRelocate) {
902
- markSlotContentForRelocation(rootVnode.$elm$);
903
- for (const relocateData of relocateNodes) {
904
- const nodeToRelocate = relocateData.$nodeToRelocate$;
905
- if (!nodeToRelocate["s-ol"]) {
906
- const orgLocationNode = doc.createTextNode("");
907
- orgLocationNode["s-nr"] = nodeToRelocate;
908
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
909
- }
910
- }
911
- for (const relocateData of relocateNodes) {
912
- const nodeToRelocate = relocateData.$nodeToRelocate$;
913
- const slotRefNode = relocateData.$slotRefNode$;
914
- if (slotRefNode) {
915
- const parentNodeRef = slotRefNode.parentNode;
916
- let insertBeforeNode = slotRefNode.nextSibling;
917
- {
918
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
919
- while (orgLocationNode) {
920
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
921
- if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
922
- refNode = refNode.nextSibling;
923
- while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
924
- refNode = refNode == null ? void 0 : refNode.nextSibling;
925
- }
926
- if (!refNode || !refNode["s-nr"]) {
927
- insertBeforeNode = refNode;
928
- break;
929
- }
930
- }
931
- orgLocationNode = orgLocationNode.previousSibling;
932
- }
933
- }
934
- if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
935
- if (nodeToRelocate !== insertBeforeNode) {
936
- if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
937
- nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
938
- }
939
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
940
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
941
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
942
- }
943
- }
944
- }
945
- nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
946
- } else {
947
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
948
- if (isInitialLoad) {
949
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
950
- }
951
- nodeToRelocate.hidden = true;
952
- }
1292
+ if (newVNode2.$text$ !== null) {
1293
+ elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
1294
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
1295
+ elm = newVNode2.$elm$ = win.document.createTextNode("");
1296
+ {
1297
+ updateElement(null, newVNode2, isSvgMode);
1298
+ }
1299
+ } else {
1300
+ if (!isSvgMode) {
1301
+ isSvgMode = newVNode2.$tag$ === "svg";
1302
+ }
1303
+ if (!win.document) {
1304
+ throw new Error(
1305
+ "You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component."
1306
+ );
1307
+ }
1308
+ elm = newVNode2.$elm$ = win.document.createElementNS(
1309
+ isSvgMode ? SVG_NS : HTML_NS,
1310
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
1311
+ ) ;
1312
+ if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
1313
+ isSvgMode = false;
1314
+ }
1315
+ {
1316
+ updateElement(null, newVNode2, isSvgMode);
1317
+ }
1318
+ if (newVNode2.$children$) {
1319
+ for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
1320
+ childNode = createElm(oldParentVNode, newVNode2, i2);
1321
+ if (childNode) {
1322
+ elm.appendChild(childNode);
953
1323
  }
954
1324
  }
955
1325
  }
956
- if (checkSlotFallbackVisibility) {
957
- updateFallbackSlotVisibility(rootVnode.$elm$);
958
- }
959
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
960
- relocateNodes.length = 0;
961
- }
962
- contentRef = void 0;
963
- };
964
- var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
965
- let slottedNodeLocation;
966
- if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
967
- slottedNodeLocation = newChild["s-ol"];
968
- } else {
969
- slottedNodeLocation = document.createTextNode("");
970
- slottedNodeLocation["s-nr"] = newChild;
971
- }
972
- if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
973
- const parent = slotNode["s-cr"].parentNode;
974
- const appendMethod = prepend ? parent.__prepend || parent.prepend : parent.__appendChild || parent.appendChild;
975
- if (typeof position !== "undefined") {
976
1326
  {
977
- slottedNodeLocation["s-oo"] = position;
978
- const childNodes = parent.__childNodes || parent.childNodes;
979
- const slotRelocateNodes = [slottedNodeLocation];
980
- childNodes.forEach((n) => {
981
- if (n["s-nr"]) slotRelocateNodes.push(n);
982
- });
983
- slotRelocateNodes.sort((a, b) => {
984
- if (!a["s-oo"] || a["s-oo"] < b["s-oo"]) return -1;
985
- else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
986
- return 0;
987
- });
988
- slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
1327
+ if (newVNode2.$tag$ === "svg") {
1328
+ isSvgMode = false;
1329
+ } else if (elm.tagName === "foreignObject") {
1330
+ isSvgMode = true;
1331
+ }
989
1332
  }
990
- } else {
991
- appendMethod.call(parent, slottedNodeLocation);
992
1333
  }
993
- newChild["s-ol"] = slottedNodeLocation;
994
- newChild["s-sh"] = slotNode["s-hn"];
995
- };
996
- var createTime = (fnName, tagName = "") => {
1334
+ elm["s-hn"] = hostTagName;
997
1335
  {
998
- return () => {
999
- return;
1000
- };
1336
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
1337
+ elm["s-sr"] = true;
1338
+ elm["s-cr"] = contentRef;
1339
+ elm["s-sn"] = newVNode2.$name$ || "";
1340
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
1341
+ patchSlotNode(elm);
1342
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
1343
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
1344
+ {
1345
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
1346
+ }
1347
+ }
1348
+ }
1001
1349
  }
1350
+ return elm;
1002
1351
  };
1003
- var uniqueTime = (key, measureText) => {
1004
- {
1005
- return () => {
1006
- return;
1007
- };
1352
+ var putBackInOriginalLocation = (parentElm, recursive) => {
1353
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1354
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
1355
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
1356
+ const childNode = oldSlotChildNodes[i2];
1357
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
1358
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
1359
+ childNode["s-ol"].remove();
1360
+ childNode["s-ol"] = void 0;
1361
+ childNode["s-sh"] = void 0;
1362
+ checkSlotRelocate = true;
1363
+ }
1364
+ if (recursive) {
1365
+ putBackInOriginalLocation(childNode, recursive);
1366
+ }
1008
1367
  }
1368
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1009
1369
  };
1010
-
1011
- // src/runtime/client-hydrate.ts
1012
- var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
1013
- const endHydrate = createTime("hydrateClient", tagName);
1014
- const shadowRoot = hostElm.shadowRoot;
1015
- const childRenderNodes = [];
1016
- const slotNodes = [];
1017
- const slottedNodes = [];
1018
- const shadowRootNodes = null;
1019
- const vnode = newVNode(tagName, null);
1020
- vnode.$elm$ = hostElm;
1021
- if (!plt.$orgLocNodes$) {
1022
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
1023
- }
1024
- hostElm[HYDRATE_ID] = hostId;
1025
- hostElm.removeAttribute(HYDRATE_ID);
1026
- hostRef.$vnode$ = clientHydrate(
1027
- vnode,
1028
- childRenderNodes,
1029
- slotNodes,
1030
- shadowRootNodes,
1031
- hostElm,
1032
- hostElm,
1033
- hostId,
1034
- slottedNodes
1035
- );
1036
- let crIndex = 0;
1037
- const crLength = childRenderNodes.length;
1038
- let childRenderNode;
1039
- for (crIndex; crIndex < crLength; crIndex++) {
1040
- childRenderNode = childRenderNodes[crIndex];
1041
- const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
1042
- const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1043
- const node = childRenderNode.$elm$;
1044
- if (!shadowRoot) {
1045
- node["s-hn"] = tagName.toUpperCase();
1046
- if (childRenderNode.$tag$ === "slot") {
1047
- node["s-cr"] = hostElm["s-cr"];
1048
- }
1049
- }
1050
- if (orgLocationNode && orgLocationNode.isConnected) {
1051
- if (shadowRoot && orgLocationNode["s-en"] === "") {
1052
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1053
- }
1054
- orgLocationNode.parentNode.removeChild(orgLocationNode);
1055
- if (!shadowRoot) {
1056
- node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1370
+ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
1371
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
1372
+ let childNode;
1373
+ for (; startIdx <= endIdx; ++startIdx) {
1374
+ if (vnodes[startIdx]) {
1375
+ childNode = createElm(null, parentVNode, startIdx);
1376
+ if (childNode) {
1377
+ vnodes[startIdx].$elm$ = childNode;
1378
+ insertBefore(containerElm, childNode, referenceNode(before) );
1057
1379
  }
1058
1380
  }
1059
- plt.$orgLocNodes$.delete(orgLocationId);
1060
1381
  }
1061
- const hosts = [];
1062
- let snIndex = 0;
1063
- const snLen = slottedNodes.length;
1064
- let slotGroup;
1065
- let snGroupIdx;
1066
- let snGroupLen;
1067
- let slottedItem;
1068
- for (snIndex; snIndex < snLen; snIndex++) {
1069
- slotGroup = slottedNodes[snIndex];
1070
- if (!slotGroup || !slotGroup.length) continue;
1071
- snGroupLen = slotGroup.length;
1072
- snGroupIdx = 0;
1073
- for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1074
- slottedItem = slotGroup[snGroupIdx];
1075
- if (!hosts[slottedItem.hostId]) {
1076
- hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1077
- }
1078
- if (!hosts[slottedItem.hostId]) continue;
1079
- const hostEle = hosts[slottedItem.hostId];
1080
- if (!hostEle.shadowRoot || !shadowRoot) {
1081
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
1082
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1083
- slottedItem.slot["s-cr"] = hostEle;
1084
- } else {
1085
- const hostChildren = hostEle.__childNodes || hostEle.childNodes;
1086
- slottedItem.slot["s-cr"] = hostChildren[0];
1382
+ };
1383
+ var removeVnodes = (vnodes, startIdx, endIdx) => {
1384
+ for (let index = startIdx; index <= endIdx; ++index) {
1385
+ const vnode = vnodes[index];
1386
+ if (vnode) {
1387
+ const elm = vnode.$elm$;
1388
+ nullifyVNodeRefs(vnode);
1389
+ if (elm) {
1390
+ {
1391
+ checkSlotFallbackVisibility = true;
1392
+ if (elm["s-ol"]) {
1393
+ elm["s-ol"].remove();
1394
+ } else {
1395
+ putBackInOriginalLocation(elm, true);
1396
+ }
1087
1397
  }
1088
- addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1089
- }
1090
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1091
- hostEle.appendChild(slottedItem.node);
1398
+ elm.remove();
1092
1399
  }
1093
1400
  }
1094
1401
  }
1095
- hostRef.$hostElement$ = hostElm;
1096
- endHydrate();
1097
1402
  };
1098
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
1099
- let childNodeType;
1100
- let childIdSplt;
1101
- let childVNode;
1102
- let i2;
1103
- const scopeId2 = hostElm["s-sc"];
1104
- if (node.nodeType === 1 /* ElementNode */) {
1105
- childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1106
- if (childNodeType) {
1107
- childIdSplt = childNodeType.split(".");
1108
- if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1109
- childVNode = createSimpleVNode({
1110
- $flags$: 0,
1111
- $hostId$: childIdSplt[0],
1112
- $nodeId$: childIdSplt[1],
1113
- $depth$: childIdSplt[2],
1114
- $index$: childIdSplt[3],
1115
- $tag$: node.tagName.toLowerCase(),
1116
- $elm$: node,
1117
- // If we don't add the initial classes to the VNode, the first `vdom-render.ts` reconciliation will fail:
1118
- // client side changes before componentDidLoad will be ignored, `set-accessor.ts` will just take the element's initial classes
1119
- $attrs$: { class: node.className }
1120
- });
1121
- childRenderNodes.push(childVNode);
1122
- node.removeAttribute(HYDRATE_CHILD_ID);
1123
- if (!parentVNode.$children$) {
1124
- parentVNode.$children$ = [];
1125
- }
1126
- const slotName = childVNode.$elm$.getAttribute("s-sn");
1127
- if (typeof slotName === "string") {
1128
- if (childVNode.$tag$ === "slot-fb") {
1129
- addSlot(
1130
- slotName,
1131
- childIdSplt[2],
1132
- childVNode,
1133
- node,
1134
- parentVNode,
1135
- childRenderNodes,
1136
- slotNodes,
1137
- shadowRootNodes,
1138
- slottedNodes
1139
- );
1140
- }
1141
- childVNode.$elm$["s-sn"] = slotName;
1142
- childVNode.$elm$.removeAttribute("s-sn");
1143
- }
1144
- if (childVNode.$index$ !== void 0) {
1145
- parentVNode.$children$[childVNode.$index$] = childVNode;
1146
- }
1147
- if (scopeId2) node["s-si"] = scopeId2;
1148
- parentVNode = childVNode;
1149
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1150
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1151
- }
1403
+ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = false) => {
1404
+ let oldStartIdx = 0;
1405
+ let newStartIdx = 0;
1406
+ let idxInOld = 0;
1407
+ let i2 = 0;
1408
+ let oldEndIdx = oldCh.length - 1;
1409
+ let oldStartVnode = oldCh[0];
1410
+ let oldEndVnode = oldCh[oldEndIdx];
1411
+ let newEndIdx = newCh.length - 1;
1412
+ let newStartVnode = newCh[0];
1413
+ let newEndVnode = newCh[newEndIdx];
1414
+ let node;
1415
+ let elmToMove;
1416
+ while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
1417
+ if (oldStartVnode == null) {
1418
+ oldStartVnode = oldCh[++oldStartIdx];
1419
+ } else if (oldEndVnode == null) {
1420
+ oldEndVnode = oldCh[--oldEndIdx];
1421
+ } else if (newStartVnode == null) {
1422
+ newStartVnode = newCh[++newStartIdx];
1423
+ } else if (newEndVnode == null) {
1424
+ newEndVnode = newCh[--newEndIdx];
1425
+ } else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
1426
+ patch(oldStartVnode, newStartVnode, isInitialRender);
1427
+ oldStartVnode = oldCh[++oldStartIdx];
1428
+ newStartVnode = newCh[++newStartIdx];
1429
+ } else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
1430
+ patch(oldEndVnode, newEndVnode, isInitialRender);
1431
+ oldEndVnode = oldCh[--oldEndIdx];
1432
+ newEndVnode = newCh[--newEndIdx];
1433
+ } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
1434
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1435
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
1152
1436
  }
1153
- }
1154
- if (node.shadowRoot) {
1155
- for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
1156
- clientHydrate(
1157
- parentVNode,
1158
- childRenderNodes,
1159
- slotNodes,
1160
- shadowRootNodes,
1161
- hostElm,
1162
- node.shadowRoot.childNodes[i2],
1163
- hostId,
1164
- slottedNodes
1165
- );
1437
+ patch(oldStartVnode, newEndVnode, isInitialRender);
1438
+ insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
1439
+ oldStartVnode = oldCh[++oldStartIdx];
1440
+ newEndVnode = newCh[--newEndIdx];
1441
+ } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
1442
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
1443
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
1166
1444
  }
1167
- }
1168
- const nonShadowNodes = node.__childNodes || node.childNodes;
1169
- for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
1170
- clientHydrate(
1171
- parentVNode,
1172
- childRenderNodes,
1173
- slotNodes,
1174
- shadowRootNodes,
1175
- hostElm,
1176
- nonShadowNodes[i2],
1177
- hostId,
1178
- slottedNodes
1179
- );
1180
- }
1181
- } else if (node.nodeType === 8 /* CommentNode */) {
1182
- childIdSplt = node.nodeValue.split(".");
1183
- if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1184
- childNodeType = childIdSplt[0];
1185
- childVNode = createSimpleVNode({
1186
- $hostId$: childIdSplt[1],
1187
- $nodeId$: childIdSplt[2],
1188
- $depth$: childIdSplt[3],
1189
- $index$: childIdSplt[4] || "0",
1190
- $elm$: node,
1191
- $attrs$: null,
1192
- $children$: null,
1193
- $key$: null,
1194
- $name$: null,
1195
- $tag$: null,
1196
- $text$: null
1197
- });
1198
- if (childNodeType === TEXT_NODE_ID) {
1199
- childVNode.$elm$ = node.nextSibling;
1200
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1201
- childVNode.$text$ = childVNode.$elm$.textContent;
1202
- childRenderNodes.push(childVNode);
1203
- node.remove();
1204
- if (hostId === childVNode.$hostId$) {
1205
- if (!parentVNode.$children$) {
1206
- parentVNode.$children$ = [];
1207
- }
1208
- parentVNode.$children$[childVNode.$index$] = childVNode;
1209
- }
1210
- if (shadowRootNodes && childVNode.$depth$ === "0") {
1211
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1445
+ patch(oldEndVnode, newStartVnode, isInitialRender);
1446
+ insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
1447
+ oldEndVnode = oldCh[--oldEndIdx];
1448
+ newStartVnode = newCh[++newStartIdx];
1449
+ } else {
1450
+ idxInOld = -1;
1451
+ {
1452
+ for (i2 = oldStartIdx; i2 <= oldEndIdx; ++i2) {
1453
+ if (oldCh[i2] && oldCh[i2].$key$ !== null && oldCh[i2].$key$ === newStartVnode.$key$) {
1454
+ idxInOld = i2;
1455
+ break;
1212
1456
  }
1213
1457
  }
1214
- } else if (childNodeType === COMMENT_NODE_ID) {
1215
- childVNode.$elm$ = node.nextSibling;
1216
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1217
- childRenderNodes.push(childVNode);
1218
- node.remove();
1458
+ }
1459
+ if (idxInOld >= 0) {
1460
+ elmToMove = oldCh[idxInOld];
1461
+ if (elmToMove.$tag$ !== newStartVnode.$tag$) {
1462
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, idxInOld);
1463
+ } else {
1464
+ patch(elmToMove, newStartVnode, isInitialRender);
1465
+ oldCh[idxInOld] = void 0;
1466
+ node = elmToMove.$elm$;
1219
1467
  }
1220
- } else if (childVNode.$hostId$ === hostId) {
1221
- if (childNodeType === SLOT_NODE_ID) {
1222
- childVNode.$tag$ = "slot";
1223
- const slotName = node["s-sn"] = childVNode.$name$ = childIdSplt[5] || "";
1224
- addSlot(
1225
- slotName,
1226
- childIdSplt[2],
1227
- childVNode,
1468
+ newStartVnode = newCh[++newStartIdx];
1469
+ } else {
1470
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode2, newStartIdx);
1471
+ newStartVnode = newCh[++newStartIdx];
1472
+ }
1473
+ if (node) {
1474
+ {
1475
+ insertBefore(
1476
+ referenceNode(oldStartVnode.$elm$).parentNode,
1228
1477
  node,
1229
- parentVNode,
1230
- childRenderNodes,
1231
- slotNodes,
1232
- shadowRootNodes,
1233
- slottedNodes
1478
+ referenceNode(oldStartVnode.$elm$)
1234
1479
  );
1235
- } else if (childNodeType === CONTENT_REF_ID) {
1236
- {
1237
- hostElm["s-cr"] = node;
1238
- node["s-cn"] = true;
1239
- }
1240
1480
  }
1241
1481
  }
1242
1482
  }
1243
- } else if (parentVNode && parentVNode.$tag$ === "style") {
1244
- const vnode = newVNode(null, node.textContent);
1245
- vnode.$elm$ = node;
1246
- vnode.$index$ = "0";
1247
- parentVNode.$children$ = [vnode];
1248
1483
  }
1249
- return parentVNode;
1484
+ if (oldStartIdx > oldEndIdx) {
1485
+ addVnodes(
1486
+ parentElm,
1487
+ newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$,
1488
+ newVNode2,
1489
+ newCh,
1490
+ newStartIdx,
1491
+ newEndIdx
1492
+ );
1493
+ } else if (newStartIdx > newEndIdx) {
1494
+ removeVnodes(oldCh, oldStartIdx, oldEndIdx);
1495
+ }
1250
1496
  };
1251
- var initializeDocumentHydrate = (node, orgLocNodes) => {
1252
- if (node.nodeType === 1 /* ElementNode */) {
1253
- const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1254
- if (componentId) {
1255
- orgLocNodes.set(componentId, node);
1256
- }
1257
- let i2 = 0;
1258
- if (node.shadowRoot) {
1259
- for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1260
- initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1261
- }
1497
+ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1498
+ if (leftVNode.$tag$ === rightVNode.$tag$) {
1499
+ if (leftVNode.$tag$ === "slot") {
1500
+ return leftVNode.$name$ === rightVNode.$name$;
1262
1501
  }
1263
- const nonShadowNodes = node.__childNodes || node.childNodes;
1264
- for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1265
- initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
1502
+ if (!isInitialRender) {
1503
+ return leftVNode.$key$ === rightVNode.$key$;
1266
1504
  }
1267
- } else if (node.nodeType === 8 /* CommentNode */) {
1268
- const childIdSplt = node.nodeValue.split(".");
1269
- if (childIdSplt[0] === ORG_LOCATION_ID) {
1270
- orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
1271
- node.nodeValue = "";
1272
- node["s-en"] = childIdSplt[3];
1505
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
1506
+ leftVNode.$key$ = rightVNode.$key$;
1273
1507
  }
1508
+ return true;
1274
1509
  }
1510
+ return false;
1275
1511
  };
1276
- var createSimpleVNode = (vnode) => {
1277
- const defaultVNode = {
1278
- $flags$: 0,
1279
- $hostId$: null,
1280
- $nodeId$: null,
1281
- $depth$: null,
1282
- $index$: "0",
1283
- $elm$: null,
1284
- $attrs$: null,
1285
- $children$: null,
1286
- $key$: null,
1287
- $name$: null,
1288
- $tag$: null,
1289
- $text$: null
1290
- };
1291
- return { ...defaultVNode, ...vnode };
1292
- };
1293
- function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1294
- node["s-sr"] = true;
1295
- const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1296
- {
1297
- const slot = childVNode.$elm$;
1298
- const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1299
- addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1300
- if (shouldMove) {
1301
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1512
+ var referenceNode = (node) => node && node["s-ol"] || node;
1513
+ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1514
+ const elm = newVNode2.$elm$ = oldVNode.$elm$;
1515
+ const oldChildren = oldVNode.$children$;
1516
+ const newChildren = newVNode2.$children$;
1517
+ const tag = newVNode2.$tag$;
1518
+ const text = newVNode2.$text$;
1519
+ let defaultHolder;
1520
+ if (text === null) {
1521
+ {
1522
+ isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
1302
1523
  }
1303
- childRenderNodes.push(childVNode);
1304
- }
1305
- slotNodes.push(childVNode);
1306
- if (!parentVNode.$children$) {
1307
- parentVNode.$children$ = [];
1308
- }
1309
- parentVNode.$children$[childVNode.$index$] = childVNode;
1310
- }
1311
- var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1312
- let slottedNode = slotNode.nextSibling;
1313
- slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1314
- while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
1315
- slottedNode["s-sn"] = slotName;
1316
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1317
- slottedNode = slottedNode.nextSibling;
1524
+ {
1525
+ updateElement(oldVNode, newVNode2, isSvgMode, isInitialRender);
1526
+ }
1527
+ if (oldChildren !== null && newChildren !== null) {
1528
+ updateChildren(elm, oldChildren, newVNode2, newChildren, isInitialRender);
1529
+ } else if (newChildren !== null) {
1530
+ if (oldVNode.$text$ !== null) {
1531
+ elm.textContent = "";
1532
+ }
1533
+ addVnodes(elm, null, newVNode2, newChildren, 0, newChildren.length - 1);
1534
+ } else if (
1535
+ // don't do this on initial render as it can cause non-hydrated content to be removed
1536
+ !isInitialRender && BUILD.updatable && oldChildren !== null
1537
+ ) {
1538
+ removeVnodes(oldChildren, 0, oldChildren.length - 1);
1539
+ }
1540
+ if (isSvgMode && tag === "svg") {
1541
+ isSvgMode = false;
1542
+ }
1543
+ } else if ((defaultHolder = elm["s-cr"])) {
1544
+ defaultHolder.parentNode.textContent = text;
1545
+ } else if (oldVNode.$text$ !== text) {
1546
+ elm.data = text;
1318
1547
  }
1319
1548
  };
1320
- var parsePropertyValue = (propValue, propType) => {
1321
- if (propValue != null && !isComplexType(propValue)) {
1322
- if (propType & 4 /* Boolean */) {
1323
- return propValue === "false" ? false : propValue === "" || !!propValue;
1324
- }
1325
- if (propType & 2 /* Number */) {
1326
- return parseFloat(propValue);
1549
+ var relocateNodes = [];
1550
+ var markSlotContentForRelocation = (elm) => {
1551
+ let node;
1552
+ let hostContentNodes;
1553
+ let j;
1554
+ const children = elm.__childNodes || elm.childNodes;
1555
+ for (const childNode of children) {
1556
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1557
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1558
+ const slotName = childNode["s-sn"];
1559
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1560
+ node = hostContentNodes[j];
1561
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (true)) {
1562
+ if (isNodeLocatedInSlot(node, slotName)) {
1563
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1564
+ checkSlotFallbackVisibility = true;
1565
+ node["s-sn"] = node["s-sn"] || slotName;
1566
+ if (relocateNodeData) {
1567
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
1568
+ relocateNodeData.$slotRefNode$ = childNode;
1569
+ } else {
1570
+ node["s-sh"] = childNode["s-hn"];
1571
+ relocateNodes.push({
1572
+ $slotRefNode$: childNode,
1573
+ $nodeToRelocate$: node
1574
+ });
1575
+ }
1576
+ if (node["s-sr"]) {
1577
+ relocateNodes.map((relocateNode) => {
1578
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
1579
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1580
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1581
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1582
+ }
1583
+ }
1584
+ });
1585
+ }
1586
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1587
+ relocateNodes.push({
1588
+ $nodeToRelocate$: node
1589
+ });
1590
+ }
1591
+ }
1592
+ }
1327
1593
  }
1328
- if (propType & 1 /* String */) {
1329
- return String(propValue);
1594
+ if (childNode.nodeType === 1 /* ElementNode */) {
1595
+ markSlotContentForRelocation(childNode);
1330
1596
  }
1331
- return propValue;
1332
1597
  }
1333
- return propValue;
1334
1598
  };
1335
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1336
-
1337
- // src/runtime/event-emitter.ts
1338
- var createEvent = (ref, name, flags) => {
1339
- const elm = getElement(ref);
1340
- return {
1341
- emit: (detail) => {
1342
- return emitEvent(elm, name, {
1343
- bubbles: !!(flags & 4 /* Bubbles */),
1344
- composed: !!(flags & 2 /* Composed */),
1345
- cancelable: !!(flags & 1 /* Cancellable */),
1346
- detail
1347
- });
1348
- }
1349
- };
1599
+ var nullifyVNodeRefs = (vNode) => {
1600
+ {
1601
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1602
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1603
+ }
1350
1604
  };
1351
- var emitEvent = (elm, name, opts) => {
1352
- const ev = plt.ce(name, opts);
1353
- elm.dispatchEvent(ev);
1354
- return ev;
1605
+ var insertBefore = (parent, newNode, reference) => {
1606
+ {
1607
+ return parent == null ? void 0 : parent.insertBefore(newNode, reference);
1608
+ }
1355
1609
  };
1356
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1357
- var registerStyle = (scopeId2, cssText, allowCS) => {
1358
- let style = styles.get(scopeId2);
1359
- if (supportsConstructableStylesheets && allowCS) {
1360
- style = style || new CSSStyleSheet();
1361
- if (typeof style === "string") {
1362
- style = cssText;
1363
- } else {
1364
- style.replaceSync(cssText);
1610
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1611
+ var _a, _b, _c, _d;
1612
+ const hostElm = hostRef.$hostElement$;
1613
+ const cmpMeta = hostRef.$cmpMeta$;
1614
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1615
+ const isHostElement = isHost(renderFnResults);
1616
+ const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
1617
+ hostTagName = hostElm.tagName;
1618
+ if (cmpMeta.$attrsToReflect$) {
1619
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1620
+ cmpMeta.$attrsToReflect$.map(
1621
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1622
+ );
1623
+ }
1624
+ if (isInitialLoad && rootVnode.$attrs$) {
1625
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1626
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
1627
+ rootVnode.$attrs$[key] = hostElm[key];
1628
+ }
1365
1629
  }
1366
- } else {
1367
- style = cssText;
1368
1630
  }
1369
- styles.set(scopeId2, style);
1370
- };
1371
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1372
- var _a;
1373
- const scopeId2 = getScopeId(cmpMeta);
1374
- const style = styles.get(scopeId2);
1375
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1376
- if (style) {
1377
- if (typeof style === "string") {
1378
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1379
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1380
- let styleElm;
1381
- if (!appliedStyles) {
1382
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1631
+ rootVnode.$tag$ = null;
1632
+ rootVnode.$flags$ |= 4 /* isHost */;
1633
+ hostRef.$vnode$ = rootVnode;
1634
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
1635
+ useNativeShadowDom = supportsShadow;
1636
+ {
1637
+ contentRef = hostElm["s-cr"];
1638
+ checkSlotFallbackVisibility = false;
1639
+ }
1640
+ patch(oldVNode, rootVnode, isInitialLoad);
1641
+ {
1642
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1643
+ if (checkSlotRelocate) {
1644
+ markSlotContentForRelocation(rootVnode.$elm$);
1645
+ for (const relocateData of relocateNodes) {
1646
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1647
+ if (!nodeToRelocate["s-ol"] && win.document) {
1648
+ const orgLocationNode = win.document.createTextNode("");
1649
+ orgLocationNode["s-nr"] = nodeToRelocate;
1650
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1651
+ }
1383
1652
  }
1384
- if (!appliedStyles.has(scopeId2)) {
1385
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1386
- styleElm.innerHTML = style;
1387
- } else {
1388
- styleElm = doc.createElement("style");
1389
- styleElm.innerHTML = style;
1390
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1391
- if (nonce != null) {
1392
- styleElm.setAttribute("nonce", nonce);
1393
- }
1394
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1395
- if (styleContainerNode.nodeName === "HEAD") {
1396
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1397
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1398
- styleContainerNode.insertBefore(styleElm, referenceNode2);
1399
- } else if ("host" in styleContainerNode) {
1400
- if (supportsConstructableStylesheets) {
1401
- const stylesheet = new CSSStyleSheet();
1402
- stylesheet.replaceSync(style);
1403
- styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets];
1404
- } else {
1405
- const existingStyleContainer = styleContainerNode.querySelector("style");
1406
- if (existingStyleContainer) {
1407
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1408
- } else {
1409
- styleContainerNode.prepend(styleElm);
1653
+ for (const relocateData of relocateNodes) {
1654
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1655
+ const slotRefNode = relocateData.$slotRefNode$;
1656
+ if (slotRefNode) {
1657
+ const parentNodeRef = slotRefNode.parentNode;
1658
+ let insertBeforeNode = slotRefNode.nextSibling;
1659
+ {
1660
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1661
+ while (orgLocationNode) {
1662
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1663
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1664
+ refNode = refNode.nextSibling;
1665
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1666
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1667
+ }
1668
+ if (!refNode || !refNode["s-nr"]) {
1669
+ insertBeforeNode = refNode;
1670
+ break;
1410
1671
  }
1411
1672
  }
1412
- } else {
1413
- styleContainerNode.append(styleElm);
1673
+ orgLocationNode = orgLocationNode.previousSibling;
1414
1674
  }
1415
1675
  }
1416
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
1417
- styleContainerNode.insertBefore(styleElm, null);
1676
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1677
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1678
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1679
+ if (nodeToRelocate !== insertBeforeNode) {
1680
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1681
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1682
+ }
1683
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1684
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1685
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1686
+ }
1687
+ }
1688
+ }
1689
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1690
+ } else {
1691
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1692
+ if (isInitialLoad) {
1693
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1694
+ }
1695
+ nodeToRelocate.hidden = true;
1418
1696
  }
1419
- }
1420
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1421
- styleElm.innerHTML += SLOT_FB_CSS;
1422
- }
1423
- if (appliedStyles) {
1424
- appliedStyles.add(scopeId2);
1425
1697
  }
1426
1698
  }
1427
- } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
1428
- styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
1429
1699
  }
1700
+ if (checkSlotFallbackVisibility) {
1701
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1702
+ }
1703
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1704
+ relocateNodes.length = 0;
1430
1705
  }
1431
- return scopeId2;
1432
- };
1433
- var attachStyles = (hostRef) => {
1434
- const cmpMeta = hostRef.$cmpMeta$;
1435
- const elm = hostRef.$hostElement$;
1436
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1437
- addStyle(
1438
- elm.getRootNode(),
1439
- cmpMeta);
1440
- endAttachStyles();
1706
+ contentRef = void 0;
1441
1707
  };
1442
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1443
1708
 
1444
1709
  // src/runtime/update-component.ts
1445
1710
  var attachToAncestor = (hostRef, ancestorComponent) => {
1446
1711
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent["s-p"]) {
1447
- ancestorComponent["s-p"].push(new Promise((r) => hostRef.$onRenderResolve$ = r));
1712
+ const index = ancestorComponent["s-p"].push(
1713
+ new Promise(
1714
+ (r) => hostRef.$onRenderResolve$ = () => {
1715
+ ancestorComponent["s-p"].splice(index - 1, 1);
1716
+ r();
1717
+ }
1718
+ )
1719
+ );
1448
1720
  }
1449
1721
  };
1450
1722
  var scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -1473,17 +1745,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
1473
1745
  {
1474
1746
  hostRef.$flags$ |= 256 /* isListenReady */;
1475
1747
  if (hostRef.$queuedListeners$) {
1476
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1748
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
1477
1749
  hostRef.$queuedListeners$ = void 0;
1478
1750
  }
1479
1751
  }
1480
- {
1481
- maybePromise = safeCall(instance, "componentWillLoad");
1482
- }
1483
- }
1484
- {
1485
- maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender"));
1752
+ maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
1753
+ } else {
1754
+ maybePromise = safeCall(instance, "componentWillUpdate", void 0, elm);
1486
1755
  }
1756
+ maybePromise = enqueue(maybePromise, () => safeCall(instance, "componentWillRender", void 0, elm));
1487
1757
  endSchedule();
1488
1758
  return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1489
1759
  };
@@ -1528,7 +1798,7 @@ var callRender = (hostRef, instance, elm, isInitialLoad) => {
1528
1798
  renderingRef = instance;
1529
1799
  instance = instance.render && instance.render();
1530
1800
  {
1531
- hostRef.$flags$ &= ~16 /* isQueuedForUpdate */;
1801
+ hostRef.$flags$ &= -17 /* isQueuedForUpdate */;
1532
1802
  }
1533
1803
  {
1534
1804
  hostRef.$flags$ |= 2 /* hasRendered */;
@@ -1553,17 +1823,13 @@ var postUpdateComponent = (hostRef) => {
1553
1823
  const endPostUpdate = createTime("postUpdate", tagName);
1554
1824
  const instance = hostRef.$lazyInstance$ ;
1555
1825
  const ancestorComponent = hostRef.$ancestorComponent$;
1556
- {
1557
- safeCall(instance, "componentDidRender");
1558
- }
1826
+ safeCall(instance, "componentDidRender", void 0, elm);
1559
1827
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1560
1828
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1561
1829
  {
1562
1830
  addHydratedFlag(elm);
1563
1831
  }
1564
- {
1565
- safeCall(instance, "componentDidLoad");
1566
- }
1832
+ safeCall(instance, "componentDidLoad", void 0, elm);
1567
1833
  endPostUpdate();
1568
1834
  {
1569
1835
  hostRef.$onReadyResolve$(elm);
@@ -1572,6 +1838,7 @@ var postUpdateComponent = (hostRef) => {
1572
1838
  }
1573
1839
  }
1574
1840
  } else {
1841
+ safeCall(instance, "componentDidUpdate", void 0, elm);
1575
1842
  endPostUpdate();
1576
1843
  }
1577
1844
  {
@@ -1585,7 +1852,7 @@ var postUpdateComponent = (hostRef) => {
1585
1852
  if (hostRef.$flags$ & 512 /* needsRerender */) {
1586
1853
  nextTick(() => scheduleUpdate(hostRef, false));
1587
1854
  }
1588
- hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */);
1855
+ hostRef.$flags$ &= -517;
1589
1856
  }
1590
1857
  };
1591
1858
  var forceUpdate = (ref) => {
@@ -1599,17 +1866,14 @@ var forceUpdate = (ref) => {
1599
1866
  }
1600
1867
  };
1601
1868
  var appDidLoad = (who) => {
1602
- {
1603
- addHydratedFlag(doc.documentElement);
1604
- }
1605
1869
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
1606
1870
  };
1607
- var safeCall = (instance, method, arg) => {
1871
+ var safeCall = (instance, method, arg, elm) => {
1608
1872
  if (instance && instance[method]) {
1609
1873
  try {
1610
1874
  return instance[method](arg);
1611
1875
  } catch (e) {
1612
- consoleError(e);
1876
+ consoleError(e, elm);
1613
1877
  }
1614
1878
  }
1615
1879
  return void 0;
@@ -1625,7 +1889,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1625
1889
  const hostRef = getHostRef(ref);
1626
1890
  if (!hostRef) {
1627
1891
  throw new Error(
1628
- `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/ionic-team/stencil/issues/5457).`
1892
+ `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).`
1629
1893
  );
1630
1894
  }
1631
1895
  const elm = hostRef.$hostElement$ ;
@@ -1651,6 +1915,11 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1651
1915
  }
1652
1916
  }
1653
1917
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1918
+ if (instance.componentShouldUpdate) {
1919
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1920
+ return;
1921
+ }
1922
+ }
1654
1923
  scheduleUpdate(hostRef, false);
1655
1924
  }
1656
1925
  }
@@ -1668,62 +1937,69 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1668
1937
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1669
1938
  members.map(([memberName, [memberFlags]]) => {
1670
1939
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1671
- if ((memberFlags & 2048 /* Getter */) === 0) {
1940
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1941
+ if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1942
+ if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1943
+ if (flags & 1 /* isElementConstructor */ || !origGetter) {
1672
1944
  Object.defineProperty(prototype, memberName, {
1673
1945
  get() {
1674
- return getValue(this, memberName);
1675
- },
1676
- set(newValue) {
1677
- setValue(this, memberName, newValue, cmpMeta);
1678
- },
1679
- configurable: true,
1680
- enumerable: true
1681
- });
1682
- } else if (flags & 1 /* isElementConstructor */ && memberFlags & 2048 /* Getter */) {
1683
- {
1684
- Object.defineProperty(prototype, memberName, {
1685
- get() {
1946
+ {
1947
+ if ((cmpMeta.$members$[memberName][0] & 2048 /* Getter */) === 0) {
1948
+ return getValue(this, memberName);
1949
+ }
1686
1950
  const ref = getHostRef(this);
1687
1951
  const instance = ref ? ref.$lazyInstance$ : prototype;
1688
1952
  if (!instance) return;
1689
1953
  return instance[memberName];
1690
- },
1691
- configurable: true,
1692
- enumerable: true
1693
- });
1694
- }
1695
- if (memberFlags & 4096 /* Setter */) {
1696
- const origSetter = Object.getOwnPropertyDescriptor(prototype, memberName).set;
1697
- Object.defineProperty(prototype, memberName, {
1698
- set(newValue) {
1699
- const ref = getHostRef(this);
1700
- if (origSetter) {
1701
- const currentValue = ref.$hostElement$[memberName];
1702
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1703
- ref.$instanceValues$.set(memberName, currentValue);
1704
- }
1705
- origSetter.apply(this, [parsePropertyValue(newValue, cmpMeta.$members$[memberName][0])]);
1706
- setValue(this, memberName, ref.$hostElement$[memberName], cmpMeta);
1707
- return;
1954
+ }
1955
+ },
1956
+ configurable: true,
1957
+ enumerable: true
1958
+ });
1959
+ }
1960
+ Object.defineProperty(prototype, memberName, {
1961
+ set(newValue) {
1962
+ const ref = getHostRef(this);
1963
+ if (origSetter) {
1964
+ const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1965
+ if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
1966
+ newValue = ref.$instanceValues$.get(memberName);
1967
+ } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
1968
+ ref.$instanceValues$.set(memberName, currentValue);
1969
+ }
1970
+ origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
1971
+ newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
1972
+ setValue(this, memberName, newValue, cmpMeta);
1973
+ return;
1974
+ }
1975
+ {
1976
+ if ((flags & 1 /* isElementConstructor */) === 0 || (cmpMeta.$members$[memberName][0] & 4096 /* Setter */) === 0) {
1977
+ setValue(this, memberName, newValue, cmpMeta);
1978
+ if (flags & 1 /* isElementConstructor */ && !ref.$lazyInstance$) {
1979
+ ref.$onReadyPromise$.then(() => {
1980
+ if (cmpMeta.$members$[memberName][0] & 4096 /* Setter */ && ref.$lazyInstance$[memberName] !== ref.$instanceValues$.get(memberName)) {
1981
+ ref.$lazyInstance$[memberName] = newValue;
1982
+ }
1983
+ });
1708
1984
  }
1709
- if (!ref) return;
1710
- const setterSetVal = () => {
1711
- const currentValue = ref.$lazyInstance$[memberName];
1712
- if (!ref.$instanceValues$.get(memberName) && currentValue) {
1713
- ref.$instanceValues$.set(memberName, currentValue);
1714
- }
1715
- ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, cmpMeta.$members$[memberName][0]);
1716
- setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1717
- };
1718
- if (ref.$lazyInstance$) {
1719
- setterSetVal();
1720
- } else {
1721
- ref.$onReadyPromise$.then(() => setterSetVal());
1985
+ return;
1986
+ }
1987
+ const setterSetVal = () => {
1988
+ const currentValue = ref.$lazyInstance$[memberName];
1989
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1990
+ ref.$instanceValues$.set(memberName, currentValue);
1722
1991
  }
1992
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, memberFlags);
1993
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1994
+ };
1995
+ if (ref.$lazyInstance$) {
1996
+ setterSetVal();
1997
+ } else {
1998
+ ref.$onReadyPromise$.then(() => setterSetVal());
1723
1999
  }
1724
- });
2000
+ }
1725
2001
  }
1726
- }
2002
+ });
1727
2003
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1728
2004
  Object.defineProperty(prototype, memberName, {
1729
2005
  value(...args) {
@@ -1743,7 +2019,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1743
2019
  plt.jmp(() => {
1744
2020
  var _a2;
1745
2021
  const propName = attrNameToPropName.get(attrName);
1746
- if (this.hasOwnProperty(propName)) {
2022
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1747
2023
  newValue = this[propName];
1748
2024
  delete this[propName];
1749
2025
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -1764,8 +2040,9 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1764
2040
  return;
1765
2041
  }
1766
2042
  const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1767
- if (!propDesc.get || !!propDesc.set) {
1768
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2043
+ newValue = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
2044
+ if (newValue !== this[propName] && (!propDesc.get || !!propDesc.set)) {
2045
+ this[propName] = newValue;
1769
2046
  }
1770
2047
  });
1771
2048
  };
@@ -1795,7 +2072,7 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1795
2072
  hostRef.$flags$ |= 32 /* hasInitializedComponent */;
1796
2073
  const bundleId = cmpMeta.$lazyBundleId$;
1797
2074
  if (bundleId) {
1798
- const CstrImport = loadModule(cmpMeta);
2075
+ const CstrImport = loadModule(cmpMeta, hostRef);
1799
2076
  if (CstrImport && "then" in CstrImport) {
1800
2077
  const endLoad = uniqueTime();
1801
2078
  Cstr = await CstrImport;
@@ -1820,16 +2097,16 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1820
2097
  try {
1821
2098
  new Cstr(hostRef);
1822
2099
  } catch (e) {
1823
- consoleError(e);
2100
+ consoleError(e, elm);
1824
2101
  }
1825
2102
  {
1826
- hostRef.$flags$ &= ~8 /* isConstructingInstance */;
2103
+ hostRef.$flags$ &= -9 /* isConstructingInstance */;
1827
2104
  }
1828
2105
  {
1829
2106
  hostRef.$flags$ |= 128 /* isWatchReady */;
1830
2107
  }
1831
2108
  endNewInstance();
1832
- fireConnectedCallback(hostRef.$lazyInstance$);
2109
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1833
2110
  } else {
1834
2111
  Cstr = elm.constructor;
1835
2112
  const cmpTag = elm.localName;
@@ -1856,9 +2133,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1856
2133
  schedule();
1857
2134
  }
1858
2135
  };
1859
- var fireConnectedCallback = (instance) => {
2136
+ var fireConnectedCallback = (instance, elm) => {
1860
2137
  {
1861
- safeCall(instance, "connectedCallback");
2138
+ safeCall(instance, "connectedCallback", void 0, elm);
1862
2139
  }
1863
2140
  };
1864
2141
 
@@ -1907,24 +2184,27 @@ var connectedCallback = (elm) => {
1907
2184
  } else {
1908
2185
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1909
2186
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1910
- fireConnectedCallback(hostRef.$lazyInstance$);
2187
+ fireConnectedCallback(hostRef.$lazyInstance$, elm);
1911
2188
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1912
- hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2189
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$, elm));
1913
2190
  }
1914
2191
  }
1915
2192
  endConnected();
1916
2193
  }
1917
2194
  };
1918
2195
  var setContentReference = (elm) => {
1919
- const contentRefElm = elm["s-cr"] = doc.createComment(
2196
+ if (!win.document) {
2197
+ return;
2198
+ }
2199
+ const contentRefElm = elm["s-cr"] = win.document.createComment(
1920
2200
  ""
1921
2201
  );
1922
2202
  contentRefElm["s-cn"] = true;
1923
2203
  insertBefore(elm, contentRefElm, elm.firstChild);
1924
2204
  };
1925
- var disconnectInstance = (instance) => {
2205
+ var disconnectInstance = (instance, elm) => {
1926
2206
  {
1927
- safeCall(instance, "disconnectedCallback");
2207
+ safeCall(instance, "disconnectedCallback", void 0, elm || instance);
1928
2208
  }
1929
2209
  };
1930
2210
  var disconnectedCallback = async (elm) => {
@@ -1937,28 +2217,38 @@ var disconnectedCallback = async (elm) => {
1937
2217
  }
1938
2218
  }
1939
2219
  if (hostRef == null ? void 0 : hostRef.$lazyInstance$) {
1940
- disconnectInstance(hostRef.$lazyInstance$);
2220
+ disconnectInstance(hostRef.$lazyInstance$, elm);
1941
2221
  } else if (hostRef == null ? void 0 : hostRef.$onReadyPromise$) {
1942
- hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
2222
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$, elm));
1943
2223
  }
1944
2224
  }
2225
+ if (rootAppliedStyles.has(elm)) {
2226
+ rootAppliedStyles.delete(elm);
2227
+ }
2228
+ if (elm.shadowRoot && rootAppliedStyles.has(elm.shadowRoot)) {
2229
+ rootAppliedStyles.delete(elm.shadowRoot);
2230
+ }
1945
2231
  };
1946
2232
 
1947
2233
  // src/runtime/bootstrap-lazy.ts
1948
2234
  var bootstrapLazy = (lazyBundles, options = {}) => {
1949
2235
  var _a;
2236
+ if (!win.document) {
2237
+ console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");
2238
+ return;
2239
+ }
1950
2240
  const endBootstrap = createTime();
1951
2241
  const cmpTags = [];
1952
2242
  const exclude = options.exclude || [];
1953
2243
  const customElements2 = win.customElements;
1954
- const head = doc.head;
2244
+ const head = win.document.head;
1955
2245
  const metaCharset = /* @__PURE__ */ head.querySelector("meta[charset]");
1956
- const dataStyles = /* @__PURE__ */ doc.createElement("style");
2246
+ const dataStyles = /* @__PURE__ */ win.document.createElement("style");
1957
2247
  const deferredConnectedCallbacks = [];
1958
2248
  let appLoadFallback;
1959
2249
  let isBootstrapping = true;
1960
2250
  Object.assign(plt, options);
1961
- plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", doc.baseURI).href;
2251
+ plt.$resourcesUrl$ = new URL(options.resourcesUrl || "./", win.document.baseURI).href;
1962
2252
  {
1963
2253
  plt.$flags$ |= 2 /* appLoaded */;
1964
2254
  }
@@ -2014,6 +2304,17 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2014
2304
  }
2015
2305
  disconnectedCallback() {
2016
2306
  plt.jmp(() => disconnectedCallback(this));
2307
+ plt.raf(() => {
2308
+ var _a3;
2309
+ const hostRef = getHostRef(this);
2310
+ const i2 = deferredConnectedCallbacks.findIndex((host) => host === this);
2311
+ if (i2 > -1) {
2312
+ deferredConnectedCallbacks.splice(i2, 1);
2313
+ }
2314
+ if (((_a3 = hostRef == null ? void 0 : hostRef.$vnode$) == null ? void 0 : _a3.$elm$) instanceof Node && !hostRef.$vnode$.$elm$.isConnected) {
2315
+ delete hostRef.$vnode$.$elm$;
2316
+ }
2317
+ });
2017
2318
  }
2018
2319
  componentOnReady() {
2019
2320
  return getHostRef(this).$onReadyPromise$;
@@ -2035,7 +2336,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2035
2336
  }
2036
2337
  if (dataStyles.innerHTML.length) {
2037
2338
  dataStyles.setAttribute("data-styles", "");
2038
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
2339
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
2039
2340
  if (nonce != null) {
2040
2341
  dataStyles.setAttribute("nonce", nonce);
2041
2342
  }
@@ -2053,9 +2354,9 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2053
2354
  endBootstrap();
2054
2355
  };
2055
2356
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2056
- if (listeners) {
2357
+ if (listeners && win.document) {
2057
2358
  listeners.map(([flags, name, method]) => {
2058
- const target = getHostListenerTarget(elm, flags) ;
2359
+ const target = getHostListenerTarget(win.document, elm, flags) ;
2059
2360
  const handler = hostListenerProxy(hostRef, method);
2060
2361
  const opts = hostListenerOpts(flags);
2061
2362
  plt.ael(target, name, handler, opts);
@@ -2074,11 +2375,13 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
2074
2375
  }
2075
2376
  }
2076
2377
  } catch (e) {
2077
- consoleError(e);
2378
+ consoleError(e, hostRef.$hostElement$);
2078
2379
  }
2079
2380
  };
2080
- var getHostListenerTarget = (elm, flags) => {
2081
- if (flags & 4 /* TargetDocument */) return doc;
2381
+ var getHostListenerTarget = (doc, elm, flags) => {
2382
+ if (flags & 4 /* TargetDocument */) {
2383
+ return doc;
2384
+ }
2082
2385
  return elm;
2083
2386
  };
2084
2387
  var hostListenerOpts = (flags) => supportsListenerOptions ? {
@@ -2089,6 +2392,7 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
2089
2392
  // src/runtime/nonce.ts
2090
2393
  var setNonce = (nonce) => plt.$nonce$ = nonce;
2091
2394
 
2092
- export { Build as B, Host as H, getElement as a, bootstrapLazy as b, createEvent as c, forceUpdate as f, getRenderingRef as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2395
+ export { Build as B, Host as H, getRenderingRef as a, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2396
+ //# sourceMappingURL=index-CHLNwl4l.js.map
2093
2397
 
2094
- //# sourceMappingURL=index-f6fae858.js.map
2398
+ //# sourceMappingURL=index-CHLNwl4l.js.map