@ionic/core 8.8.19-dev.11787076261.138d5922 → 8.8.19-dev.11787083540.1511caf2

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 (806) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.d.ts +11 -0
  59. package/components/ion-picker-legacy-column.js +4 -0
  60. package/components/ion-picker-legacy.d.ts +11 -0
  61. package/components/ion-picker-legacy.js +4 -0
  62. package/components/ion-picker.js +1 -1
  63. package/components/ion-popover.js +1 -1
  64. package/components/ion-progress-bar.js +1 -1
  65. package/components/ion-radio-group.js +1 -1
  66. package/components/ion-radio.js +1 -1
  67. package/components/ion-range.js +1 -1
  68. package/components/ion-refresher-content.js +1 -1
  69. package/components/ion-refresher.js +1 -1
  70. package/components/ion-reorder-group.js +1 -1
  71. package/components/ion-reorder.js +1 -1
  72. package/components/ion-ripple-effect.js +1 -1
  73. package/components/ion-route-redirect.js +1 -1
  74. package/components/ion-route.js +1 -1
  75. package/components/ion-router-link.js +1 -1
  76. package/components/ion-router-outlet.js +1 -1
  77. package/components/ion-router.js +1 -1
  78. package/components/ion-row.js +1 -1
  79. package/components/ion-searchbar.js +1 -1
  80. package/components/ion-segment-button.js +1 -1
  81. package/components/ion-segment-content.js +1 -1
  82. package/components/ion-segment-view.js +1 -1
  83. package/components/ion-segment.js +1 -1
  84. package/components/ion-select-modal.js +1 -1
  85. package/components/ion-select-option.js +1 -1
  86. package/components/ion-select-popover.js +1 -1
  87. package/components/ion-select.js +1 -1
  88. package/components/ion-skeleton-text.js +1 -1
  89. package/components/ion-spinner.js +1 -1
  90. package/components/ion-split-pane.js +1 -1
  91. package/components/ion-tab-bar.js +1 -1
  92. package/components/ion-tab-button.js +1 -1
  93. package/components/ion-tab.js +1 -1
  94. package/components/ion-tabs.js +1 -1
  95. package/components/ion-text.js +1 -1
  96. package/components/ion-textarea.js +1 -1
  97. package/components/ion-thumbnail.js +1 -1
  98. package/components/ion-title.js +1 -1
  99. package/components/ion-toast.js +1 -1
  100. package/components/ion-toggle.js +1 -1
  101. package/components/ion-toolbar.js +1 -1
  102. package/components/{p-DV85C0e0.js → p--JUspHvy.js} +1 -1
  103. package/components/p-0LM2oPMC.js +4 -0
  104. package/components/{p-_0JhwClE.js → p-6J0vc7Z8.js} +1 -1
  105. package/components/p-9GFIh9p1.js +4 -0
  106. package/components/p-B21528L5.js +4 -0
  107. package/components/p-B2nSfLHH.js +4 -0
  108. package/components/p-B3qf4bEn.js +4 -0
  109. package/components/p-B9jFTlwE.js +4 -0
  110. package/components/p-BDd9Zrb9.js +4 -0
  111. package/components/p-BLmJ0zRm.js +4 -0
  112. package/components/p-BMYNBJgf.js +4 -0
  113. package/components/p-BRYd8D-I.js +4 -0
  114. package/components/p-BSEgsdFI.js +4 -0
  115. package/components/p-BTEOs1at.js +4 -0
  116. package/components/p-BTJrYwxN.js +4 -0
  117. package/components/p-BV-zKay-.js +4 -0
  118. package/components/p-BYRVyMu9.js +4 -0
  119. package/components/{p-DwpKZ6rl.js → p-BkKAANMJ.js} +1 -1
  120. package/components/p-Bmq8qlkW.js +4 -0
  121. package/components/p-BuxQcfHK.js +4 -0
  122. package/components/p-Bz0dSlXZ.js +4 -0
  123. package/components/p-C7II1iDj.js +4 -0
  124. package/components/p-CHqRYvYm.js +4 -0
  125. package/components/p-CSZf8_j0.js +4 -0
  126. package/components/p-CTdRooFV.js +4 -0
  127. package/components/p-Cf2jSDS8.js +4 -0
  128. package/components/p-Cfx4M1Bn.js +4 -0
  129. package/components/p-CgkrslTX.js +4 -0
  130. package/components/p-CiCzYG2V.js +4 -0
  131. package/{dist/ionic/p-BkfAWuv6.js → components/p-Ck0lEczL.js} +1 -1
  132. package/components/p-CmR5uXej.js +4 -0
  133. package/components/p-CniZht3v.js +4 -0
  134. package/components/p-CsaojgEs.js +4 -0
  135. package/components/p-CtWGkNnJ.js +4 -0
  136. package/components/p-D13Eaw-8.js +4 -0
  137. package/components/p-D4FYu-4R.js +4 -0
  138. package/components/p-D6Ynv7Xh.js +4 -0
  139. package/components/p-DARjq3GM.js +4 -0
  140. package/components/p-DEZ2myA3.js +4 -0
  141. package/components/p-DOFCbuQR.js +4 -0
  142. package/components/p-DVe41iHI.js +4 -0
  143. package/components/p-DX5m9g56.js +4 -0
  144. package/components/p-DboHi2CL.js +4 -0
  145. package/components/p-DiVJyqlX.js +4 -0
  146. package/components/p-DmzFY5IC.js +4 -0
  147. package/components/{p-ryyf_ItD.js → p-DqLB8yFQ.js} +1 -1
  148. package/components/p-DqZAXv2t.js +4 -0
  149. package/components/p-Dv8w0kqz.js +4 -0
  150. package/components/p-Dw7GNDKq.js +4 -0
  151. package/components/p-Dww01PNs.js +4 -0
  152. package/components/p-Gy276IJk.js +4 -0
  153. package/components/p-ZzLXTvyt.js +4 -0
  154. package/components/p-cyNmxje6.js +4 -0
  155. package/components/p-j5IxBIan.js +4 -0
  156. package/components/p-k_E4tX5Z.js +4 -0
  157. package/components/p-lVAbdiAu.js +4 -0
  158. package/components/p-o8OKV5aD.js +4 -0
  159. package/components/{p-30_sZS2V.js → p-qMmFisyx.js} +1 -1
  160. package/components/p-rCa2eL0j.js +4 -0
  161. package/dist/cjs/{animation-C0mOHzej.js → animation-Ch16T-Nb.js} +4 -4
  162. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-Dd89e0MR.js} +1 -1
  163. package/dist/cjs/{button-active-BKj1rdFx.js → button-active-AWp_ygDP.js} +3 -3
  164. package/dist/cjs/config-D6C-KlA9.js +201 -0
  165. package/dist/cjs/dir-DD0jPVH3.js +31 -0
  166. package/dist/cjs/{format-pp0Du3K-.js → format-BUFWn4Bn.js} +30 -40
  167. package/dist/cjs/{framework-delegate-NTLQ5YzV.js → framework-delegate-CEzl4MEA.js} +7 -5
  168. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  169. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-ClPPQ_PS.js} +3 -2
  170. package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-CXmUnTJC.js} +4 -4
  171. package/dist/cjs/{helpers-CaLhEmTE.js → helpers-DdZyl6WL.js} +15 -11
  172. package/dist/cjs/{index-P1nQxrpZ.js → index-BJ2-LydH.js} +7 -36
  173. package/dist/cjs/{index-uvry__L4.js → index-BfaXsATC.js} +14 -31
  174. package/dist/cjs/{index-D48vawBq.js → index-CD92bI7B.js} +2 -2
  175. package/dist/cjs/{index-Ck9advCT.js → index-CukZnH1U.js} +5 -5
  176. package/dist/cjs/{index-D2X6b92x.js → index-DOiZqxWZ.js} +7 -6
  177. package/dist/cjs/{index-wOmugbdg.js → index-DqmRDbxg.js} +1 -1
  178. package/dist/cjs/{index-BlshL9ib.js → index-MWAIyVLl.js} +3 -2
  179. package/dist/cjs/index.cjs.js +19 -18
  180. package/dist/cjs/{input-shims-DvHAFqiP.js → input-shims-CPKgrIe3.js} +12 -9
  181. package/dist/cjs/input.utils-DQaUGGed.js +150 -0
  182. package/dist/cjs/ion-accordion_2.cjs.entry.js +341 -368
  183. package/dist/cjs/ion-action-sheet.cjs.entry.js +77 -187
  184. package/dist/cjs/ion-alert.cjs.entry.js +112 -273
  185. package/dist/cjs/ion-app_8.cjs.entry.js +190 -307
  186. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -10
  187. package/dist/cjs/ion-back-button.cjs.entry.js +24 -47
  188. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  189. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +122 -199
  190. package/dist/cjs/ion-button_2.cjs.entry.js +67 -138
  191. package/dist/cjs/ion-card_5.cjs.entry.js +31 -82
  192. package/dist/cjs/ion-checkbox.cjs.entry.js +102 -152
  193. package/dist/cjs/ion-chip.cjs.entry.js +11 -17
  194. package/dist/cjs/ion-col_3.cjs.entry.js +10 -134
  195. package/dist/cjs/ion-datetime-button.cjs.entry.js +242 -253
  196. package/dist/cjs/ion-datetime_3.cjs.entry.js +3167 -0
  197. package/dist/cjs/ion-fab_3.cjs.entry.js +82 -139
  198. package/dist/cjs/ion-img.cjs.entry.js +13 -34
  199. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +73 -100
  200. package/dist/cjs/ion-input-otp.cjs.entry.js +372 -435
  201. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +22 -36
  202. package/dist/cjs/ion-input.cjs.entry.js +212 -343
  203. package/dist/cjs/ion-item-option_3.cjs.entry.js +55 -94
  204. package/dist/cjs/ion-item_8.cjs.entry.js +93 -191
  205. package/dist/cjs/ion-loading.cjs.entry.js +61 -146
  206. package/dist/cjs/ion-menu_3.cjs.entry.js +109 -170
  207. package/dist/cjs/ion-modal.cjs.entry.js +262 -455
  208. package/dist/cjs/ion-nav_2.cjs.entry.js +159 -101
  209. package/dist/cjs/ion-picker-column-option.cjs.entry.js +34 -37
  210. package/dist/cjs/ion-picker-column.cjs.entry.js +406 -417
  211. package/dist/cjs/ion-picker.cjs.entry.js +393 -401
  212. package/dist/cjs/ion-popover.cjs.entry.js +206 -319
  213. package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -31
  214. package/dist/cjs/ion-radio_2.cjs.entry.js +135 -207
  215. package/dist/cjs/ion-range.cjs.entry.js +237 -302
  216. package/dist/cjs/ion-refresher_2.cjs.entry.js +94 -165
  217. package/dist/cjs/ion-reorder_2.cjs.entry.js +24 -53
  218. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
  219. package/dist/cjs/ion-route_4.cjs.entry.js +72 -175
  220. package/dist/cjs/ion-searchbar.cjs.entry.js +200 -291
  221. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  222. package/dist/cjs/ion-segment-view.cjs.entry.js +17 -28
  223. package/dist/cjs/ion-segment_2.cjs.entry.js +126 -169
  224. package/dist/cjs/ion-select-modal.cjs.entry.js +49 -104
  225. package/dist/cjs/ion-select_3.cjs.entry.js +260 -787
  226. package/dist/cjs/ion-spinner.cjs.entry.js +10 -24
  227. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -29
  228. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +42 -100
  229. package/dist/cjs/ion-tab_2.cjs.entry.js +28 -53
  230. package/dist/cjs/ion-text.cjs.entry.js +5 -11
  231. package/dist/cjs/ion-textarea.cjs.entry.js +189 -296
  232. package/dist/cjs/ion-toast.cjs.entry.js +118 -236
  233. package/dist/cjs/ion-toggle.cjs.entry.js +122 -175
  234. package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-BerQGEpE.js} +8 -13
  235. package/dist/cjs/ionic.cjs.js +4 -4
  236. package/dist/cjs/{ios.transition-KvuRAe2W.js → ios.transition-CTiTDh3m.js} +18 -13
  237. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-jOJZE_I0.js} +1 -1
  238. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-UuAS4D_9.js} +2 -2
  239. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-GXBiBRKS.js} +6 -6
  240. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-hHzlEQpk.js} +2 -2
  241. package/dist/cjs/loader.cjs.js +4 -4
  242. package/dist/cjs/{md.transition-Bjl5Ozph.js → md.transition-BpiTAaqF.js} +9 -7
  243. package/dist/cjs/notch-controller-aiy8aQb-.js +155 -0
  244. package/dist/cjs/{overlays-IlP4H2Gn.js → overlays-CQ_c1fko.js} +33 -48
  245. package/dist/cjs/{status-tap-BR_ujYHg.js → status-tap-7FzRlXNr.js} +4 -3
  246. package/dist/cjs/{swipe-back-DzQKEl5g.js → swipe-back-DwTZiAc9.js} +5 -5
  247. package/dist/cjs/{theme-Bw0rpaNN.js → theme-CeDs6Hcv.js} +1 -6
  248. package/dist/collection/collection-manifest.json +10 -6
  249. package/dist/collection/components/accordion/accordion.js +312 -315
  250. package/dist/collection/components/accordion-group/accordion-group.js +25 -48
  251. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -228
  252. package/dist/collection/components/action-sheet/action-sheet.js +64 -173
  253. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -174
  254. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  255. package/dist/collection/components/alert/alert.ios.css +10 -279
  256. package/dist/collection/components/alert/alert.js +97 -257
  257. package/dist/collection/components/alert/alert.md.css +20 -268
  258. package/dist/collection/components/app/app.js +0 -3
  259. package/dist/collection/components/back-button/back-button.js +19 -42
  260. package/dist/collection/components/backdrop/backdrop.js +14 -16
  261. package/dist/collection/components/badge/badge.js +0 -6
  262. package/dist/collection/components/breadcrumb/breadcrumb.js +30 -91
  263. package/dist/collection/components/breadcrumbs/breadcrumbs.js +88 -103
  264. package/dist/collection/components/button/button.js +61 -132
  265. package/dist/collection/components/buttons/buttons.js +15 -13
  266. package/dist/collection/components/card/card.js +21 -54
  267. package/dist/collection/components/card-header/card-header.js +8 -12
  268. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  269. package/dist/collection/components/card-title/card-title.js +0 -6
  270. package/dist/collection/components/checkbox/checkbox.js +97 -147
  271. package/dist/collection/components/chip/chip.js +10 -14
  272. package/dist/collection/components/col/col.js +3 -127
  273. package/dist/collection/components/content/content.js +64 -93
  274. package/dist/collection/components/datetime/datetime.ios.css +2 -42
  275. package/dist/collection/components/datetime/datetime.js +816 -1051
  276. package/dist/collection/components/datetime/datetime.md.css +1 -42
  277. package/dist/collection/components/datetime/utils/data.js +14 -13
  278. package/dist/collection/components/datetime/utils/format.js +11 -21
  279. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  280. package/dist/collection/components/datetime/utils/parse.js +10 -10
  281. package/dist/collection/components/datetime/utils/state.js +2 -8
  282. package/dist/collection/components/datetime/utils/validate.js +5 -4
  283. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
  284. package/dist/collection/components/datetime-button/datetime-button.js +237 -247
  285. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
  286. package/dist/collection/components/fab/fab.js +13 -20
  287. package/dist/collection/components/fab-button/fab-button.js +55 -104
  288. package/dist/collection/components/fab-list/fab-list.js +11 -10
  289. package/dist/collection/components/footer/footer.js +44 -50
  290. package/dist/collection/components/grid/grid.js +6 -4
  291. package/dist/collection/components/header/header.js +25 -35
  292. package/dist/collection/components/img/img.js +10 -34
  293. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  294. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  295. package/dist/collection/components/input/input.ios.css +26 -57
  296. package/dist/collection/components/input/input.js +206 -336
  297. package/dist/collection/components/input/input.md.css +43 -79
  298. package/dist/collection/components/input-otp/input-otp.js +368 -430
  299. package/dist/collection/components/input-password-toggle/input-password-toggle.js +19 -32
  300. package/dist/collection/components/item/item.js +53 -99
  301. package/dist/collection/components/item-divider/item-divider.js +12 -17
  302. package/dist/collection/components/item-group/item-group.js +1 -1
  303. package/dist/collection/components/item-option/item-option.js +22 -50
  304. package/dist/collection/components/item-options/item-options.js +8 -11
  305. package/dist/collection/components/item-sliding/item-sliding.js +21 -27
  306. package/dist/collection/components/label/label.js +6 -26
  307. package/dist/collection/components/list/list.js +8 -11
  308. package/dist/collection/components/list-header/list-header.js +2 -12
  309. package/dist/collection/components/loading/loading.js +51 -135
  310. package/dist/collection/components/menu/menu.js +63 -105
  311. package/dist/collection/components/menu-button/menu-button.js +21 -30
  312. package/dist/collection/components/menu-toggle/menu-toggle.js +15 -22
  313. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  314. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  315. package/dist/collection/components/modal/gestures/sheet.js +10 -22
  316. package/dist/collection/components/modal/gestures/swipe-to-close.js +3 -15
  317. package/dist/collection/components/modal/modal.js +228 -398
  318. package/dist/collection/components/modal/safe-area-utils.js +7 -6
  319. package/dist/collection/components/modal/test/fixtures.js +0 -3
  320. package/dist/collection/components/nav/nav.js +247 -69
  321. package/dist/collection/components/nav/view-controller.js +1 -7
  322. package/dist/collection/components/nav-link/nav-link.js +10 -21
  323. package/dist/collection/components/note/note.js +2 -8
  324. package/dist/collection/components/picker/picker.js +390 -398
  325. package/dist/collection/components/picker-column/picker-column.css +0 -3
  326. package/dist/collection/components/picker-column/picker-column.js +404 -414
  327. package/dist/collection/components/picker-column-option/picker-column-option.js +31 -33
  328. package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
  329. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  330. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  331. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  332. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  333. package/dist/collection/components/picker-legacy/picker.js +890 -0
  334. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  335. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  336. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  337. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  338. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  339. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  340. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  341. package/dist/collection/components/popover/popover.ios.css +0 -15
  342. package/dist/collection/components/popover/popover.js +185 -302
  343. package/dist/collection/components/popover/popover.md.css +0 -15
  344. package/dist/collection/components/popover/test/fixture.js +0 -1
  345. package/dist/collection/components/popover/utils.js +6 -4
  346. package/dist/collection/components/progress-bar/progress-bar.js +23 -27
  347. package/dist/collection/components/radio/radio.js +66 -102
  348. package/dist/collection/components/radio-group/radio-group.js +66 -101
  349. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  350. package/dist/collection/components/range/range.js +232 -296
  351. package/dist/collection/components/refresher/refresher.js +78 -110
  352. package/dist/collection/components/refresher-content/refresher-content.js +4 -41
  353. package/dist/collection/components/reorder/reorder.js +1 -2
  354. package/dist/collection/components/reorder-group/reorder-group.js +15 -44
  355. package/dist/collection/components/ripple-effect/ripple-effect.js +13 -12
  356. package/dist/collection/components/route/route.js +10 -39
  357. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  358. package/dist/collection/components/router/router.js +33 -37
  359. package/dist/collection/components/router/utils/dom.js +7 -25
  360. package/dist/collection/components/router/utils/matching.js +9 -7
  361. package/dist/collection/components/router/utils/parser.js +1 -1
  362. package/dist/collection/components/router/utils/path.js +1 -0
  363. package/dist/collection/components/router-link/router-link.js +12 -37
  364. package/dist/collection/components/router-outlet/router-outlet.js +21 -82
  365. package/dist/collection/components/row/row.js +1 -1
  366. package/dist/collection/components/searchbar/searchbar.js +199 -289
  367. package/dist/collection/components/segment/segment.js +85 -120
  368. package/dist/collection/components/segment-button/segment-button.js +37 -43
  369. package/dist/collection/components/segment-content/segment-content.js +1 -1
  370. package/dist/collection/components/segment-view/segment-view.js +16 -26
  371. package/dist/collection/components/select/select.ios.css +69 -96
  372. package/dist/collection/components/select/select.js +213 -629
  373. package/dist/collection/components/select/select.md.css +85 -118
  374. package/dist/collection/components/select-modal/select-modal.ios.css +0 -218
  375. package/dist/collection/components/select-modal/select-modal.js +38 -92
  376. package/dist/collection/components/select-modal/select-modal.md.css +0 -164
  377. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  378. package/dist/collection/components/select-option/select-option.js +9 -110
  379. package/dist/collection/components/select-popover/select-popover.ios.css +0 -218
  380. package/dist/collection/components/select-popover/select-popover.js +36 -103
  381. package/dist/collection/components/select-popover/select-popover.md.css +0 -164
  382. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  383. package/dist/collection/components/skeleton-text/skeleton-text.js +8 -12
  384. package/dist/collection/components/spinner/spinner.js +9 -21
  385. package/dist/collection/components/split-pane/split-pane.js +15 -27
  386. package/dist/collection/components/tab/tab.js +6 -17
  387. package/dist/collection/components/tab-bar/tab-bar.js +14 -32
  388. package/dist/collection/components/tab-button/tab-button.js +23 -62
  389. package/dist/collection/components/tabs/tabs.js +20 -33
  390. package/dist/collection/components/text/text.js +2 -8
  391. package/dist/collection/components/textarea/textarea.ios.css +62 -94
  392. package/dist/collection/components/textarea/textarea.js +181 -287
  393. package/dist/collection/components/textarea/textarea.md.css +77 -103
  394. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  395. package/dist/collection/components/title/title.js +2 -18
  396. package/dist/collection/components/toast/toast.js +106 -223
  397. package/dist/collection/components/toggle/toggle.js +115 -167
  398. package/dist/collection/components/toolbar/toolbar.js +7 -15
  399. package/dist/collection/global/config.js +6 -4
  400. package/dist/collection/global/ionic-global.js +2 -8
  401. package/dist/collection/index.js +1 -1
  402. package/dist/collection/utils/animation/animation.js +3 -3
  403. package/dist/collection/utils/config.js +4 -5
  404. package/dist/collection/utils/focus-controller/index.js +1 -1
  405. package/dist/collection/utils/focus-trap.js +3 -3
  406. package/dist/collection/utils/forms/index.js +0 -1
  407. package/dist/collection/utils/framework-delegate.js +6 -4
  408. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  409. package/dist/collection/utils/gesture/index.js +2 -10
  410. package/dist/collection/utils/gesture/listener.js +4 -27
  411. package/dist/collection/utils/hardware-back-button.js +3 -3
  412. package/dist/collection/utils/helpers.js +14 -10
  413. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  414. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  415. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  416. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  417. package/dist/collection/utils/logging/index.js +4 -23
  418. package/dist/collection/utils/menu-controller/index.js +2 -1
  419. package/dist/collection/utils/native/haptic.js +3 -2
  420. package/dist/collection/utils/native/keyboard.js +2 -2
  421. package/dist/collection/utils/native/status-bar.js +1 -1
  422. package/dist/collection/utils/overlays.js +23 -38
  423. package/dist/collection/utils/platform.js +5 -4
  424. package/dist/collection/utils/rtl/dir.js +18 -7
  425. package/dist/collection/utils/sanitization/index.js +20 -276
  426. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  427. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  428. package/dist/collection/utils/test/playwright/drag-element.js +3 -2
  429. package/dist/collection/utils/test/playwright/generator.js +4 -3
  430. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  431. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -4
  432. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  433. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  434. package/dist/collection/utils/test/press-keys.js +17 -10
  435. package/dist/collection/utils/theme.js +1 -6
  436. package/dist/collection/utils/transition/ios.transition.js +13 -9
  437. package/dist/collection/utils/transition/md.transition.js +4 -3
  438. package/dist/docs.json +1256 -556
  439. package/dist/esm/{animation-CGFdmGk9.js → animation-DLJpuoEz.js} +4 -4
  440. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-D0C5S4hU.js} +1 -1
  441. package/dist/esm/{button-active--80YqSHA.js → button-active-CXXy0FIE.js} +3 -3
  442. package/dist/esm/config-DQCONYYp.js +195 -0
  443. package/dist/esm/dir-o8OKV5aD.js +29 -0
  444. package/dist/esm/{format-Dcwga61t.js → format-CAmvpAez.js} +31 -41
  445. package/dist/esm/{framework-delegate--ajhSeKH.js → framework-delegate-B9yvYzqV.js} +7 -5
  446. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  447. package/dist/esm/{haptic-Cq4UAeka.js → haptic-DzAMWJuk.js} +3 -2
  448. package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-B93Gru0Y.js} +4 -4
  449. package/dist/esm/{helpers-DexiPLIC.js → helpers-DkCLSLI9.js} +15 -11
  450. package/dist/esm/{index-_Za5VB9w.js → index-B_8X7INq.js} +2 -2
  451. package/dist/esm/{index-DppOcPFQ.js → index-Bck1OwMs.js} +7 -36
  452. package/dist/esm/{index-BvabGprD.js → index-DV3sJJW8.js} +2 -2
  453. package/dist/esm/{index-CumkqGQF.js → index-DdeElWma.js} +7 -6
  454. package/dist/esm/{index-8s8kZKJ7.js → index-Dsz7OTeL.js} +5 -5
  455. package/dist/esm/{index-BCgUwrV0.js → index-DwNKJodj.js} +3 -2
  456. package/dist/esm/{index-ChhhtsGZ.js → index-tcQvqkiX.js} +15 -32
  457. package/dist/esm/index.js +16 -16
  458. package/dist/esm/{input-shims-BB0AKb_k.js → input-shims-d-hDv86G.js} +12 -9
  459. package/dist/esm/input.utils-Cd23Gdd1.js +147 -0
  460. package/dist/esm/ion-accordion_2.entry.js +341 -368
  461. package/dist/esm/ion-action-sheet.entry.js +77 -187
  462. package/dist/esm/ion-alert.entry.js +111 -272
  463. package/dist/esm/ion-app_8.entry.js +190 -307
  464. package/dist/esm/ion-avatar_3.entry.js +4 -10
  465. package/dist/esm/ion-back-button.entry.js +24 -47
  466. package/dist/esm/ion-backdrop.entry.js +14 -18
  467. package/dist/esm/ion-breadcrumb_2.entry.js +122 -199
  468. package/dist/esm/ion-button_2.entry.js +67 -138
  469. package/dist/esm/ion-card_5.entry.js +31 -82
  470. package/dist/esm/ion-checkbox.entry.js +102 -152
  471. package/dist/esm/ion-chip.entry.js +11 -17
  472. package/dist/esm/ion-col_3.entry.js +10 -134
  473. package/dist/esm/ion-datetime-button.entry.js +242 -253
  474. package/dist/esm/ion-datetime_3.entry.js +3163 -0
  475. package/dist/esm/ion-fab_3.entry.js +82 -139
  476. package/dist/esm/ion-img.entry.js +13 -34
  477. package/dist/esm/ion-infinite-scroll_2.entry.js +72 -99
  478. package/dist/esm/ion-input-otp.entry.js +372 -435
  479. package/dist/esm/ion-input-password-toggle.entry.js +22 -36
  480. package/dist/esm/ion-input.entry.js +210 -341
  481. package/dist/esm/ion-item-option_3.entry.js +55 -94
  482. package/dist/esm/ion-item_8.entry.js +93 -191
  483. package/dist/esm/ion-loading.entry.js +60 -145
  484. package/dist/esm/ion-menu_3.entry.js +109 -170
  485. package/dist/esm/ion-modal.entry.js +262 -455
  486. package/dist/esm/ion-nav_2.entry.js +159 -101
  487. package/dist/esm/ion-picker-column-option.entry.js +34 -37
  488. package/dist/esm/ion-picker-column.entry.js +406 -417
  489. package/dist/esm/ion-picker.entry.js +393 -401
  490. package/dist/esm/ion-popover.entry.js +206 -319
  491. package/dist/esm/ion-progress-bar.entry.js +26 -31
  492. package/dist/esm/ion-radio_2.entry.js +135 -207
  493. package/dist/esm/ion-range.entry.js +237 -302
  494. package/dist/esm/ion-refresher_2.entry.js +92 -163
  495. package/dist/esm/ion-reorder_2.entry.js +24 -53
  496. package/dist/esm/ion-ripple-effect.entry.js +14 -14
  497. package/dist/esm/ion-route_4.entry.js +72 -175
  498. package/dist/esm/ion-searchbar.entry.js +200 -291
  499. package/dist/esm/ion-segment-content.entry.js +2 -2
  500. package/dist/esm/ion-segment-view.entry.js +17 -28
  501. package/dist/esm/ion-segment_2.entry.js +126 -169
  502. package/dist/esm/ion-select-modal.entry.js +49 -104
  503. package/dist/esm/ion-select_3.entry.js +260 -787
  504. package/dist/esm/ion-spinner.entry.js +10 -24
  505. package/dist/esm/ion-split-pane.entry.js +16 -29
  506. package/dist/esm/ion-tab-bar_2.entry.js +42 -100
  507. package/dist/esm/ion-tab_2.entry.js +28 -53
  508. package/dist/esm/ion-text.entry.js +5 -11
  509. package/dist/esm/ion-textarea.entry.js +188 -295
  510. package/dist/esm/ion-toast.entry.js +117 -235
  511. package/dist/esm/ion-toggle.entry.js +122 -175
  512. package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-Cp_eT4sZ.js} +8 -13
  513. package/dist/esm/ionic.js +5 -5
  514. package/dist/esm/{ios.transition-BdhybwLl.js → ios.transition-CxNhMt4a.js} +18 -13
  515. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
  516. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-CUw4ekVy.js} +2 -2
  517. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-BaaVITYt.js} +6 -6
  518. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-ywgs5efA.js} +2 -2
  519. package/dist/esm/loader.js +5 -5
  520. package/dist/esm/{md.transition-B5lqKGCs.js → md.transition-IE4mC3kp.js} +9 -7
  521. package/dist/esm/notch-controller-Doqis1td.js +153 -0
  522. package/dist/esm/{overlays-CjWwtvf1.js → overlays-COCl_nm9.js} +33 -48
  523. package/dist/esm/{status-tap-DpLhkDWs.js → status-tap-HhO5eQI9.js} +4 -3
  524. package/dist/esm/{swipe-back-cz4-lyG3.js → swipe-back-DK6afpuO.js} +5 -5
  525. package/dist/esm/{theme-byZM6qHV.js → theme-DiVJyqlX.js} +1 -6
  526. package/dist/html.html-data.json +80 -52
  527. package/dist/ionic/index.esm.js +1 -1
  528. package/dist/ionic/ionic.esm.js +1 -1
  529. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  530. package/dist/ionic/p-0283ea73.entry.js +4 -0
  531. package/dist/ionic/p-02ecae65.entry.js +4 -0
  532. package/dist/ionic/p-0672f677.entry.js +4 -0
  533. package/dist/ionic/p-0c06fe60.entry.js +4 -0
  534. package/dist/ionic/p-0fa9c382.entry.js +4 -0
  535. package/dist/ionic/p-1af4d74c.entry.js +4 -0
  536. package/dist/ionic/p-1d7ef0d2.entry.js +4 -0
  537. package/dist/ionic/p-26f05d3a.entry.js +4 -0
  538. package/dist/ionic/p-27d30585.entry.js +4 -0
  539. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  540. package/dist/ionic/p-31e7bd05.entry.js +4 -0
  541. package/dist/ionic/p-32f53010.entry.js +4 -0
  542. package/dist/ionic/p-35eb8b5c.entry.js +4 -0
  543. package/dist/ionic/p-37e720da.entry.js +4 -0
  544. package/dist/ionic/p-3efa137b.entry.js +4 -0
  545. package/dist/ionic/p-432bd72c.entry.js +4 -0
  546. package/dist/ionic/p-47214c72.entry.js +4 -0
  547. package/dist/ionic/p-4e172429.entry.js +4 -0
  548. package/dist/ionic/p-5c3da84e.entry.js +4 -0
  549. package/dist/ionic/p-5d1da0a2.entry.js +4 -0
  550. package/dist/ionic/p-5d8082fe.entry.js +4 -0
  551. package/dist/ionic/p-613d3c43.entry.js +4 -0
  552. package/dist/ionic/p-616e4d4f.entry.js +4 -0
  553. package/dist/ionic/p-65d611b2.entry.js +4 -0
  554. package/dist/ionic/p-67806e3f.entry.js +4 -0
  555. package/dist/ionic/p-68307fbf.entry.js +4 -0
  556. package/dist/ionic/p-68cbb2fc.entry.js +4 -0
  557. package/dist/ionic/p-737ae9eb.entry.js +4 -0
  558. package/dist/ionic/p-7b0d6248.entry.js +4 -0
  559. package/dist/ionic/p-7e71e470.entry.js +4 -0
  560. package/dist/ionic/p-84d5ce05.entry.js +4 -0
  561. package/dist/ionic/p-85d49987.entry.js +4 -0
  562. package/dist/ionic/p-8945088b.entry.js +4 -0
  563. package/dist/ionic/p-8b155568.entry.js +4 -0
  564. package/dist/ionic/p-90267c4b.entry.js +4 -0
  565. package/dist/ionic/p-92ad8a67.entry.js +4 -0
  566. package/dist/ionic/p-9a97d4e0.entry.js +4 -0
  567. package/dist/ionic/p-9e4b0894.entry.js +4 -0
  568. package/dist/ionic/p-9eeaBrnk.js +4 -0
  569. package/dist/ionic/p-B2kaj8sx.js +4 -0
  570. package/dist/ionic/p-B4y7nxsg.js +4 -0
  571. package/dist/ionic/p-B8t9Ro6f.js +4 -0
  572. package/dist/ionic/p-BEOxsxBw.js +4 -0
  573. package/dist/ionic/p-BJ2NxSHp.js +4 -0
  574. package/dist/ionic/p-BLiL8g0v.js +4 -0
  575. package/dist/ionic/p-BTEOs1at.js +4 -0
  576. package/dist/ionic/p-BUFIpxKM.js +4 -0
  577. package/dist/ionic/p-BYRVyMu9.js +4 -0
  578. package/dist/ionic/p-C0eMdTCW.js +4 -0
  579. package/dist/ionic/p-CKvCXMs9.js +4 -0
  580. package/dist/ionic/p-CPTv7G9B.js +4 -0
  581. package/dist/ionic/{p-CQ_4TirR.js → p-Cd4H8ft-.js} +1 -1
  582. package/dist/ionic/{p-I3In7hMC.js → p-ClM02LPk.js} +1 -1
  583. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  584. package/dist/ionic/p-CxMyXUtt.js +4 -0
  585. package/dist/ionic/p-D13Eaw-8.js +4 -0
  586. package/dist/ionic/p-DCoy2elM.js +4 -0
  587. package/dist/ionic/{p-BvabGprD.js → p-DV3sJJW8.js} +1 -1
  588. package/dist/ionic/p-DZaO33Mw.js +4 -0
  589. package/dist/ionic/p-DiVJyqlX.js +4 -0
  590. package/dist/ionic/p-DipZFfzN.js +4 -0
  591. package/dist/ionic/p-DqN5EA2O.js +4 -0
  592. package/dist/ionic/p-Dr9fTCb1.js +4 -0
  593. package/dist/ionic/p-DzWaWHGc.js +4 -0
  594. package/dist/ionic/p-EkpneKVM.js +4 -0
  595. package/dist/ionic/p-Nqf6uvGh.js +4 -0
  596. package/dist/ionic/p-SNAkTDfm.js +4 -0
  597. package/dist/ionic/p-ab00b0d8.entry.js +4 -0
  598. package/dist/ionic/p-c2175309.entry.js +4 -0
  599. package/dist/ionic/p-c4b69d9b.entry.js +4 -0
  600. package/dist/ionic/p-c4d8641b.entry.js +4 -0
  601. package/dist/ionic/{p-40424a88.entry.js → p-c6e49f3f.entry.js} +1 -1
  602. package/dist/ionic/p-ce637936.entry.js +4 -0
  603. package/dist/ionic/{p-08443c08.entry.js → p-da85e958.entry.js} +1 -1
  604. package/dist/ionic/p-dfa8d673.entry.js +4 -0
  605. package/dist/ionic/p-e139357c.entry.js +4 -0
  606. package/dist/ionic/p-f37ca594.entry.js +4 -0
  607. package/dist/ionic/p-f8dd336e.entry.js +4 -0
  608. package/dist/ionic/p-f9de757b.entry.js +4 -0
  609. package/dist/ionic/p-fe11cf51.entry.js +4 -0
  610. package/dist/ionic/p-mjKAFv89.js +4 -0
  611. package/dist/ionic/p-o8OKV5aD.js +4 -0
  612. package/dist/ionic/p-tcQvqkiX.js +5 -0
  613. package/dist/types/components/img/img.d.ts +0 -2
  614. package/dist/types/components/input/input.d.ts +6 -12
  615. package/dist/types/components/modal/modal-interface.d.ts +0 -9
  616. package/dist/types/components/modal/modal.d.ts +4 -11
  617. package/dist/types/components/nav/nav-interface.d.ts +1 -0
  618. package/dist/types/components/nav/nav.d.ts +22 -2
  619. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  620. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  621. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  622. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  623. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  624. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  625. package/dist/types/components/route/route.d.ts +1 -1
  626. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  627. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  628. package/dist/types/components/select/select-interface.d.ts +0 -31
  629. package/dist/types/components/select/select.d.ts +6 -30
  630. package/dist/types/components/select-option/select-option.d.ts +1 -42
  631. package/dist/types/components/textarea/textarea.d.ts +5 -12
  632. package/dist/types/components.d.ts +311 -74
  633. package/dist/types/index.d.ts +1 -1
  634. package/dist/types/interface.d.ts +1 -0
  635. package/dist/types/utils/config.d.ts +8 -1
  636. package/dist/types/utils/forms/index.d.ts +0 -1
  637. package/dist/types/utils/helpers.d.ts +8 -5
  638. package/dist/types/utils/logging/index.d.ts +1 -2
  639. package/dist/types/utils/overlays.d.ts +9 -11
  640. package/dist/types/utils/rtl/dir.d.ts +10 -4
  641. package/dist/types/utils/sanitization/index.d.ts +2 -58
  642. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  643. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  644. package/hydrate/index.js +7265 -10630
  645. package/hydrate/index.mjs +7265 -10630
  646. package/package.json +12 -55
  647. package/components/p--m5cCjbK.js +0 -4
  648. package/components/p-8FN7p701.js +0 -4
  649. package/components/p-B-FxiyeI.js +0 -4
  650. package/components/p-B4uHHhPK.js +0 -4
  651. package/components/p-BMPN55of.js +0 -4
  652. package/components/p-BMS4t-kJ.js +0 -4
  653. package/components/p-BOvLNVKq.js +0 -4
  654. package/components/p-BSQPZ79H.js +0 -4
  655. package/components/p-BWBigMsI.js +0 -4
  656. package/components/p-BZ4-QTes.js +0 -4
  657. package/components/p-BhamHSw3.js +0 -4
  658. package/components/p-BjluhQMI.js +0 -4
  659. package/components/p-BlsIikdZ.js +0 -4
  660. package/components/p-Blug1Vxu.js +0 -4
  661. package/components/p-BpG8kBfD.js +0 -4
  662. package/components/p-BqPNzJf6.js +0 -4
  663. package/components/p-C5KYjZWD.js +0 -4
  664. package/components/p-C91npEel.js +0 -4
  665. package/components/p-C9BGR5fy.js +0 -4
  666. package/components/p-CD4fmpem.js +0 -4
  667. package/components/p-CEW4RXZO.js +0 -4
  668. package/components/p-CKhiNOEg.js +0 -4
  669. package/components/p-CO2zzh3W.js +0 -4
  670. package/components/p-CVb3x_r3.js +0 -4
  671. package/components/p-CWLrHG8Y.js +0 -4
  672. package/components/p-CbhUdtjf.js +0 -4
  673. package/components/p-CejmQs3h.js +0 -4
  674. package/components/p-CfnNZz_d.js +0 -4
  675. package/components/p-CmKf4pgI.js +0 -4
  676. package/components/p-Cs5f-uOS.js +0 -4
  677. package/components/p-D7-vHX0A.js +0 -4
  678. package/components/p-DKrhJJV0.js +0 -4
  679. package/components/p-DRfgH82D.js +0 -4
  680. package/components/p-DSzSbVP2.js +0 -4
  681. package/components/p-DVKS-ovH.js +0 -4
  682. package/components/p-DWCzVL3Y.js +0 -4
  683. package/components/p-Dd8ajo9a.js +0 -4
  684. package/components/p-DdnhY_oj.js +0 -4
  685. package/components/p-DgZOZQjJ.js +0 -4
  686. package/components/p-Dmd2xqCe.js +0 -4
  687. package/components/p-G0TxqHfe.js +0 -4
  688. package/components/p-GG5GhznE.js +0 -4
  689. package/components/p-J-p0EtHR.js +0 -4
  690. package/components/p-LXu5-6Ti.js +0 -4
  691. package/components/p-TXPDHL13.js +0 -4
  692. package/components/p-UQSiXX2Z.js +0 -4
  693. package/components/p-UuPYCOZE.js +0 -4
  694. package/components/p-WeeS7GvC.js +0 -4
  695. package/components/p-_IKFD3ID.js +0 -4
  696. package/components/p-byZM6qHV.js +0 -4
  697. package/components/p-hh7qIC-X.js +0 -4
  698. package/components/p-idq4JFo2.js +0 -4
  699. package/components/p-qT1szVjw.js +0 -4
  700. package/components/p-wzAhIh03.js +0 -4
  701. package/components/p-ypuYdSDB.js +0 -4
  702. package/components/p-yuj4Nkm_.js +0 -4
  703. package/dist/cjs/config-CjUbvdPW.js +0 -36
  704. package/dist/cjs/dir-Brx7VkvP.js +0 -20
  705. package/dist/cjs/index-B7zJsYWS.js +0 -429
  706. package/dist/cjs/input.utils-BZdMWVrt.js +0 -35
  707. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2770
  708. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  709. package/dist/cjs/select-option-render-pULCGldr.js +0 -123
  710. package/dist/cjs/slot-mutation-controller-CgTGFqlW.js +0 -397
  711. package/dist/collection/utils/forms/start-container-controller.js +0 -132
  712. package/dist/collection/utils/overlay-control-label.js +0 -45
  713. package/dist/collection/utils/select-option-render.js +0 -118
  714. package/dist/esm/config-DWCzVL3Y.js +0 -32
  715. package/dist/esm/dir-B-FxiyeI.js +0 -18
  716. package/dist/esm/index-CKM1DdGm.js +0 -424
  717. package/dist/esm/input.utils-B1ValN_N.js +0 -33
  718. package/dist/esm/ion-datetime.entry.js +0 -2768
  719. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  720. package/dist/esm/select-option-render-C4m76VGH.js +0 -121
  721. package/dist/esm/slot-mutation-controller-u741eD3Z.js +0 -393
  722. package/dist/ionic/p-06533d51.entry.js +0 -4
  723. package/dist/ionic/p-0FNc80PN.js +0 -4
  724. package/dist/ionic/p-141f5b47.entry.js +0 -4
  725. package/dist/ionic/p-14a5e8f5.entry.js +0 -4
  726. package/dist/ionic/p-19269e04.entry.js +0 -4
  727. package/dist/ionic/p-19abbc33.entry.js +0 -4
  728. package/dist/ionic/p-1edf0573.entry.js +0 -4
  729. package/dist/ionic/p-4204184c.entry.js +0 -4
  730. package/dist/ionic/p-4bc3ecdb.entry.js +0 -4
  731. package/dist/ionic/p-4eOQC00Z.js +0 -4
  732. package/dist/ionic/p-4eed9ca1.entry.js +0 -4
  733. package/dist/ionic/p-53bac1c9.entry.js +0 -4
  734. package/dist/ionic/p-5506caeb.entry.js +0 -4
  735. package/dist/ionic/p-5521dc1f.entry.js +0 -4
  736. package/dist/ionic/p-5993a77f.entry.js +0 -4
  737. package/dist/ionic/p-5c3626de.entry.js +0 -4
  738. package/dist/ionic/p-5d3b411c.entry.js +0 -4
  739. package/dist/ionic/p-60576951.entry.js +0 -4
  740. package/dist/ionic/p-7116e558.entry.js +0 -4
  741. package/dist/ionic/p-711a8319.entry.js +0 -4
  742. package/dist/ionic/p-71419a55.entry.js +0 -4
  743. package/dist/ionic/p-79325ffe.entry.js +0 -4
  744. package/dist/ionic/p-7bb3e957.entry.js +0 -4
  745. package/dist/ionic/p-82525fb0.entry.js +0 -4
  746. package/dist/ionic/p-84a38904.entry.js +0 -4
  747. package/dist/ionic/p-865fa114.entry.js +0 -4
  748. package/dist/ionic/p-8e1d9e3a.entry.js +0 -4
  749. package/dist/ionic/p-8f204f1e.entry.js +0 -4
  750. package/dist/ionic/p-9055e897.entry.js +0 -4
  751. package/dist/ionic/p-9658e083.entry.js +0 -4
  752. package/dist/ionic/p-988baee1.entry.js +0 -4
  753. package/dist/ionic/p-9nmHvEvw.js +0 -4
  754. package/dist/ionic/p-B-FxiyeI.js +0 -4
  755. package/dist/ionic/p-BB0LlG4y.js +0 -4
  756. package/dist/ionic/p-BMPN55of.js +0 -4
  757. package/dist/ionic/p-BQ8oNV0v.js +0 -4
  758. package/dist/ionic/p-BSQPZ79H.js +0 -4
  759. package/dist/ionic/p-BhamHSw3.js +0 -4
  760. package/dist/ionic/p-BjvtSsVI.js +0 -4
  761. package/dist/ionic/p-BwIp10KV.js +0 -4
  762. package/dist/ionic/p-C-94tAim.js +0 -4
  763. package/dist/ionic/p-C6eME8Ey.js +0 -4
  764. package/dist/ionic/p-CKUuSnDR.js +0 -4
  765. package/dist/ionic/p-CMRtMbJc.js +0 -4
  766. package/dist/ionic/p-CPcPmkGv.js +0 -4
  767. package/dist/ionic/p-CaRuIadB.js +0 -4
  768. package/dist/ionic/p-Cdjxf_yg.js +0 -4
  769. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  770. package/dist/ionic/p-CmKf4pgI.js +0 -4
  771. package/dist/ionic/p-D5t_-oMk.js +0 -4
  772. package/dist/ionic/p-D94b61er.js +0 -4
  773. package/dist/ionic/p-DAztxQR0.js +0 -4
  774. package/dist/ionic/p-DCI3rXQo.js +0 -4
  775. package/dist/ionic/p-DDhtUaaA.js +0 -4
  776. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  777. package/dist/ionic/p-DkUB-ROc.js +0 -4
  778. package/dist/ionic/p-Dn0mqQ_R.js +0 -4
  779. package/dist/ionic/p-T71k3C35.js +0 -4
  780. package/dist/ionic/p-TXPDHL13.js +0 -4
  781. package/dist/ionic/p-a71232d6.entry.js +0 -4
  782. package/dist/ionic/p-a73d8742.entry.js +0 -4
  783. package/dist/ionic/p-a8421d18.entry.js +0 -4
  784. package/dist/ionic/p-a8c2c343.entry.js +0 -4
  785. package/dist/ionic/p-acf0a6af.entry.js +0 -4
  786. package/dist/ionic/p-ad98e3ff.entry.js +0 -4
  787. package/dist/ionic/p-af5166f5.entry.js +0 -4
  788. package/dist/ionic/p-bc2bad5f.entry.js +0 -4
  789. package/dist/ionic/p-be08d500.entry.js +0 -4
  790. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  791. package/dist/ionic/p-byZM6qHV.js +0 -4
  792. package/dist/ionic/p-ccc5044d.entry.js +0 -4
  793. package/dist/ionic/p-ce32912b.entry.js +0 -4
  794. package/dist/ionic/p-ded69ceb.entry.js +0 -4
  795. package/dist/ionic/p-e0c6e31e.entry.js +0 -4
  796. package/dist/ionic/p-e1e5b507.entry.js +0 -4
  797. package/dist/ionic/p-e8c3e08a.entry.js +0 -4
  798. package/dist/ionic/p-ed5d540d.entry.js +0 -4
  799. package/dist/ionic/p-f046aa37.entry.js +0 -4
  800. package/dist/ionic/p-f2802440.entry.js +0 -4
  801. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  802. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  803. package/dist/types/utils/forms/start-container-controller.d.ts +0 -34
  804. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  805. package/dist/types/utils/select-option-render.d.ts +0 -53
  806. /package/components/{p-LpMHEu3v.js → p-CO7fmmxt.js} +0 -0
