@ionic/core 8.1.2 → 8.1.3-dev.11717426643.18ac3ae5

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/index2.js +1 -2
  9. package/components/index4.js +8 -7
  10. package/components/index6.js +27 -30
  11. package/components/index7.js +124 -27
  12. package/components/index8.js +150 -111
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +9 -6
  16. package/components/ion-accordion.js +15 -9
  17. package/components/ion-app.js +5 -6
  18. package/components/ion-avatar.js +48 -3
  19. package/components/ion-back-button.js +15 -11
  20. package/components/ion-badge.js +42 -6
  21. package/components/ion-breadcrumb.js +16 -10
  22. package/components/ion-breadcrumbs.js +9 -5
  23. package/components/ion-card-content.js +9 -5
  24. package/components/ion-card-header.js +9 -5
  25. package/components/ion-card-subtitle.js +9 -5
  26. package/components/ion-card-title.js +9 -5
  27. package/components/ion-card.js +17 -9
  28. package/components/ion-chip.js +45 -8
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -11
  31. package/components/ion-datetime-button.js +9 -6
  32. package/components/ion-datetime.js +47 -20
  33. package/components/ion-fab-button.js +15 -9
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +6 -6
  36. package/components/ion-footer.js +15 -11
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +15 -11
  39. package/components/ion-img.js +5 -2
  40. package/components/ion-infinite-scroll-content.js +12 -8
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +7 -8
  43. package/components/ion-input.js +101 -20
  44. package/components/ion-item-divider.js +9 -5
  45. package/components/ion-item-group.js +9 -5
  46. package/components/ion-item-option.js +11 -7
  47. package/components/ion-item-options.js +9 -5
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +12 -8
  50. package/components/ion-menu-button.js +13 -9
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +11 -7
  53. package/components/ion-modal.js +14 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +7 -6
  56. package/components/ion-note.js +9 -5
  57. package/components/ion-picker-legacy.js +7 -8
  58. package/components/ion-progress-bar.js +10 -6
  59. package/components/ion-range.js +11 -8
  60. package/components/ion-refresher-content.js +9 -8
  61. package/components/ion-refresher.js +11 -7
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +23 -5
  64. package/components/ion-router-link.js +6 -6
  65. package/components/ion-router-outlet.js +2 -2
  66. package/components/ion-row.js +5 -2
  67. package/components/ion-searchbar.js +62 -16
  68. package/components/ion-segment-button.js +12 -8
  69. package/components/ion-segment.js +9 -5
  70. package/components/ion-select-option.js +5 -2
  71. package/components/ion-select.js +67 -28
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +12 -8
  74. package/components/ion-tab-bar.js +9 -5
  75. package/components/ion-tab-button.js +11 -7
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +2 -2
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +13 -9
  80. package/components/ion-thumbnail.js +5 -2
  81. package/components/ion-title.js +9 -5
  82. package/components/ion-toast.js +13 -9
  83. package/components/ion-toggle.js +56 -18
  84. package/components/ion-toolbar.js +11 -7
  85. package/components/ionic-global.js +199 -15
  86. package/components/ios.transition.js +1 -0
  87. package/components/item.js +17 -11
  88. package/components/label.js +9 -5
  89. package/components/list-header.js +9 -5
  90. package/components/list.js +10 -6
  91. package/components/overlays.js +1 -2
  92. package/components/picker-column-option.js +9 -5
  93. package/components/picker-column.js +7 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +8 -4
  96. package/components/popover.js +11 -8
  97. package/components/radio-group.js +5 -3
  98. package/components/radio.js +12 -8
  99. package/components/ripple-effect.js +5 -5
  100. package/components/select-popover.js +9 -2
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css +1 -1
  104. package/css/core.css.map +1 -1
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css.map +1 -1
  107. package/css/float-elements.css.map +1 -1
  108. package/css/global.bundle.css.map +1 -1
  109. package/css/ionic/bundle.ionic.css +1 -0
  110. package/css/ionic/bundle.ionic.css.map +1 -0
  111. package/css/ionic/core.ionic.css +1 -0
  112. package/css/ionic/core.ionic.css.map +1 -0
  113. package/css/ionic/global.bundle.ionic.css +1 -0
  114. package/css/ionic/global.bundle.ionic.css.map +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  117. package/css/ionic/link.ionic.css +1 -0
  118. package/css/ionic/link.ionic.css.map +1 -0
  119. package/css/ionic/structure.ionic.css +1 -0
  120. package/css/ionic/structure.ionic.css.map +1 -0
  121. package/css/ionic/typography.ionic.css +1 -0
  122. package/css/ionic/typography.ionic.css.map +1 -0
  123. package/css/ionic/utils.bundle.ionic.css +1 -0
  124. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  125. package/css/ionic-swiper.css +1 -1
  126. package/css/ionic-swiper.css.map +1 -1
  127. package/css/ionic.bundle.css +1 -1
  128. package/css/ionic.bundle.css.map +1 -1
  129. package/css/normalize.css.map +1 -1
  130. package/css/padding.css.map +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css.map +1 -1
  133. package/css/palettes/dark.system.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css.map +1 -1
  139. package/css/palettes/high-contrast.system.css.map +1 -1
  140. package/css/structure.css.map +1 -1
  141. package/css/text-alignment.css.map +1 -1
  142. package/css/text-transformation.css.map +1 -1
  143. package/css/typography.css.map +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{app-globals-66b7dc06.js → app-globals-2c313e1f.js} +1 -1
  146. package/dist/cjs/{button-active-9135c809.js → button-active-fb712da0.js} +1 -1
  147. package/dist/cjs/{data-21dc0f81.js → data-a69212d7.js} +6 -6
  148. package/dist/cjs/{hardware-back-button-ed931127.js → hardware-back-button-f0e55605.js} +2 -2
  149. package/dist/cjs/{index-8709af32.js → index-77bec042.js} +10 -3
  150. package/dist/cjs/{index-c0b7f8f4.js → index-b049f91b.js} +7 -8
  151. package/dist/cjs/{index-c54654c6.js → index-b2a647db.js} +13 -12
  152. package/dist/cjs/{index-5b6a7459.js → index-fd54455c.js} +2 -2
  153. package/dist/cjs/index.cjs.js +8 -9
  154. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-f247986f.js} +3 -2
  155. package/dist/cjs/{input.utils-611cde0b.js → input.utils-95a72bcb.js} +2 -2
  156. package/dist/cjs/ion-accordion_2.cjs.entry.js +24 -15
  157. package/dist/cjs/ion-action-sheet.cjs.entry.js +17 -13
  158. package/dist/cjs/ion-alert.cjs.entry.js +18 -15
  159. package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
  160. package/dist/cjs/ion-avatar_3.cjs.entry.js +87 -8
  161. package/dist/cjs/ion-back-button.cjs.entry.js +15 -11
  162. package/dist/cjs/ion-backdrop.cjs.entry.js +11 -7
  163. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +24 -14
  164. package/dist/cjs/ion-button_2.cjs.entry.js +45 -16
  165. package/dist/cjs/ion-card_5.cjs.entry.js +49 -26
  166. package/dist/cjs/ion-checkbox.cjs.entry.js +24 -13
  167. package/dist/cjs/ion-chip.cjs.entry.js +43 -8
  168. package/dist/cjs/ion-col_3.cjs.entry.js +14 -11
  169. package/dist/cjs/ion-datetime-button.cjs.entry.js +15 -12
  170. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  171. package/dist/cjs/ion-fab_3.cjs.entry.js +24 -18
  172. package/dist/cjs/ion-img.cjs.entry.js +6 -3
  173. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -14
  174. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +10 -11
  175. package/dist/cjs/ion-input.cjs.entry.js +100 -21
  176. package/dist/cjs/ion-item-option_3.cjs.entry.js +24 -17
  177. package/dist/cjs/ion-item_8.cjs.entry.js +70 -40
  178. package/dist/cjs/ion-loading.cjs.entry.js +15 -12
  179. package/dist/cjs/ion-menu_3.cjs.entry.js +30 -23
  180. package/dist/cjs/ion-modal.cjs.entry.js +23 -20
  181. package/dist/cjs/ion-nav_2.cjs.entry.js +10 -9
  182. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  183. package/dist/cjs/ion-picker-column.cjs.entry.js +8 -8
  184. package/dist/cjs/ion-picker.cjs.entry.js +9 -5
  185. package/dist/cjs/ion-popover.cjs.entry.js +18 -15
  186. package/dist/cjs/ion-progress-bar.cjs.entry.js +11 -7
  187. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -11
  188. package/dist/cjs/ion-range.cjs.entry.js +17 -14
  189. package/dist/cjs/ion-refresher_2.cjs.entry.js +19 -15
  190. package/dist/cjs/ion-reorder_2.cjs.entry.js +27 -10
  191. package/dist/cjs/ion-ripple-effect.cjs.entry.js +6 -6
  192. package/dist/cjs/ion-route_4.cjs.entry.js +7 -7
  193. package/dist/cjs/ion-searchbar.cjs.entry.js +62 -16
  194. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -13
  195. package/dist/cjs/ion-select_3.cjs.entry.js +81 -33
  196. package/dist/cjs/ion-spinner.cjs.entry.js +7 -7
  197. package/dist/cjs/ion-split-pane.cjs.entry.js +13 -9
  198. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +20 -12
  199. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  200. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  201. package/dist/cjs/ion-textarea.cjs.entry.js +15 -12
  202. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  203. package/dist/cjs/ion-toggle.cjs.entry.js +56 -18
  204. package/dist/cjs/ionic-global-ecb21da6.js +418 -0
  205. package/dist/cjs/ionic.cjs.js +5 -5
  206. package/dist/cjs/{ios.transition-5ddf92f1.js → ios.transition-9f318fa2.js} +4 -4
  207. package/dist/cjs/loader.cjs.js +4 -4
  208. package/dist/cjs/{md.transition-047c18c5.js → md.transition-d9a93005.js} +3 -4
  209. package/dist/cjs/{overlays-cb04d075.js → overlays-06e33ba5.js} +3 -4
  210. package/dist/cjs/{status-tap-5b2775cd.js → status-tap-66bfb163.js} +3 -3
  211. package/dist/collection/collection-manifest.json +1 -1
  212. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  213. package/dist/collection/components/accordion/accordion.js +19 -15
  214. package/dist/collection/components/accordion/accordion.md.css +6 -0
  215. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  216. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  217. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  218. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  219. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  220. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  221. package/dist/collection/components/alert/alert.ios.css +19 -1
  222. package/dist/collection/components/alert/alert.js +15 -12
  223. package/dist/collection/components/alert/alert.md.css +19 -1
  224. package/dist/collection/components/app/app.js +8 -4
  225. package/dist/collection/components/avatar/avatar.ionic.css +223 -0
  226. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  227. package/dist/collection/components/avatar/avatar.js +88 -4
  228. package/dist/collection/components/avatar/avatar.md.css +12 -0
  229. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  230. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  231. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  232. package/dist/collection/components/back-button/back-button.js +14 -11
  233. package/dist/collection/components/back-button/back-button.md.css +60 -48
  234. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  235. package/dist/collection/components/backdrop/backdrop.js +12 -6
  236. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  237. package/dist/collection/components/badge/badge.ionic.css +250 -0
  238. package/dist/collection/components/badge/badge.ios.css +12 -0
  239. package/dist/collection/components/badge/badge.js +75 -8
  240. package/dist/collection/components/badge/badge.md.css +12 -0
  241. package/dist/collection/components/badge/test/shape/badge.e2e.js +70 -0
  242. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  243. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  244. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  245. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  246. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  247. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  248. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  249. package/dist/collection/components/button/button.ionic.css +630 -0
  250. package/dist/collection/components/button/button.ios.css +42 -16
  251. package/dist/collection/components/button/button.js +46 -17
  252. package/dist/collection/components/button/button.md.css +33 -20
  253. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  254. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  255. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  256. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  257. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  258. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  259. package/dist/collection/components/buttons/buttons.js +14 -8
  260. package/dist/collection/components/buttons/buttons.md.css +18 -0
  261. package/dist/collection/components/card/card.ionic.css +88 -0
  262. package/dist/collection/components/card/card.ios.css +30 -4
  263. package/dist/collection/components/card/card.js +34 -10
  264. package/dist/collection/components/card/card.md.css +30 -4
  265. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  266. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  267. package/dist/collection/components/card-content/card-content.js +11 -8
  268. package/dist/collection/components/card-content/card-content.md.css +12 -0
  269. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  270. package/dist/collection/components/card-header/card-header.js +12 -9
  271. package/dist/collection/components/card-header/card-header.md.css +12 -0
  272. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  273. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  274. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  275. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  276. package/dist/collection/components/card-title/card-title.js +11 -8
  277. package/dist/collection/components/card-title/card-title.md.css +12 -0
  278. package/dist/collection/components/checkbox/checkbox.ionic.css +498 -0
  279. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  280. package/dist/collection/components/checkbox/checkbox.js +59 -14
  281. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  282. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  283. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  284. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  285. package/dist/collection/components/chip/chip.ionic.css +141 -0
  286. package/dist/collection/components/chip/chip.ios.css +20 -1
  287. package/dist/collection/components/chip/chip.js +77 -8
  288. package/dist/collection/components/chip/chip.md.css +20 -1
  289. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  290. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  291. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  292. package/dist/collection/components/col/col.css +12 -0
  293. package/dist/collection/components/col/col.js +9 -5
  294. package/dist/collection/components/content/content.css +8 -2
  295. package/dist/collection/components/content/content.js +13 -10
  296. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  297. package/dist/collection/components/datetime/datetime.js +47 -19
  298. package/dist/collection/components/datetime/datetime.md.css +15 -3
  299. package/dist/collection/components/datetime/utils/data.js +3 -3
  300. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  301. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  302. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  303. package/dist/collection/components/fab/fab.css +25 -1
  304. package/dist/collection/components/fab/fab.js +9 -5
  305. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  306. package/dist/collection/components/fab-button/fab-button.js +19 -14
  307. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  308. package/dist/collection/components/fab-list/fab-list.css +12 -0
  309. package/dist/collection/components/fab-list/fab-list.js +9 -5
  310. package/dist/collection/components/footer/footer.ios.css +14 -2
  311. package/dist/collection/components/footer/footer.js +17 -14
  312. package/dist/collection/components/footer/footer.md.css +12 -0
  313. package/dist/collection/components/grid/grid.css +12 -0
  314. package/dist/collection/components/grid/grid.js +9 -5
  315. package/dist/collection/components/header/header.ios.css +14 -2
  316. package/dist/collection/components/header/header.js +17 -14
  317. package/dist/collection/components/header/header.md.css +12 -0
  318. package/dist/collection/components/img/img.js +8 -2
  319. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  321. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  322. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  323. package/dist/collection/components/input/input.ionic.css +1031 -0
  324. package/dist/collection/components/input/input.ios.css +21 -2
  325. package/dist/collection/components/input/input.js +127 -29
  326. package/dist/collection/components/input/input.md.css +43 -4
  327. package/dist/collection/components/input/test/basic/input.e2e.js +66 -0
  328. package/dist/collection/components/input/test/bottom-content/input.e2e.js +24 -5
  329. package/dist/collection/components/input/test/fill/input.e2e.js +37 -39
  330. package/dist/collection/components/input/test/highlight/input.e2e.js +94 -0
  331. package/dist/collection/components/input/test/shape/input.e2e.js +165 -0
  332. package/dist/collection/components/input/test/size/input.e2e.js +164 -0
  333. package/dist/collection/components/input/test/slot/input.e2e.js +14 -0
  334. package/dist/collection/components/input/test/states/input.e2e.js +173 -0
  335. package/dist/collection/components/input-password-toggle/input-password-toggle.js +6 -5
  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 +11 -5
  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 +4 -0
  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 +5 -2
  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 +68 -24
  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/config.js +8 -1
  486. package/dist/collection/global/ionic-global.js +161 -13
  487. package/dist/collection/global/test/config-controller.spec.js +9 -1
  488. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  489. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  490. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  491. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  492. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  493. package/dist/collection/utils/test/playwright/generator.js +48 -23
  494. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  495. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  496. package/dist/collection/utils/transition/ios.transition.js +1 -0
  497. package/dist/docs.d.ts +34 -0
  498. package/dist/docs.json +10237 -769
  499. package/dist/esm/{app-globals-b99e6d29.js → app-globals-b6113f52.js} +1 -1
  500. package/dist/esm/{button-active-920addb8.js → button-active-65828010.js} +1 -1
  501. package/dist/esm/{data-ae11fd43.js → data-164d6834.js} +4 -4
  502. package/dist/esm/{hardware-back-button-2d9760b6.js → hardware-back-button-dabd9bb5.js} +2 -2
  503. package/dist/esm/{index-9aab3bcf.js → index-05e49c52.js} +11 -4
  504. package/dist/esm/{index-8e6b6a24.js → index-6203f8c3.js} +4 -5
  505. package/dist/esm/{index-7ae7186a.js → index-be63bab1.js} +9 -8
  506. package/dist/esm/{index-5cc724f3.js → index-daf9f480.js} +1 -1
  507. package/dist/esm/index.js +8 -9
  508. package/dist/esm/{input-shims-0314bbe5.js → input-shims-ca8b89f2.js} +3 -2
  509. package/dist/esm/{input.utils-09c71bc7.js → input.utils-e548b60f.js} +1 -1
  510. package/dist/esm/ion-accordion_2.entry.js +23 -14
  511. package/dist/esm/ion-action-sheet.entry.js +17 -13
  512. package/dist/esm/ion-alert.entry.js +18 -15
  513. package/dist/esm/ion-app_8.entry.js +76 -57
  514. package/dist/esm/ion-avatar_3.entry.js +87 -8
  515. package/dist/esm/ion-back-button.entry.js +15 -11
  516. package/dist/esm/ion-backdrop.entry.js +11 -7
  517. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  518. package/dist/esm/ion-button_2.entry.js +42 -13
  519. package/dist/esm/ion-card_5.entry.js +49 -26
  520. package/dist/esm/ion-checkbox.entry.js +24 -13
  521. package/dist/esm/ion-chip.entry.js +43 -8
  522. package/dist/esm/ion-col_3.entry.js +14 -11
  523. package/dist/esm/ion-datetime-button.entry.js +11 -8
  524. package/dist/esm/ion-datetime_3.entry.js +60 -33
  525. package/dist/esm/ion-fab_3.entry.js +24 -18
  526. package/dist/esm/ion-img.entry.js +6 -3
  527. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  528. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  529. package/dist/esm/ion-input.entry.js +100 -21
  530. package/dist/esm/ion-item-option_3.entry.js +24 -17
  531. package/dist/esm/ion-item_8.entry.js +70 -40
  532. package/dist/esm/ion-loading.entry.js +15 -12
  533. package/dist/esm/ion-menu_3.entry.js +30 -23
  534. package/dist/esm/ion-modal.entry.js +18 -15
  535. package/dist/esm/ion-nav_2.entry.js +10 -9
  536. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  537. package/dist/esm/ion-picker-column.entry.js +8 -8
  538. package/dist/esm/ion-picker.entry.js +9 -5
  539. package/dist/esm/ion-popover.entry.js +15 -12
  540. package/dist/esm/ion-progress-bar.entry.js +11 -7
  541. package/dist/esm/ion-radio_2.entry.js +17 -11
  542. package/dist/esm/ion-range.entry.js +12 -9
  543. package/dist/esm/ion-refresher_2.entry.js +19 -15
  544. package/dist/esm/ion-reorder_2.entry.js +27 -10
  545. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  546. package/dist/esm/ion-route_4.entry.js +7 -7
  547. package/dist/esm/ion-searchbar.entry.js +62 -16
  548. package/dist/esm/ion-segment_2.entry.js +21 -13
  549. package/dist/esm/ion-select_3.entry.js +81 -33
  550. package/dist/esm/ion-spinner.entry.js +7 -7
  551. package/dist/esm/ion-split-pane.entry.js +13 -9
  552. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  553. package/dist/esm/ion-tab_2.entry.js +5 -5
  554. package/dist/esm/ion-text.entry.js +6 -6
  555. package/dist/esm/ion-textarea.entry.js +15 -12
  556. package/dist/esm/ion-toast.entry.js +16 -12
  557. package/dist/esm/ion-toggle.entry.js +56 -18
  558. package/dist/esm/ionic-global-3a78dab3.js +408 -0
  559. package/dist/esm/ionic.js +6 -6
  560. package/dist/esm/{ios.transition-e35d0940.js → ios.transition-31e880a0.js} +4 -4
  561. package/dist/esm/loader.js +5 -5
  562. package/dist/esm/{md.transition-4b90a1f0.js → md.transition-059ed0a2.js} +3 -4
  563. package/dist/esm/{overlays-df2c06b2.js → overlays-65d2b329.js} +2 -3
  564. package/dist/esm/{status-tap-12c27922.js → status-tap-c43a12b6.js} +3 -3
  565. package/dist/esm-es5/app-globals-b6113f52.js +4 -0
  566. package/dist/esm-es5/{button-active-920addb8.js → button-active-65828010.js} +1 -1
  567. package/dist/esm-es5/data-164d6834.js +4 -0
  568. package/dist/esm-es5/{hardware-back-button-2d9760b6.js → hardware-back-button-dabd9bb5.js} +1 -1
  569. package/dist/esm-es5/index-05e49c52.js +5 -0
  570. package/dist/esm-es5/index-6203f8c3.js +4 -0
  571. package/dist/esm-es5/index-be63bab1.js +4 -0
  572. package/dist/esm-es5/index-daf9f480.js +4 -0
  573. package/dist/esm-es5/index.js +1 -1
  574. package/dist/esm-es5/input-shims-ca8b89f2.js +4 -0
  575. package/dist/esm-es5/input.utils-e548b60f.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-3a78dab3.js +4 -0
  625. package/dist/esm-es5/ionic.js +1 -1
  626. package/dist/esm-es5/ios.transition-31e880a0.js +4 -0
  627. package/dist/esm-es5/loader.js +1 -1
  628. package/dist/esm-es5/md.transition-059ed0a2.js +4 -0
  629. package/dist/esm-es5/overlays-65d2b329.js +4 -0
  630. package/dist/esm-es5/status-tap-c43a12b6.js +4 -0
  631. package/dist/html.html-data.json +2054 -100
  632. package/dist/ionic/index.esm.js +1 -1
  633. package/dist/ionic/ionic.esm.js +1 -1
  634. package/dist/ionic/ionic.js +1 -1
  635. package/dist/ionic/p-00c68658.entry.js +4 -0
  636. package/dist/ionic/p-0559f877.entry.js +4 -0
  637. package/dist/ionic/p-09e2b04c.system.entry.js +4 -0
  638. package/dist/ionic/p-0afcfb02.system.entry.js +4 -0
  639. package/dist/ionic/p-0c0571e1.entry.js +4 -0
  640. package/dist/ionic/p-1046984f.system.entry.js +4 -0
  641. package/dist/ionic/p-120aeab9.system.entry.js +4 -0
  642. package/dist/ionic/p-1210e7e6.system.entry.js +4 -0
  643. package/dist/ionic/{p-e81f22e3.system.js → p-1398cb39.system.js} +1 -1
  644. package/dist/ionic/p-140acfec.system.entry.js +4 -0
  645. package/dist/ionic/p-15492684.system.entry.js +4 -0
  646. package/dist/ionic/p-16f7ebeb.entry.js +4 -0
  647. package/dist/ionic/p-17c596d4.system.js +4 -0
  648. package/dist/ionic/p-18e4c1d7.system.js +4 -0
  649. package/dist/ionic/{p-acd933c3.entry.js → p-18f147cb.entry.js} +1 -1
  650. package/dist/ionic/p-1cf323bb.system.js +4 -0
  651. package/dist/ionic/p-1f6ae933.entry.js +4 -0
  652. package/dist/ionic/p-21cc0d0e.system.entry.js +4 -0
  653. package/dist/ionic/p-22a20774.system.entry.js +4 -0
  654. package/dist/ionic/p-24e958d0.entry.js +4 -0
  655. package/dist/ionic/p-26216f78.entry.js +4 -0
  656. package/dist/ionic/{p-5734ac17.system.js → p-2634392b.system.js} +1 -1
  657. package/dist/ionic/{p-380efbfa.system.entry.js → p-27289c7c.system.entry.js} +2 -2
  658. package/dist/ionic/p-293e6d2c.system.js +4 -0
  659. package/dist/ionic/p-2e043e7d.entry.js +4 -0
  660. package/dist/ionic/p-2e6189bb.system.js +4 -0
  661. package/dist/ionic/p-3289e5b7.entry.js +4 -0
  662. package/dist/ionic/p-34ae5439.entry.js +4 -0
  663. package/dist/ionic/p-37b929e0.system.entry.js +4 -0
  664. package/dist/ionic/p-3801e2c8.entry.js +4 -0
  665. package/dist/ionic/p-3b6a0ea0.system.entry.js +4 -0
  666. package/dist/ionic/p-3c2945cf.entry.js +4 -0
  667. package/dist/ionic/p-3e03af13.entry.js +4 -0
  668. package/dist/ionic/p-42c83ece.entry.js +4 -0
  669. package/dist/ionic/{p-1cc0b31f.js → p-4884bc90.js} +1 -1
  670. package/dist/ionic/p-4960184a.entry.js +4 -0
  671. package/dist/ionic/p-4c744e5a.system.entry.js +4 -0
  672. package/dist/ionic/p-4e74f29e.system.entry.js +4 -0
  673. package/dist/ionic/p-4f4973cf.system.entry.js +4 -0
  674. package/dist/ionic/{p-ba70039f.entry.js → p-50093167.entry.js} +1 -1
  675. package/dist/ionic/p-5361e53f.entry.js +4 -0
  676. package/dist/ionic/p-55592ab8.system.entry.js +4 -0
  677. package/dist/ionic/p-56e809b4.system.js +4 -0
  678. package/dist/ionic/p-57879ac4.entry.js +4 -0
  679. package/dist/ionic/p-59143930.js +4 -0
  680. package/dist/ionic/p-5c7f7524.entry.js +4 -0
  681. package/dist/ionic/p-5ffed477.system.entry.js +4 -0
  682. package/dist/ionic/p-61329893.js +4 -0
  683. package/dist/ionic/p-63a97e2a.system.entry.js +4 -0
  684. package/dist/ionic/p-64d0dd0c.entry.js +4 -0
  685. package/dist/ionic/p-67cf88d6.system.entry.js +4 -0
  686. package/dist/ionic/p-6880f3bf.system.entry.js +4 -0
  687. package/dist/ionic/p-68ba8b7d.system.entry.js +4 -0
  688. package/dist/ionic/{p-9ea607bd.system.js → p-6a6ca185.system.js} +2 -2
  689. package/dist/ionic/{p-a953ef66.js → p-6aa85e65.js} +1 -1
  690. package/dist/ionic/p-72e47c16.system.entry.js +4 -0
  691. package/dist/ionic/p-76a448e5.system.js +4 -0
  692. package/dist/ionic/{p-bbbe869e.entry.js → p-7997648e.entry.js} +1 -1
  693. package/dist/ionic/p-7a49ab01.system.js +4 -0
  694. package/dist/ionic/p-7d601bfc.entry.js +4 -0
  695. package/dist/ionic/p-807cec2a.system.entry.js +4 -0
  696. package/dist/ionic/p-83211bad.entry.js +4 -0
  697. package/dist/ionic/{p-fcecca8f.entry.js → p-83ad624c.entry.js} +1 -1
  698. package/dist/ionic/p-84ebfbb1.entry.js +4 -0
  699. package/dist/ionic/p-852a2c61.entry.js +4 -0
  700. package/dist/ionic/p-85aade10.entry.js +4 -0
  701. package/dist/ionic/p-8912f40f.entry.js +4 -0
  702. package/dist/ionic/p-89e54d1f.entry.js +4 -0
  703. package/dist/ionic/p-8afbfd6e.entry.js +4 -0
  704. package/dist/ionic/{p-f357707e.entry.js → p-8c0fb5ed.entry.js} +1 -1
  705. package/dist/ionic/p-8c2a594c.system.entry.js +4 -0
  706. package/dist/ionic/{p-96cc4814.js → p-8d3e8b53.js} +1 -1
  707. package/dist/ionic/p-8d759008.js +4 -0
  708. package/dist/ionic/p-8f00c3bb.system.entry.js +4 -0
  709. package/dist/ionic/p-9049ce21.entry.js +4 -0
  710. package/dist/ionic/p-90dfe07e.entry.js +4 -0
  711. package/dist/ionic/{p-a39d3482.system.js → p-936bdf9c.system.js} +2 -2
  712. package/dist/ionic/p-9489e106.entry.js +4 -0
  713. package/dist/ionic/p-950322fc.system.entry.js +4 -0
  714. package/dist/ionic/p-96ae2c43.js +4 -0
  715. package/dist/ionic/p-9933b7e3.system.js +4 -0
  716. package/dist/ionic/{p-b07affd5.system.entry.js → p-9a4d9e9c.system.entry.js} +1 -1
  717. package/dist/ionic/p-9ae90d0a.js +4 -0
  718. package/dist/ionic/p-9cae5041.js +4 -0
  719. package/dist/ionic/p-9d4d32fb.entry.js +4 -0
  720. package/dist/ionic/p-a0e82f96.entry.js +4 -0
  721. package/dist/ionic/{p-f687573e.system.js → p-a206b791.system.js} +1 -1
  722. package/dist/ionic/{p-83d748f8.system.entry.js → p-a3164615.system.entry.js} +2 -2
  723. package/dist/ionic/p-a6bcec0a.system.entry.js +4 -0
  724. package/dist/ionic/p-a6ef1875.js +5 -0
  725. package/dist/ionic/p-aa02bb2b.system.js +5 -0
  726. package/dist/ionic/p-aaa25d2b.system.entry.js +4 -0
  727. package/dist/ionic/p-adddf232.js +4 -0
  728. package/dist/ionic/p-afdb4b5e.system.entry.js +4 -0
  729. package/dist/ionic/{p-e36e2c94.system.entry.js → p-b7824524.system.entry.js} +1 -1
  730. package/dist/ionic/p-bc91eb01.system.entry.js +4 -0
  731. package/dist/ionic/p-bf0d4fd7.entry.js +4 -0
  732. package/dist/ionic/p-c1a692be.entry.js +4 -0
  733. package/dist/ionic/p-ceb147e2.system.entry.js +4 -0
  734. package/dist/ionic/p-cf5223da.system.entry.js +4 -0
  735. package/dist/ionic/p-d2a092eb.system.entry.js +4 -0
  736. package/dist/ionic/p-d8c15dd8.system.entry.js +4 -0
  737. package/dist/ionic/p-d91a74be.entry.js +4 -0
  738. package/dist/ionic/p-d99aacc8.entry.js +4 -0
  739. package/dist/ionic/p-d9f9872a.system.entry.js +4 -0
  740. package/dist/ionic/{p-0c06e09b.system.js → p-db61f08b.system.js} +1 -1
  741. package/dist/ionic/{p-0a6d801e.system.entry.js → p-dbfcfe2b.system.entry.js} +1 -1
  742. package/dist/ionic/p-dcb64ec6.js +4 -0
  743. package/dist/ionic/p-dd5ae216.system.entry.js +4 -0
  744. package/dist/ionic/p-dea26835.js +4 -0
  745. package/dist/ionic/p-e0d0f75a.entry.js +4 -0
  746. package/dist/ionic/{p-d69b26d9.system.entry.js → p-e10dbddf.system.entry.js} +1 -1
  747. package/dist/ionic/p-e178169e.entry.js +4 -0
  748. package/dist/ionic/p-e40c6bfd.entry.js +4 -0
  749. package/dist/ionic/p-e90ee10a.entry.js +4 -0
  750. package/dist/ionic/p-e91cdd26.system.entry.js +4 -0
  751. package/dist/ionic/{p-06e58c4e.js → p-e9436e94.js} +1 -1
  752. package/dist/ionic/{p-f9baf25c.entry.js → p-ea15a05b.entry.js} +1 -1
  753. package/dist/ionic/p-eadac5f0.entry.js +4 -0
  754. package/dist/ionic/p-ecfe04bf.system.entry.js +4 -0
  755. package/dist/ionic/{p-d60342e3.js → p-eef7ad58.js} +1 -1
  756. package/dist/ionic/p-efacf3c0.system.entry.js +4 -0
  757. package/dist/ionic/p-f3fe071d.entry.js +4 -0
  758. package/dist/ionic/p-f5190213.system.js +4 -0
  759. package/dist/ionic/p-f691f64b.system.entry.js +4 -0
  760. package/dist/ionic/p-f8d22ba7.system.entry.js +4 -0
  761. package/dist/ionic/{p-ed5aebaa.system.entry.js → p-f98c2e75.system.entry.js} +1 -1
  762. package/dist/ionic/p-fc6bb4a2.system.entry.js +4 -0
  763. package/dist/types/components/accordion/accordion.d.ts +3 -2
  764. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  765. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  766. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  767. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  768. package/dist/types/components/alert/alert.d.ts +3 -2
  769. package/dist/types/components/app/app.d.ts +4 -0
  770. package/dist/types/components/avatar/avatar.d.ts +24 -0
  771. package/dist/types/components/back-button/back-button.d.ts +2 -1
  772. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  773. package/dist/types/components/badge/badge.d.ts +22 -1
  774. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  775. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  776. package/dist/types/components/button/button.d.ts +15 -4
  777. package/dist/types/components/buttons/buttons.d.ts +5 -1
  778. package/dist/types/components/card/card.d.ts +8 -1
  779. package/dist/types/components/card-content/card-content.d.ts +2 -1
  780. package/dist/types/components/card-header/card-header.d.ts +3 -2
  781. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  782. package/dist/types/components/card-title/card-title.d.ts +2 -1
  783. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  784. package/dist/types/components/chip/chip.d.ts +19 -1
  785. package/dist/types/components/col/col.d.ts +4 -0
  786. package/dist/types/components/content/content.d.ts +3 -0
  787. package/dist/types/components/datetime/datetime.d.ts +18 -1
  788. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  789. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  790. package/dist/types/components/fab/fab.d.ts +4 -0
  791. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  792. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  793. package/dist/types/components/footer/footer.d.ts +4 -3
  794. package/dist/types/components/grid/grid.d.ts +4 -0
  795. package/dist/types/components/header/header.d.ts +4 -3
  796. package/dist/types/components/img/img.d.ts +3 -0
  797. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  798. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  799. package/dist/types/components/input/input.d.ts +31 -5
  800. package/dist/types/components/item/item.d.ts +5 -4
  801. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  802. package/dist/types/components/item-group/item-group.d.ts +4 -0
  803. package/dist/types/components/item-option/item-option.d.ts +2 -1
  804. package/dist/types/components/item-options/item-options.d.ts +4 -0
  805. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  806. package/dist/types/components/label/label.d.ts +2 -1
  807. package/dist/types/components/list/list.d.ts +2 -1
  808. package/dist/types/components/list-header/list-header.d.ts +2 -1
  809. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  810. package/dist/types/components/loading/loading.d.ts +3 -2
  811. package/dist/types/components/menu/menu.d.ts +3 -0
  812. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  813. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  814. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  815. package/dist/types/components/modal/modal.d.ts +2 -1
  816. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  817. package/dist/types/components/nav/nav.d.ts +5 -1
  818. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  819. package/dist/types/components/note/note.d.ts +2 -1
  820. package/dist/types/components/picker/picker.d.ts +2 -1
  821. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  822. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  823. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  824. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  825. package/dist/types/components/popover/popover.d.ts +6 -5
  826. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  827. package/dist/types/components/radio/radio.d.ts +2 -1
  828. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  829. package/dist/types/components/range/range.d.ts +2 -1
  830. package/dist/types/components/refresher/refresher.d.ts +2 -1
  831. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  832. package/dist/types/components/reorder/reorder.d.ts +11 -0
  833. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  834. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  835. package/dist/types/components/route/route.d.ts +4 -0
  836. package/dist/types/components/router/router.d.ts +4 -0
  837. package/dist/types/components/router-link/router-link.d.ts +4 -0
  838. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  839. package/dist/types/components/row/row.d.ts +4 -0
  840. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  841. package/dist/types/components/segment/segment.d.ts +2 -1
  842. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  843. package/dist/types/components/select/select.d.ts +24 -5
  844. package/dist/types/components/select-option/select-option.d.ts +4 -0
  845. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  846. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  847. package/dist/types/components/spinner/spinner.d.ts +4 -0
  848. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  849. package/dist/types/components/tab/tab.d.ts +4 -0
  850. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  851. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  852. package/dist/types/components/tabs/tabs.d.ts +3 -0
  853. package/dist/types/components/text/text.d.ts +2 -1
  854. package/dist/types/components/textarea/textarea.d.ts +3 -2
  855. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  856. package/dist/types/components/title/title.d.ts +4 -0
  857. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  858. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  859. package/dist/types/components/toast/toast.d.ts +3 -2
  860. package/dist/types/components/toggle/toggle.d.ts +19 -1
  861. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  862. package/dist/types/components.d.ts +1278 -174
  863. package/dist/types/global/ionic-global.d.ts +25 -2
  864. package/dist/types/interface.d.ts +3 -0
  865. package/dist/types/utils/config.d.ts +99 -2
  866. package/dist/types/utils/overlays-interface.d.ts +31 -1
  867. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  868. package/hydrate/index.js +1571 -618
  869. package/package.json +7 -4
  870. package/components/index9.js +0 -167
  871. package/dist/cjs/index-5915f9b3.js +0 -38
  872. package/dist/cjs/ionic-global-35b86a09.js +0 -230
  873. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  874. package/dist/esm/index-9b0d46f4.js +0 -34
  875. package/dist/esm/ionic-global-4528d288.js +0 -224
  876. package/dist/esm-es5/app-globals-b99e6d29.js +0 -4
  877. package/dist/esm-es5/data-ae11fd43.js +0 -4
  878. package/dist/esm-es5/index-5cc724f3.js +0 -4
  879. package/dist/esm-es5/index-7ae7186a.js +0 -4
  880. package/dist/esm-es5/index-8e6b6a24.js +0 -4
  881. package/dist/esm-es5/index-9aab3bcf.js +0 -5
  882. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  883. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  884. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  885. package/dist/esm-es5/ionic-global-4528d288.js +0 -4
  886. package/dist/esm-es5/ios.transition-e35d0940.js +0 -4
  887. package/dist/esm-es5/md.transition-4b90a1f0.js +0 -4
  888. package/dist/esm-es5/overlays-df2c06b2.js +0 -4
  889. package/dist/esm-es5/status-tap-12c27922.js +0 -4
  890. package/dist/ionic/p-0395be73.entry.js +0 -4
  891. package/dist/ionic/p-03b86a5e.js +0 -4
  892. package/dist/ionic/p-0536574e.entry.js +0 -4
  893. package/dist/ionic/p-06fee233.js +0 -4
  894. package/dist/ionic/p-08ea3402.system.entry.js +0 -4
  895. package/dist/ionic/p-09538818.entry.js +0 -4
  896. package/dist/ionic/p-0978924b.system.entry.js +0 -4
  897. package/dist/ionic/p-09b4e9ec.entry.js +0 -4
  898. package/dist/ionic/p-0b007acc.system.entry.js +0 -4
  899. package/dist/ionic/p-10feef7e.system.entry.js +0 -4
  900. package/dist/ionic/p-15d1ddba.js +0 -4
  901. package/dist/ionic/p-199f826f.system.entry.js +0 -4
  902. package/dist/ionic/p-1b435d20.entry.js +0 -4
  903. package/dist/ionic/p-1eb63fa4.entry.js +0 -4
  904. package/dist/ionic/p-207e11dc.entry.js +0 -4
  905. package/dist/ionic/p-2690b1de.js +0 -4
  906. package/dist/ionic/p-279f3bac.system.entry.js +0 -4
  907. package/dist/ionic/p-29de09dd.entry.js +0 -4
  908. package/dist/ionic/p-2c588aa2.entry.js +0 -4
  909. package/dist/ionic/p-2ff0e0aa.system.js +0 -4
  910. package/dist/ionic/p-30baae57.system.js +0 -4
  911. package/dist/ionic/p-31d27232.system.js +0 -4
  912. package/dist/ionic/p-33e10509.system.js +0 -4
  913. package/dist/ionic/p-3d015cdb.system.js +0 -5
  914. package/dist/ionic/p-3f53a0b1.entry.js +0 -4
  915. package/dist/ionic/p-433157a4.entry.js +0 -4
  916. package/dist/ionic/p-498eb648.system.entry.js +0 -4
  917. package/dist/ionic/p-4d8f408d.system.entry.js +0 -4
  918. package/dist/ionic/p-5091f63c.entry.js +0 -4
  919. package/dist/ionic/p-509620b8.system.entry.js +0 -4
  920. package/dist/ionic/p-5109a566.entry.js +0 -4
  921. package/dist/ionic/p-51f35fe8.system.entry.js +0 -4
  922. package/dist/ionic/p-52ce473d.entry.js +0 -4
  923. package/dist/ionic/p-52f53904.entry.js +0 -4
  924. package/dist/ionic/p-55f99a39.system.entry.js +0 -4
  925. package/dist/ionic/p-57bc32e2.system.entry.js +0 -4
  926. package/dist/ionic/p-5cc6dcf5.js +0 -4
  927. package/dist/ionic/p-5dc9f99a.entry.js +0 -4
  928. package/dist/ionic/p-606f069c.entry.js +0 -4
  929. package/dist/ionic/p-628967e3.system.entry.js +0 -4
  930. package/dist/ionic/p-62e44e4a.system.entry.js +0 -4
  931. package/dist/ionic/p-66ed603b.js +0 -4
  932. package/dist/ionic/p-68bb9870.system.entry.js +0 -4
  933. package/dist/ionic/p-6a2cf398.system.entry.js +0 -4
  934. package/dist/ionic/p-6c3666d5.entry.js +0 -4
  935. package/dist/ionic/p-6ec88301.entry.js +0 -4
  936. package/dist/ionic/p-6f008ad2.js +0 -4
  937. package/dist/ionic/p-6fc11592.entry.js +0 -4
  938. package/dist/ionic/p-700567ab.system.entry.js +0 -4
  939. package/dist/ionic/p-712d54ae.js +0 -4
  940. package/dist/ionic/p-7349de07.entry.js +0 -4
  941. package/dist/ionic/p-77731f19.system.entry.js +0 -4
  942. package/dist/ionic/p-78405458.entry.js +0 -4
  943. package/dist/ionic/p-7c3d391b.system.entry.js +0 -4
  944. package/dist/ionic/p-7d6fd45f.system.entry.js +0 -4
  945. package/dist/ionic/p-80265a58.entry.js +0 -4
  946. package/dist/ionic/p-842c9fca.system.js +0 -4
  947. package/dist/ionic/p-897fac22.system.entry.js +0 -4
  948. package/dist/ionic/p-8a03fbee.entry.js +0 -4
  949. package/dist/ionic/p-8cb80f83.system.entry.js +0 -4
  950. package/dist/ionic/p-8d14ee8c.system.entry.js +0 -4
  951. package/dist/ionic/p-9213681c.system.entry.js +0 -4
  952. package/dist/ionic/p-92d7e99d.system.js +0 -4
  953. package/dist/ionic/p-9664a1a2.system.entry.js +0 -4
  954. package/dist/ionic/p-9797f6eb.entry.js +0 -4
  955. package/dist/ionic/p-9848d7be.system.entry.js +0 -4
  956. package/dist/ionic/p-98f6116f.entry.js +0 -4
  957. package/dist/ionic/p-99884813.entry.js +0 -4
  958. package/dist/ionic/p-99ca9787.system.entry.js +0 -4
  959. package/dist/ionic/p-9bfd7cda.system.entry.js +0 -4
  960. package/dist/ionic/p-9c6dcf78.system.entry.js +0 -4
  961. package/dist/ionic/p-9da86308.js +0 -4
  962. package/dist/ionic/p-9ec42be0.js +0 -4
  963. package/dist/ionic/p-a488b7ab.system.js +0 -4
  964. package/dist/ionic/p-a4ab7449.entry.js +0 -4
  965. package/dist/ionic/p-a50f23bf.system.entry.js +0 -4
  966. package/dist/ionic/p-a6a7ac93.system.entry.js +0 -4
  967. package/dist/ionic/p-a6a8b478.system.entry.js +0 -4
  968. package/dist/ionic/p-aaaaaea1.entry.js +0 -4
  969. package/dist/ionic/p-b02eda30.entry.js +0 -4
  970. package/dist/ionic/p-b28d3ccb.system.entry.js +0 -4
  971. package/dist/ionic/p-b563b6ac.entry.js +0 -4
  972. package/dist/ionic/p-b9181033.system.entry.js +0 -4
  973. package/dist/ionic/p-b9e6494b.entry.js +0 -4
  974. package/dist/ionic/p-bd1173d3.entry.js +0 -4
  975. package/dist/ionic/p-c0e9ba51.entry.js +0 -4
  976. package/dist/ionic/p-c41435e6.system.entry.js +0 -4
  977. package/dist/ionic/p-c5dd0892.system.entry.js +0 -4
  978. package/dist/ionic/p-cd96c996.entry.js +0 -4
  979. package/dist/ionic/p-cec8589b.system.js +0 -4
  980. package/dist/ionic/p-d9f3d68a.entry.js +0 -4
  981. package/dist/ionic/p-dba5cb84.js +0 -5
  982. package/dist/ionic/p-dc0d9ff5.system.entry.js +0 -4
  983. package/dist/ionic/p-dc1e363a.entry.js +0 -4
  984. package/dist/ionic/p-df517d1f.entry.js +0 -4
  985. package/dist/ionic/p-dfb78785.system.js +0 -4
  986. package/dist/ionic/p-e0a8ffd0.system.entry.js +0 -4
  987. package/dist/ionic/p-e6e197f5.system.entry.js +0 -4
  988. package/dist/ionic/p-e6e88ab9.entry.js +0 -4
  989. package/dist/ionic/p-e9f9e7dd.entry.js +0 -4
  990. package/dist/ionic/p-eb3023c9.system.js +0 -4
  991. package/dist/ionic/p-ecbdbf25.system.entry.js +0 -4
  992. package/dist/ionic/p-f0e81ddb.entry.js +0 -4
  993. package/dist/ionic/p-f53bcebd.entry.js +0 -4
  994. package/dist/ionic/p-fb21fd1c.system.entry.js +0 -4
  995. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -3,11 +3,15 @@
