diff --git a/ionic/components/app/z-index.scss b/ionic/components/app/z-index.scss index bcc8d9b261..90487b9d90 100644 --- a/ionic/components/app/z-index.scss +++ b/ionic/components/app/z-index.scss @@ -20,3 +20,6 @@ $z-index-swipe-handle: 15 !default; $z-index-toolbar-border: 20 !default; $z-index-list-border: 50 !default; + +$z-index-popup-backdrop: 100; +$z-index-popup-wrapper: 101; diff --git a/ionic/components/popup/extensions/ios.scss b/ionic/components/popup/extensions/ios.scss new file mode 100644 index 0000000000..ed7ce4bbe2 --- /dev/null +++ b/ionic/components/popup/extensions/ios.scss @@ -0,0 +1,15 @@ +$popup-ios-border-radius: 4px !default; + +.popup[mode="ios"] { + .popup-wrapper { + border-radius: $popup-ios-border-radius; + .popup-body:empty { padding: 0; } + .popup-buttons { + padding: 0; + min-height: 0; + .button { + color: get-color('primary', base); + } + } + } +} diff --git a/ionic/components/popup/extensions/material.scss b/ionic/components/popup/extensions/material.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ionic/components/popup/popup.scss b/ionic/components/popup/popup.scss index 1b0a7599ae..7d5ef6e861 100644 --- a/ionic/components/popup/popup.scss +++ b/ionic/components/popup/popup.scss @@ -2,6 +2,8 @@ // Modals // -------------------------- +$popup-width: 250px !default; + $popup-bg-color: #fff !default; $popup-backdrop-bg-active: #000 !default; $popup-backdrop-bg-inactive: rgba(0,0,0,0) !default; @@ -13,28 +15,27 @@ $popup-button-border-radius: 2px !default; $popup-button-line-height: 20px !default; $popup-button-min-height: 45px !default; - -ion-popup { - position: absolute; - top: 0; - z-index: $z-index-overlay; - overflow: hidden; - min-height: 100%; - width: 100%; - background-color: $modal-bg-color; - - transform: translate3d(0px, 100%, 0px); - &.show-overlay { - transform: translate3d(0px, 0px, 0px); - } -} - +$popup-backdrop-color: #000 !default; +$popup-backdrop-active-opacity: 0.4 !default; /** * Popups * -------------------------------------------------- */ + .popup-backdrop { + z-index: $z-index-popup-backdrop; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: $popup-backdrop-color; + opacity: 0; + tranform: translateZ(0); + } + + ion-popup { position: absolute; top: 0; @@ -50,7 +51,7 @@ ion-popup { z-index: $z-index-overlay; // Start hidden - visibility: hidden; + //visibility: hidden; /* &.popup-showing { visibility: visible; @@ -71,7 +72,8 @@ ion-popup { } */ - .popup { + .popup-wrapper { + z-index: $z-index-popup-wrapper; width: $popup-width; max-width: 100%; max-height: 90%; diff --git a/ionic/components/popup/popup.ts b/ionic/components/popup/popup.ts index 710c4ba2d8..8ae3a10086 100644 --- a/ionic/components/popup/popup.ts +++ b/ionic/components/popup/popup.ts @@ -8,21 +8,21 @@ import * as util from 'ionic/util'; @Injectable() export class Popup extends Overlay { - alert(context={}) { + alert(context={}, opts={}) { if(typeof context === 'string') { context = { - text: context, + title: context, buttons: [ { text: 'Ok' } ] } } let defaults = { - enterAnimation: 'modal-slide-in', - leaveAnimation: 'modal-slide-out', + enterAnimation: 'popup-pop-in', + leaveAnimation: 'popup-pop-out', }; - return this.create(OVERLAY_TYPE, AlertType, util.extend(defaults, opts), context); + return this.create(OVERLAY_TYPE, StandardPopup, util.extend(defaults, opts), context); } get(handle) { @@ -36,11 +36,13 @@ export class Popup extends Overlay { const OVERLAY_TYPE = 'popup'; + @Component({ - selector: 'ion-popup-alert' + selector: 'ion-popup-default' }) @View({ - template: '