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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (990) hide show
  1. package/components/action-sheet.js +13 -8
  2. package/components/alert.js +14 -10
  3. package/components/backdrop.js +10 -6
  4. package/components/button.js +41 -12
  5. package/components/buttons.js +10 -6
  6. package/components/checkbox.js +26 -13
  7. package/components/data.js +4 -4
  8. package/components/index2.js +1 -2
  9. package/components/index4.js +8 -7
  10. package/components/index6.js +27 -30
  11. package/components/index7.js +124 -27
  12. package/components/index8.js +150 -111
  13. package/components/input-shims.js +1 -1
  14. package/components/input.utils.js +1 -1
  15. package/components/ion-accordion-group.js +9 -6
  16. package/components/ion-accordion.js +15 -9
  17. package/components/ion-app.js +5 -6
  18. package/components/ion-avatar.js +52 -3
  19. package/components/ion-back-button.js +15 -11
  20. package/components/ion-badge.js +42 -6
  21. package/components/ion-breadcrumb.js +16 -10
  22. package/components/ion-breadcrumbs.js +9 -5
  23. package/components/ion-card-content.js +9 -5
  24. package/components/ion-card-header.js +9 -5
  25. package/components/ion-card-subtitle.js +9 -5
  26. package/components/ion-card-title.js +9 -5
  27. package/components/ion-card.js +17 -9
  28. package/components/ion-chip.js +45 -8
  29. package/components/ion-col.js +5 -5
  30. package/components/ion-content.js +11 -11
  31. package/components/ion-datetime-button.js +9 -6
  32. package/components/ion-datetime.js +47 -20
  33. package/components/ion-fab-button.js +15 -9
  34. package/components/ion-fab-list.js +5 -5
  35. package/components/ion-fab.js +6 -6
  36. package/components/ion-footer.js +15 -11
  37. package/components/ion-grid.js +5 -5
  38. package/components/ion-header.js +16 -12
  39. package/components/ion-img.js +5 -2
  40. package/components/ion-infinite-scroll-content.js +12 -8
  41. package/components/ion-infinite-scroll.js +5 -5
  42. package/components/ion-input-password-toggle.js +7 -8
  43. package/components/ion-input.js +101 -20
  44. package/components/ion-item-divider.js +9 -5
  45. package/components/ion-item-group.js +9 -5
  46. package/components/ion-item-option.js +11 -7
  47. package/components/ion-item-options.js +9 -5
  48. package/components/ion-item-sliding.js +5 -5
  49. package/components/ion-loading.js +12 -8
  50. package/components/ion-menu-button.js +13 -9
  51. package/components/ion-menu-toggle.js +5 -5
  52. package/components/ion-menu.js +11 -7
  53. package/components/ion-modal.js +14 -11
  54. package/components/ion-nav-link.js +1 -1
  55. package/components/ion-nav.js +7 -6
  56. package/components/ion-note.js +9 -5
  57. package/components/ion-picker-legacy.js +7 -8
  58. package/components/ion-progress-bar.js +10 -6
  59. package/components/ion-range.js +11 -8
  60. package/components/ion-refresher-content.js +9 -8
  61. package/components/ion-refresher.js +38 -7
  62. package/components/ion-reorder-group.js +5 -5
  63. package/components/ion-reorder.js +23 -5
  64. package/components/ion-router-link.js +6 -6
  65. package/components/ion-router-outlet.js +2 -2
  66. package/components/ion-row.js +5 -2
  67. package/components/ion-searchbar.js +62 -16
  68. package/components/ion-segment-button.js +12 -8
  69. package/components/ion-segment.js +9 -5
  70. package/components/ion-select-option.js +5 -2
  71. package/components/ion-select.js +67 -28
  72. package/components/ion-skeleton-text.js +5 -5
  73. package/components/ion-split-pane.js +12 -8
  74. package/components/ion-tab-bar.js +9 -5
  75. package/components/ion-tab-button.js +11 -7
  76. package/components/ion-tab.js +2 -2
  77. package/components/ion-tabs.js +2 -2
  78. package/components/ion-text.js +5 -5
  79. package/components/ion-textarea.js +13 -9
  80. package/components/ion-thumbnail.js +5 -2
  81. package/components/ion-title.js +9 -5
  82. package/components/ion-toast.js +13 -9
  83. package/components/ion-toggle.js +56 -18
  84. package/components/ion-toolbar.js +11 -7
  85. package/components/ionic-global.js +191 -14
  86. package/components/ios.transition.js +1 -0
  87. package/components/item.js +17 -11
  88. package/components/label.js +9 -5
  89. package/components/list-header.js +9 -5
  90. package/components/list.js +10 -6
  91. package/components/overlays.js +1 -2
  92. package/components/picker-column-option.js +9 -5
  93. package/components/picker-column.js +7 -7
  94. package/components/picker-column2.js +4 -4
  95. package/components/picker.js +8 -4
  96. package/components/popover.js +11 -8
  97. package/components/radio-group.js +5 -3
  98. package/components/radio.js +12 -8
  99. package/components/ripple-effect.js +5 -5
  100. package/components/select-popover.js +9 -2
  101. package/components/spinner.js +6 -6
  102. package/components/status-tap.js +1 -1
  103. package/css/core.css +1 -1
  104. package/css/core.css.map +1 -1
  105. package/css/display.css.map +1 -1
  106. package/css/flex-utils.css.map +1 -1
  107. package/css/float-elements.css.map +1 -1
  108. package/css/global.bundle.css.map +1 -1
  109. package/css/ionic/bundle.ionic.css +1 -0
  110. package/css/ionic/bundle.ionic.css.map +1 -0
  111. package/css/ionic/core.ionic.css +1 -0
  112. package/css/ionic/core.ionic.css.map +1 -0
  113. package/css/ionic/global.bundle.ionic.css +1 -0
  114. package/css/ionic/global.bundle.ionic.css.map +1 -0
  115. package/css/ionic/ionic-swiper.ionic.css +1 -0
  116. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  117. package/css/ionic/link.ionic.css +1 -0
  118. package/css/ionic/link.ionic.css.map +1 -0
  119. package/css/ionic/structure.ionic.css +1 -0
  120. package/css/ionic/structure.ionic.css.map +1 -0
  121. package/css/ionic/typography.ionic.css +1 -0
  122. package/css/ionic/typography.ionic.css.map +1 -0
  123. package/css/ionic/utils.bundle.ionic.css +1 -0
  124. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  125. package/css/ionic-swiper.css +1 -1
  126. package/css/ionic-swiper.css.map +1 -1
  127. package/css/ionic.bundle.css +1 -1
  128. package/css/ionic.bundle.css.map +1 -1
  129. package/css/normalize.css.map +1 -1
  130. package/css/padding.css.map +1 -1
  131. package/css/palettes/dark.always.css.map +1 -1
  132. package/css/palettes/dark.class.css.map +1 -1
  133. package/css/palettes/dark.system.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  136. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  137. package/css/palettes/high-contrast.always.css.map +1 -1
  138. package/css/palettes/high-contrast.class.css.map +1 -1
  139. package/css/palettes/high-contrast.system.css.map +1 -1
  140. package/css/structure.css.map +1 -1
  141. package/css/text-alignment.css.map +1 -1
  142. package/css/text-transformation.css.map +1 -1
  143. package/css/typography.css.map +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{app-globals-64aa7919.js → app-globals-5b0a3f95.js} +1 -1
  146. package/dist/cjs/{data-21dc0f81.js → data-7d67d1e3.js} +6 -6
  147. package/dist/cjs/{hardware-back-button-9931602c.js → hardware-back-button-a90bf4cd.js} +1 -1
  148. package/dist/cjs/{index-63e64bb7.js → index-59095e03.js} +13 -12
  149. package/dist/cjs/{index-8a653282.js → index-71f7488c.js} +7 -8
  150. package/dist/cjs/{index-5b6a7459.js → index-ca6de37f.js} +2 -2
  151. package/dist/cjs/index.cjs.js +7 -8
  152. package/dist/cjs/{input-shims-9e59ef62.js → input-shims-58aadbb2.js} +3 -2
  153. package/dist/cjs/{input.utils-611cde0b.js → input.utils-d9907cfc.js} +2 -2
  154. package/dist/cjs/ion-accordion_2.cjs.entry.js +23 -14
  155. package/dist/cjs/ion-action-sheet.cjs.entry.js +15 -11
  156. package/dist/cjs/ion-alert.cjs.entry.js +16 -13
  157. package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
  158. package/dist/cjs/ion-avatar_3.cjs.entry.js +90 -7
  159. package/dist/cjs/ion-back-button.cjs.entry.js +14 -10
  160. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -6
  161. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +23 -13
  162. package/dist/cjs/ion-button_2.cjs.entry.js +44 -15
  163. package/dist/cjs/ion-card_5.cjs.entry.js +48 -25
  164. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -12
  165. package/dist/cjs/ion-chip.cjs.entry.js +42 -7
  166. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  167. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -11
  168. package/dist/cjs/ion-datetime_3.cjs.entry.js +135 -108
  169. package/dist/cjs/ion-fab_3.cjs.entry.js +23 -17
  170. package/dist/cjs/ion-img.cjs.entry.js +5 -2
  171. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -13
  172. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  173. package/dist/cjs/ion-input.cjs.entry.js +99 -20
  174. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  175. package/dist/cjs/ion-item_8.cjs.entry.js +69 -39
  176. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  177. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -22
  178. package/dist/cjs/ion-modal.cjs.entry.js +22 -19
  179. package/dist/cjs/ion-nav_2.cjs.entry.js +9 -8
  180. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -5
  181. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  182. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  183. package/dist/cjs/ion-popover.cjs.entry.js +17 -14
  184. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  185. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  186. package/dist/cjs/ion-range.cjs.entry.js +16 -13
  187. package/dist/cjs/ion-refresher_2.cjs.entry.js +45 -14
  188. package/dist/cjs/ion-reorder_2.cjs.entry.js +26 -9
  189. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  190. package/dist/cjs/ion-route_4.cjs.entry.js +6 -6
  191. package/dist/cjs/ion-searchbar.cjs.entry.js +61 -15
  192. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  193. package/dist/cjs/ion-select_3.cjs.entry.js +80 -32
  194. package/dist/cjs/ion-spinner.cjs.entry.js +6 -6
  195. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -8
  196. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  197. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  198. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  199. package/dist/cjs/ion-textarea.cjs.entry.js +14 -11
  200. package/dist/cjs/ion-toast.cjs.entry.js +36 -32
  201. package/dist/cjs/ion-toggle.cjs.entry.js +55 -17
  202. package/dist/cjs/ionic-global-2bd379ad.js +418 -0
  203. package/dist/cjs/ionic.cjs.js +3 -3
  204. package/dist/cjs/{ios.transition-d94b6863.js → ios.transition-4a91b726.js} +3 -3
  205. package/dist/cjs/loader.cjs.js +3 -3
  206. package/dist/cjs/{md.transition-297be114.js → md.transition-1d783fa9.js} +2 -3
  207. package/dist/cjs/{overlays-569f7878.js → overlays-0c0d0193.js} +3 -4
  208. package/dist/cjs/{status-tap-607c6244.js → status-tap-87959a2f.js} +2 -2
  209. package/dist/collection/components/accordion/accordion.ios.css +12 -0
  210. package/dist/collection/components/accordion/accordion.js +19 -15
  211. package/dist/collection/components/accordion/accordion.md.css +6 -0
  212. package/dist/collection/components/accordion-group/accordion-group.ios.css +12 -0
  213. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  214. package/dist/collection/components/accordion-group/accordion-group.md.css +18 -0
  215. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  216. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  217. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  218. package/dist/collection/components/alert/alert.ios.css +19 -1
  219. package/dist/collection/components/alert/alert.js +15 -12
  220. package/dist/collection/components/alert/alert.md.css +19 -1
  221. package/dist/collection/components/app/app.js +8 -4
  222. package/dist/collection/components/avatar/avatar.ionic.css +255 -0
  223. package/dist/collection/components/avatar/avatar.ios.css +12 -0
  224. package/dist/collection/components/avatar/avatar.js +92 -4
  225. package/dist/collection/components/avatar/avatar.md.css +12 -0
  226. package/dist/collection/components/avatar/test/shape/avatar.e2e.js +134 -0
  227. package/dist/collection/components/avatar/test/size/avatar.e2e.js +147 -0
  228. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  229. package/dist/collection/components/back-button/back-button.js +14 -11
  230. package/dist/collection/components/back-button/back-button.md.css +60 -48
  231. package/dist/collection/components/backdrop/backdrop.ios.css +13 -1
  232. package/dist/collection/components/backdrop/backdrop.js +12 -6
  233. package/dist/collection/components/backdrop/backdrop.md.css +13 -1
  234. package/dist/collection/components/badge/badge.ionic.css +256 -0
  235. package/dist/collection/components/badge/badge.ios.css +12 -0
  236. package/dist/collection/components/badge/badge.js +75 -8
  237. package/dist/collection/components/badge/badge.md.css +12 -0
  238. package/dist/collection/components/badge/test/shape/badge.e2e.js +84 -0
  239. package/dist/collection/components/badge/test/size/badge.e2e.js +96 -0
  240. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -10
  242. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  243. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  244. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  245. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  246. package/dist/collection/components/button/button.ionic.css +417 -0
  247. package/dist/collection/components/button/button.ios.css +42 -16
  248. package/dist/collection/components/button/button.js +46 -17
  249. package/dist/collection/components/button/button.md.css +33 -20
  250. package/dist/collection/components/button/test/clear/button.e2e.js +6 -3
  251. package/dist/collection/components/button/test/outline/button.e2e.js +1 -0
  252. package/dist/collection/components/button/test/shape/button.e2e.js +250 -0
  253. package/dist/collection/components/button/test/size/button.e2e.js +18 -1
  254. package/dist/collection/components/button/test/states/button.e2e.js +51 -0
  255. package/dist/collection/components/buttons/buttons.ios.css +22 -4
  256. package/dist/collection/components/buttons/buttons.js +14 -8
  257. package/dist/collection/components/buttons/buttons.md.css +18 -0
  258. package/dist/collection/components/card/card.ionic.css +88 -0
  259. package/dist/collection/components/card/card.ios.css +30 -4
  260. package/dist/collection/components/card/card.js +34 -10
  261. package/dist/collection/components/card/card.md.css +30 -4
  262. package/dist/collection/components/card/test/shape/card.e2e.js +40 -0
  263. package/dist/collection/components/card-content/card-content.ios.css +12 -0
  264. package/dist/collection/components/card-content/card-content.js +11 -8
  265. package/dist/collection/components/card-content/card-content.md.css +12 -0
  266. package/dist/collection/components/card-header/card-header.ios.css +12 -0
  267. package/dist/collection/components/card-header/card-header.js +12 -9
  268. package/dist/collection/components/card-header/card-header.md.css +12 -0
  269. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  270. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  271. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  272. package/dist/collection/components/card-title/card-title.ios.css +12 -0
  273. package/dist/collection/components/card-title/card-title.js +11 -8
  274. package/dist/collection/components/card-title/card-title.md.css +12 -0
  275. package/dist/collection/components/checkbox/checkbox.ionic.css +391 -0
  276. package/dist/collection/components/checkbox/checkbox.ios.css +20 -2
  277. package/dist/collection/components/checkbox/checkbox.js +59 -14
  278. package/dist/collection/components/checkbox/checkbox.md.css +21 -3
  279. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +66 -1
  280. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +1 -1
  281. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +32 -1
  282. package/dist/collection/components/chip/chip.ionic.css +141 -0
  283. package/dist/collection/components/chip/chip.ios.css +20 -1
  284. package/dist/collection/components/chip/chip.js +77 -8
  285. package/dist/collection/components/chip/chip.md.css +20 -1
  286. package/dist/collection/components/chip/test/shape/chip.e2e.js +39 -0
  287. package/dist/collection/components/chip/test/size/chip.e2e.js +26 -0
  288. package/dist/collection/components/chip/test/states/chip.e2e.js +16 -0
  289. package/dist/collection/components/col/col.css +12 -0
  290. package/dist/collection/components/col/col.js +9 -5
  291. package/dist/collection/components/content/content.css +8 -2
  292. package/dist/collection/components/content/content.js +13 -10
  293. package/dist/collection/components/datetime/datetime.ios.css +15 -3
  294. package/dist/collection/components/datetime/datetime.js +47 -19
  295. package/dist/collection/components/datetime/datetime.md.css +15 -3
  296. package/dist/collection/components/datetime/utils/data.js +3 -3
  297. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  298. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  299. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  300. package/dist/collection/components/fab/fab.css +25 -1
  301. package/dist/collection/components/fab/fab.js +9 -5
  302. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  303. package/dist/collection/components/fab-button/fab-button.js +19 -14
  304. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  305. package/dist/collection/components/fab-list/fab-list.css +12 -0
  306. package/dist/collection/components/fab-list/fab-list.js +9 -5
  307. package/dist/collection/components/footer/footer.ios.css +14 -2
  308. package/dist/collection/components/footer/footer.js +17 -14
  309. package/dist/collection/components/footer/footer.md.css +12 -0
  310. package/dist/collection/components/grid/grid.css +12 -0
  311. package/dist/collection/components/grid/grid.js +9 -5
  312. package/dist/collection/components/header/header.ionic.css +80 -0
  313. package/dist/collection/components/header/header.ios.css +25 -10
  314. package/dist/collection/components/header/header.js +17 -14
  315. package/dist/collection/components/header/header.md.css +23 -8
  316. package/dist/collection/components/header/test/basic/header.e2e.js +17 -8
  317. package/dist/collection/components/img/img.js +8 -2
  318. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  319. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  320. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  321. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  322. package/dist/collection/components/input/input.ionic.css +1031 -0
  323. package/dist/collection/components/input/input.ios.css +21 -2
  324. package/dist/collection/components/input/input.js +127 -29
  325. package/dist/collection/components/input/input.md.css +43 -4
  326. package/dist/collection/components/input/test/basic/input.e2e.js +66 -0
  327. package/dist/collection/components/input/test/bottom-content/input.e2e.js +24 -5
  328. package/dist/collection/components/input/test/fill/input.e2e.js +37 -39
  329. package/dist/collection/components/input/test/highlight/input.e2e.js +94 -0
  330. package/dist/collection/components/input/test/shape/input.e2e.js +165 -0
  331. package/dist/collection/components/input/test/size/input.e2e.js +164 -0
  332. package/dist/collection/components/input/test/slot/input.e2e.js +14 -0
  333. package/dist/collection/components/input/test/states/input.e2e.js +173 -0
  334. package/dist/collection/components/input-password-toggle/input-password-toggle.js +6 -5
  335. package/dist/collection/components/item/item.ionic.css +169 -0
  336. package/dist/collection/components/item/item.ios.css +20 -8
  337. package/dist/collection/components/item/item.js +21 -16
  338. package/dist/collection/components/item/item.md.css +31 -7
  339. package/dist/collection/components/item/test/disabled/item.e2e.js +1 -1
  340. package/dist/collection/components/item/test/states/item.e2e.js +1 -1
  341. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  342. package/dist/collection/components/item-divider/item-divider.js +11 -8
  343. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  344. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  345. package/dist/collection/components/item-group/item-group.js +13 -7
  346. package/dist/collection/components/item-group/item-group.md.css +12 -0
  347. package/dist/collection/components/item-option/item-option.ios.css +14 -2
  348. package/dist/collection/components/item-option/item-option.js +11 -8
  349. package/dist/collection/components/item-option/item-option.md.css +14 -2
  350. package/dist/collection/components/item-options/item-options.ios.css +18 -0
  351. package/dist/collection/components/item-options/item-options.js +13 -7
  352. package/dist/collection/components/item-options/item-options.md.css +18 -0
  353. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  354. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  355. package/dist/collection/components/label/label.ios.css +18 -0
  356. package/dist/collection/components/label/label.js +11 -8
  357. package/dist/collection/components/label/label.md.css +18 -0
  358. package/dist/collection/components/list/list.ios.css +18 -0
  359. package/dist/collection/components/list/list.js +12 -9
  360. package/dist/collection/components/list/list.md.css +18 -0
  361. package/dist/collection/components/list-header/list-header.ios.css +18 -0
  362. package/dist/collection/components/list-header/list-header.js +11 -8
  363. package/dist/collection/components/list-header/list-header.md.css +18 -0
  364. package/dist/collection/components/loading/loading.ios.css +13 -1
  365. package/dist/collection/components/loading/loading.js +13 -10
  366. package/dist/collection/components/loading/loading.md.css +13 -1
  367. package/dist/collection/components/menu/menu.ios.css +15 -3
  368. package/dist/collection/components/menu/menu.js +12 -7
  369. package/dist/collection/components/menu/menu.md.css +15 -3
  370. package/dist/collection/components/menu-button/menu-button.ios.css +16 -4
  371. package/dist/collection/components/menu-button/menu-button.js +12 -9
  372. package/dist/collection/components/menu-button/menu-button.md.css +17 -5
  373. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  374. package/dist/collection/components/modal/modal.ios.css +14 -2
  375. package/dist/collection/components/modal/modal.js +13 -10
  376. package/dist/collection/components/modal/modal.md.css +14 -2
  377. package/dist/collection/components/nav/nav.css +7 -1
  378. package/dist/collection/components/nav/nav.js +11 -5
  379. package/dist/collection/components/nav-link/nav-link.js +5 -1
  380. package/dist/collection/components/note/note.ios.css +12 -0
  381. package/dist/collection/components/note/note.js +11 -8
  382. package/dist/collection/components/note/note.md.css +12 -0
  383. package/dist/collection/components/picker/picker.ios.css +15 -3
  384. package/dist/collection/components/picker/picker.js +8 -5
  385. package/dist/collection/components/picker/picker.md.css +15 -3
  386. package/dist/collection/components/picker-column/picker-column.css +9 -2
  387. package/dist/collection/components/picker-column/picker-column.js +8 -7
  388. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  389. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  390. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  391. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  392. package/dist/collection/components/picker-legacy/picker.js +7 -6
  393. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  394. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  395. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  396. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  397. package/dist/collection/components/popover/popover.ios.css +13 -1
  398. package/dist/collection/components/popover/popover.js +15 -12
  399. package/dist/collection/components/popover/popover.md.css +13 -1
  400. package/dist/collection/components/progress-bar/progress-bar.ios.css +8 -2
  401. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  402. package/dist/collection/components/progress-bar/progress-bar.md.css +8 -2
  403. package/dist/collection/components/radio/radio.ios.css +20 -2
  404. package/dist/collection/components/radio/radio.js +12 -9
  405. package/dist/collection/components/radio/radio.md.css +20 -2
  406. package/dist/collection/components/radio-group/radio-group.js +9 -3
  407. package/dist/collection/components/range/range.ios.css +12 -0
  408. package/dist/collection/components/range/range.js +12 -9
  409. package/dist/collection/components/range/range.md.css +12 -0
  410. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  411. package/dist/collection/components/refresher/refresher.js +38 -8
  412. package/dist/collection/components/refresher/refresher.md.css +15 -2
  413. package/dist/collection/components/refresher/test/fullscreen/refresher.e2e.js +77 -0
  414. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  415. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  416. package/dist/collection/components/reorder/reorder.js +26 -6
  417. package/dist/collection/components/reorder/reorder.md.css +6 -0
  418. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  419. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  420. package/dist/collection/components/ripple-effect/ripple-effect.css +7 -1
  421. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  422. package/dist/collection/components/route/route.js +4 -0
  423. package/dist/collection/components/router/router.js +4 -0
  424. package/dist/collection/components/router-link/router-link.css +8 -2
  425. package/dist/collection/components/router-link/router-link.js +9 -5
  426. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  427. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  428. package/dist/collection/components/row/row.css +12 -0
  429. package/dist/collection/components/row/row.js +9 -2
  430. package/dist/collection/components/searchbar/searchbar.ios.css +14 -2
  431. package/dist/collection/components/searchbar/searchbar.js +68 -24
  432. package/dist/collection/components/searchbar/searchbar.md.css +14 -2
  433. package/dist/collection/components/segment/segment.ios.css +18 -0
  434. package/dist/collection/components/segment/segment.js +11 -8
  435. package/dist/collection/components/segment/segment.md.css +18 -0
  436. package/dist/collection/components/segment-button/segment-button.ios.css +16 -4
  437. package/dist/collection/components/segment-button/segment-button.js +12 -9
  438. package/dist/collection/components/segment-button/segment-button.md.css +18 -6
  439. package/dist/collection/components/select/select.ios.css +22 -3
  440. package/dist/collection/components/select/select.js +70 -31
  441. package/dist/collection/components/select/select.md.css +38 -5
  442. package/dist/collection/components/select-option/select-option.js +9 -2
  443. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  444. package/dist/collection/components/select-popover/select-popover.js +12 -4
  445. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  446. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  447. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  448. package/dist/collection/components/spinner/spinner.css +6 -0
  449. package/dist/collection/components/spinner/spinner.js +10 -6
  450. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  451. package/dist/collection/components/split-pane/split-pane.js +14 -8
  452. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  453. package/dist/collection/components/tab/tab.js +6 -2
  454. package/dist/collection/components/tab-bar/tab-bar.ionic.css +163 -0
  455. package/dist/collection/components/tab-bar/tab-bar.ios.css +18 -0
  456. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  457. package/dist/collection/components/tab-bar/tab-bar.md.css +18 -0
  458. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +34 -0
  459. package/dist/collection/components/tab-button/tab-button.ionic.css +264 -0
  460. package/dist/collection/components/tab-button/tab-button.ios.css +15 -3
  461. package/dist/collection/components/tab-button/tab-button.js +11 -8
  462. package/dist/collection/components/tab-button/tab-button.md.css +15 -3
  463. package/dist/collection/components/tabs/tabs.css +7 -1
  464. package/dist/collection/components/tabs/tabs.js +4 -1
  465. package/dist/collection/components/text/text.css +6 -0
  466. package/dist/collection/components/text/text.js +7 -6
  467. package/dist/collection/components/textarea/textarea.ios.css +26 -1
  468. package/dist/collection/components/textarea/textarea.js +15 -12
  469. package/dist/collection/components/textarea/textarea.md.css +39 -2
  470. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  471. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  472. package/dist/collection/components/title/title.ios.css +6 -0
  473. package/dist/collection/components/title/title.js +13 -7
  474. package/dist/collection/components/title/title.md.css +6 -0
  475. package/dist/collection/components/toast/animations/utils.js +1 -1
  476. package/dist/collection/components/toast/toast.ios.css +12 -0
  477. package/dist/collection/components/toast/toast.js +15 -11
  478. package/dist/collection/components/toast/toast.md.css +12 -0
  479. package/dist/collection/components/toggle/toggle.ios.css +23 -2
  480. package/dist/collection/components/toggle/toggle.js +55 -18
  481. package/dist/collection/components/toggle/toggle.md.css +20 -2
  482. package/dist/collection/components/toolbar/toolbar.ios.css +14 -2
  483. package/dist/collection/components/toolbar/toolbar.js +13 -10
  484. package/dist/collection/components/toolbar/toolbar.md.css +14 -2
  485. package/dist/collection/css/test/link/basic/link.e2e.js +35 -0
  486. package/dist/collection/css/test/{a11y → typography/a11y}/typography.e2e.js +1 -1
  487. package/dist/collection/css/test/typography/basic/typography.e2e.js +14 -0
  488. package/dist/collection/global/ionic-global.js +161 -13
  489. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  490. package/dist/collection/themes/{test → native/test}/colors/theme.e2e.js +1 -1
  491. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  492. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  493. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  494. package/dist/collection/utils/test/playwright/generator.js +48 -23
  495. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  496. package/dist/collection/utils/test/playwright/page/utils/set-content.js +13 -1
  497. package/dist/collection/utils/transition/ios.transition.js +1 -0
  498. package/dist/docs.json +6439 -325
  499. package/dist/esm/{app-globals-232dc3ed.js → app-globals-1fabe499.js} +1 -1
  500. package/dist/esm/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  501. package/dist/esm/{data-ae11fd43.js → data-63b889c5.js} +4 -4
  502. package/dist/esm/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +2 -2
  503. package/dist/esm/{index-5cc724f3.js → index-00b4cca5.js} +1 -1
  504. package/dist/esm/{index-c71c5417.js → index-3321c202.js} +1 -1
  505. package/dist/esm/{index-92f14156.js → index-33a3d901.js} +4 -5
  506. package/dist/esm/{index-c8c3afda.js → index-44013081.js} +9 -8
  507. package/dist/esm/index.js +8 -9
  508. package/dist/esm/{input-shims-0314bbe5.js → input-shims-c142630d.js} +3 -2
  509. package/dist/esm/{input.utils-09c71bc7.js → input.utils-68c66dbc.js} +1 -1
  510. package/dist/esm/ion-accordion_2.entry.js +23 -14
  511. package/dist/esm/ion-action-sheet.entry.js +17 -13
  512. package/dist/esm/ion-alert.entry.js +18 -15
  513. package/dist/esm/ion-app_8.entry.js +77 -58
  514. package/dist/esm/ion-avatar_3.entry.js +91 -8
  515. package/dist/esm/ion-back-button.entry.js +15 -11
  516. package/dist/esm/ion-backdrop.entry.js +11 -7
  517. package/dist/esm/ion-breadcrumb_2.entry.js +24 -14
  518. package/dist/esm/ion-button_2.entry.js +42 -13
  519. package/dist/esm/ion-card_5.entry.js +49 -26
  520. package/dist/esm/ion-checkbox.entry.js +24 -13
  521. package/dist/esm/ion-chip.entry.js +43 -8
  522. package/dist/esm/ion-col_3.entry.js +14 -11
  523. package/dist/esm/ion-datetime-button.entry.js +11 -8
  524. package/dist/esm/ion-datetime_3.entry.js +60 -33
  525. package/dist/esm/ion-fab_3.entry.js +24 -18
  526. package/dist/esm/ion-img.entry.js +6 -3
  527. package/dist/esm/ion-infinite-scroll_2.entry.js +17 -14
  528. package/dist/esm/ion-input-password-toggle.entry.js +7 -8
  529. package/dist/esm/ion-input.entry.js +100 -21
  530. package/dist/esm/ion-item-option_3.entry.js +24 -17
  531. package/dist/esm/ion-item_8.entry.js +70 -40
  532. package/dist/esm/ion-loading.entry.js +15 -12
  533. package/dist/esm/ion-menu_3.entry.js +30 -23
  534. package/dist/esm/ion-modal.entry.js +18 -15
  535. package/dist/esm/ion-nav_2.entry.js +10 -9
  536. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  537. package/dist/esm/ion-picker-column.entry.js +8 -8
  538. package/dist/esm/ion-picker.entry.js +9 -5
  539. package/dist/esm/ion-popover.entry.js +15 -12
  540. package/dist/esm/ion-progress-bar.entry.js +11 -7
  541. package/dist/esm/ion-radio_2.entry.js +17 -11
  542. package/dist/esm/ion-range.entry.js +12 -9
  543. package/dist/esm/ion-refresher_2.entry.js +46 -15
  544. package/dist/esm/ion-reorder_2.entry.js +27 -10
  545. package/dist/esm/ion-ripple-effect.entry.js +6 -6
  546. package/dist/esm/ion-route_4.entry.js +7 -7
  547. package/dist/esm/ion-searchbar.entry.js +62 -16
  548. package/dist/esm/ion-segment_2.entry.js +21 -13
  549. package/dist/esm/ion-select_3.entry.js +81 -33
  550. package/dist/esm/ion-spinner.entry.js +7 -7
  551. package/dist/esm/ion-split-pane.entry.js +13 -9
  552. package/dist/esm/ion-tab-bar_2.entry.js +20 -12
  553. package/dist/esm/ion-tab_2.entry.js +5 -5
  554. package/dist/esm/ion-text.entry.js +6 -6
  555. package/dist/esm/ion-textarea.entry.js +15 -12
  556. package/dist/esm/ion-toast.entry.js +16 -12
  557. package/dist/esm/ion-toggle.entry.js +56 -18
  558. package/dist/esm/ionic-global-be8fa30a.js +408 -0
  559. package/dist/esm/ionic.js +5 -5
  560. package/dist/esm/{ios.transition-2f45f5c1.js → ios.transition-688eab99.js} +4 -4
  561. package/dist/esm/loader.js +5 -5
  562. package/dist/esm/{md.transition-6fcc955f.js → md.transition-0540d1d2.js} +3 -4
  563. package/dist/esm/{overlays-0d212972.js → overlays-a0e93007.js} +2 -3
  564. package/dist/esm/{status-tap-53150009.js → status-tap-8d02be66.js} +3 -3
  565. package/dist/esm-es5/app-globals-1fabe499.js +4 -0
  566. package/dist/esm-es5/{button-active-f7898f4b.js → button-active-367a8e84.js} +1 -1
  567. package/dist/esm-es5/data-63b889c5.js +4 -0
  568. package/dist/esm-es5/{hardware-back-button-7f93f261.js → hardware-back-button-2da817f5.js} +1 -1
  569. package/dist/esm-es5/index-00b4cca5.js +4 -0
  570. package/dist/esm-es5/{index-c71c5417.js → index-3321c202.js} +1 -1
  571. package/dist/esm-es5/index-33a3d901.js +4 -0
  572. package/dist/esm-es5/index-44013081.js +4 -0
  573. package/dist/esm-es5/index.js +1 -1
  574. package/dist/esm-es5/input-shims-c142630d.js +4 -0
  575. package/dist/esm-es5/input.utils-68c66dbc.js +4 -0
  576. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  577. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  578. package/dist/esm-es5/ion-alert.entry.js +1 -1
  579. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  580. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  581. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  582. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  583. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  584. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  585. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  586. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  587. package/dist/esm-es5/ion-chip.entry.js +1 -1
  588. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  589. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  590. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  591. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  592. package/dist/esm-es5/ion-img.entry.js +1 -1
  593. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  594. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  595. package/dist/esm-es5/ion-input.entry.js +1 -1
  596. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  597. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  598. package/dist/esm-es5/ion-loading.entry.js +1 -1
  599. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  600. package/dist/esm-es5/ion-modal.entry.js +1 -1
  601. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  603. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  604. package/dist/esm-es5/ion-picker.entry.js +1 -1
  605. package/dist/esm-es5/ion-popover.entry.js +1 -1
  606. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  607. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  608. package/dist/esm-es5/ion-range.entry.js +1 -1
  609. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  610. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  611. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  612. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  613. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  614. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  615. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  616. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  617. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  618. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  619. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  620. package/dist/esm-es5/ion-text.entry.js +1 -1
  621. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  622. package/dist/esm-es5/ion-toast.entry.js +1 -1
  623. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  624. package/dist/esm-es5/ionic-global-be8fa30a.js +4 -0
  625. package/dist/esm-es5/ionic.js +1 -1
  626. package/dist/esm-es5/ios.transition-688eab99.js +4 -0
  627. package/dist/esm-es5/loader.js +1 -1
  628. package/dist/esm-es5/md.transition-0540d1d2.js +4 -0
  629. package/dist/esm-es5/overlays-a0e93007.js +4 -0
  630. package/dist/esm-es5/status-tap-8d02be66.js +4 -0
  631. package/dist/html.html-data.json +2054 -100
  632. package/dist/ionic/index.esm.js +1 -1
  633. package/dist/ionic/ionic.esm.js +1 -1
  634. package/dist/ionic/ionic.js +1 -1
  635. package/dist/ionic/p-0116d120.entry.js +4 -0
  636. package/dist/ionic/p-01ae1aa0.entry.js +4 -0
  637. package/dist/ionic/p-021bee2f.system.entry.js +4 -0
  638. package/dist/ionic/p-036d86ec.system.entry.js +4 -0
  639. package/dist/ionic/p-0a93c048.system.js +4 -0
  640. package/dist/ionic/p-1219eea0.system.entry.js +4 -0
  641. package/dist/ionic/{p-bbc5329a.system.entry.js → p-128f0f15.system.entry.js} +2 -2
  642. package/dist/ionic/p-12c07c03.system.entry.js +4 -0
  643. package/dist/ionic/p-132e1004.entry.js +4 -0
  644. package/dist/ionic/{p-395a0dd7.js → p-15901e6c.js} +1 -1
  645. package/dist/ionic/{p-9ea607bd.system.js → p-1b75a2d2.system.js} +2 -2
  646. package/dist/ionic/p-1d548fea.system.entry.js +4 -0
  647. package/dist/ionic/p-1dbb7fa3.entry.js +4 -0
  648. package/dist/ionic/{p-a688052d.system.js → p-1ecfe64f.system.js} +1 -1
  649. package/dist/ionic/p-22fef691.js +4 -0
  650. package/dist/ionic/p-24592a4d.system.entry.js +4 -0
  651. package/dist/ionic/p-24d2aea3.entry.js +4 -0
  652. package/dist/ionic/p-27e42c9e.system.js +4 -0
  653. package/dist/ionic/p-28a10445.system.js +4 -0
  654. package/dist/ionic/{p-0c06e09b.system.js → p-2ac68c59.system.js} +1 -1
  655. package/dist/ionic/{p-c350c8f8.system.entry.js → p-2d618ba6.system.entry.js} +1 -1
  656. package/dist/ionic/{p-99a4d7c7.system.js → p-2df16673.system.js} +2 -2
  657. package/dist/ionic/{p-06e58c4e.js → p-2fa9c16c.js} +1 -1
  658. package/dist/ionic/{p-ea4f2b31.entry.js → p-2fdc82b4.entry.js} +1 -1
  659. package/dist/ionic/p-302c9c7a.system.entry.js +4 -0
  660. package/dist/ionic/p-30b49657.system.entry.js +4 -0
  661. package/dist/ionic/p-350462f9.system.entry.js +4 -0
  662. package/dist/ionic/p-359afeb0.system.entry.js +4 -0
  663. package/dist/ionic/p-37e801db.entry.js +4 -0
  664. package/dist/ionic/{p-60eb4c0d.system.entry.js → p-3862d08b.system.entry.js} +1 -1
  665. package/dist/ionic/p-3b989be4.entry.js +4 -0
  666. package/dist/ionic/p-3c031826.system.entry.js +4 -0
  667. package/dist/ionic/p-3c18022f.entry.js +4 -0
  668. package/dist/ionic/p-3c6eae03.system.entry.js +4 -0
  669. package/dist/ionic/p-3cccd1c7.system.entry.js +4 -0
  670. package/dist/ionic/p-3d25c6d9.entry.js +4 -0
  671. package/dist/ionic/p-3e2568b9.system.js +4 -0
  672. package/dist/ionic/p-3e9a1680.js +4 -0
  673. package/dist/ionic/{p-ac34105e.entry.js → p-4058051c.entry.js} +1 -1
  674. package/dist/ionic/{p-266db4b6.entry.js → p-4079d071.entry.js} +1 -1
  675. package/dist/ionic/p-40c14f53.system.entry.js +4 -0
  676. package/dist/ionic/{p-f3ff1e58.entry.js → p-41c9fb60.entry.js} +1 -1
  677. package/dist/ionic/p-42452dc9.entry.js +4 -0
  678. package/dist/ionic/p-42816eab.entry.js +4 -0
  679. package/dist/ionic/p-42bb5ed7.system.entry.js +4 -0
  680. package/dist/ionic/p-44314b44.system.entry.js +4 -0
  681. package/dist/ionic/p-479bec54.entry.js +4 -0
  682. package/dist/ionic/{p-e6964b3a.js → p-493a4548.js} +1 -1
  683. package/dist/ionic/p-49fee3a3.entry.js +4 -0
  684. package/dist/ionic/p-4b9c6418.system.entry.js +4 -0
  685. package/dist/ionic/p-4d6c2031.system.entry.js +4 -0
  686. package/dist/ionic/p-4ec67d0a.entry.js +4 -0
  687. package/dist/ionic/p-546438d8.js +4 -0
  688. package/dist/ionic/p-563a8d3b.entry.js +4 -0
  689. package/dist/ionic/p-56c72f65.system.entry.js +4 -0
  690. package/dist/ionic/p-59cd0dd7.system.entry.js +4 -0
  691. package/dist/ionic/p-61ddbdb9.entry.js +4 -0
  692. package/dist/ionic/{p-44c6eb74.js → p-644c505f.js} +1 -1
  693. package/dist/ionic/p-645a7748.entry.js +4 -0
  694. package/dist/ionic/{p-d60342e3.js → p-6649365e.js} +1 -1
  695. package/dist/ionic/p-6746c32a.entry.js +4 -0
  696. package/dist/ionic/{p-eb8098d5.system.entry.js → p-67f85d9a.system.entry.js} +1 -1
  697. package/dist/ionic/p-6c57ed08.js +4 -0
  698. package/dist/ionic/p-6daa3633.entry.js +4 -0
  699. package/dist/ionic/p-72e98815.system.js +4 -0
  700. package/dist/ionic/p-752e285d.entry.js +4 -0
  701. package/dist/ionic/p-79113968.js +4 -0
  702. package/dist/ionic/p-7b590e46.system.js +4 -0
  703. package/dist/ionic/p-7b914bfb.entry.js +4 -0
  704. package/dist/ionic/p-7bf2087e.entry.js +4 -0
  705. package/dist/ionic/p-7dad531c.system.entry.js +4 -0
  706. package/dist/ionic/p-7f5f8a14.entry.js +4 -0
  707. package/dist/ionic/p-82df3737.system.entry.js +4 -0
  708. package/dist/ionic/p-87e823ce.js +4 -0
  709. package/dist/ionic/p-89efe86f.entry.js +4 -0
  710. package/dist/ionic/p-8a04868b.system.entry.js +4 -0
  711. package/dist/ionic/p-8ac5efa9.entry.js +4 -0
  712. package/dist/ionic/p-8ed0cef4.system.entry.js +4 -0
  713. package/dist/ionic/p-90027267.system.js +4 -0
  714. package/dist/ionic/p-935801cc.entry.js +4 -0
  715. package/dist/ionic/p-96f109ca.entry.js +4 -0
  716. package/dist/ionic/p-9771abb4.entry.js +4 -0
  717. package/dist/ionic/p-9b925d37.system.entry.js +4 -0
  718. package/dist/ionic/p-9ead4417.js +4 -0
  719. package/dist/ionic/p-a06d7e6a.system.js +4 -0
  720. package/dist/ionic/{p-5d6e77bd.system.entry.js → p-a2b60239.system.entry.js} +1 -1
  721. package/dist/ionic/p-a3b856e6.system.entry.js +4 -0
  722. package/dist/ionic/{p-00333e13.js → p-a42e4adb.js} +1 -1
  723. package/dist/ionic/p-ada5e8bb.entry.js +4 -0
  724. package/dist/ionic/{p-9286b16d.system.entry.js → p-b5cc6e57.system.entry.js} +2 -2
  725. package/dist/ionic/p-bab398d1.entry.js +4 -0
  726. package/dist/ionic/p-bb7162de.system.js +4 -0
  727. package/dist/ionic/p-bedf240b.entry.js +4 -0
  728. package/dist/ionic/p-bee73070.entry.js +4 -0
  729. package/dist/ionic/{p-13260c59.entry.js → p-c23822f8.entry.js} +1 -1
  730. package/dist/ionic/p-c24b81cc.entry.js +4 -0
  731. package/dist/ionic/p-c374ab05.system.js +4 -0
  732. package/dist/ionic/{p-1de7f9e4.entry.js → p-c47b75e3.entry.js} +1 -1
  733. package/dist/ionic/p-c79decb5.system.entry.js +4 -0
  734. package/dist/ionic/p-ca5aaed3.system.entry.js +4 -0
  735. package/dist/ionic/p-cce8c245.entry.js +4 -0
  736. package/dist/ionic/{p-96cc4814.js → p-cd99310b.js} +1 -1
  737. package/dist/ionic/p-cdc9a11c.system.entry.js +4 -0
  738. package/dist/ionic/p-d281c150.system.entry.js +4 -0
  739. package/dist/ionic/p-d2a580db.entry.js +4 -0
  740. package/dist/ionic/p-d4f55a93.entry.js +4 -0
  741. package/dist/ionic/p-d5fc7d63.entry.js +4 -0
  742. package/dist/ionic/{p-f687573e.system.js → p-d98a1d99.system.js} +1 -1
  743. package/dist/ionic/p-db08a2d0.system.entry.js +4 -0
  744. package/dist/ionic/p-db3f14c1.system.entry.js +4 -0
  745. package/dist/ionic/p-db8fac3d.system.entry.js +4 -0
  746. package/dist/ionic/p-dc60009b.system.entry.js +4 -0
  747. package/dist/ionic/p-dc8a3888.entry.js +4 -0
  748. package/dist/ionic/p-e2313846.entry.js +4 -0
  749. package/dist/ionic/{p-e6a47e94.entry.js → p-e59d16bd.entry.js} +1 -1
  750. package/dist/ionic/{p-8d3e57a0.system.entry.js → p-e7e3ba54.system.entry.js} +1 -1
  751. package/dist/ionic/p-e8aa220a.js +4 -0
  752. package/dist/ionic/p-e900eba2.system.entry.js +4 -0
  753. package/dist/ionic/p-ea8c8541.system.entry.js +4 -0
  754. package/dist/ionic/p-ebc71ff5.system.entry.js +4 -0
  755. package/dist/ionic/p-f0fab903.system.entry.js +4 -0
  756. package/dist/ionic/p-f621b019.entry.js +4 -0
  757. package/dist/ionic/{p-6ad705f8.system.js → p-fa019443.system.js} +1 -1
  758. package/dist/ionic/p-fb17d462.entry.js +4 -0
  759. package/dist/ionic/p-fb8ecdb4.system.entry.js +4 -0
  760. package/dist/ionic/p-fc0922fa.system.entry.js +4 -0
  761. package/dist/ionic/{p-7a43878b.system.js → p-fc9f9e4d.system.js} +1 -1
  762. package/dist/ionic/p-fcb1218a.system.entry.js +4 -0
  763. package/dist/types/components/accordion/accordion.d.ts +3 -2
  764. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  765. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  766. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  767. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  768. package/dist/types/components/alert/alert.d.ts +3 -2
  769. package/dist/types/components/app/app.d.ts +4 -0
  770. package/dist/types/components/avatar/avatar.d.ts +25 -0
  771. package/dist/types/components/back-button/back-button.d.ts +2 -1
  772. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  773. package/dist/types/components/badge/badge.d.ts +23 -1
  774. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  775. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  776. package/dist/types/components/button/button.d.ts +15 -4
  777. package/dist/types/components/buttons/buttons.d.ts +5 -1
  778. package/dist/types/components/card/card.d.ts +8 -1
  779. package/dist/types/components/card-content/card-content.d.ts +2 -1
  780. package/dist/types/components/card-header/card-header.d.ts +3 -2
  781. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  782. package/dist/types/components/card-title/card-title.d.ts +2 -1
  783. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  784. package/dist/types/components/chip/chip.d.ts +19 -1
  785. package/dist/types/components/col/col.d.ts +4 -0
  786. package/dist/types/components/content/content.d.ts +3 -0
  787. package/dist/types/components/datetime/datetime.d.ts +18 -1
  788. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  789. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  790. package/dist/types/components/fab/fab.d.ts +4 -0
  791. package/dist/types/components/fab-button/fab-button.d.ts +4 -3
  792. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  793. package/dist/types/components/footer/footer.d.ts +4 -3
  794. package/dist/types/components/grid/grid.d.ts +4 -0
  795. package/dist/types/components/header/header.d.ts +4 -3
  796. package/dist/types/components/img/img.d.ts +3 -0
  797. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  798. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  799. package/dist/types/components/input/input.d.ts +31 -5
  800. package/dist/types/components/item/item.d.ts +5 -4
  801. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  802. package/dist/types/components/item-group/item-group.d.ts +4 -0
  803. package/dist/types/components/item-option/item-option.d.ts +2 -1
  804. package/dist/types/components/item-options/item-options.d.ts +4 -0
  805. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  806. package/dist/types/components/label/label.d.ts +2 -1
  807. package/dist/types/components/list/list.d.ts +2 -1
  808. package/dist/types/components/list-header/list-header.d.ts +2 -1
  809. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  810. package/dist/types/components/loading/loading.d.ts +3 -2
  811. package/dist/types/components/menu/menu.d.ts +3 -0
  812. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  813. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  814. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  815. package/dist/types/components/modal/modal.d.ts +2 -1
  816. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  817. package/dist/types/components/nav/nav.d.ts +5 -1
  818. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  819. package/dist/types/components/note/note.d.ts +2 -1
  820. package/dist/types/components/picker/picker.d.ts +2 -1
  821. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  822. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  823. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  824. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  825. package/dist/types/components/popover/popover.d.ts +6 -5
  826. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  827. package/dist/types/components/radio/radio.d.ts +2 -1
  828. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  829. package/dist/types/components/range/range.d.ts +2 -1
  830. package/dist/types/components/refresher/refresher.d.ts +3 -1
  831. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  832. package/dist/types/components/reorder/reorder.d.ts +11 -0
  833. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  834. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  835. package/dist/types/components/route/route.d.ts +4 -0
  836. package/dist/types/components/router/router.d.ts +4 -0
  837. package/dist/types/components/router-link/router-link.d.ts +4 -0
  838. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  839. package/dist/types/components/row/row.d.ts +4 -0
  840. package/dist/types/components/searchbar/searchbar.d.ts +27 -8
  841. package/dist/types/components/segment/segment.d.ts +2 -1
  842. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  843. package/dist/types/components/select/select.d.ts +24 -5
  844. package/dist/types/components/select-option/select-option.d.ts +4 -0
  845. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  846. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  847. package/dist/types/components/spinner/spinner.d.ts +4 -0
  848. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  849. package/dist/types/components/tab/tab.d.ts +4 -0
  850. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  851. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  852. package/dist/types/components/tabs/tabs.d.ts +3 -0
  853. package/dist/types/components/text/text.d.ts +2 -1
  854. package/dist/types/components/textarea/textarea.d.ts +3 -2
  855. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  856. package/dist/types/components/title/title.d.ts +4 -0
  857. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  858. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  859. package/dist/types/components/toast/toast.d.ts +3 -2
  860. package/dist/types/components/toggle/toggle.d.ts +19 -1
  861. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  862. package/dist/types/components.d.ts +1278 -174
  863. package/dist/types/global/ionic-global.d.ts +25 -2
  864. package/dist/types/interface.d.ts +3 -0
  865. package/dist/types/utils/config.d.ts +99 -2
  866. package/dist/types/utils/overlays-interface.d.ts +31 -1
  867. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  868. package/hydrate/index.js +1591 -615
  869. package/package.json +10 -5
  870. package/components/index9.js +0 -167
  871. package/dist/cjs/index-5915f9b3.js +0 -38
  872. package/dist/cjs/ionic-global-46459c38.js +0 -237
  873. package/dist/collection/components/button/test/round/button.e2e.js +0 -52
  874. package/dist/esm/index-9b0d46f4.js +0 -34
  875. package/dist/esm/ionic-global-b9c0d1da.js +0 -231
  876. package/dist/esm-es5/app-globals-232dc3ed.js +0 -4
  877. package/dist/esm-es5/data-ae11fd43.js +0 -4
  878. package/dist/esm-es5/index-5cc724f3.js +0 -4
  879. package/dist/esm-es5/index-92f14156.js +0 -4
  880. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  881. package/dist/esm-es5/index-c8c3afda.js +0 -4
  882. package/dist/esm-es5/input-shims-0314bbe5.js +0 -4
  883. package/dist/esm-es5/input.utils-09c71bc7.js +0 -4
  884. package/dist/esm-es5/ionic-global-b9c0d1da.js +0 -4
  885. package/dist/esm-es5/ios.transition-2f45f5c1.js +0 -4
  886. package/dist/esm-es5/md.transition-6fcc955f.js +0 -4
  887. package/dist/esm-es5/overlays-0d212972.js +0 -4
  888. package/dist/esm-es5/status-tap-53150009.js +0 -4
  889. package/dist/ionic/p-0471d705.entry.js +0 -4
  890. package/dist/ionic/p-05bbe79d.entry.js +0 -4
  891. package/dist/ionic/p-06fee233.js +0 -4
  892. package/dist/ionic/p-0769896d.system.entry.js +0 -4
  893. package/dist/ionic/p-13d3abce.system.entry.js +0 -4
  894. package/dist/ionic/p-1731ab58.system.entry.js +0 -4
  895. package/dist/ionic/p-17c10451.system.entry.js +0 -4
  896. package/dist/ionic/p-184fc032.system.js +0 -4
  897. package/dist/ionic/p-18fd2107.entry.js +0 -4
  898. package/dist/ionic/p-1a0848af.system.entry.js +0 -4
  899. package/dist/ionic/p-1cebad78.system.entry.js +0 -4
  900. package/dist/ionic/p-2690b1de.js +0 -4
  901. package/dist/ionic/p-26e469a2.system.entry.js +0 -4
  902. package/dist/ionic/p-2b13fb8c.entry.js +0 -4
  903. package/dist/ionic/p-2e7673a0.system.entry.js +0 -4
  904. package/dist/ionic/p-3886b5d0.entry.js +0 -4
  905. package/dist/ionic/p-38c67b66.system.entry.js +0 -4
  906. package/dist/ionic/p-3a0091c2.system.entry.js +0 -4
  907. package/dist/ionic/p-3b199ab6.entry.js +0 -4
  908. package/dist/ionic/p-3c1b674f.entry.js +0 -4
  909. package/dist/ionic/p-3dba7283.entry.js +0 -4
  910. package/dist/ionic/p-3ea44c31.system.entry.js +0 -4
  911. package/dist/ionic/p-418ad596.entry.js +0 -4
  912. package/dist/ionic/p-44f6a3e4.system.entry.js +0 -4
  913. package/dist/ionic/p-4c3d1c73.entry.js +0 -4
  914. package/dist/ionic/p-4d6b6aef.system.entry.js +0 -4
  915. package/dist/ionic/p-4d7ab66a.system.entry.js +0 -4
  916. package/dist/ionic/p-4f610234.entry.js +0 -4
  917. package/dist/ionic/p-52df00b5.entry.js +0 -4
  918. package/dist/ionic/p-56cb7d41.entry.js +0 -4
  919. package/dist/ionic/p-591528fc.entry.js +0 -4
  920. package/dist/ionic/p-5b121ea3.system.entry.js +0 -4
  921. package/dist/ionic/p-5bbd2b10.entry.js +0 -4
  922. package/dist/ionic/p-5c22c8fa.system.js +0 -4
  923. package/dist/ionic/p-5f2dc7f9.entry.js +0 -4
  924. package/dist/ionic/p-6017cbeb.system.js +0 -4
  925. package/dist/ionic/p-6167004c.system.entry.js +0 -4
  926. package/dist/ionic/p-617caf82.entry.js +0 -4
  927. package/dist/ionic/p-624e1ca6.system.js +0 -4
  928. package/dist/ionic/p-646d46b1.entry.js +0 -4
  929. package/dist/ionic/p-64e15640.system.entry.js +0 -4
  930. package/dist/ionic/p-65fd47cb.system.entry.js +0 -4
  931. package/dist/ionic/p-66621486.system.entry.js +0 -4
  932. package/dist/ionic/p-666583e1.system.entry.js +0 -4
  933. package/dist/ionic/p-68e5bec9.system.entry.js +0 -4
  934. package/dist/ionic/p-6c76eff8.system.entry.js +0 -4
  935. package/dist/ionic/p-6cf5d476.system.js +0 -4
  936. package/dist/ionic/p-6ee1e402.system.js +0 -4
  937. package/dist/ionic/p-705c21cb.system.entry.js +0 -4
  938. package/dist/ionic/p-72ee2cd6.entry.js +0 -4
  939. package/dist/ionic/p-733db888.entry.js +0 -4
  940. package/dist/ionic/p-738cb3bd.entry.js +0 -4
  941. package/dist/ionic/p-75cb6744.system.js +0 -4
  942. package/dist/ionic/p-796cfde4.entry.js +0 -4
  943. package/dist/ionic/p-7a86bd75.js +0 -4
  944. package/dist/ionic/p-7f84a4c8.system.entry.js +0 -4
  945. package/dist/ionic/p-8ee5c5bf.js +0 -4
  946. package/dist/ionic/p-943bc98f.system.entry.js +0 -4
  947. package/dist/ionic/p-94953ea1.system.entry.js +0 -4
  948. package/dist/ionic/p-94c6f6ab.system.entry.js +0 -4
  949. package/dist/ionic/p-9690c79d.system.entry.js +0 -4
  950. package/dist/ionic/p-98f199c6.system.entry.js +0 -4
  951. package/dist/ionic/p-9f5f3485.js +0 -4
  952. package/dist/ionic/p-a07f9cb7.system.entry.js +0 -4
  953. package/dist/ionic/p-a3aaeca8.system.entry.js +0 -4
  954. package/dist/ionic/p-ab27a195.system.entry.js +0 -4
  955. package/dist/ionic/p-af9d3f33.entry.js +0 -4
  956. package/dist/ionic/p-b1e856df.entry.js +0 -4
  957. package/dist/ionic/p-b6fe4a42.entry.js +0 -4
  958. package/dist/ionic/p-b7fa6074.js +0 -4
  959. package/dist/ionic/p-b9fcfe50.system.js +0 -4
  960. package/dist/ionic/p-c1859486.system.js +0 -4
  961. package/dist/ionic/p-c5477854.system.entry.js +0 -4
  962. package/dist/ionic/p-c91c13d2.js +0 -4
  963. package/dist/ionic/p-cb5d9dd4.entry.js +0 -4
  964. package/dist/ionic/p-ccab4d05.system.entry.js +0 -4
  965. package/dist/ionic/p-cdddc32e.entry.js +0 -4
  966. package/dist/ionic/p-d2293261.system.entry.js +0 -4
  967. package/dist/ionic/p-d2753e35.js +0 -4
  968. package/dist/ionic/p-d2db72d1.entry.js +0 -4
  969. package/dist/ionic/p-d529141b.entry.js +0 -4
  970. package/dist/ionic/p-d5f62e4e.entry.js +0 -4
  971. package/dist/ionic/p-d7b97091.entry.js +0 -4
  972. package/dist/ionic/p-d820d1f1.entry.js +0 -4
  973. package/dist/ionic/p-d9e26540.system.entry.js +0 -4
  974. package/dist/ionic/p-da0001cd.system.entry.js +0 -4
  975. package/dist/ionic/p-dbee9e95.system.entry.js +0 -4
  976. package/dist/ionic/p-df3ebee9.system.entry.js +0 -4
  977. package/dist/ionic/p-df4bdf05.entry.js +0 -4
  978. package/dist/ionic/p-dfb78785.system.js +0 -4
  979. package/dist/ionic/p-e08fb9c2.system.entry.js +0 -4
  980. package/dist/ionic/p-e12d7323.entry.js +0 -4
  981. package/dist/ionic/p-e4587da1.js +0 -4
  982. package/dist/ionic/p-eaed7394.entry.js +0 -4
  983. package/dist/ionic/p-ecf5f3e0.entry.js +0 -4
  984. package/dist/ionic/p-ed72bc6c.system.entry.js +0 -4
  985. package/dist/ionic/p-ef1c5743.entry.js +0 -4
  986. package/dist/ionic/p-f181073a.entry.js +0 -4
  987. package/dist/ionic/p-f52c2d9a.entry.js +0 -4
  988. package/dist/ionic/p-f654e4df.entry.js +0 -4
  989. package/dist/ionic/p-fa2abaef.entry.js +0 -4
  990. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -92,18 +98,18 @@
