voyager-ionic-core 8.0.0-beta.3 → 8.0.0-rc.0

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 (562) hide show
  1. package/components/animation.js +9 -250
  2. package/components/button.js +18 -5
  3. package/components/haptic.js +6 -54
  4. package/components/helpers.js +1 -4
  5. package/components/index7.js +3 -1
  6. package/components/index9.js +5 -34
  7. package/components/ion-input-password-toggle.d.ts +11 -0
  8. package/components/ion-input-password-toggle.js +132 -0
  9. package/components/ion-input.js +27 -8
  10. package/components/ion-item-divider.js +2 -2
  11. package/components/ion-item-group.js +1 -1
  12. package/components/ion-item-option.js +2 -2
  13. package/components/ion-item-options.js +1 -1
  14. package/components/ion-item-sliding.js +1 -1
  15. package/components/ion-loading.js +2 -2
  16. package/components/ion-menu-button.js +3 -3
  17. package/components/ion-menu-toggle.js +2 -2
  18. package/components/ion-menu.js +2 -2
  19. package/components/ion-modal.js +3 -3
  20. package/components/ion-nav-link.js +1 -1
  21. package/components/ion-nav.js +1 -1
  22. package/components/ion-note.js +2 -2
  23. package/components/ion-picker-legacy.js +2 -2
  24. package/components/ion-progress-bar.js +1 -1
  25. package/components/ion-range.js +3 -3
  26. package/components/ion-refresher-content.js +2 -2
  27. package/components/ion-refresher.js +1 -1
  28. package/components/ion-reorder-group.js +1 -1
  29. package/components/ion-reorder.js +2 -2
  30. package/components/ion-router-link.js +2 -2
  31. package/components/ion-router-outlet.js +1 -1
  32. package/components/ion-row.js +1 -1
  33. package/components/ion-searchbar.js +7 -7
  34. package/components/ion-segment-button.js +3 -3
  35. package/components/ion-segment.js +2 -2
  36. package/components/ion-select-option.js +1 -1
  37. package/components/ion-select.js +3 -3
  38. package/components/ion-skeleton-text.js +2 -2
  39. package/components/ion-split-pane.js +2 -2
  40. package/components/ion-tab-bar.js +2 -2
  41. package/components/ion-tab-button.js +2 -2
  42. package/components/ion-tab.js +2 -2
  43. package/components/ion-tabs.js +1 -1
  44. package/components/ion-text.js +2 -2
  45. package/components/ion-textarea.js +2 -3
  46. package/components/ion-thumbnail.js +1 -1
  47. package/components/ion-title.js +2 -2
  48. package/components/ion-toast.js +2 -2
  49. package/components/ion-toggle.js +4 -4
  50. package/components/ion-toolbar.js +2 -2
  51. package/components/label.js +2 -2
  52. package/components/list-header.js +2 -2
  53. package/components/list.js +1 -1
  54. package/components/picker-column-option.js +2 -2
  55. package/components/picker-column2.js +2 -2
  56. package/components/popover.js +2 -2
  57. package/components/radio-group.js +1 -1
  58. package/components/radio.js +3 -3
  59. package/components/ripple-effect.js +1 -1
  60. package/components/select-popover.js +1 -1
  61. package/components/spinner.js +1 -1
  62. package/dist/cjs/{animation-58ecfe20.js → animation-b4fdf128.js} +9 -250
  63. package/dist/cjs/{app-globals-e132c781.js → app-globals-63aebf89.js} +1 -1
  64. package/dist/cjs/{button-active-60ecf64d.js → button-active-bd13859e.js} +2 -2
  65. package/dist/cjs/{framework-delegate-df3a2b04.js → framework-delegate-55f5683a.js} +1 -1
  66. package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
  67. package/dist/cjs/{hardware-back-button-1c67a5a2.js → hardware-back-button-ad9299b4.js} +2 -2
  68. package/dist/cjs/{helpers-71097d9c.js → helpers-afaa9001.js} +0 -4
  69. package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
  70. package/dist/cjs/{index-7479ea5a.js → index-5b6a7459.js} +1 -1
  71. package/dist/cjs/{index-289297dc.js → index-5cf05f94.js} +4 -4
  72. package/dist/cjs/{index-a91a3e24.js → index-9509ecad.js} +5 -34
  73. package/dist/cjs/{index-2d21d526.js → index-af6d0fbb.js} +16 -4
  74. package/dist/cjs/{index-14ae0c27.js → index-ff66cc7c.js} +4 -4
  75. package/dist/cjs/index.cjs.js +11 -11
  76. package/dist/cjs/{input-shims-77b14f24.js → input-shims-20d639e6.js} +2 -2
  77. package/dist/cjs/{input.utils-ca74d73a.js → input.utils-611cde0b.js} +1 -1
  78. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -9
  80. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  81. package/dist/cjs/ion-app_8.cjs.entry.js +17 -17
  82. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  83. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  84. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  85. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +4 -4
  86. package/dist/cjs/ion-button_2.cjs.entry.js +19 -7
  87. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  88. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  89. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  91. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-datetime_3.cjs.entry.js +13 -13
  93. package/dist/cjs/ion-fab_3.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  95. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
  96. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +93 -0
  97. package/dist/cjs/ion-input.cjs.entry.js +30 -12
  98. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  99. package/dist/cjs/ion-item_8.cjs.entry.js +16 -16
  100. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  101. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -15
  102. package/dist/cjs/ion-modal.cjs.entry.js +12 -12
  103. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  104. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  105. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-popover.cjs.entry.js +10 -10
  108. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  109. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -7
  110. package/dist/cjs/ion-range.cjs.entry.js +7 -7
  111. package/dist/cjs/ion-refresher_2.cjs.entry.js +9 -9
  112. package/dist/cjs/ion-reorder_2.cjs.entry.js +8 -8
  113. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  114. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  115. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -10
  116. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  117. package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
  118. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  119. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  120. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  121. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  122. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  123. package/dist/cjs/ion-textarea.cjs.entry.js +7 -8
  124. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  125. package/dist/cjs/ion-toggle.cjs.entry.js +8 -8
  126. package/dist/cjs/{ionic-global-5762eca9.js → ionic-global-1adf9bc4.js} +1 -1
  127. package/dist/cjs/ionic.cjs.js +5 -5
  128. package/dist/cjs/{ios.transition-8e0ca8ed.js → ios.transition-06673f18.js} +4 -4
  129. package/dist/cjs/loader.cjs.js +4 -4
  130. package/dist/cjs/{md.transition-5d0f134b.js → md.transition-4d7bb4b1.js} +4 -4
  131. package/dist/cjs/{notch-controller-0042ad49.js → notch-controller-d69150f5.js} +1 -1
  132. package/dist/cjs/{overlays-30b83581.js → overlays-6487955a.js} +4 -4
  133. package/dist/cjs/{status-tap-dc3b8fda.js → status-tap-0be20572.js} +3 -3
  134. package/dist/cjs/{swipe-back-49825f1f.js → swipe-back-f38a434a.js} +1 -1
  135. package/dist/collection/collection-manifest.json +3 -2
  136. package/dist/collection/components/button/button.ios.css +32 -10
  137. package/dist/collection/components/button/button.js +19 -2
  138. package/dist/collection/components/button/button.md.css +28 -13
  139. package/dist/collection/components/button/test/round/button.e2e.js +39 -4
  140. package/dist/collection/components/input/input.ios.css +9 -0
  141. package/dist/collection/components/input/input.js +27 -30
  142. package/dist/collection/components/input/input.md.css +9 -0
  143. package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
  144. package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
  145. package/dist/collection/components/input-password-toggle/test/a11y/input-password-toggle.e2e.js +21 -0
  146. package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +38 -0
  147. package/dist/collection/components/input-password-toggle/test/input-password-toggle.spec.js +76 -0
  148. package/dist/collection/components/item-divider/item-divider.js +2 -2
  149. package/dist/collection/components/item-group/item-group.js +1 -1
  150. package/dist/collection/components/item-option/item-option.js +2 -2
  151. package/dist/collection/components/item-options/item-options.js +1 -1
  152. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  153. package/dist/collection/components/label/label.js +2 -2
  154. package/dist/collection/components/list/list.js +1 -1
  155. package/dist/collection/components/list-header/list-header.js +2 -2
  156. package/dist/collection/components/loading/loading.js +2 -2
  157. package/dist/collection/components/menu/menu.js +2 -2
  158. package/dist/collection/components/menu-button/menu-button.js +2 -2
  159. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  160. package/dist/collection/components/modal/modal.js +3 -3
  161. package/dist/collection/components/nav/nav.js +1 -1
  162. package/dist/collection/components/nav-link/nav-link.js +1 -1
  163. package/dist/collection/components/note/note.js +2 -2
  164. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  165. package/dist/collection/components/picker-legacy/picker.js +2 -2
  166. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  167. package/dist/collection/components/popover/popover.js +2 -2
  168. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  169. package/dist/collection/components/radio/radio.js +3 -3
  170. package/dist/collection/components/radio-group/radio-group.js +1 -1
  171. package/dist/collection/components/range/range.js +3 -3
  172. package/dist/collection/components/refresher/refresher.js +1 -1
  173. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  174. package/dist/collection/components/reorder/reorder.js +1 -1
  175. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  176. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  177. package/dist/collection/components/router-link/router-link.js +2 -2
  178. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  179. package/dist/collection/components/row/row.js +1 -1
  180. package/dist/collection/components/searchbar/searchbar.js +10 -9
  181. package/dist/collection/components/segment/segment.js +2 -2
  182. package/dist/collection/components/segment-button/segment-button.js +3 -3
  183. package/dist/collection/components/select/select.js +2 -2
  184. package/dist/collection/components/select-option/select-option.js +1 -1
  185. package/dist/collection/components/select-popover/select-popover.js +1 -1
  186. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  187. package/dist/collection/components/spinner/spinner.js +1 -1
  188. package/dist/collection/components/split-pane/split-pane.js +2 -2
  189. package/dist/collection/components/tab/tab.js +2 -2
  190. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  191. package/dist/collection/components/tab-button/tab-button.js +2 -2
  192. package/dist/collection/components/tabs/tabs.js +1 -1
  193. package/dist/collection/components/text/text.js +2 -2
  194. package/dist/collection/components/textarea/textarea.js +2 -26
  195. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  196. package/dist/collection/components/title/title.js +2 -2
  197. package/dist/collection/components/toast/toast.js +2 -2
  198. package/dist/collection/components/toggle/toggle.js +3 -3
  199. package/dist/collection/components/toolbar/toolbar.js +2 -2
  200. package/dist/collection/utils/animation/animation-utils.js +0 -102
  201. package/dist/collection/utils/animation/animation.js +10 -141
  202. package/dist/collection/utils/animation/test/animation.spec.js +0 -89
  203. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
  204. package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
  205. package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
  206. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
  207. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
  208. package/dist/collection/utils/native/haptic.js +6 -54
  209. package/dist/collection/utils/tap-click/index.js +5 -34
  210. package/dist/docs.json +210 -35
  211. package/dist/esm/{animation-6a3c0abb.js → animation-eab5a4ca.js} +9 -250
  212. package/dist/esm/{app-globals-80842d68.js → app-globals-b8e5e7fa.js} +1 -1
  213. package/dist/esm/{button-active-c6e18fac.js → button-active-a411da52.js} +2 -2
  214. package/dist/esm/{framework-delegate-3dede018.js → framework-delegate-63d1a679.js} +1 -1
  215. package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
  216. package/dist/esm/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +2 -2
  217. package/dist/esm/{helpers-eab4f597.js → helpers-da915de8.js} +1 -4
  218. package/dist/esm/{index-95a691d4.js → index-10916999.js} +4 -4
  219. package/dist/esm/{index-044b5a86.js → index-5cc724f3.js} +1 -1
  220. package/dist/esm/{index-5d6a0317.js → index-6e4709ff.js} +16 -4
  221. package/dist/esm/{index-fa221975.js → index-79b30591.js} +5 -34
  222. package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
  223. package/dist/esm/{index-136e99c8.js → index-f1f5de26.js} +4 -4
  224. package/dist/esm/index.js +11 -11
  225. package/dist/esm/{input-shims-196afa11.js → input-shims-4530285e.js} +2 -2
  226. package/dist/esm/{input.utils-426cc674.js → input.utils-09c71bc7.js} +1 -1
  227. package/dist/esm/ion-accordion_2.entry.js +4 -4
  228. package/dist/esm/ion-action-sheet.entry.js +9 -9
  229. package/dist/esm/ion-alert.entry.js +9 -9
  230. package/dist/esm/ion-app_8.entry.js +17 -17
  231. package/dist/esm/ion-avatar_3.entry.js +3 -3
  232. package/dist/esm/ion-back-button.entry.js +4 -4
  233. package/dist/esm/ion-backdrop.entry.js +2 -2
  234. package/dist/esm/ion-breadcrumb_2.entry.js +4 -4
  235. package/dist/esm/ion-button_2.entry.js +19 -7
  236. package/dist/esm/ion-card_5.entry.js +3 -3
  237. package/dist/esm/ion-checkbox.entry.js +3 -3
  238. package/dist/esm/ion-chip.entry.js +2 -2
  239. package/dist/esm/ion-col_3.entry.js +3 -3
  240. package/dist/esm/ion-datetime-button.entry.js +3 -3
  241. package/dist/esm/ion-datetime_3.entry.js +13 -13
  242. package/dist/esm/ion-fab_3.entry.js +4 -4
  243. package/dist/esm/ion-img.entry.js +3 -3
  244. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
  245. package/dist/esm/ion-input-password-toggle.entry.js +89 -0
  246. package/dist/esm/ion-input.entry.js +30 -12
  247. package/dist/esm/ion-item-option_3.entry.js +8 -8
  248. package/dist/esm/ion-item_8.entry.js +16 -16
  249. package/dist/esm/ion-loading.entry.js +9 -9
  250. package/dist/esm/ion-menu_3.entry.js +15 -15
  251. package/dist/esm/ion-modal.entry.js +12 -12
  252. package/dist/esm/ion-nav_2.entry.js +8 -8
  253. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  254. package/dist/esm/ion-picker-column.entry.js +4 -4
  255. package/dist/esm/ion-picker.entry.js +2 -2
  256. package/dist/esm/ion-popover.entry.js +10 -10
  257. package/dist/esm/ion-progress-bar.entry.js +4 -4
  258. package/dist/esm/ion-radio_2.entry.js +7 -7
  259. package/dist/esm/ion-range.entry.js +7 -7
  260. package/dist/esm/ion-refresher_2.entry.js +9 -9
  261. package/dist/esm/ion-reorder_2.entry.js +8 -8
  262. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  263. package/dist/esm/ion-route_4.entry.js +5 -5
  264. package/dist/esm/ion-searchbar.entry.js +10 -10
  265. package/dist/esm/ion-segment_2.entry.js +8 -8
  266. package/dist/esm/ion-select_3.entry.js +12 -12
  267. package/dist/esm/ion-spinner.entry.js +3 -3
  268. package/dist/esm/ion-split-pane.entry.js +4 -4
  269. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  270. package/dist/esm/ion-tab_2.entry.js +6 -6
  271. package/dist/esm/ion-text.entry.js +4 -4
  272. package/dist/esm/ion-textarea.entry.js +7 -8
  273. package/dist/esm/ion-toast.entry.js +9 -9
  274. package/dist/esm/ion-toggle.entry.js +8 -8
  275. package/dist/esm/{ionic-global-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
  276. package/dist/esm/ionic.js +6 -6
  277. package/dist/esm/{ios.transition-d1c8eea2.js → ios.transition-8e181a7e.js} +4 -4
  278. package/dist/esm/loader.js +5 -5
  279. package/dist/esm/{md.transition-0d2de76d.js → md.transition-f1c3c737.js} +4 -4
  280. package/dist/esm/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
  281. package/dist/esm/{overlays-d41f74ac.js → overlays-9472c98b.js} +4 -4
  282. package/dist/esm/{status-tap-45595148.js → status-tap-39da9160.js} +3 -3
  283. package/dist/esm/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
  284. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  285. package/dist/esm-es5/app-globals-b8e5e7fa.js +4 -0
  286. package/dist/esm-es5/{button-active-c6e18fac.js → button-active-a411da52.js} +1 -1
  287. package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
  288. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  289. package/dist/esm-es5/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +1 -1
  290. package/dist/esm-es5/{helpers-eab4f597.js → helpers-da915de8.js} +1 -1
  291. package/dist/esm-es5/index-10916999.js +4 -0
  292. package/dist/esm-es5/{index-044b5a86.js → index-5cc724f3.js} +1 -1
  293. package/dist/esm-es5/index-6e4709ff.js +5 -0
  294. package/dist/esm-es5/index-79b30591.js +4 -0
  295. package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
  296. package/dist/esm-es5/{index-136e99c8.js → index-f1f5de26.js} +1 -1
  297. package/dist/esm-es5/index.js +1 -1
  298. package/dist/esm-es5/input-shims-4530285e.js +4 -0
  299. package/dist/esm-es5/{input.utils-426cc674.js → input.utils-09c71bc7.js} +1 -1
  300. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  301. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  302. package/dist/esm-es5/ion-alert.entry.js +1 -1
  303. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  304. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  305. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  306. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  307. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  308. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  309. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  310. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  311. package/dist/esm-es5/ion-chip.entry.js +1 -1
  312. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  313. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  314. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  315. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  316. package/dist/esm-es5/ion-img.entry.js +1 -1
  317. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  318. package/dist/esm-es5/ion-input-password-toggle.entry.js +4 -0
  319. package/dist/esm-es5/ion-input.entry.js +1 -1
  320. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  321. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  322. package/dist/esm-es5/ion-loading.entry.js +1 -1
  323. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  324. package/dist/esm-es5/ion-modal.entry.js +1 -1
  325. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  326. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  327. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  328. package/dist/esm-es5/ion-picker.entry.js +1 -1
  329. package/dist/esm-es5/ion-popover.entry.js +1 -1
  330. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  331. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  332. package/dist/esm-es5/ion-range.entry.js +1 -1
  333. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  334. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  335. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  336. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  337. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  338. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  340. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  341. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  342. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  343. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  344. package/dist/esm-es5/ion-text.entry.js +1 -1
  345. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  346. package/dist/esm-es5/ion-toast.entry.js +1 -1
  347. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  348. package/dist/esm-es5/{ionic-global-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
  349. package/dist/esm-es5/ionic.js +1 -1
  350. package/dist/esm-es5/{ios.transition-d1c8eea2.js → ios.transition-8e181a7e.js} +1 -1
  351. package/dist/esm-es5/loader.js +1 -1
  352. package/dist/esm-es5/md.transition-f1c3c737.js +4 -0
  353. package/dist/esm-es5/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
  354. package/dist/esm-es5/{overlays-d41f74ac.js → overlays-9472c98b.js} +1 -1
  355. package/dist/esm-es5/{status-tap-45595148.js → status-tap-39da9160.js} +1 -1
  356. package/dist/esm-es5/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
  357. package/dist/html.html-data.json +86 -18
  358. package/dist/ionic/index.esm.js +1 -1
  359. package/dist/ionic/ionic.esm.js +1 -1
  360. package/dist/ionic/ionic.js +1 -1
  361. package/dist/ionic/{p-92b05b70.system.entry.js → p-04070329.system.entry.js} +1 -1
  362. package/dist/ionic/p-049fa018.system.entry.js +4 -0
  363. package/dist/ionic/{p-325c61a4.js → p-06e58c4e.js} +1 -1
  364. package/dist/ionic/{p-7adde43c.system.entry.js → p-07ae133d.system.entry.js} +1 -1
  365. package/dist/ionic/p-0aa4682e.entry.js +4 -0
  366. package/dist/ionic/{p-d286cfbe.system.entry.js → p-0bbb6edf.system.entry.js} +1 -1
  367. package/dist/ionic/{p-4a3055ef.system.js → p-0c06e09b.system.js} +1 -1
  368. package/dist/ionic/{p-d8090ce4.entry.js → p-0de546bb.entry.js} +1 -1
  369. package/dist/ionic/{p-2852c537.system.entry.js → p-0ebb1fe7.system.entry.js} +1 -1
  370. package/dist/ionic/p-0f2d99a6.entry.js +4 -0
  371. package/dist/ionic/{p-1685d81c.system.entry.js → p-100bedc4.system.entry.js} +1 -1
  372. package/dist/ionic/{p-91567c90.system.entry.js → p-105f7d62.system.entry.js} +1 -1
  373. package/dist/ionic/{p-185db19b.system.entry.js → p-1672c4fd.system.entry.js} +1 -1
  374. package/dist/ionic/{p-fb870c48.entry.js → p-17978fce.entry.js} +1 -1
  375. package/dist/ionic/p-184fbc9e.system.js +4 -0
  376. package/dist/ionic/{p-2cc2c631.system.js → p-19ea7bff.system.js} +1 -1
  377. package/dist/ionic/{p-29ef3b9b.entry.js → p-1b235142.entry.js} +1 -1
  378. package/dist/ionic/{p-fe35b5c0.entry.js → p-1cff9cad.entry.js} +1 -1
  379. package/dist/ionic/p-1e955a45.system.js +4 -0
  380. package/dist/ionic/p-1f9cdee2.entry.js +4 -0
  381. package/dist/ionic/p-23b89985.entry.js +4 -0
  382. package/dist/ionic/{p-07759435.system.js → p-25575222.system.js} +1 -1
  383. package/dist/ionic/{p-6d9f8fac.system.js → p-266fc56e.system.js} +1 -1
  384. package/dist/ionic/{p-3ae4a2a2.entry.js → p-2e12bda2.entry.js} +1 -1
  385. package/dist/ionic/{p-23838a94.system.entry.js → p-2f6cedaf.system.entry.js} +1 -1
  386. package/dist/ionic/{p-78b3da77.js → p-3040730e.js} +1 -1
  387. package/dist/ionic/{p-ebc5b98f.entry.js → p-3391d9a3.entry.js} +1 -1
  388. package/dist/ionic/{p-a600a3e3.js → p-34b11c24.js} +1 -1
  389. package/dist/ionic/{p-4d325220.system.entry.js → p-352f7037.system.entry.js} +1 -1
  390. package/dist/ionic/{p-2130b526.entry.js → p-35b9e842.entry.js} +1 -1
  391. package/dist/ionic/{p-668607c2.system.js → p-3ad285e3.system.js} +1 -1
  392. package/dist/ionic/{p-dd9168f3.entry.js → p-3c70b01b.entry.js} +1 -1
  393. package/dist/ionic/{p-c6f9f3eb.js → p-3cc276f4.js} +1 -1
  394. package/dist/ionic/{p-d0496c22.system.entry.js → p-3d6e882f.system.entry.js} +1 -1
  395. package/dist/ionic/{p-d8ffe61c.system.entry.js → p-3e3b34f7.system.entry.js} +1 -1
  396. package/dist/ionic/{p-f1d1524c.entry.js → p-3f70bfba.entry.js} +1 -1
  397. package/dist/ionic/{p-9e6a5e3d.system.entry.js → p-43505ff8.system.entry.js} +1 -1
  398. package/dist/ionic/{p-a88b41d1.system.entry.js → p-4429fc97.system.entry.js} +2 -2
  399. package/dist/ionic/{p-70c278c4.system.entry.js → p-4511ba0e.system.entry.js} +1 -1
  400. package/dist/ionic/p-46111310.js +4 -0
  401. package/dist/ionic/p-46f407f0.system.js +4 -0
  402. package/dist/ionic/{p-7d29dff0.system.entry.js → p-49b6fee0.system.entry.js} +1 -1
  403. package/dist/ionic/{p-6a448415.entry.js → p-4a615fea.entry.js} +1 -1
  404. package/dist/ionic/{p-f85a4df5.system.js → p-4dd82d9d.system.js} +1 -1
  405. package/dist/ionic/{p-6a62da36.system.js → p-5033128d.system.js} +2 -2
  406. package/dist/ionic/{p-17ee2784.system.entry.js → p-510578f3.system.entry.js} +1 -1
  407. package/dist/ionic/{p-40976b1c.system.entry.js → p-51b68ec9.system.entry.js} +1 -1
  408. package/dist/ionic/{p-610f0e12.entry.js → p-51ff648c.entry.js} +1 -1
  409. package/dist/ionic/p-546433d2.js +4 -0
  410. package/dist/ionic/{p-976c7c54.js → p-54f76ced.js} +1 -1
  411. package/dist/ionic/{p-66e50777.entry.js → p-56c3b69c.entry.js} +1 -1
  412. package/dist/ionic/p-58ea73f7.system.entry.js +4 -0
  413. package/dist/ionic/p-596e0cf8.system.entry.js +4 -0
  414. package/dist/ionic/{p-ba0290d1.entry.js → p-5ae49f12.entry.js} +1 -1
  415. package/dist/ionic/{p-ec34194e.system.entry.js → p-5b1273f4.system.entry.js} +2 -2
  416. package/dist/ionic/p-5d3f6707.entry.js +4 -0
  417. package/dist/ionic/{p-bb5eba12.entry.js → p-5da04d11.entry.js} +1 -1
  418. package/dist/ionic/p-5e7c32e8.system.entry.js +4 -0
  419. package/dist/ionic/p-65d26d94.system.entry.js +4 -0
  420. package/dist/ionic/{p-5e39b9d8.entry.js → p-6744e460.entry.js} +1 -1
  421. package/dist/ionic/{p-42fecf9c.system.entry.js → p-68a1e274.system.entry.js} +1 -1
  422. package/dist/ionic/{p-031c5621.js → p-6994c97a.js} +1 -1
  423. package/dist/ionic/p-69bc14fd.entry.js +4 -0
  424. package/dist/ionic/p-6a7eac5a.js +4 -0
  425. package/dist/ionic/p-6f4db5ce.system.entry.js +4 -0
  426. package/dist/ionic/{p-30dfa360.system.js → p-71215c1d.system.js} +1 -1
  427. package/dist/ionic/{p-5a277399.system.entry.js → p-71688099.system.entry.js} +1 -1
  428. package/dist/ionic/{p-282bd5f9.system.entry.js → p-716ab5f8.system.entry.js} +1 -1
  429. package/dist/ionic/p-72812e99.js +4 -0
  430. package/dist/ionic/p-74a9cafe.system.js +5 -0
  431. package/dist/ionic/{p-2bb65deb.entry.js → p-75280815.entry.js} +1 -1
  432. package/dist/ionic/{p-98c86cdd.js → p-75cddcc9.js} +1 -1
  433. package/dist/ionic/{p-85f43165.system.entry.js → p-76907c2f.system.entry.js} +1 -1
  434. package/dist/ionic/p-7d9eefb3.system.js +4 -0
  435. package/dist/ionic/{p-3cd3214e.entry.js → p-7df2c495.entry.js} +1 -1
  436. package/dist/ionic/p-7fc505bf.entry.js +4 -0
  437. package/dist/ionic/{p-8a881b39.entry.js → p-83321ee8.entry.js} +1 -1
  438. package/dist/ionic/p-8635f5e6.system.js +4 -0
  439. package/dist/ionic/{p-da5bbd4f.entry.js → p-88cff52d.entry.js} +1 -1
  440. package/dist/ionic/{p-ed3463be.entry.js → p-896111fa.entry.js} +1 -1
  441. package/dist/ionic/p-89b61afc.js +4 -0
  442. package/dist/ionic/{p-db7fcadb.system.entry.js → p-8bd567ba.system.entry.js} +2 -2
  443. package/dist/ionic/{p-02a803dc.entry.js → p-8e9ac22d.entry.js} +1 -1
  444. package/dist/ionic/p-9146695e.system.js +4 -0
  445. package/dist/ionic/{p-a3dae2ce.js → p-96cc4814.js} +1 -1
  446. package/dist/ionic/{p-7680d0ec.entry.js → p-99daf8b7.entry.js} +1 -1
  447. package/dist/ionic/p-9ad82dba.js +5 -0
  448. package/dist/ionic/{p-af9256a0.system.js → p-9d7fc908.system.js} +1 -1
  449. package/dist/ionic/{p-e0d52ee3.system.js → p-9ea607bd.system.js} +2 -2
  450. package/dist/ionic/p-a15ddedb.system.js +4 -0
  451. package/dist/ionic/{p-a6b8342e.system.entry.js → p-a1b4e619.system.entry.js} +1 -1
  452. package/dist/ionic/{p-d372938e.system.entry.js → p-a1f9f629.system.entry.js} +1 -1
  453. package/dist/ionic/{p-7c7e495d.system.js → p-a7ba2dcc.system.js} +1 -1
  454. package/dist/ionic/{p-54c31b4f.entry.js → p-a88fdfac.entry.js} +1 -1
  455. package/dist/ionic/{p-853bd866.system.js → p-a8f02173.system.js} +1 -1
  456. package/dist/ionic/p-a93873de.system.js +4 -0
  457. package/dist/ionic/{p-9b5d033a.system.entry.js → p-aa110ca0.system.entry.js} +1 -1
  458. package/dist/ionic/{p-103ec049.system.entry.js → p-aa4f2703.system.entry.js} +1 -1
  459. package/dist/ionic/{p-a94092b9.entry.js → p-ab85debb.entry.js} +1 -1
  460. package/dist/ionic/{p-1bb1ef31.system.entry.js → p-ac4e2a74.system.entry.js} +1 -1
  461. package/dist/ionic/p-ac9f44a8.system.entry.js +4 -0
  462. package/dist/ionic/{p-364044f0.js → p-b51e4004.js} +1 -1
  463. package/dist/ionic/{p-d5ab02f5.entry.js → p-b689b8d4.entry.js} +1 -1
  464. package/dist/ionic/p-b7af48c0.js +4 -0
  465. package/dist/ionic/p-bb835b4d.system.entry.js +4 -0
  466. package/dist/ionic/{p-7002bc75.entry.js → p-c04d5a75.entry.js} +1 -1
  467. package/dist/ionic/{p-cbf0a046.system.entry.js → p-c198e1e1.system.entry.js} +1 -1
  468. package/dist/ionic/{p-bb608006.system.entry.js → p-c1d1d004.system.entry.js} +1 -1
  469. package/dist/ionic/{p-239906f1.js → p-c222f76a.js} +1 -1
  470. package/dist/ionic/{p-c8383c20.entry.js → p-c41af68a.entry.js} +1 -1
  471. package/dist/ionic/p-c7e16491.js +4 -0
  472. package/dist/ionic/p-c80d05c9.js +4 -0
  473. package/dist/ionic/{p-23efc001.entry.js → p-c8510ca2.entry.js} +1 -1
  474. package/dist/ionic/{p-a4c287f9.entry.js → p-c8f2b769.entry.js} +1 -1
  475. package/dist/ionic/{p-b1d9b078.entry.js → p-c99ccdc9.entry.js} +1 -1
  476. package/dist/ionic/{p-af2e3481.system.entry.js → p-c9c39c98.system.entry.js} +1 -1
  477. package/dist/ionic/{p-8ed900e4.entry.js → p-cae889f9.entry.js} +1 -1
  478. package/dist/ionic/{p-9e3177a5.system.js → p-d2544865.system.js} +1 -1
  479. package/dist/ionic/{p-219c17cf.system.entry.js → p-d5f48185.system.entry.js} +1 -1
  480. package/dist/ionic/p-d79542bd.system.js +4 -0
  481. package/dist/ionic/p-d8067ea4.system.entry.js +4 -0
  482. package/dist/ionic/p-d8f66669.entry.js +4 -0
  483. package/dist/ionic/{p-b141e253.entry.js → p-d98c0112.entry.js} +1 -1
  484. package/dist/ionic/p-da2b833b.js +4 -0
  485. package/dist/ionic/{p-4d361c89.entry.js → p-dc1372e0.entry.js} +1 -1
  486. package/dist/ionic/{p-1807190c.entry.js → p-df48edd6.entry.js} +1 -1
  487. package/dist/ionic/{p-a0e8f913.entry.js → p-df6fa126.entry.js} +1 -1
  488. package/dist/ionic/{p-fa8ee4c3.entry.js → p-e8a0e731.entry.js} +1 -1
  489. package/dist/ionic/{p-8dd3d9c3.system.entry.js → p-ea2c16b5.system.entry.js} +2 -2
  490. package/dist/ionic/p-ea4be6ac.system.js +4 -0
  491. package/dist/ionic/{p-43c751c6.system.entry.js → p-eb3da535.system.entry.js} +1 -1
  492. package/dist/ionic/{p-2f6bc4a9.system.entry.js → p-ec2d3928.system.entry.js} +1 -1
  493. package/dist/ionic/p-f0392d49.entry.js +4 -0
  494. package/dist/ionic/{p-978f4710.js → p-f4cb521c.js} +1 -1
  495. package/dist/ionic/{p-00a6f38d.entry.js → p-f818b01a.entry.js} +1 -1
  496. package/dist/ionic/p-f94cbfe9.js +4 -0
  497. package/dist/ionic/{p-c41e0b5f.system.entry.js → p-fab4ecad.system.entry.js} +1 -1
  498. package/dist/ionic/{p-6a888b39.system.entry.js → p-fb02eeec.system.entry.js} +1 -1
  499. package/dist/ionic/{p-5ac63b19.system.entry.js → p-fb97326f.system.entry.js} +1 -1
  500. package/dist/ionic/{p-1a8bbd2e.entry.js → p-fbd30ec7.entry.js} +1 -1
  501. package/dist/ionic/{p-d4d17d47.entry.js → p-fda4872f.entry.js} +1 -1
  502. package/dist/ionic/{p-294c47cd.system.entry.js → p-ff2323ba.system.entry.js} +1 -1
  503. package/dist/types/components/button/button.d.ts +5 -0
  504. package/dist/types/components/input/input.d.ts +7 -6
  505. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +37 -0
  506. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  507. package/dist/types/components/refresher/refresher.utils.d.ts +2 -2
  508. package/dist/types/components/searchbar/searchbar.d.ts +0 -14
  509. package/dist/types/components/textarea/textarea.d.ts +1 -6
  510. package/dist/types/components.d.ts +47 -3
  511. package/dist/types/utils/animation/animation-utils.d.ts +0 -12
  512. package/dist/types/utils/focus-trap.d.ts +2 -2
  513. package/dist/types/utils/overlays.d.ts +2 -2
  514. package/hydrate/index.js +282 -428
  515. package/package.json +1 -1
  516. package/dist/esm-es5/animation-6a3c0abb.js +0 -4
  517. package/dist/esm-es5/app-globals-80842d68.js +0 -4
  518. package/dist/esm-es5/framework-delegate-3dede018.js +0 -4
  519. package/dist/esm-es5/haptic-554688a5.js +0 -4
  520. package/dist/esm-es5/index-5d6a0317.js +0 -5
  521. package/dist/esm-es5/index-95a691d4.js +0 -4
  522. package/dist/esm-es5/index-fa221975.js +0 -4
  523. package/dist/esm-es5/input-shims-196afa11.js +0 -4
  524. package/dist/esm-es5/md.transition-0d2de76d.js +0 -4
  525. package/dist/ionic/p-0051ceb9.entry.js +0 -4
  526. package/dist/ionic/p-08a8971e.system.js +0 -4
  527. package/dist/ionic/p-0e4c9e45.system.js +0 -4
  528. package/dist/ionic/p-17043350.system.js +0 -4
  529. package/dist/ionic/p-1c801dd4.entry.js +0 -4
  530. package/dist/ionic/p-22b5c888.system.entry.js +0 -4
  531. package/dist/ionic/p-23cff6c1.system.js +0 -4
  532. package/dist/ionic/p-244f56fd.js +0 -4
  533. package/dist/ionic/p-27c668a0.entry.js +0 -4
  534. package/dist/ionic/p-2f53c3eb.js +0 -4
  535. package/dist/ionic/p-34c50a42.system.entry.js +0 -4
  536. package/dist/ionic/p-3785c067.entry.js +0 -4
  537. package/dist/ionic/p-3e6e53fe.system.entry.js +0 -4
  538. package/dist/ionic/p-42f189f4.js +0 -4
  539. package/dist/ionic/p-5b2951c1.system.entry.js +0 -4
  540. package/dist/ionic/p-5b52897c.js +0 -4
  541. package/dist/ionic/p-7d4d9c40.system.entry.js +0 -4
  542. package/dist/ionic/p-7e7d534c.js +0 -4
  543. package/dist/ionic/p-831269de.js +0 -4
  544. package/dist/ionic/p-86c17a09.entry.js +0 -4
  545. package/dist/ionic/p-ac6db4c2.js +0 -4
  546. package/dist/ionic/p-b0aaa59a.system.entry.js +0 -4
  547. package/dist/ionic/p-c385e49d.entry.js +0 -4
  548. package/dist/ionic/p-c3f5d0e7.js +0 -4
  549. package/dist/ionic/p-c629d22b.system.js +0 -5
  550. package/dist/ionic/p-c995da88.system.js +0 -4
  551. package/dist/ionic/p-d704f798.system.js +0 -4
  552. package/dist/ionic/p-d80b7e31.system.js +0 -4
  553. package/dist/ionic/p-dad515dc.js +0 -4
  554. package/dist/ionic/p-dfb6de03.system.js +0 -4
  555. package/dist/ionic/p-e3611c25.entry.js +0 -4
  556. package/dist/ionic/p-e4ca94bd.js +0 -4
  557. package/dist/ionic/p-e7b0b64d.system.js +0 -4
  558. package/dist/ionic/p-ec613387.entry.js +0 -4
  559. package/dist/ionic/p-f7a1318d.system.entry.js +0 -4
  560. package/dist/ionic/p-f7af3144.system.entry.js +0 -4
  561. package/dist/ionic/p-f8502e85.js +0 -5
  562. package/dist/ionic/p-fe1fd531.system.js +0 -4
@@ -2,39 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { r as raf } from './helpers-eab4f597.js';
6
5
 
7
6
  let animationPrefix;
8
- /**
9
- * Web Animations requires hyphenated CSS properties
10
- * to be written in camelCase when animating
11
- */
12
- const processKeyframes = (keyframes) => {
13
- keyframes.forEach((keyframe) => {
14
- for (const key in keyframe) {
15
- // eslint-disable-next-line no-prototype-builtins
16
- if (keyframe.hasOwnProperty(key)) {
17
- const value = keyframe[key];
18
- if (key === 'easing') {
19
- const newKey = 'animation-timing-function';
20
- keyframe[newKey] = value;
21
- delete keyframe[key];
22
- }
23
- else {
24
- const newKey = convertCamelCaseToHypen(key);
25
- if (newKey !== key) {
26
- keyframe[newKey] = value;
27
- delete keyframe[key];
28
- }
29
- }
30
- }
31
- }
32
- });
33
- return keyframes;
34
- };
35
- const convertCamelCaseToHypen = (str) => {
36
- return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
37
- };
38
7
  const getAnimationPrefix = (el) => {
39
8
  if (animationPrefix === undefined) {
40
9
  const supportsUnprefixed = el.style.animationName !== undefined;
@@ -47,78 +16,6 @@ const setStyleProperty = (element, propertyName, value) => {
47
16
  const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
48
17
  element.style.setProperty(prefix + propertyName, value);
49
18
  };
50
- const removeStyleProperty = (element, propertyName) => {
51
- const prefix = propertyName.startsWith('animation') ? getAnimationPrefix(element) : '';
52
- element.style.removeProperty(prefix + propertyName);
53
- };
54
- const animationEnd = (el, callback) => {
55
- let unRegTrans;
56
- const opts = { passive: true };
57
- const unregister = () => {
58
- if (unRegTrans) {
59
- unRegTrans();
60
- }
61
- };
62
- const onTransitionEnd = (ev) => {
63
- if (el === ev.target) {
64
- unregister();
65
- callback(ev);
66
- }
67
- };
68
- if (el) {
69
- el.addEventListener('webkitAnimationEnd', onTransitionEnd, opts);
70
- el.addEventListener('animationend', onTransitionEnd, opts);
71
- unRegTrans = () => {
72
- el.removeEventListener('webkitAnimationEnd', onTransitionEnd, opts);
73
- el.removeEventListener('animationend', onTransitionEnd, opts);
74
- };
75
- }
76
- return unregister;
77
- };
78
- // TODO(FW-2832): type
79
- const generateKeyframeRules = (keyframes = []) => {
80
- return keyframes
81
- .map((keyframe) => {
82
- const offset = keyframe.offset;
83
- const frameString = [];
84
- for (const property in keyframe) {
85
- // eslint-disable-next-line no-prototype-builtins
86
- if (keyframe.hasOwnProperty(property) && property !== 'offset') {
87
- frameString.push(`${property}: ${keyframe[property]};`);
88
- }
89
- }
90
- return `${offset * 100}% { ${frameString.join(' ')} }`;
91
- })
92
- .join(' ');
93
- };
94
- const keyframeIds = [];
95
- const generateKeyframeName = (keyframeRules) => {
96
- let index = keyframeIds.indexOf(keyframeRules);
97
- if (index < 0) {
98
- index = keyframeIds.push(keyframeRules) - 1;
99
- }
100
- return `ion-animation-${index}`;
101
- };
102
- const getStyleContainer = (element) => {
103
- // getRootNode is not always available in SSR environments.
104
- // TODO(FW-2832): types
105
- const rootNode = element.getRootNode !== undefined ? element.getRootNode() : element;
106
- return rootNode.head || rootNode;
107
- };
108
- const createKeyframeStylesheet = (keyframeName, keyframeRules, element) => {
109
- var _a;
110
- const styleContainer = getStyleContainer(element);
111
- const keyframePrefix = getAnimationPrefix(element);
112
- const existingStylesheet = styleContainer.querySelector('#' + keyframeName);
113
- if (existingStylesheet) {
114
- return existingStylesheet;
115
- }
116
- const stylesheet = ((_a = element.ownerDocument) !== null && _a !== void 0 ? _a : document).createElement('style');
117
- stylesheet.id = keyframeName;
118
- stylesheet.textContent = `@${keyframePrefix}keyframes ${keyframeName} { ${keyframeRules} } @${keyframePrefix}keyframes ${keyframeName}-alt { ${keyframeRules} }`;
119
- styleContainer.appendChild(stylesheet);
120
- return stylesheet;
121
- };
122
19
  const addClassToArray = (classes = [], className) => {
123
20
  if (className !== undefined) {
124
21
  const classNameToAppend = Array.isArray(className) ? className : [className];
@@ -146,14 +43,12 @@ const createAnimation = (animationId) => {
146
43
  let numAnimationsRunning = 0;
147
44
  let shouldForceLinearEasing = false;
148
45
  let shouldForceSyncPlayback = false;
149
- let cssAnimationsTimerFallback;
150
46
  let forceDirectionValue;
151
47
  let forceDurationValue;
152
48
  let forceDelayValue;
153
49
  let willComplete = true;
154
50
  let finished = false;
155
51
  let shouldCalculateNumAnimations = true;
156
- let keyframeName;
157
52
  let ani;
158
53
  let paused = false;
159
54
  const id = animationId;
@@ -170,10 +65,16 @@ const createAnimation = (animationId) => {
170
65
  const webAnimations = [];
171
66
  const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
172
67
  (win !== undefined && typeof win.AnimationEffect === 'function');
68
+ /**
69
+ * This is a feature detection for Web Animations.
70
+ *
71
+ * Certain environments such as emulated browser environments for testing,
72
+ * do not support Web Animations. As a result, we need to check for support
73
+ * and provide a fallback to test certain functionality related to Web Animations.
74
+ */
173
75
  const supportsWebAnimations = typeof Element === 'function' &&
174
76
  typeof Element.prototype.animate === 'function' &&
175
77
  supportsAnimationEffect;
176
- const ANIMATION_END_FALLBACK_PADDING_MS = 100;
177
78
  const getWebAnimations = () => {
178
79
  return webAnimations;
179
80
  };
@@ -261,21 +162,6 @@ const createAnimation = (animationId) => {
261
162
  });
262
163
  webAnimations.length = 0;
263
164
  }
264
- else {
265
- const elementsArray = elements.slice();
266
- raf(() => {
267
- elementsArray.forEach((element) => {
268
- removeStyleProperty(element, 'animation-name');
269
- removeStyleProperty(element, 'animation-duration');
270
- removeStyleProperty(element, 'animation-timing-function');
271
- removeStyleProperty(element, 'animation-iteration-count');
272
- removeStyleProperty(element, 'animation-delay');
273
- removeStyleProperty(element, 'animation-play-state');
274
- removeStyleProperty(element, 'animation-fill-mode');
275
- removeStyleProperty(element, 'animation-direction');
276
- });
277
- });
278
- }
279
165
  };
280
166
  /**
281
167
  * Removes the animation's stylesheets
@@ -533,9 +419,6 @@ const createAnimation = (animationId) => {
533
419
  }
534
420
  });
535
421
  }
536
- else {
537
- initializeCSSAnimation();
538
- }
539
422
  };
540
423
  /**
541
424
  * Run all "before" animation hooks.
@@ -565,7 +448,6 @@ const createAnimation = (animationId) => {
565
448
  * Run all "after" animation hooks.
566
449
  */
567
450
  const afterAnimation = () => {
568
- clearCSSAnimationsTimeout();
569
451
  // Runs all after read callbacks
570
452
  _afterAddReadFunctions.forEach((callback) => callback());
571
453
  // Runs all after write callbacks
@@ -621,32 +503,6 @@ const createAnimation = (animationId) => {
621
503
  }
622
504
  }
623
505
  };
624
- const initializeCSSAnimation = (toggleAnimationName = true) => {
625
- cleanUpStyleSheets();
626
- const processedKeyframes = processKeyframes(_keyframes);
627
- elements.forEach((element) => {
628
- if (processedKeyframes.length > 0) {
629
- const keyframeRules = generateKeyframeRules(processedKeyframes);
630
- keyframeName = animationId !== undefined ? animationId : generateKeyframeName(keyframeRules);
631
- const stylesheet = createKeyframeStylesheet(keyframeName, keyframeRules, element);
632
- stylesheets.push(stylesheet);
633
- setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);
634
- setStyleProperty(element, 'animation-timing-function', getEasing());
635
- setStyleProperty(element, 'animation-delay', `${getDelay()}ms`);
636
- setStyleProperty(element, 'animation-fill-mode', getFill());
637
- setStyleProperty(element, 'animation-direction', getDirection());
638
- const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();
639
- setStyleProperty(element, 'animation-iteration-count', iterationsCount);
640
- setStyleProperty(element, 'animation-play-state', 'paused');
641
- if (toggleAnimationName) {
642
- setStyleProperty(element, 'animation-name', `${stylesheet.id}-alt`);
643
- }
644
- raf(() => {
645
- setStyleProperty(element, 'animation-name', stylesheet.id || null);
646
- });
647
- }
648
- });
649
- };
650
506
  const initializeWebAnimation = () => {
651
507
  elements.forEach((element) => {
652
508
  const animation = element.animate(_keyframes, {
@@ -667,15 +523,12 @@ const createAnimation = (animationId) => {
667
523
  };
668
524
  }
669
525
  };
670
- const initializeAnimation = (toggleAnimationName = true) => {
526
+ const initializeAnimation = () => {
671
527
  beforeAnimation();
672
528
  if (_keyframes.length > 0) {
673
529
  if (supportsWebAnimations) {
674
530
  initializeWebAnimation();
675
531
  }
676
- else {
677
- initializeCSSAnimation(toggleAnimationName);
678
- }
679
532
  }
680
533
  initialized = true;
681
534
  };
@@ -688,15 +541,6 @@ const createAnimation = (animationId) => {
688
541
  animation.pause();
689
542
  });
690
543
  }
691
- else {
692
- const animationDuration = `-${getDuration() * step}ms`;
693
- elements.forEach((element) => {
694
- if (_keyframes.length > 0) {
695
- setStyleProperty(element, 'animation-delay', animationDuration);
696
- setStyleProperty(element, 'animation-play-state', 'paused');
697
- }
698
- });
699
- }
700
544
  };
701
545
  const updateWebAnimation = (step) => {
702
546
  webAnimations.forEach((animation) => {
@@ -713,26 +557,6 @@ const createAnimation = (animationId) => {
713
557
  setAnimationStep(step);
714
558
  }
715
559
  };
716
- const updateCSSAnimation = (toggleAnimationName = true, step) => {
717
- raf(() => {
718
- elements.forEach((element) => {
719
- setStyleProperty(element, 'animation-name', keyframeName || null);
720
- setStyleProperty(element, 'animation-duration', `${getDuration()}ms`);
721
- setStyleProperty(element, 'animation-timing-function', getEasing());
722
- setStyleProperty(element, 'animation-delay', step !== undefined ? `-${step * getDuration()}ms` : `${getDelay()}ms`);
723
- setStyleProperty(element, 'animation-fill-mode', getFill() || null);
724
- setStyleProperty(element, 'animation-direction', getDirection() || null);
725
- const iterationsCount = getIterations() === Infinity ? 'infinite' : getIterations().toString();
726
- setStyleProperty(element, 'animation-iteration-count', iterationsCount);
727
- if (toggleAnimationName) {
728
- setStyleProperty(element, 'animation-name', `${keyframeName}-alt`);
729
- }
730
- raf(() => {
731
- setStyleProperty(element, 'animation-name', keyframeName || null);
732
- });
733
- });
734
- });
735
- };
736
560
  const update = (deep = false, toggleAnimationName = true, step) => {
737
561
  if (deep) {
738
562
  childAnimations.forEach((animation) => {
@@ -742,9 +566,6 @@ const createAnimation = (animationId) => {
742
566
  if (supportsWebAnimations) {
743
567
  updateWebAnimation(step);
744
568
  }
745
- else {
746
- updateCSSAnimation(toggleAnimationName, step);
747
- }
748
569
  return ani;
749
570
  };
750
571
  const progressStart = (forceLinearEasing = false, step) => {
@@ -827,67 +648,8 @@ const createAnimation = (animationId) => {
827
648
  pauseAnimation();
828
649
  return ani;
829
650
  };
830
- const onAnimationEndFallback = () => {
831
- cssAnimationsTimerFallback = undefined;
832
- animationFinish();
833
- };
834
- const clearCSSAnimationsTimeout = () => {
835
- if (cssAnimationsTimerFallback) {
836
- clearTimeout(cssAnimationsTimerFallback);
837
- }
838
- };
839
651
  const playCSSAnimations = () => {
840
- clearCSSAnimationsTimeout();
841
- raf(() => {
842
- elements.forEach((element) => {
843
- if (_keyframes.length > 0) {
844
- setStyleProperty(element, 'animation-play-state', 'running');
845
- }
846
- });
847
- });
848
- if (_keyframes.length === 0 || elements.length === 0) {
849
- animationFinish();
850
- }
851
- else {
852
- /**
853
- * This is a catchall in the event that a CSS Animation did not finish.
854
- * The Web Animations API has mechanisms in place for preventing this.
855
- * CSS Animations will not fire an `animationend` event
856
- * for elements with `display: none`. The Web Animations API
857
- * accounts for this, but using raw CSS Animations requires
858
- * this workaround.
859
- */
860
- const animationDelay = getDelay() || 0;
861
- const animationDuration = getDuration() || 0;
862
- const animationIterations = getIterations() || 1;
863
- // No need to set a timeout when animation has infinite iterations
864
- if (isFinite(animationIterations)) {
865
- cssAnimationsTimerFallback = setTimeout(onAnimationEndFallback, animationDelay + animationDuration * animationIterations + ANIMATION_END_FALLBACK_PADDING_MS);
866
- }
867
- animationEnd(elements[0], () => {
868
- clearCSSAnimationsTimeout();
869
- /**
870
- * Ensure that clean up
871
- * is always done a frame
872
- * before the onFinish handlers
873
- * are fired. Otherwise, there
874
- * may be flickering if a new
875
- * animation is started on the same
876
- * element too quickly
877
- */
878
- raf(() => {
879
- clearCSSAnimationPlayState();
880
- raf(animationFinish);
881
- });
882
- });
883
- }
884
- };
885
- const clearCSSAnimationPlayState = () => {
886
- elements.forEach((element) => {
887
- removeStyleProperty(element, 'animation-duration');
888
- removeStyleProperty(element, 'animation-delay');
889
- removeStyleProperty(element, 'animation-play-state');
890
- });
652
+ animationFinish();
891
653
  };
892
654
  const playWebAnimations = () => {
893
655
  webAnimations.forEach((animation) => {
@@ -902,9 +664,6 @@ const createAnimation = (animationId) => {
902
664
  setAnimationStep(0);
903
665
  updateWebAnimation();
904
666
  }
905
- else {
906
- updateCSSAnimation();
907
- }
908
667
  };
909
668
  const play = (opts) => {
910
669
  return new Promise((resolve) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-a589c12c.js';
4
+ import { i as initialize } from './ionic-global-c4e0c089.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-5d6a0317.js';
5
- import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-554688a5.js';
4
+ import { w as writeTask } from './index-6e4709ff.js';
5
+ import { h as hapticSelectionEnd, a as hapticSelectionStart, b as hapticSelectionChanged } from './haptic-ac164e4c.js';
6
6
  import { createGesture } from './index-39782642.js';
7
7
 
8
8
  const createButtonActiveGesture = (el, isButton) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-eab4f597.js';
4
+ import { c as componentOnReady } from './helpers-da915de8.js';
5
5
 
6
6
  // TODO(FW-2832): types
7
7
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -47,12 +47,6 @@ var NotificationType;
47
47
  })(NotificationType || (NotificationType = {}));
48
48
  const HapticEngine = {
49
49
  getEngine() {
50
- const tapticEngine = window.TapticEngine;
51
- if (tapticEngine) {
52
- // Cordova
53
- // TODO FW-4707 - Remove this in Ionic 8
54
- return tapticEngine;
55
- }
56
50
  const capacitor = getCapacitor();
57
51
  if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('Haptics')) {
58
52
  // Capacitor
@@ -81,85 +75,43 @@ const HapticEngine = {
81
75
  }
82
76
  return true;
83
77
  },
84
- isCordova() {
85
- return window.TapticEngine !== undefined;
86
- },
87
- isCapacitor() {
88
- return getCapacitor() !== undefined;
89
- },
90
78
  impact(options) {
91
79
  const engine = this.getEngine();
92
80
  if (!engine) {
93
81
  return;
94
82
  }
95
- /**
96
- * To provide backwards compatibility with Cordova apps,
97
- * we convert the style to lowercase.
98
- *
99
- * TODO: FW-4707 - Remove this in Ionic 8
100
- */
101
- const style = this.isCapacitor() ? options.style : options.style.toLowerCase();
102
- engine.impact({ style });
83
+ engine.impact({ style: options.style });
103
84
  },
104
85
  notification(options) {
105
86
  const engine = this.getEngine();
106
87
  if (!engine) {
107
88
  return;
108
89
  }
109
- /**
110
- * To provide backwards compatibility with Cordova apps,
111
- * we convert the style to lowercase.
112
- *
113
- * TODO: FW-4707 - Remove this in Ionic 8
114
- */
115
- const type = this.isCapacitor() ? options.type : options.type.toLowerCase();
116
- engine.notification({ type });
90
+ engine.notification({ type: options.type });
117
91
  },
118
92
  selection() {
119
- /**
120
- * To provide backwards compatibility with Cordova apps,
121
- * we convert the style to lowercase.
122
- *
123
- * TODO: FW-4707 - Remove this in Ionic 8
124
- */
125
- const style = this.isCapacitor() ? ImpactStyle.Light : 'light';
126
- this.impact({ style });
93
+ this.impact({ style: ImpactStyle.Light });
127
94
  },
128
95
  selectionStart() {
129
96
  const engine = this.getEngine();
130
97
  if (!engine) {
131
98
  return;
132
99
  }
133
- if (this.isCapacitor()) {
134
- engine.selectionStart();
135
- }
136
- else {
137
- engine.gestureSelectionStart();
138
- }
100
+ engine.selectionStart();
139
101
  },
140
102
  selectionChanged() {
141
103
  const engine = this.getEngine();
142
104
  if (!engine) {
143
105
  return;
144
106
  }
145
- if (this.isCapacitor()) {
146
- engine.selectionChanged();
147
- }
148
- else {
149
- engine.gestureSelectionChanged();
150
- }
107
+ engine.selectionChanged();
151
108
  },
152
109
  selectionEnd() {
153
110
  const engine = this.getEngine();
154
111
  if (!engine) {
155
112
  return;
156
113
  }
157
- if (this.isCapacitor()) {
158
- engine.selectionEnd();
159
- }
160
- else {
161
- engine.gestureSelectionEnd();
162
- }
114
+ engine.selectionEnd();
163
115
  },
164
116
  };
165
117
  /**
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { c as config } from './ionic-global-a589c12c.js';
6
- import './index-5d6a0317.js';
5
+ import { c as config } from './ionic-global-c4e0c089.js';
6
+ import './index-6e4709ff.js';
7
7
 
8
8
  /**
9
9
  * CloseWatcher is a newer API that lets
@@ -284,9 +284,6 @@ const assert = (actual, reason) => {
284
284
  throw new Error(message);
285
285
  }
286
286
  };
287
- const now = (ev) => {
288
- return ev.timeStamp || Date.now();
289
- };
290
287
  const pointerCoord = (ev) => {
291
288
  // get X coordinates for either a mouse click
292
289
  // or a touch depending on the given event
@@ -362,4 +359,4 @@ const shallowEqualStringMap = (map1, map2) => {
362
359
  return true;
363
360
  };
364
361
 
365
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o, now as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
362
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o, pointerCoord as p, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-fb295e3a.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-329c81fd.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
- import { c as componentOnReady } from './helpers-eab4f597.js';
8
- import { b as getIonMode } from './ionic-global-a589c12c.js';
9
- import { c as createAnimation } from './animation-6a3c0abb.js';
7
+ import { c as componentOnReady } from './helpers-da915de8.js';
8
+ import { b as getIonMode } from './ionic-global-c4e0c089.js';
9
+ import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
11
11
  /**
12
12
  * baseAnimation
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-eab4f597.js';
4
+ import { c as componentOnReady } from './helpers-da915de8.js';
5
5
  import { b as printRequiredElementError } from './index-9b0d46f4.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  const NAMESPACE = 'ionic';
5
+ const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: true, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: true, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: true, experimentalSlotFixes: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, 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
6
 
6
7
  /**
7
8
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -885,6 +886,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
885
886
  * @returns the newly created node
886
887
  */
887
888
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
889
+ var _a;
888
890
  // tslint:disable-next-line: prefer-const
889
891
  const newVNode = newParentVNode.$children$[childIndex];
890
892
  let i = 0;
@@ -969,6 +971,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
969
971
  elm['s-cr'] = contentRef;
970
972
  // remember the slot name, or empty string for default slot
971
973
  elm['s-sn'] = newVNode.$name$ || '';
974
+ // remember the ref callback function
975
+ elm['s-rf'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.ref;
972
976
  // check if we've got an old vnode for this slot
973
977
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
974
978
  if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
@@ -1014,7 +1018,15 @@ const relocateToHostRoot = (parentElm) => {
1014
1018
  };
1015
1019
  const putBackInOriginalLocation = (parentElm, recursive) => {
1016
1020
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1017
- const oldSlotChildNodes = parentElm.childNodes;
1021
+ const oldSlotChildNodes = Array.from(parentElm.childNodes);
1022
+ if (parentElm['s-sr'] && BUILD.experimentalSlotFixes) {
1023
+ let node = parentElm;
1024
+ while ((node = node.nextSibling)) {
1025
+ if (node && node['s-sn'] === parentElm['s-sn'] && node['s-sh'] === hostTagName) {
1026
+ oldSlotChildNodes.push(node);
1027
+ }
1028
+ }
1029
+ }
1018
1030
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
1019
1031
  const childNode = oldSlotChildNodes[i];
1020
1032
  if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
@@ -1749,7 +1761,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1749
1761
  // If the node we're currently planning on inserting the new node before is an element,
1750
1762
  // we need to do some additional checks to make sure we're inserting the node in the correct order.
1751
1763
  // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1752
- // to make sure they get inserted into their new how in the same order they were declared in their original location.
1764
+ // to make sure they get inserted into their new home in the same order they were declared in their original location.
1753
1765
  //
1754
1766
  // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1755
1767
  if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* NODE_TYPE.ElementNode */)) {
@@ -1786,6 +1798,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1786
1798
  }
1787
1799
  }
1788
1800
  }
1801
+ nodeToRelocate && typeof slotRefNode['s-rf'] === 'function' && slotRefNode['s-rf'](nodeToRelocate);
1789
1802
  }
1790
1803
  else {
1791
1804
  // this node doesn't have a slot home to go to, so let's hide it
@@ -2550,6 +2563,7 @@ const patchCloneNode = (HostElementPrototype) => {
2550
2563
  's-ol',
2551
2564
  's-nr',
2552
2565
  's-si',
2566
+ 's-rf',
2553
2567
  ];
2554
2568
  for (; i < srcNode.childNodes.length; i++) {
2555
2569
  slotted = srcNode.childNodes[i]['s-nr'];
@@ -2589,8 +2603,6 @@ const patchSlotAppendChild = (HostElementPrototype) => {
2589
2603
  const insertedNode = appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);
2590
2604
  // Check if there is fallback content that should be hidden
2591
2605
  updateFallbackSlotVisibility(this);
2592
- // Force a re-render of the host element
2593
- forceUpdate(this);
2594
2606
  return insertedNode;
2595
2607
  }
2596
2608
  return this.__appendChild(newChild);