@@ -3,66 +3,418 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-uvry__L4.js');
6
+ var index = require('./index-BfaXsATC.js');
7
7
  var index$1 = require('./index-DkNv4J_i.js');
8
- var helpers = require('./helpers-CaLhEmTE.js');
9
- var haptic = require('./haptic-Ch-X4gRx.js');
10
- var ionicGlobal = require('./ionic-global-k6hOWWpn.js');
11
- var theme = require('./theme-Bw0rpaNN.js');
8
+ var helpers = require('./helpers-DdZyl6WL.js');
9
+ var haptic = require('./haptic-ClPPQ_PS.js');
10
+ var ionicGlobal = require('./ionic-global-BerQGEpE.js');
11
+ var theme = require('./theme-CeDs6Hcv.js');
12
+ require('./dir-DD0jPVH3.js');
12
13
  require('./capacitor-DmA66EwP.js');
13
14
 
14
- const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color:focus) .picker-opts{background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
15
+ const pickerColumnCss = () => `:host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;height:200px;font-size:22px;text-align:center}.assistive-focusable{left:0;right:0;top:0;bottom:0;position:absolute;z-index:1;pointer-events:none}.assistive-focusable:focus{outline:none}.picker-opts{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;min-width:26px;max-height:200px;outline:none;text-align:inherit;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none}.picker-item-empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-opts::-webkit-scrollbar{display:none}::slotted(ion-picker-column-option){display:block;scroll-snap-align:center}.picker-item-empty,:host(:not([disabled])) ::slotted(ion-picker-column-option.option-disabled){scroll-snap-align:none}::slotted([slot=prefix]),::slotted([slot=suffix]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::slotted([slot=prefix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:end;justify-content:end}::slotted([slot=suffix]){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0;padding-bottom:0;-ms-flex-pack:start;justify-content:start}:host(.picker-column-disabled) .picker-opts{overflow-y:hidden}:host(.picker-column-disabled) ::slotted(ion-picker-column-option){cursor:default;opacity:0.4;pointer-events:none}@media (any-hover: hover){:host(:focus) .picker-opts{outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}`;
15
16
 
16
17
  const PickerColumn = class {
17
18
  constructor(hostRef) {
18
19
  index.registerInstance(this, hostRef);
19
20
  this.ionChange = index.createEvent(this, "ionChange", 7);
21
+ this.isScrolling = false;
22
+ this.isColumnVisible = false;
23
+ this.canExitInputMode = true;
24
+ this.updateValueTextOnScroll = false;
25
+ this.ariaLabel = null;
26
+ this.isActive = false;
27
+ /**
28
+ * If `true`, the user cannot interact with the picker.
29
+ */
30
+ this.disabled = false;
31
+ /**
32
+ * The color to use from your application's color palette.
33
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
34
+ * For more information on colors, see [theming](/docs/theming/basics).
35
+ */
36
+ this.color = 'primary';
37
+ /**
38
+ * If `true`, tapping the picker will
39
+ * reveal a number input keyboard that lets
40
+ * the user type in values for each picker
41
+ * column. This is useful when working
42
+ * with time pickers.
43
+ *
44
+ * @internal
45
+ */
46
+ this.numericInput = false;
47
+ this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
48
+ const { isColumnVisible, scrollEl } = this;
49
+ if (isColumnVisible && scrollEl) {
50
+ // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
51
+ const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
52
+ if (scrollEl.scrollTop !== top) {
53
+ /**
54
+ * Setting this flag prevents input
55
+ * mode from exiting in the picker column's
56
+ * scroll callback. This is useful when the user manually
57
+ * taps an item or types on the keyboard as both
58
+ * of these can cause a scroll to occur.
59
+ */
60
+ this.canExitInputMode = canExitInputMode;
61
+ this.updateValueTextOnScroll = false;
62
+ scrollEl.scroll({
63
+ top,
64
+ left: 0,
65
+ behavior: smooth ? 'smooth' : undefined,
66
+ });
67
+ }
68
+ }
69
+ };
70
+ this.setPickerItemActiveState = (item, isActive) => {
71
+ if (isActive) {
72
+ item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
73
+ }
74
+ else {
75
+ item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
76
+ }
77
+ };
78
+ /**
79
+ * When ionInputModeChange is emitted, each column
80
+ * needs to check if it is the one being made available
81
+ * for text entry.
82
+ */
83
+ this.inputModeChange = (ev) => {
84
+ if (!this.numericInput) {
85
+ return;
86
+ }
87
+ const { useInputMode, inputModeColumn } = ev.detail;
88
+ /**
89
+ * If inputModeColumn is undefined then this means
90
+ * all numericInput columns are being selected.
91
+ */
92
+ const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
93
+ if (!useInputMode || !isColumnActive) {
94
+ this.setInputModeActive(false);
95
+ return;
96
+ }
97
+ this.setInputModeActive(true);
98
+ };
99
+ /**
100
+ * Setting isActive will cause a re-render.
101
+ * As a result, we do not want to cause the
102
+ * re-render mid scroll as this will cause
103
+ * the picker column to jump back to
104
+ * whatever value was selected at the
105
+ * start of the scroll interaction.
106
+ */
107
+ this.setInputModeActive = (state) => {
108
+ if (this.isScrolling) {
109
+ this.scrollEndCallback = () => {
110
+ this.isActive = state;
111
+ };
112
+ return;
113
+ }
114
+ this.isActive = state;
115
+ };
116
+ /**
117
+ * When the column scrolls, the component
118
+ * needs to determine which item is centered
119
+ * in the view and will emit an ionChange with
120
+ * the item object.
121
+ */
122
+ this.initializeScrollListener = () => {
123
+ /**
124
+ * The haptics for the wheel picker are
125
+ * an iOS-only feature. As a result, they should
126
+ * be disabled on Android.
127
+ */
128
+ const enableHaptics = ionicGlobal.isPlatform('ios');
129
+ const { el, scrollEl } = this;
130
+ let timeout;
131
+ let activeEl = this.activeItem;
132
+ const scrollCallback = () => {
133
+ helpers.raf(() => {
134
+ var _a;
135
+ if (!scrollEl)
136
+ return;
137
+ if (timeout) {
138
+ clearTimeout(timeout);
139
+ timeout = undefined;
140
+ }
141
+ if (!this.isScrolling) {
142
+ enableHaptics && haptic.hapticSelectionStart();
143
+ this.isScrolling = true;
144
+ }
145
+ /**
146
+ * Select item in the center of the column
147
+ * which is the month/year that we want to select
148
+ */
149
+ const bbox = scrollEl.getBoundingClientRect();
150
+ const centerX = bbox.x + bbox.width / 2;
151
+ const centerY = bbox.y + bbox.height / 2;
152
+ /**
153
+ * elementFromPoint returns the top-most element.
154
+ * This means that if an ion-backdrop is overlaying the
155
+ * picker then the appropriate picker column option will
156
+ * not be selected. To account for this, we use elementsFromPoint
157
+ * and use an Array.find to find the appropriate column option
158
+ * at that point.
159
+ *
160
+ * Additionally, the picker column could be used in the
161
+ * Shadow DOM (i.e. in ion-datetime) so we need to make
162
+ * sure we are choosing the correct host otherwise
163
+ * the elements returns by elementsFromPoint will be
164
+ * retargeted. To account for this, we check to see
165
+ * if the picker column has a parent shadow root. If
166
+ * so, we use that shadow root when doing elementsFromPoint.
167
+ * Otherwise, we just use the document.
168
+ */
169
+ const rootNode = el.getRootNode();
170
+ const hasParentShadow = rootNode instanceof ShadowRoot;
171
+ const referenceNode = hasParentShadow ? rootNode : index$1.doc;
172
+ /**
173
+ * If the reference node is undefined
174
+ * then it's likely that doc is undefined
175
+ * due to being in an SSR environment.
176
+ */
177
+ if (referenceNode === undefined) {
178
+ return;
179
+ }
180
+ const elementsAtPoint = referenceNode.elementsFromPoint(centerX, centerY);
181
+ /**
182
+ * elementsFromPoint can returns multiple elements
183
+ * so find the relevant picker column option if one exists.
184
+ */
185
+ let newActiveElement = elementsAtPoint.find((el) => el.tagName === 'ION-PICKER-COLUMN-OPTION');
186
+ /**
187
+ * TODO(FW-6594): Remove this workaround when iOS 16 is no longer
188
+ * supported.
189
+ *
190
+ * If `elementsFromPoint` failed to find the active element (a known
191
+ * issue on iOS 16 when elements are in a Shadow DOM and the
192
+ * referenceNode is the document), a fallback to `elementFromPoint`
193
+ * is used. While `elementsFromPoint` returns all elements,
194
+ * `elementFromPoint` returns only the top-most, which is sufficient
195
+ * for this use case and appears to handle Shadow DOM retargeting
196
+ * more reliably in this specific iOS bug.
197
+ */
198
+ if (newActiveElement === undefined) {
199
+ const fallbackActiveElement = referenceNode.elementFromPoint(centerX, centerY);
200
+ if ((fallbackActiveElement === null || fallbackActiveElement === void 0 ? void 0 : fallbackActiveElement.tagName) === 'ION-PICKER-COLUMN-OPTION') {
201
+ newActiveElement = fallbackActiveElement;
202
+ }
203
+ }
204
+ if (activeEl !== undefined) {
205
+ this.setPickerItemActiveState(activeEl, false);
206
+ }
207
+ if (newActiveElement === undefined || newActiveElement.disabled) {
208
+ return;
209
+ }
210
+ /**
211
+ * If we are selecting a new value,
212
+ * we need to run haptics again.
213
+ */
214
+ if (newActiveElement !== activeEl) {
215
+ enableHaptics && haptic.hapticSelectionChanged();
216
+ if (this.canExitInputMode) {
217
+ /**
218
+ * The native iOS wheel picker
219
+ * only dismisses the keyboard
220
+ * once the selected item has changed
221
+ * as a result of a swipe
222
+ * from the user. If `canExitInputMode` is
223
+ * `false` then this means that the
224
+ * scroll is happening as a result of
225
+ * the `value` property programmatically changing
226
+ * either by an application or by the user via the keyboard.
227
+ */
228
+ this.exitInputMode();
229
+ }
230
+ }
231
+ activeEl = newActiveElement;
232
+ this.setPickerItemActiveState(newActiveElement, true);
233
+ /**
234
+ * Set the aria-valuetext even though the value prop has not been updated yet.
235
+ * This enables some screen readers to announce the value as the users drag
236
+ * as opposed to when their release their pointer from the screen.
237
+ *
238
+ * When the value is programmatically updated, we will smoothly scroll
239
+ * to the new option. However, we do not want to update aria-valuetext mid-scroll
240
+ * as that can cause the old value to be briefly set before being set to the
241
+ * correct option. This will cause some screen readers to announce the old value
242
+ * again before announcing the new value. The correct valuetext will be set on render.
243
+ */
244
+ if (this.updateValueTextOnScroll) {
245
+ (_a = this.assistiveFocusable) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-valuetext', this.getOptionValueText(newActiveElement));
246
+ }
247
+ timeout = setTimeout(() => {
248
+ this.isScrolling = false;
249
+ this.updateValueTextOnScroll = true;
250
+ enableHaptics && haptic.hapticSelectionEnd();
251
+ /**
252
+ * Certain tasks (such as those that
253
+ * cause re-renders) should only be done
254
+ * once scrolling has finished, otherwise
255
+ * flickering may occur.
256
+ */
257
+ const { scrollEndCallback } = this;
258
+ if (scrollEndCallback) {
259
+ scrollEndCallback();
260
+ this.scrollEndCallback = undefined;
261
+ }
262
+ /**
263
+ * Reset this flag as the
264
+ * next scroll interaction could
265
+ * be a scroll from the user. In this
266
+ * case, we should exit input mode.
267
+ */
268
+ this.canExitInputMode = true;
269
+ this.setValue(newActiveElement.value);
270
+ }, 250);
271
+ });
272
+ };
273
+ /**
274
+ * Wrap this in an raf so that the scroll callback
275
+ * does not fire when component is initially shown.
276
+ */
277
+ helpers.raf(() => {
278
+ if (!scrollEl)
279
+ return;
280
+ scrollEl.addEventListener('scroll', scrollCallback);
281
+ this.destroyScrollListener = () => {
282
+ scrollEl.removeEventListener('scroll', scrollCallback);
283
+ };
284
+ });
285
+ };
286
+ /**
287
+ * Tells the parent picker to
288
+ * exit text entry mode. This is only called
289
+ * when the selected item changes during scroll, so
290
+ * we know that the user likely wants to scroll
291
+ * instead of type.
292
+ */
293
+ this.exitInputMode = () => {
294
+ const { parentEl } = this;
295
+ if (parentEl == null)
296
+ return;
297
+ parentEl.exitInputMode();
298
+ /**
299
+ * setInputModeActive only takes
300
+ * effect once scrolling stops to avoid
301
+ * a component re-render while scrolling.
302
+ * However, we want the visual active
303
+ * indicator to go away immediately, so
304
+ * we call classList.remove here.
305
+ */
306
+ this.el.classList.remove('picker-column-active');
307
+ };
308
+ /**
309
+ * Find the next enabled option after the active option.
310
+ * @param stride - How many options to "jump" over in order to select the next option.
311
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
312
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
313
+ * the enabled option 5 options after the active one. Note that the actual option selected
314
+ * may be past the stride if the option at the stride is disabled.
315
+ */
316
+ this.findNextOption = (stride = 1) => {
317
+ const { activeItem } = this;
318
+ if (!activeItem)
319
+ return null;
320
+ let prevNode = activeItem;
321
+ let node = activeItem.nextElementSibling;
322
+ while (node != null) {
323
+ if (stride > 0) {
324
+ stride--;
325
+ }
326
+ if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
327
+ return node;
328
+ }
329
+ prevNode = node;
330
+ // Use nextElementSibling instead of nextSibling to avoid text/comment nodes
331
+ node = node.nextElementSibling;
332
+ }
333
+ return prevNode;
334
+ };
335
+ /**
336
+ * Find the next enabled option after the active option.
337
+ * @param stride - How many options to "jump" over in order to select the next option.
338
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
339
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
340
+ * the enabled option 5 options before the active one. Note that the actual option selected
341
+ * may be past the stride if the option at the stride is disabled.
342
+ */
343
+ this.findPreviousOption = (stride = 1) => {
344
+ const { activeItem } = this;
345
+ if (!activeItem)
346
+ return null;
347
+ let nextNode = activeItem;
348
+ let node = activeItem.previousElementSibling;
349
+ while (node != null) {
350
+ if (stride > 0) {
351
+ stride--;
352
+ }
353
+ if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
354
+ return node;
355
+ }
356
+ nextNode = node;
357
+ // Use previousElementSibling instead of previousSibling to avoid text/comment nodes
358
+ node = node.previousElementSibling;
359
+ }
360
+ return nextNode;
361
+ };
362
+ this.onKeyDown = (ev) => {
363
+ /**
364
+ * The below operations should be inverted when running on a mobile device.
365
+ * For example, swiping up will dispatch an "ArrowUp" event. On desktop,
366
+ * this should cause the previous option to be selected. On mobile, swiping
367
+ * up causes a view to scroll down. As a result, swiping up on mobile should
368
+ * cause the next option to be selected. The Home/End operations remain
369
+ * unchanged because those always represent the first/last options, respectively.
370
+ */
371
+ const mobile = ionicGlobal.isPlatform('mobile');
372
+ let newOption = null;
373
+ switch (ev.key) {
374
+ case 'ArrowDown':
375
+ newOption = mobile ? this.findPreviousOption() : this.findNextOption();
376
+ break;
377
+ case 'ArrowUp':
378
+ newOption = mobile ? this.findNextOption() : this.findPreviousOption();
379
+ break;
380
+ case 'PageUp':
381
+ newOption = mobile ? this.findNextOption(5) : this.findPreviousOption(5);
382
+ break;
383
+ case 'PageDown':
384
+ newOption = mobile ? this.findPreviousOption(5) : this.findNextOption(5);
385
+ break;
386
+ case 'Home':
387
+ /**
388
+ * There is no guarantee that the first child will be an ion-picker-column-option,
389
+ * so we do not use firstElementChild.
390
+ */
391
+ newOption = this.el.querySelector('ion-picker-column-option:first-of-type');
392
+ break;
393
+ case 'End':
394
+ /**
395
+ * There is no guarantee that the last child will be an ion-picker-column-option,
396
+ * so we do not use lastElementChild.
397
+ */
398
+ newOption = this.el.querySelector('ion-picker-column-option:last-of-type');
399
+ break;
400
+ }
401
+ if (newOption !== null) {
402
+ this.setValue(newOption.value);
403
+ // This stops any default browser behavior such as scrolling
404
+ ev.preventDefault();
405
+ }
406
+ };
407
+ /**
408
+ * Utility to generate the correct text for aria-valuetext.
409
+ */
410
+ this.getOptionValueText = (el) => {
411
+ var _a;
412
+ return el ? (_a = el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : el.innerText : '';
413
+ };
20
414
  }
