@ionic/core 8.5.5-dev.11748018287.1fc4e5ae → 8.5.5-dev.11751410458.1a42e1a2

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 (1205) hide show
  1. package/components/action-sheet.js +8 -13
  2. package/components/alert.js +10 -15
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +6 -10
  5. package/components/button.js +11 -38
  6. package/components/buttons.js +7 -11
  7. package/components/capacitor.js +1 -1
  8. package/components/checkbox.js +12 -30
  9. package/components/content.js +12 -14
  10. package/components/data.js +6 -6
  11. package/components/focus-visible.js +26 -36
  12. package/components/framework-delegate.js +1 -3
  13. package/components/hardware-back-button.js +115 -0
  14. package/components/header.js +15 -24
  15. package/components/helpers.js +2 -43
  16. package/components/index2.js +2 -2
  17. package/components/index4.js +9 -8
  18. package/components/index5.js +3 -27
  19. package/components/index6.js +24 -110
  20. package/components/index7.js +27 -163
  21. package/components/index8.js +128 -0
  22. package/{dist/esm/index-664eaf98.js → components/index9.js} +2 -5
  23. package/components/input-shims.js +2 -2
  24. package/components/input.utils.js +2 -1
  25. package/components/ion-accordion-group.js +6 -25
  26. package/components/ion-accordion.js +17 -36
  27. package/components/ion-app.js +77 -14
  28. package/components/ion-avatar.js +5 -58
  29. package/components/ion-back-button.js +19 -29
  30. package/components/ion-badge.js +9 -76
  31. package/components/ion-breadcrumb.js +11 -45
  32. package/components/ion-breadcrumbs.js +5 -9
  33. package/components/ion-card-content.js +7 -11
  34. package/components/ion-card-header.js +5 -9
  35. package/components/ion-card-subtitle.js +5 -9
  36. package/components/ion-card-title.js +5 -9
  37. package/components/ion-card.js +9 -17
  38. package/components/ion-chip.js +8 -49
  39. package/components/ion-col.js +5 -5
  40. package/components/ion-datetime-button.js +6 -9
  41. package/components/ion-datetime.js +21 -99
  42. package/components/ion-fab-button.js +10 -33
  43. package/components/ion-fab-list.js +5 -5
  44. package/components/ion-fab.js +6 -6
  45. package/components/ion-footer.js +12 -18
  46. package/components/ion-grid.js +5 -5
  47. package/components/ion-img.js +2 -5
  48. package/components/ion-infinite-scroll-content.js +8 -13
  49. package/components/ion-infinite-scroll.js +5 -5
  50. package/components/ion-input-password-toggle.js +14 -53
  51. package/components/ion-input.js +20 -118
  52. package/components/ion-item-divider.js +5 -9
  53. package/components/ion-item-group.js +5 -9
  54. package/components/ion-item-option.js +9 -32
  55. package/components/ion-item-options.js +7 -11
  56. package/components/ion-item-sliding.js +5 -5
  57. package/components/ion-loading.js +8 -13
  58. package/components/ion-menu-button.js +10 -28
  59. package/components/ion-menu-toggle.js +5 -5
  60. package/components/ion-menu.js +8 -12
  61. package/components/ion-nav-link.js +1 -1
  62. package/components/ion-nav.js +6 -8
  63. package/components/ion-note.js +5 -9
  64. package/components/ion-picker-legacy.js +8 -7
  65. package/components/ion-progress-bar.js +7 -28
  66. package/components/ion-range.js +10 -13
  67. package/components/ion-refresher-content.js +9 -28
  68. package/components/ion-refresher.js +7 -11
  69. package/components/ion-reorder-group.js +5 -5
  70. package/components/ion-reorder.js +5 -31
  71. package/components/ion-router-link.js +6 -6
  72. package/components/ion-router-outlet.js +3 -4
  73. package/components/ion-row.js +2 -5
  74. package/components/ion-searchbar.js +18 -141
  75. package/components/ion-segment-button.js +7 -11
  76. package/components/ion-segment-content.js +1 -1
  77. package/components/ion-segment-view.js +2 -6
  78. package/components/ion-segment.js +7 -11
  79. package/components/ion-select-option.js +2 -5
  80. package/components/ion-select.js +33 -120
  81. package/components/ion-skeleton-text.js +5 -6
  82. package/components/ion-split-pane.js +8 -12
  83. package/components/ion-tab-bar.js +8 -31
  84. package/components/ion-tab-button.js +7 -28
  85. package/components/ion-tab.js +2 -2
  86. package/components/ion-tabs.js +2 -2
  87. package/components/ion-text.js +5 -5
  88. package/components/ion-textarea.js +11 -48
  89. package/components/ion-thumbnail.js +2 -5
  90. package/components/ion-toast.js +12 -33
  91. package/components/ion-toggle.js +18 -77
  92. package/components/ionic-global.js +82 -378
  93. package/components/ios.transition.js +0 -1
  94. package/components/item.js +11 -41
  95. package/components/keyboard-controller.js +2 -4
  96. package/components/label.js +5 -9
  97. package/components/list-header.js +7 -11
  98. package/components/list.js +6 -29
  99. package/components/modal.js +21 -51
  100. package/components/notch-controller.js +1 -1
  101. package/components/overlays.js +5 -4
  102. package/components/picker-column-option.js +5 -9
  103. package/components/picker-column.js +8 -7
  104. package/components/picker-column2.js +4 -4
  105. package/components/picker.js +4 -8
  106. package/components/popover.js +8 -11
  107. package/components/radio-group.js +5 -11
  108. package/components/radio.js +8 -12
  109. package/components/ripple-effect.js +8 -18
  110. package/components/select-modal.js +3 -3
  111. package/components/select-popover.js +2 -9
  112. package/components/spinner.js +9 -36
  113. package/components/status-tap.js +1 -1
  114. package/components/title.js +7 -11
  115. package/components/toolbar.js +9 -138
  116. package/css/core.css +1 -1
  117. package/css/core.css.map +1 -1
  118. package/css/display.css +1 -1
  119. package/css/display.css.map +1 -1
  120. package/css/flex-utils.css +1 -1
  121. package/css/flex-utils.css.map +1 -1
  122. package/css/float-elements.css.map +1 -1
  123. package/css/global.bundle.css.map +1 -1
  124. package/css/ionic-swiper.css +1 -1
  125. package/css/ionic-swiper.css.map +1 -1
  126. package/css/ionic.bundle.css +1 -1
  127. package/css/ionic.bundle.css.map +1 -1
  128. package/css/normalize.css.map +1 -1
  129. package/css/padding.css.map +1 -1
  130. package/css/palettes/dark.always.css.map +1 -1
  131. package/css/palettes/dark.class.css.map +1 -1
  132. package/css/palettes/dark.system.css.map +1 -1
  133. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  134. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  135. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  136. package/css/palettes/high-contrast.always.css.map +1 -1
  137. package/css/palettes/high-contrast.class.css.map +1 -1
  138. package/css/palettes/high-contrast.system.css.map +1 -1
  139. package/css/structure.css.map +1 -1
  140. package/css/text-alignment.css.map +1 -1
  141. package/css/text-transformation.css.map +1 -1
  142. package/css/typography.css.map +1 -1
  143. package/css/utils.bundle.css +1 -1
  144. package/css/utils.bundle.css.map +1 -1
  145. package/dist/cjs/{animation-43d312d2.js → animation-b4fdf128.js} +2 -2
  146. package/dist/cjs/{app-globals-c81ddb64.js → app-globals-dd592863.js} +1 -1
  147. package/dist/cjs/{button-active-952e2758.js → button-active-43e2b419.js} +1 -1
  148. package/dist/cjs/{capacitor-8dec41f0.js → capacitor-c04564bf.js} +3 -3
  149. package/dist/cjs/{data-d8023923.js → data-27cc2c9c.js} +8 -8
  150. package/dist/cjs/{focus-visible-fe3acfb5.js → focus-visible-95063dc9.js} +25 -37
  151. package/dist/cjs/{framework-delegate-b28d080d.js → framework-delegate-50a86d56.js} +2 -4
  152. package/dist/cjs/{haptic-7c4b9668.js → haptic-f6b37aa3.js} +1 -1
  153. package/dist/cjs/hardware-back-button-5a99001f.js +122 -0
  154. package/dist/cjs/{helpers-a6b43470.js → helpers-3a248559.js} +2 -43
  155. package/dist/cjs/index-48b2a28e.js +46 -0
  156. package/dist/cjs/{index-ea1f3a96.js → index-4b70187a.js} +15 -14
  157. package/dist/cjs/{index-d3a1be32.js → index-509ca0d3.js} +3 -3
  158. package/dist/cjs/index-c8d52405.js +10 -0
  159. package/dist/cjs/{index-77517743.js → index-e36bd277.js} +7 -10
  160. package/dist/cjs/{index-c05dceac.js → index-e630fd95.js} +12 -12
  161. package/dist/cjs/index.cjs.js +12 -11
  162. package/dist/cjs/{input-shims-fb4548bd.js → input-shims-22a9973f.js} +18 -18
  163. package/dist/cjs/{input.utils-fd15bda5.js → input.utils-e82b8ed0.js} +5 -4
  164. package/dist/cjs/ion-accordion_2.cjs.entry.js +24 -62
  165. package/dist/cjs/ion-action-sheet.cjs.entry.js +18 -22
  166. package/dist/cjs/ion-alert.cjs.entry.js +23 -26
  167. package/dist/cjs/ion-app_8.cjs.entry.js +154 -240
  168. package/dist/cjs/ion-avatar_3.cjs.entry.js +11 -127
  169. package/dist/cjs/ion-back-button.cjs.entry.js +21 -32
  170. package/dist/cjs/ion-backdrop.cjs.entry.js +6 -11
  171. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +15 -54
  172. package/dist/cjs/ion-button_2.cjs.entry.js +15 -44
  173. package/dist/cjs/ion-card_5.cjs.entry.js +28 -53
  174. package/dist/cjs/ion-checkbox.cjs.entry.js +13 -31
  175. package/dist/cjs/ion-chip.cjs.entry.js +7 -46
  176. package/dist/cjs/ion-col_3.cjs.entry.js +10 -14
  177. package/dist/cjs/ion-datetime-button.cjs.entry.js +12 -17
  178. package/dist/cjs/ion-datetime_3.cjs.entry.js +115 -191
  179. package/dist/cjs/ion-fab_3.cjs.entry.js +19 -43
  180. package/dist/cjs/ion-img.cjs.entry.js +3 -8
  181. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +17 -22
  182. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +16 -55
  183. package/dist/cjs/ion-input.cjs.entry.js +23 -119
  184. package/dist/cjs/ion-item-option_3.cjs.entry.js +20 -46
  185. package/dist/cjs/ion-item_8.cjs.entry.js +43 -116
  186. package/dist/cjs/ion-loading.cjs.entry.js +18 -21
  187. package/dist/cjs/ion-menu_3.cjs.entry.js +29 -49
  188. package/dist/cjs/ion-modal.cjs.entry.js +70 -99
  189. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -16
  190. package/dist/cjs/ion-picker-column-option.cjs.entry.js +6 -12
  191. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -13
  192. package/dist/cjs/ion-picker.cjs.entry.js +5 -11
  193. package/dist/cjs/ion-popover.cjs.entry.js +18 -21
  194. package/dist/cjs/ion-progress-bar.cjs.entry.js +8 -29
  195. package/dist/cjs/ion-radio_2.cjs.entry.js +13 -25
  196. package/dist/cjs/ion-range.cjs.entry.js +16 -21
  197. package/dist/cjs/ion-refresher_2.cjs.entry.js +23 -45
  198. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -38
  199. package/dist/cjs/ion-ripple-effect.cjs.entry.js +7 -18
  200. package/dist/cjs/ion-route_4.cjs.entry.js +7 -9
  201. package/dist/cjs/ion-searchbar.cjs.entry.js +17 -139
  202. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  203. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -6
  204. package/dist/cjs/ion-segment_2.cjs.entry.js +14 -24
  205. package/dist/cjs/ion-select-modal.cjs.entry.js +10 -9
  206. package/dist/cjs/ion-select_3.cjs.entry.js +40 -134
  207. package/dist/cjs/ion-spinner.cjs.entry.js +9 -35
  208. package/dist/cjs/ion-split-pane.cjs.entry.js +8 -13
  209. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +20 -61
  210. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -8
  211. package/dist/cjs/ion-text.cjs.entry.js +5 -6
  212. package/dist/cjs/ion-textarea.cjs.entry.js +16 -52
  213. package/dist/cjs/ion-toast.cjs.entry.js +43 -62
  214. package/dist/cjs/ion-toggle.cjs.entry.js +22 -81
  215. package/dist/cjs/ionic-global-acb665ad.js +227 -0
  216. package/dist/cjs/ionic.cjs.js +3 -4
  217. package/dist/cjs/{ios.transition-e054fb0b.js → ios.transition-ae7afca9.js} +6 -7
  218. package/dist/cjs/{keyboard-801ef916.js → keyboard-0272231f.js} +1 -1
  219. package/dist/cjs/{keyboard-77f82514.js → keyboard-af1bb365.js} +3 -5
  220. package/dist/cjs/{keyboard-controller-04202fab.js → keyboard-controller-c05e747a.js} +9 -11
  221. package/dist/cjs/loader.cjs.js +3 -4
  222. package/dist/cjs/{md.transition-eba29791.js → md.transition-26003e25.js} +6 -6
  223. package/dist/cjs/{notch-controller-352d63c8.js → notch-controller-ae03a497.js} +4 -4
  224. package/dist/cjs/{overlays-fc17eab1.js → overlays-32e1b66b.js} +20 -19
  225. package/dist/cjs/{status-tap-99fac5b1.js → status-tap-03023755.js} +4 -5
  226. package/dist/cjs/{swipe-back-8aea3922.js → swipe-back-cd0d9f77.js} +1 -3
  227. package/dist/collection/collection-manifest.json +0 -1
  228. package/dist/collection/components/accordion/accordion.ios.css +58 -73
  229. package/dist/collection/components/accordion/accordion.js +21 -37
  230. package/dist/collection/components/accordion/accordion.md.css +59 -67
  231. package/dist/collection/components/accordion-group/accordion-group.ios.css +4 -16
  232. package/dist/collection/components/accordion-group/accordion-group.js +8 -43
  233. package/dist/collection/components/accordion-group/accordion-group.md.css +4 -22
  234. package/dist/collection/components/action-sheet/action-sheet.ios.css +6 -18
  235. package/dist/collection/components/action-sheet/action-sheet.js +10 -14
  236. package/dist/collection/components/action-sheet/action-sheet.md.css +5 -17
  237. package/dist/collection/components/alert/alert.ios.css +1 -19
  238. package/dist/collection/components/alert/alert.js +12 -15
  239. package/dist/collection/components/alert/alert.md.css +1 -19
  240. package/dist/collection/components/app/app.js +80 -22
  241. package/dist/collection/components/avatar/avatar.ios.css +33 -7
  242. package/dist/collection/components/avatar/avatar.js +4 -113
  243. package/dist/collection/components/avatar/avatar.md.css +0 -51
  244. package/dist/collection/components/back-button/back-button.ios.css +48 -60
  245. package/dist/collection/components/back-button/back-button.js +19 -27
  246. package/dist/collection/components/back-button/back-button.md.css +48 -60
  247. package/dist/collection/components/backdrop/backdrop.ios.css +19 -56
  248. package/dist/collection/components/backdrop/backdrop.js +6 -12
  249. package/dist/collection/components/backdrop/backdrop.md.css +19 -56
  250. package/dist/collection/components/badge/badge.ios.css +12 -139
  251. package/dist/collection/components/badge/badge.js +9 -139
  252. package/dist/collection/components/badge/badge.md.css +12 -123
  253. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +8 -20
  254. package/dist/collection/components/breadcrumb/breadcrumb.js +11 -43
  255. package/dist/collection/components/breadcrumb/breadcrumb.md.css +8 -20
  256. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +0 -6
  257. package/dist/collection/components/breadcrumbs/breadcrumbs.js +9 -11
  258. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +0 -6
  259. package/dist/collection/components/button/button.ios.css +46 -139
  260. package/dist/collection/components/button/button.js +17 -44
  261. package/dist/collection/components/button/button.md.css +50 -130
  262. package/dist/collection/components/buttons/buttons.ios.css +7 -59
  263. package/dist/collection/components/buttons/buttons.js +8 -14
  264. package/dist/collection/components/buttons/buttons.md.css +3 -55
  265. package/dist/collection/components/card/card.ios.css +14 -65
  266. package/dist/collection/components/card/card.js +10 -34
  267. package/dist/collection/components/card/card.md.css +14 -65
  268. package/dist/collection/components/card-content/card-content.ios.css +1 -16
  269. package/dist/collection/components/card-content/card-content.js +8 -11
  270. package/dist/collection/components/card-content/card-content.md.css +1 -16
  271. package/dist/collection/components/card-header/card-header.ios.css +15 -27
  272. package/dist/collection/components/card-header/card-header.js +9 -12
  273. package/dist/collection/components/card-header/card-header.md.css +15 -27
  274. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -12
  275. package/dist/collection/components/card-subtitle/card-subtitle.js +8 -11
  276. package/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -12
  277. package/dist/collection/components/card-title/card-title.ios.css +0 -73
  278. package/dist/collection/components/card-title/card-title.js +8 -11
  279. package/dist/collection/components/card-title/card-title.md.css +0 -73
  280. package/dist/collection/components/checkbox/checkbox.ios.css +101 -161
  281. package/dist/collection/components/checkbox/checkbox.js +14 -64
  282. package/dist/collection/components/checkbox/checkbox.md.css +102 -162
  283. package/dist/collection/components/chip/chip.ios.css +14 -67
  284. package/dist/collection/components/chip/chip.js +8 -98
  285. package/dist/collection/components/chip/chip.md.css +14 -67
  286. package/dist/collection/components/col/col.css +0 -12
  287. package/dist/collection/components/col/col.js +5 -9
  288. package/dist/collection/components/content/content.css +2 -8
  289. package/dist/collection/components/content/content.js +11 -16
  290. package/dist/collection/components/datetime/datetime.ios.css +86 -237
  291. package/dist/collection/components/datetime/datetime.js +20 -98
  292. package/dist/collection/components/datetime/datetime.md.css +86 -237
  293. package/dist/collection/components/datetime/utils/data.js +5 -5
  294. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -6
  295. package/dist/collection/components/datetime-button/datetime-button.js +8 -11
  296. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -6
  297. package/dist/collection/components/fab/fab.css +1 -25
  298. package/dist/collection/components/fab/fab.js +5 -9
  299. package/dist/collection/components/fab-button/fab-button.ios.css +6 -18
  300. package/dist/collection/components/fab-button/fab-button.js +15 -36
  301. package/dist/collection/components/fab-button/fab-button.md.css +8 -20
  302. package/dist/collection/components/fab-list/fab-list.css +0 -12
  303. package/dist/collection/components/fab-list/fab-list.js +5 -9
  304. package/dist/collection/components/footer/footer.ios.css +2 -14
  305. package/dist/collection/components/footer/footer.js +15 -20
  306. package/dist/collection/components/footer/footer.md.css +0 -12
  307. package/dist/collection/components/grid/grid.css +0 -12
  308. package/dist/collection/components/grid/grid.js +5 -9
  309. package/dist/collection/components/header/header.ios.css +10 -25
  310. package/dist/collection/components/header/header.js +17 -42
  311. package/dist/collection/components/header/header.md.css +8 -23
  312. package/dist/collection/components/img/img.js +2 -8
  313. package/dist/collection/components/infinite-scroll/infinite-scroll.js +4 -8
  314. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -12
  315. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +10 -16
  316. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -12
  317. package/dist/collection/components/input/input.ios.css +140 -223
  318. package/dist/collection/components/input/input.js +30 -144
  319. package/dist/collection/components/input/input.md.css +212 -193
  320. package/dist/collection/components/input-password-toggle/input-password-toggle.js +12 -48
  321. package/dist/collection/components/item/item.ios.css +69 -109
  322. package/dist/collection/components/item/item.js +16 -44
  323. package/dist/collection/components/item/item.md.css +68 -120
  324. package/dist/collection/components/item-divider/item-divider.ios.css +0 -18
  325. package/dist/collection/components/item-divider/item-divider.js +8 -11
  326. package/dist/collection/components/item-divider/item-divider.md.css +0 -18
  327. package/dist/collection/components/item-group/item-group.ios.css +0 -12
  328. package/dist/collection/components/item-group/item-group.js +7 -13
  329. package/dist/collection/components/item-group/item-group.md.css +0 -12
  330. package/dist/collection/components/item-option/item-option.ios.css +29 -136
  331. package/dist/collection/components/item-option/item-option.js +9 -64
  332. package/dist/collection/components/item-option/item-option.md.css +29 -136
  333. package/dist/collection/components/item-options/item-options.ios.css +34 -77
  334. package/dist/collection/components/item-options/item-options.js +7 -13
  335. package/dist/collection/components/item-options/item-options.md.css +34 -77
  336. package/dist/collection/components/item-sliding/item-sliding.css +0 -6
  337. package/dist/collection/components/item-sliding/item-sliding.js +4 -8
  338. package/dist/collection/components/label/label.ios.css +0 -18
  339. package/dist/collection/components/label/label.js +8 -11
  340. package/dist/collection/components/label/label.md.css +0 -18
  341. package/dist/collection/components/list/list.ios.css +14 -54
  342. package/dist/collection/components/list/list.js +9 -47
  343. package/dist/collection/components/list/list.md.css +16 -56
  344. package/dist/collection/components/list-header/list-header.ios.css +38 -82
  345. package/dist/collection/components/list-header/list-header.js +8 -11
  346. package/dist/collection/components/list-header/list-header.md.css +38 -82
  347. package/dist/collection/components/loading/loading.ios.css +1 -13
  348. package/dist/collection/components/loading/loading.js +10 -13
  349. package/dist/collection/components/loading/loading.md.css +1 -13
  350. package/dist/collection/components/menu/menu.ios.css +3 -15
  351. package/dist/collection/components/menu/menu.js +7 -12
  352. package/dist/collection/components/menu/menu.md.css +3 -15
  353. package/dist/collection/components/menu-button/menu-button.ios.css +14 -48
  354. package/dist/collection/components/menu-button/menu-button.js +10 -26
  355. package/dist/collection/components/menu-button/menu-button.md.css +15 -49
  356. package/dist/collection/components/menu-toggle/menu-toggle.js +5 -8
  357. package/dist/collection/components/modal/animations/sheet.js +2 -8
  358. package/dist/collection/components/modal/gestures/sheet.js +6 -10
  359. package/dist/collection/components/modal/modal.ios.css +70 -174
  360. package/dist/collection/components/modal/modal.js +11 -47
  361. package/dist/collection/components/modal/modal.md.css +70 -174
  362. package/dist/collection/components/nav/nav.css +1 -7
  363. package/dist/collection/components/nav/nav.js +5 -11
  364. package/dist/collection/components/nav-link/nav-link.js +1 -5
  365. package/dist/collection/components/note/note.ios.css +0 -12
  366. package/dist/collection/components/note/note.js +8 -11
  367. package/dist/collection/components/note/note.md.css +0 -12
  368. package/dist/collection/components/picker/picker.ios.css +3 -15
  369. package/dist/collection/components/picker/picker.js +5 -8
  370. package/dist/collection/components/picker/picker.md.css +3 -15
  371. package/dist/collection/components/picker-column/picker-column.css +2 -9
  372. package/dist/collection/components/picker-column/picker-column.js +7 -8
  373. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -6
  374. package/dist/collection/components/picker-column-option/picker-column-option.js +7 -13
  375. package/dist/collection/components/picker-column-option/picker-column-option.md.css +0 -6
  376. package/dist/collection/components/picker-legacy/picker.ios.css +1 -13
  377. package/dist/collection/components/picker-legacy/picker.js +6 -7
  378. package/dist/collection/components/picker-legacy/picker.md.css +1 -13
  379. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -12
  380. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  381. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -12
  382. package/dist/collection/components/popover/popover.ios.css +1 -13
  383. package/dist/collection/components/popover/popover.js +12 -15
  384. package/dist/collection/components/popover/popover.md.css +1 -13
  385. package/dist/collection/components/progress-bar/progress-bar.ios.css +17 -48
  386. package/dist/collection/components/progress-bar/progress-bar.js +7 -42
  387. package/dist/collection/components/progress-bar/progress-bar.md.css +17 -48
  388. package/dist/collection/components/radio/radio.ios.css +91 -134
  389. package/dist/collection/components/radio/radio.js +9 -12
  390. package/dist/collection/components/radio/radio.md.css +91 -134
  391. package/dist/collection/components/radio-group/radio-group.ios.css +18 -42
  392. package/dist/collection/components/radio-group/radio-group.js +5 -13
  393. package/dist/collection/components/radio-group/radio-group.md.css +18 -42
  394. package/dist/collection/components/range/range.ios.css +85 -128
  395. package/dist/collection/components/range/range.js +9 -12
  396. package/dist/collection/components/range/range.md.css +85 -128
  397. package/dist/collection/components/refresher/refresher.ios.css +1 -14
  398. package/dist/collection/components/refresher/refresher.js +8 -11
  399. package/dist/collection/components/refresher/refresher.md.css +2 -15
  400. package/dist/collection/components/refresher-content/refresher-content.js +7 -28
  401. package/dist/collection/components/reorder/reorder.ios.css +0 -6
  402. package/dist/collection/components/reorder/reorder.js +6 -33
  403. package/dist/collection/components/reorder/reorder.md.css +0 -6
  404. package/dist/collection/components/reorder-group/reorder-group.css +0 -6
  405. package/dist/collection/components/reorder-group/reorder-group.js +4 -8
  406. package/dist/collection/components/ripple-effect/{ripple-effect.common.css → ripple-effect.css} +1 -7
  407. package/dist/collection/components/ripple-effect/ripple-effect.js +6 -14
  408. package/dist/collection/components/route/route.js +0 -4
  409. package/dist/collection/components/router/router.js +0 -4
  410. package/dist/collection/components/router-link/router-link.css +2 -8
  411. package/dist/collection/components/router-link/router-link.js +5 -9
  412. package/dist/collection/components/router-outlet/router-outlet.css +1 -7
  413. package/dist/collection/components/router-outlet/router-outlet.js +2 -5
  414. package/dist/collection/components/row/row.css +0 -12
  415. package/dist/collection/components/row/row.js +2 -9
  416. package/dist/collection/components/searchbar/searchbar.ios.css +18 -56
  417. package/dist/collection/components/searchbar/searchbar.js +29 -179
  418. package/dist/collection/components/searchbar/searchbar.md.css +18 -56
  419. package/dist/collection/components/segment/segment.ios.css +2 -45
  420. package/dist/collection/components/segment/segment.js +8 -11
  421. package/dist/collection/components/segment/segment.md.css +2 -45
  422. package/dist/collection/components/segment-button/segment-button.ios.css +105 -146
  423. package/dist/collection/components/segment-button/segment-button.js +8 -11
  424. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  425. package/dist/collection/components/segment-content/segment-content.js +1 -1
  426. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  427. package/dist/collection/components/segment-view/segment-view.js +4 -6
  428. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  429. package/dist/collection/components/select/select.ios.css +176 -315
  430. package/dist/collection/components/select/select.js +55 -157
  431. package/dist/collection/components/select/select.md.css +178 -331
  432. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  433. package/dist/collection/components/select-modal/select-modal.js +3 -3
  434. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  435. package/dist/collection/components/select-option/select-option.js +2 -9
  436. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  437. package/dist/collection/components/select-popover/select-popover.js +4 -12
  438. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  439. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  440. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  441. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +10 -79
  442. package/dist/collection/components/spinner/spinner.js +6 -46
  443. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  444. package/dist/collection/components/split-pane/split-pane.js +8 -14
  445. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  446. package/dist/collection/components/tab/tab.js +2 -6
  447. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  448. package/dist/collection/components/tab-bar/tab-bar.js +10 -65
  449. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  450. package/dist/collection/components/tab-button/tab-button.ios.css +95 -171
  451. package/dist/collection/components/tab-button/tab-button.js +8 -43
  452. package/dist/collection/components/tab-button/tab-button.md.css +93 -137
  453. package/dist/collection/components/tabs/tabs.css +1 -7
  454. package/dist/collection/components/tabs/tabs.js +1 -4
  455. package/dist/collection/components/text/text.css +0 -6
  456. package/dist/collection/components/text/text.js +6 -7
  457. package/dist/collection/components/textarea/textarea.ios.css +139 -275
  458. package/dist/collection/components/textarea/textarea.js +16 -69
  459. package/dist/collection/components/textarea/textarea.md.css +140 -288
  460. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  461. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  462. package/dist/collection/components/title/title.ios.css +4 -32
  463. package/dist/collection/components/title/title.js +7 -13
  464. package/dist/collection/components/title/title.md.css +4 -32
  465. package/dist/collection/components/toast/animations/utils.js +1 -1
  466. package/dist/collection/components/toast/toast.ios.css +45 -84
  467. package/dist/collection/components/toast/toast.js +11 -65
  468. package/dist/collection/components/toast/toast.md.css +45 -84
  469. package/dist/collection/components/toggle/toggle.ios.css +131 -247
  470. package/dist/collection/components/toggle/toggle.js +18 -73
  471. package/dist/collection/components/toggle/toggle.md.css +131 -244
  472. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  473. package/dist/collection/components/toolbar/toolbar.js +13 -141
  474. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  475. package/dist/collection/global/ionic-global.js +13 -229
  476. package/dist/collection/utils/focus-visible.js +25 -35
  477. package/dist/collection/utils/framework-delegate.js +1 -3
  478. package/dist/collection/utils/helpers.js +2 -42
  479. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  480. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  481. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  482. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  483. package/dist/collection/utils/overlays.js +1 -2
  484. package/dist/collection/utils/test/playwright/generator.js +23 -48
  485. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  486. package/dist/collection/utils/test/playwright/page/utils/set-content.js +2 -16
  487. package/dist/collection/utils/transition/ios.transition.js +0 -1
  488. package/dist/docs.json +332 -7608
  489. package/dist/esm/{animation-75691d96.js → animation-eab5a4ca.js} +1 -1
  490. package/dist/esm/{app-globals-73e46285.js → app-globals-7b6cbf1a.js} +1 -1
  491. package/dist/esm/{button-active-e61fbdcf.js → button-active-90f1dbc4.js} +2 -2
  492. package/dist/esm/{capacitor-41c43387.js → capacitor-59395cbd.js} +1 -1
  493. package/dist/esm/{data-19735819.js → data-174ad5e0.js} +6 -6
  494. package/dist/esm/{focus-visible-6827442c.js → focus-visible-89da7555.js} +26 -36
  495. package/dist/esm/{framework-delegate-648f8ef4.js → framework-delegate-2eea1763.js} +2 -4
  496. package/dist/esm/{haptic-b2fbf33c.js → haptic-ac164e4c.js} +1 -1
  497. package/dist/esm/hardware-back-button-864101a3.js +116 -0
  498. package/dist/esm/{helpers-a034be46.js → helpers-78efeec3.js} +2 -43
  499. package/dist/esm/index-40894f4b.js +167 -0
  500. package/dist/esm/{index-4c3c5d46.js → index-527b9e34.js} +1 -1
  501. package/dist/esm/index-738d7504.js +42 -0
  502. package/dist/esm/index-a5d50daf.js +7 -0
  503. package/dist/esm/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  504. package/dist/esm/{index-46e613a7.js → index-e919e353.js} +2 -2
  505. package/dist/esm/{index-8706b805.js → index-ecb55b8d.js} +6 -6
  506. package/dist/esm/{index-65ba6107.js → index-f9f5d018.js} +11 -10
  507. package/dist/esm/index.js +13 -12
  508. package/dist/esm/{input-shims-16500377.js → input-shims-7dc1f6dc.js} +8 -8
  509. package/dist/esm/{input.utils-8ddd6756.js → input.utils-28bf4ef0.js} +3 -2
  510. package/dist/esm/ion-accordion_2.entry.js +24 -62
  511. package/dist/esm/ion-action-sheet.entry.js +19 -23
  512. package/dist/esm/ion-alert.entry.js +21 -24
  513. package/dist/esm/ion-app_8.entry.js +142 -228
  514. package/dist/esm/ion-avatar_3.entry.js +13 -129
  515. package/dist/esm/ion-back-button.entry.js +21 -32
  516. package/dist/esm/ion-backdrop.entry.js +7 -12
  517. package/dist/esm/ion-breadcrumb_2.entry.js +17 -56
  518. package/dist/esm/ion-button_2.entry.js +13 -42
  519. package/dist/esm/ion-card_5.entry.js +29 -54
  520. package/dist/esm/ion-checkbox.entry.js +14 -32
  521. package/dist/esm/ion-chip.entry.js +8 -47
  522. package/dist/esm/ion-col_3.entry.js +11 -15
  523. package/dist/esm/ion-datetime-button.entry.js +9 -14
  524. package/dist/esm/ion-datetime_3.entry.js +41 -117
  525. package/dist/esm/ion-fab_3.entry.js +21 -45
  526. package/dist/esm/ion-img.entry.js +4 -9
  527. package/dist/esm/ion-infinite-scroll_2.entry.js +15 -20
  528. package/dist/esm/ion-input-password-toggle.entry.js +15 -54
  529. package/dist/esm/ion-input.entry.js +25 -121
  530. package/dist/esm/ion-item-option_3.entry.js +21 -47
  531. package/dist/esm/ion-item_8.entry.js +44 -117
  532. package/dist/esm/ion-loading.entry.js +16 -19
  533. package/dist/esm/ion-menu_3.entry.js +29 -49
  534. package/dist/esm/ion-modal.entry.js +31 -60
  535. package/dist/esm/ion-nav_2.entry.js +12 -15
  536. package/dist/esm/ion-picker-column-option.entry.js +7 -13
  537. package/dist/esm/ion-picker-column.entry.js +12 -13
  538. package/dist/esm/ion-picker.entry.js +6 -12
  539. package/dist/esm/ion-popover.entry.js +16 -19
  540. package/dist/esm/ion-progress-bar.entry.js +8 -29
  541. package/dist/esm/ion-radio_2.entry.js +14 -26
  542. package/dist/esm/ion-range.entry.js +12 -17
  543. package/dist/esm/ion-refresher_2.entry.js +21 -43
  544. package/dist/esm/ion-reorder_2.entry.js +15 -40
  545. package/dist/esm/ion-ripple-effect.entry.js +8 -19
  546. package/dist/esm/ion-route_4.entry.js +8 -10
  547. package/dist/esm/ion-searchbar.entry.js +19 -141
  548. package/dist/esm/ion-segment-content.entry.js +2 -2
  549. package/dist/esm/ion-segment-view.entry.js +3 -7
  550. package/dist/esm/ion-segment_2.entry.js +15 -25
  551. package/dist/esm/ion-select-modal.entry.js +11 -10
  552. package/dist/esm/ion-select_3.entry.js +42 -136
  553. package/dist/esm/ion-spinner.entry.js +8 -34
  554. package/dist/esm/ion-split-pane.entry.js +9 -14
  555. package/dist/esm/ion-tab-bar_2.entry.js +20 -61
  556. package/dist/esm/ion-tab_2.entry.js +7 -9
  557. package/dist/esm/ion-text.entry.js +6 -7
  558. package/dist/esm/ion-textarea.entry.js +17 -53
  559. package/dist/esm/ion-toast.entry.js +18 -37
  560. package/dist/esm/ion-toggle.entry.js +23 -82
  561. package/dist/esm/ionic-global-ca86cf32.js +221 -0
  562. package/dist/esm/ionic.js +5 -6
  563. package/dist/esm/{ios.transition-9ff146da.js → ios.transition-7fe5dbea.js} +7 -8
  564. package/dist/esm/{keyboard-9b786586.js → keyboard-52278bd7.js} +3 -5
  565. package/dist/esm/{keyboard-0fef95c0.js → keyboard-73175e24.js} +1 -1
  566. package/dist/esm/{keyboard-controller-6f3a63af.js → keyboard-controller-ec5c2bfa.js} +3 -5
  567. package/dist/esm/loader.js +5 -6
  568. package/dist/esm/{md.transition-2f3188d8.js → md.transition-8dc58b46.js} +7 -7
  569. package/dist/esm/{notch-controller-d4f6433f.js → notch-controller-00d92e89.js} +2 -2
  570. package/dist/esm/{overlays-bb311c8e.js → overlays-41a5d51b.js} +7 -6
  571. package/dist/esm/{status-tap-562eee39.js → status-tap-f6d08e9e.js} +5 -6
  572. package/dist/esm/{swipe-back-983c0694.js → swipe-back-07df2095.js} +1 -3
  573. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  574. package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
  575. package/dist/esm-es5/{button-active-e61fbdcf.js → button-active-90f1dbc4.js} +1 -1
  576. package/dist/esm-es5/capacitor-59395cbd.js +4 -0
  577. package/dist/esm-es5/data-174ad5e0.js +4 -0
  578. package/dist/esm-es5/focus-visible-89da7555.js +4 -0
  579. package/dist/esm-es5/framework-delegate-2eea1763.js +4 -0
  580. package/dist/esm-es5/{haptic-b2fbf33c.js → haptic-ac164e4c.js} +1 -1
  581. package/dist/esm-es5/hardware-back-button-864101a3.js +4 -0
  582. package/dist/esm-es5/helpers-78efeec3.js +4 -0
  583. package/dist/esm-es5/index-40894f4b.js +4 -0
  584. package/dist/esm-es5/{index-4c3c5d46.js → index-527b9e34.js} +1 -1
  585. package/dist/esm-es5/index-738d7504.js +4 -0
  586. package/dist/esm-es5/index-a5d50daf.js +4 -0
  587. package/dist/esm-es5/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  588. package/dist/esm-es5/index-e919e353.js +4 -0
  589. package/dist/esm-es5/index-ecb55b8d.js +4 -0
  590. package/dist/esm-es5/index-f9f5d018.js +4 -0
  591. package/dist/esm-es5/index.js +1 -1
  592. package/dist/esm-es5/input-shims-7dc1f6dc.js +4 -0
  593. package/dist/esm-es5/input.utils-28bf4ef0.js +4 -0
  594. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  595. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  596. package/dist/esm-es5/ion-alert.entry.js +1 -1
  597. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  598. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  599. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  600. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  601. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  602. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  603. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  604. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  605. package/dist/esm-es5/ion-chip.entry.js +1 -1
  606. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  607. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  608. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  609. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  610. package/dist/esm-es5/ion-img.entry.js +1 -1
  611. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  612. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  613. package/dist/esm-es5/ion-input.entry.js +1 -1
  614. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  615. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  616. package/dist/esm-es5/ion-loading.entry.js +1 -1
  617. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  618. package/dist/esm-es5/ion-modal.entry.js +1 -1
  619. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  620. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  621. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  622. package/dist/esm-es5/ion-picker.entry.js +1 -1
  623. package/dist/esm-es5/ion-popover.entry.js +1 -1
  624. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  625. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  626. package/dist/esm-es5/ion-range.entry.js +1 -1
  627. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  628. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  629. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  630. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  631. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  632. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  633. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  634. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  635. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  636. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  637. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  638. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  639. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  640. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  641. package/dist/esm-es5/ion-text.entry.js +1 -1
  642. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  643. package/dist/esm-es5/ion-toast.entry.js +1 -1
  644. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  645. package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
  646. package/dist/esm-es5/ionic.js +1 -1
  647. package/dist/esm-es5/ios.transition-7fe5dbea.js +4 -0
  648. package/dist/esm-es5/{keyboard-9b786586.js → keyboard-52278bd7.js} +1 -1
  649. package/dist/esm-es5/{keyboard-0fef95c0.js → keyboard-73175e24.js} +1 -1
  650. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  651. package/dist/esm-es5/loader.js +1 -1
  652. package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
  653. package/dist/esm-es5/notch-controller-00d92e89.js +4 -0
  654. package/dist/esm-es5/overlays-41a5d51b.js +4 -0
  655. package/dist/esm-es5/status-tap-f6d08e9e.js +4 -0
  656. package/dist/esm-es5/swipe-back-07df2095.js +4 -0
  657. package/dist/html.html-data.json +217 -2495
  658. package/dist/ionic/index.esm.js +1 -1
  659. package/dist/ionic/ionic.esm.js +1 -1
  660. package/dist/ionic/ionic.js +1 -1
  661. package/dist/ionic/p-027a48f1.entry.js +4 -0
  662. package/dist/ionic/p-058b7f35.js +4 -0
  663. package/dist/ionic/p-05b65d7a.entry.js +4 -0
  664. package/dist/ionic/p-09d185ff.system.js +4 -0
  665. package/dist/ionic/p-0a456b7f.entry.js +4 -0
  666. package/dist/ionic/p-0adb6909.system.entry.js +4 -0
  667. package/dist/ionic/p-0bedc891.system.entry.js +4 -0
  668. package/dist/ionic/p-0d1be7c9.system.entry.js +4 -0
  669. package/dist/ionic/p-0ec5b7cf.system.js +4 -0
  670. package/dist/ionic/p-14114a59.system.entry.js +4 -0
  671. package/dist/ionic/p-15bb1dde.system.js +4 -0
  672. package/dist/ionic/p-19c32a76.entry.js +4 -0
  673. package/dist/ionic/p-1b0b2210.entry.js +4 -0
  674. package/dist/ionic/{p-9757a3c0.system.js → p-1bf5ec17.system.js} +1 -1
  675. package/dist/ionic/p-1c1d781d.system.entry.js +4 -0
  676. package/dist/ionic/p-1c8b3ac9.entry.js +4 -0
  677. package/dist/ionic/p-1de5dfcd.system.entry.js +4 -0
  678. package/dist/ionic/p-1dfc11b3.system.js +4 -0
  679. package/dist/ionic/p-1e4371bd.js +4 -0
  680. package/dist/ionic/{p-115d74cd.system.js → p-1e955a45.system.js} +1 -1
  681. package/dist/ionic/p-21891ead.js +4 -0
  682. package/dist/ionic/{p-322a2f0e.js → p-22bc235f.js} +1 -1
  683. package/dist/ionic/p-2567237c.entry.js +4 -0
  684. package/dist/ionic/{p-b5bca0ad.js → p-27281edd.js} +1 -1
  685. package/dist/ionic/p-2789563f.entry.js +4 -0
  686. package/dist/ionic/p-29a5b4e4.entry.js +4 -0
  687. package/dist/ionic/p-29da3dcd.entry.js +4 -0
  688. package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
  689. package/dist/ionic/p-2b7827c7.js +4 -0
  690. package/dist/ionic/p-3281aab3.entry.js +4 -0
  691. package/dist/ionic/p-33058ec5.entry.js +4 -0
  692. package/dist/ionic/p-33518a04.entry.js +4 -0
  693. package/dist/ionic/p-344837bc.system.entry.js +4 -0
  694. package/dist/ionic/p-35f14792.entry.js +4 -0
  695. package/dist/ionic/p-383a6058.entry.js +4 -0
  696. package/dist/ionic/p-3855fef7.system.js +4 -0
  697. package/dist/ionic/p-38eaf9cf.system.entry.js +4 -0
  698. package/dist/ionic/p-3ba2a2cd.system.js +4 -0
  699. package/dist/ionic/p-3f4327f7.js +4 -0
  700. package/dist/ionic/p-402130d9.system.entry.js +4 -0
  701. package/dist/ionic/p-41e70fa2.entry.js +4 -0
  702. package/dist/ionic/p-44fde7d5.system.entry.js +4 -0
  703. package/dist/ionic/p-44ff75ea.js +4 -0
  704. package/dist/ionic/p-455cd7cc.system.js +4 -0
  705. package/dist/ionic/p-4630688e.system.entry.js +4 -0
  706. package/dist/ionic/p-4662a25c.system.entry.js +4 -0
  707. package/dist/ionic/p-48ded460.entry.js +4 -0
  708. package/dist/ionic/p-49d53551.system.entry.js +4 -0
  709. package/dist/ionic/p-4b07c60a.system.js +4 -0
  710. package/dist/ionic/p-4c7e6fec.system.entry.js +4 -0
  711. package/dist/ionic/p-4ea4c73a.system.entry.js +4 -0
  712. package/dist/ionic/p-4eeca839.system.entry.js +4 -0
  713. package/dist/ionic/p-4f20c9b3.system.entry.js +4 -0
  714. package/dist/ionic/p-50e0ce13.entry.js +4 -0
  715. package/dist/ionic/p-51479be0.system.entry.js +4 -0
  716. package/dist/ionic/p-5578033e.system.entry.js +4 -0
  717. package/dist/ionic/p-597ff9af.js +4 -0
  718. package/dist/ionic/p-5fb1321f.entry.js +4 -0
  719. package/dist/ionic/p-607aa181.entry.js +4 -0
  720. package/dist/ionic/p-61373098.js +4 -0
  721. package/dist/ionic/p-6155027f.system.entry.js +4 -0
  722. package/dist/ionic/p-61e794fb.entry.js +4 -0
  723. package/dist/ionic/p-624ecf03.js +4 -0
  724. package/dist/ionic/p-64d8ac48.js +4 -0
  725. package/dist/ionic/p-657ada6a.entry.js +4 -0
  726. package/dist/ionic/p-65943bec.system.entry.js +4 -0
  727. package/dist/ionic/p-65e732b9.entry.js +4 -0
  728. package/dist/ionic/{p-578d5013.js → p-66a5d6a8.js} +1 -1
  729. package/dist/ionic/p-69a96be9.system.entry.js +4 -0
  730. package/dist/ionic/p-6c044a1d.system.js +4 -0
  731. package/dist/ionic/p-7058a5e4.system.entry.js +4 -0
  732. package/dist/ionic/p-705fda69.system.js +4 -0
  733. package/dist/ionic/{p-a16830e0.system.entry.js → p-707408c5.system.entry.js} +1 -1
  734. package/dist/ionic/p-70abb1f2.system.entry.js +4 -0
  735. package/dist/ionic/p-747f9517.entry.js +4 -0
  736. package/dist/ionic/p-756e4559.js +4 -0
  737. package/dist/ionic/p-772d1657.system.js +4 -0
  738. package/dist/ionic/p-792919fd.system.js +4 -0
  739. package/dist/ionic/p-7b30edcc.js +4 -0
  740. package/dist/ionic/p-7b886108.system.entry.js +4 -0
  741. package/dist/ionic/p-7c9daa6f.entry.js +4 -0
  742. package/dist/ionic/p-7cc33a9a.system.js +4 -0
  743. package/dist/ionic/p-7e3b5638.system.entry.js +4 -0
  744. package/dist/ionic/p-7f49a9c4.entry.js +4 -0
  745. package/dist/ionic/p-843ac05d.system.entry.js +4 -0
  746. package/dist/ionic/p-867b47e6.js +4 -0
  747. package/dist/ionic/p-87b0d2c9.entry.js +4 -0
  748. package/dist/ionic/{p-7b10b4c2.system.js → p-8985cdb6.system.js} +1 -1
  749. package/dist/ionic/{p-c2069a04.js → p-89b61afc.js} +1 -1
  750. package/dist/ionic/p-8b1c1fd7.entry.js +4 -0
  751. package/dist/ionic/p-8b22be32.system.entry.js +4 -0
  752. package/dist/ionic/p-8cf6f383.system.entry.js +4 -0
  753. package/dist/ionic/p-8d98e2bb.entry.js +4 -0
  754. package/dist/ionic/{p-db5e6e19.system.js → p-9146695e.system.js} +1 -1
  755. package/dist/ionic/p-959cf042.system.entry.js +4 -0
  756. package/dist/ionic/p-96eec056.entry.js +4 -0
  757. package/dist/ionic/{p-361d3f82.system.js → p-978bdf4c.system.js} +1 -1
  758. package/dist/ionic/p-9870728f.js +4 -0
  759. package/dist/ionic/p-99803283.entry.js +4 -0
  760. package/dist/ionic/p-9af7f110.js +4 -0
  761. package/dist/ionic/p-9b069739.entry.js +4 -0
  762. package/dist/ionic/{p-efad6882.system.js → p-9e45532a.system.js} +1 -1
  763. package/dist/ionic/p-9efc524a.entry.js +4 -0
  764. package/dist/ionic/p-a26d7667.system.entry.js +4 -0
  765. package/dist/ionic/p-a3c931ad.system.js +4 -0
  766. package/dist/ionic/{p-53378de8.system.js → p-a4866e3e.system.js} +1 -1
  767. package/dist/ionic/p-a520973b.entry.js +4 -0
  768. package/dist/ionic/{p-82a63266.system.js → p-a6625de8.system.js} +1 -1
  769. package/dist/ionic/p-a75a9e5a.system.entry.js +4 -0
  770. package/dist/ionic/p-a768ae50.entry.js +4 -0
  771. package/dist/ionic/p-a7830ff8.entry.js +4 -0
  772. package/dist/ionic/p-a9198501.system.entry.js +4 -0
  773. package/dist/ionic/{p-84f02275.system.js → p-a93873de.system.js} +1 -1
  774. package/dist/ionic/p-ab7337e1.entry.js +4 -0
  775. package/dist/ionic/p-abe101da.system.js +4 -0
  776. package/dist/ionic/p-ac09b6e9.system.entry.js +4 -0
  777. package/dist/ionic/p-ac58d726.system.entry.js +4 -0
  778. package/dist/ionic/{p-76b92f54.system.js → p-b06ac4a5.system.js} +1 -1
  779. package/dist/ionic/p-b1673667.entry.js +4 -0
  780. package/dist/ionic/p-b1f9fbe8.system.entry.js +4 -0
  781. package/dist/ionic/p-b2ee0628.system.entry.js +4 -0
  782. package/dist/ionic/p-b87a9f1d.entry.js +4 -0
  783. package/dist/ionic/p-b8a461f5.system.entry.js +4 -0
  784. package/dist/ionic/p-b9fa7882.js +4 -0
  785. package/dist/ionic/p-bf64af90.system.js +4 -0
  786. package/dist/ionic/p-c005cc37.entry.js +4 -0
  787. package/dist/ionic/p-c1b6280b.system.js +4 -0
  788. package/dist/ionic/p-c27c57ea.system.entry.js +4 -0
  789. package/dist/ionic/p-c3f9d9fe.js +4 -0
  790. package/dist/ionic/p-c53c414d.system.entry.js +4 -0
  791. package/dist/ionic/p-c61cc894.js +4 -0
  792. package/dist/ionic/p-c63d8dc1.js +4 -0
  793. package/dist/ionic/{p-148e00f2.js → p-c7e16491.js} +1 -1
  794. package/dist/ionic/p-ccb740ea.entry.js +4 -0
  795. package/dist/ionic/p-cec54707.system.entry.js +4 -0
  796. package/dist/ionic/p-cfc08422.entry.js +4 -0
  797. package/dist/ionic/p-cff4f96c.entry.js +4 -0
  798. package/dist/ionic/p-d40f2b7a.js +4 -0
  799. package/dist/ionic/p-d70a9e6d.system.js +4 -0
  800. package/dist/ionic/p-d882f1e2.system.entry.js +4 -0
  801. package/dist/ionic/{p-58f16ef6.js → p-da2b833b.js} +1 -1
  802. package/dist/ionic/p-db3b409e.system.entry.js +4 -0
  803. package/dist/ionic/p-e11ff516.entry.js +4 -0
  804. package/dist/ionic/p-e2ce5f8b.entry.js +4 -0
  805. package/dist/ionic/p-e3284879.system.entry.js +4 -0
  806. package/dist/ionic/p-e3e4eed7.entry.js +4 -0
  807. package/dist/ionic/p-e4683bfd.system.entry.js +4 -0
  808. package/dist/ionic/p-e4d2c281.entry.js +4 -0
  809. package/dist/ionic/p-e65b8460.entry.js +4 -0
  810. package/dist/ionic/p-e6cdfa96.system.entry.js +4 -0
  811. package/dist/ionic/p-e8245753.entry.js +4 -0
  812. package/dist/ionic/p-ece78e7b.js +4 -0
  813. package/dist/ionic/p-ee86cfff.system.js +4 -0
  814. package/dist/ionic/{p-d2536fe8.system.js → p-f11a9436.system.js} +1 -1
  815. package/dist/ionic/p-f201b53a.system.js +4 -0
  816. package/dist/ionic/{p-de28526a.system.js → p-f23124c4.system.js} +2 -2
  817. package/dist/ionic/p-f387b3c6.system.entry.js +4 -0
  818. package/dist/ionic/p-f53ee2e7.js +4 -0
  819. package/dist/ionic/p-f6bb9be7.system.entry.js +4 -0
  820. package/dist/ionic/{p-a12c4c78.js → p-f7ce606e.js} +1 -1
  821. package/dist/ionic/p-f834322a.entry.js +4 -0
  822. package/dist/ionic/p-f896194a.system.entry.js +4 -0
  823. package/dist/ionic/p-fa70eaab.entry.js +4 -0
  824. package/dist/ionic/p-ffa3ba3c.js +4 -0
  825. package/dist/types/components/accordion/accordion.d.ts +3 -5
  826. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  827. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  828. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  829. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  830. package/dist/types/components/alert/alert.d.ts +2 -3
  831. package/dist/types/components/app/app.d.ts +2 -6
  832. package/dist/types/components/avatar/avatar.d.ts +0 -32
  833. package/dist/types/components/back-button/back-button.d.ts +1 -2
  834. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  835. package/dist/types/components/badge/badge.d.ts +1 -34
  836. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  837. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  838. package/dist/types/components/button/button.d.ts +6 -18
  839. package/dist/types/components/buttons/buttons.d.ts +1 -5
  840. package/dist/types/components/card/card.d.ts +1 -8
  841. package/dist/types/components/card-content/card-content.d.ts +1 -2
  842. package/dist/types/components/card-header/card-header.d.ts +2 -3
  843. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  844. package/dist/types/components/card-title/card-title.d.ts +1 -2
  845. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  846. package/dist/types/components/chip/chip.d.ts +1 -26
  847. package/dist/types/components/col/col.d.ts +0 -4
  848. package/dist/types/components/content/content.d.ts +0 -3
  849. package/dist/types/components/datetime/datetime.d.ts +1 -26
  850. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  851. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  852. package/dist/types/components/fab/fab.d.ts +0 -4
  853. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  854. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  855. package/dist/types/components/footer/footer.d.ts +3 -4
  856. package/dist/types/components/grid/grid.d.ts +0 -4
  857. package/dist/types/components/header/header.d.ts +3 -9
  858. package/dist/types/components/img/img.d.ts +0 -3
  859. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -4
  860. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  861. package/dist/types/components/input/input.d.ts +5 -31
  862. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  863. package/dist/types/components/item/item.d.ts +4 -11
  864. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  865. package/dist/types/components/item-group/item-group.d.ts +0 -4
  866. package/dist/types/components/item-option/item-option.d.ts +1 -18
  867. package/dist/types/components/item-options/item-options.d.ts +0 -4
  868. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  869. package/dist/types/components/label/label.d.ts +1 -2
  870. package/dist/types/components/list/list.d.ts +1 -15
  871. package/dist/types/components/list-header/list-header.d.ts +1 -2
  872. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  873. package/dist/types/components/loading/loading.d.ts +2 -3
  874. package/dist/types/components/menu/menu.d.ts +0 -3
  875. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  876. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  877. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  878. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  879. package/dist/types/components/modal/modal.d.ts +1 -11
  880. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  881. package/dist/types/components/nav/nav.d.ts +1 -5
  882. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  883. package/dist/types/components/note/note.d.ts +1 -2
  884. package/dist/types/components/picker/picker.d.ts +1 -2
  885. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  886. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  887. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  888. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  889. package/dist/types/components/popover/popover.d.ts +5 -6
  890. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  891. package/dist/types/components/radio/radio.d.ts +1 -2
  892. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  893. package/dist/types/components/range/range.d.ts +1 -2
  894. package/dist/types/components/refresher/refresher.d.ts +1 -2
  895. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  896. package/dist/types/components/reorder/reorder.d.ts +0 -9
  897. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  898. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  899. package/dist/types/components/route/route.d.ts +0 -4
  900. package/dist/types/components/router/router.d.ts +0 -4
  901. package/dist/types/components/router-link/router-link.d.ts +0 -4
  902. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  903. package/dist/types/components/row/row.d.ts +0 -4
  904. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  905. package/dist/types/components/segment/segment.d.ts +1 -2
  906. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  907. package/dist/types/components/select/select.d.ts +13 -41
  908. package/dist/types/components/select-option/select-option.d.ts +0 -4
  909. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  910. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  911. package/dist/types/components/spinner/spinner.d.ts +0 -15
  912. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  913. package/dist/types/components/tab/tab.d.ts +0 -4
  914. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  915. package/dist/types/components/tab-button/tab-button.d.ts +1 -11
  916. package/dist/types/components/tabs/tabs.d.ts +0 -3
  917. package/dist/types/components/text/text.d.ts +1 -2
  918. package/dist/types/components/textarea/textarea.d.ts +4 -17
  919. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  920. package/dist/types/components/title/title.d.ts +0 -4
  921. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  922. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  923. package/dist/types/components/toast/toast.d.ts +2 -19
  924. package/dist/types/components/toggle/toggle.d.ts +1 -15
  925. package/dist/types/components/toolbar/toolbar.d.ts +3 -20
  926. package/dist/types/components.d.ts +188 -1490
  927. package/dist/types/global/ionic-global.d.ts +2 -27
  928. package/dist/types/interface.d.ts +0 -3
  929. package/dist/types/utils/config.d.ts +2 -106
  930. package/dist/types/utils/focus-visible.d.ts +0 -13
  931. package/dist/types/utils/helpers.d.ts +0 -11
  932. package/dist/types/utils/overlays-interface.d.ts +1 -31
  933. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  934. package/hydrate/index.js +917 -2726
  935. package/hydrate/index.mjs +917 -2726
  936. package/package.json +4 -9
  937. package/components/caret-down.js +0 -6
  938. package/components/caret-left.js +0 -6
  939. package/components/caret-right.js +0 -6
  940. package/components/config2.js +0 -79
  941. package/components/ion-divider.d.ts +0 -11
  942. package/components/ion-divider.js +0 -59
  943. package/components/list2.js +0 -6
  944. package/components/x.js +0 -6
  945. package/css/ionic/bundle.ionic.css +0 -1
  946. package/css/ionic/bundle.ionic.css.map +0 -1
  947. package/css/ionic/core.ionic.css +0 -1
  948. package/css/ionic/core.ionic.css.map +0 -1
  949. package/css/ionic/global.bundle.ionic.css +0 -1
  950. package/css/ionic/global.bundle.ionic.css.map +0 -1
  951. package/css/ionic/ionic-swiper.ionic.css +0 -1
  952. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  953. package/css/ionic/link.ionic.css +0 -1
  954. package/css/ionic/link.ionic.css.map +0 -1
  955. package/css/ionic/structure.ionic.css +0 -1
  956. package/css/ionic/structure.ionic.css.map +0 -1
  957. package/css/ionic/typography.ionic.css +0 -1
  958. package/css/ionic/typography.ionic.css.map +0 -1
  959. package/css/ionic/utils.bundle.ionic.css +0 -1
  960. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  961. package/dist/cjs/caret-down-3c215cff.js +0 -8
  962. package/dist/cjs/caret-left-2bb66970.js +0 -8
  963. package/dist/cjs/caret-right-88e03970.js +0 -8
  964. package/dist/cjs/config-aff4ff52.js +0 -84
  965. package/dist/cjs/ion-divider.cjs.entry.js +0 -43
  966. package/dist/cjs/ionic-global-02fb2aac.js +0 -531
  967. package/dist/cjs/list-2930c629.js +0 -8
  968. package/dist/cjs/x-81a8f51c.js +0 -8
  969. package/dist/collection/components/accordion/accordion.ionic.css +0 -197
  970. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -95
  971. package/dist/collection/components/avatar/avatar.ionic.css +0 -360
  972. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -111
  973. package/dist/collection/components/badge/badge.ionic.css +0 -284
  974. package/dist/collection/components/button/button.ionic.css +0 -580
  975. package/dist/collection/components/buttons/buttons.ionic.css +0 -100
  976. package/dist/collection/components/card/card.ionic.css +0 -137
  977. package/dist/collection/components/card-content/card-content.ionic.css +0 -90
  978. package/dist/collection/components/card-header/card-header.ionic.css +0 -87
  979. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -146
  980. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -527
  981. package/dist/collection/components/chip/chip.ionic.css +0 -230
  982. package/dist/collection/components/datetime/datetime.ionic.css +0 -673
  983. package/dist/collection/components/divider/divider.ionic.css +0 -150
  984. package/dist/collection/components/divider/divider.ios.css +0 -87
  985. package/dist/collection/components/divider/divider.js +0 -76
  986. package/dist/collection/components/divider/divider.md.css +0 -87
  987. package/dist/collection/components/header/header.ionic.css +0 -86
  988. package/dist/collection/components/input/input.ionic.css +0 -855
  989. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -80
  990. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +0 -61
  991. package/dist/collection/components/item/item.ionic.css +0 -502
  992. package/dist/collection/components/item-option/item-option.ionic.css +0 -280
  993. package/dist/collection/components/item-options/item-options.ionic.css +0 -223
  994. package/dist/collection/components/list/list.ionic.css +0 -214
  995. package/dist/collection/components/list-header/list-header.ionic.css +0 -192
  996. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -238
  997. package/dist/collection/components/modal/modal.ionic.css +0 -243
  998. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -289
  999. package/dist/collection/components/radio/radio.ionic.css +0 -424
  1000. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -127
  1001. package/dist/collection/components/range/range.ionic.css +0 -555
  1002. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -217
  1003. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -628
  1004. package/dist/collection/components/segment/segment.ionic.css +0 -117
  1005. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -355
  1006. package/dist/collection/components/select/select.ionic.css +0 -763
  1007. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -121
  1008. package/dist/collection/components/spinner/spinner.native.css +0 -198
  1009. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -188
  1010. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -338
  1011. package/dist/collection/components/textarea/textarea.ionic.css +0 -830
  1012. package/dist/collection/components/title/title.ionic.css +0 -129
  1013. package/dist/collection/components/toast/toast.ionic.css +0 -396
  1014. package/dist/collection/components/toggle/toggle.ionic.css +0 -509
  1015. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -238
  1016. package/dist/esm/caret-down-3eaad1cc.js +0 -6
  1017. package/dist/esm/caret-left-33424bb0.js +0 -6
  1018. package/dist/esm/caret-right-68d856ad.js +0 -6
  1019. package/dist/esm/config-84eb9670.js +0 -79
  1020. package/dist/esm/ion-divider.entry.js +0 -39
  1021. package/dist/esm/ionic-global-c1aec1e9.js +0 -517
  1022. package/dist/esm/list-6524700c.js +0 -6
  1023. package/dist/esm/x-a64bcd9f.js +0 -6
  1024. package/dist/esm-es5/animation-75691d96.js +0 -4
  1025. package/dist/esm-es5/app-globals-73e46285.js +0 -4
  1026. package/dist/esm-es5/capacitor-41c43387.js +0 -4
  1027. package/dist/esm-es5/caret-down-3eaad1cc.js +0 -4
  1028. package/dist/esm-es5/caret-left-33424bb0.js +0 -4
  1029. package/dist/esm-es5/caret-right-68d856ad.js +0 -4
  1030. package/dist/esm-es5/config-84eb9670.js +0 -4
  1031. package/dist/esm-es5/data-19735819.js +0 -4
  1032. package/dist/esm-es5/focus-visible-6827442c.js +0 -4
  1033. package/dist/esm-es5/framework-delegate-648f8ef4.js +0 -4
  1034. package/dist/esm-es5/helpers-a034be46.js +0 -4
  1035. package/dist/esm-es5/index-46e613a7.js +0 -4
  1036. package/dist/esm-es5/index-65ba6107.js +0 -4
  1037. package/dist/esm-es5/index-664eaf98.js +0 -4
  1038. package/dist/esm-es5/index-8706b805.js +0 -4
  1039. package/dist/esm-es5/input-shims-16500377.js +0 -4
  1040. package/dist/esm-es5/input.utils-8ddd6756.js +0 -4
  1041. package/dist/esm-es5/ion-divider.entry.js +0 -4
  1042. package/dist/esm-es5/ionic-global-c1aec1e9.js +0 -4
  1043. package/dist/esm-es5/ios.transition-9ff146da.js +0 -4
  1044. package/dist/esm-es5/keyboard-controller-6f3a63af.js +0 -4
  1045. package/dist/esm-es5/list-6524700c.js +0 -4
  1046. package/dist/esm-es5/md.transition-2f3188d8.js +0 -4
  1047. package/dist/esm-es5/notch-controller-d4f6433f.js +0 -4
  1048. package/dist/esm-es5/overlays-bb311c8e.js +0 -4
  1049. package/dist/esm-es5/status-tap-562eee39.js +0 -4
  1050. package/dist/esm-es5/swipe-back-983c0694.js +0 -4
  1051. package/dist/esm-es5/x-a64bcd9f.js +0 -4
  1052. package/dist/ionic/p-000a60c5.system.entry.js +0 -4
  1053. package/dist/ionic/p-01d80901.system.js +0 -4
  1054. package/dist/ionic/p-03f0f489.entry.js +0 -4
  1055. package/dist/ionic/p-050d7d1f.entry.js +0 -4
  1056. package/dist/ionic/p-05ffb16b.system.js +0 -4
  1057. package/dist/ionic/p-06ec4706.js +0 -4
  1058. package/dist/ionic/p-0b941072.js +0 -4
  1059. package/dist/ionic/p-1276cda4.system.js +0 -4
  1060. package/dist/ionic/p-180f0c6f.system.entry.js +0 -4
  1061. package/dist/ionic/p-183b2910.js +0 -4
  1062. package/dist/ionic/p-19e67d40.system.entry.js +0 -4
  1063. package/dist/ionic/p-1d49225d.entry.js +0 -4
  1064. package/dist/ionic/p-1d512070.system.entry.js +0 -4
  1065. package/dist/ionic/p-1fd5c378.system.js +0 -4
  1066. package/dist/ionic/p-2004fb92.system.entry.js +0 -4
  1067. package/dist/ionic/p-211efa34.system.entry.js +0 -4
  1068. package/dist/ionic/p-21a9241b.system.entry.js +0 -4
  1069. package/dist/ionic/p-22f0ff9d.system.entry.js +0 -4
  1070. package/dist/ionic/p-23ea84b6.entry.js +0 -4
  1071. package/dist/ionic/p-243adf8c.js +0 -4
  1072. package/dist/ionic/p-27f94ab0.system.entry.js +0 -4
  1073. package/dist/ionic/p-28253576.system.entry.js +0 -4
  1074. package/dist/ionic/p-2a3df287.entry.js +0 -4
  1075. package/dist/ionic/p-2a51dad2.js +0 -4
  1076. package/dist/ionic/p-2b2d1437.entry.js +0 -4
  1077. package/dist/ionic/p-2bf44172.js +0 -4
  1078. package/dist/ionic/p-30bae1a8.entry.js +0 -4
  1079. package/dist/ionic/p-3163265a.entry.js +0 -4
  1080. package/dist/ionic/p-3832a6ae.system.js +0 -4
  1081. package/dist/ionic/p-3835325e.entry.js +0 -4
  1082. package/dist/ionic/p-38c0cca7.js +0 -4
  1083. package/dist/ionic/p-3acf0ca0.system.entry.js +0 -4
  1084. package/dist/ionic/p-3b4574b3.entry.js +0 -4
  1085. package/dist/ionic/p-3b7deae5.entry.js +0 -4
  1086. package/dist/ionic/p-3c31f667.system.js +0 -4
  1087. package/dist/ionic/p-3c8c8686.system.entry.js +0 -4
  1088. package/dist/ionic/p-3f001e0c.system.js +0 -4
  1089. package/dist/ionic/p-3f616348.system.entry.js +0 -4
  1090. package/dist/ionic/p-3fc870da.system.js +0 -4
  1091. package/dist/ionic/p-41003775.entry.js +0 -4
  1092. package/dist/ionic/p-41357931.system.entry.js +0 -4
  1093. package/dist/ionic/p-429dd2b5.system.js +0 -4
  1094. package/dist/ionic/p-436bfcc9.system.entry.js +0 -4
  1095. package/dist/ionic/p-4459a66e.system.js +0 -4
  1096. package/dist/ionic/p-452fc75e.entry.js +0 -4
  1097. package/dist/ionic/p-45388333.js +0 -4
  1098. package/dist/ionic/p-46f1771d.entry.js +0 -4
  1099. package/dist/ionic/p-488e56da.system.entry.js +0 -4
  1100. package/dist/ionic/p-4b1136bc.system.entry.js +0 -4
  1101. package/dist/ionic/p-577c1150.entry.js +0 -4
  1102. package/dist/ionic/p-582a5804.system.entry.js +0 -4
  1103. package/dist/ionic/p-583f0c5f.js +0 -4
  1104. package/dist/ionic/p-59d3caf4.entry.js +0 -4
  1105. package/dist/ionic/p-5b2f411a.system.entry.js +0 -4
  1106. package/dist/ionic/p-5b57d327.system.js +0 -4
  1107. package/dist/ionic/p-5b5bb0a5.system.js +0 -4
  1108. package/dist/ionic/p-5bba46fc.system.entry.js +0 -4
  1109. package/dist/ionic/p-5ceac493.entry.js +0 -4
  1110. package/dist/ionic/p-5dde2c4f.system.entry.js +0 -4
  1111. package/dist/ionic/p-5f582e4f.system.entry.js +0 -4
  1112. package/dist/ionic/p-607c9c33.js +0 -4
  1113. package/dist/ionic/p-63c2257c.system.entry.js +0 -4
  1114. package/dist/ionic/p-69bbeaf6.js +0 -4
  1115. package/dist/ionic/p-6a0dd6bc.js +0 -4
  1116. package/dist/ionic/p-6c0e6625.entry.js +0 -4
  1117. package/dist/ionic/p-6e0e68de.system.entry.js +0 -4
  1118. package/dist/ionic/p-6fcdcb51.system.js +0 -4
  1119. package/dist/ionic/p-701c7638.js +0 -4
  1120. package/dist/ionic/p-7028eadd.system.entry.js +0 -4
  1121. package/dist/ionic/p-7071d7ca.js +0 -4
  1122. package/dist/ionic/p-714aaf3c.entry.js +0 -4
  1123. package/dist/ionic/p-71d87b11.system.entry.js +0 -4
  1124. package/dist/ionic/p-73db2a7e.system.entry.js +0 -4
  1125. package/dist/ionic/p-75871b9f.entry.js +0 -4
  1126. package/dist/ionic/p-7b33697a.js +0 -4
  1127. package/dist/ionic/p-7b382a8b.js +0 -4
  1128. package/dist/ionic/p-7d1774f8.system.entry.js +0 -4
  1129. package/dist/ionic/p-7ff70f62.entry.js +0 -4
  1130. package/dist/ionic/p-808e57e0.system.js +0 -4
  1131. package/dist/ionic/p-8255bd7b.system.entry.js +0 -4
  1132. package/dist/ionic/p-85c51a6a.entry.js +0 -4
  1133. package/dist/ionic/p-8898b2c4.system.entry.js +0 -4
  1134. package/dist/ionic/p-8a786367.entry.js +0 -4
  1135. package/dist/ionic/p-8b06c868.system.entry.js +0 -4
  1136. package/dist/ionic/p-8c6c972b.js +0 -4
  1137. package/dist/ionic/p-8f2efbe5.entry.js +0 -4
  1138. package/dist/ionic/p-8f56be51.entry.js +0 -4
  1139. package/dist/ionic/p-906b0781.entry.js +0 -4
  1140. package/dist/ionic/p-9207650a.entry.js +0 -4
  1141. package/dist/ionic/p-95e0f2cc.system.entry.js +0 -4
  1142. package/dist/ionic/p-96898f8d.system.js +0 -4
  1143. package/dist/ionic/p-979f9a47.entry.js +0 -4
  1144. package/dist/ionic/p-97c5e467.entry.js +0 -4
  1145. package/dist/ionic/p-98ea9230.system.js +0 -4
  1146. package/dist/ionic/p-9a0ab352.js +0 -4
  1147. package/dist/ionic/p-9acea98c.entry.js +0 -4
  1148. package/dist/ionic/p-9bd072c2.system.entry.js +0 -4
  1149. package/dist/ionic/p-9d513c26.entry.js +0 -4
  1150. package/dist/ionic/p-a1d0ee0b.system.entry.js +0 -4
  1151. package/dist/ionic/p-a2f85605.entry.js +0 -4
  1152. package/dist/ionic/p-a8759b16.entry.js +0 -4
  1153. package/dist/ionic/p-a8fd8c07.entry.js +0 -4
  1154. package/dist/ionic/p-a9af4103.js +0 -4
  1155. package/dist/ionic/p-ab0aa514.system.js +0 -4
  1156. package/dist/ionic/p-af7c3b18.system.js +0 -4
  1157. package/dist/ionic/p-afe776fc.system.entry.js +0 -4
  1158. package/dist/ionic/p-b1618321.entry.js +0 -4
  1159. package/dist/ionic/p-b406502d.entry.js +0 -4
  1160. package/dist/ionic/p-b57d8fcb.system.entry.js +0 -4
  1161. package/dist/ionic/p-b65e5cc0.system.entry.js +0 -4
  1162. package/dist/ionic/p-b719e9a7.js +0 -4
  1163. package/dist/ionic/p-b9298bee.entry.js +0 -4
  1164. package/dist/ionic/p-b9ddbdf3.js +0 -4
  1165. package/dist/ionic/p-ba992f31.system.entry.js +0 -4
  1166. package/dist/ionic/p-bb183633.js +0 -4
  1167. package/dist/ionic/p-c248c88d.system.js +0 -4
  1168. package/dist/ionic/p-c37bd983.entry.js +0 -4
  1169. package/dist/ionic/p-c419b6b0.system.entry.js +0 -4
  1170. package/dist/ionic/p-c4ef6f8b.js +0 -4
  1171. package/dist/ionic/p-c6cb5873.entry.js +0 -4
  1172. package/dist/ionic/p-c8b9efc6.entry.js +0 -4
  1173. package/dist/ionic/p-c9481069.entry.js +0 -4
  1174. package/dist/ionic/p-ccbf31df.entry.js +0 -4
  1175. package/dist/ionic/p-cdd46550.entry.js +0 -4
  1176. package/dist/ionic/p-cf466c60.entry.js +0 -4
  1177. package/dist/ionic/p-d5a528dd.system.entry.js +0 -4
  1178. package/dist/ionic/p-d94f6cf2.system.entry.js +0 -4
  1179. package/dist/ionic/p-da3f8286.system.entry.js +0 -4
  1180. package/dist/ionic/p-da7bd63e.system.entry.js +0 -4
  1181. package/dist/ionic/p-db8ffacb.system.js +0 -4
  1182. package/dist/ionic/p-dc29c440.js +0 -4
  1183. package/dist/ionic/p-e0ca79b3.entry.js +0 -4
  1184. package/dist/ionic/p-e25667a4.system.entry.js +0 -4
  1185. package/dist/ionic/p-e2772e25.system.entry.js +0 -4
  1186. package/dist/ionic/p-e35f0d82.system.entry.js +0 -4
  1187. package/dist/ionic/p-e3b70846.system.js +0 -4
  1188. package/dist/ionic/p-e45a947d.system.js +0 -4
  1189. package/dist/ionic/p-e58a67f5.entry.js +0 -4
  1190. package/dist/ionic/p-e637969f.entry.js +0 -4
  1191. package/dist/ionic/p-e6ae836b.system.js +0 -4
  1192. package/dist/ionic/p-e92a4b0d.system.entry.js +0 -4
  1193. package/dist/ionic/p-f1bf5430.system.entry.js +0 -4
  1194. package/dist/ionic/p-f1d7ea25.system.entry.js +0 -4
  1195. package/dist/ionic/p-f3219e90.entry.js +0 -4
  1196. package/dist/ionic/p-f3d28b8f.js +0 -4
  1197. package/dist/ionic/p-f9d1475d.entry.js +0 -4
  1198. package/dist/ionic/p-faf202df.js +0 -4
  1199. package/dist/ionic/p-fb3ce1f1.entry.js +0 -4
  1200. package/dist/ionic/p-fbc7052d.system.entry.js +0 -4
  1201. package/dist/ionic/p-fccabaf9.entry.js +0 -4
  1202. package/dist/ionic/p-fdc14546.entry.js +0 -4
  1203. package/dist/ionic/p-ffea25fc.system.entry.js +0 -4
  1204. package/dist/types/components/divider/divider.d.ts +0 -20
  1205. /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/text-transformation.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AAaI,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCCkJF,yBD9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCkJF,yBD9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCkJF,yBD9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCkJF,0BD9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE","file":"text-transformation.css","sourcesContent":["@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","@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/text-transformation.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AAaI,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCCwIF,yBDpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCwIF,yBDpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCwIF,yBDpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCwIF,0BDpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE","file":"text-transformation.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","\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/typography.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AA8BA,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBCqTE,WD/SgB,KCgThB,cDhT4B,KAE5B,YArDqB,IAuDrB,YApDqB,IAuDvB,GCwSE,WDvSgB,KAEhB,UAvDa,SA0Df,GCkSE,WDjSgB,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":"typography.css","sourcesContent":["@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","@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/typography.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AA8BA,KACE,mCAOF,uCACE,KAIE,2DAIJ,EACE,6BACA,wCAGF,kBC0SE,WDpSgB,KCqShB,cDrS4B,KAE5B,YArD6B,IAuD7B,YApD6B,IAuD/B,GC6RE,WD5RgB,KAEhB,UAvD6B,SA0D/B,GCuRE,WDtRgB,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":"typography.css","sourcesContent":["@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","\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-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left !important}.ion-float-right{float:right !important}.ion-float-start{float:left !important}:host-context([dir=rtl]) .ion-float-start{float:right !important}[dir=rtl] .ion-float-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right !important}}.ion-float-end{float:right !important}:host-context([dir=rtl]) .ion-float-end{float:left !important}[dir=rtl] .ion-float-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left !important}}@media(min-width: 576px){.ion-float-sm-left{float:left !important}.ion-float-sm-right{float:right !important}.ion-float-sm-start{float:left !important}:host-context([dir=rtl]) .ion-float-sm-start{float:right !important}[dir=rtl] .ion-float-sm-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right !important}}.ion-float-sm-end{float:right !important}:host-context([dir=rtl]) .ion-float-sm-end{float:left !important}[dir=rtl] .ion-float-sm-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left !important}}}@media(min-width: 768px){.ion-float-md-left{float:left !important}.ion-float-md-right{float:right !important}.ion-float-md-start{float:left !important}:host-context([dir=rtl]) .ion-float-md-start{float:right !important}[dir=rtl] .ion-float-md-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right !important}}.ion-float-md-end{float:right !important}:host-context([dir=rtl]) .ion-float-md-end{float:left !important}[dir=rtl] .ion-float-md-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left !important}}}@media(min-width: 992px){.ion-float-lg-left{float:left !important}.ion-float-lg-right{float:right !important}.ion-float-lg-start{float:left !important}:host-context([dir=rtl]) .ion-float-lg-start{float:right !important}[dir=rtl] .ion-float-lg-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right !important}}.ion-float-lg-end{float:right !important}:host-context([dir=rtl]) .ion-float-lg-end{float:left !important}[dir=rtl] .ion-float-lg-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left !important}}}@media(min-width: 1200px){.ion-float-xl-left{float:left !important}.ion-float-xl-right{float:right !important}.ion-float-xl-start{float:left !important}:host-context([dir=rtl]) .ion-float-xl-start{float:right !important}[dir=rtl] .ion-float-xl-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right !important}}.ion-float-xl-end{float:right !important}:host-context([dir=rtl]) .ion-float-xl-end{float:left !important}[dir=rtl] .ion-float-xl-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left !important}}}.ion-text-center{text-align:center !important}.ion-text-justify{text-align:justify !important}.ion-text-start{text-align:start !important}.ion-text-end{text-align:end !important}.ion-text-left{text-align:left !important}.ion-text-right{text-align:right !important}.ion-text-nowrap{white-space:nowrap !important}.ion-text-wrap{white-space:normal !important}@media(min-width: 576px){.ion-text-sm-center{text-align:center !important}.ion-text-sm-justify{text-align:justify !important}.ion-text-sm-start{text-align:start !important}.ion-text-sm-end{text-align:end !important}.ion-text-sm-left{text-align:left !important}.ion-text-sm-right{text-align:right !important}.ion-text-sm-nowrap{white-space:nowrap !important}.ion-text-sm-wrap{white-space:normal !important}}@media(min-width: 768px){.ion-text-md-center{text-align:center !important}.ion-text-md-justify{text-align:justify !important}.ion-text-md-start{text-align:start !important}.ion-text-md-end{text-align:end !important}.ion-text-md-left{text-align:left !important}.ion-text-md-right{text-align:right !important}.ion-text-md-nowrap{white-space:nowrap !important}.ion-text-md-wrap{white-space:normal !important}}@media(min-width: 992px){.ion-text-lg-center{text-align:center !important}.ion-text-lg-justify{text-align:justify !important}.ion-text-lg-start{text-align:start !important}.ion-text-lg-end{text-align:end !important}.ion-text-lg-left{text-align:left !important}.ion-text-lg-right{text-align:right !important}.ion-text-lg-nowrap{white-space:nowrap !important}.ion-text-lg-wrap{white-space:normal !important}}@media(min-width: 1200px){.ion-text-xl-center{text-align:center !important}.ion-text-xl-justify{text-align:justify !important}.ion-text-xl-start{text-align:start !important}.ion-text-xl-end{text-align:end !important}.ion-text-xl-left{text-align:left !important}.ion-text-xl-right{text-align:right !important}.ion-text-xl-nowrap{white-space:nowrap !important}.ion-text-xl-wrap{white-space:normal !important}}.ion-text-uppercase{text-transform:uppercase !important}.ion-text-lowercase{text-transform:lowercase !important}.ion-text-capitalize{text-transform:capitalize !important}@media(min-width: 576px){.ion-text-sm-uppercase{text-transform:uppercase !important}.ion-text-sm-lowercase{text-transform:lowercase !important}.ion-text-sm-capitalize{text-transform:capitalize !important}}@media(min-width: 768px){.ion-text-md-uppercase{text-transform:uppercase !important}.ion-text-md-lowercase{text-transform:lowercase !important}.ion-text-md-capitalize{text-transform:capitalize !important}}@media(min-width: 992px){.ion-text-lg-uppercase{text-transform:uppercase !important}.ion-text-lg-lowercase{text-transform:lowercase !important}.ion-text-lg-capitalize{text-transform:capitalize !important}}@media(min-width: 1200px){.ion-text-xl-uppercase{text-transform:uppercase !important}.ion-text-xl-lowercase{text-transform:lowercase !important}.ion-text-xl-capitalize{text-transform:capitalize !important}}.ion-align-self-start{align-self:flex-start !important}.ion-align-self-end{align-self:flex-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}.ion-wrap{flex-wrap:wrap !important}.ion-nowrap{flex-wrap:nowrap !important}.ion-wrap-reverse{flex-wrap:wrap-reverse !important}.ion-justify-content-start{justify-content:flex-start !important}.ion-justify-content-center{justify-content:center !important}.ion-justify-content-end{justify-content:flex-end !important}.ion-justify-content-around{justify-content:space-around !important}.ion-justify-content-between{justify-content:space-between !important}.ion-justify-content-evenly{justify-content:space-evenly !important}.ion-align-items-start{align-items:flex-start !important}.ion-align-items-center{align-items:center !important}.ion-align-items-end{align-items:flex-end !important}.ion-align-items-stretch{align-items:stretch !important}.ion-align-items-baseline{align-items:baseline !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}.ion-display-flex{display:flex !important}.ion-display-contents{display:contents !important}.ion-hide{display:none !important}.ion-hide-up{display:none !important}.ion-hide-down{display:none !important}@media(min-width: 576px){.ion-hide-sm-up{display:none !important}}@media(max-width: 575.98px){.ion-hide-sm-down{display:none !important}}@media(min-width: 768px){.ion-hide-md-up{display:none !important}}@media(max-width: 767.98px){.ion-hide-md-down{display:none !important}}@media(min-width: 992px){.ion-hide-lg-up{display:none !important}}@media(max-width: 991.98px){.ion-hide-lg-down{display:none !important}}@media(min-width: 1200px){.ion-hide-xl-up{display:none !important}}@media(max-width: 1199.98px){.ion-hide-xl-down{display:none !important}}.ion-full-height{height:100% !important}.ion-full-width{width:100% !important}.ion-position-absolute{position:absolute !important}.ion-position-relative{position:relative !important}/*# sourceMappingURL=utils.bundle.css.map */
