@ionic/core 8.7.6-dev.11759412372.1f332f62 → 8.7.6-dev.11759493293.13f81b9f

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 (946) hide show
  1. package/components/action-sheet.js +20 -14
  2. package/components/alert.js +21 -16
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +13 -8
  5. package/components/button.js +46 -13
  6. package/components/buttons.js +15 -10
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +35 -14
  12. package/components/content.js +18 -14
  13. package/components/data.js +14 -11
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +32 -18
  17. package/components/helpers.js +42 -3
  18. package/components/icon.js +4 -2
  19. package/components/index5.js +8 -8
  20. package/components/index6.js +1 -1
  21. package/components/index7.js +111 -150
  22. package/components/index8.js +150 -111
  23. package/components/input-shims.js +2 -2
  24. package/components/input.utils.js +1 -1
  25. package/components/ion-accordion-group.js +27 -7
  26. package/components/ion-accordion.js +36 -23
  27. package/components/ion-app.js +15 -78
  28. package/components/ion-avatar.js +62 -7
  29. package/components/ion-back-button.js +32 -22
  30. package/components/ion-badge.js +77 -11
  31. package/components/ion-breadcrumb.js +48 -13
  32. package/components/ion-breadcrumbs.js +12 -7
  33. package/components/ion-card-content.js +14 -9
  34. package/components/ion-card-header.js +13 -8
  35. package/components/ion-card-subtitle.js +12 -7
  36. package/components/ion-card-title.js +12 -7
  37. package/components/ion-card.js +26 -12
  38. package/components/ion-chip.js +57 -10
  39. package/components/ion-col.js +55 -52
  40. package/components/ion-datetime-button.js +12 -7
  41. package/components/ion-datetime.js +106 -27
  42. package/components/ion-divider.d.ts +11 -0
  43. package/components/ion-divider.js +72 -0
  44. package/components/ion-fab-button.js +36 -18
  45. package/components/ion-fab-list.js +9 -7
  46. package/components/ion-fab.js +10 -8
  47. package/components/ion-footer.js +22 -15
  48. package/components/ion-grid.js +9 -7
  49. package/components/ion-img.js +9 -4
  50. package/components/ion-infinite-scroll-content.js +15 -10
  51. package/components/ion-infinite-scroll.js +82 -8
  52. package/components/ion-input-otp.js +13 -8
  53. package/components/ion-input-password-toggle.js +55 -15
  54. package/components/ion-input.js +125 -31
  55. package/components/ion-item-divider.js +12 -7
  56. package/components/ion-item-group.js +12 -7
  57. package/components/ion-item-option.js +40 -11
  58. package/components/ion-item-options.js +14 -9
  59. package/components/ion-item-sliding.js +9 -7
  60. package/components/ion-loading.js +19 -14
  61. package/components/ion-menu-button.js +30 -12
  62. package/components/ion-menu-toggle.js +9 -7
  63. package/components/ion-menu.js +14 -10
  64. package/components/ion-nav-link.js +7 -5
  65. package/components/ion-nav.js +12 -8
  66. package/components/ion-note.js +12 -7
  67. package/components/ion-picker-legacy.js +14 -12
  68. package/components/ion-progress-bar.js +29 -9
  69. package/components/ion-range.js +17 -12
  70. package/components/ion-refresher-content.js +27 -10
  71. package/components/ion-refresher.js +14 -9
  72. package/components/ion-reorder-group.js +9 -7
  73. package/components/ion-reorder.js +34 -7
  74. package/components/ion-route-redirect.js +4 -2
  75. package/components/ion-route.js +7 -5
  76. package/components/ion-router-link.js +11 -9
  77. package/components/ion-router-outlet.js +9 -7
  78. package/components/ion-router.js +4 -2
  79. package/components/ion-row.js +10 -5
  80. package/components/ion-searchbar.js +141 -25
  81. package/components/ion-segment-button.js +14 -9
  82. package/components/ion-segment-content.js +5 -3
  83. package/components/ion-segment-view.js +9 -4
  84. package/components/ion-segment.js +14 -9
  85. package/components/ion-select-option.js +9 -4
  86. package/components/ion-select.js +121 -35
  87. package/components/ion-skeleton-text.js +9 -7
  88. package/components/ion-split-pane.js +15 -10
  89. package/components/ion-tab-bar.js +43 -11
  90. package/components/ion-tab-button.js +29 -9
  91. package/components/ion-tab.js +6 -4
  92. package/components/ion-tabs.js +6 -4
  93. package/components/ion-text.js +9 -7
  94. package/components/ion-textarea.js +57 -14
  95. package/components/ion-thumbnail.js +9 -4
  96. package/components/ion-toast.js +44 -17
  97. package/components/ion-toggle.js +78 -19
  98. package/components/ionic-global.js +349 -15
  99. package/components/ios.transition.js +1 -0
  100. package/components/item.js +44 -17
  101. package/components/keyboard-controller.js +4 -2
  102. package/components/label.js +12 -7
  103. package/components/list-header.js +14 -9
  104. package/components/list.js +31 -8
  105. package/components/list2.js +6 -0
  106. package/components/modal.js +64 -48
  107. package/components/notch-controller.js +1 -1
  108. package/components/overlays.js +13 -27
  109. package/components/picker-column-option.js +12 -7
  110. package/components/picker-column.js +11 -10
  111. package/components/picker-column2.js +8 -6
  112. package/components/picker.js +11 -6
  113. package/components/popover.js +20 -16
  114. package/components/radio-group.js +14 -7
  115. package/components/radio.js +15 -10
  116. package/components/ripple-effect.js +19 -9
  117. package/components/select-modal.js +8 -6
  118. package/components/select-popover.js +12 -4
  119. package/components/spinner.js +35 -10
  120. package/components/status-tap.js +1 -1
  121. package/components/title.js +14 -9
  122. package/components/toolbar.js +157 -11
  123. package/components/x.js +6 -0
  124. package/css/core.css +1 -1
  125. package/css/core.css.map +1 -1
  126. package/css/display.css +1 -1
  127. package/css/display.css.map +1 -1
  128. package/css/flex-utils.css +1 -1
  129. package/css/flex-utils.css.map +1 -1
  130. package/css/float-elements.css.map +1 -1
  131. package/css/global.bundle.css.map +1 -1
  132. package/css/ionic/bundle.ionic.css +1 -0
  133. package/css/ionic/bundle.ionic.css.map +1 -0
  134. package/css/ionic/core.ionic.css +1 -0
  135. package/css/ionic/core.ionic.css.map +1 -0
  136. package/css/ionic/global.bundle.ionic.css +1 -0
  137. package/css/ionic/global.bundle.ionic.css.map +1 -0
  138. package/css/ionic/ionic-swiper.ionic.css +1 -0
  139. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  140. package/css/ionic/link.ionic.css +1 -0
  141. package/css/ionic/link.ionic.css.map +1 -0
  142. package/css/ionic/structure.ionic.css +1 -0
  143. package/css/ionic/structure.ionic.css.map +1 -0
  144. package/css/ionic/typography.ionic.css +1 -0
  145. package/css/ionic/typography.ionic.css.map +1 -0
  146. package/css/ionic/utils.bundle.ionic.css +1 -0
  147. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  148. package/css/ionic-swiper.css +1 -1
  149. package/css/ionic-swiper.css.map +1 -1
  150. package/css/ionic.bundle.css +1 -1
  151. package/css/ionic.bundle.css.map +1 -1
  152. package/css/normalize.css.map +1 -1
  153. package/css/padding.css.map +1 -1
  154. package/css/palettes/dark.always.css.map +1 -1
  155. package/css/palettes/dark.class.css.map +1 -1
  156. package/css/palettes/dark.system.css.map +1 -1
  157. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  158. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  159. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  160. package/css/palettes/high-contrast.always.css.map +1 -1
  161. package/css/palettes/high-contrast.class.css.map +1 -1
  162. package/css/palettes/high-contrast.system.css.map +1 -1
  163. package/css/structure.css.map +1 -1
  164. package/css/text-alignment.css.map +1 -1
  165. package/css/text-transformation.css.map +1 -1
  166. package/css/typography.css.map +1 -1
  167. package/css/utils.bundle.css +1 -1
  168. package/css/utils.bundle.css.map +1 -1
  169. package/dist/cjs/{animation-ZJ1lAkZD.js → animation-BYsP2q5j.js} +3 -3
  170. package/dist/cjs/{app-globals-77ZfuXXk.js → app-globals-CrtAvKxl.js} +1 -1
  171. package/dist/cjs/{button-active-BzZenWWH.js → button-active-CDa7BeCl.js} +2 -2
  172. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-BMhHF0O5.js} +3 -3
  173. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  174. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  175. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  176. package/dist/cjs/{config-CKhELRRu.js → config-C5fsO43a.js} +1 -1
  177. package/dist/cjs/{data-DW6ofvJ8.js → data-MoL8Ckx5.js} +15 -12
  178. package/dist/cjs/{focus-visible-CCvKiLh3.js → focus-visible-BIj-I3-C.js} +24 -0
  179. package/dist/cjs/{framework-delegate-WkyjrnCx.js → framework-delegate-Bwdk9vFS.js} +4 -2
  180. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Cy3moXzO.js} +1 -1
  181. package/dist/cjs/{helpers-DgwmcYAu.js → helpers-DnouLczu.js} +42 -3
  182. package/dist/cjs/{index-bGpoPC4u.js → index-Bq6U5NAb.js} +9 -8
  183. package/dist/cjs/{index-DNh170BW.js → index-D6Wc6v08.js} +51 -47
  184. package/dist/cjs/{index-Cc5PNMyz.js → index-DUoP_H1L.js} +2 -2
  185. package/dist/cjs/{index-BzEyuIww.js → index-Dbl8V7hw.js} +4 -4
  186. package/dist/cjs/{index-D24wggHR.js → index-XjN3PjKG.js} +15 -15
  187. package/dist/cjs/index.cjs.js +12 -13
  188. package/dist/cjs/{input-shims-CLI_OrmU.js → input-shims-D6DHFHsE.js} +18 -17
  189. package/dist/cjs/{input.utils-B2hZ5tX6.js → input.utils-BVyJKWft.js} +5 -5
  190. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
  191. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -19
  192. package/dist/cjs/ion-alert.cjs.entry.js +24 -22
  193. package/dist/cjs/ion-app_8.cjs.entry.js +244 -145
  194. package/dist/cjs/ion-avatar_3.cjs.entry.js +124 -12
  195. package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
  196. package/dist/cjs/ion-backdrop.cjs.entry.js +10 -7
  197. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
  198. package/dist/cjs/ion-button_2.cjs.entry.js +44 -12
  199. package/dist/cjs/ion-card_5.cjs.entry.js +54 -30
  200. package/dist/cjs/ion-checkbox.cjs.entry.js +32 -14
  201. package/dist/cjs/ion-chip.cjs.entry.js +49 -8
  202. package/dist/cjs/ion-col_3.cjs.entry.js +54 -57
  203. package/dist/cjs/ion-datetime-button.cjs.entry.js +12 -8
  204. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  205. package/dist/cjs/ion-divider.cjs.entry.js +51 -0
  206. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
  207. package/dist/cjs/ion-img.cjs.entry.js +8 -4
  208. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +91 -16
  209. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -8
  210. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
  211. package/dist/cjs/ion-input.cjs.entry.js +121 -31
  212. package/dist/cjs/ion-item-option_3.cjs.entry.js +49 -20
  213. package/dist/cjs/ion-item_8.cjs.entry.js +106 -46
  214. package/dist/cjs/ion-loading.cjs.entry.js +19 -17
  215. package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
  216. package/dist/cjs/ion-modal.cjs.entry.js +103 -90
  217. package/dist/cjs/ion-nav_2.cjs.entry.js +14 -11
  218. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
  219. package/dist/cjs/ion-picker-column.cjs.entry.js +13 -13
  220. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  221. package/dist/cjs/ion-popover.cjs.entry.js +19 -18
  222. package/dist/cjs/ion-progress-bar.cjs.entry.js +26 -8
  223. package/dist/cjs/ion-radio_2.cjs.entry.js +23 -14
  224. package/dist/cjs/ion-range.cjs.entry.js +15 -11
  225. package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
  226. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  227. package/dist/cjs/ion-ripple-effect.cjs.entry.js +15 -7
  228. package/dist/cjs/ion-route_4.cjs.entry.js +9 -8
  229. package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
  230. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  231. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  232. package/dist/cjs/ion-segment_2.cjs.entry.js +22 -15
  233. package/dist/cjs/ion-select-modal.cjs.entry.js +9 -10
  234. package/dist/cjs/ion-select_3.cjs.entry.js +130 -39
  235. package/dist/cjs/ion-spinner.cjs.entry.js +29 -7
  236. package/dist/cjs/ion-split-pane.cjs.entry.js +12 -9
  237. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +66 -21
  238. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  239. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  240. package/dist/cjs/ion-textarea.cjs.entry.js +56 -16
  241. package/dist/cjs/ion-toast.cjs.entry.js +67 -44
  242. package/dist/cjs/ion-toggle.cjs.entry.js +79 -22
  243. package/dist/cjs/ionic-global-DuRUel5m.js +491 -0
  244. package/dist/cjs/ionic.cjs.js +5 -5
  245. package/dist/cjs/{ios.transition-DEitrLlG.js → ios.transition-2wtm_6Ok.js} +7 -5
  246. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-C1Ds9WQH.js} +4 -3
  247. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-UYQhk8rB.js} +1 -1
  248. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-ts0z4BIe.js} +11 -9
  249. package/dist/cjs/list-a-7GSA6K.js +8 -0
  250. package/dist/cjs/loader.cjs.js +4 -4
  251. package/dist/cjs/{md.transition-BHtGC-Wg.js → md.transition-DCNdoS7u.js} +6 -5
  252. package/dist/cjs/{notch-controller-Bf5Rr4R5.js → notch-controller-BX7CnNaL.js} +4 -4
  253. package/dist/cjs/{overlays-CnXxzdUE.js → overlays-pdcfssMG.js} +19 -33
  254. package/dist/cjs/{status-tap-D9YPr62n.js → status-tap-e-hyosXV.js} +4 -3
  255. package/dist/cjs/{swipe-back-C1wRtoww.js → swipe-back-CR060nOX.js} +3 -2
  256. package/dist/cjs/x-BTF99yFH.js +8 -0
  257. package/dist/collection/collection-manifest.json +2 -1
  258. package/dist/collection/components/accordion/accordion.ionic.css +196 -0
  259. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  260. package/dist/collection/components/accordion/accordion.js +40 -30
  261. package/dist/collection/components/accordion/accordion.md.css +67 -59
  262. package/dist/collection/components/accordion-group/accordion-group.ionic.css +93 -0
  263. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  264. package/dist/collection/components/accordion-group/accordion-group.js +52 -16
  265. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  266. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  267. package/dist/collection/components/action-sheet/action-sheet.js +31 -32
  268. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  269. package/dist/collection/components/alert/alert.ios.css +19 -1
  270. package/dist/collection/components/alert/alert.js +34 -37
  271. package/dist/collection/components/alert/alert.md.css +19 -1
  272. package/dist/collection/components/app/app.js +15 -78
  273. package/dist/collection/components/avatar/avatar.ionic.css +391 -0
  274. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  275. package/dist/collection/components/avatar/avatar.js +120 -4
  276. package/dist/collection/components/avatar/avatar.md.css +51 -0
  277. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  278. package/dist/collection/components/back-button/back-button.js +37 -30
  279. package/dist/collection/components/back-button/back-button.md.css +60 -48
  280. package/dist/collection/components/backdrop/backdrop.ionic.css +109 -0
  281. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  282. package/dist/collection/components/backdrop/backdrop.js +15 -9
  283. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  284. package/dist/collection/components/badge/badge.ionic.css +275 -0
  285. package/dist/collection/components/badge/badge.ios.css +139 -12
  286. package/dist/collection/components/badge/badge.js +147 -11
  287. package/dist/collection/components/badge/badge.md.css +123 -12
  288. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  289. package/dist/collection/components/breadcrumb/breadcrumb.js +63 -32
  290. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  291. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  292. package/dist/collection/components/breadcrumbs/breadcrumbs.js +17 -15
  293. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  294. package/dist/collection/components/button/button.ionic.css +620 -0
  295. package/dist/collection/components/button/button.ios.css +135 -46
  296. package/dist/collection/components/button/button.js +73 -43
  297. package/dist/collection/components/button/button.md.css +126 -50
  298. package/dist/collection/components/buttons/buttons.ionic.css +97 -0
  299. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  300. package/dist/collection/components/buttons/buttons.js +16 -10
  301. package/dist/collection/components/buttons/buttons.md.css +55 -3
  302. package/dist/collection/components/card/card.ionic.css +144 -0
  303. package/dist/collection/components/card/card.ios.css +65 -14
  304. package/dist/collection/components/card/card.js +55 -25
  305. package/dist/collection/components/card/card.md.css +65 -14
  306. package/dist/collection/components/card-content/card-content.ionic.css +92 -0
  307. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  308. package/dist/collection/components/card-content/card-content.js +11 -8
  309. package/dist/collection/components/card-content/card-content.md.css +16 -1
  310. package/dist/collection/components/card-header/card-header.ionic.css +85 -0
  311. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  312. package/dist/collection/components/card-header/card-header.js +16 -13
  313. package/dist/collection/components/card-header/card-header.md.css +27 -15
  314. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +144 -0
  315. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  316. package/dist/collection/components/card-subtitle/card-subtitle.js +13 -10
  317. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  318. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  319. package/dist/collection/components/card-title/card-title.js +13 -10
  320. package/dist/collection/components/card-title/card-title.md.css +73 -0
  321. package/dist/collection/components/checkbox/checkbox.ionic.css +539 -0
  322. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  323. package/dist/collection/components/checkbox/checkbox.js +87 -31
  324. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  325. package/dist/collection/components/chip/chip.ionic.css +228 -0
  326. package/dist/collection/components/chip/chip.ios.css +67 -14
  327. package/dist/collection/components/chip/chip.js +112 -12
  328. package/dist/collection/components/chip/chip.md.css +67 -14
  329. package/dist/collection/components/col/col.css +192 -4
  330. package/dist/collection/components/col/col.js +258 -109
  331. package/dist/collection/components/content/content.css +8 -2
  332. package/dist/collection/components/content/content.js +25 -20
  333. package/dist/collection/components/datetime/datetime.ionic.css +697 -0
  334. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  335. package/dist/collection/components/datetime/datetime.js +134 -60
  336. package/dist/collection/components/datetime/datetime.md.css +242 -86
  337. package/dist/collection/components/datetime/utils/data.js +5 -5
  338. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  339. package/dist/collection/components/datetime-button/datetime-button.js +15 -12
  340. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  341. package/dist/collection/components/divider/divider.ionic.css +148 -0
  342. package/dist/collection/components/divider/divider.ios.css +87 -0
  343. package/dist/collection/components/divider/divider.js +94 -0
  344. package/dist/collection/components/divider/divider.md.css +87 -0
  345. package/dist/collection/components/fab/fab.css +25 -1
  346. package/dist/collection/components/fab/fab.js +15 -11
  347. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  348. package/dist/collection/components/fab-button/fab-button.js +54 -40
  349. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  350. package/dist/collection/components/fab-list/fab-list.css +12 -0
  351. package/dist/collection/components/fab-list/fab-list.js +11 -7
  352. package/dist/collection/components/footer/footer.ios.css +14 -2
  353. package/dist/collection/components/footer/footer.js +24 -19
  354. package/dist/collection/components/footer/footer.md.css +12 -0
  355. package/dist/collection/components/grid/grid.css +12 -0
  356. package/dist/collection/components/grid/grid.js +10 -6
  357. package/dist/collection/components/header/header.ionic.css +98 -0
  358. package/dist/collection/components/header/header.ios.css +25 -10
  359. package/dist/collection/components/header/header.js +52 -21
  360. package/dist/collection/components/header/header.md.css +23 -8
  361. package/dist/collection/components/img/img.js +12 -6
  362. package/dist/collection/components/infinite-scroll/infinite-scroll.js +103 -8
  363. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  364. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +20 -14
  365. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  366. package/dist/collection/components/input/input.ionic.css +881 -0
  367. package/dist/collection/components/input/input.ios.css +223 -140
  368. package/dist/collection/components/input/input.js +200 -90
  369. package/dist/collection/components/input/input.md.css +193 -212
  370. package/dist/collection/components/input-otp/input-otp.ionic.css +369 -0
  371. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  372. package/dist/collection/components/input-otp/input-otp.js +24 -22
  373. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  374. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +78 -0
  375. package/dist/collection/components/input-password-toggle/input-password-toggle.js +55 -19
  376. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  377. package/dist/collection/components/item/item.ionic.css +499 -0
  378. package/dist/collection/components/item/item.ios.css +109 -69
  379. package/dist/collection/components/item/item.js +61 -38
  380. package/dist/collection/components/item/item.md.css +120 -68
  381. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  382. package/dist/collection/components/item-divider/item-divider.js +14 -11
  383. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  384. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  385. package/dist/collection/components/item-group/item-group.js +13 -7
  386. package/dist/collection/components/item-group/item-group.md.css +12 -0
  387. package/dist/collection/components/item-option/item-option.ionic.css +278 -0
  388. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  389. package/dist/collection/components/item-option/item-option.js +86 -22
  390. package/dist/collection/components/item-option/item-option.md.css +136 -29
  391. package/dist/collection/components/item-options/item-options.ionic.css +221 -0
  392. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  393. package/dist/collection/components/item-options/item-options.js +14 -8
  394. package/dist/collection/components/item-options/item-options.md.css +77 -34
  395. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  396. package/dist/collection/components/item-sliding/item-sliding.js +9 -5
  397. package/dist/collection/components/label/label.ios.css +18 -0
  398. package/dist/collection/components/label/label.js +15 -12
  399. package/dist/collection/components/label/label.md.css +18 -0
  400. package/dist/collection/components/list/list.ionic.css +212 -0
  401. package/dist/collection/components/list/list.ios.css +54 -14
  402. package/dist/collection/components/list/list.js +51 -12
  403. package/dist/collection/components/list/list.md.css +56 -16
  404. package/dist/collection/components/list-header/list-header.ionic.css +190 -0
  405. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  406. package/dist/collection/components/list-header/list-header.js +15 -12
  407. package/dist/collection/components/list-header/list-header.md.css +82 -38
  408. package/dist/collection/components/loading/loading.ios.css +13 -1
  409. package/dist/collection/components/loading/loading.js +32 -33
  410. package/dist/collection/components/loading/loading.md.css +13 -1
  411. package/dist/collection/components/menu/menu.ios.css +15 -3
  412. package/dist/collection/components/menu/menu.js +22 -17
  413. package/dist/collection/components/menu/menu.md.css +15 -3
  414. package/dist/collection/components/menu-button/menu-button.ionic.css +236 -0
  415. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  416. package/dist/collection/components/menu-button/menu-button.js +33 -17
  417. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  418. package/dist/collection/components/menu-toggle/menu-toggle.js +11 -8
  419. package/dist/collection/components/modal/animations/sheet.js +8 -2
  420. package/dist/collection/components/modal/gestures/sheet.js +17 -26
  421. package/dist/collection/components/modal/modal.ionic.css +241 -0
  422. package/dist/collection/components/modal/modal.ios.css +174 -70
  423. package/dist/collection/components/modal/modal.js +72 -43
  424. package/dist/collection/components/modal/modal.md.css +174 -70
  425. package/dist/collection/components/nav/nav.css +7 -1
  426. package/dist/collection/components/nav/nav.js +16 -13
  427. package/dist/collection/components/nav-link/nav-link.js +8 -6
  428. package/dist/collection/components/note/note.ios.css +12 -0
  429. package/dist/collection/components/note/note.js +13 -10
  430. package/dist/collection/components/note/note.md.css +12 -0
  431. package/dist/collection/components/picker/picker.ios.css +15 -3
  432. package/dist/collection/components/picker/picker.js +8 -5
  433. package/dist/collection/components/picker/picker.md.css +15 -3
  434. package/dist/collection/components/picker-column/picker-column.css +9 -2
  435. package/dist/collection/components/picker-column/picker-column.js +13 -12
  436. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  437. package/dist/collection/components/picker-column-option/picker-column-option.js +17 -11
  438. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  439. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  440. package/dist/collection/components/picker-legacy/picker.js +20 -25
  441. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  442. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  443. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -5
  444. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  445. package/dist/collection/components/popover/popover.ios.css +13 -1
  446. package/dist/collection/components/popover/popover.js +45 -48
  447. package/dist/collection/components/popover/popover.md.css +13 -1
  448. package/dist/collection/components/progress-bar/progress-bar.ionic.css +287 -0
  449. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  450. package/dist/collection/components/progress-bar/progress-bar.js +49 -13
  451. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  452. package/dist/collection/components/radio/radio.ionic.css +422 -0
  453. package/dist/collection/components/radio/radio.ios.css +134 -91
  454. package/dist/collection/components/radio/radio.js +23 -20
  455. package/dist/collection/components/radio/radio.md.css +134 -91
  456. package/dist/collection/components/radio-group/radio-group.ionic.css +125 -0
  457. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  458. package/dist/collection/components/radio-group/radio-group.js +23 -15
  459. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  460. package/dist/collection/components/range/range.ionic.css +563 -0
  461. package/dist/collection/components/range/range.ios.css +128 -85
  462. package/dist/collection/components/range/range.js +31 -29
  463. package/dist/collection/components/range/range.md.css +128 -85
  464. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  465. package/dist/collection/components/refresher/refresher.js +17 -14
  466. package/dist/collection/components/refresher/refresher.md.css +15 -2
  467. package/dist/collection/components/refresher-content/refresher-content.js +36 -15
  468. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  469. package/dist/collection/components/reorder/reorder.js +33 -6
  470. package/dist/collection/components/reorder/reorder.md.css +6 -0
  471. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  472. package/dist/collection/components/reorder-group/reorder-group.js +9 -5
  473. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  474. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +215 -0
  475. package/dist/collection/components/ripple-effect/ripple-effect.js +15 -7
  476. package/dist/collection/components/route/route.js +7 -6
  477. package/dist/collection/components/route-redirect/route-redirect.js +4 -4
  478. package/dist/collection/components/router/router.js +6 -2
  479. package/dist/collection/components/router-link/router-link.css +8 -2
  480. package/dist/collection/components/router-link/router-link.js +18 -15
  481. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  482. package/dist/collection/components/router-outlet/router-outlet.js +8 -8
  483. package/dist/collection/components/row/row.css +16 -0
  484. package/dist/collection/components/row/row.js +9 -2
  485. package/dist/collection/components/searchbar/searchbar.ionic.css +626 -0
  486. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  487. package/dist/collection/components/searchbar/searchbar.js +210 -63
  488. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  489. package/dist/collection/components/segment/segment.ionic.css +115 -0
  490. package/dist/collection/components/segment/segment.ios.css +45 -2
  491. package/dist/collection/components/segment/segment.js +19 -16
  492. package/dist/collection/components/segment/segment.md.css +45 -2
  493. package/dist/collection/components/segment-button/segment-button.ionic.css +353 -0
  494. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  495. package/dist/collection/components/segment-button/segment-button.js +17 -14
  496. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  497. package/dist/collection/components/segment-content/segment-content.js +1 -1
  498. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  499. package/dist/collection/components/segment-view/segment-view.js +7 -5
  500. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  501. package/dist/collection/components/select/select.ionic.css +763 -0
  502. package/dist/collection/components/select/select.ios.css +315 -176
  503. package/dist/collection/components/select/select.js +189 -86
  504. package/dist/collection/components/select/select.md.css +331 -178
  505. package/dist/collection/components/select-modal/select-modal.ionic.css +123 -0
  506. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  507. package/dist/collection/components/select-modal/select-modal.js +7 -8
  508. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  509. package/dist/collection/components/select-option/select-option.js +12 -5
  510. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  511. package/dist/collection/components/select-popover/select-popover.js +20 -13
  512. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  513. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  514. package/dist/collection/components/skeleton-text/skeleton-text.js +10 -6
  515. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +77 -10
  516. package/dist/collection/components/spinner/spinner.js +54 -13
  517. package/dist/collection/components/spinner/spinner.native.css +198 -0
  518. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  519. package/dist/collection/components/split-pane/split-pane.js +18 -12
  520. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  521. package/dist/collection/components/tab/tab.js +11 -8
  522. package/dist/collection/components/tab-bar/tab-bar.ionic.css +186 -0
  523. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  524. package/dist/collection/components/tab-bar/tab-bar.js +83 -16
  525. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  526. package/dist/collection/components/tab-button/tab-button.ionic.css +336 -0
  527. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  528. package/dist/collection/components/tab-button/tab-button.js +58 -22
  529. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  530. package/dist/collection/components/tabs/tabs.css +7 -1
  531. package/dist/collection/components/tabs/tabs.js +5 -2
  532. package/dist/collection/components/text/text.css +6 -0
  533. package/dist/collection/components/text/text.js +9 -8
  534. package/dist/collection/components/textarea/textarea.ionic.css +881 -0
  535. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  536. package/dist/collection/components/textarea/textarea.js +118 -59
  537. package/dist/collection/components/textarea/textarea.md.css +288 -140
  538. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  539. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  540. package/dist/collection/components/title/title.ionic.css +127 -0
  541. package/dist/collection/components/title/title.ios.css +32 -4
  542. package/dist/collection/components/title/title.js +17 -11
  543. package/dist/collection/components/title/title.md.css +32 -4
  544. package/dist/collection/components/toast/animations/utils.js +1 -1
  545. package/dist/collection/components/toast/toast.ionic.css +394 -0
  546. package/dist/collection/components/toast/toast.ios.css +84 -45
  547. package/dist/collection/components/toast/toast.js +101 -43
  548. package/dist/collection/components/toast/toast.md.css +84 -45
  549. package/dist/collection/components/toggle/toggle.ionic.css +509 -0
  550. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  551. package/dist/collection/components/toggle/toggle.js +90 -35
  552. package/dist/collection/components/toggle/toggle.md.css +244 -131
  553. package/dist/collection/components/toolbar/test/image.svg +1 -0
  554. package/dist/collection/components/toolbar/toolbar.ionic.css +241 -0
  555. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  556. package/dist/collection/components/toolbar/toolbar.js +159 -15
  557. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  558. package/dist/collection/global/ionic-global.js +228 -13
  559. package/dist/collection/utils/focus-visible.js +22 -0
  560. package/dist/collection/utils/framework-delegate.js +3 -1
  561. package/dist/collection/utils/helpers.js +42 -2
  562. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  563. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  564. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  565. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  566. package/dist/collection/utils/overlays.js +12 -24
  567. package/dist/collection/utils/test/playwright/generator.js +48 -23
  568. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  569. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  570. package/dist/collection/utils/transition/ios.transition.js +1 -0
  571. package/dist/docs.json +8169 -426
  572. package/dist/esm/{animation-BvhAtgca.js → animation-DGDOQ6ES.js} +2 -2
  573. package/dist/esm/{app-globals-CvLYUxE9.js → app-globals-BNKecRVD.js} +1 -1
  574. package/dist/esm/{button-active-DBUPuLNw.js → button-active-C_l8DIlb.js} +2 -2
  575. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-CiBLEyrT.js} +1 -1
  576. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  577. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  578. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  579. package/dist/esm/{config-Dx_6wPIJ.js → config-mCdtaoPe.js} +1 -1
  580. package/dist/esm/{data-CKHMWxfe.js → data-DFCY8gnk.js} +15 -12
  581. package/dist/esm/{focus-visible-BmVRXR1y.js → focus-visible-vXpMhGrs.js} +23 -1
  582. package/dist/esm/{framework-delegate-BLEBgH06.js → framework-delegate-D2mUP0WI.js} +4 -2
  583. package/dist/esm/{haptic-DzAMWJuk.js → haptic-7RTk38ue.js} +1 -1
  584. package/dist/esm/{helpers-8KSQQGQy.js → helpers-Bsml3FcE.js} +42 -3
  585. package/dist/esm/{index-7UbSlv7N.js → index-BpFi2B8W.js} +2 -2
  586. package/dist/esm/{index-4DxY6_gG.js → index-C8IsBmNU.js} +51 -47
  587. package/dist/esm/{index-DV3sJJW8.js → index-COG0_eom.js} +1 -1
  588. package/dist/esm/{index-CXSTcaAW.js → index-DWD4QoaP.js} +11 -11
  589. package/dist/esm/{index-Dp7GXH1z.js → index-Djo-Eq70.js} +4 -4
  590. package/dist/esm/{index-C6WeRr09.js → index-rXea6WR_.js} +4 -3
  591. package/dist/esm/index.js +12 -13
  592. package/dist/esm/{input-shims-C4KDnhxb.js → input-shims-Bz3HiPwU.js} +7 -6
  593. package/dist/esm/{input.utils-be4gBvVY.js → input.utils-BQAE1QTA.js} +3 -3
  594. package/dist/esm/ion-accordion_2.entry.js +57 -28
  595. package/dist/esm/ion-action-sheet.entry.js +22 -19
  596. package/dist/esm/ion-alert.entry.js +24 -22
  597. package/dist/esm/ion-app_8.entry.js +244 -145
  598. package/dist/esm/ion-avatar_3.entry.js +125 -13
  599. package/dist/esm/ion-back-button.entry.js +30 -21
  600. package/dist/esm/ion-backdrop.entry.js +10 -7
  601. package/dist/esm/ion-breadcrumb_2.entry.js +53 -17
  602. package/dist/esm/ion-button_2.entry.js +44 -12
  603. package/dist/esm/ion-card_5.entry.js +54 -30
  604. package/dist/esm/ion-checkbox.entry.js +32 -14
  605. package/dist/esm/ion-chip.entry.js +49 -8
  606. package/dist/esm/ion-col_3.entry.js +54 -57
  607. package/dist/esm/ion-datetime-button.entry.js +12 -8
  608. package/dist/esm/ion-datetime_3.entry.js +115 -40
  609. package/dist/esm/ion-divider.entry.js +49 -0
  610. package/dist/esm/ion-fab_3.entry.js +43 -27
  611. package/dist/esm/ion-img.entry.js +8 -4
  612. package/dist/esm/ion-infinite-scroll_2.entry.js +91 -16
  613. package/dist/esm/ion-input-otp.entry.js +12 -8
  614. package/dist/esm/ion-input-password-toggle.entry.js +52 -14
  615. package/dist/esm/ion-input.entry.js +122 -32
  616. package/dist/esm/ion-item-option_3.entry.js +49 -20
  617. package/dist/esm/ion-item_8.entry.js +107 -47
  618. package/dist/esm/ion-loading.entry.js +19 -17
  619. package/dist/esm/ion-menu_3.entry.js +46 -28
  620. package/dist/esm/ion-modal.entry.js +64 -51
  621. package/dist/esm/ion-nav_2.entry.js +14 -11
  622. package/dist/esm/ion-picker-column-option.entry.js +11 -7
  623. package/dist/esm/ion-picker-column.entry.js +12 -12
  624. package/dist/esm/ion-picker.entry.js +10 -6
  625. package/dist/esm/ion-popover.entry.js +19 -18
  626. package/dist/esm/ion-progress-bar.entry.js +26 -8
  627. package/dist/esm/ion-radio_2.entry.js +23 -14
  628. package/dist/esm/ion-range.entry.js +15 -11
  629. package/dist/esm/ion-refresher_2.entry.js +39 -21
  630. package/dist/esm/ion-reorder_2.entry.js +38 -14
  631. package/dist/esm/ion-ripple-effect.entry.js +15 -7
  632. package/dist/esm/ion-route_4.entry.js +9 -8
  633. package/dist/esm/ion-searchbar.entry.js +137 -24
  634. package/dist/esm/ion-segment-content.entry.js +2 -2
  635. package/dist/esm/ion-segment-view.entry.js +6 -3
  636. package/dist/esm/ion-segment_2.entry.js +22 -15
  637. package/dist/esm/ion-select-modal.entry.js +9 -10
  638. package/dist/esm/ion-select_3.entry.js +131 -40
  639. package/dist/esm/ion-spinner.entry.js +29 -7
  640. package/dist/esm/ion-split-pane.entry.js +12 -9
  641. package/dist/esm/ion-tab-bar_2.entry.js +66 -21
  642. package/dist/esm/ion-tab_2.entry.js +8 -7
  643. package/dist/esm/ion-text.entry.js +6 -6
  644. package/dist/esm/ion-textarea.entry.js +56 -16
  645. package/dist/esm/ion-toast.entry.js +42 -19
  646. package/dist/esm/ion-toggle.entry.js +80 -23
  647. package/dist/esm/ionic-global-2R0iPB51.js +480 -0
  648. package/dist/esm/ionic.js +6 -6
  649. package/dist/esm/{ios.transition-eAEkgVAv.js → ios.transition-cQ5XYp4s.js} +7 -5
  650. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-DuUgrXrK.js} +4 -3
  651. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-WCK1pWfR.js} +1 -1
  652. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-Bc4alOiF.js} +5 -3
  653. package/dist/esm/list-Dhi5xtNS.js +6 -0
  654. package/dist/esm/loader.js +5 -5
  655. package/dist/esm/{md.transition-D8TeJ_Pz.js → md.transition-CYFYc3-3.js} +6 -5
  656. package/dist/esm/{notch-controller-lb417-kU.js → notch-controller-DO30Bsls.js} +2 -2
  657. package/dist/esm/{overlays-C6lqoZ8M.js → overlays-Da_6xSKI.js} +16 -30
  658. package/dist/esm/{status-tap-pATNXEtr.js → status-tap-DXVlluKS.js} +4 -3
  659. package/dist/esm/{swipe-back-B2YfOHRM.js → swipe-back-DNhAt9fY.js} +3 -2
  660. package/dist/esm/x-BDqjX7Z_.js +6 -0
  661. package/dist/html.html-data.json +2549 -455
  662. package/dist/ionic/index.esm.js +1 -1
  663. package/dist/ionic/ionic.esm.js +1 -1
  664. package/dist/ionic/p--8Ga2Cg0.js +4 -0
  665. package/dist/ionic/p-16c5a01c.entry.js +4 -0
  666. package/dist/ionic/p-1f981d06.entry.js +4 -0
  667. package/dist/ionic/p-22c02aea.entry.js +4 -0
  668. package/dist/ionic/p-23e4b68a.entry.js +4 -0
  669. package/dist/ionic/p-28571945.entry.js +4 -0
  670. package/dist/ionic/p-2bab0853.entry.js +4 -0
  671. package/dist/ionic/p-2e19a4dd.entry.js +4 -0
  672. package/dist/ionic/p-2e900f67.entry.js +4 -0
  673. package/dist/ionic/p-31f13e98.entry.js +4 -0
  674. package/dist/ionic/p-3622a9ea.entry.js +4 -0
  675. package/dist/ionic/p-3a6a92ab.entry.js +4 -0
  676. package/dist/ionic/p-3cb3d194.entry.js +4 -0
  677. package/dist/ionic/p-418e4330.entry.js +4 -0
  678. package/dist/ionic/p-4261dc5d.entry.js +4 -0
  679. package/dist/ionic/p-4e13d498.entry.js +4 -0
  680. package/dist/ionic/p-55e2352e.entry.js +4 -0
  681. package/dist/ionic/p-56a9319e.entry.js +4 -0
  682. package/dist/ionic/p-59a79bd9.entry.js +4 -0
  683. package/dist/ionic/p-59e6c978.entry.js +4 -0
  684. package/dist/ionic/p-642b022d.entry.js +4 -0
  685. package/dist/ionic/p-64385b66.entry.js +4 -0
  686. package/dist/ionic/p-66397fac.entry.js +4 -0
  687. package/dist/ionic/p-66d094b2.entry.js +4 -0
  688. package/dist/ionic/p-6fac73e6.entry.js +4 -0
  689. package/dist/ionic/p-7d450184.entry.js +4 -0
  690. package/dist/ionic/p-81770a5c.entry.js +4 -0
  691. package/dist/ionic/p-844bd58c.entry.js +4 -0
  692. package/dist/ionic/p-86b82096.entry.js +4 -0
  693. package/dist/ionic/p-87678140.entry.js +4 -0
  694. package/dist/ionic/p-88ef6829.entry.js +4 -0
  695. package/dist/ionic/p-89743bba.entry.js +4 -0
  696. package/dist/ionic/p-90320028.entry.js +4 -0
  697. package/dist/ionic/p-916685a9.entry.js +4 -0
  698. package/dist/ionic/p-91966afa.entry.js +4 -0
  699. package/dist/ionic/p-B-N4FEiY.js +4 -0
  700. package/dist/ionic/{p-BhNEp2QP.js → p-B3uz75uZ.js} +1 -1
  701. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  702. package/dist/ionic/p-BRd1Ag6P.js +4 -0
  703. package/dist/ionic/p-BYSs-jZz.js +4 -0
  704. package/dist/ionic/{p-B1xocg0A.js → p-BbT4IAlw.js} +1 -1
  705. package/dist/ionic/p-BiTKUjko.js +4 -0
  706. package/dist/ionic/p-C8IsBmNU.js +5 -0
  707. package/dist/ionic/p-CK1xn1Nt.js +4 -0
  708. package/dist/ionic/p-CK4YXTyz.js +4 -0
  709. package/dist/ionic/{p-DV3sJJW8.js → p-COG0_eom.js} +1 -1
  710. package/dist/ionic/p-CeO9Shc9.js +4 -0
  711. package/dist/ionic/{p-DCuOL88l.js → p-Cm5sQeXL.js} +1 -1
  712. package/dist/ionic/p-D1t981Ih.js +4 -0
  713. package/dist/ionic/{p-CWvl4RPO.js → p-DBaOCAfc.js} +1 -1
  714. package/dist/ionic/p-DHCQ1qFC.js +4 -0
  715. package/dist/ionic/p-DPNSAVjP.js +4 -0
  716. package/dist/ionic/p-D_8SMvQ3.js +4 -0
  717. package/dist/ionic/{p-EnaLTYYj.js → p-DbQ5QkTP.js} +1 -1
  718. package/dist/ionic/p-DdaOdN_z.js +4 -0
  719. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  720. package/dist/ionic/p-Dq8ap6AD.js +4 -0
  721. package/dist/ionic/p-Dv5UHqHj.js +4 -0
  722. package/dist/ionic/{p-CKvCXMs9.js → p-DxFexTIr.js} +1 -1
  723. package/dist/ionic/p-DyaKZbAH.js +4 -0
  724. package/dist/ionic/{p-DiZPU8BH.js → p-HpOiAvpC.js} +1 -1
  725. package/dist/ionic/{p-D13Eaw-8.js → p-Q7JLYEUZ.js} +1 -1
  726. package/dist/ionic/p-W-2TssC9.js +4 -0
  727. package/dist/ionic/p-a1128f7f.entry.js +4 -0
  728. package/dist/ionic/p-a57c0cce.entry.js +4 -0
  729. package/dist/ionic/p-acb9905c.entry.js +4 -0
  730. package/dist/ionic/p-b2291ef0.entry.js +4 -0
  731. package/dist/ionic/p-bf461512.entry.js +4 -0
  732. package/dist/ionic/p-c289efa5.entry.js +4 -0
  733. package/dist/ionic/p-c2f738d2.entry.js +4 -0
  734. package/dist/ionic/p-c775e3c0.entry.js +4 -0
  735. package/dist/ionic/p-ce510c06.entry.js +4 -0
  736. package/dist/ionic/p-cea1ee31.entry.js +4 -0
  737. package/dist/ionic/p-d1c60c1c.entry.js +4 -0
  738. package/dist/ionic/p-db90b95a.entry.js +4 -0
  739. package/dist/ionic/p-dcfb2b1d.entry.js +4 -0
  740. package/dist/ionic/p-e2171c27.entry.js +4 -0
  741. package/dist/ionic/p-e28d6a81.entry.js +4 -0
  742. package/dist/ionic/p-ec02238a.entry.js +4 -0
  743. package/dist/ionic/p-ecc8aebb.entry.js +4 -0
  744. package/dist/ionic/p-f3de58bd.entry.js +4 -0
  745. package/dist/ionic/p-fIOYmaqA.js +4 -0
  746. package/dist/ionic/p-ff757a50.entry.js +4 -0
  747. package/dist/ionic/p-szCM2gDt.js +4 -0
  748. package/dist/ionic/p-vXpMhGrs.js +4 -0
  749. package/dist/ionic/p-vpXGWZiy.js +4 -0
  750. package/dist/types/components/accordion/accordion.d.ts +5 -3
  751. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  752. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  753. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  754. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  755. package/dist/types/components/alert/alert.d.ts +3 -2
  756. package/dist/types/components/app/app.d.ts +4 -2
  757. package/dist/types/components/avatar/avatar.d.ts +32 -0
  758. package/dist/types/components/back-button/back-button.d.ts +2 -1
  759. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  760. package/dist/types/components/badge/badge.d.ts +34 -1
  761. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  762. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  763. package/dist/types/components/button/button.d.ts +19 -6
  764. package/dist/types/components/buttons/buttons.d.ts +5 -1
  765. package/dist/types/components/card/card.d.ts +8 -1
  766. package/dist/types/components/card-content/card-content.d.ts +2 -1
  767. package/dist/types/components/card-header/card-header.d.ts +3 -2
  768. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  769. package/dist/types/components/card-title/card-title.d.ts +2 -1
  770. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  771. package/dist/types/components/chip/chip.d.ts +26 -1
  772. package/dist/types/components/col/col.d.ts +52 -5
  773. package/dist/types/components/content/content.d.ts +3 -0
  774. package/dist/types/components/datetime/datetime.d.ts +26 -1
  775. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  776. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  777. package/dist/types/components/divider/divider.d.ts +20 -0
  778. package/dist/types/components/fab/fab.d.ts +4 -0
  779. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  780. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  781. package/dist/types/components/footer/footer.d.ts +4 -3
  782. package/dist/types/components/grid/grid.d.ts +4 -0
  783. package/dist/types/components/header/header.d.ts +9 -3
  784. package/dist/types/components/img/img.d.ts +3 -0
  785. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +21 -0
  786. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  787. package/dist/types/components/input/input.d.ts +31 -5
  788. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  789. package/dist/types/components/item/item.d.ts +11 -4
  790. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  791. package/dist/types/components/item-group/item-group.d.ts +4 -0
  792. package/dist/types/components/item-option/item-option.d.ts +18 -1
  793. package/dist/types/components/item-options/item-options.d.ts +4 -0
  794. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  795. package/dist/types/components/label/label.d.ts +2 -1
  796. package/dist/types/components/list/list.d.ts +15 -1
  797. package/dist/types/components/list-header/list-header.d.ts +2 -1
  798. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  799. package/dist/types/components/loading/loading.d.ts +3 -2
  800. package/dist/types/components/menu/menu.d.ts +3 -0
  801. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  802. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  803. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  804. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  805. package/dist/types/components/modal/modal.d.ts +11 -1
  806. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  807. package/dist/types/components/nav/nav.d.ts +5 -1
  808. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  809. package/dist/types/components/note/note.d.ts +2 -1
  810. package/dist/types/components/picker/picker.d.ts +2 -1
  811. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  812. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  813. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  814. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  815. package/dist/types/components/popover/popover.d.ts +6 -5
  816. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  817. package/dist/types/components/radio/radio.d.ts +2 -1
  818. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  819. package/dist/types/components/range/range.d.ts +2 -1
  820. package/dist/types/components/refresher/refresher.d.ts +2 -1
  821. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  822. package/dist/types/components/reorder/reorder.d.ts +9 -0
  823. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  824. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  825. package/dist/types/components/route/route.d.ts +4 -0
  826. package/dist/types/components/router/router.d.ts +4 -0
  827. package/dist/types/components/router-link/router-link.d.ts +4 -0
  828. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  829. package/dist/types/components/row/row.d.ts +4 -0
  830. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  831. package/dist/types/components/segment/segment.d.ts +2 -1
  832. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  833. package/dist/types/components/select/select.d.ts +41 -13
  834. package/dist/types/components/select-option/select-option.d.ts +4 -0
  835. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  836. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  837. package/dist/types/components/spinner/spinner.d.ts +15 -0
  838. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  839. package/dist/types/components/tab/tab.d.ts +4 -0
  840. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  841. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  842. package/dist/types/components/tabs/tabs.d.ts +3 -0
  843. package/dist/types/components/text/text.d.ts +2 -1
  844. package/dist/types/components/textarea/textarea.d.ts +17 -4
  845. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  846. package/dist/types/components/title/title.d.ts +4 -0
  847. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  848. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  849. package/dist/types/components/toast/toast.d.ts +19 -2
  850. package/dist/types/components/toggle/toggle.d.ts +15 -1
  851. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  852. package/dist/types/components.d.ts +1593 -196
  853. package/dist/types/global/ionic-global.d.ts +27 -2
  854. package/dist/types/interface.d.ts +3 -0
  855. package/dist/types/stencil-public-runtime.d.ts +39 -2
  856. package/dist/types/utils/config.d.ts +106 -2
  857. package/dist/types/utils/focus-visible.d.ts +13 -0
  858. package/dist/types/utils/helpers.d.ts +11 -0
  859. package/dist/types/utils/overlays-interface.d.ts +31 -1
  860. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  861. package/hydrate/index.d.ts +2 -0
  862. package/hydrate/index.js +2971 -1090
  863. package/hydrate/index.mjs +2971 -1090
  864. package/package.json +10 -5
  865. package/components/hardware-back-button.js +0 -115
  866. package/components/index9.js +0 -7
  867. package/dist/cjs/hardware-back-button-BxdNu76F.js +0 -121
  868. package/dist/cjs/index-DkNv4J_i.js +0 -10
  869. package/dist/cjs/ionic-global-UI5YPSi-.js +0 -151
  870. package/dist/esm/hardware-back-button-Dhbd-23H.js +0 -115
  871. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  872. package/dist/esm/ionic-global-CTSyufhF.js +0 -146
  873. package/dist/ionic/p-0f396661.entry.js +0 -4
  874. package/dist/ionic/p-1191a2d9.entry.js +0 -4
  875. package/dist/ionic/p-148bdf18.entry.js +0 -4
  876. package/dist/ionic/p-16116947.entry.js +0 -4
  877. package/dist/ionic/p-19f80390.entry.js +0 -4
  878. package/dist/ionic/p-1a91f317.entry.js +0 -4
  879. package/dist/ionic/p-1bbd0a23.entry.js +0 -4
  880. package/dist/ionic/p-24cfbd94.entry.js +0 -4
  881. package/dist/ionic/p-2cb0f39f.entry.js +0 -4
  882. package/dist/ionic/p-2d199573.entry.js +0 -4
  883. package/dist/ionic/p-3392f558.entry.js +0 -4
  884. package/dist/ionic/p-349fc921.entry.js +0 -4
  885. package/dist/ionic/p-3624b640.entry.js +0 -4
  886. package/dist/ionic/p-36a54836.entry.js +0 -4
  887. package/dist/ionic/p-37074de0.entry.js +0 -4
  888. package/dist/ionic/p-39ed3212.entry.js +0 -4
  889. package/dist/ionic/p-3ea6a927.entry.js +0 -4
  890. package/dist/ionic/p-40d56a51.entry.js +0 -4
  891. package/dist/ionic/p-44e3b33a.entry.js +0 -4
  892. package/dist/ionic/p-4DxY6_gG.js +0 -5
  893. package/dist/ionic/p-4cc97550.entry.js +0 -4
  894. package/dist/ionic/p-4f2c5845.entry.js +0 -4
  895. package/dist/ionic/p-528af4e6.entry.js +0 -4
  896. package/dist/ionic/p-54dec9b1.entry.js +0 -4
  897. package/dist/ionic/p-55ea7dfc.entry.js +0 -4
  898. package/dist/ionic/p-56a91276.entry.js +0 -4
  899. package/dist/ionic/p-5a1f919a.entry.js +0 -4
  900. package/dist/ionic/p-5c976c00.entry.js +0 -4
  901. package/dist/ionic/p-6383afc2.entry.js +0 -4
  902. package/dist/ionic/p-7a53f04c.entry.js +0 -4
  903. package/dist/ionic/p-7b12d853.entry.js +0 -4
  904. package/dist/ionic/p-7da05504.entry.js +0 -4
  905. package/dist/ionic/p-8888efe4.entry.js +0 -4
  906. package/dist/ionic/p-8cdb4ff5.entry.js +0 -4
  907. package/dist/ionic/p-9ddf2620.entry.js +0 -4
  908. package/dist/ionic/p-9eeaBrnk.js +0 -4
  909. package/dist/ionic/p-B5MDSrGg.js +0 -4
  910. package/dist/ionic/p-BB-JoKGB.js +0 -4
  911. package/dist/ionic/p-BHGXdud8.js +0 -4
  912. package/dist/ionic/p-BW3pge-V.js +0 -4
  913. package/dist/ionic/p-BmVRXR1y.js +0 -4
  914. package/dist/ionic/p-Br3vSlYh.js +0 -4
  915. package/dist/ionic/p-C-Cct-6D.js +0 -4
  916. package/dist/ionic/p-C4I6B3uV.js +0 -4
  917. package/dist/ionic/p-C87oPMMF.js +0 -4
  918. package/dist/ionic/p-C8d2ebIg.js +0 -4
  919. package/dist/ionic/p-CIGNaXM1.js +0 -4
  920. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  921. package/dist/ionic/p-CvaZMP6T.js +0 -4
  922. package/dist/ionic/p-D2fQU_qK.js +0 -4
  923. package/dist/ionic/p-DAfH9Iif.js +0 -4
  924. package/dist/ionic/p-DJKvq7vb.js +0 -4
  925. package/dist/ionic/p-Dm_oBkW1.js +0 -4
  926. package/dist/ionic/p-LaGjiAVo.js +0 -4
  927. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  928. package/dist/ionic/p-a00ad0f2.entry.js +0 -4
  929. package/dist/ionic/p-a81be128.entry.js +0 -4
  930. package/dist/ionic/p-afeb9df6.entry.js +0 -4
  931. package/dist/ionic/p-b21fce9d.entry.js +0 -4
  932. package/dist/ionic/p-b292804d.entry.js +0 -4
  933. package/dist/ionic/p-b7c1a16e.entry.js +0 -4
  934. package/dist/ionic/p-bc9f9032.entry.js +0 -4
  935. package/dist/ionic/p-bf81a468.entry.js +0 -4
  936. package/dist/ionic/p-cde6d39b.entry.js +0 -4
  937. package/dist/ionic/p-d04d66fc.entry.js +0 -4
  938. package/dist/ionic/p-d3df6032.entry.js +0 -4
  939. package/dist/ionic/p-dbba38cf.entry.js +0 -4
  940. package/dist/ionic/p-e6c3214c.entry.js +0 -4
  941. package/dist/ionic/p-e6c465ff.entry.js +0 -4
  942. package/dist/ionic/p-ec76fec4.entry.js +0 -4
  943. package/dist/ionic/p-ee2e35a6.entry.js +0 -4
  944. package/dist/ionic/p-f7db572a.entry.js +0 -4
  945. package/dist/ionic/p-f9eb54ee.entry.js +0 -4
  946. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA,gBACE,mBACA,iBACA,iBACA,oBCsTE,aDpTe,ECqTf,cDrTe,ECyUjB,YDzUiB,EC0UjB,eD1UiB,EAGnB,aACE,0CACA,wCACA,wCACA,2CCiTE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBCqVR,YDrVQ,yBCsVR,eDtVQ,yBAwBV,iBACE,wCC4TA,YDrVQ,yBA8BV,mBACE,0CCqSE,sBDpUM,yBCqUN,qBDrUM,yBAoCV,iBACE,wCCiSE,oBDtUM,yBCuUN,mBDvUM,yBA0CV,oBACE,2CC2SA,eDtVQ,yBAgDV,sBACE,wCACA,2CCmSA,YDrVQ,yBCsVR,eDtVQ,yBAuDV,wBACE,0CACA,wCC2QE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBAkEV,eACE,kBACA,gBACA,gBACA,mBC0PE,YDxPc,ECyPd,aDzPc,EC6QhB,WD7QgB,EC8QhB,cD9QgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCqPE,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBCoVP,WDpVO,wBCqVP,cDrVO,wBAmFT,gBACE,sCCgQA,WDpVO,wBAyFT,kBACE,wCCyOE,qBDnUK,wBCoUL,oBDpUK,wBA+FT,gBACE,sCCqOE,mBDrUK,wBCsUL,kBDtUK,wBAqGT,mBACE,yCC+OA,cDrVO,wBA2GT,qBACE,sCACA,yCCuOA,WDpVO,wBCqVP,cDrVO,wBAkHT,uBACE,wCACA,sCC+ME,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBEGL,gBD2dE,sBCvdF,iBDudE,uBCndF,iBDqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBCpcF,eDwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBEvdF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,0BEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,0BGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCCA,yBACE,oCADF,uBACE,kCADF,0BACE,gCADF,2BACE,uCADF,0BACE,sCADF,2BACE,iCJsIJ,yBIvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJsIJ,yBIvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJsIJ,yBIvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJsIJ,0BIvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCAqBF,uBACE,6BADF,qBACE,2BADF,wBACE,8BADF,yBACE,+BADF,0BACE,gCJgHJ,yBIjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgHJ,yBIjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgHJ,yBIjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgHJ,0BIjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCAsBF,sBACE,4BADF,oBACE,0BADF,uBACE,6BADF,wBACE,8BADF,yBACE,+BADF,qBACE,2BJyFJ,yBI1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJyFJ,yBI1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJyFJ,yBI1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJyFJ,0BI1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BAsBF,2BACE,sCADF,yBACE,oCADF,4BACE,kCADF,6BACE,yCADF,4BACE,wCADF,4BACE,wCJkEJ,yBInEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJkEJ,yBInEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJkEJ,yBInEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJkEJ,0BInEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCAoBF,cACE,8BADF,sBACE,sCADF,iBACE,iCADF,yBACE,yCJ6CJ,yBI9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJ6CJ,yBI9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJ6CJ,yBI9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJ6CJ,0BI9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CAmBN,UACE,0BADF,YACE,4BADF,kBACE,kCAQE,eACE,0BADF,iBACE,4BADF,uBACE,kCJgBJ,yBIjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgBJ,yBIjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgBJ,yBIjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgBJ,0BIjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCAoBF,YACE,kBADF,eACE,qBADF,kBACE,wBADF,eACE,qBJLJ,yBIIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJLJ,yBIIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJLJ,yBIIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJLJ,0BIIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBAYJ,iBACE,uBAGF,iBACE,uBAGF,mBACE,yBAGF,mBACE,yBJ9BF,yBIiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJ9BF,yBIiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJ9BF,yBIiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJ9BF,0BIiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BAWF,qCAGE,saAGF,oCJ/CA,yBIyCA,wCAGE,6cAGF,wCJ/CA,yBIyCA,wCAGE,6cAGF,wCJ/CA,yBIyCA,wCAGE,6cAGF,wCJ/CA,0BIyCA,wCAGE,6cAGF,wCCpMJ,UACE,wBAUE,aACE,wBAOF,eACE,wBLiIF,yBK1IA,gBACE,yBLkLF,4BK3KA,kBACE,yBLiIF,yBK1IA,gBACE,yBLkLF,4BK3KA,kBACE,yBLiIF,yBK1IA,gBACE,yBLkLF,4BK3KA,kBACE,yBLiIF,0BK1IA,gBACE,yBLkLF,6BK3KA,kBACE,yBAwBA,kBACE,wBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,0BKzGE,qBACE,yBADF,oBACE,0BLwGJ,yBKzGE,uBACE,2BLwGJ,yBKzGE,uBACE,2BLwGJ,yBKzGE,uBACE,2BLwGJ,0BKzGE,uBACE,2BADF,0BACE,gCLwGJ,yBKzGE,6BACE,iCLwGJ,yBKzGE,6BACE,iCLwGJ,yBKzGE,6BACE,iCLwGJ,0BKzGE,6BACE,iCADF,mBACE,yBLwGJ,yBKzGE,sBACE,0BLwGJ,yBKzGE,sBACE,0BLwGJ,yBKzGE,sBACE,0BLwGJ,0BKzGE,sBACE,0BADF,kBACE,wBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,0BKzGE,qBACE,yBADF,yBACE,+BLwGJ,yBKzGE,4BACE,gCLwGJ,yBKzGE,4BACE,gCLwGJ,yBKzGE,4BACE,gCLwGJ,0BKzGE,4BACE,gCADF,kBACE,wBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,yBKzGE,qBACE,yBLwGJ,0BKzGE,qBACE,yBADF,yBACE,+BLwGJ,yBKzGE,4BACE,gCLwGJ,yBKzGE,4BACE,gCLwGJ,yBKzGE,4BACE,gCLwGJ,0BKzGE,4BACE,gCADF,mBACE,yBLwGJ,yBKzGE,sBACE,0BLwGJ,yBKzGE,sBACE,0BLwGJ,yBKzGE,sBACE,0BLwGJ,0BKzGE,sBACE,0BADF,wBACE,8BLwGJ,yBKzGE,2BACE,+BLwGJ,yBKzGE,2BACE,+BLwGJ,yBKzGE,2BACE,+BLwGJ,0BKzGE,2BACE,+BADF,uBACE,6BLwGJ,yBKzGE,0BACE,8BLwGJ,yBKzGE,0BACE,8BLwGJ,yBKzGE,0BACE,8BLwGJ,0BKzGE,0BACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Flex Utilities\n// ------------------------------------------------------------------\n// Provides utility classes to control flexbox layout, alignment,\n// and sizing of elements. Includes responsive variants for managing\n// flex direction, alignment, justification, wrapping, growth,\n// shrinking, and ordering at different breakpoints.\n\n// Align Content\n// ------------------------------------------------------------------\n\n$align-content-values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n stretch: stretch\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $key, $value in $align-content-values {\n .ion-align-content#{$infix}-#{$key} {\n align-content: #{$value} !important;\n }\n }\n }\n}\n\n// Align Items\n// ------------------------------------------------------------------\n\n$align-items-values: (\n start,\n end,\n center,\n stretch,\n baseline\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $align-items-values {\n .ion-align-items#{$infix}-#{$value} {\n align-items: #{$value} !important;\n }\n }\n }\n}\n\n// Align Self\n// ------------------------------------------------------------------\n\n$align-self-values: (\n start,\n end,\n center,\n stretch,\n baseline,\n auto\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $align-self-values {\n .ion-align-self#{$infix}-#{$value} {\n align-self: #{$value} !important;\n }\n }\n }\n}\n\n// Justify Content\n// ------------------------------------------------------------------\n\n$justify-content-values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n evenly: space-evenly\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $key, $value in $justify-content-values {\n .ion-justify-content#{$infix}-#{$key} {\n justify-content: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Direction\n// ------------------------------------------------------------------\n\n$flex-direction-values: (\n row,\n row-reverse,\n column,\n column-reverse\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-direction-values {\n .ion-flex#{$infix}-#{$value} {\n flex-direction: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Wrap\n// ------------------------------------------------------------------\n\n$flex-wrap-values: (\n wrap,\n nowrap,\n wrap-reverse\n);\n\n@each $value in $flex-wrap-values {\n // TODO(FW-6697): remove ion-wrap, ion-nowrap, ion-wrap-reverse\n // in favor of the new ion-flex-wrap, ion-flex-nowrap, and\n // ion-flex-wrap-reverse classes\n .ion-#{$value} {\n flex-wrap: #{$value} !important;\n }\n}\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-wrap-values {\n .ion-flex#{$infix}-#{$value} {\n flex-wrap: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Fill\n// ------------------------------------------------------------------\n\n$flex-fill-values: (\n 1,\n auto,\n initial,\n none\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-fill-values {\n .ion-flex#{$infix}-#{$value} {\n flex: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Grow and Shrink\n// ------------------------------------------------------------------\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-flex#{$infix}-grow-0 {\n flex-grow: 0 !important;\n }\n\n .ion-flex#{$infix}-grow-1 {\n flex-grow: 1 !important;\n }\n\n .ion-flex#{$infix}-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .ion-flex#{$infix}-shrink-1 {\n flex-shrink: 1 !important;\n }\n }\n}\n\n// Flex Order\n// ------------------------------------------------------------------\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-order#{$infix}-first { order: -1 !important; }\n\n @for $i from 0 through 12 {\n .ion-order#{$infix}-#{$i} { order: #{$i} !important; }\n }\n\n .ion-order#{$infix}-last { order: 13 !important; }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// ------------------------------------------------------------------\n// Provides utility classes to control the CSS display property\n// of elements. Includes responsive variants for toggling between\n// block, inline, flex, grid, and other display values at different\n// breakpoints.\n\n// TODO(FW-6697): remove ion-hide-* classes in favor of the new\n// ion-display-* classes\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n\n$display-values: (\n none,\n inline,\n inline-block,\n block,\n flex,\n inline-flex,\n grid,\n inline-grid,\n table,\n table-cell,\n table-row\n);\n\n@each $display in $display-values {\n @each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-display#{$infix}-#{$display} {\n display: #{$display} !important;\n }\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAcA,gBACE,mBACA,iBACA,iBACA,oBCmUE,aDjUe,ECkUf,cDlUe,ECqVjB,YDrViB,ECsVjB,eDtViB,EAGnB,aACE,0CACA,wCACA,wCACA,2CC6TE,sBDhVM,yBCiVN,qBDjVM,yBCkVN,oBDlVM,yBCmVN,mBDnVM,yBCiWR,YDjWQ,yBCkWR,eDlWQ,yBAwBV,iBACE,wCCwUA,YDjWQ,yBA8BV,mBACE,0CCiTE,sBDhVM,yBCiVN,qBDjVM,yBAoCV,iBACE,wCC6SE,oBDlVM,yBCmVN,mBDnVM,yBA0CV,oBACE,2CCuTA,eDlWQ,yBAgDV,sBACE,wCACA,2CC+SA,YDjWQ,yBCkWR,eDlWQ,yBAuDV,wBACE,0CACA,wCCuRE,sBDhVM,yBCiVN,qBDjVM,yBCkVN,oBDlVM,yBCmVN,mBDnVM,yBAiEV,eACE,kBACA,gBACA,gBACA,mBCwQE,YDtQc,ECuQd,aDvQc,EC0RhB,WD1RgB,EC2RhB,cD3RgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCkQE,qBD/UK,wBCgVL,oBDhVK,wBCiVL,mBDjVK,wBCkVL,kBDlVK,wBCgWP,WDhWO,wBCiWP,cDjWO,wBAkFT,gBACE,sCC6QA,WDhWO,wBAwFT,kBACE,wCCsPE,qBD/UK,wBCgVL,oBDhVK,wBA8FT,gBACE,sCCkPE,mBDjVK,wBCkVL,kBDlVK,wBAoGT,mBACE,yCC4PA,cDjWO,wBA0GT,qBACE,sCACA,yCCoPA,WDhWO,wBCiWP,cDjWO,wBAiHT,uBACE,wCACA,sCC4NE,qBD/UK,wBCgVL,oBDhVK,wBCiVL,mBDjVK,wBCkVL,kBDlVK,wBEIL,gBDyeE,sBCreF,iBDqeE,uBCjeF,iBDidE,sBAzNO,0CA6NP,uBAtNO,2BAsNP,uBAhNJ,8BAcW,0BAkMP,wBCjdF,eDqdE,uBAjOO,wCAqOP,sBA9NO,yBA8NP,sBAxNJ,8BAcW,wBA0MP,uBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,0BC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBEreF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,0BE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,0BG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCCA,yBACE,oCADF,uBACE,kCADF,0BACE,gCADF,2BACE,uCADF,0BACE,sCADF,2BACE,iCJgJJ,yBIjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJgJJ,yBIjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJgJJ,yBIjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCJgJJ,0BIjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCAeF,uBACE,6BADF,qBACE,2BADF,wBACE,8BADF,yBACE,+BADF,0BACE,gCJgIJ,yBIjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgIJ,yBIjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgIJ,yBIjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCJgIJ,0BIjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCAeF,sBACE,4BADF,oBACE,0BADF,uBACE,6BADF,wBACE,8BADF,yBACE,+BADF,qBACE,2BJgHJ,yBIjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJgHJ,yBIjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJgHJ,yBIjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BJgHJ,0BIjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BAsBF,2BACE,sCADF,yBACE,oCADF,4BACE,kCADF,6BACE,yCADF,4BACE,wCADF,4BACE,wCJyFJ,yBI1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJyFJ,yBI1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJyFJ,yBI1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCJyFJ,0BI1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCAeF,cACE,8BADF,sBACE,sCADF,iBACE,iCADF,yBACE,yCJyEJ,yBI1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJyEJ,yBI1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJyEJ,yBI1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CJyEJ,0BI1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CAeN,UACE,0BADF,YACE,4BADF,kBACE,kCAQE,eACE,0BADF,iBACE,4BADF,uBACE,kCJgDJ,yBIjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgDJ,yBIjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgDJ,yBIjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCJgDJ,0BIjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCAeF,YACE,kBADF,eACE,qBADF,kBACE,wBADF,eACE,qBJgCJ,yBIjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJgCJ,yBIjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJgCJ,yBIjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBJgCJ,0BIjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBAYJ,iBACE,uBAGF,iBACE,uBAGF,mBACE,yBAGF,mBACE,yBJOF,yBIpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJOF,yBIpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJOF,yBIpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BJOF,0BIpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BAWF,iBACE,oBAIA,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,aACE,mBADF,cACE,oBADF,cACE,oBADF,cACE,oBAIJ,gBACE,oBJfF,yBIIA,oBACE,oBAIA,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,iBACE,oBADF,iBACE,oBADF,iBACE,oBAIJ,mBACE,qBJfF,yBIIA,oBACE,oBAIA,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,iBACE,oBADF,iBACE,oBADF,iBACE,oBAIJ,mBACE,qBJfF,yBIIA,oBACE,oBAIA,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,iBACE,oBADF,iBACE,oBADF,iBACE,oBAIJ,mBACE,qBJfF,0BIIA,oBACE,oBAIA,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,gBACE,mBADF,iBACE,oBADF,iBACE,oBADF,iBACE,oBAIJ,mBACE,qBAON,2BACE,iCAGF,mCACE,yCAGF,wBACE,8BAGF,gCACE,sCAKF,YACE,kBCxMF,UACE,wBAUE,aACE,wBAOF,eACE,wBL2IF,yBKpJA,gBACE,yBL+LF,4BKxLA,kBACE,yBL2IF,yBKpJA,gBACE,yBL+LF,4BKxLA,kBACE,yBL2IF,yBKpJA,gBACE,yBL+LF,4BKxLA,kBACE,yBL2IF,0BKpJA,gBACE,yBL+LF,6BKxLA,kBACE,yBAyBA,kBACE,wBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,0BKlHE,qBACE,yBADF,sBACE,4BLiHJ,yBKlHE,yBACE,6BLiHJ,yBKlHE,yBACE,6BLiHJ,yBKlHE,yBACE,6BLiHJ,0BKlHE,yBACE,6BADF,oBACE,0BLiHJ,yBKlHE,uBACE,2BLiHJ,yBKlHE,uBACE,2BLiHJ,yBKlHE,uBACE,2BLiHJ,0BKlHE,uBACE,2BADF,0BACE,gCLiHJ,yBKlHE,6BACE,iCLiHJ,yBKlHE,6BACE,iCLiHJ,yBKlHE,6BACE,iCLiHJ,0BKlHE,6BACE,iCADF,mBACE,yBLiHJ,yBKlHE,sBACE,0BLiHJ,yBKlHE,sBACE,0BLiHJ,yBKlHE,sBACE,0BLiHJ,0BKlHE,sBACE,0BADF,kBACE,wBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,0BKlHE,qBACE,yBADF,yBACE,+BLiHJ,yBKlHE,4BACE,gCLiHJ,yBKlHE,4BACE,gCLiHJ,yBKlHE,4BACE,gCLiHJ,0BKlHE,4BACE,gCADF,kBACE,wBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,yBKlHE,qBACE,yBLiHJ,0BKlHE,qBACE,yBADF,yBACE,+BLiHJ,yBKlHE,4BACE,gCLiHJ,yBKlHE,4BACE,gCLiHJ,yBKlHE,4BACE,gCLiHJ,0BKlHE,4BACE,gCADF,mBACE,yBLiHJ,yBKlHE,sBACE,0BLiHJ,yBKlHE,sBACE,0BLiHJ,yBKlHE,sBACE,0BLiHJ,0BKlHE,sBACE,0BADF,wBACE,8BLiHJ,yBKlHE,2BACE,+BLiHJ,yBKlHE,2BACE,+BLiHJ,yBKlHE,2BACE,+BLiHJ,0BKlHE,2BACE,+BADF,uBACE,6BLiHJ,yBKlHE,0BACE,8BLiHJ,yBKlHE,0BACE,8BLiHJ,yBKlHE,0BACE,8BLiHJ,0BKlHE,0BACE,8BASR,iBACE,uBAGF,gBACE,sBAMF,uBACE,6BAGF,uBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@use \"./functions.string\" as string;\n\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n\n outline: none;\n\n background: transparent;\n\n cursor: pointer;\n\n appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n outline: 0;\n\n opacity: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n color: inherit;\n\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n\n letter-spacing: inherit;\n\n text-align: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n\n white-space: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n\n @return if($max and $max > 0, $max - 0.02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: string.str-split($root, \",\");\n $selectors: #{string.add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: string.str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{string.add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: string.str-split(string.str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: string.str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n right: $end;\n left: $start;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: string.str-replace($transform, \"translate3d(\");\n $transform: string.str-replace($transform, \")\");\n\n $coordinates: string.str-split($transform, \",\");\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == \"0\" or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Flex Utilities\n// ------------------------------------------------------------------\n// Provides utility classes to control flexbox layout, alignment,\n// and sizing of elements. Includes responsive variants for managing\n// flex direction, alignment, justification, wrapping, growth,\n// shrinking, and ordering at different breakpoints.\n\n// Align Content\n// ------------------------------------------------------------------\n\n$align-content-values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n stretch: stretch,\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $key, $value in $align-content-values {\n .ion-align-content#{$infix}-#{$key} {\n align-content: #{$value} !important;\n }\n }\n }\n}\n\n// Align Items\n// ------------------------------------------------------------------\n\n$align-items-values: (start, end, center, stretch, baseline);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $align-items-values {\n .ion-align-items#{$infix}-#{$value} {\n align-items: #{$value} !important;\n }\n }\n }\n}\n\n// Align Self\n// ------------------------------------------------------------------\n\n$align-self-values: (start, end, center, stretch, baseline, auto);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $align-self-values {\n .ion-align-self#{$infix}-#{$value} {\n align-self: #{$value} !important;\n }\n }\n }\n}\n\n// Justify Content\n// ------------------------------------------------------------------\n\n$justify-content-values: (\n start: flex-start,\n end: flex-end,\n center: center,\n between: space-between,\n around: space-around,\n evenly: space-evenly,\n);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $key, $value in $justify-content-values {\n .ion-justify-content#{$infix}-#{$key} {\n justify-content: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Direction\n// ------------------------------------------------------------------\n\n$flex-direction-values: (row, row-reverse, column, column-reverse);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-direction-values {\n .ion-flex#{$infix}-#{$value} {\n flex-direction: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Wrap\n// ------------------------------------------------------------------\n\n$flex-wrap-values: (wrap, nowrap, wrap-reverse);\n\n@each $value in $flex-wrap-values {\n // TODO(FW-6697): remove ion-wrap, ion-nowrap, ion-wrap-reverse\n // in favor of the new ion-flex-wrap, ion-flex-nowrap, and\n // ion-flex-wrap-reverse classes\n .ion-#{$value} {\n flex-wrap: #{$value} !important;\n }\n}\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-wrap-values {\n .ion-flex#{$infix}-#{$value} {\n flex-wrap: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Fill\n// ------------------------------------------------------------------\n\n$flex-fill-values: (1, auto, initial, none);\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n @each $value in $flex-fill-values {\n .ion-flex#{$infix}-#{$value} {\n flex: #{$value} !important;\n }\n }\n }\n}\n\n// Flex Grow and Shrink\n// ------------------------------------------------------------------\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-flex#{$infix}-grow-0 {\n flex-grow: 0 !important;\n }\n\n .ion-flex#{$infix}-grow-1 {\n flex-grow: 1 !important;\n }\n\n .ion-flex#{$infix}-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .ion-flex#{$infix}-shrink-1 {\n flex-shrink: 1 !important;\n }\n }\n}\n\n// Flex Order\n// ------------------------------------------------------------------\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-order#{$infix}-first {\n order: -1 !important;\n }\n\n @for $i from 0 through 12 {\n .ion-order#{$infix}-#{$i} {\n order: #{$i} !important;\n }\n }\n\n .ion-order#{$infix}-last {\n order: 13 !important;\n }\n }\n}\n\n// Flex Direction\n// --------------------------------------------------\n.ion-flex-direction-column {\n flex-direction: column !important;\n}\n\n.ion-flex-direction-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.ion-flex-direction-row {\n flex-direction: row !important;\n}\n\n.ion-flex-direction-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n// Flex Container\n// --------------------------------------------------\n.ion-flex-1 {\n flex: 1 !important;\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Display\n// ------------------------------------------------------------------\n// Provides utility classes to control the CSS display property\n// of elements. Includes responsive variants for toggling between\n// block, inline, flex, grid, and other display values at different\n// breakpoints.\n\n// TODO(FW-6697): remove ion-hide-* classes in favor of the new\n// ion-display-* classes\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n\n$display-values: (\n none,\n contents,\n inline,\n inline-block,\n block,\n flex,\n inline-flex,\n grid,\n inline-grid,\n table,\n table-cell,\n table-row\n);\n\n@each $display in $display-values {\n @each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n .ion-display#{$infix}-#{$display} {\n display: #{$display} !important;\n }\n }\n }\n}\n\n// Size\n// --------------------------------------------------\n\n.ion-full-height {\n height: 100% !important;\n}\n\n.ion-full-width {\n width: 100% !important;\n}\n\n// Position\n// --------------------------------------------------\n\n.ion-position-absolute {\n position: absolute !important;\n}\n\n.ion-position-relative {\n position: relative !important;\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DNh170BW.js');
