@ionic/core 8.0.0-dev.11713809015.1aabd368 → 8.0.0-dev.11713988726.1e82b9a0

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 (982) 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 +27 -10
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index4.js +8 -7
  9. package/components/index6.js +27 -30
  10. package/components/index7.js +124 -27
  11. package/components/index8.js +150 -111
  12. package/components/input-shims.js +1 -1
  13. package/components/input.utils.js +1 -1
  14. package/components/ion-accordion-group.js +9 -6
  15. package/components/ion-accordion.js +30 -9
  16. package/components/ion-app.js +5 -6
  17. package/components/ion-avatar.js +9 -2
  18. package/components/ion-back-button.js +15 -11
  19. package/components/ion-badge.js +9 -5
  20. package/components/ion-breadcrumb.js +39 -11
  21. package/components/ion-breadcrumbs.js +9 -5
  22. package/components/ion-card-content.js +9 -5
  23. package/components/ion-card-header.js +9 -5
  24. package/components/ion-card-subtitle.js +9 -5
  25. package/components/ion-card-title.js +9 -5
  26. package/components/ion-card.js +18 -9
  27. package/components/ion-chip.js +16 -6
  28. package/components/ion-col.js +5 -5
  29. package/components/ion-content.js +14 -12
  30. package/components/ion-datetime-button.js +9 -6
  31. package/components/ion-datetime.js +86 -31
  32. package/components/ion-fab-button.js +31 -10
  33. package/components/ion-fab-list.js +5 -5
  34. package/components/ion-fab.js +6 -6
  35. package/components/ion-footer.js +15 -11
  36. package/components/ion-grid.js +5 -5
  37. package/components/ion-header.js +15 -11
  38. package/components/ion-img.js +5 -2
  39. package/components/ion-infinite-scroll-content.js +12 -8
  40. package/components/ion-infinite-scroll.js +5 -5
  41. package/components/ion-input-password-toggle.js +40 -10
  42. package/components/ion-input.js +38 -13
  43. package/components/ion-item-divider.js +9 -5
  44. package/components/ion-item-group.js +9 -5
  45. package/components/ion-item-option.js +11 -7
  46. package/components/ion-item-options.js +9 -5
  47. package/components/ion-item-sliding.js +5 -5
  48. package/components/ion-loading.js +12 -8
  49. package/components/ion-menu-button.js +13 -9
  50. package/components/ion-menu-toggle.js +5 -5
  51. package/components/ion-menu.js +11 -7
  52. package/components/ion-modal.js +13 -10
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +7 -6
  55. package/components/ion-note.js +9 -5
  56. package/components/ion-picker-legacy.js +7 -8
  57. package/components/ion-progress-bar.js +10 -6
  58. package/components/ion-range.js +11 -8
  59. package/components/ion-refresher-content.js +9 -8
  60. package/components/ion-refresher.js +11 -7
  61. package/components/ion-reorder-group.js +5 -5
  62. package/components/ion-reorder.js +25 -5
  63. package/components/ion-router-link.js +6 -6
  64. package/components/ion-router-outlet.js +2 -2
  65. package/components/ion-row.js +5 -2
  66. package/components/ion-searchbar.js +73 -16
  67. package/components/ion-segment-button.js +12 -8
  68. package/components/ion-segment.js +9 -5
  69. package/components/ion-select-option.js +5 -2
  70. package/components/ion-select.js +69 -25
  71. package/components/ion-skeleton-text.js +5 -5
  72. package/components/ion-split-pane.js +12 -8
  73. package/components/ion-tab-bar.js +9 -5
  74. package/components/ion-tab-button.js +11 -7
  75. package/components/ion-tab.js +2 -2
  76. package/components/ion-tabs.js +2 -2
  77. package/components/ion-text.js +5 -5
  78. package/components/ion-textarea.js +13 -9
  79. package/components/ion-thumbnail.js +5 -2
  80. package/components/ion-title.js +9 -5
  81. package/components/ion-toast.js +13 -9
  82. package/components/ion-toggle.js +47 -18
  83. package/components/ion-toolbar.js +11 -7
  84. package/components/ionic-global.js +191 -14
  85. package/components/ios.transition.js +1 -0
  86. package/components/item.js +32 -11
  87. package/components/label.js +9 -5
  88. package/components/list-header.js +9 -5
  89. package/components/list.js +10 -6
  90. package/components/overlays.js +1 -2
  91. package/components/picker-column-option.js +9 -5
  92. package/components/picker-column.js +17 -137
  93. package/components/picker-column2.js +4 -4
  94. package/components/picker.js +8 -4
  95. package/components/popover.js +11 -8
  96. package/components/radio-group.js +5 -3
  97. package/components/radio.js +12 -8
  98. package/components/ripple-effect.js +5 -5
  99. package/components/select-popover.js +9 -2
  100. package/components/spinner.js +6 -6
  101. package/components/status-tap.js +1 -1
  102. package/css/core.css +1 -1
  103. package/css/core.css.map +1 -1
  104. package/css/display.css.map +1 -1
  105. package/css/flex-utils.css.map +1 -1
  106. package/css/float-elements.css.map +1 -1
  107. package/css/global.bundle.css.map +1 -1
  108. package/css/ionic/bundle.ionic.css +1 -0
  109. package/css/ionic/bundle.ionic.css.map +1 -0
  110. package/css/ionic/core.ionic.css +1 -0
  111. package/css/ionic/core.ionic.css.map +1 -0
  112. package/css/ionic/global.bundle.ionic.css +1 -0
  113. package/css/ionic/global.bundle.ionic.css.map +1 -0
  114. package/css/ionic/ionic-swiper.ionic.css +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  116. package/css/ionic/link.ionic.css +1 -0
  117. package/css/ionic/link.ionic.css.map +1 -0
  118. package/css/ionic/structure.ionic.css +1 -0
  119. package/css/ionic/structure.ionic.css.map +1 -0
  120. package/css/ionic/typography.ionic.css +1 -0
  121. package/css/ionic/typography.ionic.css.map +1 -0
  122. package/css/ionic/utils.bundle.ionic.css +1 -0
  123. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  124. package/css/ionic-swiper.css +1 -1
  125. package/css/ionic-swiper.css.map +1 -1
  126. package/css/ionic.bundle.css +1 -1
  127. package/css/ionic.bundle.css.map +1 -1
  128. package/css/normalize.css.map +1 -1
  129. package/css/padding.css.map +1 -1
  130. package/css/palettes/dark.always.css +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css +1 -1
  133. package/css/palettes/dark.class.css.map +1 -1
  134. package/css/palettes/dark.system.css +1 -1
  135. package/css/palettes/dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  137. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  138. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  139. package/css/palettes/high-contrast.always.css.map +1 -1
  140. package/css/palettes/high-contrast.class.css.map +1 -1
  141. package/css/palettes/high-contrast.system.css.map +1 -1
  142. package/css/structure.css.map +1 -1
  143. package/css/text-alignment.css.map +1 -1
  144. package/css/text-transformation.css.map +1 -1
  145. package/css/typography.css.map +1 -1
  146. package/css/utils.bundle.css.map +1 -1
  147. package/dist/cjs/{app-globals-63aebf89.js → app-globals-afaa9c54.js} +1 -1
  148. package/dist/cjs/{data-21dc0f81.js → data-99329b16.js} +6 -6
  149. package/dist/cjs/{hardware-back-button-ad9299b4.js → hardware-back-button-6084a439.js} +1 -1
  150. package/dist/cjs/{index-5b6a7459.js → index-18f2ba3b.js} +2 -2
  151. package/dist/cjs/{index-ff66cc7c.js → index-7c699f7b.js} +2 -2
  152. package/dist/cjs/{index-5cf05f94.js → index-f378621f.js} +13 -12
  153. package/dist/cjs/index.cjs.js +7 -8
  154. package/dist/cjs/{input-shims-20d639e6.js → input-shims-077ab038.js} +3 -2
  155. package/dist/cjs/{input.utils-611cde0b.js → input.utils-1aac63e6.js} +2 -2
  156. package/dist/cjs/ion-accordion_2.cjs.entry.js +38 -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 +88 -68
  160. package/dist/cjs/ion-avatar_3.cjs.entry.js +21 -7
  161. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  162. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  163. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +46 -14
  164. package/dist/cjs/ion-button_2.cjs.entry.js +30 -13
  165. package/dist/cjs/ion-card_5.cjs.entry.js +49 -25
  166. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  167. package/dist/cjs/ion-chip.cjs.entry.js +14 -5
  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 +167 -112
  171. package/dist/cjs/ion-fab_3.cjs.entry.js +39 -18
  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 +42 -12
  175. package/dist/cjs/ion-input.cjs.entry.js +37 -14
  176. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  177. package/dist/cjs/ion-item_8.cjs.entry.js +84 -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 +21 -18
  181. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -7
  182. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  183. package/dist/cjs/ion-picker-column.cjs.entry.js +17 -135
  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 +28 -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 +72 -15
  194. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  195. package/dist/cjs/ion-select_3.cjs.entry.js +82 -29
  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 +46 -17
  204. package/dist/cjs/ionic-global-2734c454.js +411 -0
  205. package/dist/cjs/ionic.cjs.js +3 -3
  206. package/dist/cjs/{ios.transition-06673f18.js → ios.transition-07077689.js} +2 -1
  207. package/dist/cjs/loader.cjs.js +3 -3
  208. package/dist/cjs/{md.transition-4d7bb4b1.js → md.transition-a829ffba.js} +1 -1
  209. package/dist/cjs/{overlays-6487955a.js → overlays-a247b257.js} +3 -4
  210. package/dist/cjs/{status-tap-0be20572.js → status-tap-870d407b.js} +2 -2
  211. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  212. package/dist/collection/components/accordion/accordion.js +34 -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.ios.css +12 -0
  225. package/dist/collection/components/avatar/avatar.js +13 -4
  226. package/dist/collection/components/avatar/avatar.md.css +12 -0
  227. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  228. package/dist/collection/components/back-button/back-button.js +14 -11
  229. package/dist/collection/components/back-button/back-button.md.css +60 -48
  230. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  231. package/dist/collection/components/backdrop/backdrop.js +12 -6
  232. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  233. package/dist/collection/components/badge/badge.ios.css +12 -0
  234. package/dist/collection/components/badge/badge.js +11 -8
  235. package/dist/collection/components/badge/badge.md.css +12 -0
  236. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  237. package/dist/collection/components/breadcrumb/breadcrumb.js +39 -11
  238. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  239. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  240. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  241. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  242. package/dist/collection/components/button/button.ionic.css +579 -0
  243. package/dist/collection/components/button/button.ios.css +23 -5
  244. package/dist/collection/components/button/button.js +31 -14
  245. package/dist/collection/components/button/button.md.css +22 -12
  246. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  247. package/dist/collection/components/button/test/shape/button.e2e.js +88 -0
  248. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  249. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  250. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  251. package/dist/collection/components/buttons/buttons.js +14 -8
  252. package/dist/collection/components/buttons/buttons.md.css +18 -0
  253. package/dist/collection/components/card/card.ionic.css +88 -0
  254. package/dist/collection/components/card/card.ios.css +16 -3
  255. package/dist/collection/components/card/card.js +34 -10
  256. package/dist/collection/components/card/card.md.css +16 -3
  257. package/dist/collection/components/card/test/shape/card.e2e.js +34 -0
  258. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  259. package/dist/collection/components/card-content/card-content.js +11 -8
  260. package/dist/collection/components/card-content/card-content.md.css +12 -0
  261. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  262. package/dist/collection/components/card-header/card-header.js +12 -9
  263. package/dist/collection/components/card-header/card-header.md.css +12 -0
  264. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  265. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  266. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  267. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  268. package/dist/collection/components/card-title/card-title.js +11 -8
  269. package/dist/collection/components/card-title/card-title.md.css +12 -0
  270. package/dist/collection/components/checkbox/checkbox.ionic.css +496 -0
  271. package/dist/collection/components/checkbox/checkbox.ios.css +20 -3
  272. package/dist/collection/components/checkbox/checkbox.js +58 -13
  273. package/dist/collection/components/checkbox/checkbox.md.css +21 -4
  274. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  275. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  276. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  277. package/dist/collection/components/chip/chip.ionic.css +133 -0
  278. package/dist/collection/components/chip/chip.ios.css +6 -0
  279. package/dist/collection/components/chip/chip.js +33 -8
  280. package/dist/collection/components/chip/chip.md.css +6 -0
  281. package/dist/collection/components/chip/test/shape/chip.e2e.js +34 -0
  282. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  283. package/dist/collection/components/col/col.css +12 -0
  284. package/dist/collection/components/col/col.js +9 -5
  285. package/dist/collection/components/content/content.css +8 -2
  286. package/dist/collection/components/content/content.js +33 -11
  287. package/dist/collection/components/content/test/content.spec.js +27 -0
  288. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  289. package/dist/collection/components/datetime/datetime.js +86 -30
  290. package/dist/collection/components/datetime/datetime.md.css +15 -3
  291. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
  292. package/dist/collection/components/datetime/utils/data.js +3 -3
  293. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  294. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  295. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  296. package/dist/collection/components/fab/fab.css +25 -1
  297. package/dist/collection/components/fab/fab.js +9 -5
  298. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  299. package/dist/collection/components/fab-button/fab-button.js +35 -15
  300. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  301. package/dist/collection/components/fab-list/fab-list.css +12 -0
  302. package/dist/collection/components/fab-list/fab-list.js +9 -5
  303. package/dist/collection/components/footer/footer.ios.css +14 -2
  304. package/dist/collection/components/footer/footer.js +17 -14
  305. package/dist/collection/components/footer/footer.md.css +12 -0
  306. package/dist/collection/components/grid/grid.css +12 -0
  307. package/dist/collection/components/grid/grid.js +9 -5
  308. package/dist/collection/components/header/header.ios.css +14 -2
  309. package/dist/collection/components/header/header.js +17 -14
  310. package/dist/collection/components/header/header.md.css +12 -0
  311. package/dist/collection/components/img/img.js +8 -2
  312. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  313. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  316. package/dist/collection/components/input/input.ios.css +20 -2
  317. package/dist/collection/components/input/input.js +55 -14
  318. package/dist/collection/components/input/input.md.css +42 -4
  319. package/dist/collection/components/input/test/input.spec.js +13 -0
  320. package/dist/collection/components/input-password-toggle/input-password-toggle.js +39 -7
  321. package/dist/collection/components/item/item.ios.css +20 -8
  322. package/dist/collection/components/item/item.js +36 -16
  323. package/dist/collection/components/item/item.md.css +31 -7
  324. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  325. package/dist/collection/components/item-divider/item-divider.js +11 -8
  326. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  327. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  328. package/dist/collection/components/item-group/item-group.js +13 -7
  329. package/dist/collection/components/item-group/item-group.md.css +12 -0
  330. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  331. package/dist/collection/components/item-option/item-option.js +11 -8
  332. package/dist/collection/components/item-option/item-option.md.css +14 -2
  333. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  334. package/dist/collection/components/item-options/item-options.js +13 -7
  335. package/dist/collection/components/item-options/item-options.md.css +18 -0
  336. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  337. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  338. package/dist/collection/components/label/label.ios.css +18 -0
  339. package/dist/collection/components/label/label.js +11 -8
  340. package/dist/collection/components/label/label.md.css +18 -0
  341. package/dist/collection/components/list/list.ios.css +18 -0
  342. package/dist/collection/components/list/list.js +12 -9
  343. package/dist/collection/components/list/list.md.css +18 -0
  344. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  345. package/dist/collection/components/list-header/list-header.js +11 -8
  346. package/dist/collection/components/list-header/list-header.md.css +18 -0
  347. package/dist/collection/components/loading/loading.ios.css +13 -1
  348. package/dist/collection/components/loading/loading.js +13 -10
  349. package/dist/collection/components/loading/loading.md.css +13 -1
  350. package/dist/collection/components/menu/menu.ios.css +15 -3
  351. package/dist/collection/components/menu/menu.js +12 -7
  352. package/dist/collection/components/menu/menu.md.css +15 -3
  353. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  354. package/dist/collection/components/menu-button/menu-button.js +12 -9
  355. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  356. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  357. package/dist/collection/components/modal/modal.ios.css +14 -2
  358. package/dist/collection/components/modal/modal.js +12 -9
  359. package/dist/collection/components/modal/modal.md.css +14 -2
  360. package/dist/collection/components/nav/nav.css +7 -1
  361. package/dist/collection/components/nav/nav.js +11 -5
  362. package/dist/collection/components/nav-link/nav-link.js +5 -1
  363. package/dist/collection/components/note/note.ios.css +12 -0
  364. package/dist/collection/components/note/note.js +11 -8
  365. package/dist/collection/components/note/note.md.css +12 -0
  366. package/dist/collection/components/picker/picker.ios.css +15 -3
  367. package/dist/collection/components/picker/picker.js +8 -5
  368. package/dist/collection/components/picker/picker.md.css +15 -3
  369. package/dist/collection/components/picker-column/picker-column.css +8 -20
  370. package/dist/collection/components/picker-column/picker-column.js +18 -140
  371. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  372. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  373. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  374. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  375. package/dist/collection/components/picker-legacy/picker.js +7 -6
  376. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  377. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  378. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  379. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  380. package/dist/collection/components/popover/popover.ios.css +13 -1
  381. package/dist/collection/components/popover/popover.js +15 -12
  382. package/dist/collection/components/popover/popover.md.css +13 -1
  383. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  384. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  385. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  386. package/dist/collection/components/radio/radio.ios.css +20 -3
  387. package/dist/collection/components/radio/radio.js +12 -9
  388. package/dist/collection/components/radio/radio.md.css +20 -3
  389. package/dist/collection/components/radio-group/radio-group.js +9 -3
  390. package/dist/collection/components/range/range.ios.css +12 -0
  391. package/dist/collection/components/range/range.js +12 -9
  392. package/dist/collection/components/range/range.md.css +12 -0
  393. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  394. package/dist/collection/components/refresher/refresher.js +11 -8
  395. package/dist/collection/components/refresher/refresher.md.css +15 -2
  396. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  397. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  398. package/dist/collection/components/reorder/reorder.js +28 -6
  399. package/dist/collection/components/reorder/reorder.md.css +6 -0
  400. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  401. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  402. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  403. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  404. package/dist/collection/components/route/route.js +4 -0
  405. package/dist/collection/components/router/router.js +4 -0
  406. package/dist/collection/components/router-link/router-link.css +8 -2
  407. package/dist/collection/components/router-link/router-link.js +9 -5
  408. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  409. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  410. package/dist/collection/components/row/row.css +12 -0
  411. package/dist/collection/components/row/row.js +9 -2
  412. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  413. package/dist/collection/components/searchbar/searchbar.js +79 -24
  414. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  415. package/dist/collection/components/segment/segment.ios.css +18 -0
  416. package/dist/collection/components/segment/segment.js +11 -8
  417. package/dist/collection/components/segment/segment.md.css +18 -0
  418. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  419. package/dist/collection/components/segment-button/segment-button.js +12 -9
  420. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  421. package/dist/collection/components/select/select.ios.css +22 -3
  422. package/dist/collection/components/select/select.js +72 -28
  423. package/dist/collection/components/select/select.md.css +38 -5
  424. package/dist/collection/components/select-option/select-option.js +9 -2
  425. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  426. package/dist/collection/components/select-popover/select-popover.js +12 -4
  427. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  428. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  429. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  430. package/dist/collection/components/spinner/spinner.css +6 -0
  431. package/dist/collection/components/spinner/spinner.js +10 -6
  432. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  433. package/dist/collection/components/split-pane/split-pane.js +14 -8
  434. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  435. package/dist/collection/components/tab/tab.js +6 -2
  436. package/dist/collection/components/tab-bar/tab-bar.ionic.css +151 -0
  437. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  438. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  439. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  440. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  441. package/dist/collection/components/tab-button/tab-button.ionic.css +258 -0
  442. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  443. package/dist/collection/components/tab-button/tab-button.js +11 -8
  444. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  445. package/dist/collection/components/tabs/tabs.css +7 -1
  446. package/dist/collection/components/tabs/tabs.js +4 -1
  447. package/dist/collection/components/text/text.css +6 -0
  448. package/dist/collection/components/text/text.js +7 -6
  449. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  450. package/dist/collection/components/textarea/textarea.js +15 -12
  451. package/dist/collection/components/textarea/textarea.md.css +39 -2
  452. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  453. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  454. package/dist/collection/components/title/title.ios.css +6 -0
  455. package/dist/collection/components/title/title.js +13 -7
  456. package/dist/collection/components/title/title.md.css +6 -0
  457. package/dist/collection/components/toast/animations/utils.js +1 -1
  458. package/dist/collection/components/toast/toast.ios.css +12 -0
  459. package/dist/collection/components/toast/toast.js +15 -11
  460. package/dist/collection/components/toast/toast.md.css +12 -0
  461. package/dist/collection/components/toggle/toggle.ios.css +20 -3
  462. package/dist/collection/components/toggle/toggle.js +46 -18
  463. package/dist/collection/components/toggle/toggle.md.css +20 -3
  464. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  465. package/dist/collection/components/toolbar/toolbar.js +13 -10
  466. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  467. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  468. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  469. package/dist/collection/css/test/typography/basic/typography.e2e.js +90 -0
  470. package/dist/collection/global/ionic-global.js +161 -13
  471. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  472. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  473. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  474. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  475. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  476. package/dist/collection/utils/test/playwright/generator.js +48 -23
  477. package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
  478. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  479. package/dist/collection/utils/transition/ios.transition.js +1 -0
  480. package/dist/docs.json +3994 -276
  481. package/dist/esm/{app-globals-b8e5e7fa.js → app-globals-6b65a082.js} +1 -1
  482. package/dist/esm/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  483. package/dist/esm/{data-ae11fd43.js → data-e73f49e1.js} +4 -4
  484. package/dist/esm/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +2 -2
  485. package/dist/esm/{index-5cc724f3.js → index-55408470.js} +1 -1
  486. package/dist/esm/{index-10916999.js → index-8137ebe0.js} +9 -8
  487. package/dist/esm/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  488. package/dist/esm/{index-f1f5de26.js → index-bf81c266.js} +3 -3
  489. package/dist/esm/index.js +8 -9
  490. package/dist/esm/{input-shims-4530285e.js → input-shims-8453cb67.js} +3 -2
  491. package/dist/esm/{input.utils-09c71bc7.js → input.utils-8bf2cdac.js} +1 -1
  492. package/dist/esm/ion-accordion_2.entry.js +38 -14
  493. package/dist/esm/ion-action-sheet.entry.js +17 -13
  494. package/dist/esm/ion-alert.entry.js +18 -15
  495. package/dist/esm/ion-app_8.entry.js +78 -58
  496. package/dist/esm/ion-avatar_3.entry.js +22 -8
  497. package/dist/esm/ion-back-button.entry.js +15 -11
  498. package/dist/esm/ion-backdrop.entry.js +11 -7
  499. package/dist/esm/ion-breadcrumb_2.entry.js +47 -15
  500. package/dist/esm/ion-button_2.entry.js +28 -11
  501. package/dist/esm/ion-card_5.entry.js +50 -26
  502. package/dist/esm/ion-checkbox.entry.js +24 -13
  503. package/dist/esm/ion-chip.entry.js +15 -6
  504. package/dist/esm/ion-col_3.entry.js +14 -11
  505. package/dist/esm/ion-datetime-button.entry.js +11 -8
  506. package/dist/esm/ion-datetime_3.entry.js +99 -44
  507. package/dist/esm/ion-fab_3.entry.js +40 -19
  508. package/dist/esm/ion-img.entry.js +6 -3
  509. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  510. package/dist/esm/ion-input-password-toggle.entry.js +40 -10
  511. package/dist/esm/ion-input.entry.js +38 -15
  512. package/dist/esm/ion-item-option_3.entry.js +24 -17
  513. package/dist/esm/ion-item_8.entry.js +85 -40
  514. package/dist/esm/ion-loading.entry.js +15 -12
  515. package/dist/esm/ion-menu_3.entry.js +30 -23
  516. package/dist/esm/ion-modal.entry.js +17 -14
  517. package/dist/esm/ion-nav_2.entry.js +10 -8
  518. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  519. package/dist/esm/ion-picker-column.entry.js +18 -136
  520. package/dist/esm/ion-picker.entry.js +9 -5
  521. package/dist/esm/ion-popover.entry.js +15 -12
  522. package/dist/esm/ion-progress-bar.entry.js +11 -7
  523. package/dist/esm/ion-radio_2.entry.js +17 -11
  524. package/dist/esm/ion-range.entry.js +12 -9
  525. package/dist/esm/ion-refresher_2.entry.js +19 -15
  526. package/dist/esm/ion-reorder_2.entry.js +29 -10
  527. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  528. package/dist/esm/ion-route_4.entry.js +7 -7
  529. package/dist/esm/ion-searchbar.entry.js +73 -16
  530. package/dist/esm/ion-segment_2.entry.js +21 -13
  531. package/dist/esm/ion-select_3.entry.js +83 -30
  532. package/dist/esm/ion-spinner.entry.js +7 -7
  533. package/dist/esm/ion-split-pane.entry.js +13 -9
  534. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  535. package/dist/esm/ion-tab_2.entry.js +5 -5
  536. package/dist/esm/ion-text.entry.js +6 -6
  537. package/dist/esm/ion-textarea.entry.js +15 -12
  538. package/dist/esm/ion-toast.entry.js +16 -12
  539. package/dist/esm/ion-toggle.entry.js +47 -18
  540. package/dist/esm/ionic-global-ccd91ba4.js +401 -0
  541. package/dist/esm/ionic.js +5 -5
  542. package/dist/esm/{ios.transition-8e181a7e.js → ios.transition-b169aa46.js} +3 -2
  543. package/dist/esm/loader.js +5 -5
  544. package/dist/esm/{md.transition-f1c3c737.js → md.transition-ecde7aa6.js} +2 -2
  545. package/dist/esm/{overlays-9472c98b.js → overlays-7125a1f5.js} +2 -3
  546. package/dist/esm/{status-tap-39da9160.js → status-tap-6bfbede6.js} +3 -3
  547. package/dist/esm-es5/app-globals-6b65a082.js +4 -0
  548. package/dist/esm-es5/{button-active-a411da52.js → button-active-b3a77616.js} +1 -1
  549. package/dist/esm-es5/data-e73f49e1.js +4 -0
  550. package/dist/esm-es5/{hardware-back-button-329c81fd.js → hardware-back-button-7e31a4ae.js} +1 -1
  551. package/dist/esm-es5/index-55408470.js +4 -0
  552. package/dist/esm-es5/index-8137ebe0.js +4 -0
  553. package/dist/esm-es5/{index-6e4709ff.js → index-a19e0b91.js} +1 -1
  554. package/dist/esm-es5/{index-f1f5de26.js → index-bf81c266.js} +1 -1
  555. package/dist/esm-es5/index.js +1 -1
  556. package/dist/esm-es5/input-shims-8453cb67.js +4 -0
  557. package/dist/esm-es5/input.utils-8bf2cdac.js +4 -0
  558. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  559. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  560. package/dist/esm-es5/ion-alert.entry.js +1 -1
  561. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  562. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  563. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  564. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  565. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  566. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  567. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  568. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  569. package/dist/esm-es5/ion-chip.entry.js +1 -1
  570. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  571. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  572. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  573. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  574. package/dist/esm-es5/ion-img.entry.js +1 -1
  575. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  576. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  577. package/dist/esm-es5/ion-input.entry.js +1 -1
  578. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  579. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  580. package/dist/esm-es5/ion-loading.entry.js +1 -1
  581. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  582. package/dist/esm-es5/ion-modal.entry.js +1 -1
  583. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  584. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  585. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  586. package/dist/esm-es5/ion-picker.entry.js +1 -1
  587. package/dist/esm-es5/ion-popover.entry.js +1 -1
  588. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  589. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  590. package/dist/esm-es5/ion-range.entry.js +1 -1
  591. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  592. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  593. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  594. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  595. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  596. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  597. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  598. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  599. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  600. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  601. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-text.entry.js +1 -1
  603. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  604. package/dist/esm-es5/ion-toast.entry.js +1 -1
  605. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  606. package/dist/esm-es5/ionic-global-ccd91ba4.js +4 -0
  607. package/dist/esm-es5/ionic.js +1 -1
  608. package/dist/esm-es5/ios.transition-b169aa46.js +4 -0
  609. package/dist/esm-es5/loader.js +1 -1
  610. package/dist/esm-es5/md.transition-ecde7aa6.js +4 -0
  611. package/dist/esm-es5/overlays-7125a1f5.js +4 -0
  612. package/dist/esm-es5/status-tap-6bfbede6.js +4 -0
  613. package/dist/html.html-data.json +1944 -88
  614. package/dist/ionic/index.esm.js +1 -1
  615. package/dist/ionic/ionic.esm.js +1 -1
  616. package/dist/ionic/ionic.js +1 -1
  617. package/dist/ionic/p-00e85b08.js +4 -0
  618. package/dist/ionic/{p-43505ff8.system.entry.js → p-047dbdb1.system.entry.js} +1 -1
  619. package/dist/ionic/p-053d229a.system.js +4 -0
  620. package/dist/ionic/p-053d3fb1.entry.js +4 -0
  621. package/dist/ionic/{p-4dd82d9d.system.js → p-077ebefa.system.js} +1 -1
  622. package/dist/ionic/p-0817ca20.system.js +4 -0
  623. package/dist/ionic/{p-3d6e882f.system.entry.js → p-09e29b0f.system.entry.js} +1 -1
  624. package/dist/ionic/{p-58ea73f7.system.entry.js → p-0a567068.system.entry.js} +1 -1
  625. package/dist/ionic/p-0a5bb1da.entry.js +4 -0
  626. package/dist/ionic/p-0a60889a.system.entry.js +4 -0
  627. package/dist/ionic/p-0b803b36.system.entry.js +4 -0
  628. package/dist/ionic/p-0cbb7a38.entry.js +4 -0
  629. package/dist/ionic/p-0d959052.entry.js +4 -0
  630. package/dist/ionic/p-0ff8a4e7.entry.js +4 -0
  631. package/dist/ionic/p-1378644b.system.entry.js +4 -0
  632. package/dist/ionic/{p-17978fce.entry.js → p-13aa82f5.entry.js} +1 -1
  633. package/dist/ionic/p-14bc1127.entry.js +4 -0
  634. package/dist/ionic/p-15714c69.system.entry.js +4 -0
  635. package/dist/ionic/p-15c6083b.system.entry.js +4 -0
  636. package/dist/ionic/p-16c337e2.entry.js +4 -0
  637. package/dist/ionic/{p-3040730e.js → p-17f4c151.js} +1 -1
  638. package/dist/ionic/p-1ad4072e.entry.js +4 -0
  639. package/dist/ionic/{p-d60342e3.js → p-1b039c87.js} +1 -1
  640. package/dist/ionic/{p-0c06e09b.system.js → p-1d608fb3.system.js} +1 -1
  641. package/dist/ionic/p-1fcfcb94.js +4 -0
  642. package/dist/ionic/{p-71215c1d.system.js → p-2172efcb.system.js} +1 -1
  643. package/dist/ionic/p-21ee6d54.system.entry.js +4 -0
  644. package/dist/ionic/p-26a955b2.system.entry.js +4 -0
  645. package/dist/ionic/p-2bb19623.system.entry.js +4 -0
  646. package/dist/ionic/p-2e4abd54.entry.js +4 -0
  647. package/dist/ionic/p-2f0454a4.system.entry.js +4 -0
  648. package/dist/ionic/{p-fda4872f.entry.js → p-34a79000.entry.js} +1 -1
  649. package/dist/ionic/p-3dd3cb26.system.entry.js +4 -0
  650. package/dist/ionic/p-3f073322.system.js +4 -0
  651. package/dist/ionic/p-41444ceb.entry.js +4 -0
  652. package/dist/ionic/p-42a60fc6.entry.js +4 -0
  653. package/dist/ionic/{p-96cc4814.js → p-4c463790.js} +1 -1
  654. package/dist/ionic/p-4f728192.system.entry.js +4 -0
  655. package/dist/ionic/p-507bf356.system.entry.js +4 -0
  656. package/dist/ionic/p-510c8716.entry.js +4 -0
  657. package/dist/ionic/p-541e2e0a.system.js +4 -0
  658. package/dist/ionic/p-55882fc4.system.entry.js +4 -0
  659. package/dist/ionic/p-560b4cfa.entry.js +4 -0
  660. package/dist/ionic/p-594923b2.entry.js +4 -0
  661. package/dist/ionic/p-5bef1e83.js +4 -0
  662. package/dist/ionic/p-5cbdd9e3.entry.js +4 -0
  663. package/dist/ionic/p-65fe9b29.system.entry.js +4 -0
  664. package/dist/ionic/p-6bc5f5db.entry.js +4 -0
  665. package/dist/ionic/p-6bd8a3f8.system.entry.js +4 -0
  666. package/dist/ionic/p-6bee0fd7.system.entry.js +4 -0
  667. package/dist/ionic/p-6d2aa487.entry.js +4 -0
  668. package/dist/ionic/p-6d9b2c33.system.entry.js +4 -0
  669. package/dist/ionic/p-6eb11291.entry.js +4 -0
  670. package/dist/ionic/p-73e3a38e.system.js +4 -0
  671. package/dist/ionic/p-748469e5.entry.js +4 -0
  672. package/dist/ionic/p-7872a01f.system.entry.js +4 -0
  673. package/dist/ionic/p-79119dca.system.entry.js +4 -0
  674. package/dist/ionic/p-7b053f42.system.entry.js +4 -0
  675. package/dist/ionic/p-7c319cce.entry.js +4 -0
  676. package/dist/ionic/p-809dc691.system.js +4 -0
  677. package/dist/ionic/p-8304afaa.js +4 -0
  678. package/dist/ionic/p-84dfeae5.entry.js +4 -0
  679. package/dist/ionic/p-864309ff.entry.js +4 -0
  680. package/dist/ionic/p-899dfb1b.entry.js +4 -0
  681. package/dist/ionic/p-8c11da86.entry.js +4 -0
  682. package/dist/ionic/p-8f03847e.system.entry.js +4 -0
  683. package/dist/ionic/p-9143716d.js +4 -0
  684. package/dist/ionic/p-91e0fae3.system.entry.js +4 -0
  685. package/dist/ionic/p-925c3274.system.entry.js +4 -0
  686. package/dist/ionic/p-9486ad09.entry.js +4 -0
  687. package/dist/ionic/p-95382987.entry.js +4 -0
  688. package/dist/ionic/p-958392b3.system.entry.js +4 -0
  689. package/dist/ionic/p-9a3a8dae.system.entry.js +4 -0
  690. package/dist/ionic/p-9ade14d0.entry.js +4 -0
  691. package/dist/ionic/p-9b13de79.js +4 -0
  692. package/dist/ionic/p-9be416f1.entry.js +4 -0
  693. package/dist/ionic/p-9c452996.entry.js +4 -0
  694. package/dist/ionic/p-9e3fc5c4.entry.js +4 -0
  695. package/dist/ionic/p-9e81053f.system.entry.js +4 -0
  696. package/dist/ionic/p-9eda6c5d.system.entry.js +4 -0
  697. package/dist/ionic/p-a16903c4.system.entry.js +4 -0
  698. package/dist/ionic/p-a35191f4.entry.js +4 -0
  699. package/dist/ionic/{p-c222f76a.js → p-a3e86f85.js} +1 -1
  700. package/dist/ionic/p-a4d1b5cc.js +4 -0
  701. package/dist/ionic/p-a5223322.entry.js +4 -0
  702. package/dist/ionic/p-a6fbf92e.system.entry.js +4 -0
  703. package/dist/ionic/p-a7727720.system.entry.js +4 -0
  704. package/dist/ionic/p-ac8bf1dc.system.entry.js +4 -0
  705. package/dist/ionic/p-ae5ef403.js +4 -0
  706. package/dist/ionic/p-b036467b.system.entry.js +4 -0
  707. package/dist/ionic/p-b18961ff.entry.js +4 -0
  708. package/dist/ionic/p-b1abddbc.system.entry.js +4 -0
  709. package/dist/ionic/{p-c1d1d004.system.entry.js → p-b2f88f88.system.entry.js} +1 -1
  710. package/dist/ionic/p-b61a2062.js +4 -0
  711. package/dist/ionic/p-b68096c3.js +4 -0
  712. package/dist/ionic/p-b96df23f.system.entry.js +4 -0
  713. package/dist/ionic/p-bc302e69.entry.js +4 -0
  714. package/dist/ionic/p-bfdfa197.system.entry.js +4 -0
  715. package/dist/ionic/p-c1373383.entry.js +4 -0
  716. package/dist/ionic/{p-f687573e.system.js → p-c3db3abe.system.js} +1 -1
  717. package/dist/ionic/p-c46c441e.system.entry.js +4 -0
  718. package/dist/ionic/p-c78743ee.entry.js +4 -0
  719. package/dist/ionic/p-cb1a9f57.system.js +4 -0
  720. package/dist/ionic/p-cb40aff5.entry.js +4 -0
  721. package/dist/ionic/p-ccc12f7c.system.js +4 -0
  722. package/dist/ionic/p-cda2e303.system.entry.js +4 -0
  723. package/dist/ionic/p-cdc68278.system.entry.js +4 -0
  724. package/dist/ionic/p-d24eee88.entry.js +4 -0
  725. package/dist/ionic/p-d26ef51c.system.js +4 -0
  726. package/dist/ionic/p-d4755af4.entry.js +4 -0
  727. package/dist/ionic/p-d4fe6131.entry.js +4 -0
  728. package/dist/ionic/p-da4bd7e1.system.entry.js +4 -0
  729. package/dist/ionic/p-da907c11.entry.js +4 -0
  730. package/dist/ionic/p-dba9dc96.entry.js +4 -0
  731. package/dist/ionic/p-dbc7e0bc.system.entry.js +4 -0
  732. package/dist/ionic/p-dde515cb.system.entry.js +4 -0
  733. package/dist/ionic/{p-04070329.system.entry.js → p-dfe87e18.system.entry.js} +1 -1
  734. package/dist/ionic/p-eb0c6a8b.system.js +4 -0
  735. package/dist/ionic/p-ec6b6448.entry.js +4 -0
  736. package/dist/ionic/{p-74a9cafe.system.js → p-ed5175cf.system.js} +2 -2
  737. package/dist/ionic/p-eed178ea.system.js +4 -0
  738. package/dist/ionic/p-f5003c30.entry.js +4 -0
  739. package/dist/ionic/{p-99daf8b7.entry.js → p-f8f6cf70.entry.js} +1 -1
  740. package/dist/ionic/p-f91ea85e.system.entry.js +4 -0
  741. package/dist/ionic/p-f9fc539a.system.entry.js +4 -0
  742. package/dist/ionic/{p-9ad82dba.js → p-fc0aa455.js} +1 -1
  743. package/dist/ionic/{p-d98c0112.entry.js → p-fdf42961.entry.js} +1 -1
  744. package/dist/ionic/p-fdfb6054.system.js +4 -0
  745. package/dist/types/components/accordion/accordion.d.ts +13 -2
  746. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  747. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  748. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  749. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  750. package/dist/types/components/alert/alert.d.ts +3 -2
  751. package/dist/types/components/app/app.d.ts +4 -0
  752. package/dist/types/components/avatar/avatar.d.ts +4 -0
  753. package/dist/types/components/back-button/back-button.d.ts +2 -1
  754. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  755. package/dist/types/components/badge/badge.d.ts +2 -1
  756. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -1
  757. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  758. package/dist/types/components/button/button.d.ts +8 -3
  759. package/dist/types/components/buttons/buttons.d.ts +5 -1
  760. package/dist/types/components/card/card.d.ts +6 -1
  761. package/dist/types/components/card-content/card-content.d.ts +2 -1
  762. package/dist/types/components/card-header/card-header.d.ts +3 -2
  763. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  764. package/dist/types/components/card-title/card-title.d.ts +2 -1
  765. package/dist/types/components/checkbox/checkbox.d.ts +10 -1
  766. package/dist/types/components/chip/chip.d.ts +6 -1
  767. package/dist/types/components/col/col.d.ts +4 -0
  768. package/dist/types/components/content/content.d.ts +11 -0
  769. package/dist/types/components/datetime/datetime.d.ts +42 -1
  770. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  771. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  772. package/dist/types/components/fab/fab.d.ts +4 -0
  773. package/dist/types/components/fab-button/fab-button.d.ts +14 -3
  774. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  775. package/dist/types/components/footer/footer.d.ts +4 -3
  776. package/dist/types/components/grid/grid.d.ts +4 -0
  777. package/dist/types/components/header/header.d.ts +4 -3
  778. package/dist/types/components/img/img.d.ts +3 -0
  779. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  780. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  781. package/dist/types/components/input/input.d.ts +17 -2
  782. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +20 -0
  783. package/dist/types/components/item/item.d.ts +15 -4
  784. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  785. package/dist/types/components/item-group/item-group.d.ts +4 -0
  786. package/dist/types/components/item-option/item-option.d.ts +2 -1
  787. package/dist/types/components/item-options/item-options.d.ts +4 -0
  788. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  789. package/dist/types/components/label/label.d.ts +2 -1
  790. package/dist/types/components/list/list.d.ts +2 -1
  791. package/dist/types/components/list-header/list-header.d.ts +2 -1
  792. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  793. package/dist/types/components/loading/loading.d.ts +3 -2
  794. package/dist/types/components/menu/menu.d.ts +3 -0
  795. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  796. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  797. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  798. package/dist/types/components/modal/modal.d.ts +2 -1
  799. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  800. package/dist/types/components/nav/nav.d.ts +5 -1
  801. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  802. package/dist/types/components/note/note.d.ts +2 -1
  803. package/dist/types/components/picker/picker.d.ts +2 -1
  804. package/dist/types/components/picker-column/picker-column.d.ts +3 -34
  805. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  806. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  807. package/dist/types/components/popover/popover-interface.d.ts +3 -7
  808. package/dist/types/components/popover/popover.d.ts +6 -5
  809. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  810. package/dist/types/components/radio/radio.d.ts +2 -1
  811. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  812. package/dist/types/components/range/range.d.ts +2 -1
  813. package/dist/types/components/refresher/refresher.d.ts +2 -1
  814. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  815. package/dist/types/components/reorder/reorder.d.ts +13 -0
  816. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  817. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  818. package/dist/types/components/route/route.d.ts +4 -0
  819. package/dist/types/components/router/router.d.ts +4 -0
  820. package/dist/types/components/router-link/router-link.d.ts +4 -0
  821. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  822. package/dist/types/components/row/row.d.ts +4 -0
  823. package/dist/types/components/searchbar/searchbar.d.ts +39 -8
  824. package/dist/types/components/segment/segment.d.ts +2 -1
  825. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  826. package/dist/types/components/select/select.d.ts +26 -5
  827. package/dist/types/components/select-option/select-option.d.ts +4 -0
  828. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  829. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  830. package/dist/types/components/spinner/spinner.d.ts +4 -0
  831. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  832. package/dist/types/components/tab/tab.d.ts +4 -0
  833. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  834. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  835. package/dist/types/components/tabs/tabs.d.ts +3 -0
  836. package/dist/types/components/text/text.d.ts +2 -1
  837. package/dist/types/components/textarea/textarea.d.ts +3 -2
  838. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  839. package/dist/types/components/title/title.d.ts +4 -0
  840. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  841. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  842. package/dist/types/components/toast/toast.d.ts +3 -2
  843. package/dist/types/components/toggle/toggle.d.ts +22 -1
  844. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  845. package/dist/types/components.d.ts +1240 -168
  846. package/dist/types/global/ionic-global.d.ts +25 -2
  847. package/dist/types/interface.d.ts +3 -0
  848. package/dist/types/utils/config.d.ts +99 -2
  849. package/dist/types/utils/overlays-interface.d.ts +31 -1
  850. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  851. package/hydrate/index.js +1594 -751
  852. package/package.json +7 -4
  853. package/components/index9.js +0 -167
  854. package/dist/cjs/index-5915f9b3.js +0 -38
  855. package/dist/cjs/ionic-global-1adf9bc4.js +0 -230
  856. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  857. package/dist/collection/components/picker-column/test/picker-column.spec.js +0 -103
  858. package/dist/esm/index-9b0d46f4.js +0 -34
  859. package/dist/esm/ionic-global-c4e0c089.js +0 -224
  860. package/dist/esm-es5/app-globals-b8e5e7fa.js +0 -4
  861. package/dist/esm-es5/data-ae11fd43.js +0 -4
  862. package/dist/esm-es5/index-10916999.js +0 -4
  863. package/dist/esm-es5/index-5cc724f3.js +0 -4
  864. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  865. package/dist/esm-es5/input-shims-4530285e.js +0 -4
  866. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  867. package/dist/esm-es5/ionic-global-c4e0c089.js +0 -4
  868. package/dist/esm-es5/ios.transition-8e181a7e.js +0 -4
  869. package/dist/esm-es5/md.transition-f1c3c737.js +0 -4
  870. package/dist/esm-es5/overlays-9472c98b.js +0 -4
  871. package/dist/esm-es5/status-tap-39da9160.js +0 -4
  872. package/dist/ionic/p-012cc611.system.entry.js +0 -4
  873. package/dist/ionic/p-0307a5ce.entry.js +0 -4
  874. package/dist/ionic/p-06e58c4e.js +0 -4
  875. package/dist/ionic/p-06fee233.js +0 -4
  876. package/dist/ionic/p-07ae133d.system.entry.js +0 -4
  877. package/dist/ionic/p-0aa4682e.entry.js +0 -4
  878. package/dist/ionic/p-0bbb6edf.system.entry.js +0 -4
  879. package/dist/ionic/p-0ebb1fe7.system.entry.js +0 -4
  880. package/dist/ionic/p-0f2d99a6.entry.js +0 -4
  881. package/dist/ionic/p-100bedc4.system.entry.js +0 -4
  882. package/dist/ionic/p-105f7d62.system.entry.js +0 -4
  883. package/dist/ionic/p-155f1939.entry.js +0 -4
  884. package/dist/ionic/p-1672c4fd.system.entry.js +0 -4
  885. package/dist/ionic/p-18057853.entry.js +0 -4
  886. package/dist/ionic/p-1c451f69.entry.js +0 -4
  887. package/dist/ionic/p-1cff9cad.entry.js +0 -4
  888. package/dist/ionic/p-1f9cdee2.entry.js +0 -4
  889. package/dist/ionic/p-25575222.system.js +0 -4
  890. package/dist/ionic/p-266fc56e.system.js +0 -4
  891. package/dist/ionic/p-2e12bda2.entry.js +0 -4
  892. package/dist/ionic/p-2f6cedaf.system.entry.js +0 -4
  893. package/dist/ionic/p-352f7037.system.entry.js +0 -4
  894. package/dist/ionic/p-35722bba.system.entry.js +0 -4
  895. package/dist/ionic/p-35b9e842.entry.js +0 -4
  896. package/dist/ionic/p-37a63e79.system.entry.js +0 -4
  897. package/dist/ionic/p-3c70b01b.entry.js +0 -4
  898. package/dist/ionic/p-3e3b34f7.system.entry.js +0 -4
  899. package/dist/ionic/p-3f70bfba.entry.js +0 -4
  900. package/dist/ionic/p-4196b2d1.system.entry.js +0 -4
  901. package/dist/ionic/p-4429fc97.system.entry.js +0 -4
  902. package/dist/ionic/p-46111310.js +0 -4
  903. package/dist/ionic/p-46f407f0.system.js +0 -4
  904. package/dist/ionic/p-49b6fee0.system.entry.js +0 -4
  905. package/dist/ionic/p-4a615fea.entry.js +0 -4
  906. package/dist/ionic/p-5033128d.system.js +0 -4
  907. package/dist/ionic/p-510578f3.system.entry.js +0 -4
  908. package/dist/ionic/p-51b68ec9.system.entry.js +0 -4
  909. package/dist/ionic/p-51ff648c.entry.js +0 -4
  910. package/dist/ionic/p-5270f8e8.entry.js +0 -4
  911. package/dist/ionic/p-546433d2.js +0 -4
  912. package/dist/ionic/p-54f76ced.js +0 -4
  913. package/dist/ionic/p-56c3b69c.entry.js +0 -4
  914. package/dist/ionic/p-596e0cf8.system.entry.js +0 -4
  915. package/dist/ionic/p-5ae49f12.entry.js +0 -4
  916. package/dist/ionic/p-5b1273f4.system.entry.js +0 -4
  917. package/dist/ionic/p-5d3f6707.entry.js +0 -4
  918. package/dist/ionic/p-5da04d11.entry.js +0 -4
  919. package/dist/ionic/p-5e7c32e8.system.entry.js +0 -4
  920. package/dist/ionic/p-5fa8587e.system.entry.js +0 -4
  921. package/dist/ionic/p-6771c0a9.system.entry.js +0 -4
  922. package/dist/ionic/p-68a1e274.system.entry.js +0 -4
  923. package/dist/ionic/p-6994c97a.js +0 -4
  924. package/dist/ionic/p-69bc14fd.entry.js +0 -4
  925. package/dist/ionic/p-6a7eac5a.js +0 -4
  926. package/dist/ionic/p-6f4db5ce.system.entry.js +0 -4
  927. package/dist/ionic/p-71688099.system.entry.js +0 -4
  928. package/dist/ionic/p-716ab5f8.system.entry.js +0 -4
  929. package/dist/ionic/p-75cddcc9.js +0 -4
  930. package/dist/ionic/p-7d9eefb3.system.js +0 -4
  931. package/dist/ionic/p-7fc505bf.entry.js +0 -4
  932. package/dist/ionic/p-83321ee8.entry.js +0 -4
  933. package/dist/ionic/p-83b070b7.entry.js +0 -4
  934. package/dist/ionic/p-88cff52d.entry.js +0 -4
  935. package/dist/ionic/p-896111fa.entry.js +0 -4
  936. package/dist/ionic/p-89b59bd7.entry.js +0 -4
  937. package/dist/ionic/p-8bd567ba.system.entry.js +0 -4
  938. package/dist/ionic/p-8e9ac22d.entry.js +0 -4
  939. package/dist/ionic/p-9540561f.entry.js +0 -4
  940. package/dist/ionic/p-9958874b.system.entry.js +0 -4
  941. package/dist/ionic/p-9d7fc908.system.js +0 -4
  942. package/dist/ionic/p-9ea607bd.system.js +0 -4
  943. package/dist/ionic/p-a1b4e619.system.entry.js +0 -4
  944. package/dist/ionic/p-a7ba2dcc.system.js +0 -4
  945. package/dist/ionic/p-a8f02173.system.js +0 -4
  946. package/dist/ionic/p-aa110ca0.system.entry.js +0 -4
  947. package/dist/ionic/p-aa682cb9.system.entry.js +0 -4
  948. package/dist/ionic/p-ab85debb.entry.js +0 -4
  949. package/dist/ionic/p-ac4e2a74.system.entry.js +0 -4
  950. package/dist/ionic/p-ac9f44a8.system.entry.js +0 -4
  951. package/dist/ionic/p-bae993f0.entry.js +0 -4
  952. package/dist/ionic/p-c04d5a75.entry.js +0 -4
  953. package/dist/ionic/p-c41af68a.entry.js +0 -4
  954. package/dist/ionic/p-c478747f.system.js +0 -4
  955. package/dist/ionic/p-c80d05c9.js +0 -4
  956. package/dist/ionic/p-c8f2b769.entry.js +0 -4
  957. package/dist/ionic/p-c99ccdc9.entry.js +0 -4
  958. package/dist/ionic/p-c9c39c98.system.entry.js +0 -4
  959. package/dist/ionic/p-cae889f9.entry.js +0 -4
  960. package/dist/ionic/p-d2544865.system.js +0 -4
  961. package/dist/ionic/p-d45c59a6.system.entry.js +0 -4
  962. package/dist/ionic/p-d5f48185.system.entry.js +0 -4
  963. package/dist/ionic/p-d79542bd.system.js +0 -4
  964. package/dist/ionic/p-d8067ea4.system.entry.js +0 -4
  965. package/dist/ionic/p-d8f66669.entry.js +0 -4
  966. package/dist/ionic/p-dc1372e0.entry.js +0 -4
  967. package/dist/ionic/p-df48edd6.entry.js +0 -4
  968. package/dist/ionic/p-df6fa126.entry.js +0 -4
  969. package/dist/ionic/p-e8a0e731.entry.js +0 -4
  970. package/dist/ionic/p-e8c7fa1b.system.entry.js +0 -4
  971. package/dist/ionic/p-e955bf61.entry.js +0 -4
  972. package/dist/ionic/p-ea2c16b5.system.entry.js +0 -4
  973. package/dist/ionic/p-f0392d49.entry.js +0 -4
  974. package/dist/ionic/p-f4cb521c.js +0 -4
  975. package/dist/ionic/p-f818b01a.entry.js +0 -4
  976. package/dist/ionic/p-f94cbfe9.js +0 -4
  977. package/dist/ionic/p-fab4ecad.system.entry.js +0 -4
  978. package/dist/ionic/p-fb02eeec.system.entry.js +0 -4
  979. package/dist/ionic/p-fb97326f.system.entry.js +0 -4
  980. package/dist/ionic/p-fbd30ec7.entry.js +0 -4
  981. package/dist/ionic/p-ff2323ba.system.entry.js +0 -4
  982. 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