1
+ .ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left !important}.ion-float-right{float:right !important}.ion-float-start{float:left !important}:host-context([dir=rtl]) .ion-float-start{float:right !important}[dir=rtl] .ion-float-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right !important}}.ion-float-end{float:right !important}:host-context([dir=rtl]) .ion-float-end{float:left !important}[dir=rtl] .ion-float-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left !important}}@media(min-width: 576px){.ion-float-sm-left{float:left !important}.ion-float-sm-right{float:right !important}.ion-float-sm-start{float:left !important}:host-context([dir=rtl]) .ion-float-sm-start{float:right !important}[dir=rtl] .ion-float-sm-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right !important}}.ion-float-sm-end{float:right !important}:host-context([dir=rtl]) .ion-float-sm-end{float:left !important}[dir=rtl] .ion-float-sm-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left !important}}}@media(min-width: 768px){.ion-float-md-left{float:left !important}.ion-float-md-right{float:right !important}.ion-float-md-start{float:left !important}:host-context([dir=rtl]) .ion-float-md-start{float:right !important}[dir=rtl] .ion-float-md-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right !important}}.ion-float-md-end{float:right !important}:host-context([dir=rtl]) .ion-float-md-end{float:left !important}[dir=rtl] .ion-float-md-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left !important}}}@media(min-width: 992px){.ion-float-lg-left{float:left !important}.ion-float-lg-right{float:right !important}.ion-float-lg-start{float:left !important}:host-context([dir=rtl]) .ion-float-lg-start{float:right !important}[dir=rtl] .ion-float-lg-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right !important}}.ion-float-lg-end{float:right !important}:host-context([dir=rtl]) .ion-float-lg-end{float:left !important}[dir=rtl] .ion-float-lg-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left !important}}}@media(min-width: 1200px){.ion-float-xl-left{float:left !important}.ion-float-xl-right{float:right !important}.ion-float-xl-start{float:left !important}:host-context([dir=rtl]) .ion-float-xl-start{float:right !important}[dir=rtl] .ion-float-xl-start{float:right !important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right !important}}.ion-float-xl-end{float:right !important}:host-context([dir=rtl]) .ion-float-xl-end{float:left !important}[dir=rtl] .ion-float-xl-end{float:left !important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left !important}}}.ion-text-center{text-align:center !important}.ion-text-justify{text-align:justify !important}.ion-text-start{text-align:start !important}.ion-text-end{text-align:end !important}.ion-text-left{text-align:left !important}.ion-text-right{text-align:right !important}.ion-text-nowrap{white-space:nowrap !important}.ion-text-wrap{white-space:normal !important}@media(min-width: 576px){.ion-text-sm-center{text-align:center !important}.ion-text-sm-justify{text-align:justify !important}.ion-text-sm-start{text-align:start !important}.ion-text-sm-end{text-align:end !important}.ion-text-sm-left{text-align:left !important}.ion-text-sm-right{text-align:right !important}.ion-text-sm-nowrap{white-space:nowrap !important}.ion-text-sm-wrap{white-space:normal !important}}@media(min-width: 768px){.ion-text-md-center{text-align:center !important}.ion-text-md-justify{text-align:justify !important}.ion-text-md-start{text-align:start !important}.ion-text-md-end{text-align:end !important}.ion-text-md-left{text-align:left !important}.ion-text-md-right{text-align:right !important}.ion-text-md-nowrap{white-space:nowrap !important}.ion-text-md-wrap{white-space:normal !important}}@media(min-width: 992px){.ion-text-lg-center{text-align:center !important}.ion-text-lg-justify{text-align:justify !important}.ion-text-lg-start{text-align:start !important}.ion-text-lg-end{text-align:end !important}.ion-text-lg-left{text-align:left !important}.ion-text-lg-right{text-align:right !important}.ion-text-lg-nowrap{white-space:nowrap !important}.ion-text-lg-wrap{white-space:normal !important}}@media(min-width: 1200px){.ion-text-xl-center{text-align:center !important}.ion-text-xl-justify{text-align:justify !important}.ion-text-xl-start{text-align:start !important}.ion-text-xl-end{text-align:end !important}.ion-text-xl-left{text-align:left !important}.ion-text-xl-right{text-align:right !important}.ion-text-xl-nowrap{white-space:nowrap !important}.ion-text-xl-wrap{white-space:normal !important}}.ion-text-uppercase{text-transform:uppercase !important}.ion-text-lowercase{text-transform:lowercase !important}.ion-text-capitalize{text-transform:capitalize !important}@media(min-width: 576px){.ion-text-sm-uppercase{text-transform:uppercase !important}.ion-text-sm-lowercase{text-transform:lowercase !important}.ion-text-sm-capitalize{text-transform:capitalize !important}}@media(min-width: 768px){.ion-text-md-uppercase{text-transform:uppercase !important}.ion-text-md-lowercase{text-transform:lowercase !important}.ion-text-md-capitalize{text-transform:capitalize !important}}@media(min-width: 992px){.ion-text-lg-uppercase{text-transform:uppercase !important}.ion-text-lg-lowercase{text-transform:lowercase !important}.ion-text-lg-capitalize{text-transform:capitalize !important}}@media(min-width: 1200px){.ion-text-xl-uppercase{text-transform:uppercase !important}.ion-text-xl-lowercase{text-transform:lowercase !important}.ion-text-xl-capitalize{text-transform:capitalize !important}}.ion-align-self-start{align-self:flex-start !important}.ion-align-self-end{align-self:flex-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}.ion-wrap{flex-wrap:wrap !important}.ion-nowrap{flex-wrap:nowrap !important}.ion-wrap-reverse{flex-wrap:wrap-reverse !important}.ion-justify-content-start{justify-content:flex-start !important}.ion-justify-content-center{justify-content:center !important}.ion-justify-content-end{justify-content:flex-end !important}.ion-justify-content-around{justify-content:space-around !important}.ion-justify-content-between{justify-content:space-between !important}.ion-justify-content-evenly{justify-content:space-evenly !important}.ion-align-items-start{align-items:flex-start !important}.ion-align-items-center{align-items:center !important}.ion-align-items-end{align-items:flex-end !important}.ion-align-items-stretch{align-items:stretch !important}.ion-align-items-baseline{align-items:baseline !important}.ion-hide{display:none !important}.ion-hide-up{display:none !important}.ion-hide-down{display:none !important}@media(min-width: 576px){.ion-hide-sm-up{display:none !important}}@media(max-width: 575.98px){.ion-hide-sm-down{display:none !important}}@media(min-width: 768px){.ion-hide-md-up{display:none !important}}@media(max-width: 767.98px){.ion-hide-md-down{display:none !important}}@media(min-width: 992px){.ion-hide-lg-up{display:none !important}}@media(max-width: 991.98px){.ion-hide-lg-down{display:none !important}}@media(min-width: 1200px){.ion-hide-xl-up{display:none !important}}@media(max-width: 1199.98px){.ion-hide-xl-down{display:none !important}}/*# sourceMappingURL=utils.bundle.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAcA,gBACE,mBACA,iBACA,iBACA,oBCmUE,aDjUe,ECkUf,cDlUe,ECqVjB,YDrViB,ECsVjB,eDtViB,EAGnB,aACE,0CACA,wCACA,wCACA,2CC6TE,sBDhVM,yBCiVN,qBDjVM,yBCkVN,oBDlVM,yBCmVN,mBDnVM,yBCiWR,YDjWQ,yBCkWR,eDlWQ,yBAwBV,iBACE,wCCwUA,YDjWQ,yBA8BV,mBACE,0CCiTE,sBDhVM,yBCiVN,qBDjVM,yBAoCV,iBACE,wCC6SE,oBDlVM,yBCmVN,mBDnVM,yBA0CV,oBACE,2CCuTA,eDlWQ,yBAgDV,sBACE,wCACA,2CC+SA,YDjWQ,yBCkWR,eDlWQ,yBAuDV,wBACE,0CACA,wCCuRE,sBDhVM,yBCiVN,qBDjVM,yBCkVN,oBDlVM,yBCmVN,mBDnVM,yBAiEV,eACE,kBACA,gBACA,gBACA,mBCwQE,YDtQc,ECuQd,aDvQc,EC0RhB,WD1RgB,EC2RhB,cD3RgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCkQE,qBD/UK,wBCgVL,oBDhVK,wBCiVL,mBDjVK,wBCkVL,kBDlVK,wBCgWP,WDhWO,wBCiWP,cDjWO,wBAkFT,gBACE,sCC6QA,WDhWO,wBAwFT,kBACE,wCCsPE,qBD/UK,wBCgVL,oBDhVK,wBA8FT,gBACE,sCCkPE,mBDjVK,wBCkVL,kBDlVK,wBAoGT,mBACE,yCC4PA,cDjWO,wBA0GT,qBACE,sCACA,yCCoPA,WDhWO,wBCiWP,cDjWO,wBAiHT,uBACE,wCACA,sCC4NE,qBD/UK,wBCgVL,oBDhVK,wBCiVL,mBDjVK,wBCkVL,kBDlVK,wBEIL,gBDyeE,sBCreF,iBDqeE,uBCjeF,iBDidE,sBAzNO,0CA6NP,uBAtNO,2BAsNP,uBAhNJ,8BAcW,0BAkMP,wBCjdF,eDqdE,uBAjOO,wCAqOP,sBA9NO,yBA8NP,sBAxNJ,8BAcW,wBA0MP,uBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,0BC9JA,mBDyeE,sBCreF,oBDqeE,uBCjeF,oBDidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBCjdF,kBDqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBEreF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,yBE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFiIF,0BE9JA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,yBG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHkJF,0BG9JA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCjBN,sBACE,iCAGF,oBACE,+BAGF,uBACE,6BAGF,wBACE,8BAGF,yBACE,+BAGF,qBACE,2BAMF,UACE,0BAGF,YACE,4BAGF,kBACE,kCAMF,2BACE,sCAGF,4BACE,kCAGF,yBACE,oCAGF,4BACE,wCAGF,6BACE,yCAGF,4BACE,wCAMF,uBACE,kCAGF,wBACE,8BAGF,qBACE,gCAGF,yBACE,+BAGF,0BACE,gCAKF,2BACE,iCAGF,mCACE,yCAGF,wBACE,8BAGF,gCACE,sCAKF,YACE,kBC/GF,kBACE,wBAGF,sBACE,4BAGF,UACE,wBAUE,aACE,wBAOF,eACE,wBLwIF,yBKjJA,gBACE,yBL4LF,4BKrLA,kBACE,yBLwIF,yBKjJA,gBACE,yBL4LF,4BKrLA,kBACE,yBLwIF,yBKjJA,gBACE,yBL4LF,4BKrLA,kBACE,yBLwIF,0BKjJA,gBACE,yBL4LF,6BKrLA,kBACE,yBAON,iBACE,uBAGF,gBACE,sBAKF,uBACE,6BAGF,uBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@use \"./functions.string\" as string;\n\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n\n outline: none;\n\n background: transparent;\n\n cursor: pointer;\n\n appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n outline: 0;\n\n opacity: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n color: inherit;\n\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n\n letter-spacing: inherit;\n\n text-align: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n\n white-space: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n\n @return if($max and $max > 0, $max - 0.02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: string.str-split($root, \",\");\n $selectors: #{string.add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: string.str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{string.add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: string.str-split(string.str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: string.str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n right: $end;\n left: $start;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: string.str-replace($transform, \"translate3d(\");\n $transform: string.str-replace($transform, \")\");\n\n $coordinates: string.str-split($transform, \",\");\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == \"0\" or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n\n// Flex Direction\n// --------------------------------------------------\n.ion-flex-direction-column {\n flex-direction: column !important;\n}\n\n.ion-flex-direction-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.ion-flex-direction-row {\n flex-direction: row !important;\n}\n\n.ion-flex-direction-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n// Flex Container\n// --------------------------------------------------\n.ion-flex-1 {\n flex: 1 !important;\n}\n","@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-display-flex {\n display: flex !important;\n}\n\n.ion-display-contents {\n display: contents !important;\n}\n\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// Size\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.ion-position-absolute {\n position: absolute !important;\n}\n\n.ion-position-relative {\n position: relative !important;\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA,gBACE,mBACA,iBACA,iBACA,oBCsTE,aDpTe,ECqTf,cDrTe,ECyUjB,YDzUiB,EC0UjB,eD1UiB,EAGnB,aACE,0CACA,wCACA,wCACA,2CCiTE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBCqVR,YDrVQ,yBCsVR,eDtVQ,yBAwBV,iBACE,wCC4TA,YDrVQ,yBA8BV,mBACE,0CCqSE,sBDpUM,yBCqUN,qBDrUM,yBAoCV,iBACE,wCCiSE,oBDtUM,yBCuUN,mBDvUM,yBA0CV,oBACE,2CC2SA,eDtVQ,yBAgDV,sBACE,wCACA,2CCmSA,YDrVQ,yBCsVR,eDtVQ,yBAuDV,wBACE,0CACA,wCC2QE,sBDpUM,yBCqUN,qBDrUM,yBCsUN,oBDtUM,yBCuUN,mBDvUM,yBAkEV,eACE,kBACA,gBACA,gBACA,mBC0PE,YDxPc,ECyPd,aDzPc,EC6QhB,WD7QgB,EC8QhB,cD9QgB,EAGlB,YACE,wCACA,sCACA,sCACA,yCCqPE,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBCoVP,WDpVO,wBCqVP,cDrVO,wBAmFT,gBACE,sCCgQA,WDpVO,wBAyFT,kBACE,wCCyOE,qBDnUK,wBCoUL,oBDpUK,wBA+FT,gBACE,sCCqOE,mBDrUK,wBCsUL,kBDtUK,wBAqGT,mBACE,yCC+OA,cDrVO,wBA2GT,qBACE,sCACA,yCCuOA,WDpVO,wBCqVP,cDrVO,wBAkHT,uBACE,wCACA,sCC+ME,qBDnUK,wBCoUL,oBDpUK,wBCqUL,mBDrUK,wBCsUL,kBDtUK,wBEGL,gBD2dE,sBCvdF,iBDudE,uBCndF,iBDqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBCpcF,eDwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BCpJA,mBD2dE,sBCvdF,oBDudE,uBCndF,oBDqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBCpcF,kBDwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBEvdF,iBACE,6BAGF,kBACE,8BAGF,gBACE,4BAGF,cACE,0BAGF,eACE,2BAGF,gBACE,4BAGF,iBACE,8BAGF,eACE,8BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,yBEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BFuHF,0BEpJA,oBACE,6BAGF,qBACE,8BAGF,mBACE,4BAGF,iBACE,0BAGF,kBACE,2BAGF,mBACE,4BAGF,oBACE,8BAGF,kBACE,+BC7BF,oBAEE,oCAGF,oBAEE,oCAGF,qBAEE,qCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,yBGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCHwIF,0BGpJA,uBAEE,oCAGF,uBAEE,oCAGF,wBAEE,sCCjBN,sBACE,iCAGF,oBACE,+BAGF,uBACE,6BAGF,wBACE,8BAGF,yBACE,+BAGF,qBACE,2BAOF,UACE,0BAGF,YACE,4BAGF,kBACE,kCAOF,2BACE,sCAGF,4BACE,kCAGF,yBACE,oCAGF,4BACE,wCAGF,6BACE,yCAGF,4BACE,wCAOF,uBACE,kCAGF,wBACE,8BAGF,qBACE,gCAGF,yBACE,+BAGF,0BACE,gCC1FF,UACE,wBAUE,aACE,wBAOF,eACE,wBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,yBK/IA,gBACE,yBLuLF,4BKhLA,kBACE,yBLsIF,0BK/IA,gBACE,yBLuLF,6BKhLA,kBACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\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"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-02fb2aac.js');
6
+ const index = require('./index-c8d52405.js');
7
7
 
8
8
  let animationPrefix;
9
9
  const getAnimationPrefix = (el) => {
@@ -66,7 +66,7 @@ const createAnimation = (animationId) => {
66
66
  const _afterAddWriteFunctions = [];
67
67
  const webAnimations = [];
68
68
  const supportsAnimationEffect = typeof AnimationEffect === 'function' ||
69
- (ionicGlobal.win !== undefined && typeof ionicGlobal.win.AnimationEffect === 'function');
69
+ (index.win !== undefined && typeof index.win.AnimationEffect === 'function');
70
70
  /**
71
71
  * This is a feature detection for Web Animations.
72
72
  *
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-02fb2aac.js');
6
+ const ionicGlobal = require('./ionic-global-acb665ad.js');
7
7
 
8
8
  const globalScripts = ionicGlobal.initialize;
9
9
 
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index$1 = require('./index-2e236a04.js');
7
- const haptic = require('./haptic-7c4b9668.js');
7
+ const haptic = require('./haptic-f6b37aa3.js');
8
8
  const index = require('./index-ee07ed59.js');
9
9
 
10
10
  const createButtonActiveGesture = (el, isButton) => {
@@ -3,11 +3,11 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-02fb2aac.js');
6
+ const index = require('./index-c8d52405.js');
7
7
 
8
8
  const getCapacitor = () => {
9
- if (ionicGlobal.win !== undefined) {
10
- return ionicGlobal.win.Capacitor;
9
+ if (index.win !== undefined) {
10
+ return index.win.Capacitor;
11
11
  }
12
12
  return undefined;
13
13
  };
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const ionicGlobal = require('./ionic-global-02fb2aac.js');
6
+ const index = require('./index-48b2a28e.js');
7
7
 
8
8
  /**
9
9
  * Returns true if the selected day is equal to the reference day
@@ -37,7 +37,7 @@ const warnIfValueOutOfBounds = (value, min, max) => {
37
37
  const valueArray = Array.isArray(value) ? value : [value];
38
38
  for (const val of valueArray) {
39
39
  if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) {
40
- ionicGlobal.printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
40
+ index.printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
41
41
  `Min: ${JSON.stringify(min)}\n` +
42
42
  `Max: ${JSON.stringify(max)}\n` +
43
43
  `Value: ${JSON.stringify(value)}`);
@@ -254,7 +254,7 @@ function parseDate(val) {
254
254
  }
255
255
  if (parse === null) {
256
256
  // wasn't able to parse the ISO datetime
257
- ionicGlobal.printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
257
+ index.printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
258
258
  return undefined;
259
259
  }
260
260
  // ensure all the parse values exist with at least 0
@@ -1149,20 +1149,20 @@ const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
1149
1149
  // h24 hour system uses 1-24. Midnight starts at 24:00.
1150
1150
  const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
1151
1151
  /**
1152
- * Given a locale and a theme,
1152
+ * Given a locale and a mode,
1153
1153
  * return an array with formatted days
1154
- * of the week. iOS and Ionic themes should
1155
- * display days such as "Mon" or "Tue".
1154
+ * of the week. iOS should display days
1155
+ * such as "Mon" or "Tue".
1156
1156
  * MD should display days such as "M"
1157
1157
  * or "T".
1158
1158
  */
