@ionic/core 8.2.2-nightly.20240612 → 8.2.3-dev.11718879673.1a3f486b

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 (990) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +14 -10
  3. package/components/backdrop.js +10 -6
  4. package/components/button.js +41 -12
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index2.js +1 -2
  9. package/components/index4.js +8 -7
  10. package/components/index6.js +27 -30
  11. package/components/index7.js +124 -27
  12. package/components/index8.js +150 -111
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +9 -6
  16. package/components/ion-accordion.js +15 -9
  17. package/components/ion-app.js +5 -6
  18. package/components/ion-avatar.js +52 -3
  19. package/components/ion-back-button.js +15 -11
  20. package/components/ion-badge.js +42 -6
  21. package/components/ion-breadcrumb.js +16 -10
  22. package/components/ion-breadcrumbs.js +9 -5
  23. package/components/ion-card-content.js +9 -5
  24. package/components/ion-card-header.js +9 -5
  25. package/components/ion-card-subtitle.js +9 -5
  26. package/components/ion-card-title.js +9 -5
  27. package/components/ion-card.js +17 -9
  28. package/components/ion-chip.js +45 -8
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -11
  31. package/components/ion-datetime-button.js +9 -6
  32. package/components/ion-datetime.js +47 -20
  33. package/components/ion-fab-button.js +15 -9
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +6 -6
  36. package/components/ion-footer.js +15 -11
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +16 -12
  39. package/components/ion-img.js +5 -2
  40. package/components/ion-infinite-scroll-content.js +12 -8
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +7 -8
  43. package/components/ion-input.js +101 -20
  44. package/components/ion-item-divider.js +9 -5
  45. package/components/ion-item-group.js +9 -5
  46. package/components/ion-item-option.js +11 -7
  47. package/components/ion-item-options.js +9 -5
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +12 -8
  50. package/components/ion-menu-button.js +13 -9
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +11 -7
  53. package/components/ion-modal.js +14 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +7 -6
  56. package/components/ion-note.js +9 -5
  57. package/components/ion-picker-legacy.js +7 -8
  58. package/components/ion-progress-bar.js +10 -6
  59. package/components/ion-range.js +11 -8
  60. package/components/ion-refresher-content.js +9 -8
  61. package/components/ion-refresher.js +38 -7
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +23 -5
  64. package/components/ion-router-link.js +6 -6
  65. package/components/ion-router-outlet.js +2 -2
  66. package/components/ion-row.js +5 -2
  67. package/components/ion-searchbar.js +62 -16
  68. package/components/ion-segment-button.js +12 -8
  69. package/components/ion-segment.js +9 -5
  70. package/components/ion-select-option.js +5 -2
  71. package/components/ion-select.js +67 -28
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +12 -8
  74. package/components/ion-tab-bar.js +9 -5
  75. package/components/ion-tab-button.js +11 -7
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +2 -2
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +13 -9
  80. package/components/ion-thumbnail.js +5 -2
  81. package/components/ion-title.js +9 -5
  82. package/components/ion-toast.js +13 -9
  83. package/components/ion-toggle.js +56 -18
  84. package/components/ion-toolbar.js +11 -7
  85. package/components/ionic-global.js +191 -14
  86. package/components/ios.transition.js +1 -0
  87. package/components/item.js +17 -11
  88. package/components/label.js +9 -5
  89. package/components/list-header.js +9 -5
  90. package/components/list.js +10 -6
  91. package/components/overlays.js +1 -2
  92. package/components/picker-column-option.js +9 -5
  93. package/components/picker-column.js +7 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +8 -4
  96. package/components/popover.js +11 -8
  97. package/components/radio-group.js +5 -3
  98. package/components/radio.js +12 -8
  99. package/components/ripple-effect.js +5 -5
  100. package/components/select-popover.js +9 -2
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css +1 -1
  104. package/css/core.css.map +1 -1
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css.map +1 -1
  107. package/css/float-elements.css.map +1 -1
  108. package/css/global.bundle.css.map +1 -1
  109. package/css/ionic/bundle.ionic.css +1 -0
  110. package/css/ionic/bundle.ionic.css.map +1 -0
  111. package/css/ionic/core.ionic.css +1 -0
  112. package/css/ionic/core.ionic.css.map +1 -0
  113. package/css/ionic/global.bundle.ionic.css +1 -0
  114. package/css/ionic/global.bundle.ionic.css.map +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  117. package/css/ionic/link.ionic.css +1 -0
  118. package/css/ionic/link.ionic.css.map +1 -0
  119. package/css/ionic/structure.ionic.css +1 -0
  120. package/css/ionic/structure.ionic.css.map +1 -0
  121. package/css/ionic/typography.ionic.css +1 -0
  122. package/css/ionic/typography.ionic.css.map +1 -0
  123. package/css/ionic/utils.bundle.ionic.css +1 -0
  124. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  125. package/css/ionic-swiper.css +1 -1
  126. package/css/ionic-swiper.css.map +1 -1
  127. package/css/ionic.bundle.css +1 -1
  128. package/css/ionic.bundle.css.map +1 -1
  129. package/css/normalize.css.map +1 -1
  130. package/css/padding.css.map +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css.map +1 -1
  133. package/css/palettes/dark.system.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css.map +1 -1
  139. package/css/palettes/high-contrast.system.css.map +1 -1
  140. package/css/structure.css.map +1 -1
  141. package/css/text-alignment.css.map +1 -1
  142. package/css/text-transformation.css.map +1 -1
  143. package/css/typography.css.map +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{app-globals-64aa7919.js → app-globals-5b0a3f95.js} +1 -1
  146. package/dist/cjs/{data-21dc0f81.js → data-7d67d1e3.js} +6 -6
  147. package/dist/cjs/{hardware-back-button-9931602c.js → hardware-back-button-a90bf4cd.js} +1 -1
  148. package/dist/cjs/{index-63e64bb7.js → index-59095e03.js} +13 -12
  149. package/dist/cjs/{index-8a653282.js → index-71f7488c.js} +7 -8
  150. package/dist/cjs/{index-5b6a7459.js → index-ca6de37f.js} +2 -2
  151. package/dist/cjs/index.cjs.js +7 -8
  152. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-58aadbb2.js} +3 -2
  153. package/dist/cjs/{input.utils-611cde0b.js → input.utils-d9907cfc.js} +2 -2
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -14
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  156. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  157. package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +90 -7
  159. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +23 -13
  162. package/dist/cjs/ion-button_2.cjs.entry.js +44 -15
  163. package/dist/cjs/ion-card_5.cjs.entry.js +48 -25
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  165. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  166. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +23 -17
  170. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  172. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  173. package/dist/cjs/ion-input.cjs.entry.js +99 -20
  174. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  175. package/dist/cjs/ion-item_8.cjs.entry.js +69 -39
  176. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  177. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  178. package/dist/cjs/ion-modal.cjs.entry.js +22 -19
  179. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  180. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  181. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  182. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  183. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  184. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  185. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  186. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  187. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  188. package/dist/cjs/ion-reorder_2.cjs.entry.js +26 -9
  189. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  191. package/dist/cjs/ion-searchbar.cjs.entry.js +61 -15
  192. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  193. package/dist/cjs/ion-select_3.cjs.entry.js +80 -32
  194. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  196. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  197. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  199. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  200. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  201. package/dist/cjs/ion-toggle.cjs.entry.js +55 -17
  202. package/dist/cjs/ionic-global-2bd379ad.js +418 -0
  203. package/dist/cjs/ionic.cjs.js +3 -3
  204. package/dist/cjs/{ios.transition-d94b6863.js → ios.transition-4a91b726.js} +3 -3
  205. package/dist/cjs/loader.cjs.js +3 -3
  206. package/dist/cjs/{md.transition-297be114.js → md.transition-1d783fa9.js} +2 -3
  207. package/dist/cjs/{overlays-569f7878.js → overlays-0c0d0193.js} +3 -4
  208. package/dist/cjs/{status-tap-607c6244.js → status-tap-87959a2f.js} +2 -2
  209. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  210. package/dist/collection/components/accordion/accordion.js +19 -15
  211. package/dist/collection/components/accordion/accordion.md.css +6 -0
  212. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  213. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  214. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  215. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  216. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  217. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  218. package/dist/collection/components/alert/alert.ios.css +19 -1
  219. package/dist/collection/components/alert/alert.js +15 -12
  220. package/dist/collection/components/alert/alert.md.css +19 -1
  221. package/dist/collection/components/app/app.js +8 -4
  222. package/dist/collection/components/avatar/avatar.ionic.css +255 -0
  223. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  224. package/dist/collection/components/avatar/avatar.js +92 -4
  225. package/dist/collection/components/avatar/avatar.md.css +12 -0
  226. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  227. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  228. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  229. package/dist/collection/components/back-button/back-button.js +14 -11
  230. package/dist/collection/components/back-button/back-button.md.css +60 -48
  231. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  232. package/dist/collection/components/backdrop/backdrop.js +12 -6
  233. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  234. package/dist/collection/components/badge/badge.ionic.css +256 -0
  235. package/dist/collection/components/badge/badge.ios.css +12 -0
  236. package/dist/collection/components/badge/badge.js +75 -8
  237. package/dist/collection/components/badge/badge.md.css +12 -0
  238. package/dist/collection/components/badge/test/shape/badge.e2e.js +84 -0
  239. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  240. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  242. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  243. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  244. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  245. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  246. package/dist/collection/components/button/button.ionic.css +417 -0
  247. package/dist/collection/components/button/button.ios.css +42 -16
  248. package/dist/collection/components/button/button.js +46 -17
  249. package/dist/collection/components/button/button.md.css +33 -20
  250. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  251. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  252. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  253. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  254. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  255. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  256. package/dist/collection/components/buttons/buttons.js +14 -8
  257. package/dist/collection/components/buttons/buttons.md.css +18 -0
  258. package/dist/collection/components/card/card.ionic.css +88 -0
  259. package/dist/collection/components/card/card.ios.css +30 -4
  260. package/dist/collection/components/card/card.js +34 -10
  261. package/dist/collection/components/card/card.md.css +30 -4
  262. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  263. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  264. package/dist/collection/components/card-content/card-content.js +11 -8
  265. package/dist/collection/components/card-content/card-content.md.css +12 -0
  266. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  267. package/dist/collection/components/card-header/card-header.js +12 -9
  268. package/dist/collection/components/card-header/card-header.md.css +12 -0
  269. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  270. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  271. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  272. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  273. package/dist/collection/components/card-title/card-title.js +11 -8
  274. package/dist/collection/components/card-title/card-title.md.css +12 -0
  275. package/dist/collection/components/checkbox/checkbox.ionic.css +391 -0
  276. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  277. package/dist/collection/components/checkbox/checkbox.js +59 -14
  278. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  279. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  280. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  281. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  282. package/dist/collection/components/chip/chip.ionic.css +141 -0
  283. package/dist/collection/components/chip/chip.ios.css +20 -1
  284. package/dist/collection/components/chip/chip.js +77 -8
  285. package/dist/collection/components/chip/chip.md.css +20 -1
  286. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  287. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  288. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  289. package/dist/collection/components/col/col.css +12 -0
  290. package/dist/collection/components/col/col.js +9 -5
  291. package/dist/collection/components/content/content.css +8 -2
  292. package/dist/collection/components/content/content.js +13 -10
  293. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  294. package/dist/collection/components/datetime/datetime.js +47 -19
  295. package/dist/collection/components/datetime/datetime.md.css +15 -3
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +25 -1
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  303. package/dist/collection/components/fab-button/fab-button.js +19 -14
  304. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +14 -2
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ionic.css +80 -0
  313. package/dist/collection/components/header/header.ios.css +25 -10
  314. package/dist/collection/components/header/header.js +17 -14
  315. package/dist/collection/components/header/header.md.css +23 -8
  316. package/dist/collection/components/header/test/basic/header.e2e.js +17 -8
  317. package/dist/collection/components/img/img.js +8 -2
  318. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  321. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  322. package/dist/collection/components/input/input.ionic.css +1031 -0
  323. package/dist/collection/components/input/input.ios.css +21 -2
  324. package/dist/collection/components/input/input.js +127 -29
  325. package/dist/collection/components/input/input.md.css +43 -4
  326. package/dist/collection/components/input/test/basic/input.e2e.js +66 -0
  327. package/dist/collection/components/input/test/bottom-content/input.e2e.js +24 -5
  328. package/dist/collection/components/input/test/fill/input.e2e.js +37 -39
  329. package/dist/collection/components/input/test/highlight/input.e2e.js +94 -0
  330. package/dist/collection/components/input/test/shape/input.e2e.js +165 -0
  331. package/dist/collection/components/input/test/size/input.e2e.js +164 -0
  332. package/dist/collection/components/input/test/slot/input.e2e.js +14 -0
  333. package/dist/collection/components/input/test/states/input.e2e.js +173 -0
  334. package/dist/collection/components/input-password-toggle/input-password-toggle.js +6 -5
  335. package/dist/collection/components/item/item.ionic.css +169 -0
  336. package/dist/collection/components/item/item.ios.css +20 -8
  337. package/dist/collection/components/item/item.js +21 -16
  338. package/dist/collection/components/item/item.md.css +31 -7
  339. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -1
  340. package/dist/collection/components/item/test/states/item.e2e.js +1 -1
  341. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  342. package/dist/collection/components/item-divider/item-divider.js +11 -8
  343. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  344. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  345. package/dist/collection/components/item-group/item-group.js +13 -7
  346. package/dist/collection/components/item-group/item-group.md.css +12 -0
  347. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  348. package/dist/collection/components/item-option/item-option.js +11 -8
  349. package/dist/collection/components/item-option/item-option.md.css +14 -2
  350. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  351. package/dist/collection/components/item-options/item-options.js +13 -7
  352. package/dist/collection/components/item-options/item-options.md.css +18 -0
  353. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  354. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  355. package/dist/collection/components/label/label.ios.css +18 -0
  356. package/dist/collection/components/label/label.js +11 -8
  357. package/dist/collection/components/label/label.md.css +18 -0
  358. package/dist/collection/components/list/list.ios.css +18 -0
  359. package/dist/collection/components/list/list.js +12 -9
  360. package/dist/collection/components/list/list.md.css +18 -0
  361. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  362. package/dist/collection/components/list-header/list-header.js +11 -8
  363. package/dist/collection/components/list-header/list-header.md.css +18 -0
  364. package/dist/collection/components/loading/loading.ios.css +13 -1
  365. package/dist/collection/components/loading/loading.js +13 -10
  366. package/dist/collection/components/loading/loading.md.css +13 -1
  367. package/dist/collection/components/menu/menu.ios.css +15 -3
  368. package/dist/collection/components/menu/menu.js +12 -7
  369. package/dist/collection/components/menu/menu.md.css +15 -3
  370. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  371. package/dist/collection/components/menu-button/menu-button.js +12 -9
  372. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  373. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  374. package/dist/collection/components/modal/modal.ios.css +14 -2
  375. package/dist/collection/components/modal/modal.js +13 -10
  376. package/dist/collection/components/modal/modal.md.css +14 -2
  377. package/dist/collection/components/nav/nav.css +7 -1
  378. package/dist/collection/components/nav/nav.js +11 -5
  379. package/dist/collection/components/nav-link/nav-link.js +5 -1
  380. package/dist/collection/components/note/note.ios.css +12 -0
  381. package/dist/collection/components/note/note.js +11 -8
  382. package/dist/collection/components/note/note.md.css +12 -0
  383. package/dist/collection/components/picker/picker.ios.css +15 -3
  384. package/dist/collection/components/picker/picker.js +8 -5
  385. package/dist/collection/components/picker/picker.md.css +15 -3
  386. package/dist/collection/components/picker-column/picker-column.css +9 -2
  387. package/dist/collection/components/picker-column/picker-column.js +8 -7
  388. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  389. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  390. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  391. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  392. package/dist/collection/components/picker-legacy/picker.js +7 -6
  393. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  394. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  395. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  396. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  397. package/dist/collection/components/popover/popover.ios.css +13 -1
  398. package/dist/collection/components/popover/popover.js +15 -12
  399. package/dist/collection/components/popover/popover.md.css +13 -1
  400. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  401. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  402. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  403. package/dist/collection/components/radio/radio.ios.css +20 -2
  404. package/dist/collection/components/radio/radio.js +12 -9
  405. package/dist/collection/components/radio/radio.md.css +20 -2
  406. package/dist/collection/components/radio-group/radio-group.js +9 -3
  407. package/dist/collection/components/range/range.ios.css +12 -0
  408. package/dist/collection/components/range/range.js +12 -9
  409. package/dist/collection/components/range/range.md.css +12 -0
  410. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  411. package/dist/collection/components/refresher/refresher.js +38 -8
  412. package/dist/collection/components/refresher/refresher.md.css +15 -2
  413. package/dist/collection/components/refresher/test/fullscreen/refresher.e2e.js +77 -0
  414. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  415. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  416. package/dist/collection/components/reorder/reorder.js +26 -6
  417. package/dist/collection/components/reorder/reorder.md.css +6 -0
  418. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  419. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  420. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  421. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  422. package/dist/collection/components/route/route.js +4 -0
  423. package/dist/collection/components/router/router.js +4 -0
  424. package/dist/collection/components/router-link/router-link.css +8 -2
  425. package/dist/collection/components/router-link/router-link.js +9 -5
  426. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  427. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  428. package/dist/collection/components/row/row.css +12 -0
  429. package/dist/collection/components/row/row.js +9 -2
  430. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  431. package/dist/collection/components/searchbar/searchbar.js +68 -24
  432. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  433. package/dist/collection/components/segment/segment.ios.css +18 -0
  434. package/dist/collection/components/segment/segment.js +11 -8
  435. package/dist/collection/components/segment/segment.md.css +18 -0
  436. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  437. package/dist/collection/components/segment-button/segment-button.js +12 -9
  438. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  439. package/dist/collection/components/select/select.ios.css +22 -3
  440. package/dist/collection/components/select/select.js +70 -31
  441. package/dist/collection/components/select/select.md.css +38 -5
  442. package/dist/collection/components/select-option/select-option.js +9 -2
  443. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  444. package/dist/collection/components/select-popover/select-popover.js +12 -4
  445. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  446. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  448. package/dist/collection/components/spinner/spinner.css +6 -0
  449. package/dist/collection/components/spinner/spinner.js +10 -6
  450. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  451. package/dist/collection/components/split-pane/split-pane.js +14 -8
  452. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  453. package/dist/collection/components/tab/tab.js +6 -2
  454. package/dist/collection/components/tab-bar/tab-bar.ionic.css +163 -0
  455. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  456. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  457. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  458. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  459. package/dist/collection/components/tab-button/tab-button.ionic.css +264 -0
  460. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  461. package/dist/collection/components/tab-button/tab-button.js +11 -8
  462. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  463. package/dist/collection/components/tabs/tabs.css +7 -1
  464. package/dist/collection/components/tabs/tabs.js +4 -1
  465. package/dist/collection/components/text/text.css +6 -0
  466. package/dist/collection/components/text/text.js +7 -6
  467. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  468. package/dist/collection/components/textarea/textarea.js +15 -12
  469. package/dist/collection/components/textarea/textarea.md.css +39 -2
  470. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  471. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  472. package/dist/collection/components/title/title.ios.css +6 -0
  473. package/dist/collection/components/title/title.js +13 -7
  474. package/dist/collection/components/title/title.md.css +6 -0
  475. package/dist/collection/components/toast/animations/utils.js +1 -1
  476. package/dist/collection/components/toast/toast.ios.css +12 -0
  477. package/dist/collection/components/toast/toast.js +15 -11
  478. package/dist/collection/components/toast/toast.md.css +12 -0
  479. package/dist/collection/components/toggle/toggle.ios.css +23 -2
  480. package/dist/collection/components/toggle/toggle.js +55 -18
  481. package/dist/collection/components/toggle/toggle.md.css +20 -2
  482. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  483. package/dist/collection/components/toolbar/toolbar.js +13 -10
  484. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  485. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  486. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  487. package/dist/collection/css/test/typography/basic/typography.e2e.js +14 -0
  488. package/dist/collection/global/ionic-global.js +161 -13
  489. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  490. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  491. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  492. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  493. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  494. package/dist/collection/utils/test/playwright/generator.js +48 -23
  495. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  496. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  497. package/dist/collection/utils/transition/ios.transition.js +1 -0
  498. package/dist/docs.json +6439 -325
  499. package/dist/esm/{app-globals-232dc3ed.js → app-globals-1fabe499.js} +1 -1
  500. package/dist/esm/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  501. package/dist/esm/{data-ae11fd43.js → data-63b889c5.js} +4 -4
  502. package/dist/esm/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +2 -2
  503. package/dist/esm/{index-5cc724f3.js → index-00b4cca5.js} +1 -1
  504. package/dist/esm/{index-c71c5417.js → index-3321c202.js} +1 -1
  505. package/dist/esm/{index-92f14156.js → index-33a3d901.js} +4 -5
  506. package/dist/esm/{index-c8c3afda.js → index-44013081.js} +9 -8
  507. package/dist/esm/index.js +8 -9
  508. package/dist/esm/{input-shims-0314bbe5.js → input-shims-c142630d.js} +3 -2
  509. package/dist/esm/{input.utils-09c71bc7.js → input.utils-68c66dbc.js} +1 -1
  510. package/dist/esm/ion-accordion_2.entry.js +23 -14
  511. package/dist/esm/ion-action-sheet.entry.js +17 -13
  512. package/dist/esm/ion-alert.entry.js +18 -15
  513. package/dist/esm/ion-app_8.entry.js +77 -58
  514. package/dist/esm/ion-avatar_3.entry.js +91 -8
  515. package/dist/esm/ion-back-button.entry.js +15 -11
  516. package/dist/esm/ion-backdrop.entry.js +11 -7
  517. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  518. package/dist/esm/ion-button_2.entry.js +42 -13
  519. package/dist/esm/ion-card_5.entry.js +49 -26
  520. package/dist/esm/ion-checkbox.entry.js +24 -13
  521. package/dist/esm/ion-chip.entry.js +43 -8
  522. package/dist/esm/ion-col_3.entry.js +14 -11
  523. package/dist/esm/ion-datetime-button.entry.js +11 -8
  524. package/dist/esm/ion-datetime_3.entry.js +60 -33
  525. package/dist/esm/ion-fab_3.entry.js +24 -18
  526. package/dist/esm/ion-img.entry.js +6 -3
  527. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  528. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  529. package/dist/esm/ion-input.entry.js +100 -21
  530. package/dist/esm/ion-item-option_3.entry.js +24 -17
  531. package/dist/esm/ion-item_8.entry.js +70 -40
  532. package/dist/esm/ion-loading.entry.js +15 -12
  533. package/dist/esm/ion-menu_3.entry.js +30 -23
  534. package/dist/esm/ion-modal.entry.js +18 -15
  535. package/dist/esm/ion-nav_2.entry.js +10 -9
  536. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  537. package/dist/esm/ion-picker-column.entry.js +8 -8
  538. package/dist/esm/ion-picker.entry.js +9 -5
  539. package/dist/esm/ion-popover.entry.js +15 -12
  540. package/dist/esm/ion-progress-bar.entry.js +11 -7
  541. package/dist/esm/ion-radio_2.entry.js +17 -11
  542. package/dist/esm/ion-range.entry.js +12 -9
  543. package/dist/esm/ion-refresher_2.entry.js +46 -15
  544. package/dist/esm/ion-reorder_2.entry.js +27 -10
  545. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  546. package/dist/esm/ion-route_4.entry.js +7 -7
  547. package/dist/esm/ion-searchbar.entry.js +62 -16
  548. package/dist/esm/ion-segment_2.entry.js +21 -13
  549. package/dist/esm/ion-select_3.entry.js +81 -33
  550. package/dist/esm/ion-spinner.entry.js +7 -7
  551. package/dist/esm/ion-split-pane.entry.js +13 -9
  552. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  553. package/dist/esm/ion-tab_2.entry.js +5 -5
  554. package/dist/esm/ion-text.entry.js +6 -6
  555. package/dist/esm/ion-textarea.entry.js +15 -12
  556. package/dist/esm/ion-toast.entry.js +16 -12
  557. package/dist/esm/ion-toggle.entry.js +56 -18
  558. package/dist/esm/ionic-global-be8fa30a.js +408 -0
  559. package/dist/esm/ionic.js +5 -5
  560. package/dist/esm/{ios.transition-2f45f5c1.js → ios.transition-688eab99.js} +4 -4
  561. package/dist/esm/loader.js +5 -5
  562. package/dist/esm/{md.transition-6fcc955f.js → md.transition-0540d1d2.js} +3 -4
  563. package/dist/esm/{overlays-0d212972.js → overlays-a0e93007.js} +2 -3
  564. package/dist/esm/{status-tap-53150009.js → status-tap-8d02be66.js} +3 -3
  565. package/dist/esm-es5/app-globals-1fabe499.js +4 -0
  566. package/dist/esm-es5/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  567. package/dist/esm-es5/data-63b889c5.js +4 -0
  568. package/dist/esm-es5/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +1 -1
  569. package/dist/esm-es5/index-00b4cca5.js +4 -0
  570. package/dist/esm-es5/{index-c71c5417.js → index-3321c202.js} +1 -1
  571. package/dist/esm-es5/index-33a3d901.js +4 -0
  572. package/dist/esm-es5/index-44013081.js +4 -0
  573. package/dist/esm-es5/index.js +1 -1
  574. package/dist/esm-es5/input-shims-c142630d.js +4 -0
  575. package/dist/esm-es5/input.utils-68c66dbc.js +4 -0
  576. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  577. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  578. package/dist/esm-es5/ion-alert.entry.js +1 -1
  579. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  580. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  581. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  582. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  583. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  584. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  585. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  586. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  587. package/dist/esm-es5/ion-chip.entry.js +1 -1
  588. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  589. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  590. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  591. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  592. package/dist/esm-es5/ion-img.entry.js +1 -1
  593. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  594. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  595. package/dist/esm-es5/ion-input.entry.js +1 -1
  596. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  597. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  598. package/dist/esm-es5/ion-loading.entry.js +1 -1
  599. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  600. package/dist/esm-es5/ion-modal.entry.js +1 -1
  601. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  603. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  604. package/dist/esm-es5/ion-picker.entry.js +1 -1
  605. package/dist/esm-es5/ion-popover.entry.js +1 -1
  606. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  607. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-range.entry.js +1 -1
  609. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  610. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  611. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  612. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  613. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  614. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  615. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  616. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  617. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  618. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  619. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  620. package/dist/esm-es5/ion-text.entry.js +1 -1
  621. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  622. package/dist/esm-es5/ion-toast.entry.js +1 -1
  623. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  624. package/dist/esm-es5/ionic-global-be8fa30a.js +4 -0
  625. package/dist/esm-es5/ionic.js +1 -1
  626. package/dist/esm-es5/ios.transition-688eab99.js +4 -0
  627. package/dist/esm-es5/loader.js +1 -1
  628. package/dist/esm-es5/md.transition-0540d1d2.js +4 -0
  629. package/dist/esm-es5/overlays-a0e93007.js +4 -0
  630. package/dist/esm-es5/status-tap-8d02be66.js +4 -0
  631. package/dist/html.html-data.json +2054 -100
  632. package/dist/ionic/index.esm.js +1 -1
  633. package/dist/ionic/ionic.esm.js +1 -1
  634. package/dist/ionic/ionic.js +1 -1
  635. package/dist/ionic/p-0116d120.entry.js +4 -0
  636. package/dist/ionic/p-01ae1aa0.entry.js +4 -0
  637. package/dist/ionic/p-021bee2f.system.entry.js +4 -0
  638. package/dist/ionic/p-036d86ec.system.entry.js +4 -0
  639. package/dist/ionic/p-0a93c048.system.js +4 -0
  640. package/dist/ionic/p-1219eea0.system.entry.js +4 -0
  641. package/dist/ionic/{p-bbc5329a.system.entry.js → p-128f0f15.system.entry.js} +2 -2
  642. package/dist/ionic/p-12c07c03.system.entry.js +4 -0
  643. package/dist/ionic/p-132e1004.entry.js +4 -0
  644. package/dist/ionic/{p-395a0dd7.js → p-15901e6c.js} +1 -1
  645. package/dist/ionic/{p-9ea607bd.system.js → p-1b75a2d2.system.js} +2 -2
  646. package/dist/ionic/p-1d548fea.system.entry.js +4 -0
  647. package/dist/ionic/p-1dbb7fa3.entry.js +4 -0
  648. package/dist/ionic/{p-a688052d.system.js → p-1ecfe64f.system.js} +1 -1
  649. package/dist/ionic/p-22fef691.js +4 -0
  650. package/dist/ionic/p-24592a4d.system.entry.js +4 -0
  651. package/dist/ionic/p-24d2aea3.entry.js +4 -0
  652. package/dist/ionic/p-27e42c9e.system.js +4 -0
  653. package/dist/ionic/p-28a10445.system.js +4 -0
  654. package/dist/ionic/{p-0c06e09b.system.js → p-2ac68c59.system.js} +1 -1
  655. package/dist/ionic/{p-c350c8f8.system.entry.js → p-2d618ba6.system.entry.js} +1 -1
  656. package/dist/ionic/{p-99a4d7c7.system.js → p-2df16673.system.js} +2 -2
  657. package/dist/ionic/{p-06e58c4e.js → p-2fa9c16c.js} +1 -1
  658. package/dist/ionic/{p-ea4f2b31.entry.js → p-2fdc82b4.entry.js} +1 -1
  659. package/dist/ionic/p-302c9c7a.system.entry.js +4 -0
  660. package/dist/ionic/p-30b49657.system.entry.js +4 -0
  661. package/dist/ionic/p-350462f9.system.entry.js +4 -0
  662. package/dist/ionic/p-359afeb0.system.entry.js +4 -0
  663. package/dist/ionic/p-37e801db.entry.js +4 -0
  664. package/dist/ionic/{p-60eb4c0d.system.entry.js → p-3862d08b.system.entry.js} +1 -1
  665. package/dist/ionic/p-3b989be4.entry.js +4 -0
  666. package/dist/ionic/p-3c031826.system.entry.js +4 -0
  667. package/dist/ionic/p-3c18022f.entry.js +4 -0
  668. package/dist/ionic/p-3c6eae03.system.entry.js +4 -0
  669. package/dist/ionic/p-3cccd1c7.system.entry.js +4 -0
  670. package/dist/ionic/p-3d25c6d9.entry.js +4 -0
  671. package/dist/ionic/p-3e2568b9.system.js +4 -0
  672. package/dist/ionic/p-3e9a1680.js +4 -0
  673. package/dist/ionic/{p-ac34105e.entry.js → p-4058051c.entry.js} +1 -1
  674. package/dist/ionic/{p-266db4b6.entry.js → p-4079d071.entry.js} +1 -1
  675. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  676. package/dist/ionic/{p-f3ff1e58.entry.js → p-41c9fb60.entry.js} +1 -1
  677. package/dist/ionic/p-42452dc9.entry.js +4 -0
  678. package/dist/ionic/p-42816eab.entry.js +4 -0
  679. package/dist/ionic/p-42bb5ed7.system.entry.js +4 -0
  680. package/dist/ionic/p-44314b44.system.entry.js +4 -0
  681. package/dist/ionic/p-479bec54.entry.js +4 -0
  682. package/dist/ionic/{p-e6964b3a.js → p-493a4548.js} +1 -1
  683. package/dist/ionic/p-49fee3a3.entry.js +4 -0
  684. package/dist/ionic/p-4b9c6418.system.entry.js +4 -0
  685. package/dist/ionic/p-4d6c2031.system.entry.js +4 -0
  686. package/dist/ionic/p-4ec67d0a.entry.js +4 -0
  687. package/dist/ionic/p-546438d8.js +4 -0
  688. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  689. package/dist/ionic/p-56c72f65.system.entry.js +4 -0
  690. package/dist/ionic/p-59cd0dd7.system.entry.js +4 -0
  691. package/dist/ionic/p-61ddbdb9.entry.js +4 -0
  692. package/dist/ionic/{p-44c6eb74.js → p-644c505f.js} +1 -1
  693. package/dist/ionic/p-645a7748.entry.js +4 -0
  694. package/dist/ionic/{p-d60342e3.js → p-6649365e.js} +1 -1
  695. package/dist/ionic/p-6746c32a.entry.js +4 -0
  696. package/dist/ionic/{p-eb8098d5.system.entry.js → p-67f85d9a.system.entry.js} +1 -1
  697. package/dist/ionic/p-6c57ed08.js +4 -0
  698. package/dist/ionic/p-6daa3633.entry.js +4 -0
  699. package/dist/ionic/p-72e98815.system.js +4 -0
  700. package/dist/ionic/p-752e285d.entry.js +4 -0
  701. package/dist/ionic/p-79113968.js +4 -0
  702. package/dist/ionic/p-7b590e46.system.js +4 -0
  703. package/dist/ionic/p-7b914bfb.entry.js +4 -0
  704. package/dist/ionic/p-7bf2087e.entry.js +4 -0
  705. package/dist/ionic/p-7dad531c.system.entry.js +4 -0
  706. package/dist/ionic/p-7f5f8a14.entry.js +4 -0
  707. package/dist/ionic/p-82df3737.system.entry.js +4 -0
  708. package/dist/ionic/p-87e823ce.js +4 -0
  709. package/dist/ionic/p-89efe86f.entry.js +4 -0
  710. package/dist/ionic/p-8a04868b.system.entry.js +4 -0
  711. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  712. package/dist/ionic/p-8ed0cef4.system.entry.js +4 -0
  713. package/dist/ionic/p-90027267.system.js +4 -0
  714. package/dist/ionic/p-935801cc.entry.js +4 -0
  715. package/dist/ionic/p-96f109ca.entry.js +4 -0
  716. package/dist/ionic/p-9771abb4.entry.js +4 -0
  717. package/dist/ionic/p-9b925d37.system.entry.js +4 -0
  718. package/dist/ionic/p-9ead4417.js +4 -0
  719. package/dist/ionic/p-a06d7e6a.system.js +4 -0
  720. package/dist/ionic/{p-5d6e77bd.system.entry.js → p-a2b60239.system.entry.js} +1 -1
  721. package/dist/ionic/p-a3b856e6.system.entry.js +4 -0
  722. package/dist/ionic/{p-00333e13.js → p-a42e4adb.js} +1 -1
  723. package/dist/ionic/p-ada5e8bb.entry.js +4 -0
  724. package/dist/ionic/{p-9286b16d.system.entry.js → p-b5cc6e57.system.entry.js} +2 -2
  725. package/dist/ionic/p-bab398d1.entry.js +4 -0
  726. package/dist/ionic/p-bb7162de.system.js +4 -0
  727. package/dist/ionic/p-bedf240b.entry.js +4 -0
  728. package/dist/ionic/p-bee73070.entry.js +4 -0
  729. package/dist/ionic/{p-13260c59.entry.js → p-c23822f8.entry.js} +1 -1
  730. package/dist/ionic/p-c24b81cc.entry.js +4 -0
  731. package/dist/ionic/p-c374ab05.system.js +4 -0
  732. package/dist/ionic/{p-1de7f9e4.entry.js → p-c47b75e3.entry.js} +1 -1
  733. package/dist/ionic/p-c79decb5.system.entry.js +4 -0
  734. package/dist/ionic/p-ca5aaed3.system.entry.js +4 -0
  735. package/dist/ionic/p-cce8c245.entry.js +4 -0
  736. package/dist/ionic/{p-96cc4814.js → p-cd99310b.js} +1 -1
  737. package/dist/ionic/p-cdc9a11c.system.entry.js +4 -0
  738. package/dist/ionic/p-d281c150.system.entry.js +4 -0
  739. package/dist/ionic/p-d2a580db.entry.js +4 -0
  740. package/dist/ionic/p-d4f55a93.entry.js +4 -0
  741. package/dist/ionic/p-d5fc7d63.entry.js +4 -0
  742. package/dist/ionic/{p-f687573e.system.js → p-d98a1d99.system.js} +1 -1
  743. package/dist/ionic/p-db08a2d0.system.entry.js +4 -0
  744. package/dist/ionic/p-db3f14c1.system.entry.js +4 -0
  745. package/dist/ionic/p-db8fac3d.system.entry.js +4 -0
  746. package/dist/ionic/p-dc60009b.system.entry.js +4 -0
  747. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  748. package/dist/ionic/p-e2313846.entry.js +4 -0
  749. package/dist/ionic/{p-e6a47e94.entry.js → p-e59d16bd.entry.js} +1 -1
  750. package/dist/ionic/{p-8d3e57a0.system.entry.js → p-e7e3ba54.system.entry.js} +1 -1
  751. package/dist/ionic/p-e8aa220a.js +4 -0
  752. package/dist/ionic/p-e900eba2.system.entry.js +4 -0
  753. package/dist/ionic/p-ea8c8541.system.entry.js +4 -0
  754. package/dist/ionic/p-ebc71ff5.system.entry.js +4 -0
  755. package/dist/ionic/p-f0fab903.system.entry.js +4 -0
  756. package/dist/ionic/p-f621b019.entry.js +4 -0
  757. package/dist/ionic/{p-6ad705f8.system.js → p-fa019443.system.js} +1 -1
  758. package/dist/ionic/p-fb17d462.entry.js +4 -0
  759. package/dist/ionic/p-fb8ecdb4.system.entry.js +4 -0
  760. package/dist/ionic/p-fc0922fa.system.entry.js +4 -0
  761. package/dist/ionic/{p-7a43878b.system.js → p-fc9f9e4d.system.js} +1 -1
  762. package/dist/ionic/p-fcb1218a.system.entry.js +4 -0
  763. package/dist/types/components/accordion/accordion.d.ts +3 -2
  764. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  765. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  766. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  767. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  768. package/dist/types/components/alert/alert.d.ts +3 -2
  769. package/dist/types/components/app/app.d.ts +4 -0
  770. package/dist/types/components/avatar/avatar.d.ts +25 -0
  771. package/dist/types/components/back-button/back-button.d.ts +2 -1
  772. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  773. package/dist/types/components/badge/badge.d.ts +23 -1
  774. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  775. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  776. package/dist/types/components/button/button.d.ts +15 -4
  777. package/dist/types/components/buttons/buttons.d.ts +5 -1
  778. package/dist/types/components/card/card.d.ts +8 -1
  779. package/dist/types/components/card-content/card-content.d.ts +2 -1
  780. package/dist/types/components/card-header/card-header.d.ts +3 -2
  781. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  782. package/dist/types/components/card-title/card-title.d.ts +2 -1
  783. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  784. package/dist/types/components/chip/chip.d.ts +19 -1
  785. package/dist/types/components/col/col.d.ts +4 -0
  786. package/dist/types/components/content/content.d.ts +3 -0
  787. package/dist/types/components/datetime/datetime.d.ts +18 -1
  788. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  789. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  790. package/dist/types/components/fab/fab.d.ts +4 -0
  791. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  792. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  793. package/dist/types/components/footer/footer.d.ts +4 -3
  794. package/dist/types/components/grid/grid.d.ts +4 -0
  795. package/dist/types/components/header/header.d.ts +4 -3
  796. package/dist/types/components/img/img.d.ts +3 -0
  797. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  798. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  799. package/dist/types/components/input/input.d.ts +31 -5
  800. package/dist/types/components/item/item.d.ts +5 -4
  801. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  802. package/dist/types/components/item-group/item-group.d.ts +4 -0
  803. package/dist/types/components/item-option/item-option.d.ts +2 -1
  804. package/dist/types/components/item-options/item-options.d.ts +4 -0
  805. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  806. package/dist/types/components/label/label.d.ts +2 -1
  807. package/dist/types/components/list/list.d.ts +2 -1
  808. package/dist/types/components/list-header/list-header.d.ts +2 -1
  809. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  810. package/dist/types/components/loading/loading.d.ts +3 -2
  811. package/dist/types/components/menu/menu.d.ts +3 -0
  812. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  813. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  814. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  815. package/dist/types/components/modal/modal.d.ts +2 -1
  816. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  817. package/dist/types/components/nav/nav.d.ts +5 -1
  818. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  819. package/dist/types/components/note/note.d.ts +2 -1
  820. package/dist/types/components/picker/picker.d.ts +2 -1
  821. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  822. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  823. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  824. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  825. package/dist/types/components/popover/popover.d.ts +6 -5
  826. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  827. package/dist/types/components/radio/radio.d.ts +2 -1
  828. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  829. package/dist/types/components/range/range.d.ts +2 -1
  830. package/dist/types/components/refresher/refresher.d.ts +3 -1
  831. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  832. package/dist/types/components/reorder/reorder.d.ts +11 -0
  833. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  834. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  835. package/dist/types/components/route/route.d.ts +4 -0
  836. package/dist/types/components/router/router.d.ts +4 -0
  837. package/dist/types/components/router-link/router-link.d.ts +4 -0
  838. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  839. package/dist/types/components/row/row.d.ts +4 -0
  840. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  841. package/dist/types/components/segment/segment.d.ts +2 -1
  842. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  843. package/dist/types/components/select/select.d.ts +24 -5
  844. package/dist/types/components/select-option/select-option.d.ts +4 -0
  845. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  846. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  847. package/dist/types/components/spinner/spinner.d.ts +4 -0
  848. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  849. package/dist/types/components/tab/tab.d.ts +4 -0
  850. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  851. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  852. package/dist/types/components/tabs/tabs.d.ts +3 -0
  853. package/dist/types/components/text/text.d.ts +2 -1
  854. package/dist/types/components/textarea/textarea.d.ts +3 -2
  855. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  856. package/dist/types/components/title/title.d.ts +4 -0
  857. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  858. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  859. package/dist/types/components/toast/toast.d.ts +3 -2
  860. package/dist/types/components/toggle/toggle.d.ts +19 -1
  861. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  862. package/dist/types/components.d.ts +1278 -174
  863. package/dist/types/global/ionic-global.d.ts +25 -2
  864. package/dist/types/interface.d.ts +3 -0
  865. package/dist/types/utils/config.d.ts +99 -2
  866. package/dist/types/utils/overlays-interface.d.ts +31 -1
  867. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  868. package/hydrate/index.js +1591 -615
  869. package/package.json +10 -5
  870. package/components/index9.js +0 -167
  871. package/dist/cjs/index-5915f9b3.js +0 -38
  872. package/dist/cjs/ionic-global-46459c38.js +0 -237
  873. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  874. package/dist/esm/index-9b0d46f4.js +0 -34
  875. package/dist/esm/ionic-global-b9c0d1da.js +0 -231
  876. package/dist/esm-es5/app-globals-232dc3ed.js +0 -4
  877. package/dist/esm-es5/data-ae11fd43.js +0 -4
  878. package/dist/esm-es5/index-5cc724f3.js +0 -4
  879. package/dist/esm-es5/index-92f14156.js +0 -4
  880. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  881. package/dist/esm-es5/index-c8c3afda.js +0 -4
  882. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  883. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  884. package/dist/esm-es5/ionic-global-b9c0d1da.js +0 -4
  885. package/dist/esm-es5/ios.transition-2f45f5c1.js +0 -4
  886. package/dist/esm-es5/md.transition-6fcc955f.js +0 -4
  887. package/dist/esm-es5/overlays-0d212972.js +0 -4
  888. package/dist/esm-es5/status-tap-53150009.js +0 -4
  889. package/dist/ionic/p-0471d705.entry.js +0 -4
  890. package/dist/ionic/p-05bbe79d.entry.js +0 -4
  891. package/dist/ionic/p-06fee233.js +0 -4
  892. package/dist/ionic/p-0769896d.system.entry.js +0 -4
  893. package/dist/ionic/p-13d3abce.system.entry.js +0 -4
  894. package/dist/ionic/p-1731ab58.system.entry.js +0 -4
  895. package/dist/ionic/p-17c10451.system.entry.js +0 -4
  896. package/dist/ionic/p-184fc032.system.js +0 -4
  897. package/dist/ionic/p-18fd2107.entry.js +0 -4
  898. package/dist/ionic/p-1a0848af.system.entry.js +0 -4
  899. package/dist/ionic/p-1cebad78.system.entry.js +0 -4
  900. package/dist/ionic/p-2690b1de.js +0 -4
  901. package/dist/ionic/p-26e469a2.system.entry.js +0 -4
  902. package/dist/ionic/p-2b13fb8c.entry.js +0 -4
  903. package/dist/ionic/p-2e7673a0.system.entry.js +0 -4
  904. package/dist/ionic/p-3886b5d0.entry.js +0 -4
  905. package/dist/ionic/p-38c67b66.system.entry.js +0 -4
  906. package/dist/ionic/p-3a0091c2.system.entry.js +0 -4
  907. package/dist/ionic/p-3b199ab6.entry.js +0 -4
  908. package/dist/ionic/p-3c1b674f.entry.js +0 -4
  909. package/dist/ionic/p-3dba7283.entry.js +0 -4
  910. package/dist/ionic/p-3ea44c31.system.entry.js +0 -4
  911. package/dist/ionic/p-418ad596.entry.js +0 -4
  912. package/dist/ionic/p-44f6a3e4.system.entry.js +0 -4
  913. package/dist/ionic/p-4c3d1c73.entry.js +0 -4
  914. package/dist/ionic/p-4d6b6aef.system.entry.js +0 -4
  915. package/dist/ionic/p-4d7ab66a.system.entry.js +0 -4
  916. package/dist/ionic/p-4f610234.entry.js +0 -4
  917. package/dist/ionic/p-52df00b5.entry.js +0 -4
  918. package/dist/ionic/p-56cb7d41.entry.js +0 -4
  919. package/dist/ionic/p-591528fc.entry.js +0 -4
  920. package/dist/ionic/p-5b121ea3.system.entry.js +0 -4
  921. package/dist/ionic/p-5bbd2b10.entry.js +0 -4
  922. package/dist/ionic/p-5c22c8fa.system.js +0 -4
  923. package/dist/ionic/p-5f2dc7f9.entry.js +0 -4
  924. package/dist/ionic/p-6017cbeb.system.js +0 -4
  925. package/dist/ionic/p-6167004c.system.entry.js +0 -4
  926. package/dist/ionic/p-617caf82.entry.js +0 -4
  927. package/dist/ionic/p-624e1ca6.system.js +0 -4
  928. package/dist/ionic/p-646d46b1.entry.js +0 -4
  929. package/dist/ionic/p-64e15640.system.entry.js +0 -4
  930. package/dist/ionic/p-65fd47cb.system.entry.js +0 -4
  931. package/dist/ionic/p-66621486.system.entry.js +0 -4
  932. package/dist/ionic/p-666583e1.system.entry.js +0 -4
  933. package/dist/ionic/p-68e5bec9.system.entry.js +0 -4
  934. package/dist/ionic/p-6c76eff8.system.entry.js +0 -4
  935. package/dist/ionic/p-6cf5d476.system.js +0 -4
  936. package/dist/ionic/p-6ee1e402.system.js +0 -4
  937. package/dist/ionic/p-705c21cb.system.entry.js +0 -4
  938. package/dist/ionic/p-72ee2cd6.entry.js +0 -4
  939. package/dist/ionic/p-733db888.entry.js +0 -4
  940. package/dist/ionic/p-738cb3bd.entry.js +0 -4
  941. package/dist/ionic/p-75cb6744.system.js +0 -4
  942. package/dist/ionic/p-796cfde4.entry.js +0 -4
  943. package/dist/ionic/p-7a86bd75.js +0 -4
  944. package/dist/ionic/p-7f84a4c8.system.entry.js +0 -4
  945. package/dist/ionic/p-8ee5c5bf.js +0 -4
  946. package/dist/ionic/p-943bc98f.system.entry.js +0 -4
  947. package/dist/ionic/p-94953ea1.system.entry.js +0 -4
  948. package/dist/ionic/p-94c6f6ab.system.entry.js +0 -4
  949. package/dist/ionic/p-9690c79d.system.entry.js +0 -4
  950. package/dist/ionic/p-98f199c6.system.entry.js +0 -4
  951. package/dist/ionic/p-9f5f3485.js +0 -4
  952. package/dist/ionic/p-a07f9cb7.system.entry.js +0 -4
  953. package/dist/ionic/p-a3aaeca8.system.entry.js +0 -4
  954. package/dist/ionic/p-ab27a195.system.entry.js +0 -4
  955. package/dist/ionic/p-af9d3f33.entry.js +0 -4
  956. package/dist/ionic/p-b1e856df.entry.js +0 -4
  957. package/dist/ionic/p-b6fe4a42.entry.js +0 -4
  958. package/dist/ionic/p-b7fa6074.js +0 -4
  959. package/dist/ionic/p-b9fcfe50.system.js +0 -4
  960. package/dist/ionic/p-c1859486.system.js +0 -4
  961. package/dist/ionic/p-c5477854.system.entry.js +0 -4
  962. package/dist/ionic/p-c91c13d2.js +0 -4
  963. package/dist/ionic/p-cb5d9dd4.entry.js +0 -4
  964. package/dist/ionic/p-ccab4d05.system.entry.js +0 -4
  965. package/dist/ionic/p-cdddc32e.entry.js +0 -4
  966. package/dist/ionic/p-d2293261.system.entry.js +0 -4
  967. package/dist/ionic/p-d2753e35.js +0 -4
  968. package/dist/ionic/p-d2db72d1.entry.js +0 -4
  969. package/dist/ionic/p-d529141b.entry.js +0 -4
  970. package/dist/ionic/p-d5f62e4e.entry.js +0 -4
  971. package/dist/ionic/p-d7b97091.entry.js +0 -4
  972. package/dist/ionic/p-d820d1f1.entry.js +0 -4
  973. package/dist/ionic/p-d9e26540.system.entry.js +0 -4
  974. package/dist/ionic/p-da0001cd.system.entry.js +0 -4
  975. package/dist/ionic/p-dbee9e95.system.entry.js +0 -4
  976. package/dist/ionic/p-df3ebee9.system.entry.js +0 -4
  977. package/dist/ionic/p-df4bdf05.entry.js +0 -4
  978. package/dist/ionic/p-dfb78785.system.js +0 -4
  979. package/dist/ionic/p-e08fb9c2.system.entry.js +0 -4
  980. package/dist/ionic/p-e12d7323.entry.js +0 -4
  981. package/dist/ionic/p-e4587da1.js +0 -4
  982. package/dist/ionic/p-eaed7394.entry.js +0 -4
  983. package/dist/ionic/p-ecf5f3e0.entry.js +0 -4
  984. package/dist/ionic/p-ed72bc6c.system.entry.js +0 -4
  985. package/dist/ionic/p-ef1c5743.entry.js +0 -4
  986. package/dist/ionic/p-f181073a.entry.js +0 -4
  987. package/dist/ionic/p-f52c2d9a.entry.js +0 -4
  988. package/dist/ionic/p-f654e4df.entry.js +0 -4
  989. package/dist/ionic/p-fa2abaef.entry.js +0 -4
  990. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -110,18 +116,18 @@
