@ionic/core 8.4.4-dev.11741101920.155e1c29 → 8.4.4-dev.11741136034.11909e03

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 (516) hide show
  1. package/components/alert.js +25 -4
  2. package/components/checkbox.js +4 -6
  3. package/components/helpers.js +11 -1
  4. package/components/index6.js +3 -11
  5. package/components/index9.js +1 -1
  6. package/components/ion-item-divider.js +2 -2
  7. package/components/ion-item-group.js +1 -1
  8. package/components/ion-item-option.js +2 -2
  9. package/components/ion-item-options.js +1 -1
  10. package/components/ion-item-sliding.js +1 -1
  11. package/components/ion-loading.js +2 -2
  12. package/components/ion-menu-button.js +2 -2
  13. package/components/ion-menu-toggle.js +2 -2
  14. package/components/ion-menu.js +2 -2
  15. package/components/ion-nav-link.js +1 -1
  16. package/components/ion-nav.js +1 -1
  17. package/components/ion-note.js +2 -2
  18. package/components/ion-picker-legacy.js +2 -2
  19. package/components/ion-progress-bar.js +1 -1
  20. package/components/ion-range.js +3 -3
  21. package/components/ion-refresher-content.js +1 -1
  22. package/components/ion-refresher.js +1 -1
  23. package/components/ion-reorder-group.js +1 -1
  24. package/components/ion-reorder.js +1 -1
  25. package/components/ion-router-link.js +2 -2
  26. package/components/ion-router-outlet.js +1 -1
  27. package/components/ion-row.js +1 -1
  28. package/components/ion-searchbar.js +4 -4
  29. package/components/ion-segment-button.js +40 -9
  30. package/components/ion-segment-content.js +1 -1
  31. package/components/ion-segment-view.js +2 -2
  32. package/components/ion-segment.js +2 -2
  33. package/components/ion-select-option.js +1 -1
  34. package/components/ion-select.js +4 -6
  35. package/components/ion-skeleton-text.js +2 -2
  36. package/components/ion-split-pane.js +2 -2
  37. package/components/ion-tab-bar.js +2 -2
  38. package/components/ion-tab-button.js +2 -2
  39. package/components/ion-tab.js +2 -2
  40. package/components/ion-tabs.js +1 -1
  41. package/components/ion-text.js +2 -2
  42. package/components/ion-textarea.js +2 -2
  43. package/components/ion-thumbnail.js +1 -1
  44. package/components/ion-toast.js +2 -2
  45. package/components/ion-toggle.js +4 -6
  46. package/components/label.js +2 -2
  47. package/components/list-header.js +2 -2
  48. package/components/modal.js +35 -259
  49. package/components/picker-column-option.js +2 -2
  50. package/components/picker-column2.js +2 -2
  51. package/components/popover.js +2 -2
  52. package/components/radio-group.js +2 -39
  53. package/components/radio.js +3 -3
  54. package/components/ripple-effect.js +1 -1
  55. package/components/select-modal.js +1 -1
  56. package/components/select-popover.js +1 -1
  57. package/components/spinner.js +1 -1
  58. package/components/title.js +2 -2
  59. package/components/toolbar.js +2 -2
  60. package/css/core.css.map +1 -1
  61. package/css/ionic.bundle.css.map +1 -1
  62. package/dist/cjs/{data-108e531d.js → data-21dc0f81.js} +1 -1
  63. package/dist/cjs/{framework-delegate-55f5683a.js → framework-delegate-05579976.js} +1 -1
  64. package/dist/cjs/{helpers-afaa9001.js → helpers-4be3f90d.js} +11 -0
  65. package/dist/cjs/{index-3652c918.js → index-1ae3f40a.js} +2 -2
  66. package/dist/cjs/{index-e975c92b.js → index-4e14a46e.js} +4 -4
  67. package/dist/cjs/{index-2a46a047.js → index-5915f9b3.js} +3 -11
  68. package/dist/cjs/{index-9509ecad.js → index-ad7a712e.js} +1 -1
  69. package/dist/cjs/{index-0d762bba.js → index-c441c903.js} +2 -2
  70. package/dist/cjs/index.cjs.js +8 -8
  71. package/dist/cjs/{input-shims-cd05268a.js → input-shims-e748a364.js} +3 -5
  72. package/dist/cjs/{input.utils-ffb2f81b.js → input.utils-74e4ec28.js} +2 -2
  73. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  75. package/dist/cjs/ion-alert.cjs.entry.js +29 -8
  76. package/dist/cjs/ion-app_8.cjs.entry.js +14 -14
  77. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  82. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -6
  83. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  86. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  87. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  89. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  90. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  91. package/dist/cjs/ion-item-option_3.cjs.entry.js +7 -7
  92. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  93. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  94. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  95. package/dist/cjs/ion-modal.cjs.entry.js +41 -264
  96. package/dist/cjs/ion-nav_2.cjs.entry.js +7 -7
  97. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  98. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  101. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -40
  103. package/dist/cjs/ion-range.cjs.entry.js +6 -6
  104. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  105. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  106. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  107. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  109. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  110. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-segment_2.cjs.entry.js +42 -11
  112. package/dist/cjs/ion-select-modal.cjs.entry.js +5 -5
  113. package/dist/cjs/ion-select_3.cjs.entry.js +11 -12
  114. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  115. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  117. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  118. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
  120. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  121. package/dist/cjs/ion-toggle.cjs.entry.js +5 -6
  122. package/dist/cjs/ionic.cjs.js +1 -1
  123. package/dist/cjs/{ios.transition-0e664e88.js → ios.transition-afdec89f.js} +3 -3
  124. package/dist/cjs/loader.cjs.js +1 -1
  125. package/dist/cjs/{md.transition-2e8aef2c.js → md.transition-9f0d3db5.js} +3 -3
  126. package/dist/cjs/{notch-controller-d69150f5.js → notch-controller-a0c464d1.js} +1 -1
  127. package/dist/cjs/{overlays-65fdaff6.js → overlays-76b29cd4.js} +3 -3
  128. package/dist/cjs/{status-tap-d74f1429.js → status-tap-fb807fad.js} +3 -4
  129. package/dist/cjs/{swipe-back-0303a5e4.js → swipe-back-47a52b83.js} +1 -1
  130. package/dist/collection/components/alert/alert.js +29 -4
  131. package/dist/collection/components/checkbox/checkbox.js +4 -23
  132. package/dist/collection/components/item-divider/item-divider.js +2 -2
  133. package/dist/collection/components/item-group/item-group.js +1 -1
  134. package/dist/collection/components/item-option/item-option.js +2 -2
  135. package/dist/collection/components/item-options/item-options.js +1 -1
  136. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  137. package/dist/collection/components/label/label.js +2 -2
  138. package/dist/collection/components/list-header/list-header.js +2 -2
  139. package/dist/collection/components/loading/loading.js +2 -2
  140. package/dist/collection/components/menu/menu.js +2 -2
  141. package/dist/collection/components/menu-button/menu-button.js +2 -2
  142. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  143. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  144. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  145. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  146. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  147. package/dist/collection/components/modal/animations/sheet.js +2 -11
  148. package/dist/collection/components/modal/gestures/sheet.js +10 -79
  149. package/dist/collection/components/modal/modal.ios.css +0 -16
  150. package/dist/collection/components/modal/modal.js +7 -32
  151. package/dist/collection/components/modal/modal.md.css +0 -6
  152. package/dist/collection/components/nav/nav.js +1 -1
  153. package/dist/collection/components/nav-link/nav-link.js +1 -1
  154. package/dist/collection/components/note/note.js +2 -2
  155. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  156. package/dist/collection/components/picker-legacy/picker.js +2 -2
  157. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  158. package/dist/collection/components/popover/popover.js +2 -2
  159. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  160. package/dist/collection/components/radio/radio.js +3 -3
  161. package/dist/collection/components/radio-group/radio-group.js +1 -72
  162. package/dist/collection/components/range/range.js +3 -3
  163. package/dist/collection/components/refresher/refresher.js +1 -1
  164. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  165. package/dist/collection/components/reorder/reorder.js +1 -1
  166. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  167. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  168. package/dist/collection/components/router-link/router-link.js +2 -2
  169. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  170. package/dist/collection/components/row/row.js +1 -1
  171. package/dist/collection/components/searchbar/searchbar.js +4 -4
  172. package/dist/collection/components/segment/segment.js +2 -2
  173. package/dist/collection/components/segment-button/segment-button.js +40 -9
  174. package/dist/collection/components/segment-content/segment-content.js +1 -1
  175. package/dist/collection/components/segment-view/segment-view.js +2 -2
  176. package/dist/collection/components/select/select.js +4 -23
  177. package/dist/collection/components/select-modal/select-modal.js +1 -1
  178. package/dist/collection/components/select-option/select-option.js +1 -1
  179. package/dist/collection/components/select-popover/select-popover.js +1 -1
  180. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  181. package/dist/collection/components/spinner/spinner.js +1 -1
  182. package/dist/collection/components/split-pane/split-pane.js +2 -2
  183. package/dist/collection/components/tab/tab.js +2 -2
  184. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  185. package/dist/collection/components/tab-button/tab-button.js +2 -2
  186. package/dist/collection/components/tabs/tabs.js +1 -1
  187. package/dist/collection/components/text/text.js +2 -2
  188. package/dist/collection/components/textarea/textarea.js +2 -2
  189. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  190. package/dist/collection/components/title/title.js +2 -2
  191. package/dist/collection/components/toast/toast.js +2 -2
  192. package/dist/collection/components/toggle/toggle.js +4 -23
  193. package/dist/collection/components/toolbar/toolbar.js +2 -6
  194. package/dist/collection/utils/helpers.js +10 -0
  195. package/dist/collection/utils/logging/index.js +3 -10
  196. package/dist/docs.json +6 -163
  197. package/dist/esm/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  198. package/dist/esm/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
  199. package/dist/esm/{helpers-da915de8.js → helpers-9b49d7d2.js} +11 -1
  200. package/dist/esm/{index-efb8ecdf.js → index-33f7e3ff.js} +2 -2
  201. package/dist/esm/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
  202. package/dist/esm/{index-2f7fde3d.js → index-7ec5519a.js} +4 -4
  203. package/dist/esm/{index-cb21eccb.js → index-8785a9c6.js} +2 -2
  204. package/dist/esm/{index-6ad967f3.js → index-9b0d46f4.js} +3 -11
  205. package/dist/esm/index.js +8 -8
  206. package/dist/esm/{input-shims-2fd7c6ef.js → input-shims-0e65111b.js} +3 -5
  207. package/dist/esm/{input.utils-961c9f17.js → input.utils-1ad8dafc.js} +2 -2
  208. package/dist/esm/ion-accordion_2.entry.js +2 -2
  209. package/dist/esm/ion-action-sheet.entry.js +4 -4
  210. package/dist/esm/ion-alert.entry.js +29 -8
  211. package/dist/esm/ion-app_8.entry.js +14 -14
  212. package/dist/esm/ion-avatar_3.entry.js +1 -1
  213. package/dist/esm/ion-back-button.entry.js +1 -1
  214. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  215. package/dist/esm/ion-button_2.entry.js +2 -2
  216. package/dist/esm/ion-card_5.entry.js +1 -1
  217. package/dist/esm/ion-checkbox.entry.js +5 -6
  218. package/dist/esm/ion-col_3.entry.js +1 -1
  219. package/dist/esm/ion-datetime-button.entry.js +3 -3
  220. package/dist/esm/ion-datetime_3.entry.js +9 -9
  221. package/dist/esm/ion-fab_3.entry.js +1 -1
  222. package/dist/esm/ion-img.entry.js +1 -1
  223. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  224. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  225. package/dist/esm/ion-input.entry.js +4 -4
  226. package/dist/esm/ion-item-option_3.entry.js +7 -7
  227. package/dist/esm/ion-item_8.entry.js +12 -12
  228. package/dist/esm/ion-loading.entry.js +6 -6
  229. package/dist/esm/ion-menu_3.entry.js +11 -11
  230. package/dist/esm/ion-modal.entry.js +41 -264
  231. package/dist/esm/ion-nav_2.entry.js +7 -7
  232. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  233. package/dist/esm/ion-picker-column.entry.js +1 -1
  234. package/dist/esm/ion-picker.entry.js +1 -1
  235. package/dist/esm/ion-popover.entry.js +7 -7
  236. package/dist/esm/ion-progress-bar.entry.js +2 -2
  237. package/dist/esm/ion-radio_2.entry.js +5 -40
  238. package/dist/esm/ion-range.entry.js +6 -6
  239. package/dist/esm/ion-refresher_2.entry.js +5 -5
  240. package/dist/esm/ion-reorder_2.entry.js +5 -5
  241. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  242. package/dist/esm/ion-route_4.entry.js +3 -3
  243. package/dist/esm/ion-searchbar.entry.js +5 -5
  244. package/dist/esm/ion-segment-content.entry.js +1 -1
  245. package/dist/esm/ion-segment-view.entry.js +2 -2
  246. package/dist/esm/ion-segment_2.entry.js +42 -11
  247. package/dist/esm/ion-select-modal.entry.js +5 -5
  248. package/dist/esm/ion-select_3.entry.js +11 -12
  249. package/dist/esm/ion-spinner.entry.js +1 -1
  250. package/dist/esm/ion-split-pane.entry.js +2 -2
  251. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  252. package/dist/esm/ion-tab_2.entry.js +5 -5
  253. package/dist/esm/ion-text.entry.js +2 -2
  254. package/dist/esm/ion-textarea.entry.js +6 -6
  255. package/dist/esm/ion-toast.entry.js +6 -6
  256. package/dist/esm/ion-toggle.entry.js +5 -6
  257. package/dist/esm/ionic.js +1 -1
  258. package/dist/esm/{ios.transition-b1da3753.js → ios.transition-085853ff.js} +3 -3
  259. package/dist/esm/loader.js +1 -1
  260. package/dist/esm/{md.transition-571b3859.js → md.transition-33826623.js} +3 -3
  261. package/dist/esm/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
  262. package/dist/esm/{overlays-5deab4de.js → overlays-e3d0d356.js} +3 -3
  263. package/dist/esm/{status-tap-79eac0ac.js → status-tap-163e8128.js} +3 -4
  264. package/dist/esm/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
  265. package/dist/esm-es5/{data-b3284b5e.js → data-ae11fd43.js} +1 -1
  266. package/dist/esm-es5/{framework-delegate-63d1a679.js → framework-delegate-f683816e.js} +1 -1
  267. package/dist/esm-es5/{helpers-da915de8.js → helpers-9b49d7d2.js} +1 -1
  268. package/dist/esm-es5/{index-efb8ecdf.js → index-33f7e3ff.js} +1 -1
  269. package/dist/esm-es5/{index-79b30591.js → index-5a0f5fd0.js} +1 -1
  270. package/dist/esm-es5/{index-2f7fde3d.js → index-7ec5519a.js} +1 -1
  271. package/dist/esm-es5/{index-cb21eccb.js → index-8785a9c6.js} +1 -1
  272. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  273. package/dist/esm-es5/index.js +1 -1
  274. package/dist/esm-es5/input-shims-0e65111b.js +4 -0
  275. package/dist/esm-es5/{input.utils-961c9f17.js → input.utils-1ad8dafc.js} +1 -1
  276. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  277. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  278. package/dist/esm-es5/ion-alert.entry.js +1 -1
  279. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  280. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  281. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  282. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  283. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  284. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  285. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  286. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  287. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  288. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  289. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  290. package/dist/esm-es5/ion-img.entry.js +1 -1
  291. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  292. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  293. package/dist/esm-es5/ion-input.entry.js +1 -1
  294. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  295. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  296. package/dist/esm-es5/ion-loading.entry.js +1 -1
  297. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  298. package/dist/esm-es5/ion-modal.entry.js +1 -1
  299. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  300. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  301. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  302. package/dist/esm-es5/ion-picker.entry.js +1 -1
  303. package/dist/esm-es5/ion-popover.entry.js +1 -1
  304. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  305. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  306. package/dist/esm-es5/ion-range.entry.js +1 -1
  307. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  308. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  309. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  310. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  311. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  312. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  313. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  314. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  315. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  316. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  317. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  318. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  319. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  320. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  321. package/dist/esm-es5/ion-text.entry.js +1 -1
  322. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  323. package/dist/esm-es5/ion-toast.entry.js +1 -1
  324. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  325. package/dist/esm-es5/ionic.js +1 -1
  326. package/dist/esm-es5/{ios.transition-b1da3753.js → ios.transition-085853ff.js} +1 -1
  327. package/dist/esm-es5/loader.js +1 -1
  328. package/dist/esm-es5/md.transition-33826623.js +4 -0
  329. package/dist/esm-es5/{notch-controller-55b09e11.js → notch-controller-3dc61260.js} +1 -1
  330. package/dist/esm-es5/{overlays-5deab4de.js → overlays-e3d0d356.js} +1 -1
  331. package/dist/esm-es5/status-tap-163e8128.js +4 -0
  332. package/dist/esm-es5/{swipe-back-e5394307.js → swipe-back-23ee7ab1.js} +1 -1
  333. package/dist/html.html-data.json +0 -24
  334. package/dist/ionic/index.esm.js +1 -1
  335. package/dist/ionic/ionic.esm.js +1 -1
  336. package/dist/ionic/{p-f1c4dcd4.js → p-02e1ebd9.js} +1 -1
  337. package/dist/ionic/{p-27d29df8.entry.js → p-02e23f26.entry.js} +1 -1
  338. package/dist/ionic/{p-4b4f4a4c.entry.js → p-0397811d.entry.js} +1 -1
  339. package/dist/ionic/p-06fee233.js +4 -0
  340. package/dist/ionic/p-075a94bd.js +4 -0
  341. package/dist/ionic/p-0a59f4fa.entry.js +4 -0
  342. package/dist/ionic/{p-2346ab53.system.entry.js → p-0c9b6d3a.system.entry.js} +1 -1
  343. package/dist/ionic/p-0e43be1b.entry.js +4 -0
  344. package/dist/ionic/{p-7ed1657c.system.entry.js → p-0eb2553a.system.entry.js} +1 -1
  345. package/dist/ionic/p-0ee3b5a2.system.js +4 -0
  346. package/dist/ionic/p-135e5731.js +4 -0
  347. package/dist/ionic/{p-b6efeab8.js → p-13dc21b0.js} +1 -1
  348. package/dist/ionic/{p-7a6eaf9e.entry.js → p-14143257.entry.js} +1 -1
  349. package/dist/ionic/p-14be4015.entry.js +4 -0
  350. package/dist/ionic/{p-248318e0.system.entry.js → p-162c8d0c.system.entry.js} +1 -1
  351. package/dist/ionic/{p-7af3d1e8.system.entry.js → p-16799667.system.entry.js} +1 -1
  352. package/dist/ionic/p-16bfb979.system.entry.js +4 -0
  353. package/dist/ionic/{p-a88dec0d.system.js → p-1a790eef.system.js} +2 -2
  354. package/dist/ionic/{p-d8d15f9b.system.entry.js → p-1bbe8665.system.entry.js} +2 -2
  355. package/dist/ionic/{p-5d0c6c4d.system.entry.js → p-1bc65aec.system.entry.js} +1 -1
  356. package/dist/ionic/p-1f405274.js +4 -0
  357. package/dist/ionic/{p-120fb79a.entry.js → p-203633d1.entry.js} +1 -1
  358. package/dist/ionic/{p-e0a6dc45.system.entry.js → p-2507278c.system.entry.js} +1 -1
  359. package/dist/ionic/{p-f658c74e.system.entry.js → p-2515cb4d.system.entry.js} +1 -1
  360. package/dist/ionic/p-25fa1d30.system.entry.js +4 -0
  361. package/dist/ionic/{p-40b5455f.entry.js → p-26194519.entry.js} +1 -1
  362. package/dist/ionic/p-265939f0.entry.js +4 -0
  363. package/dist/ionic/{p-e9ddf8fe.system.entry.js → p-2abae1cc.system.entry.js} +1 -1
  364. package/dist/ionic/{p-34b11c24.js → p-2bc73fb5.js} +1 -1
  365. package/dist/ionic/p-2c8798d0.entry.js +4 -0
  366. package/dist/ionic/p-2c9eb774.system.js +4 -0
  367. package/dist/ionic/{p-a3a1d721.system.entry.js → p-2ef3c7ee.system.entry.js} +1 -1
  368. package/dist/ionic/p-322c5fb4.system.js +1 -1
  369. package/dist/ionic/{p-51030d96.entry.js → p-32e99b0a.entry.js} +1 -1
  370. package/dist/ionic/{p-c4238c12.system.js → p-340e3f24.system.js} +1 -1
  371. package/dist/ionic/{p-a090bce8.system.entry.js → p-3572f86a.system.entry.js} +1 -1
  372. package/dist/ionic/{p-0ef6abb0.system.entry.js → p-3df889b3.system.entry.js} +1 -1
  373. package/dist/ionic/{p-05b74e45.system.entry.js → p-3eaf1444.system.entry.js} +1 -1
  374. package/dist/ionic/{p-4e6a6eca.entry.js → p-41780810.entry.js} +1 -1
  375. package/dist/ionic/{p-5cc9314d.system.entry.js → p-424eb140.system.entry.js} +1 -1
  376. package/dist/ionic/{p-1ab13b2b.js → p-42808996.js} +1 -1
  377. package/dist/ionic/{p-5e0df4c8.system.entry.js → p-4346c79d.system.entry.js} +1 -1
  378. package/dist/ionic/{p-a15ddedb.system.js → p-4452a8ac.system.js} +1 -1
  379. package/dist/ionic/{p-b1eb86fd.entry.js → p-45de8d2a.entry.js} +1 -1
  380. package/dist/ionic/{p-8ac07653.system.entry.js → p-48a8d9b4.system.entry.js} +2 -2
  381. package/dist/ionic/p-49a0e74c.entry.js +4 -0
  382. package/dist/ionic/{p-52d7a191.entry.js → p-4ad78edc.entry.js} +1 -1
  383. package/dist/ionic/{p-1e6d7da3.entry.js → p-4c252070.entry.js} +1 -1
  384. package/dist/ionic/p-4e131759.entry.js +4 -0
  385. package/dist/ionic/{p-19ea7bff.system.js → p-5126cf1e.system.js} +1 -1
  386. package/dist/ionic/{p-cb13696c.js → p-51dec25d.js} +1 -1
  387. package/dist/ionic/{p-933727f9.system.entry.js → p-561ddcd4.system.entry.js} +2 -2
  388. package/dist/ionic/p-56da53ad.system.entry.js +4 -0
  389. package/dist/ionic/{p-948e6c6a.entry.js → p-57379000.entry.js} +1 -1
  390. package/dist/ionic/{p-e75295c8.entry.js → p-57ceead7.entry.js} +1 -1
  391. package/dist/ionic/{p-b1f885df.entry.js → p-5b932840.entry.js} +1 -1
  392. package/dist/ionic/{p-15d18206.entry.js → p-5cde8ef3.entry.js} +1 -1
  393. package/dist/ionic/p-6190d0d6.entry.js +4 -0
  394. package/dist/ionic/p-61d044b4.entry.js +4 -0
  395. package/dist/ionic/{p-1c934892.entry.js → p-62af944c.entry.js} +1 -1
  396. package/dist/ionic/p-68dc53a5.js +4 -0
  397. package/dist/ionic/{p-bd5f29ea.entry.js → p-6b1bd0c1.entry.js} +1 -1
  398. package/dist/ionic/{p-fd6cff12.entry.js → p-6d32975a.entry.js} +1 -1
  399. package/dist/ionic/{p-33c9f005.system.entry.js → p-70ccc275.system.entry.js} +2 -2
  400. package/dist/ionic/{p-f2a72b24.entry.js → p-73dc4950.entry.js} +1 -1
  401. package/dist/ionic/{p-f8e37d24.system.entry.js → p-7458862e.system.entry.js} +1 -1
  402. package/dist/ionic/{p-7895d719.entry.js → p-76446a85.entry.js} +1 -1
  403. package/dist/ionic/{p-55d16109.system.entry.js → p-77e7b7b6.system.entry.js} +1 -1
  404. package/dist/ionic/{p-72812e99.js → p-7a1766d6.js} +1 -1
  405. package/dist/ionic/{p-542a569d.system.entry.js → p-7b96e5c1.system.entry.js} +1 -1
  406. package/dist/ionic/{p-8e5dbf2b.entry.js → p-7b98cebe.entry.js} +1 -1
  407. package/dist/ionic/{p-5d93d251.entry.js → p-803f0bc2.entry.js} +1 -1
  408. package/dist/ionic/p-82b931e2.entry.js +4 -0
  409. package/dist/ionic/{p-f907406b.entry.js → p-83e68c71.entry.js} +1 -1
  410. package/dist/ionic/{p-1e67b266.system.entry.js → p-84d08aae.system.entry.js} +1 -1
  411. package/dist/ionic/{p-d22e2a38.system.js → p-881d9e52.system.js} +1 -1
  412. package/dist/ionic/p-8a836849.entry.js +4 -0
  413. package/dist/ionic/{p-e09d6392.system.entry.js → p-91f17b25.system.entry.js} +2 -2
  414. package/dist/ionic/{p-cd7ffa67.system.entry.js → p-92365bc1.system.entry.js} +1 -1
  415. package/dist/ionic/{p-d7aa6b00.entry.js → p-955c3eb8.entry.js} +1 -1
  416. package/dist/ionic/{p-bf63d4b2.entry.js → p-95775830.entry.js} +1 -1
  417. package/dist/ionic/{p-8635f5e6.system.js → p-95da3ae2.system.js} +1 -1
  418. package/dist/ionic/{p-39164acf.system.entry.js → p-9a1f985d.system.entry.js} +1 -1
  419. package/dist/ionic/{p-b9d7015f.entry.js → p-9b3bb24e.entry.js} +1 -1
  420. package/dist/ionic/{p-d2203d60.system.entry.js → p-9be5f3ee.system.entry.js} +2 -2
  421. package/dist/ionic/{p-5c08627a.system.js → p-9eee4de1.system.js} +1 -1
  422. package/dist/ionic/{p-7de1e42c.system.js → p-a2b6dd57.system.js} +1 -1
  423. package/dist/ionic/{p-62f648c8.system.entry.js → p-a3c78186.system.entry.js} +1 -1
  424. package/dist/ionic/{p-37495da1.system.entry.js → p-a4575db1.system.entry.js} +1 -1
  425. package/dist/ionic/{p-01186920.system.entry.js → p-a9e24ae2.system.entry.js} +1 -1
  426. package/dist/ionic/{p-0eb35a7f.system.js → p-aa63b365.system.js} +1 -1
  427. package/dist/ionic/{p-abf549eb.entry.js → p-af09741c.entry.js} +1 -1
  428. package/dist/ionic/{p-2d1d8a25.entry.js → p-afecb188.entry.js} +1 -1
  429. package/dist/ionic/{p-3ad285e3.system.js → p-b3680e2f.system.js} +1 -1
  430. package/dist/ionic/p-b7433d7d.js +4 -0
  431. package/dist/ionic/{p-d341d412.system.entry.js → p-b91acf8d.system.entry.js} +1 -1
  432. package/dist/ionic/{p-b51e4004.js → p-bb11d9fb.js} +1 -1
  433. package/dist/ionic/{p-081a4ce4.entry.js → p-bb2a6761.entry.js} +1 -1
  434. package/dist/ionic/{p-ada36597.system.js → p-c1b51537.system.js} +1 -1
  435. package/dist/ionic/{p-8cfba7e9.system.entry.js → p-c29f8157.system.entry.js} +1 -1
  436. package/dist/ionic/{p-c51dc7fe.entry.js → p-c32644d7.entry.js} +1 -1
  437. package/dist/ionic/{p-c41ac815.entry.js → p-c8d645b3.entry.js} +1 -1
  438. package/dist/ionic/p-cc700b6b.entry.js +4 -0
  439. package/dist/ionic/{p-cb6954d4.system.entry.js → p-d06601eb.system.entry.js} +1 -1
  440. package/dist/ionic/{p-b7329612.system.entry.js → p-d192fdf7.system.entry.js} +1 -1
  441. package/dist/ionic/{p-3cc276f4.js → p-d4ca0475.js} +1 -1
  442. package/dist/ionic/{p-1a5bc5f7.js → p-d60342e3.js} +1 -1
  443. package/dist/ionic/{p-89bf08c7.entry.js → p-da074ff7.entry.js} +1 -1
  444. package/dist/ionic/{p-58d5df0c.system.entry.js → p-da8ef548.system.entry.js} +1 -1
  445. package/dist/ionic/{p-985a7e17.system.entry.js → p-dc146a2a.system.entry.js} +1 -1
  446. package/dist/ionic/{p-cac0e0b3.system.entry.js → p-dd0c9350.system.entry.js} +1 -1
  447. package/dist/ionic/p-df862603.entry.js +4 -0
  448. package/dist/ionic/{p-922daa9f.entry.js → p-e1bbacb7.entry.js} +1 -1
  449. package/dist/ionic/{p-b0c7b12b.system.entry.js → p-e265ae18.system.entry.js} +1 -1
  450. package/dist/ionic/{p-1fbc571c.system.entry.js → p-e2e19375.system.entry.js} +1 -1
  451. package/dist/ionic/p-e308de5b.system.js +4 -0
  452. package/dist/ionic/{p-b3c60433.system.js → p-e8232807.system.js} +1 -1
  453. package/dist/ionic/{p-a4a2420e.system.entry.js → p-e8c3fb87.system.entry.js} +1 -1
  454. package/dist/ionic/{p-15e76dd1.entry.js → p-e8f34871.entry.js} +1 -1
  455. package/dist/ionic/{p-3b33b7d3.entry.js → p-e97a3f44.entry.js} +1 -1
  456. package/dist/ionic/{p-fd4e25b5.system.entry.js → p-ed75fcfb.system.entry.js} +1 -1
  457. package/dist/ionic/{p-c7ab2908.system.entry.js → p-f2b8c349.system.entry.js} +1 -1
  458. package/dist/ionic/{p-31c37f38.system.entry.js → p-f301a694.system.entry.js} +1 -1
  459. package/dist/ionic/{p-e76dae93.entry.js → p-f42743d1.entry.js} +1 -1
  460. package/dist/ionic/{p-28706c6f.js → p-f5035354.js} +1 -1
  461. package/dist/ionic/{p-343b6b1d.system.js → p-f687573e.system.js} +1 -1
  462. package/dist/ionic/{p-bc68c7cf.system.entry.js → p-f78af648.system.entry.js} +1 -1
  463. package/dist/ionic/{p-63b0abde.system.entry.js → p-f89cf011.system.entry.js} +1 -1
  464. package/dist/ionic/{p-7b9a2b23.entry.js → p-fca17935.entry.js} +1 -1
  465. package/dist/ionic/{p-744b2484.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
  466. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  467. package/dist/ionic/{p-01af2109.system.entry.js → p-ffc48bc5.system.entry.js} +1 -1
  468. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  469. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  470. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  471. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  472. package/dist/types/components/modal/modal.d.ts +0 -11
  473. package/dist/types/components/radio-group/radio-group.d.ts +0 -15
  474. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  475. package/dist/types/components/select/select.d.ts +0 -6
  476. package/dist/types/components/toggle/toggle.d.ts +0 -6
  477. package/dist/types/components/toolbar/toolbar.d.ts +0 -4
  478. package/dist/types/components.d.ts +0 -48
  479. package/dist/types/utils/config.d.ts +0 -9
  480. package/dist/types/utils/helpers.d.ts +1 -0
  481. package/dist/types/utils/logging/index.d.ts +1 -13
  482. package/hydrate/index.js +208 -423
  483. package/hydrate/index.mjs +208 -423
  484. package/package.json +2 -2
  485. package/dist/collection/components/radio-group/radio-group.ios.css +0 -206
  486. package/dist/collection/components/radio-group/radio-group.md.css +0 -206
  487. package/dist/esm-es5/index-6ad967f3.js +0 -4
  488. package/dist/esm-es5/input-shims-2fd7c6ef.js +0 -4
  489. package/dist/esm-es5/md.transition-571b3859.js +0 -4
  490. package/dist/esm-es5/status-tap-79eac0ac.js +0 -4
  491. package/dist/ionic/p-0af823e1.js +0 -4
  492. package/dist/ionic/p-0b7112fc.entry.js +0 -4
  493. package/dist/ionic/p-109cae7d.entry.js +0 -4
  494. package/dist/ionic/p-2b048a95.system.entry.js +0 -4
  495. package/dist/ionic/p-3e6be709.entry.js +0 -4
  496. package/dist/ionic/p-4c2d5b80.system.js +0 -4
  497. package/dist/ionic/p-4c98e2cf.system.js +0 -4
  498. package/dist/ionic/p-67222c16.system.js +0 -4
  499. package/dist/ionic/p-6c95736e.entry.js +0 -4
  500. package/dist/ionic/p-71c9d1fe.entry.js +0 -4
  501. package/dist/ionic/p-72bc8a1c.js +0 -4
  502. package/dist/ionic/p-7513b0c4.js +0 -4
  503. package/dist/ionic/p-870ae33b.system.entry.js +0 -4
  504. package/dist/ionic/p-87479c71.entry.js +0 -4
  505. package/dist/ionic/p-89cc9270.entry.js +0 -4
  506. package/dist/ionic/p-8e35b472.entry.js +0 -4
  507. package/dist/ionic/p-8f4361a8.system.entry.js +0 -4
  508. package/dist/ionic/p-9135153b.entry.js +0 -4
  509. package/dist/ionic/p-9343a445.js +0 -4
  510. package/dist/ionic/p-a3db8ee3.js +0 -4
  511. package/dist/ionic/p-a8f2c254.entry.js +0 -4
  512. package/dist/ionic/p-ba3f918e.entry.js +0 -4
  513. package/dist/ionic/p-c4d86289.entry.js +0 -4
  514. package/dist/ionic/p-d1c5b60e.system.js +0 -4
  515. package/dist/ionic/p-da7e1bc4.entry.js +0 -4
  516. package/dist/ionic/p-e8d56122.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -2706,6 +2706,16 @@ const shallowEqualStringMap = (map1, map2) => {
2706
2706
  }
2707
2707
  return true;
2708
2708
  };
