voyager-ionic-core 8.0.0 → 8.1.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 (572) hide show
  1. package/components/checkbox.js +3 -3
  2. package/components/index2.js +119 -1
  3. package/components/input-shims.js +5 -5
  4. package/components/ion-accordion-group.js +2 -2
  5. package/components/ion-content.js +6 -4
  6. package/components/ion-datetime-button.js +2 -2
  7. package/components/ion-datetime.js +17 -14
  8. package/components/ion-fab-button.js +2 -2
  9. package/components/ion-fab-list.js +2 -2
  10. package/components/ion-fab.js +2 -2
  11. package/components/ion-footer.js +2 -2
  12. package/components/ion-grid.js +2 -2
  13. package/components/ion-header.js +2 -2
  14. package/components/ion-img.js +1 -1
  15. package/components/ion-infinite-scroll-content.js +2 -2
  16. package/components/ion-infinite-scroll.js +1 -1
  17. package/components/ion-input-password-toggle.js +3 -3
  18. package/components/ion-input.js +17 -4
  19. package/components/ion-item-divider.js +2 -2
  20. package/components/ion-item-group.js +1 -1
  21. package/components/ion-item-option.js +2 -2
  22. package/components/ion-item-options.js +1 -1
  23. package/components/ion-item-sliding.js +1 -1
  24. package/components/ion-loading.js +2 -2
  25. package/components/ion-menu-button.js +2 -2
  26. package/components/ion-menu-toggle.js +2 -2
  27. package/components/ion-menu.js +2 -2
  28. package/components/ion-modal.js +10 -8
  29. package/components/ion-nav-link.js +1 -1
  30. package/components/ion-nav.js +1 -1
  31. package/components/ion-note.js +2 -2
  32. package/components/ion-picker-legacy.js +2 -2
  33. package/components/ion-progress-bar.js +1 -1
  34. package/components/ion-range.js +3 -3
  35. package/components/ion-refresher-content.js +1 -1
  36. package/components/ion-refresher.js +1 -1
  37. package/components/ion-reorder-group.js +1 -1
  38. package/components/ion-reorder.js +1 -1
  39. package/components/ion-router-link.js +2 -2
  40. package/components/ion-router-outlet.js +1 -1
  41. package/components/ion-row.js +1 -1
  42. package/components/ion-searchbar.js +4 -4
  43. package/components/ion-segment-button.js +3 -3
  44. package/components/ion-segment.js +2 -2
  45. package/components/ion-select-option.js +1 -1
  46. package/components/ion-select.js +2 -2
  47. package/components/ion-skeleton-text.js +2 -2
  48. package/components/ion-split-pane.js +2 -2
  49. package/components/ion-tab-bar.js +2 -2
  50. package/components/ion-tab-button.js +2 -2
  51. package/components/ion-tab.js +2 -2
  52. package/components/ion-tabs.js +1 -1
  53. package/components/ion-text.js +2 -2
  54. package/components/ion-textarea.js +2 -2
  55. package/components/ion-thumbnail.js +1 -1
  56. package/components/ion-title.js +2 -2
  57. package/components/ion-toast.js +2 -2
  58. package/components/ion-toggle.js +3 -3
  59. package/components/ion-toolbar.js +2 -2
  60. package/components/ios.transition.js +94 -67
  61. package/components/label.js +3 -3
  62. package/components/list-header.js +2 -2
  63. package/components/list.js +1 -1
  64. package/components/overlays.js +3 -2
  65. package/components/picker-column-option.js +2 -2
  66. package/components/picker-column.js +156 -4
  67. package/components/picker-column2.js +2 -2
  68. package/components/picker.js +2 -2
  69. package/components/popover.js +6 -4
  70. package/components/radio-group.js +1 -1
  71. package/components/radio.js +3 -3
  72. package/components/ripple-effect.js +1 -1
  73. package/components/select-popover.js +2 -2
  74. package/components/spinner.js +1 -1
  75. package/css/core.css +1 -1
  76. package/css/core.css.map +1 -1
  77. package/css/global.bundle.css.map +1 -1
  78. package/css/ionic.bundle.css +1 -1
  79. package/css/ionic.bundle.css.map +1 -1
  80. package/css/palettes/dark.always.css +1 -1
  81. package/css/palettes/dark.always.css.map +1 -1
  82. package/css/palettes/dark.class.css +1 -1
  83. package/css/palettes/dark.class.css.map +1 -1
  84. package/css/palettes/dark.system.css +1 -1
  85. package/css/palettes/dark.system.css.map +1 -1
  86. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  87. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  88. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  89. package/css/palettes/high-contrast.always.css.map +1 -1
  90. package/css/palettes/high-contrast.class.css.map +1 -1
  91. package/css/palettes/high-contrast.system.css.map +1 -1
  92. package/css/typography.css.map +1 -1
  93. package/dist/cjs/{app-globals-5bfa2d7f.js → app-globals-66b7dc06.js} +1 -1
  94. package/dist/cjs/{button-active-564be49f.js → button-active-9135c809.js} +1 -1
  95. package/dist/cjs/{hardware-back-button-44e7c052.js → hardware-back-button-ed931127.js} +2 -2
  96. package/dist/cjs/index-8709af32.js +2234 -0
  97. package/dist/cjs/{index-6d6ac424.js → index-c0b7f8f4.js} +124 -6
  98. package/dist/cjs/{index-defd575f.js → index-c54654c6.js} +2 -2
  99. package/dist/cjs/index.cjs.js +9 -9
  100. package/dist/cjs/{input-shims-20d639e6.js → input-shims-9e59ef62.js} +5 -5
  101. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  102. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-alert.cjs.entry.js +5 -5
  104. package/dist/cjs/ion-app_8.cjs.entry.js +21 -20
  105. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  106. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
  112. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  114. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  115. package/dist/cjs/ion-datetime_3.cjs.entry.js +25 -22
  116. package/dist/cjs/ion-fab_3.cjs.entry.js +8 -8
  117. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  119. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  120. package/dist/cjs/ion-input.cjs.entry.js +18 -6
  121. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  122. package/dist/cjs/ion-item_8.cjs.entry.js +15 -15
  123. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  124. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  125. package/dist/cjs/ion-modal.cjs.entry.js +13 -12
  126. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -5
  127. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  128. package/dist/cjs/ion-picker-column.cjs.entry.js +156 -6
  129. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  130. package/dist/cjs/ion-popover.cjs.entry.js +9 -8
  131. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  132. package/dist/cjs/ion-radio_2.cjs.entry.js +6 -6
  133. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  134. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  135. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  136. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  137. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  138. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  139. package/dist/cjs/ion-segment_2.cjs.entry.js +7 -7
  140. package/dist/cjs/ion-select_3.cjs.entry.js +9 -9
  141. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  142. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  143. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  144. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  145. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  146. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  147. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  148. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  149. package/dist/cjs/{ionic-global-62487d02.js → ionic-global-35b86a09.js} +1 -1
  150. package/dist/cjs/ionic.cjs.js +31 -33
  151. package/dist/cjs/{ios.transition-d4f0ca4e.js → ios.transition-5ddf92f1.js} +98 -69
  152. package/dist/cjs/loader.cjs.js +4 -4
  153. package/dist/cjs/{md.transition-857328f3.js → md.transition-047c18c5.js} +4 -2
  154. package/dist/cjs/{overlays-10c452b2.js → overlays-cb04d075.js} +5 -3
  155. package/dist/cjs/{status-tap-81daddfa.js → status-tap-5b2775cd.js} +1 -1
  156. package/dist/collection/collection-manifest.json +2 -2
  157. package/dist/collection/components/accordion-group/accordion-group.js +3 -3
  158. package/dist/collection/components/checkbox/checkbox.js +4 -4
  159. package/dist/collection/components/content/content.js +23 -4
  160. package/dist/collection/components/content/test/content.spec.js +27 -0
  161. package/dist/collection/components/datetime/datetime.js +18 -15
  162. package/dist/collection/components/datetime/test/color/datetime.e2e.js +14 -7
  163. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
  164. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  165. package/dist/collection/components/fab/fab.js +2 -2
  166. package/dist/collection/components/fab-button/fab-button.js +2 -2
  167. package/dist/collection/components/fab-list/fab-list.js +2 -2
  168. package/dist/collection/components/footer/footer.js +2 -2
  169. package/dist/collection/components/grid/grid.js +2 -2
  170. package/dist/collection/components/header/header.js +2 -2
  171. package/dist/collection/components/img/img.js +1 -1
  172. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  173. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  174. package/dist/collection/components/input/input.js +34 -5
  175. package/dist/collection/components/input/test/input.spec.js +13 -0
  176. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  177. package/dist/collection/components/item/test/a11y/item.e2e.js +24 -4
  178. package/dist/collection/components/item-divider/item-divider.js +2 -2
  179. package/dist/collection/components/item-group/item-group.js +1 -1
  180. package/dist/collection/components/item-option/item-option.js +2 -2
  181. package/dist/collection/components/item-options/item-options.js +1 -1
  182. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  183. package/dist/collection/components/label/label.ios.css +1 -1
  184. package/dist/collection/components/label/label.js +2 -2
  185. package/dist/collection/components/list/list.js +1 -1
  186. package/dist/collection/components/list-header/list-header.js +2 -2
  187. package/dist/collection/components/loading/loading.js +2 -2
  188. package/dist/collection/components/menu/menu.js +2 -2
  189. package/dist/collection/components/menu-button/menu-button.js +2 -2
  190. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  191. package/dist/collection/components/modal/gestures/sheet.js +3 -2
  192. package/dist/collection/components/modal/modal.js +25 -6
  193. package/dist/collection/components/modal/test/basic/modal.spec.js +19 -0
  194. package/dist/collection/components/nav/nav.js +1 -1
  195. package/dist/collection/components/nav-link/nav-link.js +1 -1
  196. package/dist/collection/components/note/note.js +2 -2
  197. package/dist/collection/components/picker/picker.js +2 -2
  198. package/dist/collection/components/picker-column/picker-column.css +19 -0
  199. package/dist/collection/components/picker-column/picker-column.js +159 -4
  200. package/dist/collection/components/picker-column/test/picker-column.spec.js +83 -0
  201. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  202. package/dist/collection/components/picker-legacy/picker.js +2 -2
  203. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  204. package/dist/collection/components/popover/popover.js +23 -4
  205. package/dist/collection/components/popover/test/basic/popover.spec.js +19 -0
  206. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  207. package/dist/collection/components/radio/radio.js +3 -3
  208. package/dist/collection/components/radio-group/radio-group.js +2 -2
  209. package/dist/collection/components/range/range.js +4 -4
  210. package/dist/collection/components/refresher/refresher.js +1 -1
  211. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  212. package/dist/collection/components/reorder/reorder.js +1 -1
  213. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  214. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  215. package/dist/collection/components/router-link/router-link.js +2 -2
  216. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  217. package/dist/collection/components/row/row.js +1 -1
  218. package/dist/collection/components/searchbar/searchbar.js +5 -5
  219. package/dist/collection/components/segment/segment.js +3 -3
  220. package/dist/collection/components/segment-button/segment-button.js +3 -3
  221. package/dist/collection/components/select/select.js +3 -3
  222. package/dist/collection/components/select/test/fill/select.e2e.js +25 -0
  223. package/dist/collection/components/select-option/select-option.js +1 -1
  224. package/dist/collection/components/select-popover/select-popover.js +1 -1
  225. package/dist/collection/components/select-popover/select-popover.md.css +8 -1
  226. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  227. package/dist/collection/components/spinner/spinner.js +1 -1
  228. package/dist/collection/components/split-pane/split-pane.js +2 -2
  229. package/dist/collection/components/tab/tab.js +2 -2
  230. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  231. package/dist/collection/components/tab-button/tab-button.js +2 -2
  232. package/dist/collection/components/tabs/tabs.js +1 -1
  233. package/dist/collection/components/text/text.js +2 -2
  234. package/dist/collection/components/textarea/textarea.js +3 -3
  235. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  236. package/dist/collection/components/title/title.js +2 -2
  237. package/dist/collection/components/toast/toast.js +2 -2
  238. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +51 -31
  239. package/dist/collection/components/toggle/toggle.js +4 -4
  240. package/dist/collection/components/toolbar/toolbar.js +2 -2
  241. package/dist/collection/utils/focus-controller/index.js +112 -0
  242. package/dist/collection/utils/focus-controller/test/generic/focus-controller.e2e.js +52 -0
  243. package/dist/collection/utils/focus-controller/test/ionic/focus-controller.e2e.js +52 -0
  244. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
  245. package/dist/collection/utils/overlays.js +2 -1
  246. package/dist/collection/utils/test/playwright/page/utils/goto.js +12 -3
  247. package/dist/collection/utils/transition/index.js +11 -1
  248. package/dist/collection/utils/transition/ios.transition.js +94 -67
  249. package/dist/docs.json +110 -15
  250. package/dist/esm/{app-globals-49873df1.js → app-globals-b99e6d29.js} +1 -1
  251. package/dist/esm/{button-active-46df59c1.js → button-active-920addb8.js} +1 -1
  252. package/dist/esm/{hardware-back-button-ba8f64c2.js → hardware-back-button-2d9760b6.js} +2 -2
  253. package/dist/esm/{index-56d90da9.js → index-7ae7186a.js} +2 -2
  254. package/dist/esm/{index-f0d7371a.js → index-8e6b6a24.js} +122 -4
  255. package/dist/esm/index-9aab3bcf.js +2196 -0
  256. package/dist/esm/index.js +9 -9
  257. package/dist/esm/{input-shims-4530285e.js → input-shims-0314bbe5.js} +5 -5
  258. package/dist/esm/ion-accordion_2.entry.js +4 -4
  259. package/dist/esm/ion-action-sheet.entry.js +5 -5
  260. package/dist/esm/ion-alert.entry.js +5 -5
  261. package/dist/esm/ion-app_8.entry.js +21 -20
  262. package/dist/esm/ion-avatar_3.entry.js +3 -3
  263. package/dist/esm/ion-back-button.entry.js +2 -2
  264. package/dist/esm/ion-backdrop.entry.js +2 -2
  265. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  266. package/dist/esm/ion-button_2.entry.js +2 -2
  267. package/dist/esm/ion-card_5.entry.js +2 -2
  268. package/dist/esm/ion-checkbox.entry.js +5 -5
  269. package/dist/esm/ion-chip.entry.js +2 -2
  270. package/dist/esm/ion-col_3.entry.js +5 -5
  271. package/dist/esm/ion-datetime-button.entry.js +4 -4
  272. package/dist/esm/ion-datetime_3.entry.js +25 -22
  273. package/dist/esm/ion-fab_3.entry.js +8 -8
  274. package/dist/esm/ion-img.entry.js +3 -3
  275. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  276. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  277. package/dist/esm/ion-input.entry.js +18 -6
  278. package/dist/esm/ion-item-option_3.entry.js +6 -6
  279. package/dist/esm/ion-item_8.entry.js +15 -15
  280. package/dist/esm/ion-loading.entry.js +6 -6
  281. package/dist/esm/ion-menu_3.entry.js +11 -11
  282. package/dist/esm/ion-modal.entry.js +13 -12
  283. package/dist/esm/ion-nav_2.entry.js +6 -5
  284. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  285. package/dist/esm/ion-picker-column.entry.js +156 -6
  286. package/dist/esm/ion-picker.entry.js +3 -3
  287. package/dist/esm/ion-popover.entry.js +9 -8
  288. package/dist/esm/ion-progress-bar.entry.js +3 -3
  289. package/dist/esm/ion-radio_2.entry.js +6 -6
  290. package/dist/esm/ion-range.entry.js +5 -5
  291. package/dist/esm/ion-refresher_2.entry.js +4 -4
  292. package/dist/esm/ion-reorder_2.entry.js +4 -4
  293. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  294. package/dist/esm/ion-route_4.entry.js +4 -4
  295. package/dist/esm/ion-searchbar.entry.js +6 -6
  296. package/dist/esm/ion-segment_2.entry.js +7 -7
  297. package/dist/esm/ion-select_3.entry.js +9 -9
  298. package/dist/esm/ion-spinner.entry.js +3 -3
  299. package/dist/esm/ion-split-pane.entry.js +4 -4
  300. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  301. package/dist/esm/ion-tab_2.entry.js +4 -4
  302. package/dist/esm/ion-text.entry.js +4 -4
  303. package/dist/esm/ion-textarea.entry.js +4 -4
  304. package/dist/esm/ion-toast.entry.js +6 -6
  305. package/dist/esm/ion-toggle.entry.js +5 -5
  306. package/dist/esm/{ionic-global-e6c98cd0.js → ionic-global-4528d288.js} +1 -1
  307. package/dist/esm/ionic.js +32 -34
  308. package/dist/esm/{ios.transition-71bfa932.js → ios.transition-e35d0940.js} +98 -69
  309. package/dist/esm/loader.js +5 -5
  310. package/dist/esm/{md.transition-86aef3c0.js → md.transition-4b90a1f0.js} +4 -2
  311. package/dist/esm/{overlays-6fb4a2f2.js → overlays-df2c06b2.js} +5 -4
  312. package/dist/esm/{status-tap-299361cd.js → status-tap-12c27922.js} +1 -1
  313. package/dist/esm-es5/app-globals-b99e6d29.js +4 -0
  314. package/dist/esm-es5/{button-active-46df59c1.js → button-active-920addb8.js} +1 -1
  315. package/dist/esm-es5/{hardware-back-button-ba8f64c2.js → hardware-back-button-2d9760b6.js} +1 -1
  316. package/dist/esm-es5/{index-56d90da9.js → index-7ae7186a.js} +1 -1
  317. package/dist/esm-es5/index-8e6b6a24.js +4 -0
  318. package/dist/esm-es5/index-9aab3bcf.js +5 -0
  319. package/dist/esm-es5/index.js +1 -1
  320. package/dist/esm-es5/input-shims-0314bbe5.js +4 -0
  321. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  323. package/dist/esm-es5/ion-alert.entry.js +1 -1
  324. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  325. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  326. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  327. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  328. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  329. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  330. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  331. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  332. package/dist/esm-es5/ion-chip.entry.js +1 -1
  333. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  334. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  335. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  336. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  337. package/dist/esm-es5/ion-img.entry.js +1 -1
  338. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  340. package/dist/esm-es5/ion-input.entry.js +1 -1
  341. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  342. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  343. package/dist/esm-es5/ion-loading.entry.js +1 -1
  344. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  345. package/dist/esm-es5/ion-modal.entry.js +1 -1
  346. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  347. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  348. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  349. package/dist/esm-es5/ion-picker.entry.js +1 -1
  350. package/dist/esm-es5/ion-popover.entry.js +1 -1
  351. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  352. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  353. package/dist/esm-es5/ion-range.entry.js +1 -1
  354. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  355. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  356. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  357. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  358. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  359. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  360. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  361. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  362. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  363. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  364. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  365. package/dist/esm-es5/ion-text.entry.js +1 -1
  366. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  367. package/dist/esm-es5/ion-toast.entry.js +1 -1
  368. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  369. package/dist/esm-es5/{ionic-global-e6c98cd0.js → ionic-global-4528d288.js} +1 -1
  370. package/dist/esm-es5/ionic.js +1 -1
  371. package/dist/esm-es5/ios.transition-e35d0940.js +4 -0
  372. package/dist/esm-es5/loader.js +1 -1
  373. package/dist/esm-es5/md.transition-4b90a1f0.js +4 -0
  374. package/dist/esm-es5/{overlays-6fb4a2f2.js → overlays-df2c06b2.js} +1 -1
  375. package/dist/esm-es5/{status-tap-299361cd.js → status-tap-12c27922.js} +1 -1
  376. package/dist/html.html-data.json +24 -0
  377. package/dist/ionic/index.esm.js +1 -1
  378. package/dist/ionic/ionic.esm.js +1 -1
  379. package/dist/ionic/ionic.js +1 -1
  380. package/dist/ionic/{p-4f77a080.system.entry.js → p-01a27023.system.entry.js} +1 -1
  381. package/dist/ionic/p-0395be73.entry.js +4 -0
  382. package/dist/ionic/p-03b86a5e.js +4 -0
  383. package/dist/ionic/{p-5ad55625.entry.js → p-049d43bd.entry.js} +1 -1
  384. package/dist/ionic/p-0536574e.entry.js +4 -0
  385. package/dist/ionic/{p-005deca1.system.entry.js → p-08ea3402.system.entry.js} +1 -1
  386. package/dist/ionic/{p-f956e38a.entry.js → p-09538818.entry.js} +1 -1
  387. package/dist/ionic/{p-4a01cec0.entry.js → p-09b4e9ec.entry.js} +1 -1
  388. package/dist/ionic/{p-4809ddae.system.entry.js → p-0a6d801e.system.entry.js} +1 -1
  389. package/dist/ionic/{p-c54b167f.system.entry.js → p-0b007acc.system.entry.js} +1 -1
  390. package/dist/ionic/{p-e292247e.system.entry.js → p-10feef7e.system.entry.js} +1 -1
  391. package/dist/ionic/p-130299c9.entry.js +4 -0
  392. package/dist/ionic/p-15d1ddba.js +4 -0
  393. package/dist/ionic/{p-f8f8c5a8.system.entry.js → p-199f826f.system.entry.js} +1 -1
  394. package/dist/ionic/p-1b435d20.entry.js +4 -0
  395. package/dist/ionic/{p-96a561dd.js → p-1cc0b31f.js} +1 -1
  396. package/dist/ionic/p-1eb63fa4.entry.js +4 -0
  397. package/dist/ionic/{p-1ba197b6.entry.js → p-207e11dc.entry.js} +1 -1
  398. package/dist/ionic/{p-46111310.js → p-2690b1de.js} +1 -1
  399. package/dist/ionic/p-26bb6bb8.entry.js +4 -0
  400. package/dist/ionic/{p-f13dc6bd.system.entry.js → p-279f3bac.system.entry.js} +1 -1
  401. package/dist/ionic/p-29de09dd.entry.js +4 -0
  402. package/dist/ionic/{p-6e4dac1a.entry.js → p-2c588aa2.entry.js} +1 -1
  403. package/dist/ionic/p-2ff0e0aa.system.js +4 -0
  404. package/dist/ionic/p-30baae57.system.js +4 -0
  405. package/dist/ionic/{p-7a7ff5e3.system.js → p-31d27232.system.js} +1 -1
  406. package/dist/ionic/p-33e10509.system.js +4 -0
  407. package/dist/ionic/{p-7f33a6e2.system.entry.js → p-380efbfa.system.entry.js} +2 -2
  408. package/dist/ionic/p-3c27be4a.entry.js +4 -0
  409. package/dist/ionic/p-3d015cdb.system.js +5 -0
  410. package/dist/ionic/{p-1c42ad90.entry.js → p-3f53a0b1.entry.js} +1 -1
  411. package/dist/ionic/p-433157a4.entry.js +4 -0
  412. package/dist/ionic/{p-53d37363.entry.js → p-4824398b.entry.js} +1 -1
  413. package/dist/ionic/p-498eb648.system.entry.js +4 -0
  414. package/dist/ionic/{p-7c93f00b.system.entry.js → p-4d8f408d.system.entry.js} +1 -1
  415. package/dist/ionic/{p-ad2b9596.entry.js → p-5091f63c.entry.js} +1 -1
  416. package/dist/ionic/{p-6ef17d86.system.entry.js → p-509620b8.system.entry.js} +1 -1
  417. package/dist/ionic/{p-48f60474.entry.js → p-5109a566.entry.js} +1 -1
  418. package/dist/ionic/{p-4f6ebc2b.entry.js → p-52ce473d.entry.js} +1 -1
  419. package/dist/ionic/{p-4fadf4b0.entry.js → p-52f53904.entry.js} +1 -1
  420. package/dist/ionic/{p-aa8a2f40.system.entry.js → p-55f99a39.system.entry.js} +1 -1
  421. package/dist/ionic/{p-6ac30fc3.system.js → p-5734ac17.system.js} +1 -1
  422. package/dist/ionic/{p-55bc2a11.system.entry.js → p-57bc32e2.system.entry.js} +1 -1
  423. package/dist/ionic/{p-8f9e2850.js → p-5cc6dcf5.js} +1 -1
  424. package/dist/ionic/p-5dc9f99a.entry.js +4 -0
  425. package/dist/ionic/p-5ec3bb70.system.entry.js +4 -0
  426. package/dist/ionic/{p-b6519a42.entry.js → p-606f069c.entry.js} +1 -1
  427. package/dist/ionic/{p-3de2aab8.system.entry.js → p-628967e3.system.entry.js} +1 -1
  428. package/dist/ionic/{p-c927dbe2.system.entry.js → p-62e44e4a.system.entry.js} +1 -1
  429. package/dist/ionic/p-66ed603b.js +4 -0
  430. package/dist/ionic/{p-e548fedf.system.entry.js → p-670c9f57.system.entry.js} +1 -1
  431. package/dist/ionic/{p-d061515d.system.entry.js → p-6a2cf398.system.entry.js} +1 -1
  432. package/dist/ionic/{p-7492572a.entry.js → p-6c3666d5.entry.js} +1 -1
  433. package/dist/ionic/{p-53d69c70.system.entry.js → p-6df12af0.system.entry.js} +1 -1
  434. package/dist/ionic/p-6ec88301.entry.js +4 -0
  435. package/dist/ionic/p-6f008ad2.js +4 -0
  436. package/dist/ionic/{p-814efd87.system.entry.js → p-700567ab.system.entry.js} +1 -1
  437. package/dist/ionic/p-712d54ae.js +4 -0
  438. package/dist/ionic/{p-e8a713b5.entry.js → p-7349de07.entry.js} +1 -1
  439. package/dist/ionic/p-7402fcdf.entry.js +4 -0
  440. package/dist/ionic/{p-e6d46b5d.system.entry.js → p-77731f19.system.entry.js} +1 -1
  441. package/dist/ionic/{p-90f8498c.entry.js → p-78405458.entry.js} +1 -1
  442. package/dist/ionic/{p-b4a7f856.system.entry.js → p-7d6fd45f.system.entry.js} +1 -1
  443. package/dist/ionic/{p-332aa81e.entry.js → p-7eb47906.entry.js} +1 -1
  444. package/dist/ionic/{p-8a5152e5.entry.js → p-80265a58.entry.js} +1 -1
  445. package/dist/ionic/{p-68afa357.system.entry.js → p-83d748f8.system.entry.js} +2 -2
  446. package/dist/ionic/{p-6c5c1bb5.system.js → p-842c9fca.system.js} +1 -1
  447. package/dist/ionic/{p-e781c893.entry.js → p-8a03fbee.entry.js} +1 -1
  448. package/dist/ionic/{p-cf8101a6.system.entry.js → p-8cb80f83.system.entry.js} +1 -1
  449. package/dist/ionic/{p-9fd3ca09.system.entry.js → p-8d14ee8c.system.entry.js} +2 -2
  450. package/dist/ionic/p-90dfc454.system.entry.js +4 -0
  451. package/dist/ionic/{p-c4eafa12.system.entry.js → p-9213681c.system.entry.js} +1 -1
  452. package/dist/ionic/p-92d7e99d.system.js +4 -0
  453. package/dist/ionic/{p-2b86020c.system.entry.js → p-9664a1a2.system.entry.js} +1 -1
  454. package/dist/ionic/{p-dbc3e90c.entry.js → p-9797f6eb.entry.js} +1 -1
  455. package/dist/ionic/{p-987e38ef.system.entry.js → p-9848d7be.system.entry.js} +1 -1
  456. package/dist/ionic/{p-fea11771.entry.js → p-98f6116f.entry.js} +1 -1
  457. package/dist/ionic/{p-cbd87df6.entry.js → p-99884813.entry.js} +1 -1
  458. package/dist/ionic/{p-904df2ee.system.entry.js → p-99ca9787.system.entry.js} +1 -1
  459. package/dist/ionic/{p-ca5bb110.system.entry.js → p-9bfd7cda.system.entry.js} +1 -1
  460. package/dist/ionic/p-9c6dcf78.system.entry.js +4 -0
  461. package/dist/ionic/p-9da86308.js +4 -0
  462. package/dist/ionic/{p-83b445c3.js → p-9ec42be0.js} +1 -1
  463. package/dist/ionic/{p-5c26fed5.system.entry.js → p-a2e94ade.system.entry.js} +1 -1
  464. package/dist/ionic/{p-7bbcce53.system.js → p-a39d3482.system.js} +1 -1
  465. package/dist/ionic/p-a488b7ab.system.js +4 -0
  466. package/dist/ionic/{p-e1ad8e76.entry.js → p-a4ab7449.entry.js} +1 -1
  467. package/dist/ionic/{p-3d977e09.system.entry.js → p-a50f23bf.system.entry.js} +2 -2
  468. package/dist/ionic/{p-275dd0ba.system.entry.js → p-a76ab3ea.system.entry.js} +1 -1
  469. package/dist/ionic/{p-67f5b57a.js → p-a953ef66.js} +1 -1
  470. package/dist/ionic/p-aaaaaea1.entry.js +4 -0
  471. package/dist/ionic/{p-151e8afd.entry.js → p-b02eda30.entry.js} +1 -1
  472. package/dist/ionic/{p-341b3f37.entry.js → p-b04c27d8.entry.js} +1 -1
  473. package/dist/ionic/{p-6cf780b6.system.entry.js → p-b07affd5.system.entry.js} +1 -1
  474. package/dist/ionic/{p-aa79cc0e.system.entry.js → p-b28d3ccb.system.entry.js} +2 -2
  475. package/dist/ionic/{p-e099a6f3.entry.js → p-b563b6ac.entry.js} +1 -1
  476. package/dist/ionic/p-b62ae60a.system.entry.js +4 -0
  477. package/dist/ionic/p-b9181033.system.entry.js +4 -0
  478. package/dist/ionic/{p-e93cd31c.entry.js → p-ba70039f.entry.js} +1 -1
  479. package/dist/ionic/{p-1fe1f512.entry.js → p-bbbe869e.entry.js} +1 -1
  480. package/dist/ionic/{p-aea5f293.system.entry.js → p-c41435e6.system.entry.js} +1 -1
  481. package/dist/ionic/p-cec8589b.system.js +4 -0
  482. package/dist/ionic/{p-3008ca4e.system.entry.js → p-d69b26d9.system.entry.js} +1 -1
  483. package/dist/ionic/p-d73a16e6.system.entry.js +4 -0
  484. package/dist/ionic/p-dba5cb84.js +5 -0
  485. package/dist/ionic/{p-df0d39c7.system.entry.js → p-dc0d9ff5.system.entry.js} +2 -2
  486. package/dist/ionic/p-dc1e363a.entry.js +4 -0
  487. package/dist/ionic/{p-405fd996.entry.js → p-df517d1f.entry.js} +1 -1
  488. package/dist/ionic/p-dfb78785.system.js +4 -0
  489. package/dist/ionic/{p-98af538a.system.entry.js → p-e0a8ffd0.system.entry.js} +1 -1
  490. package/dist/ionic/{p-50205ef9.system.entry.js → p-e6e197f5.system.entry.js} +1 -1
  491. package/dist/ionic/{p-530207f9.entry.js → p-e6e88ab9.entry.js} +1 -1
  492. package/dist/ionic/{p-ffbc80ae.system.js → p-e81f22e3.system.js} +1 -1
  493. package/dist/ionic/{p-07584ab4.system.js → p-eb3023c9.system.js} +1 -1
  494. package/dist/ionic/p-ecbdbf25.system.entry.js +4 -0
  495. package/dist/ionic/{p-91b568e2.system.entry.js → p-ed5aebaa.system.entry.js} +1 -1
  496. package/dist/ionic/p-f357707e.entry.js +4 -0
  497. package/dist/ionic/{p-ca6decbd.entry.js → p-f53bcebd.entry.js} +1 -1
  498. package/dist/ionic/p-f9baf25c.entry.js +4 -0
  499. package/dist/ionic/{p-1472c130.entry.js → p-fa8f2e62.entry.js} +1 -1
  500. package/dist/ionic/{p-e81c3ca2.system.entry.js → p-fb21fd1c.system.entry.js} +1 -1
  501. package/dist/ionic/{p-bc3d649d.entry.js → p-fcecca8f.entry.js} +1 -1
  502. package/dist/types/components/accordion-group/accordion-group.d.ts +3 -4
  503. package/dist/types/components/checkbox/checkbox.d.ts +3 -4
  504. package/dist/types/components/content/content.d.ts +8 -0
  505. package/dist/types/components/datetime/datetime.d.ts +2 -0
  506. package/dist/types/components/input/input.d.ts +6 -0
  507. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  508. package/dist/types/components/modal/modal.d.ts +18 -0
  509. package/dist/types/components/picker-column/picker-column.d.ts +37 -0
  510. package/dist/types/components/popover/popover-interface.d.ts +1 -0
  511. package/dist/types/components/popover/popover.d.ts +18 -0
  512. package/dist/types/components/radio-group/radio-group.d.ts +2 -0
  513. package/dist/types/components/range/range.d.ts +1 -1
  514. package/dist/types/components/searchbar/searchbar.d.ts +2 -0
  515. package/dist/types/components/segment/segment.d.ts +3 -2
  516. package/dist/types/components/select/select.d.ts +2 -0
  517. package/dist/types/components/textarea/textarea.d.ts +2 -0
  518. package/dist/types/components/toggle/toggle.d.ts +3 -2
  519. package/dist/types/components.d.ts +44 -12
  520. package/dist/types/utils/config.d.ts +9 -0
  521. package/dist/types/utils/focus-controller/index.d.ts +13 -0
  522. package/dist/types/utils/overlays.d.ts +1 -0
  523. package/hydrate/index.d.ts +1 -1
  524. package/hydrate/index.js +44900 -35418
  525. package/package.json +6 -6
  526. package/dist/cjs/index-bbc6c29f.js +0 -3324
  527. package/dist/esm/index-bcd8859b.js +0 -3286
  528. package/dist/esm-es5/app-globals-49873df1.js +0 -4
  529. package/dist/esm-es5/index-bcd8859b.js +0 -5
  530. package/dist/esm-es5/index-f0d7371a.js +0 -4
  531. package/dist/esm-es5/input-shims-4530285e.js +0 -4
  532. package/dist/esm-es5/ios.transition-71bfa932.js +0 -4
  533. package/dist/esm-es5/md.transition-86aef3c0.js +0 -4
  534. package/dist/ionic/p-0bd47555.js +0 -4
  535. package/dist/ionic/p-0e713efe.js +0 -4
  536. package/dist/ionic/p-13cc6ee6.entry.js +0 -4
  537. package/dist/ionic/p-1b0f4e6c.entry.js +0 -4
  538. package/dist/ionic/p-1fa53d02.entry.js +0 -4
  539. package/dist/ionic/p-23fdee0e.entry.js +0 -4
  540. package/dist/ionic/p-2613c305.system.js +0 -4
  541. package/dist/ionic/p-46f407f0.system.js +0 -4
  542. package/dist/ionic/p-495ed1c3.entry.js +0 -4
  543. package/dist/ionic/p-4de53118.js +0 -4
  544. package/dist/ionic/p-4edce583.system.entry.js +0 -4
  545. package/dist/ionic/p-510cb8e6.system.js +0 -4
  546. package/dist/ionic/p-582db405.system.entry.js +0 -4
  547. package/dist/ionic/p-5f28cb75.js +0 -4
  548. package/dist/ionic/p-6dc81903.entry.js +0 -4
  549. package/dist/ionic/p-7372cf23.system.entry.js +0 -4
  550. package/dist/ionic/p-7596e24d.system.js +0 -5
  551. package/dist/ionic/p-76971b4f.entry.js +0 -4
  552. package/dist/ionic/p-91dabef7.system.js +0 -4
  553. package/dist/ionic/p-9ccc8035.system.entry.js +0 -4
  554. package/dist/ionic/p-9fa5ff32.system.js +0 -4
  555. package/dist/ionic/p-a28ea4d8.system.entry.js +0 -4
  556. package/dist/ionic/p-a39a73e3.entry.js +0 -4
  557. package/dist/ionic/p-a90201f2.js +0 -4
  558. package/dist/ionic/p-ac045dad.entry.js +0 -4
  559. package/dist/ionic/p-ae42c907.entry.js +0 -4
  560. package/dist/ionic/p-ba35f07f.entry.js +0 -4
  561. package/dist/ionic/p-c1c77386.js +0 -5
  562. package/dist/ionic/p-c2762c6a.system.entry.js +0 -4
  563. package/dist/ionic/p-c4e495a3.system.js +0 -4
  564. package/dist/ionic/p-cf45a5c7.system.entry.js +0 -4
  565. package/dist/ionic/p-d73f49d0.entry.js +0 -4
  566. package/dist/ionic/p-dc4406d7.system.entry.js +0 -4
  567. package/dist/ionic/p-dec86943.entry.js +0 -4
  568. package/dist/ionic/p-e5a3659f.system.js +0 -4
  569. package/dist/ionic/p-ec178f19.entry.js +0 -4
  570. package/dist/ionic/p-eda2459e.entry.js +0 -4
  571. package/dist/ionic/p-f6ca4d02.js +0 -4
  572. package/dist/ionic/p-f6fec6a0.entry.js +0 -4
