@ionic/core 8.2.1 → 8.2.2-dev.11717796763.1aa87d5c

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 (995) 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/ghost-duotone.js +6 -0
  9. package/components/index2.js +1 -2
  10. package/components/index4.js +8 -7
  11. package/components/index6.js +27 -30
  12. package/components/index7.js +124 -27
  13. package/components/index8.js +150 -111
  14. package/components/input-shims.js +1 -1
  15. package/components/input.utils.js +1 -1
  16. package/components/ion-accordion-group.js +9 -6
  17. package/components/ion-accordion.js +15 -9
  18. package/components/ion-app.js +5 -6
  19. package/components/ion-avatar.js +52 -3
  20. package/components/ion-back-button.js +28 -19
  21. package/components/ion-badge.js +42 -6
  22. package/components/ion-breadcrumb.js +16 -10
  23. package/components/ion-breadcrumbs.js +9 -5
  24. package/components/ion-card-content.js +9 -5
  25. package/components/ion-card-header.js +9 -5
  26. package/components/ion-card-subtitle.js +9 -5
  27. package/components/ion-card-title.js +9 -5
  28. package/components/ion-card.js +17 -9
  29. package/components/ion-chip.js +45 -8
  30. package/components/ion-col.js +5 -5
  31. package/components/ion-content.js +11 -11
  32. package/components/ion-datetime-button.js +9 -6
  33. package/components/ion-datetime.js +47 -20
  34. package/components/ion-fab-button.js +15 -9
  35. package/components/ion-fab-list.js +5 -5
  36. package/components/ion-fab.js +6 -6
  37. package/components/ion-footer.js +15 -11
  38. package/components/ion-grid.js +5 -5
  39. package/components/ion-header.js +15 -11
  40. package/components/ion-img.js +5 -2
  41. package/components/ion-infinite-scroll-content.js +12 -8
  42. package/components/ion-infinite-scroll.js +5 -5
  43. package/components/ion-input-password-toggle.js +7 -8
  44. package/components/ion-input.js +101 -20
  45. package/components/ion-item-divider.js +9 -5
  46. package/components/ion-item-group.js +9 -5
  47. package/components/ion-item-option.js +11 -7
  48. package/components/ion-item-options.js +9 -5
  49. package/components/ion-item-sliding.js +5 -5
  50. package/components/ion-loading.js +12 -8
  51. package/components/ion-menu-button.js +13 -9
  52. package/components/ion-menu-toggle.js +5 -5
  53. package/components/ion-menu.js +11 -7
  54. package/components/ion-modal.js +14 -11
  55. package/components/ion-nav-link.js +1 -1
  56. package/components/ion-nav.js +7 -6
  57. package/components/ion-note.js +9 -5
  58. package/components/ion-picker-legacy.js +7 -8
  59. package/components/ion-progress-bar.js +10 -6
  60. package/components/ion-range.js +11 -8
  61. package/components/ion-refresher-content.js +9 -8
  62. package/components/ion-refresher.js +11 -7
  63. package/components/ion-reorder-group.js +5 -5
  64. package/components/ion-reorder.js +23 -5
  65. package/components/ion-router-link.js +6 -6
  66. package/components/ion-router-outlet.js +2 -2
  67. package/components/ion-row.js +5 -2
  68. package/components/ion-searchbar.js +79 -16
  69. package/components/ion-segment-button.js +12 -8
  70. package/components/ion-segment.js +9 -5
  71. package/components/ion-select-option.js +5 -2
  72. package/components/ion-select.js +67 -28
  73. package/components/ion-skeleton-text.js +5 -5
  74. package/components/ion-split-pane.js +12 -8
  75. package/components/ion-tab-bar.js +9 -5
  76. package/components/ion-tab-button.js +11 -7
  77. package/components/ion-tab.js +2 -2
  78. package/components/ion-tabs.js +2 -2
  79. package/components/ion-text.js +5 -5
  80. package/components/ion-textarea.js +13 -9
  81. package/components/ion-thumbnail.js +5 -2
  82. package/components/ion-title.js +9 -5
  83. package/components/ion-toast.js +13 -9
  84. package/components/ion-toggle.js +56 -18
  85. package/components/ion-toolbar.js +11 -7
  86. package/components/ionic-global.js +191 -14
  87. package/components/ios.transition.js +1 -0
  88. package/components/item.js +17 -11
  89. package/components/label.js +9 -5
  90. package/components/list-header.js +9 -5
  91. package/components/list.js +10 -6
  92. package/components/overlays.js +1 -2
  93. package/components/picker-column-option.js +9 -5
  94. package/components/picker-column.js +7 -7
  95. package/components/picker-column2.js +4 -4
  96. package/components/picker.js +8 -4
  97. package/components/popover.js +11 -8
  98. package/components/radio-group.js +5 -3
  99. package/components/radio.js +12 -8
  100. package/components/ripple-effect.js +5 -5
  101. package/components/select-popover.js +9 -2
  102. package/components/spinner.js +6 -6
  103. package/components/status-tap.js +1 -1
  104. package/css/core.css +1 -1
  105. package/css/core.css.map +1 -1
  106. package/css/display.css.map +1 -1
  107. package/css/flex-utils.css.map +1 -1
  108. package/css/float-elements.css.map +1 -1
  109. package/css/global.bundle.css.map +1 -1
  110. package/css/ionic/bundle.ionic.css +1 -0
  111. package/css/ionic/bundle.ionic.css.map +1 -0
  112. package/css/ionic/core.ionic.css +1 -0
  113. package/css/ionic/core.ionic.css.map +1 -0
  114. package/css/ionic/global.bundle.ionic.css +1 -0
  115. package/css/ionic/global.bundle.ionic.css.map +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css +1 -0
  117. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  118. package/css/ionic/link.ionic.css +1 -0
  119. package/css/ionic/link.ionic.css.map +1 -0
  120. package/css/ionic/structure.ionic.css +1 -0
  121. package/css/ionic/structure.ionic.css.map +1 -0
  122. package/css/ionic/typography.ionic.css +1 -0
  123. package/css/ionic/typography.ionic.css.map +1 -0
  124. package/css/ionic/utils.bundle.ionic.css +1 -0
  125. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  126. package/css/ionic-swiper.css +1 -1
  127. package/css/ionic-swiper.css.map +1 -1
  128. package/css/ionic.bundle.css +1 -1
  129. package/css/ionic.bundle.css.map +1 -1
  130. package/css/normalize.css.map +1 -1
  131. package/css/padding.css.map +1 -1
  132. package/css/palettes/dark.always.css.map +1 -1
  133. package/css/palettes/dark.class.css.map +1 -1
  134. package/css/palettes/dark.system.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  137. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  138. package/css/palettes/high-contrast.always.css.map +1 -1
  139. package/css/palettes/high-contrast.class.css.map +1 -1
  140. package/css/palettes/high-contrast.system.css.map +1 -1
  141. package/css/structure.css.map +1 -1
  142. package/css/text-alignment.css.map +1 -1
  143. package/css/text-transformation.css.map +1 -1
  144. package/css/typography.css.map +1 -1
  145. package/css/utils.bundle.css.map +1 -1
  146. package/dist/cjs/{app-globals-64aa7919.js → app-globals-5b0a3f95.js} +1 -1
  147. package/dist/cjs/{data-21dc0f81.js → data-7d67d1e3.js} +6 -6
  148. package/dist/cjs/ghost-duotone-cd930d5c.js +8 -0
  149. package/dist/cjs/{hardware-back-button-9931602c.js → hardware-back-button-a90bf4cd.js} +1 -1
  150. package/dist/cjs/{index-63e64bb7.js → index-59095e03.js} +13 -12
  151. package/dist/cjs/{index-8a653282.js → index-71f7488c.js} +7 -8
  152. package/dist/cjs/{index-5b6a7459.js → index-ca6de37f.js} +2 -2
  153. package/dist/cjs/index.cjs.js +7 -8
  154. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-58aadbb2.js} +3 -2
  155. package/dist/cjs/{input.utils-611cde0b.js → input.utils-d9907cfc.js} +2 -2
  156. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -14
  157. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  158. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  159. package/dist/cjs/ion-app_8.cjs.entry.js +86 -67
  160. package/dist/cjs/ion-avatar_3.cjs.entry.js +90 -7
  161. package/dist/cjs/ion-back-button.cjs.entry.js +27 -18
  162. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  163. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +23 -13
  164. package/dist/cjs/ion-button_2.cjs.entry.js +44 -15
  165. package/dist/cjs/ion-card_5.cjs.entry.js +48 -25
  166. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  167. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  168. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  169. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  170. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  171. package/dist/cjs/ion-fab_3.cjs.entry.js +23 -17
  172. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  173. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  174. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  175. package/dist/cjs/ion-input.cjs.entry.js +99 -20
  176. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  177. package/dist/cjs/ion-item_8.cjs.entry.js +69 -39
  178. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  179. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  180. package/dist/cjs/ion-modal.cjs.entry.js +22 -19
  181. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  182. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  183. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  184. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  185. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  186. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  187. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  188. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  189. package/dist/cjs/ion-refresher_2.cjs.entry.js +18 -14
  190. package/dist/cjs/ion-reorder_2.cjs.entry.js +26 -9
  191. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  192. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  193. package/dist/cjs/ion-searchbar.cjs.entry.js +78 -15
  194. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  195. package/dist/cjs/ion-select_3.cjs.entry.js +80 -32
  196. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  197. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  198. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  199. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  200. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  201. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  202. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  203. package/dist/cjs/ion-toggle.cjs.entry.js +55 -17
  204. package/dist/cjs/ionic-global-2bd379ad.js +418 -0
  205. package/dist/cjs/ionic.cjs.js +3 -3
  206. package/dist/cjs/{ios.transition-d94b6863.js → ios.transition-4a91b726.js} +3 -3
  207. package/dist/cjs/loader.cjs.js +3 -3
  208. package/dist/cjs/{md.transition-297be114.js → md.transition-1d783fa9.js} +2 -3
  209. package/dist/cjs/{overlays-569f7878.js → overlays-0c0d0193.js} +3 -4
  210. package/dist/cjs/{status-tap-607c6244.js → status-tap-87959a2f.js} +2 -2
  211. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  212. package/dist/collection/components/accordion/accordion.js +19 -15
  213. package/dist/collection/components/accordion/accordion.md.css +6 -0
  214. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  215. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  216. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  217. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  218. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  219. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  220. package/dist/collection/components/alert/alert.ios.css +19 -1
  221. package/dist/collection/components/alert/alert.js +15 -12
  222. package/dist/collection/components/alert/alert.md.css +19 -1
  223. package/dist/collection/components/app/app.js +8 -4
  224. package/dist/collection/components/avatar/avatar.ionic.css +255 -0
  225. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  226. package/dist/collection/components/avatar/avatar.js +92 -4
  227. package/dist/collection/components/avatar/avatar.md.css +12 -0
  228. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  229. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  230. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  231. package/dist/collection/components/back-button/back-button.js +27 -19
  232. package/dist/collection/components/back-button/back-button.md.css +60 -48
  233. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  234. package/dist/collection/components/backdrop/backdrop.js +12 -6
  235. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  236. package/dist/collection/components/badge/badge.ionic.css +256 -0
  237. package/dist/collection/components/badge/badge.ios.css +12 -0
  238. package/dist/collection/components/badge/badge.js +75 -8
  239. package/dist/collection/components/badge/badge.md.css +12 -0
  240. package/dist/collection/components/badge/test/shape/badge.e2e.js +84 -0
  241. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  242. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  243. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  244. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  245. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  246. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  247. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  248. package/dist/collection/components/button/button.ionic.css +417 -0
  249. package/dist/collection/components/button/button.ios.css +42 -16
  250. package/dist/collection/components/button/button.js +46 -17
  251. package/dist/collection/components/button/button.md.css +33 -20
  252. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  253. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  254. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  255. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  256. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  257. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  258. package/dist/collection/components/buttons/buttons.js +14 -8
  259. package/dist/collection/components/buttons/buttons.md.css +18 -0
  260. package/dist/collection/components/card/card.ionic.css +88 -0
  261. package/dist/collection/components/card/card.ios.css +30 -4
  262. package/dist/collection/components/card/card.js +34 -10
  263. package/dist/collection/components/card/card.md.css +30 -4
  264. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  265. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  266. package/dist/collection/components/card-content/card-content.js +11 -8
  267. package/dist/collection/components/card-content/card-content.md.css +12 -0
  268. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  269. package/dist/collection/components/card-header/card-header.js +12 -9
  270. package/dist/collection/components/card-header/card-header.md.css +12 -0
  271. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  272. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  273. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  274. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  275. package/dist/collection/components/card-title/card-title.js +11 -8
  276. package/dist/collection/components/card-title/card-title.md.css +12 -0
  277. package/dist/collection/components/checkbox/checkbox.ionic.css +498 -0
  278. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  279. package/dist/collection/components/checkbox/checkbox.js +59 -14
  280. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  281. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  282. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  283. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  284. package/dist/collection/components/chip/chip.ionic.css +141 -0
  285. package/dist/collection/components/chip/chip.ios.css +20 -1
  286. package/dist/collection/components/chip/chip.js +77 -8
  287. package/dist/collection/components/chip/chip.md.css +20 -1
  288. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  289. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  290. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  291. package/dist/collection/components/col/col.css +12 -0
  292. package/dist/collection/components/col/col.js +9 -5
  293. package/dist/collection/components/content/content.css +8 -2
  294. package/dist/collection/components/content/content.js +13 -10
  295. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  296. package/dist/collection/components/datetime/datetime.js +47 -19
  297. package/dist/collection/components/datetime/datetime.md.css +15 -3
  298. package/dist/collection/components/datetime/utils/data.js +3 -3
  299. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  300. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  301. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  302. package/dist/collection/components/fab/fab.css +25 -1
  303. package/dist/collection/components/fab/fab.js +9 -5
  304. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  305. package/dist/collection/components/fab-button/fab-button.js +19 -14
  306. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  307. package/dist/collection/components/fab-list/fab-list.css +12 -0
  308. package/dist/collection/components/fab-list/fab-list.js +9 -5
  309. package/dist/collection/components/footer/footer.ios.css +14 -2
  310. package/dist/collection/components/footer/footer.js +17 -14
  311. package/dist/collection/components/footer/footer.md.css +12 -0
  312. package/dist/collection/components/grid/grid.css +12 -0
  313. package/dist/collection/components/grid/grid.js +9 -5
  314. package/dist/collection/components/header/header.ios.css +14 -2
  315. package/dist/collection/components/header/header.js +17 -14
  316. package/dist/collection/components/header/header.md.css +12 -0
  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 +128 -30
  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 +137 -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-divider/item-divider.ios.css +18 -0
  340. package/dist/collection/components/item-divider/item-divider.js +11 -8
  341. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  342. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  343. package/dist/collection/components/item-group/item-group.js +13 -7
  344. package/dist/collection/components/item-group/item-group.md.css +12 -0
  345. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  346. package/dist/collection/components/item-option/item-option.js +11 -8
  347. package/dist/collection/components/item-option/item-option.md.css +14 -2
  348. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  349. package/dist/collection/components/item-options/item-options.js +13 -7
  350. package/dist/collection/components/item-options/item-options.md.css +18 -0
  351. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  352. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  353. package/dist/collection/components/label/label.ios.css +18 -0
  354. package/dist/collection/components/label/label.js +11 -8
  355. package/dist/collection/components/label/label.md.css +18 -0
  356. package/dist/collection/components/list/list.ios.css +18 -0
  357. package/dist/collection/components/list/list.js +12 -9
  358. package/dist/collection/components/list/list.md.css +18 -0
  359. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  360. package/dist/collection/components/list-header/list-header.js +11 -8
  361. package/dist/collection/components/list-header/list-header.md.css +18 -0
  362. package/dist/collection/components/loading/loading.ios.css +13 -1
  363. package/dist/collection/components/loading/loading.js +13 -10
  364. package/dist/collection/components/loading/loading.md.css +13 -1
  365. package/dist/collection/components/menu/menu.ios.css +15 -3
  366. package/dist/collection/components/menu/menu.js +12 -7
  367. package/dist/collection/components/menu/menu.md.css +15 -3
  368. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  369. package/dist/collection/components/menu-button/menu-button.js +12 -9
  370. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  371. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  372. package/dist/collection/components/modal/modal.ios.css +14 -2
  373. package/dist/collection/components/modal/modal.js +13 -10
  374. package/dist/collection/components/modal/modal.md.css +14 -2
  375. package/dist/collection/components/nav/nav.css +7 -1
  376. package/dist/collection/components/nav/nav.js +12 -6
  377. package/dist/collection/components/nav-link/nav-link.js +5 -1
  378. package/dist/collection/components/note/note.ios.css +12 -0
  379. package/dist/collection/components/note/note.js +11 -8
  380. package/dist/collection/components/note/note.md.css +12 -0
  381. package/dist/collection/components/picker/picker.ios.css +15 -3
  382. package/dist/collection/components/picker/picker.js +8 -5
  383. package/dist/collection/components/picker/picker.md.css +15 -3
  384. package/dist/collection/components/picker-column/picker-column.css +9 -2
  385. package/dist/collection/components/picker-column/picker-column.js +8 -7
  386. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  387. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  388. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  389. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  390. package/dist/collection/components/picker-legacy/picker.js +7 -6
  391. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  392. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  393. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  394. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  395. package/dist/collection/components/popover/popover.ios.css +13 -1
  396. package/dist/collection/components/popover/popover.js +15 -12
  397. package/dist/collection/components/popover/popover.md.css +13 -1
  398. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  399. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  400. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  401. package/dist/collection/components/radio/radio.ios.css +20 -2
  402. package/dist/collection/components/radio/radio.js +12 -9
  403. package/dist/collection/components/radio/radio.md.css +20 -2
  404. package/dist/collection/components/radio-group/radio-group.js +9 -3
  405. package/dist/collection/components/range/range.ios.css +12 -0
  406. package/dist/collection/components/range/range.js +12 -9
  407. package/dist/collection/components/range/range.md.css +12 -0
  408. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  409. package/dist/collection/components/refresher/refresher.js +11 -8
  410. package/dist/collection/components/refresher/refresher.md.css +15 -2
  411. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  412. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  413. package/dist/collection/components/reorder/reorder.js +26 -6
  414. package/dist/collection/components/reorder/reorder.md.css +6 -0
  415. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  416. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  417. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  418. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  419. package/dist/collection/components/route/route.js +4 -0
  420. package/dist/collection/components/router/router.js +6 -2
  421. package/dist/collection/components/router-link/router-link.css +8 -2
  422. package/dist/collection/components/router-link/router-link.js +9 -5
  423. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  424. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  425. package/dist/collection/components/row/row.css +12 -0
  426. package/dist/collection/components/row/row.js +9 -2
  427. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  428. package/dist/collection/components/searchbar/searchbar.js +85 -25
  429. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  430. package/dist/collection/components/segment/segment.ios.css +18 -0
  431. package/dist/collection/components/segment/segment.js +11 -8
  432. package/dist/collection/components/segment/segment.md.css +18 -0
  433. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  434. package/dist/collection/components/segment-button/segment-button.js +12 -9
  435. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  436. package/dist/collection/components/select/select.ios.css +22 -3
  437. package/dist/collection/components/select/select.js +70 -31
  438. package/dist/collection/components/select/select.md.css +38 -5
  439. package/dist/collection/components/select-option/select-option.js +9 -2
  440. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  441. package/dist/collection/components/select-popover/select-popover.js +12 -4
  442. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  443. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  444. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  445. package/dist/collection/components/spinner/spinner.css +6 -0
  446. package/dist/collection/components/spinner/spinner.js +10 -6
  447. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  448. package/dist/collection/components/split-pane/split-pane.js +14 -8
  449. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  450. package/dist/collection/components/tab/tab.js +6 -2
  451. package/dist/collection/components/tab-bar/tab-bar.ionic.css +163 -0
  452. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  453. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  454. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  455. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  456. package/dist/collection/components/tab-button/tab-button.ionic.css +264 -0
  457. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  458. package/dist/collection/components/tab-button/tab-button.js +11 -8
  459. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  460. package/dist/collection/components/tabs/tabs.css +7 -1
  461. package/dist/collection/components/tabs/tabs.js +4 -1
  462. package/dist/collection/components/text/text.css +6 -0
  463. package/dist/collection/components/text/text.js +7 -6
  464. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  465. package/dist/collection/components/textarea/textarea.js +15 -12
  466. package/dist/collection/components/textarea/textarea.md.css +39 -2
  467. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  468. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  469. package/dist/collection/components/title/title.ios.css +6 -0
  470. package/dist/collection/components/title/title.js +13 -7
  471. package/dist/collection/components/title/title.md.css +6 -0
  472. package/dist/collection/components/toast/animations/utils.js +1 -1
  473. package/dist/collection/components/toast/toast.ios.css +12 -0
  474. package/dist/collection/components/toast/toast.js +15 -11
  475. package/dist/collection/components/toast/toast.md.css +12 -0
  476. package/dist/collection/components/toggle/toggle.ios.css +23 -2
  477. package/dist/collection/components/toggle/toggle.js +55 -18
  478. package/dist/collection/components/toggle/toggle.md.css +20 -2
  479. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  480. package/dist/collection/components/toolbar/toolbar.js +13 -10
  481. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  482. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  483. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  484. package/dist/collection/css/test/typography/basic/typography.e2e.js +90 -0
  485. package/dist/collection/global/ionic-global.js +161 -13
  486. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  487. package/dist/collection/index.js +1 -0
  488. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  489. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  490. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  491. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  492. package/dist/collection/utils/test/playwright/generator.js +48 -23
  493. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  494. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  495. package/dist/collection/utils/transition/ios.transition.js +1 -0
  496. package/dist/docs.json +6522 -348
  497. package/dist/esm/{app-globals-232dc3ed.js → app-globals-1fabe499.js} +1 -1
  498. package/dist/esm/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  499. package/dist/esm/{data-ae11fd43.js → data-63b889c5.js} +4 -4
  500. package/dist/esm/ghost-duotone-157f18b8.js +6 -0
  501. package/dist/esm/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +2 -2
  502. package/dist/esm/{index-5cc724f3.js → index-00b4cca5.js} +1 -1
  503. package/dist/esm/{index-c71c5417.js → index-3321c202.js} +1 -1
  504. package/dist/esm/{index-92f14156.js → index-33a3d901.js} +4 -5
  505. package/dist/esm/{index-c8c3afda.js → index-44013081.js} +9 -8
  506. package/dist/esm/index.js +8 -9
  507. package/dist/esm/{input-shims-0314bbe5.js → input-shims-c142630d.js} +3 -2
  508. package/dist/esm/{input.utils-09c71bc7.js → input.utils-68c66dbc.js} +1 -1
  509. package/dist/esm/ion-accordion_2.entry.js +23 -14
  510. package/dist/esm/ion-action-sheet.entry.js +17 -13
  511. package/dist/esm/ion-alert.entry.js +18 -15
  512. package/dist/esm/ion-app_8.entry.js +76 -57
  513. package/dist/esm/ion-avatar_3.entry.js +91 -8
  514. package/dist/esm/ion-back-button.entry.js +28 -19
  515. package/dist/esm/ion-backdrop.entry.js +11 -7
  516. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  517. package/dist/esm/ion-button_2.entry.js +42 -13
  518. package/dist/esm/ion-card_5.entry.js +49 -26
  519. package/dist/esm/ion-checkbox.entry.js +24 -13
  520. package/dist/esm/ion-chip.entry.js +43 -8
  521. package/dist/esm/ion-col_3.entry.js +14 -11
  522. package/dist/esm/ion-datetime-button.entry.js +11 -8
  523. package/dist/esm/ion-datetime_3.entry.js +60 -33
  524. package/dist/esm/ion-fab_3.entry.js +24 -18
  525. package/dist/esm/ion-img.entry.js +6 -3
  526. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  527. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  528. package/dist/esm/ion-input.entry.js +100 -21
  529. package/dist/esm/ion-item-option_3.entry.js +24 -17
  530. package/dist/esm/ion-item_8.entry.js +70 -40
  531. package/dist/esm/ion-loading.entry.js +15 -12
  532. package/dist/esm/ion-menu_3.entry.js +30 -23
  533. package/dist/esm/ion-modal.entry.js +18 -15
  534. package/dist/esm/ion-nav_2.entry.js +10 -9
  535. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  536. package/dist/esm/ion-picker-column.entry.js +8 -8
  537. package/dist/esm/ion-picker.entry.js +9 -5
  538. package/dist/esm/ion-popover.entry.js +15 -12
  539. package/dist/esm/ion-progress-bar.entry.js +11 -7
  540. package/dist/esm/ion-radio_2.entry.js +17 -11
  541. package/dist/esm/ion-range.entry.js +12 -9
  542. package/dist/esm/ion-refresher_2.entry.js +19 -15
  543. package/dist/esm/ion-reorder_2.entry.js +27 -10
  544. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  545. package/dist/esm/ion-route_4.entry.js +7 -7
  546. package/dist/esm/ion-searchbar.entry.js +79 -16
  547. package/dist/esm/ion-segment_2.entry.js +21 -13
  548. package/dist/esm/ion-select_3.entry.js +81 -33
  549. package/dist/esm/ion-spinner.entry.js +7 -7
  550. package/dist/esm/ion-split-pane.entry.js +13 -9
  551. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  552. package/dist/esm/ion-tab_2.entry.js +5 -5
  553. package/dist/esm/ion-text.entry.js +6 -6
  554. package/dist/esm/ion-textarea.entry.js +15 -12
  555. package/dist/esm/ion-toast.entry.js +16 -12
  556. package/dist/esm/ion-toggle.entry.js +56 -18
  557. package/dist/esm/ionic-global-be8fa30a.js +408 -0
  558. package/dist/esm/ionic.js +5 -5
  559. package/dist/esm/{ios.transition-2f45f5c1.js → ios.transition-688eab99.js} +4 -4
  560. package/dist/esm/loader.js +5 -5
  561. package/dist/esm/{md.transition-6fcc955f.js → md.transition-0540d1d2.js} +3 -4
  562. package/dist/esm/{overlays-0d212972.js → overlays-a0e93007.js} +2 -3
  563. package/dist/esm/{status-tap-53150009.js → status-tap-8d02be66.js} +3 -3
  564. package/dist/esm-es5/app-globals-1fabe499.js +4 -0
  565. package/dist/esm-es5/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  566. package/dist/esm-es5/data-63b889c5.js +4 -0
  567. package/dist/esm-es5/ghost-duotone-157f18b8.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 +2077 -123
  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-132e1004.entry.js +4 -0
  643. package/dist/ionic/{p-395a0dd7.js → p-15901e6c.js} +1 -1
  644. package/dist/ionic/p-1a5d178f.entry.js +4 -0
  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-22388c4d.entry.js +4 -0
  650. package/dist/ionic/p-22fef691.js +4 -0
  651. package/dist/ionic/p-24592a4d.system.entry.js +4 -0
  652. package/dist/ionic/p-25732faa.system.entry.js +4 -0
  653. package/dist/ionic/p-27e42c9e.system.js +4 -0
  654. package/dist/ionic/p-28a10445.system.js +4 -0
  655. package/dist/ionic/{p-0c06e09b.system.js → p-2ac68c59.system.js} +1 -1
  656. package/dist/ionic/{p-c350c8f8.system.entry.js → p-2d618ba6.system.entry.js} +1 -1
  657. package/dist/ionic/{p-99a4d7c7.system.js → p-2df16673.system.js} +2 -2
  658. package/dist/ionic/p-2efee8e9.entry.js +4 -0
  659. package/dist/ionic/{p-06e58c4e.js → p-2fa9c16c.js} +1 -1
  660. package/dist/ionic/p-302c9c7a.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-3c93f058.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-3df9b7f5.js +4 -0
  672. package/dist/ionic/p-3e2568b9.system.js +4 -0
  673. package/dist/ionic/p-3e9a1680.js +4 -0
  674. package/dist/ionic/{p-ac34105e.entry.js → p-4058051c.entry.js} +1 -1
  675. package/dist/ionic/{p-266db4b6.entry.js → p-4079d071.entry.js} +1 -1
  676. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  677. package/dist/ionic/{p-f3ff1e58.entry.js → p-41c9fb60.entry.js} +1 -1
  678. package/dist/ionic/p-42452dc9.entry.js +4 -0
  679. package/dist/ionic/p-42816eab.entry.js +4 -0
  680. package/dist/ionic/p-42bb5ed7.system.entry.js +4 -0
  681. package/dist/ionic/p-44314b44.system.entry.js +4 -0
  682. package/dist/ionic/p-479bec54.entry.js +4 -0
  683. package/dist/ionic/{p-e6964b3a.js → p-493a4548.js} +1 -1
  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-5436c152.system.entry.js +4 -0
  688. package/dist/ionic/p-546438d8.js +4 -0
  689. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  690. package/dist/ionic/p-56c72f65.system.entry.js +4 -0
  691. package/dist/ionic/p-59cd0dd7.system.entry.js +4 -0
  692. package/dist/ionic/p-5b5f7a34.entry.js +4 -0
  693. package/dist/ionic/p-61dd8967.system.entry.js +4 -0
  694. package/dist/ionic/p-61ddbdb9.entry.js +4 -0
  695. package/dist/ionic/{p-44c6eb74.js → p-644c505f.js} +1 -1
  696. package/dist/ionic/p-645a7748.entry.js +4 -0
  697. package/dist/ionic/{p-d60342e3.js → p-6649365e.js} +1 -1
  698. package/dist/ionic/p-6746c32a.entry.js +4 -0
  699. package/dist/ionic/{p-eb8098d5.system.entry.js → p-67f85d9a.system.entry.js} +1 -1
  700. package/dist/ionic/p-6c57ed08.js +4 -0
  701. package/dist/ionic/p-6daa3633.entry.js +4 -0
  702. package/dist/ionic/p-72e98815.system.js +4 -0
  703. package/dist/ionic/p-752e285d.entry.js +4 -0
  704. package/dist/ionic/p-79113968.js +4 -0
  705. package/dist/ionic/p-7b590e46.system.js +4 -0
  706. package/dist/ionic/p-7b914bfb.entry.js +4 -0
  707. package/dist/ionic/p-7bf2087e.entry.js +4 -0
  708. package/dist/ionic/p-7dad531c.system.entry.js +4 -0
  709. package/dist/ionic/p-7f5f8a14.entry.js +4 -0
  710. package/dist/ionic/p-82df3737.system.entry.js +4 -0
  711. package/dist/ionic/p-87e823ce.js +4 -0
  712. package/dist/ionic/p-8a04868b.system.entry.js +4 -0
  713. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  714. package/dist/ionic/p-8ed0cef4.system.entry.js +4 -0
  715. package/dist/ionic/p-90027267.system.js +4 -0
  716. package/dist/ionic/p-935801cc.entry.js +4 -0
  717. package/dist/ionic/p-96f109ca.entry.js +4 -0
  718. package/dist/ionic/p-9771abb4.entry.js +4 -0
  719. package/dist/ionic/p-9b925d37.system.entry.js +4 -0
  720. package/dist/ionic/p-9ba25d15.entry.js +4 -0
  721. package/dist/ionic/p-9ead4417.js +4 -0
  722. package/dist/ionic/p-a06d7e6a.system.js +4 -0
  723. package/dist/ionic/{p-5d6e77bd.system.entry.js → p-a2b60239.system.entry.js} +1 -1
  724. package/dist/ionic/p-a3b856e6.system.entry.js +4 -0
  725. package/dist/ionic/{p-00333e13.js → p-a42e4adb.js} +1 -1
  726. package/dist/ionic/p-ada5e8bb.entry.js +4 -0
  727. package/dist/ionic/{p-9286b16d.system.entry.js → p-b5cc6e57.system.entry.js} +2 -2
  728. package/dist/ionic/p-b8ce15f6.system.entry.js +4 -0
  729. package/dist/ionic/p-bab398d1.entry.js +4 -0
  730. package/dist/ionic/p-bb7162de.system.js +4 -0
  731. package/dist/ionic/p-bee73070.entry.js +4 -0
  732. package/dist/ionic/{p-13260c59.entry.js → p-c23822f8.entry.js} +1 -1
  733. package/dist/ionic/p-c24b81cc.entry.js +4 -0
  734. package/dist/ionic/p-c374ab05.system.js +4 -0
  735. package/dist/ionic/{p-1de7f9e4.entry.js → p-c47b75e3.entry.js} +1 -1
  736. package/dist/ionic/p-c79decb5.system.entry.js +4 -0
  737. package/dist/ionic/p-c859a8da.system.js +4 -0
  738. package/dist/ionic/p-ca5aaed3.system.entry.js +4 -0
  739. package/dist/ionic/{p-96cc4814.js → p-cd99310b.js} +1 -1
  740. package/dist/ionic/p-d281c150.system.entry.js +4 -0
  741. package/dist/ionic/p-d2a580db.entry.js +4 -0
  742. package/dist/ionic/p-d4f55a93.entry.js +4 -0
  743. package/dist/ionic/p-d5fc7d63.entry.js +4 -0
  744. package/dist/ionic/{p-f687573e.system.js → p-d98a1d99.system.js} +1 -1
  745. package/dist/ionic/p-db08a2d0.system.entry.js +4 -0
  746. package/dist/ionic/p-db3f14c1.system.entry.js +4 -0
  747. package/dist/ionic/p-db8fac3d.system.entry.js +4 -0
  748. package/dist/ionic/p-dc60009b.system.entry.js +4 -0
  749. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  750. package/dist/ionic/p-e2313846.entry.js +4 -0
  751. package/dist/ionic/{p-e6a47e94.entry.js → p-e59d16bd.entry.js} +1 -1
  752. package/dist/ionic/{p-8d3e57a0.system.entry.js → p-e7e3ba54.system.entry.js} +1 -1
  753. package/dist/ionic/p-e8aa220a.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-f997141e.entry.js +4 -0
  758. package/dist/ionic/{p-6ad705f8.system.js → p-fa019443.system.js} +1 -1
  759. package/dist/ionic/p-fb17d462.entry.js +4 -0
  760. package/dist/ionic/p-fb8ecdb4.system.entry.js +4 -0
  761. package/dist/ionic/p-fc0922fa.system.entry.js +4 -0
  762. package/dist/ionic/{p-7a43878b.system.js → p-fc9f9e4d.system.js} +1 -1
  763. package/dist/ionic/p-fcb1218a.system.entry.js +4 -0
  764. package/dist/ionic/p-ff54800f.system.entry.js +4 -0
  765. package/dist/types/components/accordion/accordion.d.ts +3 -2
  766. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  767. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  768. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  769. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  770. package/dist/types/components/alert/alert.d.ts +3 -2
  771. package/dist/types/components/app/app.d.ts +4 -0
  772. package/dist/types/components/avatar/avatar.d.ts +25 -0
  773. package/dist/types/components/back-button/back-button.d.ts +2 -1
  774. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  775. package/dist/types/components/badge/badge.d.ts +23 -1
  776. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  777. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  778. package/dist/types/components/button/button.d.ts +15 -4
  779. package/dist/types/components/buttons/buttons.d.ts +5 -1
  780. package/dist/types/components/card/card.d.ts +8 -1
  781. package/dist/types/components/card-content/card-content.d.ts +2 -1
  782. package/dist/types/components/card-header/card-header.d.ts +3 -2
  783. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  784. package/dist/types/components/card-title/card-title.d.ts +2 -1
  785. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  786. package/dist/types/components/chip/chip.d.ts +19 -1
  787. package/dist/types/components/col/col.d.ts +4 -0
  788. package/dist/types/components/content/content.d.ts +3 -0
  789. package/dist/types/components/datetime/datetime.d.ts +18 -1
  790. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  791. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  792. package/dist/types/components/fab/fab.d.ts +4 -0
  793. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  794. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  795. package/dist/types/components/footer/footer.d.ts +4 -3
  796. package/dist/types/components/grid/grid.d.ts +4 -0
  797. package/dist/types/components/header/header.d.ts +4 -3
  798. package/dist/types/components/img/img.d.ts +3 -0
  799. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  800. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  801. package/dist/types/components/input/input.d.ts +31 -5
  802. package/dist/types/components/item/item.d.ts +5 -4
  803. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  804. package/dist/types/components/item-group/item-group.d.ts +4 -0
  805. package/dist/types/components/item-option/item-option.d.ts +2 -1
  806. package/dist/types/components/item-options/item-options.d.ts +4 -0
  807. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  808. package/dist/types/components/label/label.d.ts +2 -1
  809. package/dist/types/components/list/list.d.ts +2 -1
  810. package/dist/types/components/list-header/list-header.d.ts +2 -1
  811. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  812. package/dist/types/components/loading/loading.d.ts +3 -2
  813. package/dist/types/components/menu/menu.d.ts +3 -0
  814. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  815. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  816. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  817. package/dist/types/components/modal/modal.d.ts +2 -1
  818. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  819. package/dist/types/components/nav/nav.d.ts +5 -1
  820. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  821. package/dist/types/components/note/note.d.ts +2 -1
  822. package/dist/types/components/picker/picker.d.ts +2 -1
  823. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  824. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  825. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  826. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  827. package/dist/types/components/popover/popover.d.ts +6 -5
  828. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  829. package/dist/types/components/radio/radio.d.ts +2 -1
  830. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  831. package/dist/types/components/range/range.d.ts +2 -1
  832. package/dist/types/components/refresher/refresher.d.ts +2 -1
  833. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  834. package/dist/types/components/reorder/reorder.d.ts +11 -0
  835. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  836. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  837. package/dist/types/components/route/route.d.ts +4 -0
  838. package/dist/types/components/router/router.d.ts +4 -0
  839. package/dist/types/components/router-link/router-link.d.ts +4 -0
  840. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  841. package/dist/types/components/row/row.d.ts +4 -0
  842. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  843. package/dist/types/components/segment/segment.d.ts +2 -1
  844. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  845. package/dist/types/components/select/select.d.ts +24 -5
  846. package/dist/types/components/select-option/select-option.d.ts +4 -0
  847. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  848. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  849. package/dist/types/components/spinner/spinner.d.ts +4 -0
  850. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  851. package/dist/types/components/tab/tab.d.ts +4 -0
  852. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  853. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  854. package/dist/types/components/tabs/tabs.d.ts +3 -0
  855. package/dist/types/components/text/text.d.ts +2 -1
  856. package/dist/types/components/textarea/textarea.d.ts +3 -2
  857. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  858. package/dist/types/components/title/title.d.ts +4 -0
  859. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  860. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  861. package/dist/types/components/toast/toast.d.ts +3 -2
  862. package/dist/types/components/toggle/toggle.d.ts +19 -1
  863. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  864. package/dist/types/components.d.ts +1278 -174
  865. package/dist/types/global/ionic-global.d.ts +25 -2
  866. package/dist/types/index.d.ts +1 -0
  867. package/dist/types/interface.d.ts +3 -0
  868. package/dist/types/utils/config.d.ts +99 -2
  869. package/dist/types/utils/overlays-interface.d.ts +31 -1
  870. package/dist/types/utils/platform.d.ts +2 -2
  871. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  872. package/hydrate/index.js +1594 -623
  873. package/package.json +8 -4
  874. package/components/index9.js +0 -167
  875. package/dist/cjs/index-5915f9b3.js +0 -38
  876. package/dist/cjs/ionic-global-46459c38.js +0 -237
  877. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  878. package/dist/esm/index-9b0d46f4.js +0 -34
  879. package/dist/esm/ionic-global-b9c0d1da.js +0 -231
  880. package/dist/esm-es5/app-globals-232dc3ed.js +0 -4
  881. package/dist/esm-es5/data-ae11fd43.js +0 -4
  882. package/dist/esm-es5/index-5cc724f3.js +0 -4
  883. package/dist/esm-es5/index-92f14156.js +0 -4
  884. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  885. package/dist/esm-es5/index-c8c3afda.js +0 -4
  886. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  887. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  888. package/dist/esm-es5/ionic-global-b9c0d1da.js +0 -4
  889. package/dist/esm-es5/ios.transition-2f45f5c1.js +0 -4
  890. package/dist/esm-es5/md.transition-6fcc955f.js +0 -4
  891. package/dist/esm-es5/overlays-0d212972.js +0 -4
  892. package/dist/esm-es5/status-tap-53150009.js +0 -4
  893. package/dist/ionic/p-0471d705.entry.js +0 -4
  894. package/dist/ionic/p-05bbe79d.entry.js +0 -4
  895. package/dist/ionic/p-06fee233.js +0 -4
  896. package/dist/ionic/p-0769896d.system.entry.js +0 -4
  897. package/dist/ionic/p-13d3abce.system.entry.js +0 -4
  898. package/dist/ionic/p-1731ab58.system.entry.js +0 -4
  899. package/dist/ionic/p-17c10451.system.entry.js +0 -4
  900. package/dist/ionic/p-184fc032.system.js +0 -4
  901. package/dist/ionic/p-18fd2107.entry.js +0 -4
  902. package/dist/ionic/p-1a0848af.system.entry.js +0 -4
  903. package/dist/ionic/p-1cebad78.system.entry.js +0 -4
  904. package/dist/ionic/p-2690b1de.js +0 -4
  905. package/dist/ionic/p-26e469a2.system.entry.js +0 -4
  906. package/dist/ionic/p-2b13fb8c.entry.js +0 -4
  907. package/dist/ionic/p-2e7673a0.system.entry.js +0 -4
  908. package/dist/ionic/p-3886b5d0.entry.js +0 -4
  909. package/dist/ionic/p-38c67b66.system.entry.js +0 -4
  910. package/dist/ionic/p-3a0091c2.system.entry.js +0 -4
  911. package/dist/ionic/p-3b199ab6.entry.js +0 -4
  912. package/dist/ionic/p-3c1b674f.entry.js +0 -4
  913. package/dist/ionic/p-3dba7283.entry.js +0 -4
  914. package/dist/ionic/p-3ea44c31.system.entry.js +0 -4
  915. package/dist/ionic/p-418ad596.entry.js +0 -4
  916. package/dist/ionic/p-44f6a3e4.system.entry.js +0 -4
  917. package/dist/ionic/p-4c3d1c73.entry.js +0 -4
  918. package/dist/ionic/p-4d6b6aef.system.entry.js +0 -4
  919. package/dist/ionic/p-4d7ab66a.system.entry.js +0 -4
  920. package/dist/ionic/p-4f610234.entry.js +0 -4
  921. package/dist/ionic/p-52df00b5.entry.js +0 -4
  922. package/dist/ionic/p-56cb7d41.entry.js +0 -4
  923. package/dist/ionic/p-591528fc.entry.js +0 -4
  924. package/dist/ionic/p-5b121ea3.system.entry.js +0 -4
  925. package/dist/ionic/p-5bbd2b10.entry.js +0 -4
  926. package/dist/ionic/p-5c22c8fa.system.js +0 -4
  927. package/dist/ionic/p-5f2dc7f9.entry.js +0 -4
  928. package/dist/ionic/p-6017cbeb.system.js +0 -4
  929. package/dist/ionic/p-6167004c.system.entry.js +0 -4
  930. package/dist/ionic/p-617caf82.entry.js +0 -4
  931. package/dist/ionic/p-624e1ca6.system.js +0 -4
  932. package/dist/ionic/p-646d46b1.entry.js +0 -4
  933. package/dist/ionic/p-64e15640.system.entry.js +0 -4
  934. package/dist/ionic/p-65fd47cb.system.entry.js +0 -4
  935. package/dist/ionic/p-66621486.system.entry.js +0 -4
  936. package/dist/ionic/p-666583e1.system.entry.js +0 -4
  937. package/dist/ionic/p-68e5bec9.system.entry.js +0 -4
  938. package/dist/ionic/p-6c76eff8.system.entry.js +0 -4
  939. package/dist/ionic/p-6cf5d476.system.js +0 -4
  940. package/dist/ionic/p-6ee1e402.system.js +0 -4
  941. package/dist/ionic/p-705c21cb.system.entry.js +0 -4
  942. package/dist/ionic/p-72ee2cd6.entry.js +0 -4
  943. package/dist/ionic/p-733db888.entry.js +0 -4
  944. package/dist/ionic/p-738cb3bd.entry.js +0 -4
  945. package/dist/ionic/p-75cb6744.system.js +0 -4
  946. package/dist/ionic/p-796cfde4.entry.js +0 -4
  947. package/dist/ionic/p-7a86bd75.js +0 -4
  948. package/dist/ionic/p-7f84a4c8.system.entry.js +0 -4
  949. package/dist/ionic/p-8ee5c5bf.js +0 -4
  950. package/dist/ionic/p-943bc98f.system.entry.js +0 -4
  951. package/dist/ionic/p-94953ea1.system.entry.js +0 -4
  952. package/dist/ionic/p-94c6f6ab.system.entry.js +0 -4
  953. package/dist/ionic/p-9690c79d.system.entry.js +0 -4
  954. package/dist/ionic/p-98f199c6.system.entry.js +0 -4
  955. package/dist/ionic/p-9f5f3485.js +0 -4
  956. package/dist/ionic/p-a07f9cb7.system.entry.js +0 -4
  957. package/dist/ionic/p-a3aaeca8.system.entry.js +0 -4
  958. package/dist/ionic/p-ab27a195.system.entry.js +0 -4
  959. package/dist/ionic/p-af9d3f33.entry.js +0 -4
  960. package/dist/ionic/p-b1e856df.entry.js +0 -4
  961. package/dist/ionic/p-b6fe4a42.entry.js +0 -4
  962. package/dist/ionic/p-b7fa6074.js +0 -4
  963. package/dist/ionic/p-b9fcfe50.system.js +0 -4
  964. package/dist/ionic/p-c1859486.system.js +0 -4
  965. package/dist/ionic/p-c5477854.system.entry.js +0 -4
  966. package/dist/ionic/p-c91c13d2.js +0 -4
  967. package/dist/ionic/p-cb5d9dd4.entry.js +0 -4
  968. package/dist/ionic/p-ccab4d05.system.entry.js +0 -4
  969. package/dist/ionic/p-cdddc32e.entry.js +0 -4
  970. package/dist/ionic/p-d2293261.system.entry.js +0 -4
  971. package/dist/ionic/p-d2753e35.js +0 -4
  972. package/dist/ionic/p-d2db72d1.entry.js +0 -4
  973. package/dist/ionic/p-d529141b.entry.js +0 -4
  974. package/dist/ionic/p-d5f62e4e.entry.js +0 -4
  975. package/dist/ionic/p-d7b97091.entry.js +0 -4
  976. package/dist/ionic/p-d820d1f1.entry.js +0 -4
  977. package/dist/ionic/p-d9e26540.system.entry.js +0 -4
  978. package/dist/ionic/p-da0001cd.system.entry.js +0 -4
  979. package/dist/ionic/p-dbee9e95.system.entry.js +0 -4
  980. package/dist/ionic/p-df3ebee9.system.entry.js +0 -4
  981. package/dist/ionic/p-df4bdf05.entry.js +0 -4
  982. package/dist/ionic/p-dfb78785.system.js +0 -4
  983. package/dist/ionic/p-e08fb9c2.system.entry.js +0 -4
  984. package/dist/ionic/p-e12d7323.entry.js +0 -4
  985. package/dist/ionic/p-e4587da1.js +0 -4
  986. package/dist/ionic/p-ea4f2b31.entry.js +0 -4
  987. package/dist/ionic/p-eaed7394.entry.js +0 -4
  988. package/dist/ionic/p-ecf5f3e0.entry.js +0 -4
  989. package/dist/ionic/p-ed72bc6c.system.entry.js +0 -4
  990. package/dist/ionic/p-ef1c5743.entry.js +0 -4
  991. package/dist/ionic/p-f181073a.entry.js +0 -4
  992. package/dist/ionic/p-f52c2d9a.entry.js +0 -4
  993. package/dist/ionic/p-f654e4df.entry.js +0 -4
  994. package/dist/ionic/p-fa2abaef.entry.js +0 -4
  995. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -2,23 +2,111 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
