@ionic/angular 7.4.2-dev.11695406726.1ef95520 → 7.4.2-dev.11695667578.1539f05b

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 (216) hide show
  1. package/README.md +20 -0
  2. package/app-initialize.d.ts +1 -1
  3. package/common/directives/control-value-accessors/index.d.ts +1 -0
  4. package/{directives → common/directives}/control-value-accessors/value-accessor.d.ts +2 -2
  5. package/common/directives/navigation/back-button.d.ts +26 -0
  6. package/common/directives/navigation/nav.d.ts +13 -0
  7. package/common/directives/navigation/router-link-delegate.d.ts +50 -0
  8. package/common/directives/navigation/router-outlet.d.ts +103 -0
  9. package/{directives → common/directives}/navigation/stack-utils.d.ts +1 -1
  10. package/common/directives/navigation/tabs.d.ts +74 -0
  11. package/common/index.d.ts +28 -0
  12. package/common/overlays/modal.d.ts +50 -0
  13. package/common/overlays/popover.d.ts +46 -0
  14. package/{providers → common/providers}/action-sheet-controller.d.ts +2 -2
  15. package/{providers → common/providers}/alert-controller.d.ts +2 -2
  16. package/{providers → common/providers}/angular-delegate.d.ts +1 -1
  17. package/{providers → common/providers}/animation-controller.d.ts +1 -1
  18. package/{providers → common/providers}/config.d.ts +1 -1
  19. package/{providers → common/providers}/gesture-controller.d.ts +1 -1
  20. package/{providers → common/providers}/loading-controller.d.ts +2 -2
  21. package/{providers → common/providers}/modal-controller.d.ts +2 -2
  22. package/{providers → common/providers}/nav-controller.d.ts +2 -2
  23. package/{providers → common/providers}/picker-controller.d.ts +2 -2
  24. package/{providers → common/providers}/platform.d.ts +2 -2
  25. package/{providers → common/providers}/popover-controller.d.ts +2 -2
  26. package/{providers → common/providers}/toast-controller.d.ts +2 -2
  27. package/{types → common/types}/interfaces.d.ts +0 -4
  28. package/common/utils/proxy.d.ts +8 -0
  29. package/css/core.css +100 -0
  30. package/css/core.css.map +1 -1
  31. package/css/display.css +33 -0
  32. package/css/display.css.map +1 -1
  33. package/css/float-elements.css +33 -0
  34. package/css/float-elements.css.map +1 -1
  35. package/css/global.bundle.css +84 -6
  36. package/css/global.bundle.css.map +1 -1
  37. package/css/ionic-swiper.css +33 -0
  38. package/css/ionic-swiper.css.map +1 -1
  39. package/css/ionic.bundle.css +1 -1
  40. package/css/ionic.bundle.css.map +1 -1
  41. package/css/padding.css +33 -0
  42. package/css/padding.css.map +1 -1
  43. package/css/structure.css +33 -0
  44. package/css/structure.css.map +1 -1
  45. package/css/text-alignment.css +33 -0
  46. package/css/text-alignment.css.map +1 -1
  47. package/css/text-transformation.css +33 -0
  48. package/css/text-transformation.css.map +1 -1
  49. package/css/typography.css +51 -6
  50. package/css/typography.css.map +1 -1
  51. package/css/utils.bundle.css +165 -0
  52. package/css/utils.bundle.css.map +1 -1
  53. package/directives/control-value-accessors/boolean-value-accessor.d.ts +1 -1
  54. package/directives/control-value-accessors/numeric-value-accessor.d.ts +1 -1
  55. package/directives/control-value-accessors/radio-value-accessor.d.ts +1 -1
  56. package/directives/control-value-accessors/select-value-accessor.d.ts +1 -1
  57. package/directives/control-value-accessors/text-value-accessor.d.ts +1 -1
  58. package/directives/navigation/ion-back-button.d.ts +6 -16
  59. package/directives/navigation/ion-nav.d.ts +8 -0
  60. package/directives/navigation/ion-router-outlet.d.ts +4 -122
  61. package/directives/navigation/ion-tabs.d.ts +4 -64
  62. package/directives/navigation/router-link-delegate.d.ts +7 -41
  63. package/directives/overlays/modal.d.ts +3 -47
  64. package/directives/overlays/popover.d.ts +3 -43
  65. package/directives/proxies-list.d.ts +1 -1
  66. package/directives/proxies.d.ts +0 -26
  67. package/esm2020/app-initialize.mjs +2 -2
  68. package/esm2020/common/directives/control-value-accessors/index.mjs +2 -0
  69. package/esm2020/common/directives/control-value-accessors/value-accessor.mjs +141 -0
  70. package/esm2020/common/directives/navigation/back-button.mjs +59 -0
  71. package/esm2020/common/directives/navigation/nav-params.mjs +45 -0
  72. package/esm2020/common/directives/navigation/nav.mjs +47 -0
  73. package/esm2020/common/directives/navigation/router-link-delegate.mjs +111 -0
  74. package/esm2020/common/directives/navigation/router-outlet.mjs +461 -0
  75. package/esm2020/common/directives/navigation/stack-controller.mjs +275 -0
  76. package/esm2020/common/directives/navigation/stack-utils.mjs +73 -0
  77. package/esm2020/common/directives/navigation/tabs.mjs +172 -0
  78. package/esm2020/common/index.mjs +28 -0
  79. package/esm2020/common/ionic-angular-common.mjs +5 -0
  80. package/esm2020/common/overlays/modal.mjs +87 -0
  81. package/esm2020/common/overlays/popover.mjs +79 -0
  82. package/esm2020/common/providers/action-sheet-controller.mjs +18 -0
  83. package/esm2020/common/providers/alert-controller.mjs +18 -0
  84. package/esm2020/common/providers/angular-delegate.mjs +152 -0
  85. package/esm2020/common/providers/animation-controller.mjs +37 -0
  86. package/esm2020/common/providers/config.mjs +44 -0
  87. package/esm2020/common/providers/dom-controller.mjs +44 -0
  88. package/esm2020/common/providers/gesture-controller.mjs +31 -0
  89. package/esm2020/common/providers/loading-controller.mjs +18 -0
  90. package/esm2020/common/providers/menu-controller.mjs +100 -0
  91. package/esm2020/common/providers/modal-controller.mjs +25 -0
  92. package/esm2020/common/providers/nav-controller.mjs +221 -0
  93. package/esm2020/common/providers/picker-controller.mjs +18 -0
  94. package/esm2020/common/providers/platform.mjs +246 -0
  95. package/esm2020/common/providers/popover-controller.mjs +25 -0
  96. package/esm2020/common/providers/toast-controller.mjs +18 -0
  97. package/esm2020/common/types/interfaces.mjs +2 -0
  98. package/esm2020/common/utils/overlay.mjs +25 -0
  99. package/esm2020/common/utils/proxy.mjs +47 -0
  100. package/esm2020/common/utils/routing.mjs +55 -0
  101. package/esm2020/common/utils/util.mjs +10 -0
  102. package/esm2020/directives/control-value-accessors/boolean-value-accessor.mjs +4 -4
  103. package/esm2020/directives/control-value-accessors/numeric-value-accessor.mjs +2 -2
  104. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +6 -3
  105. package/esm2020/directives/control-value-accessors/select-value-accessor.mjs +2 -2
  106. package/esm2020/directives/control-value-accessors/text-value-accessor.mjs +2 -2
  107. package/esm2020/directives/navigation/ion-back-button.mjs +15 -36
  108. package/esm2020/directives/navigation/ion-nav.mjs +21 -0
  109. package/esm2020/directives/navigation/ion-router-outlet.mjs +6 -435
  110. package/esm2020/directives/navigation/ion-tabs.mjs +9 -166
  111. package/esm2020/directives/navigation/router-link-delegate.mjs +11 -92
  112. package/esm2020/directives/overlays/modal.mjs +8 -88
  113. package/esm2020/directives/overlays/popover.mjs +8 -87
  114. package/esm2020/directives/proxies-list.mjs +1 -3
  115. package/esm2020/directives/proxies.mjs +1 -53
  116. package/esm2020/index.mjs +4 -21
  117. package/esm2020/ionic-module.mjs +14 -32
  118. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +51 -0
  119. package/esm2020/standalone/directives/checkbox.mjs +73 -0
  120. package/esm2020/standalone/directives/datetime.mjs +90 -0
  121. package/esm2020/standalone/directives/icon.mjs +33 -0
  122. package/esm2020/standalone/directives/index.mjs +13 -0
  123. package/esm2020/standalone/directives/input.mjs +112 -0
  124. package/esm2020/standalone/directives/proxies.mjs +2268 -0
  125. package/esm2020/standalone/directives/radio-group.mjs +58 -0
  126. package/esm2020/standalone/directives/radio.mjs +62 -0
  127. package/esm2020/standalone/directives/range.mjs +77 -0
  128. package/esm2020/standalone/directives/searchbar.mjs +80 -0
  129. package/esm2020/standalone/directives/segment.mjs +58 -0
  130. package/esm2020/standalone/directives/select.mjs +81 -0
  131. package/esm2020/standalone/directives/textarea.mjs +90 -0
  132. package/esm2020/standalone/directives/toggle.mjs +73 -0
  133. package/esm2020/standalone/index.mjs +15 -0
  134. package/esm2020/standalone/ionic-angular-standalone.mjs +5 -0
  135. package/esm2020/standalone/navigation/back-button.mjs +32 -0
  136. package/esm2020/standalone/navigation/nav.mjs +28 -0
  137. package/esm2020/standalone/navigation/router-link-delegate.mjs +30 -0
  138. package/esm2020/standalone/navigation/router-outlet.mjs +23 -0
  139. package/esm2020/standalone/navigation/tabs.mjs +46 -0
  140. package/esm2020/standalone/overlays/modal.mjs +32 -0
  141. package/esm2020/standalone/overlays/popover.mjs +28 -0
  142. package/esm2020/standalone/providers/ionic-angular.mjs +41 -0
  143. package/fesm2015/ionic-angular-common.mjs +2620 -0
  144. package/fesm2015/ionic-angular-common.mjs.map +1 -0
  145. package/fesm2015/ionic-angular-standalone.mjs +3288 -0
  146. package/fesm2015/ionic-angular-standalone.mjs.map +1 -0
  147. package/fesm2015/ionic-angular.mjs +140 -2634
  148. package/fesm2015/ionic-angular.mjs.map +1 -1
  149. package/fesm2020/ionic-angular-common.mjs +2609 -0
  150. package/fesm2020/ionic-angular-common.mjs.map +1 -0
  151. package/fesm2020/ionic-angular-standalone.mjs +3286 -0
  152. package/fesm2020/ionic-angular-standalone.mjs.map +1 -0
  153. package/fesm2020/ionic-angular.mjs +139 -2624
  154. package/fesm2020/ionic-angular.mjs.map +1 -1
  155. package/index.d.ts +3 -19
  156. package/ionic-module.d.ts +2 -2
  157. package/package.json +18 -2
  158. package/standalone/directives/angular-component-lib/utils.d.ts +9 -0
  159. package/standalone/directives/checkbox.d.ts +30 -0
  160. package/standalone/directives/datetime.d.ts +30 -0
  161. package/standalone/directives/icon.d.ts +9 -0
  162. package/standalone/directives/index.d.ts +12 -0
  163. package/standalone/directives/input.d.ts +47 -0
  164. package/standalone/directives/proxies.d.ts +903 -0
  165. package/standalone/directives/radio-group.d.ts +18 -0
  166. package/standalone/directives/radio.d.ts +22 -0
  167. package/standalone/directives/range.d.ts +47 -0
  168. package/standalone/directives/searchbar.d.ts +45 -0
  169. package/standalone/directives/segment.d.ts +19 -0
  170. package/standalone/directives/select.d.ts +34 -0
  171. package/standalone/directives/textarea.d.ts +37 -0
  172. package/standalone/directives/toggle.d.ts +28 -0
  173. package/standalone/index.d.ts +12 -0
  174. package/standalone/navigation/back-button.d.ts +9 -0
  175. package/standalone/navigation/nav.d.ts +8 -0
  176. package/standalone/navigation/router-link-delegate.d.ts +10 -0
  177. package/standalone/navigation/router-outlet.d.ts +6 -0
  178. package/standalone/navigation/tabs.d.ts +12 -0
  179. package/standalone/overlays/modal.d.ts +6 -0
  180. package/standalone/overlays/popover.d.ts +6 -0
  181. package/standalone/providers/ionic-angular.d.ts +3 -0
  182. package/test/README.md +8 -0
  183. package/directives/navigation/nav-delegate.d.ts +0 -9
  184. package/esm2020/directives/control-value-accessors/value-accessor.mjs +0 -141
  185. package/esm2020/directives/navigation/nav-delegate.mjs +0 -42
  186. package/esm2020/directives/navigation/nav-params.mjs +0 -45
  187. package/esm2020/directives/navigation/stack-controller.mjs +0 -275
  188. package/esm2020/directives/navigation/stack-utils.mjs +0 -73
  189. package/esm2020/ionic-core.mjs +0 -6
  190. package/esm2020/providers/action-sheet-controller.mjs +0 -18
  191. package/esm2020/providers/alert-controller.mjs +0 -18
  192. package/esm2020/providers/angular-delegate.mjs +0 -152
  193. package/esm2020/providers/animation-controller.mjs +0 -37
  194. package/esm2020/providers/config.mjs +0 -44
  195. package/esm2020/providers/dom-controller.mjs +0 -44
  196. package/esm2020/providers/gesture-controller.mjs +0 -31
  197. package/esm2020/providers/loading-controller.mjs +0 -18
  198. package/esm2020/providers/menu-controller.mjs +0 -100
  199. package/esm2020/providers/modal-controller.mjs +0 -25
  200. package/esm2020/providers/nav-controller.mjs +0 -221
  201. package/esm2020/providers/picker-controller.mjs +0 -18
  202. package/esm2020/providers/platform.mjs +0 -246
  203. package/esm2020/providers/popover-controller.mjs +0 -25
  204. package/esm2020/providers/toast-controller.mjs +0 -18
  205. package/esm2020/types/interfaces.mjs +0 -2
  206. package/esm2020/util/ionic-router-reuse-strategy.mjs +0 -55
  207. package/esm2020/util/overlay.mjs +0 -25
  208. package/esm2020/util/util.mjs +0 -10
  209. package/ionic-core.d.ts +0 -2
  210. /package/{directives → common/directives}/navigation/nav-params.d.ts +0 -0
  211. /package/{directives → common/directives}/navigation/stack-controller.d.ts +0 -0
  212. /package/{providers → common/providers}/dom-controller.d.ts +0 -0
  213. /package/{providers → common/providers}/menu-controller.d.ts +0 -0
  214. /package/{util → common/utils}/overlay.d.ts +0 -0
  215. /package/{util/ionic-router-reuse-strategy.d.ts → common/utils/routing.d.ts} +0 -0
  216. /package/{util → common/utils}/util.d.ts +0 -0
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  .ion-no-padding {
2
35
  --padding-start: 0;
3
36
  --padding-end: 0;
@@ -122,6 +155,39 @@
122
155
  margin-inline-end: var(--ion-margin, 16px);
123
156
  }