@@ -3,7 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-bbc6c29f.js');
6
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
7
+ const index$1 = require('./index-8709af32.js');
8
+ const index = require('./index-5915f9b3.js');
7
9
  const helpers = require('./helpers-afaa9001.js');
8
10
 
9
11
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -12,12 +14,121 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
12
14
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
13
15
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
14
16
 
15
- const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-d4f0ca4e.js'); });
16
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-857328f3.js'); });
17
+ /**
18
+ * Moves focus to a specified element. Note that we do not remove the tabindex
19
+ * because that can result in an unintentional blur. Non-focusables can't be
20
+ * focused, so the body will get focused again.
21
+ */
22
+ const moveFocus = (el) => {
23
+ el.tabIndex = -1;
24
+ el.focus();
25
+ };
26
+ /**
27
+ * Elements that are hidden using `display: none` should not be focused even if
28
+ * they are present in the DOM.
29
+ */
30
+ const isVisible = (el) => {
31
+ return el.offsetParent !== null;
32
+ };
33
+ /**
34
+ * The focus controller allows us to manage focus within a view so assistive
35
+ * technologies can inform users of changes to the navigation state. Traditional
36
+ * native apps have a way of informing assistive technology about a navigation
37
+ * state change. Mobile browsers have this too, but only when doing a full page
38
+ * load. In a single page app we do not do that, so we need to build this
39
+ * integration ourselves.
40
+ */
41
+ const createFocusController = () => {
42
+ const saveViewFocus = (referenceEl) => {
43
+ const focusManagerEnabled = ionicGlobal.config.get('focusManagerPriority', false);
44
+ /**
45
+ * When going back to a previously visited page focus should typically be moved
46
+ * back to the element that was last focused when the user was on this view.
47
+ */
48
+ if (focusManagerEnabled) {
49
+ const activeEl = document.activeElement;
50
+ if (activeEl !== null && (referenceEl === null || referenceEl === void 0 ? void 0 : referenceEl.contains(activeEl))) {
51
+ activeEl.setAttribute(LAST_FOCUS, 'true');
52
+ }
53
+ }
54
+ };
55
+ const setViewFocus = (referenceEl) => {
56
+ const focusManagerPriorities = ionicGlobal.config.get('focusManagerPriority', false);
57
+ /**
58
+ * If the focused element is a descendant of the referenceEl then it's possible
59
+ * that the app developer manually moved focus, so we do not want to override that.
60
+ * This can happen with inputs the are focused when a view transitions in.
61
+ */
62
+ if (Array.isArray(focusManagerPriorities) && !referenceEl.contains(document.activeElement)) {
63
+ /**
64
+ * When going back to a previously visited view focus should always be moved back
65
+ * to the element that the user was last focused on when they were on this view.
66
+ */
67
+ const lastFocus = referenceEl.querySelector(`[${LAST_FOCUS}]`);
68
+ if (lastFocus && isVisible(lastFocus)) {
69
+ moveFocus(lastFocus);
70
+ return;
71
+ }
72
+ for (const priority of focusManagerPriorities) {
73
+ /**
74
+ * For each recognized case (excluding the default case) make sure to return
75
+ * so that the fallback focus behavior does not run.
76
+ *
77
+ * We intentionally query for specific roles/semantic elements so that the
78
+ * transition manager can work with both Ionic and non-Ionic UI components.
79
+ *
80
+ * If new selectors are added, be sure to remove the outline ring by adding
81
+ * new selectors to rule in core.scss.
82
+ */
83
+ switch (priority) {
84
+ case 'content':
85
+ const content = referenceEl.querySelector('main, [role="main"]');
86
+ if (content && isVisible(content)) {
87
+ moveFocus(content);
88
+ return;
89
+ }
90
+ break;
91
+ case 'heading':
92
+ const headingOne = referenceEl.querySelector('h1, [role="heading"][aria-level="1"]');
93
+ if (headingOne && isVisible(headingOne)) {
94
+ moveFocus(headingOne);
95
+ return;
96
+ }
97
+ break;
98
+ case 'banner':
99
+ const header = referenceEl.querySelector('header, [role="banner"]');
100
+ if (header && isVisible(header)) {
101
+ moveFocus(header);
102
+ return;
103
+ }
104
+ break;
105
+ default:
106
+ index.printIonWarning(`Unrecognized focus manager priority value ${priority}`);
107
+ break;
108
+ }
109
+ }
110
+ /**
111
+ * If there is nothing to focus then focus the page so focus at least moves to
112
+ * the correct view. The browser will then determine where within the page to
113
+ * move focus to.
114
+ */
115
+ moveFocus(referenceEl);
116
+ }
117
+ };
118
+ return {
119
+ saveViewFocus,
120
+ setViewFocus,
121
+ };
122
+ };
123
+ const LAST_FOCUS = 'ion-last-focus';
124
+
125
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-5ddf92f1.js'); });
126
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-047c18c5.js'); });
127
+ const focusController = createFocusController();
17
128
  // TODO(FW-2832): types