2709
+ const getNextSiblingOfType = (element) => {
2710
+ let sibling = element.nextSibling;
2711
+ while (sibling) {
2712
+ if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
2713
+ return sibling;
2714
+ }
2715
+ sibling = sibling.nextSibling;
2716
+ }
2717
+ return null;
2718
+ };
2709
2719
 
2710
2720
  /* Ionicons v7.2.2, ES Modules */
2711
2721
  const arrowBackSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='square' stroke-miterlimit='10' stroke-width='48' d='M244 400L100 256l144-144M120 256h292' class='ionicon-fill-none'/></svg>";
@@ -3213,12 +3223,9 @@ let accordionIds = 0;
3213
3223
  * @param message - The string message to be logged to the console.
3214
3224
  */
3215
3225
  const printIonWarning = (message, ...params) => {
3216
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3217
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3218
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3219
- }
3226
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
3220
3227
  };
3221
- /**
3228
+ /*
3222
3229
  * Logs an error to the console with an Ionic prefix
3223
3230
  * to indicate the library that is warning the developer.
3224
3231
  *
@@ -3226,10 +3233,7 @@ const printIonWarning = (message, ...params) => {
3226
3233
  * @param params - Additional arguments to supply to the console.error.
3227
3234
  */
3228
3235
  const printIonError = (message, ...params) => {
3229
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3230
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3231
- return console.error(`[Ionic Error]: ${message}`, ...params);
3232
- }
3236
+ return console.error(`[Ionic Error]: ${message}`, ...params);
3233
3237
  };
