voyager-ionic-core 7.7.2 → 7.8.6

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 (670) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -1
  4. package/components/button.js +4 -4
  5. package/components/buttons.js +1 -1
  6. package/components/checkbox.js +1 -1
  7. package/components/data.js +23 -38
  8. package/components/hardware-back-button.js +3 -3
  9. package/components/helpers.js +2 -2
  10. package/components/input-shims.js +5 -5
  11. package/components/ion-app.js +4 -4
  12. package/components/ion-avatar.js +1 -1
  13. package/components/ion-back-button.js +2 -2
  14. package/components/ion-badge.js +2 -2
  15. package/components/ion-breadcrumb.js +4 -4
  16. package/components/ion-breadcrumbs.js +2 -2
  17. package/components/ion-card-content.js +1 -1
  18. package/components/ion-card-header.js +2 -2
  19. package/components/ion-card-subtitle.js +2 -2
  20. package/components/ion-card-title.js +2 -2
  21. package/components/ion-card.js +1 -1
  22. package/components/ion-chip.js +2 -2
  23. package/components/ion-col.js +2 -2
  24. package/components/ion-content.js +3 -3
  25. package/components/ion-datetime-button.js +12 -11
  26. package/components/ion-datetime.js +75 -12
  27. package/components/ion-fab-button.js +2 -2
  28. package/components/ion-fab-list.js +2 -2
  29. package/components/ion-fab.js +2 -2
  30. package/components/ion-footer.js +2 -2
  31. package/components/ion-grid.js +2 -2
  32. package/components/ion-header.js +3 -3
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +2 -2
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input.js +8 -0
  37. package/components/ion-item-divider.js +2 -2
  38. package/components/ion-item-group.js +1 -1
  39. package/components/ion-item-option.js +2 -2
  40. package/components/ion-item-options.js +1 -1
  41. package/components/ion-item-sliding.js +1 -1
  42. package/components/ion-loading.js +2 -2
  43. package/components/ion-menu-button.js +2 -2
  44. package/components/ion-menu-toggle.js +2 -2
  45. package/components/ion-menu.js +3 -3
  46. package/components/ion-modal.js +81 -25
  47. package/components/ion-nav-link.js +1 -1
  48. package/components/ion-nav.js +1 -1
  49. package/components/ion-picker.js +2 -2
  50. package/components/ion-progress-bar.js +1 -1
  51. package/components/ion-range.js +126 -21
  52. package/components/ion-refresher-content.js +1 -1
  53. package/components/ion-refresher.js +1 -1
  54. package/components/ion-reorder-group.js +1 -1
  55. package/components/ion-reorder.js +1 -1
  56. package/components/ion-router-link.js +2 -2
  57. package/components/ion-router-outlet.js +1 -1
  58. package/components/ion-row.js +1 -1
  59. package/components/ion-searchbar.js +35 -6
  60. package/components/ion-segment-button.js +3 -3
  61. package/components/ion-segment.js +2 -2
  62. package/components/ion-select-option.js +1 -1
  63. package/components/ion-select.js +3 -3
  64. package/components/ion-skeleton-text.js +2 -2
  65. package/components/ion-split-pane.js +2 -2
  66. package/components/ion-tab-bar.js +2 -2
  67. package/components/ion-tab-button.js +2 -2
  68. package/components/ion-tab.js +2 -2
  69. package/components/ion-tabs.js +1 -1
  70. package/components/ion-text.js +2 -2
  71. package/components/ion-thumbnail.js +1 -1
  72. package/components/ion-title.js +2 -2
  73. package/components/ion-toast.js +2 -2
  74. package/components/ion-toolbar.js +2 -2
  75. package/components/item.js +1 -1
  76. package/components/label.js +3 -3
  77. package/components/list-header.js +2 -2
  78. package/components/list.js +1 -1
  79. package/components/note.js +2 -2
  80. package/components/overlays.js +127 -39
  81. package/components/picker-column-internal.js +8 -4
  82. package/components/picker-column.js +2 -2
  83. package/components/picker-internal.js +2 -2
  84. package/components/popover.js +4 -4
  85. package/components/radio-group.js +1 -1
  86. package/components/ripple-effect.js +1 -1
  87. package/components/select-popover.js +1 -1
  88. package/components/spinner.js +1 -1
  89. package/css/core.css +1 -561
  90. package/css/core.css.map +1 -1
  91. package/css/display.css +1 -131
  92. package/css/display.css.map +1 -1
  93. package/css/flex-utils.css +1 -81
  94. package/css/flex-utils.css.map +1 -1
  95. package/css/float-elements.css +1 -293
  96. package/css/float-elements.css.map +1 -1
  97. package/css/global.bundle.css +1 -457
  98. package/css/global.bundle.css.map +1 -1
  99. package/css/ionic-swiper.css +1 -127
  100. package/css/ionic-swiper.css.map +1 -1
  101. package/css/ionic.bundle.css +1 -1
  102. package/css/ionic.bundle.css.map +1 -1
  103. package/css/normalize.css +1 -150
  104. package/css/normalize.css.map +1 -1
  105. package/css/padding.css +1 -202
  106. package/css/padding.css.map +1 -1
  107. package/css/structure.css +1 -152
  108. package/css/structure.css.map +1 -1
  109. package/css/text-alignment.css +1 -243
  110. package/css/text-alignment.css.map +1 -1
  111. package/css/text-transformation.css +1 -158
  112. package/css/text-transformation.css.map +1 -1
  113. package/css/typography.css +1 -157
  114. package/css/typography.css.map +1 -1
  115. package/css/utils.bundle.css +1 -1100
  116. package/css/utils.bundle.css.map +1 -1
  117. package/dist/cjs/{animation-fdab9de5.js → animation-c2840aea.js} +1 -1
  118. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-c5eb104c.js} +1 -1
  119. package/dist/cjs/{button-active-2d6520ec.js → button-active-181d142e.js} +1 -1
  120. package/dist/cjs/{data-a5109f09.js → data-4487a815.js} +22 -39
  121. package/dist/cjs/{form-controller-7b90d7b7.js → form-controller-c83330c0.js} +1 -1
  122. package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-e0e13baa.js} +1 -1
  123. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-adba3ac7.js} +5 -5
  124. package/dist/cjs/{helpers-2e1028fa.js → helpers-da4c0ed1.js} +2 -2
  125. package/dist/cjs/{index-c3580a90.js → index-1f7c54f8.js} +4 -4
  126. package/dist/cjs/{index-0ffe376d.js → index-22617dd6.js} +51 -7
  127. package/dist/cjs/{index-a43f7a0f.js → index-5c38afe7.js} +4 -4
  128. package/dist/cjs/{index-10da82ce.js → index-62290fec.js} +1 -1
  129. package/dist/cjs/{index-53d162b2.js → index-bef98850.js} +1 -1
  130. package/dist/cjs/index.cjs.js +11 -11
  131. package/dist/cjs/{input-shims-6f804705.js → input-shims-05ac9905.js} +7 -7
  132. package/dist/cjs/{input.utils-d693d18a.js → input.utils-d7dca90f.js} +1 -1
  133. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  134. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  135. package/dist/cjs/ion-alert.cjs.entry.js +10 -10
  136. package/dist/cjs/ion-app_8.cjs.entry.js +29 -29
  137. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  138. package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
  139. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  140. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +9 -9
  141. package/dist/cjs/ion-button_2.cjs.entry.js +7 -7
  142. package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
  143. package/dist/cjs/ion-checkbox.cjs.entry.js +5 -5
  144. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  145. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  146. package/dist/cjs/ion-datetime-button.cjs.entry.js +15 -14
  147. package/dist/cjs/ion-datetime_3.cjs.entry.js +83 -23
  148. package/dist/cjs/ion-fab_3.cjs.entry.js +9 -9
  149. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  150. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  151. package/dist/cjs/ion-input.cjs.entry.js +14 -6
  152. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  153. package/dist/cjs/ion-item_8.cjs.entry.js +17 -17
  154. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  155. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
  156. package/dist/cjs/ion-modal.cjs.entry.js +90 -34
  157. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  158. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +11 -7
  159. package/dist/cjs/ion-picker-internal.cjs.entry.js +4 -4
  160. package/dist/cjs/ion-popover.cjs.entry.js +12 -12
  161. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  162. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  163. package/dist/cjs/ion-range.cjs.entry.js +131 -26
  164. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  165. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  166. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  168. package/dist/cjs/ion-searchbar.cjs.entry.js +32 -8
  169. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  170. package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
  171. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  172. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  173. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  174. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  175. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  176. package/dist/cjs/ion-textarea.cjs.entry.js +6 -6
  177. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  178. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  179. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-c5503e93.js} +1 -1
  180. package/dist/cjs/ionic.cjs.js +5 -5
  181. package/dist/cjs/{ios.transition-c3b11cc3.js → ios.transition-30830fc4.js} +4 -4
  182. package/dist/cjs/loader.cjs.js +4 -4
  183. package/dist/cjs/{md.transition-82a8c649.js → md.transition-7f581866.js} +4 -4
  184. package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-bfbcbb7a.js} +1 -1
  185. package/dist/cjs/{overlays-fb7ca451.js → overlays-129dfc13.js} +129 -41
  186. package/dist/cjs/{status-tap-692f6d32.js → status-tap-03d82840.js} +3 -3
  187. package/dist/cjs/{swipe-back-7a848bb8.js → swipe-back-dcd0d4a9.js} +1 -1
  188. package/dist/collection/collection-manifest.json +2 -2
  189. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  190. package/dist/collection/components/alert/alert.js +2 -2
  191. package/dist/collection/components/alert/test/a11y/alert.e2e.js +4 -0
  192. package/dist/collection/components/app/app.js +4 -4
  193. package/dist/collection/components/avatar/avatar.js +1 -1
  194. package/dist/collection/components/back-button/back-button.js +2 -2
  195. package/dist/collection/components/backdrop/backdrop.js +1 -1
  196. package/dist/collection/components/badge/badge.js +2 -2
  197. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  198. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  199. package/dist/collection/components/button/button.ios.css +5 -5
  200. package/dist/collection/components/button/button.js +2 -2
  201. package/dist/collection/components/button/button.md.css +4 -5
  202. package/dist/collection/components/buttons/buttons.js +1 -1
  203. package/dist/collection/components/card/card.js +1 -1
  204. package/dist/collection/components/card-content/card-content.js +1 -1
  205. package/dist/collection/components/card-header/card-header.js +2 -2
  206. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  207. package/dist/collection/components/card-title/card-title.js +2 -2
  208. package/dist/collection/components/checkbox/checkbox.js +1 -1
  209. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  210. package/dist/collection/components/chip/chip.js +2 -2
  211. package/dist/collection/components/col/col.js +2 -2
  212. package/dist/collection/components/content/content.js +3 -3
  213. package/dist/collection/components/datetime/datetime.js +56 -12
  214. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
  215. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  216. package/dist/collection/components/datetime/utils/format.js +24 -37
  217. package/dist/collection/components/datetime/utils/validate.js +45 -0
  218. package/dist/collection/components/datetime-button/datetime-button.js +12 -11
  219. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  220. package/dist/collection/components/fab/fab.js +2 -2
  221. package/dist/collection/components/fab-button/fab-button.js +2 -2
  222. package/dist/collection/components/fab-list/fab-list.js +2 -2
  223. package/dist/collection/components/footer/footer.js +2 -2
  224. package/dist/collection/components/grid/grid.js +2 -2
  225. package/dist/collection/components/header/header.ios.css +5 -2
  226. package/dist/collection/components/header/header.js +2 -2
  227. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  228. package/dist/collection/components/img/img.js +1 -1
  229. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  230. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  231. package/dist/collection/components/input/input.js +8 -0
  232. package/dist/collection/components/item/item.js +1 -1
  233. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  234. package/dist/collection/components/item-divider/item-divider.js +2 -2
  235. package/dist/collection/components/item-group/item-group.js +1 -1
  236. package/dist/collection/components/item-option/item-option.js +2 -2
  237. package/dist/collection/components/item-options/item-options.js +1 -1
  238. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  239. package/dist/collection/components/label/label.ios.css +0 -4
  240. package/dist/collection/components/label/label.js +1 -1
  241. package/dist/collection/components/label/label.md.css +0 -4
  242. package/dist/collection/components/label/test/item/item.e2e.js +24 -0
  243. package/dist/collection/components/list/list.js +1 -1
  244. package/dist/collection/components/list-header/list-header.js +2 -2
  245. package/dist/collection/components/loading/loading.js +2 -2
  246. package/dist/collection/components/menu/menu.js +3 -3
  247. package/dist/collection/components/menu-button/menu-button.js +2 -2
  248. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  249. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  250. package/dist/collection/components/modal/modal.js +38 -6
  251. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  252. package/dist/collection/components/nav/nav.js +1 -1
  253. package/dist/collection/components/nav-link/nav-link.js +1 -1
  254. package/dist/collection/components/note/note.js +2 -2
  255. package/dist/collection/components/picker/picker.js +2 -2
  256. package/dist/collection/components/picker-column/picker-column.js +2 -2
  257. package/dist/collection/components/picker-column-internal/picker-column-internal.js +8 -4
  258. package/dist/collection/components/picker-internal/picker-internal.js +2 -2
  259. package/dist/collection/components/popover/popover.ios.css +0 -1
  260. package/dist/collection/components/popover/popover.js +2 -2
  261. package/dist/collection/components/popover/popover.md.css +0 -1
  262. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  263. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  264. package/dist/collection/components/radio-group/radio-group.js +1 -1
  265. package/dist/collection/components/range/range.js +126 -21
  266. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  267. package/dist/collection/components/refresher/refresher.js +1 -1
  268. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  269. package/dist/collection/components/reorder/reorder.js +1 -1
  270. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  271. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  272. package/dist/collection/components/router-link/router-link.js +2 -2
  273. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  274. package/dist/collection/components/row/row.js +1 -1
  275. package/dist/collection/components/searchbar/searchbar.js +86 -6
  276. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  277. package/dist/collection/components/segment/segment.js +2 -2
  278. package/dist/collection/components/segment-button/segment-button.js +3 -3
  279. package/dist/collection/components/select/select.js +3 -3
  280. package/dist/collection/components/select-option/select-option.js +1 -1
  281. package/dist/collection/components/select-popover/select-popover.js +1 -1
  282. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  283. package/dist/collection/components/spinner/spinner.js +1 -1
  284. package/dist/collection/components/split-pane/split-pane.js +2 -2
  285. package/dist/collection/components/tab/tab.js +2 -2
  286. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  287. package/dist/collection/components/tab-button/tab-button.js +2 -2
  288. package/dist/collection/components/tabs/tabs.js +1 -1
  289. package/dist/collection/components/text/text.js +2 -2
  290. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  291. package/dist/collection/components/title/title.js +2 -2
  292. package/dist/collection/components/toast/toast.js +2 -2
  293. package/dist/collection/components/toggle/toggle.js +1 -1
  294. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  295. package/dist/collection/components/toolbar/toolbar.js +2 -2
  296. package/dist/collection/utils/hardware-back-button.js +2 -2
  297. package/dist/collection/utils/helpers.js +1 -1
  298. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -5
  299. package/dist/collection/utils/overlays.js +127 -39
  300. package/dist/collection/utils/test/overlays/overlays.e2e.js +89 -0
  301. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  302. package/dist/docs.json +117 -4
  303. package/dist/esm/{animation-60dbdd13.js → animation-6a0c5338.js} +1 -1
  304. package/dist/esm/{app-globals-5cf6195b.js → app-globals-318eef52.js} +1 -1
  305. package/dist/esm/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  306. package/dist/esm/{data-0f3ab200.js → data-bb424ba8.js} +23 -38
  307. package/dist/esm/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
  308. package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-ed4ba327.js} +1 -1
  309. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-6107a37c.js} +5 -5
  310. package/dist/esm/{helpers-c0b9ca37.js → helpers-be245865.js} +2 -2
  311. package/dist/esm/{index-d64f34ea.js → index-020f5464.js} +1 -1
  312. package/dist/esm/{index-47b2066d.js → index-6e05b96e.js} +4 -4
  313. package/dist/esm/{index-4c30cddd.js → index-a1a47f01.js} +51 -7
  314. package/dist/esm/{index-eb12ef92.js → index-f3946ac1.js} +1 -1
  315. package/dist/esm/{index-0b4beb69.js → index-fae1515c.js} +4 -4
  316. package/dist/esm/index.js +11 -11
  317. package/dist/esm/{input-shims-b90ca55f.js → input-shims-a52daa3a.js} +7 -7
  318. package/dist/esm/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
  319. package/dist/esm/ion-accordion_2.entry.js +3 -3
  320. package/dist/esm/ion-action-sheet.entry.js +11 -11
  321. package/dist/esm/ion-alert.entry.js +10 -10
  322. package/dist/esm/ion-app_8.entry.js +29 -29
  323. package/dist/esm/ion-avatar_3.entry.js +6 -6
  324. package/dist/esm/ion-back-button.entry.js +5 -5
  325. package/dist/esm/ion-backdrop.entry.js +3 -3
  326. package/dist/esm/ion-breadcrumb_2.entry.js +9 -9
  327. package/dist/esm/ion-button_2.entry.js +7 -7
  328. package/dist/esm/ion-card_5.entry.js +11 -11
  329. package/dist/esm/ion-checkbox.entry.js +5 -5
  330. package/dist/esm/ion-chip.entry.js +4 -4
  331. package/dist/esm/ion-col_3.entry.js +7 -7
  332. package/dist/esm/ion-datetime-button.entry.js +15 -14
  333. package/dist/esm/ion-datetime_3.entry.js +83 -23
  334. package/dist/esm/ion-fab_3.entry.js +9 -9
  335. package/dist/esm/ion-img.entry.js +4 -4
  336. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  337. package/dist/esm/ion-input.entry.js +14 -6
  338. package/dist/esm/ion-item-option_3.entry.js +8 -8
  339. package/dist/esm/ion-item_8.entry.js +17 -17
  340. package/dist/esm/ion-loading.entry.js +9 -9
  341. package/dist/esm/ion-menu_3.entry.js +14 -14
  342. package/dist/esm/ion-modal.entry.js +90 -34
  343. package/dist/esm/ion-nav_2.entry.js +8 -8
  344. package/dist/esm/ion-picker-column-internal.entry.js +11 -7
  345. package/dist/esm/ion-picker-internal.entry.js +4 -4
  346. package/dist/esm/ion-popover.entry.js +12 -12
  347. package/dist/esm/ion-progress-bar.entry.js +4 -4
  348. package/dist/esm/ion-radio_2.entry.js +5 -5
  349. package/dist/esm/ion-range.entry.js +131 -26
  350. package/dist/esm/ion-refresher_2.entry.js +7 -7
  351. package/dist/esm/ion-reorder_2.entry.js +6 -6
  352. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  353. package/dist/esm/ion-route_4.entry.js +5 -5
  354. package/dist/esm/ion-searchbar.entry.js +32 -8
  355. package/dist/esm/ion-segment_2.entry.js +8 -8
  356. package/dist/esm/ion-select_3.entry.js +12 -12
  357. package/dist/esm/ion-spinner.entry.js +3 -3
  358. package/dist/esm/ion-split-pane.entry.js +4 -4
  359. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  360. package/dist/esm/ion-tab_2.entry.js +6 -6
  361. package/dist/esm/ion-text.entry.js +4 -4
  362. package/dist/esm/ion-textarea.entry.js +6 -6
  363. package/dist/esm/ion-toast.entry.js +9 -9
  364. package/dist/esm/ion-toggle.entry.js +4 -4
  365. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  366. package/dist/esm/ionic.js +6 -6
  367. package/dist/esm/{ios.transition-b76c7020.js → ios.transition-a50a9a55.js} +4 -4
  368. package/dist/esm/loader.js +5 -5
  369. package/dist/esm/{md.transition-564937a7.js → md.transition-0da92976.js} +4 -4
  370. package/dist/esm/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
  371. package/dist/esm/{overlays-04a9a43f.js → overlays-b874c3c3.js} +129 -41
  372. package/dist/esm/{status-tap-5a95077d.js → status-tap-dfea3607.js} +3 -3
  373. package/dist/esm/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.js} +1 -1
  374. package/dist/esm-es5/{animation-60dbdd13.js → animation-6a0c5338.js} +1 -1
  375. package/dist/esm-es5/app-globals-318eef52.js +4 -0
  376. package/dist/esm-es5/{button-active-47ac8092.js → button-active-414be235.js} +1 -1
  377. package/dist/esm-es5/data-bb424ba8.js +4 -0
  378. package/dist/esm-es5/{form-controller-014aa89f.js → form-controller-21dd62b1.js} +1 -1
  379. package/dist/esm-es5/framework-delegate-ed4ba327.js +4 -0
  380. package/dist/esm-es5/hardware-back-button-6107a37c.js +4 -0
  381. package/dist/esm-es5/helpers-be245865.js +4 -0
  382. package/dist/esm-es5/index-020f5464.js +4 -0
  383. package/dist/esm-es5/index-6e05b96e.js +4 -0
  384. package/dist/esm-es5/index-a1a47f01.js +5 -0
  385. package/dist/esm-es5/{index-eb12ef92.js → index-f3946ac1.js} +1 -1
  386. package/dist/esm-es5/{index-0b4beb69.js → index-fae1515c.js} +1 -1
  387. package/dist/esm-es5/index.js +1 -1
  388. package/dist/esm-es5/input-shims-a52daa3a.js +4 -0
  389. package/dist/esm-es5/{input.utils-6e9b0046.js → input.utils-a445f677.js} +1 -1
  390. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  391. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  392. package/dist/esm-es5/ion-alert.entry.js +1 -1
  393. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  394. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  395. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  396. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  397. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  398. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  399. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  400. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  401. package/dist/esm-es5/ion-chip.entry.js +1 -1
  402. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  403. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  404. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  405. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  406. package/dist/esm-es5/ion-img.entry.js +1 -1
  407. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  408. package/dist/esm-es5/ion-input.entry.js +1 -1
  409. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  410. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  411. package/dist/esm-es5/ion-loading.entry.js +1 -1
  412. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  413. package/dist/esm-es5/ion-modal.entry.js +1 -1
  414. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  415. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  416. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  417. package/dist/esm-es5/ion-popover.entry.js +1 -1
  418. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  419. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  420. package/dist/esm-es5/ion-range.entry.js +1 -1
  421. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  422. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  423. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  424. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  425. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  426. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  427. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  428. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  429. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  430. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  431. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  432. package/dist/esm-es5/ion-text.entry.js +1 -1
  433. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  434. package/dist/esm-es5/ion-toast.entry.js +1 -1
  435. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  436. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-94f25d1b.js} +1 -1
  437. package/dist/esm-es5/ionic.js +1 -1
  438. package/dist/esm-es5/{ios.transition-b76c7020.js → ios.transition-a50a9a55.js} +1 -1
  439. package/dist/esm-es5/loader.js +1 -1
  440. package/dist/esm-es5/md.transition-0da92976.js +4 -0
  441. package/dist/esm-es5/{notch-controller-15d281a4.js → notch-controller-6bd3e0f9.js} +1 -1
  442. package/dist/esm-es5/overlays-b874c3c3.js +4 -0
  443. package/dist/esm-es5/{status-tap-5a95077d.js → status-tap-dfea3607.js} +1 -1
  444. package/dist/esm-es5/{swipe-back-fa0ec5cd.js → swipe-back-c6d0e5d9.js} +1 -1
  445. package/dist/html.html-data.json +13 -1
  446. package/dist/ionic/index.esm.js +1 -1
  447. package/dist/ionic/ionic.esm.js +1 -1
  448. package/dist/ionic/ionic.js +1 -1
  449. package/dist/ionic/{p-30cd5e7b.js → p-0047bd0e.js} +1 -1
  450. package/dist/ionic/{p-70e34286.system.entry.js → p-01a1ff55.system.entry.js} +1 -1
  451. package/dist/ionic/{p-b0ff8075.entry.js → p-01de45e4.entry.js} +1 -1
  452. package/dist/ionic/{p-2e14c533.system.js → p-0609a7d8.system.js} +1 -1
  453. package/dist/ionic/p-08ab4c96.js +4 -0
  454. package/dist/ionic/{p-e04b9647.system.entry.js → p-094cb5ba.system.entry.js} +1 -1
  455. package/dist/ionic/p-0aac3a1c.js +4 -0
  456. package/dist/ionic/{p-de55ec45.js → p-0b743628.js} +1 -1
  457. package/dist/ionic/{p-b253ad7f.js → p-12a8643e.js} +1 -1
  458. package/dist/ionic/p-185d82fc.entry.js +4 -0
  459. package/dist/ionic/p-193921ce.entry.js +4 -0
  460. package/dist/ionic/{p-b8c685a7.system.js → p-1bc9b5f5.system.js} +1 -1
  461. package/dist/ionic/p-1cd372ed.js +4 -0
  462. package/dist/ionic/{p-123b4809.js → p-1e151efb.js} +1 -1
  463. package/dist/ionic/{p-bf05cbc7.entry.js → p-211d8901.entry.js} +1 -1
  464. package/dist/ionic/p-212f2c37.entry.js +4 -0
  465. package/dist/ionic/p-2433bf5e.system.js +4 -0
  466. package/dist/ionic/p-2732a6ce.entry.js +4 -0
  467. package/dist/ionic/{p-89ca4c4b.system.js → p-280f1fe7.system.js} +1 -1
  468. package/dist/ionic/{p-94be3ad7.js → p-2c118b1e.js} +1 -1
  469. package/dist/ionic/p-2c1408df.system.js +5 -0
  470. package/dist/ionic/p-2e2808f3.entry.js +4 -0
  471. package/dist/ionic/{p-0457213c.entry.js → p-32086ea4.entry.js} +1 -1
  472. package/dist/ionic/{p-16a61810.entry.js → p-339dee28.entry.js} +1 -1
  473. package/dist/ionic/{p-88e9052d.entry.js → p-34e2b446.entry.js} +1 -1
  474. package/dist/ionic/{p-eb07b88f.entry.js → p-374838e4.entry.js} +1 -1
  475. package/dist/ionic/p-3789920e.js +4 -0
  476. package/dist/ionic/{p-bdca4784.js → p-37aab7f7.js} +1 -1
  477. package/dist/ionic/p-3b7d328b.system.entry.js +4 -0
  478. package/dist/ionic/{p-f53d074d.system.entry.js → p-3b9edd02.system.entry.js} +1 -1
  479. package/dist/ionic/{p-5e23bea8.system.entry.js → p-3d23a234.system.entry.js} +1 -1
  480. package/dist/ionic/{p-717e2526.system.entry.js → p-3f75319a.system.entry.js} +2 -2
  481. package/dist/ionic/{p-c858f685.js → p-46bcc2f5.js} +1 -1
  482. package/dist/ionic/p-47686f0a.system.entry.js +4 -0
  483. package/dist/ionic/{p-afd6d696.system.entry.js → p-47d7ffb4.system.entry.js} +1 -1
  484. package/dist/ionic/{p-7b1ed642.system.entry.js → p-48331301.system.entry.js} +1 -1
  485. package/dist/ionic/{p-a3df16b9.system.entry.js → p-491ec3d6.system.entry.js} +1 -1
  486. package/dist/ionic/p-495aabd4.system.entry.js +4 -0
  487. package/dist/ionic/{p-cde3ac34.system.entry.js → p-49616da4.system.entry.js} +1 -1
  488. package/dist/ionic/p-4c68b459.system.entry.js +4 -0
  489. package/dist/ionic/{p-5cb5f63d.system.entry.js → p-4cc54847.system.entry.js} +1 -1
  490. package/dist/ionic/p-4da978ac.entry.js +4 -0
  491. package/dist/ionic/{p-a022b684.system.entry.js → p-4f9018d4.system.entry.js} +1 -1
  492. package/dist/ionic/{p-3481d54e.system.entry.js → p-55ae3e14.system.entry.js} +1 -1
  493. package/dist/ionic/{p-aaaa615c.system.entry.js → p-56271222.system.entry.js} +1 -1
  494. package/dist/ionic/{p-42a9f663.system.entry.js → p-565a12d7.system.entry.js} +1 -1
  495. package/dist/ionic/{p-d39ab63d.entry.js → p-56b810d5.entry.js} +1 -1
  496. package/dist/ionic/{p-31c495c2.js → p-56ee6d9a.js} +1 -1
  497. package/dist/ionic/{p-a85d9047.system.entry.js → p-5a0345f7.system.entry.js} +1 -1
  498. package/dist/ionic/{p-ba97a133.system.entry.js → p-5b8d7cdb.system.entry.js} +1 -1
  499. package/dist/ionic/p-5d2011e1.entry.js +4 -0
  500. package/dist/ionic/p-5f3d659f.entry.js +4 -0
  501. package/dist/ionic/p-6236eae6.entry.js +4 -0
  502. package/dist/ionic/{p-8794fa00.system.entry.js → p-625ef2fb.system.entry.js} +1 -1
  503. package/dist/ionic/{p-6871553b.system.js → p-62b7320a.system.js} +1 -1
  504. package/dist/ionic/{p-6525a8cd.system.js → p-638865d1.system.js} +1 -1
  505. package/dist/ionic/p-662cccde.entry.js +4 -0
  506. package/dist/ionic/p-68416ff0.entry.js +4 -0
  507. package/dist/ionic/{p-c747f89b.system.entry.js → p-686ddecb.system.entry.js} +2 -2
  508. package/dist/ionic/p-6a6550fa.js +4 -0
  509. package/dist/ionic/p-6a6c61b1.system.entry.js +4 -0
  510. package/dist/ionic/p-6afef6c1.system.js +4 -0
  511. package/dist/ionic/{p-abcedc15.system.entry.js → p-6b178502.system.entry.js} +1 -1
  512. package/dist/ionic/p-6c45c617.js +4 -0
  513. package/dist/ionic/{p-74deb358.system.js → p-6ecddf53.system.js} +1 -1
  514. package/dist/ionic/{p-5c580e89.entry.js → p-70929384.entry.js} +1 -1
  515. package/dist/ionic/p-73d70509.system.js +4 -0
  516. package/dist/ionic/{p-ae35294f.system.entry.js → p-776f7b9e.system.entry.js} +1 -1
  517. package/dist/ionic/{p-a3f572a7.js → p-779aede8.js} +1 -1
  518. package/dist/ionic/p-7872e970.system.entry.js +4 -0
  519. package/dist/ionic/{p-657ccdd6.entry.js → p-804ffec9.entry.js} +1 -1
  520. package/dist/ionic/{p-a0b28c69.system.entry.js → p-81c8fa81.system.entry.js} +1 -1
  521. package/dist/ionic/{p-8e651c29.entry.js → p-8294b727.entry.js} +1 -1
  522. package/dist/ionic/p-8528c070.entry.js +4 -0
  523. package/dist/ionic/p-87e81684.system.entry.js +4 -0
  524. package/dist/ionic/p-8954015c.entry.js +4 -0
  525. package/dist/ionic/p-8a1b0abb.system.js +4 -0
  526. package/dist/ionic/{p-5928fac9.system.entry.js → p-8a335b91.system.entry.js} +1 -1
  527. package/dist/ionic/{p-cd9a7017.system.entry.js → p-8eba832c.system.entry.js} +1 -1
  528. package/dist/ionic/{p-91cb3f9a.entry.js → p-8ed4de58.entry.js} +1 -1
  529. package/dist/ionic/{p-502780e4.entry.js → p-917bb906.entry.js} +1 -1
  530. package/dist/ionic/{p-b2595011.system.entry.js → p-93f86b06.system.entry.js} +1 -1
  531. package/dist/ionic/{p-9393a49f.js → p-942a9358.js} +1 -1
  532. package/dist/ionic/p-9625a2e6.entry.js +4 -0
  533. package/dist/ionic/{p-f0194418.system.entry.js → p-9bc8bd0c.system.entry.js} +1 -1
  534. package/dist/ionic/{p-18beebdf.system.entry.js → p-9d53b773.system.entry.js} +2 -2
  535. package/dist/ionic/{p-dcb5711d.entry.js → p-9fbfbaef.entry.js} +1 -1
  536. package/dist/ionic/p-a04ecf1a.system.js +4 -0
  537. package/dist/ionic/{p-c2289cd1.js → p-a1036ce7.js} +1 -1
  538. package/dist/ionic/{p-ea25b4c8.system.entry.js → p-a3b2d4a7.system.entry.js} +2 -2
  539. package/dist/ionic/{p-5f169eba.entry.js → p-a5cd2e1f.entry.js} +1 -1
  540. package/dist/ionic/p-a5d9fafe.entry.js +4 -0
  541. package/dist/ionic/{p-49543c9c.system.js → p-a667dd1f.system.js} +1 -1
  542. package/dist/ionic/{p-df504a37.system.js → p-a875459d.system.js} +1 -1
  543. package/dist/ionic/p-ad60590b.entry.js +4 -0
  544. package/dist/ionic/{p-1924f2e0.system.entry.js → p-b1bebf4a.system.entry.js} +2 -2
  545. package/dist/ionic/p-b535c93a.entry.js +4 -0
  546. package/dist/ionic/p-b8735394.entry.js +4 -0
  547. package/dist/ionic/p-bb5bbcdf.js +4 -0
  548. package/dist/ionic/{p-37c33319.system.js → p-bd313b73.system.js} +1 -1
  549. package/dist/ionic/p-c379d010.system.entry.js +4 -0
  550. package/dist/ionic/{p-7173ba59.system.entry.js → p-c5ce0862.system.entry.js} +2 -2
  551. package/dist/ionic/p-c76ef1ea.entry.js +4 -0
  552. package/dist/ionic/p-c8580577.system.js +4 -0
  553. package/dist/ionic/{p-275705e5.entry.js → p-cc0cf2d1.entry.js} +1 -1
  554. package/dist/ionic/{p-c39cc96d.system.entry.js → p-d3a95477.system.entry.js} +1 -1
  555. package/dist/ionic/{p-ceceac26.js → p-d68ecea4.js} +1 -1
  556. package/dist/ionic/p-d873a8c2.system.entry.js +4 -0
  557. package/dist/ionic/{p-64db1331.entry.js → p-dbd77435.entry.js} +1 -1
  558. package/dist/ionic/p-dc2d302c.entry.js +4 -0
  559. package/dist/ionic/{p-601e17b4.entry.js → p-dd2996cf.entry.js} +1 -1
  560. package/dist/ionic/{p-508a4c87.entry.js → p-dec423a3.entry.js} +1 -1
  561. package/dist/ionic/{p-1131946f.system.entry.js → p-deeae694.system.entry.js} +1 -1
  562. package/dist/ionic/p-e06d65b3.system.entry.js +4 -0
  563. package/dist/ionic/{p-d4cadd34.system.js → p-e0948431.system.js} +1 -1
  564. package/dist/ionic/{p-86813176.system.entry.js → p-e15cfec4.system.entry.js} +1 -1
  565. package/dist/ionic/p-e1bd8d9c.system.entry.js +4 -0
  566. package/dist/ionic/{p-1636923f.system.js → p-e34eefb5.system.js} +1 -1
  567. package/dist/ionic/{p-b6279412.entry.js → p-e57a212a.entry.js} +1 -1
  568. package/dist/ionic/{p-3471a7c0.system.entry.js → p-e6ee6ead.system.entry.js} +1 -1
  569. package/dist/ionic/p-e7055fb8.entry.js +4 -0
  570. package/dist/ionic/p-ea723fc4.entry.js +4 -0
  571. package/dist/ionic/p-ead0d463.js +5 -0
  572. package/dist/ionic/{p-30d77a91.system.js → p-ebc1ca90.system.js} +1 -1
  573. package/dist/ionic/p-ed3ad350.entry.js +4 -0
  574. package/dist/ionic/{p-5d7e32ce.js → p-efef9f3a.js} +1 -1
  575. package/dist/ionic/p-f4ccaa64.entry.js +4 -0
  576. package/dist/ionic/p-f4fb429a.system.js +4 -0
  577. package/dist/ionic/{p-a5951821.system.js → p-f549716b.system.js} +1 -1
  578. package/dist/ionic/p-f6a50d5c.entry.js +4 -0
  579. package/dist/ionic/p-fbd01db3.system.js +4 -0
  580. package/dist/ionic/p-fc053a55.entry.js +4 -0
  581. package/dist/ionic/{p-1f19958f.system.entry.js → p-fd059a23.system.entry.js} +1 -1
  582. package/dist/ionic/{p-f8c96502.system.entry.js → p-fdcf1482.system.entry.js} +1 -1
  583. package/dist/ionic/{p-e2bb92ed.system.js → p-fe320051.system.js} +1 -1
  584. package/dist/ionic/{p-3079950e.entry.js → p-fe3ae39d.entry.js} +1 -1
  585. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  586. package/dist/types/components/datetime/datetime.d.ts +10 -1
  587. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  588. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  589. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  590. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  591. package/dist/types/components/input/input.utils.d.ts +1 -1
  592. package/dist/types/components/range/range.d.ts +29 -0
  593. package/dist/types/components/searchbar/searchbar.d.ts +37 -0
  594. package/dist/types/components/toggle/toggle.d.ts +1 -1
  595. package/dist/types/components.d.ts +36 -4
  596. package/dist/types/utils/framework-delegate.d.ts +1 -1
  597. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  598. package/dist/types/utils/helpers.d.ts +1 -1
  599. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  600. package/dist/types/utils/overlays.d.ts +7 -2
  601. package/hydrate/index.js +737 -340
  602. package/package.json +9 -5
  603. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  604. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  605. package/dist/esm-es5/data-0f3ab200.js +0 -4
  606. package/dist/esm-es5/framework-delegate-fed7fe7c.js +0 -4
  607. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  608. package/dist/esm-es5/helpers-c0b9ca37.js +0 -4
  609. package/dist/esm-es5/index-47b2066d.js +0 -4
  610. package/dist/esm-es5/index-4c30cddd.js +0 -5
  611. package/dist/esm-es5/index-d64f34ea.js +0 -4
  612. package/dist/esm-es5/input-shims-b90ca55f.js +0 -4
  613. package/dist/esm-es5/md.transition-564937a7.js +0 -4
  614. package/dist/esm-es5/overlays-04a9a43f.js +0 -4
  615. package/dist/ionic/p-027f3674.entry.js +0 -4
  616. package/dist/ionic/p-05d560ec.entry.js +0 -4
  617. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  618. package/dist/ionic/p-0e23c289.system.entry.js +0 -4
  619. package/dist/ionic/p-1f16d040.entry.js +0 -4
  620. package/dist/ionic/p-21ca1f1c.js +0 -4
  621. package/dist/ionic/p-2327064c.entry.js +0 -4
  622. package/dist/ionic/p-23c73017.entry.js +0 -4
  623. package/dist/ionic/p-2e1f014a.system.entry.js +0 -4
  624. package/dist/ionic/p-337ac0f5.entry.js +0 -4
  625. package/dist/ionic/p-396083cc.entry.js +0 -4
  626. package/dist/ionic/p-3a7de59c.entry.js +0 -4
  627. package/dist/ionic/p-3c6f02cf.system.js +0 -4
  628. package/dist/ionic/p-3d961d93.entry.js +0 -4
  629. package/dist/ionic/p-3e9ad72a.system.entry.js +0 -4
  630. package/dist/ionic/p-43a5edee.entry.js +0 -4
  631. package/dist/ionic/p-49aba878.js +0 -4
  632. package/dist/ionic/p-4f777b5e.js +0 -4
  633. package/dist/ionic/p-4fda5c35.entry.js +0 -4
  634. package/dist/ionic/p-5b40d967.entry.js +0 -4
  635. package/dist/ionic/p-5c2ae448.js +0 -4
  636. package/dist/ionic/p-5c6a04bd.entry.js +0 -4
  637. package/dist/ionic/p-61ba2137.system.js +0 -4
  638. package/dist/ionic/p-64761c90.entry.js +0 -4
  639. package/dist/ionic/p-64856c3c.system.entry.js +0 -4
  640. package/dist/ionic/p-6486e393.system.entry.js +0 -4
  641. package/dist/ionic/p-667e3e2d.entry.js +0 -4
  642. package/dist/ionic/p-68ba8e77.system.entry.js +0 -4
  643. package/dist/ionic/p-72fa96bf.system.js +0 -5
  644. package/dist/ionic/p-7330c044.system.js +0 -4
  645. package/dist/ionic/p-7ce40e7b.entry.js +0 -4
  646. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  647. package/dist/ionic/p-95d5a097.entry.js +0 -4
  648. package/dist/ionic/p-9cd7ba27.system.js +0 -4
  649. package/dist/ionic/p-9ec7208d.system.js +0 -4
  650. package/dist/ionic/p-a6e465f5.entry.js +0 -4
  651. package/dist/ionic/p-a8a56449.entry.js +0 -4
  652. package/dist/ionic/p-bd4787eb.entry.js +0 -4
  653. package/dist/ionic/p-c11bab7e.entry.js +0 -4
  654. package/dist/ionic/p-c1797ec5.system.entry.js +0 -4
  655. package/dist/ionic/p-c308f773.entry.js +0 -4
  656. package/dist/ionic/p-c80c7e90.system.js +0 -4
  657. package/dist/ionic/p-cb9e71e0.entry.js +0 -4
  658. package/dist/ionic/p-db30f71b.entry.js +0 -4
  659. package/dist/ionic/p-dbcba5a2.js +0 -4
  660. package/dist/ionic/p-e81bf09e.system.entry.js +0 -4
  661. package/dist/ionic/p-e9f9388e.system.js +0 -4
  662. package/dist/ionic/p-ed7a529f.js +0 -5
  663. package/dist/ionic/p-edcada2b.system.entry.js +0 -4
  664. package/dist/ionic/p-f460c7ae.entry.js +0 -4
  665. package/dist/ionic/p-f7dce541.js +0 -4
  666. package/dist/ionic/p-f840d817.entry.js +0 -4
  667. package/dist/ionic/p-fb9f8495.system.entry.js +0 -4
  668. package/dist/ionic/p-fd2aa50c.js +0 -4
  669. /package/dist/ionic/{p-b5839dc2.js → p-1b3ffb2f.js} +0 -0
  670. /package/dist/ionic/{p-fd8ced99.system.js → p-5fc8d5ef.system.js} +0 -0
