@ionic/core 7.6.2-dev.11705355381.14b22962 → 7.6.2-dev.11705694334.11b34c62

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 (398) hide show
  1. package/components/action-sheet.js +4 -4
  2. package/components/alert.js +2 -2
  3. package/components/animation.js +16 -1
  4. package/components/button-active.js +1 -1
  5. package/components/button.js +2 -2
  6. package/components/checkbox.js +2 -2
  7. package/components/ion-back-button.js +1 -1
  8. package/components/ion-badge.js +2 -2
  9. package/components/ion-content.js +3 -2
  10. package/components/ion-datetime-button.js +4 -4
  11. package/components/ion-datetime.js +1 -1
  12. package/components/ion-fab-button.js +2 -2
  13. package/components/ion-input.js +2 -2
  14. package/components/ion-item-option.js +2 -2
  15. package/components/ion-item-sliding.js +128 -7
  16. package/components/ion-loading.js +1 -1
  17. package/components/ion-menu-button.js +1 -1
  18. package/components/ion-menu.js +15 -21
  19. package/components/ion-modal.js +1 -1
  20. package/components/ion-picker-legacy.js +2 -2
  21. package/components/ion-progress-bar.js +5 -2
  22. package/components/ion-range.js +2 -2
  23. package/components/ion-refresher-content.js +1 -1
  24. package/components/ion-refresher.js +1 -1
  25. package/components/ion-router-link.js +1 -1
  26. package/components/ion-searchbar.js +1 -1
  27. package/components/ion-segment-button.js +1 -1
  28. package/components/ion-select.js +2 -2
  29. package/components/ion-split-pane.js +15 -26
  30. package/components/ion-tab-bar.js +2 -2
  31. package/components/ion-tab-button.js +1 -1
  32. package/components/ion-textarea.js +2 -2
  33. package/components/ion-toast.js +2 -2
  34. package/components/ion-toggle.js +2 -2
  35. package/components/item.js +2 -2
  36. package/components/label.js +1 -1
  37. package/components/picker-column2.js +1 -1
  38. package/components/radio.js +2 -2
  39. package/components/select-popover.js +1 -1
  40. package/css/core.css +34 -101
  41. package/css/core.css.map +1 -1
  42. package/css/global.bundle.css +1 -1
  43. package/css/ionic.bundle.css +1 -1
  44. package/css/ionic.bundle.css.map +1 -1
  45. package/css/typography.css +1 -1
  46. package/dist/cjs/{animation-9b401d39.js → animation-8a4f9df4.js} +16 -0
  47. package/dist/cjs/{button-active-5bf1cac0.js → button-active-466dfc8a.js} +1 -1
  48. package/dist/cjs/{index-3b012034.js → index-8023641e.js} +1 -1
  49. package/dist/cjs/{index-17ab7794.js → index-d8b5d5f9.js} +2 -2
  50. package/dist/cjs/index.cjs.js +5 -5
  51. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  52. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  53. package/dist/cjs/ion-app_8.cjs.entry.js +4 -3
  54. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  56. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  59. package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
  60. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-item-option_3.cjs.entry.js +130 -10
  63. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  64. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-menu_3.cjs.entry.js +19 -24
  66. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  67. package/dist/cjs/ion-nav_2.cjs.entry.js +1 -1
  68. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -2
  70. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  73. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  76. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  77. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -24
  78. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  79. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  81. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  82. package/dist/cjs/ionic.cjs.js +1 -1
  83. package/dist/cjs/{ios.transition-b5353f3e.js → ios.transition-34cad0cb.js} +2 -2
  84. package/dist/cjs/loader.cjs.js +1 -1
  85. package/dist/cjs/{md.transition-67157dd9.js → md.transition-5bcc289d.js} +2 -2
  86. package/dist/collection/components/action-sheet/action-sheet.ios.css +12 -5
  87. package/dist/collection/components/action-sheet/action-sheet.js +2 -2
  88. package/dist/collection/components/action-sheet/action-sheet.md.css +9 -2
  89. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +14 -23
  90. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +19 -0
  91. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +22 -0
  92. package/dist/collection/components/alert/alert.ios.css +28 -27
  93. package/dist/collection/components/alert/alert.md.css +6 -6
  94. package/dist/collection/components/alert/test/a11y/alert.e2e.js +9 -22
  95. package/dist/collection/components/back-button/back-button.ios.css +1 -1
  96. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +0 -21
  97. package/dist/collection/components/badge/badge.ios.css +1 -1
  98. package/dist/collection/components/badge/badge.md.css +1 -1
  99. package/dist/collection/components/badge/test/a11y/badge.e2e.js +0 -18
  100. package/dist/collection/components/button/button.ios.css +10 -10
  101. package/dist/collection/components/button/button.md.css +8 -8
  102. package/dist/collection/components/button/test/a11y/button.e2e.js +0 -48
  103. package/dist/collection/components/checkbox/checkbox.ios.css +5 -5
  104. package/dist/collection/components/checkbox/checkbox.md.css +2 -3
  105. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +2 -11
  106. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +10 -0
  107. package/dist/collection/components/content/content.js +3 -2
  108. package/dist/collection/components/datetime/datetime.ios.css +3 -2
  109. package/dist/collection/components/datetime-button/datetime-button.ios.css +107 -0
  110. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  111. package/dist/collection/components/datetime-button/{datetime-button.css → datetime-button.md.css} +9 -6
  112. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +12 -0
  113. package/dist/collection/components/fab-button/fab-button.ios.css +13 -13
  114. package/dist/collection/components/fab-button/fab-button.md.css +4 -4
  115. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +0 -50
  116. package/dist/collection/components/input/input.ios.css +3 -3
  117. package/dist/collection/components/input/input.md.css +3 -3
  118. package/dist/collection/components/input/test/a11y/input.e2e.js +3 -41
  119. package/dist/collection/components/item/item.ios.css +3 -3
  120. package/dist/collection/components/item/item.md.css +4 -4
  121. package/dist/collection/components/item-option/item-option.ios.css +2 -2
  122. package/dist/collection/components/item-option/item-option.md.css +1 -1
  123. package/dist/collection/components/item-sliding/animations/item-sliding-options.js +59 -0
  124. package/dist/collection/components/item-sliding/item-sliding.css +8 -4
  125. package/dist/collection/components/item-sliding/item-sliding.js +89 -6
  126. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +0 -28
  127. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +62 -25
  128. package/dist/collection/components/label/label.md.css +1 -1
  129. package/dist/collection/components/label/test/a11y/label.e2e.js +0 -20
  130. package/dist/collection/components/loading/loading.md.css +1 -1
  131. package/dist/collection/components/loading/test/a11y/loading.e2e.js +5 -21
  132. package/dist/collection/components/menu/menu.ios.css +3 -64
  133. package/dist/collection/components/menu/menu.js +13 -19
  134. package/dist/collection/components/menu/menu.md.css +3 -64
  135. package/dist/collection/components/menu-button/menu-button.ios.css +1 -1
  136. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +0 -14
  137. package/dist/collection/components/modal/gestures/swipe-to-close.js +1 -1
  138. package/dist/collection/components/picker-legacy/picker.ios.css +1 -1
  139. package/dist/collection/components/picker-legacy/picker.md.css +1 -1
  140. package/dist/collection/components/picker-legacy-column/picker-column.md.css +1 -1
  141. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -11
  142. package/dist/collection/components/progress-bar/progress-bar.js +3 -0
  143. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -10
  144. package/dist/collection/components/radio/radio.ios.css +2 -2
  145. package/dist/collection/components/radio/radio.md.css +2 -2
  146. package/dist/collection/components/radio/test/a11y/radio.e2e.js +68 -101
  147. package/dist/collection/components/range/range.ios.css +1 -1
  148. package/dist/collection/components/range/range.md.css +3 -3
  149. package/dist/collection/components/range/test/a11y/range.e2e.js +8 -18
  150. package/dist/collection/components/refresher/refresher.md.css +2 -2
  151. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  152. package/dist/collection/components/router-link/router-link.css +1 -1
  153. package/dist/collection/components/searchbar/searchbar.ios.css +4 -4
  154. package/dist/collection/components/segment/test/a11y/segment.e2e.js +0 -23
  155. package/dist/collection/components/segment-button/segment-button.md.css +2 -2
  156. package/dist/collection/components/select/select.ios.css +3 -3
  157. package/dist/collection/components/select/select.md.css +3 -3
  158. package/dist/collection/components/select/test/a11y/select.e2e.js +4 -68
  159. package/dist/collection/components/select-popover/select-popover.md.css +4 -4
  160. package/dist/collection/components/split-pane/split-pane.ios.css +53 -1
  161. package/dist/collection/components/split-pane/split-pane.js +12 -46
  162. package/dist/collection/components/split-pane/split-pane.md.css +53 -1
  163. package/dist/collection/components/tab-bar/tab-bar.ios.css +1 -1
  164. package/dist/collection/components/tab-bar/tab-bar.md.css +1 -1
  165. package/dist/collection/components/tab-button/tab-button.ios.css +6 -1
  166. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +3 -41
  167. package/dist/collection/components/textarea/textarea.ios.css +3 -3
  168. package/dist/collection/components/textarea/textarea.md.css +3 -3
  169. package/dist/collection/components/toast/test/a11y/toast.e2e.js +24 -56
  170. package/dist/collection/components/toast/toast.ios.css +1 -1
  171. package/dist/collection/components/toast/toast.md.css +2 -2
  172. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +2 -8
  173. package/dist/collection/components/toggle/toggle.ios.css +8 -8
  174. package/dist/collection/components/toggle/toggle.md.css +2 -2
  175. package/dist/collection/css/test/a11y/typography.e2e.js +0 -18
  176. package/dist/collection/utils/animation/animation.js +15 -0
  177. package/dist/collection/utils/gesture/button-active.js +1 -1
  178. package/dist/collection/utils/test/playwright/generator.js +0 -1
  179. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  180. package/dist/docs.json +34 -7
  181. package/dist/esm/{animation-dde8cc0d.js → animation-ccab0993.js} +16 -1
  182. package/dist/esm/{button-active-48379dd2.js → button-active-2758ff14.js} +1 -1
  183. package/dist/esm/{index-4743453d.js → index-9dbb78a4.js} +2 -2
  184. package/dist/esm/{index-1193f005.js → index-b7e9478d.js} +1 -1
  185. package/dist/esm/index.js +5 -5
  186. package/dist/esm/ion-action-sheet.entry.js +6 -6
  187. package/dist/esm/ion-alert.entry.js +4 -4
  188. package/dist/esm/ion-app_8.entry.js +4 -3
  189. package/dist/esm/ion-avatar_3.entry.js +2 -2
  190. package/dist/esm/ion-back-button.entry.js +1 -1
  191. package/dist/esm/ion-button_2.entry.js +2 -2
  192. package/dist/esm/ion-checkbox.entry.js +2 -2
  193. package/dist/esm/ion-datetime-button.entry.js +4 -4
  194. package/dist/esm/ion-datetime_3.entry.js +5 -5
  195. package/dist/esm/ion-fab_3.entry.js +2 -2
  196. package/dist/esm/ion-input.entry.js +2 -2
  197. package/dist/esm/ion-item-option_3.entry.js +130 -10
  198. package/dist/esm/ion-item_8.entry.js +3 -3
  199. package/dist/esm/ion-loading.entry.js +2 -2
  200. package/dist/esm/ion-menu_3.entry.js +19 -24
  201. package/dist/esm/ion-modal.entry.js +3 -3
  202. package/dist/esm/ion-nav_2.entry.js +1 -1
  203. package/dist/esm/ion-popover.entry.js +2 -2
  204. package/dist/esm/ion-progress-bar.entry.js +5 -2
  205. package/dist/esm/ion-radio_2.entry.js +2 -2
  206. package/dist/esm/ion-range.entry.js +2 -2
  207. package/dist/esm/ion-refresher_2.entry.js +3 -3
  208. package/dist/esm/ion-route_4.entry.js +1 -1
  209. package/dist/esm/ion-searchbar.entry.js +1 -1
  210. package/dist/esm/ion-segment_2.entry.js +1 -1
  211. package/dist/esm/ion-select_3.entry.js +3 -3
  212. package/dist/esm/ion-split-pane.entry.js +14 -24
  213. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  214. package/dist/esm/ion-textarea.entry.js +2 -2
  215. package/dist/esm/ion-toast.entry.js +3 -3
  216. package/dist/esm/ion-toggle.entry.js +2 -2
  217. package/dist/esm/ionic.js +1 -1
  218. package/dist/esm/{ios.transition-3376ccb2.js → ios.transition-01176d76.js} +2 -2
  219. package/dist/esm/loader.js +1 -1
  220. package/dist/esm/{md.transition-f992779f.js → md.transition-558655c7.js} +2 -2
  221. package/dist/esm-es5/animation-ccab0993.js +4 -0
  222. package/dist/esm-es5/button-active-2758ff14.js +4 -0
  223. package/dist/esm-es5/{index-4743453d.js → index-9dbb78a4.js} +1 -1
  224. package/dist/esm-es5/{index-1193f005.js → index-b7e9478d.js} +1 -1
  225. package/dist/esm-es5/index.js +1 -1
  226. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  227. package/dist/esm-es5/ion-alert.entry.js +1 -1
  228. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  229. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  230. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  231. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  232. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  233. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  234. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  235. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  236. package/dist/esm-es5/ion-input.entry.js +1 -1
  237. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  238. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  239. package/dist/esm-es5/ion-loading.entry.js +1 -1
  240. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  241. package/dist/esm-es5/ion-modal.entry.js +1 -1
  242. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  243. package/dist/esm-es5/ion-popover.entry.js +1 -1
  244. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  245. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  246. package/dist/esm-es5/ion-range.entry.js +1 -1
  247. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  248. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  249. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  250. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  251. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  252. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  253. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  254. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  255. package/dist/esm-es5/ion-toast.entry.js +1 -1
  256. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  257. package/dist/esm-es5/ionic.js +1 -1
  258. package/dist/esm-es5/{ios.transition-3376ccb2.js → ios.transition-01176d76.js} +1 -1
  259. package/dist/esm-es5/loader.js +1 -1
  260. package/dist/esm-es5/md.transition-558655c7.js +4 -0
  261. package/dist/html.html-data.json +12 -0
  262. package/dist/ionic/index.esm.js +1 -1
  263. package/dist/ionic/ionic.esm.js +1 -1
  264. package/dist/ionic/{p-ec0a9b2c.system.entry.js → p-019e0d80.system.entry.js} +1 -1
  265. package/dist/ionic/p-02dc8c5b.entry.js +4 -0
  266. package/dist/ionic/{p-c6e9ef77.entry.js → p-0cc80201.entry.js} +1 -1
  267. package/dist/ionic/{p-662a9a47.system.entry.js → p-0dfa4ab4.system.entry.js} +1 -1
  268. package/dist/ionic/{p-590447a5.system.entry.js → p-0e908476.system.entry.js} +1 -1
  269. package/dist/ionic/{p-df6f50ef.entry.js → p-10339dcc.entry.js} +1 -1
  270. package/dist/ionic/{p-1d5b03e3.system.entry.js → p-11bf2ad0.system.entry.js} +1 -1
  271. package/dist/ionic/{p-3796194b.system.entry.js → p-19c379da.system.entry.js} +1 -1
  272. package/dist/ionic/p-19d9ceb8.system.js +1 -1
  273. package/dist/ionic/p-1a22895e.system.entry.js +4 -0
  274. package/dist/ionic/p-1c69a4ca.system.entry.js +4 -0
  275. package/dist/ionic/{p-92bfb607.entry.js → p-20a4ee02.entry.js} +1 -1
  276. package/dist/ionic/{p-530bb2af.system.entry.js → p-2316de85.system.entry.js} +1 -1
  277. package/dist/ionic/{p-5cbfce20.entry.js → p-26ff1180.entry.js} +1 -1
  278. package/dist/ionic/p-289f354c.entry.js +4 -0
  279. package/dist/ionic/p-2a3b87cd.entry.js +4 -0
  280. package/dist/ionic/p-2e01f1c5.system.entry.js +4 -0
  281. package/dist/ionic/p-38531958.system.entry.js +4 -0
  282. package/dist/ionic/{p-5f1b0512.entry.js → p-3b043115.entry.js} +1 -1
  283. package/dist/ionic/p-3b434dee.system.entry.js +4 -0
  284. package/dist/ionic/{p-d88ed181.system.entry.js → p-41208f54.system.entry.js} +1 -1
  285. package/dist/ionic/{p-f0dbd73e.system.entry.js → p-42925096.system.entry.js} +1 -1
  286. package/dist/ionic/p-44791cff.entry.js +4 -0
  287. package/dist/ionic/p-4981ea0a.system.entry.js +4 -0
  288. package/dist/ionic/{p-13d4dfe7.entry.js → p-5074a526.entry.js} +1 -1
  289. package/dist/ionic/{p-a41eaff2.system.entry.js → p-56b1a872.system.entry.js} +1 -1
  290. package/dist/ionic/p-57785713.system.entry.js +4 -0
  291. package/dist/ionic/p-57e9de81.system.js +4 -0
  292. package/dist/ionic/{p-c001b24f.entry.js → p-5dc16594.entry.js} +1 -1
  293. package/dist/ionic/{p-9f94e34a.system.entry.js → p-614e63a9.system.entry.js} +1 -1
  294. package/dist/ionic/{p-8b160fba.entry.js → p-67e52d31.entry.js} +1 -1
  295. package/dist/ionic/{p-aa975ff8.entry.js → p-6855f26a.entry.js} +1 -1
  296. package/dist/ionic/{p-7dade589.system.entry.js → p-69ce8bba.system.entry.js} +1 -1
  297. package/dist/ionic/p-6fb2b5e3.js +4 -0
  298. package/dist/ionic/{p-8e961825.entry.js → p-799da666.entry.js} +1 -1
  299. package/dist/ionic/{p-04377cfa.js → p-7b4649d7.js} +1 -1
  300. package/dist/ionic/{p-4abb1251.entry.js → p-7c7bc0cc.entry.js} +1 -1
  301. package/dist/ionic/{p-a29db3a0.entry.js → p-7dcf795f.entry.js} +1 -1
  302. package/dist/ionic/{p-a074be82.system.js → p-7de7a5fd.system.js} +1 -1
  303. package/dist/ionic/{p-f38c1f8d.entry.js → p-806a9810.entry.js} +1 -1
  304. package/dist/ionic/p-80ad9792.system.js +4 -0
  305. package/dist/ionic/{p-d08e0136.entry.js → p-84b567a6.entry.js} +1 -1
  306. package/dist/ionic/{p-a49931aa.system.js → p-9093afb1.system.js} +1 -1
  307. package/dist/ionic/p-922c234e.js +4 -0
  308. package/dist/ionic/p-950c05ad.entry.js +4 -0
  309. package/dist/ionic/p-97a9d526.system.entry.js +4 -0
  310. package/dist/ionic/p-99d448ba.system.entry.js +4 -0
  311. package/dist/ionic/p-9c5e3a2c.system.entry.js +4 -0
  312. package/dist/ionic/{p-1c453add.system.entry.js → p-a1bd098f.system.entry.js} +1 -1
  313. package/dist/ionic/p-a619ecad.entry.js +4 -0
  314. package/dist/ionic/{p-354682e8.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
  315. package/dist/ionic/{p-e9431a58.entry.js → p-ae4b7df8.entry.js} +1 -1
  316. package/dist/ionic/p-b20717fc.system.entry.js +4 -0
  317. package/dist/ionic/p-b61d7624.entry.js +4 -0
  318. package/dist/ionic/p-b660ba8a.system.js +4 -0
  319. package/dist/ionic/{p-2716d76c.entry.js → p-b68d435f.entry.js} +1 -1
  320. package/dist/ionic/p-ba2b1ef5.entry.js +4 -0
  321. package/dist/ionic/{p-bc01c384.entry.js → p-ba5d9e27.entry.js} +1 -1
  322. package/dist/ionic/{p-9c48f42f.entry.js → p-bb3fd397.entry.js} +1 -1
  323. package/dist/ionic/{p-44a56556.js → p-c75dc92f.js} +1 -1
  324. package/dist/ionic/{p-1ab2642a.system.js → p-c8f7e8c8.system.js} +1 -1
  325. package/dist/ionic/p-cd729946.js +4 -0
  326. package/dist/ionic/{p-385bb983.entry.js → p-cf53213c.entry.js} +1 -1
  327. package/dist/ionic/{p-e403ff07.entry.js → p-d1ab26de.entry.js} +1 -1
  328. package/dist/ionic/p-d2a73201.system.entry.js +4 -0
  329. package/dist/ionic/p-d3525765.js +4 -0
  330. package/dist/ionic/{p-d01449a3.system.entry.js → p-da666998.system.entry.js} +1 -1
  331. package/dist/ionic/{p-cc700688.system.entry.js → p-db05ecb6.system.entry.js} +1 -1
  332. package/dist/ionic/p-dc43a79e.entry.js +4 -0
  333. package/dist/ionic/{p-0aa78a8d.system.js → p-e755af39.system.js} +1 -1
  334. package/dist/ionic/p-ee71caaa.system.entry.js +4 -0
  335. package/dist/ionic/{p-5aec2208.entry.js → p-f0eafd38.entry.js} +1 -1
  336. package/dist/ionic/{p-25312768.system.entry.js → p-f25b4396.system.entry.js} +1 -1
  337. package/dist/ionic/p-f65f4d3e.system.entry.js +4 -0
  338. package/dist/ionic/p-fd98debb.entry.js +4 -0
  339. package/dist/ionic/p-fe458994.system.entry.js +4 -0
  340. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +8 -0
  341. package/dist/types/components/item-sliding/animations/item-sliding-options.d.ts +10 -0
  342. package/dist/types/components/item-sliding/item-sliding.d.ts +19 -0
  343. package/dist/types/components/menu/menu.d.ts +1 -11
  344. package/dist/types/components/split-pane/split-pane.d.ts +2 -14
  345. package/dist/types/components.d.ts +8 -1
  346. package/dist/types/utils/animation/animation-interface.d.ts +6 -0
  347. package/dist/types/utils/animation/animation.d.ts +2 -0
  348. package/hydrate/index.js +232 -108
  349. package/package.json +1 -1
  350. package/css/themes/dark.always.css +0 -122
  351. package/css/themes/dark.always.css.map +0 -1
  352. package/css/themes/dark.class.css +0 -122
  353. package/css/themes/dark.class.css.map +0 -1
  354. package/css/themes/dark.css +0 -3
  355. package/css/themes/dark.css.map +0 -1
  356. package/css/themes/dark.system.css +0 -124
  357. package/css/themes/dark.system.css.map +0 -1
  358. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +0 -24
  359. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +0 -25
  360. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +0 -23
  361. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +0 -32
  362. package/dist/collection/components/split-pane/test/wrapped-menu/split-pane.e2e.js +0 -41
  363. package/dist/collection/themes/test/colors/theme.e2e.js +0 -114
  364. package/dist/esm-es5/animation-dde8cc0d.js +0 -4
  365. package/dist/esm-es5/button-active-48379dd2.js +0 -4
  366. package/dist/esm-es5/md.transition-f992779f.js +0 -4
  367. package/dist/ionic/p-04d84d5d.entry.js +0 -4
  368. package/dist/ionic/p-068950da.entry.js +0 -4
  369. package/dist/ionic/p-0832dedf.entry.js +0 -4
  370. package/dist/ionic/p-11c55ac8.system.js +0 -4
  371. package/dist/ionic/p-1b60cc53.js +0 -4
  372. package/dist/ionic/p-24c3f2cd.system.entry.js +0 -4
  373. package/dist/ionic/p-2724403e.entry.js +0 -4
  374. package/dist/ionic/p-283bc1a1.system.entry.js +0 -4
  375. package/dist/ionic/p-29d03b3a.js +0 -4
  376. package/dist/ionic/p-38f2c6bb.system.js +0 -4
  377. package/dist/ionic/p-3af5faf8.system.entry.js +0 -4
  378. package/dist/ionic/p-4eae8c91.entry.js +0 -4
  379. package/dist/ionic/p-56944895.entry.js +0 -4
  380. package/dist/ionic/p-713af1fe.entry.js +0 -4
  381. package/dist/ionic/p-8a25bf30.system.entry.js +0 -4
  382. package/dist/ionic/p-97aaf697.system.entry.js +0 -4
  383. package/dist/ionic/p-98f35d98.js +0 -4
  384. package/dist/ionic/p-9a68d8ef.system.js +0 -4
  385. package/dist/ionic/p-9a8bc8f3.system.entry.js +0 -4
  386. package/dist/ionic/p-a6e5f54e.system.entry.js +0 -4
  387. package/dist/ionic/p-b231b7cf.system.entry.js +0 -4
  388. package/dist/ionic/p-b59fe3bd.system.entry.js +0 -4
  389. package/dist/ionic/p-b7e03ff0.system.entry.js +0 -4
  390. package/dist/ionic/p-bec6ae40.entry.js +0 -4
  391. package/dist/ionic/p-c16fbc5f.system.entry.js +0 -4
  392. package/dist/ionic/p-cb3ef9c1.system.entry.js +0 -4
  393. package/dist/ionic/p-cb6a1fa0.system.entry.js +0 -4
  394. package/dist/ionic/p-cd3e1a06.entry.js +0 -4
  395. package/dist/ionic/p-cd574dfa.js +0 -4
  396. package/dist/ionic/p-d1ad57d5.system.entry.js +0 -4
  397. package/dist/ionic/p-d2634efe.system.entry.js +0 -4
  398. package/dist/ionic/p-fc17f198.entry.js +0 -4
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import AxeBuilder from "@axe-core/playwright";
5
4
  import { expect } from "@playwright/test";
6
5
  import { configs, test } from "../../../../utils/test/playwright/index";
7
6
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
@@ -65,25 +64,6 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
65
64
  });
