@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.js CHANGED
@@ -8085,8 +8085,101 @@ const CoreDelegate = () => {
8085
8085
  let lastOverlayIndex = 0;
8086
8086
  let lastId = 0;
8087
8087
  const activeAnimations = new WeakMap();
8088
+ const OVERLAY_FOCUS_TRAP_SELECTOR = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover';
8089
+ const ION_SELECT_MODAL_SELECTOR = 'ion-select-modal';
8090
+ const isSelectModalOptionControl = (el) => el.tagName === 'ION-RADIO' || el.tagName === 'ION-CHECKBOX';
8088
8091
  /**
8089
- * Determines if the overlay's backdrop is always blocking (no background interaction).
8092
+ * Returns the currently focused element for keyboard focus checks.
8093
+ *
8094
+ * Starts from `document.activeElement` (non-shadow / light DOM focus).
8095
+ * If focus is inside one or more open shadow roots
8096
+ * (e.g. native control inside `ion-radio`), walks through nested
8097
+ * `shadowRoot.activeElement` values until the innermost focused node is reached.
8098
+ */
8099
+ const getActiveElement = (ownerDoc) => {
8100
+ var _a;
8101
+ let active = ownerDoc.activeElement;
8102
+ if (!active) {
8103
+ return null;
8104
+ }
8105
+ while ((_a = active.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) {
8106
+ active = active.shadowRoot.activeElement;
8107
+ }
8108
+ return active;
8109
+ };
8110
+ /**
8111
+ * Walks from a focused node (possibly deep inside shadow roots)
8112
+ * up to the nearest `ion-radio` / `ion-checkbox` host.
8113
+ */
8114
+ const getOptionControlHost = (active) => {
8115
+ let n = active;
8116
+ while (n) {
8117
+ if (isSelectModalOptionControl(n)) {
8118
+ return n;
8119
+ }
8120
+ const root = n.getRootNode();
8121
+ if (root instanceof ShadowRoot && root.host instanceof HTMLElement) {
8122
+ n = root.host;
8123
+ }
8124
+ else {
8125
+ return null;
8126
+ }
8127
+ }
8128
+ return null;
8129
+ };
8130
+ /**
8131
+ * Sheet modals can have visual order that differs from DOM order.
8132
+ * Without sorting, Tab can skip the handle after option traversal.
8133
+ *
8134
+ * Order: option controls (radio/checkbox) → sheet handle → end-slot
8135
+ * header button. Any other focusables are appended after.
8136
+ */
8137
+ const sortSheetModalFocusables = (overlay, elements) => {
8138
+ const optionControls = elements.filter((el) => {
8139
+ return overlay.contains(el) && isSelectModalOptionControl(el) && el.tabIndex >= 0;
8140
+ });
8141
+ const cancelControl = elements.find((el) => overlay.contains(el) &&
8142
+ el.tagName === 'ION-BUTTON' &&
8143
+ el.closest('ion-header ion-buttons[slot="end"]') !== null);
8144
+ const handleControl = elements.find((el) => el.classList.contains('modal-handle'));
8145
+ const sortByGeometry = (els) => [...els].sort((a, b) => {
8146
+ const ra = a.getBoundingClientRect();
8147
+ const rb = b.getBoundingClientRect();
8148
+ const topDiff = ra.top - rb.top;
8149
+ if (Math.abs(topDiff) > 1) {
8150
+ return topDiff;
8151
+ }
8152
+ return ra.left - rb.left;
8153
+ });
8154
+ const ordered = [];
8155
+ ordered.push(...sortByGeometry(optionControls));
8156
+ if (handleControl) {
8157
+ ordered.push(handleControl);
8158
+ }
8159
+ if (cancelControl) {
8160
+ ordered.push(cancelControl);
8161
+ }
8162
+ const used = new Set(ordered);
8163
+ for (const el of elements) {
8164
+ if (!used.has(el)) {
8165
+ ordered.push(el);
8166
+ }
8167
+ }
8168
+ return ordered;
8169
+ };
8170
+ /**
8171
+ * Option controls in groups use a tabindex pattern where only one
8172
+ * option is tabbable (`tabIndex="0"`) while the others are `-1`.
8173
+ * This returns the index of that current tabbable option.
8174
+ */
8175
+ const getTabbableOptionControlIndex = (elements, overlay) => {
8176
+ return elements.findIndex((el) => {
8177
+ return overlay.contains(el) && isSelectModalOptionControl(el) && el.tabIndex >= 0;
8178
+ });
8179
+ };
8180
+ /**
8181
+ * Determines if the overlay's backdrop is always blocking
8182
+ * (no background interaction).
8090
8183
  * Returns false if showBackdrop=false or backdropBreakpoint > 0.
8091
8184
  */
8092
8185
  const isBackdropAlwaysBlocking = (el) => {
@@ -8201,7 +8294,7 @@ const focusElementInOverlay = (hostToFocus, overlay) => {
8201
8294
  * Should NOT include: Toast
8202
8295
  */
8203
8296
  const trapKeyboardFocus = (ev, doc) => {
8204
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
8297
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8205
8298
  const target = ev.target;
8206
8299
  /**
8207
8300
  * If no active overlay, ignore this event.
@@ -8384,6 +8477,30 @@ const connectListeners = (doc) => {
8384
8477
  doc.addEventListener('focus', (ev) => {
8385
8478
  trapKeyboardFocus(ev, doc);
8386
8479
  }, true);
8480
+ /**
8481
+ * Remember which option control last received focus
8482
+ * (arrows, click, or Tab). This pattern keeps `tabIndex=0` on the
8483
+ * checked/first radio, so the Tab trap uses this when wrapping back
8484
+ * into the list or focusing the option-group slot.
8485
+ */
8486
+ doc.addEventListener('focusin', (ev) => {
8487
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8488
+ if (!lastOverlay || lastOverlay.classList.contains(FOCUS_TRAP_DISABLE_CLASS)) {
8489
+ return;
8490
+ }
8491
+ const isSheetModal = lastOverlay.classList.contains('modal-sheet');
8492
+ if (!isSheetModal) {
8493
+ return;
8494
+ }
8495
+ const target = ev.target;
8496
+ if (!(target instanceof HTMLElement)) {
8497
+ return;
8498
+ }
8499
+ const optionHost = getOptionControlHost(target);
8500
+ if (optionHost && lastOverlay.contains(optionHost)) {
8501
+ lastOverlay.trapLastSheetOptionControl = optionHost;
8502
+ }
8503
+ }, true);
8387
8504
  // Listen for keydown events to intercept Tab navigation.
8388
8505
  // This is needed for Safari and Firefox which may skip focusable
8389
8506
  // elements or allow focus to escape the overlay.
@@ -8393,10 +8510,10 @@ const connectListeners = (doc) => {
8393
8510
  var _a, _b, _c;
8394
8511
  if (ev.key !== 'Tab' && ev.key !== 'Alt+Tab')
8395
8512
  return;
8396
- const lastOverlay = getPresentedOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker-legacy,ion-popover');
8513
+ const lastOverlay = getPresentedOverlay(doc, OVERLAY_FOCUS_TRAP_SELECTOR);
8397
8514
  if (!lastOverlay || lastOverlay.classList.contains(FOCUS_TRAP_DISABLE_CLASS))
8398
8515
  return;
8399
- const activeElement = doc.activeElement;
8516
+ const activeElement = getActiveElement(doc);
8400
8517
  if (activeElement === lastOverlay) {
8401
8518
  ev.preventDefault();
8402
8519
  focusFirstDescendant(lastOverlay);
@@ -8412,16 +8529,32 @@ const connectListeners = (doc) => {
8412
8529
  if (!isInsideOverlay)
8413
8530
  return;
8414
8531
  // Get all focusable elements from both light and shadow DOM
8415
- const allFocusable = [
8532
+ let allFocusable = [
8416
8533
  ...lastOverlay.querySelectorAll(focusableQueryString),
8417
8534
  ...(((_c = lastOverlay.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll(focusableQueryString)) || []),
8418
8535
  ];
8536
+ const selectModalEl = lastOverlay.querySelector(ION_SELECT_MODAL_SELECTOR);
8537
+ const isSheetModal = lastOverlay.classList.contains('modal-sheet');
8538
+ /**
8539
+ * Some sheet modal content, including ion-select-modal,
8540
+ * renders option containers as `ion-item.select-interface-option`.
8541
+ * These can match focusable selectors in some builds but
8542
+ * are not intended tab stops. Keep only true interactive
8543
+ * controls so Tab can move from options to header
8544
+ * controls/handle.
8545
+ */
8546
+ if (selectModalEl) {
8547
+ allFocusable = allFocusable.filter((el) => !el.matches('ion-item.select-interface-option'));
8548
+ }
8549
+ if (isSheetModal) {
8550
+ allFocusable = sortSheetModalFocusables(lastOverlay, allFocusable);
8551
+ }
8419
8552
  if (allFocusable.length === 0) {
8420
8553
  ev.preventDefault();
8421
8554
  return;
8422
8555
  }
8423
8556
  // Find current element's index (accounting for shadow DOM)
8424
- const currentIndex = activeElement
8557
+ let currentIndex = activeElement
8425
8558
  ? allFocusable.findIndex((el) => {
8426
8559
  var _a;
8427
8560
  if (el === activeElement)
@@ -8432,6 +8565,31 @@ const connectListeners = (doc) => {
8432
8565
  return rootNode instanceof ShadowRoot && rootNode.host === el;
8433
8566
  })
8434
8567
  : -1;
8568
+ /**
8569
+ * Radio/checkbox groups can move focus onto an option with
8570
+ * `tabIndex=-1`, while another option still has `tabIndex=0`
8571
+ * in the list. `findIndex` then yields -1 and Tab incorrectly
8572
+ * wraps to `allFocusable[0]`.
8573
+ * Treat focus on any option control inside the sheet modal
8574
+ * as the same trap slot as the listed tabbable option
8575
+ * (`tabIndex >= 0`) so Tab goes handle → Cancel, not back
8576
+ * to the first radio.
8577
+ */
8578
+ if (currentIndex < 0 && isSheetModal && activeElement) {
8579
+ const optionHost = getOptionControlHost(activeElement);
8580
+ if (optionHost && lastOverlay.contains(optionHost)) {
8581
+ const directIndex = allFocusable.indexOf(optionHost);
8582
+ if (directIndex >= 0) {
8583
+ currentIndex = directIndex;
8584
+ }
8585
+ else {
8586
+ const tabbableOptionIndex = getTabbableOptionControlIndex(allFocusable, lastOverlay);
8587
+ if (tabbableOptionIndex >= 0) {
8588
+ currentIndex = tabbableOptionIndex;
8589
+ }
8590
+ }
8591
+ }
8592
+ }
8435
8593
  ev.preventDefault();
8436
8594
  // Helper to focus an element, handling shadow DOM properly
8437
8595
  const focusElement = (element) => {
@@ -8445,24 +8603,43 @@ const connectListeners = (doc) => {
8445
8603
  }
8446
8604
  focusVisibleElement(element);
8447
8605
  };
8606
+ let nextIndex;
8448
8607
  if (ev.shiftKey) {
8449
8608
  // Shift+Tab: previous element, wrap to last if at first
8450
8609
  if (currentIndex <= 0) {
8451
- focusLastDescendant(lastOverlay);
8610
+ nextIndex = allFocusable.length - 1;
8452
8611
  }
8453
8612
  else {
8454
- focusElement(allFocusable[currentIndex - 1]);
8613
+ nextIndex = currentIndex - 1;
8455
8614
  }
8456
8615
  }
8457
8616
  else {
8458
8617
  // Tab: next element, wrap to first if at last
8459
8618
  if (currentIndex < 0 || currentIndex >= allFocusable.length - 1) {
8460
- focusFirstDescendant(lastOverlay);
8619
+ nextIndex = 0;
8461
8620
  }
8462
8621
  else {
8463
- focusElement(allFocusable[currentIndex + 1]);
8622
+ nextIndex = currentIndex + 1;
8623
+ }
8624
+ }
8625
+ const nextEl = allFocusable[nextIndex];
8626
+ const overlayTrap = lastOverlay;
8627
+ const tabbableOptionIndex = isSheetModal ? getTabbableOptionControlIndex(allFocusable, lastOverlay) : -1;
8628
+ /**
8629
+ * The trap list only includes one tabbable option host
8630
+ * (`tabIndex >= 0`), usually the checked/first radio.
8631
+ * `focusin` tracks the real last-focused option; use it
8632
+ * whenever Tab would focus that slot (wrap from Cancel,
8633
+ * Shift+Tab from handle, etc.).
8634
+ */
8635
+ let focusTarget = nextEl;
8636
+ if (isSheetModal && tabbableOptionIndex >= 0 && nextIndex === tabbableOptionIndex) {
8637
+ const saved = overlayTrap.trapLastSheetOptionControl;
8638
+ if ((saved === null || saved === void 0 ? void 0 : saved.isConnected) && lastOverlay.contains(saved) && saved !== nextEl) {
8639
+ focusTarget = saved;
8464
8640
  }
8465
8641
  }
8642
+ focusElement(focusTarget);
8466
8643
  }, true);
8467
8644
  // handle back-button click
8468
8645
  doc.addEventListener('ionBackButton', (ev) => {
@@ -18726,7 +18903,7 @@ const DEFAULT_COLUMNS = {
18726
18903
  };
18727
18904
  const DEFAULT_GAP = '16px';
18728
18905
 
18729
- 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}`;
18906
+ 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}`;
18730
18907
 
18731
18908
  // TODO(FW-7285): Replace with global breakpoints
18732
18909
  const BREAKPOINTS = {
@@ -18738,7 +18915,6 @@ const BREAKPOINTS = {
18738
18915
  xxl: 1400,
18739
18916
  };
18740
18917
  const BREAKPOINT_ORDER = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];
18741
- const GALLERY_ITEM_SELECTOR = 'ion-gallery-item';
18742
18918
  /**
18743
18919
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
18744
18920
  * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
@@ -18753,7 +18929,6 @@ class Gallery {
18753
18929
  this.hasWarnedInvalidColumns = false;
18754
18930
  this.hasWarnedInvalidGap = false;
18755
18931
  this.hasWarnedUnusedOrder = false;
18756
- this.hasWarnedInvalidItems = false;
18757
18932
  /**
18758
18933
  * The visual layout of the gallery. When `uniform`, rows take up the height
18759
18934
  * of the tallest item and are spaced evenly across the gallery. Additionally,
@@ -18803,9 +18978,8 @@ class Gallery {
18803
18978
  const styles = getComputedStyle(this.el);
18804
18979
  const rowHeight = parseFloat(styles.getPropertyValue('grid-auto-rows')) || 0;
18805
18980
  const rowGap = parseFloat(styles.getPropertyValue('row-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18806
- const itemGap = parseFloat(styles.getPropertyValue('column-gap')) || parseFloat(styles.getPropertyValue('gap')) || 0;
18807
18981
  const items = this.getItems();
18808
- this.layoutMasonry(items, rowHeight, rowGap, itemGap, columns);
18982
+ this.layoutMasonry(items, rowHeight, rowGap, columns);
18809
18983
  };
18810
18984
  }
18811
18985
  onColumnsOrGapChanged() {
@@ -19006,16 +19180,6 @@ class Gallery {
19006
19180
  printIonWarning(`[ion-gallery] - "order" has no effect when "layout" is "uniform". Set "layout" to "masonry" for "order" to apply.`, this.el);
19007
19181
  this.hasWarnedUnusedOrder = true;
19008
19182
  }
19009
- /**
19010
- * Warn when gallery content is missing required `ion-gallery-item` components.
19011
- */
19012
- warnInvalidItems() {
19013
- if (this.hasWarnedInvalidItems) {
19014
- return;
19015
- }
19016
- 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);
19017
- this.hasWarnedInvalidItems = true;
19018
- }
19019
19183
  /**
19020
19184
  * Resolve the active columns value for the current width. Falls back to
19021
19185
  * the default responsive columns when the provided prop is invalid.
@@ -19072,45 +19236,12 @@ class Gallery {
19072
19236
  const gap = this.getGapForWidth(width);
19073
19237
  this.el.style.setProperty('--internal-gallery-gap', `${gap}`);
19074
19238
  }
19075
- isGalleryItemElement(element) {
19076
- var _a;
19077
- return typeof ((_a = element.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function';
19078
- }
19079
19239
  /**
19080
- * Return all gallery items that can be grid items with inline placement styles.
19081
- * Direct children that are not `ion-gallery-item` are treated as wrapper
19082
- * containers and flattened to nested `ion-gallery-item` children. Direct
19083
- * children without nested `ion-gallery-item` components are ignored.
19240
+ * Return all directly slotted children of the gallery that can be grid items
19241
+ * with inline placement styles (HTML elements and SVG elements).
19084
19242
  */
19085
19243
  getItems() {
19086
- const directChildren = Array.from(this.el.children).filter((child) => this.isGalleryItemElement(child));
19087
- const flattenedItems = [];
19088
- // Expand an <ion-gallery-item> component into the actual gallery items
19089
- // that should be used for grid placement.
19090
- const pushWrappedItems = (galleryItemEl) => {
19091
- const galleryItems = Array.from(galleryItemEl.children).filter((child) => this.isGalleryItemElement(child));
19092
- flattenedItems.push(...galleryItems);
19093
- };
19094
- directChildren.forEach((directChildEl) => {
19095
- // Standard path: <ion-gallery-item> is a direct child of <ion-gallery>.
19096
- if (directChildEl.matches(GALLERY_ITEM_SELECTOR)) {
19097
- pushWrappedItems(directChildEl);
19098
- return;
19099
- }
19100
- // Compatibility path: a non-gallery-item direct child (e.g. wrapper <div>)
19101
- // may contain nested <ion-gallery-item> components.
19102
- const nestedGalleryItems = Array.from(directChildEl.querySelectorAll(GALLERY_ITEM_SELECTOR)).filter((child) => this.isGalleryItemElement(child));
19103
- // Invalid children path: no <ion-gallery-item> components found.
19104
- if (nestedGalleryItems.length === 0) {
19105
- this.warnInvalidItems();
19106
- return;
19107
- }
19108
- // Flatten gallery-item containers so nested <ion-gallery-item> children can
19109
- // become the effective gallery items.
19110
- directChildEl.style.display = 'contents';
19111
- nestedGalleryItems.forEach((nestedGalleryItem) => pushWrappedItems(nestedGalleryItem));
19112
- });
19113
- return flattenedItems;
19244
+ return Array.from(this.el.children).filter((child) => { var _a; return typeof ((_a = child.style) === null || _a === void 0 ? void 0 : _a.setProperty) === 'function'; });
19114
19245
  }
19115
19246
  /**
19116
19247
  * Clear the item styles for the given item element.
@@ -19167,14 +19298,11 @@ class Gallery {
19167
19298
  /**
19168
19299
  * Apply masonry placement by assigning each item a column and row span.
19169
19300
  */
19170
- layoutMasonry(items, rowHeight, rowGap, itemGap, columns) {
19301
+ layoutMasonry(items, rowHeight, rowGap, columns) {
19171
19302
  const columnHeights = new Array(columns).fill(0);
19172
19303
  const lastItemsByColumn = new Array(columns).fill(undefined);
19173
19304
  items.forEach((itemEl, i) => {
19174
19305
  itemEl.style.marginBottom = '';
19175
- if (itemEl.parentElement !== this.el) {
19176
- itemEl.style.marginBottom = `${itemGap}px`;
19177
- }
19178
19306
  const span = this.calculateRowSpan(itemEl, rowHeight, rowGap);
19179
19307
  if (span === undefined) {
19180
19308
  this.clearItemStyles(itemEl);
@@ -19223,11 +19351,11 @@ class Gallery {
19223
19351
  const { layout } = this;
19224
19352
  const order = this.getOrder();
19225
19353
  const theme = getIonTheme(this);
19226
- return (hAsync(Host, { key: '0b6ef176032845b3df3b2335be90cb6ce5d791cc', class: {
19354
+ return (hAsync(Host, { key: '1bf2973d22835c0dbddf3214b602f8c08b95e421', class: {
19227
19355
  [theme]: true,
19228
19356
  [`gallery-layout-${layout}`]: true,
19229
19357
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
19230
- } }, hAsync("slot", { key: '247df9bb58b6899da7db60cdd475ccff0872673e', onSlotchange: this.onSlotChange })));
19358
+ } }, hAsync("slot", { key: '0dea31f609f6afdb1d73ecb2d873909ffe49203f', onSlotchange: this.onSlotChange })));
19231
19359
  }
19232
19360
  get el() { return getElement(this); }
19233
19361
  static get watchers() { return {
@@ -19260,85 +19388,6 @@ class Gallery {
19260
19388
  }; }
19261
19389
  }
19262
19390
 
19263
- 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}`;
19264
-
19265
- /**
19266
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
19267
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
19268
- *
19269
- * @slot - Wrap elements that should be grouped in an `ion-gallery`.
19270
- */
19271
- class GalleryItem {
19272
- constructor(hostRef) {
19273
- registerInstance(this, hostRef);
19274
- this.hasWarnedInvalidParent = false;
19275
- this.onSlotChange = () => {
19276
- this.warnInvalidParent();
19277
- };
19278
- }
19279
- componentWillLoad() {
19280
- var _a;
19281
- this.galleryEl = (_a = this.el.closest('ion-gallery')) !== null && _a !== void 0 ? _a : undefined;
19282
- this.syncLayoutClasses();
19283
- }
19284
- componentDidLoad() {
19285
- this.watchGalleryLayoutClasses();
19286
- this.warnInvalidParent();
19287
- }
19288
- disconnectedCallback() {
19289
- var _a;
19290
- (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
19291
- this.galleryClassObserver = undefined;
19292
- this.galleryEl = undefined;
19293
- }
19294
- warnInvalidParent() {
19295
- if (this.hasWarnedInvalidParent || this.galleryEl !== undefined) {
19296
- return;
19297
- }
19298
- printIonWarning('[ion-gallery-item] - This component should be used as a child of an "ion-gallery" component.', this.el);
19299
- this.hasWarnedInvalidParent = true;
19300
- }
19301
- watchGalleryLayoutClasses() {
19302
- var _a;
19303
- const galleryEl = this.galleryEl;
19304
- if (galleryEl === undefined) {
19305
- return;
19306
- }
19307
- (_a = this.galleryClassObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
19308
- this.galleryClassObserver = new MutationObserver(() => this.syncLayoutClasses());
19309
- this.galleryClassObserver.observe(galleryEl, {
19310
- attributes: true,
19311
- attributeFilter: ['class'],
19312
- });
19313
- }
19314
- syncLayoutClasses() {
19315
- var _a;
19316
- const layout = (_a = this.galleryEl) === null || _a === void 0 ? void 0 : _a.layout;
19317
- this.galleryLayout = layout === 'masonry' || layout === 'uniform' ? layout : undefined;
19318
- }
19319
- render() {
19320
- const { galleryLayout } = this;
19321
- const theme = getIonTheme(this);
19322
- return (hAsync(Host, { key: 'dbd9b9e005aa151981296e6487532e221f3f24e3', class: {
19323
- [theme]: true,
19324
- 'in-gallery-layout-uniform': galleryLayout === 'uniform',
19325
- 'in-gallery-layout-masonry': galleryLayout === 'masonry',
19326
- } }, hAsync("slot", { key: '98af83e345389763cf23d5e705f1c8773836418f', onSlotchange: this.onSlotChange })));
19327
- }
19328
- get el() { return getElement(this); }
19329
- static get style() { return galleryItemCss(); }
19330
- static get cmpMeta() { return {
19331
- "$flags$": 265,
19332
- "$tagName$": "ion-gallery-item",
19333
- "$members$": {
19334
- "galleryLayout": [32]
19335
- },
19336
- "$listeners$": undefined,
19337
- "$lazyBundleId$": "-",
19338
- "$attrsToReflect$": []
19339
- }; }
19340
- }
19341
-
19342
19391
  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}`;
19343
19392
 
19344
19393
  /**
@@ -19355,10 +19404,10 @@ class Grid {
19355
19404
  }
19356
19405
  render() {
19357
19406
  const theme = getIonTheme(this);
19358
- return (hAsync(Host, { key: 'e3320fc2fc5391d26898cc119505cd3be30dd48b', class: {
19407
+ return (hAsync(Host, { key: '43b4e05ef076160d901c70dc37e177f19b524349', class: {
19359
19408
  [theme]: true,
19360
19409
  'grid-fixed': this.fixed,
19361
- } }, hAsync("slot", { key: '2000e6b336c294aadf4585269c301d734d2fe478' })));
19410
+ } }, hAsync("slot", { key: 'f3805936034708e6783223ded72c0ecfd40e5fb0' })));
19362
19411
  }
19363
19412
  static get style() { return gridCss(); }
19364
19413
  static get cmpMeta() { return {
@@ -19760,7 +19809,7 @@ class Header {
19760
19809
  const isCondensed = collapse === 'condense';
19761
19810
  // banner role must be at top level, so remove role if inside a menu
19762
19811
  const roleType = getRoleType(hostContext('ion-menu', this.el), isCondensed, theme);
19763
- return (hAsync(Host, Object.assign({ key: '3395dedfd5165ba6e9f3ad1a25f0bb5b3678704a', role: roleType, class: {
19812
+ return (hAsync(Host, Object.assign({ key: 'b43e5f542bdcec5e94c299556183cf6d9d673438', role: roleType, class: {
19764
19813
  [theme]: true,
19765
19814
  // Used internally for styling
19766
19815
  [`header-${theme}`]: true,
@@ -19768,7 +19817,7 @@ class Header {
19768
19817
  [`header-collapse-${collapse}`]: true,
19769
19818
  [`header-translucent-${theme}`]: this.translucent,
19770
19819
  ['header-divider']: divider,
19771
- } }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'cafeb88b6e73d64b264514ea46590fd3477b3052', class: "header-background" }), hAsync("slot", { key: 'ad681aaf866d7e7a5e5e731c0b5d6f5cc9fe94d2' })));
19820
+ } }, inheritedAttributes), theme !== 'md' && translucent && hAsync("div", { key: 'fd9938f02edd38e1afc83025373ec0aec5633711', class: "header-background" }), hAsync("slot", { key: '900aaa7da5d6f08e6f94b128fa065348d595159e' })));
19772
19821
  }
19773
19822
  get el() { return getElement(this); }
19774
19823
  static get style() { return {
@@ -20119,9 +20168,9 @@ class Img {
20119
20168
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
20120
20169
  const { draggable } = inheritedAttributes;
20121
20170
  const theme = getIonTheme(this);
20122
- return (hAsync(Host, { key: 'ba84621055567b2a35387709d9d89b97ad853274', class: {
20171
+ return (hAsync(Host, { key: '91de170493b31d6260e975b440beceb6906b6d5a', class: {
20123
20172
  [theme]: true,
20124
- } }, hAsync("img", { key: '9d6118bbf69e2cccbb0603802c03b9a0d101e2c3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20173
+ } }, hAsync("img", { key: 'ac1f41afbece34a3e38e656733f3e55cce385b4c', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20125
20174
  }
20126
20175
  get el() { return getElement(this); }
20127
20176
  static get watchers() { return {
@@ -20426,7 +20475,7 @@ class InfiniteScroll {
20426
20475
  render() {
20427
20476
  const theme = getIonTheme(this);
20428
20477
  const disabled = this.disabled;
20429
- return (hAsync(Host, { key: 'e3a3cde079dfd6f07e565eb462765df757cbb128', class: {
20478
+ return (hAsync(Host, { key: '02beca21d668e4e605532ad5ca5a67a08c71eebb', class: {
20430
20479
  [theme]: true,
20431
20480
  'infinite-scroll-loading': this.isLoading,
20432
20481
  'infinite-scroll-enabled': !disabled,
@@ -20489,11 +20538,11 @@ class InfiniteScrollContent {
20489
20538
  }
20490
20539
  render() {
20491
20540
  const theme = getIonTheme(this);
20492
- return (hAsync(Host, { key: '263a27297159ced042f7552a1e14b8c6aba62fa8', class: {
20541
+ return (hAsync(Host, { key: 'b51954f829eeafd5ec304b3e66e330776485ffc8', class: {
20493
20542
  [theme]: true,
20494
20543
  // Used internally for styling
20495
20544
  [`infinite-scroll-content-${theme}`]: true,
20496
- } }, 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())));
20545
+ } }, 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())));
20497
20546
  }
20498
20547
  static get style() { return {
20499
20548
  ionic: ionicInfiniteScrollContentMdCss(),
@@ -21241,7 +21290,7 @@ class Input {
21241
21290
  * TODO(FW-5592): Remove hasStartEndSlots condition
21242
21291
  */
21243
21292
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
21244
- return (hAsync(Host, { key: '3da29d837b5abe22de740ac96c8142422fce537a', class: createColorClasses$1(this.color, {
21293
+ return (hAsync(Host, { key: 'beeeca9939e7e416783425f67d3c9e2be6bbae99', class: createColorClasses$1(this.color, {
21245
21294
  [theme]: true,
21246
21295
  'has-value': hasValue,
21247
21296
  'has-focus': hasFocus,
@@ -21254,7 +21303,7 @@ class Input {
21254
21303
  'in-item-color': hostContext('ion-item.ion-color', this.el),
21255
21304
  'input-disabled': disabled,
21256
21305
  'input-readonly': readonly,
21257
- }) }, hAsync("label", { key: '142a8230382a05938887e9c0790832218ac37697', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: '953f247ea2f40545e01e0346549d9b7aa344b720', class: "native-wrapper", onClick: this.onLabelClick },
21306
+ }) }, hAsync("label", { key: 'f227df52a6ad60344f16261a82c0d0566bb8cd5b', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'ae6da554ce21f805361a7704139b776a9344dcb2', class: "native-wrapper", onClick: this.onLabelClick },
21258
21307
  /**
21259
21308
  * For the ionic theme, we render the outline container here
21260
21309
  * instead of higher up, so it can be positioned relative to
@@ -21264,14 +21313,14 @@ class Input {
21264
21313
  * <label> element, ensuring that clicking the label text
21265
21314
  * focuses the input.
21266
21315
  */
21267
- 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) => {
21316
+ 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) => {
21268
21317
  /**
21269
21318
  * This prevents mobile browsers from
21270
21319
  * blurring the input when the clear
21271
21320
  * button is activated.
21272
21321
  */
21273
21322
  ev.preventDefault();
21274
- }, 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()));
21323
+ }, 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()));
21275
21324
  }
21276
21325
  get el() { return getElement(this); }
21277
21326
  static get watchers() { return {
@@ -22036,7 +22085,7 @@ class InputOTP {
22036
22085
  const tabbableIndex = this.getTabbableIndex();
22037
22086
  const pattern = this.getPattern();
22038
22087
  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()) !== '';
22039
- return (hAsync(Host, { key: 'f39e98cd24cbf50f7db4e891dda9499f6def7986', class: createColorClasses$1(color, {
22088
+ return (hAsync(Host, { key: '7a5c5dbb7e1880bd94d4b00e579af941366b1cb2', class: createColorClasses$1(color, {
22040
22089
  [mode]: true,
22041
22090
  'has-focus': hasFocus,
22042
22091
  [`input-otp-size-${size}`]: true,
@@ -22044,10 +22093,10 @@ class InputOTP {
22044
22093
  [`input-otp-fill-${fill}`]: true,
22045
22094
  'input-otp-disabled': disabled,
22046
22095
  'input-otp-readonly': readonly,
22047
- }) }, 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: {
22096
+ }) }, 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: {
22048
22097
  'input-otp-description': true,
22049
22098
  'input-otp-description-hidden': !hasDescription,
22050
- }, part: "description" }, hAsync("slot", { key: '15c7c8549c1788748e1ae31bd227a7f918cb5eca' }))));
22099
+ }, part: "description" }, hAsync("slot", { key: '163c374e7ae5dbdb1dc12483161e5aca919a50d5' }))));
22051
22100
  }
22052
22101
  static get formAssociated() { return true; }
22053
22102
  get el() { return getElement(this); }
@@ -22195,16 +22244,16 @@ class InputPasswordToggle {
22195
22244
  const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
22196
22245
  const mode = getIonMode$1(this);
22197
22246
  const isPasswordVisible = type === 'text';
22198
- return (hAsync(Host, { key: 'f11e3bf4d3255e003aec504e6dd3ee1e0caaf767', class: createColorClasses$1(color, {
22247
+ return (hAsync(Host, { key: 'c7f0805958b284005806a0cb3ed0b5cba42cecd1', class: createColorClasses$1(color, {
22199
22248
  [mode]: true,
22200
- }) }, 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) => {
22249
+ }) }, 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) => {
22201
22250
  /**
22202
22251
  * This prevents mobile browsers from
22203
22252
  * blurring the input when the password toggle
22204
22253
  * button is activated.
22205
22254
  */
22206
22255
  ev.preventDefault();
22207
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'c0eb0e4e2f3e9553bfd519ff655064c9f62af406', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
22256
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'be752db7186a7cd6fc033c7002fcb1683d93c162', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
22208
22257
  }
22209
22258
  get el() { return getElement(this); }
22210
22259
  static get watchers() { return {
@@ -22579,11 +22628,11 @@ class ItemDivider {
22579
22628
  }
22580
22629
  render() {
22581
22630
  const theme = getIonTheme(this);
22582
- return (hAsync(Host, { key: 'dc73f348b5376faa40ba4bc6bba3d5c9e5ec5ab2', class: createColorClasses$1(this.color, {
22631
+ return (hAsync(Host, { key: 'ede65c17ec8e42e4096f8753116923d6b8d2cc14', class: createColorClasses$1(this.color, {
22583
22632
  [theme]: true,
22584
22633
  'item-divider-sticky': this.sticky,
22585
22634
  item: true,
22586
- }) }, 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" }))));
22635
+ }) }, 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" }))));
22587
22636
  }
22588
22637
  get el() { return getElement(this); }
22589
22638
  static get style() { return {
@@ -22620,7 +22669,7 @@ class ItemGroup {
22620
22669
  }
22621
22670
  render() {
22622
22671
  const theme = getIonTheme(this);
22623
- return (hAsync(Host, { key: '017c8f7cd0258e1864423337ddd1b1cb522f64ed', role: "group", class: {
22672
+ return (hAsync(Host, { key: '66ad8ce335cd97703e884538bdf6ea1927a30889', role: "group", class: {
22624
22673
  [theme]: true,
22625
22674
  // Used internally for styling
22626
22675
  [`item-group-${theme}`]: true,
@@ -22716,14 +22765,14 @@ class ItemOption {
22716
22765
  href: this.href,
22717
22766
  target: this.target,
22718
22767
  };
22719
- return (hAsync(Host, { key: '8f1bad23fd3ccbb9d54d57765e6731cd2ee07306', onClick: this.onClick, class: createColorClasses$1(this.color, {
22768
+ return (hAsync(Host, { key: 'bfade0042108ff525077dfbdfd45169ccfd6b920', onClick: this.onClick, class: createColorClasses$1(this.color, {
22720
22769
  [theme]: true,
22721
22770
  [`item-option-${shape}`]: shape !== undefined,
22722
22771
  [`item-option-${hue}`]: hue !== undefined,
22723
22772
  'item-option-disabled': disabled,
22724
22773
  'item-option-expandable': expandable,
22725
22774
  'ion-activatable': true,
22726
- }) }, 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' }))));
22775
+ }) }, 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' }))));
22727
22776
  }
22728
22777
  get el() { return getElement(this); }
22729
22778
  static get style() { return {
@@ -22781,7 +22830,7 @@ class ItemOptions {
22781
22830
  render() {
22782
22831
  const theme = getIonTheme(this);
22783
22832
  const isEnd = isEndSide(this.side);
22784
- return (hAsync(Host, { key: 'ed05ceebf2cda943ac9efea2f91b71f7e8fc55e8', class: {
22833
+ return (hAsync(Host, { key: 'f3bb726a28c571101791d33d946df9017f47e5ec', class: {
22785
22834
  [theme]: true,
22786
22835
  // Used internally for styling
22787
22836
  [`item-options-${theme}`]: true,
@@ -23633,7 +23682,7 @@ class ItemSliding {
23633
23682
  }
23634
23683
  render() {
23635
23684
  const theme = getIonTheme(this);
23636
- return (hAsync(Host, { key: '47de8c8a9721f9223b42d6722a9ad32f378818aa', class: {
23685
+ return (hAsync(Host, { key: 'e6890a1b14faaf9121a07912b1c2f46e06148202', class: {
23637
23686
  [theme]: true,
23638
23687
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
23639
23688
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -23752,13 +23801,13 @@ class Label {
23752
23801
  render() {
23753
23802
  const position = this.position;
23754
23803
  const theme = getIonTheme(this);
23755
- return (hAsync(Host, { key: 'b1f261db441bcb0a325a5b3e21da17764a56f17c', class: createColorClasses$1(this.color, {
23804
+ return (hAsync(Host, { key: '7cbec4c1b8fe8925f44255e02cee78bc1873fd70', class: createColorClasses$1(this.color, {
23756
23805
  [theme]: true,
23757
23806
  'in-item-color': hostContext('ion-item.ion-color', this.el),
23758
23807
  [`label-${position}`]: position !== undefined,
23759
23808
  [`label-no-animate`]: this.noAnimate,
23760
23809
  'label-rtl': document.dir === 'rtl',
23761
- }) }, hAsync("slot", { key: '490444c8c0d4cf72eae3f8abfb7ed7ecc30bb213' })));
23810
+ }) }, hAsync("slot", { key: '6d8b4a7ab396792d7a7c0b7e259c622840b7ef9b' })));
23762
23811
  }
23763
23812
  get el() { return getElement(this); }
23764
23813
  static get watchers() { return {
@@ -23838,7 +23887,7 @@ class List {
23838
23887
  const theme = getIonTheme(this);
23839
23888
  const shape = this.getShape();
23840
23889
  const { lines, inset } = this;
23841
- return (hAsync(Host, { key: '9be30ff6e75e020c0db7054800cb874efef26bd8', role: "list", class: {
23890
+ return (hAsync(Host, { key: 'f17f7af20c567ea0098b362ea04d051b44aa151a', role: "list", class: {
23842
23891
  [theme]: true,
23843
23892
  // Used internally for styling
23844
23893
  [`list-${theme}`]: true,
@@ -23888,10 +23937,10 @@ class ListHeader {
23888
23937
  render() {
23889
23938
  const { lines } = this;
23890
23939
  const theme = getIonTheme(this);
23891
- return (hAsync(Host, { key: '7a1632a069317285210f4aeae50a6f2ef6955c56', class: createColorClasses$1(this.color, {
23940
+ return (hAsync(Host, { key: '90c594b0290949b159f35bd36c86c3231a1b8e44', class: createColorClasses$1(this.color, {
23892
23941
  [theme]: true,
23893
23942
  [`list-header-lines-${lines}`]: lines !== undefined,
23894
- }) }, hAsync("div", { key: 'a9a9463f209023da222f38a78126d5aaeb2f03b9', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'e3c6ec1b588392d347844d59d338abc339e80634' }))));
23943
+ }) }, hAsync("div", { key: '9d1bde129787263edb79bc921cdf0168a2935a27', class: "list-header-inner", part: "inner" }, hAsync("slot", { key: 'fe157b5ff88355adfb09209ee92fd03c82e067ff' }))));
23895
23944
  }
23896
23945
  static get style() { return {
23897
23946
  ionic: listHeaderIonicCss(),
@@ -24180,9 +24229,9 @@ class Loading {
24180
24229
  * Otherwise, don't set aria-labelledby.
24181
24230
  */
24182
24231
  const ariaLabelledBy = message !== undefined ? msgId : null;
24183
- return (hAsync(Host, Object.assign({ key: '2ffae36b20a7d7f3a752a062d90062583e31d053', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
24232
+ return (hAsync(Host, Object.assign({ key: 'b1e84a0d078fac04c0736a19d067d8d49e339323', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
24184
24233
  zIndex: `${40000 + this.overlayIndex}`,
24185
- }, 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" })));
24234
+ }, 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" })));
24186
24235
  }
24187
24236
  get el() { return getElement(this); }
24188
24237
  static get watchers() { return {
@@ -25243,14 +25292,14 @@ class Menu {
25243
25292
  * the ionBackButton listener in the menu controller
25244
25293
  * will handle closing the menu when Escape is pressed.
25245
25294
  */
25246
- return (hAsync(Host, { key: '76e15d710fbbbd2e64795224decc3673fd160db0', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
25295
+ return (hAsync(Host, { key: 'd42a7b48a1464a4d71188e3a31f719c5dc296d77', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
25247
25296
  [theme]: true,
25248
25297
  [`menu-type-${type}`]: true,
25249
25298
  'menu-enabled': !disabled,
25250
25299
  [`menu-side-${side}`]: true,
25251
25300
  'menu-pane-visible': isPaneVisible,
25252
25301
  'split-pane-side': hostContext('ion-split-pane', el),
25253
- } }, 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" })));
25302
+ } }, 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" })));
25254
25303
  }
25255
25304
  get el() { return getElement(this); }
25256
25305
  static get watchers() { return {
@@ -25384,7 +25433,7 @@ class MenuButton {
25384
25433
  type: this.type,
25385
25434
  };
25386
25435
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
25387
- return (hAsync(Host, { key: '341ca3bfac81ce4432eef5d2fd738becd1dfb07e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
25436
+ return (hAsync(Host, { key: 'd150818e749a1cbe72dc05011247023f6d442eb8', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
25388
25437
  [theme]: true,
25389
25438
  button: true, // ion-buttons target .button
25390
25439
  'menu-button-hidden': hidden,
@@ -25393,7 +25442,7 @@ class MenuButton {
25393
25442
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
25394
25443
  'ion-activatable': true,
25395
25444
  'ion-focusable': true,
25396
- }) }, 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" }))));
25445
+ }) }, 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" }))));
25397
25446
  }
25398
25447
  get el() { return getElement(this); }
25399
25448
  static get style() { return {
@@ -25450,10 +25499,10 @@ class MenuToggle {
25450
25499
  render() {
25451
25500
  const theme = getIonTheme(this);
25452
25501
  const hidden = this.autoHide && !this.visible;
25453
- return (hAsync(Host, { key: '9ef631d9ae370a8740e691d281863203bfdddc38', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
25502
+ return (hAsync(Host, { key: '973372d778e7902eac28b2a6a5e74165b51d60d6', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
25454
25503
  [theme]: true,
25455
25504
  'menu-toggle-hidden': hidden,
25456
- } }, hAsync("slot", { key: 'f8d9dfc562ed625ae47ec771ef6b2ea04bc463f4' })));
25505
+ } }, hAsync("slot", { key: '760b8ffe93ae490b62f7ad6fc94ecbc8521ead64' })));
25457
25506
  }
25458
25507
  static get style() { return menuToggleCss(); }
25459
25508
  static get cmpMeta() { return {
@@ -28956,20 +29005,20 @@ class Modal {
28956
29005
  const isHandleCycle = handleBehavior === 'cycle';
28957
29006
  const shape = this.getShape();
28958
29007
  const isSheetModalWithHandle = isSheetModal && showHandle;
28959
- return (hAsync(Host, Object.assign({ key: '9e6dc8544831a6bda7e4e9387a49cb334ab9bc39', "no-router": true,
29008
+ return (hAsync(Host, Object.assign({ key: '2d3a31da1613386cf90f0d59d6b26c9a5b654d2a', "no-router": true,
28960
29009
  // Allow the modal to be navigable when the handle is focusable
28961
29010
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
28962
29011
  zIndex: `${20000 + this.overlayIndex}`,
28963
- }, 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',
29012
+ }, 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',
28964
29013
  /*
28965
29014
  role and aria-modal must be used on the
28966
29015
  same element. They must also be set inside the
28967
29016
  shadow DOM otherwise ion-button will not be highlighted
28968
29017
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
28969
29018
  */
28970
- 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",
29019
+ 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",
28971
29020
  // Prevents the handle from receiving keyboard focus when it does not cycle
28972
- 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 }))));
29021
+ 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 }))));
28973
29022
  }
28974
29023
  get el() { return getElement(this); }
28975
29024
  static get watchers() { return {
@@ -29929,7 +29978,7 @@ class Nav {
29929
29978
  }
29930
29979
  }
29931
29980
  render() {
29932
- return hAsync("slot", { key: '3dfe9c2a5f3ea75cb6d82b76b240733105cddfad' });
29981
+ return hAsync("slot", { key: '87188d8fb4232d448ef2ad8e3db29c3730b1ff9e' });
29933
29982
  }
29934
29983
  get el() { return getElement(this); }
29935
29984
  static get watchers() { return {
@@ -30010,7 +30059,7 @@ class NavLink {
30010
30059
  };
30011
30060
  }
30012
30061
  render() {
30013
- return hAsync(Host, { key: '476bfb5bb6fba4f422ec40315fc3ef466d01f757', onClick: this.onClick });
30062
+ return hAsync(Host, { key: '38f3d2e7a3ae4e57ac1479436c143e6820d25cd2', onClick: this.onClick });
30014
30063
  }
30015
30064
  get el() { return getElement(this); }
30016
30065
  static get cmpMeta() { return {
@@ -30044,9 +30093,9 @@ class Note {
30044
30093
  }
30045
30094
  render() {
30046
30095
  const theme = getIonTheme(this);
30047
- return (hAsync(Host, { key: '376ae1c66c19d1bdd74a2371c0639ed9e49648b5', class: createColorClasses$1(this.color, {
30096
+ return (hAsync(Host, { key: '34a74796fc2e41549100c6611a5900d60c8d688d', class: createColorClasses$1(this.color, {
30048
30097
  [theme]: true,
30049
- }) }, hAsync("slot", { key: 'f8168cd88bb21c5e5a2b03c29539729fb38a19fd' })));
30098
+ }) }, hAsync("slot", { key: 'ea4c2e3b5666d10ca312e175db200134d8a30382' })));
30050
30099
  }
30051
30100
  static get style() { return {
30052
30101
  ionic: ionicNoteMdCss(),
@@ -30812,11 +30861,11 @@ class Picker {
30812
30861
  render() {
30813
30862
  const { htmlAttributes } = this;
30814
30863
  const theme = getIonTheme(this);
30815
- return (hAsync(Host, Object.assign({ key: '681ad6d20efa16f1d6c6f9a7d03caec2b17ff36e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
30864
+ return (hAsync(Host, Object.assign({ key: 'b0c1fc8eee284f03c696f0c8aaa29f4a6d7be0be', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
30816
30865
  zIndex: `${20000 + this.overlayIndex}`,
30817
30866
  }, class: Object.assign({ [theme]: true,
30818
30867
  // Used internally for styling
30819
- [`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" })));
30868
+ [`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" })));
30820
30869
  }
30821
30870
  get el() { return getElement(this); }
30822
30871
  static get watchers() { return {
@@ -31794,9 +31843,9 @@ class PickerColumnCmp {
31794
31843
  render() {
31795
31844
  const col = this.col;
31796
31845
  const theme = getIonTheme(this);
31797
- 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: {
31846
+ 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: {
31798
31847
  'max-width': this.col.columnWidth,
31799
- } }, 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))));
31848
+ } }, 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))));
31800
31849
  }
31801
31850
  get el() { return getElement(this); }
31802
31851
  static get watchers() { return {
@@ -31921,10 +31970,10 @@ class PickerColumnOption {
31921
31970
  render() {
31922
31971
  const { color, disabled, ariaLabel } = this;
31923
31972
  const theme = getIonTheme(this);
31924
- return (hAsync(Host, { key: 'fe9553e3157d35f5c28a3f2457715bd598ec1e00', class: createColorClasses$1(color, {
31973
+ return (hAsync(Host, { key: '54c254f01017aa47aac76c0833f9ef04bf20bdc9', class: createColorClasses$1(color, {
31925
31974
  [theme]: true,
31926
31975
  ['option-disabled']: disabled,
31927
- }) }, hAsync("div", { key: '9bc334f020012537144972b5a8a1aed7c35ccec5', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: 'bd076e43c98ad920486230684c7f63e7e0b187f8' }))));
31976
+ }) }, hAsync("div", { key: '36b21f1b7d9a5b05f0211ce8be90f66578641224', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, hAsync("slot", { key: '154bf9ca37ca1c6e5d34d42c16b04203e83210be' }))));
31928
31977
  }
31929
31978
  get el() { return getElement(this); }
31930
31979
  static get watchers() { return {
@@ -33493,9 +33542,9 @@ class Popover {
33493
33542
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
33494
33543
  const desktop = isPlatform('desktop');
33495
33544
  const enableArrow = arrow && !parentPopover;
33496
- return (hAsync(Host, Object.assign({ key: '3319e6ea7524a30478985c014634403aceedab6f', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
33545
+ return (hAsync(Host, Object.assign({ key: '43128f8b7e57f08a451af1a237534d0517d86eda', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
33497
33546
  zIndex: `${20000 + this.overlayIndex}`,
33498
- }, 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' })))));
33547
+ }, 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' })))));
33499
33548
  }
33500
33549
  get el() { return getElement(this); }
33501
33550
  static get watchers() { return {
@@ -33623,7 +33672,7 @@ class ProgressBar {
33623
33672
  const shape = this.getShape();
33624
33673
  // If the progress is displayed as a solid bar.
33625
33674
  const progressSolid = buffer === 1;
33626
- return (hAsync(Host, { key: '1cf02806b28a0d7b070e6f3616ea8f4c8ae4990a', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
33675
+ return (hAsync(Host, { key: '0f6202e25d884fb85d18578769f6cfa5c704e9d9', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
33627
33676
  [theme]: true,
33628
33677
  [`progress-bar-${type}`]: true,
33629
33678
  'progress-paused': paused,
@@ -33816,7 +33865,7 @@ class Radio {
33816
33865
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
33817
33866
  const theme = getIonTheme(this);
33818
33867
  const inItem = hostContext('ion-item', el);
33819
- return (hAsync(Host, { key: 'e9591254a3823435617732dcf415ea4bb5fa4d62', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
33868
+ return (hAsync(Host, { key: '82127b11eac97fa45886179d248c8509ca07655a', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
33820
33869
  [theme]: true,
33821
33870
  'in-item': inItem,
33822
33871
  'radio-checked': checked,
@@ -33827,10 +33876,10 @@ class Radio {
33827
33876
  // Focus and active styling should not apply when the radio is in an item
33828
33877
  'ion-activatable': !inItem,
33829
33878
  'ion-focusable': !inItem,
33830
- }), 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: {
33879
+ }), 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: {
33831
33880
  'label-text-wrapper': true,
33832
33881
  'label-text-wrapper-hidden': !hasLabel,
33833
- }, part: "label" }, hAsync("slot", { key: 'a77d60be10ece9c80bab6e5c2a24533eede95362' })), hAsync("div", { key: 'e687dc6686b0748a1a3337cd87a01c01315c0f22', class: "native-wrapper" }, this.renderRadioControl()))));
33882
+ }, part: "label" }, hAsync("slot", { key: '9c26b977843398be61f1b753251d8fe40d65702a' })), hAsync("div", { key: '336b2d6aeb5e86dc1d994ac1eac52634f5da5b9c', class: "native-wrapper" }, this.renderRadioControl()))));
33834
33883
  }
33835
33884
  get el() { return getElement(this); }
33836
33885
  static get watchers() { return {
@@ -34100,10 +34149,10 @@ class RadioGroup {
34100
34149
  const { label, labelId, el, name, value } = this;
34101
34150
  const theme = getIonTheme(this);
34102
34151
  renderHiddenInput(true, el, name, value, false);
34103
- return (hAsync(Host, { key: '8a57b258087569c2fb13ddaa6e83e06822c05a4d', class: {
34152
+ return (hAsync(Host, { key: 'c8077cb16bcc6719fa2aba1a5a9cb139e0b81a9e', class: {
34104
34153
  [theme]: true,
34105
34154
  'in-list': hostContext('ion-list', el),
34106
- }, 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' })));
34155
+ }, 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' })));
34107
34156
  }
34108
34157
  get el() { return getElement(this); }
34109
34158
  static get watchers() { return {
@@ -34953,7 +35002,7 @@ class Range {
34953
35002
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
34954
35003
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
34955
35004
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
34956
- return (hAsync(Host, { key: '0f39669a81cfb08a3aca6998b95bda68f5076306', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
35005
+ return (hAsync(Host, { key: '6c11f7ad176a00ca5368be9ba46c29f6a9aa02bb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
34957
35006
  [theme]: true,
34958
35007
  'in-item': inItem,
34959
35008
  'range-disabled': disabled,
@@ -34967,10 +35016,10 @@ class Range {
34967
35016
  'range-item-end-adjustment': needsEndAdjustment,
34968
35017
  'range-value-min': valueAtMin,
34969
35018
  'range-value-max': valueAtMax,
34970
- }) }, hAsync("label", { key: 'c1615da8ac01fccb650a8d1eb6b6b69562634e2f', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'ba530e76d0253f457b04bbd8403d9a02ac859cfe', class: {
35019
+ }) }, hAsync("label", { key: '4ac202cf5fd17a9f69e288508e89cfe266a2c8f2', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '1261d51ce247e066e5005f4aaa7b474ae0ddd421', class: {
34971
35020
  'label-text-wrapper': true,
34972
35021
  'label-text-wrapper-hidden': !hasLabel,
34973
- }, 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" })))));
35022
+ }, 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" })))));
34974
35023
  }
34975
35024
  get el() { return getElement(this); }
34976
35025
  static get watchers() { return {
@@ -36045,7 +36094,7 @@ class Refresher {
36045
36094
  }
36046
36095
  render() {
36047
36096
  const theme = getIonTheme(this);
36048
- return (hAsync(Host, { key: '5761384ab0eb88600ad036b6fdbebf8e5150e6b8', slot: "fixed", class: {
36097
+ return (hAsync(Host, { key: 'd2671f7850b565e7a6fc5b3ff15b2410bcf7cb32', slot: "fixed", class: {
36049
36098
  [theme]: true,
36050
36099
  // Used internally for styling
36051
36100
  [`refresher-${theme}`]: true,
@@ -36284,9 +36333,9 @@ class RefresherContent {
36284
36333
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
36285
36334
  const theme = getIonTheme(this);
36286
36335
  const arrowIcon = theme === 'ionic' ? caretLeftFillSvg : caretBackSharp;
36287
- return (hAsync(Host, { key: '3d2d138e485b3b2beae47b9ea4e140f0b9647434', class: {
36336
+ return (hAsync(Host, { key: '684bf1189acba94c502e2bb421f0b65313c3e9f9', class: {
36288
36337
  [theme]: true,
36289
- } }, 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())));
36338
+ } }, 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())));
36290
36339
  }
36291
36340
  get el() { return getElement(this); }
36292
36341
  static get style() { return {
@@ -36355,9 +36404,9 @@ class Reorder {
36355
36404
  render() {
36356
36405
  const { reorderHandleIcon } = this;
36357
36406
  const theme = getIonTheme(this);
36358
- return (hAsync(Host, { key: 'bc0b4cd34db6dfe794ab66a785d406bfc02236c5', class: {
36407
+ return (hAsync(Host, { key: '2a30643d0c5dbebab97a7aca68c165ee79ceed33', class: {
36359
36408
  [theme]: true,
36360
- } }, hAsync("slot", { key: '28672768be8598b7cb47b7b2837b77afbc2c2e14' }, hAsync("ion-icon", { key: '03b6620768da18a6f8cb0c55e94b85a53cbab66a', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36409
+ } }, hAsync("slot", { key: '9ac45a0cc21aea6ed0ec03aa12334886219b1051' }, hAsync("ion-icon", { key: '6d6789a718db4f252c6b3b4484148be2a65c80b8', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36361
36410
  }
36362
36411
  get el() { return getElement(this); }
36363
36412
  static get style() { return {
@@ -36633,7 +36682,7 @@ class ReorderGroup {
36633
36682
  }
36634
36683
  render() {
36635
36684
  const theme = getIonTheme(this);
36636
- return (hAsync(Host, { key: 'c095e5428be9f446f245d37a12653978bb2bc2b6', class: {
36685
+ return (hAsync(Host, { key: 'f618089290a47bae34bcaaed968c3f8f4daa827f', class: {
36637
36686
  [theme]: true,
36638
36687
  'reorder-enabled': !this.disabled,
36639
36688
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -36759,7 +36808,7 @@ class RippleEffect {
36759
36808
  }
36760
36809
  render() {
36761
36810
  const theme = getIonTheme(this);
36762
- return (hAsync(Host, { key: '51fe7517d41c643bd4e746f366f513c42dac17dc', role: "presentation", class: {
36811
+ return (hAsync(Host, { key: 'f4db39623cfd1bdc773e222b2dd9ed52a26cc685', role: "presentation", class: {
36763
36812
  [theme]: true,
36764
36813
  unbounded: this.unbounded,
36765
36814
  } }));
@@ -37744,10 +37793,10 @@ class RouterLink {
37744
37793
  rel: this.rel,
37745
37794
  target: this.target,
37746
37795
  };
37747
- return (hAsync(Host, { key: '84efbafddc586ee3f616d4e1a13118c04d9b2753', onClick: this.onClick, class: createColorClasses$1(this.color, {
37796
+ return (hAsync(Host, { key: '989574921f3bf06e4e5ad4e98ea3cce2e5c7165e', onClick: this.onClick, class: createColorClasses$1(this.color, {
37748
37797
  [theme]: true,
37749
37798
  'ion-activatable': true,
37750
- }) }, hAsync("a", Object.assign({ key: 'e8c7cda4c00ec45548ea52b632bc4adb07f9460c' }, attrs), hAsync("slot", { key: '133bf1203a3e218e3868b4cfda00bb753ecea946' }))));
37799
+ }) }, hAsync("a", Object.assign({ key: 'ee72dba91cc13ca4f251ba6bb5a8b7bf54b6f88d' }, attrs), hAsync("slot", { key: '8e8b5afd795bb213b8765f731463e0588799b001' }))));
37751
37800
  }
37752
37801
  static get style() { return routerLinkCss(); }
37753
37802
  static get cmpMeta() { return {
@@ -37947,7 +37996,7 @@ class RouterOutlet {
37947
37996
  return true;
37948
37997
  }
37949
37998
  render() {
37950
- return hAsync("slot", { key: '56e3d06ed939755796058e30ef19fbc7f7cb490d' });
37999
+ return hAsync("slot", { key: 'f59dfdc11831ed91f5f7d8147cdc14f3c07bc289' });
37951
38000
  }
37952
38001
  get el() { return getElement(this); }
37953
38002
  static get watchers() { return {
@@ -37987,9 +38036,9 @@ class Row {
37987
38036
  }
37988
38037
  render() {
37989
38038
  const theme = getIonTheme(this);
37990
- return (hAsync(Host, { key: '3a3c40062d2d0487c61dedbb172215b87bb425b1', class: {
38039
+ return (hAsync(Host, { key: '64ff6346d95be8d99d6500a6263067081f3fe254', class: {
37991
38040
  [theme]: true,
37992
- } }, hAsync("slot", { key: '164f457f6f7853ed8f7279d20bc6ede6cf9d3e5c' })));
38041
+ } }, hAsync("slot", { key: 'e9b4c111f3a49515a721bf679ef2f1a039c9822a' })));
37993
38042
  }
37994
38043
  static get style() { return rowCss(); }
37995
38044
  static get cmpMeta() { return {
@@ -38548,8 +38597,8 @@ class Searchbar {
38548
38597
  const shouldShowCancelButton = this.shouldShowCancelButton();
38549
38598
  const shape = this.getShape();
38550
38599
  const size = this.getSize();
38551
- 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))));
38552
- return (hAsync(Host, { key: '287a9c6ec7e54f621759224922003b5ce6c0fb25', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
38600
+ 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))));
38601
+ return (hAsync(Host, { key: 'd5fc37533478d088fd40697b21cffc8f9c673add', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
38553
38602
  [theme]: true,
38554
38603
  'searchbar-animated': animated,
38555
38604
  'searchbar-disabled': this.disabled,
@@ -38563,14 +38612,14 @@ class Searchbar {
38563
38612
  [`searchbar-shape-${shape}`]: shape !== undefined,
38564
38613
  [`searchbar-size-${size}`]: size !== undefined,
38565
38614
  'in-toolbar': hostContext('ion-toolbar', this.el),
38566
- }) }, 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) => {
38615
+ }) }, 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) => {
38567
38616
  /**
38568
38617
  * This prevents mobile browsers from
38569
38618
  * blurring the input when the clear
38570
38619
  * button is activated.
38571
38620
  */
38572
38621
  ev.preventDefault();
38573
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6a9be85be51de19f84a852c43f93c46fb92c8d1a', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
38622
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '6d4f026bd1fde68d43c4e49531ca7b1689590e80', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
38574
38623
  }
38575
38624
  get el() { return getElement(this); }
38576
38625
  static get watchers() { return {
@@ -39185,14 +39234,14 @@ class Segment {
39185
39234
  }
39186
39235
  render() {
39187
39236
  const theme = getIonTheme(this);
39188
- return (hAsync(Host, { key: '65c576c0bb9ff0602793f75321d676a34b306b3b', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
39237
+ return (hAsync(Host, { key: '2c0631392507f2e903670070232029928470bf11', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
39189
39238
  [theme]: true,
39190
39239
  'in-toolbar': hostContext('ion-toolbar', this.el),
39191
39240
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
39192
39241
  'segment-activated': this.activated,
39193
39242
  'segment-disabled': this.disabled,
39194
39243
  'segment-scrollable': this.scrollable,
39195
- }) }, hAsync("slot", { key: '210750a65ccada549bccf026871477ee2b7bdc69', onSlotchange: this.onSlottedItemsChange })));
39244
+ }) }, hAsync("slot", { key: 'ed99c28b8976c4d51ad12089680cb8fb51d835a7', onSlotchange: this.onSlottedItemsChange })));
39196
39245
  }
39197
39246
  get el() { return getElement(this); }
39198
39247
  static get watchers() { return {
@@ -39344,7 +39393,7 @@ class SegmentButton {
39344
39393
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
39345
39394
  const theme = getIonTheme(this);
39346
39395
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
39347
- return (hAsync(Host, { key: 'da5c8352e5e0f3a01211edbc39c5043cadc5b06f', class: {
39396
+ return (hAsync(Host, { key: 'bbb2ae95aa27852c31dcc0ba3ee5acce24349752', class: {
39348
39397
  [theme]: true,
39349
39398
  'in-toolbar': hostContext('ion-toolbar', this.el),
39350
39399
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -39360,7 +39409,7 @@ class SegmentButton {
39360
39409
  'ion-activatable': true,
39361
39410
  'ion-activatable-instant': true,
39362
39411
  'ion-focusable': true,
39363
- } }, 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" }))));
39412
+ } }, 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" }))));
39364
39413
  }
39365
39414
  get el() { return getElement(this); }
39366
39415
  static get watchers() { return {
@@ -39398,7 +39447,7 @@ class SegmentContent {
39398
39447
  registerInstance(this, hostRef);
39399
39448
  }
39400
39449
  render() {
39401
- return (hAsync(Host, { key: '2f43cadcbcb1a9423b30e7abc169ff923a8c431f' }, hAsync("slot", { key: 'c3a6d3e9c336f5124cdec9f37ef516324558073c' })));
39450
+ return (hAsync(Host, { key: '66e6783365c0842eb785d50191206d82321b35e7' }, hAsync("slot", { key: '21528369e7efdb93599179720b26c3f3c3e574ed' })));
39402
39451
  }
39403
39452
  static get style() { return segmentContentCss(); }
39404
39453
  static get cmpMeta() { return {
@@ -39526,11 +39575,11 @@ class SegmentView {
39526
39575
  }
39527
39576
  render() {
39528
39577
  const { disabled, isManualScroll, swipeGesture } = this;
39529
- return (hAsync(Host, { key: '8d1aa594c5674bca376ee3e9b18b60b0925dd875', class: {
39578
+ return (hAsync(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
39530
39579
  'segment-view-disabled': disabled,
39531
39580
  'segment-view-scroll-disabled': isManualScroll === false,
39532
39581
  'segment-view-swipe-disabled': swipeGesture === false,
39533
- } }, hAsync("slot", { key: '6375fa794ae615b74a70968718aadefa0a9fc1d6' })));
39582
+ } }, hAsync("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
39534
39583
  }
39535
39584
  get el() { return getElement(this); }
39536
39585
  static get style() { return {
@@ -40466,7 +40515,7 @@ class Select {
40466
40515
  * TODO(FW-5592): Remove hasStartEndSlots condition
40467
40516
  */
40468
40517
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
40469
- return (hAsync(Host, { key: 'c8fc8ffc5e66fa0deef9556f365d8d95ff652b5d', onClick: this.onClick, class: createColorClasses$1(this.color, {
40518
+ return (hAsync(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses$1(this.color, {
40470
40519
  [theme]: true,
40471
40520
  'in-item': inItem,
40472
40521
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -40485,7 +40534,7 @@ class Select {
40485
40534
  [`select-shape-${shape}`]: shape !== undefined,
40486
40535
  [`select-label-placement-${labelPlacement}`]: true,
40487
40536
  [`select-size-${size}`]: size !== undefined,
40488
- }) }, 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" },
40537
+ }) }, 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" },
40489
40538
  /**
40490
40539
  * For the ionic theme, we render the outline container here
40491
40540
  * instead of higher up, so it can be positioned relative to
@@ -40495,7 +40544,7 @@ class Select {
40495
40544
  * <label> element, ensuring that clicking the label text
40496
40545
  * focuses the select.
40497
40546
  */
40498
- 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()));
40547
+ 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()));
40499
40548
  }
40500
40549
  get el() { return getElement(this); }
40501
40550
  static get watchers() { return {
@@ -40887,7 +40936,7 @@ class SelectModal {
40887
40936
  });
40888
40937
  }
40889
40938
  render() {
40890
- 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()))));
40939
+ 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()))));
40891
40940
  }
40892
40941
  get el() { return getElement(this); }
40893
40942
  static get style() { return {
@@ -40932,7 +40981,7 @@ class SelectOption {
40932
40981
  }
40933
40982
  render() {
40934
40983
  const theme = getIonTheme(this);
40935
- return (hAsync(Host, { key: 'd7baa96e166b66c8f14c97e56674db4dfec2152c', class: {
40984
+ return (hAsync(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
40936
40985
  [theme]: true,
40937
40986
  }, role: "option", id: this.inputId }));
40938
40987
  }
@@ -41101,9 +41150,9 @@ class SelectPopover {
41101
41150
  const { header, message, options, subHeader } = this;
41102
41151
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
41103
41152
  const theme = getIonTheme(this);
41104
- return (hAsync(Host, { key: '47062077a192fb05f662f30c68e9c12323a69e47', class: {
41153
+ return (hAsync(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
41105
41154
  [theme]: true,
41106
- } }, 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))));
41155
+ } }, 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))));
41107
41156
  }
41108
41157
  get el() { return getElement(this); }
41109
41158
  static get style() { return {
@@ -41158,11 +41207,11 @@ class SkeletonText {
41158
41207
  const animated = this.animated && config.getBoolean('animated', true);
41159
41208
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
41160
41209
  const theme = getIonTheme(this);
41161
- return (hAsync(Host, { key: '370451ee8963b776079f5df365f7bbd70a53b270', class: {
41210
+ return (hAsync(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
41162
41211
  [theme]: true,
41163
41212
  'skeleton-text-animated': animated,
41164
41213
  'in-media': inMedia,
41165
- } }, hAsync("span", { key: '2b861b4ec86cbd61927ab7b81b13517c99dc94c7' }, "\u00A0")));
41214
+ } }, hAsync("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
41166
41215
  }
41167
41216
  get el() { return getElement(this); }
41168
41217
  static get style() { return skeletonTextCss(); }
@@ -41235,7 +41284,7 @@ class Spinner {
41235
41284
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
41236
41285
  }
41237
41286
  }
41238
- return (hAsync(Host, { key: 'b6559d1626b56a1c63580862263a15798f7d3f71', class: createColorClasses$1(self.color, {
41287
+ return (hAsync(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses$1(self.color, {
41239
41288
  [theme]: true,
41240
41289
  [`spinner-${spinnerName}`]: true,
41241
41290
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -41347,12 +41396,12 @@ class SplitPane {
41347
41396
  }
41348
41397
  render() {
41349
41398
  const theme = getIonTheme(this);
41350
- return (hAsync(Host, { key: 'b933156f8f9d8ce418ff0d39526967f9653d6639', class: {
41399
+ return (hAsync(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
41351
41400
  [theme]: true,
41352
41401
  // Used internally for styling
41353
41402
  [`split-pane-${theme}`]: true,
41354
41403
  'split-pane-visible': this.visible,
41355
- } }, hAsync("slot", { key: '3ec0a11e5506386747dc972ccb094359ca975bae' })));
41404
+ } }, hAsync("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
41356
41405
  }
41357
41406
  get el() { return getElement(this); }
41358
41407
  static get watchers() { return {
@@ -41429,10 +41478,10 @@ class Tab {
41429
41478
  }
41430
41479
  render() {
41431
41480
  const { tab, active, component } = this;
41432
- return (hAsync(Host, { key: '8b978f848d43898feafa7daa3e3d9819be833038', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
41481
+ return (hAsync(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
41433
41482
  'ion-page': component === undefined,
41434
41483
  'tab-hidden': !active,
41435
- } }, hAsync("slot", { key: '96a92d86cecc8c9ef4f11d310f7f87bb99ce4e50' })));
41484
+ } }, hAsync("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
41436
41485
  }
41437
41486
  get el() { return getElement(this); }
41438
41487
  static get watchers() { return {
@@ -41639,7 +41688,7 @@ class TabBar {
41639
41688
  const theme = getIonTheme(this);
41640
41689
  const shape = this.getShape();
41641
41690
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
41642
- return (hAsync(Host, { key: '16cd11a815d777a7517150b49b57a204c83c3c37', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
41691
+ return (hAsync(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
41643
41692
  [theme]: true,
41644
41693
  'tab-bar-translucent': translucent,
41645
41694
  'tab-bar-hidden': shouldHide,
@@ -41647,7 +41696,7 @@ class TabBar {
41647
41696
  'tab-bar-scroll-hidden': scrollHidden,
41648
41697
  [`tab-bar-${expand}`]: true,
41649
41698
  [`tab-bar-${shape}`]: shape !== undefined,
41650
- }) }, hAsync("slot", { key: 'dfdff308f24b3addaf18528a8d869b3fc64306d1' })));
41699
+ }) }, hAsync("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
41651
41700
  }
41652
41701
  get el() { return getElement(this); }
41653
41702
  static get watchers() { return {
@@ -41775,7 +41824,7 @@ class TabButton {
41775
41824
  rel,
41776
41825
  target,
41777
41826
  };
41778
- return (hAsync(Host, { key: 'e4d3aaefcdc42677f7818c51ec1ec0a9cbcf8bcf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
41827
+ return (hAsync(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
41779
41828
  [theme]: true,
41780
41829
  'tab-selected': selected,
41781
41830
  'tab-disabled': disabled,
@@ -41788,7 +41837,7 @@ class TabButton {
41788
41837
  'ion-selectable': true,
41789
41838
  [`tab-button-shape-${shape}`]: shape !== undefined,
41790
41839
  'ion-focusable': true,
41791
- } }, 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" }))));
41840
+ } }, 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" }))));
41792
41841
  }
41793
41842
  get el() { return getElement(this); }
41794
41843
  static get style() { return {
@@ -41984,7 +42033,7 @@ class Tabs {
41984
42033
  return Array.from(this.el.querySelectorAll('ion-tab'));
41985
42034
  }
41986
42035
  render() {
41987
- 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" })));
42036
+ 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" })));
41988
42037
  }
41989
42038
  get el() { return getElement(this); }
41990
42039
  static get style() { return tabsCss(); }
@@ -42025,9 +42074,9 @@ class Text {
42025
42074
  }
42026
42075
  render() {
42027
42076
  const theme = getIonTheme(this);
42028
- return (hAsync(Host, { key: '8fc5565ce579f8e2a9eddbaa7c93264291080bce', class: createColorClasses$1(this.color, {
42077
+ return (hAsync(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses$1(this.color, {
42029
42078
  [theme]: true,
42030
- }) }, hAsync("slot", { key: '5be1d661ee3a6f1f9d9428b59e830672faf475b1' })));
42079
+ }) }, hAsync("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
42031
42080
  }
42032
42081
  static get style() { return textCss(); }
42033
42082
  static get cmpMeta() { return {
@@ -42591,7 +42640,7 @@ class Textarea {
42591
42640
  * TODO(FW-5592): Remove hasStartEndSlots condition
42592
42641
  */
42593
42642
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
42594
- return (hAsync(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses$1(this.color, {
42643
+ return (hAsync(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses$1(this.color, {
42595
42644
  [theme]: true,
42596
42645
  'has-value': hasValue,
42597
42646
  'has-focus': hasFocus,
@@ -42603,7 +42652,7 @@ class Textarea {
42603
42652
  'in-item': inItem,
42604
42653
  'textarea-disabled': disabled,
42605
42654
  'textarea-readonly': readonly,
42606
- }) }, hAsync("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
42655
+ }) }, hAsync("label", { key: '3d21eab560550527de015d36b1c71761792aa516', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), hAsync("div", { key: '5fe9ec91ac5560d2ebbb93751dd770fe17e5f839', class: "textarea-wrapper-inner" },
42607
42656
  /**
42608
42657
  * For the ionic theme, we render the outline container here
42609
42658
  * instead of higher up, so it can be positioned relative to
@@ -42613,7 +42662,7 @@ class Textarea {
42613
42662
  * <label> element, ensuring that clicking the label text
42614
42663
  * focuses the textarea.
42615
42664
  */
42616
- 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()));
42665
+ 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()));
42617
42666
  }
42618
42667
  static get delegatesFocus() { return true; }
42619
42668
  static get formAssociated() { return true; }
@@ -42697,9 +42746,9 @@ class Thumbnail {
42697
42746
  }
42698
42747
  render() {
42699
42748
  const theme = getIonTheme(this);
42700
- return (hAsync(Host, { key: 'fdf9d92949a1e8cf6faded77ffed084f74fc040b', class: {
42749
+ return (hAsync(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
42701
42750
  [theme]: true,
42702
- } }, hAsync("slot", { key: 'e1b1439c035d9a9503efd1c1a04aed9f4e8e0af7' })));
42751
+ } }, hAsync("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
42703
42752
  }
42704
42753
  static get style() { return thumbnailCss(); }
42705
42754
  static get cmpMeta() { return {
@@ -43583,9 +43632,9 @@ class Toast {
43583
43632
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
43584
43633
  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);
43585
43634
  }
43586
- return (hAsync(Host, Object.assign({ key: 'f0d62f099dd68f8f541110a60695c2a083c6a4d5', tabindex: "-1" }, this.htmlAttributes, { style: {
43635
+ return (hAsync(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
43587
43636
  zIndex: `${60000 + this.overlayIndex}`,
43588
- }, 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')))));
43637
+ }, 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')))));
43589
43638
  }
43590
43639
  get el() { return getElement(this); }
43591
43640
  static get watchers() { return {
@@ -43961,7 +44010,7 @@ class Toggle {
43961
44010
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
43962
44011
  const isIonicTheme = theme === 'ionic';
43963
44012
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
43964
- 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, {
44013
+ 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, {
43965
44014
  [theme]: true,
43966
44015
  'in-item': hostContext('ion-item', el),
43967
44016
  'toggle-activated': activated,
@@ -43973,10 +44022,10 @@ class Toggle {
43973
44022
  [`toggle-${rtl}`]: true,
43974
44023
  'ion-activatable': isIonicTheme,
43975
44024
  'ion-focusable': isIonicTheme,
43976
- }) }, 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: {
44025
+ }) }, 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: {
43977
44026
  'label-text-wrapper': true,
43978
44027
  'label-text-wrapper-hidden': !hasLabel,
43979
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: 'c86e28aca1011a3d5a453b92ddc8b6d1ab049f0b' }), this.renderHintText()), hAsync("div", { key: '80390009e2a3d1ad699e1b698df725449c8fab53', class: "native-wrapper" }, this.renderToggleControl()))));
44028
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, hAsync("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), hAsync("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
43980
44029
  }
43981
44030
  get el() { return getElement(this); }
43982
44031
  static get watchers() { return {
@@ -44268,11 +44317,11 @@ class Toolbar {
44268
44317
  Object.assign(childStyles, style);
44269
44318
  });
44270
44319
  const titlePlacement = this.getTitlePlacement();
44271
- return (hAsync(Host, { key: 'bcb621674157410d7eaeb006779bdd677346587e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
44320
+ return (hAsync(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses$1(this.color, {
44272
44321
  [theme]: true,
44273
44322
  'in-toolbar': hostContext('ion-toolbar', this.el),
44274
44323
  [`toolbar-title-placement-${titlePlacement}`]: true,
44275
- })), 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 }))));
44324
+ })), 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 }))));
44276
44325
  }
44277
44326
  get el() { return getElement(this); }
44278
44327
  static get watchers() { return {
@@ -44331,11 +44380,11 @@ class ToolbarTitle {
44331
44380
  render() {
44332
44381
  const theme = getIonTheme(this);
44333
44382
  const size = this.getSize();
44334
- return (hAsync(Host, { key: 'd64e86bed418cba707d4a26c9274f18ed06c0e9e', class: createColorClasses$1(this.color, {
44383
+ return (hAsync(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses$1(this.color, {
44335
44384
  [theme]: true,
44336
44385
  [`title-${size}`]: true,
44337
44386
  'title-rtl': document.dir === 'rtl',
44338
- }) }, hAsync("div", { key: '386a71e974cde0bfbf5b655d69ed5f718de8ce48', class: "toolbar-title" }, hAsync("slot", { key: '8aa804c9e1b11574a42268805d3117a085e699b4' }))));
44387
+ }) }, hAsync("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, hAsync("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
44339
44388
  }
44340
44389
  get el() { return getElement(this); }
44341
44390
  static get watchers() { return {
@@ -44392,7 +44441,6 @@ registerComponents([
44392
44441
  FabList,
44393
44442
  Footer,
44394
44443
  Gallery,
44395
- GalleryItem,
44396
44444
  Grid,
44397
44445
  Header,
44398
44446
  Icon,