- import { getIonMode } from "../../global/ionic-global";
5
+ import { getIonTheme } from "../../global/ionic-global";
6
+ /**
7
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
8
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
9
+ */
6
10
  export class Avatar {
11
+ constructor() {
12
+ this.size = undefined;
13
+ this.shape = undefined;
14
+ }
15
+ get hasImage() {
16
+ return !!this.el.querySelector('ion-img') || !!this.el.querySelector('img');
17
+ }
18
+ get hasIcon() {
19
+ return !!this.el.querySelector('ion-icon');
20
+ }
21
+ getSize() {
22
+ const theme = getIonTheme(this);
23
+ const { size } = this;
24
+ // TODO(ROU-10752): Remove theme check when sizes are defined for all themes.
25
+ if (theme !== 'ionic') {
26
+ return undefined;
27
+ }
28
+ if (size === undefined) {
29
+ return 'medium';
30
+ }
31
+ return size;
32
+ }
33
+ getShape() {
34
+ const theme = getIonTheme(this);
35
+ const { shape } = this;
36
+ // TODO(ROU-10755): Remove theme check when shapes are defined for all themes.
37
+ if (theme !== 'ionic') {
38
+ return undefined;
39
+ }
40
+ if (shape === undefined) {
41
+ return 'round';
42
+ }
43
+ return shape;
44
+ }
7
45
  render() {
8
- return (h(Host, { key: 'dc1e3cd535e419eebe5599574fd2393ebfde8bbc', class: getIonMode(this) }, h("slot", { key: 'edb8441c063ea592b41345ea97d88ecd90cb3052' })));
46
+ const theme = getIonTheme(this);
47
+ const size = this.getSize();
48
+ const shape = this.getShape();
49
+ return (h(Host, { key: 'ce0752a14af73eb2731d916be9522db4312bd8f8', class: {
50
+ [theme]: true,
51
+ [`avatar-${size}`]: size !== undefined,
52
+ [`avatar-${shape}`]: shape !== undefined,
53
+ [`avatar-image`]: this.hasImage,
54
+ [`avatar-icon`]: this.hasIcon,
55
+ } }, h("slot", { key: '9cd3c8e0d4ced7896b8496b75208c938735af1b2' })));
9
56
  }
10
57
  static get is() { return "ion-avatar"; }
11
58
  static get encapsulation() { return "shadow"; }
12
59
  static get originalStyleUrls() {
13
60
  return {
14
61
  "ios": ["avatar.ios.scss"],
15
- "md": ["avatar.md.scss"]
62
+ "md": ["avatar.md.scss"],
63
+ "ionic": ["avatar.ionic.scss"]
16
64
  };
17
65
  }
18
66
  static get styleUrls() {
19
67
  return {
20
68
  "ios": ["avatar.ios.css"],
21
- "md": ["avatar.md.css"]
69
+ "md": ["avatar.md.css"],
70
+ "ionic": ["avatar.ionic.css"]
71
+ };
72
+ }
73
+ static get properties() {
74
+ return {
75
+ "size": {
76
+ "type": "string",
77
+ "mutable": false,
78
+ "complexType": {
79
+ "original": "`xsmall` | 'small' | 'medium' | 'large' | 'xlarge'",
80
+ "resolved": "\"large\" | \"medium\" | \"small\" | \"xlarge\" | \"xsmall\" | undefined",
81
+ "references": {}
82
+ },
83
+ "required": false,
84
+ "optional": true,
85
+ "docs": {
86
+ "tags": [],
87
+ "text": "Set to `\"xsmall\"` for the smallest size, `\"small\"` for a compact size, `\"medium\"`\nfor the default height and width, `\"large\"` for a larger size, or `\"xlarge\"` for\nthe largest dimensions.\n\nDefaults to `\"medium\"` for the `ionic` theme, undefined for all other themes."
88
+ },
89
+ "attribute": "size",
90
+ "reflect": false
91
+ },
92
+ "shape": {
93
+ "type": "string",
94
+ "mutable": false,
95
+ "complexType": {
96
+ "original": "'soft' | 'round' | 'rectangular'",
97
+ "resolved": "\"rectangular\" | \"round\" | \"soft\" | undefined",
98
+ "references": {}
99
+ },
100
+ "required": false,
101
+ "optional": true,
102
+ "docs": {
103
+ "tags": [],
104
+ "text": "Set to `\"soft\"` for an avatar with slightly rounded corners,\n`\"round\"` for an avatar with fully rounded corners, or `\"rectangular\"`\nfor an avatar without rounded corners.\n\nDefaults to `\"round\"` for the `ionic` theme, undefined for all other themes."
105
+ },
106
+ "attribute": "shape",
107
+ "reflect": false
108
+ }
22
109
  };
23
110
  }
111
+ static get elementRef() { return "el"; }
24
112
  }
