@ionic/core 7.5.8-dev.11701791090.18ebbea8 → 7.5.8-dev.11701806358.1ca1b519

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 (308) hide show
  1. package/components/backdrop.js +0 -12
  2. package/components/data.js +1 -1
  3. package/components/gesture-controller.js +1 -1
  4. package/components/ion-content.js +1 -1
  5. package/components/ion-datetime.js +40 -64
  6. package/components/ion-input.js +2 -21
  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/ion-textarea.js +2 -25
  16. package/components/overlays.js +11 -4
  17. package/components/picker-column-option.js +122 -0
  18. package/components/picker-column.js +363 -317
  19. package/components/picker-column2.js +379 -0
  20. package/components/{picker-internal.js → picker.js} +16 -16
  21. package/dist/cjs/{button-active-417ccdcb.js → button-active-9d7e0640.js} +1 -1
  22. package/dist/cjs/{data-36b9094e.js → data-e7526b58.js} +1 -1
  23. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  24. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  25. package/dist/cjs/index.cjs.js +3 -3
  26. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  27. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  28. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  30. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-datetime_3.cjs.entry.js +36 -56
  32. package/dist/cjs/ion-input.cjs.entry.js +2 -21
  33. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-loading.cjs.entry.js +2 -1
  35. package/dist/cjs/ion-menu_3.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  39. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +105 -72
  40. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +13 -13
  41. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  42. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  45. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-select_3.cjs.entry.js +2 -1
  47. package/dist/cjs/ion-textarea.cjs.entry.js +2 -25
  48. package/dist/cjs/ion-toast.cjs.entry.js +2 -1
  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-5c379703.js → overlays-e8e05b0e.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/backdrop/backdrop.js +0 -12
  56. package/dist/collection/components/content/content.css +0 -4
  57. package/dist/collection/components/datetime/datetime.ios.css +83 -37
  58. package/dist/collection/components/datetime/datetime.js +24 -36
  59. package/dist/collection/components/datetime/datetime.md.css +88 -37
  60. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  61. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  62. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  63. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  64. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  65. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  66. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  67. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  68. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  69. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  70. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  71. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  72. package/dist/collection/components/datetime/utils/data.js +1 -1
  73. package/dist/collection/components/input/input.js +2 -21
  74. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +9 -21
  75. package/dist/collection/components/picker/picker.ios.css +100 -205
  76. package/dist/collection/components/picker/picker.js +461 -743
  77. package/dist/collection/components/picker/picker.md.css +98 -194
  78. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  79. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  80. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +23 -22
  81. package/dist/collection/components/picker-column/picker-column.ios.css +120 -160
  82. package/dist/collection/components/picker-column/picker-column.js +514 -329
  83. package/dist/collection/components/picker-column/picker-column.md.css +134 -107
  84. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  85. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +113 -0
  86. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  87. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  88. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  89. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  90. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  91. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  92. package/dist/collection/components/picker-legacy/picker.ios.css +367 -0
  93. package/dist/collection/components/picker-legacy/picker.js +817 -0
  94. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  95. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  96. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  97. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  98. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  99. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy-column/picker-column.ios.css} +98 -101
  100. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  101. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-legacy-column/picker-column.md.css} +113 -63
  102. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  103. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  104. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  105. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  106. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +0 -28
  107. package/dist/collection/components/textarea/textarea.js +2 -25
  108. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  109. package/dist/collection/utils/overlays.js +11 -4
  110. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  111. package/dist/docs.json +493 -40
  112. package/dist/esm/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
  113. package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
  114. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  115. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  116. package/dist/esm/index.js +3 -3
  117. package/dist/esm/ion-action-sheet.entry.js +4 -4
  118. package/dist/esm/ion-alert.entry.js +4 -4
  119. package/dist/esm/ion-app_8.entry.js +2 -2
  120. package/dist/esm/ion-backdrop.entry.js +0 -12
  121. package/dist/esm/ion-datetime-button.entry.js +1 -1
  122. package/dist/esm/ion-datetime_3.entry.js +35 -55
  123. package/dist/esm/ion-input.entry.js +2 -21
  124. package/dist/esm/ion-item-option_3.entry.js +1 -1
  125. package/dist/esm/ion-loading.entry.js +2 -1
  126. package/dist/esm/ion-menu_3.entry.js +3 -3
  127. package/dist/esm/ion-modal.entry.js +3 -3
  128. package/dist/esm/ion-nav_2.entry.js +1 -1
  129. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  130. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +105 -72
  131. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +13 -13
  132. package/dist/esm/ion-popover.entry.js +2 -1
  133. package/dist/esm/ion-range.entry.js +1 -1
  134. package/dist/esm/ion-refresher_2.entry.js +3 -3
  135. package/dist/esm/ion-reorder_2.entry.js +1 -1
  136. package/dist/esm/ion-segment_2.entry.js +1 -1
  137. package/dist/esm/ion-select_3.entry.js +2 -1
  138. package/dist/esm/ion-textarea.entry.js +2 -25
  139. package/dist/esm/ion-toast.entry.js +2 -1
  140. package/dist/esm/ion-toggle.entry.js +1 -1
  141. package/dist/esm/ionic.js +1 -1
  142. package/dist/esm/loader.js +1 -1
  143. package/dist/esm/{overlays-abf58489.js → overlays-fbc5cab5.js} +11 -4
  144. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  145. package/dist/esm-es5/{button-active-3fdf3e4f.js → button-active-ed9d848c.js} +1 -1
  146. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  147. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  148. package/dist/esm-es5/index.js +1 -1
  149. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  150. package/dist/esm-es5/ion-alert.entry.js +1 -1
  151. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  152. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  153. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  154. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  155. package/dist/esm-es5/ion-input.entry.js +1 -1
  156. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  157. package/dist/esm-es5/ion-loading.entry.js +1 -1
  158. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-modal.entry.js +1 -1
  160. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  161. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  162. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  163. package/dist/esm-es5/ion-picker.entry.js +4 -0
  164. package/dist/esm-es5/ion-popover.entry.js +1 -1
  165. package/dist/esm-es5/ion-range.entry.js +1 -1
  166. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  167. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  168. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  169. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  170. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  171. package/dist/esm-es5/ion-toast.entry.js +1 -1
  172. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  173. package/dist/esm-es5/ionic.js +1 -1
  174. package/dist/esm-es5/loader.js +1 -1
  175. package/dist/esm-es5/overlays-fbc5cab5.js +4 -0
  176. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  177. package/dist/html.html-data.json +152 -1
  178. package/dist/ionic/index.esm.js +1 -1
  179. package/dist/ionic/ionic.esm.js +1 -1
  180. package/dist/ionic/{p-b0dc1cf9.system.js → p-1d624e03.system.js} +1 -1
  181. package/dist/ionic/{p-d40a974a.entry.js → p-1fc72959.entry.js} +1 -1
  182. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  183. package/dist/ionic/{p-0519cd21.entry.js → p-21c3515a.entry.js} +1 -1
  184. package/dist/ionic/{p-6470b136.entry.js → p-22e5af95.entry.js} +1 -1
  185. package/dist/ionic/p-232d1f22.entry.js +4 -0
  186. package/dist/ionic/p-23672c82.system.entry.js +4 -0
  187. package/dist/ionic/p-26798a7b.system.entry.js +4 -0
  188. package/dist/ionic/p-27bcbbc7.system.entry.js +4 -0
  189. package/dist/ionic/{p-765a08a7.system.entry.js → p-32303650.system.entry.js} +1 -1
  190. package/dist/ionic/p-3ba01a9c.system.entry.js +4 -0
  191. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  192. package/dist/ionic/{p-667df818.system.entry.js → p-3fd26bd6.system.entry.js} +1 -1
  193. package/dist/ionic/{p-864c4046.entry.js → p-42ba3902.entry.js} +1 -1
  194. package/dist/ionic/{p-88fde0e0.entry.js → p-4911a5d6.entry.js} +1 -1
  195. package/dist/ionic/{p-a6f9dd7b.entry.js → p-4a081ea9.entry.js} +1 -1
  196. package/dist/ionic/{p-7b8d0af2.system.entry.js → p-4a36430f.system.entry.js} +1 -1
  197. package/dist/ionic/p-51abefb7.system.js +4 -0
  198. package/dist/ionic/{p-0b1bc636.entry.js → p-535d2a67.entry.js} +1 -1
  199. package/dist/ionic/{p-af5cfad2.system.js → p-54dfc9b5.system.js} +1 -1
  200. package/dist/ionic/p-563c41f0.system.entry.js +4 -0
  201. package/dist/ionic/{p-b04e4d62.entry.js → p-5d42b6b4.entry.js} +1 -1
  202. package/dist/ionic/{p-50880712.entry.js → p-6b7c55cd.entry.js} +1 -1
  203. package/dist/ionic/{p-a1987850.entry.js → p-6d72fb44.entry.js} +1 -1
  204. package/dist/ionic/{p-e6d68e02.system.entry.js → p-6fd64e7c.system.entry.js} +1 -1
  205. package/dist/ionic/p-73190c5f.entry.js +4 -0
  206. package/dist/ionic/p-73aa7604.entry.js +4 -0
  207. package/dist/ionic/{p-17f893be.js → p-76d3765d.js} +1 -1
  208. package/dist/ionic/{p-94389114.system.entry.js → p-77965464.system.entry.js} +1 -1
  209. package/dist/ionic/{p-98b14ece.entry.js → p-7b725280.entry.js} +1 -1
  210. package/dist/ionic/p-8017aad2.system.entry.js +4 -0
  211. package/dist/ionic/p-846ee227.entry.js +4 -0
  212. package/dist/ionic/p-8c97cdc0.entry.js +4 -0
  213. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  214. package/dist/ionic/p-8fa6583d.system.js +4 -0
  215. package/dist/ionic/p-9282b16f.entry.js +4 -0
  216. package/dist/ionic/{p-d7be6b7e.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
  217. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  218. package/dist/ionic/p-9ba90516.system.entry.js +4 -0
  219. package/dist/ionic/{p-a0126dd5.system.entry.js → p-9c229210.system.entry.js} +2 -2
  220. package/dist/ionic/{p-7faba551.system.entry.js → p-a225bf0f.system.entry.js} +1 -1
  221. package/dist/ionic/p-a60a1ce5.js +4 -0
  222. package/dist/ionic/p-a8baa23e.entry.js +4 -0
  223. package/dist/ionic/{p-ad019ef0.entry.js → p-a9a80f5b.entry.js} +1 -1
  224. package/dist/ionic/p-afcf4620.entry.js +4 -0
  225. package/dist/ionic/{p-ddb30596.entry.js → p-b133e9b4.entry.js} +1 -1
  226. package/dist/ionic/{p-08f196ce.system.entry.js → p-b4d31b30.system.entry.js} +1 -1
  227. package/dist/ionic/{p-e553006f.system.entry.js → p-c18de88a.system.entry.js} +1 -1
  228. package/dist/ionic/p-c2910c78.entry.js +4 -0
  229. package/dist/ionic/p-c8f0a036.entry.js +4 -0
  230. package/dist/ionic/p-ca8938f4.js +4 -0
  231. package/dist/ionic/p-ca9d1792.system.entry.js +4 -0
  232. package/dist/ionic/{p-c3d09cf2.system.entry.js → p-cde52378.system.entry.js} +1 -1
  233. package/dist/ionic/p-da15f571.system.entry.js +4 -0
  234. package/dist/ionic/p-e3584231.system.js +1 -1
  235. package/dist/ionic/{p-6577aea9.system.entry.js → p-e8e86f69.system.entry.js} +1 -1
  236. package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
  237. package/dist/ionic/{p-3b686a65.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
  238. package/dist/ionic/p-fe4dde76.entry.js +4 -0
  239. package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
  240. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  241. package/dist/types/components/datetime/datetime.d.ts +0 -1
  242. package/dist/types/components/datetime/utils/data.d.ts +2 -2
  243. package/dist/types/components/menu/menu.d.ts +1 -1
  244. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  245. package/dist/types/components/picker/picker.d.ts +74 -131
  246. package/dist/types/components/picker-column/picker-column.d.ts +105 -39
  247. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  248. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  249. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  250. package/dist/types/components.d.ts +163 -122
  251. package/dist/types/interface.d.ts +1 -1
  252. package/dist/types/utils/config.d.ts +2 -2
  253. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  254. package/dist/types/utils/overlays.d.ts +5 -2
  255. package/hydrate/index.js +1367 -1296
  256. package/package.json +1 -1
  257. package/components/ion-picker-column-internal.d.ts +0 -11
  258. package/components/ion-picker-column-internal.js +0 -9
  259. package/components/ion-picker-internal.js +0 -9
  260. package/components/picker-column-internal.js +0 -390
  261. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  262. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  263. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  264. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  265. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  266. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  267. package/dist/esm-es5/overlays-abf58489.js +0 -4
  268. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  269. package/dist/ionic/p-18b6bd23.system.entry.js +0 -4
  270. package/dist/ionic/p-1d17219f.entry.js +0 -4
  271. package/dist/ionic/p-25b32c3d.entry.js +0 -4
  272. package/dist/ionic/p-2ba0657d.system.entry.js +0 -4
  273. package/dist/ionic/p-35ce400e.system.js +0 -4
  274. package/dist/ionic/p-3de71759.entry.js +0 -4
  275. package/dist/ionic/p-3e960213.system.entry.js +0 -4
  276. package/dist/ionic/p-61d7d7fb.js +0 -4
  277. package/dist/ionic/p-67da080d.entry.js +0 -4
  278. package/dist/ionic/p-6a6477b2.js +0 -4
  279. package/dist/ionic/p-73637557.system.entry.js +0 -4
  280. package/dist/ionic/p-73ea8f82.system.entry.js +0 -4
  281. package/dist/ionic/p-80fa068e.entry.js +0 -4
  282. package/dist/ionic/p-82045bc1.entry.js +0 -4
  283. package/dist/ionic/p-908475e7.system.entry.js +0 -4
  284. package/dist/ionic/p-9c3b6849.entry.js +0 -4
  285. package/dist/ionic/p-b4bad293.system.entry.js +0 -4
  286. package/dist/ionic/p-c3289ef2.entry.js +0 -4
  287. package/dist/ionic/p-cce9f61a.system.entry.js +0 -4
  288. package/dist/ionic/p-d1cb29a8.system.entry.js +0 -4
  289. package/dist/ionic/p-e94c392d.entry.js +0 -4
  290. package/dist/ionic/p-f2c21dae.system.js +0 -4
  291. package/dist/ionic/p-f51666d3.entry.js +0 -4
  292. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  293. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  294. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  295. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  296. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  297. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  298. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  299. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  300. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  301. /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
  302. /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
  303. /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
  304. /package/dist/types/components/{picker-column-internal/picker-column-internal-interfaces.d.ts → picker-column/picker-column-interfaces.d.ts} +0 -0
  305. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  306. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  307. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  308. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ System.register(["./p-d3b030b8.system.js","./p-32ad210f.system.js","./p-4609d030.system.js","./p-b4a51c42.system.js"],(function(t){"use strict";var i,n,o,e,r,a,s;return{setters:[function(t){i=t.r;n=t.h;o=t.H;e=t.f},function(t){r=t.k},function(t){a=t.c},function(t){s=t.b}],execute:function(){var l="button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;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}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}";var u="button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;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}:host(.option-disabled){opacity:0.4}:host(.option-disabled) button{cursor:default}:host(.option-active){color:var(--ion-color-base)}";var h=t("ion_picker_column_option",function(){function t(t){i(this,t);this.pickerColumn=null;this.ariaLabel=null;this.disabled=false;this.value=undefined;this.color="primary"}t.prototype.onAriaLabelChange=function(t){this.ariaLabel=t};t.prototype.componentWillLoad=function(){var t=r(this.el,["aria-label"]);this.ariaLabel=t["aria-label"]||null};t.prototype.connectedCallback=function(){this.pickerColumn=this.el.closest("ion-picker-column")};t.prototype.disconnectedCallback=function(){this.pickerColumn=null};t.prototype.componentDidLoad=function(){var t=this.pickerColumn;if(t!==null){t.scrollActiveItemIntoView()}};t.prototype.onClick=function(){var t=this.pickerColumn;if(t!==null){t.setValue(this.value)}};t.prototype.render=function(){var t;var i=this;var e=this,r=e.color,l=e.disabled,u=e.ariaLabel;var h=s(this);return n(o,{class:a(r,(t={},t[h]=true,t["option-disabled"]=l,t))},n("button",{tabindex:"-1","aria-label":u,disabled:l,onClick:function(){return i.onClick()}},n("slot",null)))};Object.defineProperty(t.prototype,"el",{get:function(){return e(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{"aria-label":["onAriaLabelChange"]}},enumerable:false,configurable:true});return t}());h.style={ios:l,md:u}}}}));
@@ -1,6 +1,5 @@
1
1
  import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  export declare class Backdrop implements ComponentInterface {
3
- private blocker;
4
3
  /**
5
4
  * If `true`, the backdrop will be visible.
6
5
  */
@@ -17,8 +16,6 @@ export declare class Backdrop implements ComponentInterface {
17
16
  * Emitted when the backdrop is tapped.
18
17
  */
19
18
  ionBackdropTap: EventEmitter<void>;
20
- connectedCallback(): void;
21
- disconnectedCallback(): void;
22
19
  protected onMouseDown(ev: TouchEvent): void;
23
20
  private emitTap;
24
21
  render(): any;
@@ -28,7 +28,6 @@ import type { DatetimePresentation, DatetimeChangeEventDetail, DatetimeParts, Ti
28
28
  export declare class Datetime implements ComponentInterface {
29
29
  private inputId;
30
30
  private calendarBodyRef?;
31
- private monthYearToggleItemRef?;
32
31
  private popoverRef?;
33
32
  private clearFocusVisible?;
34
33
  private parsedMinuteValues?;
@@ -1,5 +1,5 @@
1
1
  import type { Mode } from '../../../interface';
2
- import type { PickerColumnItem } from '../../picker-column-internal/picker-column-internal-interfaces';
2
+ import type { PickerColumnItem } from '../../picker-column/picker-column-interfaces';
3
3
  import type { DatetimeParts, DatetimeHourCycle } from '../datetime-interface';
4
4
  /**
5
5
  * Returns the current date as
@@ -56,7 +56,7 @@ export declare const getMonthColumnData: (locale: string, refParts: DatetimePart
56
56
  * @param minParts The minimum bound on the date that can be returned
57
57
  * @param maxParts The maximum bound on the date that can be returned
58
58
  * @param dayValues The allowed date values
59
- * @returns Date data to be used in ion-picker-column-internal
59
+ * @returns Date data to be used in ion-picker-column
60
60
  */
61
61
  export declare const getDayColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, dayValues?: number[], formatOptions?: Intl.DateTimeFormatOptions) => PickerColumnItem[];
62
62
  export declare const getYearColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, yearValues?: number[]) => PickerColumnItem[];
@@ -21,7 +21,7 @@ export declare class Menu implements ComponentInterface, MenuI {
21
21
  isAnimating: boolean;
22
22
  width: number;
23
23
  _isOpen: boolean;
24
- backdropEl?: HTMLElement;
24
+ backdropEl?: HTMLIonBackdropElement;
25
25
  menuInnerEl?: HTMLElement;
26
26
  contentEl?: HTMLElement;
27
27
  lastFocus?: HTMLElement;
@@ -0,0 +1,8 @@
1
+ export interface PickerChangeEventDetail {
2
+ useInputMode: boolean;
3
+ inputModeColumn?: HTMLIonPickerColumnElement;
4
+ }
5
+ export interface PickerCustomEvent extends CustomEvent {
6
+ target: HTMLIonPickerElement;
7
+ detail: PickerChangeEventDetail;
8
+ }
@@ -1,158 +1,101 @@
1
1
  import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
- import type { AnimationBuilder, OverlayInterface, FrameworkDelegate } from '../../interface';
3
- import type { OverlayEventDetail } from '../../utils/overlays-interface';
4
- import type { PickerButton, PickerColumn } from './picker-interface';
2
+ import type { PickerChangeEventDetail } from './picker-interfaces';
5
3
  /**
6
4
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
7
5
  */
8
- export declare class Picker implements ComponentInterface, OverlayInterface {
9
- private readonly delegateController;
10
- private readonly lockController;
11
- private readonly triggerController;
12
- private durationTimeout?;
13
- lastFocus?: HTMLElement;
6
+ export declare class Picker implements ComponentInterface {
7
+ private inputEl?;
8
+ private useInputMode;
9
+ private inputModeColumn?;
10
+ private highlightEl?;
11
+ private actionOnClick?;
12
+ private destroyKeypressListener?;
13
+ private singleColumnSearchTimeout?;
14
14
  el: HTMLIonPickerElement;
15
- presented: boolean;
16
- /** @internal */
17
- overlayIndex: number;
18
- /** @internal */
19
- delegate?: FrameworkDelegate;
20
- /** @internal */
21
- hasController: boolean;
15
+ ionInputModeChange: EventEmitter<PickerChangeEventDetail>;
22
16
  /**
23
- * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
17
+ * When the picker is interacted with
18
+ * we need to prevent touchstart so other
19
+ * gestures do not fire. For example,
20
+ * scrolling on the wheel picker
21
+ * in ion-datetime should not cause
22
+ * a card modal to swipe to close.
24
23
  */
25
- keyboardClose: boolean;
26
- /**
27
- * Animation to use when the picker is presented.
28
- */
29
- enterAnimation?: AnimationBuilder;
30
- /**
31
- * Animation to use when the picker is dismissed.
32
- */
33
- leaveAnimation?: AnimationBuilder;
34
- /**
35
- * Array of buttons to be displayed at the top of the picker.
36
- */
37
- buttons: PickerButton[];
38
- /**
39
- * Array of columns to be displayed in the picker.
40
- */
41
- columns: PickerColumn[];
42
- /**
43
- * Additional classes to apply for custom CSS. If multiple classes are
44
- * provided they should be separated by spaces.
45
- */
46
- cssClass?: string | string[];
47
- /**
48
- * Number of milliseconds to wait before dismissing the picker.
49
- */
50
- duration: number;
51
- /**
52
- * If `true`, a backdrop will be displayed behind the picker.
53
- */
54
- showBackdrop: boolean;
55
- /**
56
- * If `true`, the picker will be dismissed when the backdrop is clicked.
57
- */
58
- backdropDismiss: boolean;
59
- /**
60
- * If `true`, the picker will animate.
61
- */
62
- animated: boolean;
63
- /**
64
- * Additional attributes to pass to the picker.
65
- */
66
- htmlAttributes?: {
67
- [key: string]: any;
68
- };
69
- /**
70
- * If `true`, the picker will open. If `false`, the picker will close.
71
- * Use this if you need finer grained control over presentation, otherwise
72
- * just use the pickerController or the `trigger` property.
73
- * Note: `isOpen` will not automatically be set back to `false` when
74
- * the picker dismisses. You will need to do that in your code.
75
- */
76
- isOpen: boolean;
77
- onIsOpenChange(newValue: boolean, oldValue: boolean): void;
78
- /**
79
- * An ID corresponding to the trigger element that
80
- * causes the picker to open when clicked.
81
- */
82
- trigger: string | undefined;
83
- triggerChanged(): void;
84
- /**
85
- * Emitted after the picker has presented.
86
- */
87
- didPresent: EventEmitter<void>;
88
- /**
89
- * Emitted before the picker has presented.
90
- */
91
- willPresent: EventEmitter<void>;
92
- /**
93
- * Emitted before the picker has dismissed.
94
- */
95
- willDismiss: EventEmitter<OverlayEventDetail>;
96
- /**
97
- * Emitted after the picker has dismissed.
98
- */
99
- didDismiss: EventEmitter<OverlayEventDetail>;
24
+ preventTouchStartPropagation(ev: TouchEvent): void;
25
+ componentWillLoad(): void;
26
+ private isInHighlightBounds;
100
27
  /**
101
- * Emitted after the picker has presented.
102
- * Shorthand for ionPickerWillDismiss.
28
+ * If we are no longer focused
29
+ * on a picker column, then we should
30
+ * exit input mode. An exception is made
31
+ * for the input in the picker since having
32
+ * that focused means we are still in input mode.
103
33
  */
104
- didPresentShorthand: EventEmitter<void>;
34
+ private onFocusOut;
105
35
  /**
106
- * Emitted before the picker has presented.
107
- * Shorthand for ionPickerWillPresent.
36
+ * When picker columns receive focus
37
+ * the parent picker needs to determine
38
+ * whether to enter/exit input mode.
108
39
  */
109
- willPresentShorthand: EventEmitter<void>;
40
+ private onFocusIn;
110
41
  /**
111
- * Emitted before the picker has dismissed.
112
- * Shorthand for ionPickerWillDismiss.
42
+ * On click we need to run an actionOnClick
43
+ * function that has been set in onPointerDown
44
+ * so that we enter/exit input mode correctly.
113
45
  */
114
- willDismissShorthand: EventEmitter<OverlayEventDetail>;
46
+ private onClick;
115
47
  /**
116
- * Emitted after the picker has dismissed.
117
- * Shorthand for ionPickerDidDismiss.
48
+ * Clicking a column also focuses the column on
49
+ * certain browsers, so we use onPointerDown
50
+ * to tell the onFocusIn function that users
51
+ * are trying to click the column rather than
52
+ * focus the column using the keyboard. When the
53
+ * user completes the click, the onClick function
54
+ * runs and runs the actionOnClick callback.
118
55
  */
119
- didDismissShorthand: EventEmitter<OverlayEventDetail>;
120
- connectedCallback(): void;
121
- disconnectedCallback(): void;
122
- componentWillLoad(): void;
123
- componentDidLoad(): void;
56
+ private onPointerDown;
124
57
  /**
125
- * Present the picker overlay after it has been created.
58
+ * Enters input mode to allow
59
+ * for text entry of numeric values.
60
+ * If on mobile, we focus a hidden input
61
+ * field so that the on screen keyboard
62
+ * is brought up. When tabbing using a
63
+ * keyboard, picker columns receive an outline
64
+ * to indicate they are focused. As a result,
65
+ * we should not focus the hidden input as it
66
+ * would cause the outline to go away, preventing
67
+ * users from having any visual indication of which
68
+ * column is focused.
126
69
  */
127
- present(): Promise<void>;
70
+ private enterInputMode;
128
71
  /**
129
- * Dismiss the picker overlay after it has been presented.
130
- *
131
- * @param data Any data to emit in the dismiss events.
132
- * @param role The role of the element that is dismissing the picker.
133
- * This can be useful in a button handler for determining which button was
134
- * clicked to dismiss the picker.
135
- * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
72
+ * @internal
73
+ * Exits text entry mode for the picker
74
+ * This method blurs the hidden input
75
+ * and cause the keyboard to dismiss.
136
76
  */
137
- dismiss(data?: any, role?: string): Promise<boolean>;
77
+ exitInputMode(): Promise<void>;
78
+ private onKeyPress;
79
+ private selectSingleColumn;
138
80
  /**
139
- * Returns a promise that resolves when the picker did dismiss.
81
+ * Searches a list of column items for a particular
82
+ * value. This is currently used for numeric values.
83
+ * The zeroBehavior can be set to account for leading
84
+ * or trailing zeros when looking at the item text.
140
85
  */
141
- onDidDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
86
+ private searchColumn;
87
+ private selectMultiColumn;
142
88
  /**
143
- * Returns a promise that resolves when the picker will dismiss.
89
+ * Searches the value of the active column
90
+ * to determine which value users are trying
91
+ * to select
144
92
  */
145
- onWillDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
93
+ private onInputChange;
146
94
  /**
147
- * Get the column that matches the specified name.
148
- *
149
- * @param name The name of the column.
95
+ * Emit ionInputModeChange. Picker columns
96
+ * listen for this event to determine whether
97
+ * or not their column is "active" for text input.
150
98
  */
151
- getColumn(name: string): Promise<PickerColumn | undefined>;
152
- private buttonClick;
153
- private callButtonHandler;
154
- private getSelected;
155
- private onBackdropTap;
156
- private dispatchCancelHandler;
99
+ private emitInputModeChange;
157
100
  render(): any;
158
101
  }
@@ -1,46 +1,112 @@
1
1
  import type { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
- import type { PickerColumn } from '../picker/picker-interface';
2
+ import type { Color } from '../../interface';
3
+ import type { PickerColumnItem } from './picker-column-interfaces';
3
4
  /**
4
- * @internal
5
+ * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
6
+ *
7
+ * @slot prefix - Content to show on the left side of the picker options.
8
+ * @slot suffix - Content to show on the right side of the picker options.
5
9
  */
6
- export declare class PickerColumnCmp implements ComponentInterface {
7
- private bounceFrom;
8
- private lastIndex?;
9
- private minY;
10
- private maxY;
11
- private optHeight;
12
- private rotateFactor;
13
- private scaleFactor;
14
- private velocity;
15
- private y;
16
- private optsEl?;
17
- private gesture?;
18
- private rafId?;
19
- private tmrId?;
20
- private noAnimate;
21
- private colDidChange;
22
- el: HTMLElement;
23
- /**
24
- * Emitted when the selected value has changed
10
+ export declare class PickerColumn implements ComponentInterface {
11
+ private scrollEl?;
12
+ private destroyScrollListener?;
13
+ private isScrolling;
14
+ private scrollEndCallback?;
15
+ private isColumnVisible;
16
+ private parentEl?;
17
+ private canExitInputMode;
18
+ isActive: boolean;
19
+ el: HTMLIonPickerColumnElement;
20
+ /**
21
+ * If `true`, the user cannot interact with the picker.
22
+ */
23
+ disabled: boolean;
24
+ /**
25
+ * A list of options to be displayed in the picker
26
+ */
27
+ items: PickerColumnItem[];
28
+ /**
29
+ * The selected option in the picker.
30
+ */
31
+ value?: string | number;
32
+ /**
33
+ * The color to use from your application's color palette.
34
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
35
+ * For more information on colors, see [theming](/docs/theming/basics).
36
+ */
37
+ color?: Color;
38
+ /**
39
+ * If `true`, tapping the picker will
40
+ * reveal a number input keyboard that lets
41
+ * the user type in values for each picker
42
+ * column. This is useful when working
43
+ * with time pickers.
44
+ *
45
+ * @internal
46
+ */
47
+ numericInput: boolean;
48
+ /**
49
+ * Emitted when the value has changed.
50
+ */
51
+ ionChange: EventEmitter<{
52
+ value: string | number | undefined;
53
+ }>;
54
+ valueChange(): void;
55
+ /**
56
+ * Only setup scroll listeners
57
+ * when the picker is visible, otherwise
58
+ * the container will have a scroll
59
+ * height of 0px.
60
+ */
61
+ componentWillLoad(): void;
62
+ componentDidRender(): void;
63
+ /** @internal */
64
+ scrollActiveItemIntoView(): Promise<void>;
65
+ /**
66
+ * Sets the value prop and fires the ionChange event.
67
+ * This is used when we need to fire ionChange from
68
+ * user-generated events that cannot be caught with normal
69
+ * input/change event listeners.
25
70
  * @internal
26
71
  */
27
- ionPickerColChange: EventEmitter<PickerColumn>;
28
- /** Picker column data */
29
- col: PickerColumn;
30
- protected colChanged(): void;
31
- connectedCallback(): Promise<void>;
32
- componentDidLoad(): void;
33
- componentDidUpdate(): void;
34
- disconnectedCallback(): void;
35
- private emitColChange;
36
- private setSelected;
37
- private update;
38
- private decelerate;
39
- private indexForY;
40
- private onStart;
41
- private onMove;
42
- private onEnd;
43
- private refresh;
44
- private onDomChange;
72
+ setValue(value?: string | number): Promise<void>;
73
+ /**
74
+ * Sets focus on the scrollable container within the picker column.
75
+ * Use this method instead of the global `pickerColumn.focus()`.
76
+ */
77
+ setFocus(): Promise<void>;
78
+ private centerPickerItemInView;
79
+ private setPickerItemActiveState;
80
+ /**
81
+ * When ionInputModeChange is emitted, each column
82
+ * needs to check if it is the one being made available
83
+ * for text entry.
84
+ */
85
+ private inputModeChange;
86
+ /**
87
+ * Setting isActive will cause a re-render.
88
+ * As a result, we do not want to cause the
89
+ * re-render mid scroll as this will cause
90
+ * the picker column to jump back to
91
+ * whatever value was selected at the
92
+ * start of the scroll interaction.
93
+ */
94
+ private setInputModeActive;
95
+ /**
96
+ * When the column scrolls, the component
97
+ * needs to determine which item is centered
98
+ * in the view and will emit an ionChange with
99
+ * the item object.
100
+ */
101
+ private initializeScrollListener;
102
+ /**
103
+ * Tells the parent picker to
104
+ * exit text entry mode. This is only called
105
+ * when the selected item changes during scroll, so
106
+ * we know that the user likely wants to scroll
107
+ * instead of type.
108
+ */
109
+ private exitInputMode;
110
+ get activeItem(): HTMLIonPickerColumnOptionElement | undefined;
45
111
  render(): any;
46
112
  }
@@ -0,0 +1,66 @@
1
+ import type { ComponentInterface } from '../../stencil-public-runtime';
2
+ import type { Color } from '../../interface';
3
+ export declare class PickerColumnOption implements ComponentInterface {
4
+ /**
5
+ * We keep track of the parent picker column
6
+ * so we can update the value of it when
7
+ * clicking an enable option.
8
+ */
9
+ private pickerColumn;
10
+ el: HTMLElement;
11
+ /**
12
+ * The aria-label of the option.
13
+ *
14
+ * If the value changes, then it will trigger a
15
+ * re-render of the picker since it's a @State variable.
16
+ * Otherwise, the `aria-label` attribute cannot be updated
17
+ * after the component is loaded.
18
+ */
19
+ ariaLabel?: string | null;
20
+ /**
21
+ * If `true`, the user cannot interact with the picker column option.
22
+ */
23
+ disabled: boolean;
24
+ /**
25
+ * The text value of the option.
26
+ */
27
+ value?: any | null;
28
+ /**
29
+ * The color to use from your application's color palette.
30
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
31
+ * For more information on colors, see [theming](/docs/theming/basics).
32
+ */
33
+ color?: Color;
34
+ /**
35
+ * The aria-label of the option has changed after the
36
+ * first render and needs to be updated within the component.
37
+ *
38
+ * @param ariaLbl The new aria-label value.
39
+ */
40
+ onAriaLabelChange(ariaLbl: string): void;
41
+ componentWillLoad(): void;
42
+ connectedCallback(): void;
43
+ disconnectedCallback(): void;
44
+ /**
45
+ * The column options can load at any time
46
+ * so the options needs to tell the
47
+ * parent picker column when it is loaded
48
+ * so the picker column can ensure it is
49
+ * centered in the view.
50
+ *
51
+ * We intentionally run this for every
52
+ * option. If we only ran this from
53
+ * the selected option then if the newly
54
+ * loaded options were not selected then
55
+ * scrollActiveItemIntoView would not be called.
56
+ */
57
+ componentDidLoad(): void;
58
+ /**
59
+ * When an option is clicked update the
60
+ * parent picker column value. This
61
+ * component will handle centering the option
62
+ * in the column view.
63
+ */
64
+ onClick(): void;
65
+ render(): any;
66
+ }