@ionic/core 8.7.3-dev.11755551681.10d084fd → 8.7.3-dev.11755600455.1e79c35a

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 (245) hide show
  1. package/components/ion-datetime.js +4 -3
  2. package/components/ion-item-divider.js +2 -2
  3. package/components/ion-item-group.js +1 -1
  4. package/components/ion-item-option.js +2 -2
  5. package/components/ion-item-options.js +1 -1
  6. package/components/ion-item-sliding.js +1 -1
  7. package/components/ion-loading.js +2 -2
  8. package/components/ion-menu-button.js +2 -2
  9. package/components/ion-menu-toggle.js +2 -2
  10. package/components/ion-menu.js +2 -2
  11. package/components/ion-nav-link.js +1 -1
  12. package/components/ion-nav.js +1 -1
  13. package/components/ion-note.js +2 -2
  14. package/components/ion-picker-legacy.js +2 -2
  15. package/components/ion-progress-bar.js +1 -1
  16. package/components/ion-range.js +3 -3
  17. package/components/ion-refresher-content.js +1 -1
  18. package/components/ion-refresher.js +1 -18
  19. package/components/ion-reorder-group.js +1 -1
  20. package/components/ion-reorder.js +1 -1
  21. package/components/ion-router-link.js +2 -2
  22. package/components/ion-router-outlet.js +1 -1
  23. package/components/ion-row.js +1 -1
  24. package/components/ion-searchbar.js +4 -4
  25. package/components/ion-segment-button.js +2 -2
  26. package/components/ion-segment-content.js +1 -1
  27. package/components/ion-segment-view.js +2 -2
  28. package/components/ion-segment.js +2 -2
  29. package/components/ion-select-option.js +1 -1
  30. package/components/ion-select.js +2 -2
  31. package/components/ion-skeleton-text.js +2 -2
  32. package/components/ion-split-pane.js +2 -2
  33. package/components/ion-tab-bar.js +2 -2
  34. package/components/ion-tab-button.js +2 -2
  35. package/components/ion-tab.js +2 -2
  36. package/components/ion-tabs.js +1 -1
  37. package/components/ion-text.js +2 -2
  38. package/components/ion-textarea.js +2 -2
  39. package/components/ion-thumbnail.js +1 -1
  40. package/components/ion-toast.js +2 -2
  41. package/components/ion-toggle.js +3 -3
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/modal.js +4 -4
  45. package/components/overlays.js +3 -97
  46. package/components/picker-column-option.js +4 -4
  47. package/components/picker-column.js +3 -39
  48. package/components/picker-column2.js +2 -2
  49. package/components/popover.js +2 -2
  50. package/components/radio-group.js +1 -1
  51. package/components/radio.js +3 -3
  52. package/components/ripple-effect.js +1 -1
  53. package/components/select-modal.js +1 -1
  54. package/components/select-popover.js +1 -1
  55. package/components/spinner.js +1 -1
  56. package/components/title.js +2 -2
  57. package/components/toolbar.js +2 -2
  58. package/dist/cjs/index.cjs.js +1 -1
  59. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  61. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  62. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  63. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  64. package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
  65. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  66. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  67. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  68. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  69. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  70. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  72. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -39
  73. package/dist/cjs/ion-popover.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  76. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  77. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -19
  78. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  85. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  87. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  91. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  95. package/dist/cjs/{overlays-CglR7j-u.js → overlays-DUsEBICv.js} +2 -96
  96. package/dist/collection/components/datetime/datetime.js +4 -3
  97. package/dist/collection/components/item-divider/item-divider.js +2 -2
  98. package/dist/collection/components/item-group/item-group.js +1 -1
  99. package/dist/collection/components/item-option/item-option.js +2 -2
  100. package/dist/collection/components/item-options/item-options.js +1 -1
  101. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  102. package/dist/collection/components/label/label.js +2 -2
  103. package/dist/collection/components/list-header/list-header.js +2 -2
  104. package/dist/collection/components/loading/loading.js +2 -2
  105. package/dist/collection/components/menu/menu.js +2 -2
  106. package/dist/collection/components/menu-button/menu-button.js +2 -2
  107. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  108. package/dist/collection/components/modal/modal.js +4 -4
  109. package/dist/collection/components/nav/nav.js +1 -1
  110. package/dist/collection/components/nav-link/nav-link.js +1 -1
  111. package/dist/collection/components/note/note.js +2 -2
  112. package/dist/collection/components/picker-column/picker-column.js +3 -39
  113. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +2 -2
  114. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  115. package/dist/collection/components/picker-column-option/picker-column-option.md.css +2 -2
  116. package/dist/collection/components/picker-legacy/picker.js +2 -2
  117. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  118. package/dist/collection/components/popover/popover.js +2 -2
  119. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  120. package/dist/collection/components/radio/radio.js +3 -3
  121. package/dist/collection/components/radio-group/radio-group.js +1 -1
  122. package/dist/collection/components/range/range.js +3 -3
  123. package/dist/collection/components/refresher/refresher.js +1 -18
  124. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  125. package/dist/collection/components/reorder/reorder.js +1 -1
  126. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  127. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  128. package/dist/collection/components/router-link/router-link.js +2 -2
  129. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  130. package/dist/collection/components/row/row.js +1 -1
  131. package/dist/collection/components/searchbar/searchbar.js +4 -4
  132. package/dist/collection/components/segment/segment.js +2 -2
  133. package/dist/collection/components/segment-button/segment-button.js +2 -2
  134. package/dist/collection/components/segment-content/segment-content.js +1 -1
  135. package/dist/collection/components/segment-view/segment-view.js +2 -2
  136. package/dist/collection/components/select/select.js +2 -2
  137. package/dist/collection/components/select-modal/select-modal.js +1 -1
  138. package/dist/collection/components/select-option/select-option.js +1 -1
  139. package/dist/collection/components/select-popover/select-popover.js +1 -1
  140. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/split-pane/split-pane.js +2 -2
  143. package/dist/collection/components/tab/tab.js +2 -2
  144. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  145. package/dist/collection/components/tab-button/tab-button.js +2 -2
  146. package/dist/collection/components/tabs/tabs.js +1 -1
  147. package/dist/collection/components/text/text.js +2 -2
  148. package/dist/collection/components/textarea/textarea.js +2 -2
  149. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  150. package/dist/collection/components/title/title.js +2 -2
  151. package/dist/collection/components/toast/toast.js +2 -2
  152. package/dist/collection/components/toggle/toggle.js +3 -3
  153. package/dist/collection/components/toolbar/toolbar.js +2 -2
  154. package/dist/collection/utils/overlays.js +2 -97
  155. package/dist/docs.json +1 -1
  156. package/dist/esm/index.js +1 -1
  157. package/dist/esm/ion-action-sheet.entry.js +1 -1
  158. package/dist/esm/ion-alert.entry.js +1 -1
  159. package/dist/esm/ion-app_8.entry.js +5 -5
  160. package/dist/esm/ion-avatar_3.entry.js +1 -1
  161. package/dist/esm/ion-col_3.entry.js +1 -1
  162. package/dist/esm/ion-datetime_3.entry.js +8 -8
  163. package/dist/esm/ion-item-option_3.entry.js +4 -4
  164. package/dist/esm/ion-item_8.entry.js +11 -11
  165. package/dist/esm/ion-loading.entry.js +3 -3
  166. package/dist/esm/ion-menu_3.entry.js +7 -7
  167. package/dist/esm/ion-modal.entry.js +5 -5
  168. package/dist/esm/ion-nav_2.entry.js +2 -2
  169. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  170. package/dist/esm/ion-picker-column.entry.js +3 -39
  171. package/dist/esm/ion-popover.entry.js +3 -3
  172. package/dist/esm/ion-progress-bar.entry.js +1 -1
  173. package/dist/esm/ion-radio_2.entry.js +4 -4
  174. package/dist/esm/ion-range.entry.js +3 -3
  175. package/dist/esm/ion-refresher_2.entry.js +2 -19
  176. package/dist/esm/ion-reorder_2.entry.js +2 -2
  177. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  178. package/dist/esm/ion-route_4.entry.js +2 -2
  179. package/dist/esm/ion-searchbar.entry.js +4 -4
  180. package/dist/esm/ion-segment-content.entry.js +1 -1
  181. package/dist/esm/ion-segment-view.entry.js +2 -2
  182. package/dist/esm/ion-segment_2.entry.js +4 -4
  183. package/dist/esm/ion-select-modal.entry.js +2 -2
  184. package/dist/esm/ion-select_3.entry.js +5 -5
  185. package/dist/esm/ion-spinner.entry.js +1 -1
  186. package/dist/esm/ion-split-pane.entry.js +2 -2
  187. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  188. package/dist/esm/ion-tab_2.entry.js +3 -3
  189. package/dist/esm/ion-text.entry.js +2 -2
  190. package/dist/esm/ion-textarea.entry.js +2 -2
  191. package/dist/esm/ion-toast.entry.js +3 -3
  192. package/dist/esm/ion-toggle.entry.js +3 -3
  193. package/dist/esm/{overlays-ZX_4-t_r.js → overlays-B_dsLNe8.js} +3 -97
  194. package/dist/ionic/index.esm.js +1 -1
  195. package/dist/ionic/ionic.esm.js +1 -1
  196. package/dist/ionic/{p-f267c7dc.entry.js → p-07d8f62a.entry.js} +1 -1
  197. package/dist/ionic/{p-039c8f8e.entry.js → p-09ed68cf.entry.js} +1 -1
  198. package/dist/ionic/p-0f396661.entry.js +4 -0
  199. package/dist/ionic/{p-c32b6c20.entry.js → p-1191a2d9.entry.js} +1 -1
  200. package/dist/ionic/{p-78aff731.entry.js → p-16116947.entry.js} +1 -1
  201. package/dist/ionic/{p-12b99129.entry.js → p-1bbd0a23.entry.js} +1 -1
  202. package/dist/ionic/{p-2e967897.entry.js → p-3624b640.entry.js} +1 -1
  203. package/dist/ionic/{p-0e45320b.entry.js → p-40d56a51.entry.js} +1 -1
  204. package/dist/ionic/{p-1e8b1767.entry.js → p-4f2c5845.entry.js} +1 -1
  205. package/dist/ionic/{p-ee881603.entry.js → p-528af4e6.entry.js} +1 -1
  206. package/dist/ionic/{p-70e05fd1.entry.js → p-54dec9b1.entry.js} +1 -1
  207. package/dist/ionic/{p-1cfb0bc4.entry.js → p-57bb1214.entry.js} +1 -1
  208. package/dist/ionic/{p-165d1309.entry.js → p-6383afc2.entry.js} +1 -1
  209. package/dist/ionic/{p-82ce0043.entry.js → p-698fb72c.entry.js} +1 -1
  210. package/dist/ionic/{p-f4e6e570.entry.js → p-7a53f04c.entry.js} +1 -1
  211. package/dist/ionic/{p-165d8e84.entry.js → p-7b12d853.entry.js} +1 -1
  212. package/dist/ionic/p-7ed24ba0.entry.js +4 -0
  213. package/dist/ionic/{p-91d6ccb0.entry.js → p-84236acb.entry.js} +1 -1
  214. package/dist/ionic/p-8888efe4.entry.js +4 -0
  215. package/dist/ionic/{p-9cf01220.entry.js → p-8b54aa01.entry.js} +1 -1
  216. package/dist/ionic/p-8bfe00f3.entry.js +4 -0
  217. package/dist/ionic/{p-c7d2c21b.entry.js → p-98d0823e.entry.js} +1 -1
  218. package/dist/ionic/{p-f2884bc2.entry.js → p-9c6fddc6.entry.js} +1 -1
  219. package/dist/ionic/p-C3MD7jSK.js +4 -0
  220. package/dist/ionic/p-ac2be9d6.entry.js +4 -0
  221. package/dist/ionic/p-b292804d.entry.js +4 -0
  222. package/dist/ionic/{p-f550f186.entry.js → p-c0d58c8e.entry.js} +1 -1
  223. package/dist/ionic/{p-7922ca30.entry.js → p-c5210d3e.entry.js} +1 -1
  224. package/dist/ionic/{p-5420fd3e.entry.js → p-cde6d39b.entry.js} +1 -1
  225. package/dist/ionic/{p-4c79bd85.entry.js → p-d04d66fc.entry.js} +1 -1
  226. package/dist/ionic/p-d3df6032.entry.js +4 -0
  227. package/dist/ionic/{p-e8429777.entry.js → p-dbba38cf.entry.js} +1 -1
  228. package/dist/ionic/p-e6c3214c.entry.js +4 -0
  229. package/dist/ionic/{p-22351d1b.entry.js → p-e6c465ff.entry.js} +1 -1
  230. package/dist/ionic/{p-e1310192.entry.js → p-ec76fec4.entry.js} +1 -1
  231. package/dist/ionic/{p-f868d51c.entry.js → p-f7db572a.entry.js} +1 -1
  232. package/dist/ionic/{p-0c580145.entry.js → p-f9eb54ee.entry.js} +1 -1
  233. package/dist/types/components/picker-column/picker-column.d.ts +0 -7
  234. package/hydrate/index.js +104 -251
  235. package/hydrate/index.mjs +104 -251
  236. package/package.json +1 -1
  237. package/dist/ionic/p-1d5b934a.entry.js +0 -4
  238. package/dist/ionic/p-332e4eac.entry.js +0 -4
  239. package/dist/ionic/p-3364562a.entry.js +0 -4
  240. package/dist/ionic/p-8ca65589.entry.js +0 -4
  241. package/dist/ionic/p-8de104c4.entry.js +0 -4
  242. package/dist/ionic/p-CSwZyt05.js +0 -4
  243. package/dist/ionic/p-c91aa324.entry.js +0 -4
  244. package/dist/ionic/p-dff5b0b6.entry.js +0 -4
  245. package/dist/ionic/p-f5da8541.entry.js +0 -4