@@ -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
@@ -70,6 +76,12 @@
70
76
  overflow: hidden;
71
77
  }
72
78
 
79
+ /**
80
+ * Convert a pixels given value into rem
81
+ *
82
+ * @param pixels - Value in pixels to be converted (i.e. px)
83
+ * @param context (optional) - Baseline value
84
+ */
73
85
  /**
74
86
  * Convert a font size to a dynamic font size.
75
87
  * Fonts that participate in Dynamic Type should use
@@ -0,0 +1,134 @@
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
+ * This behavior does not vary across directions.
8
+ */
9
+ configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ config, screenshot, title }) => {
10
+ test.describe(title('avatar: shape'), () => {
11
+ test.describe('round', () => {
12
+ test('should not have visual regressions when containing text', async ({ page }) => {
13
+ await page.setContent(`
14
+ <ion-avatar shape="round">AB</ion-avatar>
15
+ `, config);
16
+ const avatar = page.locator('ion-avatar');
17
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-round-text`));
18
+ });
19
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
20
+ await page.setContent(`
21
+ <ion-avatar shape="round">
22
+ <ion-icon name="person-outline"></ion-icon>
23
+ </ion-avatar>
24
+ `, config);
25
+ const avatar = page.locator('ion-avatar');
26
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-round-icon`));
27
+ });
28
+ test('should not have visual regressions when containing an image', async ({ page }) => {
29
+ await page.setContent(`
30
+ <ion-avatar shape="round">
31
+ <img src="/src/components/avatar/test/avatar.svg"/>
32
+ </ion-avatar>
33
+ `, config);
34
+ const avatar = page.locator('ion-avatar');
35
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-round-image`));
36
+ });
37
+ });
38
+ test.describe('rectangular', () => {
39
+ test('should not have visual regressions when containing text', async ({ page }) => {
40
+ await page.setContent(`
41
+ <ion-avatar shape="rectangular">AB</ion-avatar>
42
+ `, config);
43
+ const avatar = page.locator('ion-avatar');
44
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-rectangular-text`));
45
+ });
46
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
47
+ await page.setContent(`
48
+ <ion-avatar shape="rectangular">
49
+ <ion-icon name="person-outline"></ion-icon>
50
+ </ion-avatar>
51
+ `, config);
52
+ const avatar = page.locator('ion-avatar');
53
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-rectangular-icon`));
54
+ });
55
+ test('should not have visual regressions when containing an image', async ({ page }) => {
56
+ await page.setContent(`
57
+ <ion-avatar shape="rectangular">
58
+ <img src="/src/components/avatar/test/avatar.svg"/>
59
+ </ion-avatar>
60
+ `, config);
61
+ const avatar = page.locator('ion-avatar');
62
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-shape-rectangular-image`));
63
+ });
64
+ });
65
+ test.describe('soft', () => {
66
+ test('should not have visual regressions when containing text', async ({ page }) => {
67
+ await page.setContent(`
68
+ <style>
69
+ #container {
70
+ display: flex;
71
+ gap: 10px;
72
+ }
73
+ </style>
74
+
75
+ <div id="container">
76
+ <ion-avatar shape="soft" size="xsmall">AB</ion-avatar>
77
+ <ion-avatar shape="soft" size="small">AB</ion-avatar>
78
+ <ion-avatar shape="soft">AB</ion-avatar>
79
+ </div>
80
+ `, config);
81
+ const container = page.locator('#container');
82
+ await expect(container).toHaveScreenshot(screenshot(`avatar-shape-soft-text`));
83
+ });
84
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
85
+ await page.setContent(`
86
+ <style>
87
+ #container {
88
+ display: flex;
89
+ gap: 10px;
90
+ }
91
+ </style>
92
+
93
+ <div id="container">
94
+ <ion-avatar shape="soft" size="xsmall">
95
+ <ion-icon name="person-outline"></ion-icon>
96
+ </ion-avatar>
97
+ <ion-avatar shape="soft" size="small">
98
+ <ion-icon name="person-outline"></ion-icon>
99
+ </ion-avatar>
100
+ <ion-avatar shape="soft">
101
+ <ion-icon name="person-outline"></ion-icon>
102
+ </ion-avatar>
103
+ </div>
104
+ `, config);
105
+ const container = page.locator('#container');
106
+ await expect(container).toHaveScreenshot(screenshot(`avatar-shape-soft-icon`));
107
+ });
108
+ test('should not have visual regressions when containing an image', async ({ page }) => {
109
+ await page.setContent(`
110
+ <style>
111
+ #container {
112
+ display: flex;
113
+ gap: 10px;
114
+ }
115
+ </style>
116
+
117
+ <div id="container">
118
+ <ion-avatar shape="soft" size="xsmall">
119
+ <img src="/src/components/avatar/test/avatar.svg"/>
120
+ </ion-avatar>
121
+ <ion-avatar shape="soft" size="small">
122
+ <img src="/src/components/avatar/test/avatar.svg"/>
123
+ </ion-avatar>
124
+ <ion-avatar shape="soft">
125
+ <img src="/src/components/avatar/test/avatar.svg"/>
126
+ </ion-avatar>
127
+ </div>
128
+ `, config);
129
+ const container = page.locator('#container');
130
+ await expect(container).toHaveScreenshot(screenshot(`avatar-shape-soft-image`));
131
+ });
132
+ });
133
+ });
134
+ });
@@ -0,0 +1,147 @@
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
+ * This behavior does not vary across directions.
8
+ */
9
+ configs({ directions: ['ltr'], modes: ['ionic-md'] }).forEach(({ config, screenshot, title }) => {
10
+ test.describe(title('avatar: size'), () => {
11
+ test.describe('xsmall', () => {
12
+ test('should not have visual regressions when containing text', async ({ page }) => {
13
+ await page.setContent(`
14
+ <ion-avatar size="xsmall">AB</ion-avatar>
15
+ `, config);
16
+ const avatar = page.locator('ion-avatar');
17
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xsmall-text`));
18
+ });
19
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
20
+ await page.setContent(`
21
+ <ion-avatar size="xsmall">
22
+ <ion-icon name="person-outline"></ion-icon>
23
+ </ion-avatar>
24
+ `, config);
25
+ const avatar = page.locator('ion-avatar');
26
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xsmall-icon`));
27
+ });
28
+ test('should not have visual regressions when containing an image', async ({ page }) => {
29
+ await page.setContent(`
30
+ <ion-avatar size="xsmall">
31
+ <img src="/src/components/avatar/test/avatar.svg"/>
32
+ </ion-avatar>
33
+ `, config);
34
+ const avatar = page.locator('ion-avatar');
35
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xsmall-image`));
36
+ });
37
+ });
38
+ test.describe('small', () => {
39
+ test('should not have visual regressions when containing text', async ({ page }) => {
40
+ await page.setContent(`
41
+ <ion-avatar size="small">AB</ion-avatar>
42
+ `, config);
43
+ const avatar = page.locator('ion-avatar');
44
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-small-text`));
45
+ });
46
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
47
+ await page.setContent(`
48
+ <ion-avatar size="small">
49
+ <ion-icon name="person-outline"></ion-icon>
50
+ </ion-avatar>
51
+ `, config);
52
+ const avatar = page.locator('ion-avatar');
53
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-small-icon`));
54
+ });
55
+ test('should not have visual regressions when containing an image', async ({ page }) => {
56
+ await page.setContent(`
57
+ <ion-avatar size="small">
58
+ <img src="/src/components/avatar/test/avatar.svg"/>
59
+ </ion-avatar>
60
+ `, config);
61
+ const avatar = page.locator('ion-avatar');
62
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-small-image`));
63
+ });
64
+ });
65
+ test.describe('medium', () => {
66
+ test('should not have visual regressions when containing text', async ({ page }) => {
67
+ await page.setContent(`
68
+ <ion-avatar size="medium">AB</ion-avatar>
69
+ `, config);
70
+ const avatar = page.locator('ion-avatar');
71
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-medium-text`));
72
+ });
73
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
74
+ await page.setContent(`
75
+ <ion-avatar size="medium">
76
+ <ion-icon name="person-outline"></ion-icon>
77
+ </ion-avatar>
78
+ `, config);
79
+ const avatar = page.locator('ion-avatar');
80
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-medium-icon`));
81
+ });
82
+ test('should not have visual regressions when containing an image', async ({ page }) => {
83
+ await page.setContent(`
84
+ <ion-avatar size="medium">
85
+ <img src="/src/components/avatar/test/avatar.svg"/>
86
+ </ion-avatar>
87
+ `, config);
88
+ const avatar = page.locator('ion-avatar');
89
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-medium-image`));
90
+ });
91
+ });
92
+ test.describe('large', () => {
93
+ test('should not have visual regressions when containing text', async ({ page }) => {
94
+ await page.setContent(`
95
+ <ion-avatar size="large">AB</ion-avatar>
96
+ `, config);
97
+ const avatar = page.locator('ion-avatar');
98
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-large-text`));
99
+ });
100
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
101
+ await page.setContent(`
102
+ <ion-avatar size="large">
103
+ <ion-icon name="person-outline"></ion-icon>
104
+ </ion-avatar>
105
+ `, config);
106
+ const avatar = page.locator('ion-avatar');
107
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-large-icon`));
108
+ });
109
+ test('should not have visual regressions when containing an image', async ({ page }) => {
110
+ await page.setContent(`
111
+ <ion-avatar size="large">
112
+ <img src="/src/components/avatar/test/avatar.svg"/>
113
+ </ion-avatar>
114
+ `, config);
115
+ const avatar = page.locator('ion-avatar');
116
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-large-image`));
117
+ });
118
+ });
119
+ test.describe('xlarge', () => {
120
+ test('should not have visual regressions when containing text', async ({ page }) => {
121
+ await page.setContent(`
122
+ <ion-avatar size="xlarge">AB</ion-avatar>
123
+ `, config);
124
+ const avatar = page.locator('ion-avatar');
125
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xlarge-text`));
126
+ });
127
+ test('should not have visual regressions when containing an icon', async ({ page }) => {
128
+ await page.setContent(`
129
+ <ion-avatar size="xlarge">
130
+ <ion-icon name="person-outline"></ion-icon>
131
+ </ion-avatar>
132
+ `, config);
133
+ const avatar = page.locator('ion-avatar');
134
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xlarge-icon`));
135
+ });
136
+ test('should not have visual regressions when containing an image', async ({ page }) => {
137
+ await page.setContent(`
138
+ <ion-avatar size="xlarge">
139
+ <img src="/src/components/avatar/test/avatar.svg"/>
140
+ </ion-avatar>
141
+ `, config);
142
+ const avatar = page.locator('ion-avatar');
143
+ await expect(avatar).toHaveScreenshot(screenshot(`avatar-size-xlarge-image`));
144
+ });
145
+ });
146
+ });
147
+ });
@@ -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
@@ -55,50 +61,50 @@
55
61
  */