92
98
  input {
93
99
  position: absolute;
94
100
  top: 0;
95
- left: 0;
96
101
  right: 0;
97
102
  bottom: 0;
103
+ left: 0;
98
104
  width: 100%;
99
105
  height: 100%;
100
106
  margin: 0;
101
107
  padding: 0;
102
108
  border: 0;
103
109
  outline: 0;
104
- clip: rect(0 0 0 0);
105
110
  opacity: 0;
106
111
  overflow: hidden;
112
+ clip: rect(0 0 0 0);
107
113
  -webkit-appearance: none;
108
114
  -moz-appearance: none;
109
115
  }
@@ -306,6 +312,12 @@ input {
306
312
  }
307
313
  }
308
314
 
315
+ /**
316
+ * Convert a pixels given value into rem
317
+ *
318
+ * @param pixels - Value in pixels to be converted (i.e. px)
319
+ * @param context (optional) - Baseline value
320
+ */
309
321
  /**
310
322
  * Convert a font size to a dynamic font size.
311
323
  * Fonts that participate in Dynamic Type should use
@@ -361,6 +373,12 @@ input {
361
373
  * }
362
374
  * }
363
375
  */
376
+ /**
377
+ * Convert a pixels given value into rem
378
+ *
379
+ * @param pixels - Value in pixels to be converted (i.e. px)
380
+ * @param context (optional) - Baseline value
381
+ */
364
382
  /**
365
383
  * Convert a font size to a dynamic font size.
366
384
  * Fonts that participate in Dynamic Type should use
@@ -3,7 +3,11 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { renderHiddenInput } from "../../utils/helpers";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { getIonTheme } from "../../global/ionic-global";
7
+ /**
8
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
9
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
10
+ */
7
11
  export class RadioGroup {
8
12
  constructor() {
9
13
  this.inputId = `ion-rg-${radioGroupIds++}`;
@@ -151,9 +155,11 @@ export class RadioGroup {
151
155
  }
152
156
  render() {
153
157
  const { label, labelId, el, name, value } = this;
154
- const mode = getIonMode(this);
158
+ const theme = getIonTheme(this);
155
159
  renderHiddenInput(true, el, name, value, false);
156
- return h(Host, { key: '7a8ad7eb6a05c6f96a348dcf30fd0c610a95688c', role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick, class: mode });
160
+ return (h(Host, { key: 'a66c74e56338ae9d6ec9f9e5a9f1f3d1540efc9e', class: {
161
+ [theme]: true,
162
+ }, role: "radiogroup", "aria-labelledby": label ? labelId : null, onClick: this.onClick }));
157
163
  }
158
164
  static get is() { return "ion-radio-group"; }
159
165
  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
@@ -389,6 +395,12 @@
389
395
  margin-bottom: 0px;
390
396
  }
391
397
 
398
+ /**
399
+ * Convert a pixels given value into rem
400
+ *
401
+ * @param pixels - Value in pixels to be converted (i.e. px)
402
+ * @param context (optional) - Baseline value
403
+ */
392
404
  /**
393
405
  * Convert a font size to a dynamic font size.
394
406
  * Fonts that participate in Dynamic Type should use
@@ -7,11 +7,12 @@ import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput } from "
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { isRTL } from "../../utils/rtl/index";
9
9
  import { createColorClasses, hostContext } from "../../utils/theme";
10
- import { getIonMode } from "../../global/ionic-global";
10
+ import { getIonTheme } from "../../global/ionic-global";
11
11
  import { roundToMaxDecimalPlaces } from "../../utils/floating-point";
12
12
  // TODO(FW-2832): types
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 label - The label text to associate with the range. Use the "labelPlacement" property to control where the label is placed relative to the range.
17
18
  * @slot start - Content is placed to the left of the range slider in LTR, and to the right in RTL.
@@ -559,10 +560,10 @@ export class Range {
559
560
  */
560
561
  const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
561
562
  const needsEndAdjustment = inItem && !hasEndContent;
562
- const mode = getIonMode(this);
563
+ const theme = getIonTheme(this);
563
564
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
564
- return (h(Host, { key: '7ad5ca892fd46c64ce5583e91e6812410a869921', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
565
- [mode]: true,
565
+ return (h(Host, { key: '9a0c5461753d9097041fd66cbc5389a7dc6874a6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
566
+ [theme]: true,
566
567
  'in-item': inItem,
567
568
  'range-disabled': disabled,
568
569
  'range-pressed': pressedKnob !== undefined,
@@ -570,23 +571,25 @@ export class Range {
570
571
  [`range-label-placement-${labelPlacement}`]: true,
571
572
  'range-item-start-adjustment': needsStartAdjustment,
572
573
  'range-item-end-adjustment': needsEndAdjustment,
573
- }) }, h("label", { key: 'eb8d46a9572341b4cc3c91d8a5de0667bd166ca4', class: "range-wrapper", id: "range-label" }, h("div", { key: '21acd6ff6eba17bf6923bf723fea055b95fd29ca', class: {
574
+ }) }, h("label", { key: '22f37fcaa262137482b5a737ec64bb97cd511d51', class: "range-wrapper", id: "range-label" }, h("div", { key: 'd3dd2c69806b58ae24ed7b720bd5cf52be714126', class: {
574
575
  'label-text-wrapper': true,
575
576
  'label-text-wrapper-hidden': !hasLabel,
576
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '7644c86a6ad3edf2c27f02dd2a14795b3720ea0d', class: "native-wrapper" }, h("slot", { key: '1bbeccee57addc126b36de395e28ba655248695b', name: "start" }), this.renderRangeSlider(), h("slot", { key: '2963dd84e4116fc3956c304eb53deefd0d1291df', name: "end" })))));
577
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '4bc7b7d7518417ec9c4d10697d8683c8711a7198', class: "native-wrapper" }, h("slot", { key: '21df25969b38b8e7d7fd9b18ca0272e55fe452f8', name: "start" }), this.renderRangeSlider(), h("slot", { key: '8a7175cf0839e25bef65d990a12113fb0e4d2621', name: "end" })))));
577
578
  }
