@ionic/core 7.5.7-dev.11701203423.1b6a8829 → 7.5.7-dev.11701270755.14f050ad

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 (333) 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/icon.js +23 -14
  5. package/components/index7.js +1 -1
  6. package/components/ion-content.js +1 -1
  7. package/components/ion-datetime.js +28 -61
  8. package/components/ion-picker-column-option.d.ts +11 -0
  9. package/components/ion-picker-column-option.js +52 -0
  10. package/components/ion-picker-column.js +2 -2
  11. package/components/ion-picker-legacy-column.d.ts +11 -0
  12. package/components/ion-picker-legacy-column.js +9 -0
  13. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  14. package/components/ion-picker-legacy.js +309 -0
  15. package/components/ion-picker.js +1 -299
  16. package/components/overlays.js +11 -4
  17. package/components/picker-column.js +331 -320
  18. package/components/picker-column2.js +379 -0
  19. package/components/{picker-internal.js → picker.js} +16 -16
  20. package/dist/cjs/{button-active-af897e0e.js → button-active-cd07b55b.js} +1 -1
  21. package/dist/cjs/{data-c8d21093.js → data-4845b494.js} +1 -1
  22. package/dist/cjs/{gesture-controller-b46721be.js → gesture-controller-d6a3f907.js} +1 -0
  23. package/dist/cjs/{index-5ea49600.js → index-09471526.js} +1 -1
  24. package/dist/cjs/{index-0ee995e4.js → index-0f8b33f8.js} +1 -1
  25. package/dist/cjs/index.cjs.js +3 -3
  26. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  28. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  29. package/dist/cjs/ion-app_8.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-backdrop.cjs.entry.js +0 -12
  32. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-button_2.cjs.entry.js +23 -14
  34. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  35. package/dist/cjs/ion-datetime_3.cjs.entry.js +27 -40
  36. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-loading.cjs.entry.js +2 -1
  41. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  42. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  43. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  44. package/dist/cjs/ion-picker-column-option.cjs.entry.js +35 -0
  45. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +9 -9
  46. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +13 -13
  47. package/dist/cjs/ion-popover.cjs.entry.js +2 -1
  48. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  49. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  51. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  52. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  53. package/dist/cjs/ion-select_3.cjs.entry.js +3 -2
  54. package/dist/cjs/ion-toast.cjs.entry.js +2 -1
  55. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  56. package/dist/cjs/ionic.cjs.js +1 -1
  57. package/dist/cjs/loader.cjs.js +1 -1
  58. package/dist/cjs/{overlays-2ffc5f27.js → overlays-dbb71984.js} +11 -4
  59. package/dist/cjs/{swipe-back-d0412fb6.js → swipe-back-a6dc6e5d.js} +2 -2
  60. package/dist/collection/collection-manifest.json +7 -6
  61. package/dist/collection/components/backdrop/backdrop.js +0 -12
  62. package/dist/collection/components/content/content.css +0 -4
  63. package/dist/collection/components/datetime/datetime.ios.css +84 -25
  64. package/dist/collection/components/datetime/datetime.js +14 -29
  65. package/dist/collection/components/datetime/datetime.md.css +89 -25
  66. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  67. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +6 -9
  68. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +10 -0
  69. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  70. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +5 -5
  71. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  72. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +2 -2
  73. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  74. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +2 -2
  75. package/dist/collection/components/datetime/test/values/datetime.e2e.js +5 -5
  76. package/dist/collection/components/datetime/utils/data.js +1 -1
  77. package/dist/collection/components/picker/picker.ios.css +100 -205
  78. package/dist/collection/components/picker/picker.js +463 -735
  79. package/dist/collection/components/picker/picker.md.css +98 -194
  80. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  81. package/dist/collection/components/picker/test/basic/picker.e2e.js +106 -13
  82. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +20 -20
  83. package/dist/collection/components/picker-column/picker-column.ios.css +59 -176
  84. package/dist/collection/components/picker-column/picker-column.js +478 -333
  85. package/dist/collection/components/picker-column/picker-column.md.css +63 -113
  86. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +7 -7
  87. package/dist/collection/components/{picker-column-internal/test/disabled/picker-column-internal.e2e.js → picker-column/test/disabled/picker-column.e2e.js} +39 -39
  88. package/dist/collection/components/picker-column-option/picker-column-option.js +68 -0
  89. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  90. package/dist/collection/components/picker-legacy/picker.ios.css +367 -0
  91. package/dist/collection/components/picker-legacy/picker.js +817 -0
  92. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  93. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  94. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  95. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  96. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  97. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy-column/picker-column.ios.css} +98 -101
  98. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  99. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-legacy-column/picker-column.md.css} +113 -63
  100. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  101. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  102. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  103. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  104. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  105. package/dist/collection/utils/overlays.js +11 -4
  106. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +65 -0
  107. package/dist/docs.json +384 -40
  108. package/dist/esm/{button-active-ce5cba4c.js → button-active-5b0516e7.js} +1 -1
  109. package/dist/esm/{data-44d9e816.js → data-12e24f00.js} +1 -1
  110. package/dist/esm/{gesture-controller-0fa396c4.js → gesture-controller-3723db7c.js} +1 -1
  111. package/dist/esm/{index-ff313b19.js → index-32cbee52.js} +2 -2
  112. package/dist/esm/{index-d1a56aed.js → index-c132c5f1.js} +1 -1
  113. package/dist/esm/index.js +3 -3
  114. package/dist/esm/ion-accordion_2.entry.js +1 -1
  115. package/dist/esm/ion-action-sheet.entry.js +4 -4
  116. package/dist/esm/ion-alert.entry.js +4 -4
  117. package/dist/esm/ion-app_8.entry.js +2 -2
  118. package/dist/esm/ion-back-button.entry.js +1 -1
  119. package/dist/esm/ion-backdrop.entry.js +0 -12
  120. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  121. package/dist/esm/ion-button_2.entry.js +23 -14
  122. package/dist/esm/ion-datetime-button.entry.js +1 -1
  123. package/dist/esm/ion-datetime_3.entry.js +26 -39
  124. package/dist/esm/ion-fab_3.entry.js +1 -1
  125. package/dist/esm/ion-input.entry.js +1 -1
  126. package/dist/esm/ion-item-option_3.entry.js +1 -1
  127. package/dist/esm/ion-item_8.entry.js +1 -1
  128. package/dist/esm/ion-loading.entry.js +2 -1
  129. package/dist/esm/ion-menu_3.entry.js +4 -4
  130. package/dist/esm/ion-modal.entry.js +3 -3
  131. package/dist/esm/ion-nav_2.entry.js +1 -1
  132. package/dist/esm/ion-picker-column-option.entry.js +31 -0
  133. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +9 -9
  134. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +13 -13
  135. package/dist/esm/ion-popover.entry.js +2 -1
  136. package/dist/esm/ion-range.entry.js +1 -1
  137. package/dist/esm/ion-refresher_2.entry.js +4 -4
  138. package/dist/esm/ion-reorder_2.entry.js +2 -2
  139. package/dist/esm/ion-searchbar.entry.js +1 -1
  140. package/dist/esm/ion-segment_2.entry.js +1 -1
  141. package/dist/esm/ion-select_3.entry.js +3 -2
  142. package/dist/esm/ion-toast.entry.js +2 -1
  143. package/dist/esm/ion-toggle.entry.js +2 -2
  144. package/dist/esm/ionic.js +1 -1
  145. package/dist/esm/loader.js +1 -1
  146. package/dist/esm/{overlays-6c9feb7e.js → overlays-789cd7a7.js} +11 -4
  147. package/dist/esm/{swipe-back-0f3bfc8e.js → swipe-back-cc4c2bcb.js} +2 -2
  148. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-5b0516e7.js} +1 -1
  149. package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-3723db7c.js} +1 -1
  150. package/dist/esm-es5/{index-ff313b19.js → index-32cbee52.js} +1 -1
  151. package/dist/esm-es5/index.js +1 -1
  152. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  153. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  154. package/dist/esm-es5/ion-alert.entry.js +1 -1
  155. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  156. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  157. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  158. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  159. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  160. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  161. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  162. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  163. package/dist/esm-es5/ion-input.entry.js +1 -1
  164. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  165. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  166. package/dist/esm-es5/ion-loading.entry.js +1 -1
  167. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  168. package/dist/esm-es5/ion-modal.entry.js +1 -1
  169. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  170. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  171. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  172. package/dist/esm-es5/ion-picker.entry.js +4 -0
  173. package/dist/esm-es5/ion-popover.entry.js +1 -1
  174. package/dist/esm-es5/ion-range.entry.js +1 -1
  175. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  176. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  177. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  178. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  179. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  180. package/dist/esm-es5/ion-toast.entry.js +1 -1
  181. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  182. package/dist/esm-es5/ionic.js +1 -1
  183. package/dist/esm-es5/loader.js +1 -1
  184. package/dist/esm-es5/overlays-789cd7a7.js +4 -0
  185. package/dist/esm-es5/swipe-back-cc4c2bcb.js +4 -0
  186. package/dist/html.html-data.json +119 -1
  187. package/dist/ionic/index.esm.js +1 -1
  188. package/dist/ionic/ionic.esm.js +1 -1
  189. package/dist/ionic/{p-67e644bd.system.entry.js → p-02d8fdba.system.entry.js} +1 -1
  190. package/dist/ionic/{p-f3c82f74.system.entry.js → p-06e6d235.system.entry.js} +2 -2
  191. package/dist/ionic/{p-c429a314.system.entry.js → p-07d9e9cd.system.entry.js} +1 -1
  192. package/dist/ionic/p-0c244faf.entry.js +4 -0
  193. package/dist/ionic/{p-e0b06b65.js → p-100ef961.js} +1 -1
  194. package/dist/ionic/{p-04dca48d.entry.js → p-14aca3fb.entry.js} +1 -1
  195. package/dist/ionic/p-1dc91702.entry.js +4 -0
  196. package/dist/ionic/{p-a43603ce.entry.js → p-1e86a71b.entry.js} +1 -1
  197. package/dist/ionic/{p-dbf7d6e5.system.entry.js → p-22813b28.system.entry.js} +1 -1
  198. package/dist/ionic/p-234b9617.system.entry.js +4 -0
  199. package/dist/ionic/p-25c34422.system.entry.js +4 -0
  200. package/dist/ionic/p-2804781b.entry.js +4 -0
  201. package/dist/ionic/p-2ad38423.system.entry.js +4 -0
  202. package/dist/ionic/{p-7176cea3.entry.js → p-2ba9414e.entry.js} +1 -1
  203. package/dist/ionic/{p-fa8d4788.system.js → p-2e1794df.system.js} +1 -1
  204. package/dist/ionic/{p-e627ed84.js → p-302091ab.js} +1 -1
  205. package/dist/ionic/p-332f64af.system.entry.js +4 -0
  206. package/dist/ionic/p-39074595.entry.js +4 -0
  207. package/dist/ionic/{p-67ed452a.system.entry.js → p-3f88eab8.system.entry.js} +1 -1
  208. package/dist/ionic/{p-8659f9a9.system.entry.js → p-3fb57e1b.system.entry.js} +1 -1
  209. package/dist/ionic/p-40903d34.system.js +1 -1
  210. package/dist/ionic/p-439e20ef.entry.js +4 -0
  211. package/dist/ionic/{p-8d5a30dd.entry.js → p-477a182e.entry.js} +1 -1
  212. package/dist/ionic/{p-899fb2da.entry.js → p-48d9faa7.entry.js} +1 -1
  213. package/dist/ionic/{p-7d7fdaf0.system.entry.js → p-4f3e2767.system.entry.js} +1 -1
  214. package/dist/ionic/{p-3de79805.entry.js → p-56224549.entry.js} +1 -1
  215. package/dist/ionic/{p-965677f1.entry.js → p-5ce11143.entry.js} +1 -1
  216. package/dist/ionic/{p-6594d76a.system.entry.js → p-5da0eb3e.system.entry.js} +1 -1
  217. package/dist/ionic/{p-9e852ff1.system.js → p-6500b298.system.js} +1 -1
  218. package/dist/ionic/{p-42435018.system.entry.js → p-664d2b07.system.entry.js} +1 -1
  219. package/dist/ionic/p-6893f6e4.entry.js +4 -0
  220. package/dist/ionic/p-7c66a566.system.entry.js +4 -0
  221. package/dist/ionic/{p-68166ba6.entry.js → p-835e0346.entry.js} +1 -1
  222. package/dist/ionic/{p-7b4cd5fc.system.entry.js → p-878c7aa5.system.entry.js} +1 -1
  223. package/dist/ionic/p-8b4ab236.entry.js +4 -0
  224. package/dist/ionic/{p-f37b4b79.entry.js → p-939d903b.entry.js} +1 -1
  225. package/dist/ionic/p-9403b297.system.entry.js +4 -0
  226. package/dist/ionic/{p-6d812360.system.entry.js → p-966cf574.system.entry.js} +1 -1
  227. package/dist/ionic/p-992d3bad.entry.js +4 -0
  228. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-9b5301cc.system.entry.js} +1 -1
  229. package/dist/ionic/p-9c967a65.system.entry.js +4 -0
  230. package/dist/ionic/{p-8e1bded3.entry.js → p-9e6bf9ed.entry.js} +1 -1
  231. package/dist/ionic/{p-8cbf0979.entry.js → p-a21b8d05.entry.js} +1 -1
  232. package/dist/ionic/{p-6e23777e.system.entry.js → p-a4cda7a8.system.entry.js} +1 -1
  233. package/dist/ionic/{p-09d142b3.system.js → p-a57f223c.system.js} +1 -1
  234. package/dist/ionic/{p-8b1be026.js → p-a7e2ac5c.js} +1 -1
  235. package/dist/ionic/{p-0838e6bb.entry.js → p-a8e68fd9.entry.js} +1 -1
  236. package/dist/ionic/{p-14923cd7.system.entry.js → p-abacb44b.system.entry.js} +1 -1
  237. package/dist/ionic/{p-61c30156.system.entry.js → p-b3e79338.system.entry.js} +1 -1
  238. package/dist/ionic/p-b4cbb736.js +4 -0
  239. package/dist/ionic/{p-4fa201a7.entry.js → p-b6a8588f.entry.js} +1 -1
  240. package/dist/ionic/{p-ee2469c1.entry.js → p-b6f8ee31.entry.js} +1 -1
  241. package/dist/ionic/p-ba70d455.entry.js +4 -0
  242. package/dist/ionic/{p-8ad82eb3.entry.js → p-baa7cb1e.entry.js} +1 -1
  243. package/dist/ionic/p-bd7a3269.entry.js +4 -0
  244. package/dist/ionic/{p-bd76524d.entry.js → p-c1229981.entry.js} +1 -1
  245. package/dist/ionic/{p-db5043df.system.entry.js → p-c31fc05f.system.entry.js} +1 -1
  246. package/dist/ionic/p-c32bf078.system.entry.js +4 -0
  247. package/dist/ionic/{p-a936d224.system.js → p-c7fd81ba.system.js} +1 -1
  248. package/dist/ionic/{p-4c80afe1.system.entry.js → p-cb62e3fc.system.entry.js} +1 -1
  249. package/dist/ionic/{p-cd2808f5.system.entry.js → p-d21bfe66.system.entry.js} +1 -1
  250. package/dist/ionic/{p-4d786d1f.system.entry.js → p-d3952bd5.system.entry.js} +1 -1
  251. package/dist/ionic/p-dc565ca3.js +4 -0
  252. package/dist/ionic/{p-deab76dc.entry.js → p-dd837fa8.entry.js} +1 -1
  253. package/dist/ionic/p-e88ed07f.system.js +4 -0
  254. package/dist/ionic/p-eb07ec1a.system.entry.js +4 -0
  255. package/dist/ionic/p-eb5697b5.system.js +4 -0
  256. package/dist/ionic/{p-52360c7a.entry.js → p-ee800093.entry.js} +1 -1
  257. package/dist/ionic/p-f0559c5d.system.entry.js +4 -0
  258. package/dist/ionic/{p-97a96f5f.entry.js → p-f4cc91f6.entry.js} +1 -1
  259. package/dist/ionic/{p-640efee6.system.entry.js → p-f5a750e4.system.entry.js} +1 -1
  260. package/dist/ionic/p-fdd22426.entry.js +4 -0
  261. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -1
  262. package/dist/types/components/backdrop/backdrop.d.ts +0 -3
  263. package/dist/types/components/datetime/datetime.d.ts +0 -1
  264. package/dist/types/components/datetime/utils/data.d.ts +2 -2
  265. package/dist/types/components/menu/menu.d.ts +1 -1
  266. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  267. package/dist/types/components/picker/picker.d.ts +74 -131
  268. package/dist/types/components/picker-column/picker-column.d.ts +94 -39
  269. package/dist/types/components/picker-column-option/picker-column-option.d.ts +16 -0
  270. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  271. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  272. package/dist/types/components.d.ts +151 -122
  273. package/dist/types/interface.d.ts +1 -1
  274. package/dist/types/utils/config.d.ts +2 -2
  275. package/dist/types/utils/gesture/gesture-controller.d.ts +1 -0
  276. package/dist/types/utils/overlays.d.ts +5 -2
  277. package/hydrate/index.js +1451 -1432
  278. package/package.json +2 -2
  279. package/components/ion-picker-column-internal.d.ts +0 -11
  280. package/components/ion-picker-column-internal.js +0 -9
  281. package/components/ion-picker-internal.js +0 -9
  282. package/components/picker-column-internal.js +0 -390
  283. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +0 -138
  284. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  285. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  286. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  287. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  288. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  289. package/dist/esm-es5/overlays-6c9feb7e.js +0 -4
  290. package/dist/esm-es5/swipe-back-0f3bfc8e.js +0 -4
  291. package/dist/ionic/p-0d8e9393.entry.js +0 -4
  292. package/dist/ionic/p-18e01b30.system.entry.js +0 -4
  293. package/dist/ionic/p-19a7c660.system.entry.js +0 -4
  294. package/dist/ionic/p-1e5165db.system.entry.js +0 -4
  295. package/dist/ionic/p-29adc040.entry.js +0 -4
  296. package/dist/ionic/p-29fe18ef.entry.js +0 -4
  297. package/dist/ionic/p-431151f2.entry.js +0 -4
  298. package/dist/ionic/p-5bd4e009.entry.js +0 -4
  299. package/dist/ionic/p-64296b15.entry.js +0 -4
  300. package/dist/ionic/p-800ef057.js +0 -4
  301. package/dist/ionic/p-86b2394a.entry.js +0 -4
  302. package/dist/ionic/p-8dbdb163.system.js +0 -4
  303. package/dist/ionic/p-97e31c0a.system.js +0 -4
  304. package/dist/ionic/p-a9c3699b.system.entry.js +0 -4
  305. package/dist/ionic/p-b91fe549.entry.js +0 -4
  306. package/dist/ionic/p-beb64be7.system.entry.js +0 -4
  307. package/dist/ionic/p-c56b6570.system.entry.js +0 -4
  308. package/dist/ionic/p-c6be7737.system.entry.js +0 -4
  309. package/dist/ionic/p-c919498d.entry.js +0 -4
  310. package/dist/ionic/p-cf425ec5.system.entry.js +0 -4
  311. package/dist/ionic/p-ddfc4ef4.system.entry.js +0 -4
  312. package/dist/ionic/p-e6b240a0.js +0 -4
  313. package/dist/ionic/p-f54ddd19.entry.js +0 -4
  314. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  315. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  316. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  317. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  318. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  319. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  320. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  321. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  322. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  323. /package/dist/esm-es5/{data-44d9e816.js → data-12e24f00.js} +0 -0
  324. /package/dist/esm-es5/{index-d1a56aed.js → index-c132c5f1.js} +0 -0
  325. /package/dist/ionic/{p-84c6dece.system.js → p-8050b9b9.system.js} +0 -0
  326. /package/dist/ionic/{p-17240d90.js → p-bb849ebb.js} +0 -0
  327. /package/dist/ionic/{p-b8c3f071.system.js → p-e4219e27.system.js} +0 -0
  328. /package/dist/ionic/{p-6e383534.js → p-ea96fa73.js} +0 -0
  329. /package/dist/types/components/{picker-column-internal/picker-column-internal-interfaces.d.ts → picker-column/picker-column-interfaces.d.ts} +0 -0
  330. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  331. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  332. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  333. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -54,61 +54,61 @@