124
157
 
158
+ /**
159
+ * Convert a font size to a dynamic font size.
160
+ * Fonts that participate in Dynamic Type should use
161
+ * dynamic font sizes.
162
+ * @param size - The initial font size including the unit (i.e. px or pt)
163
+ * @param unit (optional) - The unit to convert to. Use this if you want to
164
+ * convert to a unit other than $baselineUnit.
165
+ */
166
+ /**
167
+ * Convert a font size to a dynamic font size but impose
168
+ * a maximum font size.
169
+ * @param size - The initial font size including the unit (i.e. px or pt)
170
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
171
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
172
+ * convert to a unit other than $baselineUnit.
173
+ */
174
+ /**
175
+ * Convert a font size to a dynamic font size but impose
176
+ * a minimum font size.
177
+ * @param size - The initial font size including the unit (i.e. px or pt)
178
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
179
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
180
+ * convert to a unit other than $baselineUnit.
181
+ */
182
+ /**
183
+ * Convert a font size to a dynamic font size but impose
184
+ * maximum and minimum font sizes.
185
+ * @param size - The initial font size including the unit (i.e. px or pt)
186
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
187
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
188
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
189
+ * convert to a unit other than $baselineUnit.
190
+ */
125
191
  .ion-float-left {
126
192
  float: left !important;
127
193
  }