@@ -149,18 +155,18 @@
149
155
  button {
150
156
  position: absolute;
151
157
  top: 0;
152
- left: 0;
153
158
  right: 0;
154
159
  bottom: 0;
160
+ left: 0;
155
161
  width: 100%;
156
162
  height: 100%;
157
163
  margin: 0;
158
164
  padding: 0;
159
165
  border: 0;
160
166
  outline: 0;
161
- clip: rect(0 0 0 0);
162
167
  opacity: 0;
163
168
  overflow: hidden;
169
+ clip: rect(0 0 0 0);
164
170
  -webkit-appearance: none;
165
171
  -moz-appearance: none;
166
172
  }
@@ -554,7 +560,8 @@ button {
554
560
  max-width: calc(100% / 0.75);
555
561
  }
556
562
 
557
- ::slotted([slot=start]), ::slotted([slot=end]) {
563
+ ::slotted([slot=start]),
564
+ ::slotted([slot=end]) {
558
565
  /**
559
566
  * Prevent the slots from shrinking when the label and/or
560
567
  * selected item text is long enough to fill the rest of
@@ -573,6 +580,12 @@ button {
573
580
  margin-inline-end: 0;
574
581
  }
575
582
 
583
+ /**
584
+ * Convert a pixels given value into rem
585
+ *
586
+ * @param pixels - Value in pixels to be converted (i.e. px)
587
+ * @param context (optional) - Baseline value
588
+ */
576
589
  /**
577
590
  * Convert a font size to a dynamic font size.
578
591
  * Fonts that participate in Dynamic Type should use
@@ -628,6 +641,12 @@ button {
628
641
  * }
629
642
  * }
630
643
  */
644
+ /**
645
+ * Convert a pixels given value into rem
646
+ *
647
+ * @param pixels - Value in pixels to be converted (i.e. px)
648
+ * @param context (optional) - Baseline value
649
+ */
631
650
  /**
632
651
  * Convert a font size to a dynamic font size.
633
652
  * Fonts that participate in Dynamic Type should use
@@ -9,10 +9,12 @@ import { isRTL } from "../../utils/rtl/index";
9
9
  import { createColorClasses, hostContext } from "../../utils/theme";
10
10
  import { watchForOptions } from "../../utils/watch-options";
11
11
  import { caretDownSharp, chevronExpand } from "ionicons/icons";
12
- import { getIonMode } from "../../global/ionic-global";
12
+ import { config } from "../../global/config";
13
+ import { getIonTheme } from "../../global/ionic-global";
13
14
  // TODO(FW-2832): types
14
15
  /**
15
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
16
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
17
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
16
18
  *
17
19
  * @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.
18
20
  * @slot start - Content to display at the leading edge of the select.
@@ -301,8 +303,8 @@ export class Select {
301
303
  async openPopover(ev) {
302
304
  const { fill, labelPlacement } = this;
303
305
  const interfaceOptions = this.interfaceOptions;
304
- const mode = getIonMode(this);
305
- const showBackdrop = mode === 'md' ? false : true;
306
+ const theme = getIonTheme(this);
307
+ const showBackdrop = theme === 'md' ? false : true;
306
308
  const multiple = this.multiple;
307
309
  const value = this.value;
308
310
  let event = ev;
@@ -313,7 +315,7 @@ export class Select {
313
315
  * when using a fill in MD mode or if the
314
316
  * label is floating/stacked.
315
317
  */
316
- if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
318
+ if (hasFloatingOrStackedLabel || (theme === 'md' && fill !== undefined)) {
317
319
  size = 'cover';
318
320
  /**
319
321
  * Otherwise the popover
@@ -326,7 +328,7 @@ export class Select {
326
328
  ionShadowTarget: this.nativeWrapperEl,
327
329
  } });
328
330
  }
329
- const popoverOpts = Object.assign(Object.assign({ mode,
331
+ const popoverOpts = Object.assign(Object.assign({ theme,
330
332
  event, alignment: 'center', size,
331
333
  showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
332
334
  header: interfaceOptions.header,
@@ -351,9 +353,9 @@ export class Select {
351
353
  return popoverController.create(popoverOpts);
352
354
  }
353
355
  async openActionSheet() {
354
- const mode = getIonMode(this);
356
+ const theme = getIonTheme(this);
355
357
  const interfaceOptions = this.interfaceOptions;
356
- const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
358
+ const actionSheetOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
357
359
  /**
358
360
  * Workaround for Stencil to autodefine
359
361
  * ion-action-sheet when
@@ -370,8 +372,8 @@ export class Select {
370
372
  async openAlert() {
371
373
  const interfaceOptions = this.interfaceOptions;
372
374
  const inputType = this.multiple ? 'checkbox' : 'radio';
373
- const mode = getIonMode(this);
374
- const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
375
+ const theme = getIonTheme(this);
376
+ const alertOpts = Object.assign(Object.assign({ theme }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
375
377
  {
376
378
  text: this.cancelText,
377
379
  role: 'cancel',
@@ -488,8 +490,8 @@ export class Select {
488
490
  * when fill="outline".
489
491
  */
490
492
  renderLabelContainer() {
491
- const mode = getIonMode(this);
492
- const hasOutlineFill = mode === 'md' && this.fill === 'outline';
493
+ const theme = getIonTheme(this);
494
+ const hasOutlineFill = theme === 'md' && this.fill === 'outline';
493
495
  if (hasOutlineFill) {
494
496
  /**
495
497
  * The outline fill has a special outline
@@ -538,15 +540,13 @@ export class Select {
538
540
  * next to the select text.
539
541
  */
540
542
  renderSelectIcon() {
541
- const mode = getIonMode(this);
542
- const { isExpanded, toggleIcon, expandedIcon } = this;
543
+ const { isExpanded, selectExpandIcon, selectCollapsedIcon } = this;
543
544
  let icon;
544
- if (isExpanded && expandedIcon !== undefined) {
545
- icon = expandedIcon;
545
+ if (isExpanded) {
546
+ icon = selectExpandIcon;
546
547
  }
547
548
  else {
548
- const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
549
- icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
549
+ icon = selectCollapsedIcon;
550
550
  }
551
551
  return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
552
552
  }
@@ -581,14 +581,56 @@ export class Select {
581
581
  const { disabled, inputId, isExpanded } = this;
582
582
  return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
583
583
  }
584
+ /**
585
+ * Get the icon to use for the expand icon.
586
+ * If an icon is set on the component, use that.
587
+ * Otherwise, use the icon set in the config.
588
+ * If no icon is set in the config, use the default icon.
589
+ *
590
+ * @internal
591
+ * @returns {string} The icon to use for the expand icon.
592
+ */
593
+ get selectExpandIcon() {
594
+ const theme = getIonTheme(this);
595
+ const icon = this.expandedIcon;
596
+ let defaultExpandIcon = theme === 'ios' ? chevronExpand : caretDownSharp;
597
+ if (icon !== undefined) {
598
+ // Icon is set on the component.
599
+ return icon;
600
+ }
601
+ if (this.toggleIcon) {
602
+ // If the toggleIcon is set, use that as the default expand icon.
603
+ defaultExpandIcon = this.toggleIcon;
604
+ }
605
+ return config.get('selectExpandIcon', defaultExpandIcon);
606
+ }
607
+ /**
608
+ * Get the icon to use for the collapsed icon.
609
+ * If an icon is set on the component, use that.
610
+ * Otherwise, use the icon set in the config.
611
+ * If no icon is set in the config, use the default icon.
612
+ *
613
+ * @internal
614
+ * @returns {string} The icon to use for the collapsed icon.
615
+ */
616
+ get selectCollapsedIcon() {
617
+ const theme = getIonTheme(this);
618
+ const icon = this.toggleIcon;
619
+ const defaultIcon = theme === 'ios' ? chevronExpand : caretDownSharp;
620
+ if (icon !== undefined) {
621
+ // Icon is set on the component.
622
+ return icon;
623
+ }
624
+ return config.get('selectCollapsedIcon', defaultIcon);
625
+ }
584
626
  render() {
585
627
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
586
- const mode = getIonMode(this);
628
+ const theme = getIonTheme(this);
587
629
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
588
630
  const justifyEnabled = !hasFloatingOrStackedLabel;
589
631
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
590
632
  const inItem = hostContext('ion-item', this.el);
591
- const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
633
+ const shouldRenderHighlight = theme === 'md' && fill !== 'outline' && !inItem;
592
634
  const hasValue = this.hasValue();
593
635
  const hasStartEndSlots = el.querySelector('[slot="start"], [slot="end"]') !== null;
594
636
  renderHiddenInput(true, el, name, parseValue(value), disabled);
@@ -610,8 +652,8 @@ export class Select {
610
652
  * TODO(FW-5592): Remove hasStartEndSlots condition
611
653
  */
612
654
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
613
- return (h(Host, { key: '34a8ad246debbd7f1220ba1816d6cf427a24df8f', onClick: this.onClick, class: createColorClasses(this.color, {
614
- [mode]: true,
655
+ return (h(Host, { key: '76e637f2fa6e2186e12eb592484fe23763cb204d', onClick: this.onClick, class: createColorClasses(this.color, {
656
+ [theme]: true,
615
657
  'in-item': inItem,
616
658
  'in-item-color': hostContext('ion-item.ion-color', el),
617
659
  'select-disabled': disabled,
@@ -626,20 +668,22 @@ export class Select {
626
668
  [`select-justify-${justify}`]: justifyEnabled,
627
669
  [`select-shape-${shape}`]: shape !== undefined,
628
670
  [`select-label-placement-${labelPlacement}`]: true,
629
- }) }, h("label", { key: 'b4deb5c56fd7d97d8d09850e9b2758cecc59160a', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '5608f30189b941e8d737480308633376d7c554ec', class: "select-wrapper-inner" }, h("slot", { key: '5448dcd362880effebec59b84ca81b140bf078b7', name: "start" }), h("div", { key: 'ee140365597d0857621b4c4cd0577e0c51355f85', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '0aff40616a2ffaae06dfbb1282072d48435b220f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
671
+ }) }, h("label", { key: '635ba1aedec77a7ec8748695265f78c44264e5a8', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: 'f911159ac611b43e9f0bd6a888d3fbbd48c7cbff', class: "select-wrapper-inner" }, h("slot", { key: '055b7cddeb613b0ba66f974ae058aae8ddfdfbeb', name: "start" }), h("div", { key: 'c6bcf89f2d1bc9f7a436a911914d1add60475ea3', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9c65926c89ed06547e0a5392e1c54cb59d43e02e', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
630
672
  }
631
673
  static get is() { return "ion-select"; }
632
674
  static get encapsulation() { return "shadow"; }
633
675
  static get originalStyleUrls() {
634
676
  return {
635
677
  "ios": ["select.ios.scss"],
636
- "md": ["select.md.scss"]
678
+ "md": ["select.md.scss"],
679
+ "ionic": ["select.md.scss"]
637
680
  };
638
681
  }
639
682
  static get styleUrls() {
640
683
  return {
641
684
  "ios": ["select.ios.css"],
642
- "md": ["select.md.css"]
685
+ "md": ["select.md.css"],
686
+ "ionic": ["select.md.css"]
643
687
  };
644
688
  }
645
689
  static get properties() {
@@ -738,7 +782,7 @@ export class Select {
738
782
  "optional": true,
739
783
  "docs": {
740
784
  "tags": [],
741
- "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
785
+ "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in the `\"md\"` theme."
742
786
  },
743
787
  "attribute": "fill",
744
788
  "reflect": false
@@ -938,7 +982,7 @@ export class Select {
938
982
  "optional": true,
939
983
  "docs": {
940
984
  "tags": [],
941
- "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
985
+ "text": "The toggle icon to use. Defaults to `\"chevronExpand\"` for the `\"ios\"` theme,\nor `\"caretDownSharp\"` for the `\"md\"` and `\"ionic\"` themes."
942
986
  },
943
987
  "attribute": "toggle-icon",
944
988
  "reflect": false
@@ -955,7 +999,7 @@ export class Select {
955
999
  "optional": true,
956
1000
  "docs": {
957
1001
  "tags": [],
958
- "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1002
+ "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `\"md\"` theme will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
959
1003
  },
960
1004
  "attribute": "expanded-icon",
961
1005
  "reflect": false
@@ -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
@@ -149,18 +155,18 @@
149
155
  button {
150
156
  position: absolute;
151
157
  top: 0;
152
- left: 0;
153
158
  right: 0;
154
159
  bottom: 0;
160
+ left: 0;
155
161
  width: 100%;
156
162
  height: 100%;
157
163
  margin: 0;
158
164
  padding: 0;
159
165
  border: 0;
160
166
  outline: 0;
161
- clip: rect(0 0 0 0);
162
167
  opacity: 0;
163
168
  overflow: hidden;
169
+ clip: rect(0 0 0 0);
164
170
  -webkit-appearance: none;
165
171
  -moz-appearance: none;
166
172
  }
@@ -554,7 +560,8 @@ button {
554
560
  max-width: calc(100% / 0.75);
555
561
  }
556
562
 
557
- ::slotted([slot=start]), ::slotted([slot=end]) {
563
+ ::slotted([slot=start]),
564
+ ::slotted([slot=end]) {
558
565
  /**
559
566
  * Prevent the slots from shrinking when the label and/or
560
567
  * selected item text is long enough to fill the rest of
@@ -573,6 +580,12 @@ button {
573
580
  margin-inline-end: 0;
574
581
  }
575
582
 
583
+ /**
584
+ * Convert a pixels given value into rem
585
+ *
586
+ * @param pixels - Value in pixels to be converted (i.e. px)
587
+ * @param context (optional) - Baseline value
588
+ */
576
589
  /**
577
590
  * Convert a font size to a dynamic font size.
578
591
  * Fonts that participate in Dynamic Type should use
@@ -628,6 +641,12 @@ button {
628
641
  * }
629
642
  * }
630
643
  */
644
+ /**
645
+ * Convert a pixels given value into rem
646
+ *
647
+ * @param pixels - Value in pixels to be converted (i.e. px)
648
+ * @param context (optional) - Baseline value
649
+ */
631
650
  /**
632
651
  * Convert a font size to a dynamic font size.
633
652
  * Fonts that participate in Dynamic Type should use
@@ -683,6 +702,12 @@ button {
683
702
  * }
684
703
  * }
685
704
  */
705
+ /**
706
+ * Convert a pixels given value into rem
707
+ *
708
+ * @param pixels - Value in pixels to be converted (i.e. px)
709
+ * @param context (optional) - Baseline value
710
+ */
686
711
  /**
687
712
  * Convert a font size to a dynamic font size.
688
713
  * Fonts that participate in Dynamic Type should use
@@ -809,6 +834,12 @@ button {
809
834
  max-width: calc(100% / 0.75);
810
835
  }
811
836
 
837
+ /**
838
+ * Convert a pixels given value into rem
839
+ *
840
+ * @param pixels - Value in pixels to be converted (i.e. px)
841
+ * @param context (optional) - Baseline value
842
+ */
812
843
  /**
813
844
  * Convert a font size to a dynamic font size.
814
845
  * Fonts that participate in Dynamic Type should use
@@ -967,7 +998,9 @@ button {
967
998
  * Label text should not extend
968
999
  * beyond the bounds of the select.
969
1000
  */
970
- max-width: calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75);
1001
+ max-width: calc(
1002
+ (100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75
1003
+ );
971
1004
  }
972
1005
 
973
1006
  /**
@@ -984,8 +1017,8 @@ button {
984
1017
  }
985
1018
 
986
1019
  :host(.select-fill-outline) .select-outline-container {
987
- left: 0;
988
1020
  right: 0;
1021
+ left: 0;
989
1022
  top: 0;
990
1023
  bottom: 0;
991
1024
  display: flex;
@@ -2,7 +2,11 @@
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 SelectOption {
7
11
  constructor() {
8
12
  this.inputId = `ion-selopt-${selectOptionIds++}`;
@@ -10,7 +14,10 @@ export class SelectOption {
10
14
  this.value = undefined;
11
15
  }
12
16
  render() {
13
- return h(Host, { key: '7830b6152ba185b327d02fe96fd415cdcd16f48d', role: "option", id: this.inputId, class: getIonMode(this) });
17
+ const theme = getIonTheme(this);
18
+ return (h(Host, { key: '11175d50c93145948e1d3b23b66b86176cd7d504', class: {
19
+ [theme]: true,
20
+ }, role: "option", id: this.inputId }));
14
21
  }
15
22
  static get is() { return "ion-select-option"; }
16
23
  static get encapsulation() { return "shadow"; }
@@ -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
@@ -78,6 +84,12 @@ ion-label {
78
84
  overflow-y: auto;
79
85
  }
80
86
 
87
+ /**
88
+ * Convert a pixels given value into rem
89
+ *
90
+ * @param pixels - Value in pixels to be converted (i.e. px)
91
+ * @param context (optional) - Baseline value
92
+ */
81
93
  /**
82
94
  * Convert a font size to a dynamic font size.
83
95
  * Fonts that participate in Dynamic Type should use
@@ -133,6 +145,12 @@ ion-label {
133
145
  * }
134
146
  * }
135
147
  */
148
+ /**
149
+ * Convert a pixels given value into rem
150
+ *
151
+ * @param pixels - Value in pixels to be converted (i.e. px)
152
+ * @param context (optional) - Baseline value
153
+ */
136
154
  /**
137
155
  * Convert a font size to a dynamic font size.
138
156
  * Fonts that participate in Dynamic Type should use
@@ -4,8 +4,11 @@
4
4
  import { Host, h, forceUpdate } from "@stencil/core";
5
5
  import { safeCall } from "../../utils/overlays";
6
6
  import { getClassMap } from "../../utils/theme";
7
- import { getIonMode } from "../../global/ionic-global";
7
+ import { getIonTheme } from "../../global/ionic-global";
8
8
  /**
9
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
+ *
9
12
  * @internal
10
13
  */
11
14
  export class SelectPopover {
@@ -102,20 +105,25 @@ export class SelectPopover {
102
105
  render() {
103
106
  const { header, message, options, subHeader } = this;
104
107
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
105
- return (h(Host, { key: '81e4df60ad6dab49bdde30f4c3e460ba425f0c89', class: getIonMode(this) }, h("ion-list", { key: '940f13aab8c6cebbeb7d4b6d4d64b3c67d4c953d' }, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
108
+ const theme = getIonTheme(this);
109
+ return (h(Host, { key: '936d15b3cf4f9fb6fe3a3029dce1b665010ba16e', class: {
110
+ [theme]: true,
111
+ } }, h("ion-list", { key: '2a502d13ab7537537403859bf4af6d92ce423e8b' }, header !== undefined && h("ion-list-header", null, header), hasSubHeaderOrMessage && (h("ion-item", null, h("ion-label", { class: "ion-text-wrap" }, subHeader !== undefined && h("h3", null, subHeader), message !== undefined && h("p", null, message)))), this.renderOptions(options))));
106
112
  }
107
113
  static get is() { return "ion-select-popover"; }
108
114
  static get encapsulation() { return "scoped"; }
109
115
  static get originalStyleUrls() {
110
116
  return {
111
117
  "ios": ["select-popover.ios.scss"],
112
- "md": ["select-popover.md.scss"]
118
+ "md": ["select-popover.md.scss"],
119
+ "ionic": ["select-popover.md.scss"]
113
120
  };
114
121
  }
115
122
  static get styleUrls() {
116
123
  return {
117
124
  "ios": ["select-popover.ios.css"],
118
- "md": ["select-popover.md.css"]
125
+ "md": ["select-popover.md.css"],
126
+ "ionic": ["select-popover.md.css"]
119
127
  };
120
128
  }
121
129
  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
@@ -78,6 +84,12 @@ ion-label {
78
84
  overflow-y: auto;
79
85
  }
80
86
 
87
+ /**
88
+ * Convert a pixels given value into rem
89
+ *
90
+ * @param pixels - Value in pixels to be converted (i.e. px)
91
+ * @param context (optional) - Baseline value
92
+ */
81
93
  /**
82
94
  * Convert a font size to a dynamic font size.
83
95
  * Fonts that participate in Dynamic Type should use
@@ -133,6 +145,12 @@ ion-label {
133
145
  * }
134
146
  * }
135
147
  */
148
+ /**
149
+ * Convert a pixels given value into rem
150
+ *
151
+ * @param pixels - Value in pixels to be converted (i.e. px)
152
+ * @param context (optional) - Baseline value
153
+ */
136
154
  /**
137
155
  * Convert a font size to a dynamic font size.
138
156
  * 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
@@ -4,7 +4,11 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { hostContext } from "../../utils/theme";
6
6
  import { config } from "../../global/config";
7
- import { getIonMode } from "../../global/ionic-global";
7
+ import { getIonTheme } from "../../global/ionic-global";
8
+ /**
9
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
+ */
8
12
  export class SkeletonText {
9
13
  constructor() {
10
14
  this.animated = false;
@@ -24,12 +28,12 @@ export class SkeletonText {
24
28
  render() {
25
29
  const animated = this.animated && config.getBoolean('animated', true);
26
30
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
27
- const mode = getIonMode(this);
28
- return (h(Host, { key: 'a093b75e3cac98eed870a682f55a6a305d6ba0ba', class: {
29
- [mode]: true,
31
+ const theme = getIonTheme(this);
32
+ return (h(Host, { key: '9f813c15ad81383b8e0993026ad3f517db826e82', class: {
33
+ [theme]: true,
30
34
  'skeleton-text-animated': animated,
31
35
  'in-media': inMedia,
32
- } }, h("span", { key: 'e73bb72ba6e57b4e5ddbe03acdb844b0ba63a0b9' }, "\u00A0")));
36
+ } }, h("span", { key: '7f4c8f7ae61ba68e7c667ba4330bf7842b7304de' }, "\u00A0")));
33
37
  }
34
38
  static get is() { return "ion-skeleton-text"; }
35
39
  static get encapsulation() { return "shadow"; }
@@ -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
@@ -4,8 +4,12 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { createColorClasses } from "../../utils/theme";
6
6
  import { config } from "../../global/config";
7
- import { getIonMode } from "../../global/ionic-global";
7
+ import { getIonTheme } from "../../global/ionic-global";
8
8
  import { SPINNERS } from "./spinner-configs";
9
+ /**
10
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
11
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
12
+ */
9
13
  export class Spinner {
10
14
  constructor() {
11
15
  this.color = undefined;
@@ -15,16 +19,16 @@ export class Spinner {
15
19
  }
16
20
  getName() {
17
21
  const spinnerName = this.name || config.get('spinner');
18
- const mode = getIonMode(this);
22
+ const theme = getIonTheme(this);
19
23
  if (spinnerName) {
20
24
  return spinnerName;
21
25
  }
22
- return mode === 'ios' ? 'lines' : 'circular';
26
+ return theme === 'ios' ? 'lines' : 'circular';
23
27
  }
24
28
  render() {
25
29
  var _a;
26
30
  const self = this;
27
- const mode = getIonMode(self);
31
+ const theme = getIonTheme(self);
28
32
  const spinnerName = self.getName();
29
33
  const spinner = (_a = SPINNERS[spinnerName]) !== null && _a !== void 0 ? _a : SPINNERS['lines'];
30
34
  const duration = typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur;
@@ -39,8 +43,8 @@ export class Spinner {
39
43
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
40
44
  }
41
45
  }
42
- return (h(Host, { key: '68452be6b1ad1699bb8167dfaf235328cb7f5358', class: createColorClasses(self.color, {
43
- [mode]: true,
46
+ return (h(Host, { key: '124fb3a4bb6d9f5d75e4933dec0c23a946be74f1', class: createColorClasses(self.color, {
47
+ [theme]: true,
44
48
  [`spinner-${spinnerName}`]: true,
45
49
  'spinner-paused': self.paused || config.getBoolean('_testing'),
46
50
  }), role: "progressbar", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));