1159
- const getDaysOfWeek = (locale, theme, firstDayOfWeek = 0) => {
1159
+ const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
1160
1160
  /**
1161
1161
  * Nov 1st, 2020 starts on a Sunday.
1162
1162
  * ion-datetime assumes weeks start on Sunday,
1163
1163
  * but is configurable via `firstDayOfWeek`.
1164
1164
  */
1165
- const weekdayFormat = theme === 'md' ? 'narrow' : 'short';
1165
+ const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
1166
1166
  const intl = new Intl.DateTimeFormat(locale, { weekday: weekdayFormat });
1167
1167
  const startDate = new Date('11/01/2020');
1168
1168
  const daysOfWeek = [];
@@ -19,31 +19,10 @@ const FOCUS_KEYS = [
19
19
  'Home',
20
20
  'End',
21
21
  ];
22
- let focusVisibleUtility = null;
23
- const getOrInitFocusVisibleUtility = () => {
24
- if (!focusVisibleUtility) {
25
- focusVisibleUtility = startFocusVisible();
26
- }
27
- return focusVisibleUtility;
28
- };
29
- /**
30
- * Used to set focus on an element that uses `ion-focusable`.
31
- * Do not use this if focusing the element as a result of a keyboard
32
- * event as the focus utility should handle this for us. This method
33
- * should be used when we want to programmatically focus an element as
34
- * a result of another user action. (Ex: We focus the first element
35
- * inside of a popover when the user presents it, but the popover is not always
36
- * presented as a result of keyboard action.)
37
- *
38
- * @param elements - The elements to set focus on.
39
- */
40
- const focusElements = (elements) => {
41
- const focusVisible = getOrInitFocusVisibleUtility();
42
- focusVisible.setFocus(elements);
43
- };
44
22
  const startFocusVisible = (rootEl) => {
45
23
  let currentFocus = [];
46
- let keyboardMode = true;
24
+ let keyboardMode = false;
25
+ let lastPointerType = null;
47
26
  const ref = rootEl ? rootEl.shadowRoot : document;
48
27
  const root = rootEl ? rootEl : document.body;
49
28
  const setFocus = (elements) => {
@@ -51,26 +30,35 @@ const startFocusVisible = (rootEl) => {
51
30
  elements.forEach((el) => el.classList.add(ION_FOCUSED));
52
31
  currentFocus = elements;
53
32
  };
54
- const pointerDown = () => {
33
+ const pointerDown = (ev) => {
34
+ const pointerEvent = ev;
35
+ lastPointerType = pointerEvent.pointerType;
55
36
  keyboardMode = false;
56
37
  setFocus([]);
57
38
  };
58
39
  const onKeydown = (ev) => {
59
- keyboardMode = FOCUS_KEYS.includes(ev.key);
60
- if (!keyboardMode) {
40
+ const keyboardEvent = ev;
41
+ // Always set keyboard mode to true when any key is pressed
42
+ // This handles the WebKit Tab key bug where keydown might not fire
43
+ keyboardMode = true;
44
+ // If it's not a focus key, clear focus immediately
45
+ if (!FOCUS_KEYS.includes(keyboardEvent.key)) {
61
46
  setFocus([]);
62
47
  }
63
48
  };
64
49
  const onFocusin = (ev) => {
65
- if (keyboardMode && ev.composedPath !== undefined) {
66
- const toFocus = ev.composedPath().filter((el) => {
67
- // TODO(FW-2832): type
68
- if (el.classList) {
69
- return el.classList.contains(ION_FOCUSABLE);
70
- }
71
- return false;
72
- });
73
- setFocus(toFocus);
50
+ // Check if this focus event is likely from keyboard navigation
51
+ // We can detect this by checking if there was a recent keydown event
52
+ // or if the focus target is a focusable element that typically gets focus via keyboard
53
+ const target = ev.target;
54
+ if (target.classList.contains(ION_FOCUSABLE)) {
55
+ // If we're in keyboard mode or this looks like keyboard navigation
56
+ if (keyboardMode || !lastPointerType) {
57
+ const toFocus = ev.composedPath().filter((el) => {
58
+ return el instanceof HTMLElement && el.classList.contains(ION_FOCUSABLE);
59
+ });
60
+ setFocus(toFocus);
61
+ }
74
62
  }
75
63
  };
76
64
  const onFocusout = () => {
@@ -81,12 +69,14 @@ const startFocusVisible = (rootEl) => {
81
69
  ref.addEventListener('keydown', onKeydown);
82
70
  ref.addEventListener('focusin', onFocusin);
83
71
  ref.addEventListener('focusout', onFocusout);
72
+ ref.addEventListener('pointerdown', pointerDown, { passive: true });
84
73
  ref.addEventListener('touchstart', pointerDown, { passive: true });
85
74
  ref.addEventListener('mousedown', pointerDown);
86
75
  const destroy = () => {
87
76
  ref.removeEventListener('keydown', onKeydown);
88
77
  ref.removeEventListener('focusin', onFocusin);
89
78
  ref.removeEventListener('focusout', onFocusout);
79
+ ref.removeEventListener('pointerdown', pointerDown);
90
80
  ref.removeEventListener('touchstart', pointerDown);
91
81
  ref.removeEventListener('mousedown', pointerDown);
92
82
  };
@@ -96,6 +86,4 @@ const startFocusVisible = (rootEl) => {
96
86
  };
97
87
  };
98
88
 
99
- exports.focusElements = focusElements;
100
- exports.getOrInitFocusVisibleUtility = getOrInitFocusVisibleUtility;
101
89
  exports.startFocusVisible = startFocusVisible;