@ionic/core 8.0.0-dev.11712932867.11504809 → 8.0.0-dev.11713893672.15a2b23e

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 (940) hide show
  1. package/components/action-sheet.js +6 -11
  2. package/components/alert.js +8 -12
  3. package/components/backdrop.js +4 -8
  4. package/components/button.js +11 -40
  5. package/components/buttons.js +5 -9
  6. package/components/checkbox.js +11 -15
  7. package/components/data.js +4 -4
  8. package/components/index4.js +7 -8
  9. package/components/index6.js +30 -27
  10. package/components/index7.js +27 -124
  11. package/components/index8.js +111 -150
  12. package/components/index9.js +167 -0
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +6 -9
  16. package/components/ion-accordion.js +6 -10
  17. package/components/ion-app.js +6 -5
  18. package/components/ion-avatar.js +2 -9
  19. package/components/ion-back-button.js +8 -12
  20. package/components/ion-badge.js +5 -9
  21. package/components/ion-breadcrumb.js +7 -11
  22. package/components/ion-breadcrumbs.js +5 -9
  23. package/components/ion-card-content.js +5 -9
  24. package/components/ion-card-header.js +5 -9
  25. package/components/ion-card-subtitle.js +5 -9
  26. package/components/ion-card-title.js +5 -9
  27. package/components/ion-card.js +7 -16
  28. package/components/ion-chip.js +6 -16
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -13
  31. package/components/ion-datetime-button.js +6 -9
  32. package/components/ion-datetime.js +28 -33
  33. package/components/ion-fab-button.js +6 -10
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +5 -5
  36. package/components/ion-footer.js +10 -14
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +10 -14
  39. package/components/ion-img.js +2 -5
  40. package/components/ion-infinite-scroll-content.js +8 -12
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +6 -5
  43. package/components/ion-input.js +13 -21
  44. package/components/ion-item-divider.js +5 -9
  45. package/components/ion-item-group.js +5 -9
  46. package/components/ion-item-option.js +5 -9
  47. package/components/ion-item-options.js +5 -9
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +6 -10
  50. package/components/ion-menu-button.js +7 -11
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +5 -9
  53. package/components/ion-modal.js +8 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +5 -6
  56. package/components/ion-note.js +5 -9
  57. package/components/ion-picker-legacy.js +6 -5
  58. package/components/ion-progress-bar.js +4 -8
  59. package/components/ion-range.js +8 -11
  60. package/components/ion-refresher-content.js +8 -9
  61. package/components/ion-refresher.js +6 -10
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +5 -11
  64. package/components/ion-router-link.js +5 -5
  65. package/components/ion-router-outlet.js +1 -1
  66. package/components/ion-row.js +2 -5
  67. package/components/ion-searchbar.js +12 -16
  68. package/components/ion-segment-button.js +6 -10
  69. package/components/ion-segment.js +5 -9
  70. package/components/ion-select-option.js +2 -5
  71. package/components/ion-select.js +19 -23
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +6 -10
  74. package/components/ion-tab-bar.js +5 -9
  75. package/components/ion-tab-button.js +5 -9
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +1 -1
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +8 -12
  80. package/components/ion-thumbnail.js +2 -5
  81. package/components/ion-title.js +5 -9
  82. package/components/ion-toast.js +9 -13
  83. package/components/ion-toggle.js +15 -19
  84. package/components/ion-toolbar.js +5 -9
  85. package/components/ionic-global.js +14 -191
  86. package/components/ios.transition.js +0 -1
  87. package/components/item.js +7 -11
  88. package/components/label.js +5 -9
  89. package/components/list-header.js +5 -9
  90. package/components/list.js +6 -10
  91. package/components/overlays.js +2 -1
  92. package/components/picker-column-option.js +5 -9
  93. package/components/picker-column.js +150 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +2 -6
  96. package/components/popover.js +6 -9
  97. package/components/radio-group.js +3 -5
  98. package/components/radio.js +8 -12
  99. package/components/ripple-effect.js +4 -4
  100. package/components/select-popover.js +2 -9
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css.map +1 -1
  104. package/css/ionic.bundle.css.map +1 -1
  105. package/css/palettes/dark.always.css +1 -1
  106. package/css/palettes/dark.always.css.map +1 -1
  107. package/css/palettes/dark.class.css +1 -1
  108. package/css/palettes/dark.class.css.map +1 -1
  109. package/css/palettes/dark.system.css +1 -1
  110. package/css/palettes/dark.system.css.map +1 -1
  111. package/dist/cjs/{app-globals-afaa9c54.js → app-globals-63aebf89.js} +1 -1
  112. package/dist/cjs/{data-99329b16.js → data-21dc0f81.js} +6 -6
  113. package/dist/cjs/{hardware-back-button-6084a439.js → hardware-back-button-ad9299b4.js} +1 -1
  114. package/dist/cjs/index-5915f9b3.js +38 -0
  115. package/dist/cjs/{index-18f2ba3b.js → index-5b6a7459.js} +2 -2
  116. package/dist/cjs/{index-f378621f.js → index-5cf05f94.js} +12 -13
  117. package/dist/cjs/{index-7c699f7b.js → index-ff66cc7c.js} +2 -2
  118. package/dist/cjs/index.cjs.js +8 -7
  119. package/dist/cjs/{input-shims-077ab038.js → input-shims-20d639e6.js} +2 -3
  120. package/dist/cjs/{input.utils-1aac63e6.js → input.utils-611cde0b.js} +2 -2
  121. package/dist/cjs/ion-accordion_2.cjs.entry.js +11 -18
  122. package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -13
  123. package/dist/cjs/ion-alert.cjs.entry.js +11 -14
  124. package/dist/cjs/ion-app_8.cjs.entry.js +61 -81
  125. package/dist/cjs/ion-avatar_3.cjs.entry.js +7 -21
  126. package/dist/cjs/ion-back-button.cjs.entry.js +7 -11
  127. package/dist/cjs/ion-backdrop.cjs.entry.js +4 -8
  128. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +10 -18
  129. package/dist/cjs/ion-button_2.cjs.entry.js +14 -43
  130. package/dist/cjs/ion-card_5.cjs.entry.js +23 -47
  131. package/dist/cjs/ion-checkbox.cjs.entry.js +11 -15
  132. package/dist/cjs/ion-chip.cjs.entry.js +5 -14
  133. package/dist/cjs/ion-col_3.cjs.entry.js +10 -13
  134. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -14
  135. package/dist/cjs/ion-datetime_3.cjs.entry.js +107 -112
  136. package/dist/cjs/ion-fab_3.cjs.entry.js +13 -17
  137. package/dist/cjs/ion-img.cjs.entry.js +2 -5
  138. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +13 -16
  139. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +10 -9
  140. package/dist/cjs/ion-input.cjs.entry.js +14 -20
  141. package/dist/cjs/ion-item-option_3.cjs.entry.js +14 -21
  142. package/dist/cjs/ion-item_8.cjs.entry.js +35 -63
  143. package/dist/cjs/ion-loading.cjs.entry.js +9 -12
  144. package/dist/cjs/ion-menu_3.cjs.entry.js +18 -25
  145. package/dist/cjs/ion-modal.cjs.entry.js +16 -19
  146. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -8
  147. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -9
  148. package/dist/cjs/ion-picker-column.cjs.entry.js +148 -7
  149. package/dist/cjs/ion-picker.cjs.entry.js +2 -6
  150. package/dist/cjs/ion-popover.cjs.entry.js +12 -15
  151. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -8
  152. package/dist/cjs/ion-radio_2.cjs.entry.js +10 -16
  153. package/dist/cjs/ion-range.cjs.entry.js +13 -16
  154. package/dist/cjs/ion-refresher_2.cjs.entry.js +13 -17
  155. package/dist/cjs/ion-reorder_2.cjs.entry.js +9 -14
  156. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  157. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  158. package/dist/cjs/ion-searchbar.cjs.entry.js +11 -15
  159. package/dist/cjs/ion-segment_2.cjs.entry.js +10 -18
  160. package/dist/cjs/ion-select_3.cjs.entry.js +23 -36
  161. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  162. package/dist/cjs/ion-split-pane.cjs.entry.js +6 -10
  163. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +9 -17
  164. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  166. package/dist/cjs/ion-textarea.cjs.entry.js +10 -13
  167. package/dist/cjs/ion-toast.cjs.entry.js +32 -36
  168. package/dist/cjs/ion-toggle.cjs.entry.js +14 -18
  169. package/dist/cjs/ionic-global-1adf9bc4.js +230 -0
  170. package/dist/cjs/ionic.cjs.js +3 -3
  171. package/dist/cjs/{ios.transition-07077689.js → ios.transition-06673f18.js} +1 -2
  172. package/dist/cjs/loader.cjs.js +3 -3
  173. package/dist/cjs/{md.transition-a829ffba.js → md.transition-4d7bb4b1.js} +1 -1
  174. package/dist/cjs/{overlays-a247b257.js → overlays-6487955a.js} +4 -3
  175. package/dist/cjs/{status-tap-870d407b.js → status-tap-0be20572.js} +2 -2
  176. package/dist/collection/components/accordion/accordion.ios.css +0 -12
  177. package/dist/collection/components/accordion/accordion.js +8 -11
  178. package/dist/collection/components/accordion/accordion.md.css +0 -6
  179. package/dist/collection/components/accordion-group/accordion-group.ios.css +0 -12
  180. package/dist/collection/components/accordion-group/accordion-group.js +8 -11
  181. package/dist/collection/components/accordion-group/accordion-group.md.css +0 -18
  182. package/dist/collection/components/action-sheet/action-sheet.ios.css +0 -12
  183. package/dist/collection/components/action-sheet/action-sheet.js +10 -14
  184. package/dist/collection/components/action-sheet/action-sheet.md.css +0 -12
  185. package/dist/collection/components/alert/alert.ios.css +0 -18
  186. package/dist/collection/components/alert/alert.js +12 -15
  187. package/dist/collection/components/alert/alert.md.css +0 -18
  188. package/dist/collection/components/app/app.js +4 -8
  189. package/dist/collection/components/avatar/avatar.ios.css +0 -12
  190. package/dist/collection/components/avatar/avatar.js +4 -13
  191. package/dist/collection/components/avatar/avatar.md.css +0 -12
  192. package/dist/collection/components/back-button/back-button.ios.css +0 -12
  193. package/dist/collection/components/back-button/back-button.js +10 -13
  194. package/dist/collection/components/back-button/back-button.md.css +0 -12
  195. package/dist/collection/components/backdrop/backdrop.ios.css +0 -12
  196. package/dist/collection/components/backdrop/backdrop.js +6 -12
  197. package/dist/collection/components/backdrop/backdrop.md.css +0 -12
  198. package/dist/collection/components/badge/badge.ios.css +0 -12
  199. package/dist/collection/components/badge/badge.js +8 -11
  200. package/dist/collection/components/badge/badge.md.css +0 -12
  201. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +0 -12
  202. package/dist/collection/components/breadcrumb/breadcrumb.js +9 -12
  203. package/dist/collection/components/breadcrumb/breadcrumb.md.css +0 -12
  204. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  205. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  206. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  207. package/dist/collection/components/button/button.ios.css +5 -29
  208. package/dist/collection/components/button/button.js +16 -45
  209. package/dist/collection/components/button/button.md.css +4 -23
  210. package/dist/collection/components/button/test/clear/button.e2e.js +3 -6
  211. package/dist/collection/components/button/test/round/button.e2e.js +52 -0
  212. package/dist/collection/components/button/test/size/button.e2e.js +1 -18
  213. package/dist/collection/components/buttons/buttons.ios.css +0 -18
  214. package/dist/collection/components/buttons/buttons.js +8 -14
  215. package/dist/collection/components/buttons/buttons.md.css +0 -18
  216. package/dist/collection/components/card/card.ios.css +0 -12
  217. package/dist/collection/components/card/card.js +10 -34
  218. package/dist/collection/components/card/card.md.css +0 -12
  219. package/dist/collection/components/card-content/card-content.ios.css +0 -12
  220. package/dist/collection/components/card-content/card-content.js +8 -11
  221. package/dist/collection/components/card-content/card-content.md.css +0 -12
  222. package/dist/collection/components/card-header/card-header.ios.css +0 -12
  223. package/dist/collection/components/card-header/card-header.js +9 -12
  224. package/dist/collection/components/card-header/card-header.md.css +0 -12
  225. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  226. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  227. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  228. package/dist/collection/components/card-title/card-title.ios.css +0 -12
  229. package/dist/collection/components/card-title/card-title.js +8 -11
  230. package/dist/collection/components/card-title/card-title.md.css +0 -12
  231. package/dist/collection/components/checkbox/checkbox.ios.css +1 -18
  232. package/dist/collection/components/checkbox/checkbox.js +12 -15
  233. package/dist/collection/components/checkbox/checkbox.md.css +1 -18
  234. package/dist/collection/components/chip/chip.ios.css +0 -6
  235. package/dist/collection/components/chip/chip.js +8 -33
  236. package/dist/collection/components/chip/chip.md.css +0 -6
  237. package/dist/collection/components/chip/test/states/chip.e2e.js +0 -16
  238. package/dist/collection/components/col/col.css +0 -12
  239. package/dist/collection/components/col/col.js +5 -9
  240. package/dist/collection/components/content/content.css +0 -6
  241. package/dist/collection/components/content/content.js +11 -33
  242. package/dist/collection/components/datetime/datetime.ios.css +0 -12
  243. package/dist/collection/components/datetime/datetime.js +29 -34
  244. package/dist/collection/components/datetime/datetime.md.css +0 -12
  245. package/dist/collection/components/datetime/utils/data.js +3 -3
  246. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  247. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  248. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  249. package/dist/collection/components/fab/fab.css +0 -24
  250. package/dist/collection/components/fab/fab.js +5 -9
  251. package/dist/collection/components/fab-button/fab-button.ios.css +0 -12
  252. package/dist/collection/components/fab-button/fab-button.js +9 -12
  253. package/dist/collection/components/fab-button/fab-button.md.css +0 -12
  254. package/dist/collection/components/fab-list/fab-list.css +0 -12
  255. package/dist/collection/components/fab-list/fab-list.js +5 -9
  256. package/dist/collection/components/footer/footer.ios.css +0 -12
  257. package/dist/collection/components/footer/footer.js +14 -17
  258. package/dist/collection/components/footer/footer.md.css +0 -12
  259. package/dist/collection/components/grid/grid.css +0 -12
  260. package/dist/collection/components/grid/grid.js +5 -9
  261. package/dist/collection/components/header/header.ios.css +0 -12
  262. package/dist/collection/components/header/header.js +14 -17
  263. package/dist/collection/components/header/header.md.css +0 -12
  264. package/dist/collection/components/img/img.js +2 -8
  265. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -8
  266. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  267. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  268. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  269. package/dist/collection/components/input/input.ios.css +0 -18
  270. package/dist/collection/components/input/input.js +19 -43
  271. package/dist/collection/components/input/input.md.css +2 -44
  272. package/dist/collection/components/input/test/input.spec.js +0 -13
  273. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  274. package/dist/collection/components/item/item.ios.css +0 -12
  275. package/dist/collection/components/item/item.js +10 -13
  276. package/dist/collection/components/item/item.md.css +0 -24
  277. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  278. package/dist/collection/components/item-divider/item-divider.js +8 -11
  279. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  280. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  281. package/dist/collection/components/item-group/item-group.js +7 -13
  282. package/dist/collection/components/item-group/item-group.md.css +0 -12
  283. package/dist/collection/components/item-option/item-option.ios.css +0 -12
  284. package/dist/collection/components/item-option/item-option.js +8 -11
  285. package/dist/collection/components/item-option/item-option.md.css +0 -12
  286. package/dist/collection/components/item-options/item-options.ios.css +0 -18
  287. package/dist/collection/components/item-options/item-options.js +7 -13
  288. package/dist/collection/components/item-options/item-options.md.css +0 -18
  289. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  290. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  291. package/dist/collection/components/label/label.ios.css +0 -18
  292. package/dist/collection/components/label/label.js +8 -11
  293. package/dist/collection/components/label/label.md.css +0 -18
  294. package/dist/collection/components/list/list.ios.css +0 -18
  295. package/dist/collection/components/list/list.js +9 -12
  296. package/dist/collection/components/list/list.md.css +0 -18
  297. package/dist/collection/components/list-header/list-header.ios.css +0 -18
  298. package/dist/collection/components/list-header/list-header.js +8 -11
  299. package/dist/collection/components/list-header/list-header.md.css +0 -18
  300. package/dist/collection/components/loading/loading.ios.css +0 -12
  301. package/dist/collection/components/loading/loading.js +10 -13
  302. package/dist/collection/components/loading/loading.md.css +0 -12
  303. package/dist/collection/components/menu/menu.ios.css +0 -12
  304. package/dist/collection/components/menu/menu.js +7 -12
  305. package/dist/collection/components/menu/menu.md.css +0 -12
  306. package/dist/collection/components/menu-button/menu-button.ios.css +0 -12
  307. package/dist/collection/components/menu-button/menu-button.js +9 -12
  308. package/dist/collection/components/menu-button/menu-button.md.css +0 -12
  309. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  310. package/dist/collection/components/modal/modal.ios.css +0 -12
  311. package/dist/collection/components/modal/modal.js +9 -12
  312. package/dist/collection/components/modal/modal.md.css +0 -12
  313. package/dist/collection/components/nav/nav.css +0 -6
  314. package/dist/collection/components/nav/nav.js +5 -11
  315. package/dist/collection/components/nav-link/nav-link.js +1 -5
  316. package/dist/collection/components/note/note.ios.css +0 -12
  317. package/dist/collection/components/note/note.js +8 -11
  318. package/dist/collection/components/note/note.md.css +0 -12
  319. package/dist/collection/components/picker/picker.ios.css +0 -12
  320. package/dist/collection/components/picker/picker.js +5 -8
  321. package/dist/collection/components/picker/picker.md.css +0 -12
  322. package/dist/collection/components/picker-column/picker-column.css +19 -6
  323. package/dist/collection/components/picker-column/picker-column.js +153 -8
  324. package/dist/collection/components/picker-column/test/picker-column.spec.js +83 -0
  325. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  326. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  327. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  328. package/dist/collection/components/picker-legacy/picker.ios.css +0 -12
  329. package/dist/collection/components/picker-legacy/picker.js +6 -7
  330. package/dist/collection/components/picker-legacy/picker.md.css +0 -12
  331. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  332. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  333. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  334. package/dist/collection/components/popover/popover.ios.css +0 -12
  335. package/dist/collection/components/popover/popover.js +12 -15
  336. package/dist/collection/components/popover/popover.md.css +0 -12
  337. package/dist/collection/components/progress-bar/progress-bar.ios.css +0 -6
  338. package/dist/collection/components/progress-bar/progress-bar.js +7 -10
  339. package/dist/collection/components/progress-bar/progress-bar.md.css +0 -6
  340. package/dist/collection/components/radio/radio.ios.css +1 -18
  341. package/dist/collection/components/radio/radio.js +9 -12
  342. package/dist/collection/components/radio/radio.md.css +1 -18
  343. package/dist/collection/components/radio-group/radio-group.js +3 -9
  344. package/dist/collection/components/range/range.ios.css +0 -12
  345. package/dist/collection/components/range/range.js +9 -12
  346. package/dist/collection/components/range/range.md.css +0 -12
  347. package/dist/collection/components/refresher/refresher.ios.css +0 -12
  348. package/dist/collection/components/refresher/refresher.js +8 -11
  349. package/dist/collection/components/refresher/refresher.md.css +0 -12
  350. package/dist/collection/components/refresher-content/refresher-content.js +7 -12
  351. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  352. package/dist/collection/components/reorder/reorder.js +6 -13
  353. package/dist/collection/components/reorder/reorder.md.css +0 -6
  354. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  355. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  356. package/dist/collection/components/ripple-effect/ripple-effect.css +0 -6
  357. package/dist/collection/components/ripple-effect/ripple-effect.js +4 -8
  358. package/dist/collection/components/route/route.js +0 -4
  359. package/dist/collection/components/router/router.js +0 -4
  360. package/dist/collection/components/router-link/router-link.css +0 -6
  361. package/dist/collection/components/router-link/router-link.js +5 -9
  362. package/dist/collection/components/router-outlet/router-outlet.css +0 -6
  363. package/dist/collection/components/router-outlet/router-outlet.js +2 -5
  364. package/dist/collection/components/row/row.css +0 -12
  365. package/dist/collection/components/row/row.js +2 -9
  366. package/dist/collection/components/searchbar/searchbar.ios.css +0 -12
  367. package/dist/collection/components/searchbar/searchbar.js +18 -21
  368. package/dist/collection/components/searchbar/searchbar.md.css +0 -12
  369. package/dist/collection/components/segment/segment.ios.css +0 -18
  370. package/dist/collection/components/segment/segment.js +8 -11
  371. package/dist/collection/components/segment/segment.md.css +0 -18
  372. package/dist/collection/components/segment-button/segment-button.ios.css +0 -12
  373. package/dist/collection/components/segment-button/segment-button.js +9 -12
  374. package/dist/collection/components/segment-button/segment-button.md.css +0 -12
  375. package/dist/collection/components/select/select.ios.css +0 -18
  376. package/dist/collection/components/select/select.js +24 -27
  377. package/dist/collection/components/select/select.md.css +0 -30
  378. package/dist/collection/components/select-option/select-option.js +2 -9
  379. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  380. package/dist/collection/components/select-popover/select-popover.js +4 -12
  381. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  382. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  383. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  384. package/dist/collection/components/spinner/spinner.css +0 -6
  385. package/dist/collection/components/spinner/spinner.js +6 -10
  386. package/dist/collection/components/split-pane/split-pane.ios.css +0 -18
  387. package/dist/collection/components/split-pane/split-pane.js +8 -14
  388. package/dist/collection/components/split-pane/split-pane.md.css +0 -18
  389. package/dist/collection/components/tab/tab.js +2 -6
  390. package/dist/collection/components/tab-bar/tab-bar.ios.css +0 -18
  391. package/dist/collection/components/tab-bar/tab-bar.js +9 -12
  392. package/dist/collection/components/tab-bar/tab-bar.md.css +0 -18
  393. package/dist/collection/components/tab-button/tab-button.ios.css +0 -12
  394. package/dist/collection/components/tab-button/tab-button.js +8 -11
  395. package/dist/collection/components/tab-button/tab-button.md.css +0 -12
  396. package/dist/collection/components/tabs/tabs.css +0 -6
  397. package/dist/collection/components/tabs/tabs.js +1 -4
  398. package/dist/collection/components/text/text.css +0 -6
  399. package/dist/collection/components/text/text.js +6 -7
  400. package/dist/collection/components/textarea/textarea.ios.css +0 -24
  401. package/dist/collection/components/textarea/textarea.js +12 -15
  402. package/dist/collection/components/textarea/textarea.md.css +0 -36
  403. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  404. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  405. package/dist/collection/components/title/title.ios.css +0 -6
  406. package/dist/collection/components/title/title.js +7 -13
  407. package/dist/collection/components/title/title.md.css +0 -6
  408. package/dist/collection/components/toast/animations/utils.js +1 -1
  409. package/dist/collection/components/toast/toast.ios.css +0 -12
  410. package/dist/collection/components/toast/toast.js +11 -15
  411. package/dist/collection/components/toast/toast.md.css +0 -12
  412. package/dist/collection/components/toggle/toggle.ios.css +1 -18
  413. package/dist/collection/components/toggle/toggle.js +15 -18
  414. package/dist/collection/components/toggle/toggle.md.css +1 -18
  415. package/dist/collection/components/toolbar/toolbar.ios.css +0 -12
  416. package/dist/collection/components/toolbar/toolbar.js +10 -13
  417. package/dist/collection/components/toolbar/toolbar.md.css +0 -12
  418. package/dist/collection/css/test/{typography/a11y → a11y}/typography.e2e.js +1 -1
  419. package/dist/collection/global/ionic-global.js +13 -161
  420. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  421. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  422. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  423. package/dist/collection/utils/test/playwright/generator.js +23 -48
  424. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -13
  425. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -13
  426. package/dist/collection/utils/transition/ios.transition.js +0 -1
  427. package/dist/docs.json +236 -3911
  428. package/dist/esm/{app-globals-6b65a082.js → app-globals-b8e5e7fa.js} +1 -1
  429. package/dist/esm/{button-active-b3a77616.js → button-active-a411da52.js} +1 -1
  430. package/dist/esm/{data-e73f49e1.js → data-ae11fd43.js} +4 -4
  431. package/dist/esm/{hardware-back-button-7e31a4ae.js → hardware-back-button-329c81fd.js} +2 -2
  432. package/dist/esm/{index-8137ebe0.js → index-10916999.js} +8 -9
  433. package/dist/esm/{index-55408470.js → index-5cc724f3.js} +1 -1
  434. package/dist/esm/{index-a19e0b91.js → index-6e4709ff.js} +1 -1
  435. package/dist/esm/index-9b0d46f4.js +34 -0
  436. package/dist/esm/{index-bf81c266.js → index-f1f5de26.js} +3 -3
  437. package/dist/esm/index.js +9 -8
  438. package/dist/esm/{input-shims-8453cb67.js → input-shims-4530285e.js} +2 -3
  439. package/dist/esm/{input.utils-8bf2cdac.js → input.utils-09c71bc7.js} +1 -1
  440. package/dist/esm/ion-accordion_2.entry.js +11 -18
  441. package/dist/esm/ion-action-sheet.entry.js +11 -15
  442. package/dist/esm/ion-alert.entry.js +13 -16
  443. package/dist/esm/ion-app_8.entry.js +51 -71
  444. package/dist/esm/ion-avatar_3.entry.js +8 -22
  445. package/dist/esm/ion-back-button.entry.js +8 -12
  446. package/dist/esm/ion-backdrop.entry.js +5 -9
  447. package/dist/esm/ion-breadcrumb_2.entry.js +11 -19
  448. package/dist/esm/ion-button_2.entry.js +12 -41
  449. package/dist/esm/ion-card_5.entry.js +24 -48
  450. package/dist/esm/ion-checkbox.entry.js +12 -16
  451. package/dist/esm/ion-chip.entry.js +6 -15
  452. package/dist/esm/ion-col_3.entry.js +11 -14
  453. package/dist/esm/ion-datetime-button.entry.js +8 -11
  454. package/dist/esm/ion-datetime_3.entry.js +38 -43
  455. package/dist/esm/ion-fab_3.entry.js +14 -18
  456. package/dist/esm/ion-img.entry.js +3 -6
  457. package/dist/esm/ion-infinite-scroll_2.entry.js +14 -17
  458. package/dist/esm/ion-input-password-toggle.entry.js +6 -5
  459. package/dist/esm/ion-input.entry.js +15 -21
  460. package/dist/esm/ion-item-option_3.entry.js +15 -22
  461. package/dist/esm/ion-item_8.entry.js +36 -64
  462. package/dist/esm/ion-loading.entry.js +10 -13
  463. package/dist/esm/ion-menu_3.entry.js +19 -26
  464. package/dist/esm/ion-modal.entry.js +12 -15
  465. package/dist/esm/ion-nav_2.entry.js +7 -9
  466. package/dist/esm/ion-picker-column-option.entry.js +6 -10
  467. package/dist/esm/ion-picker-column.entry.js +149 -8
  468. package/dist/esm/ion-picker.entry.js +3 -7
  469. package/dist/esm/ion-popover.entry.js +10 -13
  470. package/dist/esm/ion-progress-bar.entry.js +5 -9
  471. package/dist/esm/ion-radio_2.entry.js +11 -17
  472. package/dist/esm/ion-range.entry.js +9 -12
  473. package/dist/esm/ion-refresher_2.entry.js +14 -18
  474. package/dist/esm/ion-reorder_2.entry.js +10 -15
  475. package/dist/esm/ion-ripple-effect.entry.js +5 -5
  476. package/dist/esm/ion-route_4.entry.js +6 -6
  477. package/dist/esm/ion-searchbar.entry.js +12 -16
  478. package/dist/esm/ion-segment_2.entry.js +11 -19
  479. package/dist/esm/ion-select_3.entry.js +24 -37
  480. package/dist/esm/ion-spinner.entry.js +7 -7
  481. package/dist/esm/ion-split-pane.entry.js +7 -11
  482. package/dist/esm/ion-tab-bar_2.entry.js +10 -18
  483. package/dist/esm/ion-tab_2.entry.js +4 -4
  484. package/dist/esm/ion-text.entry.js +6 -6
  485. package/dist/esm/ion-textarea.entry.js +11 -14
  486. package/dist/esm/ion-toast.entry.js +12 -16
  487. package/dist/esm/ion-toggle.entry.js +15 -19
  488. package/dist/esm/ionic-global-c4e0c089.js +224 -0
  489. package/dist/esm/ionic.js +5 -5
  490. package/dist/esm/{ios.transition-b169aa46.js → ios.transition-8e181a7e.js} +2 -3
  491. package/dist/esm/loader.js +5 -5
  492. package/dist/esm/{md.transition-ecde7aa6.js → md.transition-f1c3c737.js} +2 -2
  493. package/dist/esm/{overlays-7125a1f5.js → overlays-9472c98b.js} +3 -2
  494. package/dist/esm/{status-tap-6bfbede6.js → status-tap-39da9160.js} +3 -3
  495. package/dist/esm-es5/app-globals-b8e5e7fa.js +4 -0
  496. package/dist/esm-es5/{button-active-b3a77616.js → button-active-a411da52.js} +1 -1
  497. package/dist/esm-es5/data-ae11fd43.js +4 -0
  498. package/dist/esm-es5/{hardware-back-button-7e31a4ae.js → hardware-back-button-329c81fd.js} +1 -1
  499. package/dist/esm-es5/index-10916999.js +4 -0
  500. package/dist/esm-es5/index-5cc724f3.js +4 -0
  501. package/dist/esm-es5/{index-a19e0b91.js → index-6e4709ff.js} +1 -1
  502. package/dist/esm-es5/index-9b0d46f4.js +4 -0
  503. package/dist/esm-es5/{index-bf81c266.js → index-f1f5de26.js} +1 -1
  504. package/dist/esm-es5/index.js +1 -1
  505. package/dist/esm-es5/input-shims-4530285e.js +4 -0
  506. package/dist/esm-es5/input.utils-09c71bc7.js +4 -0
  507. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  508. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  509. package/dist/esm-es5/ion-alert.entry.js +1 -1
  510. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  511. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  512. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  513. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  514. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  515. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  516. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  517. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  518. package/dist/esm-es5/ion-chip.entry.js +1 -1
  519. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  520. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  521. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  522. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  523. package/dist/esm-es5/ion-img.entry.js +1 -1
  524. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  525. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  526. package/dist/esm-es5/ion-input.entry.js +1 -1
  527. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  528. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  529. package/dist/esm-es5/ion-loading.entry.js +1 -1
  530. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  531. package/dist/esm-es5/ion-modal.entry.js +1 -1
  532. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  533. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  534. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  535. package/dist/esm-es5/ion-picker.entry.js +1 -1
  536. package/dist/esm-es5/ion-popover.entry.js +1 -1
  537. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  538. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  539. package/dist/esm-es5/ion-range.entry.js +1 -1
  540. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  541. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  542. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  543. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  544. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  545. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  546. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  547. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  548. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  549. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  550. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  551. package/dist/esm-es5/ion-text.entry.js +1 -1
  552. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  553. package/dist/esm-es5/ion-toast.entry.js +1 -1
  554. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  555. package/dist/esm-es5/ionic-global-c4e0c089.js +4 -0
  556. package/dist/esm-es5/ionic.js +1 -1
  557. package/dist/esm-es5/ios.transition-8e181a7e.js +4 -0
  558. package/dist/esm-es5/loader.js +1 -1
  559. package/dist/esm-es5/md.transition-f1c3c737.js +4 -0
  560. package/dist/esm-es5/overlays-9472c98b.js +4 -0
  561. package/dist/esm-es5/status-tap-39da9160.js +4 -0
  562. package/dist/html.html-data.json +107 -1948
  563. package/dist/ionic/index.esm.js +1 -1
  564. package/dist/ionic/ionic.esm.js +1 -1
  565. package/dist/ionic/ionic.js +1 -1
  566. package/dist/ionic/p-012cc611.system.entry.js +4 -0
  567. package/dist/ionic/{p-dfe87e18.system.entry.js → p-04070329.system.entry.js} +1 -1
  568. package/dist/ionic/p-06e58c4e.js +4 -0
  569. package/dist/ionic/p-06fee233.js +4 -0
  570. package/dist/ionic/p-07ae133d.system.entry.js +4 -0
  571. package/dist/ionic/p-0aa4682e.entry.js +4 -0
  572. package/dist/ionic/p-0bbb6edf.system.entry.js +4 -0
  573. package/dist/ionic/{p-1d608fb3.system.js → p-0c06e09b.system.js} +1 -1
  574. package/dist/ionic/p-0ebb1fe7.system.entry.js +4 -0
  575. package/dist/ionic/p-0f2d99a6.entry.js +4 -0
  576. package/dist/ionic/p-100bedc4.system.entry.js +4 -0
  577. package/dist/ionic/p-105f7d62.system.entry.js +4 -0
  578. package/dist/ionic/p-155f1939.entry.js +4 -0
  579. package/dist/ionic/p-1672c4fd.system.entry.js +4 -0
  580. package/dist/ionic/{p-13aa82f5.entry.js → p-17978fce.entry.js} +1 -1
  581. package/dist/ionic/p-18057853.entry.js +4 -0
  582. package/dist/ionic/p-1c451f69.entry.js +4 -0
  583. package/dist/ionic/p-1cff9cad.entry.js +4 -0
  584. package/dist/ionic/p-1f9cdee2.entry.js +4 -0
  585. package/dist/ionic/p-24a98ee7.entry.js +4 -0
  586. package/dist/ionic/p-25575222.system.js +4 -0
  587. package/dist/ionic/p-266fc56e.system.js +4 -0
  588. package/dist/ionic/p-2e12bda2.entry.js +4 -0
  589. package/dist/ionic/p-2f6cedaf.system.entry.js +4 -0
  590. package/dist/ionic/{p-17f4c151.js → p-3040730e.js} +1 -1
  591. package/dist/ionic/p-3232c4de.entry.js +4 -0
  592. package/dist/ionic/p-352f7037.system.entry.js +4 -0
  593. package/dist/ionic/p-35722bba.system.entry.js +4 -0
  594. package/dist/ionic/p-35b9e842.entry.js +4 -0
  595. package/dist/ionic/p-37a63e79.system.entry.js +4 -0
  596. package/dist/ionic/p-3c70b01b.entry.js +4 -0
  597. package/dist/ionic/{p-09e29b0f.system.entry.js → p-3d6e882f.system.entry.js} +1 -1
  598. package/dist/ionic/p-3e3b34f7.system.entry.js +4 -0
  599. package/dist/ionic/p-3f70bfba.entry.js +4 -0
  600. package/dist/ionic/p-4196b2d1.system.entry.js +4 -0
  601. package/dist/ionic/{p-b54a266a.system.entry.js → p-43505ff8.system.entry.js} +1 -1
  602. package/dist/ionic/p-4429fc97.system.entry.js +4 -0
  603. package/dist/ionic/p-46111310.js +4 -0
  604. package/dist/ionic/p-46f407f0.system.js +4 -0
  605. package/dist/ionic/p-49b6fee0.system.entry.js +4 -0
  606. package/dist/ionic/p-4a615fea.entry.js +4 -0
  607. package/dist/ionic/{p-077ebefa.system.js → p-4dd82d9d.system.js} +1 -1
  608. package/dist/ionic/p-5033128d.system.js +4 -0
  609. package/dist/ionic/p-510578f3.system.entry.js +4 -0
  610. package/dist/ionic/p-51b68ec9.system.entry.js +4 -0
  611. package/dist/ionic/p-51ff648c.entry.js +4 -0
  612. package/dist/ionic/p-5270f8e8.entry.js +4 -0
  613. package/dist/ionic/p-546433d2.js +4 -0
  614. package/dist/ionic/p-54f76ced.js +4 -0
  615. package/dist/ionic/p-56c3b69c.entry.js +4 -0
  616. package/dist/ionic/p-587258c0.system.entry.js +4 -0
  617. package/dist/ionic/{p-fb064a3d.system.entry.js → p-58ea73f7.system.entry.js} +1 -1
  618. package/dist/ionic/p-596e0cf8.system.entry.js +4 -0
  619. package/dist/ionic/p-5ae49f12.entry.js +4 -0
  620. package/dist/ionic/p-5b1273f4.system.entry.js +4 -0
  621. package/dist/ionic/p-5d3f6707.entry.js +4 -0
  622. package/dist/ionic/p-5da04d11.entry.js +4 -0
  623. package/dist/ionic/p-5e7c32e8.system.entry.js +4 -0
  624. package/dist/ionic/p-5fa8587e.system.entry.js +4 -0
  625. package/dist/ionic/p-6771c0a9.system.entry.js +4 -0
  626. package/dist/ionic/p-68a1e274.system.entry.js +4 -0
  627. package/dist/ionic/p-6994c97a.js +4 -0
  628. package/dist/ionic/p-69bc14fd.entry.js +4 -0
  629. package/dist/ionic/p-6a7eac5a.js +4 -0
  630. package/dist/ionic/p-6f4db5ce.system.entry.js +4 -0
  631. package/dist/ionic/{p-2172efcb.system.js → p-71215c1d.system.js} +1 -1
  632. package/dist/ionic/p-71688099.system.entry.js +4 -0
  633. package/dist/ionic/p-716ab5f8.system.entry.js +4 -0
  634. package/dist/ionic/{p-ed5175cf.system.js → p-74a9cafe.system.js} +2 -2
  635. package/dist/ionic/p-75cddcc9.js +4 -0
  636. package/dist/ionic/p-7d9eefb3.system.js +4 -0
  637. package/dist/ionic/p-7fc505bf.entry.js +4 -0
  638. package/dist/ionic/p-83321ee8.entry.js +4 -0
  639. package/dist/ionic/p-83b070b7.entry.js +4 -0
  640. package/dist/ionic/p-88cff52d.entry.js +4 -0
  641. package/dist/ionic/p-896111fa.entry.js +4 -0
  642. package/dist/ionic/p-89b59bd7.entry.js +4 -0
  643. package/dist/ionic/p-8bd567ba.system.entry.js +4 -0
  644. package/dist/ionic/p-8e9ac22d.entry.js +4 -0
  645. package/dist/ionic/p-92e46b28.system.entry.js +4 -0
  646. package/dist/ionic/p-9540561f.entry.js +4 -0
  647. package/dist/ionic/{p-4c463790.js → p-96cc4814.js} +1 -1
  648. package/dist/ionic/{p-f8f6cf70.entry.js → p-99daf8b7.entry.js} +1 -1
  649. package/dist/ionic/{p-fc0aa455.js → p-9ad82dba.js} +1 -1
  650. package/dist/ionic/p-9d7fc908.system.js +4 -0
  651. package/dist/ionic/p-9ea607bd.system.js +4 -0
  652. package/dist/ionic/p-a1b4e619.system.entry.js +4 -0
  653. package/dist/ionic/p-a7ba2dcc.system.js +4 -0
  654. package/dist/ionic/p-a8f02173.system.js +4 -0
  655. package/dist/ionic/p-aa110ca0.system.entry.js +4 -0
  656. package/dist/ionic/p-aa682cb9.system.entry.js +4 -0
  657. package/dist/ionic/p-ab85debb.entry.js +4 -0
  658. package/dist/ionic/p-ac4e2a74.system.entry.js +4 -0
  659. package/dist/ionic/p-ac9f44a8.system.entry.js +4 -0
  660. package/dist/ionic/p-c04d5a75.entry.js +4 -0
  661. package/dist/ionic/{p-b2f88f88.system.entry.js → p-c1d1d004.system.entry.js} +1 -1
  662. package/dist/ionic/{p-a3e86f85.js → p-c222f76a.js} +1 -1
  663. package/dist/ionic/p-c41af68a.entry.js +4 -0
  664. package/dist/ionic/p-c478747f.system.js +4 -0
  665. package/dist/ionic/p-c80d05c9.js +4 -0
  666. package/dist/ionic/p-c8f2b769.entry.js +4 -0
  667. package/dist/ionic/p-c99ccdc9.entry.js +4 -0
  668. package/dist/ionic/p-c9c39c98.system.entry.js +4 -0
  669. package/dist/ionic/p-cae889f9.entry.js +4 -0
  670. package/dist/ionic/p-d2544865.system.js +4 -0
  671. package/dist/ionic/p-d45c59a6.system.entry.js +4 -0
  672. package/dist/ionic/p-d5f48185.system.entry.js +4 -0
  673. package/dist/ionic/{p-1b039c87.js → p-d60342e3.js} +1 -1
  674. package/dist/ionic/p-d79542bd.system.js +4 -0
  675. package/dist/ionic/p-d8067ea4.system.entry.js +4 -0
  676. package/dist/ionic/p-d8f66669.entry.js +4 -0
  677. package/dist/ionic/{p-fdf42961.entry.js → p-d98c0112.entry.js} +1 -1
  678. package/dist/ionic/p-dc1372e0.entry.js +4 -0
  679. package/dist/ionic/p-df48edd6.entry.js +4 -0
  680. package/dist/ionic/p-df6fa126.entry.js +4 -0
  681. package/dist/ionic/p-e8a0e731.entry.js +4 -0
  682. package/dist/ionic/p-e955bf61.entry.js +4 -0
  683. package/dist/ionic/p-ea2c16b5.system.entry.js +4 -0
  684. package/dist/ionic/p-f0392d49.entry.js +4 -0
  685. package/dist/ionic/p-f4cb521c.js +4 -0
  686. package/dist/ionic/{p-c3db3abe.system.js → p-f687573e.system.js} +1 -1
  687. package/dist/ionic/p-f818b01a.entry.js +4 -0
  688. package/dist/ionic/p-f94cbfe9.js +4 -0
  689. package/dist/ionic/p-fab4ecad.system.entry.js +4 -0
  690. package/dist/ionic/p-fb02eeec.system.entry.js +4 -0
  691. package/dist/ionic/p-fb97326f.system.entry.js +4 -0
  692. package/dist/ionic/p-fbd30ec7.entry.js +4 -0
  693. package/dist/ionic/{p-86f7af76.entry.js → p-fda4872f.entry.js} +1 -1
  694. package/dist/ionic/p-ff2323ba.system.entry.js +4 -0
  695. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  696. package/dist/types/components/accordion/accordion.d.ts +1 -2
  697. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -2
  698. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  699. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  700. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  701. package/dist/types/components/alert/alert.d.ts +2 -3
  702. package/dist/types/components/app/app.d.ts +0 -4
  703. package/dist/types/components/avatar/avatar.d.ts +0 -4
  704. package/dist/types/components/back-button/back-button.d.ts +1 -2
  705. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  706. package/dist/types/components/badge/badge.d.ts +1 -2
  707. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -2
  708. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  709. package/dist/types/components/button/button.d.ts +4 -15
  710. package/dist/types/components/buttons/buttons.d.ts +1 -5
  711. package/dist/types/components/card/card.d.ts +1 -6
  712. package/dist/types/components/card-content/card-content.d.ts +1 -2
  713. package/dist/types/components/card-header/card-header.d.ts +2 -3
  714. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  715. package/dist/types/components/card-title/card-title.d.ts +1 -2
  716. package/dist/types/components/checkbox/checkbox.d.ts +1 -2
  717. package/dist/types/components/chip/chip.d.ts +1 -6
  718. package/dist/types/components/col/col.d.ts +0 -4
  719. package/dist/types/components/content/content.d.ts +0 -11
  720. package/dist/types/components/datetime/datetime.d.ts +1 -2
  721. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  722. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  723. package/dist/types/components/fab/fab.d.ts +0 -4
  724. package/dist/types/components/fab-button/fab-button.d.ts +2 -3
  725. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  726. package/dist/types/components/footer/footer.d.ts +3 -4
  727. package/dist/types/components/grid/grid.d.ts +0 -4
  728. package/dist/types/components/header/header.d.ts +3 -4
  729. package/dist/types/components/img/img.d.ts +0 -3
  730. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -4
  731. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  732. package/dist/types/components/input/input.d.ts +3 -14
  733. package/dist/types/components/item/item.d.ts +3 -4
  734. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  735. package/dist/types/components/item-group/item-group.d.ts +0 -4
  736. package/dist/types/components/item-option/item-option.d.ts +1 -2
  737. package/dist/types/components/item-options/item-options.d.ts +0 -4
  738. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  739. package/dist/types/components/label/label.d.ts +1 -2
  740. package/dist/types/components/list/list.d.ts +1 -2
  741. package/dist/types/components/list-header/list-header.d.ts +1 -2
  742. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  743. package/dist/types/components/loading/loading.d.ts +2 -3
  744. package/dist/types/components/menu/menu.d.ts +0 -3
  745. package/dist/types/components/menu-button/menu-button.d.ts +1 -2
  746. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  747. package/dist/types/components/modal/modal-interface.d.ts +7 -3
  748. package/dist/types/components/modal/modal.d.ts +1 -2
  749. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  750. package/dist/types/components/nav/nav.d.ts +1 -5
  751. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  752. package/dist/types/components/note/note.d.ts +1 -2
  753. package/dist/types/components/picker/picker.d.ts +1 -2
  754. package/dist/types/components/picker-column/picker-column.d.ts +36 -2
  755. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  756. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  757. package/dist/types/components/popover/popover-interface.d.ts +7 -3
  758. package/dist/types/components/popover/popover.d.ts +5 -6
  759. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -2
  760. package/dist/types/components/radio/radio.d.ts +1 -2
  761. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  762. package/dist/types/components/range/range.d.ts +1 -2
  763. package/dist/types/components/refresher/refresher.d.ts +1 -2
  764. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  765. package/dist/types/components/reorder/reorder.d.ts +0 -3
  766. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  767. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  768. package/dist/types/components/route/route.d.ts +0 -4
  769. package/dist/types/components/router/router.d.ts +0 -4
  770. package/dist/types/components/router-link/router-link.d.ts +0 -4
  771. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  772. package/dist/types/components/row/row.d.ts +0 -4
  773. package/dist/types/components/searchbar/searchbar.d.ts +7 -8
  774. package/dist/types/components/segment/segment.d.ts +1 -2
  775. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  776. package/dist/types/components/select/select.d.ts +5 -6
  777. package/dist/types/components/select-option/select-option.d.ts +0 -4
  778. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  779. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  780. package/dist/types/components/spinner/spinner.d.ts +0 -4
  781. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  782. package/dist/types/components/tab/tab.d.ts +0 -4
  783. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -3
  784. package/dist/types/components/tab-button/tab-button.d.ts +1 -2
  785. package/dist/types/components/tabs/tabs.d.ts +0 -3
  786. package/dist/types/components/text/text.d.ts +1 -2
  787. package/dist/types/components/textarea/textarea.d.ts +2 -3
  788. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  789. package/dist/types/components/title/title.d.ts +0 -4
  790. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  791. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  792. package/dist/types/components/toast/toast.d.ts +2 -3
  793. package/dist/types/components/toggle/toggle.d.ts +1 -2
  794. package/dist/types/components/toolbar/toolbar.d.ts +3 -4
  795. package/dist/types/components.d.ts +167 -1223
  796. package/dist/types/global/ionic-global.d.ts +2 -25
  797. package/dist/types/interface.d.ts +0 -3
  798. package/dist/types/utils/config.d.ts +2 -17
  799. package/dist/types/utils/overlays-interface.d.ts +1 -31
  800. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  801. package/hydrate/index.js +679 -1197
  802. package/package.json +2 -4
  803. package/css/link.ionic.css +0 -1
  804. package/css/link.ionic.css.map +0 -1
  805. package/css/typography.ionic.css +0 -1
  806. package/css/typography.ionic.css.map +0 -1
  807. package/dist/cjs/ionic-global-2734c454.js +0 -411
  808. package/dist/collection/components/button/button.ionic.css +0 -582
  809. package/dist/collection/components/button/test/shape/button.e2e.js +0 -88
  810. package/dist/collection/components/button/test/states/button.e2e.js +0 -51
  811. package/dist/collection/components/card/card.ionic.css +0 -49
  812. package/dist/collection/components/card/test/shape/card.e2e.js +0 -34
  813. package/dist/collection/components/chip/chip.ionic.css +0 -94
  814. package/dist/collection/components/chip/test/shape/chip.e2e.js +0 -34
  815. package/dist/collection/components/content/test/content.spec.js +0 -27
  816. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +0 -34
  817. package/dist/collection/css/test/link/basic/link.e2e.js +0 -35
  818. package/dist/collection/css/test/typography/basic/typography.e2e.js +0 -85
  819. package/dist/collection/global/test/ionic-global.spec.js +0 -109
  820. package/dist/esm/ionic-global-ccd91ba4.js +0 -401
  821. package/dist/esm-es5/app-globals-6b65a082.js +0 -4
  822. package/dist/esm-es5/data-e73f49e1.js +0 -4
  823. package/dist/esm-es5/index-55408470.js +0 -4
  824. package/dist/esm-es5/index-8137ebe0.js +0 -4
  825. package/dist/esm-es5/input-shims-8453cb67.js +0 -4
  826. package/dist/esm-es5/input.utils-8bf2cdac.js +0 -4
  827. package/dist/esm-es5/ionic-global-ccd91ba4.js +0 -4
  828. package/dist/esm-es5/ios.transition-b169aa46.js +0 -4
  829. package/dist/esm-es5/md.transition-ecde7aa6.js +0 -4
  830. package/dist/esm-es5/overlays-7125a1f5.js +0 -4
  831. package/dist/esm-es5/status-tap-6bfbede6.js +0 -4
  832. package/dist/ionic/p-00e85b08.js +0 -4
  833. package/dist/ionic/p-0350ac97.entry.js +0 -4
  834. package/dist/ionic/p-0530664b.system.entry.js +0 -4
  835. package/dist/ionic/p-053d229a.system.js +0 -4
  836. package/dist/ionic/p-0817ca20.system.js +0 -4
  837. package/dist/ionic/p-0cbb7a38.entry.js +0 -4
  838. package/dist/ionic/p-11e56c60.system.entry.js +0 -4
  839. package/dist/ionic/p-142da19d.entry.js +0 -4
  840. package/dist/ionic/p-1d59a829.system.entry.js +0 -4
  841. package/dist/ionic/p-1d5b3dfa.system.entry.js +0 -4
  842. package/dist/ionic/p-1edfc09d.entry.js +0 -4
  843. package/dist/ionic/p-1f2ce987.system.entry.js +0 -4
  844. package/dist/ionic/p-1f3dedb0.system.entry.js +0 -4
  845. package/dist/ionic/p-1fcfcb94.js +0 -4
  846. package/dist/ionic/p-202b8a88.system.entry.js +0 -4
  847. package/dist/ionic/p-206a256a.system.entry.js +0 -4
  848. package/dist/ionic/p-22c4f5bb.entry.js +0 -4
  849. package/dist/ionic/p-267e9b94.system.entry.js +0 -4
  850. package/dist/ionic/p-291414bd.entry.js +0 -4
  851. package/dist/ionic/p-2bf0809c.entry.js +0 -4
  852. package/dist/ionic/p-3079ca5b.entry.js +0 -4
  853. package/dist/ionic/p-31eb5a46.entry.js +0 -4
  854. package/dist/ionic/p-34abea66.entry.js +0 -4
  855. package/dist/ionic/p-3c1dd334.entry.js +0 -4
  856. package/dist/ionic/p-3d94bebf.system.entry.js +0 -4
  857. package/dist/ionic/p-3f073322.system.js +0 -4
  858. package/dist/ionic/p-42f77866.entry.js +0 -4
  859. package/dist/ionic/p-44874984.system.entry.js +0 -4
  860. package/dist/ionic/p-45153fb3.entry.js +0 -4
  861. package/dist/ionic/p-46647e3c.system.entry.js +0 -4
  862. package/dist/ionic/p-510c8716.entry.js +0 -4
  863. package/dist/ionic/p-52693118.system.entry.js +0 -4
  864. package/dist/ionic/p-52c88e28.system.entry.js +0 -4
  865. package/dist/ionic/p-541e2e0a.system.js +0 -4
  866. package/dist/ionic/p-57a2f03a.entry.js +0 -4
  867. package/dist/ionic/p-5a514e50.system.entry.js +0 -4
  868. package/dist/ionic/p-5acc896a.system.entry.js +0 -4
  869. package/dist/ionic/p-5bef1e83.js +0 -4
  870. package/dist/ionic/p-5e4ee3ae.system.entry.js +0 -4
  871. package/dist/ionic/p-656380fe.system.entry.js +0 -4
  872. package/dist/ionic/p-65fe9b29.system.entry.js +0 -4
  873. package/dist/ionic/p-696ea939.entry.js +0 -4
  874. package/dist/ionic/p-6bee0fd7.system.entry.js +0 -4
  875. package/dist/ionic/p-6d2aa487.entry.js +0 -4
  876. package/dist/ionic/p-73e3a38e.system.js +0 -4
  877. package/dist/ionic/p-7ac0170e.entry.js +0 -4
  878. package/dist/ionic/p-7c319cce.entry.js +0 -4
  879. package/dist/ionic/p-7ce8a9e9.entry.js +0 -4
  880. package/dist/ionic/p-7d83bc32.entry.js +0 -4
  881. package/dist/ionic/p-7faa544d.system.entry.js +0 -4
  882. package/dist/ionic/p-809dc691.system.js +0 -4
  883. package/dist/ionic/p-8154208e.system.entry.js +0 -4
  884. package/dist/ionic/p-8304afaa.js +0 -4
  885. package/dist/ionic/p-899dfb1b.entry.js +0 -4
  886. package/dist/ionic/p-8ac9139d.entry.js +0 -4
  887. package/dist/ionic/p-8bbc7d87.entry.js +0 -4
  888. package/dist/ionic/p-8f03847e.system.entry.js +0 -4
  889. package/dist/ionic/p-9143716d.js +0 -4
  890. package/dist/ionic/p-95ee29b9.entry.js +0 -4
  891. package/dist/ionic/p-961f1af3.system.entry.js +0 -4
  892. package/dist/ionic/p-974415fe.entry.js +0 -4
  893. package/dist/ionic/p-993ee94e.system.entry.js +0 -4
  894. package/dist/ionic/p-9b13de79.js +0 -4
  895. package/dist/ionic/p-9c44a499.system.entry.js +0 -4
  896. package/dist/ionic/p-9d7495f9.entry.js +0 -4
  897. package/dist/ionic/p-9e3fc5c4.entry.js +0 -4
  898. package/dist/ionic/p-9e81053f.system.entry.js +0 -4
  899. package/dist/ionic/p-a4d1b5cc.js +0 -4
  900. package/dist/ionic/p-a6fbf92e.system.entry.js +0 -4
  901. package/dist/ionic/p-a7727720.system.entry.js +0 -4
  902. package/dist/ionic/p-a8cb924e.entry.js +0 -4
  903. package/dist/ionic/p-ae5ef403.js +0 -4
  904. package/dist/ionic/p-b1abddbc.system.entry.js +0 -4
  905. package/dist/ionic/p-b61a2062.js +0 -4
  906. package/dist/ionic/p-b68096c3.js +0 -4
  907. package/dist/ionic/p-b7d71411.entry.js +0 -4
  908. package/dist/ionic/p-b80ea7d0.system.entry.js +0 -4
  909. package/dist/ionic/p-ba96d07d.entry.js +0 -4
  910. package/dist/ionic/p-bf7156f4.entry.js +0 -4
  911. package/dist/ionic/p-c1d8c615.entry.js +0 -4
  912. package/dist/ionic/p-c37f3748.system.entry.js +0 -4
  913. package/dist/ionic/p-c78743ee.entry.js +0 -4
  914. package/dist/ionic/p-cb1a9f57.system.js +0 -4
  915. package/dist/ionic/p-cb40aff5.entry.js +0 -4
  916. package/dist/ionic/p-cc75f7ad.entry.js +0 -4
  917. package/dist/ionic/p-ccc12f7c.system.js +0 -4
  918. package/dist/ionic/p-cd0eff72.system.entry.js +0 -4
  919. package/dist/ionic/p-cfd8b74c.entry.js +0 -4
  920. package/dist/ionic/p-cfe0fdf6.system.entry.js +0 -4
  921. package/dist/ionic/p-d26ef51c.system.js +0 -4
  922. package/dist/ionic/p-d4fe6131.entry.js +0 -4
  923. package/dist/ionic/p-d9f7a464.entry.js +0 -4
  924. package/dist/ionic/p-dc36b00c.entry.js +0 -4
  925. package/dist/ionic/p-dde515cb.system.entry.js +0 -4
  926. package/dist/ionic/p-e3cc9c09.entry.js +0 -4
  927. package/dist/ionic/p-e408b885.system.entry.js +0 -4
  928. package/dist/ionic/p-e41c7934.system.entry.js +0 -4
  929. package/dist/ionic/p-e5c0f7e6.system.entry.js +0 -4
  930. package/dist/ionic/p-eb0c6a8b.system.js +0 -4
  931. package/dist/ionic/p-eb3789c5.system.entry.js +0 -4
  932. package/dist/ionic/p-edb5c9e0.system.entry.js +0 -4
  933. package/dist/ionic/p-eed178ea.system.js +0 -4
  934. package/dist/ionic/p-efb193d6.entry.js +0 -4
  935. package/dist/ionic/p-f091ca00.entry.js +0 -4
  936. package/dist/ionic/p-f12d95ef.system.entry.js +0 -4
  937. package/dist/ionic/p-f91ea85e.system.entry.js +0 -4
  938. package/dist/ionic/p-fc1a4bbf.entry.js +0 -4
  939. package/dist/ionic/p-fdfb6054.system.js +0 -4
  940. package/dist/ionic/p-fe32eb3e.system.entry.js +0 -4
