@ionic/core 8.7.17-dev.11772118942.181221d4 → 8.7.17-dev.11772568074.1d7a4aea

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 (520) hide show
  1. package/components/action-sheet.js +1 -561
  2. package/components/alert.js +1 -610
  3. package/components/animation.js +1 -817
  4. package/components/backdrop.js +1 -72
  5. package/components/button-active.js +1 -64
  6. package/components/button.js +1 -303
  7. package/components/buttons.js +1 -56
  8. package/components/capacitor.js +1 -10
  9. package/components/checkbox.js +1 -261
  10. package/components/config.js +1 -192
  11. package/components/content.js +1 -475
  12. package/components/cubic-bezier.js +1 -87
  13. package/components/data.js +1 -1635
  14. package/components/dir.js +1 -15
  15. package/components/focus-visible.js +1 -72
  16. package/components/framework-delegate.js +1 -137
  17. package/components/gesture-controller.js +1 -192
  18. package/components/haptic.js +1 -155
  19. package/components/hardware-back-button.js +1 -112
  20. package/components/header.js +1 -417
  21. package/components/helpers.js +1 -336
  22. package/components/icon.js +1 -456
  23. package/components/index.d.ts +2 -0
  24. package/components/index.js +1 -115
  25. package/components/index2.js +1 -416
  26. package/components/index3.js +1 -452
  27. package/components/index4.js +1 -118
  28. package/components/index5.js +1 -303
  29. package/components/index6.js +1 -29
  30. package/components/index7.js +1 -164
  31. package/components/index8.js +1 -125
  32. package/components/index9.js +1 -4
  33. package/components/input-shims.js +1 -624
  34. package/components/input.utils.js +1 -144
  35. package/components/ion-accordion-group.js +1 -269
  36. package/components/ion-accordion.js +1 -457
  37. package/components/ion-action-sheet.js +1 -6
  38. package/components/ion-alert.js +1 -6
  39. package/components/ion-app.js +1 -128
  40. package/components/ion-avatar.js +1 -41
  41. package/components/ion-back-button.js +1 -131
  42. package/components/ion-backdrop.js +1 -6
  43. package/components/ion-badge.js +1 -47
  44. package/components/ion-breadcrumb.js +1 -137
  45. package/components/ion-breadcrumbs.js +1 -164
  46. package/components/ion-button.js +1 -6
  47. package/components/ion-buttons.js +1 -6
  48. package/components/ion-card-content.js +1 -45
  49. package/components/ion-card-header.js +1 -56
  50. package/components/ion-card-subtitle.js +1 -48
  51. package/components/ion-card-title.js +1 -48
  52. package/components/ion-card.js +1 -107
  53. package/components/ion-checkbox.js +1 -6
  54. package/components/ion-chip.js +1 -66
  55. package/components/ion-col.js +1 -163
  56. package/components/ion-content.js +1 -6
  57. package/components/ion-datetime-button.js +1 -384
  58. package/components/ion-datetime.js +1 -2046
  59. package/components/ion-fab-button.js +1 -151
  60. package/components/ion-fab-list.js +1 -66
  61. package/components/ion-fab.js +1 -101
  62. package/components/ion-footer.js +1 -159
  63. package/components/ion-grid.js +1 -46
  64. package/components/ion-header.js +1 -6
  65. package/components/ion-icon.js +1 -6
  66. package/components/ion-img.js +1 -124
  67. package/components/ion-infinite-scroll-content.js +1 -70
  68. package/components/ion-infinite-scroll.js +1 -236
  69. package/components/ion-input-otp.js +1 -683
  70. package/components/ion-input-password-toggle.js +1 -129
  71. package/components/ion-input.js +1 -617
  72. package/components/ion-item-divider.js +1 -59
  73. package/components/ion-item-group.js +1 -46
  74. package/components/ion-item-option.js +1 -91
  75. package/components/ion-item-options.js +1 -73
  76. package/components/ion-item-sliding.js +1 -458
  77. package/components/ion-item.js +1 -6
  78. package/components/ion-label.js +1 -6
  79. package/components/ion-list-header.js +1 -6
  80. package/components/ion-list.js +1 -6
  81. package/components/ion-loading.js +1 -344
  82. package/components/ion-menu-button.js +1 -110
  83. package/components/ion-menu-toggle.js +1 -64
  84. package/components/ion-menu.js +1 -745
  85. package/components/ion-modal.js +1 -6
  86. package/components/ion-nav-link.js +1 -64
  87. package/components/ion-nav.js +1 -956
  88. package/components/ion-note.js +1 -47
  89. package/components/ion-picker-column-option.js +1 -6
  90. package/components/ion-picker-column.js +1 -6
  91. package/components/ion-picker-legacy-column.js +1 -6
  92. package/components/ion-picker-legacy.js +1 -343
  93. package/components/ion-picker.js +1 -6
  94. package/components/ion-popover.js +1 -6
  95. package/components/ion-progress-bar.js +1 -101
  96. package/components/ion-radio-group.js +1 -6
  97. package/components/ion-radio.js +1 -6
  98. package/components/ion-range.js +1 -853
  99. package/components/ion-refresher-content.js +1 -89
  100. package/components/ion-refresher.js +1 -751
  101. package/components/ion-reorder-group.js +1 -322
  102. package/components/ion-reorder.js +1 -60
  103. package/components/ion-ripple-effect.js +1 -6
  104. package/components/ion-route-redirect.js +1 -45
  105. package/components/ion-route.js +1 -74
  106. package/components/ion-router-link.js +1 -61
  107. package/components/ion-router-outlet.js +1 -227
  108. package/components/ion-router.js +1 -841
  109. package/components/ion-row.js +1 -36
  110. package/components/ion-searchbar.js +1 -530
  111. package/components/ion-segment-button.js +1 -174
  112. package/components/ion-segment-content.js +1 -35
  113. package/components/ion-segment-view.js +1 -148
  114. package/components/ion-segment.js +1 -602
  115. package/components/ion-select-modal.js +1 -6
  116. package/components/ion-select-option.js +1 -46
  117. package/components/ion-select-popover.js +1 -6
  118. package/components/ion-select.js +1 -1037
  119. package/components/ion-skeleton-text.js +1 -65
  120. package/components/ion-spinner.js +1 -6
  121. package/components/ion-split-pane.js +1 -197
  122. package/components/ion-tab-bar.js +1 -115
  123. package/components/ion-tab-button.js +1 -128
  124. package/components/ion-tab.js +1 -91
  125. package/components/ion-tabs.js +1 -205
  126. package/components/ion-text.js +1 -42
  127. package/components/ion-textarea.js +1 -554
  128. package/components/ion-thumbnail.js +1 -36
  129. package/components/ion-title.js +1 -6
  130. package/components/ion-toast.js +1 -941
  131. package/components/ion-toggle.js +1 -361
  132. package/components/ion-toolbar.js +1 -6
  133. package/components/ionic-global.js +1 -144
  134. package/components/ios.transition.js +1 -672
  135. package/components/item.js +1 -302
  136. package/components/keyboard-controller.js +1 -162
  137. package/components/keyboard.js +1 -141
  138. package/components/keyboard2.js +1 -76
  139. package/components/label.js +1 -100
  140. package/components/list-header.js +1 -47
  141. package/components/list.js +1 -68
  142. package/components/lock-controller.js +1 -35
  143. package/components/md.transition.js +1 -51
  144. package/components/menu-toggle-util.js +1 -9
  145. package/components/modal.js +1 -2674
  146. package/components/notch-controller.js +1 -150
  147. package/components/overlays.js +1 -912
  148. package/components/picker-column-option.js +1 -136
  149. package/components/picker-column.js +1 -595
  150. package/components/picker-column2.js +1 -377
  151. package/components/picker.js +1 -498
  152. package/components/popover.js +1 -1502
  153. package/components/radio-group.js +1 -287
  154. package/components/radio.js +1 -229
  155. package/components/refresher.utils.js +1 -193
  156. package/components/ripple-effect.js +1 -109
  157. package/components/select-modal.js +1 -196
  158. package/components/select-popover.js +1 -189
  159. package/components/spinner.js +1 -224
  160. package/components/status-tap.js +1 -36
  161. package/components/swipe-back.js +1 -75
  162. package/components/theme.js +1 -40
  163. package/components/title.js +1 -70
  164. package/components/toolbar.js +1 -89
  165. package/components/validity.js +1 -14
  166. package/components/watch-options.js +1 -44
  167. package/dist/cjs/{animation-Bt3H9L1C.js → animation-Dg4yiuR2.js} +1 -1
  168. package/dist/cjs/app-globals-CLI8xCmk.js +11 -0
  169. package/dist/cjs/{button-active-CMc8cD90.js → button-active-FscMI17-.js} +1 -1
  170. package/dist/cjs/{config-C5fsO43a.js → config-BukYi_pW.js} +1 -1
  171. package/dist/cjs/{data-JwZKaIQB.js → data-BYlBjkMU.js} +1 -1
  172. package/dist/cjs/{framework-delegate-DMJRBuDi.js → framework-delegate-CRgp8o_p.js} +1 -1
  173. package/dist/cjs/{hardware-back-button-VCK4V3mG.js → hardware-back-button-C4rMJ5uI.js} +1 -1
  174. package/dist/cjs/{helpers-DrTqNghc.js → helpers-CxTYJdbT.js} +1 -1
  175. package/dist/cjs/{index-094mMFB-.js → index-C845Ti6K.js} +4 -4
  176. package/dist/cjs/{index-DrMUZJj6.js → index-CFUwM5x_.js} +5 -5
  177. package/dist/cjs/{index-D6Wc6v08.js → index-CqT-2gKy.js} +503 -382
  178. package/dist/cjs/{index-CO6eryBo.js → index-MbaBbWXk.js} +2 -2
  179. package/dist/cjs/{index-C534ULug.js → index-YcSftOMz.js} +2 -2
  180. package/dist/cjs/index.cjs.js +12 -12
  181. package/dist/cjs/{input-shims-CW0KUFTQ.js → input-shims-DlFhYYTs.js} +3 -3
  182. package/dist/cjs/{input.utils-B_QROI2g.js → input.utils-DmeJ8dmo.js} +2 -2
  183. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -15
  184. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -15
  185. package/dist/cjs/ion-alert.cjs.entry.js +25 -17
  186. package/dist/cjs/ion-app_8.cjs.entry.js +44 -40
  187. package/dist/cjs/ion-avatar_3.cjs.entry.js +12 -12
  188. package/dist/cjs/ion-back-button.cjs.entry.js +7 -7
  189. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -6
  190. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -14
  191. package/dist/cjs/ion-button_2.cjs.entry.js +36 -18
  192. package/dist/cjs/ion-card_5.cjs.entry.js +23 -23
  193. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -7
  194. package/dist/cjs/ion-chip.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-col_3.cjs.entry.js +8 -8
  196. package/dist/cjs/ion-datetime-button.cjs.entry.js +8 -8
  197. package/dist/cjs/ion-datetime_3.cjs.entry.js +67 -39
  198. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  199. package/dist/cjs/ion-img.cjs.entry.js +8 -6
  200. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -13
  201. package/dist/cjs/ion-input-otp.cjs.entry.js +16 -10
  202. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -7
  203. package/dist/cjs/ion-input.cjs.entry.js +21 -13
  204. package/dist/cjs/ion-item-option_3.cjs.entry.js +17 -15
  205. package/dist/cjs/ion-item_8.cjs.entry.js +42 -36
  206. package/dist/cjs/ion-loading.cjs.entry.js +18 -14
  207. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -22
  208. package/dist/cjs/ion-modal.cjs.entry.js +55 -40
  209. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -10
  210. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -8
  211. package/dist/cjs/ion-picker-column.cjs.entry.js +11 -7
  212. package/dist/cjs/ion-picker.cjs.entry.js +6 -6
  213. package/dist/cjs/ion-popover.cjs.entry.js +21 -15
  214. package/dist/cjs/ion-progress-bar.cjs.entry.js +7 -7
  215. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -13
  216. package/dist/cjs/ion-range.cjs.entry.js +29 -15
  217. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  218. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -11
  219. package/dist/cjs/ion-ripple-effect.cjs.entry.js +4 -4
  220. package/dist/cjs/ion-route_4.cjs.entry.js +20 -10
  221. package/dist/cjs/ion-searchbar.cjs.entry.js +22 -12
  222. package/dist/cjs/ion-segment-content.cjs.entry.js +3 -3
  223. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -5
  224. package/dist/cjs/ion-segment_2.cjs.entry.js +26 -16
  225. package/dist/cjs/ion-select-modal.cjs.entry.js +12 -12
  226. package/dist/cjs/ion-select_3.cjs.entry.js +29 -21
  227. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  228. package/dist/cjs/ion-split-pane.cjs.entry.js +15 -9
  229. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +14 -12
  230. package/dist/cjs/ion-tab_2.cjs.entry.js +10 -8
  231. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  232. package/dist/cjs/ion-textarea.cjs.entry.js +18 -12
  233. package/dist/cjs/ion-toast.cjs.entry.js +21 -15
  234. package/dist/cjs/ion-toggle.cjs.entry.js +10 -8
  235. package/dist/cjs/{ionic-global-HMVqOFGO.js → ionic-global-Bc3kJi1Z.js} +1 -1
  236. package/dist/cjs/ionic.cjs.js +5 -5
  237. package/dist/cjs/{ios.transition-BOt_uW73.js → ios.transition-trBiC95R.js} +4 -4
  238. package/dist/cjs/loader.cjs.js +4 -4
  239. package/dist/cjs/{md.transition-Dt968VXB.js → md.transition-CUQECuvD.js} +4 -4
  240. package/dist/cjs/{notch-controller-Bzqhjm4f.js → notch-controller-sD-lTpdc.js} +1 -1
  241. package/dist/cjs/{overlays-B2b-TTbl.js → overlays-C2jiBSNQ.js} +5 -5
  242. package/dist/cjs/{status-tap-g0sWWkXk.js → status-tap-CCJk5VgT.js} +3 -3
  243. package/dist/cjs/{swipe-back-BIayeNOD.js → swipe-back-BGhTQ1CU.js} +2 -2
  244. package/dist/collection/collection-manifest.json +2 -2
  245. package/dist/collection/components/accordion-group/accordion-group.js +4 -2
  246. package/dist/collection/components/action-sheet/action-sheet.js +20 -10
  247. package/dist/collection/components/alert/alert.js +24 -12
  248. package/dist/collection/components/back-button/back-button.js +4 -2
  249. package/dist/collection/components/badge/badge.js +2 -1
  250. package/dist/collection/components/breadcrumb/breadcrumb.js +8 -4
  251. package/dist/collection/components/breadcrumbs/breadcrumbs.js +4 -2
  252. package/dist/collection/components/button/button.js +6 -3
  253. package/dist/collection/components/card/card.js +6 -3
  254. package/dist/collection/components/card-header/card-header.js +2 -1
  255. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -1
  256. package/dist/collection/components/card-title/card-title.js +2 -1
  257. package/dist/collection/components/checkbox/checkbox.js +4 -2
  258. package/dist/collection/components/chip/chip.js +2 -1
  259. package/dist/collection/components/content/content.js +8 -4
  260. package/dist/collection/components/datetime/datetime.js +34 -15
  261. package/dist/collection/components/datetime-button/datetime-button.js +2 -1
  262. package/dist/collection/components/fab-button/fab-button.js +6 -3
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +4 -2
  264. package/dist/collection/components/input/input.js +11 -6
  265. package/dist/collection/components/input-otp/input-otp.js +8 -4
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +4 -2
  267. package/dist/collection/components/item/item.js +6 -3
  268. package/dist/collection/components/item-divider/item-divider.js +2 -1
  269. package/dist/collection/components/item-option/item-option.js +2 -1
  270. package/dist/collection/components/item-options/item-options.js +2 -1
  271. package/dist/collection/components/item-sliding/item-sliding.js +2 -1
  272. package/dist/collection/components/label/label.js +6 -3
  273. package/dist/collection/components/list-header/list-header.js +2 -1
  274. package/dist/collection/components/loading/loading.js +22 -11
  275. package/dist/collection/components/menu/menu.js +10 -5
  276. package/dist/collection/components/menu-button/menu-button.js +2 -1
  277. package/dist/collection/components/modal/gestures/sheet.js +32 -21
  278. package/dist/collection/components/modal/modal.js +35 -20
  279. package/dist/collection/components/nav/nav.js +89 -45
  280. package/dist/collection/components/nav-link/nav-link.js +9 -5
  281. package/dist/collection/components/note/note.js +2 -1
  282. package/dist/collection/components/picker/picker.js +2 -1
  283. package/dist/collection/components/picker-column/picker-column.js +6 -3
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -1
  285. package/dist/collection/components/picker-legacy/picker.js +24 -12
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -2
  287. package/dist/collection/components/popover/popover.js +33 -17
  288. package/dist/collection/components/progress-bar/progress-bar.js +2 -1
  289. package/dist/collection/components/radio/radio.js +2 -1
  290. package/dist/collection/components/radio-group/radio-group.js +6 -3
  291. package/dist/collection/components/range/range.js +14 -7
  292. package/dist/collection/components/refresher/refresher.js +73 -5
  293. package/dist/collection/components/refresher-content/refresher-content.js +8 -4
  294. package/dist/collection/components/reorder-group/reorder-group.js +6 -3
  295. package/dist/collection/components/route/route.js +4 -2
  296. package/dist/collection/components/router/router.js +10 -5
  297. package/dist/collection/components/router-link/router-link.js +6 -3
  298. package/dist/collection/components/router-outlet/router-outlet.js +18 -9
  299. package/dist/collection/components/searchbar/searchbar.js +11 -6
  300. package/dist/collection/components/segment/segment.js +10 -5
  301. package/dist/collection/components/segment-button/segment-button.js +4 -2
  302. package/dist/collection/components/segment-view/segment-view.js +2 -1
  303. package/dist/collection/components/select/select.js +10 -5
  304. package/dist/collection/components/select-modal/select-modal.js +2 -1
  305. package/dist/collection/components/select-popover/select-popover.js +2 -1
  306. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -1
  307. package/dist/collection/components/spinner/spinner.js +4 -2
  308. package/dist/collection/components/tab/tab.js +4 -2
  309. package/dist/collection/components/tab-bar/tab-bar.js +4 -2
  310. package/dist/collection/components/tab-button/tab-button.js +4 -2
  311. package/dist/collection/components/tabs/tabs.js +4 -2
  312. package/dist/collection/components/text/text.js +2 -1
  313. package/dist/collection/components/textarea/textarea.js +6 -3
  314. package/dist/collection/components/title/title.js +4 -2
  315. package/dist/collection/components/toast/toast.js +34 -17
  316. package/dist/collection/components/toggle/toggle.js +4 -2
  317. package/dist/collection/components/toolbar/toolbar.js +2 -1
  318. package/dist/docs.d.ts +37 -0
  319. package/dist/docs.json +835 -381
  320. package/dist/esm/{animation-Dt8bGnA-.js → animation-CnGMT4ji.js} +1 -1
  321. package/dist/esm/app-globals-DhZjtldk.js +9 -0
  322. package/dist/esm/{button-active-L570Swow.js → button-active-BBx21brx.js} +1 -1
  323. package/dist/esm/{config-mCdtaoPe.js → config-TO1rZH52.js} +1 -1
  324. package/dist/esm/{data-DCORV9FH.js → data-B9iGR5YO.js} +1 -1
  325. package/dist/esm/{framework-delegate-BYawdMXj.js → framework-delegate-CyxE1S_P.js} +1 -1
  326. package/dist/esm/{hardware-back-button-CPLxO-Ev.js → hardware-back-button-CTe4XmL7.js} +1 -1
  327. package/dist/esm/{helpers-DEn3pfjm.js → helpers-Tl8jw6S2.js} +1 -1
  328. package/dist/esm/{index-r2D9DEro.js → index-B-hkiOUh.js} +4 -4
  329. package/dist/esm/{index-CvDIirVx.js → index-B2KwgBLx.js} +5 -5
  330. package/dist/esm/{index-ceb5RaMT.js → index-BtUdxPjv.js} +2 -2
  331. package/dist/esm/{index-C8IsBmNU.js → index-IGIE5vDm.js} +503 -382
  332. package/dist/esm/{index-Bs3kT4bc.js → index-hW6eNZ3o.js} +2 -2
  333. package/dist/esm/index.js +12 -12
  334. package/dist/esm/{input-shims-DyOpfTg6.js → input-shims-C1hAaHcP.js} +3 -3
  335. package/dist/esm/{input.utils-DrvTa8gz.js → input.utils-Bxa_DQ7-.js} +2 -2
  336. package/dist/esm/ion-accordion_2.entry.js +23 -15
  337. package/dist/esm/ion-action-sheet.entry.js +21 -15
  338. package/dist/esm/ion-alert.entry.js +25 -17
  339. package/dist/esm/ion-app_8.entry.js +44 -40
  340. package/dist/esm/ion-avatar_3.entry.js +12 -12
  341. package/dist/esm/ion-back-button.entry.js +7 -7
  342. package/dist/esm/ion-backdrop.entry.js +6 -6
  343. package/dist/esm/ion-breadcrumb_2.entry.js +20 -14
  344. package/dist/esm/ion-button_2.entry.js +36 -18
  345. package/dist/esm/ion-card_5.entry.js +23 -23
  346. package/dist/esm/ion-checkbox.entry.js +7 -7
  347. package/dist/esm/ion-chip.entry.js +6 -6
  348. package/dist/esm/ion-col_3.entry.js +8 -8
  349. package/dist/esm/ion-datetime-button.entry.js +8 -8
  350. package/dist/esm/ion-datetime_3.entry.js +67 -39
  351. package/dist/esm/ion-fab_3.entry.js +17 -13
  352. package/dist/esm/ion-img.entry.js +8 -6
  353. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -13
  354. package/dist/esm/ion-input-otp.entry.js +16 -10
  355. package/dist/esm/ion-input-password-toggle.entry.js +9 -7
  356. package/dist/esm/ion-input.entry.js +21 -13
  357. package/dist/esm/ion-item-option_3.entry.js +17 -15
  358. package/dist/esm/ion-item_8.entry.js +42 -36
  359. package/dist/esm/ion-loading.entry.js +18 -14
  360. package/dist/esm/ion-menu_3.entry.js +30 -22
  361. package/dist/esm/ion-modal.entry.js +55 -40
  362. package/dist/esm/ion-nav_2.entry.js +14 -10
  363. package/dist/esm/ion-picker-column-option.entry.js +10 -8
  364. package/dist/esm/ion-picker-column.entry.js +11 -7
  365. package/dist/esm/ion-picker.entry.js +6 -6
  366. package/dist/esm/ion-popover.entry.js +21 -15
  367. package/dist/esm/ion-progress-bar.entry.js +7 -7
  368. package/dist/esm/ion-radio_2.entry.js +17 -13
  369. package/dist/esm/ion-range.entry.js +29 -15
  370. package/dist/esm/ion-refresher_2.entry.js +45 -14
  371. package/dist/esm/ion-reorder_2.entry.js +13 -11
  372. package/dist/esm/ion-ripple-effect.entry.js +4 -4
  373. package/dist/esm/ion-route_4.entry.js +20 -10
  374. package/dist/esm/ion-searchbar.entry.js +22 -12
  375. package/dist/esm/ion-segment-content.entry.js +3 -3
  376. package/dist/esm/ion-segment-view.entry.js +5 -5
  377. package/dist/esm/ion-segment_2.entry.js +26 -16
  378. package/dist/esm/ion-select-modal.entry.js +12 -12
  379. package/dist/esm/ion-select_3.entry.js +29 -21
  380. package/dist/esm/ion-spinner.entry.js +4 -4
  381. package/dist/esm/ion-split-pane.entry.js +15 -9
  382. package/dist/esm/ion-tab-bar_2.entry.js +14 -12
  383. package/dist/esm/ion-tab_2.entry.js +10 -8
  384. package/dist/esm/ion-text.entry.js +4 -4
  385. package/dist/esm/ion-textarea.entry.js +18 -12
  386. package/dist/esm/ion-toast.entry.js +21 -15
  387. package/dist/esm/ion-toggle.entry.js +10 -8
  388. package/dist/esm/{ionic-global-CDrldh-5.js → ionic-global-DfbeLwcV.js} +1 -1
  389. package/dist/esm/ionic.js +6 -6
  390. package/dist/esm/{ios.transition-BDzw0_Hm.js → ios.transition--aMF-pDH.js} +4 -4
  391. package/dist/esm/loader.js +5 -5
  392. package/dist/esm/{md.transition-BzDYi3qq.js → md.transition-BEVbfm8j.js} +4 -4
  393. package/dist/esm/{notch-controller-BwelN_JM.js → notch-controller-DAcvKU57.js} +1 -1
  394. package/dist/esm/{overlays-D5YkFThA.js → overlays-F8GHPo-e.js} +5 -5
  395. package/dist/esm/{status-tap-5DQ7Fc4V.js → status-tap-BfJqFSLF.js} +3 -3
  396. package/dist/esm/{swipe-back-BKw2CAHc.js → swipe-back-BZBFwTQV.js} +2 -2
  397. package/dist/html.html-data.json +109 -109
  398. package/dist/ionic/index.esm.js +1 -1
  399. package/dist/ionic/ionic.esm.js +1 -1
  400. package/dist/ionic/{p-316c0420.entry.js → p-025d2d32.entry.js} +1 -1
  401. package/dist/ionic/p-02acdef4.entry.js +4 -0
  402. package/dist/ionic/p-04e2c388.entry.js +4 -0
  403. package/dist/ionic/{p-370e4237.entry.js → p-074344b8.entry.js} +1 -1
  404. package/dist/ionic/p-0761b4d3.entry.js +4 -0
  405. package/dist/ionic/p-13ade5c8.entry.js +4 -0
  406. package/dist/ionic/p-1b02923f.entry.js +4 -0
  407. package/dist/ionic/p-1bd477a9.entry.js +4 -0
  408. package/dist/ionic/{p-d2489bf2.entry.js → p-1fa1406c.entry.js} +1 -1
  409. package/dist/ionic/{p-46d74291.entry.js → p-1fd588a7.entry.js} +1 -1
  410. package/dist/ionic/p-239a27a4.entry.js +4 -0
  411. package/dist/ionic/{p-94de5cfa.entry.js → p-277abec1.entry.js} +1 -1
  412. package/dist/ionic/{p-dd1aef77.entry.js → p-28d7852f.entry.js} +1 -1
  413. package/dist/ionic/{p-49d06882.entry.js → p-301c43f8.entry.js} +1 -1
  414. package/dist/ionic/{p-79bd78f9.entry.js → p-370a60ee.entry.js} +1 -1
  415. package/dist/ionic/p-3e143d1d.entry.js +4 -0
  416. package/dist/ionic/p-4431ef7e.entry.js +4 -0
  417. package/dist/ionic/p-463767ce.entry.js +4 -0
  418. package/dist/ionic/p-4f888343.entry.js +4 -0
  419. package/dist/ionic/p-51c11c47.entry.js +4 -0
  420. package/dist/ionic/p-56050077.entry.js +4 -0
  421. package/dist/ionic/p-6a3a5aae.entry.js +4 -0
  422. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  423. package/dist/ionic/{p-51a60e0f.entry.js → p-7c72d482.entry.js} +1 -1
  424. package/dist/ionic/p-7d20f4f8.entry.js +4 -0
  425. package/dist/ionic/{p-11aa58d6.entry.js → p-80cac7a2.entry.js} +1 -1
  426. package/dist/ionic/p-91fc7352.entry.js +4 -0
  427. package/dist/ionic/p-93845421.entry.js +4 -0
  428. package/dist/ionic/{p-3a6caca9.entry.js → p-964090ef.entry.js} +1 -1
  429. package/dist/ionic/p-96a2e768.entry.js +4 -0
  430. package/dist/ionic/{p-d126e8d3.entry.js → p-9745651b.entry.js} +1 -1
  431. package/dist/ionic/{p-f9061316.entry.js → p-9802c88e.entry.js} +1 -1
  432. package/dist/ionic/{p-582824c5.entry.js → p-9833cf63.entry.js} +1 -1
  433. package/dist/ionic/{p-675b1a31.entry.js → p-9fae83d8.entry.js} +1 -1
  434. package/dist/ionic/{p-CwgG81ZD.js → p-B8xlpH8p.js} +1 -1
  435. package/dist/ionic/{p-C7hRNDhM.js → p-BAt5H1ac.js} +1 -1
  436. package/dist/ionic/p-BW_TRJm8.js +4 -0
  437. package/dist/ionic/{p-DDb5r57F.js → p-Bum7H1fw.js} +1 -1
  438. package/dist/ionic/{p-D0dMcSkw.js → p-BvFYtOdE.js} +1 -1
  439. package/dist/ionic/{p-Dc45iWE4.js → p-BxIcPWoV.js} +1 -1
  440. package/dist/ionic/{p-BYEqWnSg.js → p-C0JvVFMv.js} +1 -1
  441. package/dist/ionic/{p-CTfR9YZG.js → p-CGmVTdWh.js} +1 -1
  442. package/dist/ionic/{p-BOVrCkpJ.js → p-CYbRmDdy.js} +1 -1
  443. package/dist/ionic/{p-D-eFFUkA.js → p-CmFz1Mjc.js} +1 -1
  444. package/dist/ionic/p-CtA-yJYy.js +4 -0
  445. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  446. package/dist/ionic/{p-B0q1YL7N.js → p-DB_iPQC-.js} +1 -1
  447. package/dist/ionic/{p-DNcfiJwE.js → p-DLbbmF9h.js} +1 -1
  448. package/dist/ionic/{p-DdR6rpbR.js → p-DTPR1Wpn.js} +1 -1
  449. package/dist/ionic/{p-DCv9sLH2.js → p-DjriolRs.js} +1 -1
  450. package/dist/ionic/p-DtVZDHlS.js +4 -0
  451. package/dist/ionic/{p-QHYY4sjU.js → p-GWUGgWx6.js} +1 -1
  452. package/dist/ionic/p-IGIE5vDm.js +5 -0
  453. package/dist/ionic/{p-BFvmZNyx.js → p-NFFyoJ4Q.js} +1 -1
  454. package/dist/ionic/{p-86f53961.entry.js → p-a287e18e.entry.js} +1 -1
  455. package/dist/ionic/p-a805674e.entry.js +4 -0
  456. package/dist/ionic/p-a81ae2cd.entry.js +4 -0
  457. package/dist/ionic/{p-da7d04cc.entry.js → p-a84f2d21.entry.js} +1 -1
  458. package/dist/ionic/{p-dbbe606a.entry.js → p-b2d5238b.entry.js} +1 -1
  459. package/dist/ionic/{p-d1f54e28.entry.js → p-b440381f.entry.js} +1 -1
  460. package/dist/ionic/{p-72c38b88.entry.js → p-b4d52b58.entry.js} +1 -1
  461. package/dist/ionic/{p-2a939845.entry.js → p-b67a2114.entry.js} +1 -1
  462. package/dist/ionic/{p-c73627c8.entry.js → p-bced1f3e.entry.js} +1 -1
  463. package/dist/ionic/{p-9a2d390d.entry.js → p-c1c9b2bb.entry.js} +1 -1
  464. package/dist/ionic/{p-f8f22cc0.entry.js → p-c3e65e45.entry.js} +1 -1
  465. package/dist/ionic/p-c76cc21d.entry.js +4 -0
  466. package/dist/ionic/{p-b0a7585c.entry.js → p-ca31010f.entry.js} +1 -1
  467. package/dist/ionic/p-cbf245b5.entry.js +4 -0
  468. package/dist/ionic/p-d68b665a.entry.js +4 -0
  469. package/dist/ionic/{p-9575b654.entry.js → p-e663bc5a.entry.js} +1 -1
  470. package/dist/ionic/p-efe86ed9.entry.js +4 -0
  471. package/dist/ionic/{p-ac4eb91d.entry.js → p-f5dfb9a3.entry.js} +1 -1
  472. package/dist/ionic/{p-DbQ5QkTP.js → p-gbVXD275.js} +1 -1
  473. package/dist/ionic/p-hNN3VvaC.js +4 -0
  474. package/dist/types/components/datetime/datetime.d.ts +9 -0
  475. package/dist/types/components/header/header.utils.d.ts +2 -1
  476. package/dist/types/components/modal/modal-interface.d.ts +5 -1
  477. package/dist/types/components/modal/modal.d.ts +5 -0
  478. package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
  479. package/dist/types/components/refresher/refresher.d.ts +16 -3
  480. package/dist/types/components.d.ts +927 -189
  481. package/dist/types/interface.d.ts +1 -1
  482. package/dist/types/stencil-public-runtime.d.ts +126 -14
  483. package/dist/types/utils/gesture/listener.d.ts +2 -1
  484. package/hydrate/index.d.ts +12 -0
  485. package/hydrate/index.js +5202 -1327
  486. package/hydrate/index.mjs +5201 -1328
  487. package/package.json +2 -2
  488. package/dist/cjs/app-globals-Ciccnk9_.js +0 -10
  489. package/dist/esm/app-globals-BDSf8fOA.js +0 -8
  490. package/dist/ionic/p-012212e4.entry.js +0 -4
  491. package/dist/ionic/p-074839fc.entry.js +0 -4
  492. package/dist/ionic/p-0dfa5a37.entry.js +0 -4
  493. package/dist/ionic/p-0f418a37.entry.js +0 -4
  494. package/dist/ionic/p-11518b31.entry.js +0 -4
  495. package/dist/ionic/p-1838bed5.entry.js +0 -4
  496. package/dist/ionic/p-29721c43.entry.js +0 -4
  497. package/dist/ionic/p-31f7095f.entry.js +0 -4
  498. package/dist/ionic/p-34642fa1.entry.js +0 -4
  499. package/dist/ionic/p-35696017.entry.js +0 -4
  500. package/dist/ionic/p-40c261a3.entry.js +0 -4
  501. package/dist/ionic/p-4e41ea20.entry.js +0 -4
  502. package/dist/ionic/p-6241ce47.entry.js +0 -4
  503. package/dist/ionic/p-639dd543.entry.js +0 -4
  504. package/dist/ionic/p-6444c606.entry.js +0 -4
  505. package/dist/ionic/p-6d070558.entry.js +0 -4
  506. package/dist/ionic/p-7268efa5.entry.js +0 -4
  507. package/dist/ionic/p-7babec72.entry.js +0 -4
  508. package/dist/ionic/p-BKc55Xev.js +0 -4
  509. package/dist/ionic/p-Bmgaetn_.js +0 -4
  510. package/dist/ionic/p-C8IsBmNU.js +0 -5
  511. package/dist/ionic/p-CJxh_yLS.js +0 -4
  512. package/dist/ionic/p-DUt5fQmA.js +0 -4
  513. package/dist/ionic/p-DZRJwG4S.js +0 -4
  514. package/dist/ionic/p-a127bee2.entry.js +0 -4
  515. package/dist/ionic/p-b3d44509.entry.js +0 -4
  516. package/dist/ionic/p-cc45bcbc.entry.js +0 -4
  517. package/dist/ionic/p-d0a2a1ab.entry.js +0 -4
  518. package/dist/ionic/p-d3014190.entry.js +0 -4
  519. package/dist/ionic/p-db82892c.entry.js +0 -4
  520. package/dist/ionic/p-e1d1f3cc.entry.js +0 -4