21
- scrollEl;
22
- destroyScrollListener;
23
- isScrolling = false;
24
- scrollEndCallback;
25
- isColumnVisible = false;
26
- parentEl;
27
- canExitInputMode = true;
28
- assistiveFocusable;
29
- updateValueTextOnScroll = false;
30
- ariaLabel = null;
31
415
  ariaLabelChanged(newValue) {
32
416
  this.ariaLabel = newValue;
33
417
  }
34
- isActive = false;
35
- get el() { return index.getElement(this); }
36
- /**
37
- * If `true`, the user cannot interact with the picker.
38
- */
39
- disabled = false;
40
- /**
41
- * The selected option in the picker.
42
- */
43
- value;
44
- /**
45
- * The color to use from your application's color palette.
46
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
47
- * For more information on colors, see [theming](/docs/theming/basics).
48
- */
49
- color;
50
- /**
51
- * If `true`, tapping the picker will
52
- * reveal a number input keyboard that lets
53
- * the user type in values for each picker
54
- * column. This is useful when working
55
- * with time pickers.
56
- *
57
- * @internal
58
- */
59
- numericInput = false;
60
- /**
61
- * Emitted when the value has changed.
62
- *
63
- * This event will not emit when programmatically setting the `value` property.
64
- */
65
- ionChange;
66
418
  valueChange() {
67
419
  if (this.isColumnVisible) {
68
420
  /**
@@ -179,268 +531,9 @@ const PickerColumn = class {
179
531
  }
180
532
  }
181
533
  connectedCallback() {
182
- this.ariaLabel = this.el.getAttribute('aria-label') ?? 'Select a value';
534
+ var _a;
535
+ this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
183
536
  }
184
- centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
185
- const { isColumnVisible, scrollEl } = this;
186
- if (isColumnVisible && scrollEl) {
187
- // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
188
- const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
189
- if (scrollEl.scrollTop !== top) {
190
- /**
191
- * Setting this flag prevents input
192
- * mode from exiting in the picker column's
193
- * scroll callback. This is useful when the user manually
194
- * taps an item or types on the keyboard as both
195
- * of these can cause a scroll to occur.
196
- */
197
- this.canExitInputMode = canExitInputMode;
198
- this.updateValueTextOnScroll = false;
199
- scrollEl.scroll({
200
- top,
201
- left: 0,
202
- behavior: smooth ? 'smooth' : undefined,
203
- });
204
- }
205
- }
206
- };
207
- setPickerItemActiveState = (item, isActive) => {
208
- if (isActive) {
209
- item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
210
- }
211
- else {
212
- item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
213
- }
214
- };
215
- /**
216
- * When ionInputModeChange is emitted, each column
217
- * needs to check if it is the one being made available
218
- * for text entry.
219
- */
220
- inputModeChange = (ev) => {
221
- if (!this.numericInput) {
222
- return;
223
- }
224
- const { useInputMode, inputModeColumn } = ev.detail;
225
- /**
226
- * If inputModeColumn is undefined then this means
227
- * all numericInput columns are being selected.
228
- */
229
- const isColumnActive = inputModeColumn === undefined || inputModeColumn === this.el;
230
- if (!useInputMode || !isColumnActive) {
231
- this.setInputModeActive(false);
232
- return;
233
- }
234
- this.setInputModeActive(true);
235
- };
236
- /**
237
- * Setting isActive will cause a re-render.
238
- * As a result, we do not want to cause the
239
- * re-render mid scroll as this will cause
240
- * the picker column to jump back to
241
- * whatever value was selected at the
242
- * start of the scroll interaction.
243
- */
244
- setInputModeActive = (state) => {
245
- if (this.isScrolling) {
246
- this.scrollEndCallback = () => {
247
- this.isActive = state;
248
- };
249
- return;
250
- }
251
- this.isActive = state;
252
- };
253
- /**
254
- * When the column scrolls, the component
255
- * needs to determine which item is centered
256
- * in the view and will emit an ionChange with
257
- * the item object.
258
- */
259
- initializeScrollListener = () => {
260
- /**
261
- * The haptics for the wheel picker are
262
- * an iOS-only feature. As a result, they should
263
- * be disabled on Android.
264
- */
265
- const enableHaptics = ionicGlobal.isPlatform('ios');
266
- const { el, scrollEl } = this;
267
- let timeout;
268
- let activeEl = this.activeItem;
269
- const scrollCallback = () => {
270
- helpers.raf(() => {
271
- if (!scrollEl)
272
- return;
273
- if (timeout) {
274
- clearTimeout(timeout);
275
- timeout = undefined;
276
- }
277
- if (!this.isScrolling) {
278
- enableHaptics && haptic.hapticSelectionStart();
279
- this.isScrolling = true;
280
- }
281
- /**
282
- * Select item in the center of the column
283
- * which is the month/year that we want to select
284
- */
285
- const bbox = scrollEl.getBoundingClientRect();
286
- const centerX = bbox.x + bbox.width / 2;
287
- const centerY = bbox.y + bbox.height / 2;
288
- /**
289
- * elementFromPoint returns the top-most element.
290
- * This means that if an ion-backdrop is overlaying the
291
- * picker then the appropriate picker column option will
292
- * not be selected. To account for this, we use elementsFromPoint
293
- * and use an Array.find to find the appropriate column option
294
- * at that point.
295
- *
296
- * Additionally, the picker column could be used in the
297
- * Shadow DOM (i.e. in ion-datetime) so we need to make
298
- * sure we are choosing the correct host otherwise
299
- * the elements returns by elementsFromPoint will be
300
- * retargeted. To account for this, we check to see
301
- * if the picker column has a parent shadow root. If
302
- * so, we use that shadow root when doing elementsFromPoint.
303
- * Otherwise, we just use the document.
304
- */
305
- const rootNode = el.getRootNode();
306
- const hasParentShadow = rootNode instanceof ShadowRoot;
307
- const referenceNode = hasParentShadow ? rootNode : index$1.doc;
308
- /**
309
- * If the reference node is undefined
310
- * then it's likely that doc is undefined
311
- * due to being in an SSR environment.
312
- */
313
- if (referenceNode === undefined) {
314
- return;
315
- }
316
- const elementsAtPoint = referenceNode.elementsFromPoint(centerX, centerY);
317
- /**
318
- * elementsFromPoint can returns multiple elements
319
- * so find the relevant picker column option if one exists.
320
- */
321
- let newActiveElement = elementsAtPoint.find((el) => el.tagName === 'ION-PICKER-COLUMN-OPTION');
322
- /**
323
- * TODO(FW-6594): Remove this workaround when iOS 16 is no longer
324
- * supported.
325
- *
326
- * If `elementsFromPoint` failed to find the active element (a known
327
- * issue on iOS 16 when elements are in a Shadow DOM and the
328
- * referenceNode is the document), a fallback to `elementFromPoint`
329
- * is used. While `elementsFromPoint` returns all elements,
330
- * `elementFromPoint` returns only the top-most, which is sufficient
331
- * for this use case and appears to handle Shadow DOM retargeting
332
- * more reliably in this specific iOS bug.
333
- */
334
- if (newActiveElement === undefined) {
335
- const fallbackActiveElement = referenceNode.elementFromPoint(centerX, centerY);
336
- if (fallbackActiveElement?.tagName === 'ION-PICKER-COLUMN-OPTION') {
337
- newActiveElement = fallbackActiveElement;
338
- }
339
- }
340
- if (activeEl !== undefined) {
341
- this.setPickerItemActiveState(activeEl, false);
342
- }
343
- if (newActiveElement === undefined || newActiveElement.disabled) {
344
- return;
345
- }
346
- /**
347
- * If we are selecting a new value,
348
- * we need to run haptics again.
349
- */
350
- if (newActiveElement !== activeEl) {
351
- enableHaptics && haptic.hapticSelectionChanged();
352
- if (this.canExitInputMode) {
353
- /**
354
- * The native iOS wheel picker
355
- * only dismisses the keyboard
356
- * once the selected item has changed
357
- * as a result of a swipe
358
- * from the user. If `canExitInputMode` is
359
- * `false` then this means that the
360
- * scroll is happening as a result of
361
- * the `value` property programmatically changing
362
- * either by an application or by the user via the keyboard.
363
- */
364
- this.exitInputMode();
365
- }
366
- }
367
- activeEl = newActiveElement;
368
- this.setPickerItemActiveState(newActiveElement, true);
369
- /**
370
- * Set the aria-valuetext even though the value prop has not been updated yet.
371
- * This enables some screen readers to announce the value as the users drag
372
- * as opposed to when their release their pointer from the screen.
373
- *
374
- * When the value is programmatically updated, we will smoothly scroll
375
- * to the new option. However, we do not want to update aria-valuetext mid-scroll
376
- * as that can cause the old value to be briefly set before being set to the
377
- * correct option. This will cause some screen readers to announce the old value
378
- * again before announcing the new value. The correct valuetext will be set on render.
379
- */
380
- if (this.updateValueTextOnScroll) {
381
- this.assistiveFocusable?.setAttribute('aria-valuetext', this.getOptionValueText(newActiveElement));
382
- }
383
- timeout = setTimeout(() => {
384
- this.isScrolling = false;
385
- this.updateValueTextOnScroll = true;
386
- enableHaptics && haptic.hapticSelectionEnd();
387
- /**
388
- * Certain tasks (such as those that
389
- * cause re-renders) should only be done
390
- * once scrolling has finished, otherwise
391
- * flickering may occur.
392
- */
393
- const { scrollEndCallback } = this;
394
- if (scrollEndCallback) {
395
- scrollEndCallback();
396
- this.scrollEndCallback = undefined;
397
- }
398
- /**
399
- * Reset this flag as the
400
- * next scroll interaction could
401
- * be a scroll from the user. In this
402
- * case, we should exit input mode.
403
- */
404
- this.canExitInputMode = true;
405
- this.setValue(newActiveElement.value);
406
- }, 250);
407
- });
408
- };
409
- /**
410
- * Wrap this in an raf so that the scroll callback
411
- * does not fire when component is initially shown.
412
- */
413
- helpers.raf(() => {
414
- if (!scrollEl)
415
- return;
416
- scrollEl.addEventListener('scroll', scrollCallback);
417
- this.destroyScrollListener = () => {
418
- scrollEl.removeEventListener('scroll', scrollCallback);
419
- };
420
- });
421
- };
422
- /**
423
- * Tells the parent picker to
424
- * exit text entry mode. This is only called
425
- * when the selected item changes during scroll, so
426
- * we know that the user likely wants to scroll
427
- * instead of type.
428
- */
429
- exitInputMode = () => {
430
- const { parentEl } = this;
431
- if (parentEl == null)
432
- return;
433
- parentEl.exitInputMode();
434
- /**
435
- * setInputModeActive only takes
436
- * effect once scrolling stops to avoid
437
- * a component re-render while scrolling.
438
- * However, we want the visual active
439
- * indicator to go away immediately, so
440
- * we call classList.remove here.
441
- */
442
- this.el.classList.remove('picker-column-active');
443
- };
444
537
  get activeItem() {
445
538
  const { value } = this;
446
539
  const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
@@ -455,123 +548,19 @@ const PickerColumn = class {
455
548
  return option.value === value;
456
549
  });
