@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.js CHANGED
@@ -2710,6 +2710,16 @@ const shallowEqualStringMap = (map1, map2) => {
2710
2710
  }
2711
2711
  return true;
2712
2712
  };
2713
+ const getNextSiblingOfType = (element) => {
2714
+ let sibling = element.nextSibling;
2715
+ while (sibling) {
2716
+ if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
2717
+ return sibling;
2718
+ }
2719
+ sibling = sibling.nextSibling;
2720
+ }
2721
+ return null;
2722
+ };
2713
2723
 
2714
2724
  /* Ionicons v7.2.2, ES Modules */
2715
2725
  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>";
@@ -3217,12 +3227,9 @@ let accordionIds = 0;
3217
3227
  * @param message - The string message to be logged to the console.
3218
3228
  */
3219
3229
  const printIonWarning = (message, ...params) => {
3220
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3221
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3222
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3223
- }
3230
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
3224
3231
  };
3225
- /**
3232
+ /*
3226
3233
  * Logs an error to the console with an Ionic prefix
3227
3234
  * to indicate the library that is warning the developer.
3228
3235
  *
@@ -3230,10 +3237,7 @@ const printIonWarning = (message, ...params) => {
3230
3237
  * @param params - Additional arguments to supply to the console.error.
3231
3238
  */
3232
3239
  const printIonError = (message, ...params) => {
3233
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3234
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3235
- return console.error(`[Ionic Error]: ${message}`, ...params);
3236
- }
3240
+ return console.error(`[Ionic Error]: ${message}`, ...params);
3237
3241
  };
3238
3242
  /**
3239
3243
  * Prints an error informing developers that an implementation requires an element to be used
@@ -6997,6 +7001,7 @@ class Alert {
6997
7001
  }
6998
7002
  }
6999
7003
  onKeydown(ev) {
7004
+ var _a;
7000
7005
  const inputTypes = new Set(this.processedInputs.map((i) => i.type));
7001
7006
  /**
7002
7007
  * Based on keyboard navigation requirements, the
@@ -7006,6 +7011,17 @@ class Alert {
7006
7011
  ev.preventDefault();
7007
7012
  return;
7008
7013
  }
7014
+ /**
7015
+ * 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.
7016
+ */
7017
+ if (ev.target.classList.contains('alert-wrapper')) {
7018
+ if (ev.key === 'Tab' && ev.shiftKey) {
7019
+ ev.preventDefault();
7020
+ const lastChildBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button:last-child');
7021
+ lastChildBtn.focus();
7022
+ return;
7023
+ }
7024
+ }
7009
7025
  // The only inputs we want to navigate between using arrow keys are the radios
7010
7026
  // ignore the keydown event if it is not on a radio button
7011
7027
  if (!inputTypes.has('radio') ||
@@ -7137,7 +7153,16 @@ class Alert {
7137
7153
  async present() {
7138
7154
  const unlock = await this.lockController.lock();
7139
7155
  await this.delegateController.attachViewToDom();
7140
- await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4);
7156
+ await present(this, 'alertEnter', iosEnterAnimation$5, mdEnterAnimation$4).then(() => {
7157
+ var _a, _b;
7158
+ if (this.buttons.length === 1 && this.inputs.length === 0) {
7159
+ const queryBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button');
7160
+ queryBtn.focus();
7161
+ }
7162
+ else {
7163
+ (_b = this.wrapperEl) === null || _b === void 0 ? void 0 : _b.focus();
7164
+ }
7165
+ });
7141
7166
  unlock();
7142
7167
  }
7143
7168
  /**
@@ -7309,8 +7334,8 @@ class Alert {
7309
7334
  const { overlayIndex, header, subHeader, message, htmlAttributes } = this;
7310
7335
  const mode = getIonMode$1(this);
7311
7336
  const hdrId = `alert-${overlayIndex}-hdr`;
7312
- const subHdrId = `alert-${overlayIndex}-sub-hdr`;
7313
7337
  const msgId = `alert-${overlayIndex}-msg`;
7338
+ const subHdrId = `alert-${overlayIndex}-sub-hdr`;
7314
7339
  const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
7315
7340
  /**
7316
7341
  * Use both the header and subHeader ids if they are defined.
@@ -7319,9 +7344,9 @@ class Alert {
7319
7344
  * If neither are defined, do not set aria-labelledby.
7320
7345
  */
7321
7346
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
7322
- 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: {
7347
+ return (hAsync(Host, { key: 'cf4106a77213c7a9ca510a2b9fda47a179c03844', tabindex: "-1", style: {
7323
7348
  zIndex: `${20000 + overlayIndex}`,
7324
- }, 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" })));
7349
+ }, 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" })));
7325
7350
  }
7326
7351
  get el() { return getElement(this); }
7327
7352
  static get watchers() { return {
@@ -8497,7 +8522,6 @@ class Checkbox {
8497
8522
  this.labelPlacement = 'start';
8498
8523
  this.justify = undefined;
8499
8524
  this.alignment = undefined;
8500
- this.required = false;
8501
8525
  }
8502
8526
  componentWillLoad() {
8503
8527
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -8509,11 +8533,11 @@ class Checkbox {
8509
8533
  }
8510
8534
  }
8511
8535
  render() {
8512
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8536
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
8513
8537
  const mode = getIonMode$1(this);
8514
8538
  const path = getSVGPath(mode, indeterminate);
8515
8539
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8516
- return (hAsync(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8540
+ return (hAsync(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
8517
8541
  [mode]: true,
8518
8542
  'in-item': hostContext('ion-item', el),
8519
8543
  'checkbox-checked': checked,
@@ -8523,10 +8547,10 @@ class Checkbox {
8523
8547
  [`checkbox-justify-${justify}`]: justify !== undefined,
8524
8548
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8525
8549
  [`checkbox-label-placement-${labelPlacement}`]: true,
8526
- }), 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: {
8550
+ }), 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: {
8527
8551
  'label-text-wrapper': true,
8528
8552
  'label-text-wrapper-hidden': el.textContent === '',
8529
- }, 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)))));
8553
+ }, 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)))));
8530
8554
  }
