@ionic/core 8.1.2-dev.11715623495.196f4eba → 8.1.2-dev.11722973571.1baa9aa1

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 (339) hide show
  1. package/README.md +1 -1
  2. package/components/checkbox.js +2 -2
  3. package/components/ion-select.js +2 -2
  4. package/components/ion-toggle.js +2 -2
  5. package/components/ionic-global.js +1 -8
  6. package/components/picker-column.js +25 -6
  7. package/components/radio.js +2 -2
  8. package/dist/cjs/{app-globals-48899f81.js → app-globals-66b7dc06.js} +1 -1
  9. package/dist/cjs/{hardware-back-button-bf36cddf.js → hardware-back-button-ed931127.js} +1 -1
  10. package/dist/cjs/{index-82895fdf.js → index-c0b7f8f4.js} +3 -3
  11. package/dist/cjs/{index-29495bd5.js → index-c54654c6.js} +2 -2
  12. package/dist/cjs/index.cjs.js +7 -7
  13. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  14. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  15. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  16. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  17. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  19. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  23. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  24. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  28. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  34. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  35. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  37. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  38. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-picker-column.cjs.entry.js +26 -7
  41. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  42. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  45. package/dist/cjs/ion-refresher_2.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-reorder_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  48. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  49. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  50. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  51. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  52. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  53. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  54. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  55. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  56. package/dist/cjs/ion-textarea.cjs.entry.js +1 -1
  57. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  58. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  59. package/dist/cjs/{ionic-global-9341acd2.js → ionic-global-35b86a09.js} +1 -8
  60. package/dist/cjs/ionic.cjs.js +2 -2
  61. package/dist/cjs/{ios.transition-0f314d8c.js → ios.transition-5ddf92f1.js} +2 -2
  62. package/dist/cjs/loader.cjs.js +2 -2
  63. package/dist/cjs/{md.transition-37bc65df.js → md.transition-047c18c5.js} +2 -2
  64. package/dist/cjs/{overlays-07e20344.js → overlays-cb04d075.js} +2 -2
  65. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +4 -3
  66. package/dist/collection/components/alert/test/a11y/alert.e2e.js +3 -1
  67. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +1 -1
  68. package/dist/collection/components/checkbox/checkbox.ios.css +1 -0
  69. package/dist/collection/components/checkbox/checkbox.md.css +1 -0
  70. package/dist/collection/components/datetime/test/position/datetime.e2e.js +1 -1
  71. package/dist/collection/components/item/test/inputs/item.e2e.js +46 -0
  72. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +135 -0
  73. package/dist/collection/components/loading/test/basic/loading.e2e.js +1 -1
  74. package/dist/collection/components/menu/test/basic/menu.e2e.js +1 -1
  75. package/dist/collection/components/modal/test/trigger/modal.e2e.js +1 -1
  76. package/dist/collection/components/nav/test/basic/nav.e2e.js +5 -5
  77. package/dist/collection/components/nav/test/nested/nav.e2e.js +6 -6
  78. package/dist/collection/components/nav/test/routing/nav.e2e.js +7 -7
  79. package/dist/collection/components/picker-column/picker-column.js +25 -6
  80. package/dist/collection/components/popover/test/trigger/popover.e2e.js +1 -1
  81. package/dist/collection/components/radio/radio.ios.css +1 -0
  82. package/dist/collection/components/radio/radio.md.css +1 -0
  83. package/dist/collection/components/select/select.ios.css +1 -0
  84. package/dist/collection/components/select/select.md.css +1 -0
  85. package/dist/collection/components/select/test/basic/select.e2e.js +1 -1
  86. package/dist/collection/components/select/test/disabled/select.e2e.js +1 -1
  87. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +2 -2
  88. package/dist/collection/components/toggle/toggle.ios.css +1 -0
  89. package/dist/collection/components/toggle/toggle.md.css +1 -0
  90. package/dist/collection/global/config.js +1 -8
  91. package/dist/collection/global/test/config-controller.spec.js +1 -9
  92. package/dist/docs.json +1 -1
  93. package/dist/esm/{app-globals-be3589d5.js → app-globals-b99e6d29.js} +1 -1
  94. package/dist/esm/{hardware-back-button-1cea5aa6.js → hardware-back-button-2d9760b6.js} +1 -1
  95. package/dist/esm/{index-2e6da2d8.js → index-7ae7186a.js} +2 -2
  96. package/dist/esm/{index-f98dc97c.js → index-8e6b6a24.js} +3 -3
  97. package/dist/esm/index.js +7 -7
  98. package/dist/esm/ion-accordion_2.entry.js +1 -1
  99. package/dist/esm/ion-action-sheet.entry.js +3 -3
  100. package/dist/esm/ion-alert.entry.js +3 -3
  101. package/dist/esm/ion-app_8.entry.js +4 -4
  102. package/dist/esm/ion-avatar_3.entry.js +1 -1
  103. package/dist/esm/ion-back-button.entry.js +1 -1
  104. package/dist/esm/ion-backdrop.entry.js +1 -1
  105. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  106. package/dist/esm/ion-button_2.entry.js +1 -1
  107. package/dist/esm/ion-card_5.entry.js +1 -1
  108. package/dist/esm/ion-checkbox.entry.js +3 -3
  109. package/dist/esm/ion-chip.entry.js +1 -1
  110. package/dist/esm/ion-col_3.entry.js +1 -1
  111. package/dist/esm/ion-datetime-button.entry.js +1 -1
  112. package/dist/esm/ion-datetime_3.entry.js +3 -3
  113. package/dist/esm/ion-fab_3.entry.js +1 -1
  114. package/dist/esm/ion-img.entry.js +1 -1
  115. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -1
  116. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  117. package/dist/esm/ion-input.entry.js +1 -1
  118. package/dist/esm/ion-item-option_3.entry.js +1 -1
  119. package/dist/esm/ion-item_8.entry.js +1 -1
  120. package/dist/esm/ion-loading.entry.js +3 -3
  121. package/dist/esm/ion-menu_3.entry.js +4 -4
  122. package/dist/esm/ion-modal.entry.js +4 -4
  123. package/dist/esm/ion-nav_2.entry.js +2 -2
  124. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  125. package/dist/esm/ion-picker-column.entry.js +26 -7
  126. package/dist/esm/ion-popover.entry.js +4 -4
  127. package/dist/esm/ion-progress-bar.entry.js +1 -1
  128. package/dist/esm/ion-radio_2.entry.js +3 -3
  129. package/dist/esm/ion-range.entry.js +1 -1
  130. package/dist/esm/ion-refresher_2.entry.js +1 -1
  131. package/dist/esm/ion-reorder_2.entry.js +1 -1
  132. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  133. package/dist/esm/ion-route_4.entry.js +1 -1
  134. package/dist/esm/ion-searchbar.entry.js +1 -1
  135. package/dist/esm/ion-segment_2.entry.js +1 -1
  136. package/dist/esm/ion-select_3.entry.js +5 -5
  137. package/dist/esm/ion-spinner.entry.js +1 -1
  138. package/dist/esm/ion-split-pane.entry.js +1 -1
  139. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  140. package/dist/esm/ion-text.entry.js +1 -1
  141. package/dist/esm/ion-textarea.entry.js +1 -1
  142. package/dist/esm/ion-toast.entry.js +3 -3
  143. package/dist/esm/ion-toggle.entry.js +3 -3
  144. package/dist/esm/{ionic-global-1bde7ee7.js → ionic-global-4528d288.js} +1 -8
  145. package/dist/esm/ionic.js +2 -2
  146. package/dist/esm/{ios.transition-797dd588.js → ios.transition-e35d0940.js} +2 -2
  147. package/dist/esm/loader.js +2 -2
  148. package/dist/esm/{md.transition-af3db381.js → md.transition-4b90a1f0.js} +2 -2
  149. package/dist/esm/{overlays-c10d1e6b.js → overlays-df2c06b2.js} +2 -2
  150. package/dist/esm-es5/app-globals-b99e6d29.js +4 -0
  151. package/dist/esm-es5/hardware-back-button-2d9760b6.js +4 -0
  152. package/dist/esm-es5/{index-2e6da2d8.js → index-7ae7186a.js} +1 -1
  153. package/dist/esm-es5/{index-f98dc97c.js → index-8e6b6a24.js} +1 -1
  154. package/dist/esm-es5/index.js +1 -1
  155. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  156. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  157. package/dist/esm-es5/ion-alert.entry.js +1 -1
  158. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  159. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  160. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  161. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  162. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  163. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  165. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  166. package/dist/esm-es5/ion-chip.entry.js +1 -1
  167. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  168. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  169. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  170. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  171. package/dist/esm-es5/ion-img.entry.js +1 -1
  172. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  174. package/dist/esm-es5/ion-input.entry.js +1 -1
  175. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  176. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  177. package/dist/esm-es5/ion-loading.entry.js +1 -1
  178. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  179. package/dist/esm-es5/ion-modal.entry.js +1 -1
  180. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  182. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  183. package/dist/esm-es5/ion-popover.entry.js +1 -1
  184. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  185. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  186. package/dist/esm-es5/ion-range.entry.js +1 -1
  187. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  188. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  189. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  190. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  191. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  192. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  193. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  194. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  195. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  196. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  197. package/dist/esm-es5/ion-text.entry.js +1 -1
  198. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  199. package/dist/esm-es5/ion-toast.entry.js +1 -1
  200. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  201. package/dist/esm-es5/ionic-global-4528d288.js +4 -0
  202. package/dist/esm-es5/ionic.js +1 -1
  203. package/dist/esm-es5/{ios.transition-797dd588.js → ios.transition-e35d0940.js} +1 -1
  204. package/dist/esm-es5/loader.js +1 -1
  205. package/dist/esm-es5/md.transition-4b90a1f0.js +4 -0
  206. package/dist/esm-es5/{overlays-c10d1e6b.js → overlays-df2c06b2.js} +1 -1
  207. package/dist/ionic/index.esm.js +1 -1
  208. package/dist/ionic/ionic.esm.js +1 -1
  209. package/dist/ionic/ionic.js +1 -1
  210. package/dist/ionic/{p-17b961b5.entry.js → p-0395be73.entry.js} +1 -1
  211. package/dist/ionic/{p-80faac11.entry.js → p-0536574e.entry.js} +1 -1
  212. package/dist/ionic/{p-37797d02.system.entry.js → p-08ea3402.system.entry.js} +1 -1
  213. package/dist/ionic/{p-5872ffbc.entry.js → p-09538818.entry.js} +1 -1
  214. package/dist/ionic/{p-3898bad9.system.entry.js → p-0978924b.system.entry.js} +1 -1
  215. package/dist/ionic/{p-b5b019cf.system.entry.js → p-0a6d801e.system.entry.js} +1 -1
  216. package/dist/ionic/{p-d4eb1011.system.entry.js → p-0b007acc.system.entry.js} +1 -1
  217. package/dist/ionic/{p-7aec8e3f.system.entry.js → p-10feef7e.system.entry.js} +1 -1
  218. package/dist/ionic/p-15d1ddba.js +4 -0
  219. package/dist/ionic/{p-27bcbd6d.system.entry.js → p-199f826f.system.entry.js} +1 -1
  220. package/dist/ionic/{p-f6b9a53f.entry.js → p-1b435d20.entry.js} +1 -1
  221. package/dist/ionic/{p-7111fc46.js → p-1cc0b31f.js} +1 -1
  222. package/dist/ionic/{p-b82d1ac7.entry.js → p-1eb63fa4.entry.js} +1 -1
  223. package/dist/ionic/{p-7c3121a4.entry.js → p-207e11dc.entry.js} +1 -1
  224. package/dist/ionic/{p-3d2e5c1c.system.entry.js → p-279f3bac.system.entry.js} +1 -1
  225. package/dist/ionic/{p-03b373d1.entry.js → p-29de09dd.entry.js} +1 -1
  226. package/dist/ionic/{p-86944697.entry.js → p-2c588aa2.entry.js} +1 -1
  227. package/dist/ionic/p-2ff0e0aa.system.js +4 -0
  228. package/dist/ionic/{p-90e7b508.system.js → p-30baae57.system.js} +1 -1
  229. package/dist/ionic/p-31d27232.system.js +4 -0
  230. package/dist/ionic/{p-96e03a7f.system.js → p-33e10509.system.js} +1 -1
  231. package/dist/ionic/{p-d756fa2c.system.entry.js → p-380efbfa.system.entry.js} +1 -1
  232. package/dist/ionic/{p-ebb20f18.entry.js → p-3f53a0b1.entry.js} +1 -1
  233. package/dist/ionic/{p-3fd55cac.entry.js → p-433157a4.entry.js} +1 -1
  234. package/dist/ionic/{p-4f1206e6.system.entry.js → p-498eb648.system.entry.js} +1 -1
  235. package/dist/ionic/{p-551305b2.system.entry.js → p-4d8f408d.system.entry.js} +1 -1
  236. package/dist/ionic/{p-5dfe58df.entry.js → p-5091f63c.entry.js} +1 -1
  237. package/dist/ionic/{p-c9eb2c20.system.entry.js → p-509620b8.system.entry.js} +1 -1
  238. package/dist/ionic/{p-6962865f.entry.js → p-5109a566.entry.js} +1 -1
  239. package/dist/ionic/p-51f35fe8.system.entry.js +4 -0
  240. package/dist/ionic/{p-0d52d30c.entry.js → p-52ce473d.entry.js} +1 -1
  241. package/dist/ionic/{p-989b4881.entry.js → p-52f53904.entry.js} +1 -1
  242. package/dist/ionic/{p-1269948a.system.entry.js → p-55f99a39.system.entry.js} +1 -1
  243. package/dist/ionic/{p-58776aa9.system.js → p-5734ac17.system.js} +1 -1
  244. package/dist/ionic/{p-5d487b77.system.entry.js → p-57bc32e2.system.entry.js} +1 -1
  245. package/dist/ionic/{p-bbd48632.js → p-5cc6dcf5.js} +1 -1
  246. package/dist/ionic/{p-c8475169.entry.js → p-5dc9f99a.entry.js} +1 -1
  247. package/dist/ionic/{p-58818a60.entry.js → p-606f069c.entry.js} +1 -1
  248. package/dist/ionic/{p-8c766b22.system.entry.js → p-628967e3.system.entry.js} +1 -1
  249. package/dist/ionic/{p-d9cc258f.system.entry.js → p-62e44e4a.system.entry.js} +1 -1
  250. package/dist/ionic/{p-696a0e69.js → p-66ed603b.js} +1 -1
  251. package/dist/ionic/{p-599c676c.system.entry.js → p-68bb9870.system.entry.js} +1 -1
  252. package/dist/ionic/{p-d87777d7.system.entry.js → p-6a2cf398.system.entry.js} +1 -1
  253. package/dist/ionic/{p-f4153f13.entry.js → p-6c3666d5.entry.js} +1 -1
  254. package/dist/ionic/{p-ee096641.entry.js → p-6ec88301.entry.js} +1 -1
  255. package/dist/ionic/p-6f008ad2.js +4 -0
  256. package/dist/ionic/{p-3b22a54f.entry.js → p-6fc11592.entry.js} +1 -1
  257. package/dist/ionic/{p-2a76e96d.system.entry.js → p-700567ab.system.entry.js} +1 -1
  258. package/dist/ionic/{p-edbce83c.js → p-712d54ae.js} +1 -1
  259. package/dist/ionic/{p-855a4a6f.entry.js → p-7349de07.entry.js} +1 -1
  260. package/dist/ionic/{p-459dfa7c.system.entry.js → p-77731f19.system.entry.js} +1 -1
  261. package/dist/ionic/{p-1e458870.entry.js → p-78405458.entry.js} +1 -1
  262. package/dist/ionic/p-7c3d391b.system.entry.js +4 -0
  263. package/dist/ionic/{p-966164ea.system.entry.js → p-7d6fd45f.system.entry.js} +1 -1
  264. package/dist/ionic/{p-6eb905a4.entry.js → p-80265a58.entry.js} +1 -1
  265. package/dist/ionic/{p-934866af.system.js → p-842c9fca.system.js} +1 -1
  266. package/dist/ionic/p-897fac22.system.entry.js +4 -0
  267. package/dist/ionic/{p-75742732.entry.js → p-8a03fbee.entry.js} +1 -1
  268. package/dist/ionic/{p-baafc473.system.entry.js → p-8cb80f83.system.entry.js} +1 -1
  269. package/dist/ionic/{p-ca4b44b9.system.entry.js → p-8d14ee8c.system.entry.js} +1 -1
  270. package/dist/ionic/{p-31e893af.system.entry.js → p-9213681c.system.entry.js} +1 -1
  271. package/dist/ionic/p-92d7e99d.system.js +4 -0
  272. package/dist/ionic/{p-e9645ade.system.entry.js → p-9664a1a2.system.entry.js} +1 -1
  273. package/dist/ionic/{p-148f8599.entry.js → p-9797f6eb.entry.js} +1 -1
  274. package/dist/ionic/{p-8914c2a1.system.entry.js → p-9848d7be.system.entry.js} +1 -1
  275. package/dist/ionic/{p-6ecc188e.entry.js → p-98f6116f.entry.js} +1 -1
  276. package/dist/ionic/{p-cb8b0250.entry.js → p-99884813.entry.js} +1 -1
  277. package/dist/ionic/{p-45e55a47.system.entry.js → p-99ca9787.system.entry.js} +1 -1
  278. package/dist/ionic/{p-fdf3a628.system.entry.js → p-9c6dcf78.system.entry.js} +1 -1
  279. package/dist/ionic/p-9ec42be0.js +4 -0
  280. package/dist/ionic/{p-ce8ac1e4.system.js → p-a488b7ab.system.js} +1 -1
  281. package/dist/ionic/{p-022f2130.entry.js → p-a4ab7449.entry.js} +1 -1
  282. package/dist/ionic/{p-ce17e581.system.entry.js → p-a50f23bf.system.entry.js} +1 -1
  283. package/dist/ionic/p-a6a7ac93.system.entry.js +4 -0
  284. package/dist/ionic/{p-811e5e0b.system.entry.js → p-a6a8b478.system.entry.js} +1 -1
  285. package/dist/ionic/{p-7fec1057.js → p-a953ef66.js} +1 -1
  286. package/dist/ionic/{p-07b07582.entry.js → p-aaaaaea1.entry.js} +1 -1
  287. package/dist/ionic/p-acd933c3.entry.js +4 -0
  288. package/dist/ionic/{p-85d56a19.entry.js → p-b02eda30.entry.js} +1 -1
  289. package/dist/ionic/{p-174d51c3.system.entry.js → p-b07affd5.system.entry.js} +1 -1
  290. package/dist/ionic/{p-6d04b5b5.system.entry.js → p-b28d3ccb.system.entry.js} +1 -1
  291. package/dist/ionic/{p-96aeb551.entry.js → p-b563b6ac.entry.js} +1 -1
  292. package/dist/ionic/{p-9940248f.system.entry.js → p-b9181033.system.entry.js} +1 -1
  293. package/dist/ionic/p-b9e6494b.entry.js +4 -0
  294. package/dist/ionic/{p-983243c7.entry.js → p-ba70039f.entry.js} +1 -1
  295. package/dist/ionic/{p-1b06783c.entry.js → p-bbbe869e.entry.js} +1 -1
  296. package/dist/ionic/{p-923abbb7.entry.js → p-bd1173d3.entry.js} +1 -1
  297. package/dist/ionic/{p-2712197f.entry.js → p-c0e9ba51.entry.js} +1 -1
  298. package/dist/ionic/{p-89825367.system.entry.js → p-c41435e6.system.entry.js} +1 -1
  299. package/dist/ionic/{p-7926e68d.system.entry.js → p-c5dd0892.system.entry.js} +1 -1
  300. package/dist/ionic/p-cd96c996.entry.js +4 -0
  301. package/dist/ionic/{p-1f800b48.system.js → p-cec8589b.system.js} +1 -1
  302. package/dist/ionic/{p-6559cc5f.system.entry.js → p-d69b26d9.system.entry.js} +1 -1
  303. package/dist/ionic/{p-48a13e76.entry.js → p-d9f3d68a.entry.js} +1 -1
  304. package/dist/ionic/{p-c11ed502.system.entry.js → p-dc0d9ff5.system.entry.js} +1 -1
  305. package/dist/ionic/{p-d1513cb4.entry.js → p-dc1e363a.entry.js} +1 -1
  306. package/dist/ionic/{p-2e015537.entry.js → p-df517d1f.entry.js} +1 -1
  307. package/dist/ionic/{p-52d769e5.system.entry.js → p-e0a8ffd0.system.entry.js} +1 -1
  308. package/dist/ionic/{p-a0a70799.system.entry.js → p-e36e2c94.system.entry.js} +2 -2
  309. package/dist/ionic/{p-88a6268d.system.entry.js → p-e6e197f5.system.entry.js} +1 -1
  310. package/dist/ionic/{p-33918af6.entry.js → p-e6e88ab9.entry.js} +1 -1
  311. package/dist/ionic/p-e9f9e7dd.entry.js +4 -0
  312. package/dist/ionic/{p-12cbeb25.system.js → p-eb3023c9.system.js} +1 -1
  313. package/dist/ionic/{p-7260306d.system.entry.js → p-ecbdbf25.system.entry.js} +1 -1
  314. package/dist/ionic/{p-5aa364c2.system.entry.js → p-ed5aebaa.system.entry.js} +1 -1
  315. package/dist/ionic/{p-fe4d63c0.entry.js → p-f0e81ddb.entry.js} +1 -1
  316. package/dist/ionic/{p-ec44cda5.entry.js → p-f357707e.entry.js} +1 -1
  317. package/dist/ionic/{p-b152210c.entry.js → p-f53bcebd.entry.js} +1 -1
  318. package/dist/ionic/{p-67437acc.system.entry.js → p-fb21fd1c.system.entry.js} +1 -1
  319. package/dist/ionic/{p-f8be2e95.entry.js → p-fcecca8f.entry.js} +1 -1
  320. package/hydrate/index.js +33 -14
  321. package/package.json +2 -2
  322. package/dist/esm-es5/app-globals-be3589d5.js +0 -4
  323. package/dist/esm-es5/hardware-back-button-1cea5aa6.js +0 -4
  324. package/dist/esm-es5/ionic-global-1bde7ee7.js +0 -4
  325. package/dist/esm-es5/md.transition-af3db381.js +0 -4
  326. package/dist/ionic/p-0177ba51.entry.js +0 -4
  327. package/dist/ionic/p-0eada78d.system.entry.js +0 -4
  328. package/dist/ionic/p-2397bed8.system.js +0 -4
  329. package/dist/ionic/p-2d6c9594.entry.js +0 -4
  330. package/dist/ionic/p-3992c7b7.js +0 -4
  331. package/dist/ionic/p-4f675885.system.entry.js +0 -4
  332. package/dist/ionic/p-6eb82638.system.js +0 -4
  333. package/dist/ionic/p-917d9791.system.js +0 -4
  334. package/dist/ionic/p-941a19bf.entry.js +0 -4
  335. package/dist/ionic/p-a1b06214.system.entry.js +0 -4
  336. package/dist/ionic/p-aace4d26.js +0 -4
  337. package/dist/ionic/p-ca4546e9.system.entry.js +0 -4
  338. package/dist/ionic/p-d71400ce.js +0 -4
  339. package/dist/ionic/p-f2e729ae.entry.js +0 -4