3
3
  */
4
4
  import { Host, forceUpdate, h } from "@stencil/core";
5
5
  import { matchBreakpoint } from "../../utils/media";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
7
  const win = typeof window !== 'undefined' ? window : undefined;
8
8
  // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
9
9
  const SUPPORTS_VARS = win && !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));
10
10
  const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
11
+ /**
12
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
13
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
14
+ */
11
15
  export class Col {
12
16
  constructor() {
13
17
  this.offset = undefined;
@@ -110,10 +114,10 @@ export class Col {
110
114
  }
111
115
  render() {
112
116
  const isRTL = document.dir === 'rtl';
113
- const mode = getIonMode(this);
114
- return (h(Host, { key: 'c37fa4c4c993385ccbb6f4e89b2f390b140507a0', class: {
115
- [mode]: true,
116
- }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: '6a5296ff0b9dee6600c2dafe7363a065d053bac2' })));
117
+ const theme = getIonTheme(this);
118
+ return (h(Host, { key: '43fb2abaf5b1244676686503b8c4d3d0d31f8418', class: {
119
+ [theme]: true,
120
+ }, style: Object.assign(Object.assign(Object.assign(Object.assign({}, this.calculateOffset(isRTL)), this.calculatePull(isRTL)), this.calculatePush(isRTL)), this.calculateSize()) }, h("slot", { key: 'dff06fba1c546b782133fb9ea272050030b07bc4' })));
117
121
  }
118
122
  static get is() { return "ion-col"; }
119
123
  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
@@ -98,8 +104,8 @@
98
104
  }