@@ -336,6 +402,39 @@
336
402
  }
337
403
  }
338
404
  }
405
+ /**
406
+ * Convert a font size to a dynamic font size.
407
+ * Fonts that participate in Dynamic Type should use
408
+ * dynamic font sizes.
409
+ * @param size - The initial font size including the unit (i.e. px or pt)
410
+ * @param unit (optional) - The unit to convert to. Use this if you want to
411
+ * convert to a unit other than $baselineUnit.
412
+ */
413
+ /**
414
+ * Convert a font size to a dynamic font size but impose
415
+ * a maximum font size.
416
+ * @param size - The initial font size including the unit (i.e. px or pt)
417
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
418
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
419
+ * convert to a unit other than $baselineUnit.
420
+ */
421
+ /**
422
+ * Convert a font size to a dynamic font size but impose
423
+ * a minimum font size.
424
+ * @param size - The initial font size including the unit (i.e. px or pt)
425
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
426
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
427
+ * convert to a unit other than $baselineUnit.
428
+ */
429
+ /**
430
+ * Convert a font size to a dynamic font size but impose
431
+ * maximum and minimum font sizes.
432
+ * @param size - The initial font size including the unit (i.e. px or pt)
433
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
434
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
435
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
436
+ * convert to a unit other than $baselineUnit.
437
+ */
339
438
  .ion-text-center {
340
439
  text-align: center !important;
341
440
  }
@@ -500,6 +599,39 @@
500
599
  white-space: normal !important;
501
600
  }
502
601
  }
602
+ /**
603
+ * Convert a font size to a dynamic font size.
604
+ * Fonts that participate in Dynamic Type should use
605
+ * dynamic font sizes.
606
+ * @param size - The initial font size including the unit (i.e. px or pt)
607
+ * @param unit (optional) - The unit to convert to. Use this if you want to
608
+ * convert to a unit other than $baselineUnit.
609
+ */
610
+ /**
611
+ * Convert a font size to a dynamic font size but impose
612
+ * a maximum font size.
613
+ * @param size - The initial font size including the unit (i.e. px or pt)
614
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
615
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
616
+ * convert to a unit other than $baselineUnit.
617
+ */
618
+ /**
619
+ * Convert a font size to a dynamic font size but impose
620
+ * a minimum font size.
621
+ * @param size - The initial font size including the unit (i.e. px or pt)
622
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
623
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
624
+ * convert to a unit other than $baselineUnit.
625
+ */
626
+ /**
627
+ * Convert a font size to a dynamic font size but impose
628
+ * maximum and minimum font sizes.
629
+ * @param size - The initial font size including the unit (i.e. px or pt)
630
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
631
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
632
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
633
+ * convert to a unit other than $baselineUnit.
634
+ */
503
635
  .ion-text-uppercase {
504
636
  /* stylelint-disable-next-line declaration-no-important */
505
637
  text-transform: uppercase !important;
@@ -659,6 +791,39 @@
659
791
  align-items: baseline !important;
660
792
  }
661
793
 