110
116
  input {
111
117
  position: absolute;
112
118
  top: 0;
113
- left: 0;
114
119
  right: 0;
115
120
  bottom: 0;
121
+ left: 0;
116
122
  width: 100%;
117
123
  height: 100%;
118
124
  margin: 0;
119
125
  padding: 0;
120
126
  border: 0;
121
127
  outline: 0;
122
- clip: rect(0 0 0 0);
123
128
  opacity: 0;
124
129
  overflow: hidden;
130
+ clip: rect(0 0 0 0);
125
131
  -webkit-appearance: none;
126
132
  -moz-appearance: none;
127
133
  }
@@ -372,6 +378,12 @@ input {
372
378
  transform: translate3d(calc(var(--handle-spacing) * 2), 0, 0);
373
379
  }
374
380
 
381
+ /**
382
+ * Convert a pixels given value into rem
383
+ *
384
+ * @param pixels - Value in pixels to be converted (i.e. px)
385
+ * @param context (optional) - Baseline value
386
+ */
375
387
  /**
376
388
  * Convert a font size to a dynamic font size.
377
389
  * Fonts that participate in Dynamic Type should use
@@ -427,6 +439,12 @@ input {
427
439
  * }
428
440
  * }
429
441
  */
442
+ /**
443
+ * Convert a pixels given value into rem
444
+ *
445
+ * @param pixels - Value in pixels to be converted (i.e. px)
446
+ * @param context (optional) - Baseline value
447
+ */
430
448
  /**
431
449
  * Convert a font size to a dynamic font size.
432
450
  * Fonts that participate in Dynamic Type should use
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -119,8 +125,8 @@
119
125
  }
120
126
 
121
127
  .toolbar-background {
122
- left: 0;
123
128
  right: 0;
129
+ left: 0;
124
130
  top: 0;
125
131
  bottom: 0;
126
132
  position: absolute;
@@ -136,12 +142,18 @@
136
142
  }
137
143
 
138
144
  ::slotted(ion-progress-bar) {
139
- left: 0;
140
145
  right: 0;
146
+ left: 0;
141
147
  bottom: 0;
142
148
  position: absolute;
143
149
  }
144
150
 
151
+ /**
152
+ * Convert a pixels given value into rem
153
+ *
154
+ * @param pixels - Value in pixels to be converted (i.e. px)
155
+ * @param context (optional) - Baseline value
156
+ */
145
157
  /**
146
158
  * Convert a font size to a dynamic font size.
147
159
  * Fonts that participate in Dynamic Type should use
@@ -3,14 +3,15 @@
3
3
  */