@@ -375,14 +375,6 @@ const Refresher = class {
375
375
  this.beginRefresh();
376
376
  this.didRefresh = true;
377
377
  haptic.hapticImpact({ style: haptic.ImpactStyle.Light });
378
- /**
379
- * Clear focus from any active element to prevent scroll jumps
380
- * when the refresh completes
381
- */
382
- const activeElement = document.activeElement;
383
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
384
- activeElement.blur();
385
- }
386
378
  /**
387
379
  * Translate the content element otherwise when pointer is removed
388
380
  * from screen the scroll content will bounce back over the refresher
@@ -798,15 +790,6 @@ const Refresher = class {
798
790
  this.state = 8 /* RefresherState.Refreshing */;
799
791
  // place the content in a hangout position while it thinks
800
792
  this.setCss(this.pullMin, this.snapbackDuration, true, '');
801
- /**
802
- * Clear focus from any active element to prevent the browser
803
- * from restoring focus and causing scroll jumps after refresh.
804
- * This ensures the view stays at the top after refresh completes.
805
- */
806
- const activeElement = document.activeElement;
807
- if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur) !== undefined) {
808
- activeElement.blur();
809
- }
810
793
  // emit "refresh" because it was pulled down far enough
811
794
  // and they let go to begin refreshing