99
105
 
100
106
  #background-content {
101
- left: 0px;
102
107
  right: 0px;
108
+ left: 0px;
103
109
  top: calc(var(--offset-top) * -1);
104
110
  bottom: calc(var(--offset-bottom) * -1);
105
111
  position: absolute;
@@ -107,8 +113,8 @@
107
113
  }
108
114
 
109
115
  .inner-scroll {
110
- left: 0px;
111
116
  right: 0px;
117
+ left: 0px;
112
118
  top: calc(var(--offset-top) * -1);
113
119
  bottom: calc(var(--offset-bottom) * -1);
114
120
  -webkit-padding-start: var(--padding-start);
@@ -6,8 +6,11 @@ import { componentOnReady, hasLazyBuild } from "../../utils/helpers";
6
6
  import { isPlatform } from "../../utils/platform";
7
7
  import { isRTL } from "../../utils/rtl/index";
8
8
  import { createColorClasses, hostContext } from "../../utils/theme";
9
- import { getIonMode } from "../../global/ionic-global";
9
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
10
10
  /**
11
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
12
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
13
+ *
11
14
  * @slot - Content is placed in the scrollable area if provided without a slot.
12
15
  * @slot fixed - Should be used for fixed content that should not scroll.
13
16
  *
@@ -143,9 +146,8 @@ export class Content {
143
146
  this.resize();
144
147
  }, 100);
145
148
  }
146
- shouldForceOverscroll() {
149
+ shouldForceOverscroll(mode) {
147
150
  const { forceOverscroll } = this;
148
- const mode = getIonMode(this);
149
151
  return forceOverscroll === undefined ? mode === 'ios' && isPlatform('ios') : forceOverscroll;
150
152
  }
151
153
  resize() {
@@ -332,24 +334,25 @@ export class Content {
332
334
  render() {
333
335
  const { fixedSlotPlacement, isMainContent, scrollX, scrollY, el } = this;
334
336
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
335
- const mode = getIonMode(this);
336
- const forceOverscroll = this.shouldForceOverscroll();
337
- const transitionShadow = mode === 'ios';
337
+ const theme = getIonTheme(this);
338
+ const mode = getIonMode(this, theme);
339
+ const forceOverscroll = this.shouldForceOverscroll(mode);
340
+ const transitionShadow = theme === 'ios';
338
341
  this.resize();
339
- return (h(Host, { key: 'f599a7da14969df38c20a6f650179d2a319fb58b', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
340
- [mode]: true,
342
+ return (h(Host, { key: '07bb171531f052fb05240af7643337cfe7f2cf13', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
343
+ [theme]: true,
341
344
  'content-sizing': hostContext('ion-popover', this.el),
342
345
  overscroll: forceOverscroll,
343
346
  [`content-${rtl}`]: true,
344
347
  }), style: {
345
348
  '--offset-top': `${this.cTop}px`,
346
349
  '--offset-bottom': `${this.cBottom}px`,
347
- } }, h("div", { key: '7c545c3c95ea05abd036d0462936ac153d2a8fc6', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'a67ab7438466c99f74b7ba59964802c3ba86ac5b', class: {
350
+ } }, h("div", { key: '53eb971417e10366445f558b0c40982ec7a676e4', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '4a1f7daf295c58f9255091b8adfd7f9d687cff3e', class: {
348
351
  'inner-scroll': true,
349
352
  'scroll-x': scrollX,
350
353
  'scroll-y': scrollY,
351
354
  overscroll: (scrollX || scrollY) && forceOverscroll,
352
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '6d10fcac2e40b4dd6c20d91a8957ac07251d2fa7' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
355
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '47f94fd793310fe28769b6b3d0bf9645a89d77f6' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
353
356
  }
354
357
  static get is() { return "ion-content"; }
355
358
  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
@@ -432,18 +438,18 @@
432
438
  }
433
439
 
434
440
  .calendar-month-year-toggle {
441
+ color: inherit;
435
442
  font-family: inherit;
436
443
  font-size: inherit;
437
444
  font-style: inherit;
438
445
  font-weight: inherit;
439
446
  letter-spacing: inherit;
447
+ text-align: inherit;
440
448
  text-decoration: inherit;
441
449
  text-indent: inherit;
442
450
  text-overflow: inherit;
443
451
  text-transform: inherit;
444
- text-align: inherit;
445
452
  white-space: inherit;
446
- color: inherit;
447
453
  position: relative;
448
454
  border: 0;
449
455
  outline: none;
@@ -452,8 +458,8 @@
452
458
  z-index: 1;
453
459
  }
454
460
  .calendar-month-year-toggle::after {
455
- left: 0;
456
461
  right: 0;
462
+ left: 0;
457
463
  top: 0;
458
464
  bottom: 0;
459
465
  position: absolute;
@@ -491,6 +497,12 @@ ion-picker {
491
497
  --fade-background-rgb: var(--wheel-fade-background-rgb);
492
498
  }
493
499
 
500
+ /**
501
+ * Convert a pixels given value into rem
502
+ *
503
+ * @param pixels - Value in pixels to be converted (i.e. px)
504
+ * @param context (optional) - Baseline value
505
+ */
494
506
  /**
495
507
  * Convert a font size to a dynamic font size.
496
508
  * Fonts that participate in Dynamic Type should use
@@ -8,7 +8,8 @@ import { printIonError, printIonWarning } from "../../utils/logging/index";
8
8
  import { isRTL } from "../../utils/rtl/index";
9
9
  import { createColorClasses } from "../../utils/theme";
10
10
  import { caretDownSharp, caretUpSharp, chevronBack, chevronDown, chevronForward } from "ionicons/icons";
11
- import { getIonMode } from "../../global/ionic-global";
11
+ import { config } from "../../global/config";
12
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
12
13
  import { isSameDay, warnIfValueOutOfBounds, isBefore, isAfter } from "./utils/comparison";
13
14
  import { generateMonths, getDaysOfMonth, getDaysOfWeek, getToday, getMonthColumnData, getDayColumnData, getYearColumnData, getTimeColumnsData, getCombinedDateColumnData, } from "./utils/data";
14
15
  import { formatValue, getLocalizedDateTime, getLocalizedTime, getMonthAndYear } from "./utils/format";
@@ -18,7 +19,8 @@ import { clampDate, convertToArrayOfNumbers, getPartsFromCalendarDay, parseAmPm,
18
19
  import { getCalendarDayState, getHighlightStyles, isDayDisabled, isMonthDisabled, isNextMonthDisabled, isPrevMonthDisabled, } from "./utils/state";
19
20
  import { checkForPresentationFormatMismatch, warnIfTimeZoneProvided } from "./utils/validate";
20
21
  /**
21
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
22
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
23
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
22
24
  *
23
25
  * @slot title - The title of the datetime.
24
26
  * @slot buttons - The buttons in the datetime.
@@ -1265,10 +1267,10 @@ export class Datetime {
1265
1267
  /**
1266
1268
  * Grid Render Methods
1267
1269
  */
1268
- renderCalendarHeader(mode) {
1269
- const { disabled } = this;
1270
- const expandedIcon = mode === 'ios' ? chevronDown : caretUpSharp;
1271
- const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
1270
+ renderCalendarHeader(theme) {
1271
+ const { disabled, datetimeShowMonthYearIcon, datetimeHideMonthYearIcon } = this;
1272
+ const datetimeNextIcon = config.get('datetimeNextIcon', chevronForward);
1273
+ const datetimePrevIcon = config.get('datetimePreviousIcon', chevronBack);
1272
1274
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
1273
1275
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
1274
1276
  // don't use the inheritAttributes util because it removes dir from the host, and we still need that
@@ -1277,7 +1279,7 @@ export class Datetime {
1277
1279
  'calendar-month-year-toggle': true,
1278
1280
  'ion-activatable': true,
1279
1281
  'ion-focusable': true,
1280
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
1282
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? datetimeShowMonthYearIcon : datetimeHideMonthYearIcon, lazy: false, flipRtl: true })), theme === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimePrevIcon, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: datetimeNextIcon, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, getDaysOfWeek(this.locale, theme, this.firstDayOfWeek % 7).map((d) => {
1281
1283
  return h("div", { class: "day-of-week" }, d);
1282
1284
  }))));