54
54
  * }
55
55
  */
56
56
  :host {
57
- display: flex;
58
- position: relative;
59
- align-items: center;
60
- justify-content: center;
61
- width: 100%;
62
- height: 200px;
63
57
  /**
64
- * Picker columns should display
65
- * in the order in which developers
66
- * added them and should ignore
67
- * LTR vs RTL directions.
58
+ * @prop --background: Background of the picker
59
+ * @prop --background-rgb: Background of the picker in rgb format
60
+ *
61
+ * @prop --border-radius: Border radius of the picker
62
+ * @prop --border-color: Border color of the picker
63
+ * @prop --border-width: Border width of the picker
64
+ * @prop --border-style: Border style of the picker
65
+ *
66
+ * @prop --min-width: Minimum width of the picker
67
+ * @prop --width: Width of the picker
68
+ * @prop --max-width: Maximum width of the picker
69
+ *
70
+ * @prop --min-height: Minimum height of the picker
71
+ * @prop --height: Height of the picker
72
+ * @prop --max-height: Maximum height of the picker
73
+ *
74
+ * @prop --backdrop-opacity: Opacity of the backdrop
68
75
  */
69
- direction: ltr;
70
- /**
71
- * This is required otherwise the
72
- * highlight will appear behind
73
- * the picker when used inline.
74
- */
75
- z-index: 0;
76
- }
77
-
78
- :host .picker-before,
79
- :host .picker-after {
76
+ --border-radius: 0;
77
+ --border-style: solid;
78
+ --min-width: auto;
79
+ --width: 100%;
80
+ --max-width: 500px;
81
+ --min-height: auto;
82
+ --max-height: auto;
83
+ -moz-osx-font-smoothing: grayscale;
84
+ -webkit-font-smoothing: antialiased;
85
+ top: 0;
86
+ display: block;
80
87
  position: absolute;
81
88
  width: 100%;
82
- /**
83
- * The transform and z-index
84
- * are needed for WebKit otherwise
85
- * the fade will appear underneath the picker.
86
- */
87
- transform: translateZ(0);
88
- z-index: 1;
89
- pointer-events: none;
90
- }
91
-
92
- :host .picker-before {
93
- top: 0;
94
- height: 83px;
89
+ height: 100%;
90
+ outline: none;
91
+ font-family: var(--ion-font-family, inherit);
92
+ contain: strict;
93
+ user-select: none;
94
+ z-index: 1001;
95
95
  }