3234
3238
  /**
3235
3239
  * Prints an error informing developers that an implementation requires an element to be used
@@ -6993,6 +6997,7 @@ class Alert {
6993
6997
  }
6994
6998
  }
6995
6999
  onKeydown(ev) {
7000
+ var _a;
6996
7001
  const inputTypes = new Set(this.processedInputs.map((i) => i.type));
6997
7002
  /**
6998
7003
  * Based on keyboard navigation requirements, the
@@ -7002,6 +7007,17 @@ class Alert {
7002
7007
  ev.preventDefault();
7003
7008
  return;
7004
7009
  }
7010
+ /**
7011
+ * Ensure when alert container is being focused, and the user presses the tab + shift keys, the focus will be set to the last alert button.
7012
+ */
7013
+ if (ev.target.classList.contains('alert-wrapper')) {
7014
+ if (ev.key === 'Tab' && ev.shiftKey) {
7015
+ ev.preventDefault();
7016
+ const lastChildBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button:last-child');
7017
+ lastChildBtn.focus();
7018
+ return;
7019
+ }
7020
+ }
7005
7021
  // The only inputs we want to navigate between using arrow keys are the radios
7006
7022
  // ignore the keydown event if it is not on a radio button
7007
7023
  if (!inputTypes.has('radio') ||
@@ -7133,7 +7149,16 @@ class Alert {
7133
7149
  async present() {
7134
7150
  const unlock = await this.lockController.lock();
7135
7151
  await this.delegateController.attachViewToDom();
7136
- await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4);
7152
+ await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4).then(() => {
7153
+ var _a, _b;
7154
+ if (this.buttons.length === 1 && this.inputs.length === 0) {
7155
+ const queryBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button');
7156
+ queryBtn.focus();
7157
+ }
7158
+ else {
7159
+ (_b = this.wrapperEl) === null || _b === void 0 ? void 0 : _b.focus();
7160
+ }
7161
+ });
7137
7162
  unlock();
7138
7163
  }
7139
7164
  /**
@@ -7305,8 +7330,8 @@ class Alert {
7305
7330
  const { overlayIndex, header, subHeader, message, htmlAttributes } = this;
7306
7331
  const mode = getIonMode$1(this);
7307
7332
  const hdrId = `alert-${overlayIndex}-hdr`;
7308
- const subHdrId = `alert-${overlayIndex}-sub-hdr`;
7309
7333
  const msgId = `alert-${overlayIndex}-msg`;
7334
+ const subHdrId = `alert-${overlayIndex}-sub-hdr`;
7310
7335
  const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
7311
7336
  /**
7312
7337
  * Use both the header and subHeader ids if they are defined.
@@ -7315,9 +7340,9 @@ class Alert {
7315
7340
  * If neither are defined, do not set aria-labelledby.
7316
7341
  */