@@ -12,3 +12,138 @@ configs().forEach(({ title, screenshot, config }) => {
12
12
  });
13
13
  });
14
14
  });
15
+ /**
16
+ * This behavior does not vary across directions
17
+ */
18
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
19
+ test.describe(title('item: slotted inputs'), () => {
20
+ test.describe('checkbox', () => {
21
+ test('should not expand the slotted checkbox width larger than its content', async ({ page }, testInfo) => {
22
+ testInfo.annotations.push({
23
+ type: 'issue',
24
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
25
+ });
26
+ await page.setContent(`
27
+ <ion-list>
28
+ <ion-item>
29
+ <ion-checkbox slot="start"></ion-checkbox>
30
+ <ion-label>Label</ion-label>
31
+ </ion-item>
32
+ <ion-item>
33
+ <ion-label>Label</ion-label>
34
+ <ion-checkbox slot="end"></ion-checkbox>
35
+ </ion-item>
36
+ <ion-item>
37
+ <ion-checkbox slot="start">Start</ion-checkbox>
38
+ <ion-label>Label</ion-label>
39
+ </ion-item>
40
+ <ion-item>
41
+ <ion-label>Label</ion-label>
42
+ <ion-checkbox slot="end">End</ion-checkbox>
43
+ </ion-item>
44
+ </ion-list>
45
+ `, config);
46
+ const list = page.locator('ion-list');
47
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-checkbox`));
48
+ });
49
+ });
50
+ test.describe('radio', () => {
51
+ test('should not expand the slotted radio width larger than its content', async ({ page }, testInfo) => {
52
+ testInfo.annotations.push({
53
+ type: 'issue',
54
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
55
+ });
56
+ await page.setContent(`
57
+ <ion-list>
58
+ <ion-item>
59
+ <ion-radio slot="start"></ion-radio>
60
+ <ion-label>Label</ion-label>
61
+ </ion-item>
62
+ <ion-item>
63
+ <ion-label>Label</ion-label>
64
+ <ion-radio slot="end"></ion-radio>
65
+ </ion-item>
66
+ <ion-item>
67
+ <ion-radio slot="start">Start</ion-radio>
68
+ <ion-label>Label</ion-label>
69
+ </ion-item>
70
+ <ion-item>
71
+ <ion-label>Label</ion-label>
72
+ <ion-radio slot="end">End</ion-radio>
73
+ </ion-item>
74
+ </ion-list>
75
+ `, config);
76
+ const list = page.locator('ion-list');
77
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-radio`));
78
+ });
79
+ });
80
+ test.describe('select', () => {
81
+ test('should not expand the slotted select width larger than its content', async ({ page }, testInfo) => {
82
+ testInfo.annotations.push({
83
+ type: 'issue',
84
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
85
+ });
86
+ await page.setContent(`
87
+ <ion-list>
88
+ <ion-item>
89
+ <ion-select slot="start">
90
+ <ion-select-option>Option</ion-select-option>
91
+ </ion-select>
92
+ <ion-label>Label</ion-label>
93
+ </ion-item>
94
+ <ion-item>
95
+ <ion-label>Label</ion-label>
96
+ <ion-select slot="end">
97
+ <ion-select-option>Option</ion-select-option>
98
+ </ion-select>
99
+ </ion-item>
100
+ <ion-item>
101
+ <ion-select slot="start" label="Start">
102
+ <ion-select-option>Option</ion-select-option>
103
+ </ion-select>
104
+ <ion-label>Label</ion-label>
105
+ </ion-item>
106
+ <ion-item>
107
+ <ion-label>Label</ion-label>
108
+ <ion-select slot="end" label="End">
109
+ <ion-select-option>Option</ion-select-option>
110
+ </ion-select>
111
+ </ion-item>
112
+ </ion-list>
113
+ `, config);
114
+ const list = page.locator('ion-list');
115
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-select`));
116
+ });
117
+ });
118
+ test.describe('toggle', () => {
119
+ test('should not expand the slotted toggle width larger than its content', async ({ page }, testInfo) => {
120
+ testInfo.annotations.push({
121
+ type: 'issue',
122
+ description: 'https://github.com/ionic-team/ionic-framework/issues/29423',
123
+ });
124
+ await page.setContent(`
125
+ <ion-list>
126
+ <ion-item>
127
+ <ion-toggle slot="start"></ion-toggle>
128
+ <ion-label>Label</ion-label>
129
+ </ion-item>
130
+ <ion-item>
131
+ <ion-label>Label</ion-label>
132
+ <ion-toggle slot="end"></ion-toggle>
133
+ </ion-item>
134
+ <ion-item>
135
+ <ion-toggle slot="start">Start</ion-toggle>
136
+ <ion-label>Label</ion-label>
137
+ </ion-item>
138
+ <ion-item>
139
+ <ion-label>Label</ion-label>
140
+ <ion-toggle slot="end">End</ion-toggle>
141
+ </ion-item>
142
+ </ion-list>
143
+ `, config);
144
+ const list = page.locator('ion-list');
145
+ await expect(list).toHaveScreenshot(screenshot(`item-slotted-inputs-toggle`));
146
+ });
147
+ });
148
+ });
149
+ });
@@ -60,7 +60,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, c
60
60
  const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent');
61
61
  await page.click('#html-content-loading');
62
62
  await ionLoadingDidPresent.next();
63
- const button = page.locator('ion-loading ion-button');
63
+ const button = page.locator('ion-loading button');
64
64
  if (browserName === 'webkit') {
65
65
  await page.keyboard.down('Alt');
66
66
  }
@@ -26,7 +26,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
26
26
  });
27
27
  test('should trap focus', async ({ page, skip, browserName }) => {
28
28
  skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content');
29
- // TODO (FW-2979)
29
+ // TODO (ROU-5437)
30
30
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
31
31
  const ionDidOpen = await page.spyOnEvent('ionDidOpen');
32
32
  await page.click('#open-start');
@@ -21,7 +21,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
21
21
  await modal.evaluate((modal) => {
22
22
  var _a;
23
23
  modal.remove();
24
- (_a = document.querySelector('ion-button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', modal);
24
+ (_a = document.querySelector('button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', modal);
25
25
  });
26
26
  await page.waitForChanges();
27
27
  await button.click();
@@ -17,7 +17,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
17
17
  });
18
18
  test.describe('pushing a new page', () => {
19
19
  test('should render the pushed component', async ({ page }) => {
20
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
20
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
21
21
  const pageOne = page.locator('page-one');
22
22
  const pageTwo = page.locator('page-two');
23
23
  await pageTwoButton.click();
@@ -27,7 +27,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
27
27
  await expect(pageOne).not.toBeVisible();
28
28
  });
29
29
  test('should render the back button', async ({ page }) => {
30
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
30
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
31
31
  const pageTwoBackButton = page.locator('page-two ion-back-button');
32
32
  await pageTwoButton.click();
33
33
  await page.waitForChanges();
@@ -37,7 +37,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
37
37
  test('back button should pop to the previous page', async ({ page }) => {
38
38
  const pageOne = page.locator('page-one');
39
39
  const pageTwo = page.locator('page-two');
40
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
40
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
41
41
  const pageTwoBackButton = page.locator('page-two ion-back-button');
42
42
  await pageTwoButton.click();
43
43
  await page.waitForChanges();
@@ -52,8 +52,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
52
52
  const pageOne = page.locator('page-one');
53
53
  const pageTwo = page.locator('page-two');
54
54
  const pageThree = page.locator('page-three');
55
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
56
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")');
55
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
56
+ const pageThreeButton = page.locator('button:has-text("Go to Page Three")');
57
57
  await pageTwoButton.click();
58
58
  await page.waitForChanges();
59
59
  await expect(pageOne).toHaveCount(1);
@@ -15,8 +15,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
15
15
  test('should push pages with nested ion-nav', async ({ page }) => {
16
16
  const pageOne = page.locator('page-one');
17
17
  const pageTwo = page.locator('page-two');
18
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")');
19
- const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")');
18
+ const pageTwoButton = page.locator('button:has-text("Go to Page 2")');
19
+ const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")');
20
20
  await pageTwoButton.click();
21
21
  await page.waitForChanges();
22
22
  const pageTwoOne = page.locator('page-two-one');
@@ -28,7 +28,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
28
28
  await page.waitForChanges();
29
29
  await expect(pageTwoOne).toHaveCount(1);
30
30
  await expect(pageTwoTwo).toBeVisible();
31
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")');
31
+ const pageThreeButton = page.locator('button:has-text("Go to Page 3")');
32
32
  await pageThreeButton.click();
33
33
  await page.waitForChanges();
34
34
  const pageThree = page.locator('page-three');
@@ -38,15 +38,15 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
38
38
  });
39
39
  test.describe('back button', () => {
40
40
  test('should work with nested ion-nav', async ({ page }) => {
41
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page 2")');
42
- const pageTwoTwoButton = page.locator('ion-button:has-text("Go to Page 2.2")');
41
+ const pageTwoButton = page.locator('button:has-text("Go to Page 2")');
42
+ const pageTwoTwoButton = page.locator('button:has-text("Go to Page 2.2")');
43
43
  await pageTwoButton.click();
44
44
  await page.waitForChanges();
45
45
  const pageTwoOne = page.locator('page-two-one');
46
46
  const pageTwoTwo = page.locator('page-two-two');
47
47
  await pageTwoTwoButton.click();
48
48
  await page.waitForChanges();
49
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page 3")');
49
+ const pageThreeButton = page.locator('button:has-text("Go to Page 3")');
50
50
  const pageThreeBackButton = page.locator('page-three ion-back-button');
51
51
  await pageThreeButton.click();
52
52
  await page.waitForChanges();
@@ -21,8 +21,8 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
21
21
  const pageRoot = page.locator('page-root');
22
22
  const pageOne = page.locator('page-one');
23
23
  const pageTwo = page.locator('page-two');
24
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
25
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
24
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
25
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
26
26
  await pageOneButton.click();
27
27
  await page.waitForChanges();
28
28
  await expect(pageOne).toBeVisible();
@@ -37,7 +37,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
37
37
  await expect(pageOne).toHaveCount(1);
38
38
  });
39
39
  test('should render the back button', async ({ page }) => {
40
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
40
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
41
41
  const pageOneBackButton = page.locator('page-one ion-back-button');
42
42
  await pageOneButton.click();
43
43
  await page.waitForChanges();
@@ -47,7 +47,7 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
47
47
  test('back button should pop to the previous page', async ({ page }) => {
48
48
  const pageRoot = page.locator('page-root');
49
49
  const pageOne = page.locator('page-one');
50
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
50
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
51
51
  const pageOneBackButton = page.locator('page-one ion-back-button');
52
52
  await pageOneButton.click();
53
53
  await page.waitForChanges();
@@ -63,9 +63,9 @@ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) =>
63
63
  const pageOne = page.locator('page-one');
64
64
  const pageTwo = page.locator('page-two');
65
65
  const pageThree = page.locator('page-three');
66
- const pageOneButton = page.locator('ion-button:has-text("Go to Page One")');
67
- const pageTwoButton = page.locator('ion-button:has-text("Go to Page Two")');
68
- const pageThreeButton = page.locator('ion-button:has-text("Go to Page Three")');
66
+ const pageOneButton = page.locator('button:has-text("Go to Page One")');
67
+ const pageTwoButton = page.locator('button:has-text("Go to Page Two")');
68
+ const pageThreeButton = page.locator('button:has-text("Go to Page Three")');
69
69
  await pageOneButton.click();
70
70
  await page.waitForChanges();
71
71
  await expect(pageRoot).toHaveCount(1);
@@ -359,7 +359,7 @@ export class PickerColumn {
359
359
  break;
360
360
  }
361
361
  if (newOption !== null) {
362
- this.value = newOption.value;
362
+ this.setValue(newOption.value);
363
363
  // This stops any default browser behavior such as scrolling
364
364
  ev.preventDefault();
365
365
  }
@@ -509,8 +509,8 @@ export class PickerColumn {
509
509
  * Use this method instead of the global `pickerColumn.focus()`.
510
510
  */
511
511
  async setFocus() {
512
- if (this.scrollEl) {
513
- this.scrollEl.focus();
512
+ if (this.assistiveFocusable) {
513
+ this.assistiveFocusable.focus();
514
514
  }
515
515
  }
516
516
  connectedCallback() {
@@ -534,14 +534,33 @@ export class PickerColumn {
534
534
  render() {
535
535
  const { color, disabled, isActive, numericInput } = this;
536
536
  const mode = getIonMode(this);
537
- return (h(Host, { key: 'ced35afc6326a20dbac68193921a807a9c10bb99', class: createColorClasses(color, {
537
+ return (h(Host, { key: 'd60736ce74c0e8c774a163272b78fbad32993ec2', class: createColorClasses(color, {
538
538
  [mode]: true,
539
539
  ['picker-column-active']: isActive,
540
540
  ['picker-column-numeric-input']: numericInput,
541
541
  ['picker-column-disabled']: disabled,
542
- }) }, this.renderAssistiveFocusable(), h("slot", { key: '41e290dcc44dacb4237eb674ce2dedc7db66eb7d', name: "prefix" }), h("div", { key: '1fd869b063900103deadefc40929a1e8f02ec084', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
542
+ }) }, this.renderAssistiveFocusable(), h("slot", { key: '74611112ef154b343ae29a773f8cd8a01cc1447d', name: "prefix" }), h("div", { key: 'af772d2b61b7eb41a567593d290b80a50b7caa72', "aria-hidden": "true", class: "picker-opts", ref: (el) => {
543
543
  this.scrollEl = el;
544
- } }, h("div", { key: '0d2087f775b240c9b2534650eb27f3d99e7690a9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '1245b2bb2b6314c3ec4e0ab3ece4e42beb360fc9', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '503b08f6bbe27fa7d34c165a93ec38ce7f1ad590', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: 'ec401a2b2d56546fb3f10239b71320ce7dc6a77d' }), h("div", { key: '97a234018291c5a6ca7a56bb1a9a417cac0b3e6f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '0197711f71486a8fa3c184b593cebe1c1e54c585', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '961304f0a2a10afb3502ce4c5fbdceef0aa933cf', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'f38b83d26c3c2ba8ef00da7caf7f0be518b2007d', name: "suffix" })));
544
+ },
545
+ /**
546
+ * When an element has an overlay scroll style and
547
+ * a fixed height, Firefox will focus the scrollable
548
+ * container if the content exceeds the container's
549
+ * dimensions.
550
+ *
551
+ * This causes keyboard navigation to focus to this
552
+ * element instead of going to the next element in
553
+ * the tab order.
554
+ *
555
+ * The desired behavior is for the user to be able to
556
+ * focus the assistive focusable element and tab to
557
+ * the next element in the tab order. Instead of tabbing
558
+ * to this element.
559
+ *
560
+ * To prevent this, we set the tabIndex to -1. This
561
+ * will match the behavior of the other browsers.
562
+ */
563
+ tabIndex: -1 }, h("div", { key: '4b646ee97bcf8ed541b9798c91dff189eec41dd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'a44d1a10d20a13aeb47f9871b09e291aa7f216bd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6a481715bd68fa68dc2a76c2e867ce771ea680b0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '23236e731b1ad432c104761ebeec91697a6b7643' }), h("div", { key: '58a6c1f35a3ff0b26acaceebfd477d74b6dcfd6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'ea864872dec6dc363406d1bd9101b1bf21944db6', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '28cc4c570d0dd59f491eef2b15a5ed706d28b7bb', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'cff1cc0bea732a5ce22bb451c5ea404a84af1993', name: "suffix" })));
545
564
  }
546
565
  static get is() { return "ion-picker-column"; }
547
566
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
32
32
  await popover.evaluate((popover) => {
33
33
  var _a;
34
34
  popover.remove();
35
- (_a = document.querySelector('ion-button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', popover);
35
+ (_a = document.querySelector('button')) === null || _a === void 0 ? void 0 : _a.insertAdjacentElement('afterend', popover);
36
36
  });
37
37
  await page.waitForChanges();
38
38
  await button.click();
@@ -126,6 +126,7 @@ input {
126
126
  */
127
127
  :host([slot=start]),
128
128
  :host([slot=end]) {
129
+ flex: initial;
129
130
  width: auto;
130
131
  }
131
132
 
@@ -126,6 +126,7 @@ input {
126
126
  */
127
127
  :host([slot=start]),
128
128
  :host([slot=end]) {
129
+ flex: initial;
129
130
  width: auto;
130
131
  }
131
132
 
@@ -138,6 +138,7 @@
138
138
  */
139
139
  :host([slot=start]),
140
140
  :host([slot=end]) {
141
+ flex: initial;
141
142
  width: auto;
142
143
  }
143
144
 
@@ -138,6 +138,7 @@
138
138
  */
139
139
  :host([slot=start]),
140
140
  :host([slot=end]) {
141
+ flex: initial;
141
142
  width: auto;
142
143
  }
143
144
 
@@ -32,7 +32,7 @@ configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
32
32
  });
33
33
  test.describe('select: popover', () => {
34
34
  test('it should open a popover select', async ({ page, skip }) => {
35
- // TODO (FW-2979)
35
+ // TODO (ROU-5437)
36
36
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
37
37
  const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent');
38
38
  await page.click('#customPopoverSelect');
@@ -6,7 +6,7 @@ import { configs, test } from "../../../../utils/test/playwright/index";
6
6
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
7
7
  test.describe(title('select: disabled options'), () => {
8
8
  test('should not focus a disabled option when no value is set', async ({ page, skip }) => {
9
- // TODO (FW-2979)
9
+ // TODO (ROU-5437)
10
10
  skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.');
11
11
  test.info().annotations.push({
12
12
  type: 'issue',
@@ -18,7 +18,7 @@ const checkedOptions = [
18
18
  configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
19
19
  test.describe(title('select-popover: basic'), () => {
20
20
  test.beforeEach(({ browserName }) => {
21
- test.skip(browserName === 'webkit', 'https://ionic-cloud.atlassian.net/browse/FW-2979');
21
+ test.skip(browserName === 'webkit', 'ROU-5437');
22
22
  });
23
23
  test.describe('single selection', () => {
24
24
  let selectPopoverPage;
@@ -44,7 +44,7 @@ configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => {
44
44
  await expect(selectPopoverPage.popover).not.toBeVisible();
45
45
  });
46
46
  test('pressing Space on a selected option should dismiss the popover', async ({ browserName }) => {
47
- test.skip(browserName === 'firefox', 'Same behavior as https://ionic-cloud.atlassian.net/browse/FW-2979');
47
+ test.skip(browserName === 'firefox', 'Same behavior as ROU-5437');
48
48
  await selectPopoverPage.setup(config, checkedOptions, false);
49
49
  await selectPopoverPage.pressSpaceOnOption('apple');
50
50
  await selectPopoverPage.ionPopoverDidDismiss.next();
@@ -95,6 +95,7 @@
95
95
  */
96
96
  :host([slot=start]),
97
97
  :host([slot=end]) {
98
+ flex: initial;
98
99
  width: auto;
99
100
  }
100
101
 
@@ -95,6 +95,7 @@
95
95
  */
96
96
  :host([slot=start]),
97
97
  :host([slot=end]) {
98
+ flex: initial;
98
99
  width: auto;
99
100
  }
100
101
 
@@ -55,14 +55,7 @@ export const configFromURL = (win) => {
55
55
  .slice(1)
56
56
  .split('&')
57
57
  .map((entry) => entry.split('='))
58
- .map(([key, value]) => {
59
- try {
60
- return [decodeURIComponent(key), decodeURIComponent(value)];
61
- }
62
- catch (e) {
63
- return ['', ''];
64
- }
65
- })
58
+ .map(([key, value]) => [decodeURIComponent(key), decodeURIComponent(value)])
66
59
  .filter(([key]) => startsWith(key, IONIC_PREFIX))
67
60
  .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])
68
61
  .forEach(([key, value]) => {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { Config, configFromURL } from "../config";
4
+ import { Config } from "../config";
5
5
  describe('Config', () => {
6
6
  it('should get a value from the config', () => {
7
7
  const config = new Config();
@@ -74,12 +74,4 @@ describe('Config', () => {
74
74
  config.set('text0', 'hola');
75
75
  expect(config.get('text0', 'HEY')).toEqual('hola');
76
76
  });
77
- it('should not throw an exception with a malformed URI', () => {
78
- // https://github.com/ionic-team/ionic-framework/issues/29479
79
- expect(configFromURL({
80
- location: {
81
- search: '?test=%',
82
- },
83
- })).toEqual({});
84
- });
85
77
  });
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-05-13T18:07:05",
2
+ "timestamp": "2024-08-06T19:48:12",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.17.2",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-1bde7ee7.js';
4
+ import { i as initialize } from './ionic-global-4528d288.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { c as config } from './ionic-global-1bde7ee7.js';
5
+ import { c as config } from './ionic-global-4528d288.js';
6
6
  import './index-9aab3bcf.js';
7
7
 
8
8
  /**
@@ -2,10 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-1cea5aa6.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-2d9760b6.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { c as componentOnReady } from './helpers-da915de8.js';
8
- import { b as getIonMode } from './ionic-global-1bde7ee7.js';
8
+ import { b as getIonMode } from './ionic-global-4528d288.js';
9
9
  import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
11
11
  /**
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as config } from './ionic-global-1bde7ee7.js';
4
+ import { c as config } from './ionic-global-4528d288.js';
5
5
  import { w as writeTask, B as Build } from './index-9aab3bcf.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { r as raf } from './helpers-da915de8.js';
@@ -120,8 +120,8 @@ const createFocusController = () => {
120
120
  };
121
121
  const LAST_FOCUS = 'ion-last-focus';
122
122
 
123
- const iosTransitionAnimation = () => import('./ios.transition-797dd588.js');
124
- const mdTransitionAnimation = () => import('./md.transition-af3db381.js');
123
+ const iosTransitionAnimation = () => import('./ios.transition-e35d0940.js');
124
+ const mdTransitionAnimation = () => import('./md.transition-4b90a1f0.js');
125
125
  const focusController = createFocusController();
126
126
  // TODO(FW-2832): types
127
127
  const transition = (opts) => {
package/dist/esm/index.js CHANGED
@@ -2,22 +2,22 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  export { c as createAnimation } from './animation-eab5a4ca.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-f98dc97c.js';
6
- export { iosTransitionAnimation } from './ios.transition-797dd588.js';
7
- export { mdTransitionAnimation } from './md.transition-af3db381.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-8e6b6a24.js';
6
+ export { iosTransitionAnimation } from './ios.transition-e35d0940.js';
7
+ export { mdTransitionAnimation } from './md.transition-4b90a1f0.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-39782642.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-1bde7ee7.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-4528d288.js';
11
11
  export { c as componentOnReady } from './helpers-da915de8.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-2e6da2d8.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-c10d1e6b.js';
14
+ export { m as menuController } from './index-7ae7186a.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-df2c06b2.js';
16
16
  import './index-a5d50daf.js';
17
17
  import './index-9aab3bcf.js';
18
18
  import './index-9b0d46f4.js';
19
19
  import './gesture-controller-314a54f6.js';
20
- import './hardware-back-button-1cea5aa6.js';
20
+ import './hardware-back-button-2d9760b6.js';
21
21
  import './framework-delegate-63d1a679.js';
22
22
 
23
23
  const IonicSlides = (opts) => {
@@ -4,7 +4,7 @@
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-9aab3bcf.js';
5
5
  import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-da915de8.js';
6
6
  import { l as chevronDown } from './index-e2cf2ceb.js';
7
- import { c as config, b as getIonMode } from './ionic-global-1bde7ee7.js';
7
+ import { c as config, b as getIonMode } from './ionic-global-4528d288.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
9
 
10
10
  const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
@@ -5,16 +5,16 @@ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i
5
5
  import { c as createButtonActiveGesture } from './button-active-920addb8.js';
6
6
  import { r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-c10d1e6b.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-df2c06b2.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
- import { b as getIonMode } from './ionic-global-1bde7ee7.js';
10
+ import { b as getIonMode } from './ionic-global-4528d288.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
12
12
  import './haptic-ac164e4c.js';
13
13
  import './capacitor-59395cbd.js';
14
14
  import './index-a5d50daf.js';
15
15
  import './index-39782642.js';
16
16
  import './gesture-controller-314a54f6.js';
17
- import './hardware-back-button-1cea5aa6.js';
17
+ import './hardware-back-button-2d9760b6.js';
18
18
  import './framework-delegate-63d1a679.js';
19
19
  import './index-9b0d46f4.js';
20
20