@ionic/core 8.8.7-dev.11779400352.127ba526 → 8.8.7-dev.11779467048.1641d05e

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 (321) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-gallery.js +1 -1
  12. package/components/ion-grid.js +1 -1
  13. package/components/ion-header.js +1 -1
  14. package/components/ion-img.js +1 -1
  15. package/components/ion-infinite-scroll-content.js +1 -1
  16. package/components/ion-infinite-scroll.js +1 -1
  17. package/components/ion-input-otp.js +1 -1
  18. package/components/ion-input-password-toggle.js +1 -1
  19. package/components/ion-input.js +1 -1
  20. package/components/ion-item-divider.js +1 -1
  21. package/components/ion-item-group.js +1 -1
  22. package/components/ion-item-option.js +1 -1
  23. package/components/ion-item-options.js +1 -1
  24. package/components/ion-item-sliding.js +1 -1
  25. package/components/ion-item.js +1 -1
  26. package/components/ion-label.js +1 -1
  27. package/components/ion-list-header.js +1 -1
  28. package/components/ion-list.js +1 -1
  29. package/components/ion-loading.js +1 -1
  30. package/components/ion-menu-button.js +1 -1
  31. package/components/ion-menu-toggle.js +1 -1
  32. package/components/ion-menu.js +1 -1
  33. package/components/ion-modal.js +1 -1
  34. package/components/ion-nav-link.js +1 -1
  35. package/components/ion-nav.js +1 -1
  36. package/components/ion-note.js +1 -1
  37. package/components/ion-picker-column-option.js +1 -1
  38. package/components/ion-picker-legacy-column.js +1 -1
  39. package/components/ion-picker-legacy.js +1 -1
  40. package/components/ion-popover.js +1 -1
  41. package/components/ion-progress-bar.js +1 -1
  42. package/components/ion-radio-group.js +1 -1
  43. package/components/ion-radio.js +1 -1
  44. package/components/ion-range.js +1 -1
  45. package/components/ion-refresher-content.js +1 -1
  46. package/components/ion-refresher.js +1 -1
  47. package/components/ion-reorder-group.js +1 -1
  48. package/components/ion-reorder.js +1 -1
  49. package/components/ion-ripple-effect.js +1 -1
  50. package/components/ion-router-link.js +1 -1
  51. package/components/ion-router-outlet.js +1 -1
  52. package/components/ion-row.js +1 -1
  53. package/components/ion-searchbar.js +1 -1
  54. package/components/ion-segment-button.js +1 -1
  55. package/components/ion-segment-content.js +1 -1
  56. package/components/ion-segment-view.js +1 -1
  57. package/components/ion-segment.js +1 -1
  58. package/components/ion-select-modal.js +1 -1
  59. package/components/ion-select-option.js +1 -1
  60. package/components/ion-select-popover.js +1 -1
  61. package/components/ion-select.js +1 -1
  62. package/components/ion-skeleton-text.js +1 -1
  63. package/components/ion-spinner.js +1 -1
  64. package/components/ion-split-pane.js +1 -1
  65. package/components/ion-tab-bar.js +1 -1
  66. package/components/ion-tab-button.js +1 -1
  67. package/components/ion-tab.js +1 -1
  68. package/components/ion-tabs.js +1 -1
  69. package/components/ion-text.js +1 -1
  70. package/components/ion-textarea.js +1 -1
  71. package/components/ion-thumbnail.js +1 -1
  72. package/components/ion-title.js +1 -1
  73. package/components/ion-toast.js +1 -1
  74. package/components/ion-toggle.js +1 -1
  75. package/components/ion-toolbar.js +1 -1
  76. package/components/{p-B-oPDoNQ.js → p-BFbsici0.js} +1 -1
  77. package/components/{p-6_r-Odtt.js → p-BLCuPAtN.js} +1 -1
  78. package/components/{p-CSf_VKpz.js → p-BRWWcnBq.js} +1 -1
  79. package/components/{p-CvljGih0.js → p-BXcCGjEc.js} +1 -1
  80. package/components/{p-DZOqbnq2.js → p-BqImG3uk.js} +1 -1
  81. package/components/{p-D42P_qbe.js → p-C38HUpU5.js} +1 -1
  82. package/components/{p-Ddl4_R29.js → p-C4G6C9fP.js} +1 -1
  83. package/components/{p-C-Vjb84N.js → p-C8ktKu9j.js} +1 -1
  84. package/components/{p-J7srYGKf.js → p-CIoAIKEr.js} +1 -1
  85. package/components/{p-BhkRbo3L.js → p-CN-WzkJE.js} +1 -1
  86. package/components/p-CVRxImH6.js +4 -0
  87. package/components/{p-KF2RUDHO.js → p-CoFDGTFO.js} +1 -1
  88. package/components/{p-n94Bzx6_.js → p-CoFqDNc5.js} +1 -1
  89. package/components/{p-vGxjPSKT.js → p-CykCvfXQ.js} +1 -1
  90. package/components/p-DHTe6lDL.js +4 -0
  91. package/components/{p-C75do9pU.js → p-DH_9VCbD.js} +1 -1
  92. package/components/{p-Ct1_qpJ-.js → p-DTtRWhIZ.js} +1 -1
  93. package/components/{p-BdmDSErh.js → p-DXUyXgVL.js} +1 -1
  94. package/components/{p-BLHs-wsh.js → p-IMXp2Inn.js} +1 -1
  95. package/components/{p-lEYPO4ZC.js → p-TR4ubkPu.js} +1 -1
  96. package/components/{p-CieebRr6.js → p-qZr7hBPz.js} +1 -1
  97. package/dist/cjs/index.cjs.js +1 -1
  98. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
  101. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
  104. package/dist/cjs/ion-gallery.cjs.entry.js +8 -57
  105. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  107. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  110. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  112. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  114. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  115. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  117. package/dist/cjs/ion-popover.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  119. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  120. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  121. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  122. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  123. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  124. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  125. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  126. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  127. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  128. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  129. package/dist/cjs/ion-select-modal.cjs.entry.js +2 -2
  130. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  131. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  132. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  134. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  135. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  136. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  137. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  138. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  139. package/dist/cjs/ionic.cjs.js +1 -1
  140. package/dist/cjs/loader.cjs.js +1 -1
  141. package/dist/cjs/{overlays-Hci_7vw_.js → overlays-C54DhaTC.js} +187 -10
  142. package/dist/collection/collection-manifest.json +0 -1
  143. package/dist/collection/components/gallery/gallery.css +24 -0
  144. package/dist/collection/components/gallery/gallery.js +7 -56
  145. package/dist/collection/components/gallery/test/utils.js +13 -13
  146. package/dist/collection/components/grid/grid.js +2 -2
  147. package/dist/collection/components/header/header.js +2 -2
  148. package/dist/collection/components/img/img.js +2 -2
  149. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  150. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  151. package/dist/collection/components/input/input.js +4 -4
  152. package/dist/collection/components/input-otp/input-otp.js +3 -3
  153. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  154. package/dist/collection/components/item-divider/item-divider.js +2 -2
  155. package/dist/collection/components/item-group/item-group.js +1 -1
  156. package/dist/collection/components/item-option/item-option.js +2 -2
  157. package/dist/collection/components/item-options/item-options.js +1 -1
  158. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  159. package/dist/collection/components/label/label.js +2 -2
  160. package/dist/collection/components/list/list.js +1 -1
  161. package/dist/collection/components/list-header/list-header.js +2 -2
  162. package/dist/collection/components/loading/loading.js +2 -2
  163. package/dist/collection/components/menu/menu.js +2 -2
  164. package/dist/collection/components/menu-button/menu-button.js +2 -2
  165. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  166. package/dist/collection/components/modal/modal.js +4 -4
  167. package/dist/collection/components/nav/nav.js +1 -1
  168. package/dist/collection/components/nav-link/nav-link.js +1 -1
  169. package/dist/collection/components/note/note.js +2 -2
  170. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  171. package/dist/collection/components/picker-legacy/picker.js +2 -2
  172. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  173. package/dist/collection/components/popover/popover.js +2 -2
  174. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  175. package/dist/collection/components/radio/radio.js +3 -3
  176. package/dist/collection/components/radio-group/radio-group.js +2 -2
  177. package/dist/collection/components/range/range.js +3 -3
  178. package/dist/collection/components/refresher/refresher.js +1 -1
  179. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  180. package/dist/collection/components/reorder/reorder.js +2 -2
  181. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  182. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  183. package/dist/collection/components/router-link/router-link.js +2 -2
  184. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  185. package/dist/collection/components/row/row.js +2 -2
  186. package/dist/collection/components/searchbar/searchbar.js +4 -4
  187. package/dist/collection/components/segment/segment.js +2 -2
  188. package/dist/collection/components/segment-button/segment-button.js +2 -2
  189. package/dist/collection/components/segment-content/segment-content.js +1 -1
  190. package/dist/collection/components/segment-view/segment-view.js +2 -2
  191. package/dist/collection/components/select/select.js +3 -3
  192. package/dist/collection/components/select-modal/select-modal.js +1 -1
  193. package/dist/collection/components/select-option/select-option.js +1 -1
  194. package/dist/collection/components/select-popover/select-popover.js +2 -2
  195. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  196. package/dist/collection/components/spinner/spinner.js +1 -1
  197. package/dist/collection/components/split-pane/split-pane.js +2 -2
  198. package/dist/collection/components/tab/tab.js +2 -2
  199. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  200. package/dist/collection/components/tab-button/tab-button.js +2 -2
  201. package/dist/collection/components/tabs/tabs.js +1 -1
  202. package/dist/collection/components/text/text.js +2 -2
  203. package/dist/collection/components/textarea/textarea.js +3 -3
  204. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  205. package/dist/collection/components/title/title.js +2 -2
  206. package/dist/collection/components/toast/toast.js +2 -2
  207. package/dist/collection/components/toggle/toggle.js +3 -3
  208. package/dist/collection/components/toolbar/toolbar.js +2 -2
  209. package/dist/collection/utils/overlays.js +187 -10
  210. package/dist/docs.json +1 -85
  211. package/dist/esm/index.js +1 -1
  212. package/dist/esm/ion-action-sheet.entry.js +1 -1
  213. package/dist/esm/ion-alert.entry.js +1 -1
  214. package/dist/esm/ion-app_8.entry.js +7 -7
  215. package/dist/esm/ion-avatar_3.entry.js +2 -2
  216. package/dist/esm/ion-col_3.entry.js +4 -4
  217. package/dist/esm/ion-datetime_3.entry.js +5 -5
  218. package/dist/esm/ion-gallery.entry.js +8 -57
  219. package/dist/esm/ion-img.entry.js +2 -2
  220. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  221. package/dist/esm/ion-input-otp.entry.js +3 -3
  222. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  223. package/dist/esm/ion-input.entry.js +4 -4
  224. package/dist/esm/ion-item-option_3.entry.js +4 -4
  225. package/dist/esm/ion-item_8.entry.js +12 -12
  226. package/dist/esm/ion-loading.entry.js +3 -3
  227. package/dist/esm/ion-menu_3.entry.js +7 -7
  228. package/dist/esm/ion-modal.entry.js +5 -5
  229. package/dist/esm/ion-nav_2.entry.js +2 -2
  230. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  231. package/dist/esm/ion-popover.entry.js +3 -3
  232. package/dist/esm/ion-progress-bar.entry.js +1 -1
  233. package/dist/esm/ion-radio_2.entry.js +5 -5
  234. package/dist/esm/ion-range.entry.js +3 -3
  235. package/dist/esm/ion-refresher_2.entry.js +3 -3
  236. package/dist/esm/ion-reorder_2.entry.js +3 -3
  237. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  238. package/dist/esm/ion-route_4.entry.js +2 -2
  239. package/dist/esm/ion-searchbar.entry.js +4 -4
  240. package/dist/esm/ion-segment-content.entry.js +1 -1
  241. package/dist/esm/ion-segment-view.entry.js +2 -2
  242. package/dist/esm/ion-segment_2.entry.js +4 -4
  243. package/dist/esm/ion-select-modal.entry.js +2 -2
  244. package/dist/esm/ion-select_3.entry.js +7 -7
  245. package/dist/esm/ion-spinner.entry.js +1 -1
  246. package/dist/esm/ion-split-pane.entry.js +2 -2
  247. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  248. package/dist/esm/ion-tab_2.entry.js +3 -3
  249. package/dist/esm/ion-text.entry.js +2 -2
  250. package/dist/esm/ion-textarea.entry.js +3 -3
  251. package/dist/esm/ion-toast.entry.js +3 -3
  252. package/dist/esm/ion-toggle.entry.js +3 -3
  253. package/dist/esm/ionic.js +1 -1
  254. package/dist/esm/loader.js +1 -1
  255. package/dist/esm/{overlays-rwDDzEs4.js → overlays-ttYCMKRp.js} +187 -10
  256. package/dist/html.html-data.json +0 -42
  257. package/dist/ionic/index.esm.js +1 -1
  258. package/dist/ionic/ionic.esm.js +1 -1
  259. package/dist/ionic/{p-6911beb3.entry.js → p-00c0bd38.entry.js} +1 -1
  260. package/dist/ionic/p-06bd033b.entry.js +4 -0
  261. package/dist/ionic/{p-b8f7e970.entry.js → p-1709b0aa.entry.js} +1 -1
  262. package/dist/ionic/{p-7761b69d.entry.js → p-1c2c1869.entry.js} +1 -1
  263. package/dist/ionic/{p-bd3ae730.entry.js → p-1c4de46b.entry.js} +1 -1
  264. package/dist/ionic/p-1e1c8d61.entry.js +4 -0
  265. package/dist/ionic/{p-fe073307.entry.js → p-1f74b8d4.entry.js} +1 -1
  266. package/dist/ionic/p-2aa7567e.entry.js +4 -0
  267. package/dist/ionic/{p-455ac83a.entry.js → p-2ad79c23.entry.js} +1 -1
  268. package/dist/ionic/{p-2c252788.entry.js → p-2f8aa0ac.entry.js} +1 -1
  269. package/dist/ionic/{p-3d939d55.entry.js → p-3331cfa9.entry.js} +1 -1
  270. package/dist/ionic/{p-dd1e95c5.entry.js → p-33c34361.entry.js} +1 -1
  271. package/dist/ionic/{p-636aa79b.entry.js → p-3f79f594.entry.js} +1 -1
  272. package/dist/ionic/{p-8291455b.entry.js → p-48026d15.entry.js} +1 -1
  273. package/dist/ionic/{p-e5976b28.entry.js → p-5061a8d4.entry.js} +1 -1
  274. package/dist/ionic/{p-fc01563c.entry.js → p-50b61fab.entry.js} +1 -1
  275. package/dist/ionic/{p-c55a5578.entry.js → p-50cd2d57.entry.js} +1 -1
  276. package/dist/ionic/{p-503219b5.entry.js → p-5274f999.entry.js} +1 -1
  277. package/dist/ionic/{p-c1d6501a.entry.js → p-586d4270.entry.js} +1 -1
  278. package/dist/ionic/{p-e342b205.entry.js → p-7054a1b9.entry.js} +1 -1
  279. package/dist/ionic/{p-cecceb9f.entry.js → p-72491468.entry.js} +1 -1
  280. package/dist/ionic/{p-02a1a45c.entry.js → p-76307d10.entry.js} +1 -1
  281. package/dist/ionic/{p-5b164421.entry.js → p-7d5057c4.entry.js} +1 -1
  282. package/dist/ionic/{p-bb2d2635.entry.js → p-83c693c4.entry.js} +1 -1
  283. package/dist/ionic/{p-fdf0e290.entry.js → p-8537b2fb.entry.js} +1 -1
  284. package/dist/ionic/{p-4a0260e6.entry.js → p-8f04bd89.entry.js} +1 -1
  285. package/dist/ionic/{p-0ef2fcda.entry.js → p-90e653e3.entry.js} +1 -1
  286. package/dist/ionic/p-967576f8.entry.js +4 -0
  287. package/dist/ionic/{p-d604defc.entry.js → p-9d789053.entry.js} +1 -1
  288. package/dist/ionic/p-DdyNaGpi.js +4 -0
  289. package/dist/ionic/{p-65159e09.entry.js → p-ae667493.entry.js} +1 -1
  290. package/dist/ionic/{p-e73a7fe2.entry.js → p-b2fe6c1c.entry.js} +1 -1
  291. package/dist/ionic/{p-92427c9d.entry.js → p-b3c9f19c.entry.js} +1 -1
  292. package/dist/ionic/{p-83c0eb9b.entry.js → p-b653f4c2.entry.js} +1 -1
  293. package/dist/ionic/{p-9f914d43.entry.js → p-bb898d47.entry.js} +1 -1
  294. package/dist/ionic/{p-0c3bf0a7.entry.js → p-bd71a4a7.entry.js} +1 -1
  295. package/dist/ionic/{p-3fd97ea9.entry.js → p-d4ed5710.entry.js} +1 -1
  296. package/dist/ionic/{p-874945f3.entry.js → p-d6299c37.entry.js} +1 -1
  297. package/dist/ionic/{p-229c8fb5.entry.js → p-dea52cb3.entry.js} +1 -1
  298. package/dist/ionic/{p-2a66b899.entry.js → p-e18d3fdb.entry.js} +1 -1
  299. package/dist/ionic/{p-6ec1e450.entry.js → p-fad05840.entry.js} +1 -1
  300. package/dist/ionic/{p-432c5888.entry.js → p-fc796d48.entry.js} +1 -1
  301. package/dist/types/components/gallery/gallery.d.ts +2 -10
  302. package/dist/types/components/gallery/test/utils.d.ts +1 -1
  303. package/dist/types/components.d.ts +0 -29
  304. package/hydrate/index.js +317 -269
  305. package/hydrate/index.mjs +317 -269
  306. package/package.json +1 -1
  307. package/components/ion-gallery-item.d.ts +0 -11
  308. package/components/ion-gallery-item.js +0 -4
  309. package/components/p-C4dDZdpz.js +0 -4
  310. package/components/p-CtiqM786.js +0 -4
  311. package/dist/cjs/ion-gallery-item.cjs.entry.js +0 -72
  312. package/dist/collection/components/gallery-item/gallery-item.css +0 -87
  313. package/dist/collection/components/gallery-item/gallery-item.js +0 -87
  314. package/dist/esm/ion-gallery-item.entry.js +0 -70
  315. package/dist/ionic/p-1ab01507.entry.js +0 -4
  316. package/dist/ionic/p-21ca5788.entry.js +0 -4
  317. package/dist/ionic/p-2981a0bd.entry.js +0 -4
  318. package/dist/ionic/p-2d5a2511.entry.js +0 -4
  319. package/dist/ionic/p-76de7898.entry.js +0 -4
  320. package/dist/ionic/p-C4uUM9DM.js +0 -4
  321. package/dist/types/components/gallery-item/gallery-item.d.ts +0 -25