@@ -7,10 +7,9 @@ import { getElementRoot, raf } from "../../utils/helpers";
7
7
  import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
8
8
  import { isPlatform } from "../../utils/platform";
9
9
  import { createColorClasses } from "../../utils/theme";
10
- import { getIonTheme } from "../../global/ionic-global";
10
+ import { getIonMode } from "../../global/ionic-global";
11
11
  /**
12
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
13
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
12
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
14
13
  *
15
14
  * @slot prefix - Content to show on the left side of the picker options.
16
15
  * @slot suffix - Content to show on the right side of the picker options.
@@ -20,6 +19,7 @@ export class PickerColumn {
20
19
  this.isScrolling = false;
21
20
  this.isColumnVisible = false;
22
21
  this.canExitInputMode = true;
22
+ this.updateValueTextOnScroll = false;
23
23
  this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
24
24
  const { isColumnVisible, scrollEl } = this;
25
25
  if (isColumnVisible && scrollEl) {
@@ -34,6 +34,7 @@ export class PickerColumn {
34
34
  * of these can cause a scroll to occur.
35
35
  */
36
36
  this.canExitInputMode = canExitInputMode;
37
+ this.updateValueTextOnScroll = false;
37
38
  scrollEl.scroll({
38
39
  top,
39
40
  left: 0,
@@ -106,6 +107,7 @@ export class PickerColumn {
106
107
  let activeEl = this.activeItem;
107
108
  const scrollCallback = () => {
108
109
  raf(() => {
110
+ var _a;
109
111
  if (!scrollEl)
110
112
  return;
111
113
  if (timeout) {
@@ -186,8 +188,23 @@ export class PickerColumn {
186
188
  }
187
189
  activeEl = newActiveElement;
188
190
  this.setPickerItemActiveState(newActiveElement, true);
191
+ /**
192
+ * Set the aria-valuetext even though the value prop has not been updated yet.
193
+ * This enables some screen readers to announce the value as the users drag
194
+ * as opposed to when their release their pointer from the screen.
195
+ *
196
+ * When the value is programmatically updated, we will smoothly scroll
197
+ * to the new option. However, we do not want to update aria-valuetext mid-scroll
198
+ * as that can cause the old value to be briefly set before being set to the
199
+ * correct option. This will cause some screen readers to announce the old value
200
+ * again before announcing the new value. The correct valuetext will be set on render.
201
+ */
202
+ if (this.updateValueTextOnScroll) {
203
+ (_a = this.assistiveFocusable) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-valuetext', this.getOptionValueText(newActiveElement));
204
+ }
189
205
  timeout = setTimeout(() => {
190
206
  this.isScrolling = false;
207
+ this.updateValueTextOnScroll = true;
191
208
  enableHaptics && hapticSelectionEnd();
192
209
  /**
193
210
  * Certain tasks (such as those that
@@ -246,12 +263,132 @@ export class PickerColumn {
246
263
  */
247
264
  this.el.classList.remove('picker-column-active');
248
265
  };
266
+ /**
267
+ * Find the next enabled option after the active option.
268
+ * @param stride - How many options to "jump" over in order to select the next option.
269
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
270
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
271
+ * the enabled option 5 options after the active one. Note that the actual option selected
272
+ * may be past the stride if the option at the stride is disabled.
273
+ */
274
+ this.findNextOption = (stride = 1) => {
275
+ const { activeItem } = this;
276
+ if (!activeItem)
277
+ return null;
278
+ let prevNode = activeItem;
279
+ let node = activeItem.nextElementSibling;
280
+ while (node != null) {
281
+ if (stride > 0) {
282
+ stride--;
283
+ }
284
+ if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
285
+ return node;
286
+ }
287
+ prevNode = node;
288
+ // Use nextElementSibling instead of nextSibling to avoid text/comment nodes
289
+ node = node.nextElementSibling;
290
+ }
291
+ return prevNode;
292
+ };
293
+ /**
294
+ * Find the next enabled option after the active option.
295
+ * @param stride - How many options to "jump" over in order to select the next option.
296
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
297
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
298
+ * the enabled option 5 options before the active one. Note that the actual option selected
299
+ * may be past the stride if the option at the stride is disabled.
300
+ */
301
+ this.findPreviousOption = (stride = 1) => {
302
+ const { activeItem } = this;
303
+ if (!activeItem)
304
+ return null;
305
+ let nextNode = activeItem;
306
+ let node = activeItem.previousElementSibling;
307
+ while (node != null) {
308
+ if (stride > 0) {
309
+ stride--;
310
+ }
311
+ if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
312
+ return node;
313
+ }
314
+ nextNode = node;
315
+ // Use previousElementSibling instead of previousSibling to avoid text/comment nodes
316
+ node = node.previousElementSibling;
317
+ }
318
+ return nextNode;
319
+ };
320
+ this.onKeyDown = (ev) => {
321
+ let newOption = null;
322
+ switch (ev.key) {
323
+ case 'ArrowDown':
324
+ newOption = this.findNextOption();
325
+ break;
326
+ case 'ArrowUp':
327
+ newOption = this.findPreviousOption();
328
+ break;
329
+ case 'PageUp':
330
+ newOption = this.findPreviousOption(5);
331
+ break;
332
+ case 'PageDown':
333
+ newOption = this.findNextOption(5);
334
+ break;
335
+ case 'Home':
336
+ /**
337
+ * There is no guarantee that the first child will be an ion-picker-column-option,
338
+ * so we do not use firstElementChild.
339
+ */
340
+ newOption = this.el.querySelector('ion-picker-column-option:first-of-type');
341
+ break;
342
+ case 'End':
343
+ /**
344
+ * There is no guarantee that the last child will be an ion-picker-column-option,
345
+ * so we do not use lastElementChild.
346
+ */
347
+ newOption = this.el.querySelector('ion-picker-column-option:last-of-type');
348
+ break;
349
+ default:
350
+ break;
351
+ }
352
+ if (newOption !== null) {
353
+ this.value = newOption.value;
354
+ // This stops any default browser behavior such as scrolling
355
+ ev.preventDefault();
356
+ }
357
+ };
358
+ /**
359
+ * Utility to generate the correct text for aria-valuetext.
360
+ */
361
+ this.getOptionValueText = (el) => {
362
+ var _a;
363
+ return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
364
+ };
365
+ /**
366
+ * Render an element that overlays the column. This element is for assistive
367
+ * tech to allow users to navigate the column up/down. This element should receive
368
+ * focus as it listens for synthesized keyboard events as required by the
369
+ * slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
370
+ */
371
+ this.renderAssistiveFocusable = () => {
372
+ const { activeItem } = this;
373
+ const valueText = this.getOptionValueText(activeItem);
374
+ /**
375
+ * When using the picker, the valuetext provides important context that valuenow
376
+ * does not. Additionally, using non-zero valuemin/valuemax values can cause
377
+ * WebKit to incorrectly announce numeric valuetext values (such as a year
378
+ * like "2024") as percentages: https://bugs.webkit.org/show_bug.cgi?id=273126
379
+ */
380
+ return (h("div", { ref: (el) => (this.assistiveFocusable = el), class: "assistive-focusable", role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": valueText, "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }));
381
+ };
382
+ this.ariaLabel = null;
249
383
  this.isActive = false;
250
384
  this.disabled = false;
251
385
  this.value = undefined;
252
386
  this.color = 'primary';
253
387
  this.numericInput = false;
254
388
  }
389
+ ariaLabelChanged(newValue) {
390
+ this.ariaLabel = newValue;
391
+ }
255
392
  valueChange() {
256
393
  if (this.isColumnVisible) {
257
394
  /**
@@ -367,6 +504,10 @@ export class PickerColumn {
367
504
  this.scrollEl.focus();
368
505
  }
369
506
  }
507
+ connectedCallback() {
508
+ var _a;
509
+ this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
510
+ }
370
511
  get activeItem() {
371
512
  const { value } = this;
372
513
  const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
@@ -383,15 +524,15 @@ export class PickerColumn {
383
524
  }
384
525
  render() {
385
526
  const { color, disabled, isActive, numericInput } = this;
386
- const theme = getIonTheme(this);
387
- return (h(Host, { key: '5b4b09a7fb30f8e3ab5e800f67f2c617da1fdd04', class: createColorClasses(color, {
388
- [theme]: true,
527
+ const mode = getIonMode(this);
528
+ return (h(Host, { key: '50fe50a49f88aa9ec435436083f3cd1ef49c8c9c', class: createColorClasses(color, {
529
+ [mode]: true,
389
530
  ['picker-column-active']: isActive,
390
531
  ['picker-column-numeric-input']: numericInput,
391
532
  ['picker-column-disabled']: disabled,
392
- }) }, h("slot", { key: '51d283efa13a6c349a167c98e4a491254d248acf', name: "prefix" }), h("div", { key: '0fbfb227c40ba664ca0000d8b852430745615bcc', class: "picker-opts", tabindex: disabled ? undefined : 0, ref: (el) => {
533
+ }) }, this.renderAssistiveFocusable(), h("slot", { key: '6350829748690895ab3ef101b9f2ae993852de7d', name: "prefix" }), h("div", { key: 'eaff9925aa8553f63ba2a1ae2bdfaa02963e0a5d', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
393
534
  this.scrollEl = el;
394
- } }, h("div", { key: '6d1185d5bc6d89784f88ae659bf7ba7431af20d3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6fda1cbf32072e52f951e2308f6af38c7144e005', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '7c75de24231bdc280fde466adb059edfac8e6ec2', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '145998962977f8f4e5c33014f55a73b65843d46f' }), h("div", { key: 'a23c27a02df0120a8f73f26568ad5b0e20e27103', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'abc7cc1d146eddc3e0746530a59b4245fa4512cc', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '8b289129c28d79148db152c5e5f4488c160bb1b2', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'af40d3dbff658e92b4dc1f5793afa2710569f30b', name: "suffix" })));
535
+ } }, h("div", { key: '25a24c4174782f2ec8a1fe06cbaf1f564b1f632f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '7f4e9a5f1f74f7e8d5ad74178894edc80c0fb523', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '329b88b4af1d0e37da347e5f3fe9b462efcc2886', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '82b9d5d541d41801bce06db0867d6cfbcee4ac3e' }), h("div", { key: '288ae193601d1eb49ead06f79eb1affa478f31d3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '29661d0b74d11d650c2b23be66f857dd008dc5a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'a7bd71b4abcb027654a828ffa65d87b6874d7484', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '83ddd19d09ec48fe31b51f9f272a562320f90098', name: "suffix" })));
395
536
  }
396
537
  static get is() { return "ion-picker-column"; }
397
538
  static get encapsulation() { return "shadow"; }
@@ -491,6 +632,7 @@ export class PickerColumn {
491
632
  }
492
633
  static get states() {
493
634
  return {
635
+ "ariaLabel": {},
494
636
  "isActive": {}
495
637
  };
496
638
  }
@@ -595,6 +737,9 @@ export class PickerColumn {
595
737
  static get elementRef() { return "el"; }
596
738
  static get watchers() {
597
739
  return [{
740
+ "propName": "aria-label",
741
+ "methodName": "ariaLabelChanged"
742
+ }, {
598
743
  "propName": "value",
599
744
  "methodName": "valueChange"
600
745
  }];
@@ -0,0 +1,83 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { h } from "@stencil/core";
5
+ import { newSpecPage } from "@stencil/core/testing";
6
+ import { PickerColumn } from "../picker-column";
7
+ import { PickerColumnOption } from "../../picker-column-option/picker-column-option";
8
+ describe('picker-column: assistive element', () => {
9
+ beforeEach(() => {
10
+ const mockIntersectionObserver = jest.fn();
11
+ mockIntersectionObserver.mockReturnValue({
12
+ observe: () => null,
13
+ unobserve: () => null,
14
+ disconnect: () => null,
15
+ });
16
+ global.IntersectionObserver = mockIntersectionObserver;
17
+ });
18
+ it('should have a default label', async () => {
19
+ const page = await newSpecPage({
20
+ components: [PickerColumn],
21
+ template: () => h("ion-picker-column", null),
22
+ });
23
+ const pickerCol = page.body.querySelector('ion-picker-column');
24
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
25
+ expect(assistiveFocusable.getAttribute('aria-label')).not.toBe(null);
26
+ });
27
+ it('should have a custom label', async () => {
28
+ const page = await newSpecPage({
29
+ components: [PickerColumn],
30
+ template: () => h("ion-picker-column", { "aria-label": "my label" }),
31
+ });
32
+ const pickerCol = page.body.querySelector('ion-picker-column');
33
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
34
+ expect(assistiveFocusable.getAttribute('aria-label')).toBe('my label');
35
+ });
36
+ it('should update a custom label', async () => {
37
+ const page = await newSpecPage({
38
+ components: [PickerColumn],
39
+ template: () => h("ion-picker-column", null),
40
+ });
41
+ const pickerCol = page.body.querySelector('ion-picker-column');
42
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
43
+ pickerCol.setAttribute('aria-label', 'my label');
44
+ await page.waitForChanges();
45
+ expect(assistiveFocusable.getAttribute('aria-label')).toBe('my label');
46
+ });
47
+ it('should receive keyboard focus when enabled', async () => {
48
+ const page = await newSpecPage({
49
+ components: [PickerColumn],
50
+ template: () => h("ion-picker-column", null),
51
+ });
52
+ const pickerCol = page.body.querySelector('ion-picker-column');
53
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
54
+ expect(assistiveFocusable.tabIndex).toBe(0);
55
+ });
56
+ it('should not receive keyboard focus when disabled', async () => {
57
+ const page = await newSpecPage({
58
+ components: [PickerColumn],
59
+ template: () => h("ion-picker-column", { disabled: true }),
60
+ });
61
+ const pickerCol = page.body.querySelector('ion-picker-column');
62
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
63
+ expect(assistiveFocusable.tabIndex).toBe(-1);
64
+ });
65
+ it('should use option aria-label as assistive element aria-valuetext', async () => {
66
+ const page = await newSpecPage({
67
+ components: [PickerColumn, PickerColumnOption],
68
+ template: () => (h("ion-picker-column", { value: 1 }, h("ion-picker-column-option", { value: 1, "aria-label": "My Label" }, "My Text"))),
69
+ });
70
+ const pickerCol = page.body.querySelector('ion-picker-column');
71
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
72
+ expect(assistiveFocusable.getAttribute('aria-valuetext')).toBe('My Label');
73
+ });
74
+ it('should use option text as assistive element aria-valuetext when no label provided', async () => {
75
+ const page = await newSpecPage({
76
+ components: [PickerColumn, PickerColumnOption],
77
+ template: () => (h("ion-picker-column", { value: 1 }, h("ion-picker-column-option", { value: 1 }, "My Text"))),
78
+ });
79
+ const pickerCol = page.body.querySelector('ion-picker-column');
80
+ const assistiveFocusable = pickerCol.shadowRoot.querySelector('.assistive-focusable');
81
+ expect(assistiveFocusable.getAttribute('aria-valuetext')).toBe('My Text');
82
+ });
83
+ });
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -4,11 +4,7 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { inheritAttributes } from "../../utils/helpers";
6
6
  import { createColorClasses } from "../../utils/theme";
7
- import { getIonTheme } from "../../global/ionic-global";
8
- /**
9
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
- */
7
+ import { getIonMode } from "../../global/ionic-global";
12
8
  export class PickerColumnOption {
13
9
  constructor() {
14
10
  /**
@@ -79,26 +75,24 @@ export class PickerColumnOption {
79
75
  }
80
76
  render() {
81
77
  const { color, disabled, ariaLabel } = this;
82
- const theme = getIonTheme(this);
83
- return (h(Host, { key: '7f590f416e43f74cca1649bb739eabb43bef8ec9', class: createColorClasses(color, {
84
- [theme]: true,
78
+ const mode = getIonMode(this);
79
+ return (h(Host, { key: '9333d9ac8e9990fc840f31e00391177d9cd563b3', class: createColorClasses(color, {
80
+ [mode]: true,
85
81
  ['option-disabled']: disabled,
86
- }) }, h("button", { key: 'cc640ef332d72da10fcc58d5d7ee2a6a087c4cc3', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: '3816ea2975ccc61d064d285815080f59abfa01eb' }))));
82
+ }) }, h("button", { key: '6ca92bc584587230135982106eab542589fc4c9d', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, h("slot", { key: 'd9a68906017f77143a0691b9bbc59ae2142da6aa' }))));
87
83
  }
88
84
  static get is() { return "ion-picker-column-option"; }
89
85
  static get encapsulation() { return "shadow"; }
90
86
  static get originalStyleUrls() {
91
87
  return {
92
88
  "ios": ["picker-column-option.ios.scss"],
93
- "md": ["picker-column-option.md.scss"],
94
- "ionic": ["picker-column-option.md.scss"]
89
+ "md": ["picker-column-option.md.scss"]
95
90
  };
96
91
  }
97
92
  static get styleUrls() {
98
93
  return {
99
94
  "ios": ["picker-column-option.ios.css"],
100
- "md": ["picker-column-option.md.css"],
101
- "ionic": ["picker-column-option.md.css"]
95
+ "md": ["picker-column-option.md.css"]
102
96
  };
103
97
  }
104
98
  static get properties() {
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -168,12 +162,6 @@
168
162
  pointer-events: none;
169
163
  }
170
164
 
171
- /**
172
- * Convert a pixels given value into rem
173
- *
174
- * @param pixels - Value in pixels to be converted (i.e. px)
175
- * @param context (optional) - Baseline value
176
- */
177
165
  /**
178
166
  * Convert a font size to a dynamic font size.
179
167
  * Fonts that participate in Dynamic Type should use
@@ -7,13 +7,12 @@ import { createLockController } from "../../utils/lock-controller";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { createDelegateController, createTriggerController, BACKDROP, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
9
9
  import { getClassMap } from "../../utils/theme";
10
- import { getIonTheme } from "../../global/ionic-global";
10
+ import { getIonMode } from "../../global/ionic-global";
11
11
  import { iosEnterAnimation } from "./animations/ios.enter";
12
12
  import { iosLeaveAnimation } from "./animations/ios.leave";
13
13
  // TODO(FW-2832): types
14
14
  /**
15
- * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
16
- * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
17
16
  */
18
17
  export class Picker {
19
18
  constructor() {
@@ -182,12 +181,12 @@ export class Picker {
182
181
  }
183
182
  render() {
184
183
  const { htmlAttributes } = this;
185
- const theme = getIonTheme(this);
186
- return (h(Host, Object.assign({ key: 'd988de06290eb92ff6f7be07959780d0d19fadb3', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
184
+ const mode = getIonMode(this);
185
+ return (h(Host, Object.assign({ key: '91d3d127c46d125a2a86222e3002d804ebd8bc84', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
187
186
  zIndex: `${20000 + this.overlayIndex}`,
188
- }, class: Object.assign({ [theme]: true,
187
+ }, class: Object.assign({ [mode]: true,
189
188
  // Used internally for styling
190
- [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '17f85a6ff9c41b38de985d86e58f0f91315c767e', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '46358c402039738cdf47496228564b8f836ca1ca', tabindex: "0" }), h("div", { key: 'fb6a2892d259042a10fb1766bb0e1fce6a048e2b', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '082583fd8895f1f12de7a4761af718c886ad1c89', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'b6d169cbe219ada5875c818e1fbff2b3b8e75343', class: "picker-columns" }, h("div", { key: '3598b21e94c321adfffb83778ddc3ac9f5c7daba', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'afbd8f751a842f52d1fe23fc409b01f5074e0f57', class: "picker-below-highlight" }))), h("div", { key: '248251b4ddfed8078ce242e5ce52b53caa49ccf0', tabindex: "0" })));
189
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '63140c43f7a2e3000076adec0406197cb569f985', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '3e86ec5e61adf40983a1d33ef24f66f4f75307e8', tabindex: "0" }), h("div", { key: '3c3844f369da33e35c9a498d88d1b7e4d686b8ce', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'e03200231976723409505b0c4070e7f596815e50', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'd59de79e8c364376bc16d2edae3672b21443f3fe', class: "picker-columns" }, h("div", { key: 'e79cb88c5397047bc8c7e71efb4f1a338773e744', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '776de64da09485ad1dbf78d4d402e297b94348a6', class: "picker-below-highlight" }))), h("div", { key: 'f0aa77e3b467c3fb4950389d27c13769dc913b14', tabindex: "0" })));
191
190
  }
192
191
  static get is() { return "ion-picker-legacy"; }
193
192
  static get encapsulation() { return "scoped"; }
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -168,12 +162,6 @@
168
162
  pointer-events: none;
169
163
  }
170
164
 
171
- /**
172
- * Convert a pixels given value into rem
173
- *
174
- * @param pixels - Value in pixels to be converted (i.e. px)
175
- * @param context (optional) - Baseline value
176
- */
177
165
  /**
178
166
  * Convert a font size to a dynamic font size.
179
167
  * Fonts that participate in Dynamic Type should use
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -126,12 +120,6 @@
126
120
  white-space: nowrap;
127
121
  }
128
122
 
129
- /**
130
- * Convert a pixels given value into rem
131
- *
132
- * @param pixels - Value in pixels to be converted (i.e. px)
133
- * @param context (optional) - Baseline value
134
- */
135
123
  /**
136
124
  * Convert a font size to a dynamic font size.
137
125
  * Fonts that participate in Dynamic Type should use
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { clamp } from "../../utils/helpers";
6
6
  import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
7
7
  import { getClassMap } from "../../utils/theme";
8
- import { getIonMode, getIonTheme } from "../../global/ionic-global";
8
+ import { getIonMode } from "../../global/ionic-global";
9
9
  /**
10
10
  * @internal
11
11
  */
@@ -335,10 +335,10 @@ export class PickerColumnCmp {
335
335
  }
336
336
  render() {
337
337
  const col = this.col;
338
- const theme = getIonTheme(this);
339
- return (h(Host, { key: 'b8c99747752c30cc7dbd4e63c6a10e1b713b0958', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
338
+ const mode = getIonMode(this);
339
+ return (h(Host, { key: '90b9d07917c0643cf8a622f090abefcd2846ac96', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
340
340
  'max-width': this.col.columnWidth,
341
- } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '5f22527170ea87eacfff014b5ef8f0ba48a116b8', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
341
+ } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '4adca834de9295a18bdb355ebbfa49813f0f93f8', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
342
342
  }
343
343
  static get is() { return "ion-picker-legacy-column"; }
344
344
  static get originalStyleUrls() {
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -126,12 +120,6 @@
126
120
  white-space: nowrap;
127
121
  }
128
122
 
129
- /**
130
- * Convert a pixels given value into rem
131
- *
132
- * @param pixels - Value in pixels to be converted (i.e. px)
133
- * @param context (optional) - Baseline value
134
- */
135
123
  /**
136
124
  * Convert a font size to a dynamic font size.
137
125
  * Fonts that participate in Dynamic Type should use
@@ -1,9 +1,3 @@
1
- /**
2
- * Convert a pixels given value into rem
3
- *
4
- * @param pixels - Value in pixels to be converted (i.e. px)
5
- * @param context (optional) - Baseline value
6
- */
7
1
  /**
8
2
  * Convert a font size to a dynamic font size.
9
3
  * Fonts that participate in Dynamic Type should use
@@ -183,12 +177,6 @@
183
177
  }
184
178
  }
185
179
 
186
- /**
187
- * Convert a pixels given value into rem
188
- *
189
- * @param pixels - Value in pixels to be converted (i.e. px)
190
- * @param context (optional) - Baseline value
191
- */
192
180
  /**
193
181
  * Convert a font size to a dynamic font size.
194
182
  * Fonts that participate in Dynamic Type should use