4
4
  import { Host, forceUpdate, h } from "@stencil/core";
5
5
  import { createColorClasses, hostContext } from "../../utils/theme";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
7
  /**
8
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
8
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
9
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
9
10
  *
10
11
  * @slot - Content is placed between the named slots if provided without a slot.
11
12
  * @slot start - Content is placed to the left of the toolbar text in LTR, and to the right in RTL.
12
- * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
13
- * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
13
+ * @slot secondary - Content is placed to the left of the toolbar text in the `"ios"` theme, and directly to the right in the `"md"` theme.
14
+ * @slot primary - Content is placed to the right of the toolbar text in the `"ios"` theme, and to the far right in the `"md"` theme.
14
15
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
15
16
  */
16
17
  export class Toolbar {
@@ -57,28 +58,30 @@ export class Toolbar {
57
58
  }
58
59
  }
59
60
  render() {
60
- const mode = getIonMode(this);
61
+ const theme = getIonTheme(this);
61
62
  const childStyles = {};
62
63
  this.childrenStyles.forEach((value) => {
63
64
  Object.assign(childStyles, value);
64
65
  });
65
- return (h(Host, { key: '4bb3a55001408a3bdf033af76b9196cb96c07c09', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
66
- [mode]: true,
66
+ return (h(Host, { key: 'c9f11ae0421cf4f9cae4e1abd939c325fd2d2e5e', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
67
+ [theme]: true,
67
68
  'in-toolbar': hostContext('ion-toolbar', this.el),
68
- })) }, h("div", { key: '0891db157d6e028c6d03696f13fb510ea91b0296', class: "toolbar-background" }), h("div", { key: '95fbc870d808f74af4bb18cd8f8ec8c7828a9e0b', class: "toolbar-container" }, h("slot", { key: '84d4a9644660fe00ca085055ca8d12f3647531ad', name: "start" }), h("slot", { key: 'fd361dc9c9979f59aed2fedcf94629506fae62b0', name: "secondary" }), h("div", { key: '54d2b28616a4627c55766f66dc453707752758a6', class: "toolbar-content" }, h("slot", { key: '8f65e0830cce7135640b90eb694e282cb7e5efd2' })), h("slot", { key: 'c78be11a207c8674f222543646398636956087e6', name: "primary" }), h("slot", { key: 'ab25e1601ccaa8cb0d81921b849bcb7402aa7826', name: "end" }))));
69
+ })) }, h("div", { key: '43a695fd567085bbd0aa57f800348c9bf63bd4d3', class: "toolbar-background" }), h("div", { key: '2d6a8337447c8372cdb24ed0b40deffba24d1e5a', class: "toolbar-container" }, h("slot", { key: '1ab1c4e1d92c3aea3569d8351305c360d8729f6d', name: "start" }), h("slot", { key: '8ed80710494ce7c7ea6b926f45108e09d4525d92', name: "secondary" }), h("div", { key: '42db9b97f1bddcec771dc3d24849891980ceef0a', class: "toolbar-content" }, h("slot", { key: '24969adfabc7a16283ef0f5de4dbe2f1804b9326' })), h("slot", { key: '692c4e4ef377170664da5815a66ed59361b1222e', name: "primary" }), h("slot", { key: '880abf04839952984e4053be77fe1c1a7b71981a', name: "end" }))));
69
70
  }
