@ionic/core 9.0.11-dev.11793719937.1e883321 → 9.0.11-dev.11793727726.19b906b5

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 (89) hide show
  1. package/components/ion-action-sheet.js +1 -1
  2. package/components/ion-alert.js +1 -1
  3. package/components/ion-content.js +1 -1
  4. package/components/ion-datetime-button.js +1 -1
  5. package/components/ion-datetime.js +1 -1
  6. package/components/ion-modal.js +1 -1
  7. package/components/ion-popover.js +1 -1
  8. package/components/ion-select-modal.js +1 -1
  9. package/components/ion-select.js +1 -1
  10. package/components/ion-toast.js +1 -1
  11. package/components/{p-DtZimz8H.js → p-1HReh-CB.js} +1 -1
  12. package/components/{p-BCQSEpww.js → p-B7ExaLVL.js} +1 -1
  13. package/components/{p-CseHeZbU.js → p-BCYVFy50.js} +1 -1
  14. package/components/p-ByE0slik.js +4 -0
  15. package/components/p-DgNvIX46.js +4 -0
  16. package/components/p-DmyvpOqm.js +4 -0
  17. package/components/p-mG85e2ek.js +4 -0
  18. package/css/ionic/bundle.ionic.css +1 -1
  19. package/css/ionic/bundle.ionic.css.map +1 -1
  20. package/css/ionic/core.ionic.css +1 -1
  21. package/css/ionic/core.ionic.css.map +1 -1
  22. package/css/ionic/global.bundle.ionic.css.map +1 -1
  23. package/css/ionic/link.ionic.css.map +1 -1
  24. package/css/ionic/typography.ionic.css.map +1 -1
  25. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-app_8.cjs.entry.js +5 -13
  28. package/dist/cjs/ion-datetime-button.cjs.entry.js +33 -6
  29. package/dist/cjs/ion-datetime.cjs.entry.js +353 -36
  30. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  33. package/dist/cjs/ionic.cjs.js +1 -1
  34. package/dist/cjs/loader.cjs.js +1 -1
  35. package/dist/collection/components/action-sheet/action-sheet.ionic.css +1 -1
  36. package/dist/collection/components/alert/alert.ionic.css +1 -1
  37. package/dist/collection/components/content/{content.ios.css → content.css} +41 -65
  38. package/dist/collection/components/content/content.js +5 -9
  39. package/dist/collection/components/datetime/datetime.ionic.css +179 -5
  40. package/dist/collection/components/datetime/datetime.ios.css +134 -2
  41. package/dist/collection/components/datetime/datetime.js +406 -33
  42. package/dist/collection/components/datetime/datetime.md.css +120 -0
  43. package/dist/collection/components/datetime/utils/state.js +18 -1
  44. package/dist/collection/components/datetime-button/datetime-button.js +34 -6
  45. package/dist/collection/components/modal/modal.ionic.css +2 -2
  46. package/dist/collection/components/popover/popover.ionic.css +1 -2
  47. package/dist/collection/components/toast/toast.ionic.css +1 -1
  48. package/dist/docs.json +160 -127
  49. package/dist/esm/{format-NT7iHsbA.js → format-DUHrIiJq.js} +1 -1
  50. package/dist/esm/ion-action-sheet.entry.js +1 -1
  51. package/dist/esm/ion-alert.entry.js +1 -1
  52. package/dist/esm/ion-app_8.entry.js +5 -13
  53. package/dist/esm/ion-datetime-button.entry.js +34 -7
  54. package/dist/esm/ion-datetime.entry.js +354 -37
  55. package/dist/esm/ion-modal.entry.js +1 -1
  56. package/dist/esm/ion-popover.entry.js +1 -1
  57. package/dist/esm/ion-toast.entry.js +1 -1
  58. package/dist/esm/ionic.js +1 -1
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/html.html-data.json +20 -0
  61. package/dist/ionic/ionic.esm.js +1 -1
  62. package/dist/ionic/{p-b076511a.entry.js → p-3674a7de.entry.js} +1 -1
  63. package/dist/ionic/p-56d77e95.entry.js +4 -0
  64. package/dist/ionic/{p-3ddd32cc.entry.js → p-5a024b02.entry.js} +1 -1
  65. package/dist/ionic/p-9cce1ed5.entry.js +4 -0
  66. package/dist/ionic/{p-BtccSO5J.js → p-CaOPF8Xt.js} +1 -1
  67. package/dist/ionic/p-b30b468d.entry.js +4 -0
  68. package/dist/ionic/p-ceca04fb.entry.js +4 -0
  69. package/dist/ionic/p-d7da66b1.entry.js +4 -0
  70. package/dist/ionic/p-f02c29cd.entry.js +4 -0
  71. package/dist/types/components/datetime/datetime-interface.d.ts +4 -0
  72. package/dist/types/components/datetime/datetime.d.ts +71 -2
  73. package/dist/types/components/datetime/utils/state.d.ts +5 -2
  74. package/dist/types/components.d.ts +33 -0
  75. package/hydrate/index.js +405 -61
  76. package/hydrate/index.mjs +405 -61
  77. package/package.json +2 -2
  78. package/components/p-Da8LCPwo.js +0 -4
  79. package/components/p-DibGn4gb.js +0 -4
  80. package/components/p-NZGZhPF5.js +0 -4
  81. package/components/p-PFwuhbqg.js +0 -4
  82. package/dist/collection/components/content/content.ionic.css +0 -352
  83. package/dist/collection/components/content/content.md.css +0 -347
  84. package/dist/ionic/p-0743a26a.entry.js +0 -4
  85. package/dist/ionic/p-1d87b153.entry.js +0 -4
  86. package/dist/ionic/p-39e3be74.entry.js +0 -4
  87. package/dist/ionic/p-a1555032.entry.js +0 -4
  88. package/dist/ionic/p-ad46d2fd.entry.js +0 -4
  89. package/dist/ionic/p-dbf53341.entry.js +0 -4