8531
8555
  getSVGPath(mode, indeterminate) {
8532
8556
  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" }));
@@ -8553,7 +8577,6 @@ class Checkbox {
8553
8577
  "labelPlacement": [1, "label-placement"],
8554
8578
  "justify": [1],
8555
8579
  "alignment": [1],
8556
- "required": [4],
8557
8580
  "setFocus": [64]
8558
8581
  },
8559
8582
  "$listeners$": undefined,
@@ -15901,11 +15924,11 @@ class ItemDivider {
15901
15924
  }
15902
15925
  render() {
15903
15926
  const mode = getIonMode$1(this);
15904
- return (hAsync(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses$1(this.color, {
15927
+ return (hAsync(Host, { key: '6cff318230a9b2a9db529df154285d3dd9822efe', class: createColorClasses$1(this.color, {
15905
15928
  [mode]: true,
15906
15929
  'item-divider-sticky': this.sticky,
15907
15930
  item: true,
15908
- }) }, 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" }))));
15931
+ }) }, 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" }))));
15909
15932
  }
15910
15933
  get el() { return getElement(this); }
15911
15934
  static get style() { return {
@@ -15937,7 +15960,7 @@ class ItemGroup {
15937
15960
  }
15938
15961
  render() {
15939
15962
  const mode = getIonMode$1(this);
15940
- return (hAsync(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
15963
+ return (hAsync(Host, { key: 'f9ffe0290d3fa546494fe55f952d8554f2a8abf8', role: "group", class: {
15941
15964
  [mode]: true,
15942
15965
  // Used internally for styling
15943
15966
  [`item-group-${mode}`]: true,
@@ -16005,12 +16028,12 @@ class ItemOption {
16005
16028
  href: this.href,
16006
16029
  target: this.target,
16007
16030
  };
16008
- return (hAsync(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses$1(this.color, {
16031
+ return (hAsync(Host, { key: '89310624997821858c1abde60c0ffb142ca466e0', onClick: this.onClick, class: createColorClasses$1(this.color, {
16009
16032
  [mode]: true,
16010
16033
  'item-option-disabled': disabled,
16011
16034
  'item-option-expandable': expandable,
16012
16035
  'ion-activatable': true,
16013
- }) }, 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' }))));
16036
+ }) }, 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' }))));
16014
16037
  }
16015
16038
  get el() { return getElement(this); }
16016
16039
  static get style() { return {
@@ -16057,7 +16080,7 @@ class ItemOptions {
16057
16080
  render() {
16058
16081
  const mode = getIonMode$1(this);
16059
16082
  const isEnd = isEndSide(this.side);
16060
- return (hAsync(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
16083
+ return (hAsync(Host, { key: '6d91399d2aaaa81d514d0bbc8dffe53eeec25d36', class: {
16061
16084
  [mode]: true,
16062
16085
  // Used internally for styling
16063
16086
  [`item-options-${mode}`]: true,
@@ -16519,7 +16542,7 @@ class ItemSliding {
16519
16542
  }
16520
16543
  render() {
16521
16544
  const mode = getIonMode$1(this);
16522
- return (hAsync(Host, { key: '22f83febcbc1bc27e4ddbd7fcbe590de60a10e89', class: {
16545
+ return (hAsync(Host, { key: '47a3edd2ef2080ed9cfc2784277dea09785c7dc4', class: {
16523
16546
  [mode]: true,
16524
16547
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
16525
16548
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -16628,13 +16651,13 @@ class Label {
16628
16651
  render() {
16629
16652
  const position = this.position;
16630
16653
  const mode = getIonMode$1(this);
16631
- return (hAsync(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses$1(this.color, {
16654
+ return (hAsync(Host, { key: '6353a70565ef6fbbbf4042b000e536c61bcf99a9', class: createColorClasses$1(this.color, {
16632
16655
  [mode]: true,
16633
16656
  'in-item-color': hostContext('ion-item.ion-color', this.el),
16634
16657
  [`label-${position}`]: position !== undefined,
16635
16658
  [`label-no-animate`]: this.noAnimate,
16636
16659
  'label-rtl': document.dir === 'rtl',
16637
- }) }, hAsync("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
16660
+ }) }, hAsync("slot", { key: '6ef9c2758c0168442aa84941af0a6cec1ef1ec21' })));
16638
16661
  }
16639
16662
  get el() { return getElement(this); }
16640
16663
  static get watchers() { return {
@@ -16736,10 +16759,10 @@ class ListHeader {
16736
16759
  render() {
16737
16760
  const { lines } = this;
16738
16761
  const mode = getIonMode$1(this);
16739
- return (hAsync(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses$1(this.color, {
16762
+ return (hAsync(Host, { key: 'fb78bd8601cbd7b90ec84a96e0c8325be1132b1e', class: createColorClasses$1(this.color, {
16740
16763
  [mode]: true,
16741
16764
  [`list-header-lines-${lines}`]: lines !== undefined,
16742
- }) }, hAsync("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, hAsync("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
16765
+ }) }, hAsync("div", { key: '2580ad49f3a54973e15f14d645a1e55a6fa066ac', class: "list-header-inner" }, hAsync("slot", { key: '677b2e2ec8eeb3ae6ad329e86c76451cf3ae6c2f' }))));
16743
16766
  }
16744
16767
  static get style() { return {
16745
16768
  ios: IonListHeaderIosStyle0,
@@ -17008,9 +17031,9 @@ class Loading {
17008
17031
  * Otherwise, don't set aria-labelledby.
17009
17032
  */
17010
17033
  const ariaLabelledBy = message !== undefined ? msgId : null;
17011
- return (hAsync(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
17034
+ return (hAsync(Host, Object.assign({ key: 'd97f536b7f443ea19a2bbf2dcbc7f546b8e0a092', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
17012
17035
  zIndex: `${40000 + this.overlayIndex}`,
17013
- }, 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" })));
17036
+ }, 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" })));
17014
17037
  }
17015
17038
  get el() { return getElement(this); }
17016
17039
  static get watchers() { return {
@@ -18018,14 +18041,14 @@ class Menu {
18018
18041
  * the ionBackButton listener in the menu controller
18019
18042
  * will handle closing the menu when Escape is pressed.
18020
18043
  */
18021
- return (hAsync(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18044
+ return (hAsync(Host, { key: 'da96fdb4c5ddf60e615cc4cdda7ccdb3fd7e089b', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18022
18045
  [mode]: true,
18023
18046
  [`menu-type-${type}`]: true,
18024
18047
  'menu-enabled': !disabled,
18025
18048
  [`menu-side-${side}`]: true,
18026
18049
  'menu-pane-visible': isPaneVisible,
18027
18050
  'split-pane-side': hostContext('ion-split-pane', el),
18028
- } }, 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" })));
18051
+ } }, 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" })));
18029
18052
  }
18030
18053
  get el() { return getElement(this); }
18031
18054
  static get watchers() { return {
@@ -18128,7 +18151,7 @@ class MenuButton {
18128
18151
  type: this.type,
18129
18152
  };
18130
18153
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
18131
- return (hAsync(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
18154
+ return (hAsync(Host, { key: '7ec29715ce7926b7c2b08f3d9cac8aaa16b3dc28', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
18132
18155
  [mode]: true,
18133
18156
  button: true, // ion-buttons target .button
18134
18157
  'menu-button-hidden': hidden,
@@ -18137,7 +18160,7 @@ class MenuButton {
18137
18160
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
18138
18161
  'ion-activatable': true,
18139
18162
  'ion-focusable': true,
18140
- }) }, 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" }))));
18163
+ }) }, 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" }))));
18141
18164
  }
18142
18165
  get el() { return getElement(this); }
18143
18166
  static get style() { return {
@@ -18186,10 +18209,10 @@ class MenuToggle {
18186
18209
  render() {
18187
18210
  const mode = getIonMode$1(this);
18188
18211
  const hidden = this.autoHide && !this.visible;
18189
- return (hAsync(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
18212
+ return (hAsync(Host, { key: '7c27ea5b0795676bf5cb33e1f83aa142c197f64e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
18190
18213
  [mode]: true,
18191
18214
  'menu-toggle-hidden': hidden,
18192
- } }, hAsync("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
18215
+ } }, hAsync("slot", { key: '69f187becedc0fe34603d41d279f043cf0fdf776' })));
18193
18216
  }
18194
18217
  static get style() { return IonMenuToggleStyle0; }
18195
18218
  static get cmpMeta() { return {
@@ -19029,7 +19052,7 @@ const computeDuration = (remaining, velocity) => {
19029
19052
  };
19030
19053
 
19031
19054
  const createSheetEnterAnimation = (opts) => {
19032
- const { currentBreakpoint, backdropBreakpoint, expandToScroll } = opts;
19055
+ const { currentBreakpoint, backdropBreakpoint } = opts;
19033
19056
  /**
19034
19057
  * If the backdropBreakpoint is undefined, then the backdrop
19035
19058
  * should always fade in. If the backdropBreakpoint came before the
@@ -19049,16 +19072,7 @@ const createSheetEnterAnimation = (opts) => {
19049
19072
  { offset: 0, opacity: 1, transform: 'translateY(100%)' },
19050
19073
  { offset: 1, opacity: 1, transform: `translateY(${100 - currentBreakpoint * 100}%)` },
19051
19074
  ]);
19052
- /**
19053
- * This allows the content to be scrollable at any breakpoint.
19054
- */
19055
- const contentAnimation = !expandToScroll
19056
- ? createAnimation('contentAnimation').keyframes([
19057
- { offset: 0, opacity: 1, maxHeight: `${(1 - currentBreakpoint) * 100}%` },
19058
- { offset: 1, opacity: 1, maxHeight: `${currentBreakpoint * 100}%` },
19059
- ])
19060
- : undefined;
19061
- return { wrapperAnimation, backdropAnimation, contentAnimation };
19075
+ return { wrapperAnimation, backdropAnimation };
19062
19076
  };
19063
19077
  const createSheetLeaveAnimation = (opts) => {
19064
19078
  const { currentBreakpoint, backdropBreakpoint } = opts;
@@ -19093,68 +19107,22 @@ const createEnterAnimation$1 = () => {
19093
19107
  })
19094
19108
  .afterClearStyles(['pointer-events']);
19095
19109
  const wrapperAnimation = createAnimation().fromTo('transform', 'translateY(100vh)', 'translateY(0vh)');
19096
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19110
+ return { backdropAnimation, wrapperAnimation };
19097
19111
  };
19098
19112
  /**
19099
19113
  * iOS Modal Enter Animation for the Card presentation style
19100
19114
  */
19101
19115
  const iosEnterAnimation$3 = (baseEl, opts) => {
19102
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19116
+ const { presentingEl, currentBreakpoint } = opts;
19103
19117
  const root = getElementRoot(baseEl);
19104
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19118
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation$1();
19105
19119
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19106
19120
  wrapperAnimation.addElement(root.querySelectorAll('.modal-wrapper, .modal-shadow')).beforeStyles({ opacity: 1 });
19107
- // The content animation is only added if scrolling is enabled for
19108
- // all the breakpoints.
19109
- !expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19110
19121
  const baseAnimation = createAnimation('entering-base')
19111
19122
  .addElement(baseEl)
19112
19123
  .easing('cubic-bezier(0.32,0.72,0,1)')
19113
19124
  .duration(500)
19114
- .addAnimation([wrapperAnimation])
19115
- .beforeAddWrite(() => {
19116
- if (expandToScroll) {
19117
- // Scroll can only be done when the modal is fully expanded.
19118
- return;
19119
- }
19120
- /**
19121
- * There are some browsers that causes flickering when
19122
- * dragging the content when scroll is enabled at every
19123
- * breakpoint. This is due to the wrapper element being
19124
- * transformed off the screen and having a snap animation.
19125
- *
19126
- * A workaround is to clone the footer element and append
19127
- * it outside of the wrapper element. This way, the footer
19128
- * is still visible and the drag can be done without
19129
- * flickering. The original footer is hidden until the modal
19130
- * is dismissed. This maintains the animation of the footer
19131
- * when the modal is dismissed.
19132
- *
19133
- * The workaround needs to be done before the animation starts
19134
- * so there are no flickering issues.
19135
- */
19136
- const ionFooter = baseEl.querySelector('ion-footer');
19137
- /**
19138
- * This check is needed to prevent more than one footer
19139
- * from being appended to the shadow root.
19140
- * Otherwise, iOS and MD enter animations would append
19141
- * the footer twice.
19142
- */
19143
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19144
- if (ionFooter && !ionFooterAlreadyAppended) {
19145
- const footerHeight = ionFooter.clientHeight;
19146
- const clonedFooter = ionFooter.cloneNode(true);
19147
- baseEl.shadowRoot.appendChild(clonedFooter);
19148
- ionFooter.style.setProperty('display', 'none');
19149
- ionFooter.setAttribute('aria-hidden', 'true');
19150
- // Padding is added to prevent some content from being hidden.
19151
- const page = baseEl.querySelector('.ion-page');
19152
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19153
- }
19154
- });
19155
- if (contentAnimation) {
19156
- baseAnimation.addAnimation(contentAnimation);
19157
- }
19125
+ .addAnimation(wrapperAnimation);
19158
19126
  if (presentingEl) {
19159
19127
  const isMobile = window.innerWidth < 768;
19160
19128
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19232,7 +19200,7 @@ const createLeaveAnimation$1 = () => {
19232
19200
  * iOS Modal Leave Animation
19233
19201
  */
19234
19202
  const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19235
- const { presentingEl, currentBreakpoint, expandToScroll } = opts;
19203
+ const { presentingEl, currentBreakpoint } = opts;
19236
19204
  const root = getElementRoot(baseEl);
19237
19205
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation$1();
19238
19206
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
@@ -19241,29 +19209,7 @@ const iosLeaveAnimation$3 = (baseEl, opts, duration = 500) => {
19241
19209
  .addElement(baseEl)
19242
19210
  .easing('cubic-bezier(0.32,0.72,0,1)')
19243
19211
  .duration(duration)
19244
- .addAnimation(wrapperAnimation)
19245
- .beforeAddWrite(() => {
19246
- if (expandToScroll) {
19247
- // Scroll can only be done when the modal is fully expanded.
19248
- return;
19249
- }
19250
- /**
19251
- * If expandToScroll is disabled, we need to swap
19252
- * the visibility to the original, so the footer
19253
- * dismisses with the modal and doesn't stay
19254
- * until the modal is removed from the DOM.
19255
- */
19256
- const ionFooter = baseEl.querySelector('ion-footer');
19257
- if (ionFooter) {
19258
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19259
- ionFooter.style.removeProperty('display');
19260
- ionFooter.removeAttribute('aria-hidden');
19261
- clonedFooter.style.setProperty('display', 'none');
19262
- clonedFooter.setAttribute('aria-hidden', 'true');
19263
- const page = baseEl.querySelector('.ion-page');
19264
- page.style.removeProperty('padding-bottom');
19265
- }
19266
- });
19212
+ .addAnimation(wrapperAnimation);
19267
19213
  if (presentingEl) {
19268
19214
  const isMobile = window.innerWidth < 768;
19269
19215
  const hasCardModal = presentingEl.tagName === 'ION-MODAL' && presentingEl.presentingElement !== undefined;
@@ -19341,69 +19287,22 @@ const createEnterAnimation = () => {
19341
19287
  { offset: 0, opacity: 0.01, transform: 'translateY(40px)' },
19342
19288
  { offset: 1, opacity: 1, transform: `translateY(0px)` },
19343
19289
  ]);
19344
- return { backdropAnimation, wrapperAnimation, contentAnimation: undefined };
19290
+ return { backdropAnimation, wrapperAnimation };
19345
19291
  };
19346
19292
  /**
19347
19293
  * Md Modal Enter Animation
19348
19294
  */
19349
19295
  const mdEnterAnimation$2 = (baseEl, opts) => {
19350
- const { currentBreakpoint, expandToScroll } = opts;
19296
+ const { currentBreakpoint } = opts;
19351
19297
  const root = getElementRoot(baseEl);
19352
- const { wrapperAnimation, backdropAnimation, contentAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19298
+ const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetEnterAnimation(opts) : createEnterAnimation();
19353
19299
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19354
19300
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19355
- // The content animation is only added if scrolling is enabled for
19356
- // all the breakpoints.
19357
- expandToScroll && (contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.addElement(baseEl.querySelector('.ion-page')));
19358
- const baseAnimation = createAnimation()
19301
+ return createAnimation()
19359
19302
  .addElement(baseEl)
19360
19303
  .easing('cubic-bezier(0.36,0.66,0.04,1)')
19361
19304
  .duration(280)
19362
- .addAnimation([backdropAnimation, wrapperAnimation])
19363
- .beforeAddWrite(() => {
19364
- if (expandToScroll) {
19365
- // Scroll can only be done when the modal is fully expanded.
19366
- return;
19367
- }
19368
- /**
19369
- * There are some browsers that causes flickering when
19370
- * dragging the content when scroll is enabled at every
19371
- * breakpoint. This is due to the wrapper element being
19372
- * transformed off the screen and having a snap animation.
19373
- *
19374
- * A workaround is to clone the footer element and append
19375
- * it outside of the wrapper element. This way, the footer
19376
- * is still visible and the drag can be done without
19377
- * flickering. The original footer is hidden until the modal
19378
- * is dismissed. This maintains the animation of the footer
19379
- * when the modal is dismissed.
19380
- *
19381
- * The workaround needs to be done before the animation starts
19382
- * so there are no flickering issues.
19383
- */
19384
- const ionFooter = baseEl.querySelector('ion-footer');
19385
- /**
19386
- * This check is needed to prevent more than one footer
19387
- * from being appended to the shadow root.
19388
- * Otherwise, iOS and MD enter animations would append
19389
- * the footer twice.
19390
- */
19391
- const ionFooterAlreadyAppended = baseEl.shadowRoot.querySelector('ion-footer');
19392
- if (ionFooter && !ionFooterAlreadyAppended) {
19393
- const footerHeight = ionFooter.clientHeight;
19394
- const clonedFooter = ionFooter.cloneNode(true);
19395
- baseEl.shadowRoot.appendChild(clonedFooter);
19396
- ionFooter.style.setProperty('display', 'none');
19397
- ionFooter.setAttribute('aria-hidden', 'true');
19398
- // Padding is added to prevent some content from being hidden.
19399
- const page = baseEl.querySelector('.ion-page');
19400
- page.style.setProperty('padding-bottom', `${footerHeight}px`);
19401
- }
19402
- });
19403
- if (contentAnimation) {
19404
- baseAnimation.addAnimation(contentAnimation);
19405
- }
19406
- return baseAnimation;
19305
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19407
19306
  };
19408
19307
 
19409
19308
  const createLeaveAnimation = () => {
@@ -19418,41 +19317,18 @@ const createLeaveAnimation = () => {
19418
19317
  * Md Modal Leave Animation
19419
19318
  */
19420
19319
  const mdLeaveAnimation$2 = (baseEl, opts) => {
19421
- const { currentBreakpoint, expandToScroll } = opts;
19320
+ const { currentBreakpoint } = opts;
19422
19321
  const root = getElementRoot(baseEl);
19423
19322
  const { wrapperAnimation, backdropAnimation } = currentBreakpoint !== undefined ? createSheetLeaveAnimation(opts) : createLeaveAnimation();
19424
19323
  backdropAnimation.addElement(root.querySelector('ion-backdrop'));
19425
19324
  wrapperAnimation.addElement(root.querySelector('.modal-wrapper'));
19426
- const baseAnimation = createAnimation()
19325
+ return createAnimation()
19427
19326
  .easing('cubic-bezier(0.47,0,0.745,0.715)')
19428
19327
  .duration(200)
19429
- .addAnimation([backdropAnimation, wrapperAnimation])
19430
- .beforeAddWrite(() => {
19431
- if (expandToScroll) {
19432
- // Scroll can only be done when the modal is fully expanded.
19433
- return;
19434
- }
19435
- /**
19436
- * If expandToScroll is disabled, we need to swap
19437
- * the visibility to the original, so the footer
19438
- * dismisses with the modal and doesn't stay
19439
- * until the modal is removed from the DOM.
19440
- */
19441
- const ionFooter = baseEl.querySelector('ion-footer');
19442
- if (ionFooter) {
19443
- const clonedFooter = baseEl.shadowRoot.querySelector('ion-footer');
19444
- ionFooter.style.removeProperty('display');
19445
- ionFooter.removeAttribute('aria-hidden');
19446
- clonedFooter.style.setProperty('display', 'none');
19447
- clonedFooter.setAttribute('aria-hidden', 'true');
19448
- const page = baseEl.querySelector('.ion-page');
19449
- page.style.removeProperty('padding-bottom');
19450
- }
19451
- });
19452
- return baseAnimation;
19328
+ .addAnimation([backdropAnimation, wrapperAnimation]);
19453
19329
  };
19454
19330
 
19455
- const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], expandToScroll, getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19331
+ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, backdropBreakpoint, animation, breakpoints = [], getCurrentBreakpoint, onDismiss, onBreakpointChange) => {
19456
19332
  // Defaults for the sheet swipe animation
19457
19333
  const defaultBackdrop = [
19458
19334
  { offset: 0, opacity: 'var(--backdrop-opacity)' },
@@ -19469,10 +19345,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19469
19345
  { offset: 1, transform: 'translateY(100%)' },
19470
19346
  ],
19471
19347
  BACKDROP_KEYFRAMES: backdropBreakpoint !== 0 ? customBackdrop : defaultBackdrop,
19472
- CONTENT_KEYFRAMES: [
19473
- { offset: 0, maxHeight: '100%' },
19474
- { offset: 1, maxHeight: '0%' },
19475
- ],
19476
19348
  };
19477
19349
  const contentEl = baseEl.querySelector('ion-content');
19478
19350
  const height = wrapperEl.clientHeight;
@@ -19480,11 +19352,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19480
19352
  let offset = 0;
19481
19353
  let canDismissBlocksGesture = false;
19482
19354
  const canDismissMaxStep = 0.95;
19483
- const maxBreakpoint = breakpoints[breakpoints.length - 1];
19484
- const minBreakpoint = breakpoints[0];
19485
19355
  const wrapperAnimation = animation.childAnimations.find((ani) => ani.id === 'wrapperAnimation');
19486
19356
  const backdropAnimation = animation.childAnimations.find((ani) => ani.id === 'backdropAnimation');
19487
- const contentAnimation = animation.childAnimations.find((ani) => ani.id === 'contentAnimation');
19357
+ const maxBreakpoint = breakpoints[breakpoints.length - 1];
19358
+ const minBreakpoint = breakpoints[0];
19488
19359
  const enableBackdrop = () => {
19489
19360
  baseEl.style.setProperty('pointer-events', 'auto');
19490
19361
  backdropEl.style.setProperty('pointer-events', 'auto');
@@ -19507,31 +19378,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19507
19378
  */
19508
19379
  baseEl.classList.add(FOCUS_TRAP_DISABLE_CLASS);
19509
19380
  };
19510
- /**
19511
- * Toggles the visible modal footer when `expandToScroll` is disabled.
19512
- * @param footer The footer to show.
19513
- */
19514
- const swapFooterVisibility = (footer) => {
19515
- const originalFooter = baseEl.querySelector('ion-footer');
19516
- if (!originalFooter) {
19517
- return;
19518
- }
19519
- const clonedFooter = wrapperEl.nextElementSibling;
19520
- const footerToHide = footer === 'original' ? clonedFooter : originalFooter;
19521
- const footerToShow = footer === 'original' ? originalFooter : clonedFooter;
19522
- footerToShow.style.removeProperty('display');
19523
- footerToShow.removeAttribute('aria-hidden');
19524
- const page = baseEl.querySelector('.ion-page');
19525
- if (footer === 'original') {
19526
- page.style.removeProperty('padding-bottom');
19527
- }
19528
- else {
19529
- const pagePadding = footerToShow.clientHeight;
19530
- page.style.setProperty('padding-bottom', `${pagePadding}px`);
19531
- }
19532
- footerToHide.style.setProperty('display', 'none');
19533
- footerToHide.setAttribute('aria-hidden', 'true');
19534
- };
19535
19381
  /**
19536
19382
  * After the entering animation completes,
19537
19383
  * we need to set the animation to go from
@@ -19543,7 +19389,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19543
19389
  if (wrapperAnimation && backdropAnimation) {
19544
19390
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19545
19391
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19546
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19547
19392
  animation.progressStart(true, 1 - currentBreakpoint);
19548
19393
  /**
19549
19394
  * If backdrop is not enabled, then content
@@ -19560,7 +19405,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19560
19405
  disableBackdrop();
19561
19406
  }
19562
19407
  }
19563
- if (contentEl && currentBreakpoint !== maxBreakpoint && expandToScroll) {
19408
+ if (contentEl && currentBreakpoint !== maxBreakpoint) {
19564
19409
  contentEl.scrollY = false;
19565
19410
  }
19566
19411
  const canStart = (detail) => {
@@ -19574,13 +19419,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19574
19419
  */
19575
19420
  const contentEl = findClosestIonContent(detail.event.target);
19576
19421
  currentBreakpoint = getCurrentBreakpoint();
19577
- /**
19578
- * If we have expandToScroll disabled, we should not allow the swipe gesture to start
19579
- * if the content is being swiped.
19580
- */
19581
- if (!expandToScroll && contentEl) {
19582
- return false;
19583
- }
19584
19422
  if (currentBreakpoint === 1 && contentEl) {
19585
19423
  /**
19586
19424
  * The modal should never swipe to close on the content with a refresher.
@@ -19611,15 +19449,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19611
19449
  * Remove undefined check
19612
19450
  */
19613
19451
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19614
- /**
19615
- * If expandToScroll is disabled, we need to swap
19616
- * the footer visibility to the original, so if the modal
19617
- * is dismissed, the footer dismisses with the modal
19618
- * and doesn't stay on the screen after the modal is gone.
19619
- */
19620
- if (!expandToScroll) {
19621
- swapFooterVisibility('original');
19622
- }
19623
19452
  /**
19624
19453
  * If we are pulling down, then it is possible we are pulling on the content.
19625
19454
  * We do not want scrolling to happen at the same time as the gesture.
@@ -19735,19 +19564,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19735
19564
  opacity: `calc(var(--backdrop-opacity) * ${getBackdropValueForSheet(snapToBreakpoint, backdropBreakpoint)})`,
19736
19565
  },
19737
19566
  ]);
19738
- if (contentAnimation) {
19739
- /**
19740
- * The modal content should scroll at any breakpoint when expandToScroll
19741
- * is disabled. In order to do this, the content needs to be completely
19742
- * viewable so scrolling can access everything. Otherwise, the default
19743
- * behavior would show the content off the screen and only allow
19744
- * scrolling when the sheet is fully expanded.
19745
- */
19746
- contentAnimation.keyframes([
19747
- { offset: 0, maxHeight: `${(1 - breakpointOffset) * 100}%` },
19748
- { offset: 1, maxHeight: `${snapToBreakpoint * 100}%` },
19749
- ]);
19750
- }
19751
19567
  animation.progressStep(0);
19752
19568
  }
19753
19569
  /**
@@ -19755,14 +19571,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19755
19571
  * snapping animation completes.
19756
19572
  */
19757
19573
  gesture.enable(false);
19758
- /**
19759
- * If expandToScroll is disabled, we need to swap
19760
- * the footer visibility to the cloned one so the footer
19761
- * doesn't flicker when the sheet's height is animated.
19762
- */
19763
- if (!expandToScroll && shouldRemainOpen) {
19764
- swapFooterVisibility('cloned');
19765
- }
19766
19574
  if (shouldPreventDismiss) {
19767
19575
  handleCanDismiss(baseEl, animation);
19768
19576
  }
@@ -19770,13 +19578,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19770
19578
  onDismiss();
19771
19579
  }
19772
19580
  /**
19773
- * Enables scrolling immediately if the sheet is about to fully expand
19774
- * or if it allows scrolling at any breakpoint. Without this, there would
19775
- * be a ~500ms delay while the modal animation completes, causing a
19776
- * noticeable lag. Native iOS allows scrolling as soon as the gesture is
19777
- * released, so we align with that behavior.
19581
+ * If the sheet is going to be fully expanded then we should enable
19582
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
19583
+ * so if we wait until then there is a visible delay for when scrolling is
19584
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
19585
+ * as the gesture is released, so we align with that.
19778
19586
  */
19779
- if (contentEl && (snapToBreakpoint === breakpoints[breakpoints.length - 1] || !expandToScroll)) {
19587
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
19780
19588
  contentEl.scrollY = true;
19781
19589
  }
19782
19590
  return new Promise((resolve) => {
@@ -19794,7 +19602,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19794
19602
  raf(() => {
19795
19603
  wrapperAnimation.keyframes([...SheetDefaults.WRAPPER_KEYFRAMES]);
19796
19604
  backdropAnimation.keyframes([...SheetDefaults.BACKDROP_KEYFRAMES]);
19797
- contentAnimation === null || contentAnimation === void 0 ? void 0 : contentAnimation.keyframes([...SheetDefaults.CONTENT_KEYFRAMES]);
19798
19605
  animation.progressStart(true, 1 - snapToBreakpoint);
19799
19606
  currentBreakpoint = snapToBreakpoint;
19800
19607
  onBreakpointChange(currentBreakpoint);
@@ -19847,10 +19654,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19847
19654
  };
19848
19655
  };
19849
19656
 
19850
- 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}";
19657
+ 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}";
19851
19658
  var IonModalIosStyle0 = modalIosCss;
19852
19659
 
19853
- 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}";
19660
+ 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}";
19854
19661
  var IonModalMdStyle0 = modalMdCss;
19855
19662
 
19856
19663
  // TODO(FW-2832): types
@@ -19929,7 +19736,6 @@ class Modal {
19929
19736
  this.enterAnimation = undefined;
19930
19737
  this.leaveAnimation = undefined;
19931
19738
  this.breakpoints = undefined;
19932
- this.expandToScroll = true;
19933
19739
  this.initialBreakpoint = undefined;
19934
19740
  this.backdropBreakpoint = 0;
19935
19741
  this.handle = undefined;
@@ -20145,7 +19951,6 @@ class Modal {
20145
19951
  presentingEl: presentingElement,
20146
19952
  currentBreakpoint: this.initialBreakpoint,
20147
19953
  backdropBreakpoint: this.backdropBreakpoint,
20148
- expandToScroll: this.expandToScroll,
20149
19954
  });
20150
19955
  /* tslint:disable-next-line */
20151
19956
  if (typeof window !== 'undefined') {
@@ -20196,10 +20001,7 @@ class Modal {
20196
20001
  // should be in the DOM and referenced by now, except
20197
20002
  // for the presenting el
20198
20003
  const animationBuilder = this.leaveAnimation || config.get('modalLeave', iosLeaveAnimation$3);
20199
- const ani = (this.animation = animationBuilder(el, {
20200
- presentingEl: this.presentingElement,
20201
- expandToScroll: this.expandToScroll,
20202
- }));
20004
+ const ani = (this.animation = animationBuilder(el, { presentingEl: this.presentingElement }));
20203
20005
  const contentEl = findIonContent(el);
20204
20006
  if (!contentEl) {
20205
20007
  printIonContentErrorMsg(el);
@@ -20244,10 +20046,9 @@ class Modal {
20244
20046
  presentingEl: this.presentingElement,
20245
20047
  currentBreakpoint: initialBreakpoint,
20246
20048
  backdropBreakpoint,
20247
- expandToScroll: this.expandToScroll,
20248
20049
  }));
20249
20050
  ani.progressStart(true, 1);
20250
- 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) => {
20051
+ 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) => {
20251
20052
  if (this.currentBreakpoint !== breakpoint) {
20252
20053
  this.currentBreakpoint = breakpoint;
20253
20054
  this.ionBreakpointDidChange.emit({ breakpoint });
@@ -20325,7 +20126,6 @@ class Modal {
20325
20126
  presentingEl: presentingElement,
20326
20127
  currentBreakpoint: (_a = this.currentBreakpoint) !== null && _a !== void 0 ? _a : this.initialBreakpoint,
20327
20128
  backdropBreakpoint: this.backdropBreakpoint,
20328
- expandToScroll: this.expandToScroll,
20329
20129
  });
20330
20130
  if (dismissed) {
20331
20131
  const { delegate } = this.getDelegate();
@@ -20411,23 +20211,23 @@ class Modal {
20411
20211
  return true;
20412
20212
  }
20413
20213
  render() {
20414
- const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap, expandToScroll, } = this;
20214
+ const { handle, isSheetModal, presentingElement, htmlAttributes, handleBehavior, inheritedAttributes, focusTrap } = this;
20415
20215
  const showHandle = handle !== false && isSheetModal;
20416
20216
  const mode = getIonMode$1(this);
20417
20217
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20418
20218
  const isHandleCycle = handleBehavior === 'cycle';
20419
- return (hAsync(Host, Object.assign({ key: '8b74b6fa151995ab86cdeb989e338ee45c687f6d', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20219
+ return (hAsync(Host, Object.assign({ key: 'b4da5111fe4719fa450c39b2d4bd884a302a7924', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20420
20220
  zIndex: `${20000 + this.overlayIndex}`,
20421
- }, 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',
20221
+ }, 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',
20422
20222
  /*
20423
20223
  role and aria-modal must be used on the
20424
20224
  same element. They must also be set inside the
20425
20225
  shadow DOM otherwise ion-button will not be highlighted
20426
20226
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20427
20227
  */
20428
- 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",
20228
+ 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",
20429
20229
  // Prevents the handle from receiving keyboard focus when it does not cycle
20430
- 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' }))));
20230
+ 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' }))));
20431
20231
  }
20432
20232
  get el() { return getElement(this); }
20433
20233
  static get watchers() { return {
@@ -20449,7 +20249,6 @@ class Modal {
20449
20249
  "enterAnimation": [16],
20450
20250
  "leaveAnimation": [16],
20451
20251
  "breakpoints": [16],
20452
- "expandToScroll": [4, "expand-to-scroll"],
20453
20252
  "initialBreakpoint": [2, "initial-breakpoint"],
20454
20253
  "backdropBreakpoint": [2, "backdrop-breakpoint"],
20455
20254
  "handle": [4],
@@ -21377,7 +21176,7 @@ class Nav {
21377
21176
  }
21378
21177
  }
21379
21178
  render() {
21380
- return hAsync("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
21179
+ return hAsync("slot", { key: 'dfe98cb6604a2015a49f41beffebdd2da957dfff' });
21381
21180
  }
21382
21181
  get el() { return getElement(this); }
21383
21182
  static get watchers() { return {
@@ -21450,7 +21249,7 @@ class NavLink {
21450
21249
  this.routerAnimation = undefined;
21451
21250
  }
21452
21251
  render() {
21453
- return hAsync(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
21252
+ return hAsync(Host, { key: 'd2f8545b4fbd5aa25ef36eb01dffbc5d35ccfbb9', onClick: this.onClick });
21454
21253
  }
21455
21254
  get el() { return getElement(this); }
21456
21255
  static get cmpMeta() { return {
@@ -21484,9 +21283,9 @@ class Note {
21484
21283
  }
21485
21284
  render() {
21486
21285
  const mode = getIonMode$1(this);
21487
- return (hAsync(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses$1(this.color, {
21286
+ return (hAsync(Host, { key: '10a3495bc21166176986441479f8f7539029d161', class: createColorClasses$1(this.color, {
21488
21287
  [mode]: true,
21489
- }) }, hAsync("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
21288
+ }) }, hAsync("slot", { key: 'b6a9459e1b85f608fafd060a4bfeb11637ebe873' })));
21490
21289
  }
21491
21290
  static get style() { return {
21492
21291
  ios: IonNoteIosStyle0,
@@ -22251,11 +22050,11 @@ class Picker {
22251
22050
  render() {
22252
22051
  const { htmlAttributes } = this;
22253
22052
  const mode = getIonMode$1(this);
22254
- return (hAsync(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22053
+ return (hAsync(Host, Object.assign({ key: '0712fa8732141848e50ad2e08e2ba66ef2a48991', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22255
22054
  zIndex: `${20000 + this.overlayIndex}`,
22256
22055
  }, class: Object.assign({ [mode]: true,
22257
22056
  // Used internally for styling
22258
- [`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" })));
22057
+ [`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" })));
22259
22058
  }
22260
22059
  get el() { return getElement(this); }
22261
22060
  static get watchers() { return {
@@ -23230,9 +23029,9 @@ class PickerColumnCmp {
23230
23029
  render() {
23231
23030
  const col = this.col;
23232
23031
  const mode = getIonMode$1(this);
23233
- 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: {
23032
+ 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: {
23234
23033
  'max-width': this.col.columnWidth,
23235
- } }, 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))));
23034
+ } }, 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))));
23236
23035
  }
23237
23036
  get el() { return getElement(this); }
23238
23037
  static get watchers() { return {
@@ -23336,10 +23135,10 @@ class PickerColumnOption {
23336
23135
  render() {
23337
23136
  const { color, disabled, ariaLabel } = this;
23338
23137
  const mode = getIonMode$1(this);
23339
- return (hAsync(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses$1(color, {
23138
+ return (hAsync(Host, { key: 'c743c6ef44bb9f765cc15b3b5d2864de6520203a', class: createColorClasses$1(color, {
23340
23139
  [mode]: true,
23341
23140
  ['option-disabled']: disabled,
23342
- }) }, hAsync("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
23141
+ }) }, hAsync("button", { key: '4c3d9eb245c52b2c007f727e145cfb55759bd7a9', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '4c907d2187cbe9d5941e27f2b12578e2b7271461' }))));
23343
23142
  }
23344
23143
  get el() { return getElement(this); }
23345
23144
  static get watchers() { return {
@@ -24653,9 +24452,9 @@ class Popover {
24653
24452
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
24654
24453
  const desktop = isPlatform('desktop');
24655
24454
  const enableArrow = arrow && !parentPopover;
24656
- return (hAsync(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24455
+ return (hAsync(Host, Object.assign({ key: 'ffe8b37c9ffb5cac210a7307e6cdfcf78712905b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24657
24456
  zIndex: `${20000 + this.overlayIndex}`,
24658
- }, 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' })))));
24457
+ }, 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' })))));
24659
24458
  }
24660
24459
  get el() { return getElement(this); }
24661
24460
  static get watchers() { return {
@@ -24747,7 +24546,7 @@ class ProgressBar {
24747
24546
  const mode = getIonMode$1(this);
24748
24547
  // If the progress is displayed as a solid bar.
24749
24548
  const progressSolid = buffer === 1;
24750
- return (hAsync(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
24549
+ return (hAsync(Host, { key: '8d8ddf0b26fe33803d3a6168cbedd523d1a888e7', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
24751
24550
  [mode]: true,
24752
24551
  [`progress-bar-${type}`]: true,
24753
24552
  'progress-paused': paused,
@@ -24917,7 +24716,7 @@ class Radio {
24917
24716
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
24918
24717
  const mode = getIonMode$1(this);
24919
24718
  const inItem = hostContext('ion-item', el);
24920
- return (hAsync(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
24719
+ return (hAsync(Host, { key: '5a0adab55ad009305de4856fa1b9f93f2279a734', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
24921
24720
  [mode]: true,
24922
24721
  'in-item': inItem,
24923
24722
  'radio-checked': checked,
@@ -24928,10 +24727,10 @@ class Radio {
24928
24727
  // Focus and active styling should not apply when the radio is in an item
24929
24728
  'ion-activatable': !inItem,
24930
24729
  'ion-focusable': !inItem,
24931
- }), 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: {
24730
+ }), 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: {
24932
24731
  'label-text-wrapper': true,
24933
24732
  'label-text-wrapper-hidden': !hasLabel,
24934
- }, part: "label" }, hAsync("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), hAsync("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
24733
+ }, part: "label" }, hAsync("slot", { key: '6cedf4e7b3bd03e4a635727dd7b6094bab64af64' })), hAsync("div", { key: '26dd48d9d2848b7f100b732abdc4a3171adde483', class: "native-wrapper" }, this.renderRadioControl()))));
24935
24734
  }
24936
24735
  get el() { return getElement(this); }
24937
24736
  static get watchers() { return {
@@ -24964,20 +24763,12 @@ class Radio {
24964
24763
  }
24965
24764
  let radioButtonIds = 0;
24966
24765
 
24967
- 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}";
24968
- var IonRadioGroupIosStyle0 = radioGroupIosCss;
24969
-
24970
- 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}";
24971
- var IonRadioGroupMdStyle0 = radioGroupMdCss;
24972
-
24973
24766
  class RadioGroup {
24974
24767
  constructor(hostRef) {
24975
24768
  registerInstance(this, hostRef);
24976
24769
  this.ionChange = createEvent(this, "ionChange", 7);
24977
24770
  this.ionValueChange = createEvent(this, "ionValueChange", 7);
24978
24771
  this.inputId = `ion-rg-${radioGroupIds++}`;
24979
- this.helperTextId = `${this.inputId}-helper-text`;
24980
- this.errorTextId = `${this.inputId}-error-text`;
24981
24772
  this.labelId = `${this.inputId}-lbl`;
24982
24773
  this.setRadioTabindex = (value) => {
24983
24774
  const radios = this.getRadios();
@@ -25029,8 +24820,6 @@ class RadioGroup {
25029
24820
  this.compareWith = undefined;
25030
24821
  this.name = this.inputId;
25031
24822
  this.value = undefined;
25032
- this.helperText = undefined;
25033
- this.errorText = undefined;
25034
24823
  }
25035
24824
  valueChanged(value) {
25036
24825
  this.setRadioTabindex(value);
@@ -25129,51 +24918,24 @@ class RadioGroup {
25129
24918
  const radioToFocus = this.getRadios().find((r) => r.tabIndex !== -1);
25130
24919
  radioToFocus === null || radioToFocus === void 0 ? void 0 : radioToFocus.setFocus();
25131
24920
  }
25132
- /**
25133
- * Renders the helper text or error text values
25134
- */
25135
- renderHintText() {
25136
- const { helperText, errorText, helperTextId, errorTextId } = this;
25137
- const hasHintText = !!helperText || !!errorText;
25138
- if (!hasHintText) {
25139
- return;
25140
- }
25141
- return (hAsync("div", { class: "radio-group-top" }, hAsync("div", { id: helperTextId, class: "helper-text" }, helperText), hAsync("div", { id: errorTextId, class: "error-text" }, errorText)));
25142
- }
25143
- getHintTextID() {
25144
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
25145
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
25146
- return errorTextId;
25147
- }
25148
- if (helperText) {
25149
- return helperTextId;
25150
- }
25151
- return undefined;
25152
- }
25153
24921
  render() {
25154
24922
  const { label, labelId, el, name, value } = this;
25155
24923
  const mode = getIonMode$1(this);
25156
24924
  renderHiddenInput(true, el, name, value, false);
25157
- 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' }))));
24925
+ return hAsync(Host, { key: 'a853e38901f0f4ba17bbf21ebb5da5b5c20b327e', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
25158
24926
  }
25159
24927
  get el() { return getElement(this); }
25160
24928
  static get watchers() { return {
25161
24929
  "value": ["valueChanged"]
25162
24930
  }; }
25163
- static get style() { return {
25164
- ios: IonRadioGroupIosStyle0,
25165
- md: IonRadioGroupMdStyle0
25166
- }; }
25167
24931
  static get cmpMeta() { return {
25168
- "$flags$": 36,
24932
+ "$flags$": 0,
25169
24933
  "$tagName$": "ion-radio-group",
25170
24934
  "$members$": {
25171
24935
  "allowEmptySelection": [4, "allow-empty-selection"],
25172
24936
  "compareWith": [1, "compare-with"],
25173
24937
  "name": [1],
25174
24938
  "value": [1032],
25175
- "helperText": [1, "helper-text"],
25176
- "errorText": [1, "error-text"],
25177
24939
  "setFocus": [64]
25178
24940
  },
25179
24941
  "$listeners$": [[4, "keydown", "onKeydown"]],
@@ -25793,7 +25555,7 @@ class Range {
25793
25555
  const needsEndAdjustment = inItem && !hasEndContent;
25794
25556
  const mode = getIonMode$1(this);
25795
25557
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25796
- return (hAsync(Host, { key: 'efb8663a61f36a9db4ef69ece3a22e1424acbc28', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25558
+ return (hAsync(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25797
25559
  [mode]: true,
25798
25560
  'in-item': inItem,
25799
25561
  'range-disabled': disabled,
@@ -25802,10 +25564,10 @@ class Range {
25802
25564
  [`range-label-placement-${labelPlacement}`]: true,
25803
25565
  'range-item-start-adjustment': needsStartAdjustment,
25804
25566
  'range-item-end-adjustment': needsEndAdjustment,
25805
- }) }, hAsync("label", { key: '040be16d5a2b4c1dded852d45a82e7505dc8fb30', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'd2ba909a1177dd27c1789f0d3f8f012a39f216c6', class: {
25567
+ }) }, hAsync("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
25806
25568
  'label-text-wrapper': true,
25807
25569
  'label-text-wrapper-hidden': !hasLabel,
25808
- }, 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" })))));
25570
+ }, 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" })))));
25809
25571
  }
25810
25572
  get el() { return getElement(this); }
25811
25573
  static get watchers() { return {
@@ -26706,7 +26468,7 @@ class Refresher {
26706
26468
  }
26707
26469
  render() {
26708
26470
  const mode = getIonMode$1(this);
26709
- return (hAsync(Host, { key: '4c36bffbfa32ef1bd28a60f4455c125842880659', slot: "fixed", class: {
26471
+ return (hAsync(Host, { key: '9d4ac22988aec2c6af0b0c90934c52f62f0e4ce3', slot: "fixed", class: {
26710
26472
  [mode]: true,
26711
26473
  // Used internally for styling
26712
26474
  [`refresher-${mode}`]: true,
@@ -26934,7 +26696,7 @@ class RefresherContent {
26934
26696
  const pullingIcon = this.pullingIcon;
26935
26697
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
26936
26698
  const mode = getIonMode$1(this);
26937
- 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())));
26699
+ 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())));
26938
26700
  }
26939
26701
  get el() { return getElement(this); }
26940
26702
  static get cmpMeta() { return {
@@ -26977,7 +26739,7 @@ class Reorder {
26977
26739
  render() {
26978
26740
  const mode = getIonMode$1(this);
26979
26741
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
26980
- 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" }))));
26742
+ 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" }))));
26981
26743
  }
26982
26744
  get el() { return getElement(this); }
26983
26745
  static get style() { return {
@@ -27231,7 +26993,7 @@ class ReorderGroup {
27231
26993
  }
27232
26994
  render() {
27233
26995
  const mode = getIonMode$1(this);
27234
- return (hAsync(Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
26996
+ return (hAsync(Host, { key: 'a38c7fbceb677201330a602273d5b55abb32da19', class: {
27235
26997
  [mode]: true,
27236
26998
  'reorder-enabled': !this.disabled,
27237
26999
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -27339,7 +27101,7 @@ class RippleEffect {
27339
27101
  }
27340
27102
  render() {
27341
27103
  const mode = getIonMode$1(this);
27342
- return (hAsync(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
27104
+ return (hAsync(Host, { key: '7ae559bda5d2c1856a45bfa150c2cb4f83373f8e', role: "presentation", class: {
27343
27105
  [mode]: true,
27344
27106
  unbounded: this.unbounded,
27345
27107
  } }));
@@ -28281,10 +28043,10 @@ class RouterLink {
28281
28043
  rel: this.rel,
28282
28044
  target: this.target,
28283
28045
  };
28284
- return (hAsync(Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: createColorClasses$1(this.color, {
28046
+ return (hAsync(Host, { key: '529ceed5beaf92d7b4cc315c82f449eac18310e8', onClick: this.onClick, class: createColorClasses$1(this.color, {
28285
28047
  [mode]: true,
28286
28048
  'ion-activatable': true,
28287
- }) }, hAsync("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), hAsync("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
28049
+ }) }, hAsync("a", Object.assign({ key: 'd5f1f8b256695d70bdafd20ff3d1b625963fa2da' }, attrs), hAsync("slot", { key: '613fcdb36a71e076f989551ea21f1d5c118b1cd2' }))));
28288
28050
  }
28289
28051
  static get style() { return IonRouterLinkStyle0; }
28290
28052
  static get cmpMeta() { return {
@@ -28479,7 +28241,7 @@ class RouterOutlet {
28479
28241
  return true;
28480
28242
  }
28481
28243
  render() {
28482
- return hAsync("slot", { key: '8d0c163c5f63158e16ef2db7cc3c756cf597461d' });
28244
+ return hAsync("slot", { key: 'a70341f58d19df55de1dad00e3464388e446aa2a' });
28483
28245
  }
28484
28246
  get el() { return getElement(this); }
28485
28247
  static get watchers() { return {
@@ -28513,7 +28275,7 @@ class Row {
28513
28275
  registerInstance(this, hostRef);
28514
28276
  }
28515
28277
  render() {
28516
- return (hAsync(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
28278
+ return (hAsync(Host, { key: 'aea072a5005e3f1f309f0d1ae5be5ee19869b035', class: getIonMode$1(this) }, hAsync("slot", { key: '2a481c2126ac6ca65f0a1bbd07c2d3365409cb78' })));
28517
28279
  }
28518
28280
  static get style() { return IonRowStyle0; }
28519
28281
  static get cmpMeta() { return {
@@ -28907,8 +28669,8 @@ class Searchbar {
28907
28669
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
28908
28670
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
28909
28671
  const shouldShowCancelButton = this.shouldShowCancelButton();
28910
- 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))));
28911
- return (hAsync(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
28672
+ 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))));
28673
+ return (hAsync(Host, { key: '17d57ece5852d03047e4d53ddad6c9d88a432a00', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
28912
28674
  [mode]: true,
28913
28675
  'searchbar-animated': animated,
28914
28676
  'searchbar-disabled': this.disabled,
@@ -28918,14 +28680,14 @@ class Searchbar {
28918
28680
  'searchbar-has-focus': this.focused,
28919
28681
  'searchbar-should-show-clear': this.shouldShowClearButton(),
28920
28682
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
28921
- }) }, 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) => {
28683
+ }) }, 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) => {
28922
28684
  /**
28923
28685
  * This prevents mobile browsers from
28924
28686
  * blurring the input when the clear
28925
28687
  * button is activated.
28926
28688
  */
28927
28689
  ev.preventDefault();
28928
- }, 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));
28690
+ }, 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));
28929
28691
  }
28930
28692
  get el() { return getElement(this); }
28931
28693
  static get watchers() { return {
@@ -29509,14 +29271,14 @@ class Segment {
29509
29271
  }
29510
29272
  render() {
29511
29273
  const mode = getIonMode$1(this);
29512
- return (hAsync(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
29274
+ return (hAsync(Host, { key: 'b1eb4a6e4f953f6c4882395585799503735bbc6b', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
29513
29275
  [mode]: true,
29514
29276
  'in-toolbar': hostContext('ion-toolbar', this.el),
29515
29277
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
29516
29278
  'segment-activated': this.activated,
29517
29279
  'segment-disabled': this.disabled,
29518
29280
  'segment-scrollable': this.scrollable,
29519
- }) }, hAsync("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
29281
+ }) }, hAsync("slot", { key: 'e7df6b017d154f30eb8021bc965f2e6c8e6480bf', onSlotchange: this.onSlottedItemsChange })));
29520
29282
  }
29521
29283
  get el() { return getElement(this); }
29522
29284
  static get watchers() { return {
@@ -29587,7 +29349,35 @@ class SegmentButton {
29587
29349
  valueChanged() {
29588
29350
  this.updateState();
29589
29351
  }
29590
- connectedCallback() {
29352
+ waitForSegmentContent(ionSegment, contentId) {
29353
+ return new Promise((resolve, reject) => {
29354
+ let timeoutId = undefined;
29355
+ let animationFrameId;
29356
+ const check = () => {
29357
+ if (!ionSegment) {
29358
+ reject(new Error(`Segment not found when looking for Segment Content`));
29359
+ return;
29360
+ }
29361
+ const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
29362
+ const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
29363
+ if (segmentContent && timeoutId) {
29364
+ clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
29365
+ cancelAnimationFrame(animationFrameId);
29366
+ resolve(segmentContent);
29367
+ }
29368
+ else {
29369
+ animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
29370
+ }
29371
+ };
29372
+ check();
29373
+ // Set a timeout to reject the promise
29374
+ timeoutId = setTimeout(() => {
29375
+ cancelAnimationFrame(animationFrameId);
29376
+ reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
29377
+ }, 1000);
29378
+ });
29379
+ }
29380
+ async connectedCallback() {
29591
29381
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
29592
29382
  if (segmentEl) {
29593
29383
  this.updateState();
@@ -29597,11 +29387,14 @@ class SegmentButton {
29597
29387
  // Return if there is no contentId defined
29598
29388
  if (!this.contentId)
29599
29389
  return;
29600
- // Attempt to find the Segment Content by its contentId
29601
- const segmentContent = document.getElementById(this.contentId);
29602
- // If no associated Segment Content exists, log an error and return
29603
- if (!segmentContent) {
29604
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29390
+ let segmentContent;
29391
+ try {
29392
+ // Attempt to find the Segment Content by its contentId
29393
+ segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
29394
+ }
29395
+ catch (error) {
29396
+ // If no associated Segment Content exists, log an error and return
29397
+ console.error('Segment Button: ', error.message);
29605
29398
  return;
29606
29399
  }
29607
29400
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
@@ -29647,7 +29440,7 @@ class SegmentButton {
29647
29440
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29648
29441
  const mode = getIonMode$1(this);
29649
29442
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29650
- return (hAsync(Host, { key: '79518fc8c0d1c72604397a281bdcfdcf4e070395', class: {
29443
+ return (hAsync(Host, { key: 'f9da656c8eccb80e4ef30e3fa977f2dbbefbc988', class: {
29651
29444
  [mode]: true,
29652
29445
  'in-toolbar': hostContext('ion-toolbar', this.el),
29653
29446
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29663,7 +29456,7 @@ class SegmentButton {
29663
29456
  'ion-activatable': true,
29664
29457
  'ion-activatable-instant': true,
29665
29458
  'ion-focusable': true,
29666
- } }, 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" }))));
29459
+ } }, 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" }))));
29667
29460
  }
29668
29461
  get el() { return getElement(this); }
29669
29462
  static get watchers() { return {
@@ -29699,7 +29492,7 @@ class SegmentContent {
29699
29492
  registerInstance(this, hostRef);
29700
29493
  }
29701
29494
  render() {
29702
- return (hAsync(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, hAsync("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
29495
+ return (hAsync(Host, { key: '03684b2999ac64fe13e376fd7e7f279976e9d4f2' }, hAsync("slot", { key: '143031075bf33ca19e7cfd76fc8a67b83ccaf11c' })));
29703
29496
  }
29704
29497
  static get style() { return IonSegmentContentStyle0; }
29705
29498
  static get cmpMeta() { return {
@@ -29812,10 +29605,10 @@ class SegmentView {
29812
29605
  }
29813
29606
  render() {
29814
29607
  const { disabled, isManualScroll } = this;
29815
- return (hAsync(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
29608
+ return (hAsync(Host, { key: '9f4f11d31c4db776f077e59ae895b35dd4454717', class: {
29816
29609
  'segment-view-disabled': disabled,
29817
29610
  'segment-view-scroll-disabled': isManualScroll === false,
29818
- } }, hAsync("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
29611
+ } }, hAsync("slot", { key: 'ea58b21f031cee2ab2b70580f336deaefa364538' })));
29819
29612
  }
29820
29613
  get el() { return getElement(this); }
29821
29614
  static get style() { return {
@@ -29930,7 +29723,6 @@ class Select {
29930
29723
  this.expandedIcon = undefined;
29931
29724
  this.shape = undefined;
29932
29725
  this.value = undefined;
29933
- this.required = false;
29934
29726
  }
29935
29727
  styleChanged() {
29936
29728
  this.emitStyle();
@@ -30415,8 +30207,8 @@ class Select {
30415
30207
  return renderedLabel;
30416
30208
  }
30417
30209
  renderListbox() {
30418
- const { disabled, inputId, isExpanded, required } = this;
30419
- 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) }));
30210
+ const { disabled, inputId, isExpanded } = this;
30211
+ 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) }));
30420
30212
  }
30421
30213
  render() {
30422
30214
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -30447,7 +30239,7 @@ class Select {
30447
30239
  * TODO(FW-5592): Remove hasStartEndSlots condition
30448
30240
  */
30449
30241
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30450
- return (hAsync(Host, { key: '457f1130a291ff1f6fdb8a112f6c32b53efdad7a', onClick: this.onClick, class: createColorClasses$1(this.color, {
30242
+ return (hAsync(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses$1(this.color, {
30451
30243
  [mode]: true,
30452
30244
  'in-item': inItem,
30453
30245
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30463,7 +30255,7 @@ class Select {
30463
30255
  [`select-justify-${justify}`]: justifyEnabled,
30464
30256
  [`select-shape-${shape}`]: shape !== undefined,
30465
30257
  [`select-label-placement-${labelPlacement}`]: true,
30466
- }) }, 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" }))));
30258
+ }) }, 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" }))));
30467
30259
  }
30468
30260
  get el() { return getElement(this); }
30469
30261
  static get watchers() { return {
@@ -30499,7 +30291,6 @@ class Select {
30499
30291
  "expandedIcon": [1, "expanded-icon"],
30500
30292
  "shape": [1],
30501
30293
  "value": [1032],
30502
- "required": [4],
30503
30294
  "isExpanded": [32],
30504
30295
  "open": [64]
30505
30296
  },
@@ -30624,7 +30415,7 @@ class SelectModal {
30624
30415
  } }, option.text))));
30625
30416
  }
30626
30417
  render() {
30627
- 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()))));
30418
+ 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()))));
30628
30419
  }
30629
30420
  get el() { return getElement(this); }
30630
30421
  static get style() { return {
@@ -30657,7 +30448,7 @@ class SelectOption {
30657
30448
  this.value = undefined;
30658
30449
  }
30659
30450
  render() {
30660
- return hAsync(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode$1(this) });
30451
+ return hAsync(Host, { key: '2e6fa159464f04f6d8720f960141f67918bc7534', role: "option", id: this.inputId, class: getIonMode$1(this) });
30661
30452
  }
30662
30453
  get el() { return getElement(this); }
30663
30454
  static get style() { return IonSelectOptionStyle0; }
@@ -30777,7 +30568,7 @@ class SelectPopover {
30777
30568
  render() {
30778
30569
  const { header, message, options, subHeader } = this;
30779
30570
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
30780
- 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))));
30571
+ 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))));
30781
30572
  }
30782
30573
  get el() { return getElement(this); }
30783
30574
  static get style() { return {
@@ -30825,11 +30616,11 @@ class SkeletonText {
30825
30616
  const animated = this.animated && config.getBoolean('animated', true);
30826
30617
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
30827
30618
  const mode = getIonMode$1(this);
30828
- return (hAsync(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
30619
+ return (hAsync(Host, { key: 'fdfabf9364caf507450239b62be24f08873bd650', class: {
30829
30620
  [mode]: true,
30830
30621
  'skeleton-text-animated': animated,
30831
30622
  'in-media': inMedia,
30832
- } }, hAsync("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
30623
+ } }, hAsync("span", { key: '3482c88dcc177547185ce87972afa064a542367d' }, "\u00A0")));
30833
30624
  }
30834
30625
  get el() { return getElement(this); }
30835
30626
  static get style() { return IonSkeletonTextStyle0; }
@@ -30882,7 +30673,7 @@ class Spinner {
30882
30673
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
30883
30674
  }
30884
30675
  }
30885
- return (hAsync(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses$1(self.color, {
30676
+ return (hAsync(Host, { key: '9d30ee9f5aa0dd0e220da07e75d05b8b2435224d', class: createColorClasses$1(self.color, {
30886
30677
  [mode]: true,
30887
30678
  [`spinner-${spinnerName}`]: true,
30888
30679
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -30982,12 +30773,12 @@ class SplitPane {
30982
30773
  }
30983
30774
  render() {
30984
30775
  const mode = getIonMode$1(this);
30985
- return (hAsync(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
30776
+ return (hAsync(Host, { key: '1ca0b0299d03605bb358112ca56cbafbe58f00f5', class: {
30986
30777
  [mode]: true,
30987
30778
  // Used internally for styling
30988
30779
  [`split-pane-${mode}`]: true,
30989
30780
  'split-pane-visible': this.visible,
30990
- } }, hAsync("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
30781
+ } }, hAsync("slot", { key: 'abe231361727ae7fc63edd592a4490caac1909fb' })));
30991
30782
  }
30992
30783
  get el() { return getElement(this); }
30993
30784
  static get watchers() { return {
@@ -31056,10 +30847,10 @@ class Tab {
31056
30847
  }
31057
30848
  render() {
31058
30849
  const { tab, active, component } = this;
31059
- return (hAsync(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
30850
+ return (hAsync(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31060
30851
  'ion-page': component === undefined,
31061
30852
  'tab-hidden': !active,
31062
- } }, hAsync("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
30853
+ } }, hAsync("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
31063
30854
  }
31064
30855
  get el() { return getElement(this); }
31065
30856
  static get watchers() { return {
@@ -31137,11 +30928,11 @@ class TabBar {
31137
30928
  const { color, translucent, keyboardVisible } = this;
31138
30929
  const mode = getIonMode$1(this);
31139
30930
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
31140
- return (hAsync(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
30931
+ return (hAsync(Host, { key: 'a87fd2ea5df053705a37ea7ffec043e75c4a9907', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
31141
30932
  [mode]: true,
31142
30933
  'tab-bar-translucent': translucent,
31143
30934
  'tab-bar-hidden': shouldHide,
31144
- }) }, hAsync("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
30935
+ }) }, hAsync("slot", { key: '81a6223299b6cab29d7ddced590e9152e2b3ded0' })));
31145
30936
  }
31146
30937
  get el() { return getElement(this); }
31147
30938
  static get watchers() { return {
@@ -31239,7 +31030,7 @@ class TabButton {
31239
31030
  rel,
31240
31031
  target,
31241
31032
  };
31242
- return (hAsync(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
31033
+ return (hAsync(Host, { key: '5976c45943ea7ea8e7c1a85fc9996de421439f08', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
31243
31034
  [mode]: true,
31244
31035
  'tab-selected': selected,
31245
31036
  'tab-disabled': disabled,
@@ -31251,7 +31042,7 @@ class TabButton {
31251
31042
  'ion-activatable': true,
31252
31043
  'ion-selectable': true,
31253
31044
  'ion-focusable': true,
31254
- } }, 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" }))));
31045
+ } }, 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" }))));
31255
31046
  }
31256
31047
  get el() { return getElement(this); }
31257
31048
  static get style() { return {
@@ -31427,7 +31218,7 @@ class Tabs {
31427
31218
  return Array.from(this.el.querySelectorAll('ion-tab'));
31428
31219
  }
31429
31220
  render() {
31430
- 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" })));
31221
+ 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" })));
31431
31222
  }
31432
31223
  get el() { return getElement(this); }
31433
31224
  static get style() { return IonTabsStyle0; }
@@ -31469,9 +31260,9 @@ class Text {
31469
31260
  }
31470
31261
  render() {
31471
31262
  const mode = getIonMode$1(this);
31472
- return (hAsync(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses$1(this.color, {
31263
+ return (hAsync(Host, { key: 'e134d70c04344b708a2ecf6253722781ad2ca826', class: createColorClasses$1(this.color, {
31473
31264
  [mode]: true,
31474
- }) }, hAsync("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
31265
+ }) }, hAsync("slot", { key: 'da79c760f7ebbcd007ce110439f05a62cb22eac8' })));
31475
31266
  }
31476
31267
  static get style() { return IonTextStyle0; }
31477
31268
  static get cmpMeta() { return {
@@ -31853,7 +31644,7 @@ class Textarea {
31853
31644
  * TODO(FW-5592): Remove hasStartEndSlots condition
31854
31645
  */
31855
31646
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
31856
- return (hAsync(Host, { key: 'c0dabc66193c41188c817799e45b36abbf097ba1', class: createColorClasses$1(this.color, {
31647
+ return (hAsync(Host, { key: 'd6e25c83d8eab8cb1a5b6ab411c9a13847f69f8d', class: createColorClasses$1(this.color, {
31857
31648
  [mode]: true,
31858
31649
  'has-value': hasValue,
31859
31650
  'has-focus': hasFocus,
@@ -31862,7 +31653,7 @@ class Textarea {
31862
31653
  [`textarea-shape-${shape}`]: shape !== undefined,
31863
31654
  [`textarea-label-placement-${labelPlacement}`]: true,
31864
31655
  'textarea-disabled': disabled,
31865
- }) }, 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()));
31656
+ }) }, 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()));
31866
31657
  }
31867
31658
  get el() { return getElement(this); }
31868
31659
  static get watchers() { return {
@@ -31924,7 +31715,7 @@ class Thumbnail {
31924
31715
  registerInstance(this, hostRef);
31925
31716
  }
31926
31717
  render() {
31927
- return (hAsync(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
31718
+ return (hAsync(Host, { key: 'cfa9aeb1d4fd624a9732c5230d29dd887e4b7771', class: getIonMode$1(this) }, hAsync("slot", { key: '29bc6e64063cba44e2643228df54394883933918' })));
31928
31719
  }
31929
31720
  static get style() { return IonThumbnailStyle0; }
31930
31721
  static get cmpMeta() { return {
@@ -32760,9 +32551,9 @@ class Toast {
32760
32551
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
32761
32552
  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);
32762
32553
  }
32763
- return (hAsync(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
32554
+ return (hAsync(Host, Object.assign({ key: 'c05655ff06af8d0e48c2a85396b07ad942fa81b4', tabindex: "-1" }, this.htmlAttributes, { style: {
32764
32555
  zIndex: `${60000 + this.overlayIndex}`,
32765
- }, 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')))));
32556
+ }, 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')))));
32766
32557
  }
32767
32558
  get el() { return getElement(this); }
32768
32559
  static get watchers() { return {
@@ -32896,7 +32687,6 @@ class Toggle {
32896
32687
  this.labelPlacement = 'start';
32897
32688
  this.justify = undefined;
32898
32689
  this.alignment = undefined;
32899
- this.required = false;
32900
32690
  }
32901
32691
  disabledChanged() {
32902
32692
  if (this.gesture) {
@@ -32978,12 +32768,12 @@ class Toggle {
32978
32768
  return this.el.textContent !== '';
32979
32769
  }
32980
32770
  render() {
32981
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
32771
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
32982
32772
  const mode = getIonMode$1(this);
32983
32773
  const value = this.getValue();
32984
32774
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
32985
32775
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
32986
- return (hAsync(Host, { key: '381632cf12ef5d27d729e0d59efcb14efad12a51', onClick: this.onClick, class: createColorClasses$1(color, {
32776
+ return (hAsync(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses$1(color, {
32987
32777
  [mode]: true,
32988
32778
  'in-item': hostContext('ion-item', el),
32989
32779
  'toggle-activated': activated,
@@ -32993,10 +32783,10 @@ class Toggle {
32993
32783
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
32994
32784
  [`toggle-label-placement-${labelPlacement}`]: true,
32995
32785
  [`toggle-${rtl}`]: true,
32996
- }) }, 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: {
32786
+ }) }, 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: {
32997
32787
  'label-text-wrapper': true,
32998
32788
  'label-text-wrapper-hidden': !this.hasLabel,
32999
- }, part: "label" }, hAsync("slot", { key: '67b7e20dc96503cb76dd5e31c5579752de465dcc' })), hAsync("div", { key: '17f89960bcc3302ef8e0c0d4e10513241744e232', class: "native-wrapper" }, this.renderToggleControl()))));
32789
+ }, part: "label" }, hAsync("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), hAsync("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
33000
32790
  }
33001
32791
  get el() { return getElement(this); }
33002
32792
  static get watchers() { return {
@@ -33019,7 +32809,6 @@ class Toggle {
33019
32809
  "labelPlacement": [1, "label-placement"],
33020
32810
  "justify": [1],
33021
32811
  "alignment": [1],
33022
- "required": [4],
33023
32812
  "activated": [32]
33024
32813
  },
33025
32814
  "$listeners$": undefined,
@@ -33051,10 +32840,6 @@ var IonToolbarMdStyle0 = toolbarMdCss;
33051
32840
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
33052
32841
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
33053
32842
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
33054
- *
33055
- * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
33056
- * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
33057
- * @part content - The container for the default slot, wrapping content provided without a named slot.
33058
32843
  */
33059
32844
  class Toolbar {
33060
32845
  constructor(hostRef) {
@@ -33105,10 +32890,10 @@ class Toolbar {
33105
32890
  this.childrenStyles.forEach((value) => {
33106
32891
  Object.assign(childStyles, value);
33107
32892
  });
33108
- return (hAsync(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
32893
+ return (hAsync(Host, { key: '462538a5ecd01baf3cde116c9f029aeda26c81be', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
33109
32894
  [mode]: true,
33110
32895
  'in-toolbar': hostContext('ion-toolbar', this.el),
33111
- })) }, 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" }))));
32896
+ })) }, 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" }))));
33112
32897
  }
33113
32898
  get el() { return getElement(this); }
33114
32899
  static get style() { return {
@@ -33158,11 +32943,11 @@ class ToolbarTitle {
33158
32943
  render() {
33159
32944
  const mode = getIonMode$1(this);
33160
32945
  const size = this.getSize();
33161
- return (hAsync(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses$1(this.color, {
32946
+ return (hAsync(Host, { key: '7293d2ecd6262feb0d8d769effbb208230baed89', class: createColorClasses$1(this.color, {
33162
32947
  [mode]: true,
33163
32948
  [`title-${size}`]: true,
33164
32949
  'title-rtl': document.dir === 'rtl',
33165
- }) }, hAsync("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, hAsync("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
32950
+ }) }, hAsync("div", { key: '086ec3a361ebdf6506846a8704b457cda3a6f897', class: "toolbar-title" }, hAsync("slot", { key: '59add7eb92b82d6832a8f0894f897c51fdf4f214' }))));
33166
32951
  }
33167
32952
  get el() { return getElement(this); }
33168
32953
  static get watchers() { return {