794
+ /**
795
+ * Convert a font size to a dynamic font size.
796
+ * Fonts that participate in Dynamic Type should use
797
+ * dynamic font sizes.
798
+ * @param size - The initial font size including the unit (i.e. px or pt)
799
+ * @param unit (optional) - The unit to convert to. Use this if you want to
800
+ * convert to a unit other than $baselineUnit.
801
+ */
802
+ /**
803
+ * Convert a font size to a dynamic font size but impose
804
+ * a maximum font size.
805
+ * @param size - The initial font size including the unit (i.e. px or pt)
806
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
807
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
808
+ * convert to a unit other than $baselineUnit.
809
+ */
810
+ /**
811
+ * Convert a font size to a dynamic font size but impose
812
+ * a minimum font size.
813
+ * @param size - The initial font size including the unit (i.e. px or pt)
814
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
815
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
816
+ * convert to a unit other than $baselineUnit.
817
+ */
818
+ /**
819
+ * Convert a font size to a dynamic font size but impose
820
+ * maximum and minimum font sizes.
821
+ * @param size - The initial font size including the unit (i.e. px or pt)
822
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
823
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
824
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
825
+ * convert to a unit other than $baselineUnit.
826
+ */
662
827
  .ion-hide {
663
828
  display: none !important;
664
829
  }
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAeA;EACE;EACA;EACA;EACA;ECuRE,cDrRe;ECsRf,eDtRe;EC0SjB,aD1SiB;EC2SjB,gBD3SiB;;;AAGnB;EACE;EACA;EACA;EACA;ECkRE,uBDrSM;ECsSN,sBDtSM;ECuSN,qBDvSM;ECwSN,oBDxSM;ECsTR,aDtTQ;ECuTR,gBDvTQ;;;AAwBV;EACE;EC6RA,aDtTQ;;;AA8BV;EACE;ECsQE,uBDrSM;ECsSN,sBDtSM;;;AAoCV;EACE;ECkQE,qBDvSM;ECwSN,oBDxSM;;;AA0CV;EACE;EC4QA,gBDvTQ;;;AAgDV;EACE;EACA;ECoQA,aDtTQ;ECuTR,gBDvTQ;;;AAuDV;EACE;EACA;EC4OE,uBDrSM;ECsSN,sBDtSM;ECuSN,qBDvSM;ECwSN,oBDxSM;;;AAkEV;EACE;EACA;EACA;EACA;EC2NE,aDzNc;EC0Nd,cD1Nc;EC8OhB,YD9OgB;EC+OhB,eD/OgB;;;AAGlB;EACE;EACA;EACA;EACA;ECsNE,sBDpSK;ECqSL,qBDrSK;ECsSL,oBDtSK;ECuSL,mBDvSK;ECqTP,YDrTO;ECsTP,eDtTO;;;AAmFT;EACE;ECiOA,YDrTO;;;AAyFT;EACE;EC0ME,sBDpSK;ECqSL,qBDrSK;;;AA+FT;EACE;ECsME,oBDtSK;ECuSL,mBDvSK;;;AAqGT;EACE;ECgNA,eDtTO;;;AA2GT;EACE;EACA;ECwMA,YDrTO;ECsTP,eDtTO;;;AAkHT;EACE;EACA;ECgLE,sBDpSK;ECqSL,qBDrSK;ECsSL,oBDtSK;ECuSL,mBDvSK;;;AEGL;ED4dE;;;ACxdF;EDwdE;;;ACpdF;EDscE;;AA7PO;EAgQP;;;AAzPO;EAyPP;;;AAnPJ;EAiBa;IAkOT;;;;ACrcF;EDycE;;AApQO;EAuQP;;;AAhQO;EAgQP;;;AA1PJ;EAiBa;IAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AExdF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AC7BF;AACE;EACA;;;AAGF;AACE;EACA;;;AAGF;AACE;EACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;ACjBN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AC1FF;EACE;;;AAUE;EACE;;;AAOF;EACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE","file":"utils.bundle.css","sourcesContent":["@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@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 @each $selector in $rootSplit {\n $dirSelector: \"#{$selector}:dir(rtl)\";\n // Group the selectors back into a single selector to optimize the output.\n $dirSelectors: append($dirSelectors, $dirSelector, comma);\n }\n\n // Supported by Firefox.\n @if length($dirSelectors) > 0 {\n @at-root #{$dirSelectors} {\n @content;\n }\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 @supports (inset-inline-start: 0) {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n\n // TODO FW-3766\n @at-root {\n @supports not (inset-inline-start: 0) {\n & {\n @include ltr() {\n left: $start;\n right: $end;\n }\n @include rtl() {\n left: unset;\n right: unset;\n\n left: $end;\n right: $start;\n }\n }\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 @include multi-dir() {\n border-radius: $top-start;\n }\n } @else {\n @include ltr() {\n border-top-left-radius: $top-start;\n border-top-right-radius: $top-end;\n border-bottom-right-radius: $bottom-end;\n border-bottom-left-radius: $bottom-start;\n }\n\n @include rtl() {\n border-top-left-radius: $top-end;\n border-top-right-radius: $top-start;\n border-bottom-right-radius: $bottom-start;\n border-bottom-left-radius: $bottom-end;\n }\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../src/themes/ionic.functions.font.scss","../src/css/padding.scss","../src/themes/ionic.mixins.scss","../src/css/float-elements.scss","../src/css/text-alignment.scss","../src/css/text-transformation.scss","../src/css/flex-utils.scss","../src/css/display.scss"],"names":[],"mappings":"AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AChCA;EACE;EACA;EACA;EACA;ECuRE,cDrRe;ECsRf,eDtRe;EC0SjB,aD1SiB;EC2SjB,gBD3SiB;;;AAGnB;EACE;EACA;EACA;EACA;ECkRE,uBDrSM;ECsSN,sBDtSM;ECuSN,qBDvSM;ECwSN,oBDxSM;ECsTR,aDtTQ;ECuTR,gBDvTQ;;;AAwBV;EACE;EC6RA,aDtTQ;;;AA8BV;EACE;ECsQE,uBDrSM;ECsSN,sBDtSM;;;AAoCV;EACE;ECkQE,qBDvSM;ECwSN,oBDxSM;;;AA0CV;EACE;EC4QA,gBDvTQ;;;AAgDV;EACE;EACA;ECoQA,aDtTQ;ECuTR,gBDvTQ;;;AAuDV;EACE;EACA;EC4OE,uBDrSM;ECsSN,sBDtSM;ECuSN,qBDvSM;ECwSN,oBDxSM;;;AAkEV;EACE;EACA;EACA;EACA;EC2NE,aDzNc;EC0Nd,cD1Nc;EC8OhB,YD9OgB;EC+OhB,eD/OgB;;;AAGlB;EACE;EACA;EACA;EACA;ECsNE,sBDpSK;ECqSL,qBDrSK;ECsSL,oBDtSK;ECuSL,mBDvSK;ECqTP,YDrTO;ECsTP,eDtTO;;;AAmFT;EACE;ECiOA,YDrTO;;;AAyFT;EACE;EC0ME,sBDpSK;ECqSL,qBDrSK;;;AA+FT;EACE;ECsME,oBDtSK;ECuSL,mBDvSK;;;AAqGT;EACE;ECgNA,eDtTO;;;AA2GT;EACE;EACA;ECwMA,YDrTO;ECsTP,eDtTO;;;AAkHT;EACE;EACA;ECgLE,sBDpSK;ECqSL,qBDrSK;ECsSL,oBDtSK;ECuSL,mBDvSK;;;ADLT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AGlCI;ED4dE;;;ACxdF;EDwdE;;;ACpdF;EDscE;;AA7PO;EAgQP;;;AAzPO;EAyPP;;;AAnPJ;EAiBa;IAkOT;;;;ACrcF;EDycE;;AApQO;EAuQP;;;AAhQO;EAgQP;;;AA1PJ;EAiBa;IAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AAvWF;ECjHA;ID4dE;;;ECxdF;IDwdE;;;ECpdF;IDscE;;EA7PO;IAgQP;;;EAzPO;IAyPP;;;EAnPJ;IAiBa;MAkOT;;;;ECrcF;IDycE;;EApQO;IAuQP;;;EAhQO;IAgQP;;;EA1PJ;IAiBa;MAyOT;;;;AFheN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIlCI;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AFoFF;EEjHA;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;EAGF;IACE;;;AJrCN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AKlCI;AACE;EACA;;;AAGF;AACE;EACA;;;AAGF;AACE;EACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;AHqGF;EGjHA;AACE;IACA;;;EAGF;AACE;IACA;;;EAGF;AACE;IACA;;;ACjBN;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAOF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AN5FF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AOxCA;EACE;;;AAUE;EACE;;;AAOF;EACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE;;;ALmGF;EK5GA;IACE;;;ALoJF;EK7IA;IACE","file":"utils.bundle.css","sourcesContent":["@use \"sass:math\";\n\n$baselineSize: 16px !default;\n$baselineUnit: 1rem !default;\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font($size, $unit: $baselineUnit) {\n @return (math.div($size, $baselineSize)) * $unit;\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-max($size, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $maxScale: $size * $maxScale;\n\n @return min($baseScale, $maxScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-min($minScale, $size, $unit: $baselineUnit) {\n $baseScale: dynamic-font($size, $unit);\n $minScale: $size * $minScale;\n\n @return max($minScale, $baseScale);\n}\n\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n@function dynamic-font-clamp($minScale, $baseSize, $maxScale, $unit: $baselineUnit) {\n $baseScale: dynamic-font($baseSize, $unit);\n $maxScale: $baseSize * $maxScale;\n $minScale: $baseSize * $minScale;\n\n @return clamp($minScale, $baseScale, $maxScale);\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n\n// Element Space\n// --------------------------------------------------\n// Creates padding and margin attributes to be used on\n// any element\n\n$padding: var(--ion-padding, 16px);\n$margin: var(--ion-margin, 16px);\n\n// Padding\n// --------------------------------------------------\n\n.ion-no-padding {\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n\n @include padding(0);\n}\n\n.ion-padding {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding);\n}\n\n.ion-padding-top {\n --padding-top: #{$padding};\n\n @include padding($padding, null, null, null);\n}\n\n.ion-padding-start {\n --padding-start: #{$padding};\n\n @include padding-horizontal($padding, null);\n}\n\n.ion-padding-end {\n --padding-end: #{$padding};\n\n @include padding-horizontal(null, $padding);\n}\n\n.ion-padding-bottom {\n --padding-bottom: #{$padding};\n\n @include padding(null, null, $padding, null);\n}\n\n.ion-padding-vertical {\n --padding-top: #{$padding};\n --padding-bottom: #{$padding};\n\n @include padding($padding, null, $padding, null);\n}\n\n.ion-padding-horizontal {\n --padding-start: #{$padding};\n --padding-end: #{$padding};\n\n @include padding-horizontal($padding);\n}\n\n\n// Margin\n// --------------------------------------------------\n\n.ion-no-margin {\n --margin-start: 0;\n --margin-end: 0;\n --margin-top: 0;\n --margin-bottom: 0;\n\n @include margin(0);\n}\n\n.ion-margin {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin);\n}\n\n.ion-margin-top {\n --margin-top: #{$margin};\n\n @include margin($margin, null, null, null);\n}\n\n.ion-margin-start {\n --margin-start: #{$margin};\n\n @include margin-horizontal($margin, null);\n}\n\n.ion-margin-end {\n --margin-end: #{$margin};\n\n @include margin-horizontal(null, $margin);\n}\n\n.ion-margin-bottom {\n --margin-bottom: #{$margin};\n\n @include margin(null, null, $margin, null);\n}\n\n.ion-margin-vertical {\n --margin-top: #{$margin};\n --margin-bottom: #{$margin};\n\n @include margin($margin, null, $margin, null);\n}\n\n.ion-margin-horizontal {\n --margin-start: #{$margin};\n --margin-end: #{$margin};\n\n @include margin-horizontal($margin);\n}\n","@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 @each $selector in $rootSplit {\n $dirSelector: \"#{$selector}:dir(rtl)\";\n // Group the selectors back into a single selector to optimize the output.\n $dirSelectors: append($dirSelectors, $dirSelector, comma);\n }\n\n // Supported by Firefox.\n @if length($dirSelectors) > 0 {\n @at-root #{$dirSelectors} {\n @content;\n }\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 @supports (inset-inline-start: 0) {\n & {\n inset-inline-start: $start;\n inset-inline-end: $end;\n }\n }\n }\n\n // TODO FW-3766\n @at-root {\n @supports not (inset-inline-start: 0) {\n & {\n @include ltr() {\n left: $start;\n right: $end;\n }\n @include rtl() {\n left: unset;\n right: unset;\n\n left: $end;\n right: $start;\n }\n }\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 @include multi-dir() {\n border-radius: $top-start;\n }\n } @else {\n @include ltr() {\n border-top-left-radius: $top-start;\n border-top-right-radius: $top-end;\n border-bottom-right-radius: $bottom-end;\n border-bottom-left-radius: $bottom-start;\n }\n\n @include rtl() {\n border-top-left-radius: $top-end;\n border-top-right-radius: $top-start;\n border-bottom-right-radius: $bottom-start;\n border-bottom-left-radius: $bottom-end;\n }\n }\n}\n\n// Add direction for all directions\n// @param {string} $dir - Direction on LTR\n@mixin direction($dir) {\n $other-dir: null;\n\n @if $dir == ltr {\n $other-dir: rtl;\n } @else {\n $other-dir: ltr;\n }\n\n @include ltr() {\n direction: $dir;\n }\n @include rtl() {\n direction: $other-dir;\n }\n}\n\n// Add float for all directions\n// @param {string} $side\n// @param {string} $decorator - !important\n@mixin float($side, $decorator: null) {\n @if $side == start {\n @include ltr() {\n float: left $decorator;\n }\n @include rtl() {\n float: right $decorator;\n }\n } @else if $side == end {\n @include ltr() {\n float: right $decorator;\n }\n @include rtl() {\n float: left $decorator;\n }\n } @else {\n @include multi-dir() {\n float: $side $decorator;\n }\n }\n}\n\n@mixin background-position($horizontal, $horizontal-amount: null, $vertical: null, $vertical-amount: null) {\n @if $horizontal == start or $horizontal == end {\n $horizontal-ltr: null;\n $horizontal-rtl: null;\n @if $horizontal == start {\n $horizontal-ltr: left;\n $horizontal-rtl: right;\n } @else {\n $horizontal-ltr: right;\n $horizontal-rtl: left;\n }\n\n @include ltr() {\n background-position: $horizontal-ltr $horizontal-amount $vertical $vertical-amount;\n }\n @include rtl() {\n background-position: $horizontal-rtl $horizontal-amount $vertical $vertical-amount;\n }\n } @else {\n @include multi-dir() {\n background-position: $horizontal $horizontal-amount $vertical $vertical-amount;\n }\n }\n}\n\n@mixin transform-origin($x-axis, $y-axis: null) {\n @if $x-axis == start {\n @include ltr() {\n transform-origin: left $y-axis;\n }\n @include rtl() {\n transform-origin: right $y-axis;\n }\n } @else if $x-axis == end {\n @include ltr() {\n transform-origin: right $y-axis;\n }\n @include rtl() {\n transform-origin: left $y-axis;\n }\n } @else if $x-axis == left or $x-axis == right {\n @include multi-dir() {\n transform-origin: $x-axis $y-axis;\n }\n } @else {\n @include ltr() {\n transform-origin: $x-axis $y-axis;\n }\n @include rtl() {\n transform-origin: calc(100% - #{$x-axis}) $y-axis;\n }\n }\n}\n\n// Add transform for all directions\n// @param {string} $transforms - comma separated list of transforms\n@mixin transform($transforms...) {\n $extra: null;\n\n $x: null;\n $ltr-translate: null;\n $rtl-translate: null;\n\n @each $transform in $transforms {\n @if (str-index($transform, translate3d)) {\n $transform: str-replace($transform, 'translate3d(');\n $transform: str-replace($transform, ')');\n\n $coordinates: str-split($transform, ',');\n\n $x: nth($coordinates, 1);\n $y: nth($coordinates, 2);\n $z: nth($coordinates, 3);\n\n $ltr-translate: translate3d($x, $y, $z);\n $rtl-translate: translate3d(calc(-1 * #{$x}), $y, $z);\n } @else {\n @if $extra == null {\n $extra: $transform;\n } @else {\n $extra: $extra $transform;\n }\n }\n }\n\n @if $x == '0' or $x == null {\n @include multi-dir() {\n transform: $ltr-translate $extra;\n }\n } @else {\n @include ltr() {\n transform: $ltr-translate $extra;\n }\n\n @include rtl() {\n transform: $rtl-translate $extra;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Float Elements\n// --------------------------------------------------\n// Creates float classes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-float-{bp}-{side}` classes for floating the element based\n // on the breakpoint and side\n .ion-float#{$infix}-left {\n @include float(left, !important);\n }\n\n .ion-float#{$infix}-right {\n @include float(right, !important);\n }\n\n .ion-float#{$infix}-start {\n @include float(start, !important);\n }\n\n .ion-float#{$infix}-end {\n @include float(end, !important);\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Alignment\n// --------------------------------------------------\n// Creates text alignment attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for aligning the text based\n // on the breakpoint\n .ion-text#{$infix}-center {\n text-align: center !important;\n }\n\n .ion-text#{$infix}-justify {\n text-align: justify !important;\n }\n\n .ion-text#{$infix}-start {\n text-align: start !important;\n }\n\n .ion-text#{$infix}-end {\n text-align: end !important;\n }\n\n .ion-text#{$infix}-left {\n text-align: left !important;\n }\n\n .ion-text#{$infix}-right {\n text-align: right !important;\n }\n\n .ion-text#{$infix}-nowrap {\n white-space: nowrap !important;\n }\n\n .ion-text#{$infix}-wrap {\n white-space: normal !important;\n }\n }\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Text Transformation\n// --------------------------------------------------\n// Creates text transform attributes based on screen size\n\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `.ion-text-{bp}` classes for transforming the text based\n // on the breakpoint\n .ion-text#{$infix}-uppercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: uppercase !important;\n }\n\n .ion-text#{$infix}-lowercase {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: lowercase !important;\n }\n\n .ion-text#{$infix}-capitalize {\n /* stylelint-disable-next-line declaration-no-important */\n text-transform: capitalize !important;\n }\n }\n}\n","// Flex Utilities\n// --------------------------------------------------\n// Creates flex classes to align flex containers\n// and items\n\n// Align Self\n// --------------------------------------------------\n\n.ion-align-self-start {\n align-self: flex-start !important;\n}\n\n.ion-align-self-end {\n align-self: flex-end !important;\n}\n\n.ion-align-self-center {\n align-self: center !important;\n}\n\n.ion-align-self-stretch {\n align-self: stretch !important;\n}\n\n.ion-align-self-baseline {\n align-self: baseline !important;\n}\n\n.ion-align-self-auto {\n align-self: auto !important;\n}\n\n\n// Flex Wrap\n// --------------------------------------------------\n\n.ion-wrap {\n flex-wrap: wrap !important;\n}\n\n.ion-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.ion-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n\n// Justify Content\n// --------------------------------------------------\n\n.ion-justify-content-start {\n justify-content: flex-start !important;\n}\n\n.ion-justify-content-center {\n justify-content: center !important;\n}\n\n.ion-justify-content-end {\n justify-content: flex-end !important;\n}\n\n.ion-justify-content-around {\n justify-content: space-around !important;\n}\n\n.ion-justify-content-between {\n justify-content: space-between !important;\n}\n\n.ion-justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n\n// Align Items\n// --------------------------------------------------\n\n.ion-align-items-start {\n align-items: flex-start !important;\n}\n\n.ion-align-items-center {\n align-items: center !important;\n}\n\n.ion-align-items-end {\n align-items: flex-end !important;\n}\n\n.ion-align-items-stretch {\n align-items: stretch !important;\n}\n\n.ion-align-items-baseline {\n align-items: baseline !important;\n}\n","@import \"../themes/ionic.globals\";\n@import \"../themes/ionic.mixins\";\n\n// Display\n// --------------------------------------------------\n// Modifies display of a particular element based on the given classes\n\n.ion-hide {\n display: none !important;\n}\n\n// Adds hidden classes\n@each $breakpoint in map-keys($screen-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $screen-breakpoints);\n\n @include media-breakpoint-up($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-up` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-up {\n display: none !important;\n }\n }\n\n @include media-breakpoint-down($breakpoint, $screen-breakpoints) {\n // Provide `ion-hide-{bp}-down` classes for hiding the element based\n // on the breakpoint\n .ion-hide#{$infix}-down {\n display: none !important;\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, Injector } from '@angular/core';
2
- import { ValueAccessor } from './value-accessor';
2
+ import { ValueAccessor } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class BooleanValueAccessorDirective extends ValueAccessor {
5
5
  constructor(injector: Injector, el: ElementRef);
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, Injector } from '@angular/core';
2
- import { ValueAccessor } from './value-accessor';
2
+ import { ValueAccessor } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class NumericValueAccessorDirective extends ValueAccessor {
5
5
  constructor(injector: Injector, el: ElementRef);
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, Injector } from '@angular/core';
2
- import { ValueAccessor } from './value-accessor';
2
+ import { ValueAccessor } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class RadioValueAccessorDirective extends ValueAccessor {
5
5
  constructor(injector: Injector, el: ElementRef);
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, Injector } from '@angular/core';
2
- import { ValueAccessor } from './value-accessor';
2
+ import { ValueAccessor } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SelectValueAccessorDirective extends ValueAccessor {
5
5
  constructor(injector: Injector, el: ElementRef);
@@ -1,5 +1,5 @@
1
1
  import { ElementRef, Injector } from '@angular/core';
2
- import { ValueAccessor } from './value-accessor';
2
+ import { ValueAccessor } from '@ionic/angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TextValueAccessorDirective extends ValueAccessor {
5
5
  constructor(injector: Injector, el: ElementRef);
@@ -1,19 +1,9 @@
1
- import { AnimationBuilder } from '@ionic/core';
2
- import { Config } from '../../providers/config';
3
- import { NavController } from '../../providers/nav-controller';
1
+ import { ElementRef, NgZone, ChangeDetectorRef } from '@angular/core';
2
+ import { IonBackButton as IonBackButtonBase, NavController, Config } from '@ionic/angular/common';
4
3
  import { IonRouterOutlet } from './ion-router-outlet';
5
4
  import * as i0 from "@angular/core";
6
- export declare class IonBackButtonDelegateDirective {
7
- private routerOutlet;
8
- private navCtrl;
9
- private config;
10
- defaultHref: string | undefined | null;
11
- routerAnimation?: AnimationBuilder;
12
- constructor(routerOutlet: IonRouterOutlet, navCtrl: NavController, config: Config);
13
- /**
14
- * @internal
15
- */
16
- onClick(ev: Event): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<IonBackButtonDelegateDirective, [{ optional: true; }, null, null]>;
18
- static ɵdir: i0.ɵɵDirectiveDeclaration<IonBackButtonDelegateDirective, "ion-back-button", never, { "defaultHref": "defaultHref"; "routerAnimation": "routerAnimation"; }, {}, never, never, false>;
5
+ export declare class IonBackButton extends IonBackButtonBase {
6
+ constructor(routerOutlet: IonRouterOutlet, navCtrl: NavController, config: Config, r: ElementRef, z: NgZone, c: ChangeDetectorRef);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonBackButton, [{ optional: true; }, null, null, null, null, null]>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonBackButton, "ion-back-button", never, {}, {}, never, ["*"], false>;
19
9
  }
@@ -0,0 +1,8 @@
1
+ import { ElementRef, Injector, EnvironmentInjector, NgZone, ChangeDetectorRef } from '@angular/core';
2
+ import { IonNav as IonNavBase, AngularDelegate } from '@ionic/angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export declare class IonNav extends IonNavBase {
5
+ constructor(ref: ElementRef, environmentInjector: EnvironmentInjector, injector: Injector, angularDelegate: AngularDelegate, z: NgZone, c: ChangeDetectorRef);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonNav, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonNav, "ion-nav", never, {}, {}, never, ["*"], false>;
8
+ }
@@ -1,124 +1,6 @@
1
- import { Location } from '@angular/common';
2
- import { ComponentRef, ElementRef, NgZone, OnDestroy, OnInit, EventEmitter, EnvironmentInjector, InjectionToken } from '@angular/core';
3
- import { OutletContext, Router, ActivatedRoute, Data } from '@angular/router';
4
- import { AnimationBuilder } from '../../ionic-core';
5
- import { RouteView, StackDidChangeEvent, StackWillChangeEvent } from './stack-utils';
1
+ import { IonRouterOutlet as IonRouterOutletBase } from '@ionic/angular/common';
6
2
  import * as i0 from "@angular/core";
7
- export declare class IonRouterOutlet implements OnDestroy, OnInit {
8
- readonly parentOutlet?: IonRouterOutlet | undefined;
9
- nativeEl: HTMLIonRouterOutletElement;
10
- activatedView: RouteView | null;
11
- tabsPrefix: string | undefined;
12
- private _swipeGesture?;
13
- private stackCtrl;
14
- private proxyMap;
15
- private currentActivatedRoute$;
16
- private activated;
17
- /** @internal */
18
- get activatedComponentRef(): ComponentRef<any> | null;
19
- private _activatedRoute;
20
- /**
21
- * The name of the outlet
22
- */
23
- name: string;
24
- /** @internal */
25
- stackWillChange: EventEmitter<StackWillChangeEvent>;
26
- /** @internal */
27
- stackDidChange: EventEmitter<StackDidChangeEvent>;
28
- activateEvents: EventEmitter<any>;
29
- deactivateEvents: EventEmitter<any>;
30
- private parentContexts;
31
- private location;
32
- private environmentInjector;
33
- private inputBinder;
34
- /** @nodoc */
35
- readonly supportsBindingToComponentInputs = true;
36
- private config;
37
- private navCtrl;
38
- set animation(animation: AnimationBuilder);
39
- set animated(animated: boolean);
40
- set swipeGesture(swipe: boolean);
41
- constructor(name: string, tabs: string, commonLocation: Location, elementRef: ElementRef, router: Router, zone: NgZone, activatedRoute: ActivatedRoute, parentOutlet?: IonRouterOutlet | undefined);
42
- ngOnDestroy(): void;
43
- getContext(): OutletContext | null;
44
- ngOnInit(): void;
45
- private initializeOutletWithName;
46
- get isActivated(): boolean;
47
- get component(): Record<string, unknown>;
48
- get activatedRoute(): ActivatedRoute;
49
- get activatedRouteData(): Data;
50
- /**
51
- * Called when the `RouteReuseStrategy` instructs to detach the subtree
52
- */
53
- detach(): ComponentRef<any>;
54
- /**
55
- * Called when the `RouteReuseStrategy` instructs to re-attach a previously detached subtree
56
- */
57
- attach(_ref: ComponentRef<any>, _activatedRoute: ActivatedRoute): void;
58
- deactivate(): void;
59
- activateWith(activatedRoute: ActivatedRoute, environmentInjector: EnvironmentInjector | null): void;
60
- /**
61
- * Returns `true` if there are pages in the stack to go back.
62
- */
63
- canGoBack(deep?: number, stackId?: string): boolean;
64
- /**
65
- * Resolves to `true` if it the outlet was able to sucessfully pop the last N pages.
66
- */
67
- pop(deep?: number, stackId?: string): Promise<boolean>;
68
- /**
69
- * Returns the URL of the active page of each stack.
70
- */
71
- getLastUrl(stackId?: string): string | undefined;
72
- /**
73
- * Returns the RouteView of the active page of each stack.
74
- * @internal
75
- */
76
- getLastRouteView(stackId?: string): RouteView | undefined;
77
- /**
78
- * Returns the root view in the tab stack.
79
- * @internal
80
- */
81
- getRootView(stackId?: string): RouteView | undefined;
82
- /**
83
- * Returns the active stack ID. In the context of ion-tabs, it means the active tab.
84
- */
85
- getActiveStackId(): string | undefined;
86
- /**
87
- * Since the activated route can change over the life time of a component in an ion router outlet, we create
88
- * a proxy so that we can update the values over time as a user navigates back to components already in the stack.
89
- */
90
- private createActivatedRouteProxy;
91
- /**
92
- * Create a wrapped observable that will switch to the latest activated route matched by the given component
93
- */
94
- private proxyObservable;
95
- /**
96
- * Updates the activated route proxy for the given component to the new incoming router state
97
- */
98
- private updateActivatedRouteProxy;
99
- static ɵfac: i0.ɵɵFactoryDeclaration<IonRouterOutlet, [{ attribute: "name"; }, { attribute: "tabs"; optional: true; }, null, null, null, null, null, { optional: true; skipSelf: true; }]>;
100
- static ɵdir: i0.ɵɵDirectiveDeclaration<IonRouterOutlet, "ion-router-outlet", ["outlet"], { "animated": "animated"; "animation": "animation"; "mode": "mode"; "swipeGesture": "swipeGesture"; "name": "name"; }, { "stackWillChange": "stackWillChange"; "stackDidChange": "stackDidChange"; "activateEvents": "activate"; "deactivateEvents": "deactivate"; }, never, never, false>;
101
- }
102
- export declare const INPUT_BINDER: InjectionToken<RoutedComponentInputBinder>;
103
- /**
104
- * Injectable used as a tree-shakable provider for opting in to binding router data to component
105
- * inputs.
106
- *
107
- * The RouterOutlet registers itself with this service when an `ActivatedRoute` is attached or
108
- * activated. When this happens, the service subscribes to the `ActivatedRoute` observables (params,
109
- * queryParams, data) and sets the inputs of the component using `ComponentRef.setInput`.
110
- * Importantly, when an input does not have an item in the route data with a matching key, this
111
- * input is set to `undefined`. If it were not done this way, the previous information would be
112
- * retained if the data got removed from the route (i.e. if a query parameter is removed).
113
- *
114
- * The `RouterOutlet` should unregister itself when destroyed via `unsubscribeFromRouteData` so that
115
- * the subscriptions are cleaned up.
116
- */
117
- export declare class RoutedComponentInputBinder {
118
- private outletDataSubscriptions;
119
- bindActivatedRouteToOutletComponent(outlet: IonRouterOutlet): void;
120
- unsubscribeFromRouteData(outlet: IonRouterOutlet): void;
121
- private subscribeToRouteData;
122
- static ɵfac: i0.ɵɵFactoryDeclaration<RoutedComponentInputBinder, never>;
123
- static ɵprov: i0.ɵɵInjectableDeclaration<RoutedComponentInputBinder>;
3
+ export declare class IonRouterOutlet extends IonRouterOutletBase {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<IonRouterOutlet, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IonRouterOutlet, "ion-router-outlet", never, {}, {}, never, never, false>;
124
6
  }
@@ -1,72 +1,12 @@
1
- import { AfterContentChecked, AfterContentInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
2
- import { NavController } from '../../providers/nav-controller';
1
+ import { QueryList } from '@angular/core';
2
+ import { IonTabs as IonTabsBase } from '@ionic/angular/common';
3
3
  import { IonTabBar } from '../proxies';
4
4
  import { IonRouterOutlet } from './ion-router-outlet';
5
- import { StackDidChangeEvent, StackWillChangeEvent } from './stack-utils';
6
5
  import * as i0 from "@angular/core";
7
- export declare class IonTabs implements AfterContentInit, AfterContentChecked {
8
- private navCtrl;
6
+ export declare class IonTabs extends IonTabsBase {
9
7
  outlet: IonRouterOutlet;
10
- tabsInner: ElementRef<HTMLDivElement>;
11
8
  tabBar: IonTabBar | undefined;
12
9
  tabBars: QueryList<IonTabBar>;
13
- /**
14
- * Emitted before the tab view is changed.
15
- */
16
- ionTabsWillChange: EventEmitter<{
17
- tab: string;
18
- }>;
19
- /**
20
- * Emitted after the tab view is changed.
21
- */
22
- ionTabsDidChange: EventEmitter<{
23
- tab: string;
24
- }>;
25
- private tabBarSlot;
26
- constructor(navCtrl: NavController);
27
- ngAfterContentInit(): void;
28
- ngAfterContentChecked(): void;
29
- /**
30
- * @internal
31
- */
32
- onStackWillChange({ enteringView, tabSwitch }: StackWillChangeEvent): void;
33
- /**
34
- * @internal
35
- */
36
- onStackDidChange({ enteringView, tabSwitch }: StackDidChangeEvent): void;
37
- /**
38
- * When a tab button is clicked, there are several scenarios:
39
- * 1. If the selected tab is currently active (the tab button has been clicked
40
- * again), then it should go to the root view for that tab.
41
- *
42
- * a. Get the saved root view from the router outlet. If the saved root view
43
- * matches the tabRootUrl, set the route view to this view including the
44
- * navigation extras.
45
- * b. If the saved root view from the router outlet does
46
- * not match, navigate to the tabRootUrl. No navigation extras are
47
- * included.
48
- *
49
- * 2. If the current tab tab is not currently selected, get the last route
50
- * view from the router outlet.
51
- *
52
- * a. If the last route view exists, navigate to that view including any
53
- * navigation extras
54
- * b. If the last route view doesn't exist, then navigate
55
- * to the default tabRootUrl
56
- */
57
- select(tabOrEvent: string | CustomEvent): Promise<boolean> | undefined;
58
- getSelected(): string | undefined;
59
- /**
60
- * Detects changes to the slot attribute of the tab bar.
61
- *
62
- * If the slot attribute has changed, then the tab bar
63
- * should be relocated to the new slot position.
64
- */
65
- private detectSlotChanges;
66
- /**
67
- * Relocates the tab bar to the new slot position.
68
- */
69
- private relocateTabBar;
70
10
  static ɵfac: i0.ɵɵFactoryDeclaration<IonTabs, never>;
71
- static ɵcmp: i0.ɵɵComponentDeclaration<IonTabs, "ion-tabs", never, {}, { "ionTabsWillChange": "ionTabsWillChange"; "ionTabsDidChange": "ionTabsDidChange"; }, ["tabBar", "tabBars"], ["[slot=top]", "*"], false>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<IonTabs, "ion-tabs", never, {}, {}, ["tabBar", "tabBars"], ["[slot=top]", "*"], false>;
72
12
  }