diff --git a/ionic/components/popup/modes/ios.scss b/ionic/components/popup/modes/ios.scss
index a1f7c298f0..f3cad9cbb5 100644
--- a/ionic/components/popup/modes/ios.scss
+++ b/ionic/components/popup/modes/ios.scss
@@ -9,14 +9,22 @@ $popup-ios-background: rgba(0,0,0,0) !default;
$popup-ios-border-radius: 13px !default;
$popup-ios-background-color: #f8f8f8 !default;
+$popup-ios-head-padding: 12px 16px 20px !default;
$popup-ios-head-text-align: center !default;
+
+$popup-ios-title-margin-top: 12px !default;
+$popup-ios-title-font-weight: bold !default;
$popup-ios-title-font-size: 17px !default;
$popup-ios-sub-title-font-size: 14px !default;
$popup-ios-sub-title-text-color: #666 !default;
+
+$popup-ios-body-padding: 0px 16px 24px !default;
$popup-ios-body-text-color: inherit !default;
$popup-ios-body-text-align: center !default;
$popup-ios-body-font-size: 13px !default;
+$popup-ios-prompt-input-padding: 6px !default;
+$popup-ios-prompt-input-margin-top: 24px !default;
$popup-ios-prompt-input-background-color: #fff !default;
$popup-ios-prompt-input-border: 1px solid #ccc !default;
$popup-ios-prompt-input-border-radius: 4px !default;
@@ -29,23 +37,23 @@ $popup-ios-button-activated-background-color: #e9e9e9 !default;
ion-popup {
background: $popup-ios-background;
+}
- popup-wrapper {
- border-radius: $popup-ios-border-radius;
- background-color: $popup-ios-background-color;
- max-width: $popup-ios-max-width;
- overflow: hidden;
- }
+.popup-wrapper {
+ border-radius: $popup-ios-border-radius;
+ background-color: $popup-ios-background-color;
+ max-width: $popup-ios-max-width;
+ overflow: hidden;
}
.popup-head {
- padding: 12px 16px 20px;
+ padding: $popup-ios-head-padding;
text-align: $popup-ios-head-text-align;
}
.popup-title {
- margin-top: 12px;
- font-weight: bold;
+ margin-top: $popup-ios-title-margin-top;
+ font-weight: $popup-ios-title-font-weight;
font-size: $popup-ios-title-font-size;
}
@@ -55,15 +63,15 @@ ion-popup {
}
.popup-body {
- padding: 0px 16px 24px;
+ padding: $popup-ios-body-padding;
color: $popup-ios-body-text-color;
text-align: $popup-ios-body-text-align;
font-size: $popup-ios-body-font-size;
}
.prompt-input {
- padding: 6px;
- margin-top: 24px;
+ padding: $popup-ios-prompt-input-padding;
+ margin-top: $popup-ios-prompt-input-margin-top;
background-color: $popup-ios-prompt-input-background-color;
border: $popup-ios-prompt-input-border;
@@ -72,39 +80,37 @@ ion-popup {
}
.popup-buttons {
- button {
- @extend button[clear];
+ :last-child {
+ font-weight: bold;
+ border-right: 0;
+ }
+}
- margin: 0;
- flex: 1;
- border-radius: 0;
- font-size: $popup-ios-button-font-size;
- min-height: $popup-ios-button-min-height;
- border-right: 1px solid $popup-ios-button-border-color;
+.popup-button {
+ margin: 0;
+ flex: 1;
+ border-radius: 0;
+ font-size: $popup-ios-button-font-size;
+ min-height: $popup-ios-button-min-height;
+ border-right: 1px solid $popup-ios-button-border-color;
- &.activated {
- opacity: 1;
- background-color: $popup-ios-button-activated-background-color;
- }
+ &.activated {
+ opacity: 1;
+ background-color: $popup-ios-button-activated-background-color;
+ }
- &:hover:not(.disable-hover) {
- opacity: 1;
- }
+ &:hover:not(.disable-hover) {
+ opacity: 1;
+ }
- &:before {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- border-top: 1px solid $popup-ios-button-border-color;
- content: '';
- pointer-events: none;
- }
-
- &:last-child {
- font-weight: bold;
- border-right: 0;
- }
+ &:before {
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+ border-top: 1px solid $popup-ios-button-border-color;
+ content: '';
+ pointer-events: none;
}
}
@@ -113,13 +119,11 @@ ion-popup {
border-width: 0.55px;
}
- .popup-buttons {
- button {
- border-right-width: 0.55px;
+ .popup-button {
+ border-right-width: 0.55px;
- &:before {
- border-top-width: 0.55px;
- }
+ &:before {
+ border-top-width: 0.55px;
}
}
}
diff --git a/ionic/components/popup/modes/md.scss b/ionic/components/popup/modes/md.scss
index 5e57c9f567..901287bb23 100644
--- a/ionic/components/popup/modes/md.scss
+++ b/ionic/components/popup/modes/md.scss
@@ -10,33 +10,35 @@ $popup-md-background-color: #fafafa !default;
$popup-md-box-shadow: 0px 16px 20px rgba(0, 0, 0, 0.4) !default;
$popup-md-head-text-align: left !default;
+$popup-md-head-padding: 24px 24px 10px 24px !default;
+
$popup-md-title-font-size: 20px !default;
$popup-md-sub-title-font-size: 15px !default;
-$popup-md-body-text-color: rgba(0,0,0,.5) !default;
-$popup-md-button-min-height: 36px !default;
+$popup-md-body-padding: 10px 24px 24px 24px !default;
+$popup-md-body-text-color: rgba(0,0,0,.5) !default;
$popup-md-prompt-input-border-color: #dedede !default;
$popup-md-prompt-input-text-color: #000000 !default;
$popup-md-prompt-input-highlight-color: map-get($colors-md, primary) !default;
-$popup-md-prompt-input-placeholder-color: #b9b9b9 !default;
$popup-md-prompt-input-margin-top: 5px !default;
$popup-md-prompt-input-margin-bottom: 5px !default;
+$popup-md-buttons-padding: 8px 8px 8px 24px !default;
+$popup-md-buttons-justify-content: flex-end !default;
-ion-popup {
- popup-wrapper {
- max-width: $popup-md-max-width;
- border-radius: $popup-md-border-radius;
- background-color: $popup-md-background-color;
- box-shadow: $popup-md-box-shadow;
- }
+.popup-wrapper {
+ max-width: $popup-md-max-width;
+ border-radius: $popup-md-border-radius;
+ background-color: $popup-md-background-color;
+
+ box-shadow: $popup-md-box-shadow;
}
.popup-head {
text-align: $popup-md-head-text-align;
- padding: 24px 24px 10px 24px;
+ padding: $popup-md-head-padding;
}
.popup-title {
@@ -48,7 +50,7 @@ ion-popup {
}
.popup-body {
- padding: 10px 24px 24px 24px;
+ padding: $popup-md-body-padding;
color: $popup-md-body-text-color;
}
@@ -64,16 +66,10 @@ ion-popup {
}
.popup-buttons {
- padding: 8px 8px 8px 24px;
- justify-content: flex-end;
-
- button {
- @extend button[clear];
-
- min-height: $popup-md-button-min-height;
-
- &.activated {
- opacity: 1;
- }
- }
+ padding: $popup-md-buttons-padding;
+ justify-content: $popup-md-buttons-justify-content;
+}
+
+.popup-button.activated {
+ opacity: 1;
}
diff --git a/ionic/components/popup/popup.scss b/ionic/components/popup/popup.scss
index 4429b65223..2ea36cfbbf 100644
--- a/ionic/components/popup/popup.scss
+++ b/ionic/components/popup/popup.scss
@@ -4,7 +4,6 @@
// --------------------------------------------------
$popup-min-width: 250px !default;
-$popup-max-width: 100% !default;
$popup-max-height: 90% !default;
$popup-button-line-height: 20px !default;
@@ -24,24 +23,23 @@ ion-popup {
justify-content: center;
align-items: center;
- popup-wrapper {
- z-index: $z-index-overlay-wrapper;
- min-width: $popup-min-width;
- max-width: $popup-max-width;
- max-height: $popup-max-height;
-
- display: flex;
- flex-direction: column;
-
- opacity: 0;
- }
-
input,
textarea {
width: 100%;
}
}
+.popup-wrapper {
+ z-index: $z-index-overlay-wrapper;
+ min-width: $popup-min-width;
+ max-height: $popup-max-height;
+
+ display: flex;
+ flex-direction: column;
+
+ opacity: 0;
+}
+
.popup-title {
margin: 0;
padding: 0;
@@ -56,7 +54,6 @@ ion-popup {
.popup-body {
overflow: auto;
- // TODO is this needed, it is never empty
&:empty {
padding: 0;
}
@@ -73,12 +70,12 @@ ion-popup {
.popup-buttons {
display: flex;
flex-direction: row;
-
- button {
- display: block;
- margin: 0;
- line-height: $popup-button-line-height;
- font-size: $popup-button-font-size;
- margin-right: $popup-button-margin-right;
- }
+}
+
+.popup-button {
+ display: block;
+ margin: 0;
+ line-height: $popup-button-line-height;
+ font-size: $popup-button-font-size;
+ margin-right: $popup-button-margin-right;
}
diff --git a/ionic/components/popup/popup.ts b/ionic/components/popup/popup.ts
index 125197776e..a08f0bffb0 100644
--- a/ionic/components/popup/popup.ts
+++ b/ionic/components/popup/popup.ts
@@ -270,8 +270,8 @@ const OVERLAY_TYPE = 'popup';
@Component({
selector: 'ion-popup',
template:
- '' +
- '' +
+ '' +
+ '',
host: {
'role': 'dialog'
},
@@ -352,8 +352,8 @@ class PopupPopIn extends Animation {
super(null, opts);
let ele = enteringView.pageRef().nativeElement;
- let backdrop = new Animation(ele.querySelector('backdrop'));
- let wrapper = new Animation(ele.querySelector('popup-wrapper'));
+ let backdrop = new Animation(ele.querySelector('.backdrop'));
+ let wrapper = new Animation(ele.querySelector('.popup-wrapper'));
wrapper.fromTo('opacity', '0.01', '1').fromTo('scale', '1.1', '1');
backdrop.fromTo('opacity', '0.01', '0.3');
@@ -372,8 +372,8 @@ class PopupPopOut extends Animation {
super(null, opts);
let ele = leavingView.pageRef().nativeElement;
- let backdrop = new Animation(ele.querySelector('backdrop'));
- let wrapper = new Animation(ele.querySelector('popup-wrapper'));
+ let backdrop = new Animation(ele.querySelector('.backdrop'));
+ let wrapper = new Animation(ele.querySelector('.popup-wrapper'));
wrapper.fromTo('opacity', '1', '0').fromTo('scale', '1', '0.9');
backdrop.fromTo('opacity', '0.3', '0');
@@ -392,8 +392,8 @@ class PopupMdPopIn extends Animation {
super(null, opts);
let ele = enteringView.pageRef().nativeElement;
- let backdrop = new Animation(ele.querySelector('backdrop'));
- let wrapper = new Animation(ele.querySelector('popup-wrapper'));
+ let backdrop = new Animation(ele.querySelector('.backdrop'));
+ let wrapper = new Animation(ele.querySelector('.popup-wrapper'));
wrapper.fromTo('opacity', '0.01', '1').fromTo('scale', '1.1', '1');
backdrop.fromTo('opacity', '0.01', '0.5');
@@ -412,8 +412,8 @@ class PopupMdPopOut extends Animation {
super(null, opts);
let ele = leavingView.pageRef().nativeElement;
- let backdrop = new Animation(ele.querySelector('backdrop'));
- let wrapper = new Animation(ele.querySelector('popup-wrapper'));
+ let backdrop = new Animation(ele.querySelector('.backdrop'));
+ let wrapper = new Animation(ele.querySelector('.popup-wrapper'));
wrapper.fromTo('opacity', '1', '0').fromTo('scale', '1', '0.9');
backdrop.fromTo('opacity', '0.5', '0');