7
- var index$1 = require('./index-DkNv4J_i.js');
6
+ var index = require('./index-D6Wc6v08.js');
7
+ var ionicGlobal = require('./ionic-global-DuRUel5m.js');
8
8
 
9
9
  let animationPrefix;
10
10
  const getAnimationPrefix = (el) => {
@@ -67,7 +67,7 @@ const createAnimation = (animationId) => {
67
67
  const _afterAddWriteFunctions = [];
68
68
  const webAnimations = [];
69
69
  const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
70
- (index$1.win !== undefined && typeof index$1.win.AnimationEffect === 'function');
70
+ (ionicGlobal.win !== undefined && typeof ionicGlobal.win.AnimationEffect === 'function');
71
71
  /**
72
72
  * This is a feature detection for Web Animations.
73
73
  *
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var ionicGlobal = require('./ionic-global-UI5YPSi-.js');
6
+ var ionicGlobal = require('./ionic-global-DuRUel5m.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index$1 = require('./index-DNh170BW.js');
7
- var haptic = require('./haptic-ClPPQ_PS.js');
6
+ var index$1 = require('./index-D6Wc6v08.js');
7
+ var haptic = require('./haptic-Cy3moXzO.js');
8
8
  var index = require('./index-CAvQ7Tka.js');
9
9
 
10
10
  const createButtonActiveGesture = (el, isButton) => {
@@ -3,11 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DkNv4J_i.js');
6
+ var ionicGlobal = require('./ionic-global-DuRUel5m.js');
7
7
 
8
8
  const getCapacitor = () => {
9
- if (index.win !== undefined) {
10
- return index.win.Capacitor;
9
+ if (ionicGlobal.win !== undefined) {
10
+ return ionicGlobal.win.Capacitor;
11
11
  }
12
12
  return undefined;
13
13
  };
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const caretDownSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMTMuNjYsMTAxLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzIsMGwtODAtODBBOCw4LDAsMCwxLDUzLjY2LDkwLjM0TDEyOCwxNjQuNjlsNzQuMzQtNzQuMzVhOCw4LDAsMCwxLDExLjMyLDExLjMyWiIvPjwvc3ZnPg==';
7
+
8
+ exports.caretDownSvg = caretDownSvg;
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const caretLeftSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xNjUuNjYsMjAyLjM0YTgsOCwwLDAsMS0xMS4zMiwxMS4zMmwtODAtODBhOCw4LDAsMCwxLDAtMTEuMzJsODAtODBhOCw4LDAsMCwxLDExLjMyLDExLjMyTDkxLjMxLDEyOFoiLz48L3N2Zz4=';
7
+
8
+ exports.caretLeftSvg = caretLeftSvg;
@@ -0,0 +1,8 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const caretRightSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xODEuNjYsMTMzLjY2bC04MCw4MGE4LDgsMCwwLDEtMTEuMzItMTEuMzJMMTY0LjY5LDEyOCw5MC4zNCw1My42NmE4LDgsMCwwLDEsMTEuMzItMTEuMzJsODAsODBBOCw4LDAsMCwxLDE4MS42NiwxMzMuNjZaIi8+PC9zdmc+';
7
+
8
+ exports.caretRightSvg = caretRightSvg;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DNh170BW.js');
6
+ var index = require('./index-D6Wc6v08.js');
7
7
 
8
8
  /**
9
9
  * Does a simple sanitization of all elements
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DNh170BW.js');
6
+ var index = require('./index-D6Wc6v08.js');
7
7
 
8
8
  /**
9
9
  * Returns true if the selected day is equal to the reference day
@@ -840,17 +840,18 @@ const getFormattedDayPeriod = (dayPeriod) => {
840
840
  * confusion.
841
841
  */
842
842
  const stripTimeZone = (formatOptions) => {
843
- return Object.assign(Object.assign({}, formatOptions), {
843
+ return Object.assign(Object.assign({}, formatOptions), {
844
844
  /**
845
845
  * Setting the time zone to UTC ensures that the value shown is always the
846
846
  * same as what was selected and safeguards against older Safari bugs with
847
847
  * Intl.DateTimeFormat.
848
848
  */
849
- timeZone: 'UTC',
849
+ timeZone: 'UTC',
850
850
  /**
851
851
  * We do not want to display the time zone name
852
852
  */
853
- timeZoneName: undefined });
853
+ timeZoneName: undefined
854
+ });
854
855
  };
855
856
  const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
856
857
  const timeParts = {
@@ -860,12 +861,13 @@ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: '
860
861
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
861
862
  return 'Invalid Time';
862
863
  }
863
- return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
864
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
864
865
  /**
865
866
  * We use hourCycle here instead of hour12 due to:
866
867
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
867
868
  */
868
- hourCycle })).format(new Date(convertDataToISO(Object.assign({
869
+ hourCycle
870
+ })).format(new Date(convertDataToISO(Object.assign({
869
871
  /**
870
872
  * JS uses a simplified ISO 8601 format which allows for
871
873
  * date-only formats and date-time formats, but not
@@ -877,7 +879,8 @@ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: '
877
879
  * values, so passing these date values should have no impact
878
880
  * on the time output.
879
881
  */
880
- year: 2023, day: 1, month: 1 }, timeParts)) + 'Z'));
882
+ year: 2023, day: 1, month: 1
883
+ }, timeParts)) + 'Z'));
881
884
  };