@@ -1,352 +0,0 @@
1
- /**
2
- * A heuristic that applies CSS to tablet
3
- * viewports.
4
- *
5
- * Usage:
6
- * @include tablet-viewport() {
7
- * :host {
8
- * background-color: green;
9
- * }
10
- * }
11
- */
12
- /**
13
- * A heuristic that applies CSS to mobile
14
- * viewports (i.e. phones, not tablets).
15
- *
16
- * Usage:
17
- * @include mobile-viewport() {
18
- * :host {
19
- * background-color: blue;
20
- * }
21
- * }
22
- */
23
- /**
24
- * Convert a pixels given value into rem
25
- *
26
- * @param pixels - Value in pixels to be converted (i.e. px)
27
- * @param context (optional) - Baseline value
28
- */
29
- /**
30
- * Convert a font size to a dynamic font size.
31
- * Fonts that participate in Dynamic Type should use
32
- * dynamic font sizes.
33
- * @param size - The initial font size including the unit (i.e. px or pt)
34
- * @param unit (optional) - The unit to convert to. Use this if you want to
35
- * convert to a unit other than $baselineUnit.
36
- */
37
- /**
38
- * Convert a font size to a dynamic font size but impose
39
- * a maximum font size.
40
- * @param size - The initial font size including the unit (i.e. px or pt)
41
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
42
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
43
- * convert to a unit other than $baselineUnit.
44
- */
45
- /**
46
- * Convert a font size to a dynamic font size but impose
47
- * a minimum font size.
48
- * @param size - The initial font size including the unit (i.e. px or pt)
49
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
50
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
51
- * convert to a unit other than $baselineUnit.
52
- */
53
- /**
54
- * Convert a font size to a dynamic font size but impose
55
- * maximum and minimum font sizes.
56
- * @param size - The initial font size including the unit (i.e. px or pt)
57
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
58
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
59
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
60
- * convert to a unit other than $baselineUnit.
61
- */
62
- /**
63
- * A heuristic that applies CSS to tablet
64
- * viewports.
65
- *
66
- * Usage:
67
- * @include tablet-viewport() {
68
- * :host {
69
- * background-color: green;
70
- * }
71
- * }
72
- */
73
- /**
74
- * A heuristic that applies CSS to mobile
75
- * viewports (i.e. phones, not tablets).
76
- *
77
- * Usage:
78
- * @include mobile-viewport() {
79
- * :host {
80
- * background-color: blue;
81
- * }
82
- * }
83
- */
84
- :host {
85
- /**
86
- * @prop --background: Background of the content
87
- *
88
- * @prop --color: Color of the content
89
- *
90
- * @prop --padding-top: Top padding of the content
91
- * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the content
92
- * @prop --padding-bottom: Bottom padding of the content
93
- * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the content
94
- *
95
- * @prop --keyboard-offset: Keyboard offset of the content
96
- *
97
- * @prop --offset-top: Offset top of the content
98
- * @prop --offset-bottom: Offset bottom of the content
99
- */
100
- --padding-top: 0px;
101
- --padding-bottom: 0px;
102
- --padding-start: 0px;
103
- --padding-end: 0px;
104
- --keyboard-offset: 0px;
105
- --offset-top: 0px;
106
- --offset-bottom: 0px;
107
- --overflow: auto;
108
- display: block;
109
- position: relative;
110
- flex: 1;
111
- width: 100%;
112
- height: 100%;
113
- /* stylelint-disable */
114
- margin: 0 !important;
115
- padding: 0 !important;
116
- /* stylelint-enable */
117
- font-family: var(--ion-font-family, inherit);
118
- contain: size style;
119
- }
120
-
121
- :host(.ion-color) .inner-scroll {
122
- background: var(--ion-color-base);
123
- color: var(--ion-color-contrast);
124
- }
125
-
126
- #background-content {
127
- right: 0px;
128
- left: 0px;
129
- top: calc(var(--offset-top) * -1);
130
- bottom: calc(var(--offset-bottom) * -1);
131
- position: absolute;
132
- background: var(--background);
133
- }
134
-
135
- .inner-scroll {
136
- right: 0px;
137
- left: 0px;
138
- top: calc(var(--offset-top) * -1);
139
- bottom: calc(var(--offset-bottom) * -1);
140
- -webkit-padding-start: var(--padding-start);
141
- padding-inline-start: var(--padding-start);
142
- -webkit-padding-end: var(--padding-end);
143
- padding-inline-end: var(--padding-end);
144
- padding-top: calc(var(--padding-top) + var(--offset-top));
145
- padding-bottom: calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));
146
- position: absolute;
147
- color: var(--color);
148
- box-sizing: border-box;
149
- overflow: hidden;
150
- /**
151
- * touch-action: manipulation is an alias
152
- * for this, but WebKit has an issue
153
- * where pointercancel events are not fired
154
- * when scrolling: https://bugs.webkit.org/show_bug.cgi?id=240917
155
- * Using the long form below avoids the issue.
156
- */
157
- touch-action: pan-x pan-y pinch-zoom;
158
- }
159
-
160
- .scroll-y,
161
- .scroll-x {
162
- -webkit-overflow-scrolling: touch;
163
- /**
164
- * This adds `.inner-scroll` as part of the
165
- * stacking context in WebKit. Without it,
166
- * children of ion-content are treated as
167
- * siblings rather than descendants. This
168
- * can result in the children being put
169
- * into their own layers, degrading
170
- * scrolling performance.
171
- *
172
- * An optimization called "layer backing
173
- * sharing" usually kicks in to prevent
174
- * this, but having translate3d defeats
175
- * this optimization.
176
- *
177
- * See: https://bugs.webkit.org/show_bug.cgi?id=216701
178
- */
179
- z-index: 0;
180
- will-change: scroll-position;
181
- }
182
-
183
- .scroll-y {
184
- overflow-y: var(--overflow);
185
- overscroll-behavior-y: contain;
186
- }
187
-
188
- .scroll-x {
189
- overflow-x: var(--overflow);
190
- overscroll-behavior-x: contain;
191
- }
192
-
193
- .overscroll::before,
194
- .overscroll::after {
195
- position: absolute;
196
- width: 1px;
197
- height: 1px;
198
- content: "";
199
- }
200
-
201
- .overscroll::before {
202
- bottom: -1px;
203
- }
204
-
205
- .overscroll::after {
206
- top: -1px;
207
- }
208
-
209
- :host(.content-sizing) {
210
- display: flex;
211
- flex-direction: column;
212
- /**
213
- * This resolves a sizing issue in popovers where extra long content
214
- * would overflow the popover's height, preventing scrolling. It's a
215
- * quirk of flexbox that forces the content to shrink to fit.
216
- *
217
- * overflow: hidden can't be used here because it prevents the visual
218
- * effect from showing on translucent headers.
219
- */
220
- min-height: 0;
221
- contain: none;
222
- }
223
-
224
- :host(.content-sizing) .inner-scroll {
225
- position: relative;
226
- /**
227
- * Because the outer content has display: flex here (to help enable
228
- * scrolling in a popover), offsetting via `top` (such as when using
229
- * a translucent header) creates white space under the content. Use
230
- * a negative margin instead to keep the bottom in place. (A similar
231
- * thing happens with `bottom` and footers.)
232
- */
233
- top: 0;
234
- bottom: 0;
235
- margin-top: calc(var(--offset-top) * -1);
236
- margin-bottom: calc(var(--offset-bottom) * -1);
237
- }
238
-
239
- .transition-effect {
240
- display: none;
241
- position: absolute;
242
- width: 100%;
243
- height: 100vh;
244
- opacity: 0;
245
- pointer-events: none;
246
- }
247
-
248
- :host(.content-ltr) .transition-effect {
249
- /* stylelint-disable property-disallowed-list */
250
- left: -100%;
251
- /* stylelint-enable property-disallowed-list */
252
- }
253
-
254
- :host(.content-rtl) .transition-effect {
255
- /* stylelint-disable property-disallowed-list */
256
- right: -100%;
257
- /* stylelint-enable property-disallowed-list */
258
- }
259
-
260
- .transition-cover {
261
- position: absolute;
262
- /* stylelint-disable property-disallowed-list */
263
- right: 0;
264
- /* stylelint-enable property-disallowed-list */
265
- width: 100%;
266
- height: 100%;
267
- background: black;
268
- opacity: 0.1;
269
- }
270
-
271
- .transition-shadow {
272
- display: block;
273
- position: absolute;
274
- width: 100%;
275
- height: 100%;
276
- box-shadow: inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);
277
- }
278
-
279
- :host(.content-ltr) .transition-shadow {
280
- /* stylelint-disable property-disallowed-list */
281
- right: 0;
282
- /* stylelint-enable property-disallowed-list */
283
- }
284
-
285
- :host(.content-rtl) .transition-shadow {
286
- /* stylelint-disable property-disallowed-list */
287
- left: 0;
288
- /* stylelint-enable property-disallowed-list */
289
- transform: scaleX(-1);
290
- }
291
-
292
- ::slotted([slot=fixed]) {
293
- position: absolute;
294
- /**
295
- * When presenting ion-content inside of an ion-modal, the .inner-scroll
296
- * element is composited. In WebKit, the fixed content is not composited
297
- * causing it to appear under the main scrollable content as a result.
298
- * The fixed content is correctly composited in other browsers. Adding
299
- * the translateZ forces the fixed content to be composited so it correctly
300
- * shows on top of the scrollable content. Setting a negative z-index will
301
- * still allow the fixed content to appear under the scroll content if specified.
302
- */
303
- transform: translateZ(0);
304
- }
305
-
306
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
307
- transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), height 300ms cubic-bezier(0, 0, 0.2, 1);
308
- }
309
-
310
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen).content-header-hide-scroll-hidden) .inner-scroll {
311
- height: calc(100% + var(--internal-header-hide-height, 0px));
312
- transform: translateY(calc(-1 * var(--internal-header-hide-height, 0px)));
313
- transition: transform 200ms cubic-bezier(0.4, 0, 1, 1), height 200ms cubic-bezier(0.4, 0, 1, 1);
314
- }
315
-
316
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
317
- transition: height 200ms cubic-bezier(0.16, 1, 0.3, 1);
318
- }
319
-
320
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen).content-footer-hide-scroll-hidden) .inner-scroll {
321
- height: calc(100% + var(--internal-footer-hide-height, 0px));
322
- transition: height 350ms cubic-bezier(0.4, 0, 1, 1);
323
- }
324
-
325
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
326
- transition: height 200ms cubic-bezier(0.16, 1, 0.3, 1);
327
- }
328
-
329
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen).content-tab-bar-hide-scroll-hidden) .inner-scroll {
330
- height: calc(100% + var(--internal-tab-bar-hide-height, 0px));
331
- transition: height 350ms cubic-bezier(0.4, 0, 1, 1);
332
- }
333
-
334
- @media (prefers-reduced-motion: reduce) {
335
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
336
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen).content-header-hide-scroll-hidden) .inner-scroll,
337
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
338
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen).content-footer-hide-scroll-hidden) .inner-scroll,
339
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
340
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen).content-tab-bar-hide-scroll-hidden) .inner-scroll {
341
- transition: none;
342
- }
343
- }
344
- :host {
345
- --background: var(--ion-background-color, var(--token-bg-body, var(--token-primitives-base-white, #ffffff)));
346
- /**
347
- * Inherit the text color set on `body`
348
- * (or any closer ancestor) instead of
349
- * resetting it.
350
- */
351
- --color: currentColor;
352
- }
@@ -1,347 +0,0 @@
1
- /**
2
- * A heuristic that applies CSS to tablet
3
- * viewports.
4
- *
5
- * Usage:
6
- * @include tablet-viewport() {
7
- * :host {
8
- * background-color: green;
9
- * }
10
- * }
11
- */
12
- /**
13
- * A heuristic that applies CSS to mobile
14
- * viewports (i.e. phones, not tablets).
15
- *
16
- * Usage:
17
- * @include mobile-viewport() {
18
- * :host {
19
- * background-color: blue;
20
- * }
21
- * }
22
- */
23
- :host {
24
- /**
25
- * @prop --background: Background of the content
26
- *
27
- * @prop --color: Color of the content
28
- *
29
- * @prop --padding-top: Top padding of the content
30
- * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the content
31
- * @prop --padding-bottom: Bottom padding of the content
32
- * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the content
33
- *
34
- * @prop --keyboard-offset: Keyboard offset of the content
35
- *
36
- * @prop --offset-top: Offset top of the content
37
- * @prop --offset-bottom: Offset bottom of the content
38
- */
39
- --padding-top: 0px;
40
- --padding-bottom: 0px;
41
- --padding-start: 0px;
42
- --padding-end: 0px;
43
- --keyboard-offset: 0px;
44
- --offset-top: 0px;
45
- --offset-bottom: 0px;
46
- --overflow: auto;
47
- display: block;
48
- position: relative;
49
- flex: 1;
50
- width: 100%;
51
- height: 100%;
52
- /* stylelint-disable */
53
- margin: 0 !important;
54
- padding: 0 !important;
55
- /* stylelint-enable */
56
- font-family: var(--ion-font-family, inherit);
57
- contain: size style;
58
- }
59
-
60
- :host(.ion-color) .inner-scroll {
61
- background: var(--ion-color-base);
62
- color: var(--ion-color-contrast);
63
- }
64
-
65
- #background-content {
66
- right: 0px;
67
- left: 0px;
68
- top: calc(var(--offset-top) * -1);
69
- bottom: calc(var(--offset-bottom) * -1);
70
- position: absolute;
71
- background: var(--background);
72
- }
73
-
74
- .inner-scroll {
75
- right: 0px;
76
- left: 0px;
77
- top: calc(var(--offset-top) * -1);
78
- bottom: calc(var(--offset-bottom) * -1);
79
- -webkit-padding-start: var(--padding-start);
80
- padding-inline-start: var(--padding-start);
81
- -webkit-padding-end: var(--padding-end);
82
- padding-inline-end: var(--padding-end);
83
- padding-top: calc(var(--padding-top) + var(--offset-top));
84
- padding-bottom: calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom) + var(--internal-content-safe-area-padding-bottom, 0px));
85
- position: absolute;
86
- color: var(--color);
87
- box-sizing: border-box;
88
- overflow: hidden;
89
- /**
90
- * touch-action: manipulation is an alias
91
- * for this, but WebKit has an issue
92
- * where pointercancel events are not fired
93
- * when scrolling: https://bugs.webkit.org/show_bug.cgi?id=240917
94
- * Using the long form below avoids the issue.
95
- */
96
- touch-action: pan-x pan-y pinch-zoom;
97
- }
98
-
99
- .scroll-y,
100
- .scroll-x {
101
- -webkit-overflow-scrolling: touch;
102
- /**
103
- * This adds `.inner-scroll` as part of the
104
- * stacking context in WebKit. Without it,
105
- * children of ion-content are treated as
106
- * siblings rather than descendants. This
107
- * can result in the children being put
108
- * into their own layers, degrading
109
- * scrolling performance.
110
- *
111
- * An optimization called "layer backing
112
- * sharing" usually kicks in to prevent
113
- * this, but having translate3d defeats
114
- * this optimization.
115
- *
116
- * See: https://bugs.webkit.org/show_bug.cgi?id=216701
117
- */
118
- z-index: 0;
119
- will-change: scroll-position;
120
- }
121
-
122
- .scroll-y {
123
- overflow-y: var(--overflow);
124
- overscroll-behavior-y: contain;
125
- }
126
-
127
- .scroll-x {
128
- overflow-x: var(--overflow);
129
- overscroll-behavior-x: contain;
130
- }
131
-
132
- .overscroll::before,
133
- .overscroll::after {
134
- position: absolute;
135
- width: 1px;
136
- height: 1px;
137
- content: "";
138
- }
139
-
140
- .overscroll::before {
141
- bottom: -1px;
142
- }
143
-
144
- .overscroll::after {
145
- top: -1px;
146
- }
147
-
148
- :host(.content-sizing) {
149
- display: flex;
150
- flex-direction: column;
151
- /**
152
- * This resolves a sizing issue in popovers where extra long content
153
- * would overflow the popover's height, preventing scrolling. It's a
154
- * quirk of flexbox that forces the content to shrink to fit.
155
- *
156
- * overflow: hidden can't be used here because it prevents the visual
157
- * effect from showing on translucent headers.
158
- */
159
- min-height: 0;
160
- contain: none;
161
- }
162
-
163
- :host(.content-sizing) .inner-scroll {
164
- position: relative;
165
- /**
166
- * Because the outer content has display: flex here (to help enable
167
- * scrolling in a popover), offsetting via `top` (such as when using
168
- * a translucent header) creates white space under the content. Use
169
- * a negative margin instead to keep the bottom in place. (A similar
170
- * thing happens with `bottom` and footers.)
171
- */
172
- top: 0;
173
- bottom: 0;
174
- margin-top: calc(var(--offset-top) * -1);
175
- margin-bottom: calc(var(--offset-bottom) * -1);
176
- }
177
-
178
- .transition-effect {
179
- display: none;
180
- position: absolute;
181
- width: 100%;
182
- height: 100vh;
183
- opacity: 0;
184
- pointer-events: none;
185
- }
186
-
187
- :host(.content-ltr) .transition-effect {
188
- /* stylelint-disable property-disallowed-list */
189
- left: -100%;
190
- /* stylelint-enable property-disallowed-list */
191
- }
192
-
193
- :host(.content-rtl) .transition-effect {
194
- /* stylelint-disable property-disallowed-list */
195
- right: -100%;
196
- /* stylelint-enable property-disallowed-list */
197
- }
198
-
199
- .transition-cover {
200
- position: absolute;
201
- /* stylelint-disable property-disallowed-list */
202
- right: 0;
203
- /* stylelint-enable property-disallowed-list */
204
- width: 100%;
205
- height: 100%;
206
- background: black;
207
- opacity: 0.1;
208
- }
209
-
210
- .transition-shadow {
211
- display: block;
212
- position: absolute;
213
- width: 100%;
214
- height: 100%;
215
- box-shadow: inset -9px 0 9px 0 rgba(0, 0, 100, 0.03);
216
- }
217
-
218
- :host(.content-ltr) .transition-shadow {
219
- /* stylelint-disable property-disallowed-list */
220
- right: 0;
221
- /* stylelint-enable property-disallowed-list */
222
- }
223
-
224
- :host(.content-rtl) .transition-shadow {
225
- /* stylelint-disable property-disallowed-list */
226
- left: 0;
227
- /* stylelint-enable property-disallowed-list */
228
- transform: scaleX(-1);
229
- }
230
-
231
- ::slotted([slot=fixed]) {
232
- position: absolute;
233
- /**
234
- * When presenting ion-content inside of an ion-modal, the .inner-scroll
235
- * element is composited. In WebKit, the fixed content is not composited
236
- * causing it to appear under the main scrollable content as a result.
237
- * The fixed content is correctly composited in other browsers. Adding
238
- * the translateZ forces the fixed content to be composited so it correctly
239
- * shows on top of the scrollable content. Setting a negative z-index will
240
- * still allow the fixed content to appear under the scroll content if specified.
241
- */
242
- transform: translateZ(0);
243
- }
244
-
245
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
246
- transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), height 300ms cubic-bezier(0, 0, 0.2, 1);
247
- }
248
-
249
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen).content-header-hide-scroll-hidden) .inner-scroll {
250
- height: calc(100% + var(--internal-header-hide-height, 0px));
251
- transform: translateY(calc(-1 * var(--internal-header-hide-height, 0px)));
252
- transition: transform 200ms cubic-bezier(0.4, 0, 1, 1), height 200ms cubic-bezier(0.4, 0, 1, 1);
253
- }
254
-
255
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
256
- transition: height 200ms cubic-bezier(0.16, 1, 0.3, 1);
257
- }
258
-
259
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen).content-footer-hide-scroll-hidden) .inner-scroll {
260
- height: calc(100% + var(--internal-footer-hide-height, 0px));
261
- transition: height 350ms cubic-bezier(0.4, 0, 1, 1);
262
- }
263
-
264
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll {
265
- transition: height 200ms cubic-bezier(0.16, 1, 0.3, 1);
266
- }
267
-
268
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen).content-tab-bar-hide-scroll-hidden) .inner-scroll {
269
- height: calc(100% + var(--internal-tab-bar-hide-height, 0px));
270
- transition: height 350ms cubic-bezier(0.4, 0, 1, 1);
271
- }
272
-
273
- @media (prefers-reduced-motion: reduce) {
274
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
275
- :host(.content-header-hide-scroll-partner:not(.content-fullscreen).content-header-hide-scroll-hidden) .inner-scroll,
276
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
277
- :host(.content-footer-hide-scroll-partner:not(.content-fullscreen).content-footer-hide-scroll-hidden) .inner-scroll,
278
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen)) .inner-scroll,
279
- :host(.content-tab-bar-hide-scroll-partner:not(.content-fullscreen).content-tab-bar-hide-scroll-hidden) .inner-scroll {
280
- transition: none;
281
- }
282
- }
283
- /**
284
- * Convert a pixels given value into rem
285
- *
286
- * @param pixels - Value in pixels to be converted (i.e. px)
287
- * @param context (optional) - Baseline value
288
- */
289
- /**
290
- * Convert a font size to a dynamic font size.
291
- * Fonts that participate in Dynamic Type should use
292
- * dynamic font sizes.
293
- * @param size - The initial font size including the unit (i.e. px or pt)
294
- * @param unit (optional) - The unit to convert to. Use this if you want to
295
- * convert to a unit other than $baselineUnit.
296
- */
297
- /**
298
- * Convert a font size to a dynamic font size but impose
299
- * a maximum font size.
300
- * @param size - The initial font size including the unit (i.e. px or pt)
301
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
302
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
303
- * convert to a unit other than $baselineUnit.
304
- */
305
- /**
306
- * Convert a font size to a dynamic font size but impose
307
- * a minimum font size.
308
- * @param size - The initial font size including the unit (i.e. px or pt)
309
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
310
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
311
- * convert to a unit other than $baselineUnit.
312
- */
313
- /**
314
- * Convert a font size to a dynamic font size but impose
315
- * maximum and minimum font sizes.
316
- * @param size - The initial font size including the unit (i.e. px or pt)
317
- * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
318
- * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
319
- * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
320
- * convert to a unit other than $baselineUnit.
321
- */
322
- /**
323
- * A heuristic that applies CSS to tablet
324
- * viewports.
325
- *
326
- * Usage:
327
- * @include tablet-viewport() {
328
- * :host {
329
- * background-color: green;
330
- * }
331
- * }
332
- */
333
- /**
334
- * A heuristic that applies CSS to mobile
335
- * viewports (i.e. phones, not tablets).
336
- *
337
- * Usage:
338
- * @include mobile-viewport() {
339
- * :host {
340
- * background-color: blue;
341
- * }
342
- * }
343
- */
344
- :host {
345
- --background: var(--ion-background-color, #fff);
346
- --color: var(--ion-text-color, #000);
347
- }