@@ -1,598 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
- import { d as doc } from './index9.js';
6
- import { r as raf, g as getElementRoot } from './helpers.js';
7
- import { b as hapticSelectionStart, a as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic.js';
8
- import { a as isPlatform, b as getIonMode } from './ionic-global.js';
9
- import { c as createColorClasses } from './theme.js';
10
-
11
- 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)}}";
12
-
13
- const PickerColumn = /*@__PURE__*/ proxyCustomElement(class PickerColumn extends HTMLElement {
14
- constructor(registerHost) {
15
- super();
16
- if (registerHost !== false) {
17
- this.__registerHost();
18
- }
19
- this.__attachShadow();
20
- this.ionChange = 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 = isPlatform('ios');
129
- const { el, scrollEl } = this;
130
- let timeout;
131
- let activeEl = this.activeItem;
132
- const scrollCallback = () => {
133
- 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 && 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 : 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 && 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 && 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
- 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 = 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
- };
414
- }
415
- ariaLabelChanged(newValue) {
416
- this.ariaLabel = newValue;
417
- }
418
- valueChange() {
419
- if (this.isColumnVisible) {
420
- /**
421
- * Only scroll the active item into view when the picker column
422
- * is actively visible to the user.
423
- */
424
- this.scrollActiveItemIntoView(true);
425
- }
426
- }
427
- /**
428
- * Only setup scroll listeners
429
- * when the picker is visible, otherwise
430
- * the container will have a scroll
431
- * height of 0px.
432
- */
433
- componentWillLoad() {
434
- /**
435
- * We cache parentEl in a local variable
436
- * so we don't need to keep accessing
437
- * the class variable (which comes with
438
- * a small performance hit)
439
- */
440
- const parentEl = (this.parentEl = this.el.closest('ion-picker'));
441
- const visibleCallback = (entries) => {
442
- /**
443
- * Browsers will sometimes group multiple IO events into a single callback.
444
- * As a result, we want to grab the last/most recent event in case there are multiple events.
445
- */
446
- const ev = entries[entries.length - 1];
447
- if (ev.isIntersecting) {
448
- const { activeItem, el } = this;
449
- this.isColumnVisible = true;
450
- /**
451
- * Because this initial call to scrollActiveItemIntoView has to fire before
452
- * the scroll listener is set up, we need to manage the active class manually.
453
- */
454
- const oldActive = getElementRoot(el).querySelector(`.${PICKER_ITEM_ACTIVE_CLASS}`);
455
- if (oldActive) {
456
- this.setPickerItemActiveState(oldActive, false);
457
- }
458
- this.scrollActiveItemIntoView();
459
- if (activeItem) {
460
- this.setPickerItemActiveState(activeItem, true);
461
- }
462
- this.initializeScrollListener();
463
- }
464
- else {
465
- this.isColumnVisible = false;
466
- if (this.destroyScrollListener) {
467
- this.destroyScrollListener();
468
- this.destroyScrollListener = undefined;
469
- }
470
- }
471
- };
472
- /**
473
- * Set the root to be the parent picker element
474
- * This causes the IO callback
475
- * to be fired in WebKit as soon as the element
476
- * is visible. If we used the default root value
477
- * then WebKit would only fire the IO callback
478
- * after any animations (such as a modal transition)
479
- * finished, and there would potentially be a flicker.
480
- */
481
- new IntersectionObserver(visibleCallback, { threshold: 0.001, root: this.parentEl }).observe(this.el);
482
- if (parentEl !== null) {
483
- // TODO(FW-2832): type
484
- parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
485
- }
486
- }
487
- componentDidRender() {
488
- const { el, activeItem, isColumnVisible, value } = this;
489
- if (isColumnVisible && !activeItem) {
490
- const firstOption = el.querySelector('ion-picker-column-option');
491
- /**
492
- * If the picker column does not have an active item and the current value
493
- * does not match the first item in the picker column, that means
494
- * the value is out of bounds. In this case, we assign the value to the
495
- * first item to match the scroll position of the column.
496
- *
497
- */
498
- if (firstOption !== null && firstOption.value !== value) {
499
- this.setValue(firstOption.value);
500
- }
501
- }
502
- }
503
- /** @internal */
504
- async scrollActiveItemIntoView(smooth = false) {
505
- const activeEl = this.activeItem;
506
- if (activeEl) {
507
- this.centerPickerItemInView(activeEl, smooth, false);
508
- }
509
- }
510
- /**
511
- * Sets the value prop and fires the ionChange event.
512
- * This is used when we need to fire ionChange from
513
- * user-generated events that cannot be caught with normal
514
- * input/change event listeners.
515
- * @internal
516
- */
517
- async setValue(value) {
518
- if (this.disabled === true || this.value === value) {
519
- return;
520
- }
521
- this.value = value;
522
- this.ionChange.emit({ value });
523
- }
524
- /**
525
- * Sets focus on the scrollable container within the picker column.
526
- * Use this method instead of the global `pickerColumn.focus()`.
527
- */
528
- async setFocus() {
529
- if (this.assistiveFocusable) {
530
- this.assistiveFocusable.focus();
531
- }
532
- }
533
- connectedCallback() {
534
- var _a;
535
- this.ariaLabel = (_a = this.el.getAttribute('aria-label')) !== null && _a !== void 0 ? _a : 'Select a value';
536
- }
537
- get activeItem() {
538
- const { value } = this;
539
- const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
540
- return options.find((option) => {
541
- /**
542
- * If the whole picker column is disabled, the current value should appear active
543
- * If the current value item is specifically disabled, it should not appear active
544
- */
545
- if (!this.disabled && option.disabled) {
546
- return false;
547
- }
548
- return option.value === value;
549
- });
550
- }
551
- render() {
552
- const { color, disabled, isActive, numericInput } = this;
553
- const mode = getIonMode(this);
554
- return (h(Host, { key: 'db903fd415f8a2d91994dececca481c1af8ba6a9', class: createColorClasses(color, {
555
- [mode]: true,
556
- ['picker-column-active']: isActive,
557
- ['picker-column-numeric-input']: numericInput,
558
- ['picker-column-disabled']: disabled,
559
- }) }, h("slot", { key: '02ce9e1dd7df91afcd50b06416552bcffb5dec98', name: "prefix" }), h("div", { key: '6dfd7d2429bec19244a6b1afb4448121963a031b', class: "picker-opts", ref: (el) => {
560
- this.scrollEl = el;
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) }, h("div", { key: 'e30ce0b9cefbfe4d4441fa33acf595da31855c3f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '8be2bd293c12c6ba720d9b31d0d561a96f42e97d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '8afdcddddabbf646fbb55cb0ba4448309a2c1dd9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '6aa0dacc34d6848575ad5b122b9046982308ca43' }), h("div", { key: '92ec8a357414c1b779b11d1dd18fb87a7ee63982', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'b89457cb74b5907c25594ff6720ac54ca537e933', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '5bbc92e6bc24de08e39873bf08c5b668373ac0f8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'd7bf2b519214f0f3576a4ca79844ad97827dd97f', name: "suffix" })));
562
- }
563
- get el() { return this; }
564
- static get watchers() { return {
565
- "aria-label": ["ariaLabelChanged"],
566
- "value": ["valueChange"]
567
- }; }
568
- static get style() { return pickerColumnCss; }
569
- }, [257, "ion-picker-column", {
570
- "disabled": [4],
571
- "value": [1032],
572
- "color": [513],
573
- "numericInput": [4, "numeric-input"],
574
- "ariaLabel": [32],
575
- "isActive": [32],
576
- "scrollActiveItemIntoView": [64],
577
- "setValue": [64],
578
- "setFocus": [64]
579
- }, undefined, {
580
- "aria-label": ["ariaLabelChanged"],
581
- "value": ["valueChange"]
582
- }]);
583
- const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
584
- function defineCustomElement() {
585
- if (typeof customElements === "undefined") {
586
- return;
587
- }
588
- const components = ["ion-picker-column"];
589
- components.forEach(tagName => { switch (tagName) {
590
- case "ion-picker-column":
591
- if (!customElements.get(tagName)) {
592
- customElements.define(tagName, PickerColumn);
593
- }
594
- break;
595
- } });
596
- }
597
-
598
- export { PickerColumn as P, defineCustomElement as d };
4
+ import{proxyCustomElement as i,HTMLElement as t,createEvent as e,h as s,Host as n,transformTag as o}from"@stencil/core/internal/client";import{d as a}from"./index9.js";import{r as l,g as r}from"./helpers.js";import{b as c,a as d,h}from"./haptic.js";import{a as p,b as u}from"./ionic-global.js";import{c as m}from"./theme.js";const b=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.__attachShadow(),this.ionChange=e(this,"ionChange",7),this.isScrolling=!1,this.isColumnVisible=!1,this.canExitInputMode=!0,this.updateValueTextOnScroll=!1,this.ariaLabel=null,this.isActive=!1,this.disabled=!1,this.color="primary",this.numericInput=!1,this.centerPickerItemInView=(i,t=!0,e=!0)=>{const{isColumnVisible:s,scrollEl:n}=this;if(s&&n){const s=i.offsetTop-3*i.clientHeight+i.clientHeight/2;n.scrollTop!==s&&(this.canExitInputMode=e,this.updateValueTextOnScroll=!1,n.scroll({top:s,left:0,behavior:t?"smooth":void 0}))}},this.setPickerItemActiveState=(i,t)=>{t?i.classList.add(f):i.classList.remove(f)},this.inputModeChange=i=>{if(!this.numericInput)return;const{useInputMode:t,inputModeColumn:e}=i.detail;this.setInputModeActive(!(!t||void 0!==e&&e!==this.el))},this.setInputModeActive=i=>{this.isScrolling?this.scrollEndCallback=()=>{this.isActive=i}:this.isActive=i},this.initializeScrollListener=()=>{const i=p("ios"),{el:t,scrollEl:e}=this;let s,n=this.activeItem;const o=()=>{l((()=>{var o;if(!e)return;s&&(clearTimeout(s),s=void 0),this.isScrolling||(i&&c(),this.isScrolling=!0);const l=e.getBoundingClientRect(),r=l.x+l.width/2,p=l.y+l.height/2,u=t.getRootNode(),m=u instanceof ShadowRoot?u:a;if(void 0===m)return;let b=m.elementsFromPoint(r,p).find((i=>"ION-PICKER-COLUMN-OPTION"===i.tagName));if(void 0===b){const i=m.elementFromPoint(r,p);"ION-PICKER-COLUMN-OPTION"===(null==i?void 0:i.tagName)&&(b=i)}void 0!==n&&this.setPickerItemActiveState(n,!1),void 0===b||b.disabled||(b!==n&&(i&&d(),this.canExitInputMode&&this.exitInputMode()),n=b,this.setPickerItemActiveState(b,!0),this.updateValueTextOnScroll&&(null===(o=this.assistiveFocusable)||void 0===o||o.setAttribute("aria-valuetext",this.getOptionValueText(b))),s=setTimeout((()=>{this.isScrolling=!1,this.updateValueTextOnScroll=!0,i&&h();const{scrollEndCallback:t}=this;t&&(t(),this.scrollEndCallback=void 0),this.canExitInputMode=!0,this.setValue(b.value)}),250))}))};l((()=>{e&&(e.addEventListener("scroll",o),this.destroyScrollListener=()=>{e.removeEventListener("scroll",o)})}))},this.exitInputMode=()=>{const{parentEl:i}=this;null!=i&&(i.exitInputMode(),this.el.classList.remove("picker-column-active"))},this.findNextOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.nextElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.nextElementSibling}return e},this.findPreviousOption=(i=1)=>{const{activeItem:t}=this;if(!t)return null;let e=t,s=t.previousElementSibling;for(;null!=s;){if(i>0&&i--,"ION-PICKER-COLUMN-OPTION"===s.tagName&&!s.disabled&&0===i)return s;e=s,s=s.previousElementSibling}return e},this.onKeyDown=i=>{const t=p("mobile");let e=null;switch(i.key){case"ArrowDown":e=t?this.findPreviousOption():this.findNextOption();break;case"ArrowUp":e=t?this.findNextOption():this.findPreviousOption();break;case"PageUp":e=t?this.findNextOption(5):this.findPreviousOption(5);break;case"PageDown":e=t?this.findPreviousOption(5):this.findNextOption(5);break;case"Home":e=this.el.querySelector("ion-picker-column-option:first-of-type");break;case"End":e=this.el.querySelector("ion-picker-column-option:last-of-type")}null!==e&&(this.setValue(e.value),i.preventDefault())},this.getOptionValueText=i=>{var t;return i?null!==(t=i.getAttribute("aria-label"))&&void 0!==t?t:i.innerText:""}}ariaLabelChanged(i){this.ariaLabel=i}valueChange(){this.isColumnVisible&&this.scrollActiveItemIntoView(!0)}componentWillLoad(){const i=this.parentEl=this.el.closest("ion-picker");new IntersectionObserver((i=>{if(i[i.length-1].isIntersecting){const{activeItem:i,el:t}=this;this.isColumnVisible=!0;const e=r(t).querySelector(`.${f}`);e&&this.setPickerItemActiveState(e,!1),this.scrollActiveItemIntoView(),i&&this.setPickerItemActiveState(i,!0),this.initializeScrollListener()}else this.isColumnVisible=!1,this.destroyScrollListener&&(this.destroyScrollListener(),this.destroyScrollListener=void 0)}),{threshold:.001,root:this.parentEl}).observe(this.el),null!==i&&i.addEventListener("ionInputModeChange",(i=>this.inputModeChange(i)))}componentDidRender(){const{el:i,activeItem:t,isColumnVisible:e,value:s}=this;if(e&&!t){const t=i.querySelector("ion-picker-column-option");null!==t&&t.value!==s&&this.setValue(t.value)}}async scrollActiveItemIntoView(i=!1){const t=this.activeItem;t&&this.centerPickerItemInView(t,i,!1)}async setValue(i){!0!==this.disabled&&this.value!==i&&(this.value=i,this.ionChange.emit({value:i}))}async setFocus(){this.assistiveFocusable&&this.assistiveFocusable.focus()}connectedCallback(){var i;this.ariaLabel=null!==(i=this.el.getAttribute("aria-label"))&&void 0!==i?i:"Select a value"}get activeItem(){const{value:i}=this;return Array.from(this.el.querySelectorAll("ion-picker-column-option")).find((t=>!(!this.disabled&&t.disabled)&&t.value===i))}render(){const{color:i,disabled:t,isActive:e,numericInput:o}=this,a=u(this);return s(n,{key:"db903fd415f8a2d91994dececca481c1af8ba6a9",class:m(i,{[a]:!0,"picker-column-active":e,"picker-column-numeric-input":o,"picker-column-disabled":t})},s("slot",{key:"02ce9e1dd7df91afcd50b06416552bcffb5dec98",name:"prefix"}),s("div",{key:"6dfd7d2429bec19244a6b1afb4448121963a031b",class:"picker-opts",ref:i=>{this.scrollEl=i},role:"slider",tabindex:this.disabled?void 0:0,"aria-label":this.ariaLabel,"aria-valuemin":0,"aria-valuemax":0,"aria-valuenow":0,"aria-valuetext":this.getOptionValueText(this.activeItem),"aria-orientation":"vertical",onKeyDown:i=>this.onKeyDown(i)},s("div",{key:"e30ce0b9cefbfe4d4441fa33acf595da31855c3f",class:"picker-item-empty","aria-hidden":"true"}," "),s("div",{key:"8be2bd293c12c6ba720d9b31d0d561a96f42e97d",class:"picker-item-empty","aria-hidden":"true"}," "),s("div",{key:"8afdcddddabbf646fbb55cb0ba4448309a2c1dd9",class:"picker-item-empty","aria-hidden":"true"}," "),s("slot",{key:"6aa0dacc34d6848575ad5b122b9046982308ca43"}),s("div",{key:"92ec8a357414c1b779b11d1dd18fb87a7ee63982",class:"picker-item-empty","aria-hidden":"true"}," "),s("div",{key:"b89457cb74b5907c25594ff6720ac54ca537e933",class:"picker-item-empty","aria-hidden":"true"}," "),s("div",{key:"5bbc92e6bc24de08e39873bf08c5b668373ac0f8",class:"picker-item-empty","aria-hidden":"true"}," ")),s("slot",{key:"d7bf2b519214f0f3576a4ca79844ad97827dd97f",name:"suffix"}))}get el(){return this}static get watchers(){return{"aria-label":[{ariaLabelChanged:0}],value:[{valueChange:0}]}}static get style(){return":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)}}"}},[257,"ion-picker-column",{disabled:[4],value:[1032],color:[513],numericInput:[4,"numeric-input"],ariaLabel:[32],isActive:[32],scrollActiveItemIntoView:[64],setValue:[64],setFocus:[64]},void 0,{"aria-label":[{ariaLabelChanged:0}],value:[{valueChange:0}]}]),f="option-active";function v(){"undefined"!=typeof customElements&&["ion-picker-column"].forEach((i=>{"ion-picker-column"===i&&(customElements.get(o(i))||customElements.define(o(i),b))}))}export{b as P,v as d}