882
885
  /**
883
886
  * Adds padding to a time value so
@@ -1149,20 +1152,20 @@ const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
1149
1152
  // h24 hour system uses 1-24. Midnight starts at 24:00.
1150
1153
  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];
1151
1154
  /**
1152
- * Given a locale and a mode,
1155
+ * Given a locale and a theme,
1153
1156
  * return an array with formatted days
1154
- * of the week. iOS should display days
1155
- * such as "Mon" or "Tue".
1157
+ * of the week. iOS and Ionic themes should
1158
+ * display days such as "Mon" or "Tue".
1156
1159
  * MD should display days such as "M"
1157
1160
  * or "T".
1158
1161
  */
1159
- const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
1162
+ const getDaysOfWeek = (locale, theme, firstDayOfWeek = 0) => {
1160
1163
  /**
1161
1164
  * Nov 1st, 2020 starts on a Sunday.
1162
1165
  * ion-datetime assumes weeks start on Sunday,
1163
1166
  * but is configurable via `firstDayOfWeek`.
1164
1167
  */
1165
- const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
1168
+ const weekdayFormat = theme === 'md' ? 'narrow' : 'short';
1166
1169
  const intl = new Intl.DateTimeFormat(locale, { weekday: weekdayFormat });
1167
1170
  const startDate = new Date('11/01/2020');
1168
1171
  const daysOfWeek = [];
@@ -19,6 +19,28 @@ const FOCUS_KEYS = [
19
19
  'Home',
20
20
  'End',
21
21
  ];
22
+ let focusVisibleUtility = null;
23
+ const getOrInitFocusVisibleUtility = () => {
24
+ if (!focusVisibleUtility) {
25
+ focusVisibleUtility = startFocusVisible();
26
+ }
27
+ return focusVisibleUtility;
28
+ };
29
+ /**
30
+ * Used to set focus on an element that uses `ion-focusable`.
31
+ * Do not use this if focusing the element as a result of a keyboard
32
+ * event as the focus utility should handle this for us. This method
33
+ * should be used when we want to programmatically focus an element as
34
+ * a result of another user action. (Ex: We focus the first element
35
+ * inside of a popover when the user presents it, but the popover is not always
36
+ * presented as a result of keyboard action.)
37
+ *
38
+ * @param elements - The elements to set focus on.
39
+ */
40
+ const focusElements = (elements) => {
41
+ const focusVisible = getOrInitFocusVisibleUtility();
42
+ focusVisible.setFocus(elements);
43
+ };
22
44
  const startFocusVisible = (rootEl) => {
23
45
  let currentFocus = [];
24
46
  let keyboardMode = true;
@@ -74,4 +96,6 @@ const startFocusVisible = (rootEl) => {
74
96
  };
75
97
  };
76
98
 
99
+ exports.focusElements = focusElements;
100
+ exports.getOrInitFocusVisibleUtility = getOrInitFocusVisibleUtility;
77
101
  exports.startFocusVisible = startFocusVisible;
@@ -3,7 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var helpers = require('./helpers-DgwmcYAu.js');
6
+ var index = require('./index-D6Wc6v08.js');
7
+ var helpers = require('./helpers-DnouLczu.js');
7
8
 
8
9
  // TODO(FW-2832): types
9
10
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -104,7 +105,8 @@ const CoreDelegate = () => {
104
105
  * Get the root of the app and
105
106
  * add the overlay there.
106
107
  */
107
- const app = document.querySelector('ion-app') || document.body;
108
+ const appRootSelector = index.config.get('appRootSelector', 'ion-app');
109
+ const app = document.querySelector(appRootSelector) || document.body;
108
110
  /**
109
111
  * Create a placeholder comment so that
110
112
  * we can return this component to where
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var capacitor = require('./capacitor-DmA66EwP.js');
6
+ var capacitor = require('./capacitor-BMhHF0O5.js');
7
7
 
8
8
  exports.ImpactStyle = void 0;
9
9
  (function (ImpactStyle) {
@@ -3,7 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DNh170BW.js');
6
+ var focusVisible = require('./focus-visible-BIj-I3-C.js');
7
+ var index = require('./index-D6Wc6v08.js');
7
8
 
8
9
  const transitionEndAsync = (el, expectedDuration = 0) => {
9
10
  return new Promise((resolve) => {
@@ -203,6 +204,17 @@ const raf = (h) => {
203
204
  const hasShadowDom = (el) => {
204
205
  return !!el.shadowRoot && !!el.attachShadow;
205
206
  };
207
+ /**
208
+ * Focuses a given element while ensuring proper focus management
209
+ * within the Ionic framework. If the element is marked as `ion-focusable`,
210
+ * this function will delegate focus handling to `ion-app` or manually
211
+ * apply focus when a custom app root is used.
212
+ *
213
+ * This function helps maintain accessibility and expected focus behavior
214
+ * in both standard and custom root environments.
215
+ *
216
+ * @param el - The element to focus.
217
+ */
206
218
  const focusVisibleElement = (el) => {
207
219
  el.focus();
208
220
  /**
@@ -214,9 +226,36 @@ const focusVisibleElement = (el) => {
214
226
  * which will let us explicitly set the elements to focus.
215
227
  */
216
228
  if (el.classList.contains('ion-focusable')) {
217
- const app = el.closest('ion-app');
229
+ const appRootSelector = index.config.get('appRootSelector', 'ion-app');
230
+ const app = el.closest(appRootSelector);
218
231
  if (app) {
219
- app.setFocus([el]);
232
+ if (appRootSelector === 'ion-app') {
233
+ /**
234
+ * If the app root is the default, then it will be
235
+ * in charge of setting focus. This is because the
236
+ * focus-visible utility is attached to the app root
237
+ * and will handle setting focus on the correct element.
238
+ */
239
+ app.setFocus([el]);
240
+ }
241
+ else {
242
+ /**
243
+ * When using a custom app root selector, the focus-visible
244
+ * utility is not available to manage focus automatically.
245
+ * If we set focus immediately, the element may not be fully
246
+ * rendered or interactive, especially if it was just added
247
+ * to the DOM. Using requestAnimationFrame ensures that focus
248
+ * is applied on the next frame, allowing the DOM to settle
249
+ * before changing focus.
250
+ */
251
+ requestAnimationFrame(() => {
252
+ /**
253
+ * The focus-visible utility is used to set focus on an
254
+ * element that uses `ion-focusable`.
255
+ */
256
+ focusVisible.focusElements([el]);
257
+ });
258
+ }
220
259
  }
221
260
  }
222
261
  };
@@ -3,12 +3,13 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-DkNv4J_i.js');
7
- var helpers = require('./helpers-DgwmcYAu.js');
8
- require('./index-DNh170BW.js');
6
+ var ionicGlobal = require('./ionic-global-DuRUel5m.js');
7
+ var helpers = require('./helpers-DnouLczu.js');
8
+ require('./index-D6Wc6v08.js');
9
+ require('./focus-visible-BIj-I3-C.js');
9
10
 
10
11
  const startTapClick = (config) => {
11
- if (index.doc === undefined) {
12
+ if (ionicGlobal.doc === undefined) {
12
13
  return;
13
14
  }
14
15
  let lastActivated = 0;
@@ -111,9 +112,9 @@ const startTapClick = (config) => {
111
112
  active.classList.remove(ACTIVATED);
112
113
  }
113
114
  };
114
- index.doc.addEventListener('ionGestureCaptured', cancelActive);
115
- index.doc.addEventListener('pointerdown', pointerDown, true);
116
- index.doc.addEventListener('pointerup', pointerUp, true);
115
+ ionicGlobal.doc.addEventListener('ionGestureCaptured', cancelActive);
116
+ ionicGlobal.doc.addEventListener('pointerdown', pointerDown, true);
117
+ ionicGlobal.doc.addEventListener('pointerup', pointerUp, true);
117
118
  /**
118
119
  * Tap click effects such as the ripple effect should
119
120
  * not happen when scrolling. For example, if a user scrolls
@@ -126,7 +127,7 @@ const startTapClick = (config) => {
126
127
  * starts, so this lets us avoid having to listen for
127
128
  * ion-content's scroll events.
128
129
  */
129
- index.doc.addEventListener('pointercancel', cancelActive, true);
130
+ ionicGlobal.doc.addEventListener('pointercancel', cancelActive, true);
130
131
  };
131
132
  // TODO(FW-2832): type
132
133
  const getActivatableTarget = (ev) => {