package/hydrate/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  /*!
9
- Stencil Mock Doc v4.12.2 | MIT Licensed | https://stenciljs.com
9
+ Stencil Mock Doc v4.15.0 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const CONTENT_REF_ID = 'r';
12
12
  const ORG_LOCATION_ID = 'o';
@@ -385,6 +385,14 @@ class MockCustomElementRegistry {
385
385
  }
386
386
  return undefined;
387
387
  }
388
+ getName(cstr) {
389
+ for (const [tagName, def] of this.__registry.entries()) {
390
+ if (def.cstr === cstr) {
391
+ return tagName;
392
+ }
393
+ }
394
+ return undefined;
395
+ }
388
396
  upgrade(_rootNode) {
389
397
  //
390
398
  }
@@ -2741,6 +2749,13 @@ function humanReadableList(items) {
2741
2749
  return `${items.slice(0, items.length - 1).join(', ')} and ${items[items.length - 1]}`;
2742
2750
  }
2743
2751
 
2752
+ /**
2753
+ * Serialize a node (either a DOM node or a mock-doc node) to an HTML string
2754
+ *
2755
+ * @param elm the node to serialize
2756
+ * @param opts options to control serialization behavior
2757
+ * @returns an html string
2758
+ */
2744
2759
  function serializeNodeToHtml(elm, opts = {}) {
2745
2760
  const output = {
2746
2761
  currentLineWidth: 0,
@@ -2801,6 +2816,7 @@ function serializeNodeToHtml(elm, opts = {}) {
2801
2816
  return output.text.join('');
2802
2817
  }
2803
2818
  function serializeToHtml(node, opts, output, isShadowRoot) {
2819
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
2804
2820
  if (node.nodeType === 1 /* NODE_TYPES.ELEMENT_NODE */ || isShadowRoot) {
2805
2821
  const tagName = isShadowRoot ? 'mock:shadow-root' : getTagName(node);
2806
2822
  if (tagName === 'body') {
@@ -2808,12 +2824,12 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2808
2824
  }
2809
2825
  const ignoreTag = opts.excludeTags != null && opts.excludeTags.includes(tagName);
2810
2826
  if (ignoreTag === false) {
2811
- const isWithinWhitespaceSensitiveNode = opts.newLines || opts.indentSpaces > 0 ? isWithinWhitespaceSensitive(node) : false;
2827
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_a = opts.indentSpaces) !== null && _a !== void 0 ? _a : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
2812
2828
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
2813
2829
  output.text.push('\n');
2814
2830
  output.currentLineWidth = 0;
2815
2831
  }
2816
- if (opts.indentSpaces > 0 && !isWithinWhitespaceSensitiveNode) {
2832
+ if (((_b = opts.indentSpaces) !== null && _b !== void 0 ? _b : 0) > 0 && !isWithinWhitespaceSensitiveNode) {
2817
2833
  for (let i = 0; i < output.indent; i++) {
2818
2834
  output.text.push(' ');
2819
2835
  }
@@ -2838,7 +2854,9 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2838
2854
  const attrNamespaceURI = attr.namespaceURI;
2839
2855
  if (attrNamespaceURI == null) {
2840
2856
  output.currentLineWidth += attrName.length + 1;
2841
- if (opts.approximateLineWidth > 0 && output.currentLineWidth > opts.approximateLineWidth) {
2857
+ if (opts.approximateLineWidth &&
2858
+ opts.approximateLineWidth > 0 &&
2859
+ output.currentLineWidth > opts.approximateLineWidth) {
2842
2860
  output.text.push('\n' + attrName);
2843
2861
  output.currentLineWidth = 0;
2844
2862
  }
@@ -2895,7 +2913,8 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2895
2913
  }
2896
2914
  if (node.hasAttribute('style')) {
2897
2915
  const cssText = node.style.cssText;
2898
- if (opts.approximateLineWidth > 0 &&
2916
+ if (opts.approximateLineWidth &&
2917
+ opts.approximateLineWidth > 0 &&
2899
2918
  output.currentLineWidth + cssText.length + 10 > opts.approximateLineWidth) {
2900
2919
  output.text.push(`\nstyle="${cssText}">`);
2901
2920
  output.currentLineWidth = 0;
@@ -2912,14 +2931,14 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2912
2931
  }
2913
2932
  if (EMPTY_ELEMENTS.has(tagName) === false) {
2914
2933
  if (opts.serializeShadowRoot && node.shadowRoot != null) {
2915
- output.indent = output.indent + opts.indentSpaces;
2934
+ output.indent = output.indent + ((_c = opts.indentSpaces) !== null && _c !== void 0 ? _c : 0);
2916
2935
  serializeToHtml(node.shadowRoot, opts, output, true);
2917
- output.indent = output.indent - opts.indentSpaces;
2936
+ output.indent = output.indent - ((_d = opts.indentSpaces) !== null && _d !== void 0 ? _d : 0);
2918
2937
  if (opts.newLines &&
2919
2938
  (node.childNodes.length === 0 ||
2920
2939
  (node.childNodes.length === 1 &&
2921
2940
  node.childNodes[0].nodeType === 3 /* NODE_TYPES.TEXT_NODE */ &&
2922
- node.childNodes[0].nodeValue.trim() === ''))) {
2941
+ ((_e = node.childNodes[0].nodeValue) === null || _e === void 0 ? void 0 : _e.trim()) === ''))) {
2923
2942
  output.text.push('\n');
2924
2943
  output.currentLineWidth = 0;
2925
2944
  for (let i = 0; i < output.indent; i++) {
@@ -2936,9 +2955,9 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2936
2955
  childNodes[0].nodeType === 3 /* NODE_TYPES.TEXT_NODE */ &&
2937
2956
  (typeof childNodes[0].nodeValue !== 'string' || childNodes[0].nodeValue.trim() === '')) ;
2938
2957
  else {
2939
- const isWithinWhitespaceSensitiveNode = opts.newLines || opts.indentSpaces > 0 ? isWithinWhitespaceSensitive(node) : false;
2940
- if (!isWithinWhitespaceSensitiveNode && opts.indentSpaces > 0 && ignoreTag === false) {
2941
- output.indent = output.indent + opts.indentSpaces;
2958
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_f = opts.indentSpaces) !== null && _f !== void 0 ? _f : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
2959
+ if (!isWithinWhitespaceSensitiveNode && ((_g = opts.indentSpaces) !== null && _g !== void 0 ? _g : 0) > 0 && ignoreTag === false) {
2960
+ output.indent = output.indent + ((_h = opts.indentSpaces) !== null && _h !== void 0 ? _h : 0);
2942
2961
  }
2943
2962
  for (let i = 0; i < childNodeLength; i++) {
2944
2963
  serializeToHtml(childNodes[i], opts, output, false);
@@ -2948,8 +2967,8 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2948
2967
  output.text.push('\n');
2949
2968
  output.currentLineWidth = 0;
2950
2969
  }
2951
- if (opts.indentSpaces > 0 && !isWithinWhitespaceSensitiveNode) {
2952
- output.indent = output.indent - opts.indentSpaces;
2970
+ if (((_j = opts.indentSpaces) !== null && _j !== void 0 ? _j : 0) > 0 && !isWithinWhitespaceSensitiveNode) {
2971
+ output.indent = output.indent - ((_k = opts.indentSpaces) !== null && _k !== void 0 ? _k : 0);
2953
2972
  for (let i = 0; i < output.indent; i++) {
2954
2973
  output.text.push(' ');
2955
2974
  }
@@ -2964,7 +2983,7 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2964
2983
  }
2965
2984
  }
2966
2985
  }
2967
- if (opts.approximateLineWidth > 0 && STRUCTURE_ELEMENTS.has(tagName)) {
2986
+ if (((_l = opts.approximateLineWidth) !== null && _l !== void 0 ? _l : 0) > 0 && STRUCTURE_ELEMENTS.has(tagName)) {
2968
2987
  output.text.push('\n');
2969
2988
  output.currentLineWidth = 0;
2970
2989
  }
@@ -2984,13 +3003,15 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
2984
3003
  output.text.push(textContent);
2985
3004
  output.currentLineWidth += textContent.length;
2986
3005
  }
2987
- else if (opts.approximateLineWidth > 0 && !output.isWithinBody) ;
3006
+ else if (((_m = opts.approximateLineWidth) !== null && _m !== void 0 ? _m : 0) > 0 && !output.isWithinBody) ;
2988
3007
  else if (!opts.prettyHtml) {
2989
3008
  // this text node is only whitespace, and it's not
2990
3009
  // within a whitespace sensitive element like <pre> or <code>
2991
3010
  // so replace the entire white space with a single new line
2992
3011
  output.currentLineWidth += 1;
2993
- if (opts.approximateLineWidth > 0 && output.currentLineWidth > opts.approximateLineWidth) {
3012
+ if (opts.approximateLineWidth &&
3013
+ opts.approximateLineWidth > 0 &&
3014
+ output.currentLineWidth > opts.approximateLineWidth) {
2994
3015
  // good enough for a new line
2995
3016
  // for perf these are all just estimates
2996
3017
  // we don't care to ensure exact line lengths
@@ -3005,12 +3026,12 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
3005
3026
  }
3006
3027
  else {
3007
3028
  // this text node has text content
3008
- const isWithinWhitespaceSensitiveNode = opts.newLines || opts.indentSpaces > 0 || opts.prettyHtml ? isWithinWhitespaceSensitive(node) : false;
3029
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_o = opts.indentSpaces) !== null && _o !== void 0 ? _o : 0) > 0 || opts.prettyHtml ? isWithinWhitespaceSensitive(node) : false;
3009
3030
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
3010
3031
  output.text.push('\n');
3011
3032
  output.currentLineWidth = 0;
3012
3033
  }
3013
- if (opts.indentSpaces > 0 && !isWithinWhitespaceSensitiveNode) {
3034
+ if (((_p = opts.indentSpaces) !== null && _p !== void 0 ? _p : 0) > 0 && !isWithinWhitespaceSensitiveNode) {
3014
3035
  for (let i = 0; i < output.indent; i++) {
3015
3036
  output.text.push(' ');
3016
3037
  }
@@ -3022,7 +3043,7 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
3022
3043
  const parentTagName = node.parentNode != null && node.parentNode.nodeType === 1 /* NODE_TYPES.ELEMENT_NODE */
3023
3044
  ? node.parentNode.nodeName
3024
3045
  : null;
3025
- if (NON_ESCAPABLE_CONTENT.has(parentTagName)) {
3046
+ if (typeof parentTagName === 'string' && NON_ESCAPABLE_CONTENT.has(parentTagName)) {
3026
3047
  // this text node cannot have its content escaped since it's going
3027
3048
  // into an element like <style> or <script>
3028
3049
  if (isWithinWhitespaceSensitive(node)) {
@@ -3055,7 +3076,8 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
3055
3076
  textContentLength = textContent.length;
3056
3077
  if (textContentLength > 1) {
3057
3078
  if (/\s/.test(textContent.charAt(textContentLength - 1))) {
3058
- if (opts.approximateLineWidth > 0 &&
3079
+ if (opts.approximateLineWidth &&
3080
+ opts.approximateLineWidth > 0 &&
3059
3081
  output.currentLineWidth + textContentLength > opts.approximateLineWidth) {
3060
3082
  textContent = textContent.trimRight() + '\n';
3061
3083
  output.currentLineWidth = 0;
@@ -3077,20 +3099,20 @@ function serializeToHtml(node, opts, output, isShadowRoot) {
3077
3099
  else if (node.nodeType === 8 /* NODE_TYPES.COMMENT_NODE */) {
3078
3100
  const nodeValue = node.nodeValue;
3079
3101
  if (opts.removeHtmlComments) {
3080
- const isHydrateAnnotation = nodeValue.startsWith(CONTENT_REF_ID + '.') ||
3081
- nodeValue.startsWith(ORG_LOCATION_ID + '.') ||
3082
- nodeValue.startsWith(SLOT_NODE_ID + '.') ||
3083
- nodeValue.startsWith(TEXT_NODE_ID + '.');
3102
+ const isHydrateAnnotation = (nodeValue === null || nodeValue === void 0 ? void 0 : nodeValue.startsWith(CONTENT_REF_ID + '.')) ||
3103
+ (nodeValue === null || nodeValue === void 0 ? void 0 : nodeValue.startsWith(ORG_LOCATION_ID + '.')) ||
3104
+ (nodeValue === null || nodeValue === void 0 ? void 0 : nodeValue.startsWith(SLOT_NODE_ID + '.')) ||
3105
+ (nodeValue === null || nodeValue === void 0 ? void 0 : nodeValue.startsWith(TEXT_NODE_ID + '.'));
3084
3106
  if (!isHydrateAnnotation) {
3085
3107
  return;
3086
3108
  }
3087
3109
  }
3088
- const isWithinWhitespaceSensitiveNode = opts.newLines || opts.indentSpaces > 0 ? isWithinWhitespaceSensitive(node) : false;
3110
+ const isWithinWhitespaceSensitiveNode = opts.newLines || ((_q = opts.indentSpaces) !== null && _q !== void 0 ? _q : 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
3089
3111
  if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
3090
3112
  output.text.push('\n');
3091
3113
  output.currentLineWidth = 0;
3092
3114
  }
3093
- if (opts.indentSpaces > 0 && !isWithinWhitespaceSensitiveNode) {
3115
+ if (((_r = opts.indentSpaces) !== null && _r !== void 0 ? _r : 0) > 0 && !isWithinWhitespaceSensitiveNode) {
3094
3116
  for (let i = 0; i < output.indent; i++) {
3095
3117
  output.text.push(' ');
3096
3118
  }
@@ -3124,12 +3146,21 @@ function escapeString(str, attrMode) {
3124
3146
  }
3125
3147
  return str.replace(LT_REGEX, '&lt;').replace(GT_REGEX, '&gt;');
3126
3148
  }
3149
+ /**
3150
+ * Determine whether a given node is within a whitespace-sensitive node by
3151
+ * walking the parent chain until either a whitespace-sensitive node is found or
3152
+ * there are no more parents to examine.
3153
+ *
3154
+ * @param node a node to check
3155
+ * @returns whether or not this is within a whitespace-sensitive node
3156
+ */
3127
3157
  function isWithinWhitespaceSensitive(node) {
3128
- while (node != null) {
3129
- if (WHITESPACE_SENSITIVE.has(node.nodeName)) {
3158
+ let _node = node;
3159
+ while (_node != null) {
3160
+ if (WHITESPACE_SENSITIVE.has(_node.nodeName)) {
3130
3161
  return true;
3131
3162
  }
3132
- node = node.parentNode;
3163
+ _node = _node.parentNode;
3133
3164
  }
3134
3165
  return false;
3135
3166
  }
@@ -3143,6 +3174,9 @@ function isWithinWhitespaceSensitive(node) {
3143
3174
  'NOFRAMES',
3144
3175
  'PLAINTEXT',
3145
3176
  ]);
3177
+ /**
3178
+ * A list of whitespace sensitive tag names, such as `code`, `pre`, etc.
3179
+ */
3146
3180
  const WHITESPACE_SENSITIVE = new Set([
3147
3181
  'CODE',
3148
3182
  'OUTPUT',
@@ -3428,6 +3462,18 @@ Testing components with ElementInternals is fully supported in e2e tests.`);
3428
3462
  blur() {
3429
3463
  dispatchEvent(this, new MockFocusEvent('blur', { relatedTarget: null, bubbles: true, cancelable: true, composed: true }));
3430
3464
  }
3465
+ get localName() {
3466
+ /**
3467
+ * The `localName` of an element should be always given, however the way
3468
+ * MockDoc is constructed, it won't allow us to guarantee that. Let's throw
3469
+ * and error we get into the situation where we don't have a `nodeName` set.
3470
+ *
3471
+ */
3472
+ if (!this.nodeName) {
3473
+ throw new Error(`Can't compute elements localName without nodeName`);
3474
+ }
3475
+ return this.nodeName.toLocaleLowerCase();
3476
+ }
3431
3477
  get namespaceURI() {
3432
3478
  return this.__namespaceURI;
3433
3479
  }
@@ -6403,6 +6449,9 @@ class MockDocument extends MockHTMLElement {
6403
6449
  set dir(value) {
6404
6450
  this.documentElement.dir = value;
6405
6451
  }
6452
+ get localName() {
6453
+ throw new Error('Unimplemented');
6454
+ }
6406
6455
  get location() {
6407
6456
  if (this.defaultView != null) {
6408
6457
  return this.defaultView.location;
@@ -6997,6 +7046,10 @@ function queryNonceMetaTagContent(e) {
6997
7046
  return null !== (n = null === (o = null === (t = e.head) || void 0 === t ? void 0 : t.querySelector('meta[name="csp-nonce"]')) || void 0 === o ? void 0 : o.getAttribute("content")) && void 0 !== n ? n : void 0;
6998
7047
  }
6999
7048
 
7049
+ function sortedAttrNames(e) {
7050
+ return e.includes("ref") ? [ ...e.filter((e => "ref" !== e)), "ref" ] : e;
7051
+ }
7052
+
7000
7053
  function componentOnReady$1() {
7001
7054
  return getHostRef(this).$onReadyPromise$;
7002
7055
  }
@@ -7347,31 +7400,36 @@ const createTime = (e, t = "") => {
7347
7400
  }
7348
7401
  }, parseClassListRegex = /\s/, parseClassList = e => e ? e.split(parseClassListRegex) : [], CAPTURE_EVENT_SUFFIX = "Capture", CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$"), updateElement = (e, t, o, n) => {
7349
7402
  const s = 11 === t.$elm$.nodeType && t.$elm$.host ? t.$elm$.host : t.$elm$, l = e && e.$attrs$ || EMPTY_OBJ, a = t.$attrs$ || EMPTY_OBJ;
7350
- for (n in l) n in a || setAccessor(s, n, l[n], void 0, o, t.$flags$);
7351
- for (n in a) setAccessor(s, n, l[n], a[n], o, t.$flags$);
7403
+ for (n of sortedAttrNames(Object.keys(l))) n in a || setAccessor(s, n, l[n], void 0, o, t.$flags$);
7404
+ for (n of sortedAttrNames(Object.keys(a))) setAccessor(s, n, l[n], a[n], o, t.$flags$);
7352
7405
  };
7353
7406
 
7354
7407
  let scopeId, contentRef, hostTagName, useNativeShadowDom = !1, checkSlotFallbackVisibility = !1, checkSlotRelocate = !1, isSvgMode = !1;
7355
7408
 
7356
7409
  const createElm = (e, t, o, n) => {
7357
- const s = t.$children$[o];
7358
- let l, a, r, i = 0;
7359
- if (!useNativeShadowDom && (checkSlotRelocate = !0, "slot" === s.$tag$ && (scopeId && n.classList.add(scopeId + "-s"),
7360
- s.$flags$ |= s.$children$ ? 2 : 1)), null !== s.$text$) l = s.$elm$ = doc$1.createTextNode(s.$text$); else if (1 & s.$flags$) l = s.$elm$ = slotReferenceDebugNode(s) ; else {
7361
- if (!isSvgMode && (isSvgMode = "svg" === s.$tag$), l = s.$elm$ = doc$1.createElementNS(isSvgMode ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", 2 & s.$flags$ ? "slot-fb" : s.$tag$) ,
7362
- isSvgMode && "foreignObject" === s.$tag$ && (isSvgMode = !1), updateElement(null, s, isSvgMode),
7363
- null != scopeId && l["s-si"] !== scopeId && l.classList.add(l["s-si"] = scopeId),
7364
- s.$children$) for (i = 0; i < s.$children$.length; ++i) a = createElm(e, s, i, l),
7365
- a && l.appendChild(a);
7366
- ("svg" === s.$tag$ ? isSvgMode = !1 : "foreignObject" === l.tagName && (isSvgMode = !0));
7410
+ var s;
7411
+ const l = t.$children$[o];
7412
+ let a, r, i, d = 0;
7413
+ if (!useNativeShadowDom && (checkSlotRelocate = !0, "slot" === l.$tag$ && (scopeId && n.classList.add(scopeId + "-s"),
7414
+ l.$flags$ |= l.$children$ ? 2 : 1)), null !== l.$text$) a = l.$elm$ = doc$1.createTextNode(l.$text$); else if (1 & l.$flags$) a = l.$elm$ = slotReferenceDebugNode(l) ; else {
7415
+ if (!isSvgMode && (isSvgMode = "svg" === l.$tag$), a = l.$elm$ = doc$1.createElementNS(isSvgMode ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", 2 & l.$flags$ ? "slot-fb" : l.$tag$) ,
7416
+ isSvgMode && "foreignObject" === l.$tag$ && (isSvgMode = !1), updateElement(null, l, isSvgMode),
7417
+ null != scopeId && a["s-si"] !== scopeId && a.classList.add(a["s-si"] = scopeId),
7418
+ l.$children$) for (d = 0; d < l.$children$.length; ++d) r = createElm(e, l, d, a),
7419
+ r && a.appendChild(r);
7420
+ ("svg" === l.$tag$ ? isSvgMode = !1 : "foreignObject" === a.tagName && (isSvgMode = !0));
7367
7421
  }
7368
- return l["s-hn"] = hostTagName, 3 & s.$flags$ && (l["s-sr"] = !0,
7369
- l["s-cr"] = contentRef, l["s-sn"] = s.$name$ || "", r = e && e.$children$ && e.$children$[o],
7370
- r && r.$tag$ === s.$tag$ && e.$elm$ && (putBackInOriginalLocation(e.$elm$, !1))),
7371
- l;
7422
+ return a["s-hn"] = hostTagName, 3 & l.$flags$ && (a["s-sr"] = !0,
7423
+ a["s-cr"] = contentRef, a["s-sn"] = l.$name$ || "", a["s-rf"] = null === (s = l.$attrs$) || void 0 === s ? void 0 : s.ref,
7424
+ i = e && e.$children$ && e.$children$[o], i && i.$tag$ === l.$tag$ && e.$elm$ && (putBackInOriginalLocation(e.$elm$, !1))),
7425
+ a;
7372
7426
  }, putBackInOriginalLocation = (e, t) => {
7373
7427
  plt.$flags$ |= 1;
7374
- const o = e.childNodes;
7428
+ const o = Array.from(e.childNodes);
7429
+ if (e["s-sr"] && BUILD.experimentalSlotFixes) {
7430
+ let t = e;
7431
+ for (;t = t.nextSibling; ) t && t["s-sn"] === e["s-sn"] && t["s-sh"] === hostTagName && o.push(t);
7432
+ }
7375
7433
  for (let e = o.length - 1; e >= 0; e--) {
7376
7434
  const n = o[e];
7377
7435
  n["s-hn"] !== hostTagName && n["s-ol"] && (parentReferenceNode(n).insertBefore(n, referenceNode(n)),
@@ -7485,15 +7543,19 @@ const createElm = (e, t, o, n) => {
7485
7543
  let l = null === (n = t["s-ol"]) || void 0 === n ? void 0 : n.previousSibling;
7486
7544
  for (;l; ) {
7487
7545
  let n = null !== (s = l["s-nr"]) && void 0 !== s ? s : null;
7488
- if (n && n["s-sn"] === t["s-sn"] && e === n.parentNode && (n = n.nextSibling, !n || !n["s-nr"])) {
7489
- o = n;
7490
- break;
7546
+ if (n && n["s-sn"] === t["s-sn"] && e === n.parentNode) {
7547
+ for (n = n.nextSibling; n === t || (null == n ? void 0 : n["s-sr"]); ) n = null == n ? void 0 : n.nextSibling;
7548
+ if (!n || !n["s-nr"]) {
7549
+ o = n;
7550
+ break;
7551
+ }
7491
7552
  }
7492
7553
  l = l.previousSibling;
7493
7554
  }
7494
7555
  }
7495
7556
  (!o && e !== t.parentNode || t.nextSibling !== o) && t !== o && (t["s-hn"] || !t["s-ol"] || (t["s-hn"] = t["s-ol"].parentNode.nodeName),
7496
- e.insertBefore(t, o), 1 === t.nodeType && (t.hidden = null !== (l = t["s-ih"]) && void 0 !== l && l));
7557
+ e.insertBefore(t, o), 1 === t.nodeType && (t.hidden = null !== (l = t["s-ih"]) && void 0 !== l && l)),
7558
+ t && "function" == typeof r["s-rf"] && r["s-rf"](t);
7497
7559
  } else 1 === t.nodeType && (o && (t["s-ih"] = null !== (a = t.hidden) && void 0 !== a && a),
7498
7560
  t.hidden = !0);
7499
7561
  }
@@ -7653,8 +7715,10 @@ const callRender = (e, t, o, n) => {
7653
7715
  return e;
7654
7716
  }, initializeComponent = async (e, t, o, n) => {
7655
7717
  let s;
7656
- if (0 == (32 & t.$flags$)) {
7657
- if (t.$flags$ |= 32, BUILD.lazyLoad ) {
7718
+ if (!(32 & t.$flags$)) {
7719
+ t.$flags$ |= 32;
7720
+ const n = o.$lazyBundleId$;
7721
+ if (n) {
7658
7722
  if (s = loadModule(o), s.then) {
7659
7723
  s = await s;
7660
7724
  }
@@ -7669,7 +7733,7 @@ const callRender = (e, t, o, n) => {
7669
7733
  }
7670
7734
  (t.$flags$ &= -9), (t.$flags$ |= 128), e(),
7671
7735
  fireConnectedCallback(t.$lazyInstance$);
7672
- }
7736
+ } else s = e.constructor, customElements.whenDefined(o.$tagName$).then((() => t.$flags$ |= 128));
7673
7737
  if (s.style) {
7674
7738
  let n = s.style;
7675
7739
  "string" != typeof n && (n = n[t.$modeName$ = computeMode(e)], t.$modeName$ && e.setAttribute("s-mode", t.$modeName$));
@@ -7685,7 +7749,7 @@ const callRender = (e, t, o, n) => {
7685
7749
  }, fireConnectedCallback = e => {
7686
7750
  safeCall$1(e, "connectedCallback");
7687
7751
  }, connectedCallback = e => {
7688
- if (0 == (1 & plt.$flags$)) {
7752
+ if (!(1 & plt.$flags$)) {
7689
7753
  const t = getHostRef(e), o = t.$cmpMeta$, n = createTime("connectedCallback", o.$tagName$);
7690
7754
  if (1 & t.$flags$) addHostEventListeners(e, t, o.$listeners$), (null == t ? void 0 : t.$lazyInstance$) ? fireConnectedCallback(t.$lazyInstance$) : (null == t ? void 0 : t.$onReadyPromise$) && t.$onReadyPromise$.then((() => fireConnectedCallback(t.$lazyInstance$))); else {
7691
7755
  let n;
@@ -7728,7 +7792,7 @@ const callRender = (e, t, o, n) => {
7728
7792
  } catch (e) {
7729
7793
  consoleError(e);
7730
7794
  }
7731
- }, getHostListenerTarget = (e, t) => 4 & t ? doc$1 : 8 & t ? win$2 : 16 & t ? doc$1.body : e, hostListenerOpts = e => 0 != (2 & e), insertVdomAnnotations = (e, t) => {
7795
+ }, getHostListenerTarget = (e, t) => 4 & t ? doc$1 : 8 & t ? win$2 : 16 & t ? doc$1.body : e, hostListenerOpts = e => !!(2 & e), insertVdomAnnotations = (e, t) => {
7732
7796
  if (null != e) {
7733
7797
  const o = {
7734
7798
  hostIds: 0,
@@ -8117,7 +8181,7 @@ const findItemLabel = (componentEl) => {
8117
8181
  }
8118
8182
  return null;
8119
8183
  };
8120
- const focusElement = (el) => {
8184
+ const focusVisibleElement = (el) => {
8121
8185
  el.focus();
8122
8186
  /**
8123
8187
  * When programmatically focusing an element,
@@ -9878,7 +9942,7 @@ const createLockController = () => {
9878
9942
  * moment this file is evaluated which could be
9879
9943
  * before the config is set.
9880
9944
  */
9881
- const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
9945
+ const shouldUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win$1 !== undefined && 'CloseWatcher' in win$1;
9882
9946
  const OVERLAY_BACK_BUTTON_PRIORITY = 100;
9883
9947
  const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays
9884
9948
 
@@ -10102,32 +10166,48 @@ const createOverlay = (tagName, opts) => {
10102
10166
  * valid usage for the disabled property on ion-button.
10103
10167
  */
10104
10168
  const focusableQueryString$1 = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
10169
+ const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
10170
+ /**
10171
+ * Focuses the first descendant in an overlay
10172
+ * that can receive focus. If none exists,
10173
+ * the entire overlay will be focused.
10174
+ */
10105
10175
  const focusFirstDescendant = (ref, overlay) => {
10106
- let firstInput = ref.querySelector(focusableQueryString$1);
10107
- const shadowRoot = firstInput === null || firstInput === void 0 ? void 0 : firstInput.shadowRoot;
10108
- if (shadowRoot) {
10109
- // If there are no inner focusable elements, just focus the host element.
10110
- firstInput = shadowRoot.querySelector(focusableQueryString$1) || firstInput;
10111
- }
10112
- if (firstInput) {
10113
- focusElement(firstInput);
10114
- }
10115
- else {
10116
- // Focus overlay instead of letting focus escape
10117
- overlay.focus();
10118
- }
10176
+ const firstInput = ref.querySelector(focusableQueryString$1);
10177
+ focusElementInOverlay(firstInput, overlay);
10119
10178
  };
10120
- const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
10179
+ /**
10180
+ * Focuses the last descendant in an overlay
10181
+ * that can receive focus. If none exists,
10182
+ * the entire overlay will be focused.
10183
+ */
10121
10184
  const focusLastDescendant = (ref, overlay) => {
10122
10185
  const inputs = Array.from(ref.querySelectorAll(focusableQueryString$1));
10123
- let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
10124
- const shadowRoot = lastInput === null || lastInput === void 0 ? void 0 : lastInput.shadowRoot;
10186
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
10187
+ focusElementInOverlay(lastInput, overlay);
10188
+ };
10189
+ /**
10190
+ * Focuses a particular element in an overlay. If the element
10191
+ * doesn't have anything focusable associated with it then
10192
+ * the overlay itself will be focused.
10193
+ * This should be used instead of the focus() method
10194
+ * on most elements because the focusable element
10195
+ * may not be the host element.
10196
+ *
10197
+ * For example, if an ion-button should be focused
10198
+ * then we should actually focus the native <button>
10199
+ * element inside of ion-button's shadow root, not
10200
+ * the host element itself.
10201
+ */
10202
+ const focusElementInOverlay = (hostToFocus, overlay) => {
10203
+ let elementToFocus = hostToFocus;
10204
+ const shadowRoot = hostToFocus === null || hostToFocus === void 0 ? void 0 : hostToFocus.shadowRoot;
10125
10205
  if (shadowRoot) {
10126
10206
  // If there are no inner focusable elements, just focus the host element.
10127
- lastInput = shadowRoot.querySelector(focusableQueryString$1) || lastInput;
10207
+ elementToFocus = shadowRoot.querySelector(focusableQueryString$1) || hostToFocus;
10128
10208
  }
10129
- if (lastInput) {
10130
- lastInput.focus();
10209
+ if (elementToFocus) {
10210
+ focusVisibleElement(elementToFocus);
10131
10211
  }
10132
10212
  else {
10133
10213
  // Focus overlay instead of letting focus escape
@@ -10178,6 +10258,21 @@ const trapKeyboardFocus = (ev, doc) => {
10178
10258
  */
10179
10259
  if (lastOverlay === target) {
10180
10260
  lastOverlay.lastFocus = undefined;
10261
+ /**
10262
+ * Toasts can be presented from an overlay.
10263
+ * However, focus should still be returned to
10264
+ * the overlay when clicking a toast. Normally,
10265
+ * focus would be returned to the last focusable
10266
+ * descendant in the overlay which may not always be
10267
+ * the button that the toast was presented from. In this case,
10268
+ * the focus may be returned to an unexpected element.
10269
+ * To account for this, we make sure to return focus to the
10270
+ * last focused element in the overlay if focus is
10271
+ * moved to the toast.
10272
+ */
10273
+ }
10274
+ else if (target.tagName === 'ION-TOAST') {
10275
+ focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
10181
10276
  /**
10182
10277
  * Otherwise, we must be focusing an element
10183
10278
  * inside of the overlay. The two possible options
@@ -10249,6 +10344,21 @@ const trapKeyboardFocus = (ev, doc) => {
10249
10344
  */
10250
10345
  if (lastOverlay.contains(target)) {
10251
10346
  lastOverlay.lastFocus = target;
10347
+ /**
10348
+ * Toasts can be presented from an overlay.
10349
+ * However, focus should still be returned to
10350
+ * the overlay when clicking a toast. Normally,
10351
+ * focus would be returned to the last focusable
10352
+ * descendant in the overlay which may not always be
10353
+ * the button that the toast was presented from. In this case,
10354
+ * the focus may be returned to an unexpected element.
10355
+ * To account for this, we make sure to return focus to the
10356
+ * last focused element in the overlay if focus is
10357
+ * moved to the toast.
10358
+ */
10359
+ }
10360
+ else if (target.tagName === 'ION-TOAST') {
10361
+ focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
10252
10362
  }
10253
10363
  else {
10254
10364
  /**
@@ -10322,7 +10432,7 @@ const connectListeners = (doc) => {
10322
10432
  * this behavior will be handled via the ionBackButton
10323
10433
  * event.
10324
10434
  */
10325
- if (!shoudUseCloseWatcher()) {
10435
+ if (!shouldUseCloseWatcher()) {
10326
10436
  doc.addEventListener('keydown', (ev) => {
10327
10437
  if (ev.key === 'Escape') {
10328
10438
  const lastOverlay = getPresentedOverlay(doc);
@@ -10412,15 +10522,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
10412
10522
  return;
10413
10523
  }
10414
10524
  setRootAriaHidden(true);
10415
- /**
10416
- * Hide all other overlays from screen readers so only this one
10417
- * can be read. Note that presenting an overlay always makes
10418
- * it the topmost one.
10419
- */
10420
- if (doc !== undefined) {
10421
- const presentedOverlays = getPresentedOverlays(doc);
10422
- presentedOverlays.forEach((o) => o.setAttribute('aria-hidden', 'true'));
10423
- }
10525
+ hideOverlaysFromScreenReaders(overlay.el);
10424
10526
  overlay.presented = true;
10425
10527
  overlay.willPresent.emit();
10426
10528
  (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
@@ -10513,7 +10615,7 @@ const restoreElementFocus = async (overlayEl) => {
10513
10615
  }
10514
10616
  };
10515
10617
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
10516
- var _a, _b, _c;
10618
+ var _a, _b;
10517
10619
  if (!overlay.presented) {
10518
10620
  return false;
10519
10621
  }
@@ -10564,13 +10666,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
10564
10666
  console.error(err);
10565
10667
  }
10566
10668
  overlay.el.remove();
10567
- /**
10568
- * If there are other overlays presented, unhide the new
10569
- * topmost one from screen readers.
10570
- */
10571
- if (doc !== undefined) {
10572
- (_c = getPresentedOverlay(doc)) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-hidden');
10573
- }
10669
+ revealOverlaysToScreenReaders();
10574
10670
  return true;
10575
10671
  };
10576
10672
  const getAppRoot = (doc) => {
@@ -10766,6 +10862,62 @@ const createTriggerController = () => {
10766
10862
  removeClickListener,
10767
10863
  };
10768
10864
  };
10865
+ /**
10866
+ * Ensure that underlying overlays have aria-hidden if necessary so that screen readers
10867
+ * cannot move focus to these elements. Note that we cannot rely on focus/focusin/focusout
10868
+ * events here because those events do not fire when the screen readers moves to a non-focusable
10869
+ * element such as text.
10870
+ * Without this logic screen readers would be able to move focus outside of the top focus-trapped overlay.
10871
+ *
10872
+ * @param newTopMostOverlay - The overlay that is being presented. Since the overlay has not been
10873
+ * fully presented yet at the time this function is called it will not be included in the getPresentedOverlays result.
10874
+ */
10875
+ const hideOverlaysFromScreenReaders = (newTopMostOverlay) => {
10876
+ var _a;
10877
+ if (doc === undefined)
10878
+ return;
10879
+ const overlays = getPresentedOverlays(doc);
10880
+ for (let i = overlays.length - 1; i >= 0; i--) {
10881
+ const presentedOverlay = overlays[i];
10882
+ const nextPresentedOverlay = (_a = overlays[i + 1]) !== null && _a !== void 0 ? _a : newTopMostOverlay;
10883
+ /**
10884
+ * If next overlay has aria-hidden then all remaining overlays will have it too.
10885
+ * Or, if the next overlay is a Toast that does not have aria-hidden then current overlay
10886
+ * should not have aria-hidden either so focus can remain in the current overlay.
10887
+ */
10888
+ if (nextPresentedOverlay.hasAttribute('aria-hidden') || nextPresentedOverlay.tagName !== 'ION-TOAST') {
10889
+ presentedOverlay.setAttribute('aria-hidden', 'true');
10890
+ }
10891
+ }
10892
+ };
10893
+ /**
10894
+ * When dismissing an overlay we need to reveal the new top-most overlay to screen readers.
10895
+ * If the top-most overlay is a Toast we potentially need to reveal more overlays since
10896
+ * focus is never automatically moved to the Toast.
10897
+ */
10898
+ const revealOverlaysToScreenReaders = () => {
10899
+ if (doc === undefined)
10900
+ return;
10901
+ const overlays = getPresentedOverlays(doc);
10902
+ for (let i = overlays.length - 1; i >= 0; i--) {
10903
+ const currentOverlay = overlays[i];
10904
+ /**
10905
+ * If the current we are looking at is a Toast then we can remove aria-hidden.
10906
+ * However, we potentially need to keep looking at the overlay stack because there
10907
+ * could be more Toasts underneath. Additionally, we need to unhide the closest non-Toast
10908
+ * overlay too so focus can move there since focus is never automatically moved to the Toast.
10909
+ */
10910
+ currentOverlay.removeAttribute('aria-hidden');
10911
+ /**
10912
+ * If we found a non-Toast element then we can just remove aria-hidden and stop searching entirely
10913
+ * since this overlay should always receive focus. As a result, all underlying overlays should still
10914
+ * be hidden from screen readers.
10915
+ */
10916
+ if (currentOverlay.tagName !== 'ION-TOAST') {
10917
+ break;
10918
+ }
10919
+ }
10920
+ };
10769
10921
 
10770
10922
  const hostContext = (selector, el) => {
10771
10923
  return el.closest(selector) !== null;
@@ -12137,12 +12289,12 @@ class ActionSheet {
12137
12289
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
12138
12290
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
12139
12291
  const headerID = `action-sheet-${overlayIndex}-header`;
12140
- return (hAsync(Host, Object.assign({ key: 'cd141d12d7d86d3402fd220c4afb61cdbf064c04', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
12292
+ return (hAsync(Host, Object.assign({ key: '49c8b5b3412b5688e44f3e3fa18abcc01c75a770', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
12141
12293
  zIndex: `${20000 + this.overlayIndex}`,
12142
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'b6a051e2cf5e101edbf59c8a40a04d8f7107fb3c', tappable: this.backdropDismiss }), hAsync("div", { key: '5bfa2b37a417aaff3776f06d92a8544dfcbf714f', tabindex: "0" }), hAsync("div", { key: '77d5a217803fd7be8f8dbedcd0ef5e59f0fd9800', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '3901d56215f05cdab074e2ec321391281a165097', class: "action-sheet-container" }, hAsync("div", { key: '275f5c7981b2ee44fb632b3d137c7209cbfcf45c', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { id: headerID, class: {
12294
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '80b4c279fca194c6d65bbdb8128956641387bb05', tappable: this.backdropDismiss }), hAsync("div", { key: '245cde1873c07ef09267de8ab1a4d6ee51c0a83c', tabindex: "0" }), hAsync("div", { key: '045109bb2118decbe633f45aa3d71b824d37c0fd', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: 'b053f3a177b6ac7f2f76f5470f7023389f06cfd8', class: "action-sheet-container" }, hAsync("div", { key: '88287aa180c22389747c9fec702112e29f4ec039', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { key: '693e67af994a0018508a6deb867937916913eaa6', id: headerID, class: {
12143
12295
  'action-sheet-title': true,
12144
12296
  'action-sheet-has-sub-title': this.subHeader !== undefined,
12145
- } }, header, this.subHeader && hAsync("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b) }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", null)))))), hAsync("div", { key: '4285893438675be9b40838a93c2ff382a1074cd3', tabindex: "0" })));
12297
+ } }, header, this.subHeader && hAsync("div", { key: '813cbb8d66e46d5a55a6c8bf52c5689882dc7002', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b) }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { key: 'f99cd10e7d91d3014edac6109c3e6dc128737f7c', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: '595c6a39ba04185e80cc3b0705536f93b4f1ebf4' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: '1f40403b907c6e925405a8b405ede9f7f9885611', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '75d5398d889fa70b514843b9cc73b2087a0bf1a0', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'cda40def00755c69da9f6a67494eee4dc79550fc' })))))), hAsync("div", { key: '4d9432bae550ef618ba762857144f1558e3e29e7', tabindex: "0" })));
12146
12298
  }
12147
12299
  get el() { return getElement(this); }
12148
12300
  static get watchers() { return {
@@ -12825,9 +12977,9 @@ class Alert {
12825
12977
  * If neither is defined, don't set aria-labelledby.
12826
12978
  */
12827
12979
  const ariaLabelledBy = header ? hdrId : subHeader ? subHdrId : null;
12828
- return (hAsync(Host, Object.assign({ key: '4b7f7880dc5f39aa9b61981af0a821ac0350af7f', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
12980
+ return (hAsync(Host, Object.assign({ key: 'd623baf94bddc6b1932f128f6a605c6232b37fb5', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
12829
12981
  zIndex: `${20000 + overlayIndex}`,
12830
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '961a2684013ac61d59882914fd8d759ddb542fe7', tappable: this.backdropDismiss }), hAsync("div", { key: '2ec08c3719b3cd8a4cae09d2c6ac778ffad5f940', tabindex: "0" }), hAsync("div", { key: 'ee543683d20693c9a9497aca4d41f032aa580c9c', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '55015102b67d080249a8859fc8788f3a82d5ead9', class: "alert-head" }, header && (hAsync("h2", { id: hdrId, class: "alert-title" }, header)), subHeader && (hAsync("h2", { id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'df7bcfb0cb41965f169de05edd631a050d5ce648', tabindex: "0" })));
12982
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: 'a594ba787a73a33ba10e7a32ca863bd610730cb6', tappable: this.backdropDismiss }), hAsync("div", { key: 'c95ef8332f46ce93fb8d3b7f0168ae5b939c52fd', tabindex: "0" }), hAsync("div", { key: '1895ea338a8e446d01c6151552af658e1e1c841d', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '5156393eb8a8f3e60e7d4bce20b0b85196141b0e', class: "alert-head" }, header && (hAsync("h2", { key: '72ba8253644adfeeb8472531234d3572af28b473', id: hdrId, class: "alert-title" }, header)), subHeader && (hAsync("h2", { key: 'eb8d2443170fbea182199bb3b3f5446c98f1c17e', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '13c6fac1a58574156951ae2dfdd24790c0812e11', tabindex: "0" })));
12831
12983
  }
12832
12984
  get el() { return getElement(this); }
12833
12985
  static get watchers() { return {
@@ -12906,7 +13058,7 @@ class App {
12906
13058
  }
12907
13059
  render() {
12908
13060
  const mode = getIonMode$1(this);
12909
- return (hAsync(Host, { key: '3535eb5c0dab78a78011e552524a98599b2b650f', class: {
13061
+ return (hAsync(Host, { key: '6d7c57453b4be454690e8f1a0721f1e3da8f92aa', class: {
12910
13062
  [mode]: true,
12911
13063
  'ion-page': true,
12912
13064
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -12937,7 +13089,7 @@ class Avatar {
12937
13089
  registerInstance(this, hostRef);
12938
13090
  }
12939
13091
  render() {
12940
- return (hAsync(Host, { key: '95d7ca334f9b66e0983cbc1b782ded0b9a54eaa9', class: getIonMode$1(this) }, hAsync("slot", { key: '011d20189acdb03bee328aa4fa0511826a0b3a36' })));
13092
+ return (hAsync(Host, { key: 'f6014b524497bb18ae919ba6f6928407310d6870', class: getIonMode$1(this) }, hAsync("slot", { key: '192ff4a8e10c0b0a4a2ed795ff2675afa8b23449' })));
12941
13093
  }
12942
13094
  static get style() { return {
12943
13095
  ios: IonAvatarIosStyle0,
@@ -13025,7 +13177,7 @@ class BackButton {
13025
13177
  const showBackButton = defaultHref !== undefined;
13026
13178
  const mode = getIonMode$1(this);
13027
13179
  const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
13028
- return (hAsync(Host, { key: '175fff2d7a41d2deaaf7b781c5ba2aac9311ebf4', onClick: this.onClick, class: createColorClasses$1(color, {
13180
+ return (hAsync(Host, { key: '9e837be314ee8ea487ba2771d36668ef58442faa', onClick: this.onClick, class: createColorClasses$1(color, {
13029
13181
  [mode]: true,
13030
13182
  button: true, // ion-buttons target .button
13031
13183
  'back-button-disabled': disabled,
@@ -13035,7 +13187,7 @@ class BackButton {
13035
13187
  'ion-activatable': true,
13036
13188
  'ion-focusable': true,
13037
13189
  'show-back-button': showBackButton,
13038
- }) }, hAsync("button", { key: '59fe30c167ea82e2431e45d46060a01bcb2aea77', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, hAsync("span", { key: '3d704fb7ef001446361e7a09d43763a771b242b9', class: "button-inner" }, backButtonIcon && (hAsync("ion-icon", { part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (hAsync("span", { part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && hAsync("ion-ripple-effect", { type: this.rippleType }))));
13190
+ }) }, hAsync("button", { key: 'c4531348bd80cf6163931c5fb432526aa8127043', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, hAsync("span", { key: 'aab8c6d5f0a84aed9f4e4a2532a239b28c7d5589', class: "button-inner" }, backButtonIcon && (hAsync("ion-icon", { key: '121eae10947b46a3d109709b79f4126b1c40ade4', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (hAsync("span", { key: '11c28875cc52b99470525d18c1f88f27c390a75a', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), mode === 'md' && hAsync("ion-ripple-effect", { key: '804bf8a06cd033c99d61ec2665c842b3b25945fa', type: this.rippleType }))));
13039
13191
  }
13040
13192
  get el() { return getElement(this); }
13041
13193
  static get style() { return {
@@ -13099,7 +13251,7 @@ class Backdrop {
13099
13251
  }
13100
13252
  render() {
13101
13253
  const mode = getIonMode$1(this);
13102
- return (hAsync(Host, { key: 'b2adb9dabef01fa49388d67d9e8a4a370931f633', tabindex: "-1", "aria-hidden": "true", class: {
13254
+ return (hAsync(Host, { key: '16b1328f4a058b8d3752e58dc56c44bed556c425', tabindex: "-1", "aria-hidden": "true", class: {
13103
13255
  [mode]: true,
13104
13256
  'backdrop-hide': !this.visible,
13105
13257
  'backdrop-no-tappable': !this.tappable,
@@ -13139,9 +13291,9 @@ class Badge {
13139
13291
  }
13140
13292
  render() {
13141
13293
  const mode = getIonMode$1(this);
13142
- return (hAsync(Host, { key: '043eea016721e53f0af1cbf1371bc08694281204', class: createColorClasses$1(this.color, {
13294
+ return (hAsync(Host, { key: '22d41ceefb76f40dfbf739fd71483f1272a45858', class: createColorClasses$1(this.color, {
13143
13295
  [mode]: true,
13144
- }) }, hAsync("slot", { key: 'bd510450d6b60f2794491244e68a83049a5ef6dd' })));
13296
+ }) }, hAsync("slot", { key: 'e7e65463bac5903971a8f9f6be55515f42b81a83' })));
13145
13297
  }
13146
13298
  static get style() { return {
13147
13299
  ios: IonBadgeIosStyle0,
@@ -13227,7 +13379,7 @@ class Breadcrumb {
13227
13379
  // to show the separator as long as it isn't also the last breadcrumb
13228
13380
  // otherwise if not collapsed use the value in separator
13229
13381
  const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
13230
- return (hAsync(Host, { key: '632efa1bc6dc446e81efe8cd7763cb9b16466563', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
13382
+ return (hAsync(Host, { key: '6d354439f90ec3cfab9fbf93cb17a67fb9ca6034', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
13231
13383
  [mode]: true,
13232
13384
  'breadcrumb-active': active,
13233
13385
  'breadcrumb-collapsed': collapsed,
@@ -13237,15 +13389,15 @@ class Breadcrumb {
13237
13389
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
13238
13390
  'ion-activatable': clickable,
13239
13391
  'ion-focusable': clickable,
13240
- }) }, hAsync(TagType, Object.assign({ key: '6f232cfc590b2e2a23a2e1ee40d6658e7d8b4953' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("slot", { key: 'fec56c6f92c147fbd6273d3efb82b1a6c944699c', name: "start" }), hAsync("slot", { key: '80aa33cdcaab810f544803c6105b489172542846' }), hAsync("slot", { key: '6e1d3f332ae35f5061204bece9756a9bac4aaf4a', name: "end" })), showCollapsedIndicator && (hAsync("button", { part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
13392
+ }) }, hAsync(TagType, Object.assign({ key: '4782977969bd84af02b1834573a6e51069b798ae' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("slot", { key: '7d5fb845e463b8195142099773e7f258fc8ed31d', name: "start" }), hAsync("slot", { key: '6b642ccb9101c12f72124fed5dd0f6362345fb41' }), hAsync("slot", { key: '9fb0841fed712e21d1e84b187e1bc9159cf80b56', name: "end" })), showCollapsedIndicator && (hAsync("button", { key: '4b64544d879224d491447a79da8f8672b994af0b', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
13241
13393
  'breadcrumbs-collapsed-indicator': true,
13242
- } }, hAsync("ion-icon", { "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
13394
+ } }, hAsync("ion-icon", { key: '5a2511b237aa8c401f416e967a831f8315423949', "aria-hidden": "true", icon: ellipsisHorizontal, lazy: false }))), showSeparator && (
13243
13395
  /**
13244
13396
  * Separators should not be announced by narrators.
13245
13397
  * We add aria-hidden on the span so that this applies
13246
13398
  * to any custom separators too.
13247
13399
  */
13248
- hAsync("span", { class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, hAsync("slot", { name: "separator" }, mode === 'ios' ? (hAsync("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (hAsync("span", null, "/")))))));
13400
+ hAsync("span", { key: '348952855dd79eb92f8d370e5839a8d09aff4097', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, hAsync("slot", { key: '0120f416edb1d776fa6900b5986b2b57eef554b3', name: "separator" }, mode === 'ios' ? (hAsync("ion-icon", { icon: chevronForwardOutline, lazy: false, "flip-rtl": true })) : (hAsync("span", null, "/")))))));
13249
13401
  }
13250
13402
  get el() { return getElement(this); }
13251
13403
  static get style() { return {
@@ -13385,12 +13537,12 @@ class Breadcrumbs {
13385
13537
  render() {
13386
13538
  const { color, collapsed } = this;
13387
13539
  const mode = getIonMode$1(this);
13388
- return (hAsync(Host, { key: '35f8a2bffdd85ba6dc31834ebef69602a5a7cca1', class: createColorClasses$1(color, {
13540
+ return (hAsync(Host, { key: 'cd288d4bf5498f86d086eb999b506993818642f3', class: createColorClasses$1(color, {
13389
13541
  [mode]: true,
13390
13542
  'in-toolbar': hostContext('ion-toolbar', this.el),
13391
13543
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
13392
13544
  'breadcrumbs-collapsed': collapsed,
13393
- }) }, hAsync("slot", { key: 'ada062b5d17380d311861d1cf1a22dd62bac5497', onSlotchange: this.slotChanged })));
13545
+ }) }, hAsync("slot", { key: '73c802065511dbebef3867b01ce929313d24cba2', onSlotchange: this.slotChanged })));
13394
13546
  }
13395
13547
  get el() { return getElement(this); }
13396
13548
  static get watchers() { return {
@@ -13419,10 +13571,10 @@ class Breadcrumbs {
13419
13571
  }; }
13420
13572
  }
13421
13573
 
13422
- const buttonIosCss = "/*!@:host*/.sc-ion-button-ios-h{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}/*!@:host(.button-disabled)*/.button-disabled.sc-ion-button-ios-h{cursor:default;opacity:0.5;pointer-events:none}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-ios-h{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-ios-h{--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-ios-h{--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-block)*/.button-block.sc-ion-button-ios-h{display:block}/*!@:host(.button-block) .button-native*/.button-block.sc-ion-button-ios-h .button-native.sc-ion-button-ios{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}/*!@:host(.button-block) .button-native::after*/.button-block.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{clear:both}/*!@:host(.button-full)*/.button-full.sc-ion-button-ios-h{display:block}/*!@:host(.button-full) .button-native*/.button-full.sc-ion-button-ios-h .button-native.sc-ion-button-ios{margin-left:0;margin-right:0;width:100%;contain:content}/*!@:host(.button-full:not(.button-round)) .button-native*/.button-full.sc-ion-button-ios-h:not(.button-round) .button-native.sc-ion-button-ios{border-radius:0;border-right-width:0;border-left-width:0}/*!@.button-native*/.button-native.sc-ion-button-ios{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}/*!@.button-native::-moz-focus-inner*/.button-native.sc-ion-button-ios::-moz-focus-inner{border:0}/*!@.button-inner*/.button-inner.sc-ion-button-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}/*!@::slotted([slot=start]),\n::slotted([slot=end])*/.sc-ion-button-ios-s>[slot=start],.sc-ion-button-ios-s>[slot=end]{-ms-flex-negative:0;flex-shrink:0}/*!@::slotted(ion-icon)*/.sc-ion-button-ios-s>ion-icon{font-size:1.35em;pointer-events:none}/*!@::slotted(ion-icon[slot=start])*/.sc-ion-button-ios-s>ion-icon[slot=start]{-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=end])*/.sc-ion-button-ios-s>ion-icon[slot=end]{-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-ios-s>ion-icon[slot=icon-only]{font-size:1.8em}/*!@ion-ripple-effect*/ion-ripple-effect.sc-ion-button-ios{color:var(--ripple-color)}/*!@.button-native::after*/.button-native.sc-ion-button-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}/*!@:host(.ion-focused)*/.ion-focused.sc-ion-button-ios-h{color:var(--color-focused)}/*!@:host(.ion-focused) .button-native::after*/.ion-focused.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){/*!@:host(:hover)*/.sc-ion-button-ios-h:hover{color:var(--color-hover)}/*!@:host(:hover) .button-native::after*/.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}/*!@:host(.ion-activated)*/.ion-activated.sc-ion-button-ios-h{color:var(--color-activated)}/*!@:host(.ion-activated) .button-native::after*/.ion-activated.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}/*!@:host(.button-solid.ion-color) .button-native*/.button-solid.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{background:var(--ion-color-base);color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-color) .button-native*/.button-outline.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color) .button-native*/.button-clear.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{background:transparent;color:var(--ion-color-base)}/*!@:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{color:var(--ion-toolbar-color, var(--color))}/*!@:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}/*!@:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-solid.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}/*!@:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.ion-activated.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}/*!@:host*/.sc-ion-button-ios-h{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-ios-h{--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-ios-h{--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-ios-h{--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}/*!@:host(.in-buttons)*/.in-buttons.sc-ion-button-ios-h{font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}/*!@:host(.button-large)*/.button-large.sc-ion-button-ios-h{--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}/*!@:host(.button-small)*/.button-small.sc-ion-button-ios-h{--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}/*!@:host(.button-has-icon-only)*/.button-has-icon-only.sc-ion-button-ios-h{--padding-top:0;--padding-bottom:0}/*!@:host(.button-round)*/.button-round.sc-ion-button-ios-h{--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}/*!@:host(.button-strong)*/.button-strong.sc-ion-button-ios-h{font-weight:600}/*!@:host(.button-outline.ion-focused.ion-color) .button-native,\n:host(.button-clear.ion-focused.ion-color) .button-native*/.button-outline.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios,.button-clear.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{color:var(--ion-color-base)}/*!@:host(.button-outline.ion-focused.ion-color) .button-native::after,\n:host(.button-clear.ion-focused.ion-color) .button-native::after*/.button-outline.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after,.button-clear.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-base)}/*!@:host(.button-solid.ion-color.ion-focused) .button-native::after*/.button-solid.ion-color.ion-focused.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-shade)}@media (any-hover: hover){/*!@:host(.button-clear:not(.ion-activated):hover),\n :host(.button-outline:not(.ion-activated):hover)*/.button-clear.sc-ion-button-ios-h:not(.ion-activated):hover,.button-outline.sc-ion-button-ios-h:not(.ion-activated):hover{opacity:0.6}/*!@:host(.button-clear.ion-color:hover) .button-native,\n :host(.button-outline.ion-color:hover) .button-native*/.button-clear.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios,.button-outline.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios{color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color:hover) .button-native::after,\n :host(.button-outline.ion-color:hover) .button-native::after*/.button-clear.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after,.button-outline.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:transparent}/*!@:host(.button-solid.ion-color:hover) .button-native::after*/.button-solid.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:var(--ion-color-tint)}/*!@:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after*/.sc-ion-button-ios-h:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated) .button-native.sc-ion-button-ios::after{background:#fff;opacity:0.1}}/*!@:host(.button-clear.ion-activated)*/.button-clear.ion-activated.sc-ion-button-ios-h{opacity:0.4}/*!@:host(.button-outline.ion-activated.ion-color) .button-native*/.button-outline.ion-activated.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-activated.ion-color) .button-native::after*/.button-outline.ion-activated.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-base)}/*!@:host(.button-solid.ion-color.ion-activated) .button-native::after*/.button-solid.ion-color.ion-activated.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-shade)}";
13574
+ const buttonIosCss = "/*!@:host*/.sc-ion-button-ios-h{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}/*!@:host(.button-disabled)*/.button-disabled.sc-ion-button-ios-h{cursor:default;opacity:0.5;pointer-events:none}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-ios-h{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-ios-h{--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-ios-h{--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-block)*/.button-block.sc-ion-button-ios-h{display:block}/*!@:host(.button-block) .button-native*/.button-block.sc-ion-button-ios-h .button-native.sc-ion-button-ios{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}/*!@:host(.button-block) .button-native::after*/.button-block.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{clear:both}/*!@:host(.button-full)*/.button-full.sc-ion-button-ios-h{display:block}/*!@:host(.button-full) .button-native*/.button-full.sc-ion-button-ios-h .button-native.sc-ion-button-ios{margin-left:0;margin-right:0;width:100%;contain:content}/*!@:host(.button-full:not(.button-round)) .button-native*/.button-full.sc-ion-button-ios-h:not(.button-round) .button-native.sc-ion-button-ios{border-radius:0;border-right-width:0;border-left-width:0}/*!@.button-native*/.button-native.sc-ion-button-ios{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}/*!@.button-native::-moz-focus-inner*/.button-native.sc-ion-button-ios::-moz-focus-inner{border:0}/*!@.button-inner*/.button-inner.sc-ion-button-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}/*!@::slotted([slot=start]),\n::slotted([slot=end])*/.sc-ion-button-ios-s>[slot=start],.sc-ion-button-ios-s>[slot=end]{-ms-flex-negative:0;flex-shrink:0}/*!@::slotted(ion-icon)*/.sc-ion-button-ios-s>ion-icon{font-size:1.35em;pointer-events:none}/*!@::slotted(ion-icon[slot=start])*/.sc-ion-button-ios-s>ion-icon[slot=start]{-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=end])*/.sc-ion-button-ios-s>ion-icon[slot=end]{-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-ios-s>ion-icon[slot=icon-only]{font-size:1.8em}/*!@ion-ripple-effect*/ion-ripple-effect.sc-ion-button-ios{color:var(--ripple-color)}/*!@.button-native::after*/.button-native.sc-ion-button-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}/*!@:host(.ion-focused)*/.ion-focused.sc-ion-button-ios-h{color:var(--color-focused)}/*!@:host(.ion-focused) .button-native::after*/.ion-focused.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){/*!@:host(:hover)*/.sc-ion-button-ios-h:hover{color:var(--color-hover)}/*!@:host(:hover) .button-native::after*/.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}/*!@:host(.ion-activated)*/.ion-activated.sc-ion-button-ios-h{color:var(--color-activated)}/*!@:host(.ion-activated) .button-native::after*/.ion-activated.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}/*!@:host(.button-solid.ion-color) .button-native*/.button-solid.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{background:var(--ion-color-base);color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-color) .button-native*/.button-outline.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color) .button-native*/.button-clear.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{background:transparent;color:var(--ion-color-base)}/*!@:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{color:var(--ion-toolbar-color, var(--color))}/*!@:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}/*!@:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-solid.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}/*!@:host*/.sc-ion-button-ios-h{--border-radius:14px;--padding-top:13px;--padding-bottom:13px;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:3.1em;font-size:min(1rem, 48px);font-weight:500;letter-spacing:0}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-ios-h{--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-ios-h{--border-radius:14px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-ios-h{--background-activated:transparent;--background-activated-opacity:0;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:min(1.0625rem, 51px);font-weight:normal}/*!@:host(.in-buttons)*/.in-buttons.sc-ion-button-ios-h{font-size:clamp(17px, 1.0625rem, 21.08px);font-weight:400}/*!@:host(.button-large)*/.button-large.sc-ion-button-ios-h{--border-radius:16px;--padding-top:17px;--padding-start:1em;--padding-end:1em;--padding-bottom:17px;min-height:3.1em;font-size:min(1.25rem, 60px)}/*!@:host(.button-small)*/.button-small.sc-ion-button-ios-h{--border-radius:6px;--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:min(0.8125rem, 39px)}/*!@:host(.button-has-icon-only)*/.button-has-icon-only.sc-ion-button-ios-h{--padding-top:0;--padding-bottom:0}/*!@:host(.button-round)*/.button-round.sc-ion-button-ios-h{--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}/*!@:host(.button-strong)*/.button-strong.sc-ion-button-ios-h{font-weight:600}/*!@:host(.button-outline.ion-focused.ion-color) .button-native,\n:host(.button-clear.ion-focused.ion-color) .button-native*/.button-outline.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios,.button-clear.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{color:var(--ion-color-base)}/*!@:host(.button-outline.ion-focused.ion-color) .button-native::after,\n:host(.button-clear.ion-focused.ion-color) .button-native::after*/.button-outline.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after,.button-clear.ion-focused.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-base)}/*!@:host(.button-solid.ion-color.ion-focused) .button-native::after*/.button-solid.ion-color.ion-focused.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-shade)}@media (any-hover: hover){/*!@:host(.button-clear:not(.ion-activated):hover),\n :host(.button-outline:not(.ion-activated):hover)*/.button-clear.sc-ion-button-ios-h:not(.ion-activated):hover,.button-outline.sc-ion-button-ios-h:not(.ion-activated):hover{opacity:0.6}/*!@:host(.button-clear.ion-color:hover) .button-native,\n :host(.button-outline.ion-color:hover) .button-native*/.button-clear.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios,.button-outline.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios{color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color:hover) .button-native::after,\n :host(.button-outline.ion-color:hover) .button-native::after*/.button-clear.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after,.button-outline.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:transparent}/*!@:host(.button-solid.ion-color:hover) .button-native::after*/.button-solid.ion-color.sc-ion-button-ios-h:hover .button-native.sc-ion-button-ios::after{background:var(--ion-color-tint)}/*!@:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated)) .button-native::after*/.sc-ion-button-ios-h:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color):not(.ion-activated) .button-native.sc-ion-button-ios::after{background:#fff;opacity:0.1}}/*!@:host(.button-clear.ion-activated)*/.button-clear.ion-activated.sc-ion-button-ios-h{opacity:0.4}/*!@:host(.button-outline.ion-activated.ion-color) .button-native*/.button-outline.ion-activated.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios{color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-activated.ion-color) .button-native::after*/.button-outline.ion-activated.ion-color.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-base)}/*!@:host(.button-solid.ion-color.ion-activated) .button-native::after*/.button-solid.ion-color.ion-activated.sc-ion-button-ios-h .button-native.sc-ion-button-ios::after{background:var(--ion-color-shade)}/*!@:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.ion-activated.in-toolbar.sc-ion-button-ios-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-ios{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}";
13423
13575
  var IonButtonIosStyle0 = buttonIosCss;
13424
13576
 
13425
- const buttonMdCss = "/*!@:host*/.sc-ion-button-md-h{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}/*!@:host(.button-disabled)*/.button-disabled.sc-ion-button-md-h{cursor:default;opacity:0.5;pointer-events:none}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-md-h{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-md-h{--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-md-h{--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-block)*/.button-block.sc-ion-button-md-h{display:block}/*!@:host(.button-block) .button-native*/.button-block.sc-ion-button-md-h .button-native.sc-ion-button-md{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}/*!@:host(.button-block) .button-native::after*/.button-block.sc-ion-button-md-h .button-native.sc-ion-button-md::after{clear:both}/*!@:host(.button-full)*/.button-full.sc-ion-button-md-h{display:block}/*!@:host(.button-full) .button-native*/.button-full.sc-ion-button-md-h .button-native.sc-ion-button-md{margin-left:0;margin-right:0;width:100%;contain:content}/*!@:host(.button-full:not(.button-round)) .button-native*/.button-full.sc-ion-button-md-h:not(.button-round) .button-native.sc-ion-button-md{border-radius:0;border-right-width:0;border-left-width:0}/*!@.button-native*/.button-native.sc-ion-button-md{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}/*!@.button-native::-moz-focus-inner*/.button-native.sc-ion-button-md::-moz-focus-inner{border:0}/*!@.button-inner*/.button-inner.sc-ion-button-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}/*!@::slotted([slot=start]),\n::slotted([slot=end])*/.sc-ion-button-md-s>[slot=start],.sc-ion-button-md-s>[slot=end]{-ms-flex-negative:0;flex-shrink:0}/*!@::slotted(ion-icon)*/.sc-ion-button-md-s>ion-icon{font-size:1.35em;pointer-events:none}/*!@::slotted(ion-icon[slot=start])*/.sc-ion-button-md-s>ion-icon[slot=start]{-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=end])*/.sc-ion-button-md-s>ion-icon[slot=end]{-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-md-s>ion-icon[slot=icon-only]{font-size:1.8em}/*!@ion-ripple-effect*/ion-ripple-effect.sc-ion-button-md{color:var(--ripple-color)}/*!@.button-native::after*/.button-native.sc-ion-button-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}/*!@:host(.ion-focused)*/.ion-focused.sc-ion-button-md-h{color:var(--color-focused)}/*!@:host(.ion-focused) .button-native::after*/.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){/*!@:host(:hover)*/.sc-ion-button-md-h:hover{color:var(--color-hover)}/*!@:host(:hover) .button-native::after*/.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}/*!@:host(.ion-activated)*/.ion-activated.sc-ion-button-md-h{color:var(--color-activated)}/*!@:host(.ion-activated) .button-native::after*/.ion-activated.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}/*!@:host(.button-solid.ion-color) .button-native*/.button-solid.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:var(--ion-color-base);color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-color) .button-native*/.button-outline.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color) .button-native*/.button-clear.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:transparent;color:var(--ion-color-base)}/*!@:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{color:var(--ion-toolbar-color, var(--color))}/*!@:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}/*!@:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-solid.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}/*!@:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.ion-activated.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{background:var(--ion-toolbar-color, var(--color));color:var(--ion-toolbar-background, var(--background), var(--ion-color-primary-contrast, #fff))}/*!@:host*/.sc-ion-button-md-h{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-md-h{--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}/*!@:host(.button-solid.ion-activated)*/.button-solid.ion-activated.sc-ion-button-md-h{--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-md-h{--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}/*!@:host(.button-outline.ion-activated.ion-color) .button-native*/.button-outline.ion-activated.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:transparent}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-md-h{--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}/*!@:host(.button-round)*/.button-round.sc-ion-button-md-h{--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}/*!@:host(.button-large)*/.button-large.sc-ion-button-md-h{--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}/*!@:host(.button-small)*/.button-small.sc-ion-button-md-h{--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}/*!@:host(.button-has-icon-only)*/.button-has-icon-only.sc-ion-button-md-h{--padding-top:0;--padding-bottom:0}/*!@:host(.button-strong)*/.button-strong.sc-ion-button-md-h{font-weight:bold}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-md-s>ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}/*!@:host(.button-solid.ion-color.ion-focused) .button-native::after*/.button-solid.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--ion-color-contrast)}/*!@:host(.button-clear.ion-color.ion-focused) .button-native::after,\n:host(.button-outline.ion-color.ion-focused) .button-native::after*/.button-clear.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after,.button-outline.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--ion-color-base)}@media (any-hover: hover){/*!@:host(.button-solid.ion-color:hover) .button-native::after*/.button-solid.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--ion-color-contrast)}/*!@:host(.button-clear.ion-color:hover) .button-native::after,\n :host(.button-outline.ion-color:hover) .button-native::after*/.button-clear.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after,.button-outline.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--ion-color-base)}}";
13577
+ const buttonMdCss = "/*!@:host*/.sc-ion-button-md-h{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;-webkit-font-kerning:none;font-kerning:none}/*!@:host(.button-disabled)*/.button-disabled.sc-ion-button-md-h{cursor:default;opacity:0.5;pointer-events:none}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-md-h{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-md-h{--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-md-h{--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}/*!@:host(.button-block)*/.button-block.sc-ion-button-md-h{display:block}/*!@:host(.button-block) .button-native*/.button-block.sc-ion-button-md-h .button-native.sc-ion-button-md{margin-left:0;margin-right:0;width:100%;clear:both;contain:content}/*!@:host(.button-block) .button-native::after*/.button-block.sc-ion-button-md-h .button-native.sc-ion-button-md::after{clear:both}/*!@:host(.button-full)*/.button-full.sc-ion-button-md-h{display:block}/*!@:host(.button-full) .button-native*/.button-full.sc-ion-button-md-h .button-native.sc-ion-button-md{margin-left:0;margin-right:0;width:100%;contain:content}/*!@:host(.button-full:not(.button-round)) .button-native*/.button-full.sc-ion-button-md-h:not(.button-round) .button-native.sc-ion-button-md{border-radius:0;border-right-width:0;border-left-width:0}/*!@.button-native*/.button-native.sc-ion-button-md{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;min-height:inherit;-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}/*!@.button-native::-moz-focus-inner*/.button-native.sc-ion-button-md::-moz-focus-inner{border:0}/*!@.button-inner*/.button-inner.sc-ion-button-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;z-index:1}/*!@::slotted([slot=start]),\n::slotted([slot=end])*/.sc-ion-button-md-s>[slot=start],.sc-ion-button-md-s>[slot=end]{-ms-flex-negative:0;flex-shrink:0}/*!@::slotted(ion-icon)*/.sc-ion-button-md-s>ion-icon{font-size:1.35em;pointer-events:none}/*!@::slotted(ion-icon[slot=start])*/.sc-ion-button-md-s>ion-icon[slot=start]{-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=end])*/.sc-ion-button-md-s>ion-icon[slot=end]{-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em;margin-top:0;margin-bottom:0}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-md-s>ion-icon[slot=icon-only]{font-size:1.8em}/*!@ion-ripple-effect*/ion-ripple-effect.sc-ion-button-md{color:var(--ripple-color)}/*!@.button-native::after*/.button-native.sc-ion-button-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}/*!@:host(.ion-focused)*/.ion-focused.sc-ion-button-md-h{color:var(--color-focused)}/*!@:host(.ion-focused) .button-native::after*/.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){/*!@:host(:hover)*/.sc-ion-button-md-h:hover{color:var(--color-hover)}/*!@:host(:hover) .button-native::after*/.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}/*!@:host(.ion-activated)*/.ion-activated.sc-ion-button-md-h{color:var(--color-activated)}/*!@:host(.ion-activated) .button-native::after*/.ion-activated.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}/*!@:host(.button-solid.ion-color) .button-native*/.button-solid.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:var(--ion-color-base);color:var(--ion-color-contrast)}/*!@:host(.button-outline.ion-color) .button-native*/.button-outline.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}/*!@:host(.button-clear.ion-color) .button-native*/.button-clear.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:transparent;color:var(--ion-color-base)}/*!@:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{color:var(--ion-toolbar-color, var(--color))}/*!@:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}/*!@:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-solid.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}/*!@:host*/.sc-ion-button-md-h{--border-radius:4px;--padding-top:8px;--padding-bottom:8px;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:4px;margin-bottom:4px;min-height:36px;font-size:0.875rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}/*!@:host(.button-solid)*/.button-solid.sc-ion-button-md-h{--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}/*!@:host(.button-solid.ion-activated)*/.button-solid.ion-activated.sc-ion-button-md-h{--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}/*!@:host(.button-outline)*/.button-outline.sc-ion-button-md-h{--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}/*!@:host(.button-outline.ion-activated.ion-color) .button-native*/.button-outline.ion-activated.ion-color.sc-ion-button-md-h .button-native.sc-ion-button-md{background:transparent}/*!@:host(.button-clear)*/.button-clear.sc-ion-button-md-h{--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}/*!@:host(.button-round)*/.button-round.sc-ion-button-md-h{--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}/*!@:host(.button-large)*/.button-large.sc-ion-button-md-h{--padding-top:14px;--padding-start:1em;--padding-end:1em;--padding-bottom:14px;min-height:2.8em;font-size:1.25rem}/*!@:host(.button-small)*/.button-small.sc-ion-button-md-h{--padding-top:4px;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:4px;min-height:2.1em;font-size:0.8125rem}/*!@:host(.button-has-icon-only)*/.button-has-icon-only.sc-ion-button-md-h{--padding-top:0;--padding-bottom:0}/*!@:host(.button-strong)*/.button-strong.sc-ion-button-md-h{font-weight:bold}/*!@::slotted(ion-icon[slot=icon-only])*/.sc-ion-button-md-s>ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}/*!@:host(.button-solid.ion-color.ion-focused) .button-native::after*/.button-solid.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--ion-color-contrast)}/*!@:host(.button-clear.ion-color.ion-focused) .button-native::after,\n:host(.button-outline.ion-color.ion-focused) .button-native::after*/.button-clear.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after,.button-outline.ion-color.ion-focused.sc-ion-button-md-h .button-native.sc-ion-button-md::after{background:var(--ion-color-base)}@media (any-hover: hover){/*!@:host(.button-solid.ion-color:hover) .button-native::after*/.button-solid.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--ion-color-contrast)}/*!@:host(.button-clear.ion-color:hover) .button-native::after,\n :host(.button-outline.ion-color:hover) .button-native::after*/.button-clear.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after,.button-outline.ion-color.sc-ion-button-md-h:hover .button-native.sc-ion-button-md::after{background:var(--ion-color-base)}}/*!@:host(.button-outline.ion-activated.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native*/.button-outline.ion-activated.in-toolbar.sc-ion-button-md-h:not(.ion-color):not(.in-toolbar-color) .button-native.sc-ion-button-md{background:var(--ion-toolbar-background, var(--color));color:var(--ion-toolbar-color, var(--background), var(--ion-color-primary-contrast, #fff))}";
13426
13578
  var IonButtonMdStyle0 = buttonMdCss;
13427
13579
 
13428
13580
  /**
@@ -13621,7 +13773,7 @@ class Button {
13621
13773
  {
13622
13774
  type !== 'button' && this.renderHiddenButton();
13623
13775
  }
13624
- return (hAsync(Host, { key: '8533314504b286ec10e26722f93376d86a7ca1c9', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
13776
+ return (hAsync(Host, { key: '54569350aae49882123f0e22a720956eddee33f5', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
13625
13777
  [mode]: true,
13626
13778
  [buttonType]: true,
13627
13779
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -13636,7 +13788,7 @@ class Button {
13636
13788
  'button-disabled': disabled,
13637
13789
  'ion-activatable': true,
13638
13790
  'ion-focusable': true,
13639
- }) }, hAsync(TagType, Object.assign({ key: '79bf020fdac0c2ceb2b05547b3e5a9a11e60abb4' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("span", { key: '109481ba86102647023b746b054b2718d3c9d92a', class: "button-inner" }, hAsync("slot", { key: 'f824ddd9f988b9bd33136555b16aa790d9291b49', name: "icon-only" }), hAsync("slot", { key: 'd614f4e430792c5f93be4b3a8c57a826d74b9cfd', name: "start" }), hAsync("slot", { key: '95d00c8a980c31cc7f84732f51a17a0cd285a7cb' }), hAsync("slot", { key: 'a228ff52cbe04dc9d2e22bb66611ecc96d130e6f', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { type: this.rippleType }))));
13791
+ }) }, hAsync(TagType, Object.assign({ key: '95c196fc5bf080ef308532c3627e2a9d68f24996' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("span", { key: 'e247013b847158187258d28f37ab23905fe49110', class: "button-inner" }, hAsync("slot", { key: '58ac0bd8f643f4392ddbe465fab26eedffe02b7a', name: "icon-only" }), hAsync("slot", { key: '2289d37a37a64472ffe818b3b1126945cebf101e', name: "start" }), hAsync("slot", { key: 'b69a915dff465d251f0466449b91450d4a4048a9' }), hAsync("slot", { key: '594a80d6707fd5edabc03e467f7aae3011d020f6', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b034770cadefe74922ed6564a17147ddc6c9fdb1', type: this.rippleType }))));
13640
13792
  }
13641
13793
  get el() { return getElement(this); }
13642
13794
  static get watchers() { return {
@@ -13686,7 +13838,7 @@ class Buttons {
13686
13838
  }
13687
13839
  render() {
13688
13840
  const mode = getIonMode$1(this);
13689
- return (hAsync(Host, { key: '52c0c5535f5688a481746fe8fd92b6c02941526f', class: {
13841
+ return (hAsync(Host, { key: '2929fd8c4469bab2953c23d47f601706acb104f1', class: {
13690
13842
  [mode]: true,
13691
13843
  ['buttons-collapse']: this.collapse,
13692
13844
  } }));
@@ -13758,7 +13910,7 @@ class Card {
13758
13910
  }
13759
13911
  render() {
13760
13912
  const mode = getIonMode$1(this);
13761
- return (hAsync(Host, { key: '9e35c114ce466623024b94dd6797118ad027417d', class: createColorClasses$1(this.color, {
13913
+ return (hAsync(Host, { key: 'b92792294360fd974324b31ed2d3db00d3e2f8cd', class: createColorClasses$1(this.color, {
13762
13914
  [mode]: true,
13763
13915
  'card-disabled': this.disabled,
13764
13916
  'ion-activatable': this.isClickable(),
@@ -13805,7 +13957,7 @@ class CardContent {
13805
13957
  }
13806
13958
  render() {
13807
13959
  const mode = getIonMode$1(this);
13808
- return (hAsync(Host, { key: 'd4da147bb0b0b14684b54d37d04ba5a8f7a7d71d', class: {
13960
+ return (hAsync(Host, { key: 'dd95806f042fcd124b18126679f671be6e32a021', class: {
13809
13961
  [mode]: true,
13810
13962
  // Used internally for styling
13811
13963
  [`card-content-${mode}`]: true,
@@ -13842,11 +13994,11 @@ class CardHeader {
13842
13994
  }
13843
13995
  render() {
13844
13996
  const mode = getIonMode$1(this);
13845
- return (hAsync(Host, { key: '070294064c4b17c941961c9cccf1ae6592b385b6', class: createColorClasses$1(this.color, {
13997
+ return (hAsync(Host, { key: '44077ad8e3edf7726d0f7a039046e32dc56a83c9', class: createColorClasses$1(this.color, {
13846
13998
  'card-header-translucent': this.translucent,
13847
13999
  'ion-inherit-color': true,
13848
14000
  [mode]: true,
13849
- }) }, hAsync("slot", { key: 'adac918d5e93bf69b07c5bda329ebf8c719bd623' })));
14001
+ }) }, hAsync("slot", { key: '51b6f4048d25521ece18d79e5361c762af41cae7' })));
13850
14002
  }
13851
14003
  static get style() { return {
13852
14004
  ios: IonCardHeaderIosStyle0,
@@ -13881,10 +14033,10 @@ class CardSubtitle {
13881
14033
  }
13882
14034
  render() {
13883
14035
  const mode = getIonMode$1(this);
13884
- return (hAsync(Host, { key: 'ae115cf349cd13f88d20b1fbab6b8a813a87b925', role: "heading", "aria-level": "3", class: createColorClasses$1(this.color, {
14036
+ return (hAsync(Host, { key: '6f94c9ced239cc945a148e0ecc7ab848fa70d8e3', role: "heading", "aria-level": "3", class: createColorClasses$1(this.color, {
13885
14037
  'ion-inherit-color': true,
13886
14038
  [mode]: true,
13887
- }) }, hAsync("slot", { key: 'f5dd779b34b5c5c541cbbe56cc8a877e50513252' })));
14039
+ }) }, hAsync("slot", { key: '445f81155799be5e81baa571bd16d57e5149df62' })));
13888
14040
  }
13889
14041
  static get style() { return {
13890
14042
  ios: IonCardSubtitleIosStyle0,
@@ -13918,10 +14070,10 @@ class CardTitle {
13918
14070
  }
13919
14071
  render() {
13920
14072
  const mode = getIonMode$1(this);
13921
- return (hAsync(Host, { key: '432d7bf971fda63c30c748986143ec2a8be9e4af', role: "heading", "aria-level": "2", class: createColorClasses$1(this.color, {
14073
+ return (hAsync(Host, { key: 'a9e4190346e7d0a8e6089ec1fe01bca0f5f7200d', role: "heading", "aria-level": "2", class: createColorClasses$1(this.color, {
13922
14074
  'ion-inherit-color': true,
13923
14075
  [mode]: true,
13924
- }) }, hAsync("slot", { key: '3c5dcf6ac1bf981c6c0488f0027765269c80db5a' })));
14076
+ }) }, hAsync("slot", { key: '8d87636ad703545b6d2297629205a5a8616eb94e' })));
13925
14077
  }
13926
14078
  static get style() { return {
13927
14079
  ios: IonCardTitleIosStyle0,
@@ -14289,7 +14441,7 @@ class Checkbox {
14289
14441
  const mode = getIonMode$1(this);
14290
14442
  const path = getSVGPath(mode, indeterminate);
14291
14443
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
14292
- return (hAsync(Host, { class: createColorClasses$1(color, {
14444
+ return (hAsync(Host, { "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses$1(color, {
14293
14445
  [mode]: true,
14294
14446
  'in-item': hostContext('ion-item', el),
14295
14447
  'checkbox-checked': checked,
@@ -14390,12 +14542,12 @@ class Chip {
14390
14542
  }
14391
14543
  render() {
14392
14544
  const mode = getIonMode$1(this);
14393
- return (hAsync(Host, { key: 'eca7cc616c0c9dd2ab28efd41e203fa094880e9e', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
14545
+ return (hAsync(Host, { key: '886c26b6e7b3e3ca8622a4a0926bdf6dea0a71d4', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
14394
14546
  [mode]: true,
14395
14547
  'chip-outline': this.outline,
14396
14548
  'chip-disabled': this.disabled,
14397
14549
  'ion-activatable': true,
14398
- }) }, hAsync("slot", { key: 'b64c9067132791f73a8434c37d5a335fb2d96f74' }), mode === 'md' && hAsync("ion-ripple-effect", null)));
14550
+ }) }, hAsync("slot", { key: 'd24353e79ac84013758cee1acb1b0f9b2ebb4d67' }), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b69bb3ce3d464251d5e11ba6a5240e4567f72f05' })));
14399
14551
  }
14400
14552
  static get style() { return {
14401
14553
  ios: IonChipIosStyle0,
@@ -14546,9 +14698,9 @@ class Col {
14546
14698
  render() {
14547
14699
  const isRTL = document.dir === 'rtl';
14548
14700
  const mode = getIonMode$1(this);
14549
- return (hAsync(Host, { key: 'c186972dd12d10a4600975c326f20666fed96abf', class: {
14701
+ return (hAsync(Host, { key: '56ecf3b3f2be05d5f179f2d136d4ab05a4525da9', class: {
14550
14702
  [mode]: true,
14551
- }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '54cc8bd92f94cfd30d9f3e8e59e0f0dc38abfd63' })));
14703
+ }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, hAsync("slot", { key: '8f1113d39dcb709300ebbeaf81bc092c1dd8da3e' })));
14552
14704
  }
14553
14705
  static get style() { return IonColStyle0; }
14554
14706
  static get cmpMeta() { return {
@@ -14918,7 +15070,7 @@ class Content {
14918
15070
  const transitionShadow = mode === 'ios';
14919
15071
  const TagType = isMainContent ? 'main' : 'div';
14920
15072
  this.resize();
14921
- return (hAsync(Host, { key: '65d85e1f7f85876a76eec79addc4bd9f697a5d84', class: createColorClasses$1(this.color, {
15073
+ return (hAsync(Host, { key: 'e13815c0e6f6095150b112d3a1aaf2f509aa0d0b', class: createColorClasses$1(this.color, {
14922
15074
  [mode]: true,
14923
15075
  'content-sizing': hostContext('ion-popover', this.el),
14924
15076
  overscroll: forceOverscroll,
@@ -14926,12 +15078,12 @@ class Content {
14926
15078
  }), style: {
14927
15079
  '--offset-top': `${this.cTop}px`,
14928
15080
  '--offset-bottom': `${this.cBottom}px`,
14929
- } }, hAsync("div", { key: 'e2ac474a62cbc864772c497469100436f41289ff', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), hAsync(TagType, { key: '567a4bc2bcb13adfd987b088f95ac4b20b789f2c', class: {
15081
+ } }, hAsync("div", { key: '8006c4a10d8f7dc83c646246961d018a8097236e', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), hAsync(TagType, { key: '4dd2f58421493f7a4ca42f8f5d7b85cda8e320ea', class: {
14930
15082
  'inner-scroll': true,
14931
15083
  'scroll-x': scrollX,
14932
15084
  'scroll-y': scrollY,
14933
15085
  overscroll: (scrollX || scrollY) && forceOverscroll,
14934
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '13909f87dd9f49bf1664ad95038499da376b9480' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, hAsync("slot", { key: '05b56c139e203cfd1e3dd08054e99328e97e9243', name: "fixed" })));
15086
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '37904f8f1d8319156cd901feb21930ef674fe0f7' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, hAsync("slot", { key: '8f696583903af0548d064dca1a6bae060e127485', name: "fixed" })));
14935
15087
  }
14936
15088
  get el() { return getElement(this); }
14937
15089
  static get style() { return IonContentStyle0; }
@@ -15913,7 +16065,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
15913
16065
  }
15914
16066
  return dayPeriod.toUpperCase();
15915
16067
  };
15916
- const getLocalizedTime = (locale, refParts, hourCycle) => {
16068
+ /**
16069
+ * Including time zone options may lead to the rendered text showing a
16070
+ * different time from what was selected in the Datetime, which could cause
16071
+ * confusion.
16072
+ */
16073
+ const stripTimeZone = (formatOptions) => {
16074
+ return Object.assign(Object.assign({}, formatOptions), {
16075
+ /**
16076
+ * Setting the time zone to UTC ensures that the value shown is always the
16077
+ * same as what was selected and safeguards against older Safari bugs with
16078
+ * Intl.DateTimeFormat.
16079
+ */
16080
+ timeZone: 'UTC',
16081
+ /**
16082
+ * We do not want to display the time zone name
16083
+ */
16084
+ timeZoneName: undefined });
16085
+ };
16086
+ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
15917
16087
  const timeParts = {
15918
16088
  hour: refParts.hour,
15919
16089
  minute: refParts.minute,
@@ -15921,28 +16091,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
15921
16091
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
15922
16092
  return 'Invalid Time';
15923
16093
  }
15924
- return new Intl.DateTimeFormat(locale, {
15925
- hour: 'numeric',
15926
- minute: 'numeric',
15927
- /**
15928
- * Setting the timeZone to UTC prevents
15929
- * new Intl.DatetimeFormat from subtracting
15930
- * the user's current timezone offset
15931
- * when formatting the time.
15932
- */
15933
- timeZone: 'UTC',
16094
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
15934
16095
  /**
15935
16096
  * We use hourCycle here instead of hour12 due to:
15936
16097
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
15937
16098
  */
15938
- hourCycle,
15939
- /**
15940
- * Setting Z at the end indicates that this
15941
- * date string is in the UTC time zone. This
15942
- * prevents new Date from adding the time zone
15943
- * offset when getting the ISO string.
15944
- */
15945
- }).format(new Date(convertDataToISO(Object.assign({
16099
+ hourCycle })).format(new Date(convertDataToISO(Object.assign({
15946
16100
  /**
15947
16101
  * JS uses a simplified ISO 8601 format which allows for
15948
16102
  * date-only formats and date-time formats, but not
@@ -16028,14 +16182,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
16028
16182
  */
16029
16183
  return today ? `Today, ${labelString}` : labelString;
16030
16184
  };
16031
- /**
16032
- * Gets the day of the week, month, and day
16033
- * Used for the header in MD mode.
16034
- */
16035
- const getMonthAndDay = (locale, refParts) => {
16036
- const date = getNormalizedDate(refParts);
16037
- return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
16038
- };
16039
16185
  /**
16040
16186
  * Given a locale and a date object,
16041
16187
  * return a formatted string that includes
@@ -16046,15 +16192,6 @@ const getMonthAndYear = (locale, refParts) => {
16046
16192
  const date = getNormalizedDate(refParts);
16047
16193
  return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
16048
16194
  };
16049
- /**
16050
- * Given a locale and a date object,
16051
- * return a formatted string that includes
16052
- * the short month, numeric day, and full year.
16053
- * Example: Apr 22, 2021
16054
- */
16055
- const getMonthDayAndYear = (locale, refParts) => {
16056
- return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
16057
- };
16058
16195
  /**
16059
16196
  * Given a locale and a date object,
16060
16197
  * return a formatted string that includes
@@ -16104,7 +16241,7 @@ const getNormalizedDate = (refParts) => {
16104
16241
  */
16105
16242
  const getLocalizedDateTime = (locale, refParts, options) => {
16106
16243
  const date = getNormalizedDate(refParts);
16107
- return getDateTimeFormat(locale, options).format(date);
16244
+ return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
16108
16245
  };
16109
16246
  /**
16110
16247
  * Given a locale, DatetimeParts, and options
@@ -16870,6 +17007,48 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
16870
17007
  return undefined;
16871
17008
  };
16872
17009
 
17010
+ /**
17011
+ * If a time zone is provided in the format options, the rendered text could
17012
+ * differ from what was selected in the Datetime, which could cause
17013
+ * confusion.
17014
+ */
17015
+ const warnIfTimeZoneProvided = (el, formatOptions) => {
17016
+ var _a, _b, _c, _d;
17017
+ if (((_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _a === void 0 ? void 0 : _a.timeZone) ||
17018
+ ((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
17019
+ ((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
17020
+ ((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
17021
+ printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
17022
+ }
17023
+ };
17024
+ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
17025
+ // formatOptions is not required
17026
+ if (!formatOptions)
17027
+ return;
17028
+ // If formatOptions is provided, the date and/or time objects are required, depending on the presentation
17029
+ switch (presentation) {
17030
+ case 'date':
17031
+ case 'month-year':
17032
+ case 'month':
17033
+ case 'year':
17034
+ if (formatOptions.date === undefined) {
17035
+ printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
17036
+ }
17037
+ break;
17038
+ case 'time':
17039
+ if (formatOptions.time === undefined) {
17040
+ printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
17041
+ }
17042
+ break;
17043
+ case 'date-time':
17044
+ case 'time-date':
17045
+ if (formatOptions.date === undefined && formatOptions.time === undefined) {
17046
+ printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
17047
+ }
17048
+ break;
17049
+ }
17050
+ };
17051
+
16873
17052
  const datetimeIosCss = "/*!@:host*/.sc-ion-datetime-ios-h{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}/*!@ion-picker-column-internal*/ion-picker-column-internal.sc-ion-datetime-ios{min-width:26px}/*!@:host(.datetime-size-fixed)*/.datetime-size-fixed.sc-ion-datetime-ios-h{width:auto;height:auto}/*!@:host(.datetime-size-fixed:not(.datetime-prefer-wheel))*/.datetime-size-fixed.sc-ion-datetime-ios-h:not(.datetime-prefer-wheel){max-width:350px}/*!@:host(.datetime-size-fixed.datetime-prefer-wheel)*/.datetime-size-fixed.datetime-prefer-wheel.sc-ion-datetime-ios-h{min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}/*!@:host(.datetime-size-cover)*/.datetime-size-cover.sc-ion-datetime-ios-h{width:100%}/*!@:host .calendar-body,\n:host .datetime-year*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios,.sc-ion-datetime-ios-h .datetime-year.sc-ion-datetime-ios{opacity:0}/*!@:host(:not(.datetime-ready)) .datetime-year*/.sc-ion-datetime-ios-h:not(.datetime-ready) .datetime-year.sc-ion-datetime-ios{position:absolute;pointer-events:none}/*!@:host(.datetime-ready) .calendar-body*/.datetime-ready.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios{opacity:1}/*!@:host(.datetime-ready) .datetime-year*/.datetime-ready.sc-ion-datetime-ios-h .datetime-year.sc-ion-datetime-ios{display:none;opacity:1}/*!@:host .wheel-order-year-first .day-column*/.sc-ion-datetime-ios-h .wheel-order-year-first.sc-ion-datetime-ios .day-column.sc-ion-datetime-ios{-ms-flex-order:3;order:3;text-align:end}/*!@:host .wheel-order-year-first .month-column*/.sc-ion-datetime-ios-h .wheel-order-year-first.sc-ion-datetime-ios .month-column.sc-ion-datetime-ios{-ms-flex-order:2;order:2;text-align:end}/*!@:host .wheel-order-year-first .year-column*/.sc-ion-datetime-ios-h .wheel-order-year-first.sc-ion-datetime-ios .year-column.sc-ion-datetime-ios{-ms-flex-order:1;order:1;text-align:start}/*!@:host .datetime-calendar,\n:host .datetime-year*/.sc-ion-datetime-ios-h .datetime-calendar.sc-ion-datetime-ios,.sc-ion-datetime-ios-h .datetime-year.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}/*!@:host(.show-month-and-year) .datetime-year*/.show-month-and-year.sc-ion-datetime-ios-h .datetime-year.sc-ion-datetime-ios{display:-ms-flexbox;display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){/*!@:host(.show-month-and-year) .calendar-next-prev,\n :host(.show-month-and-year) .calendar-days-of-week,\n :host(.show-month-and-year) .calendar-body,\n :host(.show-month-and-year) .datetime-time*/.show-month-and-year.sc-ion-datetime-ios-h .calendar-next-prev.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .calendar-days-of-week.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{position:absolute;visibility:hidden;pointer-events:none}/*!@@supports (inset-inline-start: 0)*/@supports .sc-ion-datetime-ios (inset-inline-start.sc-ion-datetime-ios: 0).sc-ion-datetime-ios{.sc-ion-datetime-ios-h.show-month-and-year .calendar-next-prev,.sc-ion-datetime-ios-h.show-month-and-year .calendar-days-of-week,.sc-ion-datetime-ios-h.show-month-and-year .calendar-body,.sc-ion-datetime-ios-h.show-month-and-year .datetime-time{inset-inline-start:-99999px}}/*!@@supports not (inset-inline-start: 0)*/@supports .sc-ion-datetime-ios not.sc-ion-datetime-ios (inset-inline-start.sc-ion-datetime-ios: 0).sc-ion-datetime-ios{.sc-ion-datetime-ios-h.show-month-and-year .calendar-next-prev,.sc-ion-datetime-ios-h.show-month-and-year .calendar-days-of-week,.sc-ion-datetime-ios-h.show-month-and-year .calendar-body,.sc-ion-datetime-ios-h.show-month-and-year .datetime-time{left:-99999px}.sc-ion-datetime-ios-h[dir=rtl].sc-ion-datetime-ios-h.show-month-and-year .calendar-next-prev,[dir=rtl] .sc-ion-datetime-ios-h.sc-ion-datetime-ios-h.show-month-and-year .calendar-next-prev,.sc-ion-datetime-ios-h[dir=rtl].show-month-and-year .calendar-next-prev,[dir=rtl] .sc-ion-datetime-ios-h.show-month-and-year .calendar-next-prev,.sc-ion-datetime-ios-h[dir=rtl].sc-ion-datetime-ios-h.show-month-and-year .calendar-days-of-week,[dir=rtl] .sc-ion-datetime-ios-h.sc-ion-datetime-ios-h.show-month-and-year .calendar-days-of-week,.sc-ion-datetime-ios-h[dir=rtl].show-month-and-year .calendar-days-of-week,[dir=rtl] .sc-ion-datetime-ios-h.show-month-and-year .calendar-days-of-week,.sc-ion-datetime-ios-h[dir=rtl].sc-ion-datetime-ios-h.show-month-and-year .calendar-body,[dir=rtl] .sc-ion-datetime-ios-h.sc-ion-datetime-ios-h.show-month-and-year .calendar-body,.sc-ion-datetime-ios-h[dir=rtl].show-month-and-year .calendar-body,[dir=rtl] .sc-ion-datetime-ios-h.show-month-and-year .calendar-body,.sc-ion-datetime-ios-h[dir=rtl].sc-ion-datetime-ios-h.show-month-and-year .datetime-time,[dir=rtl] .sc-ion-datetime-ios-h.sc-ion-datetime-ios-h.show-month-and-year .datetime-time,.sc-ion-datetime-ios-h[dir=rtl].show-month-and-year .datetime-time,[dir=rtl] .sc-ion-datetime-ios-h.show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}@supports selector(:dir(rtl)){.sc-ion-datetime-ios-h.show-month-and-year:dir(rtl) .calendar-next-prev,.sc-ion-datetime-ios-h.show-month-and-year:dir(rtl) .calendar-days-of-week,.sc-ion-datetime-ios-h.show-month-and-year:dir(rtl) .calendar-body,.sc-ion-datetime-ios-h.show-month-and-year:dir(rtl) .datetime-time{left:unset;right:unset;right:-99999px}}}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){/*!@:host(.show-month-and-year) .calendar-next-prev,\n :host(.show-month-and-year) .calendar-days-of-week,\n :host(.show-month-and-year) .calendar-body,\n :host(.show-month-and-year) .datetime-time*/.show-month-and-year.sc-ion-datetime-ios-h .calendar-next-prev.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .calendar-days-of-week.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios,.show-month-and-year.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{display:none}}/*!@:host(.month-year-picker-open) .datetime-footer*/.month-year-picker-open.sc-ion-datetime-ios-h .datetime-footer.sc-ion-datetime-ios{display:none}/*!@:host(.datetime-disabled)*/.datetime-disabled.sc-ion-datetime-ios-h{pointer-events:none}/*!@:host(.datetime-disabled) .calendar-days-of-week,\n:host(.datetime-disabled) .datetime-time*/.datetime-disabled.sc-ion-datetime-ios-h .calendar-days-of-week.sc-ion-datetime-ios,.datetime-disabled.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{opacity:0.4}/*!@:host(.datetime-readonly)*/.datetime-readonly.sc-ion-datetime-ios-h{pointer-events:none}/*!@:host(.datetime-readonly) .calendar-action-buttons,\n:host(.datetime-readonly) .calendar-body,\n:host(.datetime-readonly) .datetime-year*/.datetime-readonly.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios,.datetime-readonly.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios,.datetime-readonly.sc-ion-datetime-ios-h .datetime-year.sc-ion-datetime-ios{pointer-events:initial}/*!@:host(.datetime-readonly) .calendar-day[disabled]:not(.calendar-day-constrained),\n:host(.datetime-readonly) .datetime-action-buttons ion-button[disabled]*/.datetime-readonly.sc-ion-datetime-ios-h .calendar-day[disabled].sc-ion-datetime-ios:not(.calendar-day-constrained),.datetime-readonly.sc-ion-datetime-ios-h .datetime-action-buttons.sc-ion-datetime-ios ion-button[disabled].sc-ion-datetime-ios{opacity:1}/*!@:host .datetime-header .datetime-title*/.sc-ion-datetime-ios-h .datetime-header.sc-ion-datetime-ios .datetime-title.sc-ion-datetime-ios{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}/*!@:host .datetime-action-buttons.has-clear-button*/.sc-ion-datetime-ios-h .datetime-action-buttons.has-clear-button.sc-ion-datetime-ios{width:100%}/*!@:host .datetime-action-buttons ion-buttons*/.sc-ion-datetime-ios-h .datetime-action-buttons.sc-ion-datetime-ios ion-buttons.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}/*!@.datetime-action-buttons .datetime-action-buttons-container*/.datetime-action-buttons.sc-ion-datetime-ios .datetime-action-buttons-container.sc-ion-datetime-ios{display:-ms-flexbox;display:flex}/*!@:host .calendar-action-buttons*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}/*!@:host .calendar-action-buttons ion-item,\n:host .calendar-action-buttons ion-button*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios,.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-button.sc-ion-datetime-ios{--background:translucent}/*!@:host .calendar-action-buttons ion-item ion-label*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios ion-label.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:auto}/*!@:host .calendar-action-buttons ion-item ion-icon*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios ion-icon.sc-ion-datetime-ios{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}/*!@:host .calendar-days-of-week*/.sc-ion-datetime-ios-h .calendar-days-of-week.sc-ion-datetime-ios{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}/*!@.calendar-days-of-week .day-of-week*/.calendar-days-of-week.sc-ion-datetime-ios .day-of-week.sc-ion-datetime-ios{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}/*!@:host .calendar-body*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}/*!@:host .calendar-body .calendar-month*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios .calendar-month.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}/*!@:host .calendar-body .calendar-month-disabled*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios .calendar-month-disabled.sc-ion-datetime-ios{scroll-snap-align:none}/*!@:host .calendar-body::-webkit-scrollbar*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios::-webkit-scrollbar{display:none}/*!@:host .calendar-body .calendar-month-grid*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios .calendar-month-grid.sc-ion-datetime-ios{display:grid;grid-template-columns:repeat(7, 1fr)}/*!@:host .calendar-day-wrapper*/.sc-ion-datetime-ios-h .calendar-day-wrapper.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:0;min-height:0;overflow:visible}/*!@.calendar-day*/.calendar-day.sc-ion-datetime-ios{border-radius:50%;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}/*!@:host .calendar-day[disabled]*/.sc-ion-datetime-ios-h .calendar-day[disabled].sc-ion-datetime-ios{pointer-events:none;opacity:0.4}/*!@.calendar-day:focus*/.calendar-day.sc-ion-datetime-ios:focus{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}/*!@:host .datetime-time*/.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}/*!@:host(.datetime-presentation-time) .datetime-time*/.datetime-presentation-time.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}/*!@:host ion-popover*/.sc-ion-datetime-ios-h ion-popover.sc-ion-datetime-ios{--height:200px}/*!@:host .time-header*/.sc-ion-datetime-ios-h .time-header.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}/*!@:host .time-body*/.sc-ion-datetime-ios-h .time-body.sc-ion-datetime-ios{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}/*!@:host .time-body-active*/.sc-ion-datetime-ios-h .time-body-active.sc-ion-datetime-ios{color:var(--ion-color-base)}/*!@:host(.in-item)*/.in-item.sc-ion-datetime-ios-h{position:static}/*!@:host(.show-month-and-year) .calendar-action-buttons ion-item*/.show-month-and-year.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios{--color:var(--ion-color-base)}/*!@:host*/.sc-ion-datetime-ios-h{--background:var(--ion-color-light, #ffffff);--background-rgb:var(--ion-color-light-rgb);--title-color:var(--ion-color-step-600, #666666)}/*!@:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),\n:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),\n:host(.datetime-presentation-date:not(.datetime-prefer-wheel))*/.datetime-presentation-date-time.sc-ion-datetime-ios-h:not(.datetime-prefer-wheel),.datetime-presentation-time-date.sc-ion-datetime-ios-h:not(.datetime-prefer-wheel),.datetime-presentation-date.sc-ion-datetime-ios-h:not(.datetime-prefer-wheel){min-height:350px}/*!@:host .datetime-header*/.sc-ion-datetime-ios-h .datetime-header.sc-ion-datetime-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:min(0.875rem, 22.4px)}/*!@:host .datetime-header .datetime-title*/.sc-ion-datetime-ios-h .datetime-header.sc-ion-datetime-ios .datetime-title.sc-ion-datetime-ios{color:var(--title-color)}/*!@:host .datetime-header .datetime-selected-date*/.sc-ion-datetime-ios-h .datetime-header.sc-ion-datetime-ios .datetime-selected-date.sc-ion-datetime-ios{margin-top:10px}/*!@:host .calendar-action-buttons ion-item*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios{--padding-start:16px;--background-hover:transparent;--background-activated:transparent;font-size:min(1rem, 25.6px);font-weight:600}/*!@:host .calendar-action-buttons ion-item ion-icon,\n:host .calendar-action-buttons ion-buttons ion-button*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-item.sc-ion-datetime-ios ion-icon.sc-ion-datetime-ios,.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-buttons.sc-ion-datetime-ios ion-button.sc-ion-datetime-ios{color:var(--ion-color-base)}/*!@:host .calendar-action-buttons ion-buttons*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-buttons.sc-ion-datetime-ios{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}/*!@:host .calendar-action-buttons ion-buttons ion-button*/.sc-ion-datetime-ios-h .calendar-action-buttons.sc-ion-datetime-ios ion-buttons.sc-ion-datetime-ios ion-button.sc-ion-datetime-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}/*!@:host .calendar-days-of-week*/.sc-ion-datetime-ios-h .calendar-days-of-week.sc-ion-datetime-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, #b3b3b3);font-size:min(0.75rem, 19.2px);font-weight:600;line-height:24px;text-transform:uppercase}@supports (border-radius: mod(1px, 1px)){/*!@.calendar-days-of-week .day-of-week*/.calendar-days-of-week.sc-ion-datetime-ios .day-of-week.sc-ion-datetime-ios{width:clamp(20px, calc(mod(min(1rem, 24px), 24px) * 10), 100%);height:24px;overflow:hidden}/*!@.calendar-day*/.calendar-day.sc-ion-datetime-ios{border-radius:max(8px, mod(min(1rem, 24px), 24px) * 10)}}@supports ((border-radius: mod(1px, 1px)) and (background: -webkit-named-image(apple-pay-logo-black)) and (not (contain-intrinsic-size: none))) or (not (border-radius: mod(1px, 1px))){/*!@.calendar-days-of-week .day-of-week*/.calendar-days-of-week.sc-ion-datetime-ios .day-of-week.sc-ion-datetime-ios{width:auto;height:auto;overflow:initial}/*!@.calendar-day*/.calendar-day.sc-ion-datetime-ios{border-radius:32px}}/*!@:host .calendar-body .calendar-month .calendar-month-grid*/.sc-ion-datetime-ios-h .calendar-body.sc-ion-datetime-ios .calendar-month.sc-ion-datetime-ios .calendar-month-grid.sc-ion-datetime-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;-ms-flex-align:center;align-items:center;height:calc(100% - 16px)}/*!@:host .calendar-day-wrapper*/.sc-ion-datetime-ios-h .calendar-day-wrapper.sc-ion-datetime-ios{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;height:0;min-height:1rem}/*!@:host .calendar-day*/.sc-ion-datetime-ios-h .calendar-day.sc-ion-datetime-ios{width:40px;min-width:40px;height:40px;font-size:min(1.25rem, 32px)}/*!@.calendar-day.calendar-day-active*/.calendar-day.calendar-day-active.sc-ion-datetime-ios{background:rgba(var(--ion-color-base-rgb), 0.2)}/*!@:host .calendar-day.calendar-day-today*/.sc-ion-datetime-ios-h .calendar-day.calendar-day-today.sc-ion-datetime-ios{color:var(--ion-color-base)}/*!@:host .calendar-day.calendar-day-active*/.sc-ion-datetime-ios-h .calendar-day.calendar-day-active.sc-ion-datetime-ios{color:var(--ion-color-base);font-weight:600}/*!@:host .calendar-day.calendar-day-today.calendar-day-active*/.sc-ion-datetime-ios-h .calendar-day.calendar-day-today.calendar-day-active.sc-ion-datetime-ios{background:var(--ion-color-base);color:var(--ion-color-contrast)}/*!@:host .datetime-time*/.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:min(1rem, 25.6px)}/*!@:host .datetime-time .time-header*/.sc-ion-datetime-ios-h .datetime-time.sc-ion-datetime-ios .time-header.sc-ion-datetime-ios{font-weight:600}/*!@:host .datetime-buttons*/.sc-ion-datetime-ios-h .datetime-buttons.sc-ion-datetime-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}/*!@:host .datetime-buttons ::slotted(ion-buttons),\n:host .datetime-buttons ion-buttons*/.sc-ion-datetime-ios-h .datetime-buttons .sc-ion-datetime-ios-s>ion-buttons,.sc-ion-datetime-ios-h .datetime-buttons.sc-ion-datetime-ios ion-buttons.sc-ion-datetime-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}/*!@:host .datetime-action-buttons*/.sc-ion-datetime-ios-h .datetime-action-buttons.sc-ion-datetime-ios{width:100%}";
16874
17053
  var IonDatetimeIosStyle0 = datetimeIosCss;
16875
17054
 
@@ -17518,6 +17697,7 @@ class Datetime {
17518
17697
  this.color = 'primary';
17519
17698
  this.name = this.inputId;
17520
17699
  this.disabled = false;
17700
+ this.formatOptions = undefined;
17521
17701
  this.readonly = false;
17522
17702
  this.isDateEnabled = undefined;
17523
17703
  this.min = undefined;
@@ -17545,6 +17725,11 @@ class Datetime {
17545
17725
  this.size = 'fixed';
17546
17726
  this.preferWheel = false;
17547
17727
  }
17728
+ formatOptionsChanged() {
17729
+ const { el, formatOptions, presentation } = this;
17730
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
17731
+ warnIfTimeZoneProvided(el, formatOptions);
17732
+ }
17548
17733
  disabledChanged() {
17549
17734
  this.emitStyle();
17550
17735
  }
@@ -17554,6 +17739,10 @@ class Datetime {
17554
17739
  maxChanged() {
17555
17740
  this.processMaxParts();
17556
17741
  }
17742
+ presentationChanged() {
17743
+ const { el, formatOptions, presentation } = this;
17744
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
17745
+ }
17557
17746
  get isGridStyle() {
17558
17747
  const { presentation, preferWheel } = this;
17559
17748
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
@@ -17656,6 +17845,7 @@ class Datetime {
17656
17845
  this.initializeKeyboardListeners();
17657
17846
  }
17658
17847
  componentDidLoad() {
17848
+ const { el, intersectionTrackerRef } = this;
17659
17849
  /**
17660
17850
  * If a scrollable element is hidden using `display: none`,
17661
17851
  * it will not have a scroll height meaning we cannot scroll elements
@@ -17681,14 +17871,14 @@ class Datetime {
17681
17871
  this.el.classList.add('datetime-ready');
17682
17872
  });
17683
17873
  };
17684
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01 });
17874
+ const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
17685
17875
  /**
17686
17876
  * Use raf to avoid a race condition between the component loading and
17687
17877
  * its display animation starting (such as when shown in a modal). This
17688
17878
  * could cause the datetime to start at a visibility of 0, erroneously
17689
17879
  * triggering the `hiddenIO` observer below.
17690
17880
  */
17691
- raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(this.el));
17881
+ raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
17692
17882
  /**
17693
17883
  * We need to clean up listeners when the datetime is hidden
17694
17884
  * in a popover/modal so that we can properly scroll containers
@@ -17714,8 +17904,8 @@ class Datetime {
17714
17904
  this.el.classList.remove('datetime-ready');
17715
17905
  });
17716
17906
  };
17717
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0 });
17718
- raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(this.el));
17907
+ const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
17908
+ raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
17719
17909
  /**
17720
17910
  * Datetime uses Ionic components that emit
17721
17911
  * ionFocus and ionBlur. These events are
@@ -17789,7 +17979,7 @@ class Datetime {
17789
17979
  });
17790
17980
  }
17791
17981
  componentWillLoad() {
17792
- const { el, highlightedDates, multiple, presentation, preferWheel } = this;
17982
+ const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
17793
17983
  if (multiple) {
17794
17984
  if (presentation !== 'date') {
17795
17985
  printIonWarning('Multiple date selection is only supported for presentation="date".', el);
@@ -17806,6 +17996,10 @@ class Datetime {
17806
17996
  printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
17807
17997
  }
17808
17998
  }
17999
+ if (formatOptions) {
18000
+ checkForPresentationFormatMismatch(el, presentation, formatOptions);
18001
+ warnIfTimeZoneProvided(el, formatOptions);
18002
+ }
17809
18003
  const hourValues = (this.parsedHourValues = convertToArrayOfNumbers(this.hourValues));
17810
18004
  const minuteValues = (this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues));
17811
18005
  const monthValues = (this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues));
@@ -18313,7 +18507,7 @@ class Datetime {
18313
18507
  return hAsync("slot", { name: "time-label" }, "Time");
18314
18508
  }
18315
18509
  renderTimeOverlay() {
18316
- const { disabled, hourCycle, isTimePopoverOpen, locale } = this;
18510
+ const { disabled, hourCycle, isTimePopoverOpen, locale, formatOptions } = this;
18317
18511
  const computedHourCycle = getHourCycle(locale, hourCycle);
18318
18512
  const activePart = this.getActivePartsWithFallback();
18319
18513
  return [
@@ -18333,7 +18527,7 @@ class Datetime {
18333
18527
  await popoverRef.onWillDismiss();
18334
18528
  this.isTimePopoverOpen = false;
18335
18529
  }
18336
- } }, getLocalizedTime(locale, activePart, computedHourCycle)),
18530
+ } }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
18337
18531
  hAsync("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
18338
18532
  /**
18339
18533
  * Intersection Observers do not consistently fire between Blink and Webkit
@@ -18356,7 +18550,8 @@ class Datetime {
18356
18550
  ];
18357
18551
  }
18358
18552
  getHeaderSelectedDateText() {
18359
- const { activeParts, multiple, titleSelectedDatesFormatter } = this;
18553
+ var _a;
18554
+ const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
18360
18555
  const isArray = Array.isArray(activeParts);
18361
18556
  let headerText;
18362
18557
  if (multiple && isArray && activeParts.length !== 1) {
@@ -18372,7 +18567,7 @@ class Datetime {
18372
18567
  }
18373
18568
  else {
18374
18569
  // for exactly 1 day selected (multiple set or not), show a formatted version of that
18375
- headerText = getMonthAndDay(this.locale, this.getActivePartsWithFallback());
18570
+ headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { weekday: 'short', month: 'short', day: 'numeric' });
18376
18571
  }
18377
18572
  return headerText;
18378
18573
  }
@@ -18461,7 +18656,7 @@ class Datetime {
18461
18656
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
18462
18657
  const hasWheelVariant = hasDatePresentation && preferWheel;
18463
18658
  renderHiddenInput(true, el, name, formatValue(value), disabled);
18464
- return (hAsync(Host, { key: 'b00545b7bbba3ccf35d53c1eec4f1614fb830c11', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
18659
+ return (hAsync(Host, { key: '8490192beb6c5c6064ed8f2a7be2d51846f84f36', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
18465
18660
  [mode]: true,
18466
18661
  ['datetime-readonly']: readonly,
18467
18662
  ['datetime-disabled']: disabled,
@@ -18471,13 +18666,15 @@ class Datetime {
18471
18666
  [`datetime-size-${size}`]: true,
18472
18667
  [`datetime-prefer-wheel`]: hasWheelVariant,
18473
18668
  [`datetime-grid`]: isGridStyle,
18474
- })) }, this.renderDatetime(mode)));
18669
+ })) }, hAsync("div", { key: 'a2959c07ed871f9004a2f11ab1385a5a7b5737fd', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
18475
18670
  }
18476
18671
  get el() { return getElement(this); }
18477
18672
  static get watchers() { return {
18673
+ "formatOptions": ["formatOptionsChanged"],
18478
18674
  "disabled": ["disabledChanged"],
18479
18675
  "min": ["minChanged"],
18480
18676
  "max": ["maxChanged"],
18677
+ "presentation": ["presentationChanged"],
18481
18678
  "yearValues": ["yearValuesChanged"],
18482
18679
  "monthValues": ["monthValuesChanged"],
18483
18680
  "dayValues": ["dayValuesChanged"],
@@ -18496,6 +18693,7 @@ class Datetime {
18496
18693
  "color": [1],
18497
18694
  "name": [1],
18498
18695
  "disabled": [4],
18696
+ "formatOptions": [16],
18499
18697
  "readonly": [4],
18500
18698
  "isDateEnabled": [16],
18501
18699
  "min": [1025],
@@ -18578,11 +18776,12 @@ class DatetimeButton {
18578
18776
  * to the locale specified on ion-datetime.
18579
18777
  */
18580
18778
  this.setDateTimeText = () => {
18779
+ var _a, _b, _c, _d, _e;
18581
18780
  const { datetimeEl, datetimePresentation } = this;
18582
18781
  if (!datetimeEl) {
18583
18782
  return;
18584
18783
  }
18585
- const { value, locale, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
18784
+ const { value, locale, formatOptions, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
18586
18785
  const parsedValues = this.getParsedDateValues(value);
18587
18786
  /**
18588
18787
  * Both ion-datetime and ion-datetime-button default
@@ -18605,8 +18804,8 @@ class DatetimeButton {
18605
18804
  switch (datetimePresentation) {
18606
18805
  case 'date-time':
18607
18806
  case 'time-date':
18608
- const dateText = getMonthDayAndYear(locale, firstParsedDatetime);
18609
- const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
18807
+ const dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { month: 'short', day: 'numeric', year: 'numeric' });
18808
+ const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
18610
18809
  if (preferWheel) {
18611
18810
  this.dateText = `${dateText} ${timeText}`;
18612
18811
  }
@@ -18629,20 +18828,20 @@ class DatetimeButton {
18629
18828
  this.dateText = headerText;
18630
18829
  }
18631
18830
  else {
18632
- this.dateText = getMonthDayAndYear(locale, firstParsedDatetime);
18831
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _b !== void 0 ? _b : { month: 'short', day: 'numeric', year: 'numeric' });
18633
18832
  }
18634
18833
  break;
18635
18834
  case 'time':
18636
- this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
18835
+ this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
18637
18836
  break;
18638
18837
  case 'month-year':
18639
- this.dateText = getMonthAndYear(locale, firstParsedDatetime);
18838
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _c !== void 0 ? _c : { month: 'long', year: 'numeric' });
18640
18839
  break;
18641
18840
  case 'month':
18642
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { month: 'long' });
18841
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _d !== void 0 ? _d : { month: 'long' });
18643
18842
  break;
18644
18843
  case 'year':
18645
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { year: 'numeric' });
18844
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_e = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _e !== void 0 ? _e : { year: 'numeric' });
18646
18845
  break;
18647
18846
  }
18648
18847
  };
@@ -18871,11 +19070,11 @@ class DatetimeButton {
18871
19070
  render() {
18872
19071
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
18873
19072
  const mode = getIonMode$1(this);
18874
- return (hAsync(Host, { key: '36fe34d4225940611d74bdef5b954d54749d2dca', class: createColorClasses$1(color, {
19073
+ return (hAsync(Host, { key: 'ab6c21a4c185dee71c8f14cafad82e38831c68d0', class: createColorClasses$1(color, {
18875
19074
  [mode]: true,
18876
19075
  [`${selectedButton}-active`]: datetimeActive,
18877
19076
  ['datetime-button-disabled']: disabled,
18878
- }) }, dateText && (hAsync("button", { class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", null))), timeText && (hAsync("button", { class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", null)))));
19077
+ }) }, dateText && (hAsync("button", { key: 'cbda6f3386c3714567a04b5a97a96c71d59822c8', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: 'a00ff431512827bfef8c02982ef37099b2f21508', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '67935989628a2ed0492edb813fb0475bfd88abe7' }))), timeText && (hAsync("button", { key: '4207c94de5bece91b8388332e0192d1756403e62', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '9ffa7ef4417571933bd1757950ec805c49704759', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: 'fbcad00cf828c9719074d1d06f4e13246b28903e' })))));
18879
19078
  }
18880
19079
  get el() { return getElement(this); }
18881
19080
  static get style() { return {
@@ -18949,12 +19148,12 @@ class Fab {
18949
19148
  render() {
18950
19149
  const { horizontal, vertical, edge } = this;
18951
19150
  const mode = getIonMode$1(this);
18952
- return (hAsync(Host, { key: 'eb7470763cfaadd229036fe4e04913cb4a0551c7', class: {
19151
+ return (hAsync(Host, { key: '71df1068c3a2739a69d3571c2fe9bdf401a252cb', class: {
18953
19152
  [mode]: true,
18954
19153
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
18955
19154
  [`fab-vertical-${vertical}`]: vertical !== undefined,
18956
19155
  'fab-edge': edge,
18957
- } }, hAsync("slot", { key: 'daf53f8c644db866f69d41401dba7a2791c37ac3' })));
19156
+ } }, hAsync("slot", { key: 'c3afd4a009d355d664f8c04057acf86196bda844' })));
18958
19157
  }
18959
19158
  get el() { return getElement(this); }
18960
19159
  static get watchers() { return {
@@ -19044,7 +19243,7 @@ class FabButton {
19044
19243
  rel: this.rel,
19045
19244
  target: this.target,
19046
19245
  };
19047
- return (hAsync(Host, { key: '78f11aaac39bf0fcb25b64885ee61619223e4241', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
19246
+ return (hAsync(Host, { key: '5b5e73a0236eabb3e994f0f33ee9ab6f75a12b24', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
19048
19247
  [mode]: true,
19049
19248
  'fab-button-in-list': inList,
19050
19249
  'fab-button-translucent-in-list': inList && translucent,
@@ -19055,7 +19254,7 @@ class FabButton {
19055
19254
  'ion-activatable': true,
19056
19255
  'ion-focusable': true,
19057
19256
  [`fab-button-${size}`]: size !== undefined,
19058
- }) }, hAsync(TagType, Object.assign({ key: 'a29b5eff122006d463ef3e10e1abe8378de07dc5' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: 'e554c978fd9825eec9ca958f5b481f662ed6daa4', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: 'd7dd93e93343767d223800899f0fd4c405845023', class: "button-inner" }, hAsync("slot", { key: 'dd5df0945385480e7551e24117d136cd6b231638' })), mode === 'md' && hAsync("ion-ripple-effect", null))));
19257
+ }) }, hAsync(TagType, Object.assign({ key: 'e3c85ff305b6790519543603401b85f294aabed1' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), hAsync("ion-icon", { key: '39241f9fa051506717c8680e1b809dbf2e56f1a1', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), hAsync("span", { key: '03f0ec1c25352f3a5decb33ebc060b9043ab569e', class: "button-inner" }, hAsync("slot", { key: '11c1a17bc0c54b840a96b96e03fffc23f0e64ff2' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '9b1642dba0beb3a22658ad0aead26b2ab57f0367' }))));
19059
19258
  }
19060
19259
  get el() { return getElement(this); }
19061
19260
  static get style() { return {
@@ -19106,11 +19305,11 @@ class FabList {
19106
19305
  }
19107
19306
  render() {
19108
19307
  const mode = getIonMode$1(this);
19109
- return (hAsync(Host, { key: 'c786680f9868700913a182f908f25a612ec08498', class: {
19308
+ return (hAsync(Host, { key: '3de1b0db4eb0230d4d2954e4265ddeb3c930b4dc', class: {
19110
19309
  [mode]: true,
19111
19310
  'fab-list-active': this.activated,
19112
19311
  [`fab-list-side-${this.side}`]: true,
19113
- } }, hAsync("slot", { key: '547f8cb69ab2371095e3deeef1dc13fc1053bdf6' })));
19312
+ } }, hAsync("slot", { key: '970aac2239ad9ea2b6b6c3c3ea45a18c45b37df2' })));
19114
19313
  }
19115
19314
  get el() { return getElement(this); }
19116
19315
  static get watchers() { return {
@@ -19562,7 +19761,7 @@ class Footer {
19562
19761
  const mode = getIonMode$1(this);
19563
19762
  const tabs = this.el.closest('ion-tabs');
19564
19763
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
19565
- return (hAsync(Host, { key: '550b8b8fb614e541e1d369fc1ac5ba1f083913b4', role: "contentinfo", class: {
19764
+ return (hAsync(Host, { key: 'dd8fa96901e8a09759a9621b6513f0492b3a6197', role: "contentinfo", class: {
19566
19765
  [mode]: true,
19567
19766
  // Used internally for styling
19568
19767
  [`footer-${mode}`]: true,
@@ -19570,7 +19769,7 @@ class Footer {
19570
19769
  [`footer-translucent-${mode}`]: translucent,
19571
19770
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
19572
19771
  [`footer-collapse-${collapse}`]: collapse !== undefined,
19573
- } }, mode === 'ios' && translucent && hAsync("div", { class: "footer-background" }), hAsync("slot", { key: 'd25187ecc2ce7848ba882af078cb634e9d5e8814' })));
19772
+ } }, mode === 'ios' && translucent && hAsync("div", { key: '0fbb4ebf8e3951ff399f843dc11aab37fc48f8b7', class: "footer-background" }), hAsync("slot", { key: 'ecb14a65e3b6960670446c4428e3095b3231a3b0' })));
19574
19773
  }
19575
19774
  get el() { return getElement(this); }
19576
19775
  static get style() { return {
@@ -19601,10 +19800,10 @@ class Grid {
19601
19800
  }
19602
19801
  render() {
19603
19802
  const mode = getIonMode$1(this);
19604
- return (hAsync(Host, { key: '03a8975bb9320192033219fc9e06fe7afa4fae4a', class: {
19803
+ return (hAsync(Host, { key: 'a1c2ff77f97761c2bbcd869b2cc7b1558032b406', class: {
19605
19804
  [mode]: true,
19606
19805
  'grid-fixed': this.fixed,
19607
- } }, hAsync("slot", { key: '8d95abb4614e73a46a274668c13fe7c7f011c537' })));
19806
+ } }, hAsync("slot", { key: 'cd25166436cf3a63a11ad436a9b9c5a607e72600' })));
19608
19807
  }
19609
19808
  static get style() { return IonGridStyle0; }
19610
19809
  static get cmpMeta() { return {
@@ -19795,7 +19994,7 @@ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
19795
19994
  });
19796
19995
  };
19797
19996
 
19798
- const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header:not(.header-collapse-main):has(~ion-content ion-header[collapse=condense],~ion-content ion-header.header-collapse-condense){opacity:0}";
19997
+ const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}";
19799
19998
  var IonHeaderIosStyle0 = headerIosCss;
19800
19999
 
19801
20000
  const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
@@ -19935,14 +20134,14 @@ class Header {
19935
20134
  const collapse = this.collapse || 'none';
19936
20135
  // banner role must be at top level, so remove role if inside a menu
19937
20136
  const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
19938
- return (hAsync(Host, Object.assign({ key: 'a33e7e1818cb4718ae36b8bcfa811c4138b85fac', role: roleType, class: {
20137
+ return (hAsync(Host, Object.assign({ key: '9fa0af97b605f9fe98b13361bc3d1289745c549f', role: roleType, class: {
19939
20138
  [mode]: true,
19940
20139
  // Used internally for styling
19941
20140
  [`header-${mode}`]: true,
19942
20141
  [`header-translucent`]: this.translucent,
19943
20142
  [`header-collapse-${collapse}`]: true,
19944
20143
  [`header-translucent-${mode}`]: this.translucent,
19945
- } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { class: "header-background" }), hAsync("slot", { key: '7e2fa75034f7422a3dc5691e9b3c25393e16c0ca' })));
20144
+ } }, inheritedAttributes), mode === 'ios' && translucent && hAsync("div", { key: '1a780d2625302f2465718e304bdd3794c89c9845', class: "header-background" }), hAsync("slot", { key: 'b2b8557b44be40c590bfcc362ac4350f9f8b889e' })));
19946
20145
  }
19947
20146
  get el() { return getElement(this); }
19948
20147
  static get style() { return {
@@ -20221,7 +20420,7 @@ class Img {
20221
20420
  render() {
20222
20421
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
20223
20422
  const { draggable } = inheritedAttributes;
20224
- return (hAsync(Host, { key: '1983ddd575d8f870f249d37a3897dbcc110bf4d7', class: getIonMode$1(this) }, hAsync("img", { key: 'f2ba013804f6ed9e5dadb08c75e47c0f844e67f3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20423
+ return (hAsync(Host, { key: 'efff4d1bd0e54dbeff140c137eb50b803a9f6f60', class: getIonMode$1(this) }, hAsync("img", { key: '3a1e0276ae67a7e40ec8c4ecd0061634573b2094', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
20225
20424
  }
20226
20425
  get el() { return getElement(this); }
20227
20426
  static get watchers() { return {
@@ -20428,7 +20627,7 @@ class InfiniteScroll {
20428
20627
  render() {
20429
20628
  const mode = getIonMode$1(this);
20430
20629
  const disabled = this.disabled;
20431
- return (hAsync(Host, { key: '8b5da92c7a1c118cd6c6a6be8f21b11b79f166bd', class: {
20630
+ return (hAsync(Host, { key: 'c2248d06232dd7771dd155693ec75f9258dc969e', class: {
20432
20631
  [mode]: true,
20433
20632
  'infinite-scroll-loading': this.isLoading,
20434
20633
  'infinite-scroll-enabled': !disabled,
@@ -20484,11 +20683,11 @@ class InfiniteScrollContent {
20484
20683
  }
20485
20684
  render() {
20486
20685
  const mode = getIonMode$1(this);
20487
- return (hAsync(Host, { key: '8ffd8ff4c951be0c2b1f48fd4be3a2d7765a989f', class: {
20686
+ return (hAsync(Host, { key: '2f4afb07bcfe3e12528eb9cee8646a097e0b359f', class: {
20488
20687
  [mode]: true,
20489
20688
  // Used internally for styling
20490
20689
  [`infinite-scroll-content-${mode}`]: true,
20491
- } }, hAsync("div", { key: 'd7d03485501b5e2fde7c132309bb6358818eb0cd', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { class: "infinite-loading-spinner" }, hAsync("ion-spinner", { name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
20690
+ } }, hAsync("div", { key: 'af038177bf10c88c8970682487a4328689aaa5f2', class: "infinite-loading" }, this.loadingSpinner && (hAsync("div", { key: '1da5d419bc6a978b6a509fdab47dae347fc8d221', class: "infinite-loading-spinner" }, hAsync("ion-spinner", { key: '60cc5c64e0a317ac0005d5afe42c4bb8da58136f', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
20492
20691
  }
20493
20692
  static get style() { return {
20494
20693
  ios: IonInfiniteScrollContentIosStyle0,
@@ -21055,6 +21254,14 @@ class Input {
21055
21254
  * button is activated.
21056
21255
  */
21057
21256
  ev.preventDefault();
21257
+ }, onFocusin: (ev) => {
21258
+ /**
21259
+ * Prevent the focusin event from bubbling otherwise it will cause the focusin
21260
+ * event listener in scroll assist to fire. When this fires, focus will be moved
21261
+ * back to the input even if the clear button was never tapped. This poses issues
21262
+ * for screen readers as it means users would be unable to swipe past the clear button.
21263
+ */
21264
+ ev.stopPropagation();
21058
21265
  }, onClick: this.clearTextInput }, hAsync("ion-icon", { "aria-hidden": "true", icon: mode === 'ios' ? closeCircle : closeSharp }))), hAsync("slot", { name: "end" })), shouldRenderHighlight && hAsync("div", { class: "input-highlight" })), this.renderBottomContent()));
21059
21266
  }
21060
21267
  // TODO FW-2764 Remove this
@@ -21431,7 +21638,7 @@ class Item {
21431
21638
  'ion-activatable': canActivate,
21432
21639
  'ion-focusable': this.focusable,
21433
21640
  'item-rtl': document.dir === 'rtl',
21434
- })), role: inList ? 'listitem' : null }, hAsync(TagType, Object.assign({ key: '1f9e61b627fc94d646cccbfd8be24df745080c2c' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), hAsync("slot", { key: '6690445e14e6f0614beae23b6cc2a2b9cd668934', name: "start" }), hAsync("div", { key: 'cc36ee6ad3f3c04b7fe907f7c63e81fa43938b28', class: "item-inner" }, hAsync("div", { key: '502eff7a3d237fa5658e505b3d2f74cdfdef16af', class: "input-wrapper" }, hAsync("slot", { key: '750d23dcab6844acb92c9636f21dff04c91d2b22' })), hAsync("slot", { key: 'ed16f6bce4ea5a76a181597b879f9bb55c909612', name: "end" }), showDetail && (hAsync("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), hAsync("div", { key: '29f89d1996f99a0d600c710e1b4bcd6975db7caf', class: "item-inner-highlight" })), canActivate && mode === 'md' && hAsync("ion-ripple-effect", null), hAsync("div", { key: '111ccb2ab79b9975d6f66714866ff4cc20a7b4da', class: "item-highlight" })), hAsync("div", { key: 'd2ea55be7686ffdd95f0b53d7e8e386983cd0c8e', class: "item-bottom" }, hAsync("slot", { key: '20adbe497dd62b23a169a5194947513a32f5c3a0', name: "error" }), hAsync("slot", { key: '52587f1f2b9056e76ad9be8ccd7754cbeaefdc71', name: "helper" }), counterString && hAsync("ion-note", { class: "item-counter" }, counterString))));
21641
+ })), role: inList ? 'listitem' : null }, hAsync(TagType, Object.assign({ key: '1f9e61b627fc94d646cccbfd8be24df745080c2c' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), hAsync("slot", { key: '6690445e14e6f0614beae23b6cc2a2b9cd668934', name: "start" }), hAsync("div", { key: 'cc36ee6ad3f3c04b7fe907f7c63e81fa43938b28', class: "item-inner" }, hAsync("div", { key: '502eff7a3d237fa5658e505b3d2f74cdfdef16af', class: "input-wrapper" }, hAsync("slot", { key: '750d23dcab6844acb92c9636f21dff04c91d2b22' })), hAsync("slot", { key: 'ed16f6bce4ea5a76a181597b879f9bb55c909612', name: "end" }), showDetail && (hAsync("ion-icon", { key: '95f5b05d1e409dbb7637f68313898d01a7321a15', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward })), hAsync("div", { key: '8074c0486bf0b72a4503f55dcb4a1fa8da310899', class: "item-inner-highlight" })), canActivate && mode === 'md' && hAsync("ion-ripple-effect", { key: '7b2362cdcf8aaf8791f12d3f0b4aa1198d2b4961' }), hAsync("div", { key: 'e82c247286a9dcd1cf6e839b6e95434de175146b', class: "item-highlight" })), hAsync("div", { key: '37524cfdb3518f1f2a958eae4b49977a1199ba3d', class: "item-bottom" }, hAsync("slot", { key: '3643138f87985649e8ee32e099f4b592a45c4712', name: "error" }), hAsync("slot", { key: '0ce71b7fae1256290da625d0d70ac2ff69425247', name: "helper" }), counterString && hAsync("ion-note", { key: '4549ec01076ae1fe959bb88cafa24528444919a1', class: "item-counter" }, counterString))));
21435
21642
  }
21436
21643
  get el() { return getElement(this); }
21437
21644
  static get watchers() { return {
@@ -21494,11 +21701,11 @@ class ItemDivider {
21494
21701
  }
21495
21702
  render() {
21496
21703
  const mode = getIonMode$1(this);
21497
- return (hAsync(Host, { key: '8422b960dfcce4ff1370d9c185e285bb4a3688d5', class: createColorClasses$1(this.color, {
21704
+ return (hAsync(Host, { key: '5727179159ef2a8879f55435265003e0ec72df3f', class: createColorClasses$1(this.color, {
21498
21705
  [mode]: true,
21499
21706
  'item-divider-sticky': this.sticky,
21500
21707
  item: true,
21501
- }) }, hAsync("slot", { key: '240514b96ec48262040460775c8eb0a58d6acfa8', name: "start" }), hAsync("div", { key: 'ec18c092c81cb96f8c49ed7d4dede96c9a3e3f97', class: "item-divider-inner" }, hAsync("div", { key: '9c3f3dcb9b14fd1d37fb1104b3ba953dc9a3e894', class: "item-divider-wrapper" }, hAsync("slot", { key: '6b8e51eb86a5567b80a91034b26228105796a82d' })), hAsync("slot", { key: '7ccb661e1309c1ecca09a823f8e08b1cf90d95dd', name: "end" }))));
21708
+ }) }, hAsync("slot", { key: 'bb7df137e60ca3fa9a50c612e30fbb3ee4c818ad', name: "start" }), hAsync("div", { key: '6a25a01271957cfdd8e8dfb6ef76e1eb710380f2', class: "item-divider-inner" }, hAsync("div", { key: '554ba681b0f346ed0af03232f8b2e6ca399877d9', class: "item-divider-wrapper" }, hAsync("slot", { key: 'f98e20a01f09d0a2e19b7351eb1b4028881a07ab' })), hAsync("slot", { key: '755643b5b8d3463af41b3d0805871073a34386a3', name: "end" }))));
21502
21709
  }
21503
21710
  get el() { return getElement(this); }
21504
21711
  static get style() { return {
@@ -21530,7 +21737,7 @@ class ItemGroup {
21530
21737
  }
21531
21738
  render() {
21532
21739
  const mode = getIonMode$1(this);
21533
- return (hAsync(Host, { key: 'b33f23544ddeeeb61847b146b1dcb7a9ba30af18', role: "group", class: {
21740
+ return (hAsync(Host, { key: '5778fb7e9c6791874b4ff14f0babdae715e322e7', role: "group", class: {
21534
21741
  [mode]: true,
21535
21742
  // Used internally for styling
21536
21743
  [`item-group-${mode}`]: true,
@@ -21598,12 +21805,12 @@ class ItemOption {
21598
21805
  href: this.href,
21599
21806
  target: this.target,
21600
21807
  };
21601
- return (hAsync(Host, { key: '8d8ef0455e0e46d31a84b6f9e83e377e0579f04b', onClick: this.onClick, class: createColorClasses$1(this.color, {
21808
+ return (hAsync(Host, { key: '763c3a7571b143d1068d85103ccab403bc48abae', onClick: this.onClick, class: createColorClasses$1(this.color, {
21602
21809
  [mode]: true,
21603
21810
  'item-option-disabled': disabled,
21604
21811
  'item-option-expandable': expandable,
21605
21812
  'ion-activatable': true,
21606
- }) }, hAsync(TagType, Object.assign({ key: '0d4833cefd206862a75fdef8744e659cff24a39f' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'bfbdab3ee6cfc884eb2bd60c92cf919f4b671c27', class: "button-inner" }, hAsync("slot", { key: '968ebecbd9e8ca5015106d79e5d29b4a1999d39b', name: "top" }), hAsync("div", { key: '38677cd72df6447a4e934695ab08857460be800d', class: "horizontal-wrapper" }, hAsync("slot", { key: 'e65131d2e3f12c3743c7229b0a7f381824a45281', name: "start" }), hAsync("slot", { key: 'c3a9bd83c455a79395574ff4d862299fd9340cd2', name: "icon-only" }), hAsync("slot", { key: '161ca1daed265e8990d28f74744476a37d555d85' }), hAsync("slot", { key: 'd5ecafceada1f8c3c16a2cb6511368828009081f', name: "end" })), hAsync("slot", { key: '39e6a9dffc2cb9e2e9a200f6c669ed47f9a485aa', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", null))));
21813
+ }) }, hAsync(TagType, Object.assign({ key: 'cb199c2ccd38abaad3460f184af3093bf08546cc' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'f3ce9f1d343890c6f55f2609127f1e5113a2eedf', class: "button-inner" }, hAsync("slot", { key: 'cd9434883c0bdb4129fb6f49970d49710653a09a', name: "top" }), hAsync("div", { key: '764529c5f4b3d82105ce55885e8f121a91e8bc4a', class: "horizontal-wrapper" }, hAsync("slot", { key: '5bbd7b9ed9f35c8bf422c3134a1a097e174ad6df', name: "start" }), hAsync("slot", { key: '1e70a781cdf4ffcefb1dea70abe43655d7857c4b', name: "icon-only" }), hAsync("slot", { key: 'c3205e9b1577a56786c10a8b5b420010b5fe53fc' }), hAsync("slot", { key: '6bae6c98cd8d8526a203af47ca8e83753e1e1cb6', name: "end" })), hAsync("slot", { key: '466cc32cdf9cbbdbb58e4b29144215cf2984c0d6', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b5c54b801008b307ca8f718a41101be3e8d1d938' }))));
21607
21814
  }
21608
21815
  get el() { return getElement(this); }
21609
21816
  static get style() { return {
@@ -21650,7 +21857,7 @@ class ItemOptions {
21650
21857
  render() {
21651
21858
  const mode = getIonMode$1(this);
21652
21859
  const isEnd = isEndSide(this.side);
21653
- return (hAsync(Host, { key: '04d6baf62154da6ab9db5e679f982fe3fe276f89', class: {
21860
+ return (hAsync(Host, { key: '3dca0415ec2942ac8e87a057e26bcb290a892f65', class: {
21654
21861
  [mode]: true,
21655
21862
  // Used internally for styling
21656
21863
  [`item-options-${mode}`]: true,
@@ -22112,7 +22319,7 @@ class ItemSliding {
22112
22319
  }
22113
22320
  render() {
22114
22321
  const mode = getIonMode$1(this);
22115
- return (hAsync(Host, { key: 'f666dd119a72247feac11dcd704059fce7677325', class: {
22322
+ return (hAsync(Host, { key: '7f191e38bf717e6ccb246aa7b9fbd29d01e64677', class: {
22116
22323
  [mode]: true,
22117
22324
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
22118
22325
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -22161,10 +22368,10 @@ const swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {
22161
22368
  return (!isMovingFast && isOnResetZone) || (isResetDirection && isMovingFast);
22162
22369
  };
22163
22370
 
22164
- const labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box}.item-legacy.sc-ion-label-ios-h,.item-legacy .sc-ion-label-ios-h{white-space:nowrap;overflow:hidden}.item.sc-ion-label-ios-h:not(.item-input):not(.item-legacy),.item:not(.item-input):not(.item-legacy) .sc-ion-label-ios-h{-ms-flex-positive:1;flex-grow:1}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-nowrap.sc-ion-label-ios-h{overflow:hidden}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.item-skeleton-text.sc-ion-label-ios-h,.item-skeleton-text .sc-ion-label-ios-h{overflow:hidden}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h{font-size:0.875rem;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:0.875rem}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate(0, 29px);transform:translate(0, 29px);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.label-floating.sc-ion-label-ios-h:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.item-textarea.label-floating.sc-ion-label-ios-h,.item-textarea .label-floating.sc-ion-label-ios-h{-webkit-transform:translate(0, 28px);transform:translate(0, 28px)}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.sc-ion-label-ios-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:scale(0.82);transform:scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:1.375rem;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:1.0625rem;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:0.875rem;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:0.875rem;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.in-item-color.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}";
22371
+ const labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box}.item-legacy.sc-ion-label-ios-h,.item-legacy .sc-ion-label-ios-h{white-space:nowrap;overflow:hidden}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-nowrap.sc-ion-label-ios-h{overflow:hidden}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{-ms-flex-item-align:baseline;align-self:baseline}.item-skeleton-text.sc-ion-label-ios-h,.item-skeleton-text .sc-ion-label-ios-h{overflow:hidden}.label-fixed.sc-ion-label-ios-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{-webkit-transition:none;transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h{font-size:0.875rem;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:0.875rem}.label-floating.sc-ion-label-ios-h{margin-bottom:0;-webkit-transform:translate(0, 29px);transform:translate(0, 29px);-webkit-transform-origin:left top;transform-origin:left top;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.label-floating.sc-ion-label-ios-h:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.item-textarea.label-floating.sc-ion-label-ios-h,.item-textarea .label-floating.sc-ion-label-ios-h{-webkit-transform:translate(0, 28px);transform:translate(0, 28px)}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.sc-ion-label-ios-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{-webkit-transform:scale(0.82);transform:scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:1.375rem;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:1.0625rem;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:0.875rem;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:0.875rem;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.in-item-color.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}";
22165
22372
  var IonLabelIosStyle0 = labelIosCss;
22166
22373
 
22167
- const labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box}.item-legacy.sc-ion-label-md-h,.item-legacy .sc-ion-label-md-h{white-space:nowrap;overflow:hidden}.item.sc-ion-label-md-h:not(.item-input):not(.item-legacy),.item:not(.item-input):not(.item-legacy) .sc-ion-label-md-h{-ms-flex-positive:1;flex-grow:1}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-nowrap.sc-ion-label-md-h{overflow:hidden}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.item-skeleton-text.sc-ion-label-md-h,.item-skeleton-text .sc-ion-label-md-h{overflow:hidden}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:top left;transform-origin:top left}.label-stacked.label-rtl.sc-ion-label-md-h,.label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform-origin:top right;transform-origin:top right}.label-stacked.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.ion-focused.label-floating.sc-ion-label-md-h,.ion-focused .label-floating.sc-ion-label-md-h,.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(-6px) scale(0.75);transform:translateY(-6px) scale(0.75);position:relative;max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content;background-color:var(--ion-item-background, var(--ion-background-color, #fff));overflow:visible;z-index:3}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{position:absolute;width:4px;height:100%;background-color:var(--ion-item-background, var(--ion-background-color, #fff));content:\"\"}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before{left:calc(-1 * 4px)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{right:calc(-1 * 4px)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.sc-ion-label-md-h{-webkit-transform:translateX(-32px) translateY(-6px) scale(0.75);transform:translateX(-32px) translateY(-6px) scale(0.75)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating.label-rtl,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75);transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75)}.ion-focused.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.item-fill-solid.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-base)}.ion-invalid.ion-touched.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--highlight-color-invalid)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:1.5rem;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:1rem;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:0.875rem;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:0.875rem;line-height:1.25rem;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.in-item-color.sc-ion-label-md-s>p{color:inherit}";
22374
+ const labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;-webkit-box-sizing:border-box;box-sizing:border-box}.item-legacy.sc-ion-label-md-h,.item-legacy .sc-ion-label-md-h{white-space:nowrap;overflow:hidden}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-nowrap.sc-ion-label-md-h{overflow:hidden}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{-ms-flex:initial;flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{-ms-flex-item-align:baseline;align-self:baseline}.item-skeleton-text.sc-ion-label-md-h,.item-skeleton-text .sc-ion-label-md-h{overflow:hidden}.label-fixed.sc-ion-label-md-h{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;-ms-flex-item-align:stretch;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{-webkit-transition:none;transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:top left;transform-origin:top left}.label-stacked.label-rtl.sc-ion-label-md-h,.label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform-origin:top right;transform-origin:top right}.label-stacked.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.label-floating.sc-ion-label-md-h{-webkit-transform:translateY(96%);transform:translateY(96%);-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.ion-focused.label-floating.sc-ion-label-md-h,.ion-focused .label-floating.sc-ion-label-md-h,.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h{-webkit-transform:translateY(-6px) scale(0.75);transform:translateY(-6px) scale(0.75);position:relative;max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content;background-color:var(--ion-item-background, var(--ion-background-color, #fff));overflow:visible;z-index:3}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{position:absolute;width:4px;height:100%;background-color:var(--ion-item-background, var(--ion-background-color, #fff));content:\"\"}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before{left:calc(-1 * 4px)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{right:calc(-1 * 4px)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.sc-ion-label-md-h{-webkit-transform:translateX(-32px) translateY(-6px) scale(0.75);transform:translateX(-32px) translateY(-6px) scale(0.75)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating.label-rtl,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h{-webkit-transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75);transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75)}.ion-focused.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.item-fill-solid.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-base)}.ion-invalid.ion-touched.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--highlight-color-invalid)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:1.5rem;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:1rem;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:0.875rem;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:0.875rem;line-height:1.25rem;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.in-item-color.sc-ion-label-md-s>p{color:inherit}";
22168
22375
  var IonLabelMdStyle0 = labelMdCss;
22169
22376
 
22170
22377
  /**
@@ -22221,7 +22428,7 @@ class Label {
22221
22428
  render() {
22222
22429
  const position = this.position;
22223
22430
  const mode = getIonMode$1(this);
22224
- return (hAsync(Host, { key: '813192a6460057c6d1e42f50f3f257bee2f550d8', class: createColorClasses$1(this.color, {
22431
+ return (hAsync(Host, { key: '72ad4ba5c1137ae0130e421346668e436ea53bf8', class: createColorClasses$1(this.color, {
22225
22432
  [mode]: true,
22226
22433
  'in-item-color': hostContext('ion-item.ion-color', this.el),
22227
22434
  [`label-${position}`]: position !== undefined,
@@ -22283,7 +22490,7 @@ class List {
22283
22490
  render() {
22284
22491
  const mode = getIonMode$1(this);
22285
22492
  const { lines, inset } = this;
22286
- return (hAsync(Host, { key: '2cb1b689d9460d9576b471bb8b13d14fe34d1c2c', role: "list", class: {
22493
+ return (hAsync(Host, { key: '3df401155114c7a39c81f201bf8a181d07e8d4c8', role: "list", class: {
22287
22494
  [mode]: true,
22288
22495
  // Used internally for styling
22289
22496
  [`list-${mode}`]: true,
@@ -22329,10 +22536,10 @@ class ListHeader {
22329
22536
  render() {
22330
22537
  const { lines } = this;
22331
22538
  const mode = getIonMode$1(this);
22332
- return (hAsync(Host, { key: '1b832a6882307d40fe4afc9a95a5db4fbdff60a3', class: createColorClasses$1(this.color, {
22539
+ return (hAsync(Host, { key: 'e5fabb3ae91e6fe47c89273d1d2dba5902f77f94', class: createColorClasses$1(this.color, {
22333
22540
  [mode]: true,
22334
22541
  [`list-header-lines-${lines}`]: lines !== undefined,
22335
- }) }, hAsync("div", { key: 'a53a3f05727b510d1b912c10c92a4aa58f4fe860', class: "list-header-inner" }, hAsync("slot", { key: '9377dee83f050b2cb2c5b7c5d106668cc81d8f90' }))));
22542
+ }) }, hAsync("div", { key: 'a9cfdaa436267fbabb0d618c3932849c1b77fbd2', class: "list-header-inner" }, hAsync("slot", { key: '8ed806fd58f8f2265c5bf466886086e88ada93cc' }))));
22336
22543
  }
22337
22544
  static get style() { return {
22338
22545
  ios: IonListHeaderIosStyle0,
@@ -22598,9 +22805,9 @@ class Loading {
22598
22805
  * Otherwise, don't set aria-labelledby.
22599
22806
  */
22600
22807
  const ariaLabelledBy = message !== undefined ? msgId : null;
22601
- return (hAsync(Host, Object.assign({ key: '95123f54ba1db5e59563d79db075315b43ed20f7', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22808
+ return (hAsync(Host, Object.assign({ key: 'e780853dc67b7b4ebd8dd65cadab648e4238c6ee', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
22602
22809
  zIndex: `${40000 + this.overlayIndex}`,
22603
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: 'e113bf123eaad38f2dafce8ea5d2ebef409d0c0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '1268c9480854383c7883a79d597350540ade93c2', tabindex: "0" }), hAsync("div", { key: 'e86fc71504ebd578117dea2232d9740a087d1249', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { class: "loading-spinner" }, hAsync("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '3b91e2492e06aa65ebe77ed2b6ffb9d2f84bdd9c', tabindex: "0" })));
22810
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '8cd59ca7bc97b981fd578a526dfe859847e4d392', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'ef392aaf2cb7f6f9cecc685525cce3abc333e800', tabindex: "0" }), hAsync("div", { key: 'f1f6df21a7fa6565fe33acb4a5f355b5ec3e65b2', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '725cf5a206152885e31ab061b0c466fe1ead0225', class: "loading-spinner" }, hAsync("ion-spinner", { key: '5891dc39fa133b71576aec219f552386b202e163', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '8103269f1181325a507ed1c681f5ef15e40fbc34', tabindex: "0" })));
22604
22811
  }
22605
22812
  get el() { return getElement(this); }
22606
22813
  static get watchers() { return {
@@ -23598,13 +23805,13 @@ class Menu {
23598
23805
  * the ionBackButton listener in the menu controller
23599
23806
  * will handle closing the menu when Escape is pressed.
23600
23807
  */
23601
- return (hAsync(Host, { key: 'be7145625a30951e5cc26646f6121ee4fa4c910f', onKeyDown: shoudUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
23808
+ return (hAsync(Host, { key: '7443f67fbe5122052025bab862136044fc942401', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
23602
23809
  [mode]: true,
23603
23810
  [`menu-type-${type}`]: true,
23604
23811
  'menu-enabled': !disabled,
23605
23812
  [`menu-side-${side}`]: true,
23606
23813
  'menu-pane-visible': isPaneVisible,
23607
- } }, hAsync("div", { key: 'ecd6e0641ed67691db270190801f7be365a2d121', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: 'aea3780e259f2b3ea84697a509bb7f13fa9531e9' })), hAsync("ion-backdrop", { key: 'be3253506a34c4c00eb1814621c674196b72db46', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
23814
+ } }, hAsync("div", { key: '45c7d37ace20f663a4bea89cb38bbc798f88dfbd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '975437a5d4029cc200b6dbc2d47a16b4318c00aa' })), hAsync("ion-backdrop", { key: 'acc8a1f5dc1b1e2a34757bf797e794017f545bdc', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
23608
23815
  }
23609
23816
  get el() { return getElement(this); }
23610
23817
  static get watchers() { return {
@@ -23707,7 +23914,7 @@ class MenuButton {
23707
23914
  type: this.type,
23708
23915
  };
23709
23916
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
23710
- return (hAsync(Host, { key: '2fd7130b8d28695162f7efebbd2131e5e9e4f330', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
23917
+ return (hAsync(Host, { key: '7a4543dfcbf559f0d3a473683f8e0bd1d4c3542a', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
23711
23918
  [mode]: true,
23712
23919
  button: true, // ion-buttons target .button
23713
23920
  'menu-button-hidden': hidden,
@@ -23716,7 +23923,7 @@ class MenuButton {
23716
23923
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
23717
23924
  'ion-activatable': true,
23718
23925
  'ion-focusable': true,
23719
- }) }, hAsync("button", Object.assign({ key: 'fa6b1fb9291df812b04065b4b0ebdfd28e5217eb' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: '88106a08070ebff7457c581301efe649829aded2', class: "button-inner" }, hAsync("slot", { key: 'e3edfb89e5705b2c08c66f3d3452457667de3657' }, hAsync("ion-icon", { key: '24678e9c3bb2f1f3db113a2ae0ec93e407a7de0c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { type: "unbounded" }))));
23926
+ }) }, hAsync("button", Object.assign({ key: '2b6944dc130fa765ac7559077254555583529ec3' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'b4d1006bec8c9e761c64ae3e2fb64848dfc30307', class: "button-inner" }, hAsync("slot", { key: 'eaf1d57cd2e841c70095821576c52062dc76500b' }, hAsync("ion-icon", { key: '105ddb806aae2e6add6cb3989fd4a5cf5ee7d952', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '8a312aab747de2bdd6adee74fb0bfcbbde12c191', type: "unbounded" }))));
23720
23927
  }
23721
23928
  get el() { return getElement(this); }
23722
23929
  static get style() { return {
@@ -23765,10 +23972,10 @@ class MenuToggle {
23765
23972
  render() {
23766
23973
  const mode = getIonMode$1(this);
23767
23974
  const hidden = this.autoHide && !this.visible;
23768
- return (hAsync(Host, { key: '5b75baade530bf9e7ed9165a5db3e513975e22f2', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
23975
+ return (hAsync(Host, { key: '94a0815a634c6fb1991854bfbcf5b2b4b61d7710', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
23769
23976
  [mode]: true,
23770
23977
  'menu-toggle-hidden': hidden,
23771
- } }, hAsync("slot", { key: '65dea458274b685125c22af54aa153cf4977113c' })));
23978
+ } }, hAsync("slot", { key: 'f3ac6d17d5421390ab05f3f31ad00ec4f2ca5c7c' })));
23772
23979
  }
23773
23980
  static get style() { return IonMenuToggleStyle0; }
23774
23981
  static get cmpMeta() { return {
@@ -24867,19 +25074,32 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
24867
25074
  }
24868
25075
  const canStart = (detail) => {
24869
25076
  /**
24870
- * If the sheet is fully expanded and
24871
- * the user is swiping on the content,
24872
- * the gesture should not start to
24873
- * allow for scrolling on the content.
25077
+ * If we are swiping on the content, swiping should only be possible if the content
25078
+ * is scrolled all the way to the top so that we do not interfere with scrolling.
25079
+ *
25080
+ * We cannot assume that the `ion-content` target will remain consistent between swipes.
25081
+ * For example, when using ion-nav within a modal it is possible to swipe, push a view,
25082
+ * and then swipe again. The target content will not be the same between swipes.
24874
25083
  */
24875
- const content = detail.event.target.closest('ion-content');
25084
+ const contentEl = findClosestIonContent(detail.event.target);
24876
25085
  currentBreakpoint = getCurrentBreakpoint();
24877
- if (currentBreakpoint === 1 && content) {
24878
- return false;
25086
+ if (currentBreakpoint === 1 && contentEl) {
25087
+ /**
25088
+ * The modal should never swipe to close on the content with a refresher.
25089
+ * Note 1: We cannot solve this by making this gesture have a higher priority than
25090
+ * the refresher gesture as the iOS native refresh gesture uses a scroll listener in
25091
+ * addition to a gesture.
25092
+ *
25093
+ * Note 2: Do not use getScrollElement here because we need this to be a synchronous
25094
+ * operation, and getScrollElement is asynchronous.
25095
+ */
25096
+ const scrollEl = isIonContent(contentEl) ? getElementRoot(contentEl).querySelector('.inner-scroll') : contentEl;
25097
+ const hasRefresherInContent = !!contentEl.querySelector('ion-refresher');
25098
+ return !hasRefresherInContent && scrollEl.scrollTop === 0;
24879
25099
  }
24880
25100
  return true;
24881
25101
  };
24882
- const onStart = () => {
25102
+ const onStart = (detail) => {
24883
25103
  /**
24884
25104
  * If canDismiss is anything other than `true`
24885
25105
  * then users should be able to swipe down
@@ -24894,11 +25114,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
24894
25114
  */
24895
25115
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
24896
25116
  /**
24897
- * If swiping on the content
24898
- * we should disable scrolling otherwise
24899
- * the sheet will expand and the content will scroll.
25117
+ * If we are pulling down, then it is possible we are pulling on the content.
25118
+ * We do not want scrolling to happen at the same time as the gesture.
24900
25119
  */
24901
- if (contentEl) {
25120
+ if (detail.deltaY > 0 && contentEl) {
24902
25121
  contentEl.scrollY = false;
24903
25122
  }
24904
25123
  raf(() => {
@@ -24911,6 +25130,15 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
24911
25130
  animation.progressStart(true, 1 - currentBreakpoint);
24912
25131
  };
24913
25132
  const onMove = (detail) => {
25133
+ /**
25134
+ * If we are pulling down, then it is possible we are pulling on the content.
25135
+ * We do not want scrolling to happen at the same time as the gesture.
25136
+ * This accounts for when the user scrolls down, scrolls all the way up, and then
25137
+ * pulls down again such that the modal should start to move.
25138
+ */
25139
+ if (detail.deltaY > 0 && contentEl) {
25140
+ contentEl.scrollY = false;
25141
+ }
24914
25142
  /**
24915
25143
  * Given the change in gesture position on the Y axis,
24916
25144
  * compute where the offset of the animation should be
@@ -25013,6 +25241,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
25013
25241
  else if (!shouldRemainOpen) {
25014
25242
  onDismiss();
25015
25243
  }
25244
+ /**
25245
+ * If the sheet is going to be fully expanded then we should enable
25246
+ * scrolling immediately. The sheet modal animation takes ~500ms to finish
25247
+ * so if we wait until then there is a visible delay for when scrolling is
25248
+ * re-enabled. Native iOS allows for scrolling on the sheet modal as soon
25249
+ * as the gesture is released, so we align with that.
25250
+ */
25251
+ if (contentEl && snapToBreakpoint === breakpoints[breakpoints.length - 1]) {
25252
+ contentEl.scrollY = true;
25253
+ }
25016
25254
  return new Promise((resolve) => {
25017
25255
  animation
25018
25256
  .onFinish(() => {
@@ -25031,13 +25269,6 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
25031
25269
  animation.progressStart(true, 1 - snapToBreakpoint);
25032
25270
  currentBreakpoint = snapToBreakpoint;
25033
25271
  onBreakpointChange(currentBreakpoint);
25034
- /**
25035
- * If the sheet is fully expanded, we can safely
25036
- * enable scrolling again.
25037
- */
25038
- if (contentEl && currentBreakpoint === breakpoints[breakpoints.length - 1]) {
25039
- contentEl.scrollY = true;
25040
- }
25041
25272
  /**
25042
25273
  * Backdrop should become enabled
25043
25274
  * after the backdropBreakpoint value
@@ -25214,9 +25445,41 @@ class Modal {
25214
25445
  this.triggerController.removeClickListener();
25215
25446
  }
25216
25447
  componentWillLoad() {
25217
- const { breakpoints, initialBreakpoint, el } = this;
25448
+ const { breakpoints, initialBreakpoint, el, htmlAttributes } = this;
25218
25449
  const isSheetModal = (this.isSheetModal = breakpoints !== undefined && initialBreakpoint !== undefined);
25219
- this.inheritedAttributes = inheritAttributes$1(el, ['aria-label', 'role']);
25450
+ const attributesToInherit = ['aria-label', 'role'];
25451
+ this.inheritedAttributes = inheritAttributes$1(el, attributesToInherit);
25452
+ /**
25453
+ * When using a controller modal you can set attributes
25454
+ * using the htmlAttributes property. Since the above attributes
25455
+ * need to be inherited inside of the modal, we need to look
25456
+ * and see if these attributes are being set via htmlAttributes.
25457
+ *
25458
+ * We could alternatively move this to componentDidLoad to simplify the work
25459
+ * here, but we'd then need to make inheritedAttributes a State variable,
25460
+ * thus causing another render to always happen after the first render.
25461
+ */
25462
+ if (htmlAttributes !== undefined) {
25463
+ attributesToInherit.forEach((attribute) => {
25464
+ const attributeValue = htmlAttributes[attribute];
25465
+ if (attributeValue) {
25466
+ /**
25467
+ * If an attribute we need to inherit was
25468
+ * set using htmlAttributes then add it to
25469
+ * inheritedAttributes and remove it from htmlAttributes.
25470
+ * This ensures the attribute is inherited and not
25471
+ * set on the host.
25472
+ *
25473
+ * In this case, if an inherited attribute is set
25474
+ * on the host element and using htmlAttributes then
25475
+ * htmlAttributes wins, but that's not a pattern that we recommend.
25476
+ * The only time you'd need htmlAttributes is when using modalController.
25477
+ */
25478
+ this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [attribute]: htmlAttributes[attribute] });
25479
+ delete htmlAttributes[attribute];
25480
+ }
25481
+ });
25482
+ }
25220
25483
  if (isSheetModal) {
25221
25484
  this.currentBreakpoint = this.initialBreakpoint;
25222
25485
  }
@@ -25613,18 +25876,18 @@ class Modal {
25613
25876
  const mode = getIonMode$1(this);
25614
25877
  const isCardModal = presentingElement !== undefined && mode === 'ios';
25615
25878
  const isHandleCycle = handleBehavior === 'cycle';
25616
- return (hAsync(Host, Object.assign({ key: '0c2c4369ab2df4ef4660addea5e927c6a0232864', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
25879
+ return (hAsync(Host, Object.assign({ key: 'e4ad28e6e794560d85252aebdca7f4752e4e7e99', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
25617
25880
  zIndex: `${20000 + this.overlayIndex}`,
25618
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'd044383a776c2ee1703f996caedaedca47f2948f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { class: "modal-shadow" }), hAsync("div", Object.assign({ key: '8d23b6a3cc9069e4d46fa0645cde9db3e6f89507',
25881
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '6efd67361a062d15488390f9f0d6c0841e541893', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '557b1c6b297df75acc80d1350b971e65ace6c343', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '67f9b27b662303fbaadaee2ae89972caadfd9994',
25619
25882
  /*
25620
25883
  role and aria-modal must be used on the
25621
25884
  same element. They must also be set inside the
25622
25885
  shadow DOM otherwise ion-button will not be highlighted
25623
25886
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
25624
25887
  */
25625
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { class: "modal-handle",
25888
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '8f1eecc451b52467a8c3cfe500335cf6254bbfbc', class: "modal-handle",
25626
25889
  // Prevents the handle from receiving keyboard focus when it does not cycle
25627
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '3fbb689e4bf5575fbb26ad1000f6ac5993f3bf8f' }))));
25890
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: 'cdc923404f01a14b9071a434c68547da3b22c71e' }))));
25628
25891
  }
25629
25892
  get el() { return getElement(this); }
25630
25893
  static get watchers() { return {
@@ -26569,7 +26832,7 @@ class Nav {
26569
26832
  }
26570
26833
  }
26571
26834
  render() {
26572
- return hAsync("slot", { key: '654286a8a7ef03d4a22497eb51e781a9a8979774' });
26835
+ return hAsync("slot", { key: '6894eccc60e446294b01261477691ea1e88348ab' });
26573
26836
  }
26574
26837
  get el() { return getElement(this); }
26575
26838
  static get watchers() { return {
@@ -26641,7 +26904,7 @@ class NavLink {
26641
26904
  this.routerAnimation = undefined;
26642
26905
  }
26643
26906
  render() {
26644
- return hAsync(Host, { key: 'a781794425ad0866705bc6691256184b93477a74', onClick: this.onClick });
26907
+ return hAsync(Host, { key: 'dab6e8a908395d99c87452c5e5aa4e61d9e72435', onClick: this.onClick });
26645
26908
  }
26646
26909
  get el() { return getElement(this); }
26647
26910
  static get cmpMeta() { return {
@@ -26675,9 +26938,9 @@ class Note {
26675
26938
  }
26676
26939
  render() {
26677
26940
  const mode = getIonMode$1(this);
26678
- return (hAsync(Host, { key: 'eebc0ea94483a248192408a1546739700281d2ae', class: createColorClasses$1(this.color, {
26941
+ return (hAsync(Host, { key: '79a17a318ec6e8326c9741b4a9bb4598acdc225e', class: createColorClasses$1(this.color, {
26679
26942
  [mode]: true,
26680
- }) }, hAsync("slot", { key: '33018e11967398327a0e7c20522547a4d9e8f55b' })));
26943
+ }) }, hAsync("slot", { key: '5adeaccfabb4bee7b84ea5c5de804bd255b29255' })));
26681
26944
  }
26682
26945
  static get style() { return {
26683
26946
  ios: IonNoteIosStyle0,
@@ -26929,11 +27192,11 @@ class Picker {
26929
27192
  render() {
26930
27193
  const { htmlAttributes } = this;
26931
27194
  const mode = getIonMode$1(this);
26932
- return (hAsync(Host, Object.assign({ key: 'c266cc072afaba2da22f70d8b62dc4bc6756d188', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
27195
+ return (hAsync(Host, Object.assign({ key: 'eb5f91ea74fb11daa6942f779ef461742cad9ecb', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
26933
27196
  zIndex: `${20000 + this.overlayIndex}`,
26934
27197
  }, class: Object.assign({ [mode]: true,
26935
27198
  // Used internally for styling
26936
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '35ee3e5028028835580e28ac2c8db65a924d5d6a', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '8b454e6edbcfc45c57d3d8baf7c14b7905921a6e', tabindex: "0" }), hAsync("div", { key: 'e0fee78ec6d097bf0963190f748e5daad602e0f7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: 'ce66bca18fc3e982ad7d6660f27cb1a03fb8247b', 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: 'a58b9523fe16f109dd6de0610717c5077fed964b', class: "picker-columns" }, hAsync("div", { key: 'acd54c0314cff51e8513a08dd9755c4b847c0617', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-column", { col: c })), hAsync("div", { key: '604730bd87582d048d850c6e0a0f29ba33258918', class: "picker-below-highlight" }))), hAsync("div", { key: '93baf5e6e57aec5f084d7d5b24af14e7d8126b5a', tabindex: "0" })));
27199
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '7ea872d939e62f14129fff15334b2822ad2360c9', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '2d77c225091eacab0207e28c96b966122afafef0', tabindex: "0" }), hAsync("div", { key: '630d21e0c60ad97b71462cdc540858bb6ced0b8f', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: 'fa8553ec8d2ce8bf93e16e02334b6475cb51b5d4', 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: '177d1bcbd0ce38f16d9c936295a917fb981d02d7', class: "picker-columns" }, hAsync("div", { key: 'be99b6e0279c210ef91a88ccc81acc7d37917a53', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-column", { col: c })), hAsync("div", { key: 'b36b21e8133b59e873e1d3447a1279f1b971c854', class: "picker-below-highlight" }))), hAsync("div", { key: '17cea6dd24dbb0a08073ca4a84bfe027eb24833d', tabindex: "0" })));
26937
27200
  }
26938
27201
  get el() { return getElement(this); }
26939
27202
  static get watchers() { return {
@@ -27324,9 +27587,9 @@ class PickerColumnCmp {
27324
27587
  render() {
27325
27588
  const col = this.col;
27326
27589
  const mode = getIonMode$1(this);
27327
- return (hAsync(Host, { key: '06e2ae483a3bcf4fe721ad0c48cded6a1efdc6c0', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
27590
+ return (hAsync(Host, { key: '49bb4c67a67c7318d4c305df78ceabae36355112', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
27328
27591
  'max-width': this.col.columnWidth,
27329
- } }, col.prefix && (hAsync("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '14bea013788d899edf7155eb3cc10f79fe8e4690', 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", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
27592
+ } }, col.prefix && (hAsync("div", { key: '7e65761d24473e4ba0ce2d4fc707a5c5e8127903', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: '65c3aea609401e8ae4ea6d363a1b9436796c0a86', 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: 'c2e5a324ba95dd8832d3eb81b139e1f674d74a35', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
27330
27593
  }
27331
27594
  get el() { return getElement(this); }
27332
27595
  static get watchers() { return {
@@ -27597,7 +27860,11 @@ class PickerColumnInternal {
27597
27860
  */
27598
27861
  componentWillLoad() {
27599
27862
  const visibleCallback = (entries) => {
27600
- const ev = entries[0];
27863
+ /**
27864
+ * Browsers will sometimes group multiple IO events into a single callback.
27865
+ * As a result, we want to grab the last/most recent event in case there are multiple events.
27866
+ */
27867
+ const ev = entries[entries.length - 1];
27601
27868
  if (ev.isIntersecting) {
27602
27869
  const { activeItem, el } = this;
27603
27870
  this.isColumnVisible = true;
@@ -27686,18 +27953,18 @@ class PickerColumnInternal {
27686
27953
  * the attribute can be moved to datetime.tsx and set on every
27687
27954
  * instance of ion-picker-column-internal there instead.
27688
27955
  */
27689
- return (hAsync(Host, { key: 'd0e3818aa4ab06aefd988d1b42ae754244727b8f', exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: createColorClasses$1(color, {
27956
+ return (hAsync(Host, { key: '42a034f2533d30d19f96a121eb74d5f757e1c684', exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: createColorClasses$1(color, {
27690
27957
  [mode]: true,
27691
27958
  ['picker-column-active']: isActive,
27692
27959
  ['picker-column-numeric-input']: numericInput,
27693
- }) }, hAsync("div", { key: 'ec3b16415db5f64e3fab37fda023560ebcdc9423', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '40c78c9a1277807572d73e23048c2730cab88f5a', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'c51fa817f6999356cf3568a46098e954936b45d5', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index) => {
27960
+ }) }, hAsync("div", { key: '85efccb40c87d473c06026b8041d57b40d2369c3', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '9fae4dd6697f23acba18c218ba250ea77954b18d', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'f117afeb204a4f6bb34a1cd0e1b786fa479d8b32', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index) => {
27694
27961
  const isItemDisabled = pickerDisabled || item.disabled || false;
27695
27962
  return (hAsync("button", { tabindex: "-1", class: {
27696
27963
  'picker-item': true,
27697
27964
  }, "data-value": item.value, "data-index": index, onClick: (ev) => {
27698
27965
  this.centerPickerItemInView(ev.target, true);
27699
27966
  }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
27700
- }), hAsync("div", { key: '80a7461dfe571f46466219b05007b021711aed32', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'fed82263295f58c51e2b753d0c06c7d71872b8a7', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'e805dff4122cc4e5fb4d7dcb96054fee8ad3bd07', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
27967
+ }), hAsync("div", { key: '28aa37f9ce90e88b9c3a5b2c399e3066e9f339e1', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: 'ef4ae6bee2b17918f0c2aba9d5c720c1d95987e4', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), hAsync("div", { key: '564967bc8e42a9018163850da3a967a933b3de7b', class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
27701
27968
  }
27702
27969
  get el() { return getElement(this); }
27703
27970
  static get watchers() { return {
@@ -28202,7 +28469,7 @@ class PickerInternal {
28202
28469
  this.emitInputModeChange();
28203
28470
  }
28204
28471
  render() {
28205
- return (hAsync(Host, { key: 'f6b301345583f5ccfc31cce536176af7aeefd193', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: 'e57fd191d49cc500b719d5b9ad35054d55e96c43', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
28472
+ return (hAsync(Host, { key: '01cbd466787242ad070b01909714089570b4d67f', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: '7ff8c0a74c107610a6f0dd9fbc2fc7a4a6dc2468', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
28206
28473
  var _a;
28207
28474
  /**
28208
28475
  * The "Enter" key represents
@@ -28217,7 +28484,7 @@ class PickerInternal {
28217
28484
  if (ev.key === 'Enter') {
28218
28485
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
28219
28486
  }
28220
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '3360e7d913f87293844928e430acde69d399f68e', class: "picker-before" }), hAsync("div", { key: '4db89e681458d4eec5d60ff47d3e0ba9fd116682', class: "picker-after" }), hAsync("div", { key: 'a21b20d77dac8141623995b5a53f416d3d9fc1ef', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '86c7d926523b615b4769bd1a4e9713b351089369' })));
28487
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '4700c9d877f54ae8f3fb173122193c27637f70a4', class: "picker-before" }), hAsync("div", { key: '7ceae834b15d559f3819ec2116f83669cf6665fc', class: "picker-after" }), hAsync("div", { key: '2d3bfda76279c2ee14edc067c53651be23b8b525', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '4797def7a3882a8a911ad47949b76f58a9f448d1' })));
28221
28488
  }
28222
28489
  get el() { return getElement(this); }
28223
28490
  static get style() { return {
@@ -29188,10 +29455,10 @@ const mdLeaveAnimation$1 = (baseEl) => {
29188
29455
  .addAnimation([backdropAnimation, wrapperAnimation]);
29189
29456
  };
29190
29457
 
29191
- const popoverIosCss = "/*!@:host*/.sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}/*!@:host(.popover-nested)*/.popover-nested.sc-ion-popover-ios-h{pointer-events:none}/*!@:host(.popover-nested) .popover-wrapper*/.popover-nested.sc-ion-popover-ios-h .popover-wrapper.sc-ion-popover-ios{pointer-events:auto}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-popover-ios-h{display:none}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-ios{z-index:10}/*!@.popover-content*/.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}/*!@::slotted(.popover-viewport)*/.sc-ion-popover-ios-s>.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}/*!@:host(.popover-nested.popover-side-left)*/.popover-nested.popover-side-left.sc-ion-popover-ios-h{--offset-x:5px}/*!@:host(.popover-nested.popover-side-right)*/.popover-nested.popover-side-right.sc-ion-popover-ios-h{--offset-x:-5px}/*!@:host(.popover-nested.popover-side-start)*/.popover-nested.popover-side-start.sc-ion-popover-ios-h{--offset-x:5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl].popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl] .popover-nested.popover-side-start.sc-ion-popover-ios-h{--offset-x:-5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-start:dir(rtl))*/.popover-nested.popover-side-start.sc-ion-popover-ios-h:dir(rtl){--offset-x:-5px}}/*!@:host(.popover-nested.popover-side-end)*/.popover-nested.popover-side-end.sc-ion-popover-ios-h{--offset-x:-5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl].popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl] .popover-nested.popover-side-end.sc-ion-popover-ios-h{--offset-x:5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-end:dir(rtl))*/.popover-nested.popover-side-end.sc-ion-popover-ios-h:dir(rtl){--offset-x:5px}}/*!@:host*/.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}/*!@:host(.popover-desktop)*/.popover-desktop.sc-ion-popover-ios-h{--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}/*!@.popover-content*/.popover-content.sc-ion-popover-ios{border-radius:10px}/*!@:host(.popover-desktop) .popover-content*/.popover-desktop.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios{border:0.5px solid var(--ion-color-step-100, #e6e6e6)}/*!@.popover-arrow*/.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}@supports (inset-inline-start: 0){/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{inset-inline-start:3px}}@supports not (inset-inline-start: 0){/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{left:3px}/*!@:host-context([dir=rtl]) .popover-arrow::after*/[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}/*!@[dir=rtl] .popover-arrow::after*/[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-popover-ios selector(.sc-ion-popover-ios:dir(rtl)){.popover-arrow::after:dir(rtl){left:unset;right:unset;right:3px}}}/*!@:host(.popover-bottom) .popover-arrow*/.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}/*!@:host(.popover-bottom) .popover-arrow::after*/.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}/*!@:host(.popover-side-left) .popover-arrow*/.popover-side-left.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}/*!@:host(.popover-side-right) .popover-arrow*/.popover-side-right.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}/*!@:host(.popover-side-top) .popover-arrow*/.popover-side-top.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(180deg);transform:rotate(180deg)}/*!@:host(.popover-side-start) .popover-arrow*/.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}/*!@:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow, :host-context([dir=rtl]).popover-side-start .popover-arrow*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl].popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){/*!@:host(.popover-side-start:dir(rtl)) .popover-arrow*/.popover-side-start.sc-ion-popover-ios-h:dir(rtl) .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}/*!@:host(.popover-side-end) .popover-arrow*/.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}/*!@:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow, :host-context([dir=rtl]).popover-side-end .popover-arrow*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl].popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){/*!@:host(.popover-side-end:dir(rtl)) .popover-arrow*/.popover-side-end.sc-ion-popover-ios-h:dir(rtl) .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}/*!@.popover-arrow,\n.popover-content*/.popover-arrow.sc-ion-popover-ios,.popover-content.sc-ion-popover-ios{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){/*!@:host(.popover-translucent) .popover-content,\n :host(.popover-translucent) .popover-arrow::after*/.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}";
29458
+ const popoverIosCss = "/*!@:host*/.sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}/*!@:host(.popover-nested)*/.popover-nested.sc-ion-popover-ios-h{pointer-events:none}/*!@:host(.popover-nested) .popover-wrapper*/.popover-nested.sc-ion-popover-ios-h .popover-wrapper.sc-ion-popover-ios{pointer-events:auto}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-popover-ios-h{display:none}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-ios{z-index:10}/*!@.popover-content*/.popover-content.sc-ion-popover-ios{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}/*!@::slotted(.popover-viewport)*/.sc-ion-popover-ios-s>.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}/*!@:host(.popover-nested.popover-side-left)*/.popover-nested.popover-side-left.sc-ion-popover-ios-h{--offset-x:5px}/*!@:host(.popover-nested.popover-side-right)*/.popover-nested.popover-side-right.sc-ion-popover-ios-h{--offset-x:-5px}/*!@:host(.popover-nested.popover-side-start)*/.popover-nested.popover-side-start.sc-ion-popover-ios-h{--offset-x:5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl].popover-nested.popover-side-start.sc-ion-popover-ios-h,[dir=rtl] .popover-nested.popover-side-start.sc-ion-popover-ios-h{--offset-x:-5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-start:dir(rtl))*/.popover-nested.popover-side-start.sc-ion-popover-ios-h:dir(rtl){--offset-x:-5px}}/*!@:host(.popover-nested.popover-side-end)*/.popover-nested.popover-side-end.sc-ion-popover-ios-h{--offset-x:-5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl].popover-nested.popover-side-end.sc-ion-popover-ios-h,[dir=rtl] .popover-nested.popover-side-end.sc-ion-popover-ios-h{--offset-x:5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-end:dir(rtl))*/.popover-nested.popover-side-end.sc-ion-popover-ios-h:dir(rtl){--offset-x:5px}}/*!@:host*/.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}/*!@:host(.popover-desktop)*/.popover-desktop.sc-ion-popover-ios-h{--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}/*!@.popover-content*/.popover-content.sc-ion-popover-ios{border-radius:10px}/*!@:host(.popover-desktop) .popover-content*/.popover-desktop.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios{border:0.5px solid var(--ion-color-step-100, #e6e6e6)}/*!@.popover-arrow*/.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}@supports (inset-inline-start: 0){/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{inset-inline-start:3px}}@supports not (inset-inline-start: 0){/*!@.popover-arrow::after*/.popover-arrow.sc-ion-popover-ios::after{left:3px}/*!@:host-context([dir=rtl]) .popover-arrow::after*/[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}/*!@[dir=rtl] .popover-arrow::after*/[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}/*!@@supports selector(:dir(rtl))*/@supports .sc-ion-popover-ios selector(.sc-ion-popover-ios:dir(rtl)){.popover-arrow::after:dir(rtl){left:unset;right:unset;right:3px}}}/*!@:host(.popover-bottom) .popover-arrow*/.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}/*!@:host(.popover-bottom) .popover-arrow::after*/.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}/*!@:host(.popover-side-left) .popover-arrow*/.popover-side-left.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}/*!@:host(.popover-side-right) .popover-arrow*/.popover-side-right.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}/*!@:host(.popover-side-top) .popover-arrow*/.popover-side-top.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(180deg);transform:rotate(180deg)}/*!@:host(.popover-side-start) .popover-arrow*/.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}/*!@:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow, :host-context([dir=rtl]).popover-side-start .popover-arrow*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl].popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .popover-side-start.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){/*!@:host(.popover-side-start:dir(rtl)) .popover-arrow*/.popover-side-start.sc-ion-popover-ios-h:dir(rtl) .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}/*!@:host(.popover-side-end) .popover-arrow*/.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}/*!@:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow, :host-context([dir=rtl]).popover-side-end .popover-arrow*/[dir=rtl].sc-ion-popover-ios-h -no-combinator.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .sc-ion-popover-ios-h -no-combinator.popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl].popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios,[dir=rtl] .popover-side-end.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){/*!@:host(.popover-side-end:dir(rtl)) .popover-arrow*/.popover-side-end.sc-ion-popover-ios-h:dir(rtl) .popover-arrow.sc-ion-popover-ios{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}/*!@.popover-arrow,\n.popover-content*/.popover-arrow.sc-ion-popover-ios,.popover-content.sc-ion-popover-ios{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){/*!@:host(.popover-translucent) .popover-content,\n :host(.popover-translucent) .popover-arrow::after*/.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}";
29192
29459
  var IonPopoverIosStyle0 = popoverIosCss;
29193
29460
 
29194
- const popoverMdCss = "/*!@:host*/.sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}/*!@:host(.popover-nested)*/.popover-nested.sc-ion-popover-md-h{pointer-events:none}/*!@:host(.popover-nested) .popover-wrapper*/.popover-nested.sc-ion-popover-md-h .popover-wrapper.sc-ion-popover-md{pointer-events:auto}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-popover-md-h{display:none}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-md{z-index:10}/*!@.popover-content*/.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}/*!@::slotted(.popover-viewport)*/.sc-ion-popover-md-s>.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}/*!@:host(.popover-nested.popover-side-left)*/.popover-nested.popover-side-left.sc-ion-popover-md-h{--offset-x:5px}/*!@:host(.popover-nested.popover-side-right)*/.popover-nested.popover-side-right.sc-ion-popover-md-h{--offset-x:-5px}/*!@:host(.popover-nested.popover-side-start)*/.popover-nested.popover-side-start.sc-ion-popover-md-h{--offset-x:5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start*/[dir=rtl].sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl] .sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl].popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl] .popover-nested.popover-side-start.sc-ion-popover-md-h{--offset-x:-5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-start:dir(rtl))*/.popover-nested.popover-side-start.sc-ion-popover-md-h:dir(rtl){--offset-x:-5px}}/*!@:host(.popover-nested.popover-side-end)*/.popover-nested.popover-side-end.sc-ion-popover-md-h{--offset-x:-5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end*/[dir=rtl].sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl] .sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl].popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl] .popover-nested.popover-side-end.sc-ion-popover-md-h{--offset-x:5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-end:dir(rtl))*/.popover-nested.popover-side-end.sc-ion-popover-md-h:dir(rtl){--offset-x:5px}}/*!@:host*/.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}/*!@.popover-content*/.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}/*!@:host-context([dir=rtl]) .popover-content*/[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}/*!@[dir=rtl] .popover-content*/[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){/*!@.popover-content:dir(rtl)*/.popover-content.sc-ion-popover-md:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}/*!@.popover-viewport*/.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-md{opacity:0}";
29461
+ const popoverMdCss = "/*!@:host*/.sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}/*!@:host(.popover-nested)*/.popover-nested.sc-ion-popover-md-h{pointer-events:none}/*!@:host(.popover-nested) .popover-wrapper*/.popover-nested.sc-ion-popover-md-h .popover-wrapper.sc-ion-popover-md{pointer-events:auto}/*!@:host(.overlay-hidden)*/.overlay-hidden.sc-ion-popover-md-h{display:none}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-md{z-index:10}/*!@.popover-content*/.popover-content.sc-ion-popover-md{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}/*!@::slotted(.popover-viewport)*/.sc-ion-popover-md-s>.popover-viewport{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}/*!@:host(.popover-nested.popover-side-left)*/.popover-nested.popover-side-left.sc-ion-popover-md-h{--offset-x:5px}/*!@:host(.popover-nested.popover-side-right)*/.popover-nested.popover-side-right.sc-ion-popover-md-h{--offset-x:-5px}/*!@:host(.popover-nested.popover-side-start)*/.popover-nested.popover-side-start.sc-ion-popover-md-h{--offset-x:5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-start), :host-context([dir=rtl]).popover-nested.popover-side-start*/[dir=rtl].sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl] .sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl].popover-nested.popover-side-start.sc-ion-popover-md-h,[dir=rtl] .popover-nested.popover-side-start.sc-ion-popover-md-h{--offset-x:-5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-start:dir(rtl))*/.popover-nested.popover-side-start.sc-ion-popover-md-h:dir(rtl){--offset-x:-5px}}/*!@:host(.popover-nested.popover-side-end)*/.popover-nested.popover-side-end.sc-ion-popover-md-h{--offset-x:-5px}/*!@:host-context([dir=rtl]):host(.popover-nested.popover-side-end), :host-context([dir=rtl]).popover-nested.popover-side-end*/[dir=rtl].sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl] .sc-ion-popover-md-h -no-combinator.popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl].popover-nested.popover-side-end.sc-ion-popover-md-h,[dir=rtl] .popover-nested.popover-side-end.sc-ion-popover-md-h{--offset-x:5px}@supports selector(:dir(rtl)){/*!@:host(.popover-nested.popover-side-end:dir(rtl))*/.popover-nested.popover-side-end.sc-ion-popover-md-h:dir(rtl){--offset-x:5px}}/*!@:host*/.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}/*!@.popover-content*/.popover-content.sc-ion-popover-md{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}/*!@:host-context([dir=rtl]) .popover-content*/[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}/*!@[dir=rtl] .popover-content*/[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){/*!@.popover-content:dir(rtl)*/.popover-content.sc-ion-popover-md:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}/*!@.popover-viewport*/.popover-viewport.sc-ion-popover-md{-webkit-transition-delay:100ms;transition-delay:100ms}/*!@.popover-wrapper*/.popover-wrapper.sc-ion-popover-md{opacity:0}";
29195
29462
  var IonPopoverMdStyle0 = popoverMdCss;
29196
29463
 
29197
29464
  // TODO(FW-2832): types
@@ -29523,9 +29790,9 @@ class Popover {
29523
29790
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes } = this;
29524
29791
  const desktop = isPlatform('desktop');
29525
29792
  const enableArrow = arrow && !parentPopover;
29526
- return (hAsync(Host, Object.assign({ key: '104a5bf92a9bbd2efc71d499a8500e5d55f81711', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
29793
+ return (hAsync(Host, Object.assign({ key: 'f3b86c7bc6ef6b1b27a6ac78e7ddd98e46223bd4', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
29527
29794
  zIndex: `${20000 + this.overlayIndex}`,
29528
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'ef0baa04c22444d4bc705220235a892308d67586', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '5cc5f5c353de614e484e9cfeacecfca9fbfde0e0', class: "popover-content", part: "content" }, hAsync("slot", { key: '2d85c591cdc85efa98afbf40f676525f1402efcf' })))));
29795
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'f7fbd914100838ed7d419eedd19e6b1efa691127', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'a651cb4daa6556e761c2e2b672306ad25e4c9429', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '7c5c7d8d6f9530535124e3fc75a38055f68b7589', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '9f92fff4f36941e8f7de9774aef7d7508ca5cfe5', class: "popover-content", part: "content" }, hAsync("slot", { key: '26c4e3df40a4832caff996ead3321c656eb5704f' })))));
29529
29796
  }
29530
29797
  get el() { return getElement(this); }
29531
29798
  static get watchers() { return {
@@ -29614,7 +29881,7 @@ class ProgressBar {
29614
29881
  const { color, type, reversed, value, buffer } = this;
29615
29882
  const paused = config.getBoolean('_testing');
29616
29883
  const mode = getIonMode$1(this);
29617
- return (hAsync(Host, { key: '384d09558f91dc8119e689c3a8923e67c54c7eb2', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
29884
+ return (hAsync(Host, { key: '944b79ed6fce1b2c0ed48681cd8517a5abbddd80', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
29618
29885
  [mode]: true,
29619
29886
  [`progress-bar-${type}`]: true,
29620
29887
  'progress-paused': paused,
@@ -30037,7 +30304,7 @@ class RadioGroup {
30037
30304
  const { label, labelId, el, name, value } = this;
30038
30305
  const mode = getIonMode$1(this);
30039
30306
  renderHiddenInput(true, el, name, value, false);
30040
- return hAsync(Host, { key: 'd8e84feca8f4dbe7605bc4ad096b6e68b482ba68', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
30307
+ return hAsync(Host, { key: '6065674a08ac2ead25e87219b5628879a759b75a', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
30041
30308
  }
30042
30309
  get el() { return getElement(this); }
30043
30310
  static get watchers() { return {
@@ -30163,8 +30430,14 @@ class Range {
30163
30430
  el: rangeSlider,
30164
30431
  gestureName: 'range',
30165
30432
  gesturePriority: 100,
30166
- threshold: 0,
30167
- onStart: (ev) => this.onStart(ev),
30433
+ /**
30434
+ * Provide a threshold since the drag movement
30435
+ * might be a user scrolling the view.
30436
+ * If this is true, then the range
30437
+ * should not move.
30438
+ */
30439
+ threshold: 10,
30440
+ onStart: () => this.onStart(),
30168
30441
  onMove: (ev) => this.onMove(ev),
30169
30442
  onEnd: (ev) => this.onEnd(ev),
30170
30443
  });
@@ -30347,33 +30620,93 @@ class Range {
30347
30620
  this.value = this.ensureValueInBounds(this.value);
30348
30621
  this.ionChange.emit({ value: this.value });
30349
30622
  }
30350
- onStart(detail) {
30351
- const { contentEl } = this;
30352
- if (contentEl) {
30623
+ /**
30624
+ * The value should be updated on touch end or
30625
+ * when the component is being dragged.
30626
+ * This follows the native behavior of mobile devices.
30627
+ *
30628
+ * For example: When the user lifts their finger from the
30629
+ * screen after tapping the bar or dragging the bar or knob.
30630
+ */
30631
+ onStart() {
30632
+ this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
30633
+ }
30634
+ /**
30635
+ * The value should be updated while dragging the
30636
+ * bar or knob.
30637
+ *
30638
+ * While the user is dragging, the view
30639
+ * should not scroll. This is to prevent the user from
30640
+ * feeling disoriented while dragging.
30641
+ *
30642
+ * The user can scroll on the view if the knob or
30643
+ * bar is not being dragged.
30644
+ *
30645
+ * @param detail The details of the gesture event.
30646
+ */
30647
+ onMove(detail) {
30648
+ const { contentEl, pressedKnob } = this;
30649
+ const currentX = detail.currentX;
30650
+ /**
30651
+ * Since the user is dragging on the bar or knob, the view should not scroll.
30652
+ *
30653
+ * This only needs to be done once.
30654
+ */
30655
+ if (contentEl && this.initialContentScrollY === undefined) {
30353
30656
  this.initialContentScrollY = disableContentScrollY(contentEl);
30354
30657
  }
30355
- const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
30356
- const currentX = detail.currentX;
30357
- // figure out which knob they started closer to
30358
- let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
30359
- if (isRTL$1(this.el)) {
30360
- ratio = 1 - ratio;
30658
+ /**
30659
+ * The `pressedKnob` can be undefined if the user just
30660
+ * started dragging the knob.
30661
+ *
30662
+ * This is necessary to determine which knob the user is dragging,
30663
+ * especially when it's a dual knob.
30664
+ * Plus, it determines when to apply certain styles.
30665
+ *
30666
+ * This only needs to be done once since the knob won't change
30667
+ * while the user is dragging.
30668
+ */
30669
+ if (pressedKnob === undefined) {
30670
+ this.setPressedKnob(currentX);
30361
30671
  }
30362
- this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
30363
- this.setFocus(this.pressedKnob);
30364
- // update the active knob's position
30365
30672
  this.update(currentX);
30366
- this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
30367
- }
30368
- onMove(detail) {
30369
- this.update(detail.currentX);
30370
30673
  }
30674
+ /**
30675
+ * The value should be updated on touch end:
30676
+ * - When the user lifts their finger from the screen after
30677
+ * tapping the bar.
30678
+ *
30679
+ * @param detail The details of the gesture or mouse event.
30680
+ */
30371
30681
  onEnd(detail) {
30372
30682
  const { contentEl, initialContentScrollY } = this;
30373
- if (contentEl) {
30683
+ const currentX = detail.currentX || detail.clientX;
30684
+ /**
30685
+ * The `pressedKnob` can be undefined if the user never
30686
+ * dragged the knob. They just tapped on the bar.
30687
+ *
30688
+ * This is necessary to determine which knob the user is changing,
30689
+ * especially when it's a dual knob.
30690
+ * Plus, it determines when to apply certain styles.
30691
+ */
30692
+ if (this.pressedKnob === undefined) {
30693
+ this.setPressedKnob(currentX);
30694
+ }
30695
+ /**
30696
+ * The user is no longer dragging the bar or
30697
+ * knob (if they were dragging it).
30698
+ *
30699
+ * The user can now scroll on the view in the next gesture event.
30700
+ */
30701
+ if (contentEl && initialContentScrollY !== undefined) {
30374
30702
  resetContentScrollY(contentEl, initialContentScrollY);
30375
30703
  }
30376
- this.update(detail.currentX);
30704
+ // update the active knob's position
30705
+ this.update(currentX);
30706
+ /**
30707
+ * Reset the pressed knob to undefined since the user
30708
+ * may start dragging a different knob in the next gesture event.
30709
+ */
30377
30710
  this.pressedKnob = undefined;
30378
30711
  this.emitValueChange();
30379
30712
  this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
@@ -30400,6 +30733,16 @@ class Range {
30400
30733
  // Update input value
30401
30734
  this.updateValue();
30402
30735
  }
30736
+ setPressedKnob(currentX) {
30737
+ const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
30738
+ // figure out which knob they started closer to
30739
+ let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
30740
+ if (isRTL$1(this.el)) {
30741
+ ratio = 1 - ratio;
30742
+ }
30743
+ this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
30744
+ this.setFocus(this.pressedKnob);
30745
+ }
30403
30746
  get valA() {
30404
30747
  return ratioToValue(this.ratioA, this.min, this.max, this.step);
30405
30748
  }
@@ -30602,7 +30945,36 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
30602
30945
  if (!this.legacyFormController.hasLegacyControl() && this.hasLabel) {
30603
30946
  labelledBy = 'range-label';
30604
30947
  }
30605
- return (hAsync("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (hAsync("div", { style: tickStyle(tick), role: "presentation", class: {
30948
+ return (hAsync("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl),
30949
+ /**
30950
+ * Since the gesture has a threshold, the value
30951
+ * won't change until the user has dragged past
30952
+ * the threshold. This is to prevent the range
30953
+ * from moving when the user is scrolling.
30954
+ *
30955
+ * This results in the value not being updated
30956
+ * and the event emitters not being triggered
30957
+ * if the user taps on the range. This is why
30958
+ * we need to listen for the "pointerUp" event.
30959
+ */
30960
+ onPointerUp: (ev) => {
30961
+ /**
30962
+ * If the user drags the knob on the web
30963
+ * version (does not occur on mobile),
30964
+ * the "pointerUp" event will be triggered
30965
+ * along with the gesture's events.
30966
+ * This leads to duplicate events.
30967
+ *
30968
+ * By checking if the pressedKnob is undefined,
30969
+ * we can determine if the "pointerUp" event was
30970
+ * triggered by a tap or a drag. If it was
30971
+ * dragged, the pressedKnob will be defined.
30972
+ */
30973
+ if (this.pressedKnob === undefined) {
30974
+ this.onStart();
30975
+ this.onEnd(ev);
30976
+ }
30977
+ } }, ticks.map((tick) => (hAsync("div", { style: tickStyle(tick), role: "presentation", class: {
30606
30978
  'range-tick': true,
30607
30979
  'range-tick-active': tick.active,
30608
30980
  }, part: tick.active ? 'tick-active' : 'tick' }))), hAsync("div", { class: "range-bar-container" }, hAsync("div", { class: "range-bar", role: "presentation", part: "bar" }), hAsync("div", { class: {
@@ -31513,7 +31885,7 @@ class Refresher {
31513
31885
  }
31514
31886
  render() {
31515
31887
  const mode = getIonMode$1(this);
31516
- return (hAsync(Host, { key: '9cf8e306e367e0ffd99f8a242dce0c9d78f96317', slot: "fixed", class: {
31888
+ return (hAsync(Host, { key: '96f4f595ebdb92a12755b642398691bcaab9f7c1', slot: "fixed", class: {
31517
31889
  [mode]: true,
31518
31890
  // Used internally for styling
31519
31891
  [`refresher-${mode}`]: true,
@@ -31741,7 +32113,7 @@ class RefresherContent {
31741
32113
  const pullingIcon = this.pullingIcon;
31742
32114
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
31743
32115
  const mode = getIonMode$1(this);
31744
- return (hAsync(Host, { key: '537e4d601fd09804d072e9fed9b2c6ba8d890548', class: mode }, hAsync("div", { key: '67f46df746f7da2fc60c47da9216a2920c25166f', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { class: "refresher-pulling-icon" }, hAsync("div", { class: "spinner-arrow-container" }, hAsync("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { class: "arrow-container" }, hAsync("ion-icon", { icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { class: "refresher-pulling-icon" }, hAsync("ion-icon", { icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '216f96af452e1567df7906c4d9e6fbf8c397ad21', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
32116
+ return (hAsync(Host, { key: 'cf3caa51c4aba8a95622f6d32cafa90b683b9d6e', class: mode }, hAsync("div", { key: '5ad70801104bbea873d3525206660c52e4447903', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '0f95df169fd367528bfaa5d9ccf6690a613609c4', class: "refresher-pulling-icon" }, hAsync("div", { key: '4b8f0465a19f017751b207807c32e1fe00fda433', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '77e60179d76f0d17f8f2dc3518f97a2a924418e6', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: 'f78f63f08f071bead1bfe655bae6394f8a219d91', class: "arrow-container" }, hAsync("ion-icon", { key: '4d833d134d2b221cae2dfb0611d4029f2d664db5', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'e6db19d7fa324363d2a7c3c046510f4c8461f7e6', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: '66c2ef1a53c5809f49891de515da5f55d9bf8dcc', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '80c413e21d362a5bb0419fcd13092453b3445cee', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '0d5511f9644de26332a1a9ed39b160691fab74d9', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '54e4a96b081c7b453a98e00cceea7c086268a450', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
31745
32117
  }
31746
32118
  get el() { return getElement(this); }
31747
32119
  static get cmpMeta() { return {
@@ -31784,7 +32156,7 @@ class Reorder {
31784
32156
  render() {
31785
32157
  const mode = getIonMode$1(this);
31786
32158
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
31787
- return (hAsync(Host, { key: 'e625707b1810f93f5c667e38b8e2904988a3cff0', class: mode }, hAsync("slot", { key: 'fd0c3167e8a7955a6f841b338345de0528535ff5' }, hAsync("ion-icon", { key: '3fc7bb1adb0dde839ec4898361e359c640e81067', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
32159
+ return (hAsync(Host, { key: '5747b63aa64b05bfed96bbce8087186c7e14c6d5', class: mode }, hAsync("slot", { key: 'a745f29a23c905cd0bff572acb755b597a3fb3c3' }, hAsync("ion-icon", { key: '48f433e85a3a68c16bc426623b2b74957b4b2eb7', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
31788
32160
  }
31789
32161
  get el() { return getElement(this); }
31790
32162
  static get style() { return {
@@ -32038,7 +32410,7 @@ class ReorderGroup {
32038
32410
  }
32039
32411
  render() {
32040
32412
  const mode = getIonMode$1(this);
32041
- return (hAsync(Host, { key: '067b8ff26887c4e458163f70f7308723c90a53f8', class: {
32413
+ return (hAsync(Host, { key: '68b5e5fa00a0531c74597964d84c82da8bc3252f', class: {
32042
32414
  [mode]: true,
32043
32415
  'reorder-enabled': !this.disabled,
32044
32416
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -32146,7 +32518,7 @@ class RippleEffect {
32146
32518
  }
32147
32519
  render() {
32148
32520
  const mode = getIonMode$1(this);
32149
- return (hAsync(Host, { key: 'a9ff1956627908ee4071002ca018eaa80f87cd59', role: "presentation", class: {
32521
+ return (hAsync(Host, { key: 'f1129019a6d556b008c754aeb79618c69baea9f8', role: "presentation", class: {
32150
32522
  [mode]: true,
32151
32523
  unbounded: this.unbounded,
32152
32524
  } }));
@@ -33088,10 +33460,10 @@ class RouterLink {
33088
33460
  rel: this.rel,
33089
33461
  target: this.target,
33090
33462
  };
33091
- return (hAsync(Host, { key: '9944573e56abecc47afd2df03b386e38fc7ed2f3', onClick: this.onClick, class: createColorClasses$1(this.color, {
33463
+ return (hAsync(Host, { key: 'e69892f4c6a6baf040a20c429afdec0e4db2dc0e', onClick: this.onClick, class: createColorClasses$1(this.color, {
33092
33464
  [mode]: true,
33093
33465
  'ion-activatable': true,
33094
- }) }, hAsync("a", Object.assign({ key: '383de10c02eb9ab87e27890548ef681dccf2a765' }, attrs), hAsync("slot", { key: '584a5a52e2b116f3827596cc5869a3557d6bcb6b' }))));
33466
+ }) }, hAsync("a", Object.assign({ key: '648cb22526f2933abe0865c86da6f30eac3ccb87' }, attrs), hAsync("slot", { key: 'd6bc2e28b7c5cc228caedffebe653bde35934b67' }))));
33095
33467
  }
33096
33468
  static get style() { return IonRouterLinkStyle0; }
33097
33469
  static get cmpMeta() { return {
@@ -33287,7 +33659,7 @@ class RouterOutlet {
33287
33659
  return true;
33288
33660
  }
33289
33661
  render() {
33290
- return hAsync("slot", { key: '5e31ebd99536453783f5b6f9119d7fa2bf8a5aad' });
33662
+ return hAsync("slot", { key: '3fe520ecae37af68e07a51f3a3223ea454035a59' });
33291
33663
  }
33292
33664
  get el() { return getElement(this); }
33293
33665
  static get watchers() { return {
@@ -33321,7 +33693,7 @@ class Row {
33321
33693
  registerInstance(this, hostRef);
33322
33694
  }
33323
33695
  render() {
33324
- return (hAsync(Host, { key: 'de94b93c001a93b2a88bcb8e959f421fd5ad4a65', class: getIonMode$1(this) }, hAsync("slot", { key: '41fa951758d3644bb77d80002caf6e25a79393ce' })));
33696
+ return (hAsync(Host, { key: '242c9a45b0bb39af2aebf412fdfa9a176babc834', class: getIonMode$1(this) }, hAsync("slot", { key: 'd9015d663d631bbf20bd3e0821fed874cd6c5156' })));
33325
33697
  }
33326
33698
  static get style() { return IonRowStyle0; }
33327
33699
  static get cmpMeta() { return {
@@ -33356,6 +33728,7 @@ class Searchbar {
33356
33728
  this.isCancelVisible = false;
33357
33729
  this.shouldAlignLeft = true;
33358
33730
  this.inputId = `ion-searchbar-${searchbarIds++}`;
33731
+ this.inheritedAttributes = {};
33359
33732
  /**
33360
33733
  * Clears the input field and triggers the control change.
33361
33734
  */
@@ -33456,6 +33829,7 @@ class Searchbar {
33456
33829
  this.noAnimate = true;
33457
33830
  this.color = undefined;
33458
33831
  this.animated = false;
33832
+ this.autocapitalize = 'default';
33459
33833
  this.autocomplete = 'off';
33460
33834
  this.autocorrect = 'off';
33461
33835
  this.cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);
@@ -33465,6 +33839,8 @@ class Searchbar {
33465
33839
  this.disabled = false;
33466
33840
  this.inputmode = undefined;
33467
33841
  this.enterkeyhint = undefined;
33842
+ this.maxlength = undefined;
33843
+ this.minlength = undefined;
33468
33844
  this.name = this.inputId;
33469
33845
  this.placeholder = 'Search';
33470
33846
  this.searchIcon = undefined;
@@ -33474,6 +33850,19 @@ class Searchbar {
33474
33850
  this.type = 'search';
33475
33851
  this.value = '';
33476
33852
  }
33853
+ /**
33854
+ * lang and dir are globally enumerated attributes.
33855
+ * As a result, creating these as properties
33856
+ * can have unintended side effects. Instead, we
33857
+ * listen for attribute changes and inherit them
33858
+ * to the inner `<input>` element.
33859
+ */
33860
+ onLangChanged(newValue) {
33861
+ this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });
33862
+ }
33863
+ onDirChanged(newValue) {
33864
+ this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
33865
+ }
33477
33866
  debounceChanged() {
33478
33867
  const { ionInput, debounce, originalIonInput } = this;
33479
33868
  /**
@@ -33497,6 +33886,9 @@ class Searchbar {
33497
33886
  connectedCallback() {
33498
33887
  this.emitStyle();
33499
33888
  }
33889
+ componentWillLoad() {
33890
+ this.inheritedAttributes = Object.assign({}, inheritAttributes$1(this.el, ['lang', 'dir']));
33891
+ }
33500
33892
  componentDidLoad() {
33501
33893
  this.originalIonInput = this.ionInput;
33502
33894
  this.positionElements();
@@ -33689,14 +34081,14 @@ class Searchbar {
33689
34081
  return true;
33690
34082
  }
33691
34083
  render() {
33692
- const { cancelButtonText } = this;
34084
+ const { cancelButtonText, autocapitalize } = this;
33693
34085
  const animated = this.animated && config.getBoolean('animated', true);
33694
34086
  const mode = getIonMode$1(this);
33695
34087
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
33696
34088
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
33697
34089
  const shouldShowCancelButton = this.shouldShowCancelButton();
33698
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '1de9b9bc6bad708bafcf4d31fa82838355120486', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: 'e5178016e17104a80732edbae73c0dfc264bfe52', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
33699
- return (hAsync(Host, { key: '2c88a7b6ec7f33ada7dae560881210d7a8800f76', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
34090
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '9c7b4d2e86d9bcd12e57c9a96723d3da598a3773', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '1c25268a776134cccd29eb752898cb8ac0eed30f', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
34091
+ return (hAsync(Host, { key: 'feef9fc7e405656e134a76dc037aaaa1a4ce36b4', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
33700
34092
  [mode]: true,
33701
34093
  'searchbar-animated': animated,
33702
34094
  'searchbar-disabled': this.disabled,
@@ -33706,17 +34098,19 @@ class Searchbar {
33706
34098
  'searchbar-has-focus': this.focused,
33707
34099
  'searchbar-should-show-clear': this.shouldShowClearButton(),
33708
34100
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
33709
- }) }, hAsync("div", { key: '8e914264a99453748a2bf370943e4047a0a587fb', class: "searchbar-input-container" }, hAsync("input", { key: 'd772f3e8d42301e50fbd6c9deb332fbdf3c435ac', "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, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '8d9b461c2c34729b1bb562c227868cf817a353bc', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: 'bcc39be721f4b825af31aae4dfb3058722d889a8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
34101
+ }) }, hAsync("div", { key: '92e3925dc0de468e5665705902153837105dfa57', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: 'fb74faf81b347a62338ccdac981525df1c52b322', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: 'd58c3636dac1d2e4135989f4c07dc95c51492e60', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '1cece7c63ca5ca4b8799e15ee6d2bac100ef0d5e', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
33710
34102
  /**
33711
34103
  * This prevents mobile browsers from
33712
34104
  * blurring the input when the clear
33713
34105
  * button is activated.
33714
34106
  */
33715
34107
  ev.preventDefault();
33716
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '9a6478e1f1482aa6e62c88bd96cd19cacbfb8d60', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
34108
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'fe3c2b9cac29002f69e95a89b554c7504e2df050', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
33717
34109
  }
33718
34110
  get el() { return getElement(this); }
33719
34111
  static get watchers() { return {
34112
+ "lang": ["onLangChanged"],
34113
+ "dir": ["onDirChanged"],
33720
34114
  "debounce": ["debounceChanged"],
33721
34115
  "value": ["valueChanged"],
33722
34116
  "showCancelButton": ["showCancelButtonChanged"]
@@ -33731,6 +34125,7 @@ class Searchbar {
33731
34125
  "$members$": {
33732
34126
  "color": [513],
33733
34127
  "animated": [4],
34128
+ "autocapitalize": [1],
33734
34129
  "autocomplete": [1],
33735
34130
  "autocorrect": [1],
33736
34131
  "cancelButtonIcon": [1, "cancel-button-icon"],
@@ -33740,6 +34135,8 @@ class Searchbar {
33740
34135
  "disabled": [4],
33741
34136
  "inputmode": [1],
33742
34137
  "enterkeyhint": [1],
34138
+ "maxlength": [2],
34139
+ "minlength": [2],
33743
34140
  "name": [1],
33744
34141
  "placeholder": [1],
33745
34142
  "searchIcon": [1, "search-icon"],
@@ -34182,14 +34579,14 @@ class Segment {
34182
34579
  }
34183
34580
  render() {
34184
34581
  const mode = getIonMode$1(this);
34185
- return (hAsync(Host, { key: '971e62fdaef3b6380aa1bf214605a5bfde662abf', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
34582
+ return (hAsync(Host, { key: '01c94f9fcc51fb5a7612588c87155a130b7c8a9d', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
34186
34583
  [mode]: true,
34187
34584
  'in-toolbar': hostContext('ion-toolbar', this.el),
34188
34585
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
34189
34586
  'segment-activated': this.activated,
34190
34587
  'segment-disabled': this.disabled,
34191
34588
  'segment-scrollable': this.scrollable,
34192
- }) }, hAsync("slot", { key: 'eaa7a8a3d5237c8bbc03f57690fd0aa7e4c124e3' })));
34589
+ }) }, hAsync("slot", { key: 'b0afdfcb7506a765df42d1d6eb4e1d81bf8fd92a' })));
34193
34590
  }
34194
34591
  get el() { return getElement(this); }
34195
34592
  static get watchers() { return {
@@ -34299,7 +34696,7 @@ class SegmentButton {
34299
34696
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
34300
34697
  const mode = getIonMode$1(this);
34301
34698
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
34302
- return (hAsync(Host, { key: 'b50b375ed817b47720b743078202f38c737a4034', class: {
34699
+ return (hAsync(Host, { key: 'daed55711fdb550747d2ad5fb6e012bff6f6b176', class: {
34303
34700
  [mode]: true,
34304
34701
  'in-toolbar': hostContext('ion-toolbar', this.el),
34305
34702
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -34315,10 +34712,10 @@ class SegmentButton {
34315
34712
  'ion-activatable': true,
34316
34713
  'ion-activatable-instant': true,
34317
34714
  'ion-focusable': true,
34318
- } }, hAsync("button", Object.assign({ key: '402f6467ec9ce97aa1df2c72382d07242b51c114', "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: '4f5a1988296c4e59e64255feff264bbbe2ccc312', class: "button-inner" }, hAsync("slot", { key: '35b2a26cca8c76a111e447fa8cae464c504fcb97' })), mode === 'md' && hAsync("ion-ripple-effect", null)), hAsync("div", { key: 'adca0f1e0efcf18b575013d4fb2f22814c81c147', part: "indicator", class: {
34715
+ } }, hAsync("button", Object.assign({ key: '851a4b8ff7e45f5fc559c4d8e9c3102441dbd10e', "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: 'b2dc87747e81ce49dfa1269355027d9380226a6a', class: "button-inner" }, hAsync("slot", { key: '00e21fdcafb533605518beebb9557c724fc88e76' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '358c90ab1b43aae3bc6eb1e58fb38d4892894a68' })), hAsync("div", { key: '20fd3f7c43dd117541314e852d894af855050707', part: "indicator", class: {
34319
34716
  'segment-button-indicator': true,
34320
34717
  'segment-button-indicator-animated': true,
34321
- } }, hAsync("div", { key: '8a23ffe49dc115ee0603e298bb6a39834b910b67', part: "indicator-background", class: "segment-button-indicator-background" }))));
34718
+ } }, hAsync("div", { key: 'bebdeb84466c404d52ce48feda1ece5fb1f202b0', part: "indicator-background", class: "segment-button-indicator-background" }))));
34322
34719
  }
34323
34720
  get el() { return getElement(this); }
34324
34721
  static get watchers() { return {
@@ -34498,7 +34895,7 @@ class Select {
34498
34895
  if (indexOfSelected > -1) {
34499
34896
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
34500
34897
  if (selectedItem) {
34501
- focusElement(selectedItem);
34898
+ focusVisibleElement(selectedItem);
34502
34899
  /**
34503
34900
  * Browsers such as Firefox do not
34504
34901
  * correctly delegate focus when manually
@@ -34522,7 +34919,7 @@ class Select {
34522
34919
  */
34523
34920
  const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
34524
34921
  if (firstEnabledOption) {
34525
- focusElement(firstEnabledOption.closest('ion-item'));
34922
+ focusVisibleElement(firstEnabledOption.closest('ion-item'));
34526
34923
  /**
34527
34924
  * Focus the option for the same reason as we do above.
34528
34925
  */
@@ -35116,7 +35513,7 @@ class SelectOption {
35116
35513
  this.value = undefined;
35117
35514
  }
35118
35515
  render() {
35119
- return hAsync(Host, { key: 'fe62f2d62ede6866e20969a2e7ae25453648fcef', role: "option", id: this.inputId, class: getIonMode$1(this) });
35516
+ return hAsync(Host, { key: 'abf6e85d60e815f59077910abec922826bf46eb2', role: "option", id: this.inputId, class: getIonMode$1(this) });
35120
35517
  }
35121
35518
  get el() { return getElement(this); }
35122
35519
  static get style() { return IonSelectOptionStyle0; }
@@ -35236,7 +35633,7 @@ class SelectPopover {
35236
35633
  render() {
35237
35634
  const { header, message, options, subHeader } = this;
35238
35635
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
35239
- return (hAsync(Host, { key: '9d3995131364d4f1d282e0a1fc34e778e94c9f98', class: getIonMode$1(this) }, hAsync("ion-list", { key: '14244dcd6375eb61d65f3a9450d42a5d7b2d6541' }, header !== undefined && hAsync("ion-list-header", null, header), hasSubHeaderOrMessage && (hAsync("ion-item", null, hAsync("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", null, subHeader), message !== undefined && hAsync("p", null, message)))), this.renderOptions(options))));
35636
+ return (hAsync(Host, { key: 'ddf45e058c75aae175f8589e3539ff152a5b47ad', class: getIonMode$1(this) }, hAsync("ion-list", { key: '52dbf712bf6cbdcb9d2e6223b99c67ecc90977ff' }, header !== undefined && hAsync("ion-list-header", { key: '692fc85c97591f09a2a9b0bccc8f71e97681cc09' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'ecab23444eaadc3ed21e7053d50890db1012475f' }, hAsync("ion-label", { key: '639f08137d7066fd79316f63e850ddcc6a3b54a7', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'dc501101ac9d68b1d0ce80679b339a2b132d1ae9' }, subHeader), message !== undefined && hAsync("p", { key: '5ead8c1a2e90d29fe0f05e04a9fa65c7e9e62ca5' }, message)))), this.renderOptions(options))));
35240
35637
  }
35241
35638
  get el() { return getElement(this); }
35242
35639
  static get style() { return {
@@ -35284,11 +35681,11 @@ class SkeletonText {
35284
35681
  const animated = this.animated && config.getBoolean('animated', true);
35285
35682
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
35286
35683
  const mode = getIonMode$1(this);
35287
- return (hAsync(Host, { key: 'ee3cd9a5448fb69c8ddfc88a993f9968e1a381ff', class: {
35684
+ return (hAsync(Host, { key: '4dab0fd2de666de12ad8f6dc6ed1e1de0be67ddd', class: {
35288
35685
  [mode]: true,
35289
35686
  'skeleton-text-animated': animated,
35290
35687
  'in-media': inMedia,
35291
- } }, hAsync("span", { key: '8aa792724a3b77877062e9aae838d9e1572b576f' }, "\u00A0")));
35688
+ } }, hAsync("span", { key: 'f8f908ec24d65e63b14d9a54640a5f18f0fa8fa5' }, "\u00A0")));
35292
35689
  }
35293
35690
  get el() { return getElement(this); }
35294
35691
  static get style() { return IonSkeletonTextStyle0; }
@@ -35341,7 +35738,7 @@ class Spinner {
35341
35738
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
35342
35739
  }
35343
35740
  }
35344
- return (hAsync(Host, { key: '47cd6cd98e36e5b99fbe263a6a102610cae240c3', class: createColorClasses$1(self.color, {
35741
+ return (hAsync(Host, { key: '9e08bf306b28bdd76884d353dcaaf31c1bb591f2', class: createColorClasses$1(self.color, {
35345
35742
  [mode]: true,
35346
35743
  [`spinner-${spinnerName}`]: true,
35347
35744
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -35434,12 +35831,12 @@ class SplitPane {
35434
35831
  }
35435
35832
  render() {
35436
35833
  const mode = getIonMode$1(this);
35437
- return (hAsync(Host, { key: '3efe241375d23ae12c47927aa1fc1f3f4b4e5807', class: {
35834
+ return (hAsync(Host, { key: '57ee198506248916e74d8d082ad547a471e6cc73', class: {
35438
35835
  [mode]: true,
35439
35836
  // Used internally for styling
35440
35837
  [`split-pane-${mode}`]: true,
35441
35838
  'split-pane-visible': this.visible,
35442
- } }, hAsync("slot", { key: 'd5c94319658e2291dcc356e6ed7a9abc1a48a8b9' })));
35839
+ } }, hAsync("slot", { key: '2cd89fa50cfe8a7a6bdda981bb89d5a24a8eec88' })));
35443
35840
  }
35444
35841
  get el() { return getElement(this); }
35445
35842
  static get watchers() { return {
@@ -35507,10 +35904,10 @@ class Tab {
35507
35904
  }
35508
35905
  render() {
35509
35906
  const { tab, active, component } = this;
35510
- return (hAsync(Host, { key: '0f4b90f0b1027e89bd447ace17af31c8e155a827', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
35907
+ return (hAsync(Host, { key: '4fe50fa809503794be2ef91383e49b72cad6fa82', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
35511
35908
  'ion-page': component === undefined,
35512
35909
  'tab-hidden': !active,
35513
- } }, hAsync("slot", { key: 'ec3eaacf8b7085510e89273aa8373805ee98a381' })));
35910
+ } }, hAsync("slot", { key: '937777a826936d6b399329a926a704008339803e' })));
35514
35911
  }
35515
35912
  get el() { return getElement(this); }
35516
35913
  static get watchers() { return {
@@ -35588,11 +35985,11 @@ class TabBar {
35588
35985
  const { color, translucent, keyboardVisible } = this;
35589
35986
  const mode = getIonMode$1(this);
35590
35987
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
35591
- return (hAsync(Host, { key: 'e2b4b50270f171ed251359df6c65c5e7e4d526a4', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35988
+ return (hAsync(Host, { key: '5083528e7f802d2f323ce50585edc98eeb9754c6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
35592
35989
  [mode]: true,
35593
35990
  'tab-bar-translucent': translucent,
35594
35991
  'tab-bar-hidden': shouldHide,
35595
- }) }, hAsync("slot", { key: '37495b2eddd01a758ceaeb36426abc9bd20bcca3' })));
35992
+ }) }, hAsync("slot", { key: 'eb33cdd12da49062219d4aa17a319c3e6361c5c5' })));
35596
35993
  }
35597
35994
  get el() { return getElement(this); }
35598
35995
  static get watchers() { return {
@@ -35690,7 +36087,7 @@ class TabButton {
35690
36087
  rel,
35691
36088
  target,
35692
36089
  };
35693
- return (hAsync(Host, { key: '9926f9392e7910ff3159397e4f907e0d7d2cf5a0', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
36090
+ return (hAsync(Host, { key: 'c7b6a72766b71f34800137dadcf29af657bebddf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
35694
36091
  [mode]: true,
35695
36092
  'tab-selected': selected,
35696
36093
  'tab-disabled': disabled,
@@ -35702,7 +36099,7 @@ class TabButton {
35702
36099
  'ion-activatable': true,
35703
36100
  'ion-selectable': true,
35704
36101
  'ion-focusable': true,
35705
- } }, hAsync("a", Object.assign({ key: '4b3ace749583a5502e94462f9a70c5158fe0194a' }, 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: 'a2a30c02fbd5052da12586a5ab00a45f3bf53b88', class: "button-inner" }, hAsync("slot", { key: '3fb22ffbb09000d99537b531220c029330ae6940' })), mode === 'md' && hAsync("ion-ripple-effect", { type: "unbounded" }))));
36102
+ } }, hAsync("a", Object.assign({ key: 'a1eca4a5cf0dfdb55099811d03f204f7b3807a2e' }, 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: '888a6d8b95c2f0ca8f74f492729bd28f0d3273d5', class: "button-inner" }, hAsync("slot", { key: '83a234af52ffce9ff0f4cc497712c962115a5813' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '771aff1b83233411e0cf706c3e94c78bca534794', type: "unbounded" }))));
35706
36103
  }
35707
36104
  get el() { return getElement(this); }
35708
36105
  static get style() { return {
@@ -35868,7 +36265,7 @@ class Tabs {
35868
36265
  return Array.from(this.el.querySelectorAll('ion-tab'));
35869
36266
  }
35870
36267
  render() {
35871
- return (hAsync(Host, { key: '9044f05f4716fd9c158864175290dfb044e63539', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '178492f52f15a042e47531007a3564a935847818', name: "top" }), hAsync("div", { key: 'b3affaaeb7752194acde36d9de74dbe2b3280cd1', class: "tabs-inner" }, hAsync("slot", { key: '98f0f4e2903f1a6cec041e06b75073c57960a912' })), hAsync("slot", { key: '0899482561bdaf35e97e5a40860c40978daca03a', name: "bottom" })));
36268
+ return (hAsync(Host, { key: '5102fdd8ae80408811312631f0739c356d913840', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '55f781cd010dcebf9675f2a0b4eab9f4271b780e', name: "top" }), hAsync("div", { key: '2da0ee7b8c82e4bfa42f8bc5873e23e50a88c405', class: "tabs-inner" }, hAsync("slot", { key: '6335a62a10398c008c91f87f15b4a940a95e175d' })), hAsync("slot", { key: '9b6f08a21c703cc7fdebd48eb746d0fde6a8454d', name: "bottom" })));
35872
36269
  }
35873
36270
  get el() { return getElement(this); }
35874
36271
  static get style() { return IonTabsStyle0; }
@@ -35910,9 +36307,9 @@ class Text {
35910
36307
  }
35911
36308
  render() {
35912
36309
  const mode = getIonMode$1(this);
35913
- return (hAsync(Host, { key: '8922ebdd7486c9cb9f9b547a49e5be2261df4ba1', class: createColorClasses$1(this.color, {
36310
+ return (hAsync(Host, { key: '4330b56cbc4e15953d9b3162fb40af728a8195dd', class: createColorClasses$1(this.color, {
35914
36311
  [mode]: true,
35915
- }) }, hAsync("slot", { key: '164cbd0f81a00adfac04f544524e905f721c121c' })));
36312
+ }) }, hAsync("slot", { key: 'ec674a71d8fbb04d537fd79d617d9db4a607c340' })));
35916
36313
  }
35917
36314
  static get style() { return IonTextStyle0; }
35918
36315
  static get cmpMeta() { return {
@@ -36411,7 +36808,7 @@ class Thumbnail {
36411
36808
  registerInstance(this, hostRef);
36412
36809
  }
36413
36810
  render() {
36414
- return (hAsync(Host, { key: '2b3d5139161f4b9075dce537c14b4087986b37c4', class: getIonMode$1(this) }, hAsync("slot", { key: '3c4838c43e1230f9413a3cb66584417fd11382b2' })));
36811
+ return (hAsync(Host, { key: 'd2667635930e4c0896805f452357e7dc9086bc72', class: getIonMode$1(this) }, hAsync("slot", { key: '66eb1487f3da4da2ef71b812a8d0f0fe884c7d81' })));
36415
36812
  }
36416
36813
  static get style() { return IonThumbnailStyle0; }
36417
36814
  static get cmpMeta() { return {
@@ -37244,9 +37641,9 @@ class Toast {
37244
37641
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
37245
37642
  printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
37246
37643
  }
37247
- return (hAsync(Host, Object.assign({ key: 'c8d7e7d2baa01d3ed5d65a845bc61acf087c0b18', tabindex: "-1" }, this.htmlAttributes, { style: {
37644
+ return (hAsync(Host, Object.assign({ key: '23803334fb668f6ce7044d3a321cb84bc753bd16', tabindex: "-1" }, this.htmlAttributes, { style: {
37248
37645
  zIndex: `${60000 + this.overlayIndex}`,
37249
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '27c0feeb89c4efb47c42623a4b036ed84338ed10', class: wrapperClass }, hAsync("div", { key: '41d5a3069f92e4a6acef2793fa4e236cdbdaae88', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '176f497bc990ef2ecc14c7fa90dd3a54a912030a', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
37646
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '7cd7138ba079fccf97f318b91e9986491ab4214d', class: wrapperClass }, hAsync("div", { key: '93b78fa64e24435adeb77a04c1d1d53d2f093864', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '9a3c71b164ebcfba2540acb7568beffa76b62f47', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'feb9268102d844f1314205f7440de7066cf0620e', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
37250
37647
  }
37251
37648
  get el() { return getElement(this); }
37252
37649
  static get watchers() { return {
@@ -37632,10 +38029,10 @@ class Toolbar {
37632
38029
  this.childrenStyles.forEach((value) => {
37633
38030
  Object.assign(childStyles, value);
37634
38031
  });
37635
- return (hAsync(Host, { key: 'afac0f08f3981483c072984ce047df5dc9cc1e99', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
38032
+ return (hAsync(Host, { key: '8907ed75fbb2b1dced55c481bba6363f1dca815b', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
37636
38033
  [mode]: true,
37637
38034
  'in-toolbar': hostContext('ion-toolbar', this.el),
37638
- })) }, hAsync("div", { key: '30d4f1d0ec01cc646398301b5f7d469391eb35d2', class: "toolbar-background" }), hAsync("div", { key: '175d1f283e670b57a9bf8fd2a8c5e7d0da749aa8', class: "toolbar-container" }, hAsync("slot", { key: '4853b18092737b32b5995457536fa5a7fc2816ef', name: "start" }), hAsync("slot", { key: '6eb4921200aad02d7977d134edad6cff2aad91ad', name: "secondary" }), hAsync("div", { key: '024e0339c74c4b9a886d49e96723243719643dc2', class: "toolbar-content" }, hAsync("slot", { key: 'b6452c84692fedd6efe33ac67907d01253b76f8f' })), hAsync("slot", { key: '636e56eeaa318ce45a9c3854a30b8eb2819a33e0', name: "primary" }), hAsync("slot", { key: 'a45c19b93dca3719d75bd4d99acc49de87137a7d', name: "end" }))));
38035
+ })) }, hAsync("div", { key: '6bfa09b08d6517f0d680f53b739854cecd631bc9', class: "toolbar-background" }), hAsync("div", { key: '1531bd6dd9e0a5843309bba854b744c453037ad0', class: "toolbar-container" }, hAsync("slot", { key: '881b41697d386eae651b019128573f0fa432cd33', name: "start" }), hAsync("slot", { key: '64a284e6eae5311ac3125dfadb4bb32bdba9d089', name: "secondary" }), hAsync("div", { key: 'c1f47503563b38084b27d7ba54f17ec478482b94', class: "toolbar-content" }, hAsync("slot", { key: '9a85acfba72252705619ae32acae9c14f81aa57d' })), hAsync("slot", { key: '89e08bd761dc6940dbebc5d06f5f080af204aa72', name: "primary" }), hAsync("slot", { key: 'a1cb7d95627f8a3d24dd4b9c11718fc164f53674', name: "end" }))));
37639
38036
  }
37640
38037
  get el() { return getElement(this); }
37641
38038
  static get style() { return {
@@ -37685,11 +38082,11 @@ class ToolbarTitle {
37685
38082
  render() {
37686
38083
  const mode = getIonMode$1(this);
37687
38084
  const size = this.getSize();
37688
- return (hAsync(Host, { key: 'b68a272a33ec81d282629a569676f64d3215a0c7', class: createColorClasses$1(this.color, {
38085
+ return (hAsync(Host, { key: '6f43362b782ef7d340c241bb66f1469663c03cc1', class: createColorClasses$1(this.color, {
37689
38086
  [mode]: true,
37690
38087
  [`title-${size}`]: true,
37691
38088
  'title-rtl': document.dir === 'rtl',
37692
- }) }, hAsync("div", { key: '9069816a14e6e358695c5bd465787cf297c761bc', class: "toolbar-title" }, hAsync("slot", { key: '8894bd04f2292b54050ee864abb5396deadf9874' }))));
38089
+ }) }, hAsync("div", { key: '9c3ff1a289e533ee3426b71ab5560fbea3529502', class: "toolbar-title" }, hAsync("slot", { key: '50d5cc5a1519ad58f1994d2f8c8f08f62baac1fe' }))));
37693
38090
  }
37694
38091
  get el() { return getElement(this); }
37695
38092
  static get watchers() { return {