578
579
  static get is() { return "ion-range"; }
579
580
  static get encapsulation() { return "shadow"; }
580
581
  static get originalStyleUrls() {
581
582
  return {
582
583
  "ios": ["range.ios.scss"],
583
- "md": ["range.md.scss"]
584
+ "md": ["range.md.scss"],
585
+ "ionic": ["range.md.scss"]
584
586
  };
585
587
  }
586
588
  static get styleUrls() {
587
589
  return {
588
590
  "ios": ["range.ios.css"],
589
- "md": ["range.md.css"]
591
+ "md": ["range.md.css"],
592
+ "ionic": ["range.md.css"]
590
593
  };
591
594
  }
592
595
  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
@@ -389,6 +395,12 @@
389
395
  margin-bottom: 0px;
390
396
  }
391
397
 
398
+ /**
399
+ * Convert a pixels given value into rem
400
+ *
401
+ * @param pixels - Value in pixels to be converted (i.e. px)
402
+ * @param context (optional) - Baseline value
403
+ */
392
404
  /**
393
405
  * Convert a font size to a dynamic font size.
394
406
  * 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
@@ -143,10 +149,17 @@ ion-refresher-content .arrow-container {
143
149
  transform: scale(0);
144
150
  }
145
151
 
146
- .refresher-native .refresher-pulling-text, .refresher-native .refresher-refreshing-text {
152
+ .refresher-native .refresher-pulling-text,
153
+ .refresher-native .refresher-refreshing-text {
147
154
  display: none;
148
155
  }
149
156
 
157
+ /**
158
+ * Convert a pixels given value into rem
159
+ *
160
+ * @param pixels - Value in pixels to be converted (i.e. px)
161
+ * @param context (optional) - Baseline value
162
+ */
150
163
  /**
151
164
  * Convert a font size to a dynamic font size.
152
165
  * Fonts that participate in Dynamic Type should use
@@ -6,10 +6,11 @@ import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
6
  import { getScrollElement, ION_CONTENT_CLASS_SELECTOR, ION_CONTENT_ELEMENT_SELECTOR, printIonContentErrorMsg, } from "../../utils/content/index";
7
7
  import { clamp, componentOnReady, getElementRoot, raf, transitionEndAsync } from "../../utils/helpers";
8
8
  import { ImpactStyle, hapticImpact } from "../../utils/native/haptic";
9
- import { getIonMode } from "../../global/ionic-global";
9
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
10
10
  import { createPullingAnimation, createSnapBackAnimation, getRefresherAnimationType, handleScrollWhilePulling, handleScrollWhileRefreshing, setSpinnerOpacity, shouldUseNativeRefresher, translateElement, } from "./refresher.utils";
11
11
  /**
12
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
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.
13
14
  */
