123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- @import "../themes/ionic.globals";
-
- // Cordova Status Bar Padding iOS Platform
- // --------------------------------------------------------------------------------
-
- /// @prop - The breakpoint when a modal becomes inset
- $cordova-statusbar-padding-modal-max-width: 767px !default;
-
-
- @mixin statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding, $modal-max-width, $style-title: false) {
-
- ion-nav > .ion-page,
- ion-nav > .ion-page > ion-header,
- ion-tab > .ion-page,
- ion-tab > .ion-page > ion-header,
- ion-tabs > .ion-page.tab-subpage > ion-header,
- ion-menu > .menu-inner,
- ion-menu > .menu-inner > ion-header {
-
- @include toolbar-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding);
-
- // If we should style the title elements in the toolbar
- @if ($style-title) {
- @include toolbar-title-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding);
- }
- }
-
- @media only screen and (max-width: $modal-max-width) {
- .modal-wrapper > .ion-page > ion-header {
- @include toolbar-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding);
-
- // If we should style the title elements in the toolbar
- @if ($style-title) {
- @include toolbar-title-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding);
- }
- }
- }
-
- }
-
- // The first-child should get modified padding-top for the status bar
- // --------------------------------------------------------------------------------
-
- @mixin toolbar-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding) {
-
-
- > .toolbar.statusbar-padding:first-child {
- @include padding(calc(#{$cordova-statusbar-padding} + #{$toolbar-padding}), null, null, null);
- @include padding(calc(constant(safe-area-inset-top) + #{$toolbar-padding}), null, null, null);
- @include padding(calc(env(safe-area-inset-top) + #{$toolbar-padding}), null, null, null);
-
- min-height: calc(#{$toolbar-height} + #{$cordova-statusbar-padding});
- min-height: calc(#{$toolbar-height} + constant(safe-area-inset-top));
- min-height: calc(#{$toolbar-height} + env(safe-area-inset-top));
- }
-
- > ion-content.statusbar-padding:first-child .scroll-content {
- @include padding($cordova-statusbar-padding, null, null, null);
- @include padding(constant(safe-area-inset-top), null, null, null);
- @include padding(env(safe-area-inset-top), null, null, null);
- }
-
- > ion-content.statusbar-padding:first-child[padding] .scroll-content,
- > ion-content.statusbar-padding:first-child[padding-top] .scroll-content {
- @include padding(calc(#{$content-padding} + #{$cordova-statusbar-padding}), null, null, null);
- @include padding(constant(safe-area-inset-top), null, null, null);
- @include padding(env(safe-area-inset-top), null, null, null);
- }
-
- }
-
-
- // iOS is the only mode that uses this mixin and it should be removed with #5036
- // --------------------------------------------------------------------------------
-
- @mixin toolbar-title-statusbar-padding($toolbar-height, $toolbar-padding, $content-padding, $cordova-statusbar-padding) {
-
- > .toolbar.statusbar-padding:first-child ion-segment,
- > .toolbar.statusbar-padding:first-child ion-title {
- @include padding($cordova-statusbar-padding, null, null, null);
- @include padding(constant(safe-area-inset-top), null, null, null);
- @include padding(env(safe-area-inset-top), null, null, null);
-
- height: calc(#{$toolbar-height} + #{$cordova-statusbar-padding});
- height: calc(#{$toolbar-height} + constant(safe-area-inset-top));
- height: calc(#{$toolbar-height} + env(safe-area-inset-top));
-
- min-height: calc(#{$toolbar-height} + #{$cordova-statusbar-padding});
- min-height: calc(#{$toolbar-height} + constant(safe-area-inset-top));
- min-height: calc(#{$toolbar-height} + env(safe-area-inset-top));
- }
-
- }
-
-
- @mixin footer-safe-area($toolbar-height, $toolbar-padding) {
- .tabs:not(.tabs-ios[tabsPlacement=top]) .tabbar {
- @include padding(null, null, constant(safe-area-inset-bottom), null);
- @include padding(null, null, env(safe-area-inset-bottom), null);
- }
-
- ion-footer .toolbar:last-child {
- @include padding(null, null, calc(constant(safe-area-inset-bottom) + #{$toolbar-padding}), null);
- @include padding(null, null, calc(env(safe-area-inset-bottom) + #{$toolbar-padding}), null);
- min-height: calc(#{$toolbar-height} + constant(safe-area-inset-bottom));
- min-height: calc(#{$toolbar-height} + env(safe-area-inset-bottom));
- }
- }
|