70
71
  static get is() { return "ion-toolbar"; }
71
72
  static get encapsulation() { return "shadow"; }
72
73
  static get originalStyleUrls() {
73
74
  return {
74
75
  "ios": ["toolbar.ios.scss"],
75
- "md": ["toolbar.md.scss"]
76
+ "md": ["toolbar.md.scss"],
77
+ "ionic": ["toolbar.md.scss"]
76
78
  };
77
79
  }
78
80
  static get styleUrls() {
79
81
  return {
80
82
  "ios": ["toolbar.ios.css"],
81
- "md": ["toolbar.md.css"]
83
+ "md": ["toolbar.md.css"],
84
+ "ionic": ["toolbar.md.css"]
82
85
  };
83
86
  }
84
87
  static get properties() {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -119,8 +125,8 @@
119
125
  }
120
126
 
121
127
  .toolbar-background {
122
- left: 0;
123
128
  right: 0;
129
+ left: 0;
124
130
  top: 0;
125
131
  bottom: 0;
126
132
  position: absolute;
@@ -136,12 +142,18 @@
136
142
  }
137
143
 
138
144
  ::slotted(ion-progress-bar) {
139
- left: 0;
140
145
  right: 0;
146
+ left: 0;
141
147
  bottom: 0;
142
148
  position: absolute;
143
149
  }