14
15
  export class Refresher {
15
16
  constructor() {
@@ -19,6 +20,7 @@ export class Refresher {
19
20
  this.pointerDown = false;
20
21
  this.needsCompletion = false;
21
22
  this.didRefresh = false;
23
+ this.contentFullscreen = false;
22
24
  this.lastVelocityY = 0;
23
25
  this.animations = [];
24
26
  this.nativeRefresher = false;
@@ -313,6 +315,12 @@ export class Refresher {
313
315
  * Query the background content element from the host ion-content element directly.
314
316
  */
315
317
  this.backgroundContentEl = await contentEl.getBackgroundElement();
318
+ /**
319
+ * Check if the content element is fullscreen to apply the correct styles
320
+ * when the refresher is refreshing. Otherwise, the refresher will be
321
+ * hidden because it is positioned behind the background content element.
322
+ */
323
+ this.contentFullscreen = contentEl.fullscreen;
316
324
  if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {
317
325
  this.setupNativeRefresher(contentEl);
318
326
  }
@@ -406,6 +414,14 @@ export class Refresher {
406
414
  this.progress = 0;
407
415
  this.state = 1 /* RefresherState.Inactive */;
408
416
  this.memoizeOverflowStyle();
417
+ /**
418
+ * If the content is fullscreen, then we need to
419
+ * set the offset-top style on the background content
420
+ * element to ensure that the refresher is shown.
421
+ */
422
+ if (this.contentFullscreen && this.backgroundContentEl) {
423
+ this.backgroundContentEl.style.setProperty('--offset-top', '0px');
424
+ }
409
425
  }
410
426
  onMove(detail) {
411
427
  if (!this.scrollEl) {
@@ -533,6 +549,7 @@ export class Refresher {
533
549
  close(state, delay) {
534
550
  // create fallback timer incase something goes wrong with transitionEnd event
535
551
  setTimeout(() => {
552
+ var _a;
536
553
  this.state = 1 /* RefresherState.Inactive */;
537
554
  this.progress = 0;
538
555
  this.didStart = false;
@@ -541,6 +558,17 @@ export class Refresher {
541
558
  * user can scroll again.
542
559
  */
543
560
  this.setCss(0, '0ms', false, '', true);
561
+ /**
562
+ * Reset the offset-top style on the background content
563
+ * when the refresher is no longer refreshing and the
564
+ * content is fullscreen.
565
+ *
566
+ * This ensures that the behavior of background content
567
+ * does not change when refreshing is complete.
568
+ */
569
+ if (this.contentFullscreen && this.backgroundContentEl) {
570
+ (_a = this.backgroundContentEl) === null || _a === void 0 ? void 0 : _a.style.removeProperty('--offset-top');
571
+ }
544
572
  }, 600);
545
573
  // reset the styles on the scroll element
546
574
  // set that the refresh is actively cancelling/completing
@@ -593,11 +621,11 @@ export class Refresher {
593
621
  }
594
622
  }
595
623
  render() {
596
- const mode = getIonMode(this);
597
- return (h(Host, { key: '1696f66f62d18c9075294f17cb24263325fcf35d', slot: "fixed", class: {
598
- [mode]: true,
624
+ const theme = getIonTheme(this);
625
+ return (h(Host, { key: 'ecc8cddc285a230e4a95fae1e275a1f8c350e104', slot: "fixed", class: {
626
+ [theme]: true,
599
627
  // Used internally for styling
600
- [`refresher-${mode}`]: true,
628
+ [`refresher-${theme}`]: true,
601
629
  'refresher-native': this.nativeRefresher,
602
630
  'refresher-active': this.state !== 1 /* RefresherState.Inactive */,
603
631
  'refresher-pulling': this.state === 2 /* RefresherState.Pulling */,
@@ -611,13 +639,15 @@ export class Refresher {
611
639
  static get originalStyleUrls() {
612
640
  return {
613
641
  "ios": ["refresher.ios.scss"],
614
- "md": ["refresher.md.scss"]
642
+ "md": ["refresher.md.scss"],
643
+ "ionic": ["refresher.md.scss"]
615
644
  };
616
645
  }
617
646
  static get styleUrls() {
618
647
  return {
619
648
  "ios": ["refresher.ios.css"],
620
- "md": ["refresher.md.css"]
649
+ "md": ["refresher.md.css"],
650
+ "ionic": ["refresher.md.css"]
621
651
  };
622
652
  }
623
653
  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
@@ -143,10 +149,17 @@ ion-refresher-content .arrow-container {
143
149
  transform: scale(0);
144
150
  }
145
151
 
146
- .refresher-native .refresher-pulling-text, .refresher-native .refresher-refreshing-text {
152
+ .refresher-native .refresher-pulling-text,
153
+ .refresher-native .refresher-refreshing-text {
147
154
  display: none;
148
155
  }
149
156
 
157
+ /**
158
+ * Convert a pixels given value into rem
159
+ *
160
+ * @param pixels - Value in pixels to be converted (i.e. px)
161
+ * @param context (optional) - Baseline value
162
+ */
150
163
  /**
151
164
  * Convert a font size to a dynamic font size.
152
165
  * Fonts that participate in Dynamic Type should use
@@ -255,8 +268,8 @@ ion-refresher.refresher-native .arrow-container ion-icon {
255
268
  margin-inline-end: auto;
256
269
  margin-top: 0;
257
270
  margin-bottom: 0;
258
- left: 0;
259
271
  right: 0;
272
+ left: 0;
260
273
  bottom: -4px;
261
274
  position: absolute;
262
275
  color: var(--ion-color-primary, #0054e9);
@@ -0,0 +1,77 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ import { pullToRefresh } from "../test.utils";
7
+ /**
8
+ * This behavior does not vary across directions.
9
+ */
10
+ configs({ directions: ['ltr'] }).forEach(({ title, config, screenshot }) => {
11
+ test.describe(title('refresher: fullscreen content'), () => {
12
+ test.beforeEach(async ({ page }) => {
13
+ /**
14
+ * Do not call `complete()` from `ion-refresher` in this test.
15
+ * This will allow the refresher to "pause" while refreshing.
16
+ * By pausing, the test can verify that the refresher is
17
+ * completely visible when the content is fullscreen.
18
+ */
19
+ await page.setContent(`
20
+ <ion-header>
21
+ <ion-toolbar>
22
+ <ion-title>Pull To Refresh</ion-title>
23
+ </ion-toolbar>
24
+ </ion-header>
25
+
26
+ <ion-content fullscreen>
27
+ <ion-refresher id="refresher" slot="fixed">
28
+ <ion-refresher-content
29
+ pulling-icon="arrow-down-outline"
30
+ pulling-text="Pull to refresh..."
31
+ refreshing-text="Refreshing..."
32
+ refreshing-spinner="circles"
33
+ >
34
+ </ion-refresher-content>
35
+ </ion-refresher>
36
+
37
+ <p>Pull this content down to trigger the refresh.</p>
38
+ </ion-content>
39
+
40
+ <script>
41
+ const refresher = document.getElementById('refresher');
42
+
43
+ refresher.addEventListener('ionRefresh', () => {
44
+ setTimeout(() => {
45
+ // Custom event consumed by e2e tests
46
+ window.dispatchEvent(new CustomEvent('ionRefreshComplete'));
47
+ }, 500);
48
+ });
49
+ </script>
50
+ `, config);
51
+ });
52
+ // Bug only occurs with the legacy refresher.
53
+ test.describe('legacy refresher', () => {
54
+ test('should display when content is fullscreen', async ({ page, browserName }) => {
55
+ test.info().annotations.push({
56
+ type: 'issue',
57
+ description: 'https://github.com/ionic-team/ionic-framework/issues/18714',
58
+ });
59
+ const refresher = page.locator('ion-refresher');
60
+ await pullToRefresh(page);
61
+ if (browserName === 'firefox') {
62
+ /**
63
+ * The drag is highlighting the text in Firefox for
64
+ * some reason.
65
+ *
66
+ * Clicking the mouse will remove the highlight and
67
+ * be more consistent with other browsers. This
68
+ * does not happen in Firefox, just when running
69
+ * in Playwright.
70
+ */
71
+ await page.mouse.click(0, 0);
72
+ }
73
+ await expect(refresher).toHaveScreenshot(screenshot('refresher-legacy-content-fullscreen'));
74
+ });
75
+ });
76
+ });
77
+ });
@@ -6,9 +6,13 @@ import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
6
  import { sanitizeDOMString } from "../../utils/sanitization/index";
7
7
  import { arrowDown, caretBackSharp } from "ionicons/icons";
8
8
  import { config } from "../../global/config";
9
- import { getIonMode } from "../../global/ionic-global";
9
+ import { getIonTheme } from "../../global/ionic-global";
10
10
  import { supportsRubberBandScrolling } from "../refresher/refresher.utils";
11
11
  import { SPINNERS } from "../spinner/spinner-configs";
12
+ /**
13
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
14
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
15
+ */
12
16
  export class RefresherContent {
13
17
  constructor() {
14
18
  this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
@@ -18,6 +22,7 @@ export class RefresherContent {
18
22
  this.refreshingText = undefined;
19
23
  }
20
24
  componentWillLoad() {
25
+ const theme = getIonTheme(this);
21
26
  if (this.pullingIcon === undefined) {
22
27
  /**
23
28
  * The native iOS refresher uses a spinner instead of
@@ -25,13 +30,11 @@ export class RefresherContent {
25
30
  * the native iOS refresher.
26
31
  */
27
32
  const hasRubberBandScrolling = supportsRubberBandScrolling();
28
- const mode = getIonMode(this);
29
33
  const overflowRefresher = hasRubberBandScrolling ? 'lines' : arrowDown;
30
- this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
34
+ this.pullingIcon = config.get('refreshingIcon', theme === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
31
35
  }
32
36
  if (this.refreshingSpinner === undefined) {
33
- const mode = getIonMode(this);
34
- this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'circular'));
37
+ this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', theme === 'ios' ? 'lines' : 'circular'));
35
38
  }
36
39
  }
37
40
  renderPullingText() {
@@ -51,8 +54,10 @@ export class RefresherContent {
51
54
  render() {
52
55
  const pullingIcon = this.pullingIcon;
53
56
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
54
- const mode = getIonMode(this);
55
- return (h(Host, { key: '1bec5b4da221c69d856f3f5ddf40f2e03ebf2a4c', class: mode }, h("div", { key: '4fcc526c4f1881e9368d9cd16bd7030919bd3841', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'a4e9e2e12c2d7faefc8303ec8c021f999ddf308e', class: "refresher-pulling-icon" }, h("div", { key: '5a2d215feb7fb4b64d540d3a65c0f24b415a2433', class: "spinner-arrow-container" }, h("ion-spinner", { key: 'abef2621d671ac6ff0abac43a702cbd825b7f127', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { key: '30087d672c3780672a05874cd93cd099b2855462', class: "arrow-container" }, h("ion-icon", { key: '5e30333dee469aec0d8efc8c4e6dabb619c6f363', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '48fe72b5ce8ded633c6ee799cebb520b9c8be528', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'd8dfd5d42056b1c0a436c5006affb255407816c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'c2cbfb94f157c82601ffe7bb815ff82ebc7c0a49', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '17f3ebe6a31768d5e389f45a2c12f68600185db9', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: 'e8e61f8d7189c9939bba184201c9509d1d5b0fad', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
57
+ const theme = getIonTheme(this);
58
+ return (h(Host, { key: '3ca3fccc7a8cb29a6dfc570f9052ceca61799c93', class: {
59
+ [theme]: true,
60
+ } }, h("div", { key: 'ce5c20051eff59e5c4f8b6578d953c2d7d3b7f87', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'c6422439ce4acc179e05e905ce5efe5a1a1d80b7', class: "refresher-pulling-icon" }, h("div", { key: '5bac7c5b4a16f88719f459616a57b2c64ddd0a29', class: "spinner-arrow-container" }, h("ion-spinner", { key: 'f832e4b8e19c8b8af79f6ecf8cce7bd5c6e41b6f', name: this.pullingIcon, paused: true }), theme === 'md' && this.pullingIcon === 'circular' && (h("div", { key: 'c447410bd305bab0e4e323017f5763db35d58491', class: "arrow-container" }, h("ion-icon", { key: '648979a648454e3f73e975fd23b375eff4f4ca67', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'a498c2cca227fe4f11db66ac8ce1ebf8f9155069', class: "refresher-pulling-icon" }, h("ion-icon", { key: 'abae52dc96698599668b5382b311339a861c7752', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'eb9451dc3f0fef6396698fc21014f33428781ce0', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '0d00725aa7dd4ce077c7ca47fe6af098d7acfeb2', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '23eb6075336fb7831fca53eecdabc8f08ff3138c', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
56
61
  }
57
62
  static get is() { return "ion-refresher-content"; }
58
63
  static get properties() {
@@ -16,6 +16,12 @@
16
16
  font-size: dynamic-font(16px);
17
17
  }
18
18
 
19
+ /**
20
+ * Convert a pixels given value into rem
21
+ *
22
+ * @param pixels - Value in pixels to be converted (i.e. px)
23
+ * @param context (optional) - Baseline value
24
+ */
19
25
  /**
20
26
  * Convert a font size to a dynamic font size.
21
27
  * Fonts that participate in Dynamic Type should use
@@ -3,8 +3,12 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { reorderThreeOutline, reorderTwoSharp } from "ionicons/icons";
6
- import { getIonMode } from "../../global/ionic-global";
6
+ import { config } from "../../global/config";
7
+ import { getIonTheme } from "../../global/ionic-global";
7
8
  /**
9
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
10
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
11
+ *
8
12
  * @part icon - The icon of the reorder handle (uses ion-icon).
9
13
  */
10
14
  export class Reorder {
@@ -17,23 +21,39 @@ export class Reorder {
17
21
  ev.stopImmediatePropagation();
18
22
  }
19
23
  }
24
+ /**
25
+ * Get the icon to use for the handle icon.
26
+ * Otherwise, use the icon set in the config.
27
+ * If no icon is set in the config, use the default icon.
28
+ *
29
+ * @returns {string} The icon to use for the handle icon.
30
+ */
31
+ get reorderHandleIcon() {
32
+ const theme = getIonTheme(this);
33
+ const reorderIcon = theme === 'ios' ? reorderThreeOutline : reorderTwoSharp;
34
+ return config.get('reorderHandleIcon', reorderIcon);
35
+ }
20
36
  render() {
21
- const mode = getIonMode(this);
22
- const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
23
- return (h(Host, { key: '663d74e231e3af56b6298ee2539fdac9c8465839', class: mode }, h("slot", { key: 'c7c384ab8c9ca8abdc89cd984a39dfde70e342ca' }, h("ion-icon", { key: 'c8b6052db03d4b9e33a90e600c20861c73ee73ce', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
37
+ const { reorderHandleIcon } = this;
38
+ const theme = getIonTheme(this);
39
+ return (h(Host, { key: '3b284ecb6b8d3de7fb16fcf1052d1303c690d1c5', class: {
40
+ [theme]: true,
41
+ } }, h("slot", { key: '5e00a258cc8170fdaeb8f8587a06b9c93a1128e2' }, h("ion-icon", { key: '3e4f399d3913ac8b7b61385f668c3f321544433f', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
24
42
  }
25
43
  static get is() { return "ion-reorder"; }
26
44
  static get encapsulation() { return "shadow"; }
27
45
  static get originalStyleUrls() {
28
46
  return {
29
47
  "ios": ["reorder.ios.scss"],
30
- "md": ["reorder.md.scss"]
48
+ "md": ["reorder.md.scss"],
49
+ "ionic": ["reorder.md.scss"]
31
50
  };
32
51
  }
33
52
  static get styleUrls() {
34
53
  return {
35
54
  "ios": ["reorder.ios.css"],
36
- "md": ["reorder.md.css"]
55
+ "md": ["reorder.md.css"],
56
+ "ionic": ["reorder.md.css"]
37
57
  };
38
58
  }
39
59
  static get elementRef() { return "el"; }
@@ -16,6 +16,12 @@
16
16
  font-size: dynamic-font(16px);
17
17
  }
18
18
 
19
+ /**
20
+ * Convert a pixels given value into rem
21
+ *
22
+ * @param pixels - Value in pixels to be converted (i.e. px)
23
+ * @param context (optional) - Baseline value
24
+ */
19
25
  /**
20
26
  * Convert a font size to a dynamic font size.
21
27
  * 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
@@ -5,7 +5,11 @@ import { Host, h } from "@stencil/core";
5
5
  import { findClosestIonContent, getScrollElement } from "../../utils/content/index";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
8
- import { getIonMode } from "../../global/ionic-global";
8
+ import { getIonTheme } from "../../global/ionic-global";
9
+ /**
10
+ * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
11
+ * @virtualProp {"ios" | "md" | "ionic"} theme - The theme determines the visual appearance of the component.
12
+ */
9
13
  export class ReorderGroup {
10
14
  constructor() {
11
15
  this.lastToIndex = -1;
@@ -237,9 +241,9 @@ export class ReorderGroup {
237
241
  return this.scrollEl.scrollTop - this.scrollElInitial;
238
242
  }
239
243
  render() {
240
- const mode = getIonMode(this);
241
- return (h(Host, { key: '491f3e5843cf728ff4589e58bd86b8ce6709b293', class: {
242
- [mode]: true,
244
+ const theme = getIonTheme(this);
245
+ return (h(Host, { key: '757f3947c85e794a8a8829fec7a2f4edcd1610cf', class: {
246
+ [theme]: true,
243
247
  'reorder-enabled': !this.disabled,
244
248
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
245
249
  } }));
@@ -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
@@ -54,8 +60,8 @@
54
60
  * }
55
61
  */
56
62
  :host {
57
- left: 0;
58
63
  right: 0;
64
+ left: 0;
59
65
  top: 0;
60
66
  bottom: 0;
61
67
  position: absolute;