package/hydrate/index.mjs CHANGED
@@ -8083,8 +8083,101 @@ const CoreDelegate = () => {
8083
8083
  let lastOverlayIndex = 0;
8084
8084
  let lastId = 0;
8085
8085
  const activeAnimations = new WeakMap();
8086
+ const OVERLAY_FOCUS_TRAP_SELECTOR = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover';
8087
+ const ION_SELECT_MODAL_SELECTOR = 'ion-select-modal';
8088
+ const isSelectModalOptionControl = (el) => el.tagName === 'ION-RADIO' || el.tagName === 'ION-CHECKBOX';
8086
8089
  /**
8087
- * Determines if the overlay's backdrop is always blocking (no background interaction).
8090
+ * Returns the currently focused element for keyboard focus checks.
8091
+ *
8092
+ * Starts from `document.activeElement` (non-shadow / light DOM focus).
8093
+ * If focus is inside one or more open shadow roots
8094
+ * (e.g. native control inside `ion-radio`), walks through nested
8095
+ * `shadowRoot.activeElement` values until the innermost focused node is reached.
8096
+ */
8097
+ const getActiveElement = (ownerDoc) => {
8098
+ var _a;
8099
+ let active = ownerDoc.activeElement;
8100
+ if (!active) {
8101
+ return null;
8102
+ }
8103
+ while ((_a = active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) {
8104
+ active = active.shadowRoot.activeElement;
8105
+ }
8106
+ return active;
8107
+ };
8108
+ /**
8109
+ * Walks from a focused node (possibly deep inside shadow roots)
8110
+ * up to the nearest `ion-radio` / `ion-checkbox` host.
8111
+ */
8112
+ const getOptionControlHost = (active) => {
8113
+ let n = active;
8114
+ while (n) {
8115
+ if (isSelectModalOptionControl(n)) {
8116
+ return n;
8117
+ }
8118
+ const root = n.getRootNode();
8119
+ if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {
8120
+ n = root.host;
8121
+ }
8122
+ else {
8123
+ return null;
8124
+ }
8125
+ }
8126
+ return null;
8127
+ };
8128
+ /**
8129
+ * Sheet modals can have visual order that differs from DOM order.
8130
+ * Without sorting, Tab can skip the handle after option traversal.
8131
+ *
8132
+ * Order: option controls (radio/checkbox) → sheet handle → end-slot
8133
+ * header button. Any other focusables are appended after.
8134
+ */
8135
+ const sortSheetModalFocusables = (overlay, elements) => {
8136
+ const optionControls = elements.filter((el) => {
8137
+ return overlay.contains(el) && isSelectModalOptionControl(el) && el.tabIndex >= 0;
8138
+ });
8139
+ const cancelControl = elements.find((el) => overlay.contains(el) &&
8140
+ el.tagName === 'ION-BUTTON' &&
8141
+ el.closest('ion-header ion-buttons[slot="end"]') !== null);
8142
+ const handleControl = elements.find((el) => el.classList.contains('modal-handle'));
8143
+ const sortByGeometry = (els) => [...els].sort((a, b) => {
8144
+ const ra = a.getBoundingClientRect();
8145
+ const rb = b.getBoundingClientRect();
8146
+ const topDiff = ra.top - rb.top;
8147
+ if (Math.abs(topDiff) > 1) {
8148
+ return topDiff;
8149
+ }
8150
+ return ra.left - rb.left;
8151
+ });
8152
+ const ordered = [];
8153
+ ordered.push(...sortByGeometry(optionControls));
8154
+ if (handleControl) {
8155
+ ordered.push(handleControl);
8156
+ }
8157
+ if (cancelControl) {
8158
+ ordered.push(cancelControl);
8159
+ }
8160
+ const used = new Set(ordered);
8161
+ for (const el of elements) {
8162
+ if (!used.has(el)) {
8163
+ ordered.push(el);
8164
+ }
8165
+ }
8166
+ return ordered;
8167
+ };
8168
+ /**
8169
+ * Option controls in groups use a tabindex pattern where only one
8170
+ * option is tabbable (`tabIndex="0"`) while the others are `-1`.
8171
+ * This returns the index of that current tabbable option.
8172
+ */
8173
+ const getTabbableOptionControlIndex = (elements, overlay) => {
8174
+ return elements.findIndex((el) => {
8175
+ return overlay.contains(el) && isSelectModalOptionControl(el) && el.tabIndex >= 0;
8176
+ });
8177
+ };
8178
+ /**
8179
+ * Determines if the overlay's backdrop is always blocking
8180
+ * (no background interaction).
8088
8181
  * Returns false if showBackdrop=false or backdropBreakpoint > 0.
8089
8182
  */
8090
8183
  const isBackdropAlwaysBlocking = (el) => {
@@ -8199,7 +8292,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
8199
8292
  * Should NOT include: Toast
8200
8293
  */
8201
8294
  const trapKeyboardFocus = (ev, doc) => {
8202
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
8295
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8203
8296
  const target = ev.target;
8204
8297
  /**
8205
8298
  * If no active overlay, ignore this event.
@@ -8382,6 +8475,30 @@ const connectListeners = (doc) => {
8382
8475
  doc.addEventListener('focus', (ev) => {
8383
8476
  trapKeyboardFocus(ev, doc);
8384
8477
  }, true);
8478
+ /**
8479
+ * Remember which option control last received focus
8480
+ * (arrows, click, or Tab). This pattern keeps `tabIndex=0` on the
8481
+ * checked/first radio, so the Tab trap uses this when wrapping back
8482
+ * into the list or focusing the option-group slot.
8483
+ */
8484
+ doc.addEventListener('focusin', (ev) => {
8485
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8486
+ if (!lastOverlay || lastOverlay.classList.contains(FOCUS_TRAP_DISABLE_CLASS)) {
8487
+ return;
8488
+ }
8489
+ const isSheetModal = lastOverlay.classList.contains('modal-sheet');
8490
+ if (!isSheetModal) {
8491
+ return;
8492
+ }
8493
+ const target = ev.target;
8494
+ if (!(target instanceof HTMLElement)) {
8495
+ return;
8496
+ }
8497
+ const optionHost = getOptionControlHost(target);
8498
+ if (optionHost && lastOverlay.contains(optionHost)) {
8499
+ lastOverlay.trapLastSheetOptionControl = optionHost;
8500
+ }
8501
+ }, true);
8385
8502
  // Listen for keydown events to intercept Tab navigation.
8386
8503
  // This is needed for Safari and Firefox which may skip focusable
8387
8504
  // elements or allow focus to escape the overlay.
@@ -8391,10 +8508,10 @@ const connectListeners = (doc) => {
8391
8508
  var _a, _b, _c;
8392
8509
  if (ev.key !== 'Tab' && ev.key !== 'Alt+Tab')
8393
8510
  return;
8394
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
8511
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8395
8512
  if (!lastOverlay || lastOverlay.classList.contains(FOCUS_TRAP_DISABLE_CLASS))
8396
8513
  return;
8397
- const activeElement = doc.activeElement;
8514
+ const activeElement = getActiveElement(doc);
8398
8515
  if (activeElement === lastOverlay) {
8399
8516
  ev.preventDefault();
8400
8517
  focusFirstDescendant(lastOverlay);
@@ -8410,16 +8527,32 @@ const connectListeners = (doc) => {
8410
8527
  if (!isInsideOverlay)
8411
8528
  return;
8412
8529
  // Get all focusable elements from both light and shadow DOM
8413
- const allFocusable = [
8530
+ let allFocusable = [
8414
8531
  ...lastOverlay.querySelectorAll(focusableQueryString),
8415
8532
  ...(((_c = lastOverlay.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll(focusableQueryString)) || []),
8416
8533
  ];
8534
+ const selectModalEl = lastOverlay.querySelector(ION_SELECT_MODAL_SELECTOR);
8535
+ const isSheetModal = lastOverlay.classList.contains('modal-sheet');
8536
+ /**
8537
+ * Some sheet modal content, including ion-select-modal,
8538
+ * renders option containers as `ion-item.select-interface-option`.
8539
+ * These can match focusable selectors in some builds but
8540
+ * are not intended tab stops. Keep only true interactive
8541
+ * controls so Tab can move from options to header
8542
+ * controls/handle.
8543
+ */
8544
+ if (selectModalEl) {
8545
+ allFocusable = allFocusable.filter((el) => !el.matches('ion-item.select-interface-option'));
8546
+ }
8547
+ if (isSheetModal) {
8548
+ allFocusable = sortSheetModalFocusables(lastOverlay, allFocusable);
8549
+ }
8417
8550
  if (allFocusable.length === 0) {
8418
8551
  ev.preventDefault();
8419
8552
  return;
8420
8553
  }
8421
8554
  // Find current element's index (accounting for shadow DOM)
8422
- const currentIndex = activeElement
8555
+ let currentIndex = activeElement
8423
8556
  ? allFocusable.findIndex((el) => {
8424
8557
  var _a;
8425
8558
  if (el === activeElement)
@@ -8430,6 +8563,31 @@ const connectListeners = (doc) => {
8430
8563
  return rootNode instanceof ShadowRoot && rootNode.host === el;
8431
8564
  })
8432
8565
  : -1;
8566
+ /**
8567
+ * Radio/checkbox groups can move focus onto an option with
8568
+ * `tabIndex=-1`, while another option still has `tabIndex=0`
8569
+ * in the list. `findIndex` then yields -1 and Tab incorrectly
8570
+ * wraps to `allFocusable[0]`.
8571
+ * Treat focus on any option control inside the sheet modal
8572
+ * as the same trap slot as the listed tabbable option
8573
+ * (`tabIndex >= 0`) so Tab goes handle → Cancel, not back
8574
+ * to the first radio.
8575
+ */
8576
+ if (currentIndex < 0 && isSheetModal && activeElement) {
8577
+ const optionHost = getOptionControlHost(activeElement);
8578
+ if (optionHost && lastOverlay.contains(optionHost)) {
8579
+ const directIndex = allFocusable.indexOf(optionHost);
8580
+ if (directIndex >= 0) {
8581
+ currentIndex = directIndex;
8582
+ }
8583
+ else {
8584
+ const tabbableOptionIndex = getTabbableOptionControlIndex(allFocusable, lastOverlay);
8585
+ if (tabbableOptionIndex >= 0) {
8586
+ currentIndex = tabbableOptionIndex;
8587
+ }
8588
+ }
8589
+ }
8590
+ }
8433
8591
  ev.preventDefault();
8434
8592
  // Helper to focus an element, handling shadow DOM properly
8435
8593
  const focusElement = (element) => {
@@ -8443,24 +8601,43 @@ const connectListeners = (doc) => {
8443
8601
  }
8444
8602
  focusVisibleElement(element);
8445
8603
  };
8604
+ let nextIndex;
8446
8605
  if (ev.shiftKey) {
8447
8606
  // Shift+Tab: previous element, wrap to last if at first
8448
8607
  if (currentIndex <= 0) {
8449
- focusLastDescendant(lastOverlay);
8608
+ nextIndex = allFocusable.length - 1;
8450
8609
  }
8451
8610
  else {
8452
- focusElement(allFocusable[currentIndex - 1]);
8611
+ nextIndex = currentIndex - 1;
8453
8612
  }
8454
8613
  }
8455
8614
  else {
8456
8615
  // Tab: next element, wrap to first if at last
8457
8616
  if (currentIndex < 0 || currentIndex >= allFocusable.length - 1) {
8458
- focusFirstDescendant(lastOverlay);
8617
+ nextIndex = 0;
8459
8618
  }
8460
8619
  else {
8461
- focusElement(allFocusable[currentIndex + 1]);
8620
+ nextIndex = currentIndex + 1;
8621
+ }
8622
+ }
8623
+ const nextEl = allFocusable[nextIndex];
8624
+ const overlayTrap = lastOverlay;
8625
+ const tabbableOptionIndex = isSheetModal ? getTabbableOptionControlIndex(allFocusable, lastOverlay) : -1;
8626
+ /**
8627
+ * The trap list only includes one tabbable option host
8628
+ * (`tabIndex >= 0`), usually the checked/first radio.
8629
+ * `focusin` tracks the real last-focused option; use it
8630
+ * whenever Tab would focus that slot (wrap from Cancel,
8631
+ * Shift+Tab from handle, etc.).
8632
+ */
8633
+ let focusTarget = nextEl;
8634
+ if (isSheetModal && tabbableOptionIndex >= 0 && nextIndex === tabbableOptionIndex) {
8635
+ const saved = overlayTrap.trapLastSheetOptionControl;
8636
+ if ((saved === null || saved === void 0 ? void 0 : saved.isConnected) && lastOverlay.contains(saved) && saved !== nextEl) {
8637
+ focusTarget = saved;
8462
8638
  }
8463
8639
  }
8640
+ focusElement(focusTarget);
8464
8641
  }, true);
8465
8642
  // handle back-button click
8466
8643
  doc.addEventListener('ionBackButton', (ev) => {
@@ -18724,7 +18901,7 @@ const DEFAULT_COLUMNS = {
18724
18901
  };
18725
18902
  const DEFAULT_GAP = '16px';
18726
18903
 
18727
- const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}`;
18904
+ const galleryCss = () => `:host{display:grid;grid-template-columns:repeat(var(--internal-gallery-columns, 2), minmax(0, 1fr))}:host(.gallery-layout-uniform){gap:var(--internal-gallery-gap, 16px)}:host(.gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.gallery-layout-masonry){-ms-flex-align:start;align-items:start;-webkit-column-gap:var(--internal-gallery-gap, 16px);-moz-column-gap:var(--internal-gallery-gap, 16px);column-gap:var(--internal-gallery-gap, 16px);row-gap:0;grid-auto-rows:2px}:host(.gallery-layout-masonry) ::slotted(*){display:block;min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}`;
18728
18905
 
18729
18906
  // TODO(FW-7285): Replace with global breakpoints
18730
18907
  const BREAKPOINTS = {
@@ -18736,7 +18913,6 @@ const BREAKPOINTS = {
18736
18913
  xxl: 1400,
18737
18914
  };
18738
18915
  const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
18739
- const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
18740
18916
  /**
18741
18917
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
18742
18918
  * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
@@ -18751,7 +18927,6 @@ class Gallery {
18751
18927
  this.hasWarnedInvalidColumns = false;
18752
18928
  this.hasWarnedInvalidGap = false;
18753
18929
  this.hasWarnedUnusedOrder = false;
18754
- this.hasWarnedInvalidItems = false;
18755
18930
  /**
18756
18931
  * The visual layout of the gallery. When `uniform`, rows take up the height
18757
18932
  * of the tallest item and are spaced evenly across the gallery. Additionally,
@@ -18801,9 +18976,8 @@ class Gallery {
18801
18976
  const styles = getComputedStyle(this.el);
18802
18977
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
18803
18978
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18804
- const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18805
18979
  const items = this.getItems();
18806
- this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
18980
+ this.layoutMasonry(items, rowHeight, rowGap, columns);
18807
18981
  };
18808
18982
  }
18809
18983
  onColumnsOrGapChanged() {
@@ -19004,16 +19178,6 @@ class Gallery {
19004
19178
  printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
19005
19179
  this.hasWarnedUnusedOrder = true;
19006
19180
  }
19007
- /**
19008
- * Warn when gallery content is missing required `ion-gallery-item` components.
19009
- */
19010
- warnInvalidItems() {
19011
- if (this.hasWarnedInvalidItems) {
19012
- return;
19013
- }
19014
- printIonWarning('[ion-gallery] - Gallery items must be wrapped in "ion-gallery-item" components. Non-item direct children are ignored unless they contain nested "ion-gallery-item" elements.', this.el);
19015
- this.hasWarnedInvalidItems = true;
19016
- }
19017
19181
  /**
19018
19182
  * Resolve the active columns value for the current width. Falls back to
19019
19183
  * the default responsive columns when the provided prop is invalid.
@@ -19070,45 +19234,12 @@ class Gallery {
19070
19234
  const gap = this.getGapForWidth(width);
19071
19235
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
19072
19236
  }
19073
- isGalleryItemElement(element) {
19074
- var _a;
19075
- return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
19076
- }
19077
19237
  /**
19078
- * Return all gallery items that can be grid items with inline placement styles.
19079
- * Direct children that are not `ion-gallery-item` are treated as wrapper
19080
- * containers and flattened to nested `ion-gallery-item` children. Direct
19081
- * children without nested `ion-gallery-item` components are ignored.
19238
+ * Return all directly slotted children of the gallery that can be grid items
19239
+ * with inline placement styles (HTML elements and SVG elements).
19082
19240
  */
19083
19241
  getItems() {
19084
- const directChildren = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
19085
- const flattenedItems = [];
19086
- // Expand an <ion-gallery-item> component into the actual gallery items
19087
- // that should be used for grid placement.
19088
- const pushWrappedItems = (galleryItemEl) => {
19089
- const galleryItems = Array.from(galleryItemEl.children).filter((child) => this.isGalleryItemElement(child));
19090
- flattenedItems.push(...galleryItems);
19091
- };
19092
- directChildren.forEach((directChildEl) => {
19093
- // Standard path: <ion-gallery-item> is a direct child of <ion-gallery>.
19094
- if (directChildEl.matches(GALLERY_ITEM_SELECTOR)) {
19095
- pushWrappedItems(directChildEl);
19096
- return;
19097
- }
19098
- // Compatibility path: a non-gallery-item direct child (e.g. wrapper <div>)
19099
- // may contain nested <ion-gallery-item> components.
19100
- const nestedGalleryItems = Array.from(directChildEl.querySelectorAll(GALLERY_ITEM_SELECTOR)).filter((child) => this.isGalleryItemElement(child));
19101
- // Invalid children path: no <ion-gallery-item> components found.
19102
- if (nestedGalleryItems.length === 0) {
19103
- this.warnInvalidItems();
19104
- return;
19105
- }
19106
- // Flatten gallery-item containers so nested <ion-gallery-item> children can
19107
- // become the effective gallery items.
19108
- directChildEl.style.display = 'contents';
19109
- nestedGalleryItems.forEach((nestedGalleryItem) => pushWrappedItems(nestedGalleryItem));
19110
- });
19111
- return flattenedItems;
19242
+ return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
19112
19243
  }
19113
19244
  /**
19114
19245
  * Clear the item styles for the given item element.
@@ -19165,14 +19296,11 @@ class Gallery {
19165
19296
  /**
19166
19297
  * Apply masonry placement by assigning each item a column and row span.
19167
19298
  */
19168
- layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
19299
+ layoutMasonry(items, rowHeight, rowGap, columns) {
19169
19300
  const columnHeights = new Array(columns).fill(0);
19170
19301
  const lastItemsByColumn = new Array(columns).fill(undefined);
19171
19302
  items.forEach((itemEl, i) => {
19172
19303
  itemEl.style.marginBottom = '';
19173
- if (itemEl.parentElement !== this.el) {
19174
- itemEl.style.marginBottom = `${itemGap}px`;
19175
- }
19176
19304
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
19177
19305
  if (span === undefined) {
19178
19306
  this.clearItemStyles(itemEl);
@@ -19221,11 +19349,11 @@ class Gallery {
19221
19349
  const { layout } = this;
19222
19350
  const order = this.getOrder();
19223
19351
  const theme = getIonTheme(this);
19224
- return (hAsync(Host, { key: '0b6ef176032845b3df3b2335be90cb6ce5d791cc', class: {
19352
+ return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
19225
19353
  [theme]: true,
19226
19354
  [`gallery-layout-${layout}`]: true,
19227
19355
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
19228
- } }, hAsync("slot", { key: '247df9bb58b6899da7db60cdd475ccff0872673e', onSlotchange: this.onSlotChange })));
19356
+ } }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
19229
19357
  }
19230
19358
  get el() { return getElement(this); }
19231
19359
  static get watchers() { return {
@@ -19258,85 +19386,6 @@ class Gallery {
19258
19386
  }; }
19259
19387
  }
19260
19388
 
19261
- const galleryItemCss = () => `:host{display:contents}:host(.in-gallery-layout-uniform) ::slotted(*){aspect-ratio:1/1}:host(.in-gallery-layout-masonry){min-height:unset;margin-bottom:var(--internal-gallery-gap, 16px)}::slotted(*){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%}::slotted(img){display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}`;
19262
-
19263
- /**
19264
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
19265
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
19266
- *
19267
- * @slot - Wrap elements that should be grouped in an `ion-gallery`.
19268
- */
19269
- class GalleryItem {
19270
- constructor(hostRef) {
19271
- registerInstance(this, hostRef);
19272
- this.hasWarnedInvalidParent = false;
19273
- this.onSlotChange = () => {
19274
- this.warnInvalidParent();
19275
- };
19276
- }
19277
- componentWillLoad() {
19278
- var _a;
19279
- this.galleryEl = (_a = this.el.closest('ion-gallery')) !== null && _a !== void 0 ? _a : undefined;
19280
- this.syncLayoutClasses();
19281
- }
19282
- componentDidLoad() {
19283
- this.watchGalleryLayoutClasses();
19284
- this.warnInvalidParent();
19285
- }
19286
- disconnectedCallback() {
19287
- var _a;
19288
- (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
19289
- this.galleryClassObserver = undefined;
19290
- this.galleryEl = undefined;
19291
- }
19292
- warnInvalidParent() {
19293
- if (this.hasWarnedInvalidParent || this.galleryEl !== undefined) {
19294
- return;
19295
- }
19296
- printIonWarning('[ion-gallery-item] - This component should be used as a child of an "ion-gallery" component.', this.el);
19297
- this.hasWarnedInvalidParent = true;
19298
- }
19299
- watchGalleryLayoutClasses() {
19300
- var _a;
19301
- const galleryEl = this.galleryEl;
19302
- if (galleryEl === undefined) {
19303
- return;
19304
- }
19305
- (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
19306
- this.galleryClassObserver = new MutationObserver(() => this.syncLayoutClasses());
19307
- this.galleryClassObserver.observe(galleryEl, {
19308
- attributes: true,
19309
- attributeFilter: ['class'],
19310
- });
19311
- }
19312
- syncLayoutClasses() {
19313
- var _a;
19314
- const layout = (_a = this.galleryEl) === null || _a === void 0 ? void 0 : _a.layout;
19315
- this.galleryLayout = layout === 'masonry' || layout === 'uniform' ? layout : undefined;
19316
- }
19317
- render() {
19318
- const { galleryLayout } = this;
19319
- const theme = getIonTheme(this);
19320
- return (hAsync(Host, { key: 'dbd9b9e005aa151981296e6487532e221f3f24e3', class: {
19321
- [theme]: true,
19322
- 'in-gallery-layout-uniform': galleryLayout === 'uniform',
19323
- 'in-gallery-layout-masonry': galleryLayout === 'masonry',
19324
- } }, hAsync("slot", { key: '98af83e345389763cf23d5e705f1c8773836418f', onSlotchange: this.onSlotChange })));
19325
- }
19326
- get el() { return getElement(this); }
19327
- static get style() { return galleryItemCss(); }
19328
- static get cmpMeta() { return {
19329
- "$flags$": 265,
19330
- "$tagName$": "ion-gallery-item",
19331
- "$members$": {
19332
- "galleryLayout": [32]
19333
- },
19334
- "$listeners$": undefined,
19335
- "$lazyBundleId$": "-",
19336
- "$attrsToReflect$": []
19337
- }; }
19338
- }
19339
-
19340
19389
  const gridCss = () => `:host{-webkit-padding-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;display:block;-ms-flex:1;flex:1}@media (min-width: 576px){:host{-webkit-padding-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}@media (min-width: 768px){:host{-webkit-padding-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}@media (min-width: 992px){:host{-webkit-padding-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}@media (min-width: 1200px){:host{-webkit-padding-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}`;
19341
19390
 
19342
19391
  /**
@@ -19353,10 +19402,10 @@ class Grid {
19353
19402
  }
19354
19403
  render() {
19355
19404
  const theme = getIonTheme(this);
19356
- return (hAsync(Host, { key: 'e3320fc2fc5391d26898cc119505cd3be30dd48b', class: {
19405
+ return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
19357
19406
  [theme]: true,
19358
19407
  'grid-fixed': this.fixed,
19359
- } }, hAsync("slot", { key: '2000e6b336c294aadf4585269c301d734d2fe478' })));
19408
+ } }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
19360
19409
  }
19361
19410
  static get style() { return gridCss(); }
19362
19411
  static get cmpMeta() { return {
@@ -19758,7 +19807,7 @@ class Header {
19758
19807
  const isCondensed = collapse === 'condense';
19759
19808
  // banner role must be at top level, so remove role if inside a menu
19760
19809
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
19761
- return (hAsync(Host, Object.assign({ key: '3395dedfd5165ba6e9f3ad1a25f0bb5b3678704a', role: roleType, class: {
19810
+ return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
19762
19811
  [theme]: true,
19763
19812
  // Used internally for styling
19764
19813
  [`header-${theme}`]: true,
@@ -19766,7 +19815,7 @@ class Header {
19766
19815
  [`header-collapse-${collapse}`]: true,
19767
19816
  [`header-translucent-${theme}`]: this.translucent,
19768
19817
  ['header-divider']: divider,
19769
- } }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'cafeb88b6e73d64b264514ea46590fd3477b3052', class: "header-background" }), hAsync("slot", { key: 'ad681aaf866d7e7a5e5e731c0b5d6f5cc9fe94d2' })));
19818
+ } }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
19770
19819
  }
19771
19820
  get el() { return getElement(this); }
19772
19821
  static get style() { return {
@@ -20117,9 +20166,9 @@ class Img {
20117
20166
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
20118
20167
  const { draggable } = inheritedAttributes;
20119
20168
  const theme = getIonTheme(this);
20120
- return (hAsync(Host, { key: 'ba84621055567b2a35387709d9d89b97ad853274', class: {
20169
+ return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
20121
20170
  [theme]: true,
20122
- } }, hAsync("img", { key: '9d6118bbf69e2cccbb0603802c03b9a0d101e2c3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20171
+ } }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20123
20172
  }
20124
20173
  get el() { return getElement(this); }
20125
20174
  static get watchers() { return {
@@ -20424,7 +20473,7 @@ class InfiniteScroll {
20424
20473
  render() {
20425
20474
  const theme = getIonTheme(this);
20426
20475
  const disabled = this.disabled;
20427
- return (hAsync(Host, { key: 'e3a3cde079dfd6f07e565eb462765df757cbb128', class: {
20476
+ return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
20428
20477
  [theme]: true,
20429
20478
  'infinite-scroll-loading': this.isLoading,
20430
20479
  'infinite-scroll-enabled': !disabled,
@@ -20487,11 +20536,11 @@ class InfiniteScrollContent {
20487
20536
  }
20488
20537
  render() {
20489
20538
  const theme = getIonTheme(this);
20490
- return (hAsync(Host, { key: '263a27297159ced042f7552a1e14b8c6aba62fa8', class: {
20539
+ return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
20491
20540
  [theme]: true,
20492
20541
  // Used internally for styling
20493
20542
  [`infinite-scroll-content-${theme}`]: true,
20494
- } }, hAsync("div", { key: 'ee38d3c52df9dc5de186406b3087f20917a17252', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: 'e2348727f79a26f52f42641d4334a0ba9d4aa03e', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '41be6f2747f3af5f46c8738e2ef56083ecd95e99', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
20543
+ } }, hAsync("div", { key: '047da7f15fe38deed592dd66d1c97e12da4545bb', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '1c05820f091052b8ee9e9ca20054495a676c21aa', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: 'ff801e3486f3c1a4605d2a2de9b47bd7bd536698', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
20495
20544
  }
20496
20545
  static get style() { return {
20497
20546
  ionic: ionicInfiniteScrollContentMdCss(),
@@ -21239,7 +21288,7 @@ class Input {
21239
21288
  * TODO(FW-5592): Remove hasStartEndSlots condition
21240
21289
  */
21241
21290
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
21242
- return (hAsync(Host, { key: '3da29d837b5abe22de740ac96c8142422fce537a', class: createColorClasses$1(this.color, {
21291
+ return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
21243
21292
  [theme]: true,
21244
21293
  'has-value': hasValue,
21245
21294
  'has-focus': hasFocus,
@@ -21252,7 +21301,7 @@ class Input {
21252
21301
  'in-item-color': hostContext('ion-item.ion-color', this.el),
21253
21302
  'input-disabled': disabled,
21254
21303
  'input-readonly': readonly,
21255
- }) }, hAsync("label", { key: '142a8230382a05938887e9c0790832218ac37697', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '953f247ea2f40545e01e0346549d9b7aa344b720', class: "native-wrapper", onClick: this.onLabelClick },
21304
+ }) }, hAsync("label", { key: 'f227df52a6ad60344f16261a82c0d0566bb8cd5b', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'ae6da554ce21f805361a7704139b776a9344dcb2', class: "native-wrapper", onClick: this.onLabelClick },
21256
21305
  /**
21257
21306
  * For the ionic theme, we render the outline container here
21258
21307
  * instead of higher up, so it can be positioned relative to
@@ -21262,14 +21311,14 @@ class Input {
21262
21311
  * <label> element, ensuring that clicking the label text
21263
21312
  * focuses the input.
21264
21313
  */
21265
- theme === 'ionic' && hAsync("div", { key: 'fd09b37c6a798900c5074e7cbe2e790ea050c29d', class: "input-outline" }), hAsync("slot", { key: '3eef4c4748104d8722f3254a04ff88e2b70c560e', name: "start" }), hAsync("input", Object.assign({ key: '012a3fa52e19422d7fbc227845e9771c7d8fbe4a', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (hAsync("button", { key: 'b115494d9611aea57a976d3102026f3d9b430bfb', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
21314
+ theme === 'ionic' && hAsync("div", { key: '83aa5e7ad97b0c964e31966c1d2b8771d1ecfc53', class: "input-outline" }), hAsync("slot", { key: '1931003f2b0d19508acaaffab58fee644d1f6158', name: "start" }), hAsync("input", Object.assign({ key: '33a06efb4ce0b6e67c12e77f131effb113fba73f', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (hAsync("button", { key: 'd350f26cf6927ee089373ea8903db2479a0a404c', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
21266
21315
  /**
21267
21316
  * This prevents mobile browsers from
21268
21317
  * blurring the input when the clear
21269
21318
  * button is activated.
21270
21319
  */
21271
21320
  ev.preventDefault();
21272
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: 'a259afa47a9914b2e0656364bed40644fa2c87c4', "aria-hidden": "true", icon: inputClearIcon }))), hAsync("slot", { key: 'beec86eb500f6b335149c8734afc7c3945a10219', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '77a25d118934f369e09edbc2ffa6f90e3e760338', class: "input-highlight" })), this.renderBottomContent()));
21321
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '972a2d94dcf599e63aac1d73e34873a9c3d0bf94', "aria-hidden": "true", icon: inputClearIcon }))), hAsync("slot", { key: 'fac4dcaabb02f647e46276e92e3f341557170aec', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'a10e519d8d1f0dcd81ffc43b8e4086797476f753', class: "input-highlight" })), this.renderBottomContent()));
21273
21322
  }
21274
21323
  get el() { return getElement(this); }
21275
21324
  static get watchers() { return {
@@ -22034,7 +22083,7 @@ class InputOTP {
22034
22083
  const tabbableIndex = this.getTabbableIndex();
22035
22084
  const pattern = this.getPattern();
22036
22085
  const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
22037
- return (hAsync(Host, { key: 'f39e98cd24cbf50f7db4e891dda9499f6def7986', class: createColorClasses$1(color, {
22086
+ return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
22038
22087
  [mode]: true,
22039
22088
  'has-focus': hasFocus,
22040
22089
  [`input-otp-size-${size}`]: true,
@@ -22042,10 +22091,10 @@ class InputOTP {
22042
22091
  [`input-otp-fill-${fill}`]: true,
22043
22092
  'input-otp-disabled': disabled,
22044
22093
  'input-otp-readonly': readonly,
22045
- }) }, hAsync("div", Object.assign({ key: '624adcd552947708162003353b331cd92df062ef', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper", part: "container" }, hAsync("input", { class: "native-input", part: "native", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator", part: "separator" }))))), hAsync("div", { key: 'c518d83ab0236a3ebbe631582ce6f1c2edfbcd29', class: {
22094
+ }) }, hAsync("div", Object.assign({ key: 'a4427602ea1894d53e4d0f502dbb972c93a86bff', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper", part: "container" }, hAsync("input", { class: "native-input", part: "native", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && hAsync("div", { class: "input-otp-separator", part: "separator" }))))), hAsync("div", { key: '7ee9d8dfd2e52875f1bfe3e3dea0494c18c12f4a', class: {
22046
22095
  'input-otp-description': true,
22047
22096
  'input-otp-description-hidden': !hasDescription,
22048
- }, part: "description" }, hAsync("slot", { key: '15c7c8549c1788748e1ae31bd227a7f918cb5eca' }))));
22097
+ }, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
22049
22098
  }
22050
22099
  static get formAssociated() { return true; }
22051
22100
  get el() { return getElement(this); }
@@ -22193,16 +22242,16 @@ class InputPasswordToggle {
22193
22242
  const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
22194
22243
  const mode = getIonMode$1(this);
22195
22244
  const isPasswordVisible = type === 'text';
22196
- return (hAsync(Host, { key: 'f11e3bf4d3255e003aec504e6dd3ee1e0caaf767', class: createColorClasses$1(color, {
22245
+ return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
22197
22246
  [mode]: true,
22198
- }) }, hAsync("ion-button", { key: '5bba43f7755857fd9347612bb906c389b60386b4', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
22247
+ }) }, hAsync("ion-button", { key: 'dee2bdeb169d1fa4943c9a8b0164b8fbb4cdfe06', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
22199
22248
  /**
22200
22249
  * This prevents mobile browsers from
22201
22250
  * blurring the input when the password toggle
22202
22251
  * button is activated.
22203
22252
  */
22204
22253
  ev.preventDefault();
22205
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'c0eb0e4e2f3e9553bfd519ff655064c9f62af406', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
22254
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
22206
22255
  }
22207
22256
  get el() { return getElement(this); }
22208
22257
  static get watchers() { return {
@@ -22577,11 +22626,11 @@ class ItemDivider {
22577
22626
  }
22578
22627
  render() {
22579
22628
  const theme = getIonTheme(this);
22580
- return (hAsync(Host, { key: 'dc73f348b5376faa40ba4bc6bba3d5c9e5ec5ab2', class: createColorClasses$1(this.color, {
22629
+ return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
22581
22630
  [theme]: true,
22582
22631
  'item-divider-sticky': this.sticky,
22583
22632
  item: true,
22584
- }) }, hAsync("slot", { key: '0f535b2cf91f2ec042aa59a89498cfa0e4d541a0', name: "start" }), hAsync("div", { key: '867c8c1a1bd273a5f5018f77785f11d58152e8b9', class: "item-divider-inner", part: "inner" }, hAsync("div", { key: 'c32b2a5658d27cf5d8cd8ffbfa476c02755e1afd', class: "item-divider-wrapper", part: "container" }, hAsync("slot", { key: 'f8b0fea29a910cd2e36301586532be3a8348c31e' })), hAsync("slot", { key: '418750f630c851cf04b6a278c1666c6cf33c113c', name: "end" }))));
22633
+ }) }, hAsync("slot", { key: '4e16384a4481326490dab1ad31218c19eb9108db', name: "start" }), hAsync("div", { key: '0bddbea071781e3372b5c7147c2fdd3ba0e29ffe', class: "item-divider-inner", part: "inner" }, hAsync("div", { key: 'dfa603352f7cc58aaa717a32507b1dbbd7b79757', class: "item-divider-wrapper", part: "container" }, hAsync("slot", { key: '4b1b67cfe72266645943f88ede9f8c61a344967d' })), hAsync("slot", { key: '6ddd72a410c449e281f5344d02324e7461ba29e8', name: "end" }))));
22585
22634
  }
22586
22635
  get el() { return getElement(this); }
22587
22636
  static get style() { return {
@@ -22618,7 +22667,7 @@ class ItemGroup {
22618
22667
  }
22619
22668
  render() {
22620
22669
  const theme = getIonTheme(this);
22621
- return (hAsync(Host, { key: '017c8f7cd0258e1864423337ddd1b1cb522f64ed', role: "group", class: {
22670
+ return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
22622
22671
  [theme]: true,
22623
22672
  // Used internally for styling
22624
22673
  [`item-group-${theme}`]: true,
@@ -22714,14 +22763,14 @@ class ItemOption {
22714
22763
  href: this.href,
22715
22764
  target: this.target,
22716
22765
  };
22717
- return (hAsync(Host, { key: '8f1bad23fd3ccbb9d54d57765e6731cd2ee07306', onClick: this.onClick, class: createColorClasses$1(this.color, {
22766
+ return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
22718
22767
  [theme]: true,
22719
22768
  [`item-option-${shape}`]: shape !== undefined,
22720
22769
  [`item-option-${hue}`]: hue !== undefined,
22721
22770
  'item-option-disabled': disabled,
22722
22771
  'item-option-expandable': expandable,
22723
22772
  'ion-activatable': true,
22724
- }) }, hAsync(TagType, Object.assign({ key: '2baf904e356a87ed463ee5f517e0e95f90b2ef30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '49b627f72dffd1b150ccd808b1b1f63bbe78e2de', class: "button-inner", part: "inner" }, hAsync("slot", { key: 'cdb52f76f1d7e5df411215f17eb76ad25e36241a', name: "top" }), hAsync("div", { key: '864204667c6e3ba6f989b24e96c131b67e55d408', class: "horizontal-wrapper", part: "container" }, hAsync("slot", { key: '474f4aab708842bb7ef74cb6f1fbe601ceff82cf', name: "start" }), hAsync("slot", { key: '2bd726c5ba3ee079a623f1f6229d1ac2afd3e291', name: "icon-only" }), hAsync("slot", { key: '2d1a673c447ebf82c92f944ec9e83a5b38698307' }), hAsync("slot", { key: '8d0f9337cd84c725190cffd25d74044075e85ab0', name: "end" })), hAsync("slot", { key: 'a674039b26d9cbb886e88ea721bbc210484aba9f', name: "bottom" })), theme === 'md' && hAsync("ion-ripple-effect", { key: '3e45bf18b7992943c47ece47e9358f4da0b8e865' }))));
22773
+ }) }, hAsync(TagType, Object.assign({ key: '38466b511f4a20a3728f37dbf6779b852eba531a' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'bb8f1b332afa2f575bcc69b340bd8f1faa5ca925', class: "button-inner", part: "inner" }, hAsync("slot", { key: '41d627511e1615283956712e1b9519bae92460f6', name: "top" }), hAsync("div", { key: 'bb949a43a586a8996933ee7528e5491beb647aa5', class: "horizontal-wrapper", part: "container" }, hAsync("slot", { key: 'c0d6a73ef49082bfbdf0f542f7465d044ccb6521', name: "start" }), hAsync("slot", { key: '79c6103e680983b2c1a17f1f11dbc41224cd4016', name: "icon-only" }), hAsync("slot", { key: '6c7f17723544d3f6e8b9689b84ddf6196f1897a5' }), hAsync("slot", { key: 'e15d0e02fde71bad8ff7bab0eded7d49508a926e', name: "end" })), hAsync("slot", { key: 'c509d54d44ce33f5a34597b9d0ec29960bbcff62', name: "bottom" })), theme === 'md' && hAsync("ion-ripple-effect", { key: '412d4dc645c941d0b4356cf982be3d5bc2686f13' }))));
22725
22774
  }
22726
22775
  get el() { return getElement(this); }
22727
22776
  static get style() { return {
@@ -22779,7 +22828,7 @@ class ItemOptions {
22779
22828
  render() {
22780
22829
  const theme = getIonTheme(this);
22781
22830
  const isEnd = isEndSide(this.side);
22782
- return (hAsync(Host, { key: 'ed05ceebf2cda943ac9efea2f91b71f7e8fc55e8', class: {
22831
+ return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
22783
22832
  [theme]: true,
22784
22833
  // Used internally for styling
22785
22834
  [`item-options-${theme}`]: true,
@@ -23631,7 +23680,7 @@ class ItemSliding {
23631
23680
  }
23632
23681
  render() {
23633
23682
  const theme = getIonTheme(this);
23634
- return (hAsync(Host, { key: '47de8c8a9721f9223b42d6722a9ad32f378818aa', class: {
23683
+ return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
23635
23684
  [theme]: true,
23636
23685
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
23637
23686
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -23750,13 +23799,13 @@ class Label {
23750
23799
  render() {
23751
23800
  const position = this.position;
23752
23801
  const theme = getIonTheme(this);
23753
- return (hAsync(Host, { key: 'b1f261db441bcb0a325a5b3e21da17764a56f17c', class: createColorClasses$1(this.color, {
23802
+ return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
23754
23803
  [theme]: true,
23755
23804
  'in-item-color': hostContext('ion-item.ion-color', this.el),
23756
23805
  [`label-${position}`]: position !== undefined,
23757
23806
  [`label-no-animate`]: this.noAnimate,
23758
23807
  'label-rtl': document.dir === 'rtl',
23759
- }) }, hAsync("slot", { key: '490444c8c0d4cf72eae3f8abfb7ed7ecc30bb213' })));
23808
+ }) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
23760
23809
  }
23761
23810
  get el() { return getElement(this); }
23762
23811
  static get watchers() { return {
@@ -23836,7 +23885,7 @@ class List {
23836
23885
  const theme = getIonTheme(this);
23837
23886
  const shape = this.getShape();
23838
23887
  const { lines, inset } = this;
23839
- return (hAsync(Host, { key: '9be30ff6e75e020c0db7054800cb874efef26bd8', role: "list", class: {
23888
+ return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
23840
23889
  [theme]: true,
23841
23890
  // Used internally for styling
23842
23891
  [`list-${theme}`]: true,
@@ -23886,10 +23935,10 @@ class ListHeader {
23886
23935
  render() {
23887
23936
  const { lines } = this;
23888
23937
  const theme = getIonTheme(this);
23889
- return (hAsync(Host, { key: '7a1632a069317285210f4aeae50a6f2ef6955c56', class: createColorClasses$1(this.color, {
23938
+ return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
23890
23939
  [theme]: true,
23891
23940
  [`list-header-lines-${lines}`]: lines !== undefined,
23892
- }) }, hAsync("div", { key: 'a9a9463f209023da222f38a78126d5aaeb2f03b9', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'e3c6ec1b588392d347844d59d338abc339e80634' }))));
23941
+ }) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
23893
23942
  }
23894
23943
  static get style() { return {
23895
23944
  ionic: listHeaderIonicCss(),
@@ -24178,9 +24227,9 @@ class Loading {
24178
24227
  * Otherwise, don't set aria-labelledby.
24179
24228
  */
24180
24229
  const ariaLabelledBy = message !== undefined ? msgId : null;
24181
- return (hAsync(Host, Object.assign({ key: '2ffae36b20a7d7f3a752a062d90062583e31d053', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
24230
+ return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
24182
24231
  zIndex: `${40000 + this.overlayIndex}`,
24183
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'a6d8cac2c34a0905ec67a2c64be7ec12cc84f168', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'cd011d86f20869096a8546f098fb5edad44033a1', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '70298be2139d6004e0f8fc5a85c5d05f1efdc347', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '32aef90695d91e0a82696abbce96ba29cb1a2608', class: "loading-spinner" }, hAsync("ion-spinner", { key: '7ae69c27be273cf3e83230dae043168df27ac27e', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'f13a01b31516c3fe85dd3a623962290c03e7412f', tabindex: "0", "aria-hidden": "true" })));
24232
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '19884fd6f8bf6f704bff388ecfa245d1cd98156c', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'ecd47d503a9805a5c18f1b0d48989e54b4cb8f78', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '231821576b812ffaa90ed9ced4437e456908ad53', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: 'e18d21751a73f408bd058aa4270f245285cd57fa', class: "loading-spinner" }, hAsync("ion-spinner", { key: '478761b8a000191951e9902138483b389e1b76c4', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '968be6c72872ce5bc8706fa37f242dcdc38efb33', tabindex: "0", "aria-hidden": "true" })));
24184
24233
  }
24185
24234
  get el() { return getElement(this); }
24186
24235
  static get watchers() { return {
@@ -25241,14 +25290,14 @@ class Menu {
25241
25290
  * the ionBackButton listener in the menu controller
25242
25291
  * will handle closing the menu when Escape is pressed.
25243
25292
  */
25244
- return (hAsync(Host, { key: '76e15d710fbbbd2e64795224decc3673fd160db0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
25293
+ return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
25245
25294
  [theme]: true,
25246
25295
  [`menu-type-${type}`]: true,
25247
25296
  'menu-enabled': !disabled,
25248
25297
  [`menu-side-${side}`]: true,
25249
25298
  'menu-pane-visible': isPaneVisible,
25250
25299
  'split-pane-side': hostContext('ion-split-pane', el),
25251
- } }, hAsync("div", { key: 'cc0a0773caff97aefa98015bf3e36631173d2b4f', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '0b90d1248bdf3bedafda7913189635c8d010abb6' })), hAsync("ion-backdrop", { key: '4fb7013bc61161e6e336541ed25605219410f749', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
25300
+ } }, hAsync("div", { key: '3ffcedd178c412771657599f3d5de2cd2a717c00', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '2d8dfdb569c4b433cbacbe2aee8a12954e157a51' })), hAsync("ion-backdrop", { key: 'e1fcbdcf6bd3aa0fa10dcf05a2b012bef196a243', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
25252
25301
  }
25253
25302
  get el() { return getElement(this); }
25254
25303
  static get watchers() { return {
@@ -25382,7 +25431,7 @@ class MenuButton {
25382
25431
  type: this.type,
25383
25432
  };
25384
25433
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
25385
- return (hAsync(Host, { key: '341ca3bfac81ce4432eef5d2fd738becd1dfb07e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
25434
+ return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
25386
25435
  [theme]: true,
25387
25436
  button: true, // ion-buttons target .button
25388
25437
  'menu-button-hidden': hidden,
@@ -25391,7 +25440,7 @@ class MenuButton {
25391
25440
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
25392
25441
  'ion-activatable': true,
25393
25442
  'ion-focusable': true,
25394
- }) }, hAsync("button", Object.assign({ key: '6e6229df2fc1f2d18294a5fbf7fe71e7dd47666a' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '0216acbf67d7aa5edc52328f7ded4cb98bc8a237', class: "button-inner" }, hAsync("slot", { key: '5c2cdae42add9a25d3e6323048fcbc6b5fc9b32e' }, hAsync("ion-icon", { key: '5b38c283957cd2f1ad659427dec612fc84fc054f', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && hAsync("ion-ripple-effect", { key: 'adabe4ffa1d66fe36d55294d774db9c4bba1ad76', type: "unbounded" }))));
25443
+ }) }, hAsync("button", Object.assign({ key: '88bef93aa6c1a0d5795c4a9ba3edffd99413a758' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '12b2f8bc542239a35adee62d76acccff571a84d7', class: "button-inner" }, hAsync("slot", { key: '5bba549d8e92745aa34372c105cfe80e0ecbc9f5' }, hAsync("ion-icon", { key: '864ff8bf1722b7fe1f17f2a40dfc5b91cb3403f9', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && hAsync("ion-ripple-effect", { key: '59e24ecb22970e43b51739324b11457c6e4bc117', type: "unbounded" }))));
25395
25444
  }
25396
25445
  get el() { return getElement(this); }
25397
25446
  static get style() { return {
@@ -25448,10 +25497,10 @@ class MenuToggle {
25448
25497
  render() {
25449
25498
  const theme = getIonTheme(this);
25450
25499
  const hidden = this.autoHide && !this.visible;
25451
- return (hAsync(Host, { key: '9ef631d9ae370a8740e691d281863203bfdddc38', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
25500
+ return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
25452
25501
  [theme]: true,
25453
25502
  'menu-toggle-hidden': hidden,
25454
- } }, hAsync("slot", { key: 'f8d9dfc562ed625ae47ec771ef6b2ea04bc463f4' })));
25503
+ } }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
25455
25504
  }
25456
25505
  static get style() { return menuToggleCss(); }
25457
25506
  static get cmpMeta() { return {
@@ -28954,20 +29003,20 @@ class Modal {
28954
29003
  const isHandleCycle = handleBehavior === 'cycle';
28955
29004
  const shape = this.getShape();
28956
29005
  const isSheetModalWithHandle = isSheetModal && showHandle;
28957
- return (hAsync(Host, Object.assign({ key: '9e6dc8544831a6bda7e4e9387a49cb334ab9bc39', "no-router": true,
29006
+ return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
28958
29007
  // Allow the modal to be navigable when the handle is focusable
28959
29008
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
28960
29009
  zIndex: `${20000 + this.overlayIndex}`,
28961
- }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`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, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: '48b7eda91552d9a4eb86b66fc7485ec143a1d860', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: 'b9778a9547bb3ebf7c0dbfa5b7e48a784f63a5e7', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '6751ac7c77292bf0f7dabe20eb586a9e9bb620d4',
29010
+ }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`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, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'baf6be86f7d5053d870a4ad794c1d584985c5ba0', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && hAsync("div", { key: 'e3b76699bc31e8dd29b09ed6091d8f9003865e15', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '3043e51b33a1e394ae731ebc49fd4df7ef71be99',
28962
29011
  /*
28963
29012
  role and aria-modal must be used on the
28964
29013
  same element. They must also be set inside the
28965
29014
  shadow DOM otherwise ion-button will not be highlighted
28966
29015
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
28967
29016
  */
28968
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'ff7cb419f32b2ec0ffd7fd30d16b9ad1b1a1cc6e', class: "modal-handle",
29017
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '19e71dc84abf18b21be76ec35229c5c5e7410c6e', class: "modal-handle",
28969
29018
  // Prevents the handle from receiving keyboard focus when it does not cycle
28970
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '3102f585f5bc22b449964faeec0e56fb5b1ee4ca', onSlotchange: this.onSlotChange }))));
29019
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), hAsync("slot", { key: '9b868070ee1be064e6b385f4783fc428c78d8084', onSlotchange: this.onSlotChange }))));
28971
29020
  }
28972
29021
  get el() { return getElement(this); }
28973
29022
  static get watchers() { return {
@@ -29927,7 +29976,7 @@ class Nav {
29927
29976
  }
29928
29977
  }
29929
29978
  render() {
29930
- return hAsync("slot", { key: '3dfe9c2a5f3ea75cb6d82b76b240733105cddfad' });
29979
+ return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
29931
29980
  }
29932
29981
  get el() { return getElement(this); }
29933
29982
  static get watchers() { return {
@@ -30008,7 +30057,7 @@ class NavLink {
30008
30057
  };
30009
30058
  }
30010
30059
  render() {
30011
- return hAsync(Host, { key: '476bfb5bb6fba4f422ec40315fc3ef466d01f757', onClick: this.onClick });
30060
+ return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
30012
30061
  }
30013
30062
  get el() { return getElement(this); }
30014
30063
  static get cmpMeta() { return {
@@ -30042,9 +30091,9 @@ class Note {
30042
30091
  }
30043
30092
  render() {
30044
30093
  const theme = getIonTheme(this);
30045
- return (hAsync(Host, { key: '376ae1c66c19d1bdd74a2371c0639ed9e49648b5', class: createColorClasses$1(this.color, {
30094
+ return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
30046
30095
  [theme]: true,
30047
- }) }, hAsync("slot", { key: 'f8168cd88bb21c5e5a2b03c29539729fb38a19fd' })));
30096
+ }) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
30048
30097
  }
30049
30098
  static get style() { return {
30050
30099
  ionic: ionicNoteMdCss(),
@@ -30810,11 +30859,11 @@ class Picker {
30810
30859
  render() {
30811
30860
  const { htmlAttributes } = this;
30812
30861
  const theme = getIonTheme(this);
30813
- return (hAsync(Host, Object.assign({ key: '681ad6d20efa16f1d6c6f9a7d03caec2b17ff36e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
30862
+ return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
30814
30863
  zIndex: `${20000 + this.overlayIndex}`,
30815
30864
  }, class: Object.assign({ [theme]: true,
30816
30865
  // Used internally for styling
30817
- [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '6dc71805810955048479c2a6eddce2303161cb8f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '0e61724c261c9d69ba23d3cb9064018942755033', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a6ca79c9a5fce42b5aad6808802535c723f27fb9', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '7651cbe9d723bba032788d85711e0f7c1dc32c21', 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: 'd6b83aded670bc74515c337c038503e396ab42cc', class: "picker-columns" }, hAsync("div", { key: '1dfef6ed386d7b327dc19397cc9f01c3938fbab9', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'ec8b2f4de073a245f8917a494a681adf5d1f94f6', class: "picker-below-highlight" }))), hAsync("div", { key: '8557ce93083feefa5deb6097270d756424f89ab2', tabindex: "0", "aria-hidden": "true" })));
30866
+ [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'b56a9f94c7a95efc047d7be95e76ba3a2284801d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'f134d49a3afcfd2a809147b55949cea43fc34462', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '9ae98dc10164e182a13eaef2105894a717a03cc4', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '96acad60c1214e13098282182fa855b19f0a386c', 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: 'af26cd644ed9bb50c22f06624da3726e7e60426f', class: "picker-columns" }, hAsync("div", { key: 'c0d8bf724f7dc081c314bef61fa08894a75c657b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '7315333742b5b0c9533f30e5ce3dfc6ec9112dc1', class: "picker-below-highlight" }))), hAsync("div", { key: '454546aaf27319ae7973e74063c0a026cfc88834', tabindex: "0", "aria-hidden": "true" })));
30818
30867
  }
30819
30868
  get el() { return getElement(this); }
30820
30869
  static get watchers() { return {
@@ -31792,9 +31841,9 @@ class PickerColumnCmp {
31792
31841
  render() {
31793
31842
  const col = this.col;
31794
31843
  const theme = getIonTheme(this);
31795
- return (hAsync(Host, { key: 'aed1c1a702e03765d704f6f563fe26df58e68bbf', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
31844
+ return (hAsync(Host, { key: '5751788e3b7ecd2fe269c096db883b0681646270', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
31796
31845
  'max-width': this.col.columnWidth,
31797
- } }, col.prefix && (hAsync("div", { key: 'a6fae778eec5d57dba4b36b3e448c5c12fe0688b', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '1b77354fe5eeeeb4db94fab035a9ef5e45d695ac', 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: '105286ef7ba6eac0796f5af7d6f1daef7107444a', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
31846
+ } }, col.prefix && (hAsync("div", { key: '833f3309c8c77e1faa773f7eaa066516dfd51067', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'a39f38e60938e70425e4d7674f5e481885b6b548', 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: 'a2f1e0eab834c85e84cee0a716eb1083aa6c7741', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
31798
31847
  }
31799
31848
  get el() { return getElement(this); }
31800
31849
  static get watchers() { return {
@@ -31919,10 +31968,10 @@ class PickerColumnOption {
31919
31968
  render() {
31920
31969
  const { color, disabled, ariaLabel } = this;
31921
31970
  const theme = getIonTheme(this);
31922
- return (hAsync(Host, { key: 'fe9553e3157d35f5c28a3f2457715bd598ec1e00', class: createColorClasses$1(color, {
31971
+ return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
31923
31972
  [theme]: true,
31924
31973
  ['option-disabled']: disabled,
31925
- }) }, hAsync("div", { key: '9bc334f020012537144972b5a8a1aed7c35ccec5', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'bd076e43c98ad920486230684c7f63e7e0b187f8' }))));
31974
+ }) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
31926
31975
  }
31927
31976
  get el() { return getElement(this); }
31928
31977
  static get watchers() { return {
@@ -33491,9 +33540,9 @@ class Popover {
33491
33540
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
33492
33541
  const desktop = isPlatform('desktop');
33493
33542
  const enableArrow = arrow && !parentPopover;
33494
- return (hAsync(Host, Object.assign({ key: '3319e6ea7524a30478985c014634403aceedab6f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
33543
+ return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
33495
33544
  zIndex: `${20000 + this.overlayIndex}`,
33496
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: 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: '45265b1f8e5e6e822b3c8d4992039975c472b10b', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '8707fb5c5b9523fd786c4e4d02d41dfb386be187', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '17bd682e56939ba10ab4b2ab3c9e916087a7e19a', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '02f1bd119d2ffecd2f2541969111fc6e156db9d3', class: "popover-content", part: "content" }, hAsync("slot", { key: 'dec29181eee87f28f731d6a0ba1ef3c81867d527' })))));
33545
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: 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: 'c087932225f8fc872af7451fd847ab2667ae6ffb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '25fb1c8320099d1170f3a61766760c694d84bf0b', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '552f4b70758470fac0d2e2bd114eaf5d9b81a3ac', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'f19c1d60b0f4ff86bf308c5837637cd4bbd6814e', class: "popover-content", part: "content" }, hAsync("slot", { key: '00870a41134268d84e239d305bf2daed7b049c34' })))));
33497
33546
  }
33498
33547
  get el() { return getElement(this); }
33499
33548
  static get watchers() { return {
@@ -33621,7 +33670,7 @@ class ProgressBar {
33621
33670
  const shape = this.getShape();
33622
33671
  // If the progress is displayed as a solid bar.
33623
33672
  const progressSolid = buffer === 1;
33624
- return (hAsync(Host, { key: '1cf02806b28a0d7b070e6f3616ea8f4c8ae4990a', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
33673
+ return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
33625
33674
  [theme]: true,
33626
33675
  [`progress-bar-${type}`]: true,
33627
33676
  'progress-paused': paused,
@@ -33814,7 +33863,7 @@ class Radio {
33814
33863
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
33815
33864
  const theme = getIonTheme(this);
33816
33865
  const inItem = hostContext('ion-item', el);
33817
- return (hAsync(Host, { key: 'e9591254a3823435617732dcf415ea4bb5fa4d62', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
33866
+ return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
33818
33867
  [theme]: true,
33819
33868
  'in-item': inItem,
33820
33869
  'radio-checked': checked,
@@ -33825,10 +33874,10 @@ class Radio {
33825
33874
  // Focus and active styling should not apply when the radio is in an item
33826
33875
  'ion-activatable': !inItem,
33827
33876
  'ion-focusable': !inItem,
33828
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '798691948e77bdba972f45eb668bb6d38c1920b3', class: "radio-wrapper" }, hAsync("div", { key: '054d373156983bb22b3216b2a0f8d5a6ecd0aa08', class: {
33877
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '352c25ebdeeba01b85dc02b2108de988e9eb14a6', class: "radio-wrapper" }, hAsync("div", { key: '8eca395a22199d24b376c57dd52eeaa91ba51c34', class: {
33829
33878
  'label-text-wrapper': true,
33830
33879
  'label-text-wrapper-hidden': !hasLabel,
33831
- }, part: "label" }, hAsync("slot", { key: 'a77d60be10ece9c80bab6e5c2a24533eede95362' })), hAsync("div", { key: 'e687dc6686b0748a1a3337cd87a01c01315c0f22', class: "native-wrapper" }, this.renderRadioControl()))));
33880
+ }, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
33832
33881
  }
33833
33882
  get el() { return getElement(this); }
33834
33883
  static get watchers() { return {
@@ -34098,10 +34147,10 @@ class RadioGroup {
34098
34147
  const { label, labelId, el, name, value } = this;
34099
34148
  const theme = getIonTheme(this);
34100
34149
  renderHiddenInput(true, el, name, value, false);
34101
- return (hAsync(Host, { key: '8a57b258087569c2fb13ddaa6e83e06822c05a4d', class: {
34150
+ return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
34102
34151
  [theme]: true,
34103
34152
  'in-list': hostContext('ion-list', el),
34104
- }, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), hAsync("slot", { key: '83d8e8febe7f368dfb6caa40eeafda8bf7d5ecef' })));
34153
+ }, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), hAsync("slot", { key: 'ddeca1867cb8e74121add7616f6be9e1a202c142' })));
34105
34154
  }
34106
34155
  get el() { return getElement(this); }
34107
34156
  static get watchers() { return {
@@ -34951,7 +35000,7 @@ class Range {
34951
35000
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
34952
35001
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
34953
35002
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
34954
- return (hAsync(Host, { key: '0f39669a81cfb08a3aca6998b95bda68f5076306', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
35003
+ return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
34955
35004
  [theme]: true,
34956
35005
  'in-item': inItem,
34957
35006
  'range-disabled': disabled,
@@ -34965,10 +35014,10 @@ class Range {
34965
35014
  'range-item-end-adjustment': needsEndAdjustment,
34966
35015
  'range-value-min': valueAtMin,
34967
35016
  'range-value-max': valueAtMax,
34968
- }) }, hAsync("label", { key: 'c1615da8ac01fccb650a8d1eb6b6b69562634e2f', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'ba530e76d0253f457b04bbd8403d9a02ac859cfe', class: {
35017
+ }) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
34969
35018
  'label-text-wrapper': true,
34970
35019
  'label-text-wrapper-hidden': !hasLabel,
34971
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '253bfb6e4add9852054f08194f07d32430832f1f', class: "native-wrapper" }, hAsync("slot", { key: '160ee66c73ab6e982c6efddb0107fbbcd42de962', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '486102e34a85d900aa6a6d909b27a98da947bbe2', name: "end" })))));
35020
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '4c09b153ab02c2c80b6197c2beb73c8cd1dc9348', class: "native-wrapper" }, hAsync("slot", { key: 'a81e2e9a5442603f128fec3d1f15090615164abf', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'ccc0a89eb6ce714e5b67893fb6845670a7857914', name: "end" })))));
34972
35021
  }
34973
35022
  get el() { return getElement(this); }
34974
35023
  static get watchers() { return {
@@ -36043,7 +36092,7 @@ class Refresher {
36043
36092
  }
36044
36093
  render() {
36045
36094
  const theme = getIonTheme(this);
36046
- return (hAsync(Host, { key: '5761384ab0eb88600ad036b6fdbebf8e5150e6b8', slot: "fixed", class: {
36095
+ return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
36047
36096
  [theme]: true,
36048
36097
  // Used internally for styling
36049
36098
  [`refresher-${theme}`]: true,
@@ -36282,9 +36331,9 @@ class RefresherContent {
36282
36331
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
36283
36332
  const theme = getIonTheme(this);
36284
36333
  const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
36285
- return (hAsync(Host, { key: '3d2d138e485b3b2beae47b9ea4e140f0b9647434', class: {
36334
+ return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
36286
36335
  [theme]: true,
36287
- } }, hAsync("div", { key: 'd0c950b65a37a75b795503574a980cdb61f674e1', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '8c6e27b2fb134c21fb7e8864433802a95ba0f328', class: "refresher-pulling-icon" }, hAsync("div", { key: '0a947b7779502780f2c835f8686f3a06e21a9194', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '59c129077809add46b7fe6dcf5fc0edbb1cc94d5', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (hAsync("div", { key: 'a28750ed07d9337febbceb5550683eb1c302858c', class: "arrow-container" }, hAsync("ion-icon", { key: 'e14e3b9f9ad51ce3a138a191a848078bd423fa9b', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '22c4c80ef1e340a8ec9ca718849b412a09507967', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '6506d0dd30bf639a23cda57c6d1c2a9c29e42ed6', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'a54967c5f539ed182106b1c5fa7b499de84c049a', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '2e425f66d780e90474b8ebf7473b9f7c98f30c81', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '286b9b9cce1cb4450ffa5577f0b76044877722ce', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
36336
+ } }, hAsync("div", { key: '29bfcc52d581913654f7639b0f669d149bf91026', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c5ddc5a3c22ec365906e8716cdbdb8cf793bb978', class: "refresher-pulling-icon" }, hAsync("div", { key: '4314fff1f89758c81de7d908be2eaae81e8d9fb8', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'cea2bc74fd42c35ec6d6349f033830e745c9e99b', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (hAsync("div", { key: 'bfd43614c33fa6e83f67ac95022db5343af160d6', class: "arrow-container" }, hAsync("ion-icon", { key: '64f48d15dc2c17cbeb177f28272477ee8535136b', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '6f540e79e981a923050f57167aff8da92bfe8990', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '97b0755e0f240ec199b408a9cfef9fc48b481a68', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '1cd2a284b786fa94272f88659942ff15a7344f66', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '722aea4deaef0b014f49ce61a4a81ef219d0b101', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8152f4fe27037c4f34918e515ac460c1f03240d5', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
36288
36337
  }
36289
36338
  get el() { return getElement(this); }
36290
36339
  static get style() { return {
@@ -36353,9 +36402,9 @@ class Reorder {
36353
36402
  render() {
36354
36403
  const { reorderHandleIcon } = this;
36355
36404
  const theme = getIonTheme(this);
36356
- return (hAsync(Host, { key: 'bc0b4cd34db6dfe794ab66a785d406bfc02236c5', class: {
36405
+ return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
36357
36406
  [theme]: true,
36358
- } }, hAsync("slot", { key: '28672768be8598b7cb47b7b2837b77afbc2c2e14' }, hAsync("ion-icon", { key: '03b6620768da18a6f8cb0c55e94b85a53cbab66a', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36407
+ } }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36359
36408
  }
36360
36409
  get el() { return getElement(this); }
36361
36410
  static get style() { return {
@@ -36631,7 +36680,7 @@ class ReorderGroup {
36631
36680
  }
36632
36681
  render() {
36633
36682
  const theme = getIonTheme(this);
36634
- return (hAsync(Host, { key: 'c095e5428be9f446f245d37a12653978bb2bc2b6', class: {
36683
+ return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
36635
36684
  [theme]: true,
36636
36685
  'reorder-enabled': !this.disabled,
36637
36686
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -36757,7 +36806,7 @@ class RippleEffect {
36757
36806
  }
36758
36807
  render() {
36759
36808
  const theme = getIonTheme(this);
36760
- return (hAsync(Host, { key: '51fe7517d41c643bd4e746f366f513c42dac17dc', role: "presentation", class: {
36809
+ return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
36761
36810
  [theme]: true,
36762
36811
  unbounded: this.unbounded,
36763
36812
  } }));
@@ -37742,10 +37791,10 @@ class RouterLink {
37742
37791
  rel: this.rel,
37743
37792
  target: this.target,
37744
37793
  };
37745
- return (hAsync(Host, { key: '84efbafddc586ee3f616d4e1a13118c04d9b2753', onClick: this.onClick, class: createColorClasses$1(this.color, {
37794
+ return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
37746
37795
  [theme]: true,
37747
37796
  'ion-activatable': true,
37748
- }) }, hAsync("a", Object.assign({ key: 'e8c7cda4c00ec45548ea52b632bc4adb07f9460c' }, attrs), hAsync("slot", { key: '133bf1203a3e218e3868b4cfda00bb753ecea946' }))));
37797
+ }) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
37749
37798
  }
37750
37799
  static get style() { return routerLinkCss(); }
37751
37800
  static get cmpMeta() { return {
@@ -37945,7 +37994,7 @@ class RouterOutlet {
37945
37994
  return true;
37946
37995
  }
37947
37996
  render() {
37948
- return hAsync("slot", { key: '56e3d06ed939755796058e30ef19fbc7f7cb490d' });
37997
+ return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
37949
37998
  }
37950
37999
  get el() { return getElement(this); }
37951
38000
  static get watchers() { return {
@@ -37985,9 +38034,9 @@ class Row {
37985
38034
  }
37986
38035
  render() {
37987
38036
  const theme = getIonTheme(this);
37988
- return (hAsync(Host, { key: '3a3c40062d2d0487c61dedbb172215b87bb425b1', class: {
38037
+ return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
37989
38038
  [theme]: true,
37990
- } }, hAsync("slot", { key: '164f457f6f7853ed8f7279d20bc6ede6cf9d3e5c' })));
38039
+ } }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
37991
38040
  }
37992
38041
  static get style() { return rowCss(); }
37993
38042
  static get cmpMeta() { return {
@@ -38546,8 +38595,8 @@ class Searchbar {
38546
38595
  const shouldShowCancelButton = this.shouldShowCancelButton();
38547
38596
  const shape = this.getShape();
38548
38597
  const size = this.getSize();
38549
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '21affee126970b3de80d4af9c7659875dd9a07aa', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '62f81458b16cd51dd8cc5c309c42eeceda52e6fc', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (hAsync("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
38550
- return (hAsync(Host, { key: '287a9c6ec7e54f621759224922003b5ce6c0fb25', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
38598
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '9b71660f86c93ab8e1c4bca45a778584b1473a48', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '27c4121c6b49906b2a9c225bd7ba9ab2a41e4292', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (hAsync("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
38599
+ return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
38551
38600
  [theme]: true,
38552
38601
  'searchbar-animated': animated,
38553
38602
  'searchbar-disabled': this.disabled,
@@ -38561,14 +38610,14 @@ class Searchbar {
38561
38610
  [`searchbar-shape-${shape}`]: shape !== undefined,
38562
38611
  [`searchbar-size-${size}`]: size !== undefined,
38563
38612
  'in-toolbar': hostContext('ion-toolbar', this.el),
38564
- }) }, hAsync("div", { key: 'a2e1d71d90435b78fe7f9adb70740f4dda599a8a', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'd3b5506f488229f6e3a348b39c52b49e8c86b43d', "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)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (hAsync("ion-icon", { key: '2b52b78ad65b26e9d4f890b4dc8e8ec494b8ccb8', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (hAsync("button", { key: 'cd59304ab31763bd0d06393d6cf65459a5cd857b', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
38613
+ }) }, hAsync("div", { key: 'b7e0dbfa02f9ea4db7eb01cb293d81d4a54e23d2', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '3b790197d1f8bad980086ebd898cb2487d56ea24', "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)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (hAsync("ion-icon", { key: 'fce3e3510516d768d8b51a6334cf9d9ac934345e', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (hAsync("button", { key: 'b47cb7c79fd07e44f2273e55782a784f6d567155', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
38565
38614
  /**
38566
38615
  * This prevents mobile browsers from
38567
38616
  * blurring the input when the clear
38568
38617
  * button is activated.
38569
38618
  */
38570
38619
  ev.preventDefault();
38571
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6a9be85be51de19f84a852c43f93c46fb92c8d1a', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
38620
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
38572
38621
  }
38573
38622
  get el() { return getElement(this); }
38574
38623
  static get watchers() { return {
@@ -39183,14 +39232,14 @@ class Segment {
39183
39232
  }
39184
39233
  render() {
39185
39234
  const theme = getIonTheme(this);
39186
- return (hAsync(Host, { key: '65c576c0bb9ff0602793f75321d676a34b306b3b', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
39235
+ return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
39187
39236
  [theme]: true,
39188
39237
  'in-toolbar': hostContext('ion-toolbar', this.el),
39189
39238
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
39190
39239
  'segment-activated': this.activated,
39191
39240
  'segment-disabled': this.disabled,
39192
39241
  'segment-scrollable': this.scrollable,
39193
- }) }, hAsync("slot", { key: '210750a65ccada549bccf026871477ee2b7bdc69', onSlotchange: this.onSlottedItemsChange })));
39242
+ }) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
39194
39243
  }
39195
39244
  get el() { return getElement(this); }
39196
39245
  static get watchers() { return {
@@ -39342,7 +39391,7 @@ class SegmentButton {
39342
39391
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
39343
39392
  const theme = getIonTheme(this);
39344
39393
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
39345
- return (hAsync(Host, { key: 'da5c8352e5e0f3a01211edbc39c5043cadc5b06f', class: {
39394
+ return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
39346
39395
  [theme]: true,
39347
39396
  'in-toolbar': hostContext('ion-toolbar', this.el),
39348
39397
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -39358,7 +39407,7 @@ class SegmentButton {
39358
39407
  'ion-activatable': true,
39359
39408
  'ion-activatable-instant': true,
39360
39409
  'ion-focusable': true,
39361
- } }, hAsync("button", Object.assign({ key: 'cfd963a166ebfeba590d6538069b26a107306583', "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: '845b729e96ba5b594d441ca41c73e2c33a4f5817', class: "button-inner" }, hAsync("slot", { key: 'f38369982dd602c32dbbc6aca2fae6dbb53faa8a' })), theme === 'md' && hAsync("ion-ripple-effect", { key: 'b1b15b731688dd02806409c9c3eda5519a958239' })), hAsync("div", { key: 'fff597d493a85be8005ef3b9eb4f2a93c2a7a4d0', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'f06b53d0ef9d08354f562ac6d3469998257dd688', part: "indicator-background", class: "segment-button-indicator-background" }))));
39410
+ } }, hAsync("button", Object.assign({ key: '0335787c4606314d2715062b536b544cf0fb1f27', "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: '47d06436538ed9fc97789af76b6681674a2bd0a7', class: "button-inner" }, hAsync("slot", { key: 'de1164da25cb74e6fa3066e43744483fc5b821fa' })), theme === 'md' && hAsync("ion-ripple-effect", { key: '82d3f9d812f851a6bbbf3603e5845e6e6e925442' })), hAsync("div", { key: '77bbfb251707d274635f21e4cd7153791d9fdb49', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: '2d7b64dbdb084bd3a851e215b9d049a9aff6f03f', part: "indicator-background", class: "segment-button-indicator-background" }))));
39362
39411
  }
39363
39412
  get el() { return getElement(this); }
39364
39413
  static get watchers() { return {
@@ -39396,7 +39445,7 @@ class SegmentContent {
39396
39445
  registerInstance(this, hostRef);
39397
39446
  }
39398
39447
  render() {
39399
- return (hAsync(Host, { key: '2f43cadcbcb1a9423b30e7abc169ff923a8c431f' }, hAsync("slot", { key: 'c3a6d3e9c336f5124cdec9f37ef516324558073c' })));
39448
+ return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
39400
39449
  }
39401
39450
  static get style() { return segmentContentCss(); }
39402
39451
  static get cmpMeta() { return {
@@ -39524,11 +39573,11 @@ class SegmentView {
39524
39573
  }
39525
39574
  render() {
39526
39575
  const { disabled, isManualScroll, swipeGesture } = this;
39527
- return (hAsync(Host, { key: '8d1aa594c5674bca376ee3e9b18b60b0925dd875', class: {
39576
+ return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
39528
39577
  'segment-view-disabled': disabled,
39529
39578
  'segment-view-scroll-disabled': isManualScroll === false,
39530
39579
  'segment-view-swipe-disabled': swipeGesture === false,
39531
- } }, hAsync("slot", { key: '6375fa794ae615b74a70968718aadefa0a9fc1d6' })));
39580
+ } }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
39532
39581
  }
39533
39582
  get el() { return getElement(this); }
39534
39583
  static get style() { return {
@@ -40464,7 +40513,7 @@ class Select {
40464
40513
  * TODO(FW-5592): Remove hasStartEndSlots condition
40465
40514
  */
40466
40515
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
40467
- return (hAsync(Host, { key: 'c8fc8ffc5e66fa0deef9556f365d8d95ff652b5d', onClick: this.onClick, class: createColorClasses$1(this.color, {
40516
+ return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
40468
40517
  [theme]: true,
40469
40518
  'in-item': inItem,
40470
40519
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -40483,7 +40532,7 @@ class Select {
40483
40532
  [`select-shape-${shape}`]: shape !== undefined,
40484
40533
  [`select-label-placement-${labelPlacement}`]: true,
40485
40534
  [`select-size-${size}`]: size !== undefined,
40486
- }) }, hAsync("label", { key: 'dd1b83a6bfadcce8e8a9559e529c86d86a5c142d', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: 'c7ae6112920eb9260be01ef4a723549a71e6e275', class: "select-wrapper-inner", part: "inner" },
40535
+ }) }, hAsync("label", { key: '66808fb8c26f7a5db356b22d43751463cbb4bcaa', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '3e80160009e0e5b47952d666ca621166067adbea', class: "select-wrapper-inner", part: "inner" },
40487
40536
  /**
40488
40537
  * For the ionic theme, we render the outline container here
40489
40538
  * instead of higher up, so it can be positioned relative to
@@ -40493,7 +40542,7 @@ class Select {
40493
40542
  * <label> element, ensuring that clicking the label text
40494
40543
  * focuses the select.
40495
40544
  */
40496
- theme === 'ionic' && fill === 'outline' && hAsync("div", { key: 'da07a6cea39e13cc62de7104ef4c06ac8b3c8fe1', class: "select-outline" }), hAsync("slot", { key: '35c4261e4eb3f5d91e8fe61e02cfe3d93a2c6763', name: "start" }), hAsync("div", { key: 'e70c2896f0c7ad908811f5eb19abde9a432d086e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ddb79446bfc9dc97714c0395570d67ce6a5aa1bf', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '297abbcf88af9911c6ecbbb27e2f37846f213bdb', class: "select-highlight" })), this.renderBottomContent()));
40545
+ theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '8ea2530c4dc535661bf97d16724bdca3b9e23560', class: "select-outline" }), hAsync("slot", { key: '2526c811e6f0f250421f6de9834d96d21df528b7', name: "start" }), hAsync("div", { key: '95d0b2432c9e656166bf35ddd457a74052c91a27', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '0864febe104e3ac77aa10ce397e7c7569855636e', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'c83f3992d7a0ee55ca635b391421626a9131c8eb', class: "select-highlight" })), this.renderBottomContent()));
40497
40546
  }
40498
40547
  get el() { return getElement(this); }
40499
40548
  static get watchers() { return {
@@ -40885,7 +40934,7 @@ class SelectModal {
40885
40934
  });
40886
40935
  }
40887
40936
  render() {
40888
- return (hAsync(Host, { key: '6f1c1c0ad2dad8d4c1defc41a37e9cb4219facef', class: Object.assign({ [getIonMode$1(this)]: true }, this.getModalContextClasses()) }, hAsync("ion-header", { key: 'e917416fdfb8785511abac755f9cd23e24bc2c70' }, hAsync("ion-toolbar", { key: '7ce8116cdd882958f1c6d0abd9f6ddad60d4232b' }, this.header !== undefined && hAsync("ion-title", { key: 'aa2be148b57b756ca1abdc4b29c26861494e9341' }, this.header), hAsync("ion-buttons", { key: '7a9671f9426a5b9eb0fef1d4b446d2db98332f89', slot: "end" }, hAsync("ion-button", { key: 'c5c1511bed6e3361aa740de9bcab4c7445887518', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (hAsync("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), hAsync("ion-content", { key: 'ddabe1b04a9f65e741935e387c06ee8f749b38e1' }, hAsync("ion-list", { key: 'cb801aecd27444fb7bb9e3bf06e5934dfd1a9606' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
40937
+ return (hAsync(Host, { key: '43db0bab8915e4e422acbd73d27a880935c13a38', class: Object.assign({ [getIonMode$1(this)]: true }, this.getModalContextClasses()) }, hAsync("ion-header", { key: '58f462db240eb759d7be9f090ab9fba48abdea0c' }, hAsync("ion-toolbar", { key: 'dbd4722ad8c2fc21a066b89451fdc5c0a3776808' }, this.header !== undefined && hAsync("ion-title", { key: 'cefe16f3dff1a90d10875506a94fe1d737c67b44' }, this.header), hAsync("ion-buttons", { key: '750ba8ac17447906cbe020d654b943a88adf8185', slot: "end" }, hAsync("ion-button", { key: '8c075ec9d7becf25dd1307bf083bec229a0889ae', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (hAsync("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), hAsync("ion-content", { key: '65dff8eab0158cdff103ade997246cea2b3c4b9e' }, hAsync("ion-list", { key: 'e3556e81c97146ffda80260265294a4f8d6ebdf2' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
40889
40938
  }
40890
40939
  get el() { return getElement(this); }
40891
40940
  static get style() { return {
@@ -40930,7 +40979,7 @@ class SelectOption {
40930
40979
  }
40931
40980
  render() {
40932
40981
  const theme = getIonTheme(this);
40933
- return (hAsync(Host, { key: 'd7baa96e166b66c8f14c97e56674db4dfec2152c', class: {
40982
+ return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
40934
40983
  [theme]: true,
40935
40984
  }, role: "option", id: this.inputId }));
40936
40985
  }
@@ -41099,9 +41148,9 @@ class SelectPopover {
41099
41148
  const { header, message, options, subHeader } = this;
41100
41149
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
41101
41150
  const theme = getIonTheme(this);
41102
- return (hAsync(Host, { key: '47062077a192fb05f662f30c68e9c12323a69e47', class: {
41151
+ return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
41103
41152
  [theme]: true,
41104
- } }, hAsync("ion-list", { key: '50caf4e5f70d1d7b57256f115c589d90d9cea627' }, header !== undefined && hAsync("ion-list-header", { key: '3401a27174b687632836f086f1a367214021358c' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '7271f08cd8bae5383bb502d9411d60a5458e18f6' }, hAsync("ion-label", { key: 'e22c6c54f725e3fc630eed38a71afd4bb474b357', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'c0ca32ef8100d6aaa3aa2279ed1216bdb6a60b89' }, subHeader), message !== undefined && hAsync("p", { key: '8e2e0b248a05f5483e62db8d608310078040767c' }, message)))), this.renderOptions(options))));
41153
+ } }, hAsync("ion-list", { key: 'a96857c064aaf9a645b9e1ee22932116b1c25d62' }, header !== undefined && hAsync("ion-list-header", { key: '86b8c398f12cdd3e7d2a7d4c4af69029e4decdbc' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '3bcd9c0a544e1e98243163600413d82a304081db' }, hAsync("ion-label", { key: 'd20b933ba82913b623486c982ab094819f850565', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'c869868d89d024b5b02e6a3b626ca91e6f312036' }, subHeader), message !== undefined && hAsync("p", { key: 'd8a26d162ba8d3b092abef38ef3c1795787e7f75' }, message)))), this.renderOptions(options))));
41105
41154
  }
41106
41155
  get el() { return getElement(this); }
41107
41156
  static get style() { return {
@@ -41156,11 +41205,11 @@ class SkeletonText {
41156
41205
  const animated = this.animated && config.getBoolean('animated', true);
41157
41206
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
41158
41207
  const theme = getIonTheme(this);
41159
- return (hAsync(Host, { key: '370451ee8963b776079f5df365f7bbd70a53b270', class: {
41208
+ return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
41160
41209
  [theme]: true,
41161
41210
  'skeleton-text-animated': animated,
41162
41211
  'in-media': inMedia,
41163
- } }, hAsync("span", { key: '2b861b4ec86cbd61927ab7b81b13517c99dc94c7' }, "\u00A0")));
41212
+ } }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
41164
41213
  }
41165
41214
  get el() { return getElement(this); }
41166
41215
  static get style() { return skeletonTextCss(); }
@@ -41233,7 +41282,7 @@ class Spinner {
41233
41282
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
41234
41283
  }
41235
41284
  }
41236
- return (hAsync(Host, { key: 'b6559d1626b56a1c63580862263a15798f7d3f71', class: createColorClasses$1(self.color, {
41285
+ return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
41237
41286
  [theme]: true,
41238
41287
  [`spinner-${spinnerName}`]: true,
41239
41288
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -41345,12 +41394,12 @@ class SplitPane {
41345
41394
  }
41346
41395
  render() {
41347
41396
  const theme = getIonTheme(this);
41348
- return (hAsync(Host, { key: 'b933156f8f9d8ce418ff0d39526967f9653d6639', class: {
41397
+ return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
41349
41398
  [theme]: true,
41350
41399
  // Used internally for styling
41351
41400
  [`split-pane-${theme}`]: true,
41352
41401
  'split-pane-visible': this.visible,
41353
- } }, hAsync("slot", { key: '3ec0a11e5506386747dc972ccb094359ca975bae' })));
41402
+ } }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
41354
41403
  }
41355
41404
  get el() { return getElement(this); }
41356
41405
  static get watchers() { return {
@@ -41427,10 +41476,10 @@ class Tab {
41427
41476
  }
41428
41477
  render() {
41429
41478
  const { tab, active, component } = this;
41430
- return (hAsync(Host, { key: '8b978f848d43898feafa7daa3e3d9819be833038', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
41479
+ return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
41431
41480
  'ion-page': component === undefined,
41432
41481
  'tab-hidden': !active,
41433
- } }, hAsync("slot", { key: '96a92d86cecc8c9ef4f11d310f7f87bb99ce4e50' })));
41482
+ } }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
41434
41483
  }
41435
41484
  get el() { return getElement(this); }
41436
41485
  static get watchers() { return {
@@ -41637,7 +41686,7 @@ class TabBar {
41637
41686
  const theme = getIonTheme(this);
41638
41687
  const shape = this.getShape();
41639
41688
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
41640
- return (hAsync(Host, { key: '16cd11a815d777a7517150b49b57a204c83c3c37', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
41689
+ return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
41641
41690
  [theme]: true,
41642
41691
  'tab-bar-translucent': translucent,
41643
41692
  'tab-bar-hidden': shouldHide,
@@ -41645,7 +41694,7 @@ class TabBar {
41645
41694
  'tab-bar-scroll-hidden': scrollHidden,
41646
41695
  [`tab-bar-${expand}`]: true,
41647
41696
  [`tab-bar-${shape}`]: shape !== undefined,
41648
- }) }, hAsync("slot", { key: 'dfdff308f24b3addaf18528a8d869b3fc64306d1' })));
41697
+ }) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
41649
41698
  }
41650
41699
  get el() { return getElement(this); }
41651
41700
  static get watchers() { return {
@@ -41773,7 +41822,7 @@ class TabButton {
41773
41822
  rel,
41774
41823
  target,
41775
41824
  };
41776
- return (hAsync(Host, { key: 'e4d3aaefcdc42677f7818c51ec1ec0a9cbcf8bcf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
41825
+ return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
41777
41826
  [theme]: true,
41778
41827
  'tab-selected': selected,
41779
41828
  'tab-disabled': disabled,
@@ -41786,7 +41835,7 @@ class TabButton {
41786
41835
  'ion-selectable': true,
41787
41836
  [`tab-button-shape-${shape}`]: shape !== undefined,
41788
41837
  'ion-focusable': true,
41789
- } }, hAsync("a", Object.assign({ key: '1412d080294dd2602696c5657c71553ef35036d3' }, 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: '5daebf815b9b4f8016ce5b4b9d05148c1957a46c', class: "button-inner" }, hAsync("slot", { key: 'e1cbabb911936d21d5b1a4f87d236b962beacbab' })), theme === 'md' && hAsync("ion-ripple-effect", { key: 'd4544a7fb87b8559aaf9d2f0aa4d440201ebdb71', type: "unbounded" }))));
41838
+ } }, hAsync("a", Object.assign({ key: 'fde7dc112f62c5e1a08017f1e8665bf68658eadf' }, 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: '0912736f1e69a8da9a49c94bca1c613061bcaad1', class: "button-inner" }, hAsync("slot", { key: '9b919361a07b62304dddc751658fca0540a3747a' })), theme === 'md' && hAsync("ion-ripple-effect", { key: '472967f7b2b8f63d669fae542bb2eb1900955975', type: "unbounded" }))));
41790
41839
  }
41791
41840
  get el() { return getElement(this); }
41792
41841
  static get style() { return {
@@ -41982,7 +42031,7 @@ class Tabs {
41982
42031
  return Array.from(this.el.querySelectorAll('ion-tab'));
41983
42032
  }
41984
42033
  render() {
41985
- return (hAsync(Host, { key: 'b8c5c75469cb1f1829a217a02555a7da8556454a', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '50b74e3df8ea0e991e096c7438a65fee0ca0f6b5', name: "top" }), hAsync("div", { key: 'ca8d4329381c4b40882bbd31b4f15264cfa2c220', class: "tabs-inner" }, hAsync("slot", { key: '816ffd6d997530e3b100480c9a8e4a51fa51e59c' })), hAsync("slot", { key: '280bdf5ec61789823c7772287d60a26229fe78fa', name: "bottom" })));
42034
+ return (hAsync(Host, { key: 'd94b2760650125d00a9bd620f367022119aba911', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'dfa95a272dce19af4575e4d6488962cf6c521754', name: "top" }), hAsync("div", { key: 'd537e5212745833107c751cc6f79d12f48f5472a', class: "tabs-inner" }, hAsync("slot", { key: '6db89721daa7ffd390586345137f1fdfcefa7910' })), hAsync("slot", { key: '7b24f140b89e8e316f24170b29390e00c31d9a0c', name: "bottom" })));
41986
42035
  }
41987
42036
  get el() { return getElement(this); }
41988
42037
  static get style() { return tabsCss(); }
@@ -42023,9 +42072,9 @@ class Text {
42023
42072
  }
42024
42073
  render() {
42025
42074
  const theme = getIonTheme(this);
42026
- return (hAsync(Host, { key: '8fc5565ce579f8e2a9eddbaa7c93264291080bce', class: createColorClasses$1(this.color, {
42075
+ return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
42027
42076
  [theme]: true,
42028
- }) }, hAsync("slot", { key: '5be1d661ee3a6f1f9d9428b59e830672faf475b1' })));
42077
+ }) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
42029
42078
  }
42030
42079
  static get style() { return textCss(); }
42031
42080
  static get cmpMeta() { return {
@@ -42589,7 +42638,7 @@ class Textarea {
42589
42638
  * TODO(FW-5592): Remove hasStartEndSlots condition
42590
42639
  */
42591
42640
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
42592
- return (hAsync(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses$1(this.color, {
42641
+ return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
42593
42642
  [theme]: true,
42594
42643
  'has-value': hasValue,
42595
42644
  'has-focus': hasFocus,
@@ -42601,7 +42650,7 @@ class Textarea {
42601
42650
  'in-item': inItem,
42602
42651
  'textarea-disabled': disabled,
42603
42652
  'textarea-readonly': readonly,
42604
- }) }, hAsync("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
42653
+ }) }, hAsync("label", { key: '3d21eab560550527de015d36b1c71761792aa516', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '5fe9ec91ac5560d2ebbb93751dd770fe17e5f839', class: "textarea-wrapper-inner" },
42605
42654
  /**
42606
42655
  * For the ionic theme, we render the outline container here
42607
42656
  * instead of higher up, so it can be positioned relative to
@@ -42611,7 +42660,7 @@ class Textarea {
42611
42660
  * <label> element, ensuring that clicking the label text
42612
42661
  * focuses the textarea.
42613
42662
  */
42614
- theme === 'ionic' && fill === 'outline' && hAsync("div", { key: '91a7ea7b6f6fccc473b9e058281e5437c00a9b5d', class: "textarea-outline" }), hAsync("div", { key: 'ba641e63d5aaf2ddb291c875f57181d1c93a2b26', class: "start-slot-wrapper" }, hAsync("slot", { key: '351684d41a2b080541a29e0d9e90dd50747b52dc', name: "start" })), hAsync("div", { key: '5c0793742ff6cc327582c3d78d85c28fa8238a40', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, hAsync("textarea", Object.assign({ key: '9cf5c908e3fcd54af07c351dcf0bb91c853f1349', class: "native-textarea", part: "native", 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.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: 'e47ffe0bf8e460a7cb205ed35a1107b44687116d', class: "end-slot-wrapper" }, hAsync("slot", { key: '57d035b5f1db373b8488b129c8d3552eb8e630ac', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '1259ad761b68aea69a1ae8b61a6bbdee6c071b7b', class: "textarea-highlight" })), this.renderBottomContent()));
42663
+ theme === 'ionic' && fill === 'outline' && hAsync("div", { key: 'aac1db3f8a9a9d541bd0d76f17c7936daca419d7', class: "textarea-outline" }), hAsync("div", { key: '49779a6b346b5bf2e8f98787c9159f41fd767d26', class: "start-slot-wrapper" }, hAsync("slot", { key: '2a86311a2ee002e286d8cb1e27480364cb3eb5b1', name: "start" })), hAsync("div", { key: '922069ecd0aa72e4294d78e02a4f216706af0d99', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, hAsync("textarea", Object.assign({ key: 'c1cae5f0695b4d978fbbd6d0af8d3da681d2c671', class: "native-textarea", part: "native", 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.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), hAsync("div", { key: '6e76190d9644dd880200f28bbfdb6291362ce639', class: "end-slot-wrapper" }, hAsync("slot", { key: 'fe9466237a1d88bf8cd534e83cca148ce6178abe', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'e8a158231e0dcacb4df5b94575fe54d7aff5c23f', class: "textarea-highlight" })), this.renderBottomContent()));
42615
42664
  }
42616
42665
  static get delegatesFocus() { return true; }
42617
42666
  static get formAssociated() { return true; }
@@ -42695,9 +42744,9 @@ class Thumbnail {
42695
42744
  }
42696
42745
  render() {
42697
42746
  const theme = getIonTheme(this);
42698
- return (hAsync(Host, { key: 'fdf9d92949a1e8cf6faded77ffed084f74fc040b', class: {
42747
+ return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
42699
42748
  [theme]: true,
42700
- } }, hAsync("slot", { key: 'e1b1439c035d9a9503efd1c1a04aed9f4e8e0af7' })));
42749
+ } }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
42701
42750
  }
42702
42751
  static get style() { return thumbnailCss(); }
42703
42752
  static get cmpMeta() { return {
@@ -43581,9 +43630,9 @@ class Toast {
43581
43630
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
43582
43631
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
43583
43632
  }
43584
- return (hAsync(Host, Object.assign({ key: 'f0d62f099dd68f8f541110a60695c2a083c6a4d5', tabindex: "-1" }, this.htmlAttributes, { style: {
43633
+ return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
43585
43634
  zIndex: `${60000 + this.overlayIndex}`,
43586
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '054ba519f93892a000832990097b265887272da4', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: '45fa83c1711ab98e81b8b00e0af3af436eaa5264', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'eb4143899be5259e3d933461bc4ca593c8b9dd9b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'bae8a899abb9bcd4895df45def79bfe3d704e6e4', class: "toast-content", part: "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')))));
43635
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '4f0b39c8e0d7aecfe81da23c3ca1591374a8afa5', class: wrapperClass, part: "wrapper" }, hAsync("div", { key: 'a2cf3ea830d27b51ffe1158fb3f3bf87486401b5', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'bee5f21ee8df2278e20bf0565495da30c2e61963', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '40a95848e952dd587d1972487affd4b8e088209f', class: "toast-content", part: "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')))));
43587
43636
  }
43588
43637
  get el() { return getElement(this); }
43589
43638
  static get watchers() { return {
@@ -43959,7 +44008,7 @@ class Toggle {
43959
44008
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
43960
44009
  const isIonicTheme = theme === 'ionic';
43961
44010
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
43962
- return (hAsync(Host, { key: '9e042d48d2416028c4f76fbb38fa2b26ee7512ef', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
44011
+ return (hAsync(Host, { key: '48744f35038be7be61fea432996440628d4f2ce9', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses$1(color, {
43963
44012
  [theme]: true,
43964
44013
  'in-item': hostContext('ion-item', el),
43965
44014
  'toggle-activated': activated,
@@ -43971,10 +44020,10 @@ class Toggle {
43971
44020
  [`toggle-${rtl}`]: true,
43972
44021
  'ion-activatable': isIonicTheme,
43973
44022
  'ion-focusable': isIonicTheme,
43974
- }) }, hAsync("label", { key: 'f13b94af8f0b862b8390172107e75ef670fff34f', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: 'e6c82e4fc9fcc77ed52408a04188d5696521de0c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '5f32f194da4f83792cccaa536a211b558c5eac1c', class: {
44023
+ }) }, hAsync("label", { key: '43d05b9140a9ccabc3981a28b01bf2cb844050f6', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '716f13f4202712d4ce22fe738879a8259102c329', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), hAsync("div", { key: '0466a7f662ec5804ecc2e22971248a86f20141c7', class: {
43975
44024
  'label-text-wrapper': true,
43976
44025
  'label-text-wrapper-hidden': !hasLabel,
43977
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c86e28aca1011a3d5a453b92ddc8b6d1ab049f0b' }), this.renderHintText()), hAsync("div", { key: '80390009e2a3d1ad699e1b698df725449c8fab53', class: "native-wrapper" }, this.renderToggleControl()))));
44026
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
43978
44027
  }
43979
44028
  get el() { return getElement(this); }
43980
44029
  static get watchers() { return {
@@ -44266,11 +44315,11 @@ class Toolbar {
44266
44315
  Object.assign(childStyles, style);
44267
44316
  });
44268
44317
  const titlePlacement = this.getTitlePlacement();
44269
- return (hAsync(Host, { key: 'bcb621674157410d7eaeb006779bdd677346587e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
44318
+ return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
44270
44319
  [theme]: true,
44271
44320
  'in-toolbar': hostContext('ion-toolbar', this.el),
44272
44321
  [`toolbar-title-placement-${titlePlacement}`]: true,
44273
- })), childStyles) }, hAsync("div", { key: '0d31a98b2571b9a0ae142fbdfd83e2ebdcd8e069', class: "toolbar-background", part: "background" }), hAsync("div", { key: 'de938534c487c6cb4060dac44b40c2d872130f50', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'a337150d353e439eae67c31ff86e383ed51f3d8f', name: "start", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: '02effd3ce0cdad5ec5645fa58ccb329321449190', name: "secondary", onSlotchange: () => this.updateSlotClasses }), hAsync("div", { key: '3e22f5feda2aea02117bdea2fe8a4b8905ba82f6', class: "toolbar-content", part: "content" }, hAsync("slot", { key: 'ebf828643ff05a8bf662a54715d21d0859168d31' })), hAsync("slot", { key: 'a6940648dfe25a7aa8792a1bd9267437274f333c', name: "primary", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: 'afb1d61aa0e430fcf483ba482af64762474e06fe', name: "end", onSlotchange: () => this.updateSlotClasses }))));
44322
+ })), childStyles) }, hAsync("div", { key: '3255531be492b9afa7b47476a805f923beea09db', class: "toolbar-background", part: "background" }), hAsync("div", { key: '8758189374c0a12f293c30ca7f8f049b732d2cab', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '74c3705f717968893bf94ea95c99cae313ce68f3', name: "start", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: '298c78f93291442f140f8c52983871215f20ea87', name: "secondary", onSlotchange: () => this.updateSlotClasses }), hAsync("div", { key: 'f7376320b704b8ce375fe2223ae30d51bfc05acb', class: "toolbar-content", part: "content" }, hAsync("slot", { key: 'ddaec08b1fbd13384d834ba4c3b4441c4d749faf' })), hAsync("slot", { key: '6d5bce85159859bb548e4d3fb6b22208dcb48987', name: "primary", onSlotchange: () => this.updateSlotClasses }), hAsync("slot", { key: 'd1d21752ed3bcc7bf15c20de1c0a6fd956373450', name: "end", onSlotchange: () => this.updateSlotClasses }))));
44274
44323
  }
44275
44324
  get el() { return getElement(this); }
44276
44325
  static get watchers() { return {
@@ -44329,11 +44378,11 @@ class ToolbarTitle {
44329
44378
  render() {
44330
44379
  const theme = getIonTheme(this);
44331
44380
  const size = this.getSize();
44332
- return (hAsync(Host, { key: 'd64e86bed418cba707d4a26c9274f18ed06c0e9e', class: createColorClasses$1(this.color, {
44381
+ return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
44333
44382
  [theme]: true,
44334
44383
  [`title-${size}`]: true,
44335
44384
  'title-rtl': document.dir === 'rtl',
44336
- }) }, hAsync("div", { key: '386a71e974cde0bfbf5b655d69ed5f718de8ce48', class: "toolbar-title" }, hAsync("slot", { key: '8aa804c9e1b11574a42268805d3117a085e699b4' }))));
44385
+ }) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
44337
44386
  }
44338
44387
  get el() { return getElement(this); }
44339
44388
  static get watchers() { return {
@@ -44390,7 +44439,6 @@ registerComponents([
44390
44439
  FabList,
44391
44440
  Footer,
44392
44441
  Gallery,
44393
- GalleryItem,
44394
44442
  Grid,
44395
44443
  Header,
44396
44444
  Icon,