7317
7342
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
7318
- return (hAsync(Host, Object.assign({ key: 'ad7e14b4f92a09387aa80abfb718a755e4e889d6', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
7343
+ return (hAsync(Host, { key: 'cf4106a77213c7a9ca510a2b9fda47a179c03844', tabindex: "-1", style: {
7319
7344
  zIndex: `${20000 + overlayIndex}`,
7320
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '4b4693dca3c910aa9a61c4d90295d785ec6cbe3d', tappable: this.backdropDismiss }), hAsync("div", { key: '64fd19b8f1d8246dcc869053f858bc33506def4b', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'e61ba6f339c3a02cecd37d8b641ee5043018eb29', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '044e00667ffcb74aa2c5e0d0b42669c4004dbb4f', class: "alert-head" }, header && (hAsync("h2", { key: '1aaae8d58722c4cf5debb1f00415ab7ed0a52bbd', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '9c9854dc3b0ad40f1861a49b76d5636afcae9c74', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '19aaca9912f77cde4ae8079be210eda697ed8de1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'a85d27c516f7cdbc85b19f40d2f0bd865490b6a7', tabindex: "0", "aria-hidden": "true" })));
7345
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '8bd13553c3bc548367a84dba8955940b2a43d782', tappable: this.backdropDismiss }), hAsync("div", { key: '4a89918ab6f0f4eb8be3da4703cffe1469b765c0', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '28fee816801cb7f08d1f0ff7e8f277732cadfd2b', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: 'e0f4a19b352fbea1db65ff28fbb9ebfdd8600583', class: "alert-head" }, header && (hAsync("h2", { key: 'e47f9b036c9179d4cea955d97770fed1e58a2ad3', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '95f90fb025f4e29d5e5d78f787733d2321300787', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: '73488f2d301d1579e4457fcc8d01e8b6f133b849', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '8c6767195aeadf99da422f6e55d5c47b1d64562a', tabindex: "0", "aria-hidden": "true" })));
7321
7346
  }
7322
7347
  get el() { return getElement(this); }
7323
7348
  static get watchers() { return {
@@ -8493,7 +8518,6 @@ class Checkbox {
8493
8518
  this.labelPlacement = 'start';
8494
8519
  this.justify = undefined;
8495
8520
  this.alignment = undefined;
8496
- this.required = false;
8497
8521
  }
8498
8522
  componentWillLoad() {
8499
8523
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -8505,11 +8529,11 @@ class Checkbox {
8505
8529
  }
8506
8530
  }
8507
8531
  render() {
8508
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8532
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
8509
8533
  const mode = getIonMode$1(this);
8510
8534
  const path = getSVGPath(mode, indeterminate);
8511
8535
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8512
- return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8536
+ return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8513
8537
  [mode]: true,
8514
8538
  'in-item': hostContext('ion-item', el),
8515
8539
  'checkbox-checked': checked,
@@ -8519,10 +8543,10 @@ class Checkbox {
8519
8543
  [`checkbox-justify-${justify}`]: justify !== undefined,
8520
8544
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8521
8545
  [`checkbox-label-placement-${labelPlacement}`]: true,
8522
- }), onClick: this.onClick }, hAsync("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
8546
+ }), onClick: this.onClick }, hAsync("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), hAsync("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
8523
8547
  'label-text-wrapper': true,
8524
8548
  'label-text-wrapper-hidden': el.textContent === '',
8525
- }, part: "label" }, hAsync("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), hAsync("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, hAsync("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8549
+ }, part: "label" }, hAsync("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), hAsync("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, hAsync("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8526
8550
  }
8527
8551
  getSVGPath(mode, indeterminate) {
8528
8552
  let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -8549,7 +8573,6 @@ class Checkbox {
8549
8573
  "labelPlacement": [1, "label-placement"],
8550
8574
  "justify": [1],
8551
8575
  "alignment": [1],
8552
- "required": [4],
8553
8576
  "setFocus": [64]
8554
8577
  },
8555
8578
  "$listeners$": undefined,
@@ -15897,11 +15920,11 @@ class ItemDivider {
15897
15920
  }
15898
15921
  render() {
15899
15922
  const mode = getIonMode$1(this);
15900
- return (hAsync(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses$1(this.color, {
15923
+ return (hAsync(Host, { key: '6cff318230a9b2a9db529df154285d3dd9822efe', class: createColorClasses$1(this.color, {
15901
15924
  [mode]: true,
15902
15925
  'item-divider-sticky': this.sticky,
15903
15926
  item: true,
15904
- }) }, hAsync("slot", { key: '6e9d9615f475392a81177bc49b4b01dbdab67925', name: "start" }), hAsync("div", { key: '12fe6b840ad1a1897cc34529e488207b2df448f7', class: "item-divider-inner" }, hAsync("div", { key: '626776a8c9887dd2df5ecf3b7861beb742b41e03', class: "item-divider-wrapper" }, hAsync("slot", { key: '90379dd99914e24ae45c9571c8d390f9b6622fd4' })), hAsync("slot", { key: '105644332c08530155b9cd8e8c6fa9e332072a63', name: "end" }))));
15927
+ }) }, hAsync("slot", { key: 'eb50dfab74ab0fd13697db17ecd60e8fa0bf1750', name: "start" }), hAsync("div", { key: '2806efd89d086f4fb844a479d9c095e1e0775713', class: "item-divider-inner" }, hAsync("div", { key: '77b7d5fa987e5f1c26d8023cd1f974a8a263a3de', class: "item-divider-wrapper" }, hAsync("slot", { key: 'dbafb0deb140a19a2a9748fd5b48760c39c6fd2e' })), hAsync("slot", { key: 'ef9a848fe21e84ef21cd273b8a4d9f95f558175b', name: "end" }))));
15905
15928
  }
15906
15929
  get el() { return getElement(this); }
15907
15930
  static get style() { return {
@@ -15933,7 +15956,7 @@ class ItemGroup {
15933
15956
  }
15934
15957
  render() {
15935
15958
  const mode = getIonMode$1(this);
15936
- return (hAsync(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
15959
+ return (hAsync(Host, { key: 'f9ffe0290d3fa546494fe55f952d8554f2a8abf8', role: "group", class: {
15937
15960
  [mode]: true,
15938
15961
  // Used internally for styling
15939
15962
  [`item-group-${mode}`]: true,
@@ -16001,12 +16024,12 @@ class ItemOption {
16001
16024
  href: this.href,
16002
16025
  target: this.target,
16003
16026
  };
16004
- return (hAsync(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses$1(this.color, {
16027
+ return (hAsync(Host, { key: '89310624997821858c1abde60c0ffb142ca466e0', onClick: this.onClick, class: createColorClasses$1(this.color, {
16005
16028
  [mode]: true,
16006
16029
  'item-option-disabled': disabled,
16007
16030
  'item-option-expandable': expandable,
16008
16031
  'ion-activatable': true,
16009
- }) }, hAsync(TagType, Object.assign({ key: 'd9f899f5425ad6b97071494485aa3ca90bc89d30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'adc2cf72b4363be9b9eeb3584723e2bfc862af20', class: "button-inner" }, hAsync("slot", { key: 'e668fe8e655a74e6a35e979e0cd488506b962dbf', name: "top" }), hAsync("div", { key: '2ddcdb92b6b19c3cc549a7aee2400d1a6eeb51f1', class: "horizontal-wrapper" }, hAsync("slot", { key: '441f13df18b72e5ed6bb51b157722e065b5847d2', name: "start" }), hAsync("slot", { key: '425d815874b49e1628880160d7175ed3ca36ca39', name: "icon-only" }), hAsync("slot", { key: '27437d3fa3365b12bc030704e18481fdfb14aebb' }), hAsync("slot", { key: 'bd39330771c7f85c6df10f7f9050335ee7f14ff0', name: "end" })), hAsync("slot", { key: '440cb6dc7743d50b261d4bf61d2c24e24b89e58c', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '29632941464bbb34551cf64961187643f62bf755' }))));
16032
+ }) }, hAsync(TagType, Object.assign({ key: 'e4dfbb3048eed03a7f7e84c6f75545e0ca9b45fb' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'dffcf437fbdc15f2e7a19e60a015e90c73c8377d', class: "button-inner" }, hAsync("slot", { key: '48a23512e0601e062118d8b2c46c8bb96f25509f', name: "top" }), hAsync("div", { key: '952a9a9aa3a476aa1f4408d7e208bf9e916b8c30', class: "horizontal-wrapper" }, hAsync("slot", { key: 'f8d18a61c1ecec4a22a55443cf72bbc51383b64f', name: "start" }), hAsync("slot", { key: '1f9f219e6f879d2e0bf6d80cf0d3f518eb14ce0e', name: "icon-only" }), hAsync("slot", { key: 'a55adcdbe68131e5b1855c2dd45dd9454ab544fb' }), hAsync("slot", { key: '3c4c85a4fbb7efc797d8bc5adf6d238da022ff9f', name: "end" })), hAsync("slot", { key: '503c7e4b306745c523f57f24399ea06ba9b1e21d', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b0e270b0c4f3ff9f9b6d74bad12a9278d7633226' }))));
16010
16033
  }
16011
16034
  get el() { return getElement(this); }
16012
16035
  static get style() { return {
@@ -16053,7 +16076,7 @@ class ItemOptions {
16053
16076
  render() {
16054
16077
  const mode = getIonMode$1(this);
16055
16078
  const isEnd = isEndSide(this.side);
16056
- return (hAsync(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
16079
+ return (hAsync(Host, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {
16057
16080
  [mode]: true,
16058
16081
  // Used internally for styling
16059
16082
  [`item-options-${mode}`]: true,
@@ -16515,7 +16538,7 @@ class ItemSliding {
16515
16538
  }
16516
16539
  render() {
16517
16540
  const mode = getIonMode$1(this);
16518
- return (hAsync(Host, { key: '22f83febcbc1bc27e4ddbd7fcbe590de60a10e89', class: {
16541
+ return (hAsync(Host, { key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4', class: {
16519
16542
  [mode]: true,
16520
16543
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
16521
16544
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -16624,13 +16647,13 @@ class Label {
16624
16647
  render() {
16625
16648
  const position = this.position;
16626
16649
  const mode = getIonMode$1(this);
16627
- return (hAsync(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses$1(this.color, {
16650
+ return (hAsync(Host, { key: '6353a70565ef6fbbbf4042b000e536c61bcf99a9', class: createColorClasses$1(this.color, {
16628
16651
  [mode]: true,
16629
16652
  'in-item-color': hostContext('ion-item.ion-color', this.el),
16630
16653
  [`label-${position}`]: position !== undefined,
16631
16654
  [`label-no-animate`]: this.noAnimate,
16632
16655
  'label-rtl': document.dir === 'rtl',
16633
- }) }, hAsync("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
16656
+ }) }, hAsync("slot", { key: '6ef9c2758c0168442aa84941af0a6cec1ef1ec21' })));
16634
16657
  }
16635
16658
  get el() { return getElement(this); }
16636
16659
  static get watchers() { return {
@@ -16732,10 +16755,10 @@ class ListHeader {
16732
16755
  render() {
16733
16756
  const { lines } = this;
16734
16757
  const mode = getIonMode$1(this);
16735
- return (hAsync(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses$1(this.color, {
16758
+ return (hAsync(Host, { key: 'fb78bd8601cbd7b90ec84a96e0c8325be1132b1e', class: createColorClasses$1(this.color, {
16736
16759
  [mode]: true,
16737
16760
  [`list-header-lines-${lines}`]: lines !== undefined,
16738
- }) }, hAsync("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, hAsync("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
16761
+ }) }, hAsync("div", { key: '2580ad49f3a54973e15f14d645a1e55a6fa066ac', class: "list-header-inner" }, hAsync("slot", { key: '677b2e2ec8eeb3ae6ad329e86c76451cf3ae6c2f' }))));
16739
16762
  }
16740
16763
  static get style() { return {
16741
16764
  ios: IonListHeaderIosStyle0,
@@ -17004,9 +17027,9 @@ class Loading {
17004
17027
  * Otherwise, don't set aria-labelledby.
17005
17028
  */
17006
17029
  const ariaLabelledBy = message !== undefined ? msgId : null;
17007
- return (hAsync(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
17030
+ return (hAsync(Host, Object.assign({ key: 'd97f536b7f443ea19a2bbf2dcbc7f546b8e0a092', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
17008
17031
  zIndex: `${40000 + this.overlayIndex}`,
17009
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '2431eda00a2a3f510f5dfc39b7c7d47c056dfa3d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'cf210aaf5e754e4eccdb49cf7ead4647b3f9b2d1', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'fa9375143d391656d70e181d25b952c77c2fc6ec', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '8e4a4ed994f7f62df86b03696ac95162df41f52d', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'e5b323c272d365853ba92bd211e390b4fd4751d2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'cae35ec8c34800477bff3ebcec8010e632158233', tabindex: "0", "aria-hidden": "true" })));
17032
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '6cd39bd7912fd080ab59d041644054c96d238ea9', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'c14ca5a9308844f11bcb010257e15208a75b39bc', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '118bceefa8e1cf8b225a858f224e6d919cf03c26', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '490d6e8ae4433835fe273162d7b90deab944fb39', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'c5cf6549c43df4cb23814b3e62ec4d9e7ea2b64f', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '2b888362122d3b66b0492d53b0c21bd6a2a97501', tabindex: "0", "aria-hidden": "true" })));
17010
17033
  }
17011
17034
  get el() { return getElement(this); }
17012
17035
  static get watchers() { return {
@@ -18014,14 +18037,14 @@ class Menu {
18014
18037
  * the ionBackButton listener in the menu controller
18015
18038
  * will handle closing the menu when Escape is pressed.
18016
18039
  */
18017
- return (hAsync(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18040
+ return (hAsync(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18018
18041
  [mode]: true,
18019
18042
  [`menu-type-${type}`]: true,
18020
18043
  'menu-enabled': !disabled,
18021
18044
  [`menu-side-${side}`]: true,
18022
18045
  'menu-pane-visible': isPaneVisible,
18023
18046
  'split-pane-side': hostContext('ion-split-pane', el),
18024
- } }, hAsync("div", { key: '3c9bec2862b7fb9d88de66b1600be01f6735e3dd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '76283b4b2a65c78646f92c3b273eea021eda499c' })), hAsync("ion-backdrop", { key: '121c395bc4873542a1b6ae2c9e23f2e881e75d93', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18047
+ } }, hAsync("div", { key: '894e680fe227534711128c7aca980964ddb5a08a', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'e9f5934518dc0cceaeadf1f2820614595fec6bc9' })), hAsync("ion-backdrop", { key: '7282077817657b1bb6c155f1404c0a519fece993', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18025
18048
  }
18026
18049
  get el() { return getElement(this); }
18027
18050
  static get watchers() { return {
@@ -18124,7 +18147,7 @@ class MenuButton {
18124
18147
  type: this.type,
18125
18148
  };
18126
18149
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
18127
- return (hAsync(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
18150
+ return (hAsync(Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
18128
18151
  [mode]: true,
18129
18152
  button: true, // ion-buttons target .button
18130
18153
  'menu-button-hidden': hidden,
@@ -18133,7 +18156,7 @@ class MenuButton {
18133
18156
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
18134
18157
  'ion-activatable': true,
18135
18158
  'ion-focusable': true,
18136
- }) }, hAsync("button", Object.assign({ key: 'a02a3374288bd1759b6e352ada8eab0d45c6422f' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'ba699f2277a4e7b27ce5e42faeefc53d8805bb43', class: "button-inner" }, hAsync("slot", { key: '829fe6cbdeb173f50d1a670389d1565baa6273e4' }, hAsync("ion-icon", { key: 'a9a9f7b8dcffc648a8429fe0adbe766869de72fd', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '48deca9a771a249f2fc76eaa8b9741c8d66d8355', type: "unbounded" }))));
18159
+ }) }, hAsync("button", Object.assign({ key: 'd4c5929264af3ba0328118bcc27d2ab7ef5d3809' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '7bfa6e9a93105486623d044861e879ec79ff64f1', class: "button-inner" }, hAsync("slot", { key: '071ab58e285832fc188706166f5547d45d501ac5' }, hAsync("ion-icon", { key: '918ec5d791921de9821c347af4f65f97dd94aabf', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '00ffdd53f635e706c1dbd01b8e7944498650fe81', type: "unbounded" }))));
18137
18160
  }
18138
18161
  get el() { return getElement(this); }
18139
18162
  static get style() { return {
@@ -18182,10 +18205,10 @@ class MenuToggle {
18182
18205
  render() {
18183
18206
  const mode = getIonMode$1(this);
18184
18207
  const hidden = this.autoHide && !this.visible;
18185
- return (hAsync(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
18208
+ return (hAsync(Host, { key: '7c27ea5b0795676bf5cb33e1f83aa142c197f64e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
18186
18209
  [mode]: true,
18187
18210
  'menu-toggle-hidden': hidden,
18188
- } }, hAsync("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
18211
+ } }, hAsync("slot", { key: '69f187becedc0fe34603d41d279f043cf0fdf776' })));
18189
18212
  }
18190
18213
  static get style() { return IonMenuToggleStyle0; }
18191
18214
  static get cmpMeta() { return {
@@ -19025,7 +19048,7 @@ const computeDuration = (remaining, velocity) => {
19025
19048
  };
19026
19049
 
19027
19050
  const createSheetEnterAnimation = (opts) => {
19028
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
19051
+ const { currentBreakpoint, backdropBreakpoint } = opts;
19029
19052
  /**
19030
19053
  * If the backdropBreakpoint is undefined, then the backdrop
19031
19054
  * should always fade in. If the backdropBreakpoint came before the
@@ -19045,16 +19068,7 @@ const createSheetEnterAnimation = (opts) => {
19045
19068
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
19046
19069
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
19047
19070
  ]);
19048
- /**
19049
- * This allows the content to be scrollable at any breakpoint.
19050
- */
19051
- const contentAnimation = !expandToScroll
19052
- ? createAnimation('contentAnimation').keyframes([
19053
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
19054
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
19055
- ])
19056
- : undefined;
19057
- return { wrapperAnimation, backdropAnimation, contentAnimation };
19071
+ return { wrapperAnimation, backdropAnimation };
19058
19072
  };
19059
19073
  const createSheetLeaveAnimation = (opts) => {
19060
19074
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -19089,68 +19103,22 @@ const createEnterAnimation$1 = () => {
19089
19103
  })
19090
19104
  .afterClearStyles(['pointer-events']);
19091
19105
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
19092
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19106
+ return { backdropAnimation, wrapperAnimation };
19093
19107
  };
19094
19108
  /**
19095
19109
  * iOS Modal Enter Animation for the Card presentation style
19096
19110
  */
19097
19111
  const iosEnterAnimation$3 = (baseEl, opts) => {
19098
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19112
+ const { presentingEl, currentBreakpoint } = opts;
19099
19113
  const root = getElementRoot(baseEl);
19100
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19114
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19101
19115
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19102
19116
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
19103
- // The content animation is only added if scrolling is enabled for
19104
- // all the breakpoints.
19105
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19106
19117
  const baseAnimation = createAnimation('entering-base')
19107
19118
  .addElement(baseEl)
19108
19119
  .easing('cubic-bezier(0.32,0.72,0,1)')
19109
19120
  .duration(500)
19110
- .addAnimation([wrapperAnimation])
19111
- .beforeAddWrite(() => {
19112
- if (expandToScroll) {
19113
- // Scroll can only be done when the modal is fully expanded.
19114
- return;
19115
- }
19116
- /**
19117
- * There are some browsers that causes flickering when
19118
- * dragging the content when scroll is enabled at every
19119
- * breakpoint. This is due to the wrapper element being
19120
- * transformed off the screen and having a snap animation.
19121
- *
19122
- * A workaround is to clone the footer element and append
19123
- * it outside of the wrapper element. This way, the footer
19124
- * is still visible and the drag can be done without
19125
- * flickering. The original footer is hidden until the modal
19126
- * is dismissed. This maintains the animation of the footer
19127
- * when the modal is dismissed.
19128
- *
19129
- * The workaround needs to be done before the animation starts
19130
- * so there are no flickering issues.
19131
- */
19132
- const ionFooter = baseEl.querySelector('ion-footer');
19133
- /**
19134
- * This check is needed to prevent more than one footer
19135
- * from being appended to the shadow root.
19136
- * Otherwise, iOS and MD enter animations would append
19137
- * the footer twice.
19138
- */
19139
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19140
- if (ionFooter && !ionFooterAlreadyAppended) {
19141
- const footerHeight = ionFooter.clientHeight;
19142
- const clonedFooter = ionFooter.cloneNode(true);
19143
- baseEl.shadowRoot.appendChild(clonedFooter);
19144
- ionFooter.style.setProperty('display', 'none');
19145
- ionFooter.setAttribute('aria-hidden', 'true');
19146
- // Padding is added to prevent some content from being hidden.
19147
- const page = baseEl.querySelector('.ion-page');
19148
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19149
- }
19150
- });
19151
- if (contentAnimation) {
19152
- baseAnimation.addAnimation(contentAnimation);
19153
- }
19121
+ .addAnimation(wrapperAnimation);
19154
19122
  if (presentingEl) {
19155
19123
  const isMobile = window.innerWidth < 768;
19156
19124
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19228,7 +19196,7 @@ const createLeaveAnimation$1 = () => {
19228
19196
  * iOS Modal Leave Animation
19229
19197
  */
19230
19198
  const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19231
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19199
+ const { presentingEl, currentBreakpoint } = opts;
19232
19200
  const root = getElementRoot(baseEl);
19233
19201
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
19234
19202
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -19237,29 +19205,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19237
19205
  .addElement(baseEl)
19238
19206
  .easing('cubic-bezier(0.32,0.72,0,1)')
19239
19207
  .duration(duration)
19240
- .addAnimation(wrapperAnimation)
19241
- .beforeAddWrite(() => {
19242
- if (expandToScroll) {
19243
- // Scroll can only be done when the modal is fully expanded.
19244
- return;
19245
- }
19246
- /**
19247
- * If expandToScroll is disabled, we need to swap
19248
- * the visibility to the original, so the footer
19249
- * dismisses with the modal and doesn't stay
19250
- * until the modal is removed from the DOM.
19251
- */
19252
- const ionFooter = baseEl.querySelector('ion-footer');
19253
- if (ionFooter) {
19254
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19255
- ionFooter.style.removeProperty('display');
19256
- ionFooter.removeAttribute('aria-hidden');
19257
- clonedFooter.style.setProperty('display', 'none');
19258
- clonedFooter.setAttribute('aria-hidden', 'true');
19259
- const page = baseEl.querySelector('.ion-page');
19260
- page.style.removeProperty('padding-bottom');
19261
- }
19262
- });
19208
+ .addAnimation(wrapperAnimation);
19263
19209
  if (presentingEl) {
19264
19210
  const isMobile = window.innerWidth < 768;
19265
19211
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19337,69 +19283,22 @@ const createEnterAnimation = () => {
19337
19283
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
19338
19284
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
19339
19285
  ]);
19340
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19286
+ return { backdropAnimation, wrapperAnimation };
19341
19287
  };
19342
19288
  /**
19343
19289
  * Md Modal Enter Animation
19344
19290
  */
19345
19291
  const mdEnterAnimation$2 = (baseEl, opts) => {
19346
- const { currentBreakpoint, expandToScroll } = opts;
19292
+ const { currentBreakpoint } = opts;
19347
19293
  const root = getElementRoot(baseEl);
19348
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19294
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19349
19295
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19350
19296
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19351
- // The content animation is only added if scrolling is enabled for
19352
- // all the breakpoints.
19353
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19354
- const baseAnimation = createAnimation()
19297
+ return createAnimation()
19355
19298
  .addElement(baseEl)
19356
19299
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
19357
19300
  .duration(280)
19358
- .addAnimation([backdropAnimation, wrapperAnimation])
19359
- .beforeAddWrite(() => {
19360
- if (expandToScroll) {
19361
- // Scroll can only be done when the modal is fully expanded.
19362
- return;
19363
- }
19364
- /**
19365
- * There are some browsers that causes flickering when
19366
- * dragging the content when scroll is enabled at every
19367
- * breakpoint. This is due to the wrapper element being
19368
- * transformed off the screen and having a snap animation.
19369
- *
19370
- * A workaround is to clone the footer element and append
19371
- * it outside of the wrapper element. This way, the footer
19372
- * is still visible and the drag can be done without
19373
- * flickering. The original footer is hidden until the modal
19374
- * is dismissed. This maintains the animation of the footer
19375
- * when the modal is dismissed.
19376
- *
19377
- * The workaround needs to be done before the animation starts
19378
- * so there are no flickering issues.
19379
- */
19380
- const ionFooter = baseEl.querySelector('ion-footer');
19381
- /**
19382
- * This check is needed to prevent more than one footer
19383
- * from being appended to the shadow root.
19384
- * Otherwise, iOS and MD enter animations would append
19385
- * the footer twice.
19386
- */
19387
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19388
- if (ionFooter && !ionFooterAlreadyAppended) {
19389
- const footerHeight = ionFooter.clientHeight;
19390
- const clonedFooter = ionFooter.cloneNode(true);
19391
- baseEl.shadowRoot.appendChild(clonedFooter);
19392
- ionFooter.style.setProperty('display', 'none');
19393
- ionFooter.setAttribute('aria-hidden', 'true');
19394
- // Padding is added to prevent some content from being hidden.
19395
- const page = baseEl.querySelector('.ion-page');
19396
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19397
- }
19398
- });
19399
- if (contentAnimation) {
19400
- baseAnimation.addAnimation(contentAnimation);
19401
- }
19402
- return baseAnimation;
19301
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19403
19302
  };
19404
19303
 
19405
19304
  const createLeaveAnimation = () => {
@@ -19414,41 +19313,18 @@ const createLeaveAnimation = () => {
19414
19313
  * Md Modal Leave Animation
19415
19314
  */
19416
19315
  const mdLeaveAnimation$2 = (baseEl, opts) => {
19417
- const { currentBreakpoint, expandToScroll } = opts;
19316
+ const { currentBreakpoint } = opts;
19418
19317
  const root = getElementRoot(baseEl);
19419
19318
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
19420
19319
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19421
19320
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19422
- const baseAnimation = createAnimation()
19321
+ return createAnimation()
19423
19322
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
19424
19323
  .duration(200)
19425
- .addAnimation([backdropAnimation, wrapperAnimation])
19426
- .beforeAddWrite(() => {
19427
- if (expandToScroll) {
19428
- // Scroll can only be done when the modal is fully expanded.
19429
- return;
19430
- }
19431
- /**
19432
- * If expandToScroll is disabled, we need to swap
19433
- * the visibility to the original, so the footer
19434
- * dismisses with the modal and doesn't stay
19435
- * until the modal is removed from the DOM.
19436
- */
19437
- const ionFooter = baseEl.querySelector('ion-footer');
19438
- if (ionFooter) {
19439
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19440
- ionFooter.style.removeProperty('display');
19441
- ionFooter.removeAttribute('aria-hidden');
19442
- clonedFooter.style.setProperty('display', 'none');
19443
- clonedFooter.setAttribute('aria-hidden', 'true');
19444
- const page = baseEl.querySelector('.ion-page');
19445
- page.style.removeProperty('padding-bottom');
19446
- }
19447
- });
19448
- return baseAnimation;
19324
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19449
19325
  };
19450
19326
 
19451
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19327
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19452
19328
  // Defaults for the sheet swipe animation
19453
19329
  const defaultBackdrop = [
19454
19330
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -19465,10 +19341,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19465
19341
  { offset: 1, transform: 'translateY(100%)' },
19466
19342
  ],
19467
19343
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
19468
- CONTENT_KEYFRAMES: [
19469
- { offset: 0, maxHeight: '100%' },
19470
- { offset: 1, maxHeight: '0%' },
19471
- ],
19472
19344
  };
19473
19345
  const contentEl = baseEl.querySelector('ion-content');
19474
19346
  const height = wrapperEl.clientHeight;
@@ -19476,11 +19348,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19476
19348
  let offset = 0;
19477
19349
  let canDismissBlocksGesture = false;
19478
19350
  const canDismissMaxStep = 0.95;
19479
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
19480
- const minBreakpoint = breakpoints[0];
19481
19351
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
19482
19352
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
19483
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
19353
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
19354
+ const minBreakpoint = breakpoints[0];
19484
19355
  const enableBackdrop = () => {
19485
19356
  baseEl.style.setProperty('pointer-events', 'auto');
19486
19357
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -19503,31 +19374,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19503
19374
  */
19504
19375
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
19505
19376
  };
19506
- /**
19507
- * Toggles the visible modal footer when `expandToScroll` is disabled.
19508
- * @param footer The footer to show.
19509
- */
19510
- const swapFooterVisibility = (footer) => {
19511
- const originalFooter = baseEl.querySelector('ion-footer');
19512
- if (!originalFooter) {
19513
- return;
19514
- }
19515
- const clonedFooter = wrapperEl.nextElementSibling;
19516
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
19517
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
19518
- footerToShow.style.removeProperty('display');
19519
- footerToShow.removeAttribute('aria-hidden');
19520
- const page = baseEl.querySelector('.ion-page');
19521
- if (footer === 'original') {
19522
- page.style.removeProperty('padding-bottom');
19523
- }
19524
- else {
19525
- const pagePadding = footerToShow.clientHeight;
19526
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
19527
- }
19528
- footerToHide.style.setProperty('display', 'none');
19529
- footerToHide.setAttribute('aria-hidden', 'true');
19530
- };
19531
19377
  /**
19532
19378
  * After the entering animation completes,
19533
19379
  * we need to set the animation to go from
@@ -19539,7 +19385,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19539
19385
  if (wrapperAnimation && backdropAnimation) {
19540
19386
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19541
19387
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19542
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19543
19388
  animation.progressStart(true, 1 - currentBreakpoint);
19544
19389
  /**
19545
19390
  * If backdrop is not enabled, then content
@@ -19556,7 +19401,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19556
19401
  disableBackdrop();
19557
19402
  }
19558
19403
  }
19559
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
19404
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
19560
19405
  contentEl.scrollY = false;
19561
19406
  }
19562
19407
  const canStart = (detail) => {
@@ -19570,13 +19415,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19570
19415
  */
19571
19416
  const contentEl = findClosestIonContent(detail.event.target);
19572
19417
  currentBreakpoint = getCurrentBreakpoint();
19573
- /**
19574
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
19575
- * if the content is being swiped.
19576
- */
19577
- if (!expandToScroll && contentEl) {
19578
- return false;
19579
- }
19580
19418
  if (currentBreakpoint === 1 && contentEl) {
19581
19419
  /**
19582
19420
  * The modal should never swipe to close on the content with a refresher.
@@ -19607,15 +19445,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19607
19445
  * Remove undefined check
19608
19446
  */
19609
19447
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19610
- /**
19611
- * If expandToScroll is disabled, we need to swap
19612
- * the footer visibility to the original, so if the modal
19613
- * is dismissed, the footer dismisses with the modal
19614
- * and doesn't stay on the screen after the modal is gone.
19615
- */
19616
- if (!expandToScroll) {
19617
- swapFooterVisibility('original');
19618
- }
19619
19448
  /**
19620
19449
  * If we are pulling down, then it is possible we are pulling on the content.
19621
19450
  * We do not want scrolling to happen at the same time as the gesture.
@@ -19731,19 +19560,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19731
19560
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
19732
19561
  },
19733
19562
  ]);
19734
- if (contentAnimation) {
19735
- /**
19736
- * The modal content should scroll at any breakpoint when expandToScroll
19737
- * is disabled. In order to do this, the content needs to be completely
19738
- * viewable so scrolling can access everything. Otherwise, the default
19739
- * behavior would show the content off the screen and only allow
19740
- * scrolling when the sheet is fully expanded.
19741
- */
19742
- contentAnimation.keyframes([
19743
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
19744
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
19745
- ]);
19746
- }
19747
19563
  animation.progressStep(0);
19748
19564
  }
19749
19565
  /**
@@ -19751,14 +19567,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19751
19567
  * snapping animation completes.
19752
19568
  */
19753
19569
  gesture.enable(false);
19754
- /**
19755
- * If expandToScroll is disabled, we need to swap
19756
- * the footer visibility to the cloned one so the footer
19757
- * doesn't flicker when the sheet's height is animated.
19758
- */
19759
- if (!expandToScroll && shouldRemainOpen) {
19760
- swapFooterVisibility('cloned');
19761
- }
19762
19570
  if (shouldPreventDismiss) {
19763
19571
  handleCanDismiss(baseEl, animation);
19764
19572
  }
@@ -19766,13 +19574,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19766
19574
  onDismiss();
19767
19575
  }
19768
19576
  /**
19769
- * Enables scrolling immediately if the sheet is about to fully expand
19770
- * or if it allows scrolling at any breakpoint. Without this, there would
19771
- * be a ~500ms delay while the modal animation completes, causing a
19772
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
19773
- * released, so we align with that behavior.
19577
+ * If the sheet is going to be fully expanded then we should enable
19578
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
19579
+ * so if we wait until then there is a visible delay for when scrolling is
19580
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
19581
+ * as the gesture is released, so we align with that.
19774
19582
  */
19775
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
19583
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
19776
19584
  contentEl.scrollY = true;
19777
19585
  }
19778
19586
  return new Promise((resolve) => {
@@ -19790,7 +19598,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19790
19598
  raf(() => {
19791
19599
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19792
19600
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19793
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19794
19601
  animation.progressStart(true, 1 - snapToBreakpoint);
19795
19602
  currentBreakpoint = snapToBreakpoint;
19796
19603
  onBreakpointChange(currentBreakpoint);
@@ -19843,10 +19650,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19843
19650
  };
19844
19651
  };
19845
19652
 
19846
- const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer ion-toolbar:first-of-type{padding-top:6px}";
19653
+ const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
19847
19654
  var IonModalIosStyle0 = modalIosCss;
19848
19655
 
19849
- const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
19656
+ const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
19850
19657
  var IonModalMdStyle0 = modalMdCss;
19851
19658
 
19852
19659
  // TODO(FW-2832): types
@@ -19925,7 +19732,6 @@ class Modal {
19925
19732
  this.enterAnimation = undefined;
19926
19733
  this.leaveAnimation = undefined;
19927
19734
  this.breakpoints = undefined;
19928
- this.expandToScroll = true;
19929
19735
  this.initialBreakpoint = undefined;
19930
19736
  this.backdropBreakpoint = 0;
19931
19737
  this.handle = undefined;
@@ -20141,7 +19947,6 @@ class Modal {
20141
19947
  presentingEl: presentingElement,
20142
19948
  currentBreakpoint: this.initialBreakpoint,
20143
19949
  backdropBreakpoint: this.backdropBreakpoint,
20144
- expandToScroll: this.expandToScroll,
20145
19950
  });
20146
19951
  /* tslint:disable-next-line */
20147
19952
  if (typeof window !== 'undefined') {
@@ -20192,10 +19997,7 @@ class Modal {
20192
19997
  // should be in the DOM and referenced by now, except
20193
19998
  // for the presenting el
20194
19999
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
20195
- const ani = (this.animation = animationBuilder(el, {
20196
- presentingEl: this.presentingElement,
20197
- expandToScroll: this.expandToScroll,
20198
- }));
20000
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
20199
20001
  const contentEl = findIonContent(el);
20200
20002
  if (!contentEl) {
20201
20003
  printIonContentErrorMsg(el);
@@ -20240,10 +20042,9 @@ class Modal {
20240
20042
  presentingEl: this.presentingElement,
20241
20043
  currentBreakpoint: initialBreakpoint,
20242
20044
  backdropBreakpoint,
20243
- expandToScroll: this.expandToScroll,
20244
20045
  }));
20245
20046
  ani.progressStart(true, 1);
20246
- const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, this.expandToScroll, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
20047
+ const { gesture, moveSheetToBreakpoint } = createSheetGesture(this.el, this.backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, ani, this.sortedBreakpoints, () => { var _a; return (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : 0; }, () => this.sheetOnDismiss(), (breakpoint) => {
20247
20048
  if (this.currentBreakpoint !== breakpoint) {
20248
20049
  this.currentBreakpoint = breakpoint;
20249
20050
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -20321,7 +20122,6 @@ class Modal {
20321
20122
  presentingEl: presentingElement,
20322
20123
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
20323
20124
  backdropBreakpoint: this.backdropBreakpoint,
20324
- expandToScroll: this.expandToScroll,
20325
20125
  });
20326
20126
  if (dismissed) {
20327
20127
  const { delegate } = this.getDelegate();
@@ -20407,23 +20207,23 @@ class Modal {
20407
20207
  return true;
20408
20208
  }
20409
20209
  render() {
20410
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
20210
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
20411
20211
  const showHandle = handle !== false && isSheetModal;
20412
20212
  const mode = getIonMode$1(this);
20413
20213
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20414
20214
  const isHandleCycle = handleBehavior === 'cycle';
20415
- return (hAsync(Host, Object.assign({ key: '8b74b6fa151995ab86cdeb989e338ee45c687f6d', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20215
+ return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20416
20216
  zIndex: `${20000 + this.overlayIndex}`,
20417
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '1b264a356f792492fe5ece24928b701152be3d7f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '14590998fd2e87ebfb08c06bec795d122165ae09', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '73e4d6c4eb342d48dfcb7bfbfae7c020931aa36f',
20217
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'c12dbf747e0eb914eaf1331798548ffc7e147763', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'da546ee80c6576b5acc66e959fd5009e0b9a8160', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '306ebe6427440ad5f7ed36d590e562d15a503b75',
20418
20218
  /*
20419
20219
  role and aria-modal must be used on the
20420
20220
  same element. They must also be set inside the
20421
20221
  shadow DOM otherwise ion-button will not be highlighted
20422
20222
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20423
20223
  */
20424
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '52c4949baf5b7c0639a9a58f06cd4e0cad662b23', class: "modal-handle",
20224
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'c5d17e346fe255a7c0cacbbf15c0083f2d09c488', class: "modal-handle",
20425
20225
  // Prevents the handle from receiving keyboard focus when it does not cycle
20426
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '0620b3f2e7cfef42f6c602211c4cdcaf4e646546' }))));
20226
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '5cc714170a00b67f3eda0cd1d6f37c1489a99c83' }))));
20427
20227
  }
20428
20228
  get el() { return getElement(this); }
20429
20229
  static get watchers() { return {
@@ -20445,7 +20245,6 @@ class Modal {
20445
20245
  "enterAnimation": [16],
20446
20246
  "leaveAnimation": [16],
20447
20247
  "breakpoints": [16],
20448
- "expandToScroll": [4, "expand-to-scroll"],
20449
20248
  "initialBreakpoint": [2, "initial-breakpoint"],
20450
20249
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
20451
20250
  "handle": [4],
@@ -21373,7 +21172,7 @@ class Nav {
21373
21172
  }
21374
21173
  }
21375
21174
  render() {
21376
- return hAsync("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
21175
+ return hAsync("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
21377
21176
  }
21378
21177
  get el() { return getElement(this); }
21379
21178
  static get watchers() { return {
@@ -21446,7 +21245,7 @@ class NavLink {
21446
21245
  this.routerAnimation = undefined;
21447
21246
  }
21448
21247
  render() {
21449
- return hAsync(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
21248
+ return hAsync(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
21450
21249
  }
21451
21250
  get el() { return getElement(this); }
21452
21251
  static get cmpMeta() { return {
@@ -21480,9 +21279,9 @@ class Note {
21480
21279
  }
21481
21280
  render() {
21482
21281
  const mode = getIonMode$1(this);
21483
- return (hAsync(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses$1(this.color, {
21282
+ return (hAsync(Host, { key: '10a3495bc21166176986441479f8f7539029d161', class: createColorClasses$1(this.color, {
21484
21283
  [mode]: true,
21485
- }) }, hAsync("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
21284
+ }) }, hAsync("slot", { key: 'b6a9459e1b85f608fafd060a4bfeb11637ebe873' })));
21486
21285
  }
21487
21286
  static get style() { return {
21488
21287
  ios: IonNoteIosStyle0,
@@ -22247,11 +22046,11 @@ class Picker {
22247
22046
  render() {
22248
22047
  const { htmlAttributes } = this;
22249
22048
  const mode = getIonMode$1(this);
22250
- return (hAsync(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22049
+ return (hAsync(Host, Object.assign({ key: '0712fa8732141848e50ad2e08e2ba66ef2a48991', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22251
22050
  zIndex: `${20000 + this.overlayIndex}`,
22252
22051
  }, class: Object.assign({ [mode]: true,
22253
22052
  // Used internally for styling
22254
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'bdabe9c82c41f96da5dafb1a0aa0854fa7e7ec93', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '1380e0c8989153b425674753764f12f253f4a738', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'edec769bbc0993d003852d0bf1123e6e2332ebbe', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: 'b82c67ff47aa9412a6ff8f3b2e6230b855e92c51', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '76485b643387f36b6b3d5f85e4d072fa18e68552', class: "picker-columns" }, hAsync("div", { key: '99268217263feb5285db1b1acd48fd0e4d5f0e7b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '2dd7e488bc4e9695094f0758567e626e0bb5979d', class: "picker-below-highlight" }))), hAsync("div", { key: '8b2f3ae798a4ddcdd4e2716ebba1de797e446ac4', tabindex: "0", "aria-hidden": "true" })));
22053
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'c997632ef0488698739664012de5a6494de438b6', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '20045054a76cca997b410835fa6b305af22dcb12', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a73a6ac20b685ed9694d4fa95ea236ce5d63fdbf', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '1221cdcc2ff013deeba12170129c8fe78308330c', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '45038a58430a4251100797b902e7034243137564', class: "picker-columns" }, hAsync("div", { key: 'c579bb69cddd4090912855ffd7f59536280f34b9', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '978c6632d82a97d053b729c9de65dd3af4c4cee2', class: "picker-below-highlight" }))), hAsync("div", { key: 'e7e9dc437a3cf6d559e2cb0df71af69047a2ae31', tabindex: "0", "aria-hidden": "true" })));
22255
22054
  }
22256
22055
  get el() { return getElement(this); }
22257
22056
  static get watchers() { return {
@@ -23226,9 +23025,9 @@ class PickerColumnCmp {
23226
23025
  render() {
23227
23026
  const col = this.col;
23228
23027
  const mode = getIonMode$1(this);
23229
- return (hAsync(Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
23028
+ return (hAsync(Host, { key: 'c015eb8bc01b3287cbd1d71af0aa311b6be89d36', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
23230
23029
  'max-width': this.col.columnWidth,
23231
- } }, col.prefix && (hAsync("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
23030
+ } }, col.prefix && (hAsync("div", { key: 'f9de3fe2f5c7ad3256d6e5f44b6d03a2b1f96ffb', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '10f9c12aa174f96c7cf9adc30efbb26695c0aa64', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '1d9c0892ce56e0da9044c79eb953827166f5190b', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
23232
23031
  }
23233
23032
  get el() { return getElement(this); }
23234
23033
  static get watchers() { return {
@@ -23332,10 +23131,10 @@ class PickerColumnOption {
23332
23131
  render() {
23333
23132
  const { color, disabled, ariaLabel } = this;
23334
23133
  const mode = getIonMode$1(this);
23335
- return (hAsync(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses$1(color, {
23134
+ return (hAsync(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses$1(color, {
23336
23135
  [mode]: true,
23337
23136
  ['option-disabled']: disabled,
23338
- }) }, hAsync("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
23137
+ }) }, hAsync("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
23339
23138
  }
23340
23139
  get el() { return getElement(this); }
23341
23140
  static get watchers() { return {
@@ -24649,9 +24448,9 @@ class Popover {
24649
24448
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
24650
24449
  const desktop = isPlatform('desktop');
24651
24450
  const enableArrow = arrow && !parentPopover;
24652
- return (hAsync(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24451
+ return (hAsync(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24653
24452
  zIndex: `${20000 + this.overlayIndex}`,
24654
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, hAsync("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
24453
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '12b3ffa3928b4d56a4f09c3d2f5d493d47b45255', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '2c2862d5c7e75b637973c712b4982bf4978c0cdf', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '0cfacc52afaa7abc28c1b7742889d7a1c23a37ad', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '3ef570c44d4fe7f063dd419008c92c8c40d3cd22', class: "popover-content", part: "content" }, hAsync("slot", { key: '6fc5dfdce20fee1642bc1f05d41b5bf7d1034457' })))));
24655
24454
  }
24656
24455
  get el() { return getElement(this); }
24657
24456
  static get watchers() { return {
@@ -24743,7 +24542,7 @@ class ProgressBar {
24743
24542
  const mode = getIonMode$1(this);
24744
24543
  // If the progress is displayed as a solid bar.
24745
24544
  const progressSolid = buffer === 1;
24746
- return (hAsync(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
24545
+ return (hAsync(Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
24747
24546
  [mode]: true,
24748
24547
  [`progress-bar-${type}`]: true,
24749
24548
  'progress-paused': paused,
@@ -24913,7 +24712,7 @@ class Radio {
24913
24712
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
24914
24713
  const mode = getIonMode$1(this);
24915
24714
  const inItem = hostContext('ion-item', el);
24916
- return (hAsync(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
24715
+ return (hAsync(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
24917
24716
  [mode]: true,
24918
24717
  'in-item': inItem,
24919
24718
  'radio-checked': checked,
@@ -24924,10 +24723,10 @@ class Radio {
24924
24723
  // Focus and active styling should not apply when the radio is in an item
24925
24724
  'ion-activatable': !inItem,
24926
24725
  'ion-focusable': !inItem,
24927
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, hAsync("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
24726
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: 'f5673a798e6d87868339f046445f707e1d93b7b6', class: "radio-wrapper" }, hAsync("div", { key: 'e9190c06f75a171cab63e3f74ccf771c3ed87005', class: {
24928
24727
  'label-text-wrapper': true,
24929
24728
  'label-text-wrapper-hidden': !hasLabel,
24930
- }, part: "label" }, hAsync("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), hAsync("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
24729
+ }, part: "label" }, hAsync("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), hAsync("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
24931
24730
  }
24932
24731
  get el() { return getElement(this); }
24933
24732
  static get watchers() { return {
@@ -24960,20 +24759,12 @@ class Radio {
24960
24759
  }
24961
24760
  let radioButtonIds = 0;
24962
24761
 
24963
- const radioGroupIosCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
24964
- var IonRadioGroupIosStyle0 = radioGroupIosCss;
24965
-
24966
- const radioGroupMdCss = "ion-radio-group{vertical-align:top}.radio-group-wrapper{display:inline}.radio-group-top{line-height:1.5}.radio-group-top .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.radio-group-top .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid .radio-group-top .error-text{display:block}.ion-touched.ion-invalid .radio-group-top .helper-text{display:none}ion-list .radio-group-top{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}";
24967
- var IonRadioGroupMdStyle0 = radioGroupMdCss;
24968
-
24969
24762
  class RadioGroup {
24970
24763
  constructor(hostRef) {
24971
24764
  registerInstance(this, hostRef);
24972
24765
  this.ionChange = createEvent(this, "ionChange", 7);
24973
24766
  this.ionValueChange = createEvent(this, "ionValueChange", 7);
24974
24767
  this.inputId = `ion-rg-${radioGroupIds++}`;
24975
- this.helperTextId = `${this.inputId}-helper-text`;
24976
- this.errorTextId = `${this.inputId}-error-text`;
24977
24768
  this.labelId = `${this.inputId}-lbl`;
24978
24769
  this.setRadioTabindex = (value) => {
24979
24770
  const radios = this.getRadios();
@@ -25025,8 +24816,6 @@ class RadioGroup {
25025
24816
  this.compareWith = undefined;
25026
24817
  this.name = this.inputId;
25027
24818
  this.value = undefined;
25028
- this.helperText = undefined;
25029
- this.errorText = undefined;
25030
24819
  }
25031
24820
  valueChanged(value) {
25032
24821
  this.setRadioTabindex(value);
@@ -25125,51 +24914,24 @@ class RadioGroup {
25125
24914
  const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
25126
24915
  radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
25127
24916
  }
25128
- /**
25129
- * Renders the helper text or error text values
25130
- */
25131
- renderHintText() {
25132
- const { helperText, errorText, helperTextId, errorTextId } = this;
25133
- const hasHintText = !!helperText || !!errorText;
25134
- if (!hasHintText) {
25135
- return;
25136
- }
25137
- return (hAsync("div", { class: "radio-group-top" }, hAsync("div", { id: helperTextId, class: "helper-text" }, helperText), hAsync("div", { id: errorTextId, class: "error-text" }, errorText)));
25138
- }
25139
- getHintTextID() {
25140
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
25141
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
25142
- return errorTextId;
25143
- }
25144
- if (helperText) {
25145
- return helperTextId;
25146
- }
25147
- return undefined;
25148
- }
25149
24917
  render() {
25150
24918
  const { label, labelId, el, name, value } = this;
25151
24919
  const mode = getIonMode$1(this);
25152
24920
  renderHiddenInput(true, el, name, value, false);
25153
- return (hAsync(Host, { key: 'cac92777297029d7fd1b6af264d92850e35dfbba', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '3e7ec0fc7b90d635b84201e006eb5622df2ed191', class: "radio-group-wrapper" }, hAsync("slot", { key: '6b3aaa635597017f961fa895973a0ee174944dcf' }))));
24921
+ return hAsync(Host, { key: 'a853e38901f0f4ba17bbf21ebb5da5b5c20b327e', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
25154
24922
  }
25155
24923
  get el() { return getElement(this); }
25156
24924
  static get watchers() { return {
25157
24925
  "value": ["valueChanged"]
25158
24926
  }; }
25159
- static get style() { return {
25160
- ios: IonRadioGroupIosStyle0,
25161
- md: IonRadioGroupMdStyle0
25162
- }; }
25163
24927
  static get cmpMeta() { return {
25164
- "$flags$": 36,
24928
+ "$flags$": 0,
25165
24929
  "$tagName$": "ion-radio-group",
25166
24930
  "$members$": {
25167
24931
  "allowEmptySelection": [4, "allow-empty-selection"],
25168
24932
  "compareWith": [1, "compare-with"],
25169
24933
  "name": [1],
25170
24934
  "value": [1032],
25171
- "helperText": [1, "helper-text"],
25172
- "errorText": [1, "error-text"],
25173
24935
  "setFocus": [64]
25174
24936
  },
25175
24937
  "$listeners$": [[4, "keydown", "onKeydown"]],
@@ -25789,7 +25551,7 @@ class Range {
25789
25551
  const needsEndAdjustment = inItem && !hasEndContent;
25790
25552
  const mode = getIonMode$1(this);
25791
25553
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25792
- return (hAsync(Host, { key: 'efb8663a61f36a9db4ef69ece3a22e1424acbc28', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25554
+ return (hAsync(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25793
25555
  [mode]: true,
25794
25556
  'in-item': inItem,
25795
25557
  'range-disabled': disabled,
@@ -25798,10 +25560,10 @@ class Range {
25798
25560
  [`range-label-placement-${labelPlacement}`]: true,
25799
25561
  'range-item-start-adjustment': needsStartAdjustment,
25800
25562
  'range-item-end-adjustment': needsEndAdjustment,
25801
- }) }, hAsync("label", { key: '040be16d5a2b4c1dded852d45a82e7505dc8fb30', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'd2ba909a1177dd27c1789f0d3f8f012a39f216c6', class: {
25563
+ }) }, hAsync("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
25802
25564
  'label-text-wrapper': true,
25803
25565
  'label-text-wrapper-hidden': !hasLabel,
25804
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: 'eeaa70230c5adfac60468a8ff52a54eaf804c030', class: "native-wrapper" }, hAsync("slot", { key: '1d78f55bb32bb05950dff7dfcc6bfdbef1cddb81', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '2dab4e2894ed7c036871a209419a92f1b6cf6059', name: "end" })))));
25566
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '87df1037b6b3337bd1fab05d33a26bf658c57914', class: "native-wrapper" }, hAsync("slot", { key: '2cb88f101da49b70aeae29b0bf5445fac241bb2f', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '17b835cfb2bd9b8e1957afd425543ff02b913d83', name: "end" })))));
25805
25567
  }
25806
25568
  get el() { return getElement(this); }
25807
25569
  static get watchers() { return {
@@ -26702,7 +26464,7 @@ class Refresher {
26702
26464
  }
26703
26465
  render() {
26704
26466
  const mode = getIonMode$1(this);
26705
- return (hAsync(Host, { key: '4c36bffbfa32ef1bd28a60f4455c125842880659', slot: "fixed", class: {
26467
+ return (hAsync(Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
26706
26468
  [mode]: true,
26707
26469
  // Used internally for styling
26708
26470
  [`refresher-${mode}`]: true,
@@ -26930,7 +26692,7 @@ class RefresherContent {
26930
26692
  const pullingIcon = this.pullingIcon;
26931
26693
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
26932
26694
  const mode = getIonMode$1(this);
26933
- return (hAsync(Host, { key: 'fb78d7e31f8feb31025e58903eb9de85cb928dbd', class: mode }, hAsync("div", { key: '23f67800f09765ef8fde8cf85a843e19e667f337', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '5a08d3b69762f8b51dcd3dcfbaf3fddb707257fa', class: "refresher-pulling-icon" }, hAsync("div", { key: '42a613b029e092acdff7fe613a429375d89f157e', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '2f9cdc75938c4d306de7a717ed67901daef71c2c', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '1f8a6347b4a46417ba55286a79f1a41f04bf9c91', class: "arrow-container" }, hAsync("ion-icon", { key: '326713d11d482d420ba5a739ff4528400a37e9ca', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'ab18c7cbea7bcbfa034f90f317652af4d93660ed', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'f488acd54acc8a61b6c5a279f0d7f9a437c370c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '914ad6139442dac53af47120ea821fa11c309a38', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '7eba732f5e2d72b90399d68a3e89617d8979b3d1', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '838d66d8bef6f56622c62b1068e7fed29e094302', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
26695
+ return (hAsync(Host, { key: '19633bbcf02e3dba885d6bdcdaf2269bf4c8e2f5', class: mode }, hAsync("div", { key: '28922e434a55a6cac0476fe2bee56941ce0d1c02', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'fe575bf996021884677e9b23a3215d63caf894f5', class: "refresher-pulling-icon" }, hAsync("div", { key: '59fe12297fd95bc33b8df8cd35316e2a1c084d91', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'af9cc013ae04945c140b2865610ca73edb52ab48', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '34df66ad1b0f706a0532957251aa2c20bf4587d8', class: "arrow-container" }, hAsync("ion-icon", { key: 'ffdb5c123e606b823491c6c51cc2b497f62581bb', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'ac3a2032bb969264d20fa057e9123441005d7a9d', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'd969d10915548e72aae289b52154366f3dd39b31', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'a8f854f81a94812d7bef8ce088331d94f49ff53d', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: 'a1f646945370e40c844d62bc0c647443ae9dfbe7', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: 'ab3ff4047769b6436e222b46d193c1e8b23e2fce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
26934
26696
  }
26935
26697
  get el() { return getElement(this); }
26936
26698
  static get cmpMeta() { return {
@@ -26973,7 +26735,7 @@ class Reorder {
26973
26735
  render() {
26974
26736
  const mode = getIonMode$1(this);
26975
26737
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
26976
- return (hAsync(Host, { key: '17adf3165f4e09283d5d6434d7cd47bd23519048', class: mode }, hAsync("slot", { key: 'd00d1cd97c689fc5c7b7175a2051cf697fe22871' }, hAsync("ion-icon", { key: 'eec219aebde6083de98358be3e75965c5a5dc3d0', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
26738
+ return (hAsync(Host, { key: '27266e30bcb7e10c57fb6d546399cfb1f1c93b23', class: mode }, hAsync("slot", { key: '8745cb9a31458e884c27eed1fb90d104fe9a79eb' }, hAsync("ion-icon", { key: '6c4b9631a2f5610f1e21b2db025b6702d0d593bf', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
26977
26739
  }
26978
26740
  get el() { return getElement(this); }
26979
26741
  static get style() { return {
@@ -27227,7 +26989,7 @@ class ReorderGroup {
27227
26989
  }
27228
26990
  render() {
27229
26991
  const mode = getIonMode$1(this);
27230
- return (hAsync(Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
26992
+ return (hAsync(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
27231
26993
  [mode]: true,
27232
26994
  'reorder-enabled': !this.disabled,
27233
26995
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -27335,7 +27097,7 @@ class RippleEffect {
27335
27097
  }
27336
27098
  render() {
27337
27099
  const mode = getIonMode$1(this);
27338
- return (hAsync(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
27100
+ return (hAsync(Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
27339
27101
  [mode]: true,
27340
27102
  unbounded: this.unbounded,
27341
27103
  } }));
@@ -28277,10 +28039,10 @@ class RouterLink {
28277
28039
  rel: this.rel,
28278
28040
  target: this.target,
28279
28041
  };
28280
- return (hAsync(Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: createColorClasses$1(this.color, {
28042
+ return (hAsync(Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: createColorClasses$1(this.color, {
28281
28043
  [mode]: true,
28282
28044
  'ion-activatable': true,
28283
- }) }, hAsync("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), hAsync("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
28045
+ }) }, hAsync("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), hAsync("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
28284
28046
  }
28285
28047
  static get style() { return IonRouterLinkStyle0; }
28286
28048
  static get cmpMeta() { return {
@@ -28475,7 +28237,7 @@ class RouterOutlet {
28475
28237
  return true;
28476
28238
  }
28477
28239
  render() {
28478
- return hAsync("slot", { key: '8d0c163c5f63158e16ef2db7cc3c756cf597461d' });
28240
+ return hAsync("slot", { key: 'a70341f58d19df55de1dad00e3464388e446aa2a' });
28479
28241
  }
28480
28242
  get el() { return getElement(this); }
28481
28243
  static get watchers() { return {
@@ -28509,7 +28271,7 @@ class Row {
28509
28271
  registerInstance(this, hostRef);
28510
28272
  }
28511
28273
  render() {
28512
- return (hAsync(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
28274
+ return (hAsync(Host, { key: 'aea072a5005e3f1f309f0d1ae5be5ee19869b035', class: getIonMode$1(this) }, hAsync("slot", { key: '2a481c2126ac6ca65f0a1bbd07c2d3365409cb78' })));
28513
28275
  }
28514
28276
  static get style() { return IonRowStyle0; }
28515
28277
  static get cmpMeta() { return {
@@ -28903,8 +28665,8 @@ class Searchbar {
28903
28665
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
28904
28666
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
28905
28667
  const shouldShowCancelButton = this.shouldShowCancelButton();
28906
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '989f3e84c472ada6e66dd9b249d0d268bf17ce26', "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" }, hAsync("div", { key: '7d335d4fde33822dc79d26b748ba2e98db7494bb', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
28907
- return (hAsync(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
28668
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '0ef595eb1628928d4c7fdb166b8e41768700fa6e', "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" }, hAsync("div", { key: 'ea2c9b36d991acf5af7662059cb6b045f683ca94', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
28669
+ return (hAsync(Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
28908
28670
  [mode]: true,
28909
28671
  'searchbar-animated': animated,
28910
28672
  'searchbar-disabled': this.disabled,
@@ -28914,14 +28676,14 @@ class Searchbar {
28914
28676
  'searchbar-has-focus': this.focused,
28915
28677
  'searchbar-should-show-clear': this.shouldShowClearButton(),
28916
28678
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
28917
- }) }, hAsync("div", { key: 'add53640b2994cb6b2bf02792dafe51aba6b1684', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '160cc36459a4a652e7f41ccd14dcdc782278779e', "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, hAsync("ion-icon", { key: '8825fd13af0d2dea451ccc0e00ae7b5021dc01c4', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '8a7b56da278b9ca5c4f5a4ee9c01924fd5ae29d8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
28679
+ }) }, hAsync("div", { key: 'f67c2124e70c24eef0a271516e9c4bdaf7e98ceb', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '8c7f7ccc6809cca30ccc8c4e98e349d3f916321d', "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, hAsync("ion-icon", { key: 'f06524d3163b3883bbde937862aa1e0e8f49f6e1', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '9f7ba2bec93412ecb674b197be13db1de308bb57', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
28918
28680
  /**
28919
28681
  * This prevents mobile browsers from
28920
28682
  * blurring the input when the clear
28921
28683
  * button is activated.
28922
28684
  */
28923
28685
  ev.preventDefault();
28924
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '24c55274516ab012d8c25f03525c6cdb9409e52f', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
28686
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '19fc3dbc722acc47ff7eb3c94ad4de8aed38dff4', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
28925
28687
  }
28926
28688
  get el() { return getElement(this); }
28927
28689
  static get watchers() { return {
@@ -29505,14 +29267,14 @@ class Segment {
29505
29267
  }
29506
29268
  render() {
29507
29269
  const mode = getIonMode$1(this);
29508
- return (hAsync(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
29270
+ return (hAsync(Host, { key: 'b1eb4a6e4f953f6c4882395585799503735bbc6b', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
29509
29271
  [mode]: true,
29510
29272
  'in-toolbar': hostContext('ion-toolbar', this.el),
29511
29273
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
29512
29274
  'segment-activated': this.activated,
29513
29275
  'segment-disabled': this.disabled,
29514
29276
  'segment-scrollable': this.scrollable,
29515
- }) }, hAsync("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
29277
+ }) }, hAsync("slot", { key: 'e7df6b017d154f30eb8021bc965f2e6c8e6480bf', onSlotchange: this.onSlottedItemsChange })));
29516
29278
  }
29517
29279
  get el() { return getElement(this); }
29518
29280
  static get watchers() { return {
@@ -29583,7 +29345,35 @@ class SegmentButton {
29583
29345
  valueChanged() {
29584
29346
  this.updateState();
29585
29347
  }
29586
- connectedCallback() {
29348
+ waitForSegmentContent(ionSegment, contentId) {
29349
+ return new Promise((resolve, reject) => {
29350
+ let timeoutId = undefined;
29351
+ let animationFrameId;
29352
+ const check = () => {
29353
+ if (!ionSegment) {
29354
+ reject(new Error(`Segment not found when looking for Segment Content`));
29355
+ return;
29356
+ }
29357
+ const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
29358
+ const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
29359
+ if (segmentContent && timeoutId) {
29360
+ clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
29361
+ cancelAnimationFrame(animationFrameId);
29362
+ resolve(segmentContent);
29363
+ }
29364
+ else {
29365
+ animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
29366
+ }
29367
+ };
29368
+ check();
29369
+ // Set a timeout to reject the promise
29370
+ timeoutId = setTimeout(() => {
29371
+ cancelAnimationFrame(animationFrameId);
29372
+ reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
29373
+ }, 1000);
29374
+ });
29375
+ }
29376
+ async connectedCallback() {
29587
29377
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
29588
29378
  if (segmentEl) {
29589
29379
  this.updateState();
@@ -29593,11 +29383,14 @@ class SegmentButton {
29593
29383
  // Return if there is no contentId defined
29594
29384
  if (!this.contentId)
29595
29385
  return;
29596
- // Attempt to find the Segment Content by its contentId
29597
- const segmentContent = document.getElementById(this.contentId);
29598
- // If no associated Segment Content exists, log an error and return
29599
- if (!segmentContent) {
29600
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29386
+ let segmentContent;
29387
+ try {
29388
+ // Attempt to find the Segment Content by its contentId
29389
+ segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
29390
+ }
29391
+ catch (error) {
29392
+ // If no associated Segment Content exists, log an error and return
29393
+ console.error('Segment Button: ', error.message);
29601
29394
  return;
29602
29395
  }
29603
29396
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
@@ -29643,7 +29436,7 @@ class SegmentButton {
29643
29436
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29644
29437
  const mode = getIonMode$1(this);
29645
29438
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29646
- return (hAsync(Host, { key: '79518fc8c0d1c72604397a281bdcfdcf4e070395', class: {
29439
+ return (hAsync(Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
29647
29440
  [mode]: true,
29648
29441
  'in-toolbar': hostContext('ion-toolbar', this.el),
29649
29442
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29659,7 +29452,7 @@ class SegmentButton {
29659
29452
  'ion-activatable': true,
29660
29453
  'ion-activatable-instant': true,
29661
29454
  'ion-focusable': true,
29662
- } }, hAsync("button", Object.assign({ key: '07acbd21d0c8b89f40160b396115dfaf65235f71', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '03d28f57d195e36ed5512dfe5d62c7395c06dba7', class: "button-inner" }, hAsync("slot", { key: '9040099c71aafd9e9491b268f9f2c55773de1542' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'd3ab01738ea620b1e6ebbf5a06fb7028072ac3dc' })), hAsync("div", { key: 'b4e0dd212c824f6b77f9cd7fd51c581710922c3b', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd693d0f0b628771375c5bf9d4ac6da19d8930303', part: "indicator-background", class: "segment-button-indicator-background" }))));
29455
+ } }, hAsync("button", Object.assign({ key: '00dbcdbd81cd74abdd39803f6840a6e477cc7b0c', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '5200c082a9c4788010c4fc33fe75e2b2ad28364a', class: "button-inner" }, hAsync("slot", { key: 'cf3fce2b5d22436b84cd4367a5885df7d6a2715f' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f1a2816465f4c2c06644be07315bff2da77e2342' })), hAsync("div", { key: 'aaf31c0ed39641fca698ee98d0773131f4eea6bd', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'fc556651361b7ac305aaedd25ea4afe3173abd20', part: "indicator-background", class: "segment-button-indicator-background" }))));
29663
29456
  }
29664
29457
  get el() { return getElement(this); }
29665
29458
  static get watchers() { return {
@@ -29695,7 +29488,7 @@ class SegmentContent {
29695
29488
  registerInstance(this, hostRef);
29696
29489
  }
29697
29490
  render() {
29698
- return (hAsync(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, hAsync("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
29491
+ return (hAsync(Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, hAsync("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
29699
29492
  }
29700
29493
  static get style() { return IonSegmentContentStyle0; }
29701
29494
  static get cmpMeta() { return {
@@ -29808,10 +29601,10 @@ class SegmentView {
29808
29601
  }
29809
29602
  render() {
29810
29603
  const { disabled, isManualScroll } = this;
29811
- return (hAsync(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
29604
+ return (hAsync(Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
29812
29605
  'segment-view-disabled': disabled,
29813
29606
  'segment-view-scroll-disabled': isManualScroll === false,
29814
- } }, hAsync("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
29607
+ } }, hAsync("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
29815
29608
  }
29816
29609
  get el() { return getElement(this); }
29817
29610
  static get style() { return {
@@ -29926,7 +29719,6 @@ class Select {
29926
29719
  this.expandedIcon = undefined;
29927
29720
  this.shape = undefined;
29928
29721
  this.value = undefined;
29929
- this.required = false;
29930
29722
  }
29931
29723
  styleChanged() {
29932
29724
  this.emitStyle();
@@ -30411,8 +30203,8 @@ class Select {
30411
30203
  return renderedLabel;
30412
30204
  }
30413
30205
  renderListbox() {
30414
- const { disabled, inputId, isExpanded, required } = this;
30415
- return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
30206
+ const { disabled, inputId, isExpanded } = this;
30207
+ return (hAsync("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
30416
30208
  }
30417
30209
  render() {
30418
30210
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -30443,7 +30235,7 @@ class Select {
30443
30235
  * TODO(FW-5592): Remove hasStartEndSlots condition
30444
30236
  */
30445
30237
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30446
- return (hAsync(Host, { key: '457f1130a291ff1f6fdb8a112f6c32b53efdad7a', onClick: this.onClick, class: createColorClasses$1(this.color, {
30238
+ return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
30447
30239
  [mode]: true,
30448
30240
  'in-item': inItem,
30449
30241
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30459,7 +30251,7 @@ class Select {
30459
30251
  [`select-justify-${justify}`]: justifyEnabled,
30460
30252
  [`select-shape-${shape}`]: shape !== undefined,
30461
30253
  [`select-label-placement-${labelPlacement}`]: true,
30462
- }) }, hAsync("label", { key: '4a66b0da8142d5e83f061308ccaece0737bc1d30', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '62c964f75bca42d8ec0d5026b701b0848c14f701', class: "select-wrapper-inner" }, hAsync("slot", { key: '1c59f789706d5308763465c6bbca218e14774c81', name: "start" }), hAsync("div", { key: '22dc110d2fe3215bc23867eb1453192d2aed547e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '13e05653f277726ea4cd1c48318c182bd106e69b', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'eab497a5e69bb956884bd0522c1503f654651226', class: "select-highlight" }))));
30254
+ }) }, hAsync("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, hAsync("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), hAsync("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
30463
30255
  }
30464
30256
  get el() { return getElement(this); }
30465
30257
  static get watchers() { return {
@@ -30495,7 +30287,6 @@ class Select {
30495
30287
  "expandedIcon": [1, "expanded-icon"],
30496
30288
  "shape": [1],
30497
30289
  "value": [1032],
30498
- "required": [4],
30499
30290
  "isExpanded": [32],
30500
30291
  "open": [64]
30501
30292
  },
@@ -30620,7 +30411,7 @@ class SelectModal {
30620
30411
  } }, option.text))));
30621
30412
  }
30622
30413
  render() {
30623
- return (hAsync(Host, { key: '885198a9f21884e3bfb9bf0af53e0ee3ae37b231', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'd8b63726869747ac711e4fda78a50ce46f72970c' }, hAsync("ion-toolbar", { key: '9ab2a4c1480dd74eeae38d7b580a2e87fb71270e' }, this.header !== undefined && hAsync("ion-title", { key: '87a7034385ef57f55cefdd0371dbb66a64827290' }, this.header), hAsync("ion-buttons", { key: '0a35424ea13ca002abc9a43b6138730254f187d0', slot: "end" }, hAsync("ion-button", { key: '238bf40b47128d9aa995d14d9ff9ebcae4f79492', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '4a256f3381f8cabbc7194337b8ae4aa1c3ab1066' }, hAsync("ion-list", { key: 'acd38fc52024632176467ed6a84106a454021544' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
30414
+ return (hAsync(Host, { key: '4df42c447b4026d09d9231f09dc4bdae9a8cfe4a', class: getIonMode$1(this) }, hAsync("ion-header", { key: '211c4e869b858867f3d60637e570aeb01de41de7' }, hAsync("ion-toolbar", { key: 'dc4b151331aecbaaaafb460802ee9b689493601d' }, this.header !== undefined && hAsync("ion-title", { key: 'ba1347a59ae0a5c6770c239b5ec02a536a445bd1' }, this.header), hAsync("ion-buttons", { key: '43c98fd25d7e7f54b94b24e53535c6d5ba599892', slot: "end" }, hAsync("ion-button", { key: '51b2b3f3eed42637b2cfc213c95d0bcf10e4b89d', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: 'fe721b09f80555856211f7e40dbfc31a533acae1' }, hAsync("ion-list", { key: 'd0b932d137136958d896408fb2fa571023775b92' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
30624
30415
  }
30625
30416
  get el() { return getElement(this); }
30626
30417
  static get style() { return {
@@ -30653,7 +30444,7 @@ class SelectOption {
30653
30444
  this.value = undefined;
30654
30445
  }
30655
30446
  render() {
30656
- return hAsync(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode$1(this) });
30447
+ return hAsync(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode$1(this) });
30657
30448
  }
30658
30449
  get el() { return getElement(this); }
30659
30450
  static get style() { return IonSelectOptionStyle0; }
@@ -30773,7 +30564,7 @@ class SelectPopover {
30773
30564
  render() {
30774
30565
  const { header, message, options, subHeader } = this;
30775
30566
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
30776
- return (hAsync(Host, { key: '542367ab8fb72bfebf7e65630b91017d68827fd6', class: getIonMode$1(this) }, hAsync("ion-list", { key: 'f2f0f37e1365cd7780b02de1a1698700d0df48a7' }, header !== undefined && hAsync("ion-list-header", { key: '4b8800a68e800f19277a44b7074ca24b70218daf' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '932b7903daf97d5a57d289b7ee49e868bb9b0cf5' }, hAsync("ion-label", { key: 'fc3f1b69aa2a0bc6125d35692dcad3a8a99fd160', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'eceab2f47afa95f04b138342b0bdbfa1f50919a8' }, subHeader), message !== undefined && hAsync("p", { key: '70f4e27ad1316318efd0c17efce31e5e45c8fa02' }, message)))), this.renderOptions(options))));
30567
+ return (hAsync(Host, { key: 'dd0990db4de4f175b176b27f35501dd1604ca400', class: getIonMode$1(this) }, hAsync("ion-list", { key: 'cea2bc3687b8b2490a2a9ff4a1e16cd34169558e' }, header !== undefined && hAsync("ion-list-header", { key: '194aebb53453c43f913daae45a1a3066a1708c4c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'b706b07a3c63ad8104d2db413e210c735ec1bec9' }, hAsync("ion-label", { key: '6e52b5b4cf6b04ff3dd5671d64264233de4190d5', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: '6ef4440d17f5db8c96c63b9aa5073f4fe4b8ad62' }, subHeader), message !== undefined && hAsync("p", { key: 'c7b3b76c30ecd606c0e985a0258c13d3a75756e7' }, message)))), this.renderOptions(options))));
30777
30568
  }
30778
30569
  get el() { return getElement(this); }
30779
30570
  static get style() { return {
@@ -30821,11 +30612,11 @@ class SkeletonText {
30821
30612
  const animated = this.animated && config.getBoolean('animated', true);
30822
30613
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
30823
30614
  const mode = getIonMode$1(this);
30824
- return (hAsync(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
30615
+ return (hAsync(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
30825
30616
  [mode]: true,
30826
30617
  'skeleton-text-animated': animated,
30827
30618
  'in-media': inMedia,
30828
- } }, hAsync("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
30619
+ } }, hAsync("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
30829
30620
  }
30830
30621
  get el() { return getElement(this); }
30831
30622
  static get style() { return IonSkeletonTextStyle0; }
@@ -30878,7 +30669,7 @@ class Spinner {
30878
30669
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
30879
30670
  }
30880
30671
  }
30881
- return (hAsync(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses$1(self.color, {
30672
+ return (hAsync(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses$1(self.color, {
30882
30673
  [mode]: true,
30883
30674
  [`spinner-${spinnerName}`]: true,
30884
30675
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -30978,12 +30769,12 @@ class SplitPane {
30978
30769
  }
30979
30770
  render() {
30980
30771
  const mode = getIonMode$1(this);
30981
- return (hAsync(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
30772
+ return (hAsync(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
30982
30773
  [mode]: true,
30983
30774
  // Used internally for styling
30984
30775
  [`split-pane-${mode}`]: true,
30985
30776
  'split-pane-visible': this.visible,
30986
- } }, hAsync("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
30777
+ } }, hAsync("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
30987
30778
  }
30988
30779
  get el() { return getElement(this); }
30989
30780
  static get watchers() { return {
@@ -31052,10 +30843,10 @@ class Tab {
31052
30843
  }
31053
30844
  render() {
31054
30845
  const { tab, active, component } = this;
31055
- return (hAsync(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
30846
+ return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31056
30847
  'ion-page': component === undefined,
31057
30848
  'tab-hidden': !active,
31058
- } }, hAsync("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
30849
+ } }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
31059
30850
  }
31060
30851
  get el() { return getElement(this); }
31061
30852
  static get watchers() { return {
@@ -31133,11 +30924,11 @@ class TabBar {
31133
30924
  const { color, translucent, keyboardVisible } = this;
31134
30925
  const mode = getIonMode$1(this);
31135
30926
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
31136
- return (hAsync(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
30927
+ return (hAsync(Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
31137
30928
  [mode]: true,
31138
30929
  'tab-bar-translucent': translucent,
31139
30930
  'tab-bar-hidden': shouldHide,
31140
- }) }, hAsync("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
30931
+ }) }, hAsync("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
31141
30932
  }
31142
30933
  get el() { return getElement(this); }
31143
30934
  static get watchers() { return {
@@ -31235,7 +31026,7 @@ class TabButton {
31235
31026
  rel,
31236
31027
  target,
31237
31028
  };
31238
- return (hAsync(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
31029
+ return (hAsync(Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
31239
31030
  [mode]: true,
31240
31031
  'tab-selected': selected,
31241
31032
  'tab-disabled': disabled,
@@ -31247,7 +31038,7 @@ class TabButton {
31247
31038
  'ion-activatable': true,
31248
31039
  'ion-selectable': true,
31249
31040
  'ion-focusable': true,
31250
- } }, hAsync("a", Object.assign({ key: '8dfe1ccff2cf21601c5aea7f7f877c0fbe384e09' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '3f557cf6e96e22b9318b4aee19ede810eb7fb720', class: "button-inner" }, hAsync("slot", { key: '836dd090dbe3c2ea97dc263fca7d01dea6ea0eb6' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '488a924fd04602c1b23e03d1a4c84dfa0f2ca03d', type: "unbounded" }))));
31041
+ } }, hAsync("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, hAsync("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
31251
31042
  }
31252
31043
  get el() { return getElement(this); }
31253
31044
  static get style() { return {
@@ -31423,7 +31214,7 @@ class Tabs {
31423
31214
  return Array.from(this.el.querySelectorAll('ion-tab'));
31424
31215
  }
31425
31216
  render() {
31426
- return (hAsync(Host, { key: 'd357c4607cfc89fb88404fe12ea7ef5b397fe6bf', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '18661896589a4ab3c74164f448b928abec9b4db0', name: "top" }), hAsync("div", { key: '3bf30ea2540a196e868a78a861824b4b5d933afd', class: "tabs-inner" }, hAsync("slot", { key: '7cfc154d4d6c1642188ab6508a6be72c8234585e' })), hAsync("slot", { key: '8057679c959195cbdfae156b8ae0cbfd978c5037', name: "bottom" })));
31217
+ return (hAsync(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), hAsync("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, hAsync("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), hAsync("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
31427
31218
  }
31428
31219
  get el() { return getElement(this); }
31429
31220
  static get style() { return IonTabsStyle0; }
@@ -31465,9 +31256,9 @@ class Text {
31465
31256
  }
31466
31257
  render() {
31467
31258
  const mode = getIonMode$1(this);
31468
- return (hAsync(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses$1(this.color, {
31259
+ return (hAsync(Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: createColorClasses$1(this.color, {
31469
31260
  [mode]: true,
31470
- }) }, hAsync("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
31261
+ }) }, hAsync("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
31471
31262
  }
31472
31263
  static get style() { return IonTextStyle0; }
31473
31264
  static get cmpMeta() { return {
@@ -31849,7 +31640,7 @@ class Textarea {
31849
31640
  * TODO(FW-5592): Remove hasStartEndSlots condition
31850
31641
  */
31851
31642
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
31852
- return (hAsync(Host, { key: 'c0dabc66193c41188c817799e45b36abbf097ba1', class: createColorClasses$1(this.color, {
31643
+ return (hAsync(Host, { key: 'd6e25c83d8eab8cb1a5b6ab411c9a13847f69f8d', class: createColorClasses$1(this.color, {
31853
31644
  [mode]: true,
31854
31645
  'has-value': hasValue,
31855
31646
  'has-focus': hasFocus,
@@ -31858,7 +31649,7 @@ class Textarea {
31858
31649
  [`textarea-shape-${shape}`]: shape !== undefined,
31859
31650
  [`textarea-label-placement-${labelPlacement}`]: true,
31860
31651
  'textarea-disabled': disabled,
31861
- }) }, hAsync("label", { key: 'dce1ce6794b914975d93f16f4e1a5721a5f3fc73', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: '361ce31a9a22d8d87fb2bbd134fda3d6c66ba0fe', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'e7a7e439d0e723c029951f9ee67adba1694b33d2', class: "start-slot-wrapper" }, hAsync("slot", { key: 'efe797a88b0c2d6067217f7b32fea7526beed90f', name: "start" })), hAsync("div", { key: '21375f64876bc68e25d2de13299a9f3acde2c370', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '3771fc6c31a61f7d9ba41f69fa12987aa2ec0c61', 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)), hAsync("div", { key: 'd81dfd5d6947c3b4ee1bff367080419b9e3ed81c', class: "end-slot-wrapper" }, hAsync("slot", { key: '2b6ab3f6bb66652e6b31ad11bc849bd386014721', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'd37ad4cc35eb7fef873ab41ee164165d18703919', class: "textarea-highlight" })), this.renderBottomContent()));
31652
+ }) }, hAsync("label", { key: 'f840a5be2b776a4b9c18c6da24e0b7d3d4838fee', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: '979461fc0d4684926d79d75759c63c6867b7622b', class: "textarea-wrapper-inner" }, hAsync("div", { key: '88f0d5d4bac29597cc2588e5b2ed72fb4fbe153d', class: "start-slot-wrapper" }, hAsync("slot", { key: '21dcca0e59c1260e3d0d1e126c1c590de15c4bad', name: "start" })), hAsync("div", { key: '3c48a4bb3d763a389d3429123e7c110064b9b8d4', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: '1550599ad15b3f215c104c014e90711f073ace8b', 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)), hAsync("div", { key: '4f01ab4d2994a6de6f49eb9ed2e310d00daf21b2', class: "end-slot-wrapper" }, hAsync("slot", { key: '501e288b6807e039972bb4f0b63906114255518a', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'd3008eed34494aa9f8e98a28eac3b465dc4c2bd0', class: "textarea-highlight" })), this.renderBottomContent()));
31862
31653
  }
31863
31654
  get el() { return getElement(this); }
31864
31655
  static get watchers() { return {
@@ -31920,7 +31711,7 @@ class Thumbnail {
31920
31711
  registerInstance(this, hostRef);
31921
31712
  }
31922
31713
  render() {
31923
- return (hAsync(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
31714
+ return (hAsync(Host, { key: 'cfa9aeb1d4fd624a9732c5230d29dd887e4b7771', class: getIonMode$1(this) }, hAsync("slot", { key: '29bc6e64063cba44e2643228df54394883933918' })));
31924
31715
  }
31925
31716
  static get style() { return IonThumbnailStyle0; }
31926
31717
  static get cmpMeta() { return {
@@ -32756,9 +32547,9 @@ class Toast {
32756
32547
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
32757
32548
  printIonWarning('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);
32758
32549
  }
32759
- return (hAsync(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
32550
+ return (hAsync(Host, Object.assign({ key: 'c05655ff06af8d0e48c2a85396b07ad942fa81b4', tabindex: "-1" }, this.htmlAttributes, { style: {
32760
32551
  zIndex: `${60000 + this.overlayIndex}`,
32761
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'd927e43957f47888ce4e64f1e99c935d55757af7', class: wrapperClass }, hAsync("div", { key: 'ca43bc42478181acdf8cdea6601a85fa95d12216', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'fdd6fb8f6e947ed002bd2e63fdc8ec7e764f4a7d', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '37c16c81ee3e4304379dfbcabdffe73db73e4653', 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')))));
32552
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '9393ead4de1bf28529661d6f64049d34e18d725c', class: wrapperClass }, hAsync("div", { key: '3e9dd73c17c337849c3f26e8d0f395b3e5ee20a7', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '5d15b18364301ad55e44e9f601014ac33181590b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'f6dd164502637a882c5caf18445d8509b85ad6f9', 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')))));
32762
32553
  }
32763
32554
  get el() { return getElement(this); }
32764
32555
  static get watchers() { return {
@@ -32892,7 +32683,6 @@ class Toggle {
32892
32683
  this.labelPlacement = 'start';
32893
32684
  this.justify = undefined;
32894
32685
  this.alignment = undefined;
32895
- this.required = false;
32896
32686
  }
32897
32687
  disabledChanged() {
32898
32688
  if (this.gesture) {
@@ -32974,12 +32764,12 @@ class Toggle {
32974
32764
  return this.el.textContent !== '';
32975
32765
  }
32976
32766
  render() {
32977
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
32767
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
32978
32768
  const mode = getIonMode$1(this);
32979
32769
  const value = this.getValue();
32980
32770
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
32981
32771
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
32982
- return (hAsync(Host, { key: '381632cf12ef5d27d729e0d59efcb14efad12a51', onClick: this.onClick, class: createColorClasses$1(color, {
32772
+ return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
32983
32773
  [mode]: true,
32984
32774
  'in-item': hostContext('ion-item', el),
32985
32775
  'toggle-activated': activated,
@@ -32989,10 +32779,10 @@ class Toggle {
32989
32779
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
32990
32780
  [`toggle-label-placement-${labelPlacement}`]: true,
32991
32781
  [`toggle-${rtl}`]: true,
32992
- }) }, hAsync("label", { key: '73f2bd13ccfc4a1efc68781155f603e665be3d7e', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: '0c4b7663ddbf3b1ce94b5fd4c7c21e51db907d71', 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 }, this.inheritedAttributes)), hAsync("div", { key: 'ef1e73bee832bf9ab58d1e47eb037c50b609c0ee', class: {
32782
+ }) }, hAsync("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), hAsync("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
32993
32783
  'label-text-wrapper': true,
32994
32784
  'label-text-wrapper-hidden': !this.hasLabel,
32995
- }, part: "label" }, hAsync("slot", { key: '67b7e20dc96503cb76dd5e31c5579752de465dcc' })), hAsync("div", { key: '17f89960bcc3302ef8e0c0d4e10513241744e232', class: "native-wrapper" }, this.renderToggleControl()))));
32785
+ }, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
32996
32786
  }
32997
32787
  get el() { return getElement(this); }
32998
32788
  static get watchers() { return {
@@ -33015,7 +32805,6 @@ class Toggle {
33015
32805
  "labelPlacement": [1, "label-placement"],
33016
32806
  "justify": [1],
33017
32807
  "alignment": [1],
33018
- "required": [4],
33019
32808
  "activated": [32]
33020
32809
  },
33021
32810
  "$listeners$": undefined,
@@ -33047,10 +32836,6 @@ var IonToolbarMdStyle0 = toolbarMdCss;
33047
32836
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
33048
32837
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
33049
32838
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
33050
- *
33051
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
33052
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
33053
- * @part content - The container for the default slot, wrapping content provided without a named slot.
33054
32839
  */
33055
32840
  class Toolbar {
33056
32841
  constructor(hostRef) {
@@ -33101,10 +32886,10 @@ class Toolbar {
33101
32886
  this.childrenStyles.forEach((value) => {
33102
32887
  Object.assign(childStyles, value);
33103
32888
  });
33104
- return (hAsync(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
32889
+ return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
33105
32890
  [mode]: true,
33106
32891
  'in-toolbar': hostContext('ion-toolbar', this.el),
33107
- })) }, hAsync("div", { key: '2465a6dc8d507ec650538378d1be2abd399c58ad', class: "toolbar-background", part: "background" }), hAsync("div", { key: '6075096afd12303b961e4fe9ad345ef2887573af', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '8b7eec1148cfeb339d87cdf9273f2104703e7601', name: "start" }), hAsync("slot", { key: 'b102d3926cade24faf78b7af78ad5e192c4c0308', name: "secondary" }), hAsync("div", { key: 'c6ab2e978328324c6f9e7892024cbcd8b8987067', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '86f8952c4355a9df5b4bbb95e9d0cafefd272d5b' })), hAsync("slot", { key: '501e43431da6b9dd35b47b79222f948d445f7a78', name: "primary" }), hAsync("slot", { key: '84bf1a15a5e52e8e94df9f479c4ce18004f5ab57', name: "end" }))));
32892
+ })) }, hAsync("div", { key: 'c0b4415d3b2472de643a9be7cb3b13b3b628621b', class: "toolbar-background" }), hAsync("div", { key: '0ccb8a2dbeaa28d8f9bed87629c0c097446690c2', class: "toolbar-container" }, hAsync("slot", { key: '3e726dac359e923df21d80301651f16063a3de20', name: "start" }), hAsync("slot", { key: 'cd799330b56a7f8833bc61bb2807aafb21846f71', name: "secondary" }), hAsync("div", { key: '395282e6ac8c53576922dcdb5f08c25d34638c86', class: "toolbar-content" }, hAsync("slot", { key: 'a437c60e4ba5aae65e55169ae82a6f379868ec1d' })), hAsync("slot", { key: '711af9b9d321a7b31ede924c9bdcad767aa9a1ca', name: "primary" }), hAsync("slot", { key: 'ecc02edeaf80a837890bcb08d5096df1e22a0b9a', name: "end" }))));
33108
32893
  }
33109
32894
  get el() { return getElement(this); }
33110
32895
  static get style() { return {
@@ -33154,11 +32939,11 @@ class ToolbarTitle {
33154
32939
  render() {
33155
32940
  const mode = getIonMode$1(this);
33156
32941
  const size = this.getSize();
33157
- return (hAsync(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses$1(this.color, {
32942
+ return (hAsync(Host, { key: '7293d2ecd6262feb0d8d769effbb208230baed89', class: createColorClasses$1(this.color, {
33158
32943
  [mode]: true,
33159
32944
  [`title-${size}`]: true,
33160
32945
  'title-rtl': document.dir === 'rtl',
33161
- }) }, hAsync("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, hAsync("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
32946
+ }) }, hAsync("div", { key: '086ec3a361ebdf6506846a8704b457cda3a6f897', class: "toolbar-title" }, hAsync("slot", { key: '59add7eb92b82d6832a8f0894f897c51fdf4f214' }))));
33162
32947
  }
33163
32948
  get el() { return getElement(this); }
33164
32949
  static get watchers() { return {