From 709ff3d2ffe396412b66a9188afffbfc02725863 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Thu, 3 Dec 2015 14:43:32 -0600 Subject: [PATCH 001/100] create MD and iOS css files --- gulpfile.js | 27 +++++++++++++++++++++------ ionic/ionic.ios.scss | 25 ++++++------------------- ionic/ionic.ios_OLD.scss | 23 +++++++++++++++++++++++ ionic/ionic.md.scss | 24 ++++++------------------ ionic/ionic.md_OLD.scss | 22 ++++++++++++++++++++++ ionic/ionic.scss | 4 ++-- 6 files changed, 80 insertions(+), 45 deletions(-) create mode 100644 ionic/ionic.ios_OLD.scss create mode 100644 ionic/ionic.md_OLD.scss diff --git a/gulpfile.js b/gulpfile.js index b721b71158..de01405bcb 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -340,23 +340,23 @@ gulp.task('e2e', function() { function createPlatformTests(file) { return through2.obj(function(file, enc, next) { - var self = this - var relativePath = path.dirname(file.path.replace(/^.*?ionic(\/|\\)components(\/|\\)/, '')) - var contents = file.contents.toString() + var self = this; + var relativePath = path.dirname(file.path.replace(/^.*?ionic(\/|\\)components(\/|\\)/, '')); + var contents = file.contents.toString(); platforms.forEach(function(platform) { var platformContents = testTemplate({ contents: contents, buildConfig: buildConfig, relativePath: relativePath, platform: platform - }) + }); self.push(new VinylFile({ base: file.base, contents: new Buffer(platformContents), path: file.path.replace(/e2e.js$/, platform + '.e2e.js') - })) + })); }) - next() + next(); }) } }); @@ -364,6 +364,21 @@ gulp.task('e2e', function() { gulp.task('sass', function() { var sass = require('gulp-sass'); var autoprefixer = require('gulp-autoprefixer'); + + gulp.src('ionic/ionic.ios.scss') + .pipe(sass() + .on('error', sass.logError) + ) + .pipe(autoprefixer(buildConfig.autoprefixer)) + .pipe(gulp.dest('dist/css/')); + + gulp.src('ionic/ionic.md.scss') + .pipe(sass() + .on('error', sass.logError) + ) + .pipe(autoprefixer(buildConfig.autoprefixer)) + .pipe(gulp.dest('dist/css/')); + return gulp.src('ionic/ionic.scss') .pipe(sass() .on('error', sass.logError) diff --git a/ionic/ionic.ios.scss b/ionic/ionic.ios.scss index c29bfd9a79..fc34e616ac 100644 --- a/ionic/ionic.ios.scss +++ b/ionic/ionic.ios.scss @@ -1,24 +1,11 @@ /*! Ionic: iOS */ +@charset "UTF-8"; + + +// Core Components +@import "ionic.core"; // iOS Components @import - "components/app/modes/ios", - "components/button/modes/ios", - "components/icon/modes/ios", - "components/item/modes/ios", - "components/toolbar/modes/ios", - "components/action-sheet/modes/ios", - "components/card/modes/ios", - "components/content/modes/ios", - "components/list/modes/ios", - "components/text-input/modes/ios", - "components/navbar/modes/ios", - "components/popup/modes/ios", - "components/checkbox/modes/ios", - "components/radio/modes/ios", - "components/searchbar/modes/ios", - "components/segment/modes/ios", - "components/switch/modes/ios", - "components/tabs/modes/ios", - "platform/cordova-ios"; + "components/action-sheet/modes/ios"; diff --git a/ionic/ionic.ios_OLD.scss b/ionic/ionic.ios_OLD.scss new file mode 100644 index 0000000000..862310d0d4 --- /dev/null +++ b/ionic/ionic.ios_OLD.scss @@ -0,0 +1,23 @@ +/*! Ionic: iOS */ + + +// iOS Components +@import + "components/app/modes/ios", + "components/button/modes/ios", + "components/icon/modes/ios", + "components/item/modes/ios", + "components/toolbar/modes/ios", + "components/card/modes/ios", + "components/content/modes/ios", + "components/list/modes/ios", + "components/text-input/modes/ios", + "components/navbar/modes/ios", + "components/popup/modes/ios", + "components/checkbox/modes/ios", + "components/radio/modes/ios", + "components/searchbar/modes/ios", + "components/segment/modes/ios", + "components/switch/modes/ios", + "components/tabs/modes/ios", + "platform/cordova-ios"; diff --git a/ionic/ionic.md.scss b/ionic/ionic.md.scss index fdeb5abe9d..c20ede7a79 100644 --- a/ionic/ionic.md.scss +++ b/ionic/ionic.md.scss @@ -1,23 +1,11 @@ /*! Ionic: Material Design */ +@charset "UTF-8"; + + +// Core Components +@import "ionic.core"; // Material Design Components @import - "components/app/modes/md", - "components/toolbar/modes/md", - "components/action-sheet/modes/md", - "components/button/modes/md", - "components/content/modes/md", - "components/item/modes/md", - "components/list/modes/md", - "components/card/modes/md", - "components/checkbox/modes/md", - "components/text-input/modes/md", - "components/navbar/modes/md", - "components/popup/modes/md", - "components/radio/modes/md", - "components/searchbar/modes/md", - "components/segment/modes/md", - "components/switch/modes/md", - "components/tabs/modes/md", - "components/tap-click/ripple"; + "components/action-sheet/modes/md"; diff --git a/ionic/ionic.md_OLD.scss b/ionic/ionic.md_OLD.scss new file mode 100644 index 0000000000..1c52d2f105 --- /dev/null +++ b/ionic/ionic.md_OLD.scss @@ -0,0 +1,22 @@ +/*! Ionic: Material Design */ + + +// Material Design Components +@import + "components/app/modes/md", + "components/toolbar/modes/md", + "components/button/modes/md", + "components/content/modes/md", + "components/item/modes/md", + "components/list/modes/md", + "components/card/modes/md", + "components/checkbox/modes/md", + "components/text-input/modes/md", + "components/navbar/modes/md", + "components/popup/modes/md", + "components/radio/modes/md", + "components/searchbar/modes/md", + "components/segment/modes/md", + "components/switch/modes/md", + "components/tabs/modes/md", + "components/tap-click/ripple"; diff --git a/ionic/ionic.scss b/ionic/ionic.scss index b541ccbb4b..858799a586 100755 --- a/ionic/ionic.scss +++ b/ionic/ionic.scss @@ -7,13 +7,13 @@ // iOS Components .ios { - @import "ionic.ios"; + @import "ionic.ios_OLD"; } // Material Design Components .md { - @import "ionic.md"; + @import "ionic.md_OLD"; } From 6eb1ef5fb540fa36cfb4a1d55f8e7249fb9d28d8 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Thu, 3 Dec 2015 15:31:48 -0600 Subject: [PATCH 002/100] dynamically add link element for testing --- ionic/config/bootstrap.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ionic/config/bootstrap.ts b/ionic/config/bootstrap.ts index e575f2ddc9..3a7a98619d 100644 --- a/ionic/config/bootstrap.ts +++ b/ionic/config/bootstrap.ts @@ -98,7 +98,13 @@ function setupDom(window, document, config, platform, clickBlock, featureDetect) // set the mode class name // ios/md - bodyEle.classList.add(config.get('mode')); + let mode = config.get('mode'); + bodyEle.classList.add(mode); + + let linkEle = document.createElement('link'); + linkEle.setAttribute('href', '../../../css/ionic.' + mode + '.css'); + linkEle.setAttribute('ref', 'stylesheet'); + document.head.appendChild(linkEle); // touch devices should not use :hover CSS pseudo // enable :hover CSS when the "hoverCSS" setting is not false From 9cbb5895945e799f3438d182be0485a74bb2c543 Mon Sep 17 00:00:00 2001 From: Brandy Carney Date: Thu, 3 Dec 2015 16:37:20 -0500 Subject: [PATCH 003/100] refactor(action-sheet): renamed elements to divs with classes --- .../components/action-sheet/action-sheet.scss | 2 +- ionic/components/action-sheet/action-sheet.ts | 30 ++++++++++--------- ionic/components/action-sheet/modes/ios.scss | 22 +++++++------- .../components/action-sheet/test/basic/e2e.ts | 2 +- ionic/util/util.scss | 2 +- 5 files changed, 30 insertions(+), 28 deletions(-) diff --git a/ionic/components/action-sheet/action-sheet.scss b/ionic/components/action-sheet/action-sheet.scss index 4a293b2c86..c73f8fb5af 100644 --- a/ionic/components/action-sheet/action-sheet.scss +++ b/ionic/components/action-sheet/action-sheet.scss @@ -24,7 +24,7 @@ ion-action-sheet { z-index: $z-index-overlay; } -action-sheet-wrapper { +.action-sheet-wrapper { position: absolute; z-index: $z-index-overlay-wrapper; bottom: 0; diff --git a/ionic/components/action-sheet/action-sheet.ts b/ionic/components/action-sheet/action-sheet.ts index 8c55137457..44b80682ea 100644 --- a/ionic/components/action-sheet/action-sheet.ts +++ b/ionic/components/action-sheet/action-sheet.ts @@ -17,8 +17,8 @@ import {extend} from '../../util/util'; @Component({ selector: 'ion-action-sheet', template: - '' + - '' + + '
' + + '
' + '
' + '
' + '
{{d.titleText}}
' + @@ -28,15 +28,17 @@ import {extend} from '../../util/util'; '' + '' + + '{{d.destructiveText}}' + + '' + '
' + '
' + '' + + '{{d.cancelText}}' + + '' + '
' + '
' + - '', + '
', host: { 'role': 'dialog' }, @@ -121,7 +123,7 @@ export class ActionSheet { * * @param {Object} [opts={}] An object containing optional settings. * @param {String} [opts.pageType='action-sheet'] The page type that determines how the page renders and animates. - * @param {String} [opts.enterAnimation='action-sheet-slide-in'] The class used to animate an actionSheet that is entering. + * @param {String} [opts.enterAnimation='action-sheet-slide-in'] The class used to animate an actionSheet that is entering. * @param {String} [opts.leaveAnimation='action-sheet-slide-out'] The class used to animate an actionSheet that is leaving. * @return {Promise} Promise that resolves when the action sheet is open. */ @@ -161,8 +163,8 @@ class ActionSheetSlideIn extends Animation { super(null, opts); let ele = enteringView.pageRef().nativeElement; - let backdrop = new Animation(ele.querySelector('backdrop')); - let wrapper = new Animation(ele.querySelector('action-sheet-wrapper')); + let backdrop = new Animation(ele.querySelector('.backdrop')); + let wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.01, 0.4); wrapper.fromTo('translateY', '100%', '0%'); @@ -178,8 +180,8 @@ class ActionSheetSlideOut extends Animation { super(null, opts); let ele = leavingView.pageRef().nativeElement; - let backdrop = new Animation(ele.querySelector('backdrop')); - let wrapper = new Animation(ele.querySelector('action-sheet-wrapper')); + let backdrop = new Animation(ele.querySelector('.backdrop')); + let wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.4, 0); wrapper.fromTo('translateY', '0%', '100%'); @@ -195,8 +197,8 @@ class ActionSheetMdSlideIn extends Animation { super(null, opts); let ele = enteringView.pageRef().nativeElement; - let backdrop = new Animation(ele.querySelector('backdrop')); - let wrapper = new Animation(ele.querySelector('action-sheet-wrapper')); + let backdrop = new Animation(ele.querySelector('.backdrop')); + let wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.01, 0.26); wrapper.fromTo('translateY', '100%', '0%'); @@ -212,8 +214,8 @@ class ActionSheetMdSlideOut extends Animation { super(null, opts); let ele = leavingView.pageRef().nativeElement; - let backdrop = new Animation(ele.querySelector('backdrop')); - let wrapper = new Animation(ele.querySelector('action-sheet-wrapper')); + let backdrop = new Animation(ele.querySelector('.backdrop')); + let wrapper = new Animation(ele.querySelector('.action-sheet-wrapper')); backdrop.fromTo('opacity', 0.26, 0); wrapper.fromTo('translateY', '0%', '100%'); diff --git a/ionic/components/action-sheet/modes/ios.scss b/ionic/components/action-sheet/modes/ios.scss index bbce0a734e..352a889ff4 100644 --- a/ionic/components/action-sheet/modes/ios.scss +++ b/ionic/components/action-sheet/modes/ios.scss @@ -26,17 +26,6 @@ ion-action-sheet { text-align: center; } -.action-sheet-container { - padding: 0 $action-sheet-ios-group-margin; - - button.activated { - box-shadow: none; - border-color: $action-sheet-options-border-color; - color: $action-sheet-options-text-color; - background: $action-sheet-options-background-active-color; - } -} - ion-action-sheet button { min-height: $action-sheet-ios-height; padding: $action-sheet-ios-padding; @@ -51,6 +40,17 @@ ion-action-sheet button { } } +.action-sheet-container { + padding: 0 $action-sheet-ios-group-margin; + + button.activated { + box-shadow: none; + border-color: $action-sheet-options-border-color; + color: $action-sheet-options-text-color; + background: $action-sheet-options-background-active-color; + } +} + .action-sheet-group { margin-bottom: $action-sheet-ios-group-margin - 2; border-radius: $action-sheet-ios-border-radius; diff --git a/ionic/components/action-sheet/test/basic/e2e.ts b/ionic/components/action-sheet/test/basic/e2e.ts index 40d0efab03..cffef5a0be 100644 --- a/ionic/components/action-sheet/test/basic/e2e.ts +++ b/ionic/components/action-sheet/test/basic/e2e.ts @@ -4,5 +4,5 @@ it('should open action sheet', function() { }); it('should close with backdrop click', function() { - element(by.css('backdrop')).click(); + element(by.css('.backdrop')).click(); }); diff --git a/ionic/util/util.scss b/ionic/util/util.scss index 2534094725..cd70584b19 100755 --- a/ionic/util/util.scss +++ b/ionic/util/util.scss @@ -141,7 +141,7 @@ focus-ctrl { $backdrop-color: #000 !default; -backdrop { +.backdrop { position: absolute; z-index: $z-index-backdrop; top: 0; From 085671c84fc044301bc1bc1fe92fffd057a4792a Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Thu, 3 Dec 2015 15:51:55 -0600 Subject: [PATCH 004/100] typing is hard --- ionic/config/bootstrap.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ionic/config/bootstrap.ts b/ionic/config/bootstrap.ts index 3a7a98619d..bb4c691bfe 100644 --- a/ionic/config/bootstrap.ts +++ b/ionic/config/bootstrap.ts @@ -103,7 +103,7 @@ function setupDom(window, document, config, platform, clickBlock, featureDetect) let linkEle = document.createElement('link'); linkEle.setAttribute('href', '../../../css/ionic.' + mode + '.css'); - linkEle.setAttribute('ref', 'stylesheet'); + linkEle.setAttribute('rel', 'stylesheet'); document.head.appendChild(linkEle); // touch devices should not use :hover CSS pseudo From 04c79fab5cc26cb22b663e5bb3bd5ef69bba1010 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Thu, 3 Dec 2015 16:14:35 -0600 Subject: [PATCH 005/100] reset buttons --- ...utton-clear.scss => button-clear_OLD.scss} | 0 .../{button-fab.scss => button-fab_OLD.scss} | 0 ...{button-icon.scss => button-icon_OLD.scss} | 0 ...n-outline.scss => button-outline_OLD.scss} | 0 ...{button-size.scss => button-size_OLD.scss} | 0 ionic/components/button/button.scss | 107 ------------ ionic/components/button/button_OLD.scss | 158 ++++++++++++++++++ ionic/ionic.core.scss | 12 +- scripts/e2e/e2e.template.html | 2 +- 9 files changed, 165 insertions(+), 114 deletions(-) rename ionic/components/button/{button-clear.scss => button-clear_OLD.scss} (100%) rename ionic/components/button/{button-fab.scss => button-fab_OLD.scss} (100%) rename ionic/components/button/{button-icon.scss => button-icon_OLD.scss} (100%) rename ionic/components/button/{button-outline.scss => button-outline_OLD.scss} (100%) rename ionic/components/button/{button-size.scss => button-size_OLD.scss} (100%) create mode 100644 ionic/components/button/button_OLD.scss diff --git a/ionic/components/button/button-clear.scss b/ionic/components/button/button-clear_OLD.scss similarity index 100% rename from ionic/components/button/button-clear.scss rename to ionic/components/button/button-clear_OLD.scss diff --git a/ionic/components/button/button-fab.scss b/ionic/components/button/button-fab_OLD.scss similarity index 100% rename from ionic/components/button/button-fab.scss rename to ionic/components/button/button-fab_OLD.scss diff --git a/ionic/components/button/button-icon.scss b/ionic/components/button/button-icon_OLD.scss similarity index 100% rename from ionic/components/button/button-icon.scss rename to ionic/components/button/button-icon_OLD.scss diff --git a/ionic/components/button/button-outline.scss b/ionic/components/button/button-outline_OLD.scss similarity index 100% rename from ionic/components/button/button-outline.scss rename to ionic/components/button/button-outline_OLD.scss diff --git a/ionic/components/button/button-size.scss b/ionic/components/button/button-size_OLD.scss similarity index 100% rename from ionic/components/button/button-size.scss rename to ionic/components/button/button-size_OLD.scss diff --git a/ionic/components/button/button.scss b/ionic/components/button/button.scss index e40c489e60..24f490093e 100644 --- a/ionic/components/button/button.scss +++ b/ionic/components/button/button.scss @@ -1,8 +1,5 @@ @import "../../ionic.globals"; -// Button Variables -// -------------------------------------------------- - $button-font-size: 1.6rem !default; $button-margin: 0.4rem 0.2rem !default; $button-padding: 0 1em !default; @@ -18,9 +15,6 @@ $button-text-color: inverse($button-color) !default; $button-hover-opacity: 0.8 !default; -// Default Button -// -------------------------------------------------- - button, [button] { position: relative; @@ -29,17 +23,8 @@ button, flex-flow: row nowrap; align-items: center; justify-content: center; - - transition: background-color, opacity 100ms linear; - - margin: $button-margin; - padding: $button-padding; - min-height: $button-height; line-height: 1; - border: 1px solid #ccc; - border: transparent; - border-radius: $button-border-radius; font-size: $button-font-size; font-family: inherit; @@ -59,100 +44,8 @@ button, cursor: pointer; @include user-select-none(); @include appearance(none); - - background: $button-color; - color: $button-text-color; - - &:hover:not(.disable-hover) { - opacity: $button-hover-opacity; - text-decoration: none; - } - - &.activated { - opacity: 1; - background-color: $button-color-activated; - } - - - // Button Types - // -------------------------------------------------- - - &[block] { - display: flex; - clear: both; - margin-right: 0; - margin-left: 0; - width: 100%; - - &:after { - clear: both; - } - } - - &[full] { - width: 100%; - margin-right: 0; - margin-left: 0; - border-radius: 0; - border-right-width: 0; - border-left-width: 0; - - &[outline] { - border-radius: 0; - border-right-width: 0; - border-left-width: 0; - } - } - - &[round] { - border-radius: $button-round-border-radius; - padding: $button-round-padding; - } - - &[disabled] { - opacity: 0.4; - cursor: default !important; - pointer-events: none; - } - } a[button] { text-decoration: none; } - -[padding] > button[block]:first-child, -[padding] > [button][block]:first-child { - margin-top: 0; -} - - -// Default Button Color Mixin -// -------------------------------------------------- - -@mixin button-default($bg-color, $bg-color-activated, $text-color) { - background-color: $bg-color; - color: $text-color; - - &.activated { - background-color: $bg-color-activated; - } -} - - -// Generate Default Button Colors -// -------------------------------------------------- - -@each $color-name, $color-value in $colors { - - button[#{$color-name}], - [button][#{$color-name}] { - - $bg-color: $color-value; - $bg-color-activated: color-shade($bg-color); - $text-color: inverse($bg-color); - @include button-default($bg-color, $bg-color-activated, $text-color); - - } - -} diff --git a/ionic/components/button/button_OLD.scss b/ionic/components/button/button_OLD.scss new file mode 100644 index 0000000000..e40c489e60 --- /dev/null +++ b/ionic/components/button/button_OLD.scss @@ -0,0 +1,158 @@ +@import "../../ionic.globals"; + +// Button Variables +// -------------------------------------------------- + +$button-font-size: 1.6rem !default; +$button-margin: 0.4rem 0.2rem !default; +$button-padding: 0 1em !default; +$button-height: 2.8em !default; +$button-border-radius: 4px !default; + +$button-round-padding: 0 2.6rem !default; +$button-round-border-radius: 64px !default; + +$button-color: color(primary) !default; +$button-color-activated: color-shade($button-color) !default; +$button-text-color: inverse($button-color) !default; +$button-hover-opacity: 0.8 !default; + + +// Default Button +// -------------------------------------------------- + +button, +[button] { + position: relative; + display: inline-flex; + flex-shrink: 0; + flex-flow: row nowrap; + align-items: center; + justify-content: center; + + transition: background-color, opacity 100ms linear; + + margin: $button-margin; + padding: $button-padding; + min-height: $button-height; + line-height: 1; + + border: 1px solid #ccc; + border: transparent; + border-radius: $button-border-radius; + + font-size: $button-font-size; + font-family: inherit; + font-variant: inherit; + font-style: inherit; + + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + + text-align: center; + text-transform: none; + + vertical-align: top; // the better option for most scenarios + vertical-align: -webkit-baseline-middle; // the best for those that support it + + cursor: pointer; + @include user-select-none(); + @include appearance(none); + + background: $button-color; + color: $button-text-color; + + &:hover:not(.disable-hover) { + opacity: $button-hover-opacity; + text-decoration: none; + } + + &.activated { + opacity: 1; + background-color: $button-color-activated; + } + + + // Button Types + // -------------------------------------------------- + + &[block] { + display: flex; + clear: both; + margin-right: 0; + margin-left: 0; + width: 100%; + + &:after { + clear: both; + } + } + + &[full] { + width: 100%; + margin-right: 0; + margin-left: 0; + border-radius: 0; + border-right-width: 0; + border-left-width: 0; + + &[outline] { + border-radius: 0; + border-right-width: 0; + border-left-width: 0; + } + } + + &[round] { + border-radius: $button-round-border-radius; + padding: $button-round-padding; + } + + &[disabled] { + opacity: 0.4; + cursor: default !important; + pointer-events: none; + } + +} + +a[button] { + text-decoration: none; +} + +[padding] > button[block]:first-child, +[padding] > [button][block]:first-child { + margin-top: 0; +} + + +// Default Button Color Mixin +// -------------------------------------------------- + +@mixin button-default($bg-color, $bg-color-activated, $text-color) { + background-color: $bg-color; + color: $text-color; + + &.activated { + background-color: $bg-color-activated; + } +} + + +// Generate Default Button Colors +// -------------------------------------------------- + +@each $color-name, $color-value in $colors { + + button[#{$color-name}], + [button][#{$color-name}] { + + $bg-color: $color-value; + $bg-color-activated: color-shade($bg-color); + $text-color: inverse($bg-color); + @include button-default($bg-color, $bg-color-activated, $text-color); + + } + +} diff --git a/ionic/ionic.core.scss b/ionic/ionic.core.scss index 7907347d6a..440938a695 100644 --- a/ionic/ionic.core.scss +++ b/ionic/ionic.core.scss @@ -12,12 +12,12 @@ "components/toolbar/toolbar", "components/action-sheet/action-sheet", "components/badge/badge", - "components/button/button", - "components/button/button-clear", - "components/button/button-outline", - "components/button/button-size", - "components/button/button-icon", - "components/button/button-fab", + "components/button/button_OLD", + "components/button/button-clear_OLD", + "components/button/button-outline_OLD", + "components/button/button-size_OLD", + "components/button/button-icon_OLD", + "components/button/button-fab_OLD", "components/checkbox/checkbox", "components/icon/icon", "components/item/item", diff --git a/scripts/e2e/e2e.template.html b/scripts/e2e/e2e.template.html index 01cd01b8ab..dedac953f5 100644 --- a/scripts/e2e/e2e.template.html +++ b/scripts/e2e/e2e.template.html @@ -4,7 +4,7 @@ Ionic E2E - +