144
150
 
151
+ /**
152
+ * Convert a pixels given value into rem
153
+ *
154
+ * @param pixels - Value in pixels to be converted (i.e. px)
155
+ * @param context (optional) - Baseline value
156
+ */
145
157
  /**
146
158
  * Convert a font size to a dynamic font size.
147
159
  * Fonts that participate in Dynamic Type should use
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ /**
7
+ * Link global classes are only available in the Ionic theme.
8
+ */
9
+ configs({ modes: ['ionic-md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
10
+ test.describe(title('link global classes'), () => {
11
+ test.beforeEach(async ({ page }) => {
12
+ await page.goto('/src/css/test/link/basic/index.html', config);
13
+ });
14
+ test.describe('.ion-link class', () => {
15
+ test('should apply to anchor elements', async ({ page }) => {
16
+ const standalone = page.locator('#standalone');
17
+ await expect(standalone).toHaveScreenshot(screenshot('link-standalone'));
18
+ });
19
+ test('should apply to child anchor elements', async ({ page }) => {
20
+ const standalone = page.locator('#standalone-nested');
21
+ await expect(standalone).toHaveScreenshot(screenshot('link-standalone-nested'));
22
+ });
23
+ });
24
+ test.describe('.ion-link-underline class', () => {
25
+ test('should apply to anchor elements', async ({ page }) => {
26
+ const standalone = page.locator('#underline');
27
+ await expect(standalone).toHaveScreenshot(screenshot('link-underline'));
28
+ });
29
+ test('should apply to child anchor elements', async ({ page }) => {
30
+ const standalone = page.locator('#underline-nested');
31
+ await expect(standalone).toHaveScreenshot(screenshot('link-underline-nested'));
32
+ });
33
+ });
34
+ });
35
+ });
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
- import { configs, test } from "../../../utils/test/playwright/index";
6
+ import { configs, test } from "../../../../utils/test/playwright/index";
7
7
  configs({ directions: ['ltr'], modes: ['ios'] }).forEach(({ title, screenshot, config }) => {
8
8
  test.describe(title('typography: font scaling'), () => {
9
9
  test('should scale text on larger font sizes', async ({ page }) => {
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs({ modes: ['ionic-md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('Typography: basic'), () => {
8
+ test('should not have visual regressions', async ({ page }) => {
9
+ await page.goto(`/src/css/test/typography/basic`, config);
10
+ await page.setIonViewport();
11
+ await expect(page).toHaveScreenshot(screenshot(`ionic-typography-basic-styles`));
12
+ });
13
+ });
14
+ });
@@ -1,13 +1,120 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { getMode, setMode, setPlatformHelpers } from "@stencil/core";
4
+ import { getMode, setMode, setPlatformHelpers, getElement } from "@stencil/core";
5
+ import { printIonWarning } from "../utils/logging/index";
5
6
  import { isPlatform, setupPlatforms } from "../utils/platform";
6
7
  import { config, configFromSession, configFromURL, saveConfig } from "./config";
7
- // TODO(FW-2832): types
8
8
  let defaultMode;
9
- export const getIonMode = (ref) => {
10
- return (ref && getMode(ref)) || defaultMode;
9
+ let defaultTheme = 'md';
10
+ /**
11
+ * Prints a warning message to the developer to inform them of
12
+ * an invalid configuration of mode and theme.
13
+ * @param mode The invalid mode configuration.
14
+ * @param theme The invalid theme configuration.
15
+ */
16
+ const printInvalidModeWarning = (mode, theme, ref) => {
17
+ printIonWarning(`Invalid mode and theme combination provided: mode: ${mode}, theme: ${theme}. Fallback mode ${getDefaultModeForTheme(theme)} will be used.`, ref);
18
+ };
19
+ /**
20
+ * Validates if a mode is accepted for a theme configuration.
21
+ * @param mode The mode to validate.
22
+ * @param theme The theme the mode is being used with.
23
+ * @returns `true` if the mode is valid for the theme, `false` if invalid.
24
+ */
25
+ export const isModeValidForTheme = (mode, theme) => {
26
+ if (mode === 'md') {
27
+ return theme === 'md' || theme === 'ionic';
28
+ }
29
+ else if (mode === 'ios') {
30
+ return theme === 'ios' || theme === 'ionic';
31
+ }
32
+ return false;
33
+ };
34
+ /**
35
+ * Returns the default mode for a specified theme.
36
+ * @param theme The theme to return a default mode for.
37
+ * @returns The default mode, either `ios` or `md`.
38
+ */
39
+ const getDefaultModeForTheme = (theme) => {
40
+ if (theme === 'ios') {
41
+ return 'ios';
42
+ }
43
+ return 'md';
44
+ };
45
+ /**
46
+ * Returns the default theme for a specified mode.
47
+ * @param mode The mode to return a default theme for.
48
+ * @returns The default theme.
49
+ */
50
+ const getDefaultThemeForMode = (mode) => {
51
+ if (mode === 'ios') {
52
+ return 'ios';
53
+ }
54
+ return 'md';
55
+ };
56
+ const isModeSupported = (elmMode) => ['ios', 'md'].includes(elmMode);
57
+ const isThemeSupported = (theme) => ['ios', 'md', 'ionic'].includes(theme);
58
+ const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
59
+ /**
60
+ * Returns the mode value of the element reference or the closest
61
+ * parent with a valid mode.
62
+ * @param ref The element reference to look up the mode for.
63
+ * @param theme Optionally can provide the theme to avoid an additional look-up.
64
+ * @returns The mode value for the element reference.
65
+ */
66
+ export const getIonMode = (ref, theme = getIonTheme(ref)) => {
67
+ var _a;
68
+ if ((ref === null || ref === void 0 ? void 0 : ref.mode) && isModeValidForTheme(ref === null || ref === void 0 ? void 0 : ref.mode, theme)) {
69
+ /**
70
+ * If the reference already has a mode configuration,
71
+ * use it instead of performing a look-up.
72
+ */
73
+ return ref.mode;
74
+ }
75
+ else {
76
+ const el = getElement(ref);
77
+ const mode = ((_a = el.closest('[mode]')) === null || _a === void 0 ? void 0 : _a.getAttribute('mode')) || defaultMode;
78
+ if (isModeValidForTheme(mode, theme)) {
79
+ /**
80
+ * The mode configuration is supported for the configured theme.
81
+ */
82
+ return mode;
83
+ }
84
+ else {
85
+ printInvalidModeWarning(mode, theme, ref);
86
+ }
87
+ }
88
+ return getDefaultModeForTheme(theme);
89
+ };
90
+ /**
91
+ * Returns the theme value of the element reference or the closest
92
+ * parent with a valid theme.
93
+ *
94
+ * @param ref The element reference to look up the theme for.
95
+ * @returns The theme value for the element reference, defaults to
96
+ * the default theme if it cannot be determined.
97
+ */
98
+ export const getIonTheme = (ref) => {
99
+ var _a, _b;
100
+ const theme = ref && getMode(ref);
101
+ if (theme) {
102
+ return theme;
103
+ }
104
+ /**
105
+ * If the theme cannot be detected, then fallback to using
106
+ * the `mode` attribute to determine the style sheets to use.
107
+ */
108
+ const el = getElement(ref);
109
+ const mode = (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : (_b = el.closest('[mode]')) === null || _b === void 0 ? void 0 : _b.getAttribute('mode');
110
+ if (mode) {
111
+ return getDefaultThemeForMode(mode);
112
+ }
113
+ /**
114
+ * If a mode is not detected, then fallback to using the
115
+ * default theme.
116
+ */
117
+ return defaultTheme;
11
118
  };
12
119
  export const initialize = (userConfig = {}) => {
13
120
  if (typeof window === 'undefined') {
@@ -36,33 +143,74 @@ export const initialize = (userConfig = {}) => {
36
143
  }
37
144
  // Setup platforms
38
145
  setupPlatforms(win);
39
- // first see if the mode was set as an attribute on <html>
40
- // which could have been set by the user, or by pre-rendering
41
- // otherwise get the mode via config settings, and fallback to md
42
146
  Ionic.config = config;
147
+ /**
148
+ * Check if the mode was set as an attribute on <html>
149
+ * which could have been set by the user, or by pre-rendering
150
+ * otherwise get the mode via config settings, and fallback to md.
151
+ */
43
152
  Ionic.mode = defaultMode = config.get('mode', doc.documentElement.getAttribute('mode') || (isPlatform(win, 'ios') ? 'ios' : 'md'));
153
+ /**
154
+ * Check if the theme was set as an attribute on <html>
155
+ * which could have been set by the user, or by pre-rendering
156
+ * otherwise get the theme via config settings, and fallback to md.
157
+ */
158
+ Ionic.theme = defaultTheme = config.get('theme', doc.documentElement.getAttribute('theme') || getDefaultThemeForMode(defaultMode));
159
+ if (!isModeValidForTheme(defaultMode, defaultTheme)) {
160
+ printInvalidModeWarning(defaultMode, defaultTheme, configObj);
161
+ defaultMode = getDefaultModeForTheme(defaultTheme);
162
+ }
44
163
  config.set('mode', defaultMode);
45
164
  doc.documentElement.setAttribute('mode', defaultMode);
46
165
  doc.documentElement.classList.add(defaultMode);
166
+ config.set('theme', defaultTheme);
167
+ doc.documentElement.setAttribute('theme', defaultTheme);
168
+ doc.documentElement.classList.add(defaultTheme);
47
169
  if (config.getBoolean('_testing')) {
48
170
  config.set('animated', false);
49
171
  }
50
- const isIonicElement = (elm) => { var _a; return (_a = elm.tagName) === null || _a === void 0 ? void 0 : _a.startsWith('ION-'); };
51
- const isAllowedIonicModeValue = (elmMode) => ['ios', 'md'].includes(elmMode);
52
172
  setMode((elm) => {
173
+ /**
174
+ * Iterate over all the element nodes, to both validate and
175
+ * set the "mode" that is used for determining the styles to
176
+ * apply to the element.
177
+ *
178
+ * setMode refers to Stencil's internal metadata for "mode",
179
+ * which is used to set the correct styleUrl for the component.
180
+ *
181
+ * If the "theme" attribute or property is set, then use it
182
+ * to determine the style sheets to use.
183
+ *
184
+ * If the "mode" attribute or property is set, then use it
185
+ * to determine the style sheets to use. This is fallback
186
+ * behavior for applications that are not setting the "theme".
187
+ */
53
188
  while (elm) {
54
- const elmMode = elm.mode || elm.getAttribute('mode');
189
+ const theme = elm.getAttribute('theme');
190
+ if (theme) {
191
+ if (isThemeSupported(theme)) {
192
+ return theme;
193
+ }
194
+ else if (isIonicElement(elm)) {
195
+ printIonWarning(`Invalid theme: "${theme}". Supported themes include: "ios" or "md".`);
196
+ }
197
+ }
198
+ /**
199
+ * If a theme is not detected, then fallback to using the
200
+ * `mode` attribute to determine the style sheets to use.
201
+ */
202
+ const elmMode = elm.getAttribute('mode');
55
203
  if (elmMode) {
56
- if (isAllowedIonicModeValue(elmMode)) {
204
+ if (isModeSupported(elmMode)) {
57
205
  return elmMode;
58
206
  }
59
207
  else if (isIonicElement(elm)) {
60
- console.warn('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
208
+ printIonWarning(`Invalid mode: "${elmMode}". Ionic modes can be only "ios" or "md"`);
61
209
  }
62
210
  }
63
211
  elm = elm.parentElement;
64
212
  }
65
- return defaultMode;
213
+ return defaultTheme;
66
214
  });
67
215
  };
68
216
  export default initialize;
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const getMode = jest.fn();
5
+ const getElement = jest.fn();
6
+ jest.mock('@stencil/core', () => {
7
+ const original = jest.requireActual('@stencil/core');
8
+ return Object.assign(Object.assign({}, original), { getMode,
9
+ getElement });
10
+ });
11
+ /**
12
+ * The implementation needs to be mocked before the implementation is imported.
13
+ */
14
+ // eslint-disable-next-line import/first
15
+ import { getIonTheme, isModeValidForTheme, getIonMode } from "../ionic-global";
16
+ describe('Ionic Global', () => {
17
+ describe('isModeValidForTheme', () => {
18
+ it('should return true for md mode with md theme', () => {
19
+ expect(isModeValidForTheme('md', 'md')).toBe(true);
20
+ });
21
+ it('should return true for md mode with ionic theme', () => {
22
+ expect(isModeValidForTheme('md', 'ionic')).toBe(true);
23
+ });
24
+ it('should return true for ios mode with ios theme', () => {
25
+ expect(isModeValidForTheme('ios', 'ios')).toBe(true);
26
+ });
27
+ it('should return true for ios mode with ionic theme', () => {
28
+ expect(isModeValidForTheme('ios', 'ionic')).toBe(true);
29
+ });
30
+ it('should return false for md mode with ios theme', () => {
31
+ expect(isModeValidForTheme('md', 'ios')).toBe(false);
32
+ });
33
+ it('should return false for ios mode with md theme', () => {
34
+ expect(isModeValidForTheme('ios', 'md')).toBe(false);
35
+ });
36
+ });
37
+ describe('getIonMode', () => {
38
+ const parentRef = { mode: 'md' };
39
+ const ref = { parentElement: parentRef };
40
+ beforeEach(() => {
41
+ getMode.mockImplementation((ref) => { var _a; return (_a = ref.mode) !== null && _a !== void 0 ? _a : parentRef.mode; });
42
+ getElement.mockImplementation(() => ({
43
+ closest: () => ({
44
+ getAttribute: () => parentRef.mode,
45
+ }),
46
+ }));
47
+ });
48
+ afterEach(() => {
49
+ getMode.mockReset();
50
+ getElement.mockReset();
51
+ });
52
+ it('should return the mode value of the element reference', () => {
53
+ const ref = { mode: 'ios' };
54
+ getMode.mockImplementation((ref) => ref.mode);
55
+ getElement.mockImplementation(() => ({
56
+ closest: () => ({
57
+ getAttribute: () => ref.mode,
58
+ }),
59
+ }));
60
+ expect(getIonMode(ref, 'ios')).toBe('ios');
61
+ });
62
+ it('should return the mode value of the closest parent with a valid mode', () => {
63
+ expect(getIonMode(ref)).toBe('md');
64
+ });
65
+ it('should return the default mode if the mode cannot be determined', () => {
66
+ expect(getIonMode()).toBe('md');
67
+ });
68
+ it('should return the theme value if provided and no mode is found', () => {
69
+ const ref = { mode: undefined };
70
+ const theme = 'ios';
71
+ expect(getIonMode(ref, theme)).toBe('ios');
72
+ });
73
+ });
74
+ describe('getIonTheme', () => {
75
+ const parentRef = { mode: 'md' };
76
+ beforeEach(() => {
77
+ getMode.mockImplementation((ref) => { var _a; return (_a = ref === null || ref === void 0 ? void 0 : ref.mode) !== null && _a !== void 0 ? _a : parentRef.mode; });
78
+ getElement.mockImplementation(() => ({
79
+ closest: () => ({
80
+ getAttribute: () => parentRef.mode,
81
+ }),
82
+ }));
83
+ });
84
+ afterEach(() => {
85
+ getMode.mockReset();
86
+ getElement.mockReset();
87
+ });
88
+ it('should return the theme value of the element reference', () => {
89
+ const ref = { mode: 'ios' };
90
+ expect(getIonTheme(ref)).toBe('ios');
91
+ });
92
+ it('should return the theme value of the closest parent with a valid theme', () => {
93
+ getElement.mockImplementation(() => ({
94
+ closest: () => ({
95
+ getAttribute: () => 'ios',
96
+ }),
97
+ }));
98
+ expect(getIonTheme()).toBe('ios');
99
+ });
100
+ it('should return the default theme if it cannot be determined', () => {
101
+ getElement.mockImplementation(() => ({
102
+ closest: () => ({
103
+ getAttribute: () => null,
104
+ }),
105
+ }));
106
+ expect(getIonTheme()).toBe('md');
107
+ });
108
+ });
109
+ });
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import AxeBuilder from "@axe-core/playwright";
5
5
  import { expect } from "@playwright/test";
6
- import { configs, test } from "../../../utils/test/playwright/index";
6
+ import { configs, test } from "../../../../utils/test/playwright/index";
7
7
  /**
8
8
  * Small text is defined as 14pt (~18.5px)
9
9
  * when computing color contrast: https://www.w3.org/WAI/WCAG21/Understanding/contrast-minimum.html
@@ -27,8 +27,8 @@ export const menuOverlayAnimation = (menu) => {
27
27
  }
28
28
  menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
29
29
  const mode = getIonMode(menu);
30
- const isIos = mode === 'ios';
31
- const opacity = isIos ? 0.2 : 0.25;
30
+ const isIOS = mode === 'ios';
31
+ const opacity = isIOS ? 0.2 : 0.25;
32
32
  backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
33
- return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, backdropAnimation]);
34
34
  };
@@ -14,6 +14,7 @@ export const menuPushAnimation = (menu) => {
14
14
  let menuClosedX;
15
15
  const mode = getIonMode(menu);
16
16
  const width = menu.width;
17
+ const isIOS = mode === 'ios';
17
18
  if (menu.isEndSide) {
18
19
  contentOpenedX = -width + 'px';
19
20
  menuClosedX = width + 'px';
@@ -29,5 +30,5 @@ export const menuPushAnimation = (menu) => {
29
30
  .addElement(menu.contentEl)
30
31
  .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
31
32
  const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
32
- return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
+ return baseAnimation(isIOS).addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
33
34
  };
@@ -11,9 +11,10 @@ import { baseAnimation } from "./base";
11
11
  */
12
12
  export const menuRevealAnimation = (menu) => {
13
13
  const mode = getIonMode(menu);
14
+ const isIOS = mode === 'ios';
14
15
  const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
15
16
  const contentOpen = createAnimation()
16
17
  .addElement(menu.contentEl) // REVIEW
17
18
  .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
18
- return baseAnimation(mode === 'ios').addAnimation(contentOpen);
19
+ return baseAnimation(isIOS).addAnimation(contentOpen);
19
20
  };