@ionic/core 8.8.9-dev.11779411201.1a483e09 → 8.8.9-nightly.20260522

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 (1106) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +1 -1
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +1 -1
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +1 -1
  66. package/components/ion-refresher-content.js +1 -1
  67. package/components/ion-refresher.js +1 -1
  68. package/components/ion-reorder-group.js +1 -1
  69. package/components/ion-reorder.js +1 -1
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +1 -1
  72. package/components/ion-route.js +1 -1
  73. package/components/ion-router-link.js +1 -1
  74. package/components/ion-router-outlet.js +1 -1
  75. package/components/ion-router.js +1 -1
  76. package/components/ion-row.js +1 -1
  77. package/components/ion-searchbar.js +1 -1
  78. package/components/ion-segment-button.js +1 -1
  79. package/components/ion-segment-content.js +1 -1
  80. package/components/ion-segment-view.js +1 -1
  81. package/components/ion-segment.js +1 -1
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +1 -1
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +1 -1
  86. package/components/ion-skeleton-text.js +1 -1
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +1 -1
  89. package/components/ion-tab-bar.js +1 -1
  90. package/components/ion-tab-button.js +1 -1
  91. package/components/ion-tab.js +1 -1
  92. package/components/ion-tabs.js +1 -1
  93. package/components/ion-text.js +1 -1
  94. package/components/ion-textarea.js +1 -1
  95. package/components/ion-thumbnail.js +1 -1
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +1 -1
  98. package/components/ion-toggle.js +1 -1
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/{p-CDgDBcU9.js → p-9VcRUwdB.js} +1 -1
  101. package/components/p-B6FQ0cKR.js +4 -0
  102. package/components/p-B6HaBl3o.js +4 -0
  103. package/components/p-B8b1Ukl9.js +4 -0
  104. package/components/p-BJoMtgfR.js +4 -0
  105. package/components/p-BNAG-aVv.js +4 -0
  106. package/components/p-BR3tZJmu.js +4 -0
  107. package/{dist/ionic/p-C8IHbcuP.js → components/p-BS1TtEiJ.js} +1 -1
  108. package/components/p-BSB38Tek.js +4 -0
  109. package/components/p-BTeL5HCK.js +4 -0
  110. package/components/p-BUbsoBOV.js +4 -0
  111. package/components/p-BYDc3hSE.js +4 -0
  112. package/components/p-BagjAGC0.js +4 -0
  113. package/components/p-BegtE7nr.js +4 -0
  114. package/components/p-BgwEQWW6.js +4 -0
  115. package/components/p-BmVRXR1y.js +4 -0
  116. package/components/p-BxwWvu-b.js +4 -0
  117. package/components/p-C4jPsTQa.js +4 -0
  118. package/components/p-C59ryAuS.js +4 -0
  119. package/components/p-CBzELu-H.js +4 -0
  120. package/components/p-CDfQnFrd.js +4 -0
  121. package/components/{p-ByW0kK1F.js → p-CEmXdzGo.js} +1 -1
  122. package/components/p-CIGNaXM1.js +4 -0
  123. package/components/p-CO7fmmxt.js +4 -0
  124. package/components/{p-BZCB7f49.js → p-CU1SSH8_.js} +1 -1
  125. package/components/p-Cf6Z1pmL.js +4 -0
  126. package/components/p-CgfaEEem.js +4 -0
  127. package/components/p-CgqKJg96.js +4 -0
  128. package/components/p-CneGxKsZ.js +4 -0
  129. package/components/p-CoA-aqGF.js +4 -0
  130. package/components/p-Cq8cQ0NL.js +4 -0
  131. package/components/p-Csw8xuz4.js +4 -0
  132. package/components/p-CtWGkNnJ.js +4 -0
  133. package/components/p-Cy5XSfIk.js +4 -0
  134. package/components/p-Cyxa_4PV.js +4 -0
  135. package/components/p-Cz5nLPGT.js +4 -0
  136. package/components/p-D-cP12ZN.js +4 -0
  137. package/{dist/ionic/p-CuGhCBt7.js → components/p-D13Eaw-8.js} +1 -1
  138. package/components/p-D6NJwNJN.js +4 -0
  139. package/components/p-D6Ynv7Xh.js +4 -0
  140. package/components/p-DHsZWn1l.js +4 -0
  141. package/components/p-DJMZehmW.js +4 -0
  142. package/components/p-DJztqcrH.js +4 -0
  143. package/components/p-DYdpXONG.js +4 -0
  144. package/components/p-DZhbcvo5.js +4 -0
  145. package/components/p-DgbT0exM.js +4 -0
  146. package/components/p-DiVJyqlX.js +4 -0
  147. package/components/p-DlgpdeOi.js +4 -0
  148. package/components/p-DvOO1fxp.js +4 -0
  149. package/components/p-FBcnjE5W.js +4 -0
  150. package/components/p-Q1-Xy3As.js +4 -0
  151. package/components/p-SBseW5KJ.js +4 -0
  152. package/components/{p-zWP0sUV_.js → p-YLXPWgVj.js} +1 -1
  153. package/components/p-ZjP4CjeZ.js +4 -0
  154. package/components/p-ZuZOauwD.js +4 -0
  155. package/{dist/ionic/p-B2-sg7NJ.js → components/p-ak_d-z48.js} +1 -1
  156. package/components/{p-re70ahxF.js → p-cyNmxje6.js} +1 -1
  157. package/components/p-fpbh6w3f.js +4 -0
  158. package/components/p-kvaDs24J.js +4 -0
  159. package/components/p-vEbVo2hO.js +4 -0
  160. package/css/core.css +1 -1
  161. package/css/core.css.map +1 -1
  162. package/css/display.css +1 -1
  163. package/css/display.css.map +1 -1
  164. package/css/flex-utils.css +1 -1
  165. package/css/flex-utils.css.map +1 -1
  166. package/css/float-elements.css.map +1 -1
  167. package/css/global.bundle.css.map +1 -1
  168. package/css/ionic-swiper.css +1 -1
  169. package/css/ionic-swiper.css.map +1 -1
  170. package/css/ionic.bundle.css +1 -1
  171. package/css/ionic.bundle.css.map +1 -1
  172. package/css/normalize.css.map +1 -1
  173. package/css/padding.css.map +1 -1
  174. package/css/palettes/dark.always.css.map +1 -1
  175. package/css/palettes/dark.class.css.map +1 -1
  176. package/css/palettes/dark.system.css.map +1 -1
  177. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  178. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  179. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  180. package/css/palettes/high-contrast.always.css.map +1 -1
  181. package/css/palettes/high-contrast.class.css.map +1 -1
  182. package/css/palettes/high-contrast.system.css.map +1 -1
  183. package/css/structure.css.map +1 -1
  184. package/css/text-alignment.css.map +1 -1
  185. package/css/text-transformation.css.map +1 -1
  186. package/css/typography.css.map +1 -1
  187. package/css/utils.bundle.css +1 -1
  188. package/css/utils.bundle.css.map +1 -1
  189. package/dist/cjs/{animation-BZJ2wKuM.js → animation-Dg4yiuR2.js} +3 -3
  190. package/dist/cjs/{app-globals-C-d5fQ35.js → app-globals-CLI8xCmk.js} +1 -1
  191. package/dist/cjs/{button-active-B_20Nxkv.js → button-active-FscMI17-.js} +2 -2
  192. package/dist/cjs/{capacitor-CXqhdZym.js → capacitor-DmA66EwP.js} +3 -3
  193. package/dist/cjs/{config-OJmFhoxl.js → config-BukYi_pW.js} +7 -108
  194. package/dist/cjs/{data-DuOuKG7I.js → data-BYlBjkMU.js} +6 -6
  195. package/dist/{esm/focus-visible-vXpMhGrs.js → cjs/focus-visible-CCvKiLh3.js} +3 -23
  196. package/dist/cjs/{framework-delegate-Dx9FrqAC.js → framework-delegate-CRgp8o_p.js} +2 -4
  197. package/dist/cjs/{haptic-CQJGW58i.js → haptic-ClPPQ_PS.js} +1 -1
  198. package/dist/cjs/hardware-back-button-C4rMJ5uI.js +121 -0
  199. package/dist/cjs/{helpers-DJYxKN5U.js → helpers-CxTYJdbT.js} +4 -57
  200. package/dist/cjs/{index-DSNlrgfO.js → index-C845Ti6K.js} +4 -4
  201. package/dist/cjs/{index-BekUBS8C.js → index-CFUwM5x_.js} +15 -15
  202. package/dist/cjs/{index-CzcLEdQ5.js → index-CqT-2gKy.js} +4 -41
  203. package/dist/cjs/index-DkNv4J_i.js +10 -0
  204. package/dist/cjs/{index-CgAbCW6L.js → index-DqmRDbxg.js} +0 -2
  205. package/dist/cjs/{index-BJrpF9T3.js → index-MbaBbWXk.js} +2 -2
  206. package/dist/cjs/{index-CwxYd6UD.js → index-YcSftOMz.js} +8 -9
  207. package/dist/cjs/index.cjs.js +14 -13
  208. package/dist/cjs/{input-shims-VyZciSxi.js → input-shims-CPL2J8F-.js} +17 -18
  209. package/dist/cjs/{input.utils-Ct5KzpYv.js → input.utils-DmeJ8dmo.js} +5 -5
  210. package/dist/cjs/ion-accordion_2.cjs.entry.js +29 -61
  211. package/dist/cjs/ion-action-sheet.cjs.entry.js +22 -40
  212. package/dist/cjs/ion-alert.cjs.entry.js +40 -76
  213. package/dist/cjs/ion-app_8.cjs.entry.js +157 -292
  214. package/dist/cjs/ion-avatar_3.cjs.entry.js +13 -125
  215. package/dist/cjs/ion-back-button.cjs.entry.js +22 -31
  216. package/dist/cjs/ion-backdrop.cjs.entry.js +7 -10
  217. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +18 -54
  218. package/dist/cjs/ion-button_2.cjs.entry.js +22 -59
  219. package/dist/cjs/ion-card_5.cjs.entry.js +33 -55
  220. package/dist/cjs/ion-checkbox.cjs.entry.js +16 -34
  221. package/dist/cjs/ion-chip.cjs.entry.js +9 -50
  222. package/dist/cjs/ion-col_3.cjs.entry.js +57 -56
  223. package/dist/cjs/ion-datetime-button.cjs.entry.js +9 -13
  224. package/dist/cjs/ion-datetime_3.cjs.entry.js +41 -116
  225. package/dist/cjs/ion-fab_3.cjs.entry.js +28 -44
  226. package/dist/cjs/ion-img.cjs.entry.js +4 -8
  227. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +16 -91
  228. package/dist/cjs/ion-input-otp.cjs.entry.js +9 -74
  229. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +15 -53
  230. package/dist/cjs/ion-input.cjs.entry.js +34 -124
  231. package/dist/cjs/ion-item-option_3.cjs.entry.js +52 -467
  232. package/dist/cjs/ion-item_8.cjs.entry.js +49 -115
  233. package/dist/cjs/ion-loading.cjs.entry.js +18 -20
  234. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -47
  235. package/dist/cjs/ion-modal.cjs.entry.js +138 -262
  236. package/dist/cjs/ion-nav_2.cjs.entry.js +11 -14
  237. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -12
  238. package/dist/cjs/ion-picker-column.cjs.entry.js +14 -14
  239. package/dist/cjs/ion-picker.cjs.entry.js +6 -10
  240. package/dist/cjs/ion-popover.cjs.entry.js +19 -21
  241. package/dist/cjs/ion-progress-bar.cjs.entry.js +9 -27
  242. package/dist/cjs/ion-radio_2.cjs.entry.js +17 -35
  243. package/dist/cjs/ion-range.cjs.entry.js +13 -20
  244. package/dist/cjs/ion-refresher_2.cjs.entry.js +21 -39
  245. package/dist/cjs/ion-reorder_2.cjs.entry.js +14 -38
  246. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -15
  247. package/dist/cjs/ion-route_4.cjs.entry.js +9 -10
  248. package/dist/cjs/ion-searchbar.cjs.entry.js +24 -137
  249. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  250. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -13
  251. package/dist/cjs/ion-segment_2.cjs.entry.js +16 -23
  252. package/dist/cjs/ion-select-modal.cjs.entry.js +40 -119
  253. package/dist/cjs/ion-select_3.cjs.entry.js +84 -513
  254. package/dist/cjs/ion-spinner.cjs.entry.js +8 -30
  255. package/dist/cjs/ion-split-pane.cjs.entry.js +9 -13
  256. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +23 -147
  257. package/dist/cjs/ion-tab_2.cjs.entry.js +7 -8
  258. package/dist/cjs/ion-text.cjs.entry.js +7 -7
  259. package/dist/cjs/ion-textarea.cjs.entry.js +23 -137
  260. package/dist/cjs/ion-toast.cjs.entry.js +46 -69
  261. package/dist/cjs/ion-toggle.cjs.entry.js +25 -82
  262. package/dist/cjs/ionic-global-Bc3kJi1Z.js +151 -0
  263. package/dist/cjs/ionic.cjs.js +4 -4
  264. package/dist/cjs/{ios.transition-CyNNpj1i.js → ios.transition-trBiC95R.js} +5 -7
  265. package/dist/cjs/{keyboard-VLGMzWBE.js → keyboard-UuAS4D_9.js} +1 -1
  266. package/dist/cjs/{keyboard-controller-CCTvHp9l.js → keyboard-controller-GXBiBRKS.js} +9 -11
  267. package/dist/cjs/{keyboard-CA6RtoWx.js → keyboard-hHzlEQpk.js} +3 -4
  268. package/dist/cjs/loader.cjs.js +4 -4
  269. package/dist/cjs/{md.transition-BEfrfWKW.js → md.transition-CUQECuvD.js} +5 -6
  270. package/dist/cjs/{notch-controller-BTZCPOsd.js → notch-controller-sD-lTpdc.js} +4 -4
  271. package/dist/cjs/{overlays-BuMIwR8B.js → overlays-C2jiBSNQ.js} +16 -110
  272. package/dist/cjs/{status-tap-CTY2dMsZ.js → status-tap-CCJk5VgT.js} +3 -4
  273. package/dist/cjs/{swipe-back-jJFi5KCB.js → swipe-back-BGhTQ1CU.js} +2 -3
  274. package/dist/cjs/{theme-IlOsGAz7.js → theme-CeDs6Hcv.js} +1 -25
  275. package/dist/cjs/validity-BpS37YFM.js +19 -0
  276. package/dist/collection/collection-manifest.json +0 -7
  277. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  278. package/dist/collection/components/accordion/accordion.js +27 -41
  279. package/dist/collection/components/accordion/accordion.md.css +59 -67
  280. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  281. package/dist/collection/components/accordion-group/accordion-group.js +8 -44
  282. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  283. package/dist/collection/components/action-sheet/action-sheet.ios.css +11 -155
  284. package/dist/collection/components/action-sheet/action-sheet.js +13 -32
  285. package/dist/collection/components/action-sheet/action-sheet.md.css +10 -155
  286. package/dist/collection/components/alert/alert.ios.css +19 -219
  287. package/dist/collection/components/alert/alert.js +30 -67
  288. package/dist/collection/components/alert/alert.md.css +15 -229
  289. package/dist/collection/components/app/app.js +83 -15
  290. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  291. package/dist/collection/components/avatar/avatar.js +4 -120
  292. package/dist/collection/components/avatar/avatar.md.css +0 -51
  293. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  294. package/dist/collection/components/back-button/back-button.js +19 -27
  295. package/dist/collection/components/back-button/back-button.md.css +48 -60
  296. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  297. package/dist/collection/components/backdrop/backdrop.js +6 -12
  298. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  299. package/dist/collection/components/badge/badge.ios.css +12 -139
  300. package/dist/collection/components/badge/badge.js +9 -145
  301. package/dist/collection/components/badge/badge.md.css +12 -123
  302. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  303. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  304. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  305. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  306. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  307. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  308. package/dist/collection/components/button/button.ios.css +46 -154
  309. package/dist/collection/components/button/button.js +27 -63
  310. package/dist/collection/components/button/button.md.css +50 -150
  311. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  312. package/dist/collection/components/buttons/buttons.js +9 -15
  313. package/dist/collection/components/buttons/buttons.md.css +3 -55
  314. package/dist/collection/components/card/card.ios.css +14 -65
  315. package/dist/collection/components/card/card.js +10 -41
  316. package/dist/collection/components/card/card.md.css +14 -65
  317. package/dist/collection/components/card-content/card-content.ios.css +35 -20
  318. package/dist/collection/components/card-content/card-content.js +10 -12
  319. package/dist/collection/components/card-content/card-content.md.css +35 -20
  320. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  321. package/dist/collection/components/card-header/card-header.js +10 -13
  322. package/dist/collection/components/card-header/card-header.md.css +15 -27
  323. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  324. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  325. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  326. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  327. package/dist/collection/components/card-title/card-title.js +8 -11
  328. package/dist/collection/components/card-title/card-title.md.css +0 -73
  329. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  330. package/dist/collection/components/checkbox/checkbox.js +14 -70
  331. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  332. package/dist/collection/components/chip/chip.ios.css +14 -67
  333. package/dist/collection/components/chip/chip.js +8 -108
  334. package/dist/collection/components/chip/chip.md.css +14 -67
  335. package/dist/collection/components/col/col.css +4 -192
  336. package/dist/collection/components/col/col.js +61 -211
  337. package/dist/collection/components/content/content.css +2 -8
  338. package/dist/collection/components/content/content.js +11 -16
  339. package/dist/collection/components/datetime/datetime.ios.css +106 -302
  340. package/dist/collection/components/datetime/datetime.js +20 -98
  341. package/dist/collection/components/datetime/datetime.md.css +96 -293
  342. package/dist/collection/components/datetime/utils/data.js +5 -5
  343. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  344. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  345. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  346. package/dist/collection/components/fab/fab.css +1 -25
  347. package/dist/collection/components/fab/fab.js +5 -9
  348. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  349. package/dist/collection/components/fab-button/fab-button.js +21 -36
  350. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  351. package/dist/collection/components/fab-list/fab-list.css +0 -12
  352. package/dist/collection/components/fab-list/fab-list.js +5 -9
  353. package/dist/collection/components/footer/footer.ios.css +2 -14
  354. package/dist/collection/components/footer/footer.js +16 -21
  355. package/dist/collection/components/footer/footer.md.css +0 -12
  356. package/dist/collection/components/grid/grid.css +0 -12
  357. package/dist/collection/components/grid/grid.js +5 -9
  358. package/dist/collection/components/header/header.ios.css +10 -25
  359. package/dist/collection/components/header/header.js +19 -50
  360. package/dist/collection/components/header/header.md.css +8 -23
  361. package/dist/collection/components/header/header.utils.js +5 -5
  362. package/dist/collection/components/img/img.js +2 -8
  363. package/dist/collection/components/infinite-scroll/infinite-scroll.js +5 -100
  364. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  365. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  366. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  367. package/dist/collection/components/input/input.ios.css +135 -223
  368. package/dist/collection/components/input/input.js +37 -148
  369. package/dist/collection/components/input/input.md.css +207 -193
  370. package/dist/collection/components/input-otp/input-otp.ios.css +60 -105
  371. package/dist/collection/components/input-otp/input-otp.js +6 -73
  372. package/dist/collection/components/input-otp/input-otp.md.css +60 -105
  373. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  374. package/dist/collection/components/item/item.ios.css +69 -109
  375. package/dist/collection/components/item/item.js +20 -50
  376. package/dist/collection/components/item/item.md.css +68 -120
  377. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  378. package/dist/collection/components/item-divider/item-divider.js +8 -11
  379. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  380. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  381. package/dist/collection/components/item-group/item-group.js +7 -13
  382. package/dist/collection/components/item-group/item-group.md.css +0 -12
  383. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  384. package/dist/collection/components/item-option/item-option.js +9 -73
  385. package/dist/collection/components/item-option/item-option.md.css +29 -136
  386. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  387. package/dist/collection/components/item-options/item-options.js +7 -13
  388. package/dist/collection/components/item-options/item-options.md.css +34 -77
  389. package/dist/collection/components/item-sliding/{item-sliding.native.css → item-sliding.css} +9 -84
  390. package/dist/collection/components/item-sliding/item-sliding.js +35 -421
  391. package/dist/collection/components/item-sliding/test/test.utils.js +0 -13
  392. package/dist/collection/components/label/label.ios.css +0 -18
  393. package/dist/collection/components/label/label.js +8 -11
  394. package/dist/collection/components/label/label.md.css +0 -18
  395. package/dist/collection/components/list/list.ios.css +14 -54
  396. package/dist/collection/components/list/list.js +9 -48
  397. package/dist/collection/components/list/list.md.css +16 -56
  398. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  399. package/dist/collection/components/list-header/list-header.js +8 -11
  400. package/dist/collection/components/list-header/list-header.md.css +38 -82
  401. package/dist/collection/components/loading/loading.ios.css +1 -13
  402. package/dist/collection/components/loading/loading.js +11 -14
  403. package/dist/collection/components/loading/loading.md.css +1 -13
  404. package/dist/collection/components/menu/menu.ios.css +3 -15
  405. package/dist/collection/components/menu/menu.js +7 -12
  406. package/dist/collection/components/menu/menu.md.css +3 -15
  407. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  408. package/dist/collection/components/menu-button/menu-button.js +10 -26
  409. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  410. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  411. package/dist/collection/components/modal/animations/sheet.js +2 -8
  412. package/dist/collection/components/modal/gestures/sheet.js +10 -76
  413. package/dist/collection/components/modal/modal.ios.css +70 -178
  414. package/dist/collection/components/modal/modal.js +12 -50
  415. package/dist/collection/components/modal/modal.md.css +70 -178
  416. package/dist/collection/components/nav/nav.css +1 -7
  417. package/dist/collection/components/nav/nav.js +5 -11
  418. package/dist/collection/components/nav-link/nav-link.js +1 -5
  419. package/dist/collection/components/note/note.ios.css +0 -12
  420. package/dist/collection/components/note/note.js +8 -11
  421. package/dist/collection/components/note/note.md.css +0 -12
  422. package/dist/collection/components/picker/picker.ios.css +3 -15
  423. package/dist/collection/components/picker/picker.js +5 -8
  424. package/dist/collection/components/picker/picker.md.css +3 -15
  425. package/dist/collection/components/picker-column/picker-column.css +2 -9
  426. package/dist/collection/components/picker-column/picker-column.js +7 -8
  427. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  428. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  429. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  430. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  431. package/dist/collection/components/picker-legacy/picker.js +6 -7
  432. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  433. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  434. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  435. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  436. package/dist/collection/components/popover/popover.ios.css +1 -29
  437. package/dist/collection/components/popover/popover.js +15 -18
  438. package/dist/collection/components/popover/popover.md.css +1 -29
  439. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  440. package/dist/collection/components/progress-bar/progress-bar.js +7 -43
  441. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  442. package/dist/collection/components/radio/radio.ios.css +91 -134
  443. package/dist/collection/components/radio/radio.js +9 -14
  444. package/dist/collection/components/radio/radio.md.css +91 -134
  445. package/dist/collection/components/radio-group/radio-group.ios.css +19 -43
  446. package/dist/collection/components/radio-group/radio-group.js +7 -48
  447. package/dist/collection/components/radio-group/radio-group.md.css +19 -43
  448. package/dist/collection/components/range/range.ios.css +85 -128
  449. package/dist/collection/components/range/range.js +10 -16
  450. package/dist/collection/components/range/range.md.css +85 -128
  451. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  452. package/dist/collection/components/refresher/refresher.js +8 -11
  453. package/dist/collection/components/refresher/refresher.md.css +2 -15
  454. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  455. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  456. package/dist/collection/components/reorder/reorder.js +6 -33
  457. package/dist/collection/components/reorder/reorder.md.css +0 -6
  458. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  459. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  460. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  461. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  462. package/dist/collection/components/route/route.js +0 -4
  463. package/dist/collection/components/router/router.js +0 -4
  464. package/dist/collection/components/router-link/router-link.css +2 -8
  465. package/dist/collection/components/router-link/router-link.js +5 -9
  466. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  467. package/dist/collection/components/router-outlet/router-outlet.js +3 -6
  468. package/dist/collection/components/row/row.css +0 -16
  469. package/dist/collection/components/row/row.js +2 -9
  470. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  471. package/dist/collection/components/searchbar/searchbar.js +33 -180
  472. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  473. package/dist/collection/components/segment/segment.ios.css +2 -45
  474. package/dist/collection/components/segment/segment.js +8 -11
  475. package/dist/collection/components/segment/segment.md.css +2 -45
  476. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  477. package/dist/collection/components/segment-button/segment-button.js +8 -11
  478. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  479. package/dist/collection/components/segment-content/segment-content.js +1 -1
  480. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  481. package/dist/collection/components/segment-view/segment-view.js +4 -13
  482. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  483. package/dist/collection/components/select/select.ios.css +176 -348
  484. package/dist/collection/components/select/select.js +66 -473
  485. package/dist/collection/components/select/select.md.css +178 -364
  486. package/dist/collection/components/select-modal/select-modal.ios.css +0 -156
  487. package/dist/collection/components/select-modal/select-modal.js +32 -132
  488. package/dist/collection/components/select-modal/select-modal.md.css +0 -139
  489. package/dist/collection/components/select-option/select-option.js +2 -70
  490. package/dist/collection/components/select-popover/select-popover.ios.css +23 -117
  491. package/dist/collection/components/select-popover/select-popover.js +31 -94
  492. package/dist/collection/components/select-popover/select-popover.md.css +22 -117
  493. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  494. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  495. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -78
  496. package/dist/collection/components/spinner/spinner.js +6 -47
  497. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  498. package/dist/collection/components/split-pane/split-pane.js +8 -15
  499. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  500. package/dist/collection/components/tab/tab.js +2 -6
  501. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  502. package/dist/collection/components/tab-bar/tab-bar.js +13 -171
  503. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  504. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  505. package/dist/collection/components/tab-button/tab-button.js +9 -54
  506. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  507. package/dist/collection/components/tabs/tabs.css +1 -7
  508. package/dist/collection/components/tabs/tabs.js +1 -4
  509. package/dist/collection/components/text/text.css +0 -6
  510. package/dist/collection/components/text/text.js +6 -7
  511. package/dist/collection/components/textarea/textarea.ios.css +158 -298
  512. package/dist/collection/components/textarea/textarea.js +24 -162
  513. package/dist/collection/components/textarea/textarea.md.css +159 -312
  514. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  515. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  516. package/dist/collection/components/title/title.ios.css +4 -32
  517. package/dist/collection/components/title/title.js +7 -13
  518. package/dist/collection/components/title/title.md.css +4 -32
  519. package/dist/collection/components/toast/animations/utils.js +1 -1
  520. package/dist/collection/components/toast/toast.ios.css +45 -84
  521. package/dist/collection/components/toast/toast.js +13 -76
  522. package/dist/collection/components/toast/toast.md.css +45 -84
  523. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  524. package/dist/collection/components/toggle/toggle.js +18 -73
  525. package/dist/collection/components/toggle/toggle.md.css +131 -244
  526. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  527. package/dist/collection/components/toolbar/toolbar.js +13 -218
  528. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  529. package/dist/collection/global/ionic-global.js +13 -241
  530. package/dist/collection/utils/focus-trap.js +2 -13
  531. package/dist/collection/utils/focus-visible.js +0 -22
  532. package/dist/collection/utils/forms/validity.js +0 -31
  533. package/dist/collection/utils/framework-delegate.js +1 -3
  534. package/dist/collection/utils/hardware-back-button.js +0 -15
  535. package/dist/collection/utils/helpers.js +3 -57
  536. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  537. package/dist/collection/utils/media.js +0 -1
  538. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  539. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  540. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  541. package/dist/collection/utils/overlays.js +6 -91
  542. package/dist/collection/utils/sanitization/index.js +6 -105
  543. package/dist/collection/utils/test/playwright/drag-element.js +9 -32
  544. package/dist/collection/utils/test/playwright/generator.js +23 -48
  545. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  546. package/dist/collection/utils/test/playwright/page/utils/set-content.js +3 -26
  547. package/dist/collection/utils/theme.js +1 -25
  548. package/dist/collection/utils/transition/ios.transition.js +0 -1
  549. package/dist/docs.json +283 -8891
  550. package/dist/esm/{animation-Cd1EA2ar.js → animation-CnGMT4ji.js} +2 -2
  551. package/dist/esm/{app-globals-9x_U7ofY.js → app-globals-DhZjtldk.js} +1 -1
  552. package/dist/esm/{button-active-B016u5N-.js → button-active-BBx21brx.js} +2 -2
  553. package/dist/esm/{capacitor-13SFuT1K.js → capacitor-CFERIeaU.js} +1 -1
  554. package/dist/esm/{config-C5F1aoVz.js → config-TO1rZH52.js} +8 -107
  555. package/dist/esm/{data-BNKYavC3.js → data-B9iGR5YO.js} +6 -6
  556. package/dist/{cjs/focus-visible-BIj-I3-C.js → esm/focus-visible-BmVRXR1y.js} +1 -27
  557. package/dist/esm/{framework-delegate-CjVwn_KZ.js → framework-delegate-CyxE1S_P.js} +2 -4
  558. package/dist/esm/{haptic-CbnKC3go.js → haptic-DzAMWJuk.js} +1 -1
  559. package/dist/esm/hardware-back-button-CTe4XmL7.js +115 -0
  560. package/dist/esm/{helpers-Do7zwvM1.js → helpers-Tl8jw6S2.js} +5 -58
  561. package/dist/esm/{index-B2VWavcK.js → index-B-hkiOUh.js} +4 -4
  562. package/dist/esm/{index-BWMvrRiE.js → index-B2KwgBLx.js} +11 -11
  563. package/dist/esm/{index-D3WueHpT.js → index-BtUdxPjv.js} +3 -4
  564. package/dist/esm/{index-D2tu5BUg.js → index-DV3sJJW8.js} +1 -2
  565. package/dist/esm/{index-Omi_TcwW.js → index-IGIE5vDm.js} +4 -41
  566. package/dist/esm/index-ZjP4CjeZ.js +7 -0
  567. package/dist/esm/{index-BmkLokUL.js → index-hW6eNZ3o.js} +2 -2
  568. package/dist/esm/index.js +14 -13
  569. package/dist/esm/{input-shims-DU23z7Hg.js → input-shims-DbrgeeNb.js} +6 -7
  570. package/dist/esm/{input.utils-C64RbLd_.js → input.utils-Bxa_DQ7-.js} +3 -3
  571. package/dist/esm/ion-accordion_2.entry.js +29 -61
  572. package/dist/esm/ion-action-sheet.entry.js +22 -40
  573. package/dist/esm/ion-alert.entry.js +40 -76
  574. package/dist/esm/ion-app_8.entry.js +157 -292
  575. package/dist/esm/ion-avatar_3.entry.js +13 -125
  576. package/dist/esm/ion-back-button.entry.js +22 -31
  577. package/dist/esm/ion-backdrop.entry.js +7 -10
  578. package/dist/esm/ion-breadcrumb_2.entry.js +18 -54
  579. package/dist/esm/ion-button_2.entry.js +22 -59
  580. package/dist/esm/ion-card_5.entry.js +33 -55
  581. package/dist/esm/ion-checkbox.entry.js +16 -34
  582. package/dist/esm/ion-chip.entry.js +9 -50
  583. package/dist/esm/ion-col_3.entry.js +57 -56
  584. package/dist/esm/ion-datetime-button.entry.js +9 -13
  585. package/dist/esm/ion-datetime_3.entry.js +41 -116
  586. package/dist/esm/ion-fab_3.entry.js +28 -44
  587. package/dist/esm/ion-img.entry.js +4 -8
  588. package/dist/esm/ion-infinite-scroll_2.entry.js +16 -91
  589. package/dist/esm/ion-input-otp.entry.js +9 -74
  590. package/dist/esm/ion-input-password-toggle.entry.js +15 -53
  591. package/dist/esm/ion-input.entry.js +34 -124
  592. package/dist/esm/ion-item-option_3.entry.js +52 -467
  593. package/dist/esm/ion-item_8.entry.js +49 -115
  594. package/dist/esm/ion-loading.entry.js +18 -20
  595. package/dist/esm/ion-menu_3.entry.js +29 -47
  596. package/dist/esm/ion-modal.entry.js +91 -215
  597. package/dist/esm/ion-nav_2.entry.js +11 -14
  598. package/dist/esm/ion-picker-column-option.entry.js +8 -12
  599. package/dist/esm/ion-picker-column.entry.js +13 -13
  600. package/dist/esm/ion-picker.entry.js +6 -10
  601. package/dist/esm/ion-popover.entry.js +19 -21
  602. package/dist/esm/ion-progress-bar.entry.js +9 -27
  603. package/dist/esm/ion-radio_2.entry.js +17 -35
  604. package/dist/esm/ion-range.entry.js +13 -20
  605. package/dist/esm/ion-refresher_2.entry.js +21 -39
  606. package/dist/esm/ion-reorder_2.entry.js +14 -38
  607. package/dist/esm/ion-ripple-effect.entry.js +7 -15
  608. package/dist/esm/ion-route_4.entry.js +9 -10
  609. package/dist/esm/ion-searchbar.entry.js +24 -137
  610. package/dist/esm/ion-segment-content.entry.js +2 -2
  611. package/dist/esm/ion-segment-view.entry.js +3 -13
  612. package/dist/esm/ion-segment_2.entry.js +16 -23
  613. package/dist/esm/ion-select-modal.entry.js +40 -119
  614. package/dist/esm/ion-select_3.entry.js +84 -513
  615. package/dist/esm/ion-spinner.entry.js +8 -30
  616. package/dist/esm/ion-split-pane.entry.js +9 -13
  617. package/dist/esm/ion-tab-bar_2.entry.js +23 -147
  618. package/dist/esm/ion-tab_2.entry.js +7 -8
  619. package/dist/esm/ion-text.entry.js +7 -7
  620. package/dist/esm/ion-textarea.entry.js +23 -137
  621. package/dist/esm/ion-toast.entry.js +21 -44
  622. package/dist/esm/ion-toggle.entry.js +25 -82
  623. package/dist/esm/ionic-global-DfbeLwcV.js +146 -0
  624. package/dist/esm/ionic.js +5 -5
  625. package/dist/esm/{ios.transition-DoQTN5Jk.js → ios.transition--aMF-pDH.js} +5 -7
  626. package/dist/esm/{keyboard-Dnno7-Ci.js → keyboard-CUw4ekVy.js} +1 -1
  627. package/dist/esm/{keyboard-controller-BpOdk6xN.js → keyboard-controller-BaaVITYt.js} +3 -5
  628. package/dist/esm/{keyboard-Ca1zVCcH.js → keyboard-ywgs5efA.js} +3 -4
  629. package/dist/esm/loader.js +5 -5
  630. package/dist/esm/{md.transition-DZydrWwq.js → md.transition-BEVbfm8j.js} +5 -6
  631. package/dist/esm/{notch-controller-klgNWpjJ.js → notch-controller-DAcvKU57.js} +2 -2
  632. package/dist/esm/{overlays-CpQ6Df2g.js → overlays-F8GHPo-e.js} +13 -107
  633. package/dist/esm/{status-tap-fYFdZg6z.js → status-tap-BfJqFSLF.js} +3 -4
  634. package/dist/esm/{swipe-back-BzGqTrrq.js → swipe-back-BZBFwTQV.js} +2 -3
  635. package/dist/esm/{theme-DaJxRxSQ.js → theme-DiVJyqlX.js} +1 -25
  636. package/dist/esm/validity-DJztqcrH.js +17 -0
  637. package/dist/html.html-data.json +161 -2626
  638. package/dist/ionic/index.esm.js +1 -1
  639. package/dist/ionic/ionic.esm.js +1 -1
  640. package/dist/ionic/p-031b76f7.entry.js +4 -0
  641. package/dist/ionic/p-045a6a42.entry.js +4 -0
  642. package/dist/ionic/p-07506134.entry.js +4 -0
  643. package/dist/ionic/p-078037da.entry.js +4 -0
  644. package/dist/ionic/p-084c25b2.entry.js +4 -0
  645. package/dist/ionic/p-0d8b5c38.entry.js +4 -0
  646. package/dist/ionic/p-16813ce7.entry.js +4 -0
  647. package/dist/ionic/p-1b169fb6.entry.js +4 -0
  648. package/dist/ionic/p-1ca9c36b.entry.js +4 -0
  649. package/dist/ionic/p-23ec35e4.entry.js +4 -0
  650. package/dist/ionic/p-23fac490.entry.js +4 -0
  651. package/dist/ionic/p-28a9e720.entry.js +4 -0
  652. package/dist/ionic/p-294f4bb5.entry.js +4 -0
  653. package/dist/ionic/p-2a68388b.entry.js +4 -0
  654. package/dist/ionic/p-2f5a8140.entry.js +4 -0
  655. package/dist/ionic/p-2fd110aa.entry.js +4 -0
  656. package/dist/ionic/p-301c43f8.entry.js +4 -0
  657. package/dist/ionic/p-370a60ee.entry.js +4 -0
  658. package/dist/ionic/p-53f750a5.entry.js +4 -0
  659. package/dist/ionic/p-6888a88b.entry.js +4 -0
  660. package/dist/ionic/p-6af16209.entry.js +4 -0
  661. package/dist/ionic/p-6b701daa.entry.js +4 -0
  662. package/dist/ionic/p-6b97f2a3.entry.js +4 -0
  663. package/dist/ionic/p-7620be24.entry.js +4 -0
  664. package/dist/ionic/p-771b27a5.entry.js +4 -0
  665. package/dist/ionic/p-7761ef65.entry.js +4 -0
  666. package/dist/ionic/p-7ca71c83.entry.js +4 -0
  667. package/dist/ionic/p-80cac7a2.entry.js +4 -0
  668. package/dist/ionic/p-87125490.entry.js +4 -0
  669. package/dist/ionic/p-8fda6a62.entry.js +4 -0
  670. package/dist/ionic/p-9833cf63.entry.js +4 -0
  671. package/dist/ionic/p-9cbc6f1f.entry.js +4 -0
  672. package/dist/ionic/p-9eeaBrnk.js +4 -0
  673. package/dist/ionic/{p-DKWXAwlR.js → p-B8xlpH8p.js} +1 -1
  674. package/dist/ionic/p-BAt5H1ac.js +4 -0
  675. package/dist/ionic/p-BW_TRJm8.js +4 -0
  676. package/dist/ionic/p-BmVRXR1y.js +4 -0
  677. package/dist/ionic/p-Bum7H1fw.js +4 -0
  678. package/{components/p-oF-CwZ0b.js → dist/ionic/p-BvFYtOdE.js} +1 -1
  679. package/{components/p-Bt0d89x3.js → dist/ionic/p-BxIcPWoV.js} +1 -1
  680. package/dist/ionic/p-C0JvVFMv.js +4 -0
  681. package/dist/ionic/p-CGmVTdWh.js +4 -0
  682. package/dist/ionic/p-CIGNaXM1.js +4 -0
  683. package/dist/ionic/{p-BmEwy3tY.js → p-CKvCXMs9.js} +1 -1
  684. package/dist/ionic/p-CYbRmDdy.js +4 -0
  685. package/dist/ionic/p-CmFz1Mjc.js +4 -0
  686. package/dist/ionic/p-CtA-yJYy.js +4 -0
  687. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  688. package/{components/p-Cllkut-B.js → dist/ionic/p-D13Eaw-8.js} +1 -1
  689. package/dist/ionic/p-D8HJQ1qq.js +4 -0
  690. package/dist/ionic/p-DB_iPQC-.js +4 -0
  691. package/dist/ionic/p-DJztqcrH.js +4 -0
  692. package/dist/ionic/p-DLbbmF9h.js +4 -0
  693. package/dist/ionic/p-DTPR1Wpn.js +4 -0
  694. package/dist/ionic/p-DV3sJJW8.js +4 -0
  695. package/dist/ionic/p-DcSNwXfb.js +4 -0
  696. package/dist/ionic/p-DiVJyqlX.js +4 -0
  697. package/dist/ionic/p-DjriolRs.js +4 -0
  698. package/dist/ionic/p-DtVZDHlS.js +4 -0
  699. package/dist/ionic/p-IGIE5vDm.js +5 -0
  700. package/dist/ionic/p-NFFyoJ4Q.js +4 -0
  701. package/dist/ionic/p-ZjP4CjeZ.js +4 -0
  702. package/dist/ionic/p-a805674e.entry.js +4 -0
  703. package/dist/ionic/p-a84f2d21.entry.js +4 -0
  704. package/dist/ionic/p-a893c61c.entry.js +4 -0
  705. package/dist/ionic/p-aa812c4b.entry.js +4 -0
  706. package/dist/ionic/p-b325a113.entry.js +4 -0
  707. package/dist/ionic/p-b6e0ff03.entry.js +4 -0
  708. package/dist/ionic/p-bcaa827e.entry.js +4 -0
  709. package/dist/ionic/p-c3cce9d8.entry.js +4 -0
  710. package/dist/ionic/p-ca31010f.entry.js +4 -0
  711. package/dist/ionic/p-cf8757a7.entry.js +4 -0
  712. package/dist/ionic/p-d4e8b473.entry.js +4 -0
  713. package/dist/ionic/p-e663bc5a.entry.js +4 -0
  714. package/dist/ionic/p-e6cedcd7.entry.js +4 -0
  715. package/dist/ionic/p-e863ffe8.entry.js +4 -0
  716. package/dist/ionic/p-f2deaceb.entry.js +4 -0
  717. package/dist/ionic/p-f3e7b155.entry.js +4 -0
  718. package/dist/ionic/p-f5dfb9a3.entry.js +4 -0
  719. package/dist/ionic/p-f69a5f71.entry.js +4 -0
  720. package/dist/ionic/p-f8186550.entry.js +4 -0
  721. package/dist/ionic/p-fdbc90d4.entry.js +4 -0
  722. package/dist/ionic/p-gbVXD275.js +4 -0
  723. package/dist/ionic/p-hNN3VvaC.js +4 -0
  724. package/dist/types/components/accordion/accordion.d.ts +3 -6
  725. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  726. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  727. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  728. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  729. package/dist/types/components/alert/alert.d.ts +2 -3
  730. package/dist/types/components/app/app.d.ts +5 -4
  731. package/dist/types/components/avatar/avatar.d.ts +0 -32
  732. package/dist/types/components/back-button/back-button.d.ts +1 -2
  733. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  734. package/dist/types/components/badge/badge.d.ts +1 -34
  735. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  736. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  737. package/dist/types/components/button/button.d.ts +8 -23
  738. package/dist/types/components/buttons/buttons.d.ts +1 -5
  739. package/dist/types/components/card/card.d.ts +1 -8
  740. package/dist/types/components/card-content/card-content.d.ts +1 -2
  741. package/dist/types/components/card-header/card-header.d.ts +2 -3
  742. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  743. package/dist/types/components/card-title/card-title.d.ts +1 -2
  744. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  745. package/dist/types/components/chip/chip.d.ts +1 -26
  746. package/dist/types/components/col/col.d.ts +5 -52
  747. package/dist/types/components/content/content.d.ts +0 -3
  748. package/dist/types/components/datetime/datetime.d.ts +1 -26
  749. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  750. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  751. package/dist/types/components/fab/fab.d.ts +0 -4
  752. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  753. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  754. package/dist/types/components/footer/footer.d.ts +3 -4
  755. package/dist/types/components/grid/grid.d.ts +0 -4
  756. package/dist/types/components/header/header.d.ts +3 -9
  757. package/dist/types/components/header/header.utils.d.ts +3 -3
  758. package/dist/types/components/img/img.d.ts +0 -3
  759. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -21
  760. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  761. package/dist/types/components/input/input.d.ts +5 -31
  762. package/dist/types/components/input-otp/input-otp.d.ts +0 -37
  763. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  764. package/dist/types/components/item/item.d.ts +4 -11
  765. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  766. package/dist/types/components/item-group/item-group.d.ts +0 -4
  767. package/dist/types/components/item-option/item-option.d.ts +1 -18
  768. package/dist/types/components/item-options/item-options.d.ts +0 -4
  769. package/dist/types/components/item-sliding/item-sliding.d.ts +1 -47
  770. package/dist/types/components/item-sliding/test/test.utils.d.ts +0 -13
  771. package/dist/types/components/label/label.d.ts +1 -2
  772. package/dist/types/components/list/list.d.ts +1 -15
  773. package/dist/types/components/list-header/list-header.d.ts +1 -2
  774. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  775. package/dist/types/components/loading/loading.d.ts +2 -3
  776. package/dist/types/components/menu/menu.d.ts +0 -3
  777. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  778. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  779. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  780. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  781. package/dist/types/components/modal/modal.d.ts +1 -11
  782. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  783. package/dist/types/components/nav/nav.d.ts +1 -5
  784. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  785. package/dist/types/components/note/note.d.ts +1 -2
  786. package/dist/types/components/picker/picker.d.ts +1 -2
  787. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  788. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  789. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  790. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  791. package/dist/types/components/popover/popover.d.ts +5 -6
  792. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  793. package/dist/types/components/radio/radio.d.ts +1 -2
  794. package/dist/types/components/radio-group/radio-group.d.ts +0 -12
  795. package/dist/types/components/range/range.d.ts +1 -2
  796. package/dist/types/components/refresher/refresher.d.ts +1 -2
  797. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  798. package/dist/types/components/reorder/reorder.d.ts +0 -9
  799. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  800. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  801. package/dist/types/components/route/route.d.ts +0 -4
  802. package/dist/types/components/router/router.d.ts +0 -4
  803. package/dist/types/components/router-link/router-link.d.ts +0 -4
  804. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  805. package/dist/types/components/row/row.d.ts +0 -4
  806. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  807. package/dist/types/components/segment/segment.d.ts +1 -2
  808. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  809. package/dist/types/components/select/select-interface.d.ts +0 -31
  810. package/dist/types/components/select/select.d.ts +13 -66
  811. package/dist/types/components/select-modal/select-modal.d.ts +0 -8
  812. package/dist/types/components/select-option/select-option.d.ts +0 -44
  813. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  814. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  815. package/dist/types/components/spinner/spinner.d.ts +0 -15
  816. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  817. package/dist/types/components/tab/tab.d.ts +0 -4
  818. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -37
  819. package/dist/types/components/tab-button/tab-button.d.ts +1 -12
  820. package/dist/types/components/tabs/tabs.d.ts +0 -3
  821. package/dist/types/components/text/text.d.ts +1 -2
  822. package/dist/types/components/textarea/textarea.d.ts +4 -53
  823. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  824. package/dist/types/components/title/title.d.ts +0 -4
  825. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  826. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  827. package/dist/types/components/toast/toast.d.ts +2 -19
  828. package/dist/types/components/toggle/toggle.d.ts +1 -15
  829. package/dist/types/components/toolbar/toolbar.d.ts +3 -43
  830. package/dist/types/components.d.ts +205 -1819
  831. package/dist/types/global/ionic-global.d.ts +2 -28
  832. package/dist/types/interface.d.ts +0 -3
  833. package/dist/types/utils/config.d.ts +2 -106
  834. package/dist/types/utils/focus-trap.d.ts +1 -1
  835. package/dist/types/utils/focus-visible.d.ts +0 -13
  836. package/dist/types/utils/forms/validity.d.ts +0 -7
  837. package/dist/types/utils/helpers.d.ts +0 -11
  838. package/dist/types/utils/overlays-interface.d.ts +1 -31
  839. package/dist/types/utils/overlays.d.ts +1 -1
  840. package/dist/types/utils/sanitization/index.d.ts +2 -46
  841. package/dist/types/utils/test/playwright/drag-element.d.ts +3 -16
  842. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  843. package/dist/types/utils/theme.d.ts +0 -9
  844. package/hydrate/index.js +1182 -5271
  845. package/hydrate/index.mjs +1182 -5271
  846. package/package.json +4 -8
  847. package/components/ion-divider.d.ts +0 -11
  848. package/components/ion-divider.js +0 -4
  849. package/components/ion-gallery.d.ts +0 -11
  850. package/components/ion-gallery.js +0 -4
  851. package/components/p-3Ni1Z654.js +0 -4
  852. package/components/p-7kL3tltU.js +0 -4
  853. package/components/p-B9MABkWm.js +0 -4
  854. package/components/p-BBu2n-9C.js +0 -4
  855. package/components/p-BDcohALy.js +0 -4
  856. package/components/p-BDqjX7Z_.js +0 -4
  857. package/components/p-BJzJdLry.js +0 -4
  858. package/components/p-BYSs-jZz.js +0 -4
  859. package/components/p-B_MdONwD.js +0 -4
  860. package/components/p-BaPtaYEC.js +0 -4
  861. package/components/p-BcbmT6b3.js +0 -4
  862. package/components/p-Bg30AtDZ.js +0 -4
  863. package/components/p-BhkGOA7t.js +0 -4
  864. package/components/p-BjW8SOqw.js +0 -4
  865. package/components/p-Bk9hTY4h.js +0 -4
  866. package/components/p-BqDiJgC_.js +0 -4
  867. package/components/p-BsNpz2u3.js +0 -4
  868. package/components/p-BsSTz5ia.js +0 -4
  869. package/components/p-BwQOIWD7.js +0 -4
  870. package/components/p-C75FIZBC.js +0 -4
  871. package/components/p-C8kBejTT.js +0 -4
  872. package/components/p-CBS0sBAa.js +0 -4
  873. package/components/p-CUAgUmQC.js +0 -4
  874. package/components/p-Cg-xpJhD.js +0 -4
  875. package/components/p-CgSn4J7d.js +0 -4
  876. package/components/p-CgZLVOCc.js +0 -4
  877. package/components/p-Cz4uz3Dy.js +0 -4
  878. package/components/p-CzC_ZSgb.js +0 -4
  879. package/components/p-D1t981Ih.js +0 -4
  880. package/components/p-D2mReIu8.js +0 -4
  881. package/components/p-D6g8ud1e.js +0 -4
  882. package/components/p-DDw-NYxz.js +0 -4
  883. package/components/p-DN_scBC7.js +0 -4
  884. package/components/p-DVcs-2q3.js +0 -4
  885. package/components/p-DXehWlOr.js +0 -4
  886. package/components/p-DaJxRxSQ.js +0 -4
  887. package/components/p-DdgejEM3.js +0 -4
  888. package/components/p-DhXUGFNH.js +0 -4
  889. package/components/p-Dhi5xtNS.js +0 -4
  890. package/components/p-Do7NMUwR.js +0 -4
  891. package/components/p-DohYi97K.js +0 -4
  892. package/components/p-Dp2x0MpA.js +0 -4
  893. package/components/p-GElQZ38c.js +0 -4
  894. package/components/p-GtzfsjJP.js +0 -4
  895. package/components/p-LB-QPk3e.js +0 -4
  896. package/components/p-PzmQ86nh.js +0 -4
  897. package/components/p-Skz67GXZ.js +0 -4
  898. package/components/p-WdrzoonY.js +0 -4
  899. package/components/p-XegQjlzJ.js +0 -4
  900. package/components/p-fIOYmaqA.js +0 -4
  901. package/components/p-hpwmNJ2Q.js +0 -4
  902. package/components/p-kKYBfhbe.js +0 -4
  903. package/components/p-lGSe6-vg.js +0 -4
  904. package/components/p-pvh0bjpw.js +0 -4
  905. package/components/p-sToA4Co7.js +0 -4
  906. package/components/p-vXpMhGrs.js +0 -4
  907. package/components/p-wCDzv5Q8.js +0 -4
  908. package/css/ionic/bundle.ionic.css +0 -1
  909. package/css/ionic/bundle.ionic.css.map +0 -1
  910. package/css/ionic/core.ionic.css +0 -1
  911. package/css/ionic/core.ionic.css.map +0 -1
  912. package/css/ionic/global.bundle.ionic.css +0 -1
  913. package/css/ionic/global.bundle.ionic.css.map +0 -1
  914. package/css/ionic/ionic-swiper.ionic.css +0 -1
  915. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  916. package/css/ionic/link.ionic.css +0 -1
  917. package/css/ionic/link.ionic.css.map +0 -1
  918. package/css/ionic/structure.ionic.css +0 -1
  919. package/css/ionic/structure.ionic.css.map +0 -1
  920. package/css/ionic/typography.ionic.css +0 -1
  921. package/css/ionic/typography.ionic.css.map +0 -1
  922. package/css/ionic/utils.bundle.ionic.css +0 -1
  923. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  924. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  925. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  926. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  927. package/dist/cjs/ion-divider.cjs.entry.js +0 -51
  928. package/dist/cjs/ion-gallery.cjs.entry.js +0 -510
  929. package/dist/cjs/ionic-global-BW5tRzrz.js +0 -519
  930. package/dist/cjs/list-a-7GSA6K.js +0 -8
  931. package/dist/cjs/overlay-control-label-t9ZFhCtr.js +0 -51
  932. package/dist/cjs/select-option-render-C72N7OsO.js +0 -111
  933. package/dist/cjs/validity-QmuwEptc.js +0 -51
  934. package/dist/cjs/x-BTF99yFH.js +0 -8
  935. package/dist/collection/components/accordion/accordion.ionic.css +0 -201
  936. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -93
  937. package/dist/collection/components/action-sheet/action-sheet.ionic.css +0 -439
  938. package/dist/collection/components/alert/alert.ionic.css +0 -726
  939. package/dist/collection/components/avatar/avatar.ionic.css +0 -391
  940. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -109
  941. package/dist/collection/components/badge/badge.ionic.css +0 -275
  942. package/dist/collection/components/button/button.ionic.css +0 -646
  943. package/dist/collection/components/buttons/buttons.ionic.css +0 -97
  944. package/dist/collection/components/card/card.ionic.css +0 -144
  945. package/dist/collection/components/card-content/card-content.ionic.css +0 -89
  946. package/dist/collection/components/card-header/card-header.ionic.css +0 -85
  947. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -144
  948. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -539
  949. package/dist/collection/components/chip/chip.ionic.css +0 -217
  950. package/dist/collection/components/datetime/datetime.ionic.css +0 -703
  951. package/dist/collection/components/divider/divider.ionic.css +0 -148
  952. package/dist/collection/components/divider/divider.ios.css +0 -87
  953. package/dist/collection/components/divider/divider.js +0 -94
  954. package/dist/collection/components/divider/divider.md.css +0 -87
  955. package/dist/collection/components/gallery/gallery-constants.js +0 -12
  956. package/dist/collection/components/gallery/gallery-interface.js +0 -1
  957. package/dist/collection/components/gallery/gallery.css +0 -100
  958. package/dist/collection/components/gallery/gallery.js +0 -595
  959. package/dist/collection/components/gallery/test/utils.js +0 -100
  960. package/dist/collection/components/header/header.ionic.css +0 -97
  961. package/dist/collection/components/input/input.ionic.css +0 -889
  962. package/dist/collection/components/input-otp/input-otp.ionic.css +0 -371
  963. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -78
  964. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  965. package/dist/collection/components/item/item.ionic.css +0 -496
  966. package/dist/collection/components/item-option/item-option.ionic.css +0 -278
  967. package/dist/collection/components/item-options/item-options.ionic.css +0 -221
  968. package/dist/collection/components/item-sliding/item-sliding.ionic.css +0 -211
  969. package/dist/collection/components/list/list.ionic.css +0 -212
  970. package/dist/collection/components/list-header/list-header.ionic.css +0 -190
  971. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -236
  972. package/dist/collection/components/modal/animations/ionic.enter.js +0 -40
  973. package/dist/collection/components/modal/animations/ionic.leave.js +0 -28
  974. package/dist/collection/components/modal/modal.ionic.css +0 -247
  975. package/dist/collection/components/popover/popover.ionic.css +0 -290
  976. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -287
  977. package/dist/collection/components/radio/radio.ionic.css +0 -422
  978. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -119
  979. package/dist/collection/components/range/range.ionic.css +0 -567
  980. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -215
  981. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -626
  982. package/dist/collection/components/segment/segment.ionic.css +0 -115
  983. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -353
  984. package/dist/collection/components/select/select.ionic.css +0 -810
  985. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -221
  986. package/dist/collection/components/select-popover/select-popover.ionic.css +0 -220
  987. package/dist/collection/components/spinner/spinner.native.css +0 -199
  988. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -227
  989. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -348
  990. package/dist/collection/components/textarea/textarea.ionic.css +0 -898
  991. package/dist/collection/components/title/title.ionic.css +0 -127
  992. package/dist/collection/components/toast/toast.ionic.css +0 -394
  993. package/dist/collection/components/toggle/toggle.ionic.css +0 -508
  994. package/dist/collection/components/toolbar/test/image.svg +0 -1
  995. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -249
  996. package/dist/collection/utils/css-value-validation.js +0 -25
  997. package/dist/collection/utils/overlay-control-label.js +0 -46
  998. package/dist/collection/utils/select-option-render.js +0 -106
  999. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  1000. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  1001. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  1002. package/dist/esm/ion-divider.entry.js +0 -49
  1003. package/dist/esm/ion-gallery.entry.js +0 -508
  1004. package/dist/esm/ionic-global--9mOmThr.js +0 -508
  1005. package/dist/esm/list-Dhi5xtNS.js +0 -6
  1006. package/dist/esm/overlay-control-label-PzmQ86nh.js +0 -48
  1007. package/dist/esm/select-option-render-y_4XoEqH.js +0 -109
  1008. package/dist/esm/validity-BjW8SOqw.js +0 -48
  1009. package/dist/esm/x-BDqjX7Z_.js +0 -6
  1010. package/dist/ionic/p-0030507d.entry.js +0 -4
  1011. package/dist/ionic/p-084c2623.entry.js +0 -4
  1012. package/dist/ionic/p-09f8a57f.entry.js +0 -4
  1013. package/dist/ionic/p-108c0f30.entry.js +0 -4
  1014. package/dist/ionic/p-1439fecb.entry.js +0 -4
  1015. package/dist/ionic/p-199bffb3.entry.js +0 -4
  1016. package/dist/ionic/p-19a1ff9a.entry.js +0 -4
  1017. package/dist/ionic/p-1a026890.entry.js +0 -4
  1018. package/dist/ionic/p-1ad16c09.entry.js +0 -4
  1019. package/dist/ionic/p-2aa7567e.entry.js +0 -4
  1020. package/dist/ionic/p-3656314c.entry.js +0 -4
  1021. package/dist/ionic/p-379cc989.entry.js +0 -4
  1022. package/dist/ionic/p-3e186bd8.entry.js +0 -4
  1023. package/dist/ionic/p-3f18dfe9.entry.js +0 -4
  1024. package/dist/ionic/p-40d9e029.entry.js +0 -4
  1025. package/dist/ionic/p-410d60c5.entry.js +0 -4
  1026. package/dist/ionic/p-456736d1.entry.js +0 -4
  1027. package/dist/ionic/p-48e3cb9e.entry.js +0 -4
  1028. package/dist/ionic/p-497f6391.entry.js +0 -4
  1029. package/dist/ionic/p-4a5ebd2b.entry.js +0 -4
  1030. package/dist/ionic/p-64b4e6eb.entry.js +0 -4
  1031. package/dist/ionic/p-66eb0193.entry.js +0 -4
  1032. package/dist/ionic/p-67c2d349.entry.js +0 -4
  1033. package/dist/ionic/p-7054a1b9.entry.js +0 -4
  1034. package/dist/ionic/p-70ee89c9.entry.js +0 -4
  1035. package/dist/ionic/p-7186786e.entry.js +0 -4
  1036. package/dist/ionic/p-7194f6fa.entry.js +0 -4
  1037. package/dist/ionic/p-729a5b04.entry.js +0 -4
  1038. package/dist/ionic/p-76c70824.entry.js +0 -4
  1039. package/dist/ionic/p-7d25ad9a.entry.js +0 -4
  1040. package/dist/ionic/p-7f294078.entry.js +0 -4
  1041. package/dist/ionic/p-8458f1b6.entry.js +0 -4
  1042. package/dist/ionic/p-88e7f52a.entry.js +0 -4
  1043. package/dist/ionic/p-89eab395.entry.js +0 -4
  1044. package/dist/ionic/p-93315d96.entry.js +0 -4
  1045. package/dist/ionic/p-9ccfb733.entry.js +0 -4
  1046. package/dist/ionic/p-9dfbe98d.entry.js +0 -4
  1047. package/dist/ionic/p-B4ikoeaj.js +0 -4
  1048. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  1049. package/dist/ionic/p-BFBCtvFI.js +0 -4
  1050. package/dist/ionic/p-BQgCYKKG.js +0 -4
  1051. package/dist/ionic/p-BYAxJDlE.js +0 -4
  1052. package/dist/ionic/p-BYSs-jZz.js +0 -4
  1053. package/dist/ionic/p-BjW8SOqw.js +0 -4
  1054. package/dist/ionic/p-CDn0uNJA.js +0 -4
  1055. package/dist/ionic/p-CHE1xWbg.js +0 -4
  1056. package/dist/ionic/p-CK179dBb.js +0 -4
  1057. package/dist/ionic/p-CLHjFE18.js +0 -4
  1058. package/dist/ionic/p-CYhXBSjd.js +0 -4
  1059. package/dist/ionic/p-D1t981Ih.js +0 -4
  1060. package/dist/ionic/p-D2tu5BUg.js +0 -4
  1061. package/dist/ionic/p-DDFhx1YX.js +0 -4
  1062. package/dist/ionic/p-DNGqaUsl.js +0 -4
  1063. package/dist/ionic/p-DaJxRxSQ.js +0 -4
  1064. package/dist/ionic/p-DaknVxZR.js +0 -4
  1065. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  1066. package/dist/ionic/p-DoyDJ2X5.js +0 -4
  1067. package/dist/ionic/p-E1wtzfO0.js +0 -4
  1068. package/dist/ionic/p-FvDKM4Ax.js +0 -4
  1069. package/dist/ionic/p-IXZW3FBt.js +0 -4
  1070. package/dist/ionic/p-Omi_TcwW.js +0 -5
  1071. package/dist/ionic/p-PoSbs6oh.js +0 -4
  1072. package/dist/ionic/p-PzmQ86nh.js +0 -4
  1073. package/dist/ionic/p-VAJ_3beW.js +0 -4
  1074. package/dist/ionic/p-a3f9be52.entry.js +0 -4
  1075. package/dist/ionic/p-ad4d0138.entry.js +0 -4
  1076. package/dist/ionic/p-b4fd91b8.entry.js +0 -4
  1077. package/dist/ionic/p-b653f4c2.entry.js +0 -4
  1078. package/dist/ionic/p-b69add0e.entry.js +0 -4
  1079. package/dist/ionic/p-b7235e85.entry.js +0 -4
  1080. package/dist/ionic/p-bc317965.entry.js +0 -4
  1081. package/dist/ionic/p-bsfLvRbd.js +0 -4
  1082. package/dist/ionic/p-c6516c13.entry.js +0 -4
  1083. package/dist/ionic/p-c684a3b6.entry.js +0 -4
  1084. package/dist/ionic/p-c7139c41.entry.js +0 -4
  1085. package/dist/ionic/p-c94fbdab.entry.js +0 -4
  1086. package/dist/ionic/p-dac1d4de.entry.js +0 -4
  1087. package/dist/ionic/p-dd2981d0.entry.js +0 -4
  1088. package/dist/ionic/p-e7505567.entry.js +0 -4
  1089. package/dist/ionic/p-eTI_FbQJ.js +0 -4
  1090. package/dist/ionic/p-f72200cc.entry.js +0 -4
  1091. package/dist/ionic/p-fIOYmaqA.js +0 -4
  1092. package/dist/ionic/p-fbdbdb3e.entry.js +0 -4
  1093. package/dist/ionic/p-ff09d2a5.entry.js +0 -4
  1094. package/dist/ionic/p-pI5qh5HW.js +0 -4
  1095. package/dist/ionic/p-vXpMhGrs.js +0 -4
  1096. package/dist/types/components/divider/divider.d.ts +0 -20
  1097. package/dist/types/components/gallery/gallery-constants.d.ts +0 -9
  1098. package/dist/types/components/gallery/gallery-interface.d.ts +0 -10
  1099. package/dist/types/components/gallery/gallery.d.ts +0 -183
  1100. package/dist/types/components/gallery/test/utils.d.ts +0 -2
  1101. package/dist/types/components/modal/animations/ionic.enter.d.ts +0 -6
  1102. package/dist/types/components/modal/animations/ionic.leave.d.ts +0 -6
  1103. package/dist/types/utils/css-value-validation.d.ts +0 -12
  1104. package/dist/types/utils/overlay-control-label.d.ts +0 -34
  1105. package/dist/types/utils/select-option-render.d.ts +0 -22
  1106. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/display.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AAYA,UACE,wBAUE,aACE,wBAOF,eACE,wBC2IF,yBDpJA,gBACE,yBC+LF,4BDxLA,kBACE,yBC2IF,yBDpJA,gBACE,yBC+LF,4BDxLA,kBACE,yBC2IF,yBDpJA,gBACE,yBC+LF,4BDxLA,kBACE,yBC2IF,0BDpJA,gBACE,yBC+LF,6BDxLA,kBACE,yBAyBA,kBACE,wBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,0BDlHE,qBACE,yBADF,sBACE,4BCiHJ,yBDlHE,yBACE,6BCiHJ,yBDlHE,yBACE,6BCiHJ,yBDlHE,yBACE,6BCiHJ,0BDlHE,yBACE,6BADF,oBACE,0BCiHJ,yBDlHE,uBACE,2BCiHJ,yBDlHE,uBACE,2BCiHJ,yBDlHE,uBACE,2BCiHJ,0BDlHE,uBACE,2BADF,0BACE,gCCiHJ,yBDlHE,6BACE,iCCiHJ,yBDlHE,6BACE,iCCiHJ,yBDlHE,6BACE,iCCiHJ,0BDlHE,6BACE,iCADF,mBACE,yBCiHJ,yBDlHE,sBACE,0BCiHJ,yBDlHE,sBACE,0BCiHJ,yBDlHE,sBACE,0BCiHJ,0BDlHE,sBACE,0BADF,kBACE,wBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,0BDlHE,qBACE,yBADF,yBACE,+BCiHJ,yBDlHE,4BACE,gCCiHJ,yBDlHE,4BACE,gCCiHJ,yBDlHE,4BACE,gCCiHJ,0BDlHE,4BACE,gCADF,kBACE,wBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,yBDlHE,qBACE,yBCiHJ,0BDlHE,qBACE,yBADF,yBACE,+BCiHJ,yBDlHE,4BACE,gCCiHJ,yBDlHE,4BACE,gCCiHJ,yBDlHE,4BACE,gCCiHJ,0BDlHE,4BACE,gCADF,mBACE,yBCiHJ,yBDlHE,sBACE,0BCiHJ,yBDlHE,sBACE,0BCiHJ,yBDlHE,sBACE,0BCiHJ,0BDlHE,sBACE,0BADF,wBACE,8BCiHJ,yBDlHE,2BACE,+BCiHJ,yBDlHE,2BACE,+BCiHJ,yBDlHE,2BACE,+BCiHJ,0BDlHE,2BACE,+BADF,uBACE,6BCiHJ,yBDlHE,0BACE,8BCiHJ,yBDlHE,0BACE,8BCiHJ,yBDlHE,0BACE,8BCiHJ,0BDlHE,0BACE,8BASR,iBACE,uBAGF,gBACE,sBAMF,uBACE,6BAGF,uBACE","file":"display.css","sourcesContent":["@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","@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"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/display.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AAYA,UACE,wBAUE,aACE,wBAOF,eACE,wBCiIF,yBD1IA,gBACE,yBCkLF,4BD3KA,kBACE,yBCiIF,yBD1IA,gBACE,yBCkLF,4BD3KA,kBACE,yBCiIF,yBD1IA,gBACE,yBCkLF,4BD3KA,kBACE,yBCiIF,0BD1IA,gBACE,yBCkLF,6BD3KA,kBACE,yBAwBA,kBACE,wBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,0BDzGE,qBACE,yBADF,oBACE,0BCwGJ,yBDzGE,uBACE,2BCwGJ,yBDzGE,uBACE,2BCwGJ,yBDzGE,uBACE,2BCwGJ,0BDzGE,uBACE,2BADF,0BACE,gCCwGJ,yBDzGE,6BACE,iCCwGJ,yBDzGE,6BACE,iCCwGJ,yBDzGE,6BACE,iCCwGJ,0BDzGE,6BACE,iCADF,mBACE,yBCwGJ,yBDzGE,sBACE,0BCwGJ,yBDzGE,sBACE,0BCwGJ,yBDzGE,sBACE,0BCwGJ,0BDzGE,sBACE,0BADF,kBACE,wBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,0BDzGE,qBACE,yBADF,yBACE,+BCwGJ,yBDzGE,4BACE,gCCwGJ,yBDzGE,4BACE,gCCwGJ,yBDzGE,4BACE,gCCwGJ,0BDzGE,4BACE,gCADF,kBACE,wBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,yBDzGE,qBACE,yBCwGJ,0BDzGE,qBACE,yBADF,yBACE,+BCwGJ,yBDzGE,4BACE,gCCwGJ,yBDzGE,4BACE,gCCwGJ,yBDzGE,4BACE,gCCwGJ,0BDzGE,4BACE,gCADF,mBACE,yBCwGJ,yBDzGE,sBACE,0BCwGJ,yBDzGE,sBACE,0BCwGJ,yBDzGE,sBACE,0BCwGJ,0BDzGE,sBACE,0BADF,wBACE,8BCwGJ,yBDzGE,2BACE,+BCwGJ,yBDzGE,2BACE,+BCwGJ,yBDzGE,2BACE,+BCwGJ,0BDzGE,2BACE,+BADF,uBACE,6BCwGJ,yBDzGE,0BACE,8BCwGJ,yBDzGE,0BACE,8BCwGJ,yBDzGE,0BACE,8BCwGJ,0BDzGE,0BACE","file":"display.css","sourcesContent":["@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","\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"]}