96
96
  @supports (inset-inline-start: 0) {
97
- :host .picker-before {
97
+ :host {
98
98
  inset-inline-start: 0;
99
99
  }
100
100
  }
101
101
  @supports not (inset-inline-start: 0) {
102
- :host .picker-before {
102
+ :host {
103
103
  left: 0;
104
104
  }
105
- :host-context([dir=rtl]) .picker-before {
105
+ :host-context([dir=rtl]) {
106
106
  left: unset;
107
107
  right: unset;
108
108
  right: 0;
109
109
  }
110
110
  @supports selector(:dir(rtl)) {
111
- :host(:dir(rtl)) .picker-before {
111
+ :host(:dir(rtl)) {
112
112
  left: unset;
113
113
  right: unset;
114
114
  right: 0;
@@ -116,82 +116,69 @@
116
116
  }
117
117
  }
118
118
 
119
- :host .picker-after {
120
- top: 116px;
121
- height: 84px;
122
- }
123
- @supports (inset-inline-start: 0) {
124
- :host .picker-after {
125
- inset-inline-start: 0;
126
- }
127
- }
128
- @supports not (inset-inline-start: 0) {
129
- :host .picker-after {
130
- left: 0;
131
- }
132
- :host-context([dir=rtl]) .picker-after {
133
- left: unset;
134
- right: unset;
135
- right: 0;
136
- }
137
- @supports selector(:dir(rtl)) {
138
- :host(:dir(rtl)) .picker-after {
139
- left: unset;
140
- right: unset;
141
- right: 0;
142
- }
143
- }
119
+ :host(.overlay-hidden) {
120
+ display: none;
144
121
  }
145
122
 
146
- :host .picker-highlight {
147
- border-radius: 8px;
123
+ .picker-wrapper {
124
+ border-radius: var(--border-radius);
148
125
  left: 0;
149
126
  right: 0;
150
- top: 50%;
151
127
  bottom: 0;
152
128
  -webkit-margin-start: auto;
153
129
  margin-inline-start: auto;
154
130
  -webkit-margin-end: auto;
155
131
  margin-inline-end: auto;
156
- margin-top: 0;
157
- margin-bottom: 0;
132
+ margin-top: auto;
133
+ margin-bottom: auto;
134
+ transform: translate3d(0, 100%, 0);
135
+ display: flex;
158
136
  position: absolute;
159
- width: calc(100% - 16px);
160
- height: 34px;
161
- transform: translateY(-50%);
162
- background: var(--wheel-highlight-background);
163
- z-index: -1;
137
+ flex-direction: column;
138
+ width: var(--width);
139
+ min-width: var(--min-width);
140
+ max-width: var(--max-width);
141
+ height: var(--height);
142
+ min-height: var(--min-height);
143
+ max-height: var(--max-height);
144
+ border-width: var(--border-width);
145
+ border-style: var(--border-style);
146
+ border-color: var(--border-color);
147
+ background: var(--background);
148
+ contain: strict;
149
+ overflow: hidden;
150
+ z-index: 10;
164
151
  }
165
152
 
166
- :host input {
167
- position: absolute;
168
- top: 0;
169
- left: 0;
170
- right: 0;
171
- bottom: 0;
153
+ .picker-toolbar {
172
154
  width: 100%;
173
- height: 100%;
174
- margin: 0;
175
- padding: 0;
155
+ background: transparent;
156
+ contain: strict;
157
+ z-index: 1;
158
+ }
159
+
160
+ .picker-button {
176
161
  border: 0;
177
- outline: 0;
178
- clip: rect(0 0 0 0);
179
- opacity: 0;
180
- overflow: hidden;
181
- -webkit-appearance: none;
182
- -moz-appearance: none;
162
+ font-family: inherit;
183
163
  }
184
164
 
185
- :host ::slotted(ion-picker-column-internal:first-of-type) {
186
- text-align: start;
165
+ .picker-button:active, .picker-button:focus {
166
+ outline: none;
187
167
  }
188
168
 
189
- :host ::slotted(ion-picker-column-internal:last-of-type) {
190
- text-align: end;
169
+ .picker-columns {
170
+ display: flex;
171
+ position: relative;
172
+ justify-content: center;
173
+ margin-bottom: var(--ion-safe-area-bottom, 0);
174
+ contain: strict;
175
+ overflow: hidden;
191
176
  }
192
177
 
193
- :host ::slotted(ion-picker-column-internal:only-child) {
194
- text-align: center;
178
+ .picker-above-highlight,
179
+ .picker-below-highlight {
180
+ display: none;
181
+ pointer-events: none;
195
182
  }
196
183
 
197
184
  /**
@@ -249,14 +236,119 @@
249
236
  * }
250
237
  * }
251
238
  */
252
- :host .picker-before {
253
- background: linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%);
239
+ :host {
240
+ --background: var(--ion-background-color, #fff);
241
+ --border-width: 0.55px 0 0;
242
+ --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
243
+ --height: 260px;
244
+ --backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
245
+ color: var(--ion-item-color, var(--ion-text-color, #000));
254
246
  }
255
247
 
256
- :host .picker-after {
257
- background: linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0.8) 100%);
248
+ .picker-toolbar {
249
+ display: flex;
250
+ justify-content: flex-end;
251
+ height: 44px;
258
252
  }
259
253
 
260
- :host .picker-highlight {
261
- background: var(--wheel-highlight-background, var(--ion-color-step-150, #eeeeef));
254
+ .picker-button,
255
+ .picker-button.ion-activated {
256
+ margin-left: 0;
257
+ margin-right: 0;
258
+ margin-top: 0;
259
+ margin-bottom: 0;
260
+ -webkit-padding-start: 1.1em;
261
+ padding-inline-start: 1.1em;
262
+ -webkit-padding-end: 1.1em;
263
+ padding-inline-end: 1.1em;
264
+ padding-top: 0;
265
+ padding-bottom: 0;
266
+ height: 44px;
267
+ background: transparent;
268
+ color: var(--ion-color-primary, #3880ff);
269
+ font-size: 14px;
270
+ font-weight: 500;
271
+ text-transform: uppercase;
272
+ box-shadow: none;
273
+ }
274
+
275
+ .picker-columns {
276
+ height: 216px;
277
+ perspective: 1800px;
278
+ }
279
+
280
+ .picker-above-highlight {
281
+ top: 0;
282
+ transform: translate3d(0, 0, 90px);
283
+ position: absolute;
284
+ width: 100%;
285
+ height: 81px;
286
+ border-bottom: 1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
287
+ background: linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);
288
+ z-index: 10;
289
+ }
290
+ @supports (inset-inline-start: 0) {
291
+ .picker-above-highlight {
292
+ inset-inline-start: 0;
293
+ }
294
+ }
295
+ @supports not (inset-inline-start: 0) {
296
+ .picker-above-highlight {
297
+ left: 0;
298
+ }
299
+ :host-context([dir=rtl]) .picker-above-highlight {
300
+ left: unset;
301
+ right: unset;
302
+ right: 0;
303
+ }
304
+ [dir=rtl] .picker-above-highlight {
305
+ left: unset;
306
+ right: unset;
307
+ right: 0;
308
+ }
309
+ @supports selector(:dir(rtl)) {
310
+ .picker-above-highlight:dir(rtl) {
311
+ left: unset;
312
+ right: unset;
313
+ right: 0;
314
+ }
315
+ }
316
+ }
317
+
318
+ .picker-below-highlight {
319
+ top: 115px;
320
+ transform: translate3d(0, 0, 90px);
321
+ position: absolute;
322
+ width: 100%;
323
+ height: 119px;
324
+ border-top: 1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));
325
+ background: linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);
326
+ z-index: 11;
327
+ }
328
+ @supports (inset-inline-start: 0) {
329
+ .picker-below-highlight {
330
+ inset-inline-start: 0;
331
+ }
332
+ }
333
+ @supports not (inset-inline-start: 0) {
334
+ .picker-below-highlight {
335
+ left: 0;
336
+ }
337
+ :host-context([dir=rtl]) .picker-below-highlight {
338
+ left: unset;
339
+ right: unset;
340
+ right: 0;
341
+ }
342
+ [dir=rtl] .picker-below-highlight {
343
+ left: unset;
344
+ right: unset;
345
+ right: 0;
346
+ }
347
+ @supports selector(:dir(rtl)) {
348
+ .picker-below-highlight:dir(rtl) {
349
+ left: unset;
350
+ right: unset;
351
+ right: 0;
352
+ }
353
+ }
262
354
  }
@@ -0,0 +1,25 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs().forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('picker: basic'), () => {
8
+ test('should not have visual regressions', async ({ page }) => {
9
+ await page.goto('/src/components/picker-legacy/test/basic', config);
10
+ const didPresent = await page.spyOnEvent('ionPickerDidPresent');
11
+ const didDismiss = await page.spyOnEvent('ionPickerDidDismiss');
12
+ await page.click('#basic');
13
+ await didPresent.next();
14
+ await page.waitForChanges();
15
+ await expect(page).toHaveScreenshot(screenshot(`picker-basic`));
16
+ await page.click('.picker-opt:nth-child(2)');
17
+ await page.click('ion-picker-legacy .save-btn');
18
+ await didDismiss.next();
19
+ await page.click('#basic');
20
+ await didPresent.next();
21
+ await page.waitForChanges();
22
+ await expect(page).toHaveScreenshot(screenshot(`picker-value-selected`));
23
+ });
24
+ });
25
+ });
@@ -9,10 +9,10 @@ import { configs, test } from "../../../../utils/test/playwright/index";
9
9
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
10
  test.describe(title('picker: isOpen'), () => {
11
11
  test('should open and close the picker', async ({ page }) => {
12
- await page.goto('/src/components/picker/test/is-open', config);
12
+ await page.goto('/src/components/picker-legacy/test/is-open', config);
13
13
  const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent');
14
14
  const ionPickerDidDismiss = await page.spyOnEvent('ionPickerDidDismiss');
15
- const picker = page.locator('ion-picker');
15
+ const picker = page.locator('ion-picker-legacy');
16
16
  await page.click('#default');
17
17
  await ionPickerDidPresent.next();
18
18
  await expect(picker).toBeVisible();
@@ -21,8 +21,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
21
21
  await expect(picker).toBeHidden();
22
22
  });
23
23
  test('should open if isOpen is true on load', async ({ page }) => {
24
- await page.setContent('<ion-picker is-open="true"></ion-picker>', config);
25
- await expect(page.locator('ion-picker')).toBeVisible();
24
+ await page.setContent('<ion-picker-legacy is-open="true"></ion-picker-legacy>', config);
25
+ await expect(page.locator('ion-picker-legacy')).toBeVisible();
26
26
  });
27
27
  });
28
28
  });
@@ -6,27 +6,27 @@ import { Picker } from "../picker";
6
6
  it('picker should be assigned an incrementing id', async () => {
7
7
  const page = await newSpecPage({
8
8
  components: [Picker],
9
- html: `<ion-picker is-open="true"></ion-picker>`,
9
+ html: `<ion-picker-legacy is-open="true"></ion-picker-legacy>`,
10
10
  });
11
11
  let picker;
12
- picker = page.body.querySelector('ion-picker');
12
+ picker = page.body.querySelector('ion-picker-legacy');
13
13
  expect(picker).not.toBe(null);
14
14
  expect(picker.getAttribute('id')).toBe('ion-overlay-1');
15
15
  // Remove the picker from the DOM
16
16
  picker.remove();
17
17
  await page.waitForChanges();
18
18
  // Create a new picker to verify the id is incremented
19
- picker = document.createElement('ion-picker');
19
+ picker = document.createElement('ion-picker-legacy');
20
20
  picker.isOpen = true;
21
21
  page.body.appendChild(picker);
22
22
  await page.waitForChanges();
23
- picker = page.body.querySelector('ion-picker');
23
+ picker = page.body.querySelector('ion-picker-legacy');
24
24
  expect(picker.getAttribute('id')).toBe('ion-overlay-2');
25
25
  // Presenting the same picker again should reuse the existing id
26
26
  picker.isOpen = false;
27
27
  await page.waitForChanges();
28
28
  picker.isOpen = true;
29
29
  await page.waitForChanges();
30
- picker = page.body.querySelector('ion-picker');
30
+ picker = page.body.querySelector('ion-picker-legacy');
31
31
  expect(picker.getAttribute('id')).toBe('ion-overlay-2');
32
32
  });
@@ -9,7 +9,7 @@ import { configs, test } from "../../../../utils/test/playwright/index";
9
9
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
10
10
  test.describe(title('picker: trigger'), () => {
11
11
  test.beforeEach(async ({ page }) => {
12
- await page.goto('/src/components/picker/test/trigger', config);
12
+ await page.goto('/src/components/picker-legacy/test/trigger', config);
13
13
  });
14
14
  test('should open the picker', async ({ page }) => {
15
15
  const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent');
@@ -53,89 +53,56 @@
53
53
  * }
54
54
  * }
55
55
  */
56
- :host {
56
+ .picker-col {
57
57
  display: flex;
58
58
  position: relative;
59
- align-items: center;
59
+ flex: 1;
60
60
  justify-content: center;
61
- width: 100%;
62
- height: 200px;
63
- /**
64
- * Picker columns should display
65
- * in the order in which developers
66
- * added them and should ignore
67
- * LTR vs RTL directions.
68
- */
69
- direction: ltr;
70
- /**
71
- * This is required otherwise the
72
- * highlight will appear behind
73
- * the picker when used inline.
74
- */
75
- z-index: 0;
61
+ height: 100%;
62
+ box-sizing: content-box;
63
+ contain: content;
76
64
  }
77
65
 
78
- :host .picker-before,
79
- :host .picker-after {
80
- position: absolute;
81
- width: 100%;
82
- /**
83
- * The transform and z-index
84
- * are needed for WebKit otherwise
85
- * the fade will appear underneath the picker.
86
- */
87
- transform: translateZ(0);
88
- z-index: 1;
89
- pointer-events: none;
66
+ .picker-opts {
67
+ position: relative;
68
+ flex: 1;
69
+ max-width: 100%;
90
70
  }
91
71
 
92
- :host .picker-before {
72
+ .picker-opt {
93
73
  top: 0;
94
- height: 83px;
74
+ display: block;
75
+ position: absolute;
76
+ width: 100%;
77
+ border: 0;
78
+ text-align: center;
79
+ text-overflow: ellipsis;
80
+ white-space: nowrap;
81
+ contain: strict;
82
+ overflow: hidden;
83
+ will-change: transform;
95
84
  }
96
85
  @supports (inset-inline-start: 0) {
97
- :host .picker-before {
86
+ .picker-opt {
98
87
  inset-inline-start: 0;
99
88
  }
100
89
  }
101
90
  @supports not (inset-inline-start: 0) {
102
- :host .picker-before {
91
+ .picker-opt {
103
92
  left: 0;
104
93
  }
105
- :host-context([dir=rtl]) .picker-before {
94
+ :host-context([dir=rtl]) .picker-opt {
106
95
  left: unset;
107
96
  right: unset;
108
97
  right: 0;
109
98
  }
110
- @supports selector(:dir(rtl)) {
111
- :host(:dir(rtl)) .picker-before {
112
- left: unset;
113
- right: unset;
114
- right: 0;
115
- }
116
- }
117
- }
118
-
119
- :host .picker-after {
120
- top: 116px;
121
- height: 84px;
122
- }
123
- @supports (inset-inline-start: 0) {
124
- :host .picker-after {
125
- inset-inline-start: 0;
126
- }
127
- }
128
- @supports not (inset-inline-start: 0) {
129
- :host .picker-after {
130
- left: 0;
131
- }
132
- :host-context([dir=rtl]) .picker-after {
99
+ [dir=rtl] .picker-opt {
133
100
  left: unset;
134
101
  right: unset;
135
102
  right: 0;
136
103
  }
137
104
  @supports selector(:dir(rtl)) {
138
- :host(:dir(rtl)) .picker-after {
105
+ .picker-opt:dir(rtl) {
139
106
  left: unset;
140
107
  right: unset;
141
108
  right: 0;
@@ -143,55 +110,38 @@
143
110
  }
144
111
  }
145
112
 
146
- :host .picker-highlight {
147
- border-radius: 8px;
148
- left: 0;
149
- right: 0;
150
- top: 50%;
151
- bottom: 0;
152
- -webkit-margin-start: auto;
153
- margin-inline-start: auto;
154
- -webkit-margin-end: auto;
155
- margin-inline-end: auto;
156
- margin-top: 0;
157
- margin-bottom: 0;
158
- position: absolute;
159
- width: calc(100% - 16px);
160
- height: 34px;
161
- transform: translateY(-50%);
162
- background: var(--wheel-highlight-background);
163
- z-index: -1;
113
+ .picker-opt.picker-opt-disabled {
114
+ pointer-events: none;
164
115
  }
165
116
 
166
- :host input {
167
- position: absolute;
168
- top: 0;
169
- left: 0;
170
- right: 0;
171
- bottom: 0;
172
- width: 100%;
173
- height: 100%;
174
- margin: 0;
175
- padding: 0;
176
- border: 0;
177
- outline: 0;
178
- clip: rect(0 0 0 0);
117
+ .picker-opt-disabled {
179
118
  opacity: 0;
180
- overflow: hidden;
181
- -webkit-appearance: none;
182
- -moz-appearance: none;
183
119
  }
184
120
 
185
- :host ::slotted(ion-picker-column-internal:first-of-type) {
186
- text-align: start;
121
+ .picker-opts-left {
122
+ justify-content: flex-start;
123
+ }
124
+
125
+ .picker-opts-right {
126
+ justify-content: flex-end;
187
127
  }
188
128
 
189
- :host ::slotted(ion-picker-column-internal:last-of-type) {
129
+ .picker-opt:active, .picker-opt:focus {
130
+ outline: none;
131
+ }
132
+
133
+ .picker-prefix {
134
+ position: relative;
135
+ flex: 1;
190
136
  text-align: end;
137
+ white-space: nowrap;
191
138
  }
192
139
 
193
- :host ::slotted(ion-picker-column-internal:only-child) {
194
- text-align: center;
140
+ .picker-suffix {
141
+ position: relative;
142
+ flex: 1;
143
+ text-align: start;
144
+ white-space: nowrap;
195
145
  }
196
146
 
197
147
  /**
@@ -249,10 +199,57 @@
249
199
  * }
250
200
  * }
251
201
  */
252
- :host .picker-before {
253
- background: linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%);
202
+ .picker-col {
203
+ -webkit-padding-start: 4px;
204
+ padding-inline-start: 4px;
205
+ -webkit-padding-end: 4px;
206
+ padding-inline-end: 4px;
207
+ padding-top: 0;
208
+ padding-bottom: 0;
209
+ transform-style: preserve-3d;
210
+ }
211
+
212
+ .picker-prefix,
213
+ .picker-suffix,
214
+ .picker-opts {
215
+ top: 77px;
216
+ transform-style: preserve-3d;
217
+ color: inherit;
218
+ font-size: 20px;
219
+ line-height: 42px;
220
+ pointer-events: none;
221
+ }
222
+
223
+ .picker-opt {
224
+ padding-left: 0;
225
+ padding-right: 0;
226
+ padding-top: 0;
227
+ padding-bottom: 0;
228
+ margin-left: 0;
229
+ margin-right: 0;
230
+ margin-top: 0;
231
+ margin-bottom: 0;
232
+ transform-origin: center center;
233
+ height: 46px;
234
+ transform-style: preserve-3d;
235
+ transition-timing-function: ease-out;
236
+ background: transparent;
237
+ color: inherit;
238
+ font-size: 20px;
239
+ line-height: 42px;
240
+ backface-visibility: hidden;
241
+ pointer-events: auto;
242
+ }
243
+ :host-context([dir=rtl]) .picker-opt {
244
+ transform-origin: calc(100% - center) center;
254
245
  }
255
246
 
256
- :host .picker-after {
257
- background: linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 1) 30%, rgba(var(--wheel-fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255))), 0) 90%);
247
+ [dir=rtl] .picker-opt {
248
+ transform-origin: calc(100% - center) center;
249
+ }
250
+
251
+ @supports selector(:dir(rtl)) {
252
+ .picker-opt:dir(rtl) {
253
+ transform-origin: calc(100% - center) center;
254
+ }
258
255
  }