457
550
  }
458
- /**
459
- * Find the next enabled option after the active option.
460
- * @param stride - How many options to "jump" over in order to select the next option.
461
- * This can be used to implement PageUp/PageDown behaviors where pressing these keys
462
- * scrolls the picker by more than 1 option. For example, a stride of 5 means select
463
- * the enabled option 5 options after the active one. Note that the actual option selected
464
- * may be past the stride if the option at the stride is disabled.
465
- */
466
- findNextOption = (stride = 1) => {
467
- const { activeItem } = this;
468
- if (!activeItem)
469
- return null;
470
- let prevNode = activeItem;
471
- let node = activeItem.nextElementSibling;
472
- while (node != null) {
473
- if (stride > 0) {
474
- stride--;
475
- }
476
- if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
477
- return node;
478
- }
479
- prevNode = node;
480
- // Use nextElementSibling instead of nextSibling to avoid text/comment nodes
481
- node = node.nextElementSibling;
482
- }
483
- return prevNode;
484
- };
485
- /**
486
- * Find the next enabled option after the active option.
487
- * @param stride - How many options to "jump" over in order to select the next option.
488
- * This can be used to implement PageUp/PageDown behaviors where pressing these keys
489
- * scrolls the picker by more than 1 option. For example, a stride of 5 means select
490
- * the enabled option 5 options before the active one. Note that the actual option selected
491
- * may be past the stride if the option at the stride is disabled.
492
- */
493
- findPreviousOption = (stride = 1) => {
494
- const { activeItem } = this;
495
- if (!activeItem)
496
- return null;
497
- let nextNode = activeItem;
498
- let node = activeItem.previousElementSibling;
499
- while (node != null) {
500
- if (stride > 0) {
501
- stride--;
502
- }
503
- if (node.tagName === 'ION-PICKER-COLUMN-OPTION' && !node.disabled && stride === 0) {
504
- return node;
505
- }
506
- nextNode = node;
507
- // Use previousElementSibling instead of previousSibling to avoid text/comment nodes
508
- node = node.previousElementSibling;
509
- }
510
- return nextNode;
511
- };
512
- onKeyDown = (ev) => {
513
- /**
514
- * The below operations should be inverted when running on a mobile device.
515
- * For example, swiping up will dispatch an "ArrowUp" event. On desktop,
516
- * this should cause the previous option to be selected. On mobile, swiping
517
- * up causes a view to scroll down. As a result, swiping up on mobile should
518
- * cause the next option to be selected. The Home/End operations remain
519
- * unchanged because those always represent the first/last options, respectively.
520
- */
521
- const mobile = ionicGlobal.isPlatform('mobile');
522
- let newOption = null;
523
- switch (ev.key) {
524
- case 'ArrowDown':
525
- newOption = mobile ? this.findPreviousOption() : this.findNextOption();
526
- break;
527
- case 'ArrowUp':
528
- newOption = mobile ? this.findNextOption() : this.findPreviousOption();
529
- break;
530
- case 'PageUp':
531
- newOption = mobile ? this.findNextOption(5) : this.findPreviousOption(5);
532
- break;
533
- case 'PageDown':
534
- newOption = mobile ? this.findPreviousOption(5) : this.findNextOption(5);
535
- break;
536
- case 'Home':
537
- /**
538
- * There is no guarantee that the first child will be an ion-picker-column-option,
539
- * so we do not use firstElementChild.
540
- */
541
- newOption = this.el.querySelector('ion-picker-column-option:first-of-type');
542
- break;
543
- case 'End':
544
- /**
545
- * There is no guarantee that the last child will be an ion-picker-column-option,
546
- * so we do not use lastElementChild.
547
- */
548
- newOption = this.el.querySelector('ion-picker-column-option:last-of-type');
549
- break;
550
- }
551
- if (newOption !== null) {
552
- this.setValue(newOption.value);
553
- // This stops any default browser behavior such as scrolling
554
- ev.preventDefault();
555
- }
556
- };
557
- /**
558
- * Utility to generate the correct text for aria-valuetext.
559
- */
560
- getOptionValueText = (el) => {
561
- return el ? el.getAttribute('aria-label') ?? el.innerText : '';
562
- };
563
551
  render() {
564
552
  const { color, disabled, isActive, numericInput } = this;
565
553
  const mode = ionicGlobal.getIonMode(this);
566
- return (index.h(index.Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: theme.createColorClasses(color, {
554
+ return (index.h(index.Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: theme.createColorClasses(color, {
567
555
  [mode]: true,
568
556
  ['picker-column-active']: isActive,
569
557
  ['picker-column-numeric-input']: numericInput,
570
558
  ['picker-column-disabled']: disabled,
571
- }) }, index.h("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), index.h("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
559
+ }) }, index.h("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), index.h("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
572
560
  this.scrollEl = el;
573
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, index.h("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), index.h("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), index.h("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
561
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, index.h("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), index.h("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), index.h("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
574
562
  }
563
+ get el() { return index.getElement(this); }
575
564
  static get watchers() { return {
576
565
  "aria-label": [{
577
566
  "ariaLabelChanged": 0