@@ -1 +1 @@
1
- .ion-align-content-start{align-content:flex-start !important}.ion-align-content-end{align-content:flex-end !important}.ion-align-content-center{align-content:center !important}.ion-align-content-between{align-content:space-between !important}.ion-align-content-around{align-content:space-around !important}.ion-align-content-stretch{align-content:stretch !important}@media(min-width: 576px){.ion-align-content-sm-start{align-content:flex-start !important}.ion-align-content-sm-end{align-content:flex-end !important}.ion-align-content-sm-center{align-content:center !important}.ion-align-content-sm-between{align-content:space-between !important}.ion-align-content-sm-around{align-content:space-around !important}.ion-align-content-sm-stretch{align-content:stretch !important}}@media(min-width: 768px){.ion-align-content-md-start{align-content:flex-start !important}.ion-align-content-md-end{align-content:flex-end !important}.ion-align-content-md-center{align-content:center !important}.ion-align-content-md-between{align-content:space-between !important}.ion-align-content-md-around{align-content:space-around !important}.ion-align-content-md-stretch{align-content:stretch !important}}@media(min-width: 992px){.ion-align-content-lg-start{align-content:flex-start !important}.ion-align-content-lg-end{align-content:flex-end !important}.ion-align-content-lg-center{align-content:center !important}.ion-align-content-lg-between{align-content:space-between !important}.ion-align-content-lg-around{align-content:space-around !important}.ion-align-content-lg-stretch{align-content:stretch !important}}@media(min-width: 1200px){.ion-align-content-xl-start{align-content:flex-start !important}.ion-align-content-xl-end{align-content:flex-end !important}.ion-align-content-xl-center{align-content:center !important}.ion-align-content-xl-between{align-content:space-between !important}.ion-align-content-xl-around{align-content:space-around !important}.ion-align-content-xl-stretch{align-content:stretch !important}}.ion-align-items-start{align-items:start !important}.ion-align-items-end{align-items:end !important}.ion-align-items-center{align-items:center !important}.ion-align-items-stretch{align-items:stretch !important}.ion-align-items-baseline{align-items:baseline !important}@media(min-width: 576px){.ion-align-items-sm-start{align-items:start !important}.ion-align-items-sm-end{align-items:end !important}.ion-align-items-sm-center{align-items:center !important}.ion-align-items-sm-stretch{align-items:stretch !important}.ion-align-items-sm-baseline{align-items:baseline !important}}@media(min-width: 768px){.ion-align-items-md-start{align-items:start !important}.ion-align-items-md-end{align-items:end !important}.ion-align-items-md-center{align-items:center !important}.ion-align-items-md-stretch{align-items:stretch !important}.ion-align-items-md-baseline{align-items:baseline !important}}@media(min-width: 992px){.ion-align-items-lg-start{align-items:start !important}.ion-align-items-lg-end{align-items:end !important}.ion-align-items-lg-center{align-items:center !important}.ion-align-items-lg-stretch{align-items:stretch !important}.ion-align-items-lg-baseline{align-items:baseline !important}}@media(min-width: 1200px){.ion-align-items-xl-start{align-items:start !important}.ion-align-items-xl-end{align-items:end !important}.ion-align-items-xl-center{align-items:center !important}.ion-align-items-xl-stretch{align-items:stretch !important}.ion-align-items-xl-baseline{align-items:baseline !important}}.ion-align-self-start{align-self:start !important}.ion-align-self-end{align-self:end !important}.ion-align-self-center{align-self:center !important}.ion-align-self-stretch{align-self:stretch !important}.ion-align-self-baseline{align-self:baseline !important}.ion-align-self-auto{align-self:auto !important}@media(min-width: 576px){.ion-align-self-sm-start{align-self:start !important}.ion-align-self-sm-end{align-self:end !important}.ion-align-self-sm-center{align-self:center !important}.ion-align-self-sm-stretch{align-self:stretch !important}.ion-align-self-sm-baseline{align-self:baseline !important}.ion-align-self-sm-auto{align-self:auto !important}}@media(min-width: 768px){.ion-align-self-md-start{align-self:start !important}.ion-align-self-md-end{align-self:end !important}.ion-align-self-md-center{align-self:center !important}.ion-align-self-md-stretch{align-self:stretch !important}.ion-align-self-md-baseline{align-self:baseline !important}.ion-align-self-md-auto{align-self:auto !important}}@media(min-width: 992px){.ion-align-self-lg-start{align-self:start !important}.ion-align-self-lg-end{align-self:end !important}.ion-align-self-lg-center{align-self:center !important}.ion-align-self-lg-stretch{align-self:stretch !important}.ion-align-self-lg-baseline{align-self:baseline !important}.ion-align-self-lg-auto{align-self:auto !important}}@media(min-width: 1200px){.ion-align-self-xl-start{align-self:start !important}.ion-align-self-xl-end{align-self:end !important}.ion-align-self-xl-center{align-self:center !important}.ion-align-self-xl-stretch{align-self:stretch !important}.ion-align-self-xl-baseline{align-self:baseline !important}.ion-align-self-xl-auto{align-self:auto !important}}.ion-justify-content-start{justify-content:flex-start !important}.ion-justify-content-end{justify-content:flex-end !important}.ion-justify-content-center{justify-content:center !important}.ion-justify-content-between{justify-content:space-between !important}.ion-justify-content-around{justify-content:space-around !important}.ion-justify-content-evenly{justify-content:space-evenly !important}@media(min-width: 576px){.ion-justify-content-sm-start{justify-content:flex-start !important}.ion-justify-content-sm-end{justify-content:flex-end !important}.ion-justify-content-sm-center{justify-content:center !important}.ion-justify-content-sm-between{justify-content:space-between !important}.ion-justify-content-sm-around{justify-content:space-around !important}.ion-justify-content-sm-evenly{justify-content:space-evenly !important}}@media(min-width: 768px){.ion-justify-content-md-start{justify-content:flex-start !important}.ion-justify-content-md-end{justify-content:flex-end !important}.ion-justify-content-md-center{justify-content:center !important}.ion-justify-content-md-between{justify-content:space-between !important}.ion-justify-content-md-around{justify-content:space-around !important}.ion-justify-content-md-evenly{justify-content:space-evenly !important}}@media(min-width: 992px){.ion-justify-content-lg-start{justify-content:flex-start !important}.ion-justify-content-lg-end{justify-content:flex-end !important}.ion-justify-content-lg-center{justify-content:center !important}.ion-justify-content-lg-between{justify-content:space-between !important}.ion-justify-content-lg-around{justify-content:space-around !important}.ion-justify-content-lg-evenly{justify-content:space-evenly !important}}@media(min-width: 1200px){.ion-justify-content-xl-start{justify-content:flex-start !important}.ion-justify-content-xl-end{justify-content:flex-end !important}.ion-justify-content-xl-center{justify-content:center !important}.ion-justify-content-xl-between{justify-content:space-between !important}.ion-justify-content-xl-around{justify-content:space-around !important}.ion-justify-content-xl-evenly{justify-content:space-evenly !important}}.ion-flex-row{flex-direction:row !important}.ion-flex-row-reverse{flex-direction:row-reverse !important}.ion-flex-column{flex-direction:column !important}.ion-flex-column-reverse{flex-direction:column-reverse !important}@media(min-width: 576px){.ion-flex-sm-row{flex-direction:row !important}.ion-flex-sm-row-reverse{flex-direction:row-reverse !important}.ion-flex-sm-column{flex-direction:column !important}.ion-flex-sm-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 768px){.ion-flex-md-row{flex-direction:row !important}.ion-flex-md-row-reverse{flex-direction:row-reverse !important}.ion-flex-md-column{flex-direction:column !important}.ion-flex-md-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 992px){.ion-flex-lg-row{flex-direction:row !important}.ion-flex-lg-row-reverse{flex-direction:row-reverse !important}.ion-flex-lg-column{flex-direction:column !important}.ion-flex-lg-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 1200px){.ion-flex-xl-row{flex-direction:row !important}.ion-flex-xl-row-reverse{flex-direction:row-reverse !important}.ion-flex-xl-column{flex-direction:column !important}.ion-flex-xl-column-reverse{flex-direction:column-reverse !important}}.ion-wrap{flex-wrap:wrap !important}.ion-nowrap{flex-wrap:nowrap !important}.ion-wrap-reverse{flex-wrap:wrap-reverse !important}.ion-flex-wrap{flex-wrap:wrap !important}.ion-flex-nowrap{flex-wrap:nowrap !important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse !important}@media(min-width: 576px){.ion-flex-sm-wrap{flex-wrap:wrap !important}.ion-flex-sm-nowrap{flex-wrap:nowrap !important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 768px){.ion-flex-md-wrap{flex-wrap:wrap !important}.ion-flex-md-nowrap{flex-wrap:nowrap !important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 992px){.ion-flex-lg-wrap{flex-wrap:wrap !important}.ion-flex-lg-nowrap{flex-wrap:nowrap !important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 1200px){.ion-flex-xl-wrap{flex-wrap:wrap !important}.ion-flex-xl-nowrap{flex-wrap:nowrap !important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}}.ion-flex-1{flex:1 !important}.ion-flex-auto{flex:auto !important}.ion-flex-initial{flex:initial !important}.ion-flex-none{flex:none !important}@media(min-width: 576px){.ion-flex-sm-1{flex:1 !important}.ion-flex-sm-auto{flex:auto !important}.ion-flex-sm-initial{flex:initial !important}.ion-flex-sm-none{flex:none !important}}@media(min-width: 768px){.ion-flex-md-1{flex:1 !important}.ion-flex-md-auto{flex:auto !important}.ion-flex-md-initial{flex:initial !important}.ion-flex-md-none{flex:none !important}}@media(min-width: 992px){.ion-flex-lg-1{flex:1 !important}.ion-flex-lg-auto{flex:auto !important}.ion-flex-lg-initial{flex:initial !important}.ion-flex-lg-none{flex:none !important}}@media(min-width: 1200px){.ion-flex-xl-1{flex:1 !important}.ion-flex-xl-auto{flex:auto !important}.ion-flex-xl-initial{flex:initial !important}.ion-flex-xl-none{flex:none !important}}.ion-flex-grow-0{flex-grow:0 !important}.ion-flex-grow-1{flex-grow:1 !important}.ion-flex-shrink-0{flex-shrink:0 !important}.ion-flex-shrink-1{flex-shrink:1 !important}@media(min-width: 576px){.ion-flex-sm-grow-0{flex-grow:0 !important}.ion-flex-sm-grow-1{flex-grow:1 !important}.ion-flex-sm-shrink-0{flex-shrink:0 !important}.ion-flex-sm-shrink-1{flex-shrink:1 !important}}@media(min-width: 768px){.ion-flex-md-grow-0{flex-grow:0 !important}.ion-flex-md-grow-1{flex-grow:1 !important}.ion-flex-md-shrink-0{flex-shrink:0 !important}.ion-flex-md-shrink-1{flex-shrink:1 !important}}@media(min-width: 992px){.ion-flex-lg-grow-0{flex-grow:0 !important}.ion-flex-lg-grow-1{flex-grow:1 !important}.ion-flex-lg-shrink-0{flex-shrink:0 !important}.ion-flex-lg-shrink-1{flex-shrink:1 !important}}@media(min-width: 1200px){.ion-flex-xl-grow-0{flex-grow:0 !important}.ion-flex-xl-grow-1{flex-grow:1 !important}.ion-flex-xl-shrink-0{flex-shrink:0 !important}.ion-flex-xl-shrink-1{flex-shrink:1 !important}}.ion-order-first{order:-1 !important}.ion-order-0{order:0 !important}.ion-order-1{order:1 !important}.ion-order-2{order:2 !important}.ion-order-3{order:3 !important}.ion-order-4{order:4 !important}.ion-order-5{order:5 !important}.ion-order-6{order:6 !important}.ion-order-7{order:7 !important}.ion-order-8{order:8 !important}.ion-order-9{order:9 !important}.ion-order-10{order:10 !important}.ion-order-11{order:11 !important}.ion-order-12{order:12 !important}.ion-order-last{order:13 !important}@media(min-width: 576px){.ion-order-sm-first{order:-1 !important}.ion-order-sm-0{order:0 !important}.ion-order-sm-1{order:1 !important}.ion-order-sm-2{order:2 !important}.ion-order-sm-3{order:3 !important}.ion-order-sm-4{order:4 !important}.ion-order-sm-5{order:5 !important}.ion-order-sm-6{order:6 !important}.ion-order-sm-7{order:7 !important}.ion-order-sm-8{order:8 !important}.ion-order-sm-9{order:9 !important}.ion-order-sm-10{order:10 !important}.ion-order-sm-11{order:11 !important}.ion-order-sm-12{order:12 !important}.ion-order-sm-last{order:13 !important}}@media(min-width: 768px){.ion-order-md-first{order:-1 !important}.ion-order-md-0{order:0 !important}.ion-order-md-1{order:1 !important}.ion-order-md-2{order:2 !important}.ion-order-md-3{order:3 !important}.ion-order-md-4{order:4 !important}.ion-order-md-5{order:5 !important}.ion-order-md-6{order:6 !important}.ion-order-md-7{order:7 !important}.ion-order-md-8{order:8 !important}.ion-order-md-9{order:9 !important}.ion-order-md-10{order:10 !important}.ion-order-md-11{order:11 !important}.ion-order-md-12{order:12 !important}.ion-order-md-last{order:13 !important}}@media(min-width: 992px){.ion-order-lg-first{order:-1 !important}.ion-order-lg-0{order:0 !important}.ion-order-lg-1{order:1 !important}.ion-order-lg-2{order:2 !important}.ion-order-lg-3{order:3 !important}.ion-order-lg-4{order:4 !important}.ion-order-lg-5{order:5 !important}.ion-order-lg-6{order:6 !important}.ion-order-lg-7{order:7 !important}.ion-order-lg-8{order:8 !important}.ion-order-lg-9{order:9 !important}.ion-order-lg-10{order:10 !important}.ion-order-lg-11{order:11 !important}.ion-order-lg-12{order:12 !important}.ion-order-lg-last{order:13 !important}}@media(min-width: 1200px){.ion-order-xl-first{order:-1 !important}.ion-order-xl-0{order:0 !important}.ion-order-xl-1{order:1 !important}.ion-order-xl-2{order:2 !important}.ion-order-xl-3{order:3 !important}.ion-order-xl-4{order:4 !important}.ion-order-xl-5{order:5 !important}.ion-order-xl-6{order:6 !important}.ion-order-xl-7{order:7 !important}.ion-order-xl-8{order:8 !important}.ion-order-xl-9{order:9 !important}.ion-order-xl-10{order:10 !important}.ion-order-xl-11{order:11 !important}.ion-order-xl-12{order:12 !important}.ion-order-xl-last{order:13 !important}}.ion-flex-direction-column{flex-direction:column !important}.ion-flex-direction-column-reverse{flex-direction:column-reverse !important}.ion-flex-direction-row{flex-direction:row !important}.ion-flex-direction-row-reverse{flex-direction:row-reverse !important}.ion-flex-1{flex:1 !important}/*# sourceMappingURL=flex-utils.css.map */
1
+ .ion-align-content-start{align-content:flex-start !important}.ion-align-content-end{align-content:flex-end !important}.ion-align-content-center{align-content:center !important}.ion-align-content-between{align-content:space-between !important}.ion-align-content-around{align-content:space-around !important}.ion-align-content-stretch{align-content:stretch !important}@media(min-width: 576px){.ion-align-content-sm-start{align-content:flex-start !important}.ion-align-content-sm-end{align-content:flex-end !important}.ion-align-content-sm-center{align-content:center !important}.ion-align-content-sm-between{align-content:space-between !important}.ion-align-content-sm-around{align-content:space-around !important}.ion-align-content-sm-stretch{align-content:stretch !important}}@media(min-width: 768px){.ion-align-content-md-start{align-content:flex-start !important}.ion-align-content-md-end{align-content:flex-end !important}.ion-align-content-md-center{align-content:center !important}.ion-align-content-md-between{align-content:space-between !important}.ion-align-content-md-around{align-content:space-around !important}.ion-align-content-md-stretch{align-content:stretch !important}}@media(min-width: 992px){.ion-align-content-lg-start{align-content:flex-start !important}.ion-align-content-lg-end{align-content:flex-end !important}.ion-align-content-lg-center{align-content:center !important}.ion-align-content-lg-between{align-content:space-between !important}.ion-align-content-lg-around{align-content:space-around !important}.ion-align-content-lg-stretch{align-content:stretch !important}}@media(min-width: 1200px){.ion-align-content-xl-start{align-content:flex-start !important}.ion-align-content-xl-end{align-content:flex-end !important}.ion-align-content-xl-center{align-content:center !important}.ion-align-content-xl-between{align-content:space-between !important}.ion-align-content-xl-around{align-content:space-around !important}.ion-align-content-xl-stretch{align-content:stretch !important}}.ion-align-items-start{align-items:start !important}.ion-align-items-end{align-items:end !important}.ion-align-items-center{align-items:center !important}.ion-align-items-stretch{align-items:stretch !important}.ion-align-items-baseline{align-items:baseline !important}@media(min-width: 576px){.ion-align-items-sm-start{align-items:start !important}.ion-align-items-sm-end{align-items:end !important}.ion-align-items-sm-center{align-items:center !important}.ion-align-items-sm-stretch{align-items:stretch !important}.ion-align-items-sm-baseline{align-items:baseline !important}}@media(min-width: 768px){.ion-align-items-md-start{align-items:start !important}.ion-align-items-md-end{align-items:end !important}.ion-align-items-md-center{align-items:center !important}.ion-align-items-md-stretch{align-items:stretch !important}.ion-align-items-md-baseline{align-items:baseline !important}}@media(min-width: 992px){.ion-align-items-lg-start{align-items:start !important}.ion-align-items-lg-end{align-items:end !important}.ion-align-items-lg-center{align-items:center !important}.ion-align-items-lg-stretch{align-items:stretch !important}.ion-align-items-lg-baseline{align-items:baseline !important}}@media(min-width: 1200px){.ion-align-items-xl-start{align-items:start !important}.ion-align-items-xl-end{align-items:end !important}.ion-align-items-xl-center{align-items:center !important}.ion-align-items-xl-stretch{align-items:stretch !important}.ion-align-items-xl-baseline{align-items:baseline !important}}.ion-align-self-start{align-self:start !important}.ion-align-self-end{align-self:end !important}.ion-align-self-center{align-self:center !important}.ion-align-self-stretch{align-self:stretch !important}.ion-align-self-baseline{align-self:baseline !important}.ion-align-self-auto{align-self:auto !important}@media(min-width: 576px){.ion-align-self-sm-start{align-self:start !important}.ion-align-self-sm-end{align-self:end !important}.ion-align-self-sm-center{align-self:center !important}.ion-align-self-sm-stretch{align-self:stretch !important}.ion-align-self-sm-baseline{align-self:baseline !important}.ion-align-self-sm-auto{align-self:auto !important}}@media(min-width: 768px){.ion-align-self-md-start{align-self:start !important}.ion-align-self-md-end{align-self:end !important}.ion-align-self-md-center{align-self:center !important}.ion-align-self-md-stretch{align-self:stretch !important}.ion-align-self-md-baseline{align-self:baseline !important}.ion-align-self-md-auto{align-self:auto !important}}@media(min-width: 992px){.ion-align-self-lg-start{align-self:start !important}.ion-align-self-lg-end{align-self:end !important}.ion-align-self-lg-center{align-self:center !important}.ion-align-self-lg-stretch{align-self:stretch !important}.ion-align-self-lg-baseline{align-self:baseline !important}.ion-align-self-lg-auto{align-self:auto !important}}@media(min-width: 1200px){.ion-align-self-xl-start{align-self:start !important}.ion-align-self-xl-end{align-self:end !important}.ion-align-self-xl-center{align-self:center !important}.ion-align-self-xl-stretch{align-self:stretch !important}.ion-align-self-xl-baseline{align-self:baseline !important}.ion-align-self-xl-auto{align-self:auto !important}}.ion-justify-content-start{justify-content:flex-start !important}.ion-justify-content-end{justify-content:flex-end !important}.ion-justify-content-center{justify-content:center !important}.ion-justify-content-between{justify-content:space-between !important}.ion-justify-content-around{justify-content:space-around !important}.ion-justify-content-evenly{justify-content:space-evenly !important}@media(min-width: 576px){.ion-justify-content-sm-start{justify-content:flex-start !important}.ion-justify-content-sm-end{justify-content:flex-end !important}.ion-justify-content-sm-center{justify-content:center !important}.ion-justify-content-sm-between{justify-content:space-between !important}.ion-justify-content-sm-around{justify-content:space-around !important}.ion-justify-content-sm-evenly{justify-content:space-evenly !important}}@media(min-width: 768px){.ion-justify-content-md-start{justify-content:flex-start !important}.ion-justify-content-md-end{justify-content:flex-end !important}.ion-justify-content-md-center{justify-content:center !important}.ion-justify-content-md-between{justify-content:space-between !important}.ion-justify-content-md-around{justify-content:space-around !important}.ion-justify-content-md-evenly{justify-content:space-evenly !important}}@media(min-width: 992px){.ion-justify-content-lg-start{justify-content:flex-start !important}.ion-justify-content-lg-end{justify-content:flex-end !important}.ion-justify-content-lg-center{justify-content:center !important}.ion-justify-content-lg-between{justify-content:space-between !important}.ion-justify-content-lg-around{justify-content:space-around !important}.ion-justify-content-lg-evenly{justify-content:space-evenly !important}}@media(min-width: 1200px){.ion-justify-content-xl-start{justify-content:flex-start !important}.ion-justify-content-xl-end{justify-content:flex-end !important}.ion-justify-content-xl-center{justify-content:center !important}.ion-justify-content-xl-between{justify-content:space-between !important}.ion-justify-content-xl-around{justify-content:space-around !important}.ion-justify-content-xl-evenly{justify-content:space-evenly !important}}.ion-flex-row{flex-direction:row !important}.ion-flex-row-reverse{flex-direction:row-reverse !important}.ion-flex-column{flex-direction:column !important}.ion-flex-column-reverse{flex-direction:column-reverse !important}@media(min-width: 576px){.ion-flex-sm-row{flex-direction:row !important}.ion-flex-sm-row-reverse{flex-direction:row-reverse !important}.ion-flex-sm-column{flex-direction:column !important}.ion-flex-sm-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 768px){.ion-flex-md-row{flex-direction:row !important}.ion-flex-md-row-reverse{flex-direction:row-reverse !important}.ion-flex-md-column{flex-direction:column !important}.ion-flex-md-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 992px){.ion-flex-lg-row{flex-direction:row !important}.ion-flex-lg-row-reverse{flex-direction:row-reverse !important}.ion-flex-lg-column{flex-direction:column !important}.ion-flex-lg-column-reverse{flex-direction:column-reverse !important}}@media(min-width: 1200px){.ion-flex-xl-row{flex-direction:row !important}.ion-flex-xl-row-reverse{flex-direction:row-reverse !important}.ion-flex-xl-column{flex-direction:column !important}.ion-flex-xl-column-reverse{flex-direction:column-reverse !important}}.ion-wrap{flex-wrap:wrap !important}.ion-nowrap{flex-wrap:nowrap !important}.ion-wrap-reverse{flex-wrap:wrap-reverse !important}.ion-flex-wrap{flex-wrap:wrap !important}.ion-flex-nowrap{flex-wrap:nowrap !important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse !important}@media(min-width: 576px){.ion-flex-sm-wrap{flex-wrap:wrap !important}.ion-flex-sm-nowrap{flex-wrap:nowrap !important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 768px){.ion-flex-md-wrap{flex-wrap:wrap !important}.ion-flex-md-nowrap{flex-wrap:nowrap !important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 992px){.ion-flex-lg-wrap{flex-wrap:wrap !important}.ion-flex-lg-nowrap{flex-wrap:nowrap !important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}}@media(min-width: 1200px){.ion-flex-xl-wrap{flex-wrap:wrap !important}.ion-flex-xl-nowrap{flex-wrap:nowrap !important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}}.ion-flex-1{flex:1 !important}.ion-flex-auto{flex:auto !important}.ion-flex-initial{flex:initial !important}.ion-flex-none{flex:none !important}@media(min-width: 576px){.ion-flex-sm-1{flex:1 !important}.ion-flex-sm-auto{flex:auto !important}.ion-flex-sm-initial{flex:initial !important}.ion-flex-sm-none{flex:none !important}}@media(min-width: 768px){.ion-flex-md-1{flex:1 !important}.ion-flex-md-auto{flex:auto !important}.ion-flex-md-initial{flex:initial !important}.ion-flex-md-none{flex:none !important}}@media(min-width: 992px){.ion-flex-lg-1{flex:1 !important}.ion-flex-lg-auto{flex:auto !important}.ion-flex-lg-initial{flex:initial !important}.ion-flex-lg-none{flex:none !important}}@media(min-width: 1200px){.ion-flex-xl-1{flex:1 !important}.ion-flex-xl-auto{flex:auto !important}.ion-flex-xl-initial{flex:initial !important}.ion-flex-xl-none{flex:none !important}}.ion-flex-grow-0{flex-grow:0 !important}.ion-flex-grow-1{flex-grow:1 !important}.ion-flex-shrink-0{flex-shrink:0 !important}.ion-flex-shrink-1{flex-shrink:1 !important}@media(min-width: 576px){.ion-flex-sm-grow-0{flex-grow:0 !important}.ion-flex-sm-grow-1{flex-grow:1 !important}.ion-flex-sm-shrink-0{flex-shrink:0 !important}.ion-flex-sm-shrink-1{flex-shrink:1 !important}}@media(min-width: 768px){.ion-flex-md-grow-0{flex-grow:0 !important}.ion-flex-md-grow-1{flex-grow:1 !important}.ion-flex-md-shrink-0{flex-shrink:0 !important}.ion-flex-md-shrink-1{flex-shrink:1 !important}}@media(min-width: 992px){.ion-flex-lg-grow-0{flex-grow:0 !important}.ion-flex-lg-grow-1{flex-grow:1 !important}.ion-flex-lg-shrink-0{flex-shrink:0 !important}.ion-flex-lg-shrink-1{flex-shrink:1 !important}}@media(min-width: 1200px){.ion-flex-xl-grow-0{flex-grow:0 !important}.ion-flex-xl-grow-1{flex-grow:1 !important}.ion-flex-xl-shrink-0{flex-shrink:0 !important}.ion-flex-xl-shrink-1{flex-shrink:1 !important}}.ion-order-first{order:-1 !important}.ion-order-0{order:0 !important}.ion-order-1{order:1 !important}.ion-order-2{order:2 !important}.ion-order-3{order:3 !important}.ion-order-4{order:4 !important}.ion-order-5{order:5 !important}.ion-order-6{order:6 !important}.ion-order-7{order:7 !important}.ion-order-8{order:8 !important}.ion-order-9{order:9 !important}.ion-order-10{order:10 !important}.ion-order-11{order:11 !important}.ion-order-12{order:12 !important}.ion-order-last{order:13 !important}@media(min-width: 576px){.ion-order-sm-first{order:-1 !important}.ion-order-sm-0{order:0 !important}.ion-order-sm-1{order:1 !important}.ion-order-sm-2{order:2 !important}.ion-order-sm-3{order:3 !important}.ion-order-sm-4{order:4 !important}.ion-order-sm-5{order:5 !important}.ion-order-sm-6{order:6 !important}.ion-order-sm-7{order:7 !important}.ion-order-sm-8{order:8 !important}.ion-order-sm-9{order:9 !important}.ion-order-sm-10{order:10 !important}.ion-order-sm-11{order:11 !important}.ion-order-sm-12{order:12 !important}.ion-order-sm-last{order:13 !important}}@media(min-width: 768px){.ion-order-md-first{order:-1 !important}.ion-order-md-0{order:0 !important}.ion-order-md-1{order:1 !important}.ion-order-md-2{order:2 !important}.ion-order-md-3{order:3 !important}.ion-order-md-4{order:4 !important}.ion-order-md-5{order:5 !important}.ion-order-md-6{order:6 !important}.ion-order-md-7{order:7 !important}.ion-order-md-8{order:8 !important}.ion-order-md-9{order:9 !important}.ion-order-md-10{order:10 !important}.ion-order-md-11{order:11 !important}.ion-order-md-12{order:12 !important}.ion-order-md-last{order:13 !important}}@media(min-width: 992px){.ion-order-lg-first{order:-1 !important}.ion-order-lg-0{order:0 !important}.ion-order-lg-1{order:1 !important}.ion-order-lg-2{order:2 !important}.ion-order-lg-3{order:3 !important}.ion-order-lg-4{order:4 !important}.ion-order-lg-5{order:5 !important}.ion-order-lg-6{order:6 !important}.ion-order-lg-7{order:7 !important}.ion-order-lg-8{order:8 !important}.ion-order-lg-9{order:9 !important}.ion-order-lg-10{order:10 !important}.ion-order-lg-11{order:11 !important}.ion-order-lg-12{order:12 !important}.ion-order-lg-last{order:13 !important}}@media(min-width: 1200px){.ion-order-xl-first{order:-1 !important}.ion-order-xl-0{order:0 !important}.ion-order-xl-1{order:1 !important}.ion-order-xl-2{order:2 !important}.ion-order-xl-3{order:3 !important}.ion-order-xl-4{order:4 !important}.ion-order-xl-5{order:5 !important}.ion-order-xl-6{order:6 !important}.ion-order-xl-7{order:7 !important}.ion-order-xl-8{order:8 !important}.ion-order-xl-9{order:9 !important}.ion-order-xl-10{order:10 !important}.ion-order-xl-11{order:11 !important}.ion-order-xl-12{order:12 !important}.ion-order-xl-last{order:13 !important}}/*# sourceMappingURL=flex-utils.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/flex-utils.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AA0BM,yBACE,oCADF,uBACE,kCADF,0BACE,gCADF,2BACE,uCADF,0BACE,sCADF,2BACE,iCCgJJ,yBDjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCgJJ,yBDjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCgJJ,yBDjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCgJJ,0BDjJE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCAeF,uBACE,6BADF,qBACE,2BADF,wBACE,8BADF,yBACE,+BADF,0BACE,gCCgIJ,yBDjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgIJ,yBDjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgIJ,yBDjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgIJ,0BDjIE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCAeF,sBACE,4BADF,oBACE,0BADF,uBACE,6BADF,wBACE,8BADF,yBACE,+BADF,qBACE,2BCgHJ,yBDjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCgHJ,yBDjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCgHJ,yBDjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCgHJ,0BDjHE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BAsBF,2BACE,sCADF,yBACE,oCADF,4BACE,kCADF,6BACE,yCADF,4BACE,wCADF,4BACE,wCCyFJ,yBD1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCyFJ,yBD1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCyFJ,yBD1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCyFJ,0BD1FE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCAeF,cACE,8BADF,sBACE,sCADF,iBACE,iCADF,yBACE,yCCyEJ,yBD1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CCyEJ,yBD1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CCyEJ,yBD1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CCyEJ,0BD1EE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CAeN,UACE,0BADF,YACE,4BADF,kBACE,kCAQE,eACE,0BADF,iBACE,4BADF,uBACE,kCCgDJ,yBDjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgDJ,yBDjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgDJ,yBDjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgDJ,0BDjDE,kBACE,0BADF,oBACE,4BADF,0BACE,mCAeF,YACE,kBADF,eACE,qBADF,kBACE,wBADF,eACE,qBCgCJ,yBDjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCgCJ,yBDjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCgCJ,yBDjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCgCJ,0BDjCE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBAYJ,iBACE,uBAGF,iBACE,uBAGF,mBACE,yBAGF,mBACE,yBCOF,yBDpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BCOF,yBDpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BCOF,yBDpBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BCOF,0BDpBA,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,oBCfF,yBDIA,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,qBCfF,yBDIA,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,qBCfF,yBDIA,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,qBCfF,0BDIA,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","file":"flex-utils.css","sourcesContent":["@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","@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"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/flex-utils.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AA0BM,yBACE,oCADF,uBACE,kCADF,0BACE,gCADF,2BACE,uCADF,0BACE,sCADF,2BACE,iCCsIJ,yBDvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCsIJ,yBDvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCsIJ,yBDvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCCsIJ,0BDvIE,4BACE,oCADF,0BACE,kCADF,6BACE,gCADF,8BACE,uCADF,6BACE,sCADF,8BACE,kCAqBF,uBACE,6BADF,qBACE,2BADF,wBACE,8BADF,yBACE,+BADF,0BACE,gCCgHJ,yBDjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgHJ,yBDjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgHJ,yBDjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCCgHJ,0BDjHE,0BACE,6BADF,wBACE,2BADF,2BACE,8BADF,4BACE,+BADF,6BACE,iCAsBF,sBACE,4BADF,oBACE,0BADF,uBACE,6BADF,wBACE,8BADF,yBACE,+BADF,qBACE,2BCyFJ,yBD1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCyFJ,yBD1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCyFJ,yBD1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BCyFJ,0BD1FE,yBACE,4BADF,uBACE,0BADF,0BACE,6BADF,2BACE,8BADF,4BACE,+BADF,wBACE,4BAsBF,2BACE,sCADF,yBACE,oCADF,4BACE,kCADF,6BACE,yCADF,4BACE,wCADF,4BACE,wCCkEJ,yBDnEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCkEJ,yBDnEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCkEJ,yBDnEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCCkEJ,0BDnEE,8BACE,sCADF,4BACE,oCADF,+BACE,kCADF,gCACE,yCADF,+BACE,wCADF,+BACE,yCAoBF,cACE,8BADF,sBACE,sCADF,iBACE,iCADF,yBACE,yCC6CJ,yBD9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CC6CJ,yBD9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CC6CJ,yBD9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CC6CJ,0BD9CE,iBACE,8BADF,yBACE,sCADF,oBACE,iCADF,4BACE,0CAmBN,UACE,0BADF,YACE,4BADF,kBACE,kCAQE,eACE,0BADF,iBACE,4BADF,uBACE,kCCgBJ,yBDjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgBJ,yBDjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgBJ,yBDjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCCgBJ,0BDjBE,kBACE,0BADF,oBACE,4BADF,0BACE,mCAoBF,YACE,kBADF,eACE,qBADF,kBACE,wBADF,eACE,qBCLJ,yBDIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCLJ,yBDIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCLJ,yBDIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBCLJ,0BDIE,eACE,kBADF,kBACE,qBADF,qBACE,wBADF,kBACE,sBAYJ,iBACE,uBAGF,iBACE,uBAGF,mBACE,yBAGF,mBACE,yBC9BF,yBDiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BC9BF,yBDiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BC9BF,yBDiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BC9BF,0BDiBA,oBACE,uBAGF,oBACE,uBAGF,sBACE,yBAGF,sBACE,0BAWF,qCAGE,saAGF,oCC/CA,yBDyCA,wCAGE,6cAGF,wCC/CA,yBDyCA,wCAGE,6cAGF,wCC/CA,yBDyCA,wCAGE,6cAGF,wCC/CA,0BDyCA,wCAGE,6cAGF","file":"flex-utils.css","sourcesContent":["@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","\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"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/float-elements.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AAaI,gBCyeE,sBDreF,iBCqeE,uBDjeF,iBCidE,sBAzNO,0CA6NP,uBAtNO,2BAsNP,uBAhNJ,8BAcW,0BAkMP,wBDjdF,eCqdE,uBAjOO,wCAqOP,sBA9NO,yBA8NP,sBAxNJ,8BAcW,wBA0MP,uBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,0BD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP","file":"float-elements.css","sourcesContent":["@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","@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"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/float-elements.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AAaI,gBC2dE,sBDvdF,iBCudE,uBDndF,iBCqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBDpcF,eCwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP","file":"float-elements.css","sourcesContent":["@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","\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"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/normalize.scss","../src/css/structure.scss","../src/themes/mixins.scss","../src/css/typography.scss"],"names":[],"mappings":"AAMA,4BAIE,wBAKF,sBACE,aAEA,SAOF,SAEE,iBAOF,IACE,eAMF,GACE,WAEA,eAEA,uBAIF,IACE,cAIF,kBAIE,gCACA,cAeF,4BAIE,oBACA,mBAGF,SACE,cAEA,YAEA,aACA,cAGF,sBACE,iBAGF,2BAIE,SAEA,aACA,cAQF,6DAGE,eAEA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,UACA,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eAEA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UAEA,SAMF,4FAEE,YAMF,+FAEE,wBAOF,MACE,yBACA,iBAGF,MAEE,UCvMF,EACE,sBAEA,0CACA,wCACA,2BAGF,KACE,WACA,YACA,8BAEA,sBAGF,iBACE,cAGF,aACE,aAGF,KCyFE,kCACA,mCA4NE,YDpTc,ECqTd,aDrTc,ECwUhB,WDxUgB,ECyUhB,cDzUgB,ECoTd,aDnTe,ECoTf,cDpTe,ECuUjB,YDvUiB,ECwUjB,eDxUiB,EAEjB,eAEA,WACA,eACA,YACA,gBAsBA,wBAEA,kCAEA,gBAEA,0BAEA,uBAEA,yBAEA,qBAEA,2BACA,8BAEA,sBElDF,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBDqTE,WC/SgB,KDgThB,cChT4B,KAE5B,YArDqB,IAuDrB,YApDqB,IAuDvB,GDwSE,WCvSgB,KAEhB,UAvDa,SA0Df,GDkSE,WCjSgB,KAEhB,UA1Da,OA6Df,GACE,UA3Da,SA8Df,GACE,UA5Da,QA+Df,GACE,UA7Da,SAgEf,GACE,UA9Da,KAiEf,MACE,cAGF,QAEE,kBAEA,cAEA,cAEA,wBAGF,IACE,WAGF,IACE","file":"global.bundle.css","sourcesContent":["// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n\n height: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Makes it so the img does not flow outside container\nimg {\n max-width: 100%;\n}\n\n// Grouping content\n// ==========================================================================\n\nhr {\n height: 1px;\n\n border-width: 0;\n\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n\n height: auto;\n\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-left: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n cursor: pointer; // 3\n\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n padding: 0;\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n -webkit-text-size-adjust: 100%;\n\n text-size-adjust: 100%;\n}\n\nhtml.ion-ce body {\n display: block;\n}\n\nhtml.plt-pwa {\n height: 100vh;\n}\n\nbody {\n @include font-smoothing();\n @include margin(0);\n @include padding(0);\n\n position: fixed;\n\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n\n /**\n * Because body has position: fixed,\n * it should be promoted to its own\n * layer.\n *\n * WebKit does not always promote\n * the body to its own layer on page\n * load in Ionic apps. Once scrolling on\n * ion-content starts, WebKit will promote\n * body. Unfortunately, this causes a re-paint\n * which results in scrolling being halted\n * until the next user gesture.\n *\n * This impacts the Custom Elements build.\n * The lazy loaded build causes the browser to\n * re-paint during hydration which causes WebKit\n * to promote body to its own layer.\n * In the CE Build, this hydration does not\n * happen, so the additional re-paint does not occur.\n */\n transform: translateZ(0);\n\n text-rendering: optimizeLegibility;\n\n overflow: hidden;\n\n touch-action: manipulation;\n\n -webkit-user-drag: none;\n\n -ms-content-zooming: none;\n\n word-wrap: break-word;\n\n overscroll-behavior-y: none;\n -webkit-text-size-adjust: none;\n\n text-size-adjust: none;\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// Typography\n// --------------------------------------------------\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 500;\n\n/// @prop - Line height of all headings\n$headings-line-height: 1.2;\n\n/// @prop - Font size of heading level 1\n$h1-font-size: dynamic-font(26px);\n\n/// @prop - Font size of heading level 2\n$h2-font-size: dynamic-font(24px);\n\n/// @prop - Font size of heading level 3\n$h3-font-size: dynamic-font(22px);\n\n/// @prop - Font size of heading level 4\n$h4-font-size: dynamic-font(20px);\n\n/// @prop - Font size of heading level 5\n$h5-font-size: dynamic-font(18px);\n\n/// @prop - Font size of heading level 6\n$h6-font-size: dynamic-font(16px);\n\nhtml {\n font-family: var(--ion-font-family);\n}\n\n/**\n * Dynamic Type is an iOS-only feature, so\n * this should only be enabled on iOS devices.\n */\n@supports (-webkit-touch-callout: none) {\n html {\n /**\n * Includes fallback if Dynamic Type is not enabled.\n */\n font: var(--ion-dynamic-font, 16px var(--ion-font-family));\n }\n}\n\na {\n background-color: transparent;\n color: ion-color(primary, base);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n @include margin(16px, null, 10px, null);\n\n font-weight: $headings-font-weight;\n\n line-height: $headings-line-height;\n}\n\nh1 {\n @include margin(20px, null, null, null);\n\n font-size: $h1-font-size;\n}\n\nh2 {\n @include margin(18px, null, null, null);\n\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n\n font-size: 75%;\n\n line-height: 0;\n\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/normalize.scss","../src/css/structure.scss","../src/themes/ionic.mixins.scss","../src/css/typography.scss"],"names":[],"mappings":"AAOA,4BAIE,wBAKF,sBACE,aAEA,SAQF,SAEE,iBAOF,IACE,eAMF,GACE,WAEA,eAEA,uBAIF,IACE,cAIF,kBAIE,gCACA,cAgBF,4BAIE,oBACA,mBAGF,SACE,cAEA,YAEA,aACA,cAGF,sBACE,iBAGF,2BAIE,SAEA,aACA,cAQF,6DAGE,eAEA,0BAIF,qNAkBE,0BAGF,6BAEE,oBAGF,OACE,UACA,SACA,gBACA,oBACA,mBACA,qBACA,cACA,oBACA,eAEA,0BAGF,WACE,eAIF,kDAGE,eAIF,iDAEE,UAEA,SAMF,4FAEE,YAMF,+FAEE,wBAQF,MACE,yBACA,iBAGF,MAEE,UC1MF,EACE,sBAEA,0CACA,wCACA,2BAGF,KACE,WACA,YACA,8BAEA,sBAGF,iBACE,cAGF,aACE,aAGF,KC8EE,kCACA,mCA0NE,YDvSc,ECwSd,aDxSc,EC4ThB,WD5TgB,EC6ThB,cD7TgB,ECuSd,aDtSe,ECuSf,cDvSe,EC2TjB,YD3TiB,EC4TjB,eD5TiB,EAEjB,eAEA,WACA,eACA,YACA,gBAsBA,wBAEA,kCAEA,gBAEA,0BAEA,uBAEA,yBAEA,qBAEA,2BACA,8BAEA,sBEnDF,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBD0SE,WCpSgB,KDqShB,cCrS4B,KAE5B,YArD6B,IAuD7B,YApD6B,IAuD/B,GD6RE,WC5RgB,KAEhB,UAvD6B,SA0D/B,GDuRE,WCtRgB,KAEhB,UA1D6B,OA6D/B,GACE,UA3D6B,SA8D/B,GACE,UA5D6B,QA+D/B,GACE,UA7D6B,SAgE/B,GACE,UA9D6B,KAiE/B,MACE,cAGF,QAEE,kBAEA,cAEA,cAEA,wBAGF,IACE,WAGF,IACE","file":"global.bundle.css","sourcesContent":["// ! normalize.css v3.0.2 | MIT License | github.com/necolas/normalize.css\n\n\n// HTML5 display definitions\n// ==========================================================================\n\n// 1. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\naudio,\ncanvas,\nprogress,\nvideo {\n vertical-align: baseline; // 1\n}\n\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\naudio:not([controls]) {\n display: none;\n\n height: 0;\n}\n\n\n// Text-level semantics\n// ==========================================================================\n\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\nb,\nstrong {\n font-weight: bold;\n}\n\n// Embedded content\n// ==========================================================================\n\n// Makes it so the img does not flow outside container\nimg {\n max-width: 100%;\n}\n\n// Grouping content\n// ==========================================================================\n\nhr {\n height: 1px;\n\n border-width: 0;\n\n box-sizing: content-box;\n}\n\n// Contain overflow in all browsers.\npre {\n overflow: auto;\n}\n\n// Address odd `em`-unit font size rendering in all browsers.\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n\n// Forms\n// ==========================================================================\n\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nlabel,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n line-height: normal;\n}\n\ntextarea {\n overflow: auto;\n\n height: auto;\n\n font: inherit;\n color: inherit;\n}\n\ntextarea::placeholder {\n padding-left: 2px;\n}\n\nform,\ninput,\noptgroup,\nselect {\n margin: 0; // 3\n\n font: inherit; // 2\n color: inherit; // 1\n}\n\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n cursor: pointer; // 3\n\n -webkit-appearance: button; // 2\n}\n\n// remove 300ms delay\na,\na div,\na span,\na ion-icon,\na ion-label,\nbutton,\nbutton div,\nbutton span,\nbutton ion-icon,\nbutton ion-label,\n.ion-tappable,\n[tappable],\n[tappable] div,\n[tappable] span,\n[tappable] ion-icon,\n[tappable] ion-label,\ninput,\ntextarea {\n touch-action: manipulation;\n}\n\na ion-label,\nbutton ion-label {\n pointer-events: none;\n}\n\nbutton {\n padding: 0;\n border: 0;\n border-radius: 0;\n font-family: inherit;\n font-style: inherit;\n font-variant: inherit;\n line-height: 1;\n text-transform: none;\n cursor: pointer;\n\n -webkit-appearance: button;\n}\n\n[tappable] {\n cursor: pointer;\n}\n\n// Re-set default cursor for disabled elements.\na[disabled],\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n// Remove inner padding and border in Firefox 4+.\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n\n border: 0;\n}\n\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n\n// Tables\n// ==========================================================================//\n\n// Remove most spacing between table cells.\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Structure\n// --------------------------------------------------\n// Adds structural css to the native html elements\n\n* {\n box-sizing: border-box;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n\nhtml {\n width: 100%;\n height: 100%;\n -webkit-text-size-adjust: 100%;\n\n text-size-adjust: 100%;\n}\n\nhtml.ion-ce body {\n display: block;\n}\n\nhtml.plt-pwa {\n height: 100vh;\n}\n\nbody {\n @include font-smoothing();\n @include margin(0);\n @include padding(0);\n\n position: fixed;\n\n width: 100%;\n max-width: 100%;\n height: 100%;\n max-height: 100%;\n\n /**\n * Because body has position: fixed,\n * it should be promoted to its own\n * layer.\n *\n * WebKit does not always promote\n * the body to its own layer on page\n * load in Ionic apps. Once scrolling on\n * ion-content starts, WebKit will promote\n * body. Unfortunately, this causes a re-paint\n * which results in scrolling being halted\n * until the next user gesture.\n *\n * This impacts the Custom Elements build.\n * The lazy loaded build causes the browser to\n * re-paint during hydration which causes WebKit\n * to promote body to its own layer.\n * In the CE Build, this hydration does not\n * happen, so the additional re-paint does not occur.\n */\n transform: translateZ(0);\n\n text-rendering: optimizeLegibility;\n\n overflow: hidden;\n\n touch-action: manipulation;\n\n -webkit-user-drag: none;\n\n -ms-content-zooming: none;\n\n word-wrap: break-word;\n\n overscroll-behavior-y: none;\n -webkit-text-size-adjust: none;\n\n text-size-adjust: none;\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// Typography\n// --------------------------------------------------\n\n/// @prop - Font weight of all headings\n$headings-font-weight: 500;\n\n/// @prop - Line height of all headings\n$headings-line-height: 1.2;\n\n/// @prop - Font size of heading level 1\n$h1-font-size: dynamic-font(26px);\n\n/// @prop - Font size of heading level 2\n$h2-font-size: dynamic-font(24px);\n\n/// @prop - Font size of heading level 3\n$h3-font-size: dynamic-font(22px);\n\n/// @prop - Font size of heading level 4\n$h4-font-size: dynamic-font(20px);\n\n/// @prop - Font size of heading level 5\n$h5-font-size: dynamic-font(18px);\n\n/// @prop - Font size of heading level 6\n$h6-font-size: dynamic-font(16px);\n\nhtml {\n font-family: var(--ion-font-family);\n}\n\n/**\n * Dynamic Type is an iOS-only feature, so\n * this should only be enabled on iOS devices.\n */\n@supports (-webkit-touch-callout: none) {\n html {\n /**\n * Includes fallback if Dynamic Type is not enabled.\n */\n font: var(--ion-dynamic-font, 16px var(--ion-font-family));\n }\n}\n\na {\n background-color: transparent;\n color: ion-color(primary, base);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n @include margin(16px, null, 10px, null);\n\n font-weight: $headings-font-weight;\n\n line-height: $headings-line-height;\n}\n\nh1 {\n @include margin(20px, null, null, null);\n\n font-size: $h1-font-size;\n}\n\nh2 {\n @include margin(18px, null, null, null);\n\n font-size: $h2-font-size;\n}\n\nh3 {\n font-size: $h3-font-size;\n}\n\nh4 {\n font-size: $h4-font-size;\n}\n\nh5 {\n font-size: $h5-font-size;\n}\n\nh6 {\n font-size: $h6-font-size;\n}\n\nsmall {\n font-size: 75%;\n}\n\nsub,\nsup {\n position: relative;\n\n font-size: 75%;\n\n line-height: 0;\n\n vertical-align: baseline;\n}\n\nsup {\n top: -.5em;\n}\n\nsub {\n bottom: -.25em;\n}\n"]}
@@ -1 +1 @@
1
- .swiper{--bullet-background: $text-color-step-800;--bullet-background-active: ion-color(primary, base);--progress-bar-background: rgba($text-color-rgb, 0.25);--progress-bar-background-active: ion-color(primary, shade);--scroll-bar-background: rgba($text-color-rgb, 0.1);--scroll-bar-background-active: rgba($text-color-rgb, 0.5);display:block;user-select:none}.swiper .swiper-pagination-bullet{background:var(--bullet-background)}.swiper .swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper .swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper .swiper-scrollbar{background:var(--scroll-bar-background)}.swiper .swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.swiper .slide-zoom{display:block;width:100%;text-align:center}.swiper .swiper-slide{display:flex;position:relative;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;box-sizing:border-box}.swiper .swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}/*# sourceMappingURL=ionic-swiper.css.map */
1
+ .swiper{--bullet-background: $text-color-step-800;--bullet-background-active: ion-color(primary, base);--progress-bar-background: rgba($text-color-rgb, .25);--progress-bar-background-active: ion-color(primary, shade);--scroll-bar-background: rgba($text-color-rgb, .1);--scroll-bar-background-active: rgba($text-color-rgb, .5);display:block;user-select:none}.swiper .swiper-pagination-bullet{background:var(--bullet-background)}.swiper .swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper .swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper .swiper-scrollbar{background:var(--scroll-bar-background)}.swiper .swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.swiper .slide-zoom{display:block;width:100%;text-align:center}.swiper .swiper-slide{display:flex;position:relative;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;box-sizing:border-box}.swiper .swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}/*# sourceMappingURL=ionic-swiper.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/ionic-swiper.scss"],"names":[],"mappings":"AAKA,QAIE,0CACA,qDACA,uDACA,4DACA,oDACA,2DAWA,cAEA,iBAMF,kCACE,oCAGF,yCACE,2CAMF,uCACE,0CAGF,2EACE,iDAMF,0BACE,wCAGF,+BACE,+CAMF,oBACE,cAEA,WAEA,kBAGF,sBAEE,aACA,kBAEA,cACA,mBACA,uBAEA,WACA,YAEA,eAEA,kBACA,sBAGF,0BACE,WACA,eACA,YACA","file":"ionic-swiper.css","sourcesContent":["@import \"../themes/native/native.globals.ios.scss\";\n\n// Slides\n// --------------------------------------------------\n\n.swiper {\n // These values are the same for iOS and MD\n // We just do not add a .md or .ios class beforehand\n // so the styles are easier to override by the user.\n --bullet-background: $text-color-step-800;\n --bullet-background-active: ion-color(primary, base);\n --progress-bar-background: rgba($text-color-rgb, 0.25);\n --progress-bar-background-active: ion-color(primary, shade);\n --scroll-bar-background: rgba($text-color-rgb, 0.1);\n --scroll-bar-background-active: rgba($text-color-rgb, 0.5);\n /**\n * @prop --bullet-background: Background of the pagination bullets\n * @prop --bullet-background-active: Background of the active pagination bullet\n *\n * @prop --progress-bar-background: Background of the pagination progress-bar\n * @prop --progress-bar-background-active: Background of the active pagination progress-bar\n *\n * @prop --scroll-bar-background: Background of the pagination scroll-bar\n * @prop --scroll-bar-background-active: Background of the active pagination scroll-bar\n */\n display: block;\n\n user-select: none;\n}\n\n// Pagination Bullets\n// --------------------------------------------------\n\n.swiper .swiper-pagination-bullet {\n background: var(--bullet-background);\n}\n\n.swiper .swiper-pagination-bullet-active {\n background: var(--bullet-background-active);\n}\n\n// Pagination Progress Bar\n// --------------------------------------------------\n\n.swiper .swiper-pagination-progressbar {\n background: var(--progress-bar-background);\n}\n\n.swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n background: var(--progress-bar-background-active);\n}\n\n// Scrollbar\n// --------------------------------------------------\n\n.swiper .swiper-scrollbar {\n background: var(--scroll-bar-background);\n}\n\n.swiper .swiper-scrollbar-drag {\n background: var(--scroll-bar-background-active);\n}\n\n// Slide\n// --------------------------------------------------\n\n.swiper .slide-zoom {\n display: block;\n\n width: 100%;\n\n text-align: center;\n}\n\n.swiper .swiper-slide {\n // Center slide text vertically\n display: flex;\n position: relative;\n\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 100%;\n height: 100%;\n\n font-size: 18px;\n\n text-align: center;\n box-sizing: border-box;\n}\n\n.swiper .swiper-slide img {\n width: auto;\n max-width: 100%;\n height: auto;\n max-height: 100%;\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/ionic-swiper.scss"],"names":[],"mappings":"AAKA,QAKE,0CACA,qDACA,sDACA,4DACA,mDACA,0DAWA,cAEA,iBAMF,kCACE,oCAGF,yCACE,2CAOF,uCACE,0CAGF,2EACE,iDAMF,0BACE,wCAGF,+BACE,+CAMF,oBACE,cAEA,WAEA,kBAGF,sBAGE,aACA,kBAEA,cACA,mBACA,uBAEA,WACA,YAEA,eAEA,kBACA,sBAGF,0BACE,WACA,eACA,YACA","file":"ionic-swiper.css","sourcesContent":["@import \"../themes/ionic.globals.ios.scss\";\n\n// Slides\n// --------------------------------------------------\n\n.swiper {\n\n // These values are the same for iOS and MD\n // We just do not add a .md or .ios class beforehand\n // so the styles are easier to override by the user.\n --bullet-background: $text-color-step-800;\n --bullet-background-active: ion-color(primary, base);\n --progress-bar-background: rgba($text-color-rgb, .25);\n --progress-bar-background-active: ion-color(primary, shade);\n --scroll-bar-background: rgba($text-color-rgb, .1);\n --scroll-bar-background-active: rgba($text-color-rgb, .5);\n /**\n * @prop --bullet-background: Background of the pagination bullets\n * @prop --bullet-background-active: Background of the active pagination bullet\n *\n * @prop --progress-bar-background: Background of the pagination progress-bar\n * @prop --progress-bar-background-active: Background of the active pagination progress-bar\n *\n * @prop --scroll-bar-background: Background of the pagination scroll-bar\n * @prop --scroll-bar-background-active: Background of the active pagination scroll-bar\n */\n display: block;\n\n user-select: none;\n}\n\n// Pagination Bullets\n// --------------------------------------------------\n\n.swiper .swiper-pagination-bullet {\n background: var(--bullet-background);\n}\n\n.swiper .swiper-pagination-bullet-active {\n background: var(--bullet-background-active);\n}\n\n\n// Pagination Progress Bar\n// --------------------------------------------------\n\n.swiper .swiper-pagination-progressbar {\n background: var(--progress-bar-background);\n}\n\n.swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {\n background: var(--progress-bar-background-active);\n}\n\n// Scrollbar\n// --------------------------------------------------\n\n.swiper .swiper-scrollbar {\n background: var(--scroll-bar-background);\n}\n\n.swiper .swiper-scrollbar-drag {\n background: var(--scroll-bar-background-active);\n}\n\n// Slide\n// --------------------------------------------------\n\n.swiper .slide-zoom {\n display: block;\n\n width: 100%;\n\n text-align: center;\n}\n\n.swiper .swiper-slide {\n\n // Center slide text vertically\n display: flex;\n position: relative;\n\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n\n width: 100%;\n height: 100%;\n\n font-size: 18px;\n\n text-align: center;\n box-sizing: border-box;\n}\n\n.swiper .swiper-slide img {\n width: auto;\n max-width: 100%;\n height: auto;\n max-height: 100%;\n}\n"]}