66
65
  });
67
66
  });
68
- configs({ directions: ['ltr'], modes: ['md'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
69
- test.describe(title('label: a11y for ion-color()'), () => {
70
- test('should not have accessibility violations when focused', async ({ page }) => {
71
- /**
72
- * All page content should be contained by landmarks (main, nav, etc.)
73
- * By containing the badge in a main element, we can avoid this violation.
74
- */
75
- await page.setContent(`
76
- <main>
77
- <div class="ion-focused">
78
- <ion-label position="stacked">Default Label</ion-label>
79
- </div>
80
- </main>
81
- `, config);
82
- const results = await new AxeBuilder({ page }).analyze();
83
- expect(results.violations).toEqual([]);
84
- });
85
- });
86
- });
87
67
  configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
88
68
  test.describe(title('label: text wrapping in item'), () => {
89
69
  test('long text should not cause label to expand infinitely', async ({ page }) => {
@@ -173,7 +173,7 @@ ion-spinner {
173
173
  --background: var(--ion-color-step-50, #f2f2f2);
174
174
  --max-width: 280px;
175
175
  --max-height: 90%;
176
- --spinner-color: var(--ion-color-primary, #0054e9);
176
+ --spinner-color: var(--ion-color-primary, #3880ff);
177
177
  --backdrop-opacity: var(--ion-backdrop-opacity, 0.32);
178
178
  color: var(--ion-color-step-850, #262626);
179
179
  font-size: 0.875rem;
@@ -4,36 +4,20 @@
4
4
  import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
6
  import { configs, test } from "../../../../utils/test/playwright/index";
7
- configs({ modes: ['ios'], directions: ['ltr'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
7
+ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
8
8
  test.describe(title('loading: a11y'), () => {
9
9
  test('should set aria-labelledby with a message', async ({ page }) => {
10
- await page.setContent(`
11
- <ion-loading></ion-loading>
12
-
13
- <script>
14
- const loading = document.querySelector('ion-loading');
15
- loading.message = 'Loading';
16
- </script>
17
- `, config);
10
+ await page.goto('/src/components/loading/test/a11y', config);
18
11
  const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent');
19
- const loading = page.locator('ion-loading');
20
- await loading.evaluate((el) => el.present());
12
+ await page.click('#open-message-loading');
21
13
  await ionLoadingDidPresent.next();
22
14
  const results = await new AxeBuilder({ page }).analyze();
23
15
  expect(results.violations).toEqual([]);
24
16
  });
25
17
  test('should set aria-labelledby with a label', async ({ page }) => {
26
- await page.setContent(`
27
- <ion-loading aria-label="Loading"></ion-loading>
28
-
29
- <script>
30
- const loading = document.querySelector('ion-loading');
31
- loading.spinner = 'bubbles';
32
- </script>
33
- `, config);
18
+ await page.goto('/src/components/loading/test/a11y', config);
34
19
  const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent');
35
- const loading = page.locator('ion-loading');
36
- await loading.evaluate((el) => el.present());
20
+ await page.click('#open-label-loading');
37
21
  await ionLoadingDidPresent.next();
38
22
  const results = await new AxeBuilder({ page }).analyze();
39
23
  expect(results.violations).toEqual([]);
@@ -295,49 +295,10 @@ ion-backdrop {
295
295
  cursor: pointer;
296
296
  }
297
297
 
298
- /**
299
- * The split pane styles for menu are defined
300
- * in the menu stylesheets instead in the split pane
301
- * stylesheets with ::slotted to allow for menus
302
- * to be wrapped in custom components.
303
- * If we used ::slotted to target the menu
304
- * then menus wrapped in components would never
305
- * receive these styles because they are not
306
- * children of the split pane.
307
- */
308
- /**
309
- * Do not pass CSS Variables down on larger
310
- * screens as we want them to affect the outer
311
- * `ion-menu` rather than the inner content
312
- */
313
298
  :host(.menu-pane-visible) {
314
- flex: 0 1 auto;
315
- width: var(--side-width, var(--width));
316
- min-width: var(--side-min-width, var(--min-width));
317
- max-width: var(--side-max-width, var(--max-width));
318
- }
319
-
320
- :host(.menu-pane-visible.split-pane-side) {
321
- left: 0;
322
- right: 0;
323
- top: 0;
324
- bottom: 0;
325
- position: relative;
326
- box-shadow: none;
327
- z-index: 0;
328
- }
329
-
330
- :host(.menu-pane-visible.split-pane-side.menu-enabled) {
331
- display: flex;
332
- flex-shrink: 0;
333
- }
334
-
335
- :host(.menu-pane-visible.split-pane-side) {
336
- order: -1;
337
- }
338
-
339
- :host(.menu-pane-visible.split-pane-side[side=end]) {
340
- order: 1;
299
+ width: var(--width);
300
+ min-width: var(--min-width);
301
+ max-width: var(--max-width);
341
302
  }
342
303
 
343
304
  :host(.menu-pane-visible) .menu-inner {
@@ -353,28 +314,6 @@ ion-backdrop {
353
314
  display: hidden !important;
354
315
  }
355
316
 
356
- :host(.menu-pane-visible.split-pane-side) {
357
- -webkit-border-start: 0;
358
- border-inline-start: 0;
359
- -webkit-border-end: var(--border);
360
- border-inline-end: var(--border);
361
- border-top: 0;
362
- border-bottom: 0;
363
- min-width: var(--side-min-width);
364
- max-width: var(--side-max-width);
365
- }
366
-
367
- :host(.menu-pane-visible.split-pane-side[side=end]) {
368
- -webkit-border-start: var(--border);
369
- border-inline-start: var(--border);
370
- -webkit-border-end: 0;
371
- border-inline-end: 0;
372
- border-top: 0;
373
- border-bottom: 0;
374
- min-width: var(--side-min-width);
375
- max-width: var(--side-max-width);
376
- }
377
-
378
317
  /**
379
318
  * Convert a font size to a dynamic font size.
380
319
  * Fonts that participate in Dynamic Type should use
@@ -7,7 +7,6 @@ import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
7
7
  import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
8
8
  import { menuController } from "../../utils/menu-controller/index";
9
9
  import { getPresentedOverlay } from "../../utils/overlays";
10
- import { hostContext } from "../../utils/theme";
11
10
  import { config } from "../../global/config";
12
11
  import { getIonMode } from "../../global/ionic-global";
13
12
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
@@ -139,19 +138,6 @@ export class Menu {
139
138
  }
140
139
  async componentDidLoad() {
141
140
  this.didLoad = true;
142
- /**
143
- * A menu inside of a split pane is assumed
144
- * to be a side pane.
145
- *
146
- * When the menu is loaded it needs to
147
- * see if it should be considered visible inside
148
- * of the split pane. If the split pane is
149
- * hidden then the menu should be too.
150
- */
151
- const splitPane = this.el.closest('ion-split-pane');
152
- if (splitPane !== null) {
153
- this.isPaneVisible = await splitPane.isVisible();
154
- }
155
141
  this.menuChanged();
156
142
  this.updateState();
157
143
  }
@@ -187,11 +173,20 @@ export class Menu {
187
173
  this.contentEl = undefined;
188
174
  }
189
175
  onSplitPaneChanged(ev) {
176
+ const { target } = ev;
190
177
  const closestSplitPane = this.el.closest('ion-split-pane');
191
- if (closestSplitPane !== null && closestSplitPane === ev.target) {
192
- this.isPaneVisible = ev.detail.visible;
193
- this.updateState();
178
+ /**
179
+ * Menu listens on the body for "ionSplitPaneVisible".
180
+ * However, this means the callback will run any time
181
+ * a SplitPane changes visibility. As a result, we only want
182
+ * Menu's visibility state to update if its parent SplitPane
183
+ * changes visibility.
184
+ */
185
+ if (target !== closestSplitPane) {
186
+ return;
194
187
  }
188
+ this.isPaneVisible = ev.detail.isPane(this.el);
189
+ this.updateState();
195
190
  }
196
191
  onBackdropClick(ev) {
197
192
  // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
@@ -598,7 +593,7 @@ export class Menu {
598
593
  }
599
594
  }
600
595
  render() {
601
- const { type, disabled, el, isPaneVisible, inheritedAttributes, side } = this;
596
+ const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
602
597
  const mode = getIonMode(this);
603
598
  return (h(Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
604
599
  [mode]: true,
@@ -606,7 +601,6 @@ export class Menu {
606
601
  'menu-enabled': !disabled,
607
602
  [`menu-side-${side}`]: true,
608
603
  'menu-pane-visible': isPaneVisible,
609
- 'split-pane-side': hostContext('ion-split-pane', el),
610
604
  } }, h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", null)), h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
611
605
  }
612
606
  static get is() { return "ion-menu"; }
@@ -295,49 +295,10 @@ ion-backdrop {
295
295
  cursor: pointer;
296
296
  }
297
297
 
298
- /**
299
- * The split pane styles for menu are defined
300
- * in the menu stylesheets instead in the split pane
301
- * stylesheets with ::slotted to allow for menus
302
- * to be wrapped in custom components.
303
- * If we used ::slotted to target the menu
304
- * then menus wrapped in components would never
305
- * receive these styles because they are not
306
- * children of the split pane.
307
- */
308
- /**
309
- * Do not pass CSS Variables down on larger
310
- * screens as we want them to affect the outer
311
- * `ion-menu` rather than the inner content
312
- */
313
298
  :host(.menu-pane-visible) {
314
- flex: 0 1 auto;
315
- width: var(--side-width, var(--width));
316
- min-width: var(--side-min-width, var(--min-width));
317
- max-width: var(--side-max-width, var(--max-width));
318
- }
319
-
320
- :host(.menu-pane-visible.split-pane-side) {
321
- left: 0;
322
- right: 0;
323
- top: 0;
324
- bottom: 0;
325
- position: relative;
326
- box-shadow: none;
327
- z-index: 0;
328
- }
329
-
330
- :host(.menu-pane-visible.split-pane-side.menu-enabled) {
331
- display: flex;
332
- flex-shrink: 0;
333
- }
334
-
335
- :host(.menu-pane-visible.split-pane-side) {
336
- order: -1;
337
- }
338
-
339
- :host(.menu-pane-visible.split-pane-side[side=end]) {
340
- order: 1;
299
+ width: var(--width);
300
+ min-width: var(--min-width);
301
+ max-width: var(--max-width);
341
302
  }
342
303
 
343
304
  :host(.menu-pane-visible) .menu-inner {
@@ -353,28 +314,6 @@ ion-backdrop {
353
314
  display: hidden !important;
354
315
  }
355
316
 
356
- :host(.menu-pane-visible.split-pane-side) {
357
- -webkit-border-start: 0;
358
- border-inline-start: 0;
359
- -webkit-border-end: var(--border);
360
- border-inline-end: var(--border);
361
- border-top: 0;
362
- border-bottom: 0;
363
- min-width: var(--side-min-width);
364
- max-width: var(--side-max-width);
365
- }
366
-
367
- :host(.menu-pane-visible.split-pane-side[side=end]) {
368
- -webkit-border-start: var(--border);
369
- border-inline-start: var(--border);
370
- -webkit-border-end: 0;
371
- border-inline-end: 0;
372
- border-top: 0;
373
- border-bottom: 0;
374
- min-width: var(--side-min-width);
375
- max-width: var(--side-max-width);
376
- }
377
-
378
317
  /**
379
318
  * Convert a font size to a dynamic font size.
380
319
  * Fonts that participate in Dynamic Type should use
@@ -261,7 +261,7 @@ ion-icon {
261
261
  --background-focused: currentColor;
262
262
  --background-focused-opacity: .1;
263
263
  --border-radius: 4px;
264
- --color: var(--ion-color-primary, #0054e9);
264
+ --color: var(--ion-color-primary, #3880ff);
265
265
  --padding-start: 5px;
266
266
  --padding-end: 5px;
267
267
  min-height: 32px;
@@ -4,20 +4,6 @@
4
4
  import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
6
  import { configs, test } from "../../../../utils/test/playwright/index";
7
- /**
8
- * Only ios mode uses ion-color() for the menu button
9
- */
10
- configs({ directions: ['ltr'], modes: ['ios'], themes: ['light', 'dark'] }).forEach(({ title, config }) => {
11
- test.describe(title('menu-button: a11y for ion-color()'), () => {
12
- test('should not have accessibility violations', async ({ page }) => {
13
- await page.setContent(`
14
- <ion-menu-button auto-hide="false"></ion-menu-button>
15
- `, config);
16
- const results = await new AxeBuilder({ page }).analyze();
17
- expect(results.violations).toEqual([]);
18
- });
19
- });
20
- });
21
7
  configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
22
8
  test.describe(title('menu-button: a11y'), () => {
23
9
  test('should not have accessibility violations', async ({ page }) => {
@@ -10,7 +10,7 @@ import { setCardStatusBarDark, setCardStatusBarDefault } from "../utils";
10
10
  import { calculateSpringStep, handleCanDismiss } from "./utils";
11
11
  // Defaults for the card swipe animation
12
12
  export const SwipeToCloseDefaults = {
13
- MIN_PRESENTING_SCALE: 0.93,
13
+ MIN_PRESENTING_SCALE: 0.915,
14
14
  };
15
15
  export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss) => {
16
16
  /**
@@ -279,7 +279,7 @@
279
279
  padding-bottom: 0;
280
280
  height: 44px;
281
281
  background: transparent;
282
- color: var(--ion-color-primary, #0054e9);
282
+ color: var(--ion-color-primary, #3880ff);
283
283
  font-size: 16px;
284
284
  }
285
285
 
@@ -265,7 +265,7 @@
265
265
  padding-bottom: 0;
266
266
  height: 44px;
267
267
  background: transparent;
268
- color: var(--ion-color-primary, #0054e9);
268
+ color: var(--ion-color-primary, #3880ff);
269
269
  font-size: 14px;
270
270
  font-weight: 500;
271
271
  text-transform: uppercase;
@@ -242,5 +242,5 @@
242
242
  .picker-prefix,
243
243
  .picker-suffix,
244
244
  .picker-opt.picker-opt-selected {
245
- color: var(--ion-color-primary, #0054e9);
245
+ color: var(--ion-color-primary, #3880ff);
246
246
  }
@@ -57,11 +57,9 @@
57
57
  /**
58
58
  * @prop --background: Background of the progress track, or the buffer bar if `buffer` is set
59
59
  * @prop --progress-background: Background of the progress bar representing the current value
60
- * @prop --buffer-background: DEPRECATED, use `--background` instead
61
60
  */
62
- --background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);
63
- --progress-background: var(--ion-color-primary, #0054e9);
64
- --buffer-background: var(--background);
61
+ --background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.3);
62
+ --progress-background: var(--ion-color-primary, #3880ff);
65
63
  display: block;
66
64
  position: relative;
67
65
  width: 100%;
@@ -115,7 +113,7 @@
115
113
  }
116
114
 
117
115
  .progress-buffer-bar {
118
- background: var(--buffer-background);
116
+ background: var(--background);
119
117
  z-index: 1;
120
118
  }
121
119
 
@@ -152,7 +150,7 @@
152
150
  }
153
151
 
154
152
  .buffer-circles {
155
- background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);
153
+ background-image: radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);
156
154
  /* stylelint-disable property-disallowed-list */
157
155
  background-repeat: repeat-x;
158
156
  background-position: 5px center;
@@ -172,10 +170,6 @@
172
170
  animation-play-state: paused;
173
171
  }
174
172
 
175
- :host(.ion-color) .progress-buffer-bar {
176
- background: rgba(var(--ion-color-base-rgb), 0.3);
177
- }
178
-
179
173
  :host(.ion-color) .buffer-circles {
180
174
  background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);
181
175
  }
@@ -257,5 +251,17 @@
257
251
  }
258
252
  }
259
253
  :host {
260
- height: 3px;
254
+ border-radius: 9999px;
255
+ height: 4px;
256
+ }
257
+
258
+ :host(.progress-bar-solid) {
259
+ /**
260
+ * On iOS the unfilled portion of the progress bar
261
+ * is always a consistent background color. We
262
+ * only apply this style when the progress bar is
263
+ * solid (with a buffer value of 1). This maintains
264
+ * the custom Ionic appearance for a buffered progress bar.
265
+ */
266
+ --background: var(--ion-color-step-100, #e6e6e6);
261
267
  }
@@ -26,11 +26,14 @@ export class ProgressBar {
26
26
  const { color, type, reversed, value, buffer } = this;
27
27
  const paused = config.getBoolean('_testing');
28
28
  const mode = getIonMode(this);
29
+ // If the progress is displayed as a solid bar.
30
+ const progressSolid = buffer === 1;
29
31
  return (h(Host, { role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
30
32
  [mode]: true,
31
33
  [`progress-bar-${type}`]: true,
32
34
  'progress-paused': paused,
33
35
  'progress-bar-reversed': document.dir === 'rtl' ? !reversed : reversed,
36
+ 'progress-bar-solid': progressSolid,
34
37
  }) }, type === 'indeterminate' ? renderIndeterminate() : renderProgress(value, buffer)));
35
38
  }
36
39
  static get is() { return "ion-progress-bar"; }
@@ -57,11 +57,9 @@
57
57
  /**
58
58
  * @prop --background: Background of the progress track, or the buffer bar if `buffer` is set
59
59
  * @prop --progress-background: Background of the progress bar representing the current value
60
- * @prop --buffer-background: DEPRECATED, use `--background` instead
61
60
  */
62
- --background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.3);
63
- --progress-background: var(--ion-color-primary, #0054e9);
64
- --buffer-background: var(--background);
61
+ --background: rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.3);
62
+ --progress-background: var(--ion-color-primary, #3880ff);
65
63
  display: block;
66
64
  position: relative;
67
65
  width: 100%;
@@ -115,7 +113,7 @@
115
113
  }
116
114
 
117
115
  .progress-buffer-bar {
118
- background: var(--buffer-background);
116
+ background: var(--background);
119
117
  z-index: 1;
120
118
  }
121
119
 
@@ -152,7 +150,7 @@
152
150
  }
153
151
 
154
152
  .buffer-circles {
155
- background-image: radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);
153
+ background-image: radial-gradient(ellipse at center, var(--background) 0%, var(--background) 30%, transparent 30%);
156
154
  /* stylelint-disable property-disallowed-list */
157
155
  background-repeat: repeat-x;
158
156
  background-position: 5px center;
@@ -172,10 +170,6 @@
172
170
  animation-play-state: paused;
173
171
  }
174
172
 
175
- :host(.ion-color) .progress-buffer-bar {
176
- background: rgba(var(--ion-color-base-rgb), 0.3);
177
- }
178
-
179
173
  :host(.ion-color) .buffer-circles {
180
174
  background-image: radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%);
181
175
  }
@@ -258,4 +252,8 @@
258
252
  }
259
253
  :host {
260
254
  height: 4px;
255
+ }
256
+
257
+ :host(.ion-color) .progress-buffer-bar {
258
+ background: rgba(var(--ion-color-base-rgb), 0.3);
261
259
  }
@@ -462,7 +462,7 @@ input {
462
462
  * }
463
463
  */
464
464
  :host {
465
- --color-checked: var(--ion-color-primary, #0054e9);
465
+ --color-checked: var(--ion-color-primary, #3880ff);
466
466
  }
467
467
 
468
468
  :host(.legacy-radio) {
@@ -504,7 +504,7 @@ input {
504
504
  position: absolute;
505
505
  width: 36px;
506
506
  height: 36px;
507
- background: var(--ion-color-primary-tint, #1a65eb);
507
+ background: var(--ion-color-primary-tint, #4c8dff);
508
508
  content: "";
509
509
  opacity: 0.2;
510
510
  }
@@ -463,7 +463,7 @@ input {
463
463
  */
464
464
  :host {
465
465
  --color: rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);
466
- --color-checked: var(--ion-color-primary, #0054e9);
466
+ --color-checked: var(--ion-color-primary, #3880ff);
467
467
  --border-width: 0.125rem;
468
468
  --border-style: solid;
469
469
  --border-radius: 50%;
@@ -551,7 +551,7 @@ input {
551
551
  position: absolute;
552
552
  width: 36px;
553
553
  height: 36px;
554
- background: var(--ion-color-primary-tint, #1a65eb);
554
+ background: var(--ion-color-primary-tint, #4c8dff);
555
555
  content: "";
556
556
  opacity: 0.2;
557
557
  }