diff --git a/ghost/admin/app/styles/components/modals.css b/ghost/admin/app/styles/components/modals.css index b7602a39d9..1dce4a3815 100644 --- a/ghost/admin/app/styles/components/modals.css +++ b/ghost/admin/app/styles/components/modals.css @@ -10,7 +10,7 @@ display: flex; justify-content: center; visibility: hidden; - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; @@ -21,7 +21,7 @@ } .fullscreen-modal-background { - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; diff --git a/ghost/admin/app/styles/components/notifications.css b/ghost/admin/app/styles/components/notifications.css index 09b1290e3f..de0d3f7371 100644 --- a/ghost/admin/app/styles/components/notifications.css +++ b/ghost/admin/app/styles/components/notifications.css @@ -3,7 +3,7 @@ /* Base notification style */ .gh-notifications { - position: fixed; + position: absolute; bottom: 20px; left: 20px; z-index: 7000; diff --git a/ghost/admin/app/styles/components/settings-menu.css b/ghost/admin/app/styles/components/settings-menu.css index cfa6e889b3..2a6d96eebf 100644 --- a/ghost/admin/app/styles/components/settings-menu.css +++ b/ghost/admin/app/styles/components/settings-menu.css @@ -6,7 +6,7 @@ /* ---------------------------------------------------------- */ .settings-menu-container { - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; diff --git a/ghost/admin/app/styles/components/tour.css b/ghost/admin/app/styles/components/tour.css index 4f7e28efcd..b907482684 100644 --- a/ghost/admin/app/styles/components/tour.css +++ b/ghost/admin/app/styles/components/tour.css @@ -13,7 +13,7 @@ } .tour-background { - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; diff --git a/ghost/admin/app/styles/components/unsplash.css b/ghost/admin/app/styles/components/unsplash.css index ea686d41e1..a8c8b958f3 100644 --- a/ghost/admin/app/styles/components/unsplash.css +++ b/ghost/admin/app/styles/components/unsplash.css @@ -6,7 +6,7 @@ /* ---------------------------------------------------------- */ .gh-unsplash { - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; @@ -283,7 +283,7 @@ /* ---------------------------------------------------------- */ .gh-unsplash-zoom { - position: fixed; + position: absolute; top: 0; right: 0; bottom: 0; diff --git a/ghost/admin/app/styles/layouts/main.css b/ghost/admin/app/styles/layouts/main.css index 2f5d5c6b24..89f0d26da2 100644 --- a/ghost/admin/app/styles/layouts/main.css +++ b/ghost/admin/app/styles/layouts/main.css @@ -1,24 +1,15 @@ /* Global Layout /* ---------------------------------------------------------- */ -/* - Ember's app container. Use `position: fixed`, covering full window area so - that scrolling on mobile doesn't trigger elastic scroll - TODO: Once we have routable components it should be possible to remove this - by moving the gh-app component functionality into the application component - which would remove the extra div that this targets. -*/ -body > .ember-view:not(.default-liquid-destination) { +/* Main viewport, contains main content, and alerts */ +/* Use `position: fixed`, covering full window area so scrolling on mobile doesn't trigger elastic scroll */ +.gh-app { position: fixed; top: 0; right: 0; bottom: 0; left: 0; -} - -/* Main viewport, contains main content, and alerts */ -.gh-app { display: flex; flex-direction: column; overflow: hidden; diff --git a/ghost/admin/config/optional-features.json b/ghost/admin/config/optional-features.json new file mode 100644 index 0000000000..ca5bbd076f --- /dev/null +++ b/ghost/admin/config/optional-features.json @@ -0,0 +1,3 @@ +{ + "application-template-wrapper": false +} diff --git a/ghost/admin/package.json b/ghost/admin/package.json index 913db9a218..800ff161a3 100644 --- a/ghost/admin/package.json +++ b/ghost/admin/package.json @@ -26,6 +26,7 @@ "node": ">= 6" }, "devDependencies": { + "@ember/optional-features": "0.5.2", "@html-next/vertical-collection": "1.0.0-beta.8", "blueimp-md5": "2.10.0", "broccoli-asset-rev": "2.7.0", diff --git a/ghost/admin/tests/index.html b/ghost/admin/tests/index.html index 552f432542..05def5f6a4 100644 --- a/ghost/admin/tests/index.html +++ b/ghost/admin/tests/index.html @@ -22,8 +22,8 @@ #ember-testing { height: 100%; } - #ember-testing > div { - height: 100%; + #ember-testing .gh-app { + position: relative; } /* fix firefox not supporting `zoom: 50%` */ _::-moz-range-track, body:last-child #ember-testing { diff --git a/ghost/admin/yarn.lock b/ghost/admin/yarn.lock index e00c55664d..65a2ebda52 100644 --- a/ghost/admin/yarn.lock +++ b/ghost/admin/yarn.lock @@ -6,6 +6,19 @@ version "1.4.0" resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" +"@ember/optional-features@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@ember/optional-features/-/optional-features-0.5.2.tgz#92544285b173adef8f462420411bf77ddf822dd4" + dependencies: + chalk "^2.3.0" + co "^4.6.0" + ember-cli-version-checker "^2.1.0" + glob "^7.1.2" + inquirer "^3.3.0" + mkdirp "^0.5.1" + silent-error "^1.1.0" + util.promisify "^1.0.0" + "@ember/ordered-set@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@ember/ordered-set/-/ordered-set-1.0.0.tgz#cf9ab5fd7510bcad370370ebcded705f6d1c542b" @@ -2980,6 +2993,13 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + define-property@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" @@ -4303,6 +4323,24 @@ error@^7.0.0: string-template "~0.2.1" xtend "~4.0.0" +es-abstract@^1.5.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.42" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" @@ -4969,6 +5007,10 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -5124,7 +5166,7 @@ fsevents@^1.1.1: nan "^2.9.2" node-pre-gyp "^0.9.0" -function-bind@^1.0.2: +function-bind@^1.0.2, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5569,7 +5611,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.0: +has@^1.0.0, has@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: @@ -5859,7 +5901,7 @@ inquirer@^2: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^3.0.6: +inquirer@^3.0.6, inquirer@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" dependencies: @@ -5944,6 +5986,10 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + is-color-stop@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" @@ -5967,6 +6013,10 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -6133,6 +6183,12 @@ is-reference@^1.1.0: dependencies: "@types/estree" "0.0.38" +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -6147,6 +6203,10 @@ is-svg@^2.0.0: dependencies: html-comment-regex "^1.1.0" +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + is-type@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/is-type/-/is-type-0.0.1.tgz#f651d85c365d44955d14a51d8d7061f3f6b4779c" @@ -7708,12 +7768,23 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" dependencies: isobject "^3.0.0" +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -10197,6 +10268,13 @@ util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +util.promisify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3, util@~0.10.1: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"