56
62
  :host {
57
63
  /**
58
- * @prop --background: Background of the button
59
- * @prop --background-focused: Background of the button when focused with the tab key
60
- * @prop --background-focused-opacity: Opacity of the button background when focused with the tab key
61
- * @prop --background-hover: Background of the button on hover
62
- * @prop --background-hover-opacity: Opacity of the background on hover
63
- *
64
- * @prop --color: Text color of the button
65
- * @prop --color-focused: Text color of the button when focused with the tab key
66
- * @prop --color-hover: Text color of the button on hover
67
- *
68
- * @prop --min-width: Minimum width of the button
69
- * @prop --min-height: Minimum height of the button
70
- *
71
- * @prop --transition: Transition of the button
72
- *
73
- * @prop --border-radius: Border radius of the button
74
- *
75
- * @prop --ripple-color: Color of the button ripple effect
76
- *
77
- * @prop --opacity: Opacity of the button
78
- *
79
- * @prop --margin-top: Top margin of the button
80
- * @prop --margin-end: Right margin if direction is left-to-right, and left margin if direction is right-to-left of the button
81
- * @prop --margin-bottom: Bottom margin of the button
82
- * @prop --margin-start: Left margin if direction is left-to-right, and right margin if direction is right-to-left of the button
83
- *
84
- * @prop --padding-top: Top padding of the button
85
- * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the button
86
- * @prop --padding-bottom: Bottom padding of the button
87
- * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the button
88
- *
89
- * @prop --icon-margin-top: Top margin of the button icon
90
- * @prop --icon-margin-end: Right margin if direction is left-to-right, and left margin if direction is right-to-left of the button icon
91
- * @prop --icon-margin-bottom: Bottom margin of the button icon
92
- * @prop --icon-margin-start: Left margin if direction is left-to-right, and right margin if direction is right-to-left of the button icon
93
- *
94
- * @prop --icon-padding-top: Top padding of the button icon
95
- * @prop --icon-padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the button icon
96
- * @prop --icon-padding-bottom: Bottom padding of the button icon
97
- * @prop --icon-padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the button icon
98
- *
99
- * @prop --icon-font-size: Font size of the button icon
100
- * @prop --icon-font-weight: Font weight of the button icon
101
- */
64
+ * @prop --background: Background of the button
65
+ * @prop --background-focused: Background of the button when focused with the tab key
66
+ * @prop --background-focused-opacity: Opacity of the button background when focused with the tab key
67
+ * @prop --background-hover: Background of the button on hover
68
+ * @prop --background-hover-opacity: Opacity of the background on hover
69
+ *
70
+ * @prop --color: Text color of the button
71
+ * @prop --color-focused: Text color of the button when focused with the tab key
72
+ * @prop --color-hover: Text color of the button on hover
73
+ *
74
+ * @prop --min-width: Minimum width of the button
75
+ * @prop --min-height: Minimum height of the button
76
+ *
77
+ * @prop --transition: Transition of the button
78
+ *
79
+ * @prop --border-radius: Border radius of the button
80
+ *
81
+ * @prop --ripple-color: Color of the button ripple effect
82
+ *
83
+ * @prop --opacity: Opacity of the button
84
+ *
85
+ * @prop --margin-top: Top margin of the button
86
+ * @prop --margin-end: Right margin if direction is left-to-right, and left margin if direction is right-to-left of the button
87
+ * @prop --margin-bottom: Bottom margin of the button
88
+ * @prop --margin-start: Left margin if direction is left-to-right, and right margin if direction is right-to-left of the button
89
+ *
90
+ * @prop --padding-top: Top padding of the button
91
+ * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the button
92
+ * @prop --padding-bottom: Bottom padding of the button
93
+ * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the button
94
+ *
95
+ * @prop --icon-margin-top: Top margin of the button icon
96
+ * @prop --icon-margin-end: Right margin if direction is left-to-right, and left margin if direction is right-to-left of the button icon
97
+ * @prop --icon-margin-bottom: Bottom margin of the button icon
98
+ * @prop --icon-margin-start: Left margin if direction is left-to-right, and right margin if direction is right-to-left of the button icon
99
+ *
100
+ * @prop --icon-padding-top: Top padding of the button icon
101
+ * @prop --icon-padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the button icon
102
+ * @prop --icon-padding-bottom: Bottom padding of the button icon
103
+ * @prop --icon-padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the button icon
104
+ *
105
+ * @prop --icon-font-size: Font size of the button icon
106
+ * @prop --icon-font-weight: Font weight of the button icon
107
+ */
102
108
  --background: transparent;
103
109
  --color-focused: currentColor;
104
110
  --color-hover: currentColor;
@@ -169,18 +175,18 @@ ion-ripple-effect {
169
175
  padding-inline-end: var(--padding-end);
170
176
  padding-top: var(--padding-top);
171
177
  padding-bottom: var(--padding-bottom);
178
+ color: inherit;
172
179
  font-family: inherit;
173
180
  font-size: inherit;
174
181
  font-style: inherit;
175
182
  font-weight: inherit;
176
183
  letter-spacing: inherit;
184
+ text-align: inherit;
177
185
  text-decoration: inherit;
178
186
  text-indent: inherit;
179
187
  text-overflow: inherit;
180
188
  text-transform: inherit;
181
- text-align: inherit;
182
189
  white-space: inherit;
183
- color: inherit;
184
190
  display: block;
185
191
  position: relative;
186
192
  width: 100%;
@@ -239,8 +245,8 @@ ion-icon {
239
245
  }
240
246
 
241
247
  .button-native::after {
242
- left: 0;
243
248
  right: 0;
249
+ left: 0;
244
250
  top: 0;
245
251
  bottom: 0;
246
252
  position: absolute;
@@ -270,6 +276,12 @@ ion-icon {
270
276
  color: var(--ion-toolbar-color, var(--color));
271
277
  }
272
278
 
279
+ /**
280
+ * Convert a pixels given value into rem
281
+ *
282
+ * @param pixels - Value in pixels to be converted (i.e. px)
283
+ * @param context (optional) - Baseline value
284
+ */
273
285
  /**
274
286
  * Convert a font size to a dynamic font size.
275
287
  * Fonts that participate in Dynamic Type should use
@@ -329,7 +341,7 @@ ion-icon {
329
341
  --background-hover: transparent;
330
342
  --background-hover-opacity: 1;
331
343
  --background-focused: currentColor;
332
- --background-focused-opacity: .1;
344
+ --background-focused-opacity: 0.1;
333
345
  --border-radius: 4px;
334
346
  --color: var(--ion-color-primary, #0054e9);
335
347
  --icon-margin-end: 1px;