1283
1285
  }
@@ -1397,8 +1399,8 @@ export class Datetime {
1397
1399
  return this.renderMonth(month, year);
1398
1400
  })));
1399
1401
  }
1400
- renderCalendar(mode) {
1401
- return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
1402
+ renderCalendar(theme) {
1403
+ return (h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(theme), this.renderCalendarBody()));
1402
1404
  }
1403
1405
  renderTimeLabel() {
1404
1406
  const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
@@ -1506,7 +1508,7 @@ export class Datetime {
1506
1508
  * Render entry point
1507
1509
  * All presentation types are rendered from here.
1508
1510
  */
1509
- renderDatetime(mode) {
1511
+ renderDatetime(theme) {
1510
1512
  const { presentation, preferWheel } = this;
1511
1513
  /**
1512
1514
  * Certain presentation types have separate grid and wheel displays.
@@ -1520,7 +1522,7 @@ export class Datetime {
1520
1522
  case 'date-time':
1521
1523
  return [
1522
1524
  this.renderHeader(),
1523
- this.renderCalendar(mode),
1525
+ this.renderCalendar(theme),
1524
1526
  this.renderCalendarViewMonthYearPicker(),
1525
1527
  this.renderTime(),
1526
1528
  this.renderFooter(),
@@ -1529,7 +1531,7 @@ export class Datetime {
1529
1531
  return [
1530
1532
  this.renderHeader(),
1531
1533
  this.renderTime(),
1532
- this.renderCalendar(mode),
1534
+ this.renderCalendar(theme),
1533
1535
  this.renderCalendarViewMonthYearPicker(),
1534
1536
  this.renderFooter(),
1535
1537
  ];
@@ -1542,23 +1544,47 @@ export class Datetime {
1542
1544
  default:
1543
1545
  return [
1544
1546
  this.renderHeader(),
1545
- this.renderCalendar(mode),
1547
+ this.renderCalendar(theme),
1546
1548
  this.renderCalendarViewMonthYearPicker(),
1547
1549
  this.renderFooter(),
1548
1550
  ];
1549
1551
  }
1550
1552
  }
1553
+ /**
1554
+ * Get the icon to use for the show month and year icon.
1555
+ * Otherwise, use the icon set in the config.
1556
+ * If no icon is set in the config, use the default icon.
1557
+ *
1558
+ * @returns {string} The icon to use for the show month and year icon.
1559
+ */
1560
+ get datetimeShowMonthYearIcon() {
1561
+ const theme = getIonTheme(this);
1562
+ const expandedIcon = theme === 'ios' ? chevronDown : caretUpSharp;
1563
+ return config.get('datetimeShowMonthYearIcon', expandedIcon);
1564
+ }
1565
+ /**
1566
+ * Get the icon to use for the hide month and year icon.
1567
+ * Otherwise, use the icon set in the config.
1568
+ * If no icon is set in the config, use the default icon.
1569
+ *
1570
+ * @returns {string} The icon to use for the hide month and year icon.
1571
+ */
1572
+ get datetimeHideMonthYearIcon() {
1573
+ const theme = getIonTheme(this);
1574
+ const collapsedIcon = theme === 'ios' ? chevronForward : caretDownSharp;
1575
+ return config.get('datetimeHideMonthYearIcon', collapsedIcon);
1576
+ }
1551
1577
  render() {
1552
1578
  const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size, isGridStyle, } = this;
1553
- const mode = getIonMode(this);
1579
+ const theme = getIonTheme(this);
1554
1580
  const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
1555
1581
  const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
1556
1582
  const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
1557
1583
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1558
1584
  const hasWheelVariant = hasDatePresentation && preferWheel;
1559
1585
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1560
- return (h(Host, { key: '48313af4ec8e2a2666cd8c89932c5131dfa7b556', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1561
- [mode]: true,
1586
+ return (h(Host, { key: '0b667064798267a2ca5a843a1f9a3b96f45d3841', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1587
+ [theme]: true,
1562
1588
  ['datetime-readonly']: readonly,
1563
1589
  ['datetime-disabled']: disabled,
1564
1590
  'show-month-and-year': shouldShowMonthAndYear,
@@ -1567,20 +1593,22 @@ export class Datetime {
1567
1593
  [`datetime-size-${size}`]: true,
1568
1594
  [`datetime-prefer-wheel`]: hasWheelVariant,
1569
1595
  [`datetime-grid`]: isGridStyle,
1570
- })) }, h("div", { key: 'b72570048236415aed915488305046d987d51dcf', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1596
+ })) }, h("div", { key: 'a626c11a8dd7a806f54756367e7f61557e27bc33', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1571
1597
  }
1572
1598
  static get is() { return "ion-datetime"; }
1573
1599
  static get encapsulation() { return "shadow"; }
1574
1600
  static get originalStyleUrls() {
1575
1601
  return {
1576
1602
  "ios": ["datetime.ios.scss"],
1577
- "md": ["datetime.md.scss"]
1603
+ "md": ["datetime.md.scss"],
1604
+ "ionic": ["datetime.md.scss"]
1578
1605
  };
1579
1606
  }
1580
1607
  static get styleUrls() {
1581
1608
  return {
1582
1609
  "ios": ["datetime.ios.css"],
1583
- "md": ["datetime.md.css"]
1610
+ "md": ["datetime.md.css"],
1611
+ "ionic": ["datetime.md.css"]
1584
1612
  };
1585
1613
  }
1586
1614
  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
@@ -432,18 +438,18 @@
432
438
  }
433
439
 
434
440
  .calendar-month-year-toggle {
441
+ color: inherit;
435
442
  font-family: inherit;
436
443
  font-size: inherit;
437
444
  font-style: inherit;
438
445
  font-weight: inherit;
439
446
  letter-spacing: inherit;
447
+ text-align: inherit;
440
448
  text-decoration: inherit;
441
449
  text-indent: inherit;
442
450
  text-overflow: inherit;
443
451
  text-transform: inherit;
444
- text-align: inherit;
445
452
  white-space: inherit;
446
- color: inherit;
447
453
  position: relative;
448
454
  border: 0;
449
455
  outline: none;
@@ -452,8 +458,8 @@
452
458
  z-index: 1;
453
459
  }
454
460
  .calendar-month-year-toggle::after {
455
- left: 0;
456
461
  right: 0;
462
+ left: 0;
457
463
  top: 0;
458
464
  bottom: 0;
459
465
  position: absolute;
@@ -491,6 +497,12 @@ ion-picker {
491
497
  --fade-background-rgb: var(--wheel-fade-background-rgb);
492
498
  }
493
499
 
500
+ /**
501
+ * Convert a pixels given value into rem
502
+ *
503
+ * @param pixels - Value in pixels to be converted (i.e. px)
504
+ * @param context (optional) - Baseline value
505
+ */
494
506
  /**
495
507
  * Convert a font size to a dynamic font size.
496
508
  * Fonts that participate in Dynamic Type should use
@@ -43,20 +43,20 @@ const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
43
43
  // h24 hour system uses 1-24. Midnight starts at 24:00.
44
44
  const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
45
45
  /**
46
- * Given a locale and a mode,
46
+ * Given a locale and a theme,
47
47
  * return an array with formatted days
48
48
  * of the week. iOS should display days
49
49
  * such as "Mon" or "Tue".
50
50
  * MD should display days such as "M"
51
51
  * or "T".
52
52
  */
53
- export const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
53
+ export const getDaysOfWeek = (locale, theme, firstDayOfWeek = 0) => {
54
54
  /**
55
55
  * Nov 1st, 2020 starts on a Sunday.
56
56
  * ion-datetime assumes weeks start on Sunday,
57
57
  * but is configurable via `firstDayOfWeek`.
58
58
  */
59
- const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
59
+ const weekdayFormat = theme === 'ios' ? 'short' : 'narrow';
60
60
  const intl = new Intl.DateTimeFormat(locale, { weekday: weekdayFormat });
61
61
  const startDate = new Date('11/01/2020');
62
62
  const daysOfWeek = [];
@@ -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
@@ -5,13 +5,14 @@ import { Host, h } from "@stencil/core";
5
5
  import { componentOnReady, addEventListener } from "../../utils/helpers";
6
6
  import { printIonError } from "../../utils/logging/index";
7
7
  import { createColorClasses } from "../../utils/theme";
8
- import { getIonMode } from "../../global/ionic-global";
8
+ import { getIonTheme } from "../../global/ionic-global";
9
9
  import { getToday } from "../datetime/utils/data";
10
10
  import { getLocalizedDateTime, getLocalizedTime } from "../datetime/utils/format";
11
11
  import { getHourCycle } from "../datetime/utils/helpers";
12
12
  import { parseDate } from "../datetime/utils/parse";
13
13
  /**
14
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
14
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
15
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
16
  *
16
17
  * @slot date-target - Content displayed inside of the date button.
17
18
  * @slot time-target - Content displayed inside of the time button.
@@ -336,25 +337,27 @@ export class DatetimeButton {
336
337
  }
337
338
  render() {
338
339
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
339
- const mode = getIonMode(this);
340
- return (h(Host, { key: '0be955404133adbb31ae16a6599014bb29765f19', class: createColorClasses(color, {
341
- [mode]: true,
340
+ const theme = getIonTheme(this);
341
+ return (h(Host, { key: '1d22d1cd09aaaac6bb14d8b5ed06f88a5f361115', class: createColorClasses(color, {
342
+ [theme]: true,
342
343
  [`${selectedButton}-active`]: datetimeActive,
343
344
  ['datetime-button-disabled']: disabled,
344
- }) }, dateText && (h("button", { key: '812dcb50b17768cc13a5cfa0bcce8b113cee0f09', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '46930c740a32a78502df9e651f9bd5914d6a9fea', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '0602999cc8435dc37aa22da7f5531bc8cb71e1b4' }))), timeText && (h("button", { key: 'ecdd21da5181ecbdce03209f9f6673b7dcbc1f78', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: 'b5b093b5166d12d11e27360788edaac916d44390', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '70bb3a04f4748d13233eeb257503968dbd1161a9' })))));
345
+ }) }, dateText && (h("button", { key: '8858b456f0ed626fc0146fb183413d58c73654cd', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'e5ffe4e62a4313e2f069b2263e5388d5167ea215', name: "date-target" }, dateText), theme === 'md' && h("ion-ripple-effect", { key: 'e39fb3dd3478625c52e21f6c36fbbdf2c660b42f' }))), timeText && (h("button", { key: '2edaccdab0aef5262ce8e4178cbc2d77edbf565e', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: 'eae4e909902791c1781909a13751a2ae6cc83f10', name: "time-target" }, timeText), theme === 'md' && h("ion-ripple-effect", { key: '22e5585c299a183a97dda34e557fa0727e4a9ef1' })))));
345
346
  }
346
347
  static get is() { return "ion-datetime-button"; }
347
348
  static get encapsulation() { return "shadow"; }
348
349
  static get originalStyleUrls() {
349
350
  return {
350
351
  "ios": ["datetime-button.ios.scss"],
351
- "md": ["datetime-button.md.scss"]
352
+ "md": ["datetime-button.md.scss"],
353
+ "ionic": ["datetime-button.md.scss"]
352
354
  };
353
355
  }
354
356
  static get styleUrls() {
355
357
  return {
356
358
  "ios": ["datetime-button.ios.css"],
357
- "md": ["datetime-button.md.css"]
359
+ "md": ["datetime-button.md.css"],
360
+ "ionic": ["datetime-button.md.css"]
358
361
  };
359
362
  }
360
363
  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
@@ -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
@@ -53,6 +59,12 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * Convert a pixels given value into rem
64
+ *
65
+ * @param pixels - Value in pixels to be converted (i.e. px)
66
+ * @param context (optional) - Baseline value
67
+ */
56
68
  /**
57
69
  * Convert a font size to a dynamic font size.
58
70
  * Fonts that participate in Dynamic Type should use
@@ -108,6 +120,12 @@
108
120
  * }
109
121
  * }
110
122
  */
123
+ /**
124
+ * Convert a pixels given value into rem
125
+ *
126
+ * @param pixels - Value in pixels to be converted (i.e. px)
127
+ * @param context (optional) - Baseline value
128
+ */
111
129
  /**
112
130
  * Convert a font size to a dynamic font size.
113
131
  * Fonts that participate in Dynamic Type should use
@@ -163,6 +181,12 @@
163
181
  * }
164
182
  * }
165
183
  */
184
+ /**
185
+ * Convert a pixels given value into rem
186
+ *
187
+ * @param pixels - Value in pixels to be converted (i.e. px)
188
+ * @param context (optional) - Baseline value
189
+ */
166
190
  /**
167
191
  * Convert a font size to a dynamic font size.
168
192
  * Fonts that participate in Dynamic Type should use
@@ -226,8 +250,8 @@
226
250
  }
227
251
 
228
252
  :host(.fab-horizontal-center) {
229
- left: 0px;
230
253
  right: 0px;
254
+ left: 0px;
231
255
  -webkit-margin-start: auto;
232
256
  margin-inline-start: auto;
233
257
  -webkit-margin-end: auto;
@@ -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 Fab {
7
11
  constructor() {
8
12
  this.horizontal = undefined;
@@ -46,13 +50,13 @@ export class Fab {
46
50
  }
47
51
  render() {
48
52
  const { horizontal, vertical, edge } = this;
49
- const mode = getIonMode(this);
50
- return (h(Host, { key: 'cb44cf6486b0a6439b99da87c065b0b52e2514f4', class: {
51
- [mode]: true,
53
+ const theme = getIonTheme(this);
54
+ return (h(Host, { key: '0fe1efbc30e4ee100410a5123d7956f51da41db9', class: {
55
+ [theme]: true,
52
56
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
53
57
  [`fab-vertical-${vertical}`]: vertical !== undefined,
54
58
  'fab-edge': edge,
55
- } }, h("slot", { key: '1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a' })));
59
+ } }, h("slot", { key: 'deea3d009bf1aed99402e1827bb0884c6c5dbb10' })));
56
60
  }
57
61
  static get is() { return "ion-fab"; }
58
62
  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
@@ -90,7 +96,7 @@
90
96
  --color-focused: var(--color);
91
97
  --color-hover: var(--color);
92
98
  --background-hover: var(--ion-color-primary-contrast, #fff);
93
- --background-hover-opacity: .08;
99
+ --background-hover-opacity: 0.08;
94
100
  --transition: background-color, opacity 100ms linear;
95
101
  --ripple-color: currentColor;
96
102
  --border-radius: 50%;
@@ -124,18 +130,18 @@
124
130
  padding-inline-end: var(--padding-end);
125
131
  padding-top: var(--padding-top);
126
132
  padding-bottom: var(--padding-bottom);
133
+ color: inherit;
127
134
  font-family: inherit;
128
135
  font-size: inherit;
129
136
  font-style: inherit;
130
137
  font-weight: inherit;
131
138
  letter-spacing: inherit;
139
+ text-align: inherit;
132
140
  text-decoration: inherit;
133
141
  text-indent: inherit;
134
142
  text-overflow: inherit;
135
143
  text-transform: inherit;
136
- text-align: inherit;
137
144
  white-space: inherit;
138
- color: inherit;
139
145
  display: block;
140
146
  position: relative;
141
147
  width: 100%;
@@ -163,8 +169,8 @@
163
169
  }
164
170
 
165
171
  .button-native::after {
166
- left: 0;
167
172
  right: 0;
173
+ left: 0;
168
174
  top: 0;
169
175
  bottom: 0;
170
176
  position: absolute;
@@ -173,8 +179,8 @@
173
179
  }
174
180
 
175
181
  .button-inner {
176
- left: 0;
177
182
  right: 0;
183
+ left: 0;
178
184
  top: 0;
179
185
  display: flex;
180
186
  position: absolute;
@@ -241,8 +247,8 @@
241
247
  margin-inline-end: auto;
242
248
  margin-top: 0;
243
249
  margin-bottom: 0;
244
- left: 0;
245
250
  right: 0;
251
+ left: 0;
246
252
  top: 0;
247
253
  position: absolute;
248
254
  height: 100%;
@@ -278,6 +284,12 @@ ion-ripple-effect {
278
284
  color: var(--ion-color-contrast);
279
285
  }
280
286
 
287
+ /**
288
+ * Convert a pixels given value into rem
289
+ *
290
+ * @param pixels - Value in pixels to be converted (i.e. px)
291
+ * @param context (optional) - Baseline value
292
+ */
281
293
  /**
282
294
  * Convert a font size to a dynamic font size.
283
295
  * Fonts that participate in Dynamic Type should use