voyager-ionic-core 7.7.3 → 8.0.0-beta.2

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 (1003) hide show
  1. package/components/action-sheet.js +6 -6
  2. package/components/alert.js +4 -4
  3. package/components/backdrop.js +1 -13
  4. package/components/button-active.js +1 -1
  5. package/components/button.js +4 -4
  6. package/components/buttons.js +3 -3
  7. package/components/checkbox.js +8 -80
  8. package/components/data.js +24 -39
  9. package/components/gesture-controller.js +1 -1
  10. package/components/hardware-back-button.js +3 -3
  11. package/components/helpers.js +2 -9
  12. package/components/index9.js +1 -1
  13. package/components/input-shims.js +8 -1
  14. package/components/input.utils.js +12 -0
  15. package/components/ion-accordion-group.js +1 -1
  16. package/components/ion-app.js +4 -4
  17. package/components/ion-avatar.js +1 -1
  18. package/components/ion-back-button.js +3 -3
  19. package/components/ion-badge.js +4 -4
  20. package/components/ion-breadcrumb.js +4 -4
  21. package/components/ion-breadcrumbs.js +2 -2
  22. package/components/ion-card-content.js +1 -1
  23. package/components/ion-card-header.js +2 -2
  24. package/components/ion-card-subtitle.js +4 -4
  25. package/components/ion-card-title.js +3 -3
  26. package/components/ion-card.js +3 -3
  27. package/components/ion-chip.js +2 -2
  28. package/components/ion-col.js +2 -2
  29. package/components/ion-content.js +5 -6
  30. package/components/ion-datetime-button.js +15 -14
  31. package/components/ion-datetime.js +109 -111
  32. package/components/ion-fab-button.js +4 -4
  33. package/components/ion-fab-list.js +3 -3
  34. package/components/ion-fab.js +2 -2
  35. package/components/ion-footer.js +3 -3
  36. package/components/ion-grid.js +2 -2
  37. package/components/ion-header.js +3 -3
  38. package/components/ion-img.js +1 -1
  39. package/components/ion-infinite-scroll-content.js +4 -4
  40. package/components/ion-infinite-scroll.js +1 -1
  41. package/components/ion-input.js +7 -93
  42. package/components/ion-item-divider.js +4 -4
  43. package/components/ion-item-group.js +1 -1
  44. package/components/ion-item-option.js +4 -4
  45. package/components/ion-item-options.js +4 -4
  46. package/components/ion-item-sliding.js +2 -2
  47. package/components/ion-loading.js +4 -4
  48. package/components/ion-menu-button.js +3 -3
  49. package/components/ion-menu-toggle.js +2 -2
  50. package/components/ion-menu.js +29 -44
  51. package/components/ion-modal.js +43 -28
  52. package/components/ion-nav-link.js +1 -1
  53. package/components/ion-nav.js +9 -5
  54. package/components/ion-note.js +43 -1
  55. package/components/ion-picker-column-option.d.ts +11 -0
  56. package/components/ion-picker-column-option.js +9 -0
  57. package/components/ion-picker-column.js +2 -2
  58. package/components/ion-picker-legacy-column.d.ts +11 -0
  59. package/components/ion-picker-legacy-column.js +9 -0
  60. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  61. package/components/ion-picker-legacy.js +321 -0
  62. package/components/ion-picker.js +1 -315
  63. package/components/ion-progress-bar.js +7 -4
  64. package/components/ion-range.js +160 -109
  65. package/components/ion-refresher-content.js +1 -1
  66. package/components/ion-refresher.js +4 -4
  67. package/components/ion-reorder-group.js +1 -1
  68. package/components/ion-reorder.js +1 -1
  69. package/components/ion-router-link.js +3 -3
  70. package/components/ion-router-outlet.js +2 -2
  71. package/components/ion-router.js +1 -1
  72. package/components/ion-row.js +1 -1
  73. package/components/ion-searchbar.js +36 -7
  74. package/components/ion-segment-button.js +5 -5
  75. package/components/ion-segment.js +2 -2
  76. package/components/ion-select-option.js +1 -1
  77. package/components/ion-select.js +83 -183
  78. package/components/ion-skeleton-text.js +2 -2
  79. package/components/ion-split-pane.js +28 -17
  80. package/components/ion-tab-bar.js +4 -4
  81. package/components/ion-tab-button.js +4 -4
  82. package/components/ion-tab.js +2 -2
  83. package/components/ion-tabs.js +1 -1
  84. package/components/ion-text.js +2 -2
  85. package/components/ion-textarea.js +7 -70
  86. package/components/ion-thumbnail.js +1 -1
  87. package/components/ion-title.js +3 -3
  88. package/components/ion-toast.js +12 -6
  89. package/components/ion-toggle.js +7 -64
  90. package/components/ion-toolbar.js +4 -4
  91. package/components/item.js +29 -95
  92. package/components/label.js +5 -5
  93. package/components/list-header.js +4 -4
  94. package/components/list.js +2 -2
  95. package/components/overlays.js +151 -59
  96. package/components/picker-column-option.js +124 -0
  97. package/components/picker-column.js +367 -324
  98. package/components/picker-column2.js +381 -0
  99. package/components/{picker-internal.js → picker.js} +33 -26
  100. package/components/popover.js +6 -6
  101. package/components/radio-group.js +1 -1
  102. package/components/radio.js +8 -81
  103. package/components/refresher.utils.js +1 -1
  104. package/components/ripple-effect.js +1 -1
  105. package/components/select-popover.js +14 -20
  106. package/components/spinner.js +1 -1
  107. package/components/swipe-back.js +1 -1
  108. package/css/core.css +90 -27
  109. package/css/core.css.map +1 -1
  110. package/css/display.css.map +1 -1
  111. package/css/float-elements.css.map +1 -1
  112. package/css/global.bundle.css +1 -1
  113. package/css/global.bundle.css.map +1 -1
  114. package/css/ionic-swiper.css.map +1 -1
  115. package/css/ionic.bundle.css +1 -1
  116. package/css/ionic.bundle.css.map +1 -1
  117. package/css/padding.css.map +1 -1
  118. package/css/structure.css.map +1 -1
  119. package/css/text-alignment.css.map +1 -1
  120. package/css/text-transformation.css.map +1 -1
  121. package/css/themes/dark.always.css +160 -0
  122. package/css/themes/dark.always.css.map +1 -0
  123. package/css/themes/dark.class.css +160 -0
  124. package/css/themes/dark.class.css.map +1 -0
  125. package/css/themes/dark.css +3 -0
  126. package/css/themes/dark.css.map +1 -0
  127. package/css/themes/dark.system.css +162 -0
  128. package/css/themes/dark.system.css.map +1 -0
  129. package/css/themes/high-contrast-dark.always.css +180 -0
  130. package/css/themes/high-contrast-dark.always.css.map +1 -0
  131. package/css/themes/high-contrast-dark.class.css +180 -0
  132. package/css/themes/high-contrast-dark.class.css.map +1 -0
  133. package/css/themes/high-contrast-dark.css +3 -0
  134. package/css/themes/high-contrast-dark.css.map +1 -0
  135. package/css/themes/high-contrast-dark.system.css +182 -0
  136. package/css/themes/high-contrast-dark.system.css.map +1 -0
  137. package/css/themes/high-contrast.always.css +101 -0
  138. package/css/themes/high-contrast.always.css.map +1 -0
  139. package/css/themes/high-contrast.class.css +101 -0
  140. package/css/themes/high-contrast.class.css.map +1 -0
  141. package/css/themes/high-contrast.css +3 -0
  142. package/css/themes/high-contrast.css.map +1 -0
  143. package/css/themes/high-contrast.system.css +103 -0
  144. package/css/themes/high-contrast.system.css.map +1 -0
  145. package/css/typography.css +1 -1
  146. package/css/typography.css.map +1 -1
  147. package/css/utils.bundle.css.map +1 -1
  148. package/dist/cjs/{animation-c2840aea.js → animation-3e7bb91e.js} +1 -1
  149. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-e132c781.js} +1 -1
  150. package/dist/cjs/{button-active-2d6520ec.js → button-active-60ecf64d.js} +3 -3
  151. package/dist/cjs/{data-a5109f09.js → data-21dc0f81.js} +23 -40
  152. package/dist/cjs/{framework-delegate-e0e13baa.js → framework-delegate-0499d444.js} +1 -1
  153. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  154. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-1c67a5a2.js} +5 -5
  155. package/dist/cjs/{helpers-da4c0ed1.js → helpers-668b3d95.js} +1 -9
  156. package/dist/cjs/{index-62290fec.js → index-275cc12e.js} +1 -1
  157. package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
  158. package/dist/cjs/{index-4c96691f.js → index-ba7ba0af.js} +4 -4
  159. package/dist/cjs/{index-bef98850.js → index-c49cb371.js} +1 -1
  160. package/dist/cjs/{index-9bfcb6e8.js → index-e4b6c97e.js} +4 -4
  161. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  162. package/dist/cjs/index.cjs.js +13 -13
  163. package/dist/cjs/{input-shims-a9a85bb9.js → input-shims-b419f083.js} +10 -3
  164. package/dist/cjs/{input.utils-d7dca90f.js → input.utils-32c0a14a.js} +13 -1
  165. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  166. package/dist/cjs/ion-action-sheet.cjs.entry.js +16 -16
  167. package/dist/cjs/ion-alert.cjs.entry.js +14 -14
  168. package/dist/cjs/ion-app_8.cjs.entry.js +33 -34
  169. package/dist/cjs/ion-avatar_3.cjs.entry.js +8 -8
  170. package/dist/cjs/ion-back-button.cjs.entry.js +6 -6
  171. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -15
  172. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +9 -9
  173. package/dist/cjs/ion-button_2.cjs.entry.js +7 -7
  174. package/dist/cjs/ion-card_5.cjs.entry.js +16 -16
  175. package/dist/cjs/ion-checkbox.cjs.entry.js +9 -77
  176. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  177. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  178. package/dist/cjs/ion-datetime-button.cjs.entry.js +18 -17
  179. package/dist/cjs/ion-datetime_3.cjs.entry.js +120 -115
  180. package/dist/cjs/ion-fab_3.cjs.entry.js +12 -12
  181. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  182. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +9 -9
  183. package/dist/cjs/ion-input.cjs.entry.js +12 -92
  184. package/dist/cjs/ion-item-option_3.cjs.entry.js +13 -13
  185. package/dist/cjs/ion-item_8.cjs.entry.js +48 -102
  186. package/dist/cjs/ion-loading.cjs.entry.js +12 -11
  187. package/dist/cjs/ion-menu_3.cjs.entry.js +40 -56
  188. package/dist/cjs/ion-modal.cjs.entry.js +53 -38
  189. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  190. package/dist/cjs/ion-picker-column-option.cjs.entry.js +106 -0
  191. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +124 -93
  192. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +32 -25
  193. package/dist/cjs/ion-popover.cjs.entry.js +13 -12
  194. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -6
  195. package/dist/cjs/ion-radio_2.cjs.entry.js +10 -79
  196. package/dist/cjs/ion-range.cjs.entry.js +163 -111
  197. package/dist/cjs/ion-refresher_2.cjs.entry.js +12 -12
  198. package/dist/cjs/ion-reorder_2.cjs.entry.js +7 -7
  199. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  200. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  201. package/dist/cjs/ion-searchbar.cjs.entry.js +33 -9
  202. package/dist/cjs/ion-segment_2.cjs.entry.js +11 -11
  203. package/dist/cjs/ion-select_3.cjs.entry.js +78 -169
  204. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  205. package/dist/cjs/ion-split-pane.cjs.entry.js +28 -18
  206. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +11 -11
  207. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  208. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  209. package/dist/cjs/ion-textarea.cjs.entry.js +11 -71
  210. package/dist/cjs/ion-toast.cjs.entry.js +20 -14
  211. package/dist/cjs/ion-toggle.cjs.entry.js +10 -66
  212. package/dist/cjs/{ionic-global-59a10130.js → ionic-global-5762eca9.js} +1 -1
  213. package/dist/cjs/ionic.cjs.js +28 -5
  214. package/dist/cjs/{ios.transition-96679580.js → ios.transition-3e119901.js} +4 -4
  215. package/dist/cjs/loader.cjs.js +4 -4
  216. package/dist/cjs/{md.transition-d6c98822.js → md.transition-c1392f92.js} +4 -4
  217. package/dist/cjs/{notch-controller-bfbcbb7a.js → notch-controller-08a24f39.js} +1 -1
  218. package/dist/cjs/{overlays-db5d96f3.js → overlays-44b8d0e0.js} +153 -60
  219. package/dist/cjs/{status-tap-7ad5f0fb.js → status-tap-32430b3e.js} +3 -3
  220. package/dist/cjs/{swipe-back-dcd0d4a9.js → swipe-back-b8484483.js} +3 -3
  221. package/dist/collection/collection-manifest.json +8 -7
  222. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -26
  223. package/dist/collection/components/action-sheet/action-sheet.ios.css +16 -9
  224. package/dist/collection/components/action-sheet/action-sheet.js +4 -4
  225. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -3
  226. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +23 -14
  227. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
  228. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
  229. package/dist/collection/components/alert/alert.ios.css +33 -80
  230. package/dist/collection/components/alert/alert.js +2 -2
  231. package/dist/collection/components/alert/alert.md.css +25 -121
  232. package/dist/collection/components/alert/test/a11y/alert.e2e.js +22 -9
  233. package/dist/collection/components/app/app.js +4 -4
  234. package/dist/collection/components/avatar/avatar.js +1 -1
  235. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  236. package/dist/collection/components/back-button/back-button.js +2 -2
  237. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +21 -0
  238. package/dist/collection/components/backdrop/backdrop.js +1 -13
  239. package/dist/collection/components/badge/badge.ios.css +1 -1
  240. package/dist/collection/components/badge/badge.js +2 -2
  241. package/dist/collection/components/badge/badge.md.css +1 -1
  242. package/dist/collection/components/badge/test/a11y/badge.e2e.js +18 -0
  243. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +9 -9
  244. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  245. package/dist/collection/components/breadcrumb/breadcrumb.md.css +9 -9
  246. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  247. package/dist/collection/components/button/button.ios.css +11 -11
  248. package/dist/collection/components/button/button.js +2 -2
  249. package/dist/collection/components/button/button.md.css +9 -9
  250. package/dist/collection/components/button/test/a11y/button.e2e.js +48 -0
  251. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  252. package/dist/collection/components/buttons/buttons.js +2 -2
  253. package/dist/collection/components/card/card.ios.css +1 -1
  254. package/dist/collection/components/card/card.js +1 -1
  255. package/dist/collection/components/card/card.md.css +1 -1
  256. package/dist/collection/components/card-content/card-content.js +1 -1
  257. package/dist/collection/components/card-header/card-header.js +2 -2
  258. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +1 -1
  259. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  260. package/dist/collection/components/card-subtitle/card-subtitle.md.css +1 -1
  261. package/dist/collection/components/card-title/card-title.js +2 -2
  262. package/dist/collection/components/card-title/card-title.md.css +1 -1
  263. package/dist/collection/components/checkbox/checkbox.ios.css +10 -88
  264. package/dist/collection/components/checkbox/checkbox.js +5 -118
  265. package/dist/collection/components/checkbox/checkbox.md.css +7 -85
  266. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +11 -2
  267. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
  268. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  269. package/dist/collection/components/chip/chip.js +2 -2
  270. package/dist/collection/components/col/col.js +2 -2
  271. package/dist/collection/components/content/content.css +0 -4
  272. package/dist/collection/components/content/content.js +3 -4
  273. package/dist/collection/components/datetime/datetime.ios.css +105 -117
  274. package/dist/collection/components/datetime/datetime.js +74 -83
  275. package/dist/collection/components/datetime/datetime.md.css +106 -114
  276. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  277. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  278. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +90 -1
  279. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  280. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  281. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  282. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  283. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  284. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  285. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  286. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  287. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  288. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  289. package/dist/collection/components/datetime/utils/data.js +1 -1
  290. package/dist/collection/components/datetime/utils/format.js +24 -37
  291. package/dist/collection/components/datetime/utils/validate.js +45 -0
  292. package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
  293. package/dist/collection/components/datetime-button/datetime-button.js +15 -14
  294. package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +10 -7
  295. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +77 -0
  296. package/dist/collection/components/fab/fab.js +2 -2
  297. package/dist/collection/components/fab-button/fab-button.ios.css +7 -7
  298. package/dist/collection/components/fab-button/fab-button.js +2 -2
  299. package/dist/collection/components/fab-button/fab-button.md.css +1 -1
  300. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +50 -0
  301. package/dist/collection/components/fab-list/fab-list.css +4 -42
  302. package/dist/collection/components/fab-list/fab-list.js +2 -2
  303. package/dist/collection/components/footer/footer.js +2 -2
  304. package/dist/collection/components/grid/grid.js +2 -2
  305. package/dist/collection/components/header/header.js +2 -2
  306. package/dist/collection/components/img/img.js +1 -1
  307. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  308. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +3 -3
  309. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  310. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +3 -3
  311. package/dist/collection/components/input/input.ios.css +13 -104
  312. package/dist/collection/components/input/input.js +6 -144
  313. package/dist/collection/components/input/input.md.css +39 -218
  314. package/dist/collection/components/input/test/a11y/input.e2e.js +41 -3
  315. package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
  316. package/dist/collection/components/input/test/item/input.e2e.js +21 -0
  317. package/dist/collection/components/item/item.ios.css +8 -224
  318. package/dist/collection/components/item/item.js +22 -169
  319. package/dist/collection/components/item/item.md.css +15 -451
  320. package/dist/collection/components/item/test/a11y/item.e2e.js +0 -40
  321. package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
  322. package/dist/collection/components/item/test/item.spec.js +1 -1
  323. package/dist/collection/components/item-divider/item-divider.ios.css +3 -3
  324. package/dist/collection/components/item-divider/item-divider.js +2 -2
  325. package/dist/collection/components/item-divider/item-divider.md.css +7 -17
  326. package/dist/collection/components/item-group/item-group.js +1 -1
  327. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  328. package/dist/collection/components/item-option/item-option.js +2 -2
  329. package/dist/collection/components/item-option/item-option.md.css +1 -1
  330. package/dist/collection/components/item-options/item-options.ios.css +1 -1
  331. package/dist/collection/components/item-options/item-options.js +1 -1
  332. package/dist/collection/components/item-options/item-options.md.css +1 -1
  333. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  334. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +28 -0
  335. package/dist/collection/components/label/label.ios.css +1 -6
  336. package/dist/collection/components/label/label.js +2 -2
  337. package/dist/collection/components/label/label.md.css +2 -77
  338. package/dist/collection/components/label/test/a11y/label.e2e.js +20 -0
  339. package/dist/collection/components/list/list.js +1 -1
  340. package/dist/collection/components/list/list.md.css +2 -26
  341. package/dist/collection/components/list-header/list-header.ios.css +2 -2
  342. package/dist/collection/components/list-header/list-header.js +2 -2
  343. package/dist/collection/components/list-header/list-header.md.css +1 -1
  344. package/dist/collection/components/loading/loading.ios.css +2 -2
  345. package/dist/collection/components/loading/loading.js +2 -2
  346. package/dist/collection/components/loading/loading.md.css +3 -3
  347. package/dist/collection/components/loading/test/a11y/loading.e2e.js +21 -5
  348. package/dist/collection/components/menu/menu.ios.css +72 -53
  349. package/dist/collection/components/menu/menu.js +35 -43
  350. package/dist/collection/components/menu/menu.md.css +72 -53
  351. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  352. package/dist/collection/components/menu-button/menu-button.js +2 -2
  353. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +14 -0
  354. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  355. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  356. package/dist/collection/components/modal/modal.ios.css +9 -38
  357. package/dist/collection/components/modal/modal.js +37 -5
  358. package/dist/collection/components/modal/modal.md.css +1 -1
  359. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  360. package/dist/collection/components/modal/utils.js +2 -8
  361. package/dist/collection/components/nav/nav.js +23 -3
  362. package/dist/collection/components/nav/test/nav-controller.spec.js +36 -36
  363. package/dist/collection/components/nav-link/nav-link.js +1 -1
  364. package/dist/collection/components/note/note.ios.css +1 -1
  365. package/dist/collection/components/note/note.js +2 -2
  366. package/dist/collection/components/note/note.md.css +1 -1
  367. package/dist/collection/components/picker/picker.ios.css +97 -234
  368. package/dist/collection/components/picker/picker.js +488 -742
  369. package/dist/collection/components/picker/picker.md.css +98 -226
  370. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  371. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  372. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  373. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +79 -42
  374. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  375. package/dist/collection/components/picker-column/picker-column.js +514 -335
  376. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  377. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  378. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  379. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  380. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  381. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  382. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  383. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  384. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  385. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.ios.css} +155 -117
  386. package/dist/collection/components/picker-legacy/picker.js +821 -0
  387. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.md.css} +144 -115
  388. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  389. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  390. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  391. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  392. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +2 -26
  393. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  394. package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +3 -27
  395. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  396. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  397. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  398. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  399. package/dist/collection/components/popover/popover.ios.css +3 -27
  400. package/dist/collection/components/popover/popover.js +5 -4
  401. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
  402. package/dist/collection/components/progress-bar/progress-bar.js +4 -1
  403. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
  404. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +24 -0
  405. package/dist/collection/components/radio/radio.ios.css +10 -101
  406. package/dist/collection/components/radio/radio.js +5 -119
  407. package/dist/collection/components/radio/radio.md.css +8 -105
  408. package/dist/collection/components/radio/test/a11y/radio.e2e.js +114 -81
  409. package/dist/collection/components/radio-group/radio-group.js +1 -1
  410. package/dist/collection/components/range/range.ios.css +12 -90
  411. package/dist/collection/components/range/range.js +156 -144
  412. package/dist/collection/components/range/range.md.css +22 -152
  413. package/dist/collection/components/range/test/a11y/range.e2e.js +20 -10
  414. package/dist/collection/components/range/test/range-events.e2e.js +28 -1
  415. package/dist/collection/components/range/test/range.spec.js +0 -12
  416. package/dist/collection/components/refresher/refresher.ios.css +4 -27
  417. package/dist/collection/components/refresher/refresher.js +1 -1
  418. package/dist/collection/components/refresher/refresher.md.css +7 -30
  419. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +26 -0
  420. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  421. package/dist/collection/components/reorder/reorder.js +1 -1
  422. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  423. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  424. package/dist/collection/components/router-link/router-link.css +1 -1
  425. package/dist/collection/components/router-link/router-link.js +2 -2
  426. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +23 -0
  427. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  428. package/dist/collection/components/row/row.js +1 -1
  429. package/dist/collection/components/searchbar/searchbar.ios.css +11 -59
  430. package/dist/collection/components/searchbar/searchbar.js +84 -5
  431. package/dist/collection/components/searchbar/searchbar.md.css +10 -82
  432. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  433. package/dist/collection/components/segment/segment.js +2 -2
  434. package/dist/collection/components/segment/test/a11y/segment.e2e.js +23 -0
  435. package/dist/collection/components/segment-button/segment-button.ios.css +3 -3
  436. package/dist/collection/components/segment-button/segment-button.js +3 -3
  437. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  438. package/dist/collection/components/select/select.ios.css +13 -79
  439. package/dist/collection/components/select/select.js +64 -173
  440. package/dist/collection/components/select/select.md.css +42 -196
  441. package/dist/collection/components/select/test/a11y/select.e2e.js +68 -4
  442. package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
  443. package/dist/collection/components/select-option/select-option.js +1 -1
  444. package/dist/collection/components/select-popover/select-popover.js +1 -1
  445. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  446. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +32 -0
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  448. package/dist/collection/components/spinner/spinner.js +1 -1
  449. package/dist/collection/components/split-pane/split-pane.ios.css +3 -55
  450. package/dist/collection/components/split-pane/split-pane.js +48 -14
  451. package/dist/collection/components/split-pane/split-pane.md.css +3 -55
  452. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +41 -0
  453. package/dist/collection/components/tab/tab.js +2 -2
  454. package/dist/collection/components/tab-bar/tab-bar.ios.css +4 -4
  455. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  456. package/dist/collection/components/tab-bar/tab-bar.md.css +3 -3
  457. package/dist/collection/components/tab-button/tab-button.ios.css +16 -94
  458. package/dist/collection/components/tab-button/tab-button.js +2 -2
  459. package/dist/collection/components/tab-button/tab-button.md.css +10 -93
  460. package/dist/collection/components/tabs/tabs.js +1 -1
  461. package/dist/collection/components/text/text.js +2 -2
  462. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +41 -3
  463. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
  464. package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
  465. package/dist/collection/components/textarea/textarea.ios.css +15 -123
  466. package/dist/collection/components/textarea/textarea.js +5 -84
  467. package/dist/collection/components/textarea/textarea.md.css +41 -241
  468. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  469. package/dist/collection/components/title/title.ios.css +2 -21
  470. package/dist/collection/components/title/title.js +2 -2
  471. package/dist/collection/components/toast/test/a11y/toast.e2e.js +89 -24
  472. package/dist/collection/components/toast/toast.ios.css +8 -55
  473. package/dist/collection/components/toast/toast.js +9 -3
  474. package/dist/collection/components/toast/toast.md.css +10 -57
  475. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +8 -2
  476. package/dist/collection/components/toggle/toggle.ios.css +11 -90
  477. package/dist/collection/components/toggle/toggle.js +5 -101
  478. package/dist/collection/components/toggle/toggle.md.css +6 -91
  479. package/dist/collection/components/toolbar/toolbar.ios.css +2 -2
  480. package/dist/collection/components/toolbar/toolbar.js +2 -2
  481. package/dist/collection/components/toolbar/toolbar.md.css +1 -1
  482. package/dist/collection/css/test/a11y/typography.e2e.js +18 -0
  483. package/dist/collection/themes/test/colors/theme.e2e.js +170 -0
  484. package/dist/collection/utils/focus-trap.js +78 -0
  485. package/dist/collection/utils/forms/index.js +0 -1
  486. package/dist/collection/utils/gesture/button-active.js +1 -1
  487. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  488. package/dist/collection/utils/hardware-back-button.js +2 -2
  489. package/dist/collection/utils/helpers.js +1 -8
  490. package/dist/collection/utils/input-shims/input-shims.js +8 -1
  491. package/dist/collection/utils/native/status-bar.js +0 -11
  492. package/dist/collection/utils/overlays.js +75 -57
  493. package/dist/collection/utils/slot-mutation-controller.js +12 -0
  494. package/dist/collection/utils/test/aria.spec.js +2 -1
  495. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  496. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  497. package/dist/collection/utils/test/playwright/generator.js +1 -0
  498. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  499. package/dist/docs.json +688 -481
  500. package/dist/esm/{animation-6a0c5338.js → animation-9a23ed8d.js} +1 -1
  501. package/dist/esm/{app-globals-5cf6195b.js → app-globals-80842d68.js} +1 -1
  502. package/dist/esm/{button-active-47ac8092.js → button-active-c6e18fac.js} +3 -3
  503. package/dist/esm/{data-0f3ab200.js → data-ae11fd43.js} +24 -39
  504. package/dist/esm/{framework-delegate-ed4ba327.js → framework-delegate-3fd96df8.js} +1 -1
  505. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  506. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-fb295e3a.js} +5 -5
  507. package/dist/esm/{helpers-be245865.js → helpers-f51cf76f.js} +2 -9
  508. package/dist/esm/{index-020f5464.js → index-1262064c.js} +1 -1
  509. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  510. package/dist/esm/{index-4c30cddd.js → index-5d6a0317.js} +443 -15
  511. package/dist/esm/{index-348ed70a.js → index-6da05eef.js} +4 -4
  512. package/dist/esm/{index-f3946ac1.js → index-86688780.js} +1 -1
  513. package/dist/esm/{index-e1b622e3.js → index-9d7e5d3e.js} +4 -4
  514. package/dist/esm/index.js +13 -13
  515. package/dist/esm/{input-shims-5329bbe8.js → input-shims-2a4ad5a1.js} +10 -3
  516. package/dist/esm/{input.utils-a445f677.js → input.utils-d2dee48e.js} +13 -1
  517. package/dist/esm/ion-accordion_2.entry.js +4 -4
  518. package/dist/esm/ion-action-sheet.entry.js +16 -16
  519. package/dist/esm/ion-alert.entry.js +14 -14
  520. package/dist/esm/ion-app_8.entry.js +33 -34
  521. package/dist/esm/ion-avatar_3.entry.js +8 -8
  522. package/dist/esm/ion-back-button.entry.js +6 -6
  523. package/dist/esm/ion-backdrop.entry.js +3 -15
  524. package/dist/esm/ion-breadcrumb_2.entry.js +9 -9
  525. package/dist/esm/ion-button_2.entry.js +7 -7
  526. package/dist/esm/ion-card_5.entry.js +16 -16
  527. package/dist/esm/ion-checkbox.entry.js +9 -77
  528. package/dist/esm/ion-chip.entry.js +4 -4
  529. package/dist/esm/ion-col_3.entry.js +7 -7
  530. package/dist/esm/ion-datetime-button.entry.js +18 -17
  531. package/dist/esm/ion-datetime_3.entry.js +119 -114
  532. package/dist/esm/ion-fab_3.entry.js +12 -12
  533. package/dist/esm/ion-img.entry.js +4 -4
  534. package/dist/esm/ion-infinite-scroll_2.entry.js +9 -9
  535. package/dist/esm/ion-input.entry.js +12 -92
  536. package/dist/esm/ion-item-option_3.entry.js +13 -13
  537. package/dist/esm/ion-item_8.entry.js +48 -102
  538. package/dist/esm/ion-loading.entry.js +12 -11
  539. package/dist/esm/ion-menu_3.entry.js +41 -57
  540. package/dist/esm/ion-modal.entry.js +53 -38
  541. package/dist/esm/ion-nav_2.entry.js +13 -10
  542. package/dist/esm/ion-picker-column-option.entry.js +102 -0
  543. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +124 -93
  544. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +32 -25
  545. package/dist/esm/ion-popover.entry.js +13 -12
  546. package/dist/esm/ion-progress-bar.entry.js +9 -6
  547. package/dist/esm/ion-radio_2.entry.js +10 -79
  548. package/dist/esm/ion-range.entry.js +164 -112
  549. package/dist/esm/ion-refresher_2.entry.js +12 -12
  550. package/dist/esm/ion-reorder_2.entry.js +7 -7
  551. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  552. package/dist/esm/ion-route_4.entry.js +6 -6
  553. package/dist/esm/ion-searchbar.entry.js +33 -9
  554. package/dist/esm/ion-segment_2.entry.js +11 -11
  555. package/dist/esm/ion-select_3.entry.js +76 -167
  556. package/dist/esm/ion-spinner.entry.js +3 -3
  557. package/dist/esm/ion-split-pane.entry.js +28 -18
  558. package/dist/esm/ion-tab-bar_2.entry.js +11 -11
  559. package/dist/esm/ion-tab_2.entry.js +6 -6
  560. package/dist/esm/ion-text.entry.js +4 -4
  561. package/dist/esm/ion-textarea.entry.js +12 -72
  562. package/dist/esm/ion-toast.entry.js +21 -15
  563. package/dist/esm/ion-toggle.entry.js +10 -66
  564. package/dist/esm/{ionic-global-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
  565. package/dist/esm/ionic.js +29 -6
  566. package/dist/esm/{ios.transition-7459f819.js → ios.transition-fbde96b0.js} +4 -4
  567. package/dist/esm/loader.js +5 -5
  568. package/dist/esm/{md.transition-b8224313.js → md.transition-76e0020b.js} +4 -4
  569. package/dist/esm/{notch-controller-6bd3e0f9.js → notch-controller-00572cf8.js} +1 -1
  570. package/dist/esm/{overlays-19b26885.js → overlays-b1ac1c63.js} +153 -61
  571. package/dist/esm/{status-tap-b41ece3c.js → status-tap-84b41f36.js} +3 -3
  572. package/dist/esm/{swipe-back-c6d0e5d9.js → swipe-back-4f2e5d47.js} +3 -3
  573. package/dist/esm-es5/{animation-6a0c5338.js → animation-9a23ed8d.js} +1 -1
  574. package/dist/esm-es5/app-globals-80842d68.js +4 -0
  575. package/dist/esm-es5/button-active-c6e18fac.js +4 -0
  576. package/dist/esm-es5/data-ae11fd43.js +4 -0
  577. package/dist/esm-es5/{framework-delegate-ed4ba327.js → framework-delegate-3fd96df8.js} +1 -1
  578. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  579. package/dist/esm-es5/hardware-back-button-fb295e3a.js +4 -0
  580. package/dist/esm-es5/helpers-f51cf76f.js +4 -0
  581. package/dist/esm-es5/index-1262064c.js +4 -0
  582. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  583. package/dist/esm-es5/index-5d6a0317.js +5 -0
  584. package/dist/esm-es5/{index-348ed70a.js → index-6da05eef.js} +1 -1
  585. package/dist/esm-es5/{index-f3946ac1.js → index-86688780.js} +1 -1
  586. package/dist/esm-es5/{index-e1b622e3.js → index-9d7e5d3e.js} +1 -1
  587. package/dist/esm-es5/index.js +1 -1
  588. package/dist/esm-es5/{input-shims-5329bbe8.js → input-shims-2a4ad5a1.js} +1 -1
  589. package/dist/esm-es5/input.utils-d2dee48e.js +4 -0
  590. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  591. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  592. package/dist/esm-es5/ion-alert.entry.js +1 -1
  593. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  594. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  595. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  596. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  597. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  598. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  599. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  600. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  601. package/dist/esm-es5/ion-chip.entry.js +1 -1
  602. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  603. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  604. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  605. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  606. package/dist/esm-es5/ion-img.entry.js +1 -1
  607. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-input.entry.js +1 -1
  609. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  610. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  611. package/dist/esm-es5/ion-loading.entry.js +1 -1
  612. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  613. package/dist/esm-es5/ion-modal.entry.js +1 -1
  614. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  615. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  616. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  617. package/dist/esm-es5/ion-picker.entry.js +4 -0
  618. package/dist/esm-es5/ion-popover.entry.js +1 -1
  619. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  620. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  621. package/dist/esm-es5/ion-range.entry.js +1 -1
  622. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  623. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  624. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  625. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  626. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  627. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  628. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  629. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  630. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  631. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  632. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  633. package/dist/esm-es5/ion-text.entry.js +1 -1
  634. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  635. package/dist/esm-es5/ion-toast.entry.js +1 -1
  636. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  637. package/dist/esm-es5/{ionic-global-ad9a1810.js → ionic-global-a589c12c.js} +1 -1
  638. package/dist/esm-es5/ionic.js +1 -1
  639. package/dist/esm-es5/{ios.transition-7459f819.js → ios.transition-fbde96b0.js} +1 -1
  640. package/dist/esm-es5/loader.js +1 -1
  641. package/dist/esm-es5/md.transition-76e0020b.js +4 -0
  642. package/dist/esm-es5/{notch-controller-6bd3e0f9.js → notch-controller-00572cf8.js} +1 -1
  643. package/dist/esm-es5/overlays-b1ac1c63.js +4 -0
  644. package/dist/esm-es5/{status-tap-b41ece3c.js → status-tap-84b41f36.js} +1 -1
  645. package/dist/esm-es5/{swipe-back-c6d0e5d9.js → swipe-back-4f2e5d47.js} +1 -1
  646. package/dist/html.html-data.json +176 -63
  647. package/dist/ionic/index.esm.js +1 -1
  648. package/dist/ionic/ionic.esm.js +1 -1
  649. package/dist/ionic/ionic.js +1 -1
  650. package/dist/ionic/{p-cbcffe6e.system.js → p-01171ead.system.js} +1 -1
  651. package/dist/ionic/{p-5d7e32ce.js → p-031c5621.js} +1 -1
  652. package/dist/ionic/{p-1a680496.entry.js → p-03f3ebd2.entry.js} +1 -1
  653. package/dist/ionic/{p-f02c41af.system.js → p-04f9ce05.system.js} +1 -1
  654. package/dist/ionic/p-063c093d.system.entry.js +4 -0
  655. package/dist/ionic/p-06e951a9.entry.js +4 -0
  656. package/dist/ionic/{p-822730c4.entry.js → p-070cf7c3.entry.js} +1 -1
  657. package/dist/ionic/p-07a0190a.system.entry.js +4 -0
  658. package/dist/ionic/p-0afaf65b.system.entry.js +4 -0
  659. package/dist/ionic/p-0b175848.entry.js +4 -0
  660. package/dist/ionic/p-0da58e53.entry.js +4 -0
  661. package/dist/ionic/p-0eb381c3.system.js +4 -0
  662. package/dist/ionic/p-144ae947.js +4 -0
  663. package/dist/ionic/{p-a3df16b9.system.entry.js → p-15e2ff5f.system.entry.js} +1 -1
  664. package/dist/ionic/{p-d425b1de.entry.js → p-19243ae6.entry.js} +1 -1
  665. package/dist/ionic/p-1acaf641.entry.js +4 -0
  666. package/dist/ionic/{p-ce1c0a0e.system.entry.js → p-1d1394da.system.entry.js} +2 -2
  667. package/dist/ionic/p-1e5c0c49.js +4 -0
  668. package/dist/ionic/p-2028668d.system.entry.js +4 -0
  669. package/dist/ionic/p-2070f8d8.entry.js +4 -0
  670. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  671. package/dist/ionic/p-219c17cf.system.entry.js +4 -0
  672. package/dist/ionic/p-21e88629.entry.js +4 -0
  673. package/dist/ionic/p-234dc736.entry.js +4 -0
  674. package/dist/ionic/p-237b1791.system.entry.js +4 -0
  675. package/dist/ionic/{p-ceceac26.js → p-239906f1.js} +1 -1
  676. package/dist/ionic/p-25648922.system.entry.js +4 -0
  677. package/dist/ionic/{p-b727af6a.entry.js → p-29ecf879.entry.js} +1 -1
  678. package/dist/ionic/p-2c560619.system.entry.js +4 -0
  679. package/dist/ionic/p-2e2635b4.system.entry.js +4 -0
  680. package/dist/ionic/p-2f53f47a.entry.js +4 -0
  681. package/dist/ionic/p-30dfa360.system.js +4 -0
  682. package/dist/ionic/p-314ae72a.js +4 -0
  683. package/dist/ionic/{p-97ca0cb9.system.js → p-33e39575.system.js} +1 -1
  684. package/dist/ionic/p-355736ea.js +4 -0
  685. package/dist/ionic/p-373e757d.entry.js +4 -0
  686. package/dist/ionic/{p-bd313b73.system.js → p-3944820a.system.js} +1 -1
  687. package/dist/ionic/{p-02ad4bbe.js → p-39483fc9.js} +1 -1
  688. package/dist/ionic/p-39860681.entry.js +4 -0
  689. package/dist/ionic/{p-a6c0a380.js → p-3a572692.js} +1 -1
  690. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  691. package/dist/ionic/p-42d9f81e.entry.js +4 -0
  692. package/dist/ionic/p-45a2b1ee.system.entry.js +4 -0
  693. package/dist/ionic/{p-779aede8.js → p-46a4e4e8.js} +1 -1
  694. package/dist/ionic/{p-7670acd8.entry.js → p-48fef2f1.entry.js} +1 -1
  695. package/dist/ionic/p-493bce1f.entry.js +4 -0
  696. package/dist/ionic/{p-bcd9cad8.system.js → p-4997d7dc.system.js} +1 -1
  697. package/dist/ionic/{p-fe320051.system.js → p-49a205d0.system.js} +1 -1
  698. package/dist/ionic/{p-12a8643e.js → p-4ba6d7d1.js} +1 -1
  699. package/dist/ionic/p-4d6ec139.entry.js +4 -0
  700. package/dist/ionic/p-4d7230bd.system.entry.js +4 -0
  701. package/dist/ionic/{p-2c118b1e.js → p-4da2ae44.js} +1 -1
  702. package/dist/ionic/p-5054b3db.entry.js +4 -0
  703. package/dist/ionic/p-50d19fc7.system.entry.js +4 -0
  704. package/dist/ionic/p-513abaf6.system.entry.js +4 -0
  705. package/dist/ionic/p-517b76cb.entry.js +4 -0
  706. package/dist/ionic/{p-942a9358.js → p-51b1a6be.js} +1 -1
  707. package/dist/ionic/p-53c592ec.system.js +4 -0
  708. package/dist/ionic/{p-abcedc15.system.entry.js → p-566818dd.system.entry.js} +1 -1
  709. package/dist/ionic/p-59e86adb.js +4 -0
  710. package/dist/ionic/p-5f9abba8.system.entry.js +4 -0
  711. package/dist/ionic/p-6042920d.system.entry.js +4 -0
  712. package/dist/ionic/{p-88e9052d.entry.js → p-65374504.entry.js} +1 -1
  713. package/dist/ionic/{p-b6279412.entry.js → p-66596659.entry.js} +1 -1
  714. package/dist/ionic/p-667290b0.system.js +4 -0
  715. package/dist/ionic/{p-337ac0f5.entry.js → p-66e50777.entry.js} +1 -1
  716. package/dist/ionic/{p-62b7320a.system.js → p-67dbcd3b.system.js} +1 -1
  717. package/dist/ionic/p-696db6f4.system.js +4 -0
  718. package/dist/ionic/p-69df28fd.entry.js +4 -0
  719. package/dist/ionic/p-6d0e7669.system.entry.js +4 -0
  720. package/dist/ionic/p-6d1f5de9.system.entry.js +4 -0
  721. package/dist/ionic/p-6d75fbe8.system.entry.js +4 -0
  722. package/dist/ionic/{p-9998cb62.system.entry.js → p-7162350a.system.entry.js} +1 -1
  723. package/dist/ionic/p-7200f2da.entry.js +4 -0
  724. package/dist/ionic/p-739f8b95.system.entry.js +4 -0
  725. package/dist/ionic/p-75addf49.entry.js +4 -0
  726. package/dist/ionic/{p-de55ec45.js → p-78b3da77.js} +1 -1
  727. package/dist/ionic/p-7c7e495d.system.js +4 -0
  728. package/dist/ionic/{p-1b3ffb2f.js → p-7d4f6f18.js} +1 -1
  729. package/dist/ionic/p-824d44c5.system.entry.js +4 -0
  730. package/dist/ionic/p-8c0b08db.entry.js +4 -0
  731. package/dist/ionic/p-8dfe436d.system.js +4 -0
  732. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  733. package/dist/ionic/{p-86813176.system.entry.js → p-91567c90.system.entry.js} +1 -1
  734. package/dist/ionic/{p-6e23d039.entry.js → p-95648db9.entry.js} +1 -1
  735. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  736. package/dist/ionic/p-9c970454.entry.js +4 -0
  737. package/dist/ionic/{p-6525a8cd.system.js → p-9e3177a5.system.js} +1 -1
  738. package/dist/ionic/p-a03c993e.entry.js +4 -0
  739. package/dist/ionic/{p-baf8eeac.system.entry.js → p-a37d4fe9.system.entry.js} +1 -1
  740. package/dist/ionic/{p-717e2526.system.entry.js → p-a43fbe0a.system.entry.js} +2 -2
  741. package/dist/ionic/{p-ebc86ce9.system.entry.js → p-a5c33d6b.system.entry.js} +1 -1
  742. package/dist/ionic/{p-079da3df.entry.js → p-a7f788ec.entry.js} +1 -1
  743. package/dist/ionic/p-acd64713.system.entry.js +4 -0
  744. package/dist/ionic/{p-89ca4c4b.system.js → p-af9256a0.system.js} +1 -1
  745. package/dist/ionic/p-b0850af6.system.entry.js +4 -0
  746. package/dist/ionic/p-b0d35de4.system.js +4 -0
  747. package/dist/ionic/p-b996756b.entry.js +4 -0
  748. package/dist/ionic/p-ba9120fe.system.entry.js +4 -0
  749. package/dist/ionic/p-bb78b64e.entry.js +4 -0
  750. package/dist/ionic/{p-2c4bfe1c.entry.js → p-bbc4f653.entry.js} +1 -1
  751. package/dist/ionic/p-c34d1515.js +4 -0
  752. package/dist/ionic/{p-a85d9047.system.entry.js → p-c4390f10.system.entry.js} +1 -1
  753. package/dist/ionic/p-c629d22b.system.js +5 -0
  754. package/dist/ionic/p-c834c535.system.entry.js +4 -0
  755. package/dist/ionic/p-c8675b7b.system.entry.js +4 -0
  756. package/dist/ionic/p-c8f7f923.entry.js +4 -0
  757. package/dist/ionic/p-c962e9ea.entry.js +4 -0
  758. package/dist/ionic/p-cada6331.entry.js +4 -0
  759. package/dist/ionic/p-cc19ecba.system.entry.js +4 -0
  760. package/dist/ionic/p-ce36d285.system.js +4 -0
  761. package/dist/ionic/p-d09c9468.system.entry.js +4 -0
  762. package/dist/ionic/p-d10bbab7.entry.js +4 -0
  763. package/dist/ionic/p-d268f7e2.system.entry.js +4 -0
  764. package/dist/ionic/p-d3c1c23f.entry.js +4 -0
  765. package/dist/ionic/{p-644d03d7.system.entry.js → p-d4be0d81.system.entry.js} +1 -1
  766. package/dist/ionic/p-d5ef3a0a.entry.js +4 -0
  767. package/dist/ionic/p-d60342e3.js +4 -0
  768. package/dist/ionic/{p-657ccdd6.entry.js → p-d85eebc3.entry.js} +1 -1
  769. package/dist/ionic/p-d9dfdbb5.system.entry.js +4 -0
  770. package/dist/ionic/p-da5bbd4f.entry.js +4 -0
  771. package/dist/ionic/p-dad515dc.js +4 -0
  772. package/dist/ionic/{p-3079950e.entry.js → p-de39f314.entry.js} +1 -1
  773. package/dist/ionic/p-de4c700f.entry.js +4 -0
  774. package/dist/ionic/{p-6afef6c1.system.js → p-e01ebeba.system.js} +1 -1
  775. package/dist/ionic/p-e222fdd1.entry.js +4 -0
  776. package/dist/ionic/p-e5e492d8.entry.js +4 -0
  777. package/dist/ionic/{p-4b8a620f.system.entry.js → p-e9412fe7.system.entry.js} +1 -1
  778. package/dist/ionic/{p-2c86025e.system.js → p-ea5173f9.system.js} +1 -1
  779. package/dist/ionic/p-eb546888.entry.js +4 -0
  780. package/dist/ionic/{p-05253db9.js → p-eee87ebb.js} +1 -1
  781. package/dist/ionic/p-f012e8f2.system.entry.js +4 -0
  782. package/dist/ionic/{p-18918a24.system.entry.js → p-f15b0bbc.system.entry.js} +1 -1
  783. package/dist/ionic/{p-288649db.system.entry.js → p-f15f8140.system.entry.js} +1 -1
  784. package/dist/ionic/{p-125f8cdd.system.js → p-f3e8c505.system.js} +1 -1
  785. package/dist/ionic/{p-56ee6d9a.js → p-f5cb9689.js} +1 -1
  786. package/dist/ionic/p-f687573e.system.js +4 -0
  787. package/dist/ionic/p-f6db2e96.system.entry.js +4 -0
  788. package/dist/ionic/p-f8502e85.js +5 -0
  789. package/dist/ionic/p-f8dfae89.system.entry.js +4 -0
  790. package/dist/ionic/p-fcec3b7a.system.entry.js +4 -0
  791. package/dist/ionic/{p-91f4e611.system.entry.js → p-ff740d68.system.entry.js} +2 -2
  792. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
  793. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  794. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  795. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  796. package/dist/types/components/datetime/datetime.d.ts +9 -2
  797. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  798. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  799. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  800. package/dist/types/components/input/input.d.ts +0 -26
  801. package/dist/types/components/item/item.d.ts +0 -32
  802. package/dist/types/components/menu/menu-interface.d.ts +1 -0
  803. package/dist/types/components/menu/menu.d.ts +14 -6
  804. package/dist/types/components/modal/utils.d.ts +0 -4
  805. package/dist/types/components/nav/nav.d.ts +4 -1
  806. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  807. package/dist/types/components/picker/picker.d.ts +75 -133
  808. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  809. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  810. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  811. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  812. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  813. package/dist/types/components/radio/radio.d.ts +1 -24
  814. package/dist/types/components/range/range.d.ts +30 -21
  815. package/dist/types/components/searchbar/searchbar.d.ts +38 -0
  816. package/dist/types/components/select/select.d.ts +0 -15
  817. package/dist/types/components/split-pane/split-pane.d.ts +14 -2
  818. package/dist/types/components/textarea/textarea.d.ts +0 -17
  819. package/dist/types/components/toast/toast-interface.d.ts +0 -4
  820. package/dist/types/components/toggle/toggle.d.ts +1 -21
  821. package/dist/types/components.d.ts +198 -241
  822. package/dist/types/interface.d.ts +1 -1
  823. package/dist/types/utils/config.d.ts +2 -2
  824. package/dist/types/utils/focus-trap.d.ts +35 -0
  825. package/dist/types/utils/forms/index.d.ts +0 -1
  826. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  827. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  828. package/dist/types/utils/helpers.d.ts +0 -1
  829. package/dist/types/utils/native/status-bar.d.ts +0 -1
  830. package/dist/types/utils/overlays.d.ts +5 -8
  831. package/dist/types/utils/test/playwright/generator.d.ts +3 -1
  832. package/hydrate/index.js +2404 -2603
  833. package/package.json +1 -2
  834. package/components/form-controller.js +0 -64
  835. package/components/ion-picker-column-internal.d.ts +0 -11
  836. package/components/ion-picker-column-internal.js +0 -9
  837. package/components/ion-picker-internal.js +0 -9
  838. package/components/note.js +0 -48
  839. package/components/picker-column-internal.js +0 -392
  840. package/dist/cjs/form-controller-c83330c0.js +0 -66
  841. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  842. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  843. package/dist/collection/components/input/test/item/input.spec.js +0 -24
  844. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +0 -28
  845. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +0 -181
  846. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +0 -55
  847. package/dist/collection/components/input/test/legacy/input-events.e2e.js +0 -71
  848. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +0 -26
  849. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +0 -16
  850. package/dist/collection/components/item/test/counter/item.e2e.js +0 -49
  851. package/dist/collection/components/item/test/highlight/item.e2e.js +0 -14
  852. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +0 -14
  853. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
  854. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +0 -14
  855. package/dist/collection/components/item/test/legacy/form/item.e2e.js +0 -14
  856. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  857. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  858. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  859. package/dist/collection/components/picker-internal/picker-internal.js +0 -560
  860. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  861. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +0 -53
  862. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +0 -127
  863. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +0 -122
  864. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +0 -30
  865. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +0 -38
  866. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  867. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  868. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  869. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  870. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  871. package/dist/collection/components/select/test/legacy/async/select.e2e.js +0 -19
  872. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +0 -145
  873. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +0 -67
  874. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +0 -13
  875. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +0 -16
  876. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +0 -14
  877. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +0 -18
  878. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +0 -39
  879. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +0 -31
  880. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +0 -58
  881. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +0 -43
  882. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +0 -25
  883. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +0 -83
  884. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +0 -37
  885. package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +0 -1
  886. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +0 -14
  887. package/dist/collection/utils/forms/form-controller.js +0 -61
  888. package/dist/esm/form-controller-21dd62b1.js +0 -64
  889. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  890. package/dist/esm-es5/button-active-47ac8092.js +0 -4
  891. package/dist/esm-es5/data-0f3ab200.js +0 -4
  892. package/dist/esm-es5/form-controller-21dd62b1.js +0 -4
  893. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  894. package/dist/esm-es5/helpers-be245865.js +0 -4
  895. package/dist/esm-es5/index-020f5464.js +0 -4
  896. package/dist/esm-es5/index-4c30cddd.js +0 -5
  897. package/dist/esm-es5/input.utils-a445f677.js +0 -4
  898. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  899. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  900. package/dist/esm-es5/md.transition-b8224313.js +0 -4
  901. package/dist/esm-es5/overlays-19b26885.js +0 -4
  902. package/dist/ionic/p-021f9d72.entry.js +0 -4
  903. package/dist/ionic/p-02542247.system.entry.js +0 -4
  904. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  905. package/dist/ionic/p-12527c4b.entry.js +0 -4
  906. package/dist/ionic/p-15a40a0b.system.entry.js +0 -4
  907. package/dist/ionic/p-1636923f.system.js +0 -4
  908. package/dist/ionic/p-16a61810.entry.js +0 -4
  909. package/dist/ionic/p-1846513c.js +0 -4
  910. package/dist/ionic/p-1bc9b5f5.system.js +0 -4
  911. package/dist/ionic/p-1f16d040.entry.js +0 -4
  912. package/dist/ionic/p-1f19958f.system.entry.js +0 -4
  913. package/dist/ionic/p-2178329b.entry.js +0 -4
  914. package/dist/ionic/p-257046d2.system.js +0 -4
  915. package/dist/ionic/p-262024fd.entry.js +0 -4
  916. package/dist/ionic/p-2765a571.system.entry.js +0 -4
  917. package/dist/ionic/p-2ea71956.system.entry.js +0 -4
  918. package/dist/ionic/p-2fd3c3dd.entry.js +0 -4
  919. package/dist/ionic/p-36be3332.js +0 -4
  920. package/dist/ionic/p-437f4d02.system.entry.js +0 -4
  921. package/dist/ionic/p-46bcc2f5.js +0 -4
  922. package/dist/ionic/p-4788693d.entry.js +0 -4
  923. package/dist/ionic/p-479f5926.system.entry.js +0 -4
  924. package/dist/ionic/p-482ea916.system.entry.js +0 -4
  925. package/dist/ionic/p-49f481cc.system.entry.js +0 -4
  926. package/dist/ionic/p-521b3971.entry.js +0 -4
  927. package/dist/ionic/p-5cb5f63d.system.entry.js +0 -4
  928. package/dist/ionic/p-5de920f4.system.entry.js +0 -4
  929. package/dist/ionic/p-5fc8d5ef.system.js +0 -4
  930. package/dist/ionic/p-6812d37d.js +0 -4
  931. package/dist/ionic/p-6b6ca3f5.system.entry.js +0 -4
  932. package/dist/ionic/p-6c45c617.js +0 -4
  933. package/dist/ionic/p-6f59cdbc.system.entry.js +0 -4
  934. package/dist/ionic/p-70fbf4e2.entry.js +0 -4
  935. package/dist/ionic/p-72fa96bf.system.js +0 -5
  936. package/dist/ionic/p-7330c044.system.js +0 -4
  937. package/dist/ionic/p-741a0f0d.system.entry.js +0 -4
  938. package/dist/ionic/p-76b8bcb8.system.entry.js +0 -4
  939. package/dist/ionic/p-7a615a5a.entry.js +0 -4
  940. package/dist/ionic/p-7e16220b.entry.js +0 -4
  941. package/dist/ionic/p-7e838f43.system.entry.js +0 -4
  942. package/dist/ionic/p-7f30ad48.entry.js +0 -4
  943. package/dist/ionic/p-80aed9fb.system.entry.js +0 -4
  944. package/dist/ionic/p-84b85535.entry.js +0 -4
  945. package/dist/ionic/p-85f66c3c.entry.js +0 -4
  946. package/dist/ionic/p-860e2539.system.entry.js +0 -4
  947. package/dist/ionic/p-8cc34120.entry.js +0 -4
  948. package/dist/ionic/p-8e651c29.entry.js +0 -4
  949. package/dist/ionic/p-9056778e.system.entry.js +0 -4
  950. package/dist/ionic/p-96084f36.entry.js +0 -4
  951. package/dist/ionic/p-973b4db3.entry.js +0 -4
  952. package/dist/ionic/p-98aa0553.entry.js +0 -4
  953. package/dist/ionic/p-9de75bac.system.entry.js +0 -4
  954. package/dist/ionic/p-a02ea777.entry.js +0 -4
  955. package/dist/ionic/p-a1036ce7.js +0 -4
  956. package/dist/ionic/p-a1222c24.entry.js +0 -4
  957. package/dist/ionic/p-a4aa6dd2.system.entry.js +0 -4
  958. package/dist/ionic/p-a667dd1f.system.js +0 -4
  959. package/dist/ionic/p-a8459bfb.entry.js +0 -4
  960. package/dist/ionic/p-ae2b3a7a.system.entry.js +0 -4
  961. package/dist/ionic/p-ae828bd9.system.entry.js +0 -4
  962. package/dist/ionic/p-b0aa3806.system.entry.js +0 -4
  963. package/dist/ionic/p-b27bba38.system.entry.js +0 -4
  964. package/dist/ionic/p-b4d2f43c.system.js +0 -4
  965. package/dist/ionic/p-b58686e0.entry.js +0 -4
  966. package/dist/ionic/p-ba0fbecc.entry.js +0 -4
  967. package/dist/ionic/p-bdca4784.js +0 -4
  968. package/dist/ionic/p-c1a871ff.system.entry.js +0 -4
  969. package/dist/ionic/p-c1c7309e.entry.js +0 -4
  970. package/dist/ionic/p-c7288e78.system.entry.js +0 -4
  971. package/dist/ionic/p-cb3065b8.entry.js +0 -4
  972. package/dist/ionic/p-cb9812f7.entry.js +0 -4
  973. package/dist/ionic/p-cfb4d7e0.js +0 -4
  974. package/dist/ionic/p-d143fefa.system.entry.js +0 -4
  975. package/dist/ionic/p-d6c6541b.system.entry.js +0 -4
  976. package/dist/ionic/p-df504a37.system.js +0 -4
  977. package/dist/ionic/p-dff97cfa.entry.js +0 -4
  978. package/dist/ionic/p-e1c52dc6.entry.js +0 -4
  979. package/dist/ionic/p-e4e74b5f.system.entry.js +0 -4
  980. package/dist/ionic/p-e626800f.system.entry.js +0 -4
  981. package/dist/ionic/p-e94c1402.entry.js +0 -4
  982. package/dist/ionic/p-ebc1ca90.system.js +0 -4
  983. package/dist/ionic/p-ed4760ef.entry.js +0 -4
  984. package/dist/ionic/p-ed7a529f.js +0 -5
  985. package/dist/ionic/p-f0e54781.system.entry.js +0 -4
  986. package/dist/ionic/p-f7dce541.js +0 -4
  987. package/dist/ionic/p-fa8d3b01.entry.js +0 -4
  988. package/dist/ionic/p-fbd01db3.system.js +0 -4
  989. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  990. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  991. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  992. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  993. package/dist/types/utils/forms/form-controller.d.ts +0 -15
  994. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  995. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  996. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  997. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  998. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  999. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  1000. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  1001. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  1002. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  1003. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -100,10 +100,10 @@ const mdLeaveAnimation = (baseEl) => {
100
100
  .addAnimation([backdropAnimation, wrapperAnimation]);
101
101
  };
102
102
 
103
- const loadingIosCss = ".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, #666666);--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{-webkit-margin-start:16px;margin-inline-start:16px}";
103
+ const loadingIosCss = ".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-ios-h{display:none}.loading-wrapper.sc-ion-loading-ios{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-ios{color:var(--spinner-color)}.sc-ion-loading-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, var(--ion-background-color-step-100, #f9f9f9)));--max-width:270px;--max-height:90%;--spinner-color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));--backdrop-opacity:var(--ion-backdrop-opacity, 0.3);color:var(--ion-text-color, #000);font-size:0.875rem}.loading-wrapper.sc-ion-loading-ios{border-radius:8px;-webkit-padding-start:34px;padding-inline-start:34px;-webkit-padding-end:34px;padding-inline-end:34px;padding-top:24px;padding-bottom:24px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.loading-translucent.sc-ion-loading-ios-h .loading-wrapper.sc-ion-loading-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}.loading-content.sc-ion-loading-ios{font-weight:bold}.loading-spinner.sc-ion-loading-ios+.loading-content.sc-ion-loading-ios{-webkit-margin-start:16px;margin-inline-start:16px}";
104
104
  const IonLoadingIosStyle0 = loadingIosCss;
105
105
 
106
- const loadingMdCss = ".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, #f2f2f2);--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #3880ff);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, #262626);font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0, 0, 0, 0.4);box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}";
106
+ const loadingMdCss = ".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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;font-family:var(--ion-font-family, inherit);contain:strict;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:-ms-flexbox;display:flex;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;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);opacity:0;z-index:10}ion-spinner.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #0054e9);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, var(--ion-text-color-step-150, #262626));font-size:0.875rem}.loading-wrapper.sc-ion-loading-md{border-radius:2px;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px;padding-top:24px;padding-bottom:24px;-webkit-box-shadow:0 16px 20px rgba(0, 0, 0, 0.4);box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{-webkit-margin-start:16px;margin-inline-start:16px}";
107
107
  const IonLoadingMdStyle0 = loadingMdCss;
108
108
 
109
109
  const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLElement {
@@ -256,9 +256,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
256
256
  * Otherwise, don't set aria-labelledby.
257
257
  */
258
258
  const ariaLabelledBy = message !== undefined ? msgId : null;
259
- return (h(Host, Object.assign({ key: '95123f54ba1db5e59563d79db075315b43ed20f7', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
259
+ return (h(Host, Object.assign({ key: '8b21abdb9968e2b9e69ea4ca4dab98fa9bbcc79b', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
260
260
  zIndex: `${40000 + this.overlayIndex}`,
261
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'e113bf123eaad38f2dafce8ea5d2ebef409d0c0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1268c9480854383c7883a79d597350540ade93c2', tabindex: "0" }), h("div", { key: 'e86fc71504ebd578117dea2232d9740a087d1249', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { class: "loading-spinner" }, h("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '3b91e2492e06aa65ebe77ed2b6ffb9d2f84bdd9c', tabindex: "0" })));
261
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '1a76dd7ce9a801e0171cfa1d3db3b9b5f1574517', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1db24db60f9fad1a9b760a83aa94cab40582d33a', tabindex: "0" }), h("div", { key: '479d80d7a1c89c3b0f63df815a6f8f20221fd158', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { class: "loading-spinner" }, h("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'eaaf110a1a174b56a249a867cc676eebfa6b9bdc', tabindex: "0" })));
262
262
  }
263
263
  get el() { return this; }
264
264
  static get watchers() { return {
@@ -11,7 +11,7 @@ import { u as updateVisibility } from './menu-toggle-util.js';
11
11
  import { d as defineCustomElement$3 } from './icon.js';
12
12
  import { d as defineCustomElement$2 } from './ripple-effect.js';
13
13
 
14
- const menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);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;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);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
14
+ const menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);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;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);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #0054e9);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
15
15
  const IonMenuButtonIosStyle0 = menuButtonIosCss;
16
16
 
17
17
  const menuButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);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;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);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;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%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{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%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:3rem;height:3rem;font-size:1.5rem}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
@@ -51,7 +51,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
51
51
  type: this.type,
52
52
  };
53
53
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
54
- return (h(Host, { key: '2fd7130b8d28695162f7efebbd2131e5e9e4f330', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
54
+ return (h(Host, { key: '349011cb97d80efbbdccde34096e34abe98d03ff', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
55
55
  [mode]: true,
56
56
  button: true, // ion-buttons target .button
57
57
  'menu-button-hidden': hidden,
@@ -60,7 +60,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
60
60
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
61
61
  'ion-activatable': true,
62
62
  'ion-focusable': true,
63
- }) }, h("button", Object.assign({ key: 'fa6b1fb9291df812b04065b4b0ebdfd28e5217eb' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '88106a08070ebff7457c581301efe649829aded2', class: "button-inner" }, h("slot", { key: 'e3edfb89e5705b2c08c66f3d3452457667de3657' }, h("ion-icon", { key: '24678e9c3bb2f1f3db113a2ae0ec93e407a7de0c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
63
+ }) }, h("button", Object.assign({ key: 'e8b326cd96486ad62026413b5616801d496fc969' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'a9878e6fd2f6bd774c4f1d142d7ab2cf09c4ad44', class: "button-inner" }, h("slot", { key: 'd5e7a66233bad1cce7ad814f403aac2f73792d83' }, h("ion-icon", { key: '3c01d567a4ed591a0db3b5ac6645b7afcda43e51', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
64
64
  }
65
65
  get el() { return this; }
66
66
  static get style() { return {
@@ -30,10 +30,10 @@ const MenuToggle = /*@__PURE__*/ proxyCustomElement(class MenuToggle extends HTM
30
30
  render() {
31
31
  const mode = getIonMode(this);
32
32
  const hidden = this.autoHide && !this.visible;
33
- return (h(Host, { key: '5b75baade530bf9e7ed9165a5db3e513975e22f2', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
33
+ return (h(Host, { key: '6148f06183b46097ec7ce279891d6dbf41a6a531', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
34
34
  [mode]: true,
35
35
  'menu-toggle-hidden': hidden,
36
- } }, h("slot", { key: '65dea458274b685125c22af54aa153cf4977113c' })));
36
+ } }, h("slot", { key: '2cc7bb2fa93d354321cb7271be441ee047f877c1' })));
37
37
  }
38
38
  static get style() { return IonMenuToggleStyle0; }
39
39
  }, [1, "ion-menu-toggle", {
@@ -3,25 +3,25 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, Build, h, Host } from '@stencil/core/internal/client';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier.js';
6
+ import { o as getPresentedOverlay, n as focusFirstDescendant, q as focusLastDescendant } from './overlays.js';
6
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
7
- import { shoudUseCloseWatcher } from './hardware-back-button.js';
8
- import { o as isEndSide, i as inheritAriaAttributes, p as assert, m as clamp } from './helpers.js';
8
+ import { shouldUseCloseWatcher } from './hardware-back-button.js';
9
+ import { m as isEndSide, i as inheritAriaAttributes, n as assert, k as clamp } from './helpers.js';
9
10
  import { m as menuController } from './index4.js';
10
- import { o as getPresentedOverlay } from './overlays.js';
11
+ import { h as hostContext } from './theme.js';
11
12
  import { c as config, b as getIonMode } from './ionic-global.js';
12
13
  import { d as defineCustomElement$2 } from './backdrop.js';
13
14
 
14
- const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
15
+ const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
15
16
  const IonMenuIosStyle0 = menuIosCss;
16
17
 
17
- const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
18
+ const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;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);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){-ms-flex:0 1 auto;flex:0 1 auto;width:var(--side-width, var(--width));min-width:var(--side-min-width, var(--min-width));max-width:var(--side-max-width, var(--max-width))}:host(.menu-pane-visible.split-pane-side){left:0;right:0;top:0;bottom:0;position:relative;-webkit-box-shadow:none;box-shadow:none;z-index:0}:host(.menu-pane-visible.split-pane-side.menu-enabled){display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}:host(.menu-pane-visible.split-pane-side){-ms-flex-order:-1;order:-1}:host(.menu-pane-visible.split-pane-side[side=end]){-ms-flex-order:1;order:1}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}:host(.menu-pane-visible) ion-backdrop{display:hidden !important}:host(.menu-pane-visible.split-pane-side){-webkit-border-start:0;border-inline-start:0;-webkit-border-end:var(--border);border-inline-end:var(--border);border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-pane-visible.split-pane-side[side=end]){-webkit-border-start:var(--border);border-inline-start:var(--border);-webkit-border-end:0;border-inline-end:0;border-top:0;border-bottom:0;min-width:var(--side-min-width);max-width:var(--side-max-width)}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
18
19
  const IonMenuMdStyle0 = menuMdCss;
19
20
 
20
21
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
21
22
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
22
23
  const iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';
23
24
  const mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';
24
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
25
25
  const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
26
26
  constructor() {
27
27
  super();
@@ -150,6 +150,19 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
150
150
  }
151
151
  async componentDidLoad() {
152
152
  this.didLoad = true;
153
+ /**
154
+ * A menu inside of a split pane is assumed
155
+ * to be a side pane.
156
+ *
157
+ * When the menu is loaded it needs to
158
+ * see if it should be considered visible inside
159
+ * of the split pane. If the split pane is
160
+ * hidden then the menu should be too.
161
+ */
162
+ const splitPane = this.el.closest('ion-split-pane');
163
+ if (splitPane !== null) {
164
+ this.isPaneVisible = await splitPane.isVisible();
165
+ }
153
166
  this.menuChanged();
154
167
  this.updateState();
155
168
  }
@@ -185,20 +198,11 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
185
198
  this.contentEl = undefined;
186
199
  }
187
200
  onSplitPaneChanged(ev) {
188
- const { target } = ev;
189
201
  const closestSplitPane = this.el.closest('ion-split-pane');
190
- /**
191
- * Menu listens on the body for "ionSplitPaneVisible".
192
- * However, this means the callback will run any time
193
- * a SplitPane changes visibility. As a result, we only want
194
- * Menu's visibility state to update if its parent SplitPane
195
- * changes visibility.
196
- */
197
- if (target !== closestSplitPane) {
198
- return;
202
+ if (closestSplitPane !== null && closestSplitPane === ev.target) {
203
+ this.isPaneVisible = ev.detail.visible;
204
+ this.updateState();
199
205
  }
200
- this.isPaneVisible = ev.detail.isPane(this.el);
201
- this.updateState();
202
206
  }
203
207
  onBackdropClick(ev) {
204
208
  // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
@@ -259,27 +263,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
259
263
  setOpen(shouldOpen, animated = true) {
260
264
  return menuController._setOpen(this, shouldOpen, animated);
261
265
  }
262
- focusFirstDescendant() {
263
- const { el } = this;
264
- const firstInput = el.querySelector(focusableQueryString);
265
- if (firstInput) {
266
- firstInput.focus();
267
- }
268
- else {
269
- el.focus();
270
- }
271
- }
272
- focusLastDescendant() {
273
- const { el } = this;
274
- const inputs = Array.from(el.querySelectorAll(focusableQueryString));
275
- const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
276
- if (lastInput) {
277
- lastInput.focus();
278
- }
279
- else {
280
- el.focus();
281
- }
282
- }
283
266
  trapKeyboardFocus(ev, doc) {
284
267
  const target = ev.target;
285
268
  if (!target) {
@@ -297,13 +280,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
297
280
  * Otherwise, we are about to have focus go out of the menu.
298
281
  * Wrap the focus to either the first or last element.
299
282
  */
283
+ const { el } = this;
300
284
  /**
301
285
  * Once we call `focusFirstDescendant`, another focus event
302
286
  * will fire, which will cause `lastFocus` to be updated
303
287
  * before we can run the code after that. We cache the value
304
288
  * here to avoid that.
305
289
  */
306
- this.focusFirstDescendant();
290
+ focusFirstDescendant(el);
307
291
  /**
308
292
  * If the cached last focused element is the same as the now-
309
293
  * active element, that means the user was on the first element
@@ -311,7 +295,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
311
295
  * last descendant.
312
296
  */
313
297
  if (this.lastFocus === doc.activeElement) {
314
- this.focusLastDescendant();
298
+ focusLastDescendant(el);
315
299
  }
316
300
  }
317
301
  }
@@ -605,20 +589,21 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
605
589
  }
606
590
  }
607
591
  render() {
608
- const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
592
+ const { type, disabled, el, isPaneVisible, inheritedAttributes, side } = this;
609
593
  const mode = getIonMode(this);
610
594
  /**
611
595
  * If the Close Watcher is enabled then
612
596
  * the ionBackButton listener in the menu controller
613
597
  * will handle closing the menu when Escape is pressed.
614
598
  */
615
- return (h(Host, { key: 'be7145625a30951e5cc26646f6121ee4fa4c910f', onKeyDown: shoudUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
+ return (h(Host, { key: '6cd86687e471bd5336ad1d71d0d0323dc2991570', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
616
600
  [mode]: true,
617
601
  [`menu-type-${type}`]: true,
618
602
  'menu-enabled': !disabled,
619
603
  [`menu-side-${side}`]: true,
620
604
  'menu-pane-visible': isPaneVisible,
621
- } }, h("div", { key: 'ecd6e0641ed67691db270190801f7be365a2d121', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'aea3780e259f2b3ea84697a509bb7f13fa9531e9' })), h("ion-backdrop", { key: 'be3253506a34c4c00eb1814621c674196b72db46', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
605
+ 'split-pane-side': hostContext('ion-split-pane', el),
606
+ } }, h("div", { key: 'b9420db4e6d8c77903ed9191ddb092c24d8006b0', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '3633bed75a12aa7437613497e7dabb1c62a2ebb9' })), h("ion-backdrop", { key: '00d60182f11380b51033b5aca9376ce29c41ae37', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
622
607
  }
623
608
  get el() { return this; }
624
609
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  import { proxyCustomElement, HTMLElement, createEvent, writeTask, h, Host } from '@stencil/core/internal/client';
5
5
  import { a as findClosestIonContent, i as isIonContent, d as disableContentScrollY, r as resetContentScrollY, f as findIonContent, p as printIonContentErrorMsg } from './index8.js';
6
6
  import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate.js';
7
- import { g as getElementRoot, m as clamp, r as raf, d as inheritAttributes, l as hasLazyBuild } from './helpers.js';
7
+ import { g as getElementRoot, k as clamp, r as raf, d as inheritAttributes, j as hasLazyBuild } from './helpers.js';
8
8
  import { c as createLockController } from './lock-controller.js';
9
9
  import { p as printIonWarning } from './index6.js';
10
10
  import { g as getCapacitor } from './capacitor.js';
@@ -33,17 +33,6 @@ const StatusBar = {
33
33
  }
34
34
  return undefined;
35
35
  },
36
- // TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
37
- supportsDefaultStatusBarStyle() {
38
- const capacitor = getCapacitor();
39
- /**
40
- * The 'DEFAULT' status bar style was added
41
- * to the @capacitor/status-bar plugin in Capacitor 3.
42
- * PluginHeaders is only supported in Capacitor 3+,
43
- * so we can use this to detect Capacitor 3.
44
- */
45
- return !!(capacitor === null || capacitor === void 0 ? void 0 : capacitor.PluginHeaders);
46
- },
47
36
  setStyle(options) {
48
37
  const engine = this.getEngine();
49
38
  if (!engine) {
@@ -123,21 +112,15 @@ const getBackdropValueForSheet = (x, backdropBreakpoint) => {
123
112
  * is not transformed, so we do not need to
124
113
  * adjust the status bar color.
125
114
  *
126
- * Note: We check supportsDefaultStatusBarStyle so that
127
- * Capacitor <= 2 users do not get their status bar
128
- * stuck in an inconsistent state due to a lack of
129
- * support for Style.Default.
130
115
  */
131
116
  const setCardStatusBarDark = () => {
132
- // TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
133
- if (!win || win.innerWidth >= 768 || !StatusBar.supportsDefaultStatusBarStyle()) {
117
+ if (!win || win.innerWidth >= 768) {
134
118
  return;
135
119
  }
136
120
  StatusBar.setStyle({ style: Style.Dark });
137
121
  };
138
122
  const setCardStatusBarDefault = (defaultStyle = Style.Default) => {
139
- // TODO FW-4696 Remove supportDefaultStatusBarStyle in Ionic v8
140
- if (!win || win.innerWidth >= 768 || !StatusBar.supportsDefaultStatusBarStyle()) {
123
+ if (!win || win.innerWidth >= 768) {
141
124
  return;
142
125
  }
143
126
  StatusBar.setStyle({ style: defaultStyle });
@@ -261,7 +244,7 @@ const calculateSpringStep = (t) => {
261
244
 
262
245
  // Defaults for the card swipe animation
263
246
  const SwipeToCloseDefaults = {
264
- MIN_PRESENTING_SCALE: 0.93,
247
+ MIN_PRESENTING_SCALE: 0.915,
265
248
  };
266
249
  const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
267
250
  /**
@@ -1095,10 +1078,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1095
1078
  };
1096
1079
  };
1097
1080
 
1098
- const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, #c0c0be);cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.modal-card) .modal-wrapper,:host-context([dir=rtl]).modal-card .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}@supports selector(:dir(rtl)){:host(.modal-card:dir(rtl)) .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.modal-sheet) .modal-wrapper,:host-context([dir=rtl]).modal-sheet .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}@supports selector(:dir(rtl)){:host(.modal-sheet:dir(rtl)) .modal-wrapper{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius);border-bottom-right-radius:0;border-bottom-left-radius:0}}";
1081
+ const modalIosCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}";
1099
1082
  const IonModalIosStyle0 = modalIosCss;
1100
1083
 
1101
- const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, #c0c0be);cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
1084
+ const modalMdCss = ":host{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\"\"}:host(.modal-sheet){--height:calc(100% - (var(--ion-safe-area-top) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}";
1102
1085
  const IonModalMdStyle0 = modalMdCss;
1103
1086
 
1104
1087
  const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
@@ -1214,9 +1197,41 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1214
1197
  this.triggerController.removeClickListener();
1215
1198
  }
1216
1199
  componentWillLoad() {
1217
- const { breakpoints, initialBreakpoint, el } = this;
1200
+ const { breakpoints, initialBreakpoint, el, htmlAttributes } = this;
1218
1201
  const isSheetModal = (this.isSheetModal = breakpoints !== undefined && initialBreakpoint !== undefined);
1219
- this.inheritedAttributes = inheritAttributes(el, ['aria-label', 'role']);
1202
+ const attributesToInherit = ['aria-label', 'role'];
1203
+ this.inheritedAttributes = inheritAttributes(el, attributesToInherit);
1204
+ /**
1205
+ * When using a controller modal you can set attributes
1206
+ * using the htmlAttributes property. Since the above attributes
1207
+ * need to be inherited inside of the modal, we need to look
1208
+ * and see if these attributes are being set via htmlAttributes.
1209
+ *
1210
+ * We could alternatively move this to componentDidLoad to simplify the work
1211
+ * here, but we'd then need to make inheritedAttributes a State variable,
1212
+ * thus causing another render to always happen after the first render.
1213
+ */
1214
+ if (htmlAttributes !== undefined) {
1215
+ attributesToInherit.forEach((attribute) => {
1216
+ const attributeValue = htmlAttributes[attribute];
1217
+ if (attributeValue) {
1218
+ /**
1219
+ * If an attribute we need to inherit was
1220
+ * set using htmlAttributes then add it to
1221
+ * inheritedAttributes and remove it from htmlAttributes.
1222
+ * This ensures the attribute is inherited and not
1223
+ * set on the host.
1224
+ *
1225
+ * In this case, if an inherited attribute is set
1226
+ * on the host element and using htmlAttributes then
1227
+ * htmlAttributes wins, but that's not a pattern that we recommend.
1228
+ * The only time you'd need htmlAttributes is when using modalController.
1229
+ */
1230
+ this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { [attribute]: htmlAttributes[attribute] });
1231
+ delete htmlAttributes[attribute];
1232
+ }
1233
+ });
1234
+ }
1220
1235
  if (isSheetModal) {
1221
1236
  this.currentBreakpoint = this.initialBreakpoint;
1222
1237
  }
@@ -1613,9 +1628,9 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1613
1628
  const mode = getIonMode(this);
1614
1629
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1615
1630
  const isHandleCycle = handleBehavior === 'cycle';
1616
- return (h(Host, Object.assign({ key: '0c2c4369ab2df4ef4660addea5e927c6a0232864', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1631
+ return (h(Host, Object.assign({ key: '0fc72571cfcdfeadeffbec280e79f864a5dc3577', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1617
1632
  zIndex: `${20000 + this.overlayIndex}`,
1618
- }, 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 }), h("ion-backdrop", { key: 'd044383a776c2ee1703f996caedaedca47f2948f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: '8d23b6a3cc9069e4d46fa0645cde9db3e6f89507',
1633
+ }, 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 }), h("ion-backdrop", { key: '4ce27aace82b3c2a24b5dcef0cbb2d27a8d333d1', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: 'b54e9d3bf5f31b9533535d8273538ff0ea69bc53',
1619
1634
  /*
1620
1635
  role and aria-modal must be used on the
1621
1636
  same element. They must also be set inside the
@@ -1624,7 +1639,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1624
1639
  */
1625
1640
  role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
1626
1641
  // Prevents the handle from receiving keyboard focus when it does not cycle
1627
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '3fbb689e4bf5575fbb26ad1000f6ac5993f3bf8f' }))));
1642
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '3e143a68b0293a9cd7c075b0f8b5455a5cabe42d' }))));
1628
1643
  }
1629
1644
  get el() { return this; }
1630
1645
  static get watchers() { return {
@@ -36,7 +36,7 @@ const NavLink = /*@__PURE__*/ proxyCustomElement(class NavLink extends HTMLEleme
36
36
  this.routerAnimation = undefined;
37
37
  }
38
38
  render() {
39
- return h(Host, { key: 'a781794425ad0866705bc6691256184b93477a74', onClick: this.onClick });
39
+ return h(Host, { key: '467f69e018b51cbf5d8e672a3994087d615920b7', onClick: this.onClick });
40
40
  }
41
41
  get el() { return this; }
42
42
  }, [0, "ion-nav-link", {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Build } from '@stencil/core/internal/client';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier.js';
6
- import { p as assert, s as shallowEqualStringMap } from './helpers.js';
6
+ import { n as assert, s as shallowEqualStringMap } from './helpers.js';
7
7
  import { p as printIonWarning } from './index6.js';
8
8
  import { l as lifecycle, t as transition, s as setPageHidden, d as LIFECYCLE_WILL_UNLOAD, b as LIFECYCLE_WILL_LEAVE, c as LIFECYCLE_DID_LEAVE } from './index2.js';
9
9
  import { b as getIonMode, c as config } from './ionic-global.js';
@@ -395,8 +395,11 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
395
395
  async getPrevious(view) {
396
396
  return this.getPreviousSync(view);
397
397
  }
398
- getLength() {
399
- return this.views.length;
398
+ /**
399
+ * Returns the number of views in the stack.
400
+ */
401
+ async getLength() {
402
+ return Promise.resolve(this.views.length);
400
403
  }
401
404
  getActiveSync() {
402
405
  return this.views[this.views.length - 1];
@@ -902,7 +905,7 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
902
905
  }
903
906
  }
904
907
  render() {
905
- return h("slot", { key: '654286a8a7ef03d4a22497eb51e781a9a8979774' });
908
+ return h("slot", { key: 'b7daa45558793fba3837368da415367bbcc2660e' });
906
909
  }
907
910
  get el() { return this; }
908
911
  static get watchers() { return {
@@ -931,7 +934,8 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
931
934
  "getActive": [64],
932
935
  "getByIndex": [64],
933
936
  "canGoBack": [64],
934
- "getPrevious": [64]
937
+ "getPrevious": [64],
938
+ "getLength": [64]
935
939
  }, undefined, {
936
940
  "swipeGesture": ["swipeGestureChanged"],
937
941
  "root": ["rootChanged"]
@@ -1,7 +1,49 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { N as Note, d as defineCustomElement$1 } from './note.js';
4
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { c as createColorClasses } from './theme.js';
6
+ import { b as getIonMode } from './ionic-global.js';
7
+
8
+ const noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6));font-size:max(14px, 1rem)}";
9
+ const IonNoteIosStyle0 = noteIosCss;
10
+
11
+ const noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:0.875rem}";
12
+ const IonNoteMdStyle0 = noteMdCss;
13
+
14
+ const Note = /*@__PURE__*/ proxyCustomElement(class Note extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ this.__registerHost();
18
+ this.__attachShadow();
19
+ this.color = undefined;
20
+ }
21
+ render() {
22
+ const mode = getIonMode(this);
23
+ return (h(Host, { key: 'c28c242d5e60e447c4c926041fa62abfbad3f0fd', class: createColorClasses(this.color, {
24
+ [mode]: true,
25
+ }) }, h("slot", { key: 'e4c8e1d32527ba4a9c6d10d579aaba06cb040042' })));
26
+ }
27
+ static get style() { return {
28
+ ios: IonNoteIosStyle0,
29
+ md: IonNoteMdStyle0
30
+ }; }
31
+ }, [33, "ion-note", {
32
+ "color": [513]
33
+ }]);
34
+ function defineCustomElement$1() {
35
+ if (typeof customElements === "undefined") {
36
+ return;
37
+ }
38
+ const components = ["ion-note"];
39
+ components.forEach(tagName => { switch (tagName) {
40
+ case "ion-note":
41
+ if (!customElements.get(tagName)) {
42
+ customElements.define(tagName, Note);
43
+ }
44
+ break;
45
+ } });
46
+ }
5
47
 
6
48
  const IonNote = Note;
7
49
  const defineCustomElement = defineCustomElement$1;
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IonPickerColumnOption extends Components.IonPickerColumnOption, HTMLElement {}
4
+ export const IonPickerColumnOption: {
5
+ prototype: IonPickerColumnOption;
6
+ new (): IonPickerColumnOption;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { P as PickerColumnOption, d as defineCustomElement$1 } from './picker-column-option.js';
5
+
6
+ const IonPickerColumnOption = PickerColumnOption;
7
+ const defineCustomElement = defineCustomElement$1;
8
+
9
+ export { IonPickerColumnOption, defineCustomElement };
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { P as PickerColumnCmp, d as defineCustomElement$1 } from './picker-column.js';
4
+ import { P as PickerColumn, d as defineCustomElement$1 } from './picker-column.js';
5
5
 
6
- const IonPickerColumn = PickerColumnCmp;
6
+ const IonPickerColumn = PickerColumn;
7
7
  const defineCustomElement = defineCustomElement$1;
8
8
 
9
9
  export { IonPickerColumn, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IonPickerLegacyColumn extends Components.IonPickerLegacyColumn, HTMLElement {}
4
+ export const IonPickerLegacyColumn: {
5
+ prototype: IonPickerLegacyColumn;
6
+ new (): IonPickerLegacyColumn;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { P as PickerColumnCmp, d as defineCustomElement$1 } from './picker-column2.js';
5
+
6
+ const IonPickerLegacyColumn = PickerColumnCmp;
7
+ const defineCustomElement = defineCustomElement$1;
8
+
9
+ export { IonPickerLegacyColumn, defineCustomElement };