812
795
  this.ionRefresh.emit({
@@ -889,7 +872,7 @@ const Refresher = class {
889
872
  }
890
873
  render() {
891
874
  const mode = ionicGlobal.getIonMode(this);
892
- return (index.h(index.Host, { key: '06d61cc53260ce146dd6906cc96597e9baaa17cf', slot: "fixed", class: {
875
+ return (index.h(index.Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
893
876
  [mode]: true,
894
877
  // Used internally for styling
895
878
  [`refresher-${mode}`]: true,
@@ -952,7 +935,7 @@ const RefresherContent = class {
952
935
  const pullingIcon = this.pullingIcon;
953
936
  const hasSpinner = pullingIcon != null && spinnerConfigs.SPINNERS[pullingIcon] !== undefined;
954
937
  const mode = ionicGlobal.getIonMode(this);
955
- return (index.h(index.Host, { key: '4add42b9fdfded359d1b054d04c2c6ff48e028c8', class: mode }, index.h("div", { key: '45d4e4e0adfed7f96dd1849767aa2cde947de044', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: '6bd6c8ef5bf6e10699eec3bd8646431bfe1077a0', class: "refresher-pulling-icon" }, index.h("div", { key: '852d20414da53352c8e58bc627e0fda38eff97cb', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: '0dde3578a80cc4b77a07c4d1db1af80c7eb10c27', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: 'c71dbfcf416a19c30fed38f722ebf0358c2181dd', class: "arrow-container" }, index.h("ion-icon", { key: 'fa7c2cf624e7a9c41964e66cabc88c594da6d1fd', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '3dd68c9968b421c379d1c4349ba619ee0a189c6d', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'f83bceceae4fa8245f91939fb6db589a595e975b', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: '98e22ceb0f7883e871f815f6199f5cb313e2e086', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: 'faabe8a9b61c02a00994ef978bb82b9ba4537214', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '029a0c073ee1a07f01211e12ba2abc985cf21ed7', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
938
+ return (index.h(index.Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, index.h("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (index.h("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, index.h("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, index.h("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (index.h("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, index.h("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: index$2.caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (index.h("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, index.h("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), index.h("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (index.h("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, index.h("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
956
939
  }
957
940
  get el() { return index.getElement(this); }
958
941
  };
@@ -32,7 +32,7 @@ const Reorder = class {
32
32
  render() {
33
33
  const mode = ionicGlobal.getIonMode(this);
34
34
  const reorderIcon = mode === 'ios' ? index$1.reorderThreeOutline : index$1.reorderTwoSharp;
35
- return (index.h(index.Host, { key: 'b869db61ca6393cf1476f2111a66b387b567c6d1', class: mode }, index.h("slot", { key: 'a78edd1776835282b8b5c841377018f36c83296c' }, index.h("ion-icon", { key: '7fb067c47bbb9a7258e5063f028282cc097d0f94', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
35
+ return (index.h(index.Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, index.h("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, index.h("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36
36
  }
37
37
  get el() { return index.getElement(this); }
38
38
  };
@@ -295,7 +295,7 @@ const ReorderGroup = class {
295
295
  }
296
296
  render() {
297
297
  const mode = ionicGlobal.getIonMode(this);
298
- return (index.h(index.Host, { key: '9527bbdedaab63d31f562c874a7332ea60c4b47b', class: {
298
+ return (index.h(index.Host, { key: 'b9641f3061d67fbfe68317b901ec33267046e073', class: {
299
299
  [mode]: true,
300
300
  'reorder-enabled': !this.disabled,
301
301
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -74,7 +74,7 @@ const RippleEffect = class {
74
74
  }
75
75
  render() {
76
76
  const mode = ionicGlobal.getIonMode(this);
77
- return (index.h(index.Host, { key: '3b59cbb44741569a7350f9638b4392add673b6f1', role: "presentation", class: {
77
+ return (index.h(index.Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
78
78
  [mode]: true,
79
79
  unbounded: this.unbounded,
80
80
  } }));
@@ -897,10 +897,10 @@ const RouterLink = class {
897
897
  rel: this.rel,
898
898
  target: this.target,
899
899
  };
900
- return (index.h(index.Host, { key: '8372835161d507c7b821b7536c55f912eb6ce704', onClick: this.onClick, class: theme.createColorClasses(this.color, {
900
+ return (index.h(index.Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: theme.createColorClasses(this.color, {
901
901
  [mode]: true,
902
902
  'ion-activatable': true,
903
- }) }, index.h("a", Object.assign({ key: '315966e14a17760f3f64197e8315200039787897' }, attrs), index.h("slot", { key: '95fc1697b884225e85e647dddcaa8f4af8b9a979' }))));
903
+ }) }, index.h("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), index.h("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
904
904
  }
905
905
  };
906
906
  RouterLink.style = routerLinkCss;
@@ -438,8 +438,8 @@ const Searchbar = class {
438
438
  const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
439
439
  const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
440
440
  const shouldShowCancelButton = this.shouldShowCancelButton();
441
- const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: 'bf574336a561a5bf66c771fb606a9b19adbecb68', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '747ad4368bda5044198259d5bc8f7be9e472e5af', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
442
- return (index.h(index.Host, { key: 'bcc5b33a2859903ba11bfc5c611c6a2aaa71d06b', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
441
+ const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '19e18775856db87daeb4b9e3d7bca0461915a0df', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: 'b3bbdcc033f3bd3441d619e4a252cef0dad4d07e', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
442
+ return (index.h(index.Host, { key: '074aa60e051bfb3225e87d44bbb6346c59c73574', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
443
443
  [mode]: true,
444
444
  'searchbar-animated': animated,
445
445
  'searchbar-disabled': this.disabled,
@@ -449,14 +449,14 @@ const Searchbar = class {
449
449
  'searchbar-has-focus': this.focused,
450
450
  'searchbar-should-show-clear': this.shouldShowClearButton(),
451
451
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
452
- }) }, index.h("div", { key: 'ac0dbf5ddd9c4eb6d714f45c62c44ba3d0bf034d', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: '4b9fdac1b0d5a7a68bf61a6beb00f166434d3e84', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '32a889c48b3960560a3873061b4ac5a8a5ce532f', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '71222df691ef0b95008e619f755224d069ee9388', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
452
+ }) }, index.h("div", { key: '54f58a79fe36e85d9295157303f1be89c98bbdaf', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: 'f991a37fcf54d26b7ad10d89084764e03d97b9de', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: '8b44dd90a3292c5cf872ef16a8520675f5673494', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '79d9cfed8f01268044f82811a35d323a12dca749', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
453
453
  /**
454
454
  * This prevents mobile browsers from
455
455
  * blurring the input when the clear
456
456
  * button is activated.
457
457
  */
458
458
  ev.preventDefault();
459
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: 'f1c8c0bd8fbb655085875731d3ece387dbe2967e', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
459
+ }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: 'aa3b9fa8a61f853236783ac7bcd0b113ea65ece2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
460
460
  }
461
461
  get el() { return index.getElement(this); }
462
462
  static get watchers() { return {
@@ -12,7 +12,7 @@ const SegmentContent = class {
12
12
  index.registerInstance(this, hostRef);
13
13
  }
14
14
  render() {
15
- return (index.h(index.Host, { key: '665f41a854621f898eaf7ba9a49e77cc9326501e' }, index.h("slot", { key: '635aa57fbf6167dcd36fe8dc5dfc1c313637ac04' })));
15
+ return (index.h(index.Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, index.h("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
16
16
  }
17
17
  };
18
18
  SegmentContent.style = segmentContentCss;
@@ -105,10 +105,10 @@ const SegmentView = class {
105
105
  }
106
106
  render() {
107
107
  const { disabled, isManualScroll } = this;
108
- return (index.h(index.Host, { key: '3776707134f85b81028f9668e77974c21e3a5491', class: {
108
+ return (index.h(index.Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
109
109
  'segment-view-disabled': disabled,
110
110
  'segment-view-scroll-disabled': isManualScroll === false,
111
- } }, index.h("slot", { key: 'e67efc16cbfa0c13aa9d81e9f91b61162782c0ea' })));
111
+ } }, index.h("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
112
112
  }
113
113
  get el() { return index.getElement(this); }
114
114
  };
@@ -549,14 +549,14 @@ const Segment = class {
549
549
  }
550
550
  render() {
551
551
  const mode = ionicGlobal.getIonMode(this);
552
- return (index.h(index.Host, { key: '725cc37b25c539fa5e3ae8d90530ae33ededc3de', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
552
+ return (index.h(index.Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: theme.createColorClasses(this.color, {
553
553
  [mode]: true,
554
554
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
555
555
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
556
556
  'segment-activated': this.activated,
557
557
  'segment-disabled': this.disabled,
558
558
  'segment-scrollable': this.scrollable,
559
- }) }, index.h("slot", { key: 'c51cf7ea50325866a9367d214e12bc3754870335', onSlotchange: this.onSlottedItemsChange })));
559
+ }) }, index.h("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
560
560
  }
561
561
  get el() { return index.getElement(this); }
562
562
  static get watchers() { return {
@@ -674,7 +674,7 @@ const SegmentButton = class {
674
674
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
675
675
  const mode = ionicGlobal.getIonMode(this);
676
676
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
677
- return (index.h(index.Host, { key: 'f69e2a24198a7c57543dbe66902da039a6569c64', class: {
677
+ return (index.h(index.Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
678
678
  [mode]: true,
679
679
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
680
680
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
@@ -690,7 +690,7 @@ const SegmentButton = class {
690
690
  'ion-activatable': true,
691
691
  'ion-activatable-instant': true,
692
692
  'ion-focusable': true,
693
- } }, index.h("button", Object.assign({ key: '0a6fea3a374074af19f7ece0ba3a7cf1e269ab6d', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '991018a38c59a6f3d76b2e952e5569c874d2c13e', class: "button-inner" }, index.h("slot", { key: '23c547c80108025027b913c7fcbec189286627a3' })), mode === 'md' && index.h("ion-ripple-effect", { key: '7faa9d06ab6aa7346d16b0b6808979759a79650c' })), index.h("div", { key: '0d61badf2c227dc38e20185b2b2bb590a5efa434', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'a84035752b78491c344179d1e61d109fb4bd1cf1', part: "indicator-background", class: "segment-button-indicator-background" }))));
693
+ } }, index.h("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, index.h("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && index.h("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), index.h("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
694
694
  }
695
695
  get el() { return index.getElement(this); }
696
696
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-DNh170BW.js');
7
7
  var ionicGlobal = require('./ionic-global-UI5YPSi-.js');
8
- var overlays = require('./overlays-CglR7j-u.js');
8
+ var overlays = require('./overlays-DUsEBICv.js');
9
9
  var theme = require('./theme-CeDs6Hcv.js');
10
10
  require('./index-DkNv4J_i.js');
11
11
  require('./helpers-DgwmcYAu.js');
@@ -90,7 +90,7 @@ const SelectModal = class {
90
90
  } }, option.text))));
91
91
  }
92
92
  render() {
93
- return (index.h(index.Host, { key: '5bffdb106e6f628dae2e2aeb9ee8008b5c547b3a', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: '4de1c33b0504372f8a0a26123e4e086080ee1ecb' }, index.h("ion-toolbar", { key: '5d55a67d1db4352c260e9e0457d5dac6110b6598' }, this.header !== undefined && index.h("ion-title", { key: '4f07fe8a9af8c9bd0852af2a9b95517d16356e50' }, this.header), index.h("ion-buttons", { key: 'ca676a34f7cd3dd6b465b0d803434c2e2c8536c5', slot: "end" }, index.h("ion-button", { key: '801ed63a357c7c9d354668851db65e5c1b0e1abe', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: 'f3c239ec9d84b8ed7413ea9db6efa18e29aca285' }, index.h("ion-list", { key: '40c157e9abe477171a39ae7e6e1cd4ed08735cb4' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
93
+ return (index.h(index.Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: ionicGlobal.getIonMode(this) }, index.h("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, index.h("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && index.h("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), index.h("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, index.h("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), index.h("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, index.h("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
94
94
  }
95
95
  get el() { return index.getElement(this); }
96
96
  };
@@ -7,7 +7,7 @@ var index = require('./index-DNh170BW.js');
7
7
  var notchController = require('./notch-controller-Bf5Rr4R5.js');
8
8
  var compareWithUtils = require('./compare-with-utils-DSicavqM.js');
9
9
  var helpers = require('./helpers-DgwmcYAu.js');
10
- var overlays = require('./overlays-CglR7j-u.js');
10
+ var overlays = require('./overlays-DUsEBICv.js');
11
11
  var dir = require('./dir-Cn0z1rJH.js');
12
12
  var theme = require('./theme-CeDs6Hcv.js');
13
13
  var watchOptions = require('./watch-options-CviOsrTS.js');
@@ -737,7 +737,7 @@ const Select = class {
737
737
  * TODO(FW-5592): Remove hasStartEndSlots condition
738
738
  */
739
739
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
740
- return (index.h(index.Host, { key: 'c1e6967b3ccc9631bfceeadd074a6e87b4e96dbe', onClick: this.onClick, class: theme.createColorClasses(this.color, {
740
+ return (index.h(index.Host, { key: 'c03fb65e8fc9f9aab295e07b282377d57d910519', onClick: this.onClick, class: theme.createColorClasses(this.color, {
741
741
  [mode]: true,
742
742
  'in-item': inItem,
743
743
  'in-item-color': theme.hostContext('ion-item.ion-color', el),
@@ -755,7 +755,7 @@ const Select = class {
755
755
  [`select-justify-${justify}`]: justifyEnabled,
756
756
  [`select-shape-${shape}`]: shape !== undefined,
757
757
  [`select-label-placement-${labelPlacement}`]: true,
758
- }) }, index.h("label", { key: 'b890417073d5a622869549173f9cdac695d51079', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '43deb671a8570f9b407617dd3153f8ed37cf77b9', class: "select-wrapper-inner" }, index.h("slot", { key: '91b64e1926ea44912e85eec336992c36ca5a6fff', name: "start" }), index.h("div", { key: '4d3b26a304b18c68576302440ba7810a91324b86', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), index.h("slot", { key: '64d839f2e862efffd32e01204e567c58f59c20cb', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && index.h("div", { key: 'edffaee197d2f9ee8268cd2ecac6d6ce4ed28bfb', class: "select-highlight" })), this.renderBottomContent()));
758
+ }) }, index.h("label", { key: '0d0c8ec55269adcac625f2899a547f4e7f3e3741', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: 'f6dfc93c0e23cbe75a2947abde67d842db2dad78', class: "select-wrapper-inner" }, index.h("slot", { key: '957bfadf9f101f519091419a362d3abdc2be66f6', name: "start" }), index.h("div", { key: 'ca349202a484e7f2e884533fd330f0b136754f7d', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), index.h("slot", { key: 'f0e62a6533ff1c8f62bd2d27f60b23385c4fa9ed', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && index.h("div", { key: 'fb840d46bafafb09898ebeebbe8c181906a3d8a2', class: "select-highlight" })), this.renderBottomContent()));
759
759
  }
760
760
  get el() { return index.getElement(this); }
761
761
  static get watchers() { return {
@@ -817,7 +817,7 @@ const SelectOption = class {
817
817
  this.disabled = false;
818
818
  }
819
819
  render() {
820
- return index.h(index.Host, { key: '824730b6c1e4f15b716e91b05840e890af5f1577', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
820
+ return index.h(index.Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: ionicGlobal.getIonMode(this) });
821
821
  }
822
822
  get el() { return index.getElement(this); }
823
823
  };
@@ -922,7 +922,7 @@ const SelectPopover = class {
922
922
  render() {
923
923
  const { header, message, options, subHeader } = this;
924
924
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
925
- return (index.h(index.Host, { key: '0c9845a40d3fc392b0a7d64e2a6ed27d94bb7634', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: '84a30f6661b0f8c00e6fa199658ed2adbcf27358' }, header !== undefined && index.h("ion-list-header", { key: '13f5f56bbfbc06751fa516291a2da72629b60ece' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: '3d39d18e720e798bbde334e79e6832091c7dfb81' }, index.h("ion-label", { key: 'd3051b0d140120b44bf5e79572f6f287e7cfb03a', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: 'b16805956f3316f8ec703c123b76f717488e8637' }, subHeader), message !== undefined && index.h("p", { key: '2215ac4ab4146a14e75a79192e319a8016286b5f' }, message)))), this.renderOptions(options))));
925
+ return (index.h(index.Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: ionicGlobal.getIonMode(this) }, index.h("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && index.h("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (index.h("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, index.h("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && index.h("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && index.h("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
926
926
  }
927
927
  get el() { return index.getElement(this); }
928
928
  };
@@ -44,7 +44,7 @@ const Spinner = class {
44
44
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
45
45
  }
46
46
  }
47
- return (index.h(index.Host, { key: 'dd1954e557fa14b943e761474e29e4316ba53938', class: theme.createColorClasses(self.color, {
47
+ return (index.h(index.Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: theme.createColorClasses(self.color, {
48
48
  [mode]: true,
49
49
  [`spinner-${spinnerName}`]: true,
50
50
  'spinner-paused': self.paused || index.config.getBoolean('_testing'),
@@ -128,12 +128,12 @@ const SplitPane = class {
128
128
  }
129
129
  render() {
130
130
  const mode = ionicGlobal.getIonMode(this);
131
- return (index.h(index.Host, { key: '05c88c009fbe2e223fd261760a2b49da1653ff62', class: {
131
+ return (index.h(index.Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
132
132
  [mode]: true,
133
133
  // Used internally for styling
134
134
  [`split-pane-${mode}`]: true,
135
135
  'split-pane-visible': this.visible,
136
- } }, index.h("slot", { key: 'b35865082661253c4468520d79234fa5dab5bd35' })));
136
+ } }, index.h("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
137
137
  }
138
138
  get el() { return index.getElement(this); }
139
139
  static get watchers() { return {
@@ -65,11 +65,11 @@ const TabBar = class {
65
65
  const { color, translucent, keyboardVisible } = this;
66
66
  const mode = ionicGlobal.getIonMode(this);
67
67
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
68
- return (index.h(index.Host, { key: '7384afd3f2d364c8a052ea5a27131c51ce7ef94b', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: theme.createColorClasses(color, {
68
+ return (index.h(index.Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: theme.createColorClasses(color, {
69
69
  [mode]: true,
70
70
  'tab-bar-translucent': translucent,
71
71
  'tab-bar-hidden': shouldHide,
72
- }) }, index.h("slot", { key: '4330de4be572cb2c88a37c88124fe66b8da98cc5' })));
72
+ }) }, index.h("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
73
73
  }
74
74
  get el() { return index.getElement(this); }
75
75
  static get watchers() { return {
@@ -147,7 +147,7 @@ const TabButton = class {
147
147
  rel,
148
148
  target,
149
149
  };
150
- return (index.h(index.Host, { key: '638b93ef40701ec3aefb89b1579eb91aaf6d4f8a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
150
+ return (index.h(index.Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
151
151
  [mode]: true,
152
152
  'tab-selected': selected,
153
153
  'tab-disabled': disabled,
@@ -159,7 +159,7 @@ const TabButton = class {
159
159
  'ion-activatable': true,
160
160
  'ion-selectable': true,
161
161
  'ion-focusable': true,
162
- } }, index.h("a", Object.assign({ key: 'c053d32fbcdad8d5e4a409956b47164d7a080c6b' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), index.h("span", { key: 'b3b460d33ec978a46b069442280d31b23bc8e794', class: "button-inner" }, index.h("slot", { key: '87b3928475c941263261101b8fae27c6370d4671' })), mode === 'md' && index.h("ion-ripple-effect", { key: '6532e5b4546aebe4becaebe1c93ce0e6aedaffe7', type: "unbounded" }))));
162
+ } }, index.h("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), index.h("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, index.h("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && index.h("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
163
163
  }
164
164
  get el() { return index.getElement(this); }
165
165
  };
@@ -45,10 +45,10 @@ const Tab = class {
45
45
  }
46
46
  render() {
47
47
  const { tab, active, component } = this;
48
- return (index.h(index.Host, { key: 'fbd837bad7a0632336d46a597ace23673b153e48', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
48
+ return (index.h(index.Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
49
49
  'ion-page': component === undefined,
50
50
  'tab-hidden': !active,
51
- } }, index.h("slot", { key: '35c218169fda826c9c1337558e0278d0c7f5f26a' })));
51
+ } }, index.h("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
52
52
  }
53
53
  get el() { return index.getElement(this); }
54
54
  static get watchers() { return {
@@ -218,7 +218,7 @@ const Tabs = class {
218
218
  return Array.from(this.el.querySelectorAll('ion-tab'));
219
219
  }
220
220
  render() {
221
- return (index.h(index.Host, { key: '97d3548ef12a33b783b4ea090ba19ca5055ef6d7', onIonTabButtonClick: this.onTabClicked }, index.h("slot", { key: '13fc2090ff2d030803caec332f30b2dd41352644', name: "top" }), index.h("div", { key: '5f5c12c96efca85cba50442e7633b8a95f699918', class: "tabs-inner" }, index.h("slot", { key: '92e702217cb2bab6133928adae8a6a516796ca1a' })), index.h("slot", { key: '57a08296c8d77d62e4832a4eca431fea8ace3616', name: "bottom" })));
221
+ return (index.h(index.Host, { key: '6dd1d17cc5a7aff4b910303006b4478080ca97af', onIonTabButtonClick: this.onTabClicked }, index.h("slot", { key: 'db54a692d1a825498a116f090eb305f7cceceb5a', name: "top" }), index.h("div", { key: 'e1b7d49ba7032e9071de2029695254e2a8303be9', class: "tabs-inner" }, index.h("slot", { key: '4c3b58d5292c8c834e7532c51de0861068943d79' })), index.h("slot", { key: 'dd59c0b9b217dfbfb0fccdbc6896b593278549cc', name: "bottom" })));
222
222
  }
223
223
  get el() { return index.getElement(this); }
224
224
  };
@@ -15,9 +15,9 @@ const Text = class {
15
15
  }
16
16
  render() {
17
17
  const mode = ionicGlobal.getIonMode(this);
18
- return (index.h(index.Host, { key: 'bfaa49d35f43b8036725ae8a322c716fc6e43bdf', class: theme.createColorClasses(this.color, {
18
+ return (index.h(index.Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: theme.createColorClasses(this.color, {
19
19
  [mode]: true,
20
- }) }, index.h("slot", { key: 'c04880cd1935b42cbe60f58fd523b4d8a96072dc' })));
20
+ }) }, index.h("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
21
21
  }
22
22
  };
23
23
  Text.style = textCss;
@@ -450,7 +450,7 @@ const Textarea = class {
450
450
  * TODO(FW-5592): Remove hasStartEndSlots condition
451
451
  */
452
452
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
453
- return (index.h(index.Host, { key: '9fd36834a8ed8496212e00e5cc684c7fa6e8f6d5', class: theme.createColorClasses(this.color, {
453
+ return (index.h(index.Host, { key: 'd9f2ede0107987fc42c99e310cd2336bad5a5755', class: theme.createColorClasses(this.color, {
454
454
  [mode]: true,
455
455
  'has-value': hasValue,
456
456
  'has-focus': hasFocus,
@@ -459,7 +459,7 @@ const Textarea = class {
459
459
  [`textarea-shape-${shape}`]: shape !== undefined,
460
460
  [`textarea-label-placement-${labelPlacement}`]: true,
461
461
  'textarea-disabled': disabled,
462
- }) }, index.h("label", { key: '60dd748594cb8e710bd6be8779c5bbafc7bb129c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: 'dc11a0e37279c142cde124e3868144024a5439ed', class: "textarea-wrapper-inner" }, index.h("div", { key: '49aee693a69bf17cf9d05a903d5e176f5ef7c50d', class: "start-slot-wrapper" }, index.h("slot", { key: '7307aad65706b8191dac46b7e61e662af8976e97', name: "start" })), index.h("div", { key: '81fb54829e4dd759d812fe98e24893071fdfb92a', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, index.h("textarea", Object.assign({ key: 'fe51fca195f8e2ec6607ba6d92bce72e0a94e2cd', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), index.h("div", { key: '87fd163075ea795ddb75b8d6bbf2f89ddceca4dc', class: "end-slot-wrapper" }, index.h("slot", { key: 'b09b52993d2471e7e75773a8f36c49995959ce7a', name: "end" }))), shouldRenderHighlight && index.h("div", { key: 'acad88bca506ebf44d3bedab29f6d53ff8f92981', class: "textarea-highlight" })), this.renderBottomContent()));
462
+ }) }, index.h("label", { key: '9de598b95237462bb3bccffaefe83afbb43554b8', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: 'e33c426c6541d723ccc246bb404c03687726ff83', class: "textarea-wrapper-inner" }, index.h("div", { key: '521e11af9d54d281b0a2b1c25bcfc6f742c18296', class: "start-slot-wrapper" }, index.h("slot", { key: '515523f6ca3ce0e5dd08f3275c21a190fb1ca177', name: "start" })), index.h("div", { key: '916e01e00de8400ae00ef06bc1fb62d8be2eee08', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, index.h("textarea", Object.assign({ key: '810271e6532d90e27dab1fcb26546113c1ce9cb0', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), index.h("div", { key: '80aca9ea9546dca9d38efd291a6b0be384bb6978', class: "end-slot-wrapper" }, index.h("slot", { key: '407fab16c66a9f4a542369bfecc0d9afa0065977', name: "end" }))), shouldRenderHighlight && index.h("div", { key: 'f00523a6698fac8a1996e04303487bef01d10f25', class: "textarea-highlight" })), this.renderBottomContent()));
463
463
  }
464
464
  get el() { return index.getElement(this); }
465
465
  static get watchers() { return {
@@ -7,7 +7,7 @@ var index$1 = require('./index-DNh170BW.js');
7
7
  var config = require('./config-CKhELRRu.js');
8
8
  var helpers = require('./helpers-DgwmcYAu.js');
9
9
  var lockController = require('./lock-controller-aDB9wrEf.js');
10
- var overlays = require('./overlays-CglR7j-u.js');
10
+ var overlays = require('./overlays-DUsEBICv.js');
11
11
  var theme = require('./theme-CeDs6Hcv.js');
12
12
  var ionicGlobal = require('./ionic-global-UI5YPSi-.js');
13
13
  var animation = require('./animation-ZJ1lAkZD.js');
@@ -851,9 +851,9 @@ const Toast = class {
851
851
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
852
852
  index$1.printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
853
853
  }
854
- return (index$1.h(index$1.Host, Object.assign({ key: '4a303f9ebb69614e9dca677d9d80a4a275de0d85', tabindex: "-1" }, this.htmlAttributes, { style: {
854
+ return (index$1.h(index$1.Host, Object.assign({ key: 'd1ecd90c87700aad4685e230cdd430aa286b8791', tabindex: "-1" }, this.htmlAttributes, { style: {
855
855
  zIndex: `${60000 + this.overlayIndex}`,
856
- }, class: theme.createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), index$1.h("div", { key: '4f58fcbba8dce9834eab743fc91715935216f3d0', class: wrapperClass }, index$1.h("div", { key: 'bbc7b73b186432bd4be8247c5de2ce3b2551fb0a', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (index$1.h("ion-icon", { key: '0b953478eb739ceb864373416183bfbf5ce2f9f1', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), index$1.h("div", { key: '7a63497d1c0440256218426194851a969b042ca6', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
856
+ }, class: theme.createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, theme.getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), index$1.h("div", { key: '4bfc863417324de69e222054d5cf9c452038b41e', class: wrapperClass }, index$1.h("div", { key: '3417940afec0392e81b7d54c7cb00f3ab6c30d47', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (index$1.h("ion-icon", { key: '6bf878fbc85c01e1e5faa9d97d46255a6511a952', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), index$1.h("div", { key: '54b500348a9c37660c3aff37436d9188e4374947', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
857
857
  }
858
858
  get el() { return index$1.getElement(this); }
859
859
  static get watchers() { return {
@@ -241,7 +241,7 @@ const Toggle = class {
241
241
  const value = this.getValue();
242
242
  const rtl = dir.isRTL(el) ? 'rtl' : 'ltr';
243
243
  helpers.renderHiddenInput(true, el, name, checked ? value : '', disabled);
244
- return (index.h(index.Host, { key: '4bfaf87191b3ba4daef9d7afc693e290dbb2c5d2', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: theme.createColorClasses(color, {
244
+ return (index.h(index.Host, { key: '21037ea2e8326f58c84becadde475f007f931924', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: theme.createColorClasses(color, {
245
245
  [mode]: true,
246
246
  'in-item': theme.hostContext('ion-item', el),
247
247
  'toggle-activated': activated,
@@ -251,10 +251,10 @@ const Toggle = class {
251
251
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
252
252
  [`toggle-label-placement-${labelPlacement}`]: true,
253
253
  [`toggle-${rtl}`]: true,
254
- }) }, index.h("label", { key: '08a7744d71410f8befc04776a0ef7d3b03e9cfaf', class: "toggle-wrapper", htmlFor: inputId }, index.h("input", Object.assign({ key: 'e41f1cc9779e3ea364f3b0cee91686bd177bc883', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), index.h("div", { key: '986ee5fd8f7011dc8f2857b3ed19ea391070f20b', class: {
254
+ }) }, index.h("label", { key: '4d153679d118d01286f6633d1c19558a97745ff6', class: "toggle-wrapper", htmlFor: inputId }, index.h("input", Object.assign({ key: '0dfcd4df15b8d41bec5ff5f8912503afbb7bec53', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), index.h("div", { key: 'ffed3a07ba2ab70e5b232e6041bc3b6b34be8331', class: {
255
255
  'label-text-wrapper': true,
256
256
  'label-text-wrapper-hidden': !hasLabel,
257
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, index.h("slot", { key: '0cb70572a622b68d8e49239314bf00a32d7551c0' }), this.renderHintText()), index.h("div", { key: 'f6e2a4f074af1398af3b6eaeb1a2ef2125e1ba67', class: "native-wrapper" }, this.renderToggleControl()))));
257
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, index.h("slot", { key: 'd88e1e3dcdd8293f6b61f237cd7a0511dcbce300' }), this.renderHintText()), index.h("div", { key: '0e924225f5f0caf3c88738acb6c557bd8c1b68f6', class: "native-wrapper" }, this.renderToggleControl()))));
258
258
  }
259
259
  get el() { return index.getElement(this); }
260
260
  static get watchers() { return {
@@ -498,9 +498,11 @@ const setRootAriaHidden = (hidden = false) => {
498
498
  }
499
499
  if (hidden) {
500
500
  viewContainer.setAttribute('aria-hidden', 'true');
501
+ viewContainer.setAttribute('inert', '');
501
502
  }
502
503
  else {
503
504
  viewContainer.removeAttribute('aria-hidden');
505
+ viewContainer.removeAttribute('inert');
504
506
  }
505
507
  };
506
508
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
@@ -519,8 +521,6 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
519
521
  setRootAriaHidden(true);
520
522
  document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
521
523
  }
522
- hideUnderlyingOverlaysFromScreenReaders(overlay.el);
523
- hideAnimatingOverlayFromScreenReaders(overlay.el);
524
524
  overlay.presented = true;
525
525
  overlay.willPresent.emit();
526
526
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -646,12 +646,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
646
646
  }
647
647
  overlay.presented = false;
648
648
  try {
649
- /**
650
- * There is no need to show the overlay to screen readers during
651
- * the dismiss animation. This is because the overlay will be removed
652
- * from the DOM after the animation is complete.
653
- */
654
- hideAnimatingOverlayFromScreenReaders(overlay.el);
655
649
  // Overlay contents should not be clickable during dismiss
656
650
  overlay.el.style.setProperty('pointer-events', 'none');
657
651
  overlay.willDismiss.emit({ data, role });
@@ -690,7 +684,6 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
690
684
  index.printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
691
685
  }
692
686
  overlay.el.remove();
693
- revealOverlaysToScreenReaders();
694
687
  return true;
695
688
  };
696
689
  const getAppRoot = (doc) => {
@@ -886,93 +879,6 @@ const createTriggerController = () => {
886
879
  removeClickListener,
887
880
  };
888
881
  };
889
- /**
890
- * The overlay that is being animated also needs to hide from screen
891
- * readers during its animation. This ensures that assistive technologies
892
- * like TalkBack do not announce or interact with the content until the
893
- * animation is complete, avoiding confusion for users.
894
- *
895
- * When the overlay is presented on an Android device, TalkBack's focus rings
896
- * may appear in the wrong position due to the transition (specifically
897
- * `transform` styles). This occurs because the focus rings are initially
898
- * displayed at the starting position of the elements before the transition
899
- * begins. This workaround ensures the focus rings do not appear in the
900
- * incorrect location.
901
- *
902
- * If this solution is applied to iOS devices, then it leads to a bug where
903
- * the overlays cannot be accessed by screen readers. This is due to
904
- * VoiceOver not being able to update the accessibility tree when the
905
- * `aria-hidden` is removed.
906
- *
907
- * @param overlay - The overlay that is being animated.
908
- */
909
- const hideAnimatingOverlayFromScreenReaders = (overlay) => {
910
- if (index$1.doc === undefined)
911
- return;
912
- if (ionicGlobal.isPlatform('android')) {
913
- /**
914
- * Once the animation is complete, this attribute will be removed.
915
- * This is done at the end of the `present` method.
916
- */
917
- overlay.setAttribute('aria-hidden', 'true');
918
- }
919
- };
920
- /**
921
- * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
922
- * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
923
- * events here because those events do not fire when the screen readers moves to a non-focusable
924
- * element such as text.
925
- * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
926
- *
927
- * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
928
- * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
929
- */
930
- const hideUnderlyingOverlaysFromScreenReaders = (newTopMostOverlay) => {
931
- var _a;
932
- if (index$1.doc === undefined)
933
- return;
934
- const overlays = getPresentedOverlays(index$1.doc);
935
- for (let i = overlays.length - 1; i >= 0; i--) {
936
- const presentedOverlay = overlays[i];
937
- const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
938
- /**
939
- * If next overlay has aria-hidden then all remaining overlays will have it too.
940
- * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
941
- * should not have aria-hidden either so focus can remain in the current overlay.
942
- */
943
- if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
944
- presentedOverlay.setAttribute('aria-hidden', 'true');
945
- }
946
- }
947
- };
948
- /**
949
- * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
950
- * If the top-most overlay is a Toast we potentially need to reveal more overlays since
951
- * focus is never automatically moved to the Toast.
952
- */
953
- const revealOverlaysToScreenReaders = () => {
954
- if (index$1.doc === undefined)
955
- return;
956
- const overlays = getPresentedOverlays(index$1.doc);
957
- for (let i = overlays.length - 1; i >= 0; i--) {
958
- const currentOverlay = overlays[i];
959
- /**
960
- * If the current we are looking at is a Toast then we can remove aria-hidden.
961
- * However, we potentially need to keep looking at the overlay stack because there
962
- * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
963
- * overlay too so focus can move there since focus is never automatically moved to the Toast.
964
- */
965
- currentOverlay.removeAttribute('aria-hidden');
966
- /**
967
- * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
968
- * since this overlay should always receive focus. As a result, all underlying overlays should still
969
- * be hidden from screen readers.
970
- */
971
- if (currentOverlay.tagName !== 'ION-TOAST') {
972
- break;
973
- }
974
- }
975
- };
976
882
  const FOCUS_TRAP_DISABLE_CLASS = 'ion-disable-focus-trap';
977
883
 
978
884
  exports.BACKDROP = BACKDROP;