@ionic/core 8.0.0-rc.0 → 8.0.0-rc.2

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 (606) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -1
  4. package/components/button.js +4 -4
  5. package/components/buttons.js +2 -2
  6. package/components/checkbox.js +5 -5
  7. package/components/ion-app.js +1 -1
  8. package/components/ion-avatar.js +1 -1
  9. package/components/ion-back-button.js +2 -2
  10. package/components/ion-badge.js +2 -2
  11. package/components/ion-breadcrumb.js +4 -4
  12. package/components/ion-breadcrumbs.js +2 -2
  13. package/components/ion-card-content.js +1 -1
  14. package/components/ion-card-header.js +2 -2
  15. package/components/ion-card-subtitle.js +2 -2
  16. package/components/ion-card-title.js +2 -2
  17. package/components/ion-card.js +1 -1
  18. package/components/ion-chip.js +2 -2
  19. package/components/ion-col.js +2 -2
  20. package/components/ion-content.js +3 -3
  21. package/components/ion-datetime-button.js +2 -2
  22. package/components/ion-datetime.js +2 -2
  23. package/components/ion-fab-button.js +2 -2
  24. package/components/ion-fab-list.js +2 -2
  25. package/components/ion-fab.js +2 -2
  26. package/components/ion-footer.js +2 -2
  27. package/components/ion-grid.js +2 -2
  28. package/components/ion-header.js +2 -2
  29. package/components/ion-img.js +1 -1
  30. package/components/ion-infinite-scroll-content.js +2 -2
  31. package/components/ion-infinite-scroll.js +1 -1
  32. package/components/ion-input-password-toggle.js +3 -3
  33. package/components/ion-input.js +3 -3
  34. package/components/ion-item-divider.js +2 -2
  35. package/components/ion-item-group.js +1 -1
  36. package/components/ion-item-option.js +2 -2
  37. package/components/ion-item-options.js +1 -1
  38. package/components/ion-item-sliding.js +1 -1
  39. package/components/ion-loading.js +2 -2
  40. package/components/ion-menu-button.js +2 -2
  41. package/components/ion-menu-toggle.js +2 -2
  42. package/components/ion-menu.js +2 -2
  43. package/components/ion-modal.js +47 -23
  44. package/components/ion-nav-link.js +1 -1
  45. package/components/ion-nav.js +1 -1
  46. package/components/ion-note.js +2 -2
  47. package/components/ion-picker-legacy.js +2 -2
  48. package/components/ion-progress-bar.js +1 -1
  49. package/components/ion-range.js +3 -3
  50. package/components/ion-refresher-content.js +1 -1
  51. package/components/ion-refresher.js +1 -1
  52. package/components/ion-reorder-group.js +1 -1
  53. package/components/ion-reorder.js +1 -1
  54. package/components/ion-router-link.js +2 -2
  55. package/components/ion-router-outlet.js +1 -1
  56. package/components/ion-row.js +1 -1
  57. package/components/ion-searchbar.js +4 -4
  58. package/components/ion-segment-button.js +3 -3
  59. package/components/ion-segment.js +2 -2
  60. package/components/ion-select-option.js +1 -1
  61. package/components/ion-select.js +2 -2
  62. package/components/ion-skeleton-text.js +2 -2
  63. package/components/ion-split-pane.js +2 -2
  64. package/components/ion-tab-bar.js +2 -2
  65. package/components/ion-tab-button.js +2 -2
  66. package/components/ion-tab.js +2 -2
  67. package/components/ion-tabs.js +1 -1
  68. package/components/ion-text.js +2 -2
  69. package/components/ion-textarea.js +2 -2
  70. package/components/ion-thumbnail.js +1 -1
  71. package/components/ion-title.js +2 -2
  72. package/components/ion-toast.js +2 -2
  73. package/components/ion-toggle.js +5 -5
  74. package/components/ion-toolbar.js +2 -2
  75. package/components/item.js +1 -1
  76. package/components/label.js +2 -2
  77. package/components/list-header.js +2 -2
  78. package/components/list.js +1 -1
  79. package/components/picker-column-option.js +2 -2
  80. package/components/picker-column.js +3 -3
  81. package/components/picker-column2.js +2 -2
  82. package/components/picker.js +2 -2
  83. package/components/popover.js +4 -4
  84. package/components/radio-group.js +1 -1
  85. package/components/radio.js +5 -5
  86. package/components/ripple-effect.js +1 -1
  87. package/components/select-popover.js +1 -1
  88. package/components/spinner.js +1 -1
  89. package/css/core.css +1 -624
  90. package/css/core.css.map +1 -1
  91. package/css/display.css +1 -131
  92. package/css/display.css.map +1 -1
  93. package/css/flex-utils.css +1 -81
  94. package/css/flex-utils.css.map +1 -1
  95. package/css/float-elements.css +1 -293
  96. package/css/float-elements.css.map +1 -1
  97. package/css/global.bundle.css +1 -457
  98. package/css/global.bundle.css.map +1 -1
  99. package/css/ionic-swiper.css +1 -127
  100. package/css/ionic-swiper.css.map +1 -1
  101. package/css/ionic.bundle.css +1 -1
  102. package/css/ionic.bundle.css.map +1 -1
  103. package/css/normalize.css +1 -150
  104. package/css/normalize.css.map +1 -1
  105. package/css/padding.css +1 -202
  106. package/css/padding.css.map +1 -1
  107. package/css/palettes/dark.always.css +1 -160
  108. package/css/palettes/dark.always.css.map +1 -1
  109. package/css/palettes/dark.class.css +1 -160
  110. package/css/palettes/dark.class.css.map +1 -1
  111. package/css/palettes/dark.css +0 -2
  112. package/css/palettes/dark.system.css +1 -162
  113. package/css/palettes/dark.system.css.map +1 -1
  114. package/css/palettes/high-contrast-dark.always.css +1 -180
  115. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  116. package/css/palettes/high-contrast-dark.class.css +1 -180
  117. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  118. package/css/palettes/high-contrast-dark.css +0 -2
  119. package/css/palettes/high-contrast-dark.system.css +1 -182
  120. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  121. package/css/palettes/high-contrast.always.css +1 -101
  122. package/css/palettes/high-contrast.always.css.map +1 -1
  123. package/css/palettes/high-contrast.class.css +1 -101
  124. package/css/palettes/high-contrast.class.css.map +1 -1
  125. package/css/palettes/high-contrast.css +0 -2
  126. package/css/palettes/high-contrast.system.css +1 -103
  127. package/css/palettes/high-contrast.system.css.map +1 -1
  128. package/css/structure.css +1 -152
  129. package/css/structure.css.map +1 -1
  130. package/css/text-alignment.css +1 -243
  131. package/css/text-alignment.css.map +1 -1
  132. package/css/text-transformation.css +1 -158
  133. package/css/text-transformation.css.map +1 -1
  134. package/css/typography.css +1 -157
  135. package/css/typography.css.map +1 -1
  136. package/css/utils.bundle.css +1 -1100
  137. package/css/utils.bundle.css.map +1 -1
  138. package/dist/cjs/{app-globals-63aebf89.js → app-globals-5bfa2d7f.js} +1 -1
  139. package/dist/cjs/{button-active-bd13859e.js → button-active-564be49f.js} +1 -1
  140. package/dist/cjs/{hardware-back-button-ad9299b4.js → hardware-back-button-44e7c052.js} +2 -2
  141. package/dist/cjs/{index-ff66cc7c.js → index-6d6ac424.js} +3 -3
  142. package/dist/cjs/{index-af6d0fbb.js → index-bbc6c29f.js} +32 -8
  143. package/dist/cjs/{index-5cf05f94.js → index-defd575f.js} +2 -2
  144. package/dist/cjs/index.cjs.js +8 -8
  145. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  146. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  147. package/dist/cjs/ion-alert.cjs.entry.js +7 -7
  148. package/dist/cjs/ion-app_8.cjs.entry.js +21 -21
  149. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  150. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  151. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  152. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -8
  153. package/dist/cjs/ion-button_2.cjs.entry.js +6 -6
  154. package/dist/cjs/ion-card_5.cjs.entry.js +10 -10
  155. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  156. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  157. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  158. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  159. package/dist/cjs/ion-datetime_3.cjs.entry.js +10 -10
  160. package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
  161. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  162. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  163. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  164. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  165. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  166. package/dist/cjs/ion-item_8.cjs.entry.js +15 -15
  167. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  168. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  169. package/dist/cjs/ion-modal.cjs.entry.js +52 -28
  170. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  172. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
  173. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  174. package/dist/cjs/ion-popover.cjs.entry.js +9 -9
  175. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  176. package/dist/cjs/ion-radio_2.cjs.entry.js +8 -8
  177. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  178. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  179. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  180. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  181. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  182. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  183. package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
  184. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  185. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  186. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  187. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  188. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  189. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  190. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  191. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-toggle.cjs.entry.js +7 -7
  193. package/dist/cjs/{ionic-global-1adf9bc4.js → ionic-global-62487d02.js} +1 -1
  194. package/dist/cjs/ionic.cjs.js +4 -4
  195. package/dist/cjs/{ios.transition-06673f18.js → ios.transition-d4f0ca4e.js} +2 -2
  196. package/dist/cjs/loader.cjs.js +3 -3
  197. package/dist/cjs/{md.transition-4d7bb4b1.js → md.transition-857328f3.js} +2 -2
  198. package/dist/cjs/{overlays-6487955a.js → overlays-10c452b2.js} +2 -2
  199. package/dist/cjs/{status-tap-0be20572.js → status-tap-81daddfa.js} +1 -1
  200. package/dist/collection/collection-manifest.json +2 -2
  201. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  202. package/dist/collection/components/alert/alert.js +2 -2
  203. package/dist/collection/components/app/app.js +1 -1
  204. package/dist/collection/components/avatar/avatar.js +1 -1
  205. package/dist/collection/components/back-button/back-button.js +2 -2
  206. package/dist/collection/components/backdrop/backdrop.js +1 -1
  207. package/dist/collection/components/badge/badge.js +2 -2
  208. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  209. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  210. package/dist/collection/components/button/button.ios.css +47 -8
  211. package/dist/collection/components/button/button.js +2 -2
  212. package/dist/collection/components/button/button.md.css +49 -8
  213. package/dist/collection/components/buttons/buttons.js +2 -2
  214. package/dist/collection/components/card/card.js +1 -1
  215. package/dist/collection/components/card-content/card-content.js +1 -1
  216. package/dist/collection/components/card-header/card-header.js +2 -2
  217. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  218. package/dist/collection/components/card-title/card-title.js +2 -2
  219. package/dist/collection/components/checkbox/checkbox.ios.css +1 -0
  220. package/dist/collection/components/checkbox/checkbox.js +3 -3
  221. package/dist/collection/components/checkbox/checkbox.md.css +1 -0
  222. package/dist/collection/components/chip/chip.js +2 -2
  223. package/dist/collection/components/col/col.js +2 -2
  224. package/dist/collection/components/content/content.js +3 -3
  225. package/dist/collection/components/datetime/datetime.js +2 -2
  226. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  227. package/dist/collection/components/fab/fab.js +2 -2
  228. package/dist/collection/components/fab-button/fab-button.js +2 -2
  229. package/dist/collection/components/fab-list/fab-list.js +2 -2
  230. package/dist/collection/components/footer/footer.js +2 -2
  231. package/dist/collection/components/grid/grid.js +2 -2
  232. package/dist/collection/components/header/header.js +2 -2
  233. package/dist/collection/components/img/img.js +1 -1
  234. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  235. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  236. package/dist/collection/components/input/input.js +4 -4
  237. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  238. package/dist/collection/components/item/item.js +1 -1
  239. package/dist/collection/components/item-divider/item-divider.js +2 -2
  240. package/dist/collection/components/item-group/item-group.js +1 -1
  241. package/dist/collection/components/item-option/item-option.js +2 -2
  242. package/dist/collection/components/item-options/item-options.js +1 -1
  243. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  244. package/dist/collection/components/label/label.js +2 -2
  245. package/dist/collection/components/list/list.js +1 -1
  246. package/dist/collection/components/list-header/list-header.js +2 -2
  247. package/dist/collection/components/loading/loading.js +2 -2
  248. package/dist/collection/components/menu/menu.js +2 -2
  249. package/dist/collection/components/menu-button/menu-button.js +2 -2
  250. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  251. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  252. package/dist/collection/components/modal/modal.js +4 -4
  253. package/dist/collection/components/nav/nav.js +1 -1
  254. package/dist/collection/components/nav-link/nav-link.js +1 -1
  255. package/dist/collection/components/note/note.js +2 -2
  256. package/dist/collection/components/picker/picker.js +2 -2
  257. package/dist/collection/components/picker-column/picker-column.js +3 -3
  258. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  259. package/dist/collection/components/picker-legacy/picker.js +2 -2
  260. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  261. package/dist/collection/components/popover/popover.ios.css +0 -1
  262. package/dist/collection/components/popover/popover.js +2 -2
  263. package/dist/collection/components/popover/popover.md.css +0 -1
  264. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  265. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  266. package/dist/collection/components/radio/radio.ios.css +1 -0
  267. package/dist/collection/components/radio/radio.js +3 -3
  268. package/dist/collection/components/radio/radio.md.css +1 -0
  269. package/dist/collection/components/radio-group/radio-group.js +1 -1
  270. package/dist/collection/components/range/range.js +3 -3
  271. package/dist/collection/components/refresher/refresher.js +1 -1
  272. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  273. package/dist/collection/components/reorder/reorder.js +1 -1
  274. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  275. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  276. package/dist/collection/components/router-link/router-link.js +2 -2
  277. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  278. package/dist/collection/components/row/row.js +1 -1
  279. package/dist/collection/components/searchbar/searchbar.js +5 -5
  280. package/dist/collection/components/segment/segment.js +2 -2
  281. package/dist/collection/components/segment-button/segment-button.js +3 -3
  282. package/dist/collection/components/select/select.js +2 -2
  283. package/dist/collection/components/select-option/select-option.js +1 -1
  284. package/dist/collection/components/select-popover/select-popover.js +1 -1
  285. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  286. package/dist/collection/components/spinner/spinner.js +1 -1
  287. package/dist/collection/components/split-pane/split-pane.js +2 -2
  288. package/dist/collection/components/tab/tab.js +2 -2
  289. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  290. package/dist/collection/components/tab-button/tab-button.js +2 -2
  291. package/dist/collection/components/tabs/tabs.js +1 -1
  292. package/dist/collection/components/text/text.js +2 -2
  293. package/dist/collection/components/textarea/textarea.js +2 -2
  294. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  295. package/dist/collection/components/title/title.js +2 -2
  296. package/dist/collection/components/toast/toast.js +2 -2
  297. package/dist/collection/components/toggle/toggle.ios.css +1 -0
  298. package/dist/collection/components/toggle/toggle.js +3 -3
  299. package/dist/collection/components/toggle/toggle.md.css +1 -0
  300. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  301. package/dist/collection/components/toolbar/toolbar.js +2 -2
  302. package/dist/docs.json +31 -31
  303. package/dist/esm/{app-globals-b8e5e7fa.js → app-globals-49873df1.js} +1 -1
  304. package/dist/esm/{button-active-a411da52.js → button-active-46df59c1.js} +1 -1
  305. package/dist/esm/{hardware-back-button-329c81fd.js → hardware-back-button-ba8f64c2.js} +2 -2
  306. package/dist/esm/{index-10916999.js → index-56d90da9.js} +2 -2
  307. package/dist/esm/{index-6e4709ff.js → index-bcd8859b.js} +32 -8
  308. package/dist/esm/{index-f1f5de26.js → index-f0d7371a.js} +3 -3
  309. package/dist/esm/index.js +8 -8
  310. package/dist/esm/ion-accordion_2.entry.js +2 -2
  311. package/dist/esm/ion-action-sheet.entry.js +8 -8
  312. package/dist/esm/ion-alert.entry.js +7 -7
  313. package/dist/esm/ion-app_8.entry.js +21 -21
  314. package/dist/esm/ion-avatar_3.entry.js +6 -6
  315. package/dist/esm/ion-back-button.entry.js +4 -4
  316. package/dist/esm/ion-backdrop.entry.js +3 -3
  317. package/dist/esm/ion-breadcrumb_2.entry.js +8 -8
  318. package/dist/esm/ion-button_2.entry.js +6 -6
  319. package/dist/esm/ion-card_5.entry.js +10 -10
  320. package/dist/esm/ion-checkbox.entry.js +7 -7
  321. package/dist/esm/ion-chip.entry.js +4 -4
  322. package/dist/esm/ion-col_3.entry.js +7 -7
  323. package/dist/esm/ion-datetime-button.entry.js +4 -4
  324. package/dist/esm/ion-datetime_3.entry.js +10 -10
  325. package/dist/esm/ion-fab_3.entry.js +8 -8
  326. package/dist/esm/ion-img.entry.js +3 -3
  327. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  328. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  329. package/dist/esm/ion-input.entry.js +5 -5
  330. package/dist/esm/ion-item-option_3.entry.js +6 -6
  331. package/dist/esm/ion-item_8.entry.js +15 -15
  332. package/dist/esm/ion-loading.entry.js +6 -6
  333. package/dist/esm/ion-menu_3.entry.js +11 -11
  334. package/dist/esm/ion-modal.entry.js +52 -28
  335. package/dist/esm/ion-nav_2.entry.js +5 -5
  336. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  337. package/dist/esm/ion-picker-column.entry.js +5 -5
  338. package/dist/esm/ion-picker.entry.js +3 -3
  339. package/dist/esm/ion-popover.entry.js +9 -9
  340. package/dist/esm/ion-progress-bar.entry.js +3 -3
  341. package/dist/esm/ion-radio_2.entry.js +8 -8
  342. package/dist/esm/ion-range.entry.js +5 -5
  343. package/dist/esm/ion-refresher_2.entry.js +4 -4
  344. package/dist/esm/ion-reorder_2.entry.js +4 -4
  345. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  346. package/dist/esm/ion-route_4.entry.js +4 -4
  347. package/dist/esm/ion-searchbar.entry.js +6 -6
  348. package/dist/esm/ion-segment_2.entry.js +7 -7
  349. package/dist/esm/ion-select_3.entry.js +8 -8
  350. package/dist/esm/ion-spinner.entry.js +3 -3
  351. package/dist/esm/ion-split-pane.entry.js +4 -4
  352. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  353. package/dist/esm/ion-tab_2.entry.js +4 -4
  354. package/dist/esm/ion-text.entry.js +4 -4
  355. package/dist/esm/ion-textarea.entry.js +4 -4
  356. package/dist/esm/ion-toast.entry.js +6 -6
  357. package/dist/esm/ion-toggle.entry.js +7 -7
  358. package/dist/esm/{ionic-global-c4e0c089.js → ionic-global-e6c98cd0.js} +1 -1
  359. package/dist/esm/ionic.js +5 -5
  360. package/dist/esm/{ios.transition-8e181a7e.js → ios.transition-71bfa932.js} +2 -2
  361. package/dist/esm/loader.js +4 -4
  362. package/dist/esm/{md.transition-f1c3c737.js → md.transition-86aef3c0.js} +2 -2
  363. package/dist/esm/{overlays-9472c98b.js → overlays-6fb4a2f2.js} +2 -2
  364. package/dist/esm/{status-tap-39da9160.js → status-tap-299361cd.js} +1 -1
  365. package/dist/esm-es5/app-globals-49873df1.js +4 -0
  366. package/dist/esm-es5/{button-active-a411da52.js → button-active-46df59c1.js} +1 -1
  367. package/dist/esm-es5/{hardware-back-button-329c81fd.js → hardware-back-button-ba8f64c2.js} +1 -1
  368. package/dist/esm-es5/{index-10916999.js → index-56d90da9.js} +1 -1
  369. package/dist/esm-es5/index-bcd8859b.js +5 -0
  370. package/dist/esm-es5/{index-f1f5de26.js → index-f0d7371a.js} +1 -1
  371. package/dist/esm-es5/index.js +1 -1
  372. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  373. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  374. package/dist/esm-es5/ion-alert.entry.js +1 -1
  375. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  376. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  377. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  378. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  379. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  380. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  381. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  382. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  383. package/dist/esm-es5/ion-chip.entry.js +1 -1
  384. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  385. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  386. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  387. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  388. package/dist/esm-es5/ion-img.entry.js +1 -1
  389. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  390. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  391. package/dist/esm-es5/ion-input.entry.js +1 -1
  392. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  393. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  394. package/dist/esm-es5/ion-loading.entry.js +1 -1
  395. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  396. package/dist/esm-es5/ion-modal.entry.js +1 -1
  397. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  398. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  399. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  400. package/dist/esm-es5/ion-picker.entry.js +1 -1
  401. package/dist/esm-es5/ion-popover.entry.js +1 -1
  402. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  403. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  404. package/dist/esm-es5/ion-range.entry.js +1 -1
  405. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  406. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  407. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  408. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  409. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  410. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  411. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  412. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  413. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  414. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  415. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  416. package/dist/esm-es5/ion-text.entry.js +1 -1
  417. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  418. package/dist/esm-es5/ion-toast.entry.js +1 -1
  419. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  420. package/dist/esm-es5/{ionic-global-c4e0c089.js → ionic-global-e6c98cd0.js} +1 -1
  421. package/dist/esm-es5/ionic.js +1 -1
  422. package/dist/esm-es5/{ios.transition-8e181a7e.js → ios.transition-71bfa932.js} +1 -1
  423. package/dist/esm-es5/loader.js +1 -1
  424. package/dist/esm-es5/md.transition-86aef3c0.js +4 -0
  425. package/dist/esm-es5/{overlays-9472c98b.js → overlays-6fb4a2f2.js} +1 -1
  426. package/dist/esm-es5/{status-tap-39da9160.js → status-tap-299361cd.js} +1 -1
  427. package/dist/html.html-data.json +18 -18
  428. package/dist/ionic/index.esm.js +1 -1
  429. package/dist/ionic/ionic.esm.js +1 -1
  430. package/dist/ionic/ionic.js +1 -1
  431. package/dist/ionic/{p-105f7d62.system.entry.js → p-005deca1.system.entry.js} +1 -1
  432. package/dist/ionic/{p-a8f02173.system.js → p-07584ab4.system.js} +1 -1
  433. package/dist/ionic/p-0bd47555.js +4 -0
  434. package/dist/ionic/{p-75cddcc9.js → p-0e713efe.js} +1 -1
  435. package/dist/ionic/p-13cc6ee6.entry.js +4 -0
  436. package/dist/ionic/p-1472c130.entry.js +4 -0
  437. package/dist/ionic/{p-5da04d11.entry.js → p-151e8afd.entry.js} +1 -1
  438. package/dist/ionic/p-1ba197b6.entry.js +4 -0
  439. package/dist/ionic/p-1c42ad90.entry.js +4 -0
  440. package/dist/ionic/{p-ab85debb.entry.js → p-1fa53d02.entry.js} +1 -1
  441. package/dist/ionic/{p-99daf8b7.entry.js → p-1fe1f512.entry.js} +1 -1
  442. package/dist/ionic/{p-17978fce.entry.js → p-23fdee0e.entry.js} +1 -1
  443. package/dist/ionic/{p-4dd82d9d.system.js → p-2613c305.system.js} +1 -1
  444. package/dist/ionic/{p-a1b4e619.system.entry.js → p-275dd0ba.system.entry.js} +1 -1
  445. package/dist/ionic/{p-68a1e274.system.entry.js → p-2b86020c.system.entry.js} +1 -1
  446. package/dist/ionic/{p-3d6e882f.system.entry.js → p-3008ca4e.system.entry.js} +1 -1
  447. package/dist/ionic/p-32dfbcdc.entry.js +4 -0
  448. package/dist/ionic/p-332aa81e.entry.js +4 -0
  449. package/dist/ionic/p-341b3f37.entry.js +4 -0
  450. package/dist/ionic/{p-4196b2d1.system.entry.js → p-38010e7c.system.entry.js} +1 -1
  451. package/dist/ionic/{p-51b68ec9.system.entry.js → p-3d977e09.system.entry.js} +2 -2
  452. package/dist/ionic/{p-d5f48185.system.entry.js → p-3de2aab8.system.entry.js} +1 -1
  453. package/dist/ionic/p-405fd996.entry.js +4 -0
  454. package/dist/ionic/{p-c1d1d004.system.entry.js → p-4809ddae.system.entry.js} +1 -1
  455. package/dist/ionic/{p-83321ee8.entry.js → p-48f60474.entry.js} +1 -1
  456. package/dist/ionic/p-495ed1c3.entry.js +4 -0
  457. package/dist/ionic/{p-c04d5a75.entry.js → p-4a01cec0.entry.js} +1 -1
  458. package/dist/ionic/p-4de53118.js +4 -0
  459. package/dist/ionic/p-4f6ebc2b.entry.js +4 -0
  460. package/dist/ionic/p-4f77a080.system.entry.js +4 -0
  461. package/dist/ionic/{p-88cff52d.entry.js → p-4fadf4b0.entry.js} +1 -1
  462. package/dist/ionic/{p-8bd567ba.system.entry.js → p-50205ef9.system.entry.js} +1 -1
  463. package/dist/ionic/{p-266fc56e.system.js → p-510cb8e6.system.js} +1 -1
  464. package/dist/ionic/p-530207f9.entry.js +4 -0
  465. package/dist/ionic/p-53d37363.entry.js +4 -0
  466. package/dist/ionic/{p-49b6fee0.system.entry.js → p-53d69c70.system.entry.js} +1 -1
  467. package/dist/ionic/{p-c9c39c98.system.entry.js → p-55bc2a11.system.entry.js} +1 -1
  468. package/dist/ionic/p-582db405.system.entry.js +4 -0
  469. package/dist/ionic/p-5ad55625.entry.js +4 -0
  470. package/dist/ionic/p-5c26fed5.system.entry.js +4 -0
  471. package/dist/ionic/p-5f28cb75.js +4 -0
  472. package/dist/ionic/{p-c222f76a.js → p-67f5b57a.js} +1 -1
  473. package/dist/ionic/p-68afa357.system.entry.js +4 -0
  474. package/dist/ionic/{p-9d7fc908.system.js → p-6ac30fc3.system.js} +1 -1
  475. package/dist/ionic/p-6c5c1bb5.system.js +4 -0
  476. package/dist/ionic/{p-04070329.system.entry.js → p-6cf780b6.system.entry.js} +1 -1
  477. package/dist/ionic/{p-cae889f9.entry.js → p-6e4dac1a.entry.js} +1 -1
  478. package/dist/ionic/{p-fb02eeec.system.entry.js → p-6ef17d86.system.entry.js} +1 -1
  479. package/dist/ionic/p-7372cf23.system.entry.js +4 -0
  480. package/dist/ionic/p-7492572a.entry.js +4 -0
  481. package/dist/ionic/p-7596e24d.system.js +5 -0
  482. package/dist/ionic/p-76971b4f.entry.js +4 -0
  483. package/dist/ionic/{p-d2544865.system.js → p-7a7ff5e3.system.js} +1 -1
  484. package/dist/ionic/{p-5033128d.system.js → p-7bbcce53.system.js} +2 -2
  485. package/dist/ionic/{p-fb97326f.system.entry.js → p-7c93f00b.system.entry.js} +1 -1
  486. package/dist/ionic/{p-43505ff8.system.entry.js → p-7f33a6e2.system.entry.js} +2 -2
  487. package/dist/ionic/{p-07ae133d.system.entry.js → p-814efd87.system.entry.js} +1 -1
  488. package/dist/ionic/{p-6994c97a.js → p-83b445c3.js} +1 -1
  489. package/dist/ionic/p-84ead641.entry.js +4 -0
  490. package/dist/ionic/{p-f818b01a.entry.js → p-8a5152e5.entry.js} +1 -1
  491. package/dist/ionic/{p-54f76ced.js → p-8f9e2850.js} +1 -1
  492. package/dist/ionic/{p-fab4ecad.system.entry.js → p-904df2ee.system.entry.js} +2 -2
  493. package/dist/ionic/{p-8e9ac22d.entry.js → p-90f8498c.entry.js} +1 -1
  494. package/dist/ionic/{p-58ea73f7.system.entry.js → p-91b568e2.system.entry.js} +1 -1
  495. package/dist/ionic/{p-25575222.system.js → p-91dabef7.system.js} +1 -1
  496. package/dist/ionic/{p-3040730e.js → p-96a561dd.js} +1 -1
  497. package/dist/ionic/p-987e38ef.system.entry.js +4 -0
  498. package/dist/ionic/{p-4429fc97.system.entry.js → p-98af538a.system.entry.js} +1 -1
  499. package/dist/ionic/p-9fa5ff32.system.js +4 -0
  500. package/dist/ionic/{p-ea2c16b5.system.entry.js → p-9fd3ca09.system.entry.js} +2 -2
  501. package/dist/ionic/{p-049fa018.system.entry.js → p-a28ea4d8.system.entry.js} +1 -1
  502. package/dist/ionic/{p-75280815.entry.js → p-a39a73e3.entry.js} +1 -1
  503. package/dist/ionic/{p-f4cb521c.js → p-a90201f2.js} +1 -1
  504. package/dist/ionic/{p-1672c4fd.system.entry.js → p-aa79cc0e.system.entry.js} +2 -2
  505. package/dist/ionic/{p-ac4e2a74.system.entry.js → p-aa8a2f40.system.entry.js} +1 -1
  506. package/dist/ionic/p-ac045dad.entry.js +4 -0
  507. package/dist/ionic/{p-3c70b01b.entry.js → p-ad2b9596.entry.js} +1 -1
  508. package/dist/ionic/p-ae42c907.entry.js +4 -0
  509. package/dist/ionic/{p-2f6cedaf.system.entry.js → p-aea5f293.system.entry.js} +1 -1
  510. package/dist/ionic/p-b4a7f856.system.entry.js +4 -0
  511. package/dist/ionic/p-b6519a42.entry.js +4 -0
  512. package/dist/ionic/{p-a88fdfac.entry.js → p-ba35f07f.entry.js} +1 -1
  513. package/dist/ionic/{p-fda4872f.entry.js → p-bc3d649d.entry.js} +1 -1
  514. package/dist/ionic/p-c1c77386.js +5 -0
  515. package/dist/ionic/{p-76907c2f.system.entry.js → p-c2762c6a.system.entry.js} +1 -1
  516. package/dist/ionic/{p-ea4be6ac.system.js → p-c4e495a3.system.js} +1 -1
  517. package/dist/ionic/{p-d8067ea4.system.entry.js → p-c4eafa12.system.entry.js} +1 -1
  518. package/dist/ionic/{p-ff2323ba.system.entry.js → p-c54b167f.system.entry.js} +1 -1
  519. package/dist/ionic/{p-510578f3.system.entry.js → p-c927dbe2.system.entry.js} +1 -1
  520. package/dist/ionic/{p-716ab5f8.system.entry.js → p-ca5bb110.system.entry.js} +1 -1
  521. package/dist/ionic/p-ca6decbd.entry.js +4 -0
  522. package/dist/ionic/p-cbd87df6.entry.js +4 -0
  523. package/dist/ionic/p-ce5bf737.system.entry.js +4 -0
  524. package/dist/ionic/p-cf45a5c7.system.entry.js +4 -0
  525. package/dist/ionic/{p-100bedc4.system.entry.js → p-cf8101a6.system.entry.js} +1 -1
  526. package/dist/ionic/p-d061515d.system.entry.js +4 -0
  527. package/dist/ionic/{p-e955bf61.entry.js → p-d277ba16.entry.js} +1 -1
  528. package/dist/ionic/{p-2e12bda2.entry.js → p-d73f49d0.entry.js} +1 -1
  529. package/dist/ionic/{p-d8f66669.entry.js → p-dbc3e90c.entry.js} +1 -1
  530. package/dist/ionic/p-df0d39c7.system.entry.js +4 -0
  531. package/dist/ionic/{p-fbd30ec7.entry.js → p-e099a6f3.entry.js} +1 -1
  532. package/dist/ionic/p-e1ad8e76.entry.js +4 -0
  533. package/dist/ionic/{p-0bbb6edf.system.entry.js → p-e292247e.system.entry.js} +1 -1
  534. package/dist/ionic/p-e548fedf.system.entry.js +4 -0
  535. package/dist/ionic/{p-a7ba2dcc.system.js → p-e5a3659f.system.js} +1 -1
  536. package/dist/ionic/{p-71688099.system.entry.js → p-e6d46b5d.system.entry.js} +1 -1
  537. package/dist/ionic/p-e781c893.entry.js +4 -0
  538. package/dist/ionic/{p-3e3b34f7.system.entry.js → p-e81c3ca2.system.entry.js} +1 -1
  539. package/dist/ionic/p-e832408b.system.entry.js +4 -0
  540. package/dist/ionic/{p-e8a0e731.entry.js → p-e8a713b5.entry.js} +1 -1
  541. package/dist/ionic/{p-d98c0112.entry.js → p-e93cd31c.entry.js} +1 -1
  542. package/dist/ionic/p-ec178f19.entry.js +4 -0
  543. package/dist/ionic/{p-7df2c495.entry.js → p-eda2459e.entry.js} +1 -1
  544. package/dist/ionic/{p-5e7c32e8.system.entry.js → p-f13dc6bd.system.entry.js} +1 -1
  545. package/dist/ionic/p-f6ca4d02.js +4 -0
  546. package/dist/ionic/{p-df48edd6.entry.js → p-f6fec6a0.entry.js} +1 -1
  547. package/dist/ionic/{p-0ebb1fe7.system.entry.js → p-f8f8c5a8.system.entry.js} +1 -1
  548. package/dist/ionic/{p-0f2d99a6.entry.js → p-f956e38a.entry.js} +1 -1
  549. package/dist/ionic/p-fea11771.entry.js +4 -0
  550. package/dist/ionic/{p-71215c1d.system.js → p-ffbc80ae.system.js} +1 -1
  551. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  552. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  553. package/dist/types/components/input/input.utils.d.ts +1 -1
  554. package/dist/types/utils/framework-delegate.d.ts +1 -1
  555. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  556. package/hydrate/index.js +245 -199
  557. package/package.json +6 -6
  558. package/dist/esm-es5/app-globals-b8e5e7fa.js +0 -4
  559. package/dist/esm-es5/index-6e4709ff.js +0 -5
  560. package/dist/esm-es5/md.transition-f1c3c737.js +0 -4
  561. package/dist/ionic/p-0aa4682e.entry.js +0 -4
  562. package/dist/ionic/p-0de546bb.entry.js +0 -4
  563. package/dist/ionic/p-1b235142.entry.js +0 -4
  564. package/dist/ionic/p-1cff9cad.entry.js +0 -4
  565. package/dist/ionic/p-1f9cdee2.entry.js +0 -4
  566. package/dist/ionic/p-23b89985.entry.js +0 -4
  567. package/dist/ionic/p-3391d9a3.entry.js +0 -4
  568. package/dist/ionic/p-352f7037.system.entry.js +0 -4
  569. package/dist/ionic/p-35722bba.system.entry.js +0 -4
  570. package/dist/ionic/p-35b9e842.entry.js +0 -4
  571. package/dist/ionic/p-3f70bfba.entry.js +0 -4
  572. package/dist/ionic/p-4a615fea.entry.js +0 -4
  573. package/dist/ionic/p-51ff648c.entry.js +0 -4
  574. package/dist/ionic/p-546433d2.js +0 -4
  575. package/dist/ionic/p-56c3b69c.entry.js +0 -4
  576. package/dist/ionic/p-596e0cf8.system.entry.js +0 -4
  577. package/dist/ionic/p-5ae49f12.entry.js +0 -4
  578. package/dist/ionic/p-5b1273f4.system.entry.js +0 -4
  579. package/dist/ionic/p-5d3f6707.entry.js +0 -4
  580. package/dist/ionic/p-5fa8587e.system.entry.js +0 -4
  581. package/dist/ionic/p-69bc14fd.entry.js +0 -4
  582. package/dist/ionic/p-6a7eac5a.js +0 -4
  583. package/dist/ionic/p-6f4db5ce.system.entry.js +0 -4
  584. package/dist/ionic/p-74a9cafe.system.js +0 -5
  585. package/dist/ionic/p-7d9eefb3.system.js +0 -4
  586. package/dist/ionic/p-7fc505bf.entry.js +0 -4
  587. package/dist/ionic/p-896111fa.entry.js +0 -4
  588. package/dist/ionic/p-89b59bd7.entry.js +0 -4
  589. package/dist/ionic/p-9540561f.entry.js +0 -4
  590. package/dist/ionic/p-9ad82dba.js +0 -5
  591. package/dist/ionic/p-a1f9f629.system.entry.js +0 -4
  592. package/dist/ionic/p-aa110ca0.system.entry.js +0 -4
  593. package/dist/ionic/p-aa4f2703.system.entry.js +0 -4
  594. package/dist/ionic/p-ac9f44a8.system.entry.js +0 -4
  595. package/dist/ionic/p-bb835b4d.system.entry.js +0 -4
  596. package/dist/ionic/p-c198e1e1.system.entry.js +0 -4
  597. package/dist/ionic/p-c41af68a.entry.js +0 -4
  598. package/dist/ionic/p-c80d05c9.js +0 -4
  599. package/dist/ionic/p-c8f2b769.entry.js +0 -4
  600. package/dist/ionic/p-c99ccdc9.entry.js +0 -4
  601. package/dist/ionic/p-d79542bd.system.js +0 -4
  602. package/dist/ionic/p-dc1372e0.entry.js +0 -4
  603. package/dist/ionic/p-df6fa126.entry.js +0 -4
  604. package/dist/ionic/p-eb3da535.system.entry.js +0 -4
  605. package/dist/ionic/p-f0392d49.entry.js +0 -4
  606. package/dist/ionic/p-f94cbfe9.js +0 -4
