@ionic/core 8.5.2-dev.11743410780.1c74dd00 → 8.5.2-dev.11743531350.19e040aa

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 (1207) 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 -41
  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 +1 -23
  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 +3 -54
  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-0c65e393.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 -50
  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 -45
  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 +8 -28
  55. package/components/ion-item-options.js +5 -9
  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 +28 -15
  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 +25 -60
  76. package/components/ion-segment-content.js +2 -2
  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 +11 -30
  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 +5 -9
  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 +7 -11
  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-124b7017.js → animation-b4fdf128.js} +2 -2
  146. package/dist/cjs/{app-globals-04316582.js → app-globals-dd592863.js} +1 -1
  147. package/dist/cjs/{button-active-6c0ef0f0.js → button-active-43e2b419.js} +1 -1
  148. package/dist/cjs/{capacitor-ec2a454d.js → capacitor-c04564bf.js} +3 -3
  149. package/dist/cjs/{data-ae8423e6.js → data-27cc2c9c.js} +8 -8
  150. package/dist/{esm/focus-visible-6827442c.js → cjs/focus-visible-7a0ce04f.js} +3 -23
  151. package/dist/cjs/{framework-delegate-4de32fdc.js → framework-delegate-50a86d56.js} +2 -4
  152. package/dist/cjs/{haptic-f262299e.js → haptic-f6b37aa3.js} +1 -1
  153. package/dist/cjs/hardware-back-button-5a99001f.js +122 -0
  154. package/dist/cjs/{helpers-4211d834.js → helpers-3a248559.js} +2 -54
  155. package/dist/cjs/index-48b2a28e.js +46 -0
  156. package/dist/cjs/{index-943c0438.js → index-4b70187a.js} +15 -14
  157. package/dist/cjs/{index-f835dc22.js → index-509ca0d3.js} +3 -3
  158. package/dist/cjs/index-c8d52405.js +10 -0
  159. package/dist/cjs/{index-3d31ef2d.js → index-e36bd277.js} +7 -10
  160. package/dist/cjs/{index-042a8f38.js → index-e630fd95.js} +12 -12
  161. package/dist/cjs/index.cjs.js +12 -11
  162. package/dist/cjs/{input-shims-c93f3c7f.js → input-shims-22a9973f.js} +18 -18
  163. package/dist/cjs/{input.utils-00741e7b.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 +152 -113
  168. package/dist/cjs/ion-avatar_3.cjs.entry.js +11 -102
  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 -47
  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 -43
  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 +17 -41
  185. package/dist/cjs/ion-item_8.cjs.entry.js +41 -114
  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 +34 -23
  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 +2 -2
  203. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -6
  204. package/dist/cjs/ion-segment_2.cjs.entry.js +31 -72
  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 +42 -60
  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-cdf1959e.js → ios.transition-ae7afca9.js} +6 -7
  218. package/dist/cjs/{keyboard-924ba9a2.js → keyboard-0272231f.js} +1 -1
  219. package/dist/cjs/{keyboard-9cd4a473.js → keyboard-af1bb365.js} +3 -5
  220. package/dist/cjs/{keyboard-controller-dc7a55c4.js → keyboard-controller-c05e747a.js} +9 -11
  221. package/dist/cjs/loader.cjs.js +3 -4
  222. package/dist/cjs/{md.transition-6a00a3e7.js → md.transition-26003e25.js} +6 -6
  223. package/dist/cjs/{notch-controller-14681d65.js → notch-controller-ae03a497.js} +4 -4
  224. package/dist/cjs/{overlays-288b775b.js → overlays-a0c6b23f.js} +20 -19
  225. package/dist/cjs/{status-tap-a41ad873.js → status-tap-03023755.js} +4 -5
  226. package/dist/cjs/{swipe-back-cf9385d3.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 +0 -13
  242. package/dist/collection/components/avatar/avatar.js +4 -113
  243. package/dist/collection/components/avatar/avatar.md.css +0 -90
  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 +1 -13
  248. package/dist/collection/components/backdrop/backdrop.js +6 -12
  249. package/dist/collection/components/backdrop/backdrop.md.css +1 -13
  250. package/dist/collection/components/badge/badge.ios.css +4 -147
  251. package/dist/collection/components/badge/badge.js +9 -97
  252. package/dist/collection/components/badge/badge.md.css +4 -131
  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 +37 -131
  260. package/dist/collection/components/button/button.js +16 -46
  261. package/dist/collection/components/button/button.md.css +41 -122
  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 +119 -179
  281. package/dist/collection/components/checkbox/checkbox.js +14 -64
  282. package/dist/collection/components/checkbox/checkbox.md.css +120 -180
  283. package/dist/collection/components/chip/chip.ios.css +1 -20
  284. package/dist/collection/components/chip/chip.js +8 -77
  285. package/dist/collection/components/chip/chip.md.css +1 -20
  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 +135 -215
  318. package/dist/collection/components/input/input.js +30 -144
  319. package/dist/collection/components/input/input.md.css +137 -237
  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 +2 -14
  331. package/dist/collection/components/item-option/item-option.js +8 -43
  332. package/dist/collection/components/item-option/item-option.md.css +2 -14
  333. package/dist/collection/components/item-options/item-options.ios.css +0 -18
  334. package/dist/collection/components/item-options/item-options.js +7 -13
  335. package/dist/collection/components/item-options/item-options.md.css +0 -18
  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 +0 -18
  342. package/dist/collection/components/list/list.js +9 -47
  343. package/dist/collection/components/list/list.md.css +2 -20
  344. package/dist/collection/components/list-header/list-header.ios.css +0 -18
  345. package/dist/collection/components/list-header/list-header.js +8 -11
  346. package/dist/collection/components/list-header/list-header.md.css +0 -18
  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 +63 -106
  360. package/dist/collection/components/modal/modal.js +11 -47
  361. package/dist/collection/components/modal/modal.md.css +63 -106
  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 +2 -8
  386. package/dist/collection/components/progress-bar/progress-bar.js +7 -42
  387. package/dist/collection/components/progress-bar/progress-bar.md.css +2 -8
  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 +27 -14
  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 +26 -60
  424. package/dist/collection/components/segment-button/segment-button.md.css +107 -148
  425. package/dist/collection/components/segment-content/segment-content.css +9 -0
  426. package/dist/collection/components/segment-content/segment-content.js +1 -1
  427. package/dist/collection/components/segment-view/segment-view.ios.css +0 -6
  428. package/dist/collection/components/segment-view/segment-view.js +4 -6
  429. package/dist/collection/components/segment-view/segment-view.md.css +0 -6
  430. package/dist/collection/components/select/select.ios.css +134 -267
  431. package/dist/collection/components/select/select.js +55 -157
  432. package/dist/collection/components/select/select.md.css +136 -283
  433. package/dist/collection/components/select-modal/select-modal.ios.css +0 -18
  434. package/dist/collection/components/select-modal/select-modal.js +3 -3
  435. package/dist/collection/components/select-modal/select-modal.md.css +3 -7
  436. package/dist/collection/components/select-option/select-option.js +2 -9
  437. package/dist/collection/components/select-popover/select-popover.ios.css +0 -18
  438. package/dist/collection/components/select-popover/select-popover.js +4 -12
  439. package/dist/collection/components/select-popover/select-popover.md.css +0 -18
  440. package/dist/collection/components/skeleton-text/skeleton-text.css +0 -6
  441. package/dist/collection/components/skeleton-text/skeleton-text.js +5 -9
  442. package/dist/collection/components/spinner/{spinner.ionic.css → spinner.css} +0 -63
  443. package/dist/collection/components/spinner/spinner.js +6 -46
  444. package/dist/collection/components/split-pane/split-pane.ios.css +2 -20
  445. package/dist/collection/components/split-pane/split-pane.js +8 -14
  446. package/dist/collection/components/split-pane/split-pane.md.css +2 -20
  447. package/dist/collection/components/tab/tab.js +2 -6
  448. package/dist/collection/components/tab-bar/tab-bar.ios.css +43 -71
  449. package/dist/collection/components/tab-bar/tab-bar.js +10 -65
  450. package/dist/collection/components/tab-bar/tab-bar.md.css +43 -71
  451. package/dist/collection/components/tab-button/tab-button.ios.css +90 -166
  452. package/dist/collection/components/tab-button/tab-button.js +8 -43
  453. package/dist/collection/components/tab-button/tab-button.md.css +88 -132
  454. package/dist/collection/components/tabs/tabs.css +1 -7
  455. package/dist/collection/components/tabs/tabs.js +1 -4
  456. package/dist/collection/components/text/text.css +0 -6
  457. package/dist/collection/components/text/text.js +6 -7
  458. package/dist/collection/components/textarea/textarea.ios.css +96 -205
  459. package/dist/collection/components/textarea/textarea.js +16 -69
  460. package/dist/collection/components/textarea/textarea.md.css +97 -218
  461. package/dist/collection/components/thumbnail/thumbnail.css +0 -6
  462. package/dist/collection/components/thumbnail/thumbnail.js +2 -9
  463. package/dist/collection/components/title/title.ios.css +4 -32
  464. package/dist/collection/components/title/title.js +7 -13
  465. package/dist/collection/components/title/title.md.css +4 -32
  466. package/dist/collection/components/toast/animations/utils.js +1 -1
  467. package/dist/collection/components/toast/toast.ios.css +35 -74
  468. package/dist/collection/components/toast/toast.js +10 -45
  469. package/dist/collection/components/toast/toast.md.css +35 -74
  470. package/dist/collection/components/toggle/toggle.ios.css +129 -245
  471. package/dist/collection/components/toggle/toggle.js +18 -73
  472. package/dist/collection/components/toggle/toggle.md.css +129 -242
  473. package/dist/collection/components/toolbar/toolbar.ios.css +47 -90
  474. package/dist/collection/components/toolbar/toolbar.js +10 -13
  475. package/dist/collection/components/toolbar/toolbar.md.css +47 -90
  476. package/dist/collection/global/ionic-global.js +13 -229
  477. package/dist/collection/utils/focus-visible.js +0 -22
  478. package/dist/collection/utils/framework-delegate.js +1 -3
  479. package/dist/collection/utils/helpers.js +2 -52
  480. package/dist/collection/utils/keyboard/keyboard-controller.js +1 -3
  481. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  482. package/dist/collection/utils/menu-controller/animations/push.js +1 -2
  483. package/dist/collection/utils/menu-controller/animations/reveal.js +1 -2
  484. package/dist/collection/utils/overlays.js +1 -2
  485. package/dist/collection/utils/test/playwright/generator.js +23 -48
  486. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -14
  487. package/dist/collection/utils/test/playwright/page/utils/set-content.js +2 -16
  488. package/dist/collection/utils/transition/ios.transition.js +0 -1
  489. package/dist/docs.json +331 -7486
  490. package/dist/esm/{animation-12d440f3.js → animation-eab5a4ca.js} +1 -1
  491. package/dist/esm/{app-globals-2497eeed.js → app-globals-7b6cbf1a.js} +1 -1
  492. package/dist/esm/{button-active-8f33f086.js → button-active-90f1dbc4.js} +2 -2
  493. package/dist/esm/{capacitor-39edcb1f.js → capacitor-59395cbd.js} +1 -1
  494. package/dist/esm/{data-591c1b05.js → data-174ad5e0.js} +6 -6
  495. package/dist/{cjs/focus-visible-fe3acfb5.js → esm/focus-visible-dd40d69f.js} +1 -27
  496. package/dist/esm/{framework-delegate-9ad3e427.js → framework-delegate-2eea1763.js} +2 -4
  497. package/dist/esm/{haptic-946542b8.js → haptic-ac164e4c.js} +1 -1
  498. package/dist/esm/hardware-back-button-864101a3.js +116 -0
  499. package/dist/esm/{helpers-ea1f7324.js → helpers-78efeec3.js} +3 -54
  500. package/dist/esm/index-40894f4b.js +167 -0
  501. package/dist/esm/{index-4c3c5d46.js → index-527b9e34.js} +1 -1
  502. package/dist/esm/index-738d7504.js +42 -0
  503. package/dist/esm/index-a5d50daf.js +7 -0
  504. package/dist/esm/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  505. package/dist/esm/{index-f36a3fa4.js → index-e919e353.js} +2 -2
  506. package/dist/esm/{index-eb1203fa.js → index-ecb55b8d.js} +6 -6
  507. package/dist/esm/{index-036caa00.js → index-f9f5d018.js} +11 -10
  508. package/dist/esm/index.js +13 -12
  509. package/dist/esm/{input-shims-96f8d7c2.js → input-shims-7dc1f6dc.js} +8 -8
  510. package/dist/esm/{input.utils-22a20c3a.js → input.utils-28bf4ef0.js} +3 -2
  511. package/dist/esm/ion-accordion_2.entry.js +24 -62
  512. package/dist/esm/ion-action-sheet.entry.js +19 -23
  513. package/dist/esm/ion-alert.entry.js +21 -24
  514. package/dist/esm/ion-app_8.entry.js +140 -101
  515. package/dist/esm/ion-avatar_3.entry.js +13 -104
  516. package/dist/esm/ion-back-button.entry.js +21 -32
  517. package/dist/esm/ion-backdrop.entry.js +7 -12
  518. package/dist/esm/ion-breadcrumb_2.entry.js +17 -56
  519. package/dist/esm/ion-button_2.entry.js +13 -45
  520. package/dist/esm/ion-card_5.entry.js +29 -54
  521. package/dist/esm/ion-checkbox.entry.js +14 -32
  522. package/dist/esm/ion-chip.entry.js +8 -44
  523. package/dist/esm/ion-col_3.entry.js +11 -15
  524. package/dist/esm/ion-datetime-button.entry.js +9 -14
  525. package/dist/esm/ion-datetime_3.entry.js +41 -117
  526. package/dist/esm/ion-fab_3.entry.js +21 -45
  527. package/dist/esm/ion-img.entry.js +4 -9
  528. package/dist/esm/ion-infinite-scroll_2.entry.js +15 -20
  529. package/dist/esm/ion-input-password-toggle.entry.js +15 -54
  530. package/dist/esm/ion-input.entry.js +25 -121
  531. package/dist/esm/ion-item-option_3.entry.js +18 -42
  532. package/dist/esm/ion-item_8.entry.js +42 -115
  533. package/dist/esm/ion-loading.entry.js +16 -19
  534. package/dist/esm/ion-menu_3.entry.js +29 -49
  535. package/dist/esm/ion-modal.entry.js +31 -60
  536. package/dist/esm/ion-nav_2.entry.js +12 -15
  537. package/dist/esm/ion-picker-column-option.entry.js +7 -13
  538. package/dist/esm/ion-picker-column.entry.js +12 -13
  539. package/dist/esm/ion-picker.entry.js +6 -12
  540. package/dist/esm/ion-popover.entry.js +16 -19
  541. package/dist/esm/ion-progress-bar.entry.js +8 -29
  542. package/dist/esm/ion-radio_2.entry.js +14 -26
  543. package/dist/esm/ion-range.entry.js +30 -19
  544. package/dist/esm/ion-refresher_2.entry.js +21 -43
  545. package/dist/esm/ion-reorder_2.entry.js +15 -40
  546. package/dist/esm/ion-ripple-effect.entry.js +8 -19
  547. package/dist/esm/ion-route_4.entry.js +8 -10
  548. package/dist/esm/ion-searchbar.entry.js +19 -141
  549. package/dist/esm/ion-segment-content.entry.js +3 -3
  550. package/dist/esm/ion-segment-view.entry.js +3 -7
  551. package/dist/esm/ion-segment_2.entry.js +32 -73
  552. package/dist/esm/ion-select-modal.entry.js +11 -10
  553. package/dist/esm/ion-select_3.entry.js +42 -136
  554. package/dist/esm/ion-spinner.entry.js +8 -34
  555. package/dist/esm/ion-split-pane.entry.js +9 -14
  556. package/dist/esm/ion-tab-bar_2.entry.js +20 -61
  557. package/dist/esm/ion-tab_2.entry.js +7 -9
  558. package/dist/esm/ion-text.entry.js +6 -7
  559. package/dist/esm/ion-textarea.entry.js +17 -53
  560. package/dist/esm/ion-toast.entry.js +17 -35
  561. package/dist/esm/ion-toggle.entry.js +23 -82
  562. package/dist/esm/ionic-global-ca86cf32.js +221 -0
  563. package/dist/esm/ionic.js +5 -6
  564. package/dist/esm/{ios.transition-cbbf0bd1.js → ios.transition-7fe5dbea.js} +7 -8
  565. package/dist/esm/{keyboard-0af19ead.js → keyboard-52278bd7.js} +3 -5
  566. package/dist/esm/{keyboard-ceb6990d.js → keyboard-73175e24.js} +1 -1
  567. package/dist/esm/{keyboard-controller-7e2da6b9.js → keyboard-controller-ec5c2bfa.js} +3 -5
  568. package/dist/esm/loader.js +5 -6
  569. package/dist/esm/{md.transition-21c93656.js → md.transition-8dc58b46.js} +7 -7
  570. package/dist/esm/{notch-controller-cd983e05.js → notch-controller-00d92e89.js} +2 -2
  571. package/dist/esm/{overlays-d60b1d1e.js → overlays-1bc809ec.js} +7 -6
  572. package/dist/esm/{status-tap-bf78b74d.js → status-tap-f6d08e9e.js} +5 -6
  573. package/dist/esm/{swipe-back-fff82194.js → swipe-back-07df2095.js} +1 -3
  574. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  575. package/dist/esm-es5/app-globals-7b6cbf1a.js +4 -0
  576. package/dist/esm-es5/{button-active-8f33f086.js → button-active-90f1dbc4.js} +1 -1
  577. package/dist/esm-es5/capacitor-59395cbd.js +4 -0
  578. package/dist/esm-es5/data-174ad5e0.js +4 -0
  579. package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
  580. package/dist/esm-es5/framework-delegate-2eea1763.js +4 -0
  581. package/dist/esm-es5/{haptic-946542b8.js → haptic-ac164e4c.js} +1 -1
  582. package/dist/esm-es5/hardware-back-button-864101a3.js +4 -0
  583. package/dist/esm-es5/helpers-78efeec3.js +4 -0
  584. package/dist/esm-es5/index-40894f4b.js +4 -0
  585. package/dist/esm-es5/{index-4c3c5d46.js → index-527b9e34.js} +1 -1
  586. package/dist/esm-es5/index-738d7504.js +4 -0
  587. package/dist/esm-es5/index-a5d50daf.js +4 -0
  588. package/dist/esm-es5/{index-d997525d.js → index-e2cf2ceb.js} +1 -1
  589. package/dist/esm-es5/index-e919e353.js +4 -0
  590. package/dist/esm-es5/index-ecb55b8d.js +4 -0
  591. package/dist/esm-es5/index-f9f5d018.js +4 -0
  592. package/dist/esm-es5/index.js +1 -1
  593. package/dist/esm-es5/input-shims-7dc1f6dc.js +4 -0
  594. package/dist/esm-es5/input.utils-28bf4ef0.js +4 -0
  595. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  596. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  597. package/dist/esm-es5/ion-alert.entry.js +1 -1
  598. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  599. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  600. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  601. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  602. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  603. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  604. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  605. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  606. package/dist/esm-es5/ion-chip.entry.js +1 -1
  607. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  608. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  609. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  610. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  611. package/dist/esm-es5/ion-img.entry.js +1 -1
  612. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  613. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  614. package/dist/esm-es5/ion-input.entry.js +1 -1
  615. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  616. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  617. package/dist/esm-es5/ion-loading.entry.js +1 -1
  618. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  619. package/dist/esm-es5/ion-modal.entry.js +1 -1
  620. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  621. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  622. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  623. package/dist/esm-es5/ion-picker.entry.js +1 -1
  624. package/dist/esm-es5/ion-popover.entry.js +1 -1
  625. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  626. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  627. package/dist/esm-es5/ion-range.entry.js +1 -1
  628. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  629. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  630. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  631. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  632. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  633. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  634. package/dist/esm-es5/ion-segment-view.entry.js +1 -1
  635. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  636. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  637. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  638. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  639. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  640. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  641. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  642. package/dist/esm-es5/ion-text.entry.js +1 -1
  643. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  644. package/dist/esm-es5/ion-toast.entry.js +1 -1
  645. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  646. package/dist/esm-es5/ionic-global-ca86cf32.js +4 -0
  647. package/dist/esm-es5/ionic.js +1 -1
  648. package/dist/esm-es5/ios.transition-7fe5dbea.js +4 -0
  649. package/dist/esm-es5/{keyboard-0af19ead.js → keyboard-52278bd7.js} +1 -1
  650. package/dist/esm-es5/{keyboard-ceb6990d.js → keyboard-73175e24.js} +1 -1
  651. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  652. package/dist/esm-es5/loader.js +1 -1
  653. package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
  654. package/dist/esm-es5/notch-controller-00d92e89.js +4 -0
  655. package/dist/esm-es5/overlays-1bc809ec.js +4 -0
  656. package/dist/esm-es5/status-tap-f6d08e9e.js +4 -0
  657. package/dist/esm-es5/swipe-back-07df2095.js +4 -0
  658. package/dist/html.html-data.json +203 -2445
  659. package/dist/ionic/index.esm.js +1 -1
  660. package/dist/ionic/ionic.esm.js +1 -1
  661. package/dist/ionic/ionic.js +1 -1
  662. package/dist/ionic/p-027a48f1.entry.js +4 -0
  663. package/dist/ionic/p-056b4c2a.system.entry.js +4 -0
  664. package/dist/ionic/p-058b7f35.js +4 -0
  665. package/dist/ionic/p-05b65d7a.entry.js +4 -0
  666. package/dist/ionic/p-0904eb08.entry.js +4 -0
  667. package/dist/ionic/p-0a456b7f.entry.js +4 -0
  668. package/dist/ionic/p-0adb6909.system.entry.js +4 -0
  669. package/dist/ionic/p-0bedc891.system.entry.js +4 -0
  670. package/dist/ionic/p-0d1be7c9.system.entry.js +4 -0
  671. package/dist/ionic/p-0ec5b7cf.system.js +4 -0
  672. package/dist/ionic/p-15bb1dde.system.js +4 -0
  673. package/dist/ionic/p-16130556.entry.js +4 -0
  674. package/dist/ionic/p-16491015.entry.js +4 -0
  675. package/dist/ionic/p-180b4f9a.entry.js +4 -0
  676. package/dist/ionic/p-19c32a76.entry.js +4 -0
  677. package/dist/ionic/{p-e028d393.system.js → p-1bf5ec17.system.js} +1 -1
  678. package/dist/ionic/p-1c1d781d.system.entry.js +4 -0
  679. package/dist/ionic/p-1c8b3ac9.entry.js +4 -0
  680. package/dist/ionic/p-1de5dfcd.system.entry.js +4 -0
  681. package/dist/ionic/p-1dfc11b3.system.js +4 -0
  682. package/dist/ionic/p-1e4371bd.js +4 -0
  683. package/dist/ionic/{p-115d74cd.system.js → p-1e955a45.system.js} +1 -1
  684. package/dist/ionic/p-21891ead.js +4 -0
  685. package/dist/ionic/{p-2d30c885.js → p-22bc235f.js} +1 -1
  686. package/dist/ionic/{p-de9f68cb.js → p-27281edd.js} +1 -1
  687. package/dist/ionic/p-28c81576.entry.js +4 -0
  688. package/dist/ionic/p-29a5b4e4.entry.js +4 -0
  689. package/dist/ionic/p-29da3dcd.entry.js +4 -0
  690. package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
  691. package/dist/ionic/p-2b7827c7.js +4 -0
  692. package/dist/ionic/p-317c1c08.entry.js +4 -0
  693. package/dist/ionic/p-33518a04.entry.js +4 -0
  694. package/dist/ionic/p-35b469f6.system.entry.js +4 -0
  695. package/dist/ionic/p-35f14792.entry.js +4 -0
  696. package/dist/ionic/p-383a6058.entry.js +4 -0
  697. package/dist/ionic/p-3855fef7.system.js +4 -0
  698. package/dist/ionic/p-38eaf9cf.system.entry.js +4 -0
  699. package/dist/ionic/p-3dad3534.system.js +4 -0
  700. package/dist/ionic/p-3f4327f7.js +4 -0
  701. package/dist/ionic/p-40388335.system.js +4 -0
  702. package/dist/ionic/p-41e70fa2.entry.js +4 -0
  703. package/dist/ionic/p-44fde7d5.system.entry.js +4 -0
  704. package/dist/ionic/p-44ff75ea.js +4 -0
  705. package/dist/ionic/p-455cd7cc.system.js +4 -0
  706. package/dist/ionic/p-4630688e.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-4eeca839.system.entry.js +4 -0
  711. package/dist/ionic/p-50e0ce13.entry.js +4 -0
  712. package/dist/ionic/p-5578033e.system.entry.js +4 -0
  713. package/dist/ionic/p-579c78d2.system.entry.js +4 -0
  714. package/dist/ionic/p-597ff9af.js +4 -0
  715. package/dist/ionic/p-5b420123.entry.js +4 -0
  716. package/dist/ionic/p-5b97abc9.entry.js +4 -0
  717. package/dist/ionic/p-5fb1321f.entry.js +4 -0
  718. package/dist/ionic/p-5fe5dc2c.system.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-63d1da62.system.entry.js +4 -0
  725. package/dist/ionic/p-64d8ac48.js +4 -0
  726. package/dist/ionic/p-657ada6a.entry.js +4 -0
  727. package/dist/ionic/p-65943bec.system.entry.js +4 -0
  728. package/dist/ionic/p-65e732b9.entry.js +4 -0
  729. package/dist/ionic/{p-578d5013.js → p-66a5d6a8.js} +1 -1
  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-707408c5.system.entry.js +4 -0
  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-7514f2f5.entry.js +4 -0
  737. package/dist/ionic/p-756e4559.js +4 -0
  738. package/dist/ionic/p-772d1657.system.js +4 -0
  739. package/dist/ionic/p-77aa5fef.system.entry.js +4 -0
  740. package/dist/ionic/p-792919fd.system.js +4 -0
  741. package/dist/ionic/p-7b30edcc.js +4 -0
  742. package/dist/ionic/p-7b886108.system.entry.js +4 -0
  743. package/dist/ionic/p-7c9daa6f.entry.js +4 -0
  744. package/dist/ionic/p-7cc33a9a.system.js +4 -0
  745. package/dist/ionic/p-7e3b5638.system.entry.js +4 -0
  746. package/dist/ionic/p-824fe96b.system.entry.js +4 -0
  747. package/dist/ionic/p-87b0d2c9.entry.js +4 -0
  748. package/dist/ionic/{p-f3fed3f9.system.js → p-8985cdb6.system.js} +1 -1
  749. package/dist/ionic/{p-2c0735b6.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-8d98e2bb.entry.js +4 -0
  753. package/dist/ionic/p-8f94769b.entry.js +4 -0
  754. package/dist/ionic/p-912131e9.system.entry.js +4 -0
  755. package/dist/ionic/{p-5df8d52a.system.js → p-9146695e.system.js} +1 -1
  756. package/dist/ionic/p-959cf042.system.entry.js +4 -0
  757. package/dist/ionic/{p-d197eaeb.system.js → p-978bdf4c.system.js} +1 -1
  758. package/dist/ionic/p-9870728f.js +4 -0
  759. package/dist/ionic/p-9af7f110.js +4 -0
  760. package/dist/ionic/p-9b069739.entry.js +4 -0
  761. package/dist/ionic/{p-b3b40a2f.system.js → p-9e45532a.system.js} +1 -1
  762. package/dist/ionic/p-a26d7667.system.entry.js +4 -0
  763. package/dist/ionic/p-a3c931ad.system.js +4 -0
  764. package/dist/ionic/{p-42e12526.system.js → p-a4866e3e.system.js} +1 -1
  765. package/dist/ionic/p-a520973b.entry.js +4 -0
  766. package/dist/ionic/{p-c0abf8f8.system.js → p-a6625de8.system.js} +1 -1
  767. package/dist/ionic/p-a768ae50.entry.js +4 -0
  768. package/dist/ionic/p-a9198501.system.entry.js +4 -0
  769. package/dist/ionic/{p-2b8078c3.system.js → p-a93873de.system.js} +1 -1
  770. package/dist/ionic/p-ab7337e1.entry.js +4 -0
  771. package/dist/ionic/p-abe101da.system.js +4 -0
  772. package/dist/ionic/p-ac09b6e9.system.entry.js +4 -0
  773. package/dist/ionic/p-ac58d726.system.entry.js +4 -0
  774. package/dist/ionic/{p-6eb15fc1.system.js → p-b06ac4a5.system.js} +1 -1
  775. package/dist/ionic/p-b1673667.entry.js +4 -0
  776. package/dist/ionic/p-b1f9fbe8.system.entry.js +4 -0
  777. package/dist/ionic/p-b2ee0628.system.entry.js +4 -0
  778. package/dist/ionic/p-b87a9f1d.entry.js +4 -0
  779. package/dist/ionic/p-b8a461f5.system.entry.js +4 -0
  780. package/dist/ionic/p-b9fa7882.js +4 -0
  781. package/dist/ionic/p-bf64af90.system.js +4 -0
  782. package/dist/ionic/p-c005cc37.entry.js +4 -0
  783. package/dist/ionic/p-c27c57ea.system.entry.js +4 -0
  784. package/dist/ionic/p-c3f9d9fe.js +4 -0
  785. package/dist/ionic/p-c468af8a.system.js +4 -0
  786. package/dist/ionic/p-c53c414d.system.entry.js +4 -0
  787. package/dist/ionic/p-c609b315.system.entry.js +4 -0
  788. package/dist/ionic/p-c61cc894.js +4 -0
  789. package/dist/ionic/p-c63d8dc1.js +4 -0
  790. package/dist/ionic/{p-a92ad86c.js → p-c7e16491.js} +1 -1
  791. package/dist/ionic/p-cbebc567.entry.js +4 -0
  792. package/dist/ionic/p-ccb740ea.entry.js +4 -0
  793. package/dist/ionic/p-cec54707.system.entry.js +4 -0
  794. package/dist/ionic/p-d40f2b7a.js +4 -0
  795. package/dist/ionic/p-d47265c8.js +4 -0
  796. package/dist/ionic/p-d70a9e6d.system.js +4 -0
  797. package/dist/ionic/p-d882f1e2.system.entry.js +4 -0
  798. package/dist/ionic/{p-58f16ef6.js → p-da2b833b.js} +1 -1
  799. package/dist/ionic/p-db3b409e.system.entry.js +4 -0
  800. package/dist/ionic/p-dcfb7283.entry.js +4 -0
  801. package/dist/ionic/p-df54ab6b.system.entry.js +4 -0
  802. package/dist/ionic/p-e0d0bc88.system.entry.js +4 -0
  803. package/dist/ionic/p-e29c5aab.system.entry.js +4 -0
  804. package/dist/ionic/p-e2ce5f8b.entry.js +4 -0
  805. package/dist/ionic/p-e3e4eed7.entry.js +4 -0
  806. package/dist/ionic/p-e4683bfd.system.entry.js +4 -0
  807. package/dist/ionic/p-e4d2c281.entry.js +4 -0
  808. package/dist/ionic/p-e6cdfa96.system.entry.js +4 -0
  809. package/dist/ionic/p-e6e0331b.entry.js +4 -0
  810. package/dist/ionic/p-e8245753.entry.js +4 -0
  811. package/dist/ionic/p-e89451e8.system.entry.js +4 -0
  812. package/dist/ionic/p-e958e381.system.entry.js +4 -0
  813. package/dist/ionic/p-ece78e7b.js +4 -0
  814. package/dist/ionic/p-ee86cfff.system.js +4 -0
  815. package/dist/ionic/p-ef4292b9.js +4 -0
  816. package/dist/ionic/{p-d2536fe8.system.js → p-f11a9436.system.js} +1 -1
  817. package/dist/ionic/p-f201b53a.system.js +4 -0
  818. package/dist/ionic/{p-34fa2a61.system.js → p-f23124c4.system.js} +2 -2
  819. package/dist/ionic/p-f6bb9be7.system.entry.js +4 -0
  820. package/dist/ionic/{p-2cbcecdb.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-ff6be116.entry.js +4 -0
  825. package/dist/ionic/p-ffa3ba3c.js +4 -0
  826. package/dist/types/components/accordion/accordion.d.ts +3 -5
  827. package/dist/types/components/accordion-group/accordion-group.d.ts +1 -12
  828. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +7 -3
  829. package/dist/types/components/action-sheet/action-sheet.d.ts +2 -3
  830. package/dist/types/components/alert/alert-interface.d.ts +7 -3
  831. package/dist/types/components/alert/alert.d.ts +2 -3
  832. package/dist/types/components/app/app.d.ts +2 -6
  833. package/dist/types/components/avatar/avatar.d.ts +0 -32
  834. package/dist/types/components/back-button/back-button.d.ts +1 -2
  835. package/dist/types/components/backdrop/backdrop.d.ts +0 -4
  836. package/dist/types/components/badge/badge.d.ts +1 -29
  837. package/dist/types/components/breadcrumb/breadcrumb.d.ts +1 -4
  838. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  839. package/dist/types/components/button/button.d.ts +4 -15
  840. package/dist/types/components/buttons/buttons.d.ts +1 -5
  841. package/dist/types/components/card/card.d.ts +1 -8
  842. package/dist/types/components/card-content/card-content.d.ts +1 -2
  843. package/dist/types/components/card-header/card-header.d.ts +2 -3
  844. package/dist/types/components/card-subtitle/card-subtitle.d.ts +1 -2
  845. package/dist/types/components/card-title/card-title.d.ts +1 -2
  846. package/dist/types/components/checkbox/checkbox.d.ts +4 -14
  847. package/dist/types/components/chip/chip.d.ts +1 -19
  848. package/dist/types/components/col/col.d.ts +0 -4
  849. package/dist/types/components/content/content.d.ts +0 -3
  850. package/dist/types/components/datetime/datetime.d.ts +1 -26
  851. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  852. package/dist/types/components/datetime-button/datetime-button.d.ts +1 -2
  853. package/dist/types/components/fab/fab.d.ts +0 -4
  854. package/dist/types/components/fab-button/fab-button.d.ts +3 -5
  855. package/dist/types/components/fab-list/fab-list.d.ts +0 -4
  856. package/dist/types/components/footer/footer.d.ts +3 -4
  857. package/dist/types/components/grid/grid.d.ts +0 -4
  858. package/dist/types/components/header/header.d.ts +3 -9
  859. package/dist/types/components/img/img.d.ts +0 -3
  860. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +0 -4
  861. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +0 -4
  862. package/dist/types/components/input/input.d.ts +5 -31
  863. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -2
  864. package/dist/types/components/item/item.d.ts +4 -11
  865. package/dist/types/components/item-divider/item-divider.d.ts +1 -2
  866. package/dist/types/components/item-group/item-group.d.ts +0 -4
  867. package/dist/types/components/item-option/item-option.d.ts +1 -11
  868. package/dist/types/components/item-options/item-options.d.ts +0 -4
  869. package/dist/types/components/item-sliding/item-sliding.d.ts +0 -4
  870. package/dist/types/components/label/label.d.ts +1 -2
  871. package/dist/types/components/list/list.d.ts +1 -15
  872. package/dist/types/components/list-header/list-header.d.ts +1 -2
  873. package/dist/types/components/loading/loading-interface.d.ts +7 -2
  874. package/dist/types/components/loading/loading.d.ts +2 -3
  875. package/dist/types/components/menu/menu.d.ts +0 -3
  876. package/dist/types/components/menu-button/menu-button.d.ts +1 -3
  877. package/dist/types/components/menu-toggle/menu-toggle.d.ts +0 -3
  878. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  879. package/dist/types/components/modal/modal-interface.d.ts +7 -4
  880. package/dist/types/components/modal/modal.d.ts +1 -11
  881. package/dist/types/components/nav/nav-interface.d.ts +1 -9
  882. package/dist/types/components/nav/nav.d.ts +1 -5
  883. package/dist/types/components/nav-link/nav-link.d.ts +0 -4
  884. package/dist/types/components/note/note.d.ts +1 -2
  885. package/dist/types/components/picker/picker.d.ts +1 -2
  886. package/dist/types/components/picker-column/picker-column.d.ts +1 -2
  887. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -4
  888. package/dist/types/components/picker-legacy/picker.d.ts +1 -2
  889. package/dist/types/components/popover/popover-interface.d.ts +6 -3
  890. package/dist/types/components/popover/popover.d.ts +5 -6
  891. package/dist/types/components/progress-bar/progress-bar.d.ts +1 -10
  892. package/dist/types/components/radio/radio.d.ts +1 -2
  893. package/dist/types/components/radio-group/radio-group.d.ts +0 -4
  894. package/dist/types/components/range/range.d.ts +10 -3
  895. package/dist/types/components/refresher/refresher.d.ts +1 -2
  896. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -4
  897. package/dist/types/components/reorder/reorder.d.ts +0 -9
  898. package/dist/types/components/reorder-group/reorder-group.d.ts +0 -4
  899. package/dist/types/components/ripple-effect/ripple-effect.d.ts +0 -4
  900. package/dist/types/components/route/route.d.ts +0 -4
  901. package/dist/types/components/router/router.d.ts +0 -4
  902. package/dist/types/components/router-link/router-link.d.ts +0 -4
  903. package/dist/types/components/router-outlet/router-outlet.d.ts +1 -4
  904. package/dist/types/components/row/row.d.ts +0 -4
  905. package/dist/types/components/searchbar/searchbar.d.ts +9 -51
  906. package/dist/types/components/segment/segment.d.ts +1 -2
  907. package/dist/types/components/segment-button/segment-button.d.ts +2 -4
  908. package/dist/types/components/select/select.d.ts +13 -41
  909. package/dist/types/components/select-option/select-option.d.ts +0 -4
  910. package/dist/types/components/select-popover/select-popover.d.ts +0 -3
  911. package/dist/types/components/skeleton-text/skeleton-text.d.ts +0 -4
  912. package/dist/types/components/spinner/spinner.d.ts +0 -15
  913. package/dist/types/components/split-pane/split-pane.d.ts +0 -4
  914. package/dist/types/components/tab/tab.d.ts +0 -4
  915. package/dist/types/components/tab-bar/tab-bar.d.ts +2 -22
  916. package/dist/types/components/tab-button/tab-button.d.ts +1 -11
  917. package/dist/types/components/tabs/tabs.d.ts +0 -3
  918. package/dist/types/components/text/text.d.ts +1 -2
  919. package/dist/types/components/textarea/textarea.d.ts +4 -17
  920. package/dist/types/components/thumbnail/thumbnail.d.ts +0 -4
  921. package/dist/types/components/title/title.d.ts +0 -4
  922. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  923. package/dist/types/components/toast/toast-interface.d.ts +7 -3
  924. package/dist/types/components/toast/toast.d.ts +2 -12
  925. package/dist/types/components/toggle/toggle.d.ts +1 -15
  926. package/dist/types/components/toolbar/toolbar.d.ts +3 -4
  927. package/dist/types/components.d.ts +191 -1461
  928. package/dist/types/global/ionic-global.d.ts +2 -27
  929. package/dist/types/interface.d.ts +0 -3
  930. package/dist/types/utils/config.d.ts +2 -106
  931. package/dist/types/utils/focus-visible.d.ts +0 -13
  932. package/dist/types/utils/helpers.d.ts +0 -12
  933. package/dist/types/utils/overlays-interface.d.ts +1 -31
  934. package/dist/types/utils/test/playwright/generator.d.ts +2 -31
  935. package/hydrate/index.js +907 -2596
  936. package/hydrate/index.mjs +907 -2596
  937. package/package.json +5 -10
  938. package/components/caret-down.js +0 -6
  939. package/components/caret-left.js +0 -6
  940. package/components/caret-right.js +0 -6
  941. package/components/config2.js +0 -79
  942. package/components/ion-divider.d.ts +0 -11
  943. package/components/ion-divider.js +0 -59
  944. package/components/list2.js +0 -6
  945. package/components/x.js +0 -6
  946. package/css/ionic/bundle.ionic.css +0 -1
  947. package/css/ionic/bundle.ionic.css.map +0 -1
  948. package/css/ionic/core.ionic.css +0 -1
  949. package/css/ionic/core.ionic.css.map +0 -1
  950. package/css/ionic/global.bundle.ionic.css +0 -1
  951. package/css/ionic/global.bundle.ionic.css.map +0 -1
  952. package/css/ionic/ionic-swiper.ionic.css +0 -1
  953. package/css/ionic/ionic-swiper.ionic.css.map +0 -1
  954. package/css/ionic/link.ionic.css +0 -1
  955. package/css/ionic/link.ionic.css.map +0 -1
  956. package/css/ionic/structure.ionic.css +0 -1
  957. package/css/ionic/structure.ionic.css.map +0 -1
  958. package/css/ionic/typography.ionic.css +0 -1
  959. package/css/ionic/typography.ionic.css.map +0 -1
  960. package/css/ionic/utils.bundle.ionic.css +0 -1
  961. package/css/ionic/utils.bundle.ionic.css.map +0 -1
  962. package/dist/cjs/caret-down-3c215cff.js +0 -8
  963. package/dist/cjs/caret-left-2bb66970.js +0 -8
  964. package/dist/cjs/caret-right-88e03970.js +0 -8
  965. package/dist/cjs/config-aff4ff52.js +0 -84
  966. package/dist/cjs/ion-divider.cjs.entry.js +0 -43
  967. package/dist/cjs/ionic-global-5c446a5e.js +0 -531
  968. package/dist/cjs/list-2930c629.js +0 -8
  969. package/dist/cjs/x-81a8f51c.js +0 -8
  970. package/dist/collection/components/accordion/accordion.ionic.css +0 -197
  971. package/dist/collection/components/accordion-group/accordion-group.ionic.css +0 -95
  972. package/dist/collection/components/avatar/avatar.ionic.css +0 -374
  973. package/dist/collection/components/backdrop/backdrop.ionic.css +0 -150
  974. package/dist/collection/components/badge/badge.ionic.css +0 -333
  975. package/dist/collection/components/button/button.ionic.css +0 -609
  976. package/dist/collection/components/buttons/buttons.ionic.css +0 -100
  977. package/dist/collection/components/card/card.ionic.css +0 -137
  978. package/dist/collection/components/card-content/card-content.ionic.css +0 -90
  979. package/dist/collection/components/card-header/card-header.ionic.css +0 -87
  980. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +0 -146
  981. package/dist/collection/components/checkbox/checkbox.ionic.css +0 -519
  982. package/dist/collection/components/chip/chip.ionic.css +0 -160
  983. package/dist/collection/components/datetime/datetime.ionic.css +0 -673
  984. package/dist/collection/components/divider/divider.ionic.css +0 -150
  985. package/dist/collection/components/divider/divider.ios.css +0 -87
  986. package/dist/collection/components/divider/divider.js +0 -76
  987. package/dist/collection/components/divider/divider.md.css +0 -87
  988. package/dist/collection/components/header/header.ionic.css +0 -86
  989. package/dist/collection/components/input/input.ionic.css +0 -922
  990. package/dist/collection/components/input-password-toggle/input-password-toggle.common.css +0 -61
  991. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +0 -141
  992. package/dist/collection/components/item/item.ionic.css +0 -497
  993. package/dist/collection/components/item-option/item-option.ionic.css +0 -332
  994. package/dist/collection/components/item-options/item-options.ionic.css +0 -259
  995. package/dist/collection/components/list/list.ionic.css +0 -192
  996. package/dist/collection/components/list-header/list-header.ionic.css +0 -236
  997. package/dist/collection/components/menu-button/menu-button.ionic.css +0 -238
  998. package/dist/collection/components/modal/modal.ionic.css +0 -245
  999. package/dist/collection/components/progress-bar/progress-bar.ionic.css +0 -333
  1000. package/dist/collection/components/radio/radio.ionic.css +0 -424
  1001. package/dist/collection/components/radio-group/radio-group.ionic.css +0 -127
  1002. package/dist/collection/components/range/range.ionic.css +0 -555
  1003. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +0 -154
  1004. package/dist/collection/components/searchbar/searchbar.ionic.css +0 -628
  1005. package/dist/collection/components/segment/segment.ionic.css +0 -117
  1006. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -355
  1007. package/dist/collection/components/select/select.ionic.css +0 -829
  1008. package/dist/collection/components/select-modal/select-modal.ionic.css +0 -121
  1009. package/dist/collection/components/spinner/spinner.common.css +0 -199
  1010. package/dist/collection/components/tab-bar/tab-bar.ionic.css +0 -188
  1011. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -327
  1012. package/dist/collection/components/textarea/textarea.ionic.css +0 -879
  1013. package/dist/collection/components/title/title.ionic.css +0 -145
  1014. package/dist/collection/components/toast/toast.ionic.css +0 -377
  1015. package/dist/collection/components/toggle/toggle.ionic.css +0 -525
  1016. package/dist/collection/components/toolbar/toolbar.ionic.css +0 -233
  1017. package/dist/esm/caret-down-3eaad1cc.js +0 -6
  1018. package/dist/esm/caret-left-33424bb0.js +0 -6
  1019. package/dist/esm/caret-right-68d856ad.js +0 -6
  1020. package/dist/esm/config-84eb9670.js +0 -79
  1021. package/dist/esm/ion-divider.entry.js +0 -39
  1022. package/dist/esm/ionic-global-b30d2cc2.js +0 -517
  1023. package/dist/esm/list-6524700c.js +0 -6
  1024. package/dist/esm/x-a64bcd9f.js +0 -6
  1025. package/dist/esm-es5/animation-12d440f3.js +0 -4
  1026. package/dist/esm-es5/app-globals-2497eeed.js +0 -4
  1027. package/dist/esm-es5/capacitor-39edcb1f.js +0 -4
  1028. package/dist/esm-es5/caret-down-3eaad1cc.js +0 -4
  1029. package/dist/esm-es5/caret-left-33424bb0.js +0 -4
  1030. package/dist/esm-es5/caret-right-68d856ad.js +0 -4
  1031. package/dist/esm-es5/config-84eb9670.js +0 -4
  1032. package/dist/esm-es5/data-591c1b05.js +0 -4
  1033. package/dist/esm-es5/focus-visible-6827442c.js +0 -4
  1034. package/dist/esm-es5/framework-delegate-9ad3e427.js +0 -4
  1035. package/dist/esm-es5/helpers-ea1f7324.js +0 -4
  1036. package/dist/esm-es5/index-036caa00.js +0 -4
  1037. package/dist/esm-es5/index-0c65e393.js +0 -4
  1038. package/dist/esm-es5/index-eb1203fa.js +0 -4
  1039. package/dist/esm-es5/index-f36a3fa4.js +0 -4
  1040. package/dist/esm-es5/input-shims-96f8d7c2.js +0 -4
  1041. package/dist/esm-es5/input.utils-22a20c3a.js +0 -4
  1042. package/dist/esm-es5/ion-divider.entry.js +0 -4
  1043. package/dist/esm-es5/ionic-global-b30d2cc2.js +0 -4
  1044. package/dist/esm-es5/ios.transition-cbbf0bd1.js +0 -4
  1045. package/dist/esm-es5/keyboard-controller-7e2da6b9.js +0 -4
  1046. package/dist/esm-es5/list-6524700c.js +0 -4
  1047. package/dist/esm-es5/md.transition-21c93656.js +0 -4
  1048. package/dist/esm-es5/notch-controller-cd983e05.js +0 -4
  1049. package/dist/esm-es5/overlays-d60b1d1e.js +0 -4
  1050. package/dist/esm-es5/status-tap-bf78b74d.js +0 -4
  1051. package/dist/esm-es5/swipe-back-fff82194.js +0 -4
  1052. package/dist/esm-es5/x-a64bcd9f.js +0 -4
  1053. package/dist/ionic/p-007e89b7.system.entry.js +0 -4
  1054. package/dist/ionic/p-01717254.entry.js +0 -4
  1055. package/dist/ionic/p-0175d2ed.system.js +0 -4
  1056. package/dist/ionic/p-01d80901.system.js +0 -4
  1057. package/dist/ionic/p-047943a4.entry.js +0 -4
  1058. package/dist/ionic/p-04ca2bc3.system.js +0 -4
  1059. package/dist/ionic/p-051208d8.system.js +0 -4
  1060. package/dist/ionic/p-0571060e.system.js +0 -4
  1061. package/dist/ionic/p-06a7a822.system.entry.js +0 -4
  1062. package/dist/ionic/p-06ec4706.js +0 -4
  1063. package/dist/ionic/p-0a2ad7af.system.entry.js +0 -4
  1064. package/dist/ionic/p-0b07a566.system.entry.js +0 -4
  1065. package/dist/ionic/p-0c5e0dc8.system.entry.js +0 -4
  1066. package/dist/ionic/p-0c6ba6d6.entry.js +0 -4
  1067. package/dist/ionic/p-0e25995f.entry.js +0 -4
  1068. package/dist/ionic/p-0eaae446.js +0 -4
  1069. package/dist/ionic/p-107ddb23.entry.js +0 -4
  1070. package/dist/ionic/p-11ac6c97.entry.js +0 -4
  1071. package/dist/ionic/p-1613cd36.system.entry.js +0 -4
  1072. package/dist/ionic/p-17f49808.system.entry.js +0 -4
  1073. package/dist/ionic/p-195c7099.system.entry.js +0 -4
  1074. package/dist/ionic/p-1a3b4566.system.entry.js +0 -4
  1075. package/dist/ionic/p-1bb9592a.entry.js +0 -4
  1076. package/dist/ionic/p-1c8f3fef.system.entry.js +0 -4
  1077. package/dist/ionic/p-1ee39457.system.entry.js +0 -4
  1078. package/dist/ionic/p-1fd5c378.system.js +0 -4
  1079. package/dist/ionic/p-20ec20dc.system.js +0 -4
  1080. package/dist/ionic/p-243adf8c.js +0 -4
  1081. package/dist/ionic/p-266448a7.system.entry.js +0 -4
  1082. package/dist/ionic/p-29b8f112.js +0 -4
  1083. package/dist/ionic/p-2a1b5646.system.js +0 -4
  1084. package/dist/ionic/p-2a4ebf7b.entry.js +0 -4
  1085. package/dist/ionic/p-2a6e60d2.system.entry.js +0 -4
  1086. package/dist/ionic/p-2aca2df7.entry.js +0 -4
  1087. package/dist/ionic/p-2c4d0578.system.entry.js +0 -4
  1088. package/dist/ionic/p-2cede1ff.system.entry.js +0 -4
  1089. package/dist/ionic/p-2f14ca13.js +0 -4
  1090. package/dist/ionic/p-31956865.system.entry.js +0 -4
  1091. package/dist/ionic/p-36b11a30.system.entry.js +0 -4
  1092. package/dist/ionic/p-3775da84.system.entry.js +0 -4
  1093. package/dist/ionic/p-396bdcf7.js +0 -4
  1094. package/dist/ionic/p-3cdea564.system.entry.js +0 -4
  1095. package/dist/ionic/p-3dd43dba.system.entry.js +0 -4
  1096. package/dist/ionic/p-3e9058ad.js +0 -4
  1097. package/dist/ionic/p-40ea7c52.js +0 -4
  1098. package/dist/ionic/p-4279f787.entry.js +0 -4
  1099. package/dist/ionic/p-429dd2b5.system.js +0 -4
  1100. package/dist/ionic/p-42acd60b.system.entry.js +0 -4
  1101. package/dist/ionic/p-43b4ca5b.entry.js +0 -4
  1102. package/dist/ionic/p-443152fd.js +0 -4
  1103. package/dist/ionic/p-4459a66e.system.js +0 -4
  1104. package/dist/ionic/p-458a5952.system.entry.js +0 -4
  1105. package/dist/ionic/p-46204887.entry.js +0 -4
  1106. package/dist/ionic/p-47fda111.entry.js +0 -4
  1107. package/dist/ionic/p-495eb25e.entry.js +0 -4
  1108. package/dist/ionic/p-4a066788.system.entry.js +0 -4
  1109. package/dist/ionic/p-534b5031.js +0 -4
  1110. package/dist/ionic/p-579b4a63.entry.js +0 -4
  1111. package/dist/ionic/p-583f0c5f.js +0 -4
  1112. package/dist/ionic/p-58a30d90.entry.js +0 -4
  1113. package/dist/ionic/p-59294db9.entry.js +0 -4
  1114. package/dist/ionic/p-59920a82.system.entry.js +0 -4
  1115. package/dist/ionic/p-5b57d327.system.js +0 -4
  1116. package/dist/ionic/p-5c586ac1.entry.js +0 -4
  1117. package/dist/ionic/p-5c9aab48.system.entry.js +0 -4
  1118. package/dist/ionic/p-5dce701d.js +0 -4
  1119. package/dist/ionic/p-607c9c33.js +0 -4
  1120. package/dist/ionic/p-61977a32.entry.js +0 -4
  1121. package/dist/ionic/p-64771457.system.entry.js +0 -4
  1122. package/dist/ionic/p-64b99a88.entry.js +0 -4
  1123. package/dist/ionic/p-653e4810.entry.js +0 -4
  1124. package/dist/ionic/p-6620dffa.entry.js +0 -4
  1125. package/dist/ionic/p-663ace5f.entry.js +0 -4
  1126. package/dist/ionic/p-66a495c4.system.entry.js +0 -4
  1127. package/dist/ionic/p-6761a590.js +0 -4
  1128. package/dist/ionic/p-689a94b3.system.entry.js +0 -4
  1129. package/dist/ionic/p-6a0dd6bc.js +0 -4
  1130. package/dist/ionic/p-6bf6e9e8.entry.js +0 -4
  1131. package/dist/ionic/p-6ce59667.entry.js +0 -4
  1132. package/dist/ionic/p-7071d7ca.js +0 -4
  1133. package/dist/ionic/p-70d36cb8.system.js +0 -4
  1134. package/dist/ionic/p-71d96a02.system.entry.js +0 -4
  1135. package/dist/ionic/p-72d019c5.system.entry.js +0 -4
  1136. package/dist/ionic/p-730993c9.system.entry.js +0 -4
  1137. package/dist/ionic/p-787d9af9.js +0 -4
  1138. package/dist/ionic/p-78abe8f7.system.entry.js +0 -4
  1139. package/dist/ionic/p-78fbb151.system.js +0 -4
  1140. package/dist/ionic/p-7ac37962.entry.js +0 -4
  1141. package/dist/ionic/p-7beb0900.system.entry.js +0 -4
  1142. package/dist/ionic/p-7d8e1a3d.system.entry.js +0 -4
  1143. package/dist/ionic/p-7dbbb35d.entry.js +0 -4
  1144. package/dist/ionic/p-80263807.system.js +0 -4
  1145. package/dist/ionic/p-85bb90f6.entry.js +0 -4
  1146. package/dist/ionic/p-85cee6c9.entry.js +0 -4
  1147. package/dist/ionic/p-86a390a7.js +0 -4
  1148. package/dist/ionic/p-883ff61d.system.entry.js +0 -4
  1149. package/dist/ionic/p-8870fcbd.entry.js +0 -4
  1150. package/dist/ionic/p-8af79b5c.entry.js +0 -4
  1151. package/dist/ionic/p-8cba58fa.system.entry.js +0 -4
  1152. package/dist/ionic/p-8cfd2546.entry.js +0 -4
  1153. package/dist/ionic/p-8d7684b7.entry.js +0 -4
  1154. package/dist/ionic/p-8f3bd9ab.system.js +0 -4
  1155. package/dist/ionic/p-90ac5fdf.entry.js +0 -4
  1156. package/dist/ionic/p-90ec152d.system.js +0 -4
  1157. package/dist/ionic/p-91ce2114.entry.js +0 -4
  1158. package/dist/ionic/p-91f7f574.entry.js +0 -4
  1159. package/dist/ionic/p-97ce7496.system.entry.js +0 -4
  1160. package/dist/ionic/p-981b8086.entry.js +0 -4
  1161. package/dist/ionic/p-999a0cef.system.entry.js +0 -4
  1162. package/dist/ionic/p-9b177519.js +0 -4
  1163. package/dist/ionic/p-9dab7e7c.js +0 -4
  1164. package/dist/ionic/p-9e9999d5.entry.js +0 -4
  1165. package/dist/ionic/p-a3144a1e.entry.js +0 -4
  1166. package/dist/ionic/p-a3ad8084.system.js +0 -4
  1167. package/dist/ionic/p-a4c11918.system.entry.js +0 -4
  1168. package/dist/ionic/p-a4c64c42.entry.js +0 -4
  1169. package/dist/ionic/p-a8ce5285.system.entry.js +0 -4
  1170. package/dist/ionic/p-a9af4103.js +0 -4
  1171. package/dist/ionic/p-b1618321.entry.js +0 -4
  1172. package/dist/ionic/p-b6baf215.entry.js +0 -4
  1173. package/dist/ionic/p-bcfc28b7.system.entry.js +0 -4
  1174. package/dist/ionic/p-bd215938.system.entry.js +0 -4
  1175. package/dist/ionic/p-be1800d4.js +0 -4
  1176. package/dist/ionic/p-befb004d.entry.js +0 -4
  1177. package/dist/ionic/p-c043a4c8.entry.js +0 -4
  1178. package/dist/ionic/p-c248c88d.system.js +0 -4
  1179. package/dist/ionic/p-c27342bf.system.entry.js +0 -4
  1180. package/dist/ionic/p-c47cb709.js +0 -4
  1181. package/dist/ionic/p-c8e12c1c.system.entry.js +0 -4
  1182. package/dist/ionic/p-cef4553b.entry.js +0 -4
  1183. package/dist/ionic/p-cff47c26.system.entry.js +0 -4
  1184. package/dist/ionic/p-d2e6afa9.system.js +0 -4
  1185. package/dist/ionic/p-d35e20cf.system.entry.js +0 -4
  1186. package/dist/ionic/p-d4a21287.js +0 -4
  1187. package/dist/ionic/p-d534a6c8.entry.js +0 -4
  1188. package/dist/ionic/p-d760d709.entry.js +0 -4
  1189. package/dist/ionic/p-da7bd63e.system.entry.js +0 -4
  1190. package/dist/ionic/p-de32ae2a.system.entry.js +0 -4
  1191. package/dist/ionic/p-deb05ec4.js +0 -4
  1192. package/dist/ionic/p-dff0b93b.system.entry.js +0 -4
  1193. package/dist/ionic/p-e028d3f1.entry.js +0 -4
  1194. package/dist/ionic/p-e341e1ec.system.entry.js +0 -4
  1195. package/dist/ionic/p-e3b70846.system.js +0 -4
  1196. package/dist/ionic/p-e913a8ec.system.entry.js +0 -4
  1197. package/dist/ionic/p-eb15cdb8.entry.js +0 -4
  1198. package/dist/ionic/p-ef7f7ba9.js +0 -4
  1199. package/dist/ionic/p-effec462.system.js +0 -4
  1200. package/dist/ionic/p-f4a27763.entry.js +0 -4
  1201. package/dist/ionic/p-f63db3d4.entry.js +0 -4
  1202. package/dist/ionic/p-fa6f50b3.entry.js +0 -4
  1203. package/dist/ionic/p-fb0197d6.system.entry.js +0 -4
  1204. package/dist/ionic/p-fcedca77.system.js +0 -4
  1205. package/dist/ionic/p-fdcaa201.system.js +0 -4
  1206. package/dist/types/components/divider/divider.d.ts +0 -20
  1207. /package/dist/collection/components/{refresher-content/refresher-content.css → input-password-toggle/input-password-toggle.css} +0 -0
package/css/core.css CHANGED
@@ -1 +1 @@
1
- :root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}:root .ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}:root .ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}:root .ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}:root .ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}:root .ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}:root .ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}:root .ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}:root .ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}:root .ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: 0.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-page{right:0;left:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none !important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports(padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports(padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate3d(0, 0, 0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal{box-shadow:4px 0px 16px rgba(0,0,0,.18)}.md .menu-content-push{box-shadow:4px 0px 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:300ms transform cubic-bezier(0.25, 0.8, 0.5, 1)}@media(prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none !important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}/*# sourceMappingURL=core.css.map */
1
+ :root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: 0.18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none !important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports(padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports(padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translate3d(0, 0, 0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal{box-shadow:4px 0px 16px rgba(0,0,0,.18)}.md .menu-content-push{box-shadow:4px 0px 16px rgba(0,0,0,.18)}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:300ms transform cubic-bezier(0.25, 0.8, 0.5, 1)}@media(prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none !important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}/*# sourceMappingURL=core.css.map */
package/css/core.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/core.scss","../src/themes/functions.color.scss","../src/components/modal/modal.vars.scss","../src/themes/mixins.scss","../src/themes/native/native.globals.scss","../src/components/menu/menu.ios.vars.scss","../src/components/menu/menu.md.vars.scss"],"names":[],"mappings":"AASA,MCwGI,6BACA,oCACA,mCACA,gDACA,mCACA,kCALA,+BACA,sCACA,qCACA,kDACA,qCACA,oCALA,8BACA,sCACA,oCACA,iDACA,oCACA,mCALA,6BACA,qCACA,mCACA,0CACA,mCACA,kCALA,6BACA,qCACA,mCACA,0CACA,mCACA,kCALA,4BACA,mCACA,kCACA,+CACA,kCACA,iCALA,2BACA,qCACA,iCACA,wCACA,iCACA,gCALA,4BACA,qCACA,kCACA,+CACA,kCACA,iCALA,0BACA,iCACA,gCACA,6CACA,gCACA,+BDpGA,yBC8EF,+DACA,0EACA,yEACA,0FACA,sEACA,oEDnFE,2BC8EF,iEACA,4EACA,2EACA,4FACA,wEACA,sEDnFE,0BC8EF,gEACA,4EACA,0EACA,2FACA,uEACA,qEDnFE,yBC8EF,+DACA,2EACA,yEACA,oFACA,sEACA,oEDnFE,yBC8EF,+DACA,2EACA,yEACA,oFACA,sEACA,oEDnFE,wBC8EF,8DACA,yEACA,wEACA,yFACA,qEACA,mEDnFE,uBC8EF,6DACA,2EACA,uEACA,kFACA,oEACA,kEDnFE,wBC8EF,8DACA,2EACA,wEACA,yFACA,qEACA,mEDnFE,sBC8EF,4DACA,uEACA,sEACA,uFACA,mEACA,iED1EF,SACE,8FAEF,QACE,2DAGF,KACE,uCACA,2CAGF,KACE,uCACA,4BAGF,wBACE,gBAaF,+LAGE,YElCwB,IF0C1B,qIAEE,eEzC2B,IFiD7B,+BACE,qDACA,mDAOF,qCACE,4CACE,0BA+BJ,2DACE,sBACA,mBAaF,wCACE,4CAMF,UGyQM,MHxQiB,EGyQjB,KHzQuB,EG6R3B,IH7RkB,EG8RlB,OH9RwB,EAExB,aACA,kBAEA,sBACA,8BAEA,0BACA,QIjGuB,EJ4GzB,oBACE,kBAEA,qBAEA,YAGF,8CACE,kBAGF,iRAeE,wBAGF,oBACE,UAGF,wCACE,cAMF,6CAEE,8BAGF,6BACE,KACE,mDAIJ,iDACE,KACE,8CACA,oDACA,gDACA,mDAOJ,mFAEE,cAMF,cG2WM,iCHvWN,mBACE,eACA,0BAUA,oBAMA,kBAUF,+BACE,mBAGF,4CACE,gBAGF,0BACE,WK5QoB,4BL+QtB,mCACE,WK7QwB,2BLoR1B,yBACE,WM3RmB,6BN8RrB,uBACE,WM/RmB,6BNqSrB,6EACE,2BACA,4BAGF,4EACE,8BACA,+BAGF,qEACE,oBAGF,0EACE,2DAGF,uCACE,yCAEE,4BAUJ,qJAEE,yBAGF,2GACE,oBACA,0BAGF,uMAEE,aASF,6CACE,iBASF,6BACE,qBACA,sBAUF,wDACE,YACA,iBAUF,uNAOE,aAgBF,oCACE,gBAUF,4CACE,kBACE","file":"core.css","sourcesContent":["@use \"sass:map\";\n@import \"../themes/native/native.globals\";\n@import \"../components/menu/menu.ios.vars\";\n@import \"../components/menu/menu.md.vars\";\n@import \"../components/modal/modal.vars\";\n\n// Ionic Colors\n// --------------------------------------------------\n\n:root {\n /**\n * Set the theme colors from the\n * `native.theme.default.scss` file.\n */\n @include set-theme-colors($colors);\n @include generate-color-variables();\n\n @each $color-name, $value in $colors {\n .ion-color-#{$color-name} {\n @include generate-color($color-name);\n }\n }\n}\n\n// Ionic Font Family\n// --------------------------------------------------\n\nhtml.ios {\n --ion-default-font: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif;\n}\nhtml.md {\n --ion-default-font: \"Roboto\", \"Helvetica Neue\", sans-serif;\n}\n\nhtml {\n --ion-dynamic-font: -apple-system-body;\n --ion-font-family: var(--ion-default-font);\n}\n\nbody {\n background: var(--ion-background-color);\n color: var(--ion-text-color);\n}\n\nbody.backdrop-no-scroll {\n overflow: hidden;\n}\n\n// Modal - Card Style\n// --------------------------------------------------\n\n/**\n * Card style modal needs additional padding on the\n * top of the header. We accomplish this by targeting\n * the first toolbar in the header.\n * Footer also needs this. We do not adjust the bottom\n * padding though because of the safe area.\n */\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal ion-footer ion-toolbar:first-of-type {\n padding-top: $modal-sheet-padding-top;\n}\n\n/**\n* Card style modal needs additional padding on the\n* bottom of the header. We accomplish this by targeting\n* the last toolbar in the header.\n*/\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {\n padding-bottom: $modal-sheet-padding-bottom;\n}\n\n/**\n* Add padding on the left and right\n* of toolbars while accounting for\n* safe area values when in landscape.\n*/\nhtml.ios ion-modal ion-toolbar {\n padding-right: calc(var(--ion-safe-area-right) + 8px);\n padding-left: calc(var(--ion-safe-area-left) + 8px);\n}\n\n/**\n * Card style modal on iPadOS\n * should only have backdrop on first instance.\n */\n@media screen and (min-width: 768px) {\n html.ios ion-modal.modal-card:first-of-type {\n --backdrop-opacity: 0.18;\n }\n}\n\n/**\n * Subsequent modals should not have a backdrop/box shadow\n * as it will cause the screen to appear to get progressively\n * darker. With Ionic 6, declarative modals made it\n * possible to have multiple non-presented modals in the DOM,\n * so we could no longer rely on ion-modal:first-of-type.\n * Here we disable the opacity/box-shadow for every modal\n * that comes after the first presented modal.\n *\n * Note: ion-modal:not(.overlay-hidden):first-of-type\n * does not match the first modal to not have\n * the .overlay-hidden class, it will match the\n * first modal in general only if it does not\n * have the .overlay-hidden class.\n * The :nth-child() pseudo-class has support\n * for selectors which would help us here. At the\n * time of writing it does not have great cross browser\n * support.\n *\n * Note 2: This should only apply to non-card and\n * non-sheet modals. Card and sheet modals have their\n * own criteria for displaying backdrops/box shadows.\n *\n * Do not use :not(.overlay-hidden) in place of\n * .show-modal because that triggers a memory\n * leak in Blink: https://bugs.chromium.org/p/chromium/issues/detail?id=1418768\n */\nion-modal.modal-default.show-modal ~ ion-modal.modal-default {\n --backdrop-opacity: 0;\n --box-shadow: none;\n}\n\n/**\n * This works around a bug in WebKit where the\n * content will overflow outside of the bottom border\n * radius when re-painting. As long as a single\n * border radius value is set on .ion-page, this\n * issue does not happen. We set the top left radius\n * here because the top left corner will always have a\n * radius no matter the platform.\n * This behavior only applies to card modals.\n */\nhtml.ios ion-modal.modal-card .ion-page {\n border-top-left-radius: var(--border-radius);\n}\n\n// Page Container Structure\n// --------------------------------------------------\n\n.ion-page {\n @include position(0, 0, 0, 0);\n\n display: flex;\n position: absolute;\n\n flex-direction: column;\n justify-content: space-between;\n\n contain: layout size style;\n z-index: $z-index-page-container;\n}\n\n/**\n * When making custom dialogs, using\n * ion-content is not required. As a result,\n * some developers may wish to have dialogs\n * that are automatically sized by the browser.\n * These changes allow certain dimension values\n * such as fit-content to work correctly.\n */\nion-modal > .ion-page {\n position: relative;\n\n contain: layout style;\n\n height: 100%;\n}\n\n.split-pane-visible > .ion-page.split-pane-main {\n position: relative;\n}\n\nion-route,\nion-route-redirect,\nion-router,\nion-select-option,\nion-nav-controller,\nion-menu-controller,\nion-action-sheet-controller,\nion-alert-controller,\nion-loading-controller,\nion-modal-controller,\nion-picker-controller,\nion-popover-controller,\nion-toast-controller,\n.ion-page-hidden {\n /* stylelint-disable-next-line declaration-no-important */\n display: none !important;\n}\n\n.ion-page-invisible {\n opacity: 0;\n}\n\n.can-go-back > ion-header ion-back-button {\n display: block;\n}\n\n// Ionic Safe Margins\n// --------------------------------------------------\n\nhtml.plt-ios.plt-hybrid,\nhtml.plt-ios.plt-pwa {\n --ion-statusbar-padding: 20px;\n}\n\n@supports (padding-top: 20px) {\n html {\n --ion-safe-area-top: var(--ion-statusbar-padding);\n }\n}\n\n@supports (padding-top: env(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: env(safe-area-inset-top);\n --ion-safe-area-bottom: env(safe-area-inset-bottom);\n --ion-safe-area-left: env(safe-area-inset-left);\n --ion-safe-area-right: env(safe-area-inset-right);\n }\n}\n\n// Global Card Styles\n// --------------------------------------------------\n\nion-card.ion-color .ion-inherit-color,\nion-card-header.ion-color .ion-inherit-color {\n color: inherit;\n}\n\n// Menu Styles\n// --------------------------------------------------\n\n.menu-content {\n @include transform(translate3d(0, 0, 0));\n}\n\n.menu-content-open {\n cursor: pointer;\n touch-action: manipulation;\n\n /**\n * The containing element itself should be clickable but\n * everything inside of it should not clickable when menu is open\n *\n * Setting pointer-events after scrolling has already started\n * will not cancel scrolling which is why we also set\n * overflow-y below.\n */\n pointer-events: none;\n\n /**\n * This accounts for scenarios where the main content itself\n * is scrollable.\n */\n overflow-y: hidden;\n}\n\n/**\n * Setting overflow cancels any in-progress scrolling\n * when the menu opens. This prevents users from accidentally\n * scrolling the main content while also dragging the menu open.\n * The code below accounts for both ion-content and then custom\n * scroll containers within ion-content (such as virtual scroll)\n */\n.menu-content-open ion-content {\n --overflow: hidden;\n}\n\n.menu-content-open .ion-content-scroll-host {\n overflow: hidden;\n}\n\n.ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal;\n}\n\n[dir=\"rtl\"].ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal-rtl;\n}\n\n.ios .menu-content-push {\n box-shadow: $menu-ios-box-shadow-push;\n}\n\n.md .menu-content-reveal {\n box-shadow: $menu-md-box-shadow;\n}\n\n.md .menu-content-push {\n box-shadow: $menu-md-box-shadow;\n}\n\n// Accordion Styles\n// --------------------------------------------------\n\nion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\n\nion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\n\nion-accordion-group > ion-accordion:last-of-type ion-item[slot=\"header\"] {\n --border-width: 0px;\n}\n\nion-accordion.accordion-animated > [slot=\"header\"] .ion-accordion-toggle-icon {\n transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n ion-accordion .ion-accordion-toggle-icon {\n /* stylelint-disable declaration-no-important */\n transition: none !important;\n }\n}\n\n/**\n * The > [slot=\"header\"] selector ensures that we do\n * not modify toggle icons for any nested accordions. The state\n * of one accordion should not affect any accordions inside\n * of a nested accordion group.\n */\nion-accordion.accordion-expanding > [slot=\"header\"] .ion-accordion-toggle-icon,\nion-accordion.accordion-expanded > [slot=\"header\"] .ion-accordion-toggle-icon {\n transform: rotate(180deg);\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=\"header\"] {\n --border-width: 0px;\n --inner-border-width: 0px;\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type,\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {\n margin-top: 0;\n}\n\n// Datetime Styles\n// --------------------------------------------------\n\n// Safari/iOS 15 changes the appearance of input[type=\"date\"].\n// For backwards compatibility from Ionic 5/Safari 14 designs,\n// we override the appearance only when using within an ion-input.\nion-input input::-webkit-date-and-time-value {\n text-align: start;\n}\n\n/**\n * The .ion-datetime-button-overlay class contains\n * styles that allow any modal/popover to be\n * sized according to the dimensions of the datetime\n * when used with ion-datetime-button.\n */\n.ion-datetime-button-overlay {\n --width: fit-content;\n --height: fit-content;\n}\n\n/**\n * The grid variant can scale down when inline.\n * When used in a `fit-content` overlay, this causes\n * the overlay to shrink when the month/year picker is open.\n * Explicitly setting the dimensions lets us have a consistently\n * sized grid interface.\n */\n.ion-datetime-button-overlay ion-datetime.datetime-grid {\n width: 320px;\n min-height: 320px;\n}\n\n/**\n * When moving focus on page transitions we call .focus() on an element which can\n * add an undesired outline ring. This CSS removes the outline ring.\n * We also remove the outline ring from elements that are actively being focused\n * by the focus manager. We are intentionally selective about which elements this\n * applies to so we do not accidentally override outlines set by the developer.\n */\n[ion-last-focus],\nheader[tabindex=\"-1\"]:focus,\n[role=\"banner\"][tabindex=\"-1\"]:focus,\nmain[tabindex=\"-1\"]:focus,\n[role=\"main\"][tabindex=\"-1\"]:focus,\nh1[tabindex=\"-1\"]:focus,\n[role=\"heading\"][aria-level=\"1\"][tabindex=\"-1\"]:focus {\n outline: none;\n}\n\n// Popover Styles\n// --------------------------------------------------\n\n/*\n * If a popover has a child ion-content (or class equivalent) then the .popover-viewport element\n * should not be scrollable to ensure the inner content does scroll. However, if the popover\n * does not have a child ion-content (or class equivalent) then the .popover-viewport element\n * should remain scrollable. This code exists globally because popover targets\n * .popover-viewport using ::slotted which only supports simple selectors.\n *\n * Note that we do not need to account for .ion-content-scroll-host here because that\n * class should always be placed within ion-content even if ion-content is not scrollable.\n */\n.popover-viewport:has(> ion-content) {\n overflow: hidden;\n}\n\n/**\n * :has has cross-browser support, but it is still relatively new. As a result,\n * we should fallback to the old behavior for environments that do not support :has.\n * Developers can explicitly enable this behavior by setting overflow: visible\n * on .popover-viewport if they know they are not going to use an ion-content.\n * TODO FW-6106 Remove this\n */\n@supports not selector(:has(> ion-content)) {\n .popover-viewport {\n overflow: hidden;\n }\n}\n","// Set the theme colors map to be used by the color functions\n// --------------------------------------------------------------------------------------------\n@mixin set-theme-colors($colorsMap) {\n $theme-colors: $colorsMap !global;\n}\n\n// Gets the active color's css variable from a variation. Alpha is optional.\n// --------------------------------------------------------------------------------------------\n// Example usage:\n// current-color(base) => var(--ion-color-base)\n// current-color(contrast, 0.1) => rgba(var(--ion-color-contrast-rgb), 0.1)\n// --------------------------------------------------------------------------------------------\n@function current-color($variation, $alpha: null) {\n @if $alpha == null {\n @return var(--ion-color-#{$variation});\n } @else {\n @return rgba(var(--ion-color-#{$variation}-rgb), #{$alpha});\n }\n}\n\n// Gets the specific color's css variable from the name and variation. Alpha/rgb are optional.\n// --------------------------------------------------------------------------------------------\n// Example usage:\n// ion-color(primary, base) => var(--ion-color-primary, #3880ff)\n// ion-color(secondary, contrast) => var(--ion-color-secondary-contrast)\n// ion-color(primary, base, 0.5) => rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.5)\n// --------------------------------------------------------------------------------------------\n@function ion-color($name, $variation, $alpha: null, $rgb: null) {\n @if not($theme-colors) {\n @error 'No theme colors set. Please make sure to call set-theme-colors($colorsMap) before using ion-color()';\n }\n\n $values: map-get($theme-colors, $name);\n $value: map-get($values, $variation);\n $variable: --ion-color-#{$name}-#{$variation};\n\n @if ($variation == base) {\n $variable: --ion-color-#{$name};\n }\n\n @if ($alpha) {\n $value: color-to-rgb-list($value);\n\n @return rgba(var(#{$variable}-rgb, $value), $alpha);\n }\n\n @if ($rgb) {\n $value: color-to-rgb-list($value);\n $variable: #{$variable}-rgb;\n }\n\n @return var(#{$variable}, $value);\n}\n\n// Mixes a color with black to create its shade.\n// --------------------------------------------------------------------------------------------\n@function get-color-shade($color) {\n @if (type-of($color) != color) {\n @return $color;\n }\n @return mix(#000, $color, 12%);\n}\n\n// Mixes a color with white to create its tint.\n// --------------------------------------------------------------------------------------------\n@function get-color-tint($color) {\n @if (type-of($color) != color) {\n @return $color;\n }\n @return mix(#fff, $color, 10%);\n}\n\n// Converts a color to a comma separated rgb.\n// --------------------------------------------------------------------------------------------\n@function color-to-rgb-list($color) {\n @if (type-of($color) != color) {\n @return $color;\n }\n @return #{red($color)}, #{green($color)}, #{blue($color)};\n}\n\n// Generates the color classes and variables\n// based on the colors map\n// --------------------------------------------------------------------------------------------\n@mixin generate-color($color-name) {\n @if not($theme-colors) {\n @error 'No theme colors set. Please make sure to call set-theme-colors($colorsMap) before using ion-color()';\n }\n\n $value: map-get($theme-colors, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --ion-color-base: var(--ion-color-#{$color-name}, #{$base}) !important;\n --ion-color-base-rgb: var(--ion-color-#{$color-name}-rgb, #{color-to-rgb-list($base)}) !important;\n --ion-color-contrast: var(--ion-color-#{$color-name}-contrast, #{$contrast}) !important;\n --ion-color-contrast-rgb: var(--ion-color-#{$color-name}-contrast-rgb, #{color-to-rgb-list($contrast)}) !important;\n --ion-color-shade: var(--ion-color-#{$color-name}-shade, #{$shade}) !important;\n --ion-color-tint: var(--ion-color-#{$color-name}-tint, #{$tint}) !important;\n}\n\n// Generates the CSS variables for each color\n// based on the colors map\n// --------------------------------------------------------------------------------------------\n@mixin generate-color-variables() {\n @if not($theme-colors) {\n @error 'No theme colors set. Please make sure to call set-theme-colors($colorsMap) before using ion-color()';\n }\n\n @each $color-name, $value in $theme-colors {\n --ion-color-#{$color-name}: #{map-get($value, base)};\n --ion-color-#{$color-name}-rgb: #{color-to-rgb-list(map-get($value, base))};\n --ion-color-#{$color-name}-contrast: #{map-get($value, contrast)};\n --ion-color-#{$color-name}-contrast-rgb: #{color-to-rgb-list(map-get($value, contrast))};\n --ion-color-#{$color-name}-shade: #{map-get($value, shade)};\n --ion-color-#{$color-name}-tint: #{map-get($value, tint)};\n }\n}\n","@import \"../../themes/native/native.globals\";\n\n// Modals\n// --------------------------------------------------\n\n/// @prop - Min width of the modal inset\n$modal-inset-min-width: 768px;\n\n/// @prop - Minimum height of the small modal inset\n$modal-inset-min-height-small: 600px;\n\n/// @prop - Minimum height of the large modal inset\n$modal-inset-min-height-large: 768px;\n\n/// @prop - Width of the large modal inset\n$modal-inset-width: 600px;\n\n/// @prop - Height of the small modal inset\n$modal-inset-height-small: 500px;\n\n/// @prop - Height of the large modal inset\n$modal-inset-height-large: 600px;\n\n/// @prop - Text color of the modal content\n$modal-text-color: $text-color;\n\n/// @prop - Padding top of the sheet modal\n$modal-sheet-padding-top: 6px;\n\n/// @prop - Padding bottom of the sheet modal\n$modal-sheet-padding-bottom: 6px;\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","// Global Utility Functions\n@import \"../functions.sizes\";\n@import \"../functions.string\";\n\n// Global Color Functions\n@import \"../functions.color\";\n\n// Global Font Functions\n@import \"../functions.font\";\n\n// Global Mixins\n@import \"../mixins\";\n\n// Default Theme\n@import \"./native.theme.default\";\n@include set-theme-colors($colors);\n\n// Default General\n// --------------------------------------------------\n$font-family-base: var(--ion-font-family, inherit);\n\n// Hairlines width\n$hairlines-width: 0.55px;\n\n// The minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries\n$screen-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n);\n\n// Input placeholder opacity\n// Ensures that the placeholder has the\n// correct color contrast against the background.\n$placeholder-opacity: var(--ion-placeholder-opacity, 0.6);\n\n$form-control-label-margin: 16px;\n\n// How much the stacked labels should be scaled by\n/// The value 0.75 is used to match the MD spec.\n/// iOS does not have a floating label design spec, so we standardize on 0.75.\n$form-control-label-stacked-scale: 0.75;\n\n// Z-Index\n// --------------------------------------------------\n// Grouped by elements which would be siblings\n\n$z-index-menu-overlay: 1000;\n$z-index-overlay: 1001;\n\n$z-index-fixed-content: 999;\n$z-index-refresher: -1;\n\n$z-index-page-container: 0;\n$z-index-toolbar: 10;\n$z-index-toolbar-background: -1;\n$z-index-toolbar-buttons: 99;\n\n$z-index-backdrop: 2;\n$z-index-overlay-wrapper: 10;\n\n$z-index-item-options: 1;\n$z-index-item-input: 2;\n$z-index-item-divider: 100;\n\n$z-index-reorder-selected: 100;\n","@import \"../../themes/native/native.globals.ios\";\n\n// iOS Menu\n// --------------------------------------------------\n\n/// @prop - Box shadow color of the menu\n$menu-ios-box-shadow-color: rgba(0, 0, 0, 0.08);\n\n/// @prop - Box shadow of the menu\n$menu-ios-box-shadow: -8px 0 42px $menu-ios-box-shadow-color;\n\n/// @prop - Box shadow of the menu in rtl mode\n$menu-ios-box-shadow-rtl: 8px 0 42px $menu-ios-box-shadow-color;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal: $menu-ios-box-shadow;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal-rtl: $menu-ios-box-shadow-rtl;\n\n/// @prop - Box shadow of the push menu\n$menu-ios-box-shadow-push: null;\n\n/// @prop - Box shadow of the overlay menu\n$menu-ios-box-shadow-overlay: null;\n","@import \"../../themes/native/native.globals.md\";\n\n// Material Design Menu\n// --------------------------------------------------\n\n/// @prop - Box shadow of the menu\n$menu-md-box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/core.scss","../src/components/modal/modal.vars.scss","../src/themes/ionic.mixins.scss","../src/themes/ionic.globals.scss","../src/components/menu/menu.ios.vars.scss","../src/components/menu/menu.md.vars.scss"],"names":[],"mappings":"AAMA,MAOI,6BACA,oCACA,mCACA,gDACA,mCACA,kCALA,+BACA,sCACA,qCACA,kDACA,qCACA,oCALA,8BACA,sCACA,oCACA,iDACA,oCACA,mCALA,6BACA,qCACA,mCACA,0CACA,mCACA,kCALA,6BACA,qCACA,mCACA,0CACA,mCACA,kCALA,4BACA,mCACA,kCACA,+CACA,kCACA,iCALA,2BACA,qCACA,iCACA,wCACA,iCACA,gCALA,4BACA,qCACA,kCACA,+CACA,kCACA,iCALA,0BACA,iCACA,gCACA,6CACA,gCACA,+BAOJ,SACE,8FAEF,QACE,2DAGF,KACE,uCACA,2CAGF,KACE,uCACA,4BAGF,wBACE,gBAYF,+LAGE,YC/B+B,IDuCjC,qIAEE,eCtC+B,ID8CjC,+BACE,qDACA,mDAOF,qCACE,4CACE,0BA+BJ,2DACE,sBACA,mBAaF,wCACE,4CAyBA,mBATA,+DACA,0EACA,yEACA,0FACA,sEACA,oEAIA,qBATA,iEACA,4EACA,2EACA,4FACA,wEACA,sEAIA,oBATA,gEACA,4EACA,0EACA,2FACA,uEACA,qEAIA,mBATA,+DACA,2EACA,yEACA,oFACA,sEACA,oEAIA,mBATA,+DACA,2EACA,yEACA,oFACA,sEACA,oEAIA,kBATA,8DACA,yEACA,wEACA,yFACA,qEACA,mEAIA,iBATA,6DACA,2EACA,uEACA,kFACA,oEACA,kEAIA,kBATA,8DACA,2EACA,wEACA,yFACA,qEACA,mEAIA,gBATA,4DACA,uEACA,sEACA,uFACA,mEACA,iEAaF,UEqOM,KFpOuB,EEqOvB,MFrOiB,EEyPrB,IFzPkB,EE0PlB,OF1PwB,EAExB,aACA,kBAEA,sBACA,8BAEA,0BACA,QGzH+B,EHoIjC,oBACE,kBAEA,qBAEA,YAGF,8CACE,kBAGF,iRAeE,wBAGF,oBACE,UAGF,wCACE,cAOF,6CACE,8BAGF,6BACE,KACE,mDAIJ,iDACE,KACE,8CACA,oDACA,gDACA,mDAQJ,mFAEE,cAOF,cE6TM,iCFzTN,mBACE,eACA,0BAUA,oBAMA,kBAUF,+BACE,mBAGF,4CACE,gBAGF,0BACE,WIvS+B,4BJ0SjC,mCACE,WIxS+B,2BJ+SjC,yBACE,WKtT8B,6BLyThC,uBACE,WK1T8B,6BL8ThC,6EACE,2BACA,4BAEF,4EACE,8BACA,+BAEF,qEACE,oBAGF,0EACE,2DAGF,uCACE,yCAEE,4BASJ,qJAEE,yBAGF,2GACE,oBACA,0BAGF,uMAEE,aAMF,6CACE,iBASF,6BACE,qBACA,sBAUF,wDACE,YACA,iBAUF,uNAOE,aAaF,oCACE,gBAUF,4CACE,kBACE","file":"core.css","sourcesContent":["@use \"sass:map\";\n@import \"../themes/ionic.globals\";\n@import \"../components/menu/menu.ios.vars\";\n@import \"../components/menu/menu.md.vars\";\n@import \"../components/modal/modal.vars\";\n\n:root {\n /**\n * Loop through each color object from the\n * `ionic.theme.default.scss` file\n * and generate CSS Variables for each color.\n */\n @each $color-name, $value in $colors {\n --ion-color-#{$color-name}: #{map.get($value, base)};\n --ion-color-#{$color-name}-rgb: #{color-to-rgb-list(map.get($value, base))};\n --ion-color-#{$color-name}-contrast: #{map.get($value, contrast)};\n --ion-color-#{$color-name}-contrast-rgb: #{color-to-rgb-list(map.get($value, contrast))};\n --ion-color-#{$color-name}-shade: #{map.get($value, shade)};\n --ion-color-#{$color-name}-tint: #{map.get($value, tint)};\n }\n}\n\n// Ionic Font Family\n// --------------------------------------------------\n\nhtml.ios {\n --ion-default-font: -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif;\n}\nhtml.md {\n --ion-default-font: \"Roboto\", \"Helvetica Neue\", sans-serif;\n}\n\nhtml {\n --ion-dynamic-font: -apple-system-body;\n --ion-font-family: var(--ion-default-font);\n}\n\nbody {\n background: var(--ion-background-color);\n color: var(--ion-text-color);\n}\n\nbody.backdrop-no-scroll {\n overflow: hidden;\n}\n\n// Modal - Card Style\n// --------------------------------------------------\n/**\n * Card style modal needs additional padding on the\n * top of the header. We accomplish this by targeting\n * the first toolbar in the header.\n * Footer also needs this. We do not adjust the bottom\n * padding though because of the safe area.\n */\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,\nhtml.ios ion-modal ion-footer ion-toolbar:first-of-type {\n padding-top: $modal-sheet-padding-top;\n}\n\n/**\n* Card style modal needs additional padding on the\n* bottom of the header. We accomplish this by targeting\n* the last toolbar in the header.\n*/\nhtml.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,\nhtml.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {\n padding-bottom: $modal-sheet-padding-bottom;\n}\n\n/**\n* Add padding on the left and right\n* of toolbars while accounting for\n* safe area values when in landscape.\n*/\nhtml.ios ion-modal ion-toolbar {\n padding-right: calc(var(--ion-safe-area-right) + 8px);\n padding-left: calc(var(--ion-safe-area-left) + 8px);\n}\n\n/**\n * Card style modal on iPadOS\n * should only have backdrop on first instance.\n */\n@media screen and (min-width: 768px) {\n html.ios ion-modal.modal-card:first-of-type {\n --backdrop-opacity: 0.18;\n }\n}\n\n/**\n * Subsequent modals should not have a backdrop/box shadow\n * as it will cause the screen to appear to get progressively\n * darker. With Ionic 6, declarative modals made it\n * possible to have multiple non-presented modals in the DOM,\n * so we could no longer rely on ion-modal:first-of-type.\n * Here we disable the opacity/box-shadow for every modal\n * that comes after the first presented modal.\n *\n * Note: ion-modal:not(.overlay-hidden):first-of-type\n * does not match the first modal to not have\n * the .overlay-hidden class, it will match the\n * first modal in general only if it does not\n * have the .overlay-hidden class.\n * The :nth-child() pseudo-class has support\n * for selectors which would help us here. At the\n * time of writing it does not have great cross browser\n * support.\n *\n * Note 2: This should only apply to non-card and\n * non-sheet modals. Card and sheet modals have their\n * own criteria for displaying backdrops/box shadows.\n *\n * Do not use :not(.overlay-hidden) in place of\n * .show-modal because that triggers a memory\n * leak in Blink: https://bugs.chromium.org/p/chromium/issues/detail?id=1418768\n */\nion-modal.modal-default.show-modal ~ ion-modal.modal-default {\n --backdrop-opacity: 0;\n --box-shadow: none;\n}\n\n/**\n * This works around a bug in WebKit where the\n * content will overflow outside of the bottom border\n * radius when re-painting. As long as a single\n * border radius value is set on .ion-page, this\n * issue does not happen. We set the top left radius\n * here because the top left corner will always have a\n * radius no matter the platform.\n * This behavior only applies to card modals.\n */\nhtml.ios ion-modal.modal-card .ion-page {\n border-top-left-radius: var(--border-radius);\n}\n\n// Ionic Colors\n// --------------------------------------------------\n// Generates the color classes and variables based on the\n// colors map\n\n@mixin generate-color($color-name) {\n $value: map-get($colors, $color-name);\n\n $base: map-get($value, base);\n $contrast: map-get($value, contrast);\n $shade: map-get($value, shade);\n $tint: map-get($value, tint);\n\n --ion-color-base: var(--ion-color-#{$color-name}, #{$base}) !important;\n --ion-color-base-rgb: var(--ion-color-#{$color-name}-rgb, #{color-to-rgb-list($base)}) !important;\n --ion-color-contrast: var(--ion-color-#{$color-name}-contrast, #{$contrast}) !important;\n --ion-color-contrast-rgb: var(--ion-color-#{$color-name}-contrast-rgb, #{color-to-rgb-list($contrast)}) !important;\n --ion-color-shade: var(--ion-color-#{$color-name}-shade, #{$shade}) !important;\n --ion-color-tint: var(--ion-color-#{$color-name}-tint, #{$tint}) !important;\n}\n\n@each $color-name, $value in $colors {\n .ion-color-#{$color-name} {\n @include generate-color($color-name);\n }\n}\n\n\n// Page Container Structure\n// --------------------------------------------------\n\n.ion-page {\n @include position(0, 0, 0, 0);\n\n display: flex;\n position: absolute;\n\n flex-direction: column;\n justify-content: space-between;\n\n contain: layout size style;\n z-index: $z-index-page-container;\n}\n\n/**\n * When making custom dialogs, using\n * ion-content is not required. As a result,\n * some developers may wish to have dialogs\n * that are automatically sized by the browser.\n * These changes allow certain dimension values\n * such as fit-content to work correctly.\n */\nion-modal > .ion-page {\n position: relative;\n\n contain: layout style;\n\n height: 100%;\n}\n\n.split-pane-visible > .ion-page.split-pane-main {\n position: relative;\n}\n\nion-route,\nion-route-redirect,\nion-router,\nion-select-option,\nion-nav-controller,\nion-menu-controller,\nion-action-sheet-controller,\nion-alert-controller,\nion-loading-controller,\nion-modal-controller,\nion-picker-controller,\nion-popover-controller,\nion-toast-controller,\n.ion-page-hidden {\n /* stylelint-disable-next-line declaration-no-important */\n display: none !important;\n}\n\n.ion-page-invisible {\n opacity: 0;\n}\n\n.can-go-back > ion-header ion-back-button {\n display: block;\n}\n\n\n// Ionic Safe Margins\n// --------------------------------------------------\n\nhtml.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {\n --ion-statusbar-padding: 20px;\n}\n\n@supports (padding-top: 20px) {\n html {\n --ion-safe-area-top: var(--ion-statusbar-padding);\n }\n}\n\n@supports (padding-top: env(safe-area-inset-top)) {\n html {\n --ion-safe-area-top: env(safe-area-inset-top);\n --ion-safe-area-bottom: env(safe-area-inset-bottom);\n --ion-safe-area-left: env(safe-area-inset-left);\n --ion-safe-area-right: env(safe-area-inset-right);\n }\n}\n\n\n// Global Card Styles\n// --------------------------------------------------\n\nion-card.ion-color .ion-inherit-color,\nion-card-header.ion-color .ion-inherit-color {\n color: inherit;\n}\n\n\n// Menu Styles\n// --------------------------------------------------\n\n.menu-content {\n @include transform(translate3d(0, 0, 0));\n}\n\n.menu-content-open {\n cursor: pointer;\n touch-action: manipulation;\n\n /**\n * The containing element itself should be clickable but\n * everything inside of it should not clickable when menu is open\n *\n * Setting pointer-events after scrolling has already started\n * will not cancel scrolling which is why we also set\n * overflow-y below.\n */\n pointer-events: none;\n\n /**\n * This accounts for scenarios where the main content itself\n * is scrollable.\n */\n overflow-y: hidden;\n}\n\n/**\n * Setting overflow cancels any in-progress scrolling\n * when the menu opens. This prevents users from accidentally\n * scrolling the main content while also dragging the menu open.\n * The code below accounts for both ion-content and then custom\n * scroll containers within ion-content (such as virtual scroll)\n */\n.menu-content-open ion-content {\n --overflow: hidden;\n}\n\n.menu-content-open .ion-content-scroll-host {\n overflow: hidden;\n}\n\n.ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal;\n}\n\n[dir=rtl].ios .menu-content-reveal {\n box-shadow: $menu-ios-box-shadow-reveal-rtl;\n}\n\n.ios .menu-content-push {\n box-shadow: $menu-ios-box-shadow-push;\n}\n\n.md .menu-content-reveal {\n box-shadow: $menu-md-box-shadow;\n}\n\n.md .menu-content-push {\n box-shadow: $menu-md-box-shadow;\n}\n\n// Accordion Styles\nion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n}\nion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n}\nion-accordion-group > ion-accordion:last-of-type ion-item[slot=\"header\"] {\n --border-width: 0px;\n}\n\nion-accordion.accordion-animated > [slot=\"header\"] .ion-accordion-toggle-icon {\n transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n\n@media (prefers-reduced-motion: reduce) {\n ion-accordion .ion-accordion-toggle-icon {\n /* stylelint-disable declaration-no-important */\n transition: none !important;\n }\n}\n/**\n * The > [slot=\"header\"] selector ensures that we do\n * not modify toggle icons for any nested accordions. The state\n * of one accordion should not affect any accordions inside\n * of a nested accordion group.\n */\nion-accordion.accordion-expanding > [slot=\"header\"] .ion-accordion-toggle-icon,\nion-accordion.accordion-expanded > [slot=\"header\"] .ion-accordion-toggle-icon {\n transform: rotate(180deg);\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=\"header\"] {\n --border-width: 0px;\n --inner-border-width: 0px;\n}\n\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type,\nion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {\n margin-top: 0;\n}\n\n// Safari/iOS 15 changes the appearance of input[type=\"date\"].\n// For backwards compatibility from Ionic 5/Safari 14 designs,\n// we override the appearance only when using within an ion-input.\nion-input input::-webkit-date-and-time-value {\n text-align: start;\n}\n\n/**\n * The .ion-datetime-button-overlay class contains\n * styles that allow any modal/popover to be\n * sized according to the dimensions of the datetime\n * when used with ion-datetime-button.\n */\n.ion-datetime-button-overlay {\n --width: fit-content;\n --height: fit-content;\n}\n\n/**\n * The grid variant can scale down when inline.\n * When used in a `fit-content` overlay, this causes\n * the overlay to shrink when the month/year picker is open.\n * Explicitly setting the dimensions lets us have a consistently\n * sized grid interface.\n */\n.ion-datetime-button-overlay ion-datetime.datetime-grid {\n width: 320px;\n min-height: 320px;\n}\n\n/**\n * When moving focus on page transitions we call .focus() on an element which can\n * add an undesired outline ring. This CSS removes the outline ring.\n * We also remove the outline ring from elements that are actively being focused\n * by the focus manager. We are intentionally selective about which elements this\n * applies to so we do not accidentally override outlines set by the developer.\n */\n[ion-last-focus],\nheader[tabindex=\"-1\"]:focus,\n[role=\"banner\"][tabindex=\"-1\"]:focus,\nmain[tabindex=\"-1\"]:focus,\n[role=\"main\"][tabindex=\"-1\"]:focus,\nh1[tabindex=\"-1\"]:focus,\n[role=\"heading\"][aria-level=\"1\"][tabindex=\"-1\"]:focus {\n outline: none;\n}\n\n/*\n * If a popover has a child ion-content (or class equivalent) then the .popover-viewport element\n * should not be scrollable to ensure the inner content does scroll. However, if the popover\n * does not have a child ion-content (or class equivalent) then the .popover-viewport element\n * should remain scrollable. This code exists globally because popover targets\n * .popover-viewport using ::slotted which only supports simple selectors.\n *\n * Note that we do not need to account for .ion-content-scroll-host here because that\n * class should always be placed within ion-content even if ion-content is not scrollable.\n */\n.popover-viewport:has(> ion-content) {\n overflow: hidden;\n}\n\n/**\n * :has has cross-browser support, but it is still relatively new. As a result,\n * we should fallback to the old behavior for environments that do not support :has.\n * Developers can explicitly enable this behavior by setting overflow: visible\n * on .popover-viewport if they know they are not going to use an ion-content.\n * TODO FW-6106 Remove this\n */\n@supports not selector(:has(> ion-content)) {\n .popover-viewport {\n overflow: hidden;\n }\n}\n","@import \"../../themes/ionic.globals\";\n\n// Modals\n// --------------------------------------------------\n\n/// @prop - Min width of the modal inset\n$modal-inset-min-width: 768px;\n\n/// @prop - Minimum height of the small modal inset\n$modal-inset-min-height-small: 600px;\n\n/// @prop - Minimum height of the large modal inset\n$modal-inset-min-height-large: 768px;\n\n/// @prop - Width of the large modal inset\n$modal-inset-width: 600px;\n\n/// @prop - Height of the small modal inset\n$modal-inset-height-small: 500px;\n\n/// @prop - Height of the large modal inset\n$modal-inset-height-large: 600px;\n\n/// @prop - Text color of the modal content\n$modal-text-color: $text-color;\n\n/// @prop - Padding top of the sheet modal\n$modal-sheet-padding-top: 6px;\n\n/// @prop - Padding bottom of the sheet modal\n$modal-sheet-padding-bottom: 6px;\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","\n// Global Utility Functions\n@import \"./ionic.functions.string\";\n\n// Global Color Functions\n@import \"./ionic.functions.color\";\n\n// Global Font Functions\n@import \"./ionic.functions.font\";\n\n// Global Mixins\n@import \"./ionic.mixins\";\n\n// Default Theme\n@import \"./ionic.theme.default\";\n\n\n// Default General\n// --------------------------------------------------\n$font-family-base: var(--ion-font-family, inherit);\n\n// Hairlines width\n$hairlines-width: .55px;\n\n// The minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries\n$screen-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px\n);\n\n// Input placeholder opacity\n// Ensures that the placeholder has the\n// correct color contrast against the background.\n$placeholder-opacity: var(--ion-placeholder-opacity, 0.6);\n\n$form-control-label-margin: 16px;\n\n// How much the stacked labels should be scaled by\n/// The value 0.75 is used to match the MD spec.\n/// iOS does not have a floating label design spec, so we standardize on 0.75.\n$form-control-label-stacked-scale: 0.75;\n\n\n// Z-Index\n// --------------------------------------------------\n// Grouped by elements which would be siblings\n\n$z-index-menu-overlay: 1000;\n$z-index-overlay: 1001;\n\n$z-index-fixed-content: 999;\n$z-index-refresher: -1;\n\n$z-index-page-container: 0;\n$z-index-toolbar: 10;\n$z-index-toolbar-background: -1;\n$z-index-toolbar-buttons: 99;\n\n$z-index-backdrop: 2;\n$z-index-overlay-wrapper: 10;\n\n$z-index-item-options: 1;\n$z-index-item-input: 2;\n$z-index-item-divider: 100;\n\n$z-index-reorder-selected: 100;\n","@import \"../../themes/ionic.globals.ios\";\n\n// iOS Menu\n// --------------------------------------------------\n\n/// @prop - Box shadow color of the menu\n$menu-ios-box-shadow-color: rgba(0, 0, 0, .08);\n\n/// @prop - Box shadow of the menu\n$menu-ios-box-shadow: -8px 0 42px $menu-ios-box-shadow-color;\n\n/// @prop - Box shadow of the menu in rtl mode\n$menu-ios-box-shadow-rtl: 8px 0 42px $menu-ios-box-shadow-color;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal: $menu-ios-box-shadow;\n\n/// @prop - Box shadow of the reveal menu\n$menu-ios-box-shadow-reveal-rtl: $menu-ios-box-shadow-rtl;\n\n/// @prop - Box shadow of the push menu\n$menu-ios-box-shadow-push: null;\n\n/// @prop - Box shadow of the overlay menu\n$menu-ios-box-shadow-overlay: null;\n","@import \"../../themes/ionic.globals.md\";\n\n// Material Design Menu\n// --------------------------------------------------\n\n/// @prop - Box shadow of the menu\n$menu-md-box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);\n"]}
package/css/display.css CHANGED
@@ -1 +1 @@
1
- .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=display.css.map */
1
+ .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=display.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/display.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AAOA,kBACE,wBAGF,sBACE,4BAGF,UACE,wBAUE,aACE,wBAOF,eACE,wBCwIF,yBDjJA,gBACE,yBC4LF,4BDrLA,kBACE,yBCwIF,yBDjJA,gBACE,yBC4LF,4BDrLA,kBACE,yBCwIF,yBDjJA,gBACE,yBC4LF,4BDrLA,kBACE,yBCwIF,0BDjJA,gBACE,yBC4LF,6BDrLA,kBACE,yBAON,iBACE,uBAGF,gBACE,sBAKF,uBACE,6BAGF,uBACE","file":"display.css","sourcesContent":["@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","@use \"./functions.string\" as string;\n\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n\n outline: none;\n\n background: transparent;\n\n cursor: pointer;\n\n appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n outline: 0;\n\n opacity: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n color: inherit;\n\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n\n letter-spacing: inherit;\n\n text-align: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n\n white-space: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n\n @return if($max and $max > 0, $max - 0.02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: string.str-split($root, \",\");\n $selectors: #{string.add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: string.str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{string.add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: string.str-split(string.str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: string.str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n right: $end;\n left: $start;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: string.str-replace($transform, \"translate3d(\");\n $transform: string.str-replace($transform, \")\");\n\n $coordinates: string.str-split($transform, \",\");\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == \"0\" or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/display.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AAOA,UACE,wBAUE,aACE,wBAOF,eACE,wBCsIF,yBD/IA,gBACE,yBCuLF,4BDhLA,kBACE,yBCsIF,yBD/IA,gBACE,yBCuLF,4BDhLA,kBACE,yBCsIF,yBD/IA,gBACE,yBCuLF,4BDhLA,kBACE,yBCsIF,0BD/IA,gBACE,yBCuLF,6BDhLA,kBACE","file":"display.css","sourcesContent":["@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","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- .ion-align-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}/*# sourceMappingURL=flex-utils.css.map */
1
+ .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}/*# sourceMappingURL=flex-utils.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/flex-utils.scss"],"names":[],"mappings":"AAQA,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","file":"flex-utils.css","sourcesContent":["// 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"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/flex-utils.scss"],"names":[],"mappings":"AAQA,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","file":"flex-utils.css","sourcesContent":["// 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"]}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/float-elements.scss","../src/themes/mixins.scss"],"names":[],"mappings":"AAaI,gBCyeE,sBDreF,iBCqeE,uBDjeF,iBCidE,sBAzNO,0CA6NP,uBAtNO,2BAsNP,uBAhNJ,8BAcW,0BAkMP,wBDjdF,eCqdE,uBAjOO,wCAqOP,sBA9NO,yBA8NP,sBAxNJ,8BAcW,wBA0MP,uBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,yBD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP,wBAvUF,0BD9JA,mBCyeE,sBDreF,oBCqeE,uBDjeF,oBCidE,sBAzNO,6CA6NP,uBAtNO,8BAsNP,uBAhNJ,8BAcW,6BAkMP,wBDjdF,kBCqdE,uBAjOO,2CAqOP,sBA9NO,4BA8NP,sBAxNJ,8BAcW,2BA0MP","file":"float-elements.css","sourcesContent":["@import \"../themes/native/native.globals\";\n@import \"../themes/mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@use \"./functions.string\" as string;\n\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n\n outline: none;\n\n background: transparent;\n\n cursor: pointer;\n\n appearance: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n\n padding: 0;\n\n border: 0;\n\n outline: 0;\n\n opacity: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n color: inherit;\n\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n\n letter-spacing: inherit;\n\n text-align: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n\n white-space: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n\n @return if($max and $max > 0, $max - 0.02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: string.str-split($root, \",\");\n $selectors: #{string.add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: string.str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{string.add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: string.str-split(string.str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: string.str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: string.str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n right: $end;\n left: $start;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: string.str-replace($transform, \"translate3d(\");\n $transform: string.str-replace($transform, \")\");\n\n $coordinates: string.str-split($transform, \",\");\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == \"0\" or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/css/float-elements.scss","../src/themes/ionic.mixins.scss"],"names":[],"mappings":"AAaI,gBC2dE,sBDvdF,iBCudE,uBDndF,iBCqcE,sBAzNO,0CA4NP,uBArNO,2BAqNP,uBA/MJ,8BAcW,0BAiMP,wBDpcF,eCwcE,uBAhOO,wCAmOP,sBA5NO,yBA4NP,sBAtNJ,8BAcW,wBAwMP,uBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,yBDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP,wBAnUF,0BDpJA,mBC2dE,sBDvdF,oBCudE,uBDndF,oBCqcE,sBAzNO,6CA4NP,uBArNO,8BAqNP,uBA/MJ,8BAcW,6BAiMP,wBDpcF,kBCwcE,uBAhOO,2CAmOP,sBA5NO,4BA4NP,sBAtNJ,8BAcW,2BAwMP","file":"float-elements.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n@mixin tablet-viewport() {\n @media screen and (min-width: 768px) {\n @content;\n }\n}\n\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n@mixin mobile-viewport() {\n @media screen and (max-width: 767px) {\n @content;\n }\n}\n\n@mixin input-cover() {\n @include position(0, null, null, 0);\n @include margin(0);\n\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n border: 0;\n background: transparent;\n cursor: pointer;\n\n appearance: none;\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n}\n\n@mixin visually-hidden() {\n position: absolute;\n\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n\n width: 100%;\n height: 100%;\n\n margin: 0;\n padding: 0;\n\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n\n opacity: 0;\n overflow: hidden;\n\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n@mixin text-inherit() {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n}\n\n@mixin button-state() {\n @include position(0, 0, 0, 0);\n\n position: absolute;\n\n content: \"\";\n\n opacity: 0;\n}\n\n// Font smoothing\n// --------------------------------------------------\n\n@mixin font-smoothing() {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n}\n\n// Get the key from a map based on the index\n@function index-to-key($map, $index) {\n $keys: map-keys($map);\n\n @return nth($keys, $index);\n}\n\n\n// Breakpoint Mixins\n// ---------------------------------------------------------------------------------\n\n// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$screen-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// ---------------------------------------------------------------------------------\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $screen-breakpoints) {\n $min: map-get($breakpoints, $name);\n\n @return if($name != index-to-key($breakpoints, 1), $min, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $screen-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $screen-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $screen-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Maximum breakpoint width. Null for the smallest (first) breakpoint.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n//\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\t// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\t// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $screen-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $screen-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n\n// Text Direction - ltr / rtl\n//\n// CSS defaults to use the ltr css, and adds [dir=rtl] selectors\n// to override ltr defaults.\n// ----------------------------------------------------------\n\n@mixin multi-dir() {\n @content;\n\n // $root: #{&};\n // @at-root [dir] {\n // #{$root} {\n // @content;\n // }\n // }\n}\n\n@mixin rtl() {\n $root: #{&};\n\n $rootSplit: str-split($root, \",\");\n $selectors: #{add-root-selector($root, \"[dir=rtl]\")};\n $selectorsSplit: str-split($selectors, \",\");\n\n $hostContextSelectors: ();\n $restSelectors: ();\n $dirSelectors: ();\n\n // Selectors must be split into individual selectors in case the browser\n // doesn't support a specific selector.\n // For example, Firefox and Safari doesn't support `:host-context()`.\n // If an invalid selector is used, then the entire group of selectors\n // will be ignored.\n // @link https://www.w3.org/TR/selectors-3/#grouping\n @each $selector in $selectorsSplit {\n // Group the selectors back into a single selector to optimize the output.\n @if str-index($selector, \":host-context\") {\n $hostContextSelectors: append($hostContextSelectors, $selector, comma);\n } @else {\n // Group the selectors back into a single selector to optimize the output.\n $restSelectors: append($restSelectors, $selector, comma);\n }\n }\n\n // Supported by Chrome.\n @if length($hostContextSelectors) > 0 {\n @at-root #{$hostContextSelectors} {\n @content;\n }\n }\n\n // Supported by all browsers.\n @if length($restSelectors) > 0 {\n @at-root #{$restSelectors} {\n @content;\n }\n }\n\n // If browser can support `:dir()`, then add the `:dir()` selectors.\n @supports selector(:dir(rtl)) {\n // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`.\n // `:host-context()` is added:\n // - through the `add-root-selector()` function.\n // - first so that it takes precedence over `:dir()`.\n // For example,\n // - Firefox doesn't support `:host-context()`, but does support `:dir()`.\n // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()`\n // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/\n // -- However, there is a Webkit bug on v16 that prevents `:dir()` from working when\n // -- the app direction is changed dynamically. v17+ works fine.\n // -- @link https://bugs.webkit.org/show_bug.cgi?id=257133\n\n // Supported by Firefox.\n @at-root #{add-root-selector($root, \":dir(rtl)\", false)} {\n @content;\n }\n }\n}\n\n@mixin ltr() {\n @content;\n}\n\n\n// SVG Background Image Mixin\n// @param {string} $svg\n// ----------------------------------------------------------\n@mixin svg-background-image($svg, $flip-rtl: false) {\n $url: url-encode($svg);\n $viewBox: str-split(str-extract($svg, \"viewBox='\", \"'\"), \" \");\n\n @if $flip-rtl != true or $viewBox == null {\n @include multi-dir() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n } @else {\n $transform: \"transform='translate(#{nth($viewBox, 3)}, 0) scale(-1, 1)'\";\n $flipped-url: $svg;\n $flipped-url: str-replace($flipped-url, \"<path\", \"<path #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<line\", \"<line #{$transform}\");\n $flipped-url: str-replace($flipped-url, \"<polygon\", \"<polygon #{$transform}\");\n $flipped-url: url-encode($flipped-url);\n\n @include ltr () {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$url}\");\n }\n @include rtl() {\n background-image: url(\"data:image/svg+xml;charset=utf-8,#{$flipped-url}\");\n }\n }\n}\n\n// Add property horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin property-horizontal($prop, $start, $end: $start) {\n @if $start == 0 and $end == 0 {\n #{$prop}-left: $start;\n #{$prop}-right: $end;\n\n } @else {\n -webkit-#{$prop}-start: $start;\n #{$prop}-inline-start: $start;\n -webkit-#{$prop}-end: $end;\n #{$prop}-inline-end: $end;\n }\n}\n\n// Add property for all directions\n// @param {string} $prop\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// @param {boolean} $content include content or use default\n// ----------------------------------------------------------\n@mixin property($prop, $top, $end: $top, $bottom: $top, $start: $end) {\n @include property-horizontal($prop, $start, $end);\n #{$prop}-top: $top;\n #{$prop}-bottom: $bottom;\n}\n\n// Add padding horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin padding-horizontal($start, $end: $start) {\n @include property-horizontal(padding, $start, $end);\n}\n\n// Add padding for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin padding($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(padding, $top, $end, $bottom, $start);\n}\n\n// Add margin horizontal\n// @param {string} $start\n// @param {string} $end\n// ----------------------------------------------------------\n@mixin margin-horizontal($start, $end: $start) {\n @include property-horizontal(margin, $start, $end);\n}\n\n// Add margin for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin margin($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(margin, $top, $end, $bottom, $start);\n}\n\n// Add position horizontal\n// @param {string} $start - amount to position start\n// @param {string} $end - amount to left: 0; end\n// ----------------------------------------------------------\n@mixin position-horizontal($start: null, $end: null) {\n @if $start == $end {\n @include multi-dir() {\n left: $start;\n right: $end;\n }\n } @else {\n @at-root {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n}\n\n// Add position for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin position($top: null, $end: null, $bottom: null, $start: null) {\n @include position-horizontal($start, $end);\n top: $top;\n bottom: $bottom;\n}\n\n// Add border for all directions\n// @param {string} $top\n// @param {string} $end\n// @param {string} $bottom\n// @param {string} $start\n// ----------------------------------------------------------\n@mixin border($top, $end: $top, $bottom: $top, $start: $end) {\n @include property(border, $top, $end, $bottom, $start);\n}\n\n// Add border radius for all directions\n// @param {string} $top-start\n// @param {string} $top-end\n// @param {string} $bottom-end\n// @param {string} $bottom-start\n// ----------------------------------------------------------\n@mixin border-radius($top-start, $top-end: $top-start, $bottom-end: $top-start, $bottom-start: $top-end) {\n @if $top-start == $top-end and $top-start == $bottom-end and $top-start == $bottom-start {\n border-radius: $top-start;\n } @else {\n border-start-start-radius: $top-start;\n border-start-end-radius: $top-end;\n border-end-end-radius: $bottom-end;\n border-end-start-radius: $bottom-start;\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n"]}