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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/components/backdrop.js +0 -12
  2. package/components/button.js +2 -2
  3. package/components/data.js +1 -1
  4. package/components/gesture-controller.js +1 -1
  5. package/components/ion-content.js +1 -1
  6. package/components/ion-datetime.js +40 -64
  7. package/components/ion-picker-column-option.d.ts +11 -0
  8. package/components/ion-picker-column-option.js +9 -0
  9. package/components/ion-picker-column.js +2 -2
  10. package/components/ion-picker-legacy-column.d.ts +11 -0
  11. package/components/ion-picker-legacy-column.js +9 -0
  12. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  13. package/components/ion-picker-legacy.js +309 -0
  14. package/components/ion-picker.js +1 -309
  15. package/components/overlays.js +11 -4
  16. package/components/picker-column-option.js +122 -0
  17. package/components/picker-column.js +351 -322
  18. package/components/picker-column2.js +379 -0
  19. package/components/{picker-internal.js → picker.js} +29 -22
  20. package/dist/cjs/{app-globals-cd7be47d.js → app-globals-7def22c8.js} +1 -1
  21. package/dist/cjs/{button-active-21b0334e.js → button-active-5bf1cac0.js} +2 -2
  22. package/dist/cjs/{data-a5109f09.js → data-e2bf21de.js} +1 -1
  23. package/dist/cjs/{gesture-controller-c40c045a.js → gesture-controller-9436f482.js} +1 -0
  24. package/dist/cjs/{index-862c03dc.js → index-17ab7794.js} +3 -3
  25. package/dist/cjs/{index-4e68b270.js → index-3b012034.js} +1 -1
  26. package/dist/cjs/{index-1699be56.js → index-50dcfe2f.js} +16 -24
  27. package/dist/cjs/{index-d1b59ffa.js → index-ee07ed59.js} +1 -1
  28. package/dist/cjs/index.cjs.js +9 -9
  29. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  30. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  31. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  32. package/dist/cjs/ion-app_8.cjs.entry.js +6 -6
  33. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -14
  36. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-button_2.cjs.entry.js +4 -4
  38. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-datetime-button.cjs.entry.js +3 -3
  43. package/dist/cjs/ion-datetime_3.cjs.entry.js +39 -59
  44. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  48. package/dist/cjs/ion-item-option_3.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-loading.cjs.entry.js +4 -3
  51. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  52. package/dist/cjs/ion-modal.cjs.entry.js +6 -6
  53. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  55. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +106 -89
  56. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +27 -20
  57. package/dist/cjs/ion-popover.cjs.entry.js +5 -4
  58. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  61. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  62. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  63. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-searchbar.cjs.entry.js +3 -3
  66. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  67. package/dist/cjs/ion-select_3.cjs.entry.js +5 -4
  68. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  75. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  76. package/dist/cjs/{ionic-global-592bef9e.js → ionic-global-a4edbf03.js} +1 -1
  77. package/dist/cjs/ionic.cjs.js +5 -5
  78. package/dist/cjs/{ios.transition-1ac35be5.js → ios.transition-b5353f3e.js} +2 -2
  79. package/dist/cjs/loader.cjs.js +4 -4
  80. package/dist/cjs/{md.transition-df2947e8.js → md.transition-67157dd9.js} +2 -2
  81. package/dist/cjs/{overlays-e10edfa0.js → overlays-7773cbe1.js} +12 -5
  82. package/dist/cjs/{status-tap-23a3173f.js → status-tap-b5d77c08.js} +1 -1
  83. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-b8f2330b.js} +2 -2
  84. package/dist/collection/collection-manifest.json +8 -7
  85. package/dist/collection/components/accordion-group/accordion-group.js +4 -6
  86. package/dist/collection/components/action-sheet/action-sheet.js +10 -6
  87. package/dist/collection/components/alert/alert.js +10 -6
  88. package/dist/collection/components/app/app.js +2 -3
  89. package/dist/collection/components/backdrop/backdrop.js +0 -12
  90. package/dist/collection/components/button/button.ios.css +1 -1
  91. package/dist/collection/components/button/button.md.css +1 -1
  92. package/dist/collection/components/button/test/wrap/button.e2e.js +12 -24
  93. package/dist/collection/components/content/content.css +0 -4
  94. package/dist/collection/components/content/content.js +40 -24
  95. package/dist/collection/components/datetime/datetime.ios.css +91 -38
  96. package/dist/collection/components/datetime/datetime.js +30 -45
  97. package/dist/collection/components/datetime/datetime.md.css +96 -38
  98. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  99. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  100. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  101. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  102. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  103. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  104. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  105. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  106. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  107. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  108. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +4 -4
  109. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  110. package/dist/collection/components/datetime/utils/data.js +1 -1
  111. package/dist/collection/components/icon/test/dir/heart-broken.svg +0 -0
  112. package/dist/collection/components/item/test/icons/heart-broken.svg +0 -0
  113. package/dist/collection/components/item-sliding/item-sliding.js +5 -3
  114. package/dist/collection/components/loading/loading.js +10 -6
  115. package/dist/collection/components/menu/menu.js +10 -15
  116. package/dist/collection/components/modal/modal.js +12 -9
  117. package/dist/collection/components/nav/nav.js +190 -114
  118. package/dist/collection/components/picker/picker.ios.css +112 -211
  119. package/dist/collection/components/picker/picker.js +472 -738
  120. package/dist/collection/components/picker/picker.md.css +108 -198
  121. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  122. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  123. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  124. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  125. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  126. package/dist/collection/components/picker-column/picker-column.js +497 -335
  127. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  128. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  129. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  130. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  131. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  132. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  133. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  134. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  135. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  136. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  137. package/dist/collection/components/picker-legacy/picker.js +817 -0
  138. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  139. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  140. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  141. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  142. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  143. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  144. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  145. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  146. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  147. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  148. package/dist/collection/components/popover/popover.js +21 -18
  149. package/dist/collection/components/radio/radio.js +4 -6
  150. package/dist/collection/components/refresher/refresher.js +0 -3
  151. package/dist/collection/components/reorder-group/reorder-group.js +5 -3
  152. package/dist/collection/components/ripple-effect/ripple-effect.js +10 -6
  153. package/dist/collection/components/router/router.js +14 -12
  154. package/dist/collection/components/router-outlet/router-outlet.js +14 -21
  155. package/dist/collection/components/select/select.js +5 -3
  156. package/dist/collection/components/tabs/tabs.js +12 -9
  157. package/dist/collection/components/toast/toast.js +10 -6
  158. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  159. package/dist/collection/utils/overlays.js +11 -4
  160. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  161. package/dist/docs.d.ts +21 -1
  162. package/dist/docs.json +1050 -812
  163. package/dist/esm/{app-globals-736d53f6.js → app-globals-8c62bec2.js} +1 -1
  164. package/dist/esm/{button-active-7836d6bf.js → button-active-48379dd2.js} +2 -2
  165. package/dist/esm/{data-775093f5.js → data-6a31d701.js} +1 -1
  166. package/dist/esm/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  167. package/dist/esm/{index-c4ebf628.js → index-1193f005.js} +1 -1
  168. package/dist/esm/{index-2cf77112.js → index-39782642.js} +2 -2
  169. package/dist/esm/{index-6b0e432e.js → index-4743453d.js} +3 -3
  170. package/dist/esm/{index-78d39194.js → index-b7d870cf.js} +16 -24
  171. package/dist/esm/index.js +9 -9
  172. package/dist/esm/ion-accordion_2.entry.js +3 -3
  173. package/dist/esm/ion-action-sheet.entry.js +6 -6
  174. package/dist/esm/ion-alert.entry.js +6 -6
  175. package/dist/esm/ion-app_8.entry.js +6 -6
  176. package/dist/esm/ion-avatar_3.entry.js +2 -2
  177. package/dist/esm/ion-back-button.entry.js +3 -3
  178. package/dist/esm/ion-backdrop.entry.js +2 -14
  179. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  180. package/dist/esm/ion-button_2.entry.js +4 -4
  181. package/dist/esm/ion-card_5.entry.js +2 -2
  182. package/dist/esm/ion-checkbox.entry.js +2 -2
  183. package/dist/esm/ion-chip.entry.js +2 -2
  184. package/dist/esm/ion-col_3.entry.js +2 -2
  185. package/dist/esm/ion-datetime-button.entry.js +3 -3
  186. package/dist/esm/ion-datetime_3.entry.js +38 -58
  187. package/dist/esm/ion-fab_3.entry.js +3 -3
  188. package/dist/esm/ion-img.entry.js +2 -2
  189. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  190. package/dist/esm/ion-input.entry.js +3 -3
  191. package/dist/esm/ion-item-option_3.entry.js +3 -3
  192. package/dist/esm/ion-item_8.entry.js +3 -3
  193. package/dist/esm/ion-loading.entry.js +4 -3
  194. package/dist/esm/ion-menu_3.entry.js +7 -7
  195. package/dist/esm/ion-modal.entry.js +6 -6
  196. package/dist/esm/ion-nav_2.entry.js +4 -4
  197. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  198. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +106 -89
  199. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +27 -20
  200. package/dist/esm/ion-popover.entry.js +5 -4
  201. package/dist/esm/ion-progress-bar.entry.js +2 -2
  202. package/dist/esm/ion-radio_2.entry.js +2 -2
  203. package/dist/esm/ion-range.entry.js +3 -3
  204. package/dist/esm/ion-refresher_2.entry.js +6 -6
  205. package/dist/esm/ion-reorder_2.entry.js +4 -4
  206. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  207. package/dist/esm/ion-route_4.entry.js +2 -2
  208. package/dist/esm/ion-searchbar.entry.js +3 -3
  209. package/dist/esm/ion-segment_2.entry.js +3 -3
  210. package/dist/esm/ion-select_3.entry.js +5 -4
  211. package/dist/esm/ion-spinner.entry.js +2 -2
  212. package/dist/esm/ion-split-pane.entry.js +2 -2
  213. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  214. package/dist/esm/ion-tab_2.entry.js +1 -1
  215. package/dist/esm/ion-text.entry.js +2 -2
  216. package/dist/esm/ion-textarea.entry.js +2 -2
  217. package/dist/esm/ion-toast.entry.js +5 -5
  218. package/dist/esm/ion-toggle.entry.js +4 -4
  219. package/dist/esm/{ionic-global-6270e632.js → ionic-global-1f99b929.js} +1 -1
  220. package/dist/esm/ionic.js +6 -6
  221. package/dist/esm/{ios.transition-cfb6d320.js → ios.transition-3376ccb2.js} +2 -2
  222. package/dist/esm/loader.js +5 -5
  223. package/dist/esm/{md.transition-77e73830.js → md.transition-f992779f.js} +2 -2
  224. package/dist/esm/{overlays-55cf1508.js → overlays-94dac1cb.js} +12 -5
  225. package/dist/esm/polyfills/core-js.js +0 -0
  226. package/dist/esm/polyfills/dom.js +0 -0
  227. package/dist/esm/polyfills/es5-html-element.js +0 -0
  228. package/dist/esm/polyfills/index.js +0 -0
  229. package/dist/esm/polyfills/system.js +0 -0
  230. package/dist/esm/{status-tap-92380b33.js → status-tap-16fd8f3d.js} +1 -1
  231. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-a8ca7f93.js} +2 -2
  232. package/dist/esm-es5/app-globals-8c62bec2.js +4 -0
  233. package/dist/esm-es5/{button-active-7836d6bf.js → button-active-48379dd2.js} +1 -1
  234. package/dist/esm-es5/{gesture-controller-1bf57181.js → gesture-controller-314a54f6.js} +1 -1
  235. package/dist/esm-es5/{index-c4ebf628.js → index-1193f005.js} +1 -1
  236. package/dist/esm-es5/{index-2cf77112.js → index-39782642.js} +1 -1
  237. package/dist/esm-es5/{index-6b0e432e.js → index-4743453d.js} +1 -1
  238. package/dist/esm-es5/index-b7d870cf.js +5 -0
  239. package/dist/esm-es5/index.js +1 -1
  240. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  241. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  242. package/dist/esm-es5/ion-alert.entry.js +1 -1
  243. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  244. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  245. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  246. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  247. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  248. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  249. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  250. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  251. package/dist/esm-es5/ion-chip.entry.js +1 -1
  252. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  253. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  254. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  255. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  256. package/dist/esm-es5/ion-img.entry.js +1 -1
  257. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  258. package/dist/esm-es5/ion-input.entry.js +1 -1
  259. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  260. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  261. package/dist/esm-es5/ion-loading.entry.js +1 -1
  262. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  263. package/dist/esm-es5/ion-modal.entry.js +1 -1
  264. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  265. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  266. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  267. package/dist/esm-es5/ion-picker.entry.js +4 -0
  268. package/dist/esm-es5/ion-popover.entry.js +1 -1
  269. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  270. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  271. package/dist/esm-es5/ion-range.entry.js +1 -1
  272. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  273. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  274. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  275. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  276. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  277. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  278. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  279. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  280. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  281. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  282. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  283. package/dist/esm-es5/ion-text.entry.js +1 -1
  284. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  285. package/dist/esm-es5/ion-toast.entry.js +1 -1
  286. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  287. package/dist/esm-es5/{ionic-global-6270e632.js → ionic-global-1f99b929.js} +1 -1
  288. package/dist/esm-es5/ionic.js +1 -1
  289. package/dist/esm-es5/{ios.transition-cfb6d320.js → ios.transition-3376ccb2.js} +1 -1
  290. package/dist/esm-es5/loader.js +1 -1
  291. package/dist/esm-es5/md.transition-f992779f.js +4 -0
  292. package/dist/esm-es5/overlays-94dac1cb.js +4 -0
  293. package/dist/esm-es5/{status-tap-92380b33.js → status-tap-16fd8f3d.js} +1 -1
  294. package/dist/esm-es5/swipe-back-a8ca7f93.js +4 -0
  295. package/dist/html.html-data.json +152 -13
  296. package/dist/ionic/index.esm.js +1 -1
  297. package/dist/ionic/ionic.esm.js +1 -1
  298. package/dist/ionic/ionic.js +1 -1
  299. package/dist/ionic/{p-70dd9d79.js → p-04377cfa.js} +1 -1
  300. package/dist/ionic/{p-f7cb002f.system.entry.js → p-043aa6cc.system.entry.js} +1 -1
  301. package/dist/ionic/{p-394865a5.js → p-0509fd34.js} +1 -1
  302. package/dist/ionic/{p-8345c94e.entry.js → p-0550f802.entry.js} +1 -1
  303. package/dist/ionic/{p-3ef606fa.system.js → p-0aa78a8d.system.js} +1 -1
  304. package/dist/ionic/{p-a692f502.entry.js → p-0cc80201.entry.js} +1 -1
  305. package/dist/ionic/{p-149c8c11.system.entry.js → p-0dfa4ab4.system.entry.js} +1 -1
  306. package/dist/ionic/{p-b710b39c.system.entry.js → p-0e908476.system.entry.js} +1 -1
  307. package/dist/ionic/{p-61cdea9d.system.entry.js → p-0ebc87b7.system.entry.js} +1 -1
  308. package/dist/ionic/{p-e5a6f367.entry.js → p-10339dcc.entry.js} +1 -1
  309. package/dist/ionic/{p-aa4e59fb.system.entry.js → p-11bf2ad0.system.entry.js} +1 -1
  310. package/dist/ionic/{p-6e58bc9b.system.js → p-11c55ac8.system.js} +1 -1
  311. package/dist/ionic/{p-26af79a8.entry.js → p-13d4dfe7.entry.js} +1 -1
  312. package/dist/ionic/{p-c491c7ce.system.js → p-1501b945.system.js} +1 -1
  313. package/dist/ionic/{p-ef2445a2.system.entry.js → p-19c379da.system.entry.js} +1 -1
  314. package/dist/ionic/{p-6d74d882.system.js → p-19d9ceb8.system.js} +1 -1
  315. package/dist/ionic/{p-8f1e7b4c.system.js → p-1ab2642a.system.js} +1 -1
  316. package/dist/ionic/{p-ca2ea280.entry.js → p-1b14f0f8.entry.js} +1 -1
  317. package/dist/ionic/p-1b60cc53.js +4 -0
  318. package/dist/ionic/{p-d9b88ba6.entry.js → p-20755eb0.entry.js} +1 -1
  319. package/dist/ionic/{p-c7c8429a.system.js → p-20d469d0.system.js} +1 -1
  320. package/dist/ionic/{p-93c75152.system.entry.js → p-20e0e75d.system.entry.js} +1 -1
  321. package/dist/ionic/{p-2c7ee8fe.system.entry.js → p-25312768.system.entry.js} +1 -1
  322. package/dist/ionic/{p-4b3d1d68.entry.js → p-26c4bf85.entry.js} +1 -1
  323. package/dist/ionic/p-26ff1180.entry.js +4 -0
  324. package/dist/ionic/p-290d3fe9.js +5 -0
  325. package/dist/ionic/p-2f449cdf.system.entry.js +4 -0
  326. package/dist/ionic/{p-12a41623.entry.js → p-3313c481.entry.js} +1 -1
  327. package/dist/ionic/{p-42eaba59.system.entry.js → p-332ea4d3.system.entry.js} +1 -1
  328. package/dist/ionic/p-3717e641.system.entry.js +4 -0
  329. package/dist/ionic/{p-1ccbe3ee.system.entry.js → p-38531958.system.entry.js} +1 -1
  330. package/dist/ionic/{p-ec49bd1f.system.entry.js → p-3af5faf8.system.entry.js} +1 -1
  331. package/dist/ionic/{p-ca6fb31a.system.entry.js → p-3b434dee.system.entry.js} +1 -1
  332. package/dist/ionic/{p-ed3b7404.entry.js → p-3dfc522b.entry.js} +1 -1
  333. package/dist/ionic/{p-31b2326e.system.js → p-3e1e14d9.system.js} +1 -1
  334. package/dist/ionic/{p-dbe4f2bc.system.entry.js → p-41208f54.system.entry.js} +1 -1
  335. package/dist/ionic/{p-c2e60d23.system.entry.js → p-42925096.system.entry.js} +1 -1
  336. package/dist/ionic/{p-e6327ff5.system.entry.js → p-4489dd20.system.entry.js} +1 -1
  337. package/dist/ionic/{p-f501137d.js → p-44a56556.js} +1 -1
  338. package/dist/ionic/{p-47c90ee4.entry.js → p-44dc52e5.entry.js} +1 -1
  339. package/dist/ionic/{p-322e9039.system.entry.js → p-4685218a.system.entry.js} +1 -1
  340. package/dist/ionic/{p-990912bd.system.entry.js → p-4793c14c.system.entry.js} +1 -1
  341. package/dist/ionic/{p-0a617e59.system.entry.js → p-4981ea0a.system.entry.js} +1 -1
  342. package/dist/ionic/p-51abefb7.system.js +4 -0
  343. package/dist/ionic/{p-00afbe80.entry.js → p-529b24fb.entry.js} +1 -1
  344. package/dist/ionic/{p-10f2a748.system.js → p-52cfafe9.system.js} +1 -1
  345. package/dist/ionic/{p-c66b0166.system.js → p-5ad1fe3b.system.js} +1 -1
  346. package/dist/ionic/{p-a13d22c3.system.entry.js → p-5ff211d0.system.entry.js} +1 -1
  347. package/dist/ionic/{p-ce7ef475.entry.js → p-60959b71.entry.js} +1 -1
  348. package/dist/ionic/{p-cea29c88.entry.js → p-61e4d3ec.entry.js} +1 -1
  349. package/dist/ionic/{p-6eb35f60.entry.js → p-642ac927.entry.js} +1 -1
  350. package/dist/ionic/{p-a610605e.entry.js → p-6855f26a.entry.js} +1 -1
  351. package/dist/ionic/{p-5d5d621a.system.entry.js → p-69641343.system.entry.js} +1 -1
  352. package/dist/ionic/{p-d7da1178.system.entry.js → p-6e0539ea.system.entry.js} +1 -1
  353. package/dist/ionic/{p-3d0221e5.system.entry.js → p-6e4c7340.system.entry.js} +1 -1
  354. package/dist/ionic/p-71483cbb.entry.js +4 -0
  355. package/dist/ionic/p-75a3e35b.entry.js +4 -0
  356. package/dist/ionic/p-77d78f68.system.entry.js +4 -0
  357. package/dist/ionic/{p-d3f2db71.entry.js → p-799da666.entry.js} +1 -1
  358. package/dist/ionic/{p-c8237c3c.system.entry.js → p-7be412e8.system.entry.js} +1 -1
  359. package/dist/ionic/p-7c0d778d.system.js +4 -0
  360. package/dist/ionic/{p-c661d124.entry.js → p-7dcf795f.entry.js} +1 -1
  361. package/dist/ionic/{p-e89d7c8a.js → p-7fae5c36.js} +1 -1
  362. package/dist/ionic/{p-9b837aa0.entry.js → p-803efb5d.entry.js} +1 -1
  363. package/dist/ionic/{p-22c7b943.entry.js → p-806a9810.entry.js} +1 -1
  364. package/dist/ionic/{p-e579a727.entry.js → p-80c6c078.entry.js} +1 -1
  365. package/dist/ionic/{p-494983ab.entry.js → p-84b567a6.entry.js} +1 -1
  366. package/dist/ionic/p-8ad6d643.entry.js +4 -0
  367. package/dist/ionic/{p-2bdd791d.system.entry.js → p-8ce4e506.system.entry.js} +1 -1
  368. package/dist/ionic/{p-f5d2dc9b.js → p-8ededb41.js} +1 -1
  369. package/dist/ionic/p-9164a09d.entry.js +4 -0
  370. package/dist/ionic/{p-ca730236.entry.js → p-928ee57a.entry.js} +1 -1
  371. package/dist/ionic/{p-754bcac2.entry.js → p-92bfb607.entry.js} +1 -1
  372. package/dist/ionic/{p-106e9ce9.entry.js → p-92d35b6a.entry.js} +1 -1
  373. package/dist/ionic/{p-b794b87a.entry.js → p-950c05ad.entry.js} +1 -1
  374. package/dist/ionic/{p-a74e7199.system.entry.js → p-964dcdb2.system.entry.js} +1 -1
  375. package/dist/ionic/{p-a2cd14c6.js → p-97174c1e.js} +1 -1
  376. package/dist/ionic/p-98f35d98.js +4 -0
  377. package/dist/ionic/{p-4fbc0c3b.system.js → p-9a68d8ef.system.js} +1 -1
  378. package/dist/ionic/{p-bb3615f7.js → p-9b97df10.js} +1 -1
  379. package/dist/ionic/{p-28a04f26.system.js → p-9f94c72e.system.js} +1 -1
  380. package/dist/ionic/{p-de161adf.entry.js → p-9fb45814.entry.js} +1 -1
  381. package/dist/ionic/p-a06501e3.entry.js +4 -0
  382. package/dist/ionic/{p-0029c932.system.js → p-a074be82.system.js} +1 -1
  383. package/dist/ionic/p-a1bd098f.system.entry.js +4 -0
  384. package/dist/ionic/{p-b62c0f2e.entry.js → p-a3013394.entry.js} +1 -1
  385. package/dist/ionic/p-a41eaff2.system.entry.js +4 -0
  386. package/dist/ionic/{p-f30eb152.system.js → p-a49931aa.system.js} +1 -1
  387. package/dist/ionic/p-a60a1ce5.js +4 -0
  388. package/dist/ionic/{p-336ea079.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
  389. package/dist/ionic/{p-e4d320f7.entry.js → p-ae4b7df8.entry.js} +1 -1
  390. package/dist/ionic/{p-b3931df6.entry.js → p-b2b5d761.entry.js} +1 -1
  391. package/dist/ionic/{p-82e7b12b.system.entry.js → p-b7058a0e.system.entry.js} +1 -1
  392. package/dist/ionic/{p-e3f8c30f.system.entry.js → p-b8a9e195.system.entry.js} +1 -1
  393. package/dist/ionic/{p-220ba811.entry.js → p-ba5d9e27.entry.js} +1 -1
  394. package/dist/ionic/{p-36704958.entry.js → p-bb3fd397.entry.js} +1 -1
  395. package/dist/ionic/{p-aa75cca3.entry.js → p-bec6ae40.entry.js} +1 -1
  396. package/dist/ionic/{p-909a997a.system.entry.js → p-beed2450.system.entry.js} +1 -1
  397. package/dist/ionic/{p-a0f9488c.system.entry.js → p-beeed22c.system.entry.js} +1 -1
  398. package/dist/ionic/p-c001b24f.entry.js +4 -0
  399. package/dist/ionic/{p-3dd34db9.entry.js → p-c01803db.entry.js} +1 -1
  400. package/dist/ionic/{p-532acc35.entry.js → p-c08fe2c0.entry.js} +1 -1
  401. package/dist/ionic/p-c19bf524.entry.js +4 -0
  402. package/dist/ionic/p-c6176849.system.entry.js +4 -0
  403. package/dist/ionic/{p-72ad8f87.system.entry.js → p-cb8dff22.system.entry.js} +1 -1
  404. package/dist/ionic/{p-4b6089e6.js → p-cd574dfa.js} +1 -1
  405. package/dist/ionic/p-cf350317.entry.js +4 -0
  406. package/dist/ionic/{p-7c7ffd26.entry.js → p-cf53213c.entry.js} +1 -1
  407. package/dist/ionic/{p-33a569df.system.entry.js → p-d2634efe.system.entry.js} +1 -1
  408. package/dist/ionic/{p-be650493.system.entry.js → p-d93eed83.system.entry.js} +1 -1
  409. package/dist/ionic/{p-e292e49b.system.entry.js → p-da666998.system.entry.js} +1 -1
  410. package/dist/ionic/{p-0f244e47.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
  411. package/dist/ionic/p-dc63dccb.system.entry.js +4 -0
  412. package/dist/ionic/{p-39d6d212.system.entry.js → p-e2737fef.system.entry.js} +1 -1
  413. package/dist/ionic/p-e2903cdc.system.entry.js +4 -0
  414. package/dist/ionic/{p-26afb1cb.entry.js → p-e33d1ebc.entry.js} +1 -1
  415. package/dist/ionic/{p-478c4f2e.entry.js → p-ed8402d6.entry.js} +1 -1
  416. package/dist/ionic/{p-7fb31fb2.system.entry.js → p-f0504446.system.entry.js} +1 -1
  417. package/dist/ionic/p-f0717d98.js +4 -0
  418. package/dist/ionic/p-f0dea903.system.entry.js +4 -0
  419. package/dist/ionic/p-f60807dd.system.entry.js +4 -0
  420. package/dist/ionic/p-f8c5008f.entry.js +4 -0
  421. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +144 -0
  422. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  423. package/dist/types/components/datetime/datetime.d.ts +0 -1
  424. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  425. package/dist/types/components/menu/menu.d.ts +1 -1
  426. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  427. package/dist/types/components/picker/picker.d.ts +75 -129
  428. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  429. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  430. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  431. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  432. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  433. package/dist/types/components/refresher/refresher.d.ts +0 -3
  434. package/dist/types/components.d.ts +154 -130
  435. package/dist/types/interface.d.ts +1 -1
  436. package/dist/types/utils/config.d.ts +2 -2
  437. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  438. package/dist/types/utils/overlays.d.ts +5 -2
  439. package/dist/types/utils/test/platform.utils.d.ts +9 -9
  440. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -1
  441. package/hydrate/index.d.ts +1 -1
  442. package/hydrate/index.js +1083 -2677
  443. package/package.json +32 -34
  444. package/components/ion-picker-column-internal.d.ts +0 -11
  445. package/components/ion-picker-column-internal.js +0 -9
  446. package/components/ion-picker-internal.js +0 -9
  447. package/components/picker-column-internal.js +0 -390
  448. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -566
  449. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  450. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  451. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  452. package/dist/esm-es5/app-globals-736d53f6.js +0 -4
  453. package/dist/esm-es5/index-78d39194.js +0 -5
  454. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  455. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  456. package/dist/esm-es5/md.transition-77e73830.js +0 -4
  457. package/dist/esm-es5/overlays-55cf1508.js +0 -4
  458. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  459. package/dist/ionic/p-026707ab.js +0 -4
  460. package/dist/ionic/p-22e959cb.entry.js +0 -4
  461. package/dist/ionic/p-2c7cce0a.entry.js +0 -4
  462. package/dist/ionic/p-35ce400e.system.js +0 -4
  463. package/dist/ionic/p-38be1c0f.system.entry.js +0 -4
  464. package/dist/ionic/p-4225fa09.js +0 -4
  465. package/dist/ionic/p-45e296d3.system.entry.js +0 -4
  466. package/dist/ionic/p-586de692.system.entry.js +0 -4
  467. package/dist/ionic/p-5eea0433.system.entry.js +0 -4
  468. package/dist/ionic/p-60a574c1.entry.js +0 -4
  469. package/dist/ionic/p-6a6477b2.js +0 -4
  470. package/dist/ionic/p-73f47fce.system.entry.js +0 -4
  471. package/dist/ionic/p-76cab6f8.js +0 -4
  472. package/dist/ionic/p-7c057cbc.entry.js +0 -4
  473. package/dist/ionic/p-7e07c38f.js +0 -5
  474. package/dist/ionic/p-86b88102.system.entry.js +0 -4
  475. package/dist/ionic/p-8ac48377.system.entry.js +0 -4
  476. package/dist/ionic/p-9e098902.entry.js +0 -4
  477. package/dist/ionic/p-a37e738b.system.js +0 -4
  478. package/dist/ionic/p-abcd194b.system.entry.js +0 -4
  479. package/dist/ionic/p-b74c1510.entry.js +0 -4
  480. package/dist/ionic/p-cd9c4ffe.system.entry.js +0 -4
  481. package/dist/ionic/p-d6f34fe9.entry.js +0 -4
  482. package/dist/ionic/p-de3aa772.entry.js +0 -4
  483. package/dist/ionic/p-ffb54fd5.entry.js +0 -4
  484. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  485. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  486. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  487. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  488. /package/dist/cjs/{index-677c4d13.js → index-09471526.js} +0 -0
  489. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  490. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  491. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  492. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  493. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  494. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  495. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  496. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  497. /package/dist/esm/{index-4d016006.js → index-c132c5f1.js} +0 -0
  498. /package/dist/esm-es5/{data-775093f5.js → data-6a31d701.js} +0 -0
  499. /package/dist/esm-es5/{index-4d016006.js → index-c132c5f1.js} +0 -0
  500. /package/dist/ionic/{p-87bb3735.system.js → p-7ff4359e.system.js} +0 -0
  501. /package/dist/ionic/{p-0c55ffe1.system.js → p-8050b9b9.system.js} +0 -0
  502. /package/dist/ionic/{p-18cae04f.js → p-a64accf5.js} +0 -0
  503. /package/dist/ionic/{p-e90d610c.js → p-ea96fa73.js} +0 -0
  504. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  505. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  506. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  507. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -0,0 +1,144 @@
1
+ :host {
2
+ display: inline-block;
3
+
4
+ width: 1em;
5
+ height: 1em;
6
+
7
+ contain: strict;
8
+
9
+ fill: currentColor;
10
+
11
+ box-sizing: content-box !important;
12
+
13
+ }
14
+
15
+ :host .ionicon {
16
+ stroke: currentColor;
17
+ }
18
+
19
+ .ionicon-fill-none {
20
+ fill: none;
21
+ }
22
+
23
+ .ionicon-stroke-width {
24
+ stroke-width: 32px;
25
+ stroke-width: var(--ionicon-stroke-width, 32px);
26
+ }
27
+
28
+ .icon-inner,
29
+ .ionicon,
30
+ svg {
31
+ display: block;
32
+
33
+ height: 100%;
34
+ width: 100%;
35
+ }
36
+
37
+ /* Icon RTL
38
+ * -----------------------------------------------------------
39
+ */
40
+
41
+ /**
42
+ * Safari <16.4 incorrectly reports
43
+ * that it supports :dir(rtl) when it does not.
44
+ * This @supports statement lets us target
45
+ * WebKit browsers to apply the RTL fallback.
46
+ * -webkit-named-image only exists on WebKit.
47
+ * For WebKit browsers that do support :dir(rtl)
48
+ * (i.e. Safari >= 16.4) then the :dir(rtl)
49
+ * code farther down on the page will take
50
+ * effect and override this fallback.
51
+ */
52
+ @supports (background: -webkit-named-image(i)) {
53
+ :host(.icon-rtl) .icon-inner {
54
+ transform: scaleX(-1);
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Fallback for browsers that support
60
+ * neither :host-context nor :dir.
61
+ * The icon will not react to dir
62
+ * changes, but it will at least
63
+ * respect the dir on component load.
64
+ */
65
+ @supports not selector(:dir(rtl)) and selector(:host-context([dir='rtl'])) {
66
+ :host(.icon-rtl) .icon-inner {
67
+ transform: scaleX(-1);
68
+ }
69
+ }
70
+
71
+ /* :host-context is supported in chromium; :dir is supported in safari & firefox */
72
+ :host(.flip-rtl):host-context([dir='rtl']) .icon-inner {
73
+ transform: scaleX(-1);
74
+ }
75
+
76
+ @supports selector(:dir(rtl)) {
77
+ :host(.flip-rtl:dir(rtl)) .icon-inner {
78
+ transform: scaleX(-1);
79
+ }
80
+ /**
81
+ * This is needed for WebKit otherwise the fallback
82
+ * will always cause the icon to be flipped if the document
83
+ * loads in RTL.
84
+ */
85
+ :host(.flip-rtl:dir(ltr)) .icon-inner {
86
+ transform: scaleX(1);
87
+ }
88
+ }
89
+
90
+ /* Icon Sizes
91
+ * -----------------------------------------------------------
92
+ */
93
+
94
+ :host(.icon-small) {
95
+ font-size: 1.125rem !important;
96
+ }
97
+
98
+ :host(.icon-large) {
99
+ font-size: 2rem !important;
100
+ }
101
+
102
+ /* Icon Colors
103
+ * -----------------------------------------------------------
104
+ */
105
+
106
+ :host(.ion-color) {
107
+ color: var(--ion-color-base) !important;
108
+ }
109
+
110
+ :host(.ion-color-primary) {
111
+ --ion-color-base: var(--ion-color-primary, #3880ff);
112
+ }
113
+
114
+ :host(.ion-color-secondary) {
115
+ --ion-color-base: var(--ion-color-secondary, #0cd1e8);
116
+ }
117
+
118
+ :host(.ion-color-tertiary) {
119
+ --ion-color-base: var(--ion-color-tertiary, #f4a942);
120
+ }
121
+
122
+ :host(.ion-color-success) {
123
+ --ion-color-base: var(--ion-color-success, #10dc60);
124
+ }
125
+
126
+ :host(.ion-color-warning) {
127
+ --ion-color-base: var(--ion-color-warning, #ffce00);
128
+ }
129
+
130
+ :host(.ion-color-danger) {
131
+ --ion-color-base: var(--ion-color-danger, #f14141);
132
+ }
133
+
134
+ :host(.ion-color-light) {
135
+ --ion-color-base: var(--ion-color-light, #f4f5f8);
136
+ }
137
+
138
+ :host(.ion-color-medium) {
139
+ --ion-color-base: var(--ion-color-medium, #989aa2);
140
+ }
141
+
142
+ :host(.ion-color-dark) {
143
+ --ion-color-base: var(--ion-color-dark, #222428);
144
+ }
@@ -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,6 +1,10 @@
1
1
  import type { Mode } from '../../../interface';
2
- import type { PickerColumnItem } from '../../picker-column-internal/picker-column-internal-interfaces';
3
2
  import type { DatetimeParts, DatetimeHourCycle } from '../datetime-interface';
3
+ export interface WheelColumnOption {
4
+ text: string;
5
+ value: string | number;
6
+ disabled?: boolean;
7
+ }
4
8
  /**
5
9
  * Returns the current date as
6
10
  * an ISO string in the user's
@@ -46,7 +50,7 @@ export declare const generateTime: (locale: string, refParts: DatetimeParts, hou
46
50
  * current, and and next months.
47
51
  */
48
52
  export declare const generateMonths: (refParts: DatetimeParts, forcedDate?: DatetimeParts) => DatetimeParts[];
49
- export declare const getMonthColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, monthValues?: number[], formatOptions?: Intl.DateTimeFormatOptions) => PickerColumnItem[];
53
+ export declare const getMonthColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, monthValues?: number[], formatOptions?: Intl.DateTimeFormatOptions) => WheelColumnOption[];
50
54
  /**
51
55
  * Returns information regarding
52
56
  * selectable dates (i.e 1st, 2nd, 3rd, etc)
@@ -56,13 +60,13 @@ export declare const getMonthColumnData: (locale: string, refParts: DatetimePart
56
60
  * @param minParts The minimum bound on the date that can be returned
57
61
  * @param maxParts The maximum bound on the date that can be returned
58
62
  * @param dayValues The allowed date values
59
- * @returns Date data to be used in ion-picker-column-internal
63
+ * @returns Date data to be used in ion-picker-column
60
64
  */
61
- export declare const getDayColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, dayValues?: number[], formatOptions?: Intl.DateTimeFormatOptions) => PickerColumnItem[];
62
- export declare const getYearColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, yearValues?: number[]) => PickerColumnItem[];
65
+ export declare const getDayColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, dayValues?: number[], formatOptions?: Intl.DateTimeFormatOptions) => WheelColumnOption[];
66
+ export declare const getYearColumnData: (locale: string, refParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, yearValues?: number[]) => WheelColumnOption[];
63
67
  interface CombinedDateColumnData {
64
68
  parts: DatetimeParts[];
65
- items: PickerColumnItem[];
69
+ items: WheelColumnOption[];
66
70
  }
67
71
  /**
68
72
  * Creates and returns picker items
@@ -71,6 +75,6 @@ interface CombinedDateColumnData {
71
75
  */
72
76
  export declare const getCombinedDateColumnData: (locale: string, todayParts: DatetimeParts, minParts: DatetimeParts, maxParts: DatetimeParts, dayValues?: number[], monthValues?: number[]) => CombinedDateColumnData;
73
77
  export declare const getTimeColumnsData: (locale: string, refParts: DatetimeParts, hourCycle?: DatetimeHourCycle, minParts?: DatetimeParts, maxParts?: DatetimeParts, allowedHourValues?: number[], allowedMinuteValues?: number[]) => {
74
- [key: string]: PickerColumnItem[];
78
+ [key: string]: WheelColumnOption[];
75
79
  };
76
80
  export {};
@@ -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,104 @@
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;
22
15
  /**
23
- * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
16
+ * @internal
24
17
  */
25
- keyboardClose: boolean;
18
+ ionInputModeChange: EventEmitter<PickerChangeEventDetail>;
26
19
  /**
27
- * Animation to use when the picker is presented.
20
+ * When the picker is interacted with
21
+ * we need to prevent touchstart so other
22
+ * gestures do not fire. For example,
23
+ * scrolling on the wheel picker
24
+ * in ion-datetime should not cause
25
+ * a card modal to swipe to close.
28
26
  */
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>;
27
+ preventTouchStartPropagation(ev: TouchEvent): void;
28
+ componentWillLoad(): void;
29
+ private isInHighlightBounds;
100
30
  /**
101
- * Emitted after the picker has presented.
102
- * Shorthand for ionPickerWillDismiss.
31
+ * If we are no longer focused
32
+ * on a picker column, then we should
33
+ * exit input mode. An exception is made
34
+ * for the input in the picker since having
35
+ * that focused means we are still in input mode.
103
36
  */
104
- didPresentShorthand: EventEmitter<void>;
37
+ private onFocusOut;
105
38
  /**
106
- * Emitted before the picker has presented.
107
- * Shorthand for ionPickerWillPresent.
39
+ * When picker columns receive focus
40
+ * the parent picker needs to determine
41
+ * whether to enter/exit input mode.
108
42
  */
109
- willPresentShorthand: EventEmitter<void>;
43
+ private onFocusIn;
110
44
  /**
111
- * Emitted before the picker has dismissed.
112
- * Shorthand for ionPickerWillDismiss.
45
+ * On click we need to run an actionOnClick
46
+ * function that has been set in onPointerDown
47
+ * so that we enter/exit input mode correctly.
113
48
  */
114
- willDismissShorthand: EventEmitter<OverlayEventDetail>;
49
+ private onClick;
115
50
  /**
116
- * Emitted after the picker has dismissed.
117
- * Shorthand for ionPickerDidDismiss.
51
+ * Clicking a column also focuses the column on
52
+ * certain browsers, so we use onPointerDown
53
+ * to tell the onFocusIn function that users
54
+ * are trying to click the column rather than
55
+ * focus the column using the keyboard. When the
56
+ * user completes the click, the onClick function
57
+ * runs and runs the actionOnClick callback.
118
58
  */
119
- didDismissShorthand: EventEmitter<OverlayEventDetail>;
120
- connectedCallback(): void;
121
- disconnectedCallback(): void;
122
- componentWillLoad(): void;
123
- componentDidLoad(): void;
59
+ private onPointerDown;
124
60
  /**
125
- * Present the picker overlay after it has been created.
61
+ * Enters input mode to allow
62
+ * for text entry of numeric values.
63
+ * If on mobile, we focus a hidden input
64
+ * field so that the on screen keyboard
65
+ * is brought up. When tabbing using a
66
+ * keyboard, picker columns receive an outline
67
+ * to indicate they are focused. As a result,
68
+ * we should not focus the hidden input as it
69
+ * would cause the outline to go away, preventing
70
+ * users from having any visual indication of which
71
+ * column is focused.
126
72
  */
127
- present(): Promise<void>;
73
+ private enterInputMode;
128
74
  /**
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"`.
75
+ * @internal
76
+ * Exits text entry mode for the picker
77
+ * This method blurs the hidden input
78
+ * and cause the keyboard to dismiss.
136
79
  */
137
- dismiss(data?: any, role?: string): Promise<boolean>;
80
+ exitInputMode(): Promise<void>;
81
+ private onKeyPress;
82
+ private selectSingleColumn;
138
83
  /**
139
- * Returns a promise that resolves when the picker did dismiss.
84
+ * Searches a list of column items for a particular
85
+ * value. This is currently used for numeric values.
86
+ * The zeroBehavior can be set to account for leading
87
+ * or trailing zeros when looking at the item text.
140
88
  */
141
- onDidDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
89
+ private searchColumn;
90
+ private selectMultiColumn;
142
91
  /**
143
- * Returns a promise that resolves when the picker will dismiss.
92
+ * Searches the value of the active column
93
+ * to determine which value users are trying
94
+ * to select
144
95
  */
145
- onWillDismiss<T = any>(): Promise<OverlayEventDetail<T>>;
96
+ private onInputChange;
146
97
  /**
147
- * Get the column that matches the specified name.
148
- *
149
- * @param name The name of the column.
98
+ * Emit ionInputModeChange. Picker columns
99
+ * listen for this event to determine whether
100
+ * or not their column is "active" for text input.
150
101
  */
151
- getColumn(name: string): Promise<PickerColumn | undefined>;
152
- private buttonClick;
153
- private callButtonHandler;
154
- private getSelected;
155
- private onBackdropTap;
156
- private dispatchCancelHandler;
102
+ private emitInputModeChange;
157
103
  render(): any;
158
104
  }
@@ -0,0 +1,4 @@
1
+ export interface PickerColumnChangeEventDetail {
2
+ value: PickerColumnValue;
3
+ }
4
+ export type PickerColumnValue = string | number | undefined;
@@ -1,46 +1,106 @@
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 { PickerColumnChangeEventDetail, PickerColumnValue } 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
+ * The selected option in the picker.
26
+ */
27
+ value?: string | number;
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
+ * If `true`, tapping the picker will
36
+ * reveal a number input keyboard that lets
37
+ * the user type in values for each picker
38
+ * column. This is useful when working
39
+ * with time pickers.
40
+ *
41
+ * @internal
42
+ */
43
+ numericInput: boolean;
44
+ /**
45
+ * Emitted when the value has changed.
46
+ */
47
+ ionChange: EventEmitter<PickerColumnChangeEventDetail>;
48
+ valueChange(): void;
49
+ /**
50
+ * Only setup scroll listeners
51
+ * when the picker is visible, otherwise
52
+ * the container will have a scroll
53
+ * height of 0px.
54
+ */
55
+ componentWillLoad(): void;
56
+ componentDidRender(): void;
57
+ /** @internal */
58
+ scrollActiveItemIntoView(smooth?: boolean): Promise<void>;
59
+ /**
60
+ * Sets the value prop and fires the ionChange event.
61
+ * This is used when we need to fire ionChange from
62
+ * user-generated events that cannot be caught with normal
63
+ * input/change event listeners.
25
64
  * @internal
26
65
  */
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;
66
+ setValue(value: PickerColumnValue): Promise<void>;
67
+ /**
68
+ * Sets focus on the scrollable container within the picker column.
69
+ * Use this method instead of the global `pickerColumn.focus()`.
70
+ */
71
+ setFocus(): Promise<void>;
72
+ private centerPickerItemInView;
73
+ private setPickerItemActiveState;
74
+ /**
75
+ * When ionInputModeChange is emitted, each column
76
+ * needs to check if it is the one being made available
77
+ * for text entry.
78
+ */
79
+ private inputModeChange;
80
+ /**
81
+ * Setting isActive will cause a re-render.
82
+ * As a result, we do not want to cause the
83
+ * re-render mid scroll as this will cause
84
+ * the picker column to jump back to
85
+ * whatever value was selected at the
86
+ * start of the scroll interaction.
87
+ */
88
+ private setInputModeActive;
89
+ /**
90
+ * When the column scrolls, the component
91
+ * needs to determine which item is centered
92
+ * in the view and will emit an ionChange with
93
+ * the item object.
94
+ */
95
+ private initializeScrollListener;
96
+ /**
97
+ * Tells the parent picker to
98
+ * exit text entry mode. This is only called
99
+ * when the selected item changes during scroll, so
100
+ * we know that the user likely wants to scroll
101
+ * instead of type.
102
+ */
103
+ private exitInputMode;
104
+ get activeItem(): HTMLIonPickerColumnOptionElement | undefined;
45
105
  render(): any;
46
106
  }