@@ -3,13 +3,141 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  import { configs, test } from "../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
6
+ configs({ palettes: ['light', 'dark'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('toolbar: basic (LTR only)'), () => {
8
+ test('should not have visual regressions with text only', async ({ page }) => {
9
+ await page.setContent(`
10
+ <ion-header>
11
+ <ion-toolbar>
12
+ <ion-title>Toolbar</ion-title>
13
+ </ion-toolbar>
14
+ </ion-header>
15
+ `, config);
16
+ const header = page.locator('ion-header');
17
+ await expect(header).toHaveScreenshot(screenshot(`toolbar-basic-text-only`));
18
+ });
19
+ });
20
+ });
21
+ configs({ palettes: ['light', 'dark'] }).forEach(({ title, screenshot, config }) => {
7
22
  test.describe(title('toolbar: basic'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/toolbar/test/basic`, config);
10
- // capture both header toolbars at once, but don't include all the white space in the ion-content
23
+ test('should truncate long title with ellipsis', async ({ page }) => {
24
+ await page.setContent(`
25
+ <ion-header>
26
+ <ion-toolbar>
27
+ <ion-title>This is the title that never ends. It just goes on and on my friend.</ion-title>
28
+ </ion-toolbar>
29
+ </ion-header>
30
+ `, config);
31
+ const header = page.locator('ion-header');
32
+ await expect(header).toHaveScreenshot(screenshot(`toolbar-basic-long-text`));
33
+ });
34
+ test('should not have visual regressions with icon-only buttons', async ({ page }) => {
35
+ await page.setContent(`
36
+ <ion-header>
37
+ <ion-toolbar>
38
+ <ion-buttons slot="secondary">
39
+ <ion-button>
40
+ <ion-icon slot="icon-only" name="person-circle"></ion-icon>
41
+ </ion-button>
42
+ <ion-button>
43
+ <ion-icon slot="icon-only" name="search"></ion-icon>
44
+ </ion-button>
45
+ </ion-buttons>
46
+ <ion-buttons slot="primary">
47
+ <ion-button color="secondary">
48
+ <ion-icon slot="icon-only" ios="ellipsis-horizontal" md="ellipsis-vertical"></ion-icon>
49
+ </ion-button>
50
+ </ion-buttons>
51
+ <ion-title>Toolbar</ion-title>
52
+ </ion-toolbar>
53
+ <ion-toolbar>
54
+ <ion-buttons slot="secondary">
55
+ <ion-button class="ion-activated">
56
+ <ion-icon slot="icon-only" name="person-circle"></ion-icon>
57
+ </ion-button>
58
+ <ion-button class="ion-activated">
59
+ <ion-icon slot="icon-only" name="search"></ion-icon>
60
+ </ion-button>
61
+ </ion-buttons>
62
+ <ion-buttons slot="primary">
63
+ <ion-button color="secondary" class="ion-activated">
64
+ <ion-icon slot="icon-only" ios="ellipsis-horizontal" md="ellipsis-vertical"></ion-icon>
65
+ </ion-button>
66
+ </ion-buttons>
67
+ <ion-title>Activated Buttons</ion-title>
68
+ </ion-toolbar>
69
+ </ion-header>
70
+ `, config);
71
+ const header = page.locator('ion-header');
72
+ await expect(header).toHaveScreenshot(screenshot(`toolbar-basic-icon-buttons`));
73
+ });
74
+ test('should not have visual regressions with buttons with icons and text', async ({ page }) => {
75
+ await page.setContent(`
76
+ <ion-header>
77
+ <ion-toolbar>
78
+ <ion-buttons slot="secondary">
79
+ <ion-button fill="solid">
80
+ <ion-icon slot="start" name="person-circle"></ion-icon>
81
+ Solid
82
+ </ion-button>
83
+ </ion-buttons>
84
+ <ion-title>Solid</ion-title>
85
+ <ion-buttons slot="primary">
86
+ <ion-button fill="solid" color="secondary">
87
+ Help
88
+ <ion-icon slot="end" name="help-circle"></ion-icon>
89
+ </ion-button>
90
+ </ion-buttons>
91
+ </ion-toolbar>
92
+ <ion-toolbar>
93
+ <ion-buttons slot="secondary">
94
+ <ion-button fill="solid" class="ion-activated">
95
+ <ion-icon slot="start" name="person-circle"></ion-icon>
96
+ Solid
97
+ </ion-button>
98
+ </ion-buttons>
99
+ <ion-title>Solid Activated</ion-title>
100
+ <ion-buttons slot="primary">
101
+ <ion-button fill="solid" color="secondary" class="ion-activated">
102
+ Help
103
+ <ion-icon slot="end" name="help-circle"></ion-icon>
104
+ </ion-button>
105
+ </ion-buttons>
106
+ </ion-toolbar>
107
+ <ion-toolbar>
108
+ <ion-buttons slot="secondary">
109
+ <ion-button fill="outline">
110
+ <ion-icon slot="start" name="star"></ion-icon>
111
+ Star
112
+ </ion-button>
113
+ </ion-buttons>
114
+ <ion-title>Outline</ion-title>
115
+ <ion-buttons slot="primary">
116
+ <ion-button color="secondary" fill="outline">
117
+ Info
118
+ <ion-icon slot="end" name="information-circle"></ion-icon>
119
+ </ion-button>
120
+ </ion-buttons>
121
+ </ion-toolbar>
122
+ <ion-toolbar>
123
+ <ion-buttons slot="secondary">
124
+ <ion-button fill="outline" class="ion-activated">
125
+ <ion-icon slot="start" name="star"></ion-icon>
126
+ Star
127
+ </ion-button>
128
+ </ion-buttons>
129
+ <ion-title>Outline Activated</ion-title>
130
+ <ion-buttons slot="primary">
131
+ <ion-button color="secondary" fill="outline" class="ion-activated">
132
+ Info
133
+ <ion-icon slot="end" name="information-circle"></ion-icon>
134
+ </ion-button>
135
+ </ion-buttons>
136
+ </ion-toolbar>
137
+ </ion-header>
138
+ `, config);
11
139
  const header = page.locator('ion-header');
12
- await expect(header).toHaveScreenshot(screenshot(`toolbar-basic`));
140
+ await expect(header).toHaveScreenshot(screenshot(`toolbar-basic-text-icon-buttons`));
13
141
  });
14
142
  });
15
143
  });
@@ -62,10 +62,10 @@ export class Toolbar {
62
62
  this.childrenStyles.forEach((value) => {
63
63
  Object.assign(childStyles, value);
64
64
  });
65
- return (h(Host, { key: 'f11da98ce3398f95930cd6f5b95783a5b658e206', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
65
+ return (h(Host, { key: 'af016bf9981a2d6182783c6643e2d460245ecc2f', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
66
66
  [mode]: true,
67
67
  'in-toolbar': hostContext('ion-toolbar', this.el),
68
- })) }, h("div", { key: '2e473c8bebf448f411ec1a579f0c81eb05310c56', class: "toolbar-background" }), h("div", { key: 'cf2d7c69bc028410338942aaea37527c570ccec5', class: "toolbar-container" }, h("slot", { key: '445cbd5299188eef4761c605b4a8d20a61079590', name: "start" }), h("slot", { key: '77675b5c0c0afffe5251ba271f5db23f87339859', name: "secondary" }), h("div", { key: '7d5967c4ad6c0fca7573aa48da707c8b0dfcd052', class: "toolbar-content" }, h("slot", { key: 'ad5530d63df9ca101760fb9f71e3641c66e95b6c' })), h("slot", { key: '35837ac1b7a4a59f000149d480900bc19015b258', name: "primary" }), h("slot", { key: '504904cf46e2190dd0a3aa5b7855b5fc54f73726', name: "end" }))));
68
+ })) }, h("div", { key: '437debb5b7c561b315d887ae8d47186cba5521ce', class: "toolbar-background" }), h("div", { key: '4c2429fa3e8526fedf456e4658be92d5dce8ca34', class: "toolbar-container" }, h("slot", { key: '4c07db12cfc48b4836b566449b854c24db308e3a', name: "start" }), h("slot", { key: '12855ec04622c09cc404f9b4f07f57a73e5770a0', name: "secondary" }), h("div", { key: '56f37d52c91de2b76910defbc9e5b7c1def3861c', class: "toolbar-content" }, h("slot", { key: 'c10ec3fdbea10a6388f4f510d45188f7fda1a371' })), h("slot", { key: 'c8ed49c6888faf35e71f2a8f4f6bf98fb0c34a25', name: "primary" }), h("slot", { key: '0251f3980082a092304f95cbc002bc8c633c5739', name: "end" }))));
69
69
  }
70
70
  static get is() { return "ion-toolbar"; }
71
71
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
- "timestamp": "2024-03-27T15:19:04",
2
+ "timestamp": "2024-04-17T13:21:49",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
- "version": "4.13.0",
6
- "typescriptVersion": "5.4.2"
5
+ "version": "4.15.0",
6
+ "typescriptVersion": "5.4.4"
7
7
  },
8
8
  "components": [
9
9
  {
@@ -9763,10 +9763,10 @@
9763
9763
  },
9764
9764
  {
9765
9765
  "name": "autocomplete",
9766
- "type": "\"name\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"email\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"url\" | \"photo\"",
9766
+ "type": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
9767
9767
  "complexType": {
9768
9768
  "original": "AutocompleteTypes",
9769
- "resolved": "\"name\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"email\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"url\" | \"photo\"",
9769
+ "resolved": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
9770
9770
  "references": {
9771
9771
  "AutocompleteTypes": {
9772
9772
  "location": "import",
@@ -9786,6 +9786,18 @@
9786
9786
  "value": "name",
9787
9787
  "type": "string"
9788
9788
  },
9789
+ {
9790
+ "value": "email",
9791
+ "type": "string"
9792
+ },
9793
+ {
9794
+ "value": "tel",
9795
+ "type": "string"
9796
+ },
9797
+ {
9798
+ "value": "url",
9799
+ "type": "string"
9800
+ },
9789
9801
  {
9790
9802
  "value": "on",
9791
9803
  "type": "string"
@@ -9818,10 +9830,6 @@
9818
9830
  "value": "nickname",
9819
9831
  "type": "string"
9820
9832
  },
9821
- {
9822
- "value": "email",
9823
- "type": "string"
9824
- },
9825
9833
  {
9826
9834
  "value": "username",
9827
9835
  "type": "string"
@@ -9962,10 +9970,6 @@
9962
9970
  "value": "sex",
9963
9971
  "type": "string"
9964
9972
  },
9965
- {
9966
- "value": "tel",
9967
- "type": "string"
9968
- },
9969
9973
  {
9970
9974
  "value": "tel-country-code",
9971
9975
  "type": "string"
@@ -9990,10 +9994,6 @@
9990
9994
  "value": "impp",
9991
9995
  "type": "string"
9992
9996
  },
9993
- {
9994
- "value": "url",
9995
- "type": "string"
9996
- },
9997
9997
  {
9998
9998
  "value": "photo",
9999
9999
  "type": "string"
@@ -22782,10 +22782,10 @@
22782
22782
  },
22783
22783
  {
22784
22784
  "name": "autocomplete",
22785
- "type": "\"name\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"email\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"url\" | \"photo\"",
22785
+ "type": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
22786
22786
  "complexType": {
22787
22787
  "original": "AutocompleteTypes",
22788
- "resolved": "\"name\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"email\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"url\" | \"photo\"",
22788
+ "resolved": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
22789
22789
  "references": {
22790
22790
  "AutocompleteTypes": {
22791
22791
  "location": "import",
@@ -22805,6 +22805,18 @@
22805
22805
  "value": "name",
22806
22806
  "type": "string"
22807
22807
  },
22808
+ {
22809
+ "value": "email",
22810
+ "type": "string"
22811
+ },
22812
+ {
22813
+ "value": "tel",
22814
+ "type": "string"
22815
+ },
22816
+ {
22817
+ "value": "url",
22818
+ "type": "string"
22819
+ },
22808
22820
  {
22809
22821
  "value": "on",
22810
22822
  "type": "string"
@@ -22837,10 +22849,6 @@
22837
22849
  "value": "nickname",
22838
22850
  "type": "string"
22839
22851
  },
22840
- {
22841
- "value": "email",
22842
- "type": "string"
22843
- },
22844
22852
  {
22845
22853
  "value": "username",
22846
22854
  "type": "string"
@@ -22981,10 +22989,6 @@
22981
22989
  "value": "sex",
22982
22990
  "type": "string"
22983
22991
  },
22984
- {
22985
- "value": "tel",
22986
- "type": "string"
22987
- },
22988
22992
  {
22989
22993
  "value": "tel-country-code",
22990
22994
  "type": "string"
@@ -23009,10 +23013,6 @@
23009
23013
  "value": "impp",
23010
23014
  "type": "string"
23011
23015
  },
23012
- {
23013
- "value": "url",
23014
- "type": "string"
23015
- },
23016
23016
  {
23017
23017
  "value": "photo",
23018
23018
  "type": "string"
@@ -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-c4e0c089.js';
4
+ import { i as initialize } from './ionic-global-e6c98cd0.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask } from './index-6e4709ff.js';
4
+ import { w as writeTask } from './index-bcd8859b.js';
5
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
 
@@ -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-c4e0c089.js';
6
- import './index-6e4709ff.js';
5
+ import { c as config } from './ionic-global-e6c98cd0.js';
6
+ import './index-bcd8859b.js';
7
7
 
8
8
  /**
9
9
  * CloseWatcher is a newer API that lets
@@ -2,10 +2,10 @@
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-329c81fd.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-ba8f64c2.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { c as componentOnReady } from './helpers-da915de8.js';
8
- import { b as getIonMode } from './ionic-global-c4e0c089.js';
8
+ import { b as getIonMode } from './ionic-global-e6c98cd0.js';
9
9
  import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
11
11
  /**
@@ -864,17 +864,35 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
864
864
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
865
865
  {
866
866
  // remove attributes no longer present on the vnode by setting them to undefined
867
- for (memberName in oldVnodeAttrs) {
867
+ for (memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
868
868
  if (!(memberName in newVnodeAttrs)) {
869
869
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
870
870
  }
871
871
  }
872
872
  }
873
873
  // add new & update changed attributes
874
- for (memberName in newVnodeAttrs) {
874
+ for (memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
875
875
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
876
876
  }
877
877
  };
878
+ /**
879
+ * Sort a list of attribute names to ensure that all the attribute names which
880
+ * are _not_ `"ref"` come before `"ref"`. Preserve the order of the non-ref
881
+ * attributes.
882
+ *
883
+ * **Note**: if the supplied attributes do not include `'ref'` then the same
884
+ * (by reference) array will be returned without modification.
885
+ *
886
+ * @param attrNames attribute names to sort
887
+ * @returns a list of attribute names, sorted if they include `"ref"`
888
+ */
889
+ function sortedAttrNames(attrNames) {
890
+ return attrNames.includes('ref')
891
+ ? // we need to sort these to ensure that `'ref'` is the last attr
892
+ [...attrNames.filter((attr) => attr !== 'ref'), 'ref']
893
+ : // no need to sort, return the original array
894
+ attrNames;
895
+ }
878
896
  /**
879
897
  * Create a DOM Node corresponding to one of the children of a given VNode.
880
898
  *
@@ -1770,6 +1788,11 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1770
1788
  let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1771
1789
  if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1772
1790
  refNode = refNode.nextSibling;
1791
+ // If the refNode is the same node to be relocated or another element's slot reference, keep searching to find the
1792
+ // correct relocation target
1793
+ while (refNode === nodeToRelocate || (refNode === null || refNode === void 0 ? void 0 : refNode['s-sr'])) {
1794
+ refNode = refNode === null || refNode === void 0 ? void 0 : refNode.nextSibling;
1795
+ }
1773
1796
  if (!refNode || !refNode['s-nr']) {
1774
1797
  insertBeforeNode = refNode;
1775
1798
  break;
@@ -2596,7 +2619,7 @@ const patchSlotAppendChild = (HostElementPrototype) => {
2596
2619
  HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
2597
2620
  HostElementPrototype.appendChild = function (newChild) {
2598
2621
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2599
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2622
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2600
2623
  if (slotNode) {
2601
2624
  const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);
2602
2625
  const appendAfter = slotChildNodes[slotChildNodes.length - 1];
@@ -2619,7 +2642,7 @@ const patchSlotRemoveChild = (ElementPrototype) => {
2619
2642
  ElementPrototype.__removeChild = ElementPrototype.removeChild;
2620
2643
  ElementPrototype.removeChild = function (toRemove) {
2621
2644
  if (toRemove && typeof toRemove['s-sn'] !== 'undefined') {
2622
- const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn']);
2645
+ const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn'], this.tagName);
2623
2646
  if (slotNode) {
2624
2647
  // Get all slot content
2625
2648
  const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove['s-sn']);
@@ -2650,7 +2673,7 @@ const patchSlotPrepend = (HostElementPrototype) => {
2650
2673
  newChild = this.ownerDocument.createTextNode(newChild);
2651
2674
  }
2652
2675
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2653
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2676
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2654
2677
  if (slotNode) {
2655
2678
  const slotPlaceholder = document.createTextNode('');
2656
2679
  slotPlaceholder['s-nr'] = newChild;
@@ -2867,17 +2890,18 @@ const getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAt
2867
2890
  * Recursively searches a series of child nodes for a slot with the provided name.
2868
2891
  * @param childNodes the nodes to search for a slot with a specific name.
2869
2892
  * @param slotName the name of the slot to match on.
2893
+ * @param hostName the host name of the slot to match on.
2870
2894
  * @returns a reference to the slot node that matches the provided name, `null` otherwise
2871
2895
  */
2872
- const getHostSlotNode = (childNodes, slotName) => {
2896
+ const getHostSlotNode = (childNodes, slotName, hostName) => {
2873
2897
  let i = 0;
2874
2898
  let childNode;
2875
2899
  for (; i < childNodes.length; i++) {
2876
2900
  childNode = childNodes[i];
2877
- if (childNode['s-sr'] && childNode['s-sn'] === slotName) {
2901
+ if (childNode['s-sr'] && childNode['s-sn'] === slotName && childNode['s-hn'] === hostName) {
2878
2902
  return childNode;
2879
2903
  }
2880
- childNode = getHostSlotNode(childNode.childNodes, slotName);
2904
+ childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);
2881
2905
  if (childNode) {
2882
2906
  return childNode;
2883
2907
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask, B as Build } from './index-6e4709ff.js';
4
+ import { w as writeTask, B as Build } from './index-bcd8859b.js';
5
5
  import { r as raf } from './helpers-da915de8.js';
6
6
 
7
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -10,8 +10,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
10
10
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
11
11
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
12
12
 
13
- const iosTransitionAnimation = () => import('./ios.transition-8e181a7e.js');
14
- const mdTransitionAnimation = () => import('./md.transition-f1c3c737.js');
13
+ const iosTransitionAnimation = () => import('./ios.transition-71bfa932.js');
14
+ const mdTransitionAnimation = () => import('./md.transition-86aef3c0.js');
15
15
  // TODO(FW-2832): types
16
16
  const transition = (opts) => {
17
17
  return new Promise((resolve, reject) => {
package/dist/esm/index.js CHANGED
@@ -2,21 +2,21 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  export { c as createAnimation } from './animation-eab5a4ca.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-f1f5de26.js';
6
- export { iosTransitionAnimation } from './ios.transition-8e181a7e.js';
7
- export { mdTransitionAnimation } from './md.transition-f1c3c737.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-f0d7371a.js';
6
+ export { iosTransitionAnimation } from './ios.transition-71bfa932.js';
7
+ export { mdTransitionAnimation } from './md.transition-86aef3c0.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-39782642.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-c4e0c089.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-e6c98cd0.js';
11
11
  export { c as componentOnReady } from './helpers-da915de8.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-10916999.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-9472c98b.js';
14
+ export { m as menuController } from './index-56d90da9.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-6fb4a2f2.js';
16
16
  import './index-a5d50daf.js';
17
- import './index-6e4709ff.js';
17
+ import './index-bcd8859b.js';
18
18
  import './gesture-controller-314a54f6.js';
19
- import './hardware-back-button-329c81fd.js';
19
+ import './hardware-back-button-ba8f64c2.js';
20
20
  import './index-9b0d46f4.js';
21
21
  import './framework-delegate-63d1a679.js';
22
22
 
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-6e4709ff.js';
4
+ import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-bcd8859b.js';
5
5
  import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-da915de8.js';
6
6
  import { l as chevronDown } from './index-e2cf2ceb.js';
7
- import { c as config, b as getIonMode } from './ionic-global-c4e0c089.js';
7
+ import { c as config, b as getIonMode } from './ionic-global-e6c98cd0.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
9
 
10
10
  const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
@@ -1,20 +1,20 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i as getElement } from './index-6e4709ff.js';
5
- import { c as createButtonActiveGesture } from './button-active-a411da52.js';
4
+ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i as getElement } from './index-bcd8859b.js';
5
+ import { c as createButtonActiveGesture } from './button-active-46df59c1.js';
6
6
  import { r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-9472c98b.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-6fb4a2f2.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
- import { b as getIonMode } from './ionic-global-c4e0c089.js';
10
+ import { b as getIonMode } from './ionic-global-e6c98cd0.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
12
12
  import './haptic-ac164e4c.js';
13
13
  import './capacitor-59395cbd.js';
14
14
  import './index-a5d50daf.js';
15
15
  import './index-39782642.js';
16
16
  import './gesture-controller-314a54f6.js';
17
- import './hardware-back-button-329c81fd.js';
17
+ import './hardware-back-button-ba8f64c2.js';
18
18
  import './framework-delegate-63d1a679.js';
19
19
  import './index-9b0d46f4.js';
20
20
 
@@ -293,12 +293,12 @@ const ActionSheet = class {
293
293
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
294
294
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
295
295
  const headerID = `action-sheet-${overlayIndex}-header`;
296
- return (h(Host, Object.assign({ key: 'b81b5301c2544d6474561047fa8f3cf1b27882fb', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
296
+ return (h(Host, Object.assign({ key: 'b640e9730af4bd9ec569884cf203c63102e0ea59', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
297
297
  zIndex: `${20000 + this.overlayIndex}`,
298
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'b98bfa2ed6b6c8f5648f5fe52968c7f79fd3557b', tappable: this.backdropDismiss }), h("div", { key: '15354a41ab7eb1014bb65638dad9daa7c8bf8167', tabindex: "0" }), h("div", { key: 'dff2e93f5f44b5f6488cf2a7da55563ce9a9cfdb', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '25981afc3a174fb44a6d97b4118b3a39792211c8', class: "action-sheet-container" }, h("div", { key: '5a9d5174b3fe7b59e08f8022df8ead909650da53', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { id: headerID, class: {
298
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'bcfa5b7ffb5c265ef54caa114e697ada11f20c12', tappable: this.backdropDismiss }), h("div", { key: '207ae95b5365ce1d76170a05bdf8c83c3ba5de42', tabindex: "0" }), h("div", { key: 'bf2b4e8d57c822a4ea2bbe6c34b1b2f2067e4c02', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '9c4841eb03ca1378c5abc1e3aafbbcfaaa43c345', class: "action-sheet-container" }, h("div", { key: 'fa438b8663f5d30852e5967da0471489efa783b2', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { key: '2c600f1cd8314d65137fb1bfa180312b4791121a', id: headerID, class: {
299
299
  'action-sheet-title': true,
300
300
  'action-sheet-has-sub-title': this.subHeader !== undefined,
301
- } }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: 'b1891248a8269c9077f48cd4af210072daf7c119', tabindex: "0" })));
301
+ } }, header, this.subHeader && h("div", { key: 'a98d6a3f7948733de22a07432e56255f11243b7b', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { key: '5c5abd0e0b3d486ba2bfe437e28a23b2c7c4c955', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: '520a23bbbe6c7436f5bc58bad162d7894b870e54' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '28c90f66786ee82316adc6cfd68d322d2038357d', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: 'fd49fcea260c7addc9b07718eeb02d4fa6e4d900', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: 'c83f636e171fe77635a4fce2b97161447e10546a' })))))), h("div", { key: 'd304920fc7cb006b87542183a3224a7e460abd3d', tabindex: "0" })));
302
302
  }
303
303
  get el() { return getElement(this); }
304
304
  static get watchers() { return {