18
129
  const transition = (opts) => {
19
130
  return new Promise((resolve, reject) => {
20
- index.writeTask(() => {
131
+ index$1.writeTask(() => {
21
132
  beforeTransition(opts);
22
133
  runTransition(opts).then((result) => {
23
134
  if (result.animation) {
@@ -35,6 +146,7 @@ const transition = (opts) => {
35
146
  const beforeTransition = (opts) => {
36
147
  const enteringEl = opts.enteringEl;
37
148
  const leavingEl = opts.leavingEl;
149
+ focusController.saveViewFocus(leavingEl);
38
150
  setZIndex(enteringEl, leavingEl, opts.direction);
39
151
  if (opts.showGoBack) {
40
152
  enteringEl.classList.add('can-go-back');
@@ -57,7 +169,7 @@ const beforeTransition = (opts) => {
57
169
  };
58
170
  const runTransition = async (opts) => {
59
171
  const animationBuilder = await getAnimationBuilder(opts);
60
- const ani = animationBuilder && index.Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation
172
+ const ani = animationBuilder && index$1.Build.isBrowser ? animation(animationBuilder, opts) : noAnimation(opts); // fast path for no animation
61
173
  return ani;
62
174
  };
63
175
  const afterTransition = (opts) => {
@@ -69,6 +181,7 @@ const afterTransition = (opts) => {
69
181
  leavingEl.classList.remove('ion-page-invisible');
70
182
  leavingEl.style.removeProperty('pointer-events');
71
183
  }
184
+ focusController.setViewFocus(enteringEl);
72
185
  };
73
186
  const getAnimationBuilder = async (opts) => {
74
187
  if (!opts.leavingEl || !opts.animated || opts.duration === 0) {
@@ -101,7 +214,12 @@ const animation = async (animationBuilder, opts) => {
101
214
  const noAnimation = async (opts) => {
102
215
  const enteringEl = opts.enteringEl;
103
216
  const leavingEl = opts.leavingEl;
104
- await waitForReady(opts, false);
217
+ const focusManagerEnabled = ionicGlobal.config.get('focusManagerPriority', false);
218
+ /**
219
+ * If the focus manager is enabled then we need to wait for Ionic components to be
220
+ * rendered otherwise the component to focus may not be focused because it is hidden.
221
+ */
222
+ await waitForReady(opts, focusManagerEnabled);
105
223
  fireWillEvents(enteringEl, leavingEl);
106
224
  fireDidEvents(enteringEl, leavingEl);
107
225
  return {
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index$1 = require('./index-c8d52405.js');
7
- const hardwareBackButton = require('./hardware-back-button-44e7c052.js');
7
+ const hardwareBackButton = require('./hardware-back-button-ed931127.js');
8
8
  const index = require('./index-5915f9b3.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
- const ionicGlobal = require('./ionic-global-62487d02.js');
10
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
11
11
  const animation = require('./animation-b4fdf128.js');
12
12
 
13
13
  /**
@@ -6,22 +6,22 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const animation = require('./animation-b4fdf128.js');
9
- const index = require('./index-6d6ac424.js');
10
- const ios_transition = require('./ios.transition-d4f0ca4e.js');
11
- const md_transition = require('./md.transition-857328f3.js');
9
+ const index = require('./index-c0b7f8f4.js');
10
+ const ios_transition = require('./ios.transition-5ddf92f1.js');
11
+ const md_transition = require('./md.transition-047c18c5.js');
12
12
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
13
13
  const index$1 = require('./index-ee07ed59.js');
14
- const ionicGlobal = require('./ionic-global-62487d02.js');
14
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
15
15
  const helpers = require('./helpers-afaa9001.js');
16
16
  const config = require('./config-4f60b98a.js');
17
17
  const theme = require('./theme-d1c573d2.js');
18
- const index$2 = require('./index-defd575f.js');
19
- const overlays = require('./overlays-10c452b2.js');
18
+ const index$2 = require('./index-c54654c6.js');
19
+ const overlays = require('./overlays-cb04d075.js');
20
20
  require('./index-c8d52405.js');
21
- require('./index-bbc6c29f.js');
22
- require('./gesture-controller-9436f482.js');
23
- require('./hardware-back-button-44e7c052.js');
21
+ require('./index-8709af32.js');
24
22
  require('./index-5915f9b3.js');
23
+ require('./gesture-controller-9436f482.js');
24
+ require('./hardware-back-button-ed931127.js');
25
25
  require('./framework-delegate-55f5683a.js');
26
26
 
27
27
  const IonicSlides = (opts) => {
@@ -340,7 +340,7 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
340
340
  const focusOut = () => {
341
341
  hasKeyboardBeenPresentedForTextField = false;
342
342
  index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
343
- componentEl.removeEventListener('focusout', focusOut, true);
343
+ componentEl.removeEventListener('focusout', focusOut);
344
344
  };
345
345
  /**
346
346
  * When the input is about to receive
@@ -360,13 +360,13 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
360
360
  }
361
361
  jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
362
362
  index.win === null || index.win === void 0 ? void 0 : index.win.addEventListener('ionKeyboardDidShow', keyboardShow);
363
- componentEl.addEventListener('focusout', focusOut, true);
363
+ componentEl.addEventListener('focusout', focusOut);
364
364
  };
365
- componentEl.addEventListener('focusin', focusIn, true);
365
+ componentEl.addEventListener('focusin', focusIn);
366
366
  return () => {
367
- componentEl.removeEventListener('focusin', focusIn, true);
367
+ componentEl.removeEventListener('focusin', focusIn);
368
368
  index.win === null || index.win === void 0 ? void 0 : index.win.removeEventListener('ionKeyboardDidShow', keyboardShow);
369
- componentEl.removeEventListener('focusout', focusOut, true);
369
+ componentEl.removeEventListener('focusout', focusOut);
370
370
  };
371
371
  };
372
372
  /**
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const index$1 = require('./index-073c7cdc.js');
11
- const ionicGlobal = require('./ionic-global-62487d02.js');
11
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
12
12
  const index$2 = require('./index-5915f9b3.js');
13
13
 
14
14
  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}";
@@ -526,12 +526,12 @@ const AccordionGroup = class {
526
526
  render() {
527
527
  const { disabled, readonly, expand } = this;
528
528
  const mode = ionicGlobal.getIonMode(this);
529
- return (index.h(index.Host, { key: 'ac2e26ac91c95d08172bd2b51daa7a711c21db9e', class: {
529
+ return (index.h(index.Host, { key: '82f3e77066fabb4736638ee4c487ad56efd39c63', class: {
530
530
  [mode]: true,
531
531
  'accordion-group-disabled': disabled,
532
532
  'accordion-group-readonly': readonly,
533
533
  [`accordion-group-expand-${expand}`]: true,
534
- }, role: "presentation" }, index.h("slot", { key: '444adc2af5730897eba57095da046d6bdb5af70f' })));
534
+ }, role: "presentation" }, index.h("slot", { key: 'a3c791ea887fc640b512f81d429be465ae902b3d' })));
535
535
  }
536
536
  get el() { return index.getElement(this); }
537
537
  static get watchers() { return {
@@ -5,20 +5,20 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
9
- const buttonActive = require('./button-active-564be49f.js');
8
+ const index = require('./index-8709af32.js');
9
+ const buttonActive = require('./button-active-9135c809.js');
10
10
  const helpers = require('./helpers-afaa9001.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
- const overlays = require('./overlays-10c452b2.js');
12
+ const overlays = require('./overlays-cb04d075.js');
13
13
  const theme = require('./theme-d1c573d2.js');
14
- const ionicGlobal = require('./ionic-global-62487d02.js');
14
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
15
15
  const animation = require('./animation-b4fdf128.js');
16
16
  require('./haptic-f6b37aa3.js');
17
17
  require('./capacitor-c04564bf.js');
18
18
  require('./index-c8d52405.js');
19
19
  require('./index-ee07ed59.js');
20
20
  require('./gesture-controller-9436f482.js');
21
- require('./hardware-back-button-44e7c052.js');
21
+ require('./hardware-back-button-ed931127.js');
22
22
  require('./framework-delegate-55f5683a.js');
23
23
  require('./index-5915f9b3.js');
24
24
 
@@ -5,21 +5,21 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const config = require('./config-4f60b98a.js');
10
- const buttonActive = require('./button-active-564be49f.js');
10
+ const buttonActive = require('./button-active-9135c809.js');
11
11
  const helpers = require('./helpers-afaa9001.js');
12
12
  const lockController = require('./lock-controller-6585a42a.js');
13
- const overlays = require('./overlays-10c452b2.js');
13
+ const overlays = require('./overlays-cb04d075.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
- const ionicGlobal = require('./ionic-global-62487d02.js');
15
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
16
16
  const animation = require('./animation-b4fdf128.js');
17
17
  require('./haptic-f6b37aa3.js');
18
18
  require('./capacitor-c04564bf.js');
19
19
  require('./index-c8d52405.js');
20
20
  require('./index-ee07ed59.js');
21
21
  require('./gesture-controller-9436f482.js');
22
- require('./hardware-back-button-44e7c052.js');
22
+ require('./hardware-back-button-ed931127.js');
23
23
  require('./framework-delegate-55f5683a.js');
24
24
  require('./index-5915f9b3.js');
25
25
 
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
9
- const hardwareBackButton = require('./hardware-back-button-44e7c052.js');
8
+ const index = require('./index-8709af32.js');
9
+ const hardwareBackButton = require('./hardware-back-button-ed931127.js');
10
10
  const index$1 = require('./index-5915f9b3.js');
11
- const ionicGlobal = require('./ionic-global-62487d02.js');
11
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
12
12
  const helpers = require('./helpers-afaa9001.js');
13
13
  const dir = require('./dir-94c21456.js');
14
14
  const theme = require('./theme-d1c573d2.js');
@@ -17,7 +17,7 @@ const keyboardController = require('./keyboard-controller-c05e747a.js');
17
17
  const cubicBezier = require('./cubic-bezier-f2dccc53.js');
18
18
  const frameworkDelegate = require('./framework-delegate-55f5683a.js');
19
19
  const lockController = require('./lock-controller-6585a42a.js');
20
- const index$3 = require('./index-6d6ac424.js');
20
+ const index$3 = require('./index-c0b7f8f4.js');
21
21
  require('./index-c8d52405.js');
22
22
  require('./keyboard-0272231f.js');
23
23
  require('./capacitor-c04564bf.js');
@@ -37,7 +37,7 @@ const App = class {
37
37
  Promise.resolve().then(function () { return require('./index-9509ecad.js'); }).then((module) => module.startTapClick(ionicGlobal.config));
38
38
  }
39
39
  if (ionicGlobal.config.getBoolean('statusTap', isHybrid)) {
40
- Promise.resolve().then(function () { return require('./status-tap-81daddfa.js'); }).then((module) => module.startStatusTap());
40
+ Promise.resolve().then(function () { return require('./status-tap-5b2775cd.js'); }).then((module) => module.startStatusTap());
41
41
  }
42
42
  if (ionicGlobal.config.getBoolean('inputShims', needInputShims())) {
43
43
  /**
@@ -45,9 +45,9 @@ const App = class {
45
45
  * platforms proceed into this block.
46
46
  */
47
47
  const platform = ionicGlobal.isPlatform(window, 'ios') ? 'ios' : 'android';
48
- Promise.resolve().then(function () { return require('./input-shims-20d639e6.js'); }).then((module) => module.startInputShims(ionicGlobal.config, platform));
48
+ Promise.resolve().then(function () { return require('./input-shims-9e59ef62.js'); }).then((module) => module.startInputShims(ionicGlobal.config, platform));
49
49
  }
50
- const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-44e7c052.js'); });
50
+ const hardwareBackButtonModule = await Promise.resolve().then(function () { return require('./hardware-back-button-ed931127.js'); });
51
51
  const supportsHardwareBackButtonEvents = isHybrid || hardwareBackButton.shouldUseCloseWatcher();
52
52
  if (ionicGlobal.config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
53
53
  hardwareBackButtonModule.startHardwareBackButton();
@@ -188,6 +188,7 @@ const Content = class {
188
188
  };
189
189
  this.color = undefined;
190
190
  this.fullscreen = false;
191
+ this.fixedSlotPlacement = 'after';
191
192
  this.forceOverscroll = undefined;
192
193
  this.scrollX = false;
193
194
  this.scrollY = true;
@@ -469,13 +470,13 @@ const Content = class {
469
470
  }
470
471
  }
471
472
  render() {
472
- const { isMainContent, scrollX, scrollY, el } = this;
473
+ const { fixedSlotPlacement, isMainContent, scrollX, scrollY, el } = this;
473
474
  const rtl = dir.isRTL(el) ? 'rtl' : 'ltr';
474
475
  const mode = ionicGlobal.getIonMode(this);
475
476
  const forceOverscroll = this.shouldForceOverscroll();
476
477
  const transitionShadow = mode === 'ios';
477
478
  this.resize();
478
- return (index.h(index.Host, { key: '98e9658e69c0bbe0113e4c1b89dd7b240334c039', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
479
+ return (index.h(index.Host, { key: 'f599a7da14969df38c20a6f650179d2a319fb58b', role: isMainContent ? 'main' : undefined, class: theme.createColorClasses(this.color, {
479
480
  [mode]: true,
480
481
  'content-sizing': theme.hostContext('ion-popover', this.el),
481
482
  overscroll: forceOverscroll,
@@ -483,12 +484,12 @@ const Content = class {
483
484
  }), style: {
484
485
  '--offset-top': `${this.cTop}px`,
485
486
  '--offset-bottom': `${this.cBottom}px`,
486
- } }, index.h("div", { key: 'e89aa6ea09625846db52d63bdbf06c3c279a5ba4', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), index.h("div", { key: '37925cf9d898ede58d5ac7b5a650c648033602a3', class: {
487
+ } }, index.h("div", { key: '7c545c3c95ea05abd036d0462936ac153d2a8fc6', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? index.h("slot", { name: "fixed" }) : null, index.h("div", { key: 'a67ab7438466c99f74b7ba59964802c3ba86ac5b', class: {
487
488
  'inner-scroll': true,
488
489
  'scroll-x': scrollX,
489
490
  'scroll-y': scrollY,
490
491
  overscroll: (scrollX || scrollY) && forceOverscroll,
491
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: 'a40f964cacf0c2e2bdcf962791aaadb386d44323' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, index.h("slot", { key: 'd21886cff0bc417e1f5e3a436dddc079e967579b', name: "fixed" })));
492
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, index.h("slot", { key: '6d10fcac2e40b4dd6c20d91a8957ac07251d2fa7' })), transitionShadow ? (index.h("div", { class: "transition-effect" }, index.h("div", { class: "transition-cover" }), index.h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? index.h("slot", { name: "fixed" }) : null));
492
493
  }
493
494
  get el() { return index.getElement(this); }
494
495
  };
@@ -656,7 +657,7 @@ const Footer = class {
656
657
  const mode = ionicGlobal.getIonMode(this);
657
658
  const tabs = this.el.closest('ion-tabs');
658
659
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
659
- return (index.h(index.Host, { key: 'ddc228f1a1e7fa4f707dccf74db2490ca3241137', role: "contentinfo", class: {
660
+ return (index.h(index.Host, { key: '5da19dc38ba73e1ddfd1bef3ebd485105d77c751', role: "contentinfo", class: {
660
661
  [mode]: true,
661
662
  // Used internally for styling
662
663
  [`footer-${mode}`]: true,
@@ -664,7 +665,7 @@ const Footer = class {
664
665
  [`footer-translucent-${mode}`]: translucent,
665
666
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
666
667
  [`footer-collapse-${collapse}`]: collapse !== undefined,
667
- } }, mode === 'ios' && translucent && index.h("div", { key: 'e16ed4963ff94e06de77eb8038201820af73937c', class: "footer-background" }), index.h("slot", { key: 'f186934febf85d37133d9351a96c1a64b0a4b203' })));
668
+ } }, mode === 'ios' && translucent && index.h("div", { key: 'fafad08090a33d8c4e8a5b63d61929dcb89aab47', class: "footer-background" }), index.h("slot", { key: 'e0a443d346afa55e4317c0bc1263fdbe3c619559' })));
668
669
  }
669
670
  get el() { return index.getElement(this); }
670
671
  };
@@ -986,14 +987,14 @@ const Header = class {
986
987
  const collapse = this.collapse || 'none';
987
988
  // banner role must be at top level, so remove role if inside a menu
988
989
  const roleType = theme.hostContext('ion-menu', this.el) ? 'none' : 'banner';
989
- return (index.h(index.Host, Object.assign({ key: 'b6cc27f0b08afc9fcc889683525da765d80ba672', role: roleType, class: {
990
+ return (index.h(index.Host, Object.assign({ key: 'c687314ef290793a9d633ad20cfc5eeb47621e31', role: roleType, class: {
990
991
  [mode]: true,
991
992
  // Used internally for styling
992
993
  [`header-${mode}`]: true,
993
994
  [`header-translucent`]: this.translucent,
994
995
  [`header-collapse-${collapse}`]: true,
995
996
  [`header-translucent-${mode}`]: this.translucent,
996
- } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: '395766d4dcee3398bc91960db21f922095292f14', class: "header-background" }), index.h("slot", { key: '09a67ece27b258ff1248805d43d92a49b2c6859a' })));
997
+ } }, inheritedAttributes), mode === 'ios' && translucent && index.h("div", { key: 'b429996046082405a91e7c23f95516db0b736f12', class: "header-background" }), index.h("slot", { key: 'e17a8965f8d3a33c1bfcb056c153d8242e5229fa' })));
997
998
  }
998
999
  get el() { return index.getElement(this); }
999
1000
  };
@@ -1178,7 +1179,7 @@ const RouterOutlet = class {
1178
1179
  return true;
1179
1180
  }
1180
1181
  render() {
1181
- return index.h("slot", { key: '44a7798b8574966f7fd699564b6006411a98a805' });
1182
+ return index.h("slot", { key: 'dac9120f5ffa628b16c04e5fdd44ea8e560c97e6' });
1182
1183
  }
1183
1184
  get el() { return index.getElement(this); }
1184
1185
  static get watchers() { return {
@@ -1218,11 +1219,11 @@ const ToolbarTitle = class {
1218
1219
  render() {
1219
1220
  const mode = ionicGlobal.getIonMode(this);
1220
1221
  const size = this.getSize();
1221
- return (index.h(index.Host, { key: '5cb49f3642fb3c937cdba729ab7d561213d9bce5', class: theme.createColorClasses(this.color, {
1222
+ return (index.h(index.Host, { key: '5a58dc437a6f4257244bbdd7e9a682a17d8c9a6b', class: theme.createColorClasses(this.color, {
1222
1223
  [mode]: true,
1223
1224
  [`title-${size}`]: true,
1224
1225
  'title-rtl': document.dir === 'rtl',
1225
- }) }, index.h("div", { key: 'f089bf6cff17ab109fec7de8b1bf96bf33bede1f', class: "toolbar-title" }, index.h("slot", { key: 'ed74c4e77126a309970ff719baa6ebaebb00d2e6' }))));
1226
+ }) }, index.h("div", { key: '58682ea7b8f47a08adfad419b5c76b34784c6501', class: "toolbar-title" }, index.h("slot", { key: '8a9248534e4c3076f5e2dfda38ef86069796851c' }))));
1226
1227
  }
1227
1228
  get el() { return index.getElement(this); }
1228
1229
  static get watchers() { return {
@@ -1290,10 +1291,10 @@ const Toolbar = class {
1290
1291
  this.childrenStyles.forEach((value) => {
1291
1292
  Object.assign(childStyles, value);
1292
1293
  });
1293
- return (index.h(index.Host, { key: 'af016bf9981a2d6182783c6643e2d460245ecc2f', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1294
+ return (index.h(index.Host, { key: '4bb3a55001408a3bdf033af76b9196cb96c07c09', class: Object.assign(Object.assign({}, childStyles), theme.createColorClasses(this.color, {
1294
1295
  [mode]: true,
1295
1296
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
1296
- })) }, index.h("div", { key: '437debb5b7c561b315d887ae8d47186cba5521ce', class: "toolbar-background" }), index.h("div", { key: '4c2429fa3e8526fedf456e4658be92d5dce8ca34', class: "toolbar-container" }, index.h("slot", { key: '4c07db12cfc48b4836b566449b854c24db308e3a', name: "start" }), index.h("slot", { key: '12855ec04622c09cc404f9b4f07f57a73e5770a0', name: "secondary" }), index.h("div", { key: '56f37d52c91de2b76910defbc9e5b7c1def3861c', class: "toolbar-content" }, index.h("slot", { key: 'c10ec3fdbea10a6388f4f510d45188f7fda1a371' })), index.h("slot", { key: 'c8ed49c6888faf35e71f2a8f4f6bf98fb0c34a25', name: "primary" }), index.h("slot", { key: '0251f3980082a092304f95cbc002bc8c633c5739', name: "end" }))));
1297
+ })) }, index.h("div", { key: '0891db157d6e028c6d03696f13fb510ea91b0296', class: "toolbar-background" }), index.h("div", { key: '95fbc870d808f74af4bb18cd8f8ec8c7828a9e0b', class: "toolbar-container" }, index.h("slot", { key: '84d4a9644660fe00ca085055ca8d12f3647531ad', name: "start" }), index.h("slot", { key: 'fd361dc9c9979f59aed2fedcf94629506fae62b0', name: "secondary" }), index.h("div", { key: '54d2b28616a4627c55766f66dc453707752758a6', class: "toolbar-content" }, index.h("slot", { key: '8f65e0830cce7135640b90eb694e282cb7e5efd2' })), index.h("slot", { key: 'c78be11a207c8674f222543646398636956087e6', name: "primary" }), index.h("slot", { key: 'ab25e1601ccaa8cb0d81921b849bcb7402aa7826', name: "end" }))));
1297
1298
  }
1298
1299
  get el() { return index.getElement(this); }
1299
1300
  };
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
9
- const ionicGlobal = require('./ionic-global-62487d02.js');
8
+ const index = require('./index-8709af32.js');
9
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
11
 
12
12
  const avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}";
@@ -59,7 +59,7 @@ const Thumbnail = class {
59
59
  index.registerInstance(this, hostRef);
60
60
  }
61
61
  render() {
62
- return (index.h(index.Host, { key: '29ed7678be93e55afad58bd37a61db3a289a5d76', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: 'da1eb174d2544b9d452c98076f6e0abcda60099d' })));
62
+ return (index.h(index.Host, { key: 'ea55000055f941b0c79561e8934be6242ec8e114', class: ionicGlobal.getIonMode(this) }, index.h("slot", { key: 'a4f934f442797f5c66a77e0ef8920fdd07c204f2' })));
63
63
  }
64
64
  };
65
65
  Thumbnail.style = IonThumbnailStyle0;
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
11
  const index$1 = require('./index-073c7cdc.js');
12
- const ionicGlobal = require('./ionic-global-62487d02.js');
12
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
13
13
 
14
14
  const backButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-font-kerning:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-hover:transparent;--background-hover-opacity:1;--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--icon-margin-end:1px;--icon-margin-start:-4px;--icon-font-size:1.6em;--min-height:32px;font-size:clamp(17px, 1.0625rem, 21.998px)}.button-native{-webkit-transform:translateZ(0);transform:translateZ(0);overflow:visible;z-index:99}:host(.ion-activated) .button-native{opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
15
15
  const IonBackButtonIosStyle0 = backButtonIosCss;
@@ -5,8 +5,8 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
9
- const ionicGlobal = require('./ionic-global-62487d02.js');
8
+ const index = require('./index-8709af32.js');
9
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
10
10
 
11
11
  const backdropIosCss = ":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;-webkit-transform:translateZ(0);transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;-ms-touch-action:none;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}";
12
12
  const IonBackdropIosStyle0 = backdropIosCss;
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
11
  const index$1 = require('./index-073c7cdc.js');
12
- const ionicGlobal = require('./ionic-global-62487d02.js');
12
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
13
13
 
14
14
  const breadcrumbIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center;align-items:center;color:var(--color);font-size:1rem;font-weight:400;line-height:1.5}.breadcrumb-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:100%;outline:none;background:inherit}:host(.breadcrumb-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.breadcrumb-active){color:var(--color-active)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .breadcrumb-native{background:var(--background-focused)}@media (any-hover: hover){:host(.ion-activatable:hover){color:var(--color-hover)}:host(.ion-activatable.in-breadcrumbs-color:hover),:host(.ion-activatable.ion-color:hover){color:var(--ion-color-shade)}}.breadcrumb-separator{display:-ms-inline-flexbox;display:inline-flex}:host(.breadcrumb-collapsed) .breadcrumb-native{display:none}:host(.in-breadcrumbs-color),:host(.in-breadcrumbs-color.breadcrumb-active){color:var(--ion-color-base)}:host(.in-breadcrumbs-color) .breadcrumb-separator{color:var(--ion-color-base)}:host(.ion-color){color:var(--ion-color-base)}:host(.in-toolbar-color),:host(.in-toolbar-color) .breadcrumb-separator{color:rgba(var(--ion-color-contrast-rgb), 0.8)}:host(.in-toolbar-color.breadcrumb-active){color:var(--ion-color-contrast)}.breadcrumbs-collapsed-indicator{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0;display:-ms-flexbox;display:flex;-ms-flex:1 1 100%;flex:1 1 100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:32px;height:18px;border:0;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.breadcrumbs-collapsed-indicator ion-icon{margin-top:1px;font-size:1.375rem}:host{--color:var(--ion-color-step-850, var(--ion-text-color-step-150, #2d4665));--color-active:var(--ion-text-color, #03060b);--color-hover:var(--ion-text-color, #03060b);--color-focused:var(--color-active);--background-focused:var(--ion-color-step-50, var(--ion-background-color-step-50, rgba(233, 237, 243, 0.7)));font-size:clamp(16px, 1rem, 22px)}:host(.breadcrumb-active){font-weight:600}.breadcrumb-native{border-radius:4px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:5px;padding-bottom:5px;border:1px solid transparent}:host(.ion-focused) .breadcrumb-native{border-radius:8px}:host(.in-breadcrumbs-color.ion-focused) .breadcrumb-native,:host(.ion-color.ion-focused) .breadcrumb-native{background:rgba(var(--ion-color-base-rgb), 0.1);color:var(--ion-color-base)}:host(.ion-focused) ::slotted(ion-icon),:host(.in-breadcrumbs-color.ion-focused) ::slotted(ion-icon),:host(.ion-color.ion-focused) ::slotted(ion-icon){color:var(--ion-color-step-750, var(--ion-text-color-step-250, #445b78))}.breadcrumb-separator{color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}::slotted(ion-icon){color:var(--ion-color-step-400, var(--ion-text-color-step-600, #92a0b3));font-size:min(1.125rem, 21.6px)}::slotted(ion-icon[slot=start]){-webkit-margin-end:8px;margin-inline-end:8px}::slotted(ion-icon[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px}:host(.breadcrumb-active) ::slotted(ion-icon){color:var(--ion-color-step-850, var(--ion-text-color-step-150, #242d39))}.breadcrumbs-collapsed-indicator{border-radius:4px;background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e9edf3));color:var(--ion-color-step-550, var(--ion-text-color-step-450, #73849a))}.breadcrumbs-collapsed-indicator:hover{opacity:0.45}.breadcrumbs-collapsed-indicator:focus{background:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9e0ea))}.breadcrumbs-collapsed-indicator ion-icon{font-size:min(1.375rem, 22px)}";
15
15
  const IonBreadcrumbIosStyle0 = breadcrumbIosCss;
@@ -5,11 +5,11 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const index$1 = require('./index-5915f9b3.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
- const ionicGlobal = require('./ionic-global-62487d02.js');
12
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
13
13
 
14
14
  let CACHED_MAP;
15
15
  const getIconMap = () => {
@@ -5,10 +5,10 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-bbc6c29f.js');
8
+ const index = require('./index-8709af32.js');
9
9
  const helpers = require('./helpers-afaa9001.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
- const ionicGlobal = require('./ionic-global-62487d02.js');
11
+ const ionicGlobal = require('./ionic-global-35b86a09.js');
12
12
 
13
13
  const cardIosCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))));-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;-webkit-transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:-webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1), -webkit-transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:0.875rem;-webkit-box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}:host(.ion-activated){-webkit-transform:scale3d(0.97, 0.97, 1);transform:scale3d(0.97, 0.97, 1)}";
14
14
  const IonCardIosStyle0 = cardIosCss;