@ionic/core 7.6.2-dev.11702914017.1ae72da5 → 7.6.2-dev.11702924017.193c825c

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 (315) hide show
  1. package/components/action-sheet.js +4 -4
  2. package/components/backdrop.js +0 -12
  3. package/components/button-active.js +1 -1
  4. package/components/button.js +2 -2
  5. package/components/data.js +1 -1
  6. package/components/gesture-controller.js +1 -1
  7. package/components/ion-content.js +1 -1
  8. package/components/ion-datetime.js +40 -64
  9. package/components/ion-picker-column-option.d.ts +11 -0
  10. package/components/ion-picker-column-option.js +9 -0
  11. package/components/ion-picker-column.js +2 -2
  12. package/components/ion-picker-legacy-column.d.ts +11 -0
  13. package/components/ion-picker-legacy-column.js +9 -0
  14. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  15. package/components/ion-picker-legacy.js +309 -0
  16. package/components/ion-picker.js +1 -309
  17. package/components/overlays.js +11 -4
  18. package/components/picker-column-option.js +122 -0
  19. package/components/picker-column.js +351 -322
  20. package/components/picker-column2.js +379 -0
  21. package/components/{picker-internal.js → picker.js} +29 -22
  22. package/dist/cjs/{button-active-962fe442.js → button-active-466dfc8a.js} +2 -2
  23. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  24. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  25. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  26. package/dist/cjs/index.cjs.js +3 -3
  27. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  28. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  29. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  31. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
  34. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  35. package/dist/cjs/ion-loading.cjs.entry.js +2 -1
  36. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  40. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
  41. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
  42. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  43. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-select_3.cjs.entry.js +2 -1
  48. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  50. package/dist/cjs/ionic.cjs.js +1 -1
  51. package/dist/cjs/loader.cjs.js +1 -1
  52. package/dist/cjs/{overlays-e77cc023.js → overlays-7773cbe1.js} +11 -4
  53. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  54. package/dist/collection/collection-manifest.json +7 -6
  55. package/dist/collection/components/action-sheet/action-sheet.ios.css +9 -2
  56. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  57. package/dist/collection/components/action-sheet/action-sheet.md.css +9 -2
  58. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +20 -0
  59. package/dist/collection/components/backdrop/backdrop.js +0 -12
  60. package/dist/collection/components/button/button.ios.css +1 -1
  61. package/dist/collection/components/button/button.md.css +1 -1
  62. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  63. package/dist/collection/components/content/content.css +0 -4
  64. package/dist/collection/components/datetime/datetime.ios.css +91 -38
  65. package/dist/collection/components/datetime/datetime.js +24 -36
  66. package/dist/collection/components/datetime/datetime.md.css +96 -38
  67. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  68. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  69. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  70. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  71. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  72. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  73. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  74. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  75. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  76. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  77. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  78. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  79. package/dist/collection/components/datetime/utils/data.js +1 -1
  80. package/dist/collection/components/picker/picker.ios.css +112 -211
  81. package/dist/collection/components/picker/picker.js +472 -744
  82. package/dist/collection/components/picker/picker.md.css +108 -198
  83. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  84. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  85. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  86. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  87. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  88. package/dist/collection/components/picker-column/picker-column.js +497 -335
  89. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  90. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  91. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  92. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  93. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  94. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  95. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  96. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  97. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  98. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  99. package/dist/collection/components/picker-legacy/picker.js +817 -0
  100. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  101. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  102. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  103. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  104. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  105. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  106. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  107. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  108. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  109. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  110. package/dist/collection/components/refresher/refresher.js +0 -3
  111. package/dist/collection/utils/gesture/button-active.js +1 -1
  112. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  113. package/dist/collection/utils/overlays.js +11 -4
  114. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  115. package/dist/docs.json +485 -69
  116. package/dist/esm/{button-active-308d3edd.js → button-active-2758ff14.js} +2 -2
  117. package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
  118. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  119. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  120. package/dist/esm/index.js +3 -3
  121. package/dist/esm/ion-action-sheet.entry.js +8 -8
  122. package/dist/esm/ion-alert.entry.js +4 -4
  123. package/dist/esm/ion-app_8.entry.js +2 -2
  124. package/dist/esm/ion-backdrop.entry.js +0 -12
  125. package/dist/esm/ion-button_2.entry.js +2 -2
  126. package/dist/esm/ion-datetime-button.entry.js +1 -1
  127. package/dist/esm/ion-datetime_3.entry.js +35 -55
  128. package/dist/esm/ion-item-option_3.entry.js +1 -1
  129. package/dist/esm/ion-loading.entry.js +2 -1
  130. package/dist/esm/ion-menu_3.entry.js +3 -3
  131. package/dist/esm/ion-modal.entry.js +3 -3
  132. package/dist/esm/ion-nav_2.entry.js +1 -1
  133. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  134. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
  135. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
  136. package/dist/esm/ion-popover.entry.js +2 -1
  137. package/dist/esm/ion-range.entry.js +1 -1
  138. package/dist/esm/ion-refresher_2.entry.js +3 -3
  139. package/dist/esm/ion-reorder_2.entry.js +1 -1
  140. package/dist/esm/ion-segment_2.entry.js +1 -1
  141. package/dist/esm/ion-select_3.entry.js +2 -1
  142. package/dist/esm/ion-toast.entry.js +3 -3
  143. package/dist/esm/ion-toggle.entry.js +1 -1
  144. package/dist/esm/ionic.js +1 -1
  145. package/dist/esm/loader.js +1 -1
  146. package/dist/esm/{overlays-b33f6bca.js → overlays-94dac1cb.js} +11 -4
  147. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  148. package/dist/esm-es5/button-active-2758ff14.js +4 -0
  149. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  150. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  151. package/dist/esm-es5/index.js +1 -1
  152. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  153. package/dist/esm-es5/ion-alert.entry.js +1 -1
  154. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  155. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  156. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  158. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  160. package/dist/esm-es5/ion-loading.entry.js +1 -1
  161. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  162. package/dist/esm-es5/ion-modal.entry.js +1 -1
  163. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  165. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  166. package/dist/esm-es5/ion-picker.entry.js +4 -0
  167. package/dist/esm-es5/ion-popover.entry.js +1 -1
  168. package/dist/esm-es5/ion-range.entry.js +1 -1
  169. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  170. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  173. package/dist/esm-es5/ion-toast.entry.js +1 -1
  174. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  175. package/dist/esm-es5/ionic.js +1 -1
  176. package/dist/esm-es5/loader.js +1 -1
  177. package/dist/esm-es5/overlays-94dac1cb.js +4 -0
  178. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  179. package/dist/html.html-data.json +152 -13
  180. package/dist/ionic/index.esm.js +1 -1
  181. package/dist/ionic/ionic.esm.js +1 -1
  182. package/dist/ionic/{p-96d4814f.system.entry.js → p-0e908476.system.entry.js} +1 -1
  183. package/dist/ionic/{p-11786dc7.entry.js → p-10339dcc.entry.js} +1 -1
  184. package/dist/ionic/{p-f2bfd3d7.entry.js → p-13d4dfe7.entry.js} +1 -1
  185. package/dist/ionic/p-19d9ceb8.system.js +1 -1
  186. package/dist/ionic/{p-afa9f205.system.js → p-1ab2642a.system.js} +1 -1
  187. package/dist/ionic/{p-11a3973f.entry.js → p-1b14f0f8.entry.js} +1 -1
  188. package/dist/ionic/{p-c5acfeb1.entry.js → p-20755eb0.entry.js} +1 -1
  189. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  190. package/dist/ionic/{p-6b0ce9b4.system.entry.js → p-25312768.system.entry.js} +1 -1
  191. package/dist/ionic/p-26ff1180.entry.js +4 -0
  192. package/dist/ionic/p-2f449cdf.system.entry.js +4 -0
  193. package/dist/ionic/p-3717e641.system.entry.js +4 -0
  194. package/dist/ionic/{p-745e3339.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
  195. package/dist/ionic/{p-dc71e4ef.system.entry.js → p-3b434dee.system.entry.js} +1 -1
  196. package/dist/ionic/{p-c1701827.entry.js → p-3dc1b0f9.entry.js} +1 -1
  197. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  198. package/dist/ionic/{p-a42ef163.system.entry.js → p-4793c14c.system.entry.js} +1 -1
  199. package/dist/ionic/p-51abefb7.system.js +4 -0
  200. package/dist/ionic/{p-10ec9af7.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
  201. package/dist/ionic/{p-1b27ac67.entry.js → p-642ac927.entry.js} +1 -1
  202. package/dist/ionic/{p-a821750c.system.entry.js → p-6e4c7340.system.entry.js} +1 -1
  203. package/dist/ionic/p-71483cbb.entry.js +4 -0
  204. package/dist/ionic/p-73fbf18d.entry.js +4 -0
  205. package/dist/ionic/p-75a3e35b.entry.js +4 -0
  206. package/dist/ionic/p-77d78f68.system.entry.js +4 -0
  207. package/dist/ionic/p-7c0d778d.system.js +4 -0
  208. package/dist/ionic/p-80ad9792.system.js +4 -0
  209. package/dist/ionic/p-85a67421.system.entry.js +4 -0
  210. package/dist/ionic/p-8ad6d643.entry.js +4 -0
  211. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  212. package/dist/ionic/p-9164a09d.entry.js +4 -0
  213. package/dist/ionic/{p-b964aba3.entry.js → p-92bfb607.entry.js} +1 -1
  214. package/dist/ionic/{p-9fda6824.system.entry.js → p-964dcdb2.system.entry.js} +1 -1
  215. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  216. package/dist/ionic/p-a1bd098f.system.entry.js +4 -0
  217. package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
  218. package/dist/ionic/p-a60a1ce5.js +4 -0
  219. package/dist/ionic/{p-2a583966.entry.js → p-b2b5d761.entry.js} +1 -1
  220. package/dist/ionic/{p-767f1a92.entry.js → p-ba5d9e27.entry.js} +1 -1
  221. package/dist/ionic/{p-3e8d5e53.entry.js → p-bb3fd397.entry.js} +1 -1
  222. package/dist/ionic/{p-a3ca2e64.entry.js → p-bec6ae40.entry.js} +1 -1
  223. package/dist/ionic/{p-2df97906.system.entry.js → p-beed2450.system.entry.js} +1 -1
  224. package/dist/ionic/p-c001b24f.entry.js +4 -0
  225. package/dist/ionic/{p-2894d5f6.entry.js → p-c01803db.entry.js} +1 -1
  226. package/dist/ionic/p-c19bf524.entry.js +4 -0
  227. package/dist/ionic/p-c6176849.system.entry.js +4 -0
  228. package/dist/ionic/p-cf350317.entry.js +4 -0
  229. package/dist/ionic/{p-28740823.system.entry.js → p-d2634efe.system.entry.js} +1 -1
  230. package/dist/ionic/p-d3525765.js +4 -0
  231. package/dist/ionic/{p-ddd48faf.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
  232. package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
  233. package/dist/ionic/{p-22827063.system.entry.js → p-e2737fef.system.entry.js} +1 -1
  234. package/dist/ionic/{p-aee39e06.entry.js → p-ed8402d6.entry.js} +1 -1
  235. package/dist/ionic/p-f0717d98.js +4 -0
  236. package/dist/ionic/p-f0dea903.system.entry.js +4 -0
  237. package/dist/ionic/p-f60807dd.system.entry.js +4 -0
  238. package/dist/ionic/{p-06abe918.system.entry.js → p-f6cae0b2.system.entry.js} +1 -1
  239. package/dist/ionic/p-f8c5008f.entry.js +4 -0
  240. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +1 -0
  241. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  242. package/dist/types/components/datetime/datetime.d.ts +0 -1
  243. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  244. package/dist/types/components/menu/menu.d.ts +1 -1
  245. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  246. package/dist/types/components/picker/picker.d.ts +75 -129
  247. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  248. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  249. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  250. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  251. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  252. package/dist/types/components/refresher/refresher.d.ts +0 -3
  253. package/dist/types/components.d.ts +154 -130
  254. package/dist/types/interface.d.ts +1 -1
  255. package/dist/types/utils/config.d.ts +2 -2
  256. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  257. package/dist/types/utils/overlays.d.ts +5 -2
  258. package/hydrate/index.js +1500 -1402
  259. package/package.json +1 -1
  260. package/components/ion-picker-column-internal.d.ts +0 -11
  261. package/components/ion-picker-column-internal.js +0 -9
  262. package/components/ion-picker-internal.js +0 -9
  263. package/components/picker-column-internal.js +0 -390
  264. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  265. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  266. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  267. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  268. package/dist/esm-es5/button-active-308d3edd.js +0 -4
  269. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  270. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  271. package/dist/esm-es5/overlays-b33f6bca.js +0 -4
  272. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  273. package/dist/ionic/p-0235067a.js +0 -4
  274. package/dist/ionic/p-12a62500.entry.js +0 -4
  275. package/dist/ionic/p-1c249831.entry.js +0 -4
  276. package/dist/ionic/p-35ce400e.system.js +0 -4
  277. package/dist/ionic/p-3671f1b9.system.js +0 -4
  278. package/dist/ionic/p-47bb15a1.entry.js +0 -4
  279. package/dist/ionic/p-4d145435.entry.js +0 -4
  280. package/dist/ionic/p-507ddbfe.system.entry.js +0 -4
  281. package/dist/ionic/p-648ad047.system.entry.js +0 -4
  282. package/dist/ionic/p-6a6477b2.js +0 -4
  283. package/dist/ionic/p-6ab03751.js +0 -4
  284. package/dist/ionic/p-6c277fa2.system.entry.js +0 -4
  285. package/dist/ionic/p-6fba0ce1.system.entry.js +0 -4
  286. package/dist/ionic/p-7dc892f8.entry.js +0 -4
  287. package/dist/ionic/p-85f48531.entry.js +0 -4
  288. package/dist/ionic/p-8f301ac5.system.entry.js +0 -4
  289. package/dist/ionic/p-932f2259.system.entry.js +0 -4
  290. package/dist/ionic/p-b1f29949.system.entry.js +0 -4
  291. package/dist/ionic/p-b7a2ffc9.system.entry.js +0 -4
  292. package/dist/ionic/p-cd1b920b.entry.js +0 -4
  293. package/dist/ionic/p-da5e2652.entry.js +0 -4
  294. package/dist/ionic/p-ec652bc0.system.entry.js +0 -4
  295. package/dist/ionic/p-f6e9c227.system.js +0 -4
  296. package/dist/ionic/p-f894e0ad.entry.js +0 -4
  297. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  298. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  299. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  300. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  301. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  302. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  303. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  304. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  305. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  306. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  307. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  308. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  309. /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
  310. /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
  311. /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
  312. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  313. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  314. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  315. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -6,18 +6,16 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-50dcfe2f.js');
9
+ const index$1 = require('./index-c8d52405.js');
9
10
  const helpers = require('./helpers-76bb7efb.js');
10
11
  const haptic = require('./haptic-b882e0bb.js');
11
12
  const ionicGlobal = require('./ionic-global-a4edbf03.js');
12
13
  const theme = require('./theme-d1c573d2.js');
13
14
  require('./capacitor-c04564bf.js');
14
- require('./index-c8d52405.js');
15
15
 
16
- const pickerColumnInternalIosCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-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;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{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;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";
16
+ const pickerColumnCss = ":host{display:-ms-flexbox;display:flex;-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}.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)}}";
17
17
 
18
- const pickerColumnInternalMdCss = ":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-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;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{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;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";
19
-
20
- const PickerColumnInternal = class {
18
+ const PickerColumn = class {
21
19
  constructor(hostRef) {
22
20
  index.registerInstance(this, hostRef);
23
21
  this.ionChange = index.createEvent(this, "ionChange", 7);
@@ -25,11 +23,11 @@ const PickerColumnInternal = class {
25
23
  this.isColumnVisible = false;
26
24
  this.canExitInputMode = true;
27
25
  this.centerPickerItemInView = (target, smooth = true, canExitInputMode = true) => {
28
- const { el, isColumnVisible } = this;
29
- if (isColumnVisible) {
26
+ const { isColumnVisible, scrollEl } = this;
27
+ if (isColumnVisible && scrollEl) {
30
28
  // (Vertical offset from parent) - (three empty picker rows) + (half the height of the target to ensure the scroll triggers)
31
29
  const top = target.offsetTop - 3 * target.clientHeight + target.clientHeight / 2;
32
- if (el.scrollTop !== top) {
30
+ if (scrollEl.scrollTop !== top) {
33
31
  /**
34
32
  * Setting this flag prevents input
35
33
  * mode from exiting in the picker column's
@@ -38,7 +36,7 @@ const PickerColumnInternal = class {
38
36
  * of these can cause a scroll to occur.
39
37
  */
40
38
  this.canExitInputMode = canExitInputMode;
41
- el.scroll({
39
+ scrollEl.scroll({
42
40
  top,
43
41
  left: 0,
44
42
  behavior: smooth ? 'smooth' : undefined,
@@ -49,11 +47,9 @@ const PickerColumnInternal = class {
49
47
  this.setPickerItemActiveState = (item, isActive) => {
50
48
  if (isActive) {
51
49
  item.classList.add(PICKER_ITEM_ACTIVE_CLASS);
52
- item.part.add(PICKER_ITEM_ACTIVE_PART);
53
50
  }
54
51
  else {
55
52
  item.classList.remove(PICKER_ITEM_ACTIVE_CLASS);
56
- item.part.remove(PICKER_ITEM_ACTIVE_PART);
57
53
  }
58
54
  };
59
55
  /**
@@ -107,11 +103,13 @@ const PickerColumnInternal = class {
107
103
  * be disabled on Android.
108
104
  */
109
105
  const enableHaptics = ionicGlobal.isPlatform('ios');
110
- const { el } = this;
106
+ const { el, scrollEl } = this;
111
107
  let timeout;
112
108
  let activeEl = this.activeItem;
113
109
  const scrollCallback = () => {
114
110
  helpers.raf(() => {
111
+ if (!scrollEl)
112
+ return;
115
113
  if (timeout) {
116
114
  clearTimeout(timeout);
117
115
  timeout = undefined;
@@ -124,21 +122,54 @@ const PickerColumnInternal = class {
124
122
  * Select item in the center of the column
125
123
  * which is the month/year that we want to select
126
124
  */
127
- const bbox = el.getBoundingClientRect();
125
+ const bbox = scrollEl.getBoundingClientRect();
128
126
  const centerX = bbox.x + bbox.width / 2;
129
127
  const centerY = bbox.y + bbox.height / 2;
130
- const activeElement = el.shadowRoot.elementFromPoint(centerX, centerY);
131
- if (activeEl !== null) {
128
+ /**
129
+ * elementFromPoint returns the top-most element.
130
+ * This means that if an ion-backdrop is overlaying the
131
+ * picker then the appropriate picker column option will
132
+ * not be selected. To account for this, we use elementsFromPoint
133
+ * and use an Array.find to find the appropriate column option
134
+ * at that point.
135
+ *
136
+ * Additionally, the picker column could be used in the
137
+ * Shadow DOM (i.e. in ion-datetime) so we need to make
138
+ * sure we are choosing the correct host otherwise
139
+ * the elements returns by elementsFromPoint will be
140
+ * retargeted. To account for this, we check to see
141
+ * if the picker column has a parent shadow root. If
142
+ * so, we use that shadow root when doing elementsFromPoint.
143
+ * Otherwise, we just use the document.
144
+ */
145
+ const rootNode = el.getRootNode();
146
+ const hasParentShadow = rootNode instanceof ShadowRoot;
147
+ const referenceNode = hasParentShadow ? rootNode : index$1.doc;
148
+ /**
149
+ * If the reference node is undefined
150
+ * then it's likely that doc is undefined
151
+ * due to being in an SSR environment.
152
+ */
153
+ if (referenceNode === undefined) {
154
+ return;
155
+ }
156
+ const elementsAtPoint = referenceNode.elementsFromPoint(centerX, centerY);
157
+ /**
158
+ * elementsFromPoint can returns multiple elements
159
+ * so find the relevant picker column option if one exists.
160
+ */
161
+ const newActiveElement = elementsAtPoint.find((el) => el.tagName === 'ION-PICKER-COLUMN-OPTION');
162
+ if (activeEl !== undefined) {
132
163
  this.setPickerItemActiveState(activeEl, false);
133
164
  }
134
- if (activeElement === null || activeElement.disabled) {
165
+ if (newActiveElement === undefined || newActiveElement.disabled) {
135
166
  return;
136
167
  }
137
168
  /**
138
169
  * If we are selecting a new value,
139
170
  * we need to run haptics again.
140
171
  */
141
- if (activeElement !== activeEl) {
172
+ if (newActiveElement !== activeEl) {
142
173
  enableHaptics && haptic.hapticSelectionChanged();
143
174
  if (this.canExitInputMode) {
144
175
  /**
@@ -155,8 +186,8 @@ const PickerColumnInternal = class {
155
186
  this.exitInputMode();
156
187
  }
157
188
  }
158
- activeEl = activeElement;
159
- this.setPickerItemActiveState(activeElement, true);
189
+ activeEl = newActiveElement;
190
+ this.setPickerItemActiveState(newActiveElement, true);
160
191
  timeout = setTimeout(() => {
161
192
  this.isScrolling = false;
162
193
  enableHaptics && haptic.hapticSelectionEnd();
@@ -178,20 +209,7 @@ const PickerColumnInternal = class {
178
209
  * case, we should exit input mode.
179
210
  */
180
211
  this.canExitInputMode = true;
181
- const dataIndex = activeElement.getAttribute('data-index');
182
- /**
183
- * If no value it is
184
- * possible we hit one of the
185
- * empty padding columns.
186
- */
187
- if (dataIndex === null) {
188
- return;
189
- }
190
- const index = parseInt(dataIndex, 10);
191
- const selectedItem = this.items[index];
192
- if (selectedItem.value !== this.value) {
193
- this.setValue(selectedItem.value);
194
- }
212
+ this.setValue(newActiveElement.value);
195
213
  }, 250);
196
214
  });
197
215
  };
@@ -200,9 +218,11 @@ const PickerColumnInternal = class {
200
218
  * does not fire when component is initially shown.
201
219
  */
202
220
  helpers.raf(() => {
203
- el.addEventListener('scroll', scrollCallback);
221
+ if (!scrollEl)
222
+ return;
223
+ scrollEl.addEventListener('scroll', scrollCallback);
204
224
  this.destroyScrollListener = () => {
205
- el.removeEventListener('scroll', scrollCallback);
225
+ scrollEl.removeEventListener('scroll', scrollCallback);
206
226
  };
207
227
  });
208
228
  };
@@ -230,7 +250,6 @@ const PickerColumnInternal = class {
230
250
  };
231
251
  this.isActive = false;
232
252
  this.disabled = false;
233
- this.items = [];
234
253
  this.value = undefined;
235
254
  this.color = 'primary';
236
255
  this.numericInput = false;
@@ -241,7 +260,7 @@ const PickerColumnInternal = class {
241
260
  * Only scroll the active item into view when the picker column
242
261
  * is actively visible to the user.
243
262
  */
244
- this.scrollActiveItemIntoView();
263
+ this.scrollActiveItemIntoView(true);
245
264
  }
246
265
  }
247
266
  /**
@@ -279,36 +298,33 @@ const PickerColumnInternal = class {
279
298
  }
280
299
  };
281
300
  new IntersectionObserver(visibleCallback, { threshold: 0.001 }).observe(this.el);
282
- const parentEl = (this.parentEl = this.el.closest('ion-picker-internal'));
301
+ const parentEl = (this.parentEl = this.el.closest('ion-picker'));
283
302
  if (parentEl !== null) {
284
303
  // TODO(FW-2832): type
285
304
  parentEl.addEventListener('ionInputModeChange', (ev) => this.inputModeChange(ev));
286
305
  }
287
306
  }
288
307
  componentDidRender() {
289
- var _a;
290
- const { activeItem, items, isColumnVisible, value } = this;
291
- if (isColumnVisible) {
292
- if (activeItem) {
293
- this.scrollActiveItemIntoView();
294
- }
295
- else if (((_a = items[0]) === null || _a === void 0 ? void 0 : _a.value) !== value) {
296
- /**
297
- * If the picker column does not have an active item and the current value
298
- * does not match the first item in the picker column, that means
299
- * the value is out of bounds. In this case, we assign the value to the
300
- * first item to match the scroll position of the column.
301
- *
302
- */
303
- this.setValue(items[0].value);
308
+ const { el, activeItem, isColumnVisible, value } = this;
309
+ if (isColumnVisible && !activeItem) {
310
+ const firstOption = el.querySelector('ion-picker-column-option');
311
+ /**
312
+ * If the picker column does not have an active item and the current value
313
+ * does not match the first item in the picker column, that means
314
+ * the value is out of bounds. In this case, we assign the value to the
315
+ * first item to match the scroll position of the column.
316
+ *
317
+ */
318
+ if (firstOption !== null && firstOption.value !== value) {
319
+ this.setValue(firstOption.value);
304
320
  }
305
321
  }
306
322
  }
307
323
  /** @internal */
308
- async scrollActiveItemIntoView() {
324
+ async scrollActiveItemIntoView(smooth = false) {
309
325
  const activeEl = this.activeItem;
310
326
  if (activeEl) {
311
- this.centerPickerItemInView(activeEl, false, false);
327
+ this.centerPickerItemInView(activeEl, smooth, false);
312
328
  }
313
329
  }
314
330
  /**
@@ -319,52 +335,53 @@ const PickerColumnInternal = class {
319
335
  * @internal
320
336
  */
321
337
  async setValue(value) {
322
- const { items } = this;
338
+ if (this.disabled === true || this.value === value) {
339
+ return;
340
+ }
323
341
  this.value = value;
324
- const findItem = items.find((item) => item.value === value && item.disabled !== true);
325
- if (findItem) {
326
- this.ionChange.emit(findItem);
342
+ this.ionChange.emit({ value });
343
+ }
344
+ /**
345
+ * Sets focus on the scrollable container within the picker column.
346
+ * Use this method instead of the global `pickerColumn.focus()`.
347
+ */
348
+ async setFocus() {
349
+ if (this.scrollEl) {
350
+ this.scrollEl.focus();
327
351
  }
328
352
  }
329
353
  get activeItem() {
330
- // If the whole picker column is disabled, the current value should appear active
331
- // If the current value item is specifically disabled, it should not appear active
332
- const selector = `.picker-item[data-value="${this.value}"]${this.disabled ? '' : ':not([disabled])'}`;
333
- return helpers.getElementRoot(this.el).querySelector(selector);
354
+ const { value } = this;
355
+ const options = Array.from(this.el.querySelectorAll('ion-picker-column-option'));
356
+ return options.find((option) => {
357
+ /**
358
+ * If the whole picker column is disabled, the current value should appear active
359
+ * If the current value item is specifically disabled, it should not appear active
360
+ */
361
+ if (!this.disabled && option.disabled) {
362
+ return false;
363
+ }
364
+ return option.value === value;
365
+ });
334
366
  }
335
367
  render() {
336
- const { items, color, disabled: pickerDisabled, isActive, numericInput } = this;
368
+ const { color, disabled, isActive, numericInput } = this;
337
369
  const mode = ionicGlobal.getIonMode(this);
338
- /**
339
- * exportparts is needed so ion-datetime can expose the parts
340
- * from two layers of shadow nesting. If this causes problems,
341
- * the attribute can be moved to datetime.tsx and set on every
342
- * instance of ion-picker-column-internal there instead.
343
- */
344
- return (index.h(index.Host, { exportparts: `${PICKER_ITEM_PART}, ${PICKER_ITEM_ACTIVE_PART}`, disabled: pickerDisabled, tabindex: pickerDisabled ? null : 0, class: theme.createColorClasses(color, {
370
+ return (index.h(index.Host, { class: theme.createColorClasses(color, {
345
371
  [mode]: true,
346
372
  ['picker-column-active']: isActive,
347
373
  ['picker-column-numeric-input']: numericInput,
348
- }) }, index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), items.map((item, index$1) => {
349
- const isItemDisabled = pickerDisabled || item.disabled || false;
350
- return (index.h("button", { tabindex: "-1", class: {
351
- 'picker-item': true,
352
- }, "data-value": item.value, "data-index": index$1, onClick: (ev) => {
353
- this.centerPickerItemInView(ev.target, true);
354
- }, disabled: isItemDisabled, part: PICKER_ITEM_PART }, item.text));
355
- }), index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item picker-item-empty", "aria-hidden": "true" }, "\u00A0")));
374
+ ['picker-column-disabled']: disabled,
375
+ }) }, index.h("slot", { name: "prefix" }), index.h("div", { class: "picker-opts", tabindex: disabled ? undefined : 0, ref: (el) => {
376
+ this.scrollEl = el;
377
+ } }, index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("slot", null), index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), index.h("div", { class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), index.h("slot", { name: "suffix" })));
356
378
  }
357
379
  get el() { return index.getElement(this); }
358
380
  static get watchers() { return {
359
381
  "value": ["valueChange"]
360
382
  }; }
361
383
  };
362
- const PICKER_ITEM_ACTIVE_CLASS = 'picker-item-active';
363
- const PICKER_ITEM_PART = 'wheel-item';
364
- const PICKER_ITEM_ACTIVE_PART = 'active';
365
- PickerColumnInternal.style = {
366
- ios: pickerColumnInternalIosCss,
367
- md: pickerColumnInternalMdCss
368
- };
384
+ const PICKER_ITEM_ACTIVE_CLASS = 'option-active';
385
+ PickerColumn.style = pickerColumnCss;
369
386
 
370
- exports.ion_picker_column_internal = PickerColumnInternal;
387
+ exports.ion_picker_column = PickerColumn;
@@ -8,11 +8,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-50dcfe2f.js');
9
9
  const helpers = require('./helpers-76bb7efb.js');
10
10
 
11
- 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))}";
11
+ 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))}";
12
12
 
13
- 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%)}";
13
+ 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%)}";
14
14
 
15
- const PickerInternal = class {
15
+ const Picker = class {
16
16
  constructor(hostRef) {
17
17
  index.registerInstance(this, hostRef);
18
18
  this.ionInputModeChange = index.createEvent(this, "ionInputModeChange", 7);
@@ -44,7 +44,7 @@ const PickerInternal = class {
44
44
  this.onFocusOut = (ev) => {
45
45
  // TODO(FW-2832): type
46
46
  const { relatedTarget } = ev;
47
- if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN-INTERNAL' && relatedTarget !== this.inputEl)) {
47
+ if (!relatedTarget || (relatedTarget.tagName !== 'ION-PICKER-COLUMN' && relatedTarget !== this.inputEl)) {
48
48
  this.exitInputMode();
49
49
  }
50
50
  };
@@ -62,7 +62,7 @@ const PickerInternal = class {
62
62
  * make sure that this function only ever runs when
63
63
  * focusing a picker column.
64
64
  */
65
- if (target.tagName !== 'ION-PICKER-COLUMN-INTERNAL') {
65
+ if (target.tagName !== 'ION-PICKER-COLUMN') {
66
66
  return;
67
67
  }
68
68
  /**
@@ -129,7 +129,7 @@ const PickerInternal = class {
129
129
  * since we just tapped the highlight and
130
130
  * not a column.
131
131
  */
132
- if (ev.target.tagName === 'ION-PICKER-COLUMN-INTERNAL') {
132
+ if (ev.target.tagName === 'ION-PICKER-COLUMN') {
133
133
  /**
134
134
  * If user taps 2 different columns
135
135
  * then we should just switch to input mode
@@ -163,7 +163,7 @@ const PickerInternal = class {
163
163
  * If there is only 1 numeric input column
164
164
  * then we should skip multi column input.
165
165
  */
166
- const columns = el.querySelectorAll('ion-picker-column-internal.picker-column-numeric-input');
166
+ const columns = el.querySelectorAll('ion-picker-column.picker-column-numeric-input');
167
167
  const columnEl = columns.length === 1 ? ev.target : undefined;
168
168
  this.actionOnClick = () => {
169
169
  this.enterInputMode(columnEl);
@@ -197,7 +197,7 @@ const PickerInternal = class {
197
197
  * Only active input mode if there is at
198
198
  * least one column that accepts numeric input.
199
199
  */
200
- const hasInputColumn = el.querySelector('ion-picker-column-internal.picker-column-numeric-input');
200
+ const hasInputColumn = el.querySelector('ion-picker-column.picker-column-numeric-input');
201
201
  if (!hasInputColumn) {
202
202
  return;
203
203
  }
@@ -250,7 +250,7 @@ const PickerInternal = class {
250
250
  if (!inputEl || !inputModeColumn) {
251
251
  return;
252
252
  }
253
- const values = inputModeColumn.items.filter((item) => item.disabled !== true);
253
+ const options = Array.from(inputModeColumn.querySelectorAll('ion-picker-column-option')).filter((el) => el.disabled !== true);
254
254
  /**
255
255
  * If users pause for a bit, the search
256
256
  * value should be reset similar to how a
@@ -290,8 +290,13 @@ const PickerInternal = class {
290
290
  * 0+(?=[1-9]) --> Match 1 or more zeros that are followed by 1-9
291
291
  * 0+(?=0$) --> Match 1 or more zeros that must be followed by one 0 and end.
292
292
  */
293
- const findItemFromCompleteValue = values.find(({ text }) => {
294
- const parsedText = text.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
293
+ const findItemFromCompleteValue = options.find(({ textContent }) => {
294
+ /**
295
+ * Keyboard entry is currently only used inside of Datetime
296
+ * where we guarantee textContent is set.
297
+ * If we end up exposing this feature publicly we should revisit this assumption.
298
+ */
299
+ const parsedText = textContent.replace(/^0+(?=[1-9])|0+(?=0$)/, '');
295
300
  return parsedText === inputEl.value;
296
301
  });
297
302
  if (findItemFromCompleteValue) {
@@ -316,9 +321,11 @@ const PickerInternal = class {
316
321
  */
317
322
  this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
318
323
  const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
319
- const item = colEl.items.find(({ text, disabled }) => disabled !== true && text.replace(behavior, '') === value);
320
- if (item) {
321
- colEl.setValue(item.value);
324
+ const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
325
+ return el.disabled !== true && el.textContent.replace(behavior, '') === value;
326
+ });
327
+ if (option) {
328
+ colEl.setValue(option.value);
322
329
  }
323
330
  };
324
331
  this.selectMultiColumn = () => {
@@ -326,7 +333,7 @@ const PickerInternal = class {
326
333
  if (!inputEl) {
327
334
  return;
328
335
  }
329
- const numericPickers = Array.from(el.querySelectorAll('ion-picker-column-internal')).filter((col) => col.numericInput);
336
+ const numericPickers = Array.from(el.querySelectorAll('ion-picker-column')).filter((col) => col.numericInput);
330
337
  const firstColumn = numericPickers[0];
331
338
  const lastColumn = numericPickers[1];
332
339
  let value = inputEl.value;
@@ -478,9 +485,9 @@ const PickerInternal = class {
478
485
  }
479
486
  get el() { return index.getElement(this); }
480
487
  };
481
- PickerInternal.style = {
482
- ios: pickerInternalIosCss,
483
- md: pickerInternalMdCss
488
+ Picker.style = {
489
+ ios: pickerIosCss,
490
+ md: pickerMdCss
484
491
  };
485
492
 
486
- exports.ion_picker_internal = PickerInternal;
493
+ exports.ion_picker = Picker;
@@ -10,12 +10,13 @@ const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-e77cc023.js');
13
+ const overlays = require('./overlays-7773cbe1.js');
14
14
  const ionicGlobal = require('./ionic-global-a4edbf03.js');
15
15
  const theme = require('./theme-d1c573d2.js');
16
16
  const index$2 = require('./index-17ab7794.js');
17
17
  const animation = require('./animation-9b401d39.js');
18
18
  require('./index-c8d52405.js');
19
+ require('./gesture-controller-9436f482.js');
19
20
  require('./hardware-back-button-76833cac.js');
20
21
 
21
22
  /**
@@ -96,7 +96,7 @@ const Range = class {
96
96
  this.setupGesture = async () => {
97
97
  const rangeSlider = this.rangeSlider;
98
98
  if (rangeSlider) {
99
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
99
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
100
100
  el: rangeSlider,
101
101
  gestureName: 'range',
102
102
  gesturePriority: 100,
@@ -334,7 +334,7 @@ const Refresher = class {
334
334
  });
335
335
  };
336
336
  this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);
337
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
337
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
338
338
  el: this.scrollEl,
339
339
  gestureName: 'refresher',
340
340
  gesturePriority: 31,
@@ -386,7 +386,7 @@ const Refresher = class {
386
386
  refreshingCircle.style.setProperty('animation-delay', '-655ms');
387
387
  });
388
388
  }
389
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
389
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
390
390
  el: this.scrollEl,
391
391
  gestureName: 'refresher',
392
392
  gesturePriority: 31,
@@ -512,7 +512,7 @@ const Refresher = class {
512
512
  this.setupNativeRefresher(contentEl);
513
513
  }
514
514
  else {
515
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
515
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
516
516
  el: contentEl,
517
517
  gestureName: 'refresher',
518
518
  gesturePriority: 31,
@@ -70,7 +70,7 @@ const ReorderGroup = class {
70
70
  if (contentEl) {
71
71
  this.scrollEl = await index$2.getScrollElement(contentEl);
72
72
  }
73
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
73
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
74
74
  el: this.el,
75
75
  gestureName: 'reorder',
76
76
  gesturePriority: 110,
@@ -124,7 +124,7 @@ const Segment = class {
124
124
  */
125
125
  this.scrollActiveButtonIntoView(false);
126
126
  });
127
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
127
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
128
128
  el: this.el,
129
129
  gestureName: 'segment',
130
130
  gesturePriority: 100,
@@ -11,7 +11,7 @@ const notchController = require('./notch-controller-9735e7ac.js');
11
11
  const compareWithUtils = require('./compare-with-utils-df1001d7.js');
12
12
  const helpers = require('./helpers-76bb7efb.js');
13
13
  const index$1 = require('./index-5915f9b3.js');
14
- const overlays = require('./overlays-e77cc023.js');
14
+ const overlays = require('./overlays-7773cbe1.js');
15
15
  const dir = require('./dir-94c21456.js');
16
16
  const theme = require('./theme-d1c573d2.js');
17
17
  const watchOptions = require('./watch-options-f5f3e158.js');
@@ -19,6 +19,7 @@ const index$2 = require('./index-09471526.js');
19
19
  const ionicGlobal = require('./ionic-global-a4edbf03.js');
20
20
  require('./index-c8d52405.js');
21
21
  require('./framework-delegate-1c29b14a.js');
22
+ require('./gesture-controller-9436f482.js');
22
23
  require('./hardware-back-button-76833cac.js');
23
24
 
24
25
  const selectIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:0.6;--background:transparent;--border-style:solid;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(:not(.legacy-select)){width:100%;min-height:44px}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.legacy-select){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.in-item:not(.legacy-select)){-ms-flex:1 1 0px;flex:1 1 0}:host(.in-item.legacy-select){position:static;max-width:45%}:host(.select-disabled){pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}:host([slot=start]:not(.legacy-select)),:host([slot=end]:not(.legacy-select)){width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}:host(.legacy-select) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;opacity:0}@supports (inset-inline-start: 0){:host(.legacy-select) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-select) label{left:0}:host-context([dir=rtl]):host(.legacy-select) label,:host-context([dir=rtl]).legacy-select label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-select:dir(rtl)) label{left:unset;right:unset;right:0}}}:host(.legacy-select) label::-moz-focus-inner{border:0}button{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}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.ion-focused.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.legacy-select){--padding-top:10px;--padding-end:8px;--padding-bottom:10px;--padding-start:16px}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, #595959)}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(ion-button[slot=end].button-has-icon-only){--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}";
@@ -10,15 +10,15 @@ const config = require('./config-4f60b98a.js');
10
10
  const helpers = require('./helpers-76bb7efb.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-5915f9b3.js');
13
- const overlays = require('./overlays-e77cc023.js');
13
+ const overlays = require('./overlays-7773cbe1.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-a4edbf03.js');
16
16
  const animation = require('./animation-9b401d39.js');
17
17
  const index = require('./index-c8d52405.js');
18
- const index$2 = require('./index-d1b59ffa.js');
18
+ const index$2 = require('./index-ee07ed59.js');
19
19
  require('./framework-delegate-1c29b14a.js');
20
+ require('./gesture-controller-9436f482.js');
20
21
  require('./hardware-back-button-76833cac.js');
21
- require('./gesture-controller-c40c045a.js');
22
22
 
23
23
  /**
24
24
  * Calculate the CSS top and bottom position of the toast, to be used
@@ -37,7 +37,7 @@ const Toggle = class {
37
37
  this.setupGesture = async () => {
38
38
  const { toggleTrack } = this;
39
39
  if (toggleTrack) {
40
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
40
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-ee07ed59.js'); })).createGesture({
41
41
  el: toggleTrack,
42
42
  gestureName: 'toggle',
43
43
  gesturePriority: 100,