@ionic/core 7.6.2-dev.11702957417.1622fcc0 → 7.6.2-dev.11704390532.1202188d

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 (507) hide show
  1. package/components/backdrop.js +0 -12
  2. package/components/button.js +2 -2
  3. package/components/data.js +1 -1
  4. package/components/gesture-controller.js +1 -1
  5. package/components/ion-content.js +1 -1
  6. package/components/ion-datetime.js +40 -64
  7. package/components/ion-picker-column-option.d.ts +11 -0
  8. package/components/ion-picker-column-option.js +9 -0
  9. package/components/ion-picker-column.js +2 -2
  10. package/components/ion-picker-legacy-column.d.ts +11 -0
  11. package/components/ion-picker-legacy-column.js +9 -0
  12. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  13. package/components/ion-picker-legacy.js +309 -0
  14. package/components/ion-picker.js +1 -309
  15. package/components/overlays.js +11 -4
  16. package/components/picker-column-option.js +122 -0
  17. package/components/picker-column.js +351 -322
  18. package/components/picker-column2.js +379 -0
  19. package/components/{picker-internal.js → picker.js} +29 -22
  20. package/dist/cjs/{app-globals-cd7be47d.js → app-globals-7def22c8.js} +1 -1
  21. package/dist/cjs/{button-active-21b0334e.js → button-active-5bf1cac0.js} +2 -2
  22. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  23. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  24. package/dist/cjs/{index-862c03dc.js → index-17ab7794.js} +3 -3
  25. package/dist/cjs/{index-4e68b270.js → index-3b012034.js} +1 -1
  26. package/dist/cjs/{index-1699be56.js → index-50dcfe2f.js} +16 -24
  27. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  28. package/dist/cjs/index.cjs.js +9 -9
  29. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  30. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  31. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  32. package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
  33. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -14
  36. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  38. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  43. package/dist/cjs/ion-datetime_3.cjs.entry.js +39 -59
  44. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  48. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-loading.cjs.entry.js +4 -3
  51. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  52. package/dist/cjs/ion-modal.cjs.entry.js +6 -6
  53. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  55. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +106 -89
  56. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +27 -20
  57. package/dist/cjs/ion-popover.cjs.entry.js +5 -4
  58. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  61. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  62. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  63. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  66. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  67. package/dist/cjs/ion-select_3.cjs.entry.js +5 -4
  68. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  75. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  76. package/dist/cjs/{ionic-global-592bef9e.js → ionic-global-a4edbf03.js} +1 -1
  77. package/dist/cjs/ionic.cjs.js +5 -5
  78. package/dist/cjs/{ios.transition-1ac35be5.js → ios.transition-b5353f3e.js} +2 -2
  79. package/dist/cjs/loader.cjs.js +4 -4
  80. package/dist/cjs/{md.transition-df2947e8.js → md.transition-67157dd9.js} +2 -2
  81. package/dist/cjs/{overlays-e10edfa0.js → overlays-7773cbe1.js} +12 -5
  82. package/dist/cjs/{status-tap-23a3173f.js → status-tap-b5d77c08.js} +1 -1
  83. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  84. package/dist/collection/collection-manifest.json +8 -7
  85. package/dist/collection/components/accordion-group/accordion-group.js +4 -6
  86. package/dist/collection/components/action-sheet/action-sheet.js +10 -6
  87. package/dist/collection/components/alert/alert.js +10 -6
  88. package/dist/collection/components/app/app.js +2 -3
  89. package/dist/collection/components/backdrop/backdrop.js +0 -12
  90. package/dist/collection/components/button/button.ios.css +1 -1
  91. package/dist/collection/components/button/button.md.css +1 -1
  92. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  93. package/dist/collection/components/content/content.css +0 -4
  94. package/dist/collection/components/content/content.js +40 -24
  95. package/dist/collection/components/datetime/datetime.ios.css +91 -38
  96. package/dist/collection/components/datetime/datetime.js +30 -45
  97. package/dist/collection/components/datetime/datetime.md.css +96 -38
  98. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  99. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  100. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  101. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  102. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  103. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  104. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  105. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  106. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  107. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  108. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  109. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  110. package/dist/collection/components/datetime/utils/data.js +1 -1
  111. package/dist/collection/components/icon/test/dir/heart-broken.svg +0 -0
  112. package/dist/collection/components/item/test/icons/heart-broken.svg +0 -0
  113. package/dist/collection/components/item-sliding/item-sliding.js +5 -3
  114. package/dist/collection/components/loading/loading.js +10 -6
  115. package/dist/collection/components/menu/menu.js +10 -15
  116. package/dist/collection/components/modal/modal.js +12 -9
  117. package/dist/collection/components/nav/nav.js +190 -114
  118. package/dist/collection/components/picker/picker.ios.css +112 -211
  119. package/dist/collection/components/picker/picker.js +472 -738
  120. package/dist/collection/components/picker/picker.md.css +108 -198
  121. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  122. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  123. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  124. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  125. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  126. package/dist/collection/components/picker-column/picker-column.js +497 -335
  127. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  128. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  129. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  130. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  131. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  132. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  133. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  134. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  135. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  136. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  137. package/dist/collection/components/picker-legacy/picker.js +817 -0
  138. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  139. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  140. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  141. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  142. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  143. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  144. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  145. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  146. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  147. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  148. package/dist/collection/components/popover/popover.js +21 -18
  149. package/dist/collection/components/radio/radio.js +4 -6
  150. package/dist/collection/components/refresher/refresher.js +0 -3
  151. package/dist/collection/components/reorder-group/reorder-group.js +5 -3
  152. package/dist/collection/components/ripple-effect/ripple-effect.js +10 -6
  153. package/dist/collection/components/router/router.js +14 -12
  154. package/dist/collection/components/router-outlet/router-outlet.js +14 -21
  155. package/dist/collection/components/select/select.js +5 -3
  156. package/dist/collection/components/tabs/tabs.js +12 -9
  157. package/dist/collection/components/toast/toast.js +10 -6
  158. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  159. package/dist/collection/utils/overlays.js +11 -4
  160. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  161. package/dist/docs.d.ts +21 -1
  162. package/dist/docs.json +1050 -812
  163. package/dist/esm/{app-globals-736d53f6.js → app-globals-8c62bec2.js} +1 -1
  164. package/dist/esm/{button-active-7836d6bf.js → button-active-48379dd2.js} +2 -2
  165. package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
  166. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  167. package/dist/esm/{index-c4ebf628.js → index-1193f005.js} +1 -1
  168. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  169. package/dist/esm/{index-6b0e432e.js → index-4743453d.js} +3 -3
  170. package/dist/esm/{index-78d39194.js → index-b7d870cf.js} +16 -24
  171. package/dist/esm/index.js +9 -9
  172. package/dist/esm/ion-accordion_2.entry.js +3 -3
  173. package/dist/esm/ion-action-sheet.entry.js +6 -6
  174. package/dist/esm/ion-alert.entry.js +6 -6
  175. package/dist/esm/ion-app_8.entry.js +6 -6
  176. package/dist/esm/ion-avatar_3.entry.js +2 -2
  177. package/dist/esm/ion-back-button.entry.js +3 -3
  178. package/dist/esm/ion-backdrop.entry.js +2 -14
  179. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  180. package/dist/esm/ion-button_2.entry.js +4 -4
  181. package/dist/esm/ion-card_5.entry.js +2 -2
  182. package/dist/esm/ion-checkbox.entry.js +2 -2
  183. package/dist/esm/ion-chip.entry.js +2 -2
  184. package/dist/esm/ion-col_3.entry.js +2 -2
  185. package/dist/esm/ion-datetime-button.entry.js +3 -3
  186. package/dist/esm/ion-datetime_3.entry.js +38 -58
  187. package/dist/esm/ion-fab_3.entry.js +3 -3
  188. package/dist/esm/ion-img.entry.js +2 -2
  189. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  190. package/dist/esm/ion-input.entry.js +3 -3
  191. package/dist/esm/ion-item-option_3.entry.js +3 -3
  192. package/dist/esm/ion-item_8.entry.js +3 -3
  193. package/dist/esm/ion-loading.entry.js +4 -3
  194. package/dist/esm/ion-menu_3.entry.js +7 -7
  195. package/dist/esm/ion-modal.entry.js +6 -6
  196. package/dist/esm/ion-nav_2.entry.js +4 -4
  197. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  198. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +106 -89
  199. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +27 -20
  200. package/dist/esm/ion-popover.entry.js +5 -4
  201. package/dist/esm/ion-progress-bar.entry.js +2 -2
  202. package/dist/esm/ion-radio_2.entry.js +2 -2
  203. package/dist/esm/ion-range.entry.js +3 -3
  204. package/dist/esm/ion-refresher_2.entry.js +6 -6
  205. package/dist/esm/ion-reorder_2.entry.js +4 -4
  206. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  207. package/dist/esm/ion-route_4.entry.js +2 -2
  208. package/dist/esm/ion-searchbar.entry.js +3 -3
  209. package/dist/esm/ion-segment_2.entry.js +3 -3
  210. package/dist/esm/ion-select_3.entry.js +5 -4
  211. package/dist/esm/ion-spinner.entry.js +2 -2
  212. package/dist/esm/ion-split-pane.entry.js +2 -2
  213. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  214. package/dist/esm/ion-tab_2.entry.js +1 -1
  215. package/dist/esm/ion-text.entry.js +2 -2
  216. package/dist/esm/ion-textarea.entry.js +2 -2
  217. package/dist/esm/ion-toast.entry.js +5 -5
  218. package/dist/esm/ion-toggle.entry.js +4 -4
  219. package/dist/esm/{ionic-global-6270e632.js → ionic-global-1f99b929.js} +1 -1
  220. package/dist/esm/ionic.js +6 -6
  221. package/dist/esm/{ios.transition-cfb6d320.js → ios.transition-3376ccb2.js} +2 -2
  222. package/dist/esm/loader.js +5 -5
  223. package/dist/esm/{md.transition-77e73830.js → md.transition-f992779f.js} +2 -2
  224. package/dist/esm/{overlays-55cf1508.js → overlays-94dac1cb.js} +12 -5
  225. package/dist/esm/polyfills/core-js.js +0 -0
  226. package/dist/esm/polyfills/dom.js +0 -0
  227. package/dist/esm/polyfills/es5-html-element.js +0 -0
  228. package/dist/esm/polyfills/index.js +0 -0
  229. package/dist/esm/polyfills/system.js +0 -0
  230. package/dist/esm/{status-tap-92380b33.js → status-tap-16fd8f3d.js} +1 -1
  231. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  232. package/dist/esm-es5/app-globals-8c62bec2.js +4 -0
  233. package/dist/esm-es5/{button-active-7836d6bf.js → button-active-48379dd2.js} +1 -1
  234. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  235. package/dist/esm-es5/{index-c4ebf628.js → index-1193f005.js} +1 -1
  236. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  237. package/dist/esm-es5/{index-6b0e432e.js → index-4743453d.js} +1 -1
  238. package/dist/esm-es5/index-b7d870cf.js +5 -0
  239. package/dist/esm-es5/index.js +1 -1
  240. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  241. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  242. package/dist/esm-es5/ion-alert.entry.js +1 -1
  243. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  244. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  245. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  246. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  247. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  248. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  249. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  250. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  251. package/dist/esm-es5/ion-chip.entry.js +1 -1
  252. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  253. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  254. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  255. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  256. package/dist/esm-es5/ion-img.entry.js +1 -1
  257. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  258. package/dist/esm-es5/ion-input.entry.js +1 -1
  259. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  260. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  261. package/dist/esm-es5/ion-loading.entry.js +1 -1
  262. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  263. package/dist/esm-es5/ion-modal.entry.js +1 -1
  264. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  265. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  266. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  267. package/dist/esm-es5/ion-picker.entry.js +4 -0
  268. package/dist/esm-es5/ion-popover.entry.js +1 -1
  269. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  270. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  271. package/dist/esm-es5/ion-range.entry.js +1 -1
  272. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  273. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  274. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  275. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  276. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  277. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  278. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  279. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  280. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  281. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  282. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  283. package/dist/esm-es5/ion-text.entry.js +1 -1
  284. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  285. package/dist/esm-es5/ion-toast.entry.js +1 -1
  286. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  287. package/dist/esm-es5/{ionic-global-6270e632.js → ionic-global-1f99b929.js} +1 -1
  288. package/dist/esm-es5/ionic.js +1 -1
  289. package/dist/esm-es5/{ios.transition-cfb6d320.js → ios.transition-3376ccb2.js} +1 -1
  290. package/dist/esm-es5/loader.js +1 -1
  291. package/dist/esm-es5/md.transition-f992779f.js +4 -0
  292. package/dist/esm-es5/overlays-94dac1cb.js +4 -0
  293. package/dist/esm-es5/{status-tap-92380b33.js → status-tap-16fd8f3d.js} +1 -1
  294. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  295. package/dist/html.html-data.json +152 -13
  296. package/dist/ionic/index.esm.js +1 -1
  297. package/dist/ionic/ionic.esm.js +1 -1
  298. package/dist/ionic/ionic.js +1 -1
  299. package/dist/ionic/{p-70dd9d79.js → p-04377cfa.js} +1 -1
  300. package/dist/ionic/{p-f7cb002f.system.entry.js → p-043aa6cc.system.entry.js} +1 -1
  301. package/dist/ionic/{p-394865a5.js → p-0509fd34.js} +1 -1
  302. package/dist/ionic/{p-8345c94e.entry.js → p-0550f802.entry.js} +1 -1
  303. package/dist/ionic/{p-3ef606fa.system.js → p-0aa78a8d.system.js} +1 -1
  304. package/dist/ionic/{p-a692f502.entry.js → p-0cc80201.entry.js} +1 -1
  305. package/dist/ionic/{p-149c8c11.system.entry.js → p-0dfa4ab4.system.entry.js} +1 -1
  306. package/dist/ionic/{p-b710b39c.system.entry.js → p-0e908476.system.entry.js} +1 -1
  307. package/dist/ionic/{p-61cdea9d.system.entry.js → p-0ebc87b7.system.entry.js} +1 -1
  308. package/dist/ionic/{p-e5a6f367.entry.js → p-10339dcc.entry.js} +1 -1
  309. package/dist/ionic/{p-aa4e59fb.system.entry.js → p-11bf2ad0.system.entry.js} +1 -1
  310. package/dist/ionic/{p-6e58bc9b.system.js → p-11c55ac8.system.js} +1 -1
  311. package/dist/ionic/{p-26af79a8.entry.js → p-13d4dfe7.entry.js} +1 -1
  312. package/dist/ionic/{p-c491c7ce.system.js → p-1501b945.system.js} +1 -1
  313. package/dist/ionic/{p-ef2445a2.system.entry.js → p-19c379da.system.entry.js} +1 -1
  314. package/dist/ionic/{p-6d74d882.system.js → p-19d9ceb8.system.js} +1 -1
  315. package/dist/ionic/{p-8f1e7b4c.system.js → p-1ab2642a.system.js} +1 -1
  316. package/dist/ionic/{p-ca2ea280.entry.js → p-1b14f0f8.entry.js} +1 -1
  317. package/dist/ionic/p-1b60cc53.js +4 -0
  318. package/dist/ionic/{p-d9b88ba6.entry.js → p-20755eb0.entry.js} +1 -1
  319. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  320. package/dist/ionic/{p-93c75152.system.entry.js → p-20e0e75d.system.entry.js} +1 -1
  321. package/dist/ionic/{p-2c7ee8fe.system.entry.js → p-25312768.system.entry.js} +1 -1
  322. package/dist/ionic/{p-4b3d1d68.entry.js → p-26c4bf85.entry.js} +1 -1
  323. package/dist/ionic/p-26ff1180.entry.js +4 -0
  324. package/dist/ionic/p-290d3fe9.js +5 -0
  325. package/dist/ionic/p-2f449cdf.system.entry.js +4 -0
  326. package/dist/ionic/{p-12a41623.entry.js → p-3313c481.entry.js} +1 -1
  327. package/dist/ionic/{p-42eaba59.system.entry.js → p-332ea4d3.system.entry.js} +1 -1
  328. package/dist/ionic/p-3717e641.system.entry.js +4 -0
  329. package/dist/ionic/{p-1ccbe3ee.system.entry.js → p-38531958.system.entry.js} +1 -1
  330. package/dist/ionic/{p-ec49bd1f.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
  331. package/dist/ionic/{p-ca6fb31a.system.entry.js → p-3b434dee.system.entry.js} +1 -1
  332. package/dist/ionic/{p-ed3b7404.entry.js → p-3dfc522b.entry.js} +1 -1
  333. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  334. package/dist/ionic/{p-dbe4f2bc.system.entry.js → p-41208f54.system.entry.js} +1 -1
  335. package/dist/ionic/{p-c2e60d23.system.entry.js → p-42925096.system.entry.js} +1 -1
  336. package/dist/ionic/{p-e6327ff5.system.entry.js → p-4489dd20.system.entry.js} +1 -1
  337. package/dist/ionic/{p-f501137d.js → p-44a56556.js} +1 -1
  338. package/dist/ionic/{p-47c90ee4.entry.js → p-44dc52e5.entry.js} +1 -1
  339. package/dist/ionic/{p-322e9039.system.entry.js → p-4685218a.system.entry.js} +1 -1
  340. package/dist/ionic/{p-990912bd.system.entry.js → p-4793c14c.system.entry.js} +1 -1
  341. package/dist/ionic/{p-0a617e59.system.entry.js → p-4981ea0a.system.entry.js} +1 -1
  342. package/dist/ionic/p-51abefb7.system.js +4 -0
  343. package/dist/ionic/{p-00afbe80.entry.js → p-529b24fb.entry.js} +1 -1
  344. package/dist/ionic/{p-10f2a748.system.js → p-52cfafe9.system.js} +1 -1
  345. package/dist/ionic/{p-c66b0166.system.js → p-5ad1fe3b.system.js} +1 -1
  346. package/dist/ionic/{p-a13d22c3.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
  347. package/dist/ionic/{p-ce7ef475.entry.js → p-60959b71.entry.js} +1 -1
  348. package/dist/ionic/{p-cea29c88.entry.js → p-61e4d3ec.entry.js} +1 -1
  349. package/dist/ionic/{p-6eb35f60.entry.js → p-642ac927.entry.js} +1 -1
  350. package/dist/ionic/{p-a610605e.entry.js → p-6855f26a.entry.js} +1 -1
  351. package/dist/ionic/{p-5d5d621a.system.entry.js → p-69641343.system.entry.js} +1 -1
  352. package/dist/ionic/{p-d7da1178.system.entry.js → p-6e0539ea.system.entry.js} +1 -1
  353. package/dist/ionic/{p-3d0221e5.system.entry.js → p-6e4c7340.system.entry.js} +1 -1
  354. package/dist/ionic/p-71483cbb.entry.js +4 -0
  355. package/dist/ionic/p-75a3e35b.entry.js +4 -0
  356. package/dist/ionic/p-77d78f68.system.entry.js +4 -0
  357. package/dist/ionic/{p-d3f2db71.entry.js → p-799da666.entry.js} +1 -1
  358. package/dist/ionic/{p-c8237c3c.system.entry.js → p-7be412e8.system.entry.js} +1 -1
  359. package/dist/ionic/p-7c0d778d.system.js +4 -0
  360. package/dist/ionic/{p-c661d124.entry.js → p-7dcf795f.entry.js} +1 -1
  361. package/dist/ionic/{p-e89d7c8a.js → p-7fae5c36.js} +1 -1
  362. package/dist/ionic/{p-9b837aa0.entry.js → p-803efb5d.entry.js} +1 -1
  363. package/dist/ionic/{p-22c7b943.entry.js → p-806a9810.entry.js} +1 -1
  364. package/dist/ionic/{p-e579a727.entry.js → p-80c6c078.entry.js} +1 -1
  365. package/dist/ionic/{p-494983ab.entry.js → p-84b567a6.entry.js} +1 -1
  366. package/dist/ionic/p-8ad6d643.entry.js +4 -0
  367. package/dist/ionic/{p-2bdd791d.system.entry.js → p-8ce4e506.system.entry.js} +1 -1
  368. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  369. package/dist/ionic/p-9164a09d.entry.js +4 -0
  370. package/dist/ionic/{p-ca730236.entry.js → p-928ee57a.entry.js} +1 -1
  371. package/dist/ionic/{p-754bcac2.entry.js → p-92bfb607.entry.js} +1 -1
  372. package/dist/ionic/{p-106e9ce9.entry.js → p-92d35b6a.entry.js} +1 -1
  373. package/dist/ionic/{p-b794b87a.entry.js → p-950c05ad.entry.js} +1 -1
  374. package/dist/ionic/{p-a74e7199.system.entry.js → p-964dcdb2.system.entry.js} +1 -1
  375. package/dist/ionic/{p-a2cd14c6.js → p-97174c1e.js} +1 -1
  376. package/dist/ionic/p-98f35d98.js +4 -0
  377. package/dist/ionic/{p-4fbc0c3b.system.js → p-9a68d8ef.system.js} +1 -1
  378. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  379. package/dist/ionic/{p-28a04f26.system.js → p-9f94c72e.system.js} +1 -1
  380. package/dist/ionic/{p-de161adf.entry.js → p-9fb45814.entry.js} +1 -1
  381. package/dist/ionic/p-a06501e3.entry.js +4 -0
  382. package/dist/ionic/{p-0029c932.system.js → p-a074be82.system.js} +1 -1
  383. package/dist/ionic/p-a1bd098f.system.entry.js +4 -0
  384. package/dist/ionic/{p-b62c0f2e.entry.js → p-a3013394.entry.js} +1 -1
  385. package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
  386. package/dist/ionic/{p-f30eb152.system.js → p-a49931aa.system.js} +1 -1
  387. package/dist/ionic/p-a60a1ce5.js +4 -0
  388. package/dist/ionic/{p-336ea079.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
  389. package/dist/ionic/{p-e4d320f7.entry.js → p-ae4b7df8.entry.js} +1 -1
  390. package/dist/ionic/{p-b3931df6.entry.js → p-b2b5d761.entry.js} +1 -1
  391. package/dist/ionic/{p-82e7b12b.system.entry.js → p-b7058a0e.system.entry.js} +1 -1
  392. package/dist/ionic/{p-e3f8c30f.system.entry.js → p-b8a9e195.system.entry.js} +1 -1
  393. package/dist/ionic/{p-220ba811.entry.js → p-ba5d9e27.entry.js} +1 -1
  394. package/dist/ionic/{p-36704958.entry.js → p-bb3fd397.entry.js} +1 -1
  395. package/dist/ionic/{p-aa75cca3.entry.js → p-bec6ae40.entry.js} +1 -1
  396. package/dist/ionic/{p-909a997a.system.entry.js → p-beed2450.system.entry.js} +1 -1
  397. package/dist/ionic/{p-a0f9488c.system.entry.js → p-beeed22c.system.entry.js} +1 -1
  398. package/dist/ionic/p-c001b24f.entry.js +4 -0
  399. package/dist/ionic/{p-3dd34db9.entry.js → p-c01803db.entry.js} +1 -1
  400. package/dist/ionic/{p-532acc35.entry.js → p-c08fe2c0.entry.js} +1 -1
  401. package/dist/ionic/p-c19bf524.entry.js +4 -0
  402. package/dist/ionic/p-c6176849.system.entry.js +4 -0
  403. package/dist/ionic/{p-72ad8f87.system.entry.js → p-cb8dff22.system.entry.js} +1 -1
  404. package/dist/ionic/{p-4b6089e6.js → p-cd574dfa.js} +1 -1
  405. package/dist/ionic/p-cf350317.entry.js +4 -0
  406. package/dist/ionic/{p-7c7ffd26.entry.js → p-cf53213c.entry.js} +1 -1
  407. package/dist/ionic/{p-33a569df.system.entry.js → p-d2634efe.system.entry.js} +1 -1
  408. package/dist/ionic/{p-be650493.system.entry.js → p-d93eed83.system.entry.js} +1 -1
  409. package/dist/ionic/{p-e292e49b.system.entry.js → p-da666998.system.entry.js} +1 -1
  410. package/dist/ionic/{p-0f244e47.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
  411. package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
  412. package/dist/ionic/{p-39d6d212.system.entry.js → p-e2737fef.system.entry.js} +1 -1
  413. package/dist/ionic/p-e2903cdc.system.entry.js +4 -0
  414. package/dist/ionic/{p-26afb1cb.entry.js → p-e33d1ebc.entry.js} +1 -1
  415. package/dist/ionic/{p-478c4f2e.entry.js → p-ed8402d6.entry.js} +1 -1
  416. package/dist/ionic/{p-7fb31fb2.system.entry.js → p-f0504446.system.entry.js} +1 -1
  417. package/dist/ionic/p-f0717d98.js +4 -0
  418. package/dist/ionic/p-f0dea903.system.entry.js +4 -0
  419. package/dist/ionic/p-f60807dd.system.entry.js +4 -0
  420. package/dist/ionic/p-f8c5008f.entry.js +4 -0
  421. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +144 -0
  422. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  423. package/dist/types/components/datetime/datetime.d.ts +0 -1
  424. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  425. package/dist/types/components/menu/menu.d.ts +1 -1
  426. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  427. package/dist/types/components/picker/picker.d.ts +75 -129
  428. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  429. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  430. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  431. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  432. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  433. package/dist/types/components/refresher/refresher.d.ts +0 -3
  434. package/dist/types/components.d.ts +154 -130
  435. package/dist/types/interface.d.ts +1 -1
  436. package/dist/types/utils/config.d.ts +2 -2
  437. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  438. package/dist/types/utils/overlays.d.ts +5 -2
  439. package/dist/types/utils/test/platform.utils.d.ts +9 -9
  440. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -1
  441. package/hydrate/index.d.ts +1 -1
  442. package/hydrate/index.js +1083 -2677
  443. package/package.json +32 -34
  444. package/components/ion-picker-column-internal.d.ts +0 -11
  445. package/components/ion-picker-column-internal.js +0 -9
  446. package/components/ion-picker-internal.js +0 -9
  447. package/components/picker-column-internal.js +0 -390
  448. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  449. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  450. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  451. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  452. package/dist/esm-es5/app-globals-736d53f6.js +0 -4
  453. package/dist/esm-es5/index-78d39194.js +0 -5
  454. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  455. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  456. package/dist/esm-es5/md.transition-77e73830.js +0 -4
  457. package/dist/esm-es5/overlays-55cf1508.js +0 -4
  458. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  459. package/dist/ionic/p-026707ab.js +0 -4
  460. package/dist/ionic/p-22e959cb.entry.js +0 -4
  461. package/dist/ionic/p-2c7cce0a.entry.js +0 -4
  462. package/dist/ionic/p-35ce400e.system.js +0 -4
  463. package/dist/ionic/p-38be1c0f.system.entry.js +0 -4
  464. package/dist/ionic/p-4225fa09.js +0 -4
  465. package/dist/ionic/p-45e296d3.system.entry.js +0 -4
  466. package/dist/ionic/p-586de692.system.entry.js +0 -4
  467. package/dist/ionic/p-5eea0433.system.entry.js +0 -4
  468. package/dist/ionic/p-60a574c1.entry.js +0 -4
  469. package/dist/ionic/p-6a6477b2.js +0 -4
  470. package/dist/ionic/p-73f47fce.system.entry.js +0 -4
  471. package/dist/ionic/p-76cab6f8.js +0 -4
  472. package/dist/ionic/p-7c057cbc.entry.js +0 -4
  473. package/dist/ionic/p-7e07c38f.js +0 -5
  474. package/dist/ionic/p-86b88102.system.entry.js +0 -4
  475. package/dist/ionic/p-8ac48377.system.entry.js +0 -4
  476. package/dist/ionic/p-9e098902.entry.js +0 -4
  477. package/dist/ionic/p-a37e738b.system.js +0 -4
  478. package/dist/ionic/p-abcd194b.system.entry.js +0 -4
  479. package/dist/ionic/p-b74c1510.entry.js +0 -4
  480. package/dist/ionic/p-cd9c4ffe.system.entry.js +0 -4
  481. package/dist/ionic/p-d6f34fe9.entry.js +0 -4
  482. package/dist/ionic/p-de3aa772.entry.js +0 -4
  483. package/dist/ionic/p-ffb54fd5.entry.js +0 -4
  484. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  485. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  486. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  487. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  488. /package/dist/cjs/{index-677c4d13.js → index-09471526.js} +0 -0
  489. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  490. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  491. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  492. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  493. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  494. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  495. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  496. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  497. /package/dist/esm/{index-4d016006.js → index-c132c5f1.js} +0 -0
  498. /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
  499. /package/dist/esm-es5/{index-4d016006.js → index-c132c5f1.js} +0 -0
  500. /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
  501. /package/dist/ionic/{p-0c55ffe1.system.js → p-8050b9b9.system.js} +0 -0
  502. /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
  503. /package/dist/ionic/{p-e90d610c.js → p-ea96fa73.js} +0 -0
  504. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  505. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  506. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  507. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -0,0 +1,379 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
+ import { m as clamp } from './helpers.js';
6
+ import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic.js';
7
+ import { g as getClassMap } from './theme.js';
8
+ import { b as getIonMode } from './ionic-global.js';
9
+
10
+ const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}";
11
+
12
+ const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";
13
+
14
+ const PickerColumnCmp = /*@__PURE__*/ proxyCustomElement(class PickerColumnCmp extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ this.__registerHost();
18
+ this.ionPickerColChange = createEvent(this, "ionPickerColChange", 7);
19
+ this.optHeight = 0;
20
+ this.rotateFactor = 0;
21
+ this.scaleFactor = 1;
22
+ this.velocity = 0;
23
+ this.y = 0;
24
+ this.noAnimate = true;
25
+ // `colDidChange` is a flag that gets set when the column is changed
26
+ // dynamically. When this flag is set, the column will refresh
27
+ // after the component re-renders to incorporate the new column data.
28
+ // This is necessary because `this.refresh` queries for the option elements,
29
+ // so it needs to wait for the latest elements to be available in the DOM.
30
+ // Ex: column is created with 3 options. User updates the column data
31
+ // to have 5 options. The column will still think it only has 3 options.
32
+ this.colDidChange = false;
33
+ this.col = undefined;
34
+ }
35
+ colChanged() {
36
+ this.colDidChange = true;
37
+ }
38
+ async connectedCallback() {
39
+ let pickerRotateFactor = 0;
40
+ let pickerScaleFactor = 0.81;
41
+ const mode = getIonMode(this);
42
+ if (mode === 'ios') {
43
+ pickerRotateFactor = -0.46;
44
+ pickerScaleFactor = 1;
45
+ }
46
+ this.rotateFactor = pickerRotateFactor;
47
+ this.scaleFactor = pickerScaleFactor;
48
+ this.gesture = (await import('./index3.js')).createGesture({
49
+ el: this.el,
50
+ gestureName: 'picker-swipe',
51
+ gesturePriority: 100,
52
+ threshold: 0,
53
+ passive: false,
54
+ onStart: (ev) => this.onStart(ev),
55
+ onMove: (ev) => this.onMove(ev),
56
+ onEnd: (ev) => this.onEnd(ev),
57
+ });
58
+ this.gesture.enable();
59
+ // Options have not been initialized yet
60
+ // Animation must be disabled through the `noAnimate` flag
61
+ // Otherwise, the options will render
62
+ // at the top of the column and transition down
63
+ this.tmrId = setTimeout(() => {
64
+ this.noAnimate = false;
65
+ // After initialization, `refresh()` will be called
66
+ // At this point, animation will be enabled. The options will
67
+ // animate as they are being selected.
68
+ this.refresh(true);
69
+ }, 250);
70
+ }
71
+ componentDidLoad() {
72
+ this.onDomChange();
73
+ }
74
+ componentDidUpdate() {
75
+ // Options may have changed since last update.
76
+ if (this.colDidChange) {
77
+ // Animation must be disabled through the `onDomChange` parameter.
78
+ // Otherwise, the recently added options will render
79
+ // at the top of the column and transition down
80
+ this.onDomChange(true, false);
81
+ this.colDidChange = false;
82
+ }
83
+ }
84
+ disconnectedCallback() {
85
+ if (this.rafId !== undefined)
86
+ cancelAnimationFrame(this.rafId);
87
+ if (this.tmrId)
88
+ clearTimeout(this.tmrId);
89
+ if (this.gesture) {
90
+ this.gesture.destroy();
91
+ this.gesture = undefined;
92
+ }
93
+ }
94
+ emitColChange() {
95
+ this.ionPickerColChange.emit(this.col);
96
+ }
97
+ setSelected(selectedIndex, duration) {
98
+ // if there is a selected index, then figure out it's y position
99
+ // if there isn't a selected index, then just use the top y position
100
+ const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
101
+ this.velocity = 0;
102
+ // set what y position we're at
103
+ if (this.rafId !== undefined)
104
+ cancelAnimationFrame(this.rafId);
105
+ this.update(y, duration, true);
106
+ this.emitColChange();
107
+ }
108
+ update(y, duration, saveY) {
109
+ if (!this.optsEl) {
110
+ return;
111
+ }
112
+ // ensure we've got a good round number :)
113
+ let translateY = 0;
114
+ let translateZ = 0;
115
+ const { col, rotateFactor } = this;
116
+ const prevSelected = col.selectedIndex;
117
+ const selectedIndex = (col.selectedIndex = this.indexForY(-y));
118
+ const durationStr = duration === 0 ? '' : duration + 'ms';
119
+ const scaleStr = `scale(${this.scaleFactor})`;
120
+ const children = this.optsEl.children;
121
+ for (let i = 0; i < children.length; i++) {
122
+ const button = children[i];
123
+ const opt = col.options[i];
124
+ const optOffset = i * this.optHeight + y;
125
+ let transform = '';
126
+ if (rotateFactor !== 0) {
127
+ const rotateX = optOffset * rotateFactor;
128
+ if (Math.abs(rotateX) <= 90) {
129
+ translateY = 0;
130
+ translateZ = 90;
131
+ transform = `rotateX(${rotateX}deg) `;
132
+ }
133
+ else {
134
+ translateY = -9999;
135
+ }
136
+ }
137
+ else {
138
+ translateZ = 0;
139
+ translateY = optOffset;
140
+ }
141
+ const selected = selectedIndex === i;
142
+ transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
143
+ if (this.scaleFactor !== 1 && !selected) {
144
+ transform += scaleStr;
145
+ }
146
+ // Update transition duration
147
+ if (this.noAnimate) {
148
+ opt.duration = 0;
149
+ button.style.transitionDuration = '';
150
+ }
151
+ else if (duration !== opt.duration) {
152
+ opt.duration = duration;
153
+ button.style.transitionDuration = durationStr;
154
+ }
155
+ // Update transform
156
+ if (transform !== opt.transform) {
157
+ opt.transform = transform;
158
+ }
159
+ button.style.transform = transform;
160
+ /**
161
+ * Ensure that the select column
162
+ * item has the selected class
163
+ */
164
+ opt.selected = selected;
165
+ if (selected) {
166
+ button.classList.add(PICKER_OPT_SELECTED);
167
+ }
168
+ else {
169
+ button.classList.remove(PICKER_OPT_SELECTED);
170
+ }
171
+ }
172
+ this.col.prevSelected = prevSelected;
173
+ if (saveY) {
174
+ this.y = y;
175
+ }
176
+ if (this.lastIndex !== selectedIndex) {
177
+ // have not set a last index yet
178
+ hapticSelectionChanged();
179
+ this.lastIndex = selectedIndex;
180
+ }
181
+ }
182
+ decelerate() {
183
+ if (this.velocity !== 0) {
184
+ // still decelerating
185
+ this.velocity *= DECELERATION_FRICTION;
186
+ // do not let it go slower than a velocity of 1
187
+ this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
188
+ let y = this.y + this.velocity;
189
+ if (y > this.minY) {
190
+ // whoops, it's trying to scroll up farther than the options we have!
191
+ y = this.minY;
192
+ this.velocity = 0;
193
+ }
194
+ else if (y < this.maxY) {
195
+ // gahh, it's trying to scroll down farther than we can!
196
+ y = this.maxY;
197
+ this.velocity = 0;
198
+ }
199
+ this.update(y, 0, true);
200
+ const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
201
+ if (notLockedIn) {
202
+ // isn't locked in yet, keep decelerating until it is
203
+ this.rafId = requestAnimationFrame(() => this.decelerate());
204
+ }
205
+ else {
206
+ this.velocity = 0;
207
+ this.emitColChange();
208
+ hapticSelectionEnd();
209
+ }
210
+ }
211
+ else if (this.y % this.optHeight !== 0) {
212
+ // needs to still get locked into a position so options line up
213
+ const currentPos = Math.abs(this.y % this.optHeight);
214
+ // create a velocity in the direction it needs to scroll
215
+ this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
216
+ this.decelerate();
217
+ }
218
+ }
219
+ indexForY(y) {
220
+ return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
221
+ }
222
+ onStart(detail) {
223
+ // We have to prevent default in order to block scrolling under the picker
224
+ // but we DO NOT have to stop propagation, since we still want
225
+ // some "click" events to capture
226
+ if (detail.event.cancelable) {
227
+ detail.event.preventDefault();
228
+ }
229
+ detail.event.stopPropagation();
230
+ hapticSelectionStart();
231
+ // reset everything
232
+ if (this.rafId !== undefined)
233
+ cancelAnimationFrame(this.rafId);
234
+ const options = this.col.options;
235
+ let minY = options.length - 1;
236
+ let maxY = 0;
237
+ for (let i = 0; i < options.length; i++) {
238
+ if (!options[i].disabled) {
239
+ minY = Math.min(minY, i);
240
+ maxY = Math.max(maxY, i);
241
+ }
242
+ }
243
+ this.minY = -(minY * this.optHeight);
244
+ this.maxY = -(maxY * this.optHeight);
245
+ }
246
+ onMove(detail) {
247
+ if (detail.event.cancelable) {
248
+ detail.event.preventDefault();
249
+ }
250
+ detail.event.stopPropagation();
251
+ // update the scroll position relative to pointer start position
252
+ let y = this.y + detail.deltaY;
253
+ if (y > this.minY) {
254
+ // scrolling up higher than scroll area
255
+ y = Math.pow(y, 0.8);
256
+ this.bounceFrom = y;
257
+ }
258
+ else if (y < this.maxY) {
259
+ // scrolling down below scroll area
260
+ y += Math.pow(this.maxY - y, 0.9);
261
+ this.bounceFrom = y;
262
+ }
263
+ else {
264
+ this.bounceFrom = 0;
265
+ }
266
+ this.update(y, 0, false);
267
+ }
268
+ onEnd(detail) {
269
+ if (this.bounceFrom > 0) {
270
+ // bounce back up
271
+ this.update(this.minY, 100, true);
272
+ this.emitColChange();
273
+ return;
274
+ }
275
+ else if (this.bounceFrom < 0) {
276
+ // bounce back down
277
+ this.update(this.maxY, 100, true);
278
+ this.emitColChange();
279
+ return;
280
+ }
281
+ this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
282
+ if (this.velocity === 0 && detail.deltaY === 0) {
283
+ const opt = detail.event.target.closest('.picker-opt');
284
+ if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
285
+ this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
286
+ }
287
+ }
288
+ else {
289
+ this.y += detail.deltaY;
290
+ if (Math.abs(detail.velocityY) < 0.05) {
291
+ const isScrollingUp = detail.deltaY > 0;
292
+ const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
293
+ if (isScrollingUp && optHeightFraction > 0.5) {
294
+ this.velocity = Math.abs(this.velocity) * -1;
295
+ }
296
+ else if (!isScrollingUp && optHeightFraction <= 0.5) {
297
+ this.velocity = Math.abs(this.velocity);
298
+ }
299
+ }
300
+ this.decelerate();
301
+ }
302
+ }
303
+ refresh(forceRefresh, animated) {
304
+ var _a;
305
+ let min = this.col.options.length - 1;
306
+ let max = 0;
307
+ const options = this.col.options;
308
+ for (let i = 0; i < options.length; i++) {
309
+ if (!options[i].disabled) {
310
+ min = Math.min(min, i);
311
+ max = Math.max(max, i);
312
+ }
313
+ }
314
+ /**
315
+ * Only update selected value if column has a
316
+ * velocity of 0. If it does not, then the
317
+ * column is animating might land on
318
+ * a value different than the value at
319
+ * selectedIndex
320
+ */
321
+ if (this.velocity !== 0) {
322
+ return;
323
+ }
324
+ const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
325
+ if (this.col.prevSelected !== selectedIndex || forceRefresh) {
326
+ const y = selectedIndex * this.optHeight * -1;
327
+ const duration = animated ? TRANSITION_DURATION : 0;
328
+ this.velocity = 0;
329
+ this.update(y, duration, true);
330
+ }
331
+ }
332
+ onDomChange(forceRefresh, animated) {
333
+ const colEl = this.optsEl;
334
+ if (colEl) {
335
+ // DOM READ
336
+ // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed
337
+ this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
338
+ }
339
+ this.refresh(forceRefresh, animated);
340
+ }
341
+ render() {
342
+ const col = this.col;
343
+ const mode = getIonMode(this);
344
+ return (h(Host, { class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
345
+ 'max-width': this.col.columnWidth,
346
+ } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
347
+ }
348
+ get el() { return this; }
349
+ static get watchers() { return {
350
+ "col": ["colChanged"]
351
+ }; }
352
+ static get style() { return {
353
+ ios: pickerColumnIosCss,
354
+ md: pickerColumnMdCss
355
+ }; }
356
+ }, [32, "ion-picker-legacy-column", {
357
+ "col": [16]
358
+ }, undefined, {
359
+ "col": ["colChanged"]
360
+ }]);
361
+ const PICKER_OPT_SELECTED = 'picker-opt-selected';
362
+ const DECELERATION_FRICTION = 0.97;
363
+ const MAX_PICKER_SPEED = 90;
364
+ const TRANSITION_DURATION = 150;
365
+ function defineCustomElement() {
366
+ if (typeof customElements === "undefined") {
367
+ return;
368
+ }
369
+ const components = ["ion-picker-legacy-column"];
370
+ components.forEach(tagName => { switch (tagName) {
371
+ case "ion-picker-legacy-column":
372
+ if (!customElements.get(tagName)) {
373
+ customElements.define(tagName, PickerColumnCmp);
374
+ }
375
+ break;
376
+ } });
377
+ }
378
+
379
+ export { PickerColumnCmp as P, defineCustomElement as d };
@@ -4,11 +4,11 @@
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { g as getElementRoot } from './helpers.js';
6
6
 
7
- const pickerInternalIosCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--wheel-highlight-background, var(--ion-color-step-150, #eeeeef))}";
7
+ const pickerIosCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), to(rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%)}:host .picker-highlight{background:var(--highlight-background, var(--ion-color-step-150, #eeeeef))}";
8
8
 
9
- const pickerInternalMdCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:8px;left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--wheel-highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column-internal:first-of-type){text-align:start}:host ::slotted(ion-picker-column-internal:last-of-type){text-align:end}:host ::slotted(ion-picker-column-internal:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}";
9
+ const pickerMdCss = ":host{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:200px;direction:ltr;z-index:0}:host .picker-before,:host .picker-after{position:absolute;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:1;pointer-events:none}:host .picker-before{top:0;height:83px}@supports (inset-inline-start: 0){:host .picker-before{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-before{left:0}:host-context([dir=rtl]) .picker-before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-before{left:unset;right:unset;right:0}}}:host .picker-after{top:116px;height:84px}@supports (inset-inline-start: 0){:host .picker-after{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host .picker-after{left:0}:host-context([dir=rtl]) .picker-after{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(:dir(rtl)) .picker-after{left:unset;right:unset;right:0}}}:host .picker-highlight{border-radius:var(--highlight-border-radius, 8px);left:0;right:0;top:50%;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;position:absolute;width:calc(100% - 16px);height:34px;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:var(--highlight-background);z-index:-1}:host input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}:host ::slotted(ion-picker-column:first-of-type){text-align:start}:host ::slotted(ion-picker-column:last-of-type){text-align:end}:host ::slotted(ion-picker-column:only-child){text-align:center}:host .picker-before{background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to bottom, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}:host .picker-after{background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1)), color-stop(90%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0)));background:linear-gradient(to top, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%)}";
10
10
 
11
- const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal extends HTMLElement {
11
+ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement {
12
12
  constructor() {
13
13
  super();
14
14
  this.__registerHost();
@@ -42,7 +42,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
42
42
  this.onFocusOut = (ev) => {
43
43
  // TODO(FW-2832): type
44
44
  const { relatedTarget } = ev;
45
- if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
45
+ if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN' && relatedTarget !== this.inputEl)) {
46
46
  this.exitInputMode();
47
47
  }
48
48
  };
@@ -60,7 +60,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
60
60
  * make sure that this function only ever runs when
61
61
  * focusing a picker column.
62
62
  */
63
- if (target.tagName !== 'ION-PICKER-COLUMN-INTERNAL') {
63
+ if (target.tagName !== 'ION-PICKER-COLUMN') {
64
64
  return;
65
65
  }
66
66
  /**
@@ -127,7 +127,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
127
127
  * since we just tapped the highlight and
128
128
  * not a column.
129
129
  */
130
- if (ev.target.tagName === 'ION-PICKER-COLUMN-INTERNAL') {
130
+ if (ev.target.tagName === 'ION-PICKER-COLUMN') {
131
131
  /**
132
132
  * If user taps 2 different columns
133
133
  * then we should just switch to input mode
@@ -161,7 +161,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
161
161
  * If there is only 1 numeric input column
162
162
  * then we should skip multi column input.
163
163
  */
164
- const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
164
+ const columns = el.querySelectorAll('ion-picker-column.picker-column-numeric-input');
165
165
  const columnEl = columns.length === 1 ? ev.target : undefined;
166
166
  this.actionOnClick = () => {
167
167
  this.enterInputMode(columnEl);
@@ -195,7 +195,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
195
195
  * Only active input mode if there is at
196
196
  * least one column that accepts numeric input.
197
197
  */
198
- const hasInputColumn = el.querySelector('ion-picker-column-internal.picker-column-numeric-input');
198
+ const hasInputColumn = el.querySelector('ion-picker-column.picker-column-numeric-input');
199
199
  if (!hasInputColumn) {
200
200
  return;
201
201
  }
@@ -248,7 +248,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
248
248
  if (!inputEl || !inputModeColumn) {
249
249
  return;
250
250
  }
251
- const values = inputModeColumn.items.filter((item) => item.disabled !== true);
251
+ const options = Array.from(inputModeColumn.querySelectorAll('ion-picker-column-option')).filter((el) => el.disabled !== true);
252
252
  /**
253
253
  * If users pause for a bit, the search
254
254
  * value should be reset similar to how a
@@ -288,8 +288,13 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
288
288
  * 0+(?=[1-9]) --> Match 1 or more zeros that are followed by 1-9
289
289
  * 0+(?=0$) --> Match 1 or more zeros that must be followed by one 0 and end.
290
290
  */
291
- const findItemFromCompleteValue = values.find(({ text }) => {
292
- const parsedText = text.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
291
+ const findItemFromCompleteValue = options.find(({ textContent }) => {
292
+ /**
293
+ * Keyboard entry is currently only used inside of Datetime
294
+ * where we guarantee textContent is set.
295
+ * If we end up exposing this feature publicly we should revisit this assumption.
296
+ */
297
+ const parsedText = textContent.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
293
298
  return parsedText === inputEl.value;
294
299
  });
295
300
  if (findItemFromCompleteValue) {
@@ -314,9 +319,11 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
314
319
  */
315
320
  this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
316
321
  const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
317
- const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
318
- if (item) {
319
- colEl.setValue(item.value);
322
+ const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
323
+ return el.disabled !== true && el.textContent.replace(behavior, '') === value;
324
+ });
325
+ if (option) {
326
+ colEl.setValue(option.value);
320
327
  }
321
328
  };
322
329
  this.selectMultiColumn = () => {
@@ -324,7 +331,7 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
324
331
  if (!inputEl) {
325
332
  return;
326
333
  }
327
- const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
334
+ const numericPickers = Array.from(el.querySelectorAll('ion-picker-column')).filter((col) => col.numericInput);
328
335
  const firstColumn = numericPickers[0];
329
336
  const lastColumn = numericPickers[1];
330
337
  let value = inputEl.value;
@@ -476,24 +483,24 @@ const PickerInternal = /*@__PURE__*/ proxyCustomElement(class PickerInternal ext
476
483
  }
477
484
  get el() { return this; }
478
485
  static get style() { return {
479
- ios: pickerInternalIosCss,
480
- md: pickerInternalMdCss
486
+ ios: pickerIosCss,
487
+ md: pickerMdCss
481
488
  }; }
482
- }, [33, "ion-picker-internal", {
489
+ }, [33, "ion-picker", {
483
490
  "exitInputMode": [64]
484
491
  }, [[1, "touchstart", "preventTouchStartPropagation"]]]);
485
492
  function defineCustomElement() {
486
493
  if (typeof customElements === "undefined") {
487
494
  return;
488
495
  }
489
- const components = ["ion-picker-internal"];
496
+ const components = ["ion-picker"];
490
497
  components.forEach(tagName => { switch (tagName) {
491
- case "ion-picker-internal":
498
+ case "ion-picker":
492
499
  if (!customElements.get(tagName)) {
493
- customElements.define(tagName, PickerInternal);
500
+ customElements.define(tagName, Picker);
494
501
  }
495
502
  break;
496
503
  } });
497
504
  }
498
505
 
499
- export { PickerInternal as P, defineCustomElement as d };
506
+ export { Picker as P, defineCustomElement as d };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-592bef9e.js');
6
+ const ionicGlobal = require('./ionic-global-a4edbf03.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index$1 = require('./index-1699be56.js');
6
+ const index$1 = require('./index-50dcfe2f.js');
7
7
  const haptic = require('./haptic-b882e0bb.js');
8
- const index = require('./index-d1b59ffa.js');
8
+ const index = require('./index-ee07ed59.js');
9
9
 
10
10
  const createButtonActiveGesture = (el, isButton) => {
11
11
  let currentTouchedButton;
@@ -1444,7 +1444,7 @@ const getMonthColumnData = (locale, refParts, minParts, maxParts, monthValues, f
1444
1444
  * @param minParts The minimum bound on the date that can be returned
1445
1445
  * @param maxParts The maximum bound on the date that can be returned
1446
1446
  * @param dayValues The allowed date values
1447
- * @returns Date data to be used in ion-picker-column-internal
1447
+ * @returns Date data to be used in ion-picker-column
1448
1448
  */
1449
1449
  const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
1450
1450
  day: 'numeric',
@@ -194,4 +194,5 @@ class BlockerDelegate {
194
194
  const BACKDROP_NO_SCROLL = 'backdrop-no-scroll';
195
195
  const GESTURE_CONTROLLER = new GestureController();
196
196
 
197
+ exports.BACKDROP_NO_SCROLL = BACKDROP_NO_SCROLL;
197
198
  exports.GESTURE_CONTROLLER = GESTURE_CONTROLLER;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const index = require('./index-1699be56.js');
6
+ const index = require('./index-50dcfe2f.js');
7
7
  const helpers = require('./helpers-76bb7efb.js');
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -12,8 +12,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
12
12
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
13
13
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
14
14
 
15
- const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-1ac35be5.js'); });
16
- const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-df2947e8.js'); });
15
+ const iosTransitionAnimation = () => Promise.resolve().then(function () { return require('./ios.transition-b5353f3e.js'); });
16
+ const mdTransitionAnimation = () => Promise.resolve().then(function () { return require('./md.transition-67157dd9.js'); });
17
17
  // TODO(FW-2832): types
18
18
  const transition = (opts) => {
19
19
  return new Promise((resolve, reject) => {
@@ -7,7 +7,7 @@ const index$1 = require('./index-c8d52405.js');
7
7
  const hardwareBackButton = require('./hardware-back-button-76833cac.js');
8
8
  const index = require('./index-5915f9b3.js');
9
9
  const helpers = require('./helpers-76bb7efb.js');
10
- const ionicGlobal = require('./ionic-global-592bef9e.js');
10
+ const ionicGlobal = require('./ionic-global-a4edbf03.js');
11
11
  const animation = require('./animation-9b401d39.js');
12
12
 
13
13
  /**