diff --git a/docs/package.json b/docs/package.json
index c239a4fa..418345e7 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -16,6 +16,7 @@
"globby": "^11.0.0",
"gridsome": "0.7.21",
"gridsome-plugin-simple-analytics": "^1.1.0",
+ "portal-vue": "^2.1.7",
"raw-loader": "^4.0.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
diff --git a/docs/src/components/PageNavigation/style.scss b/docs/src/components/PageNavigation/style.scss
index b299ea63..e673928f 100644
--- a/docs/src/components/PageNavigation/style.scss
+++ b/docs/src/components/PageNavigation/style.scss
@@ -10,7 +10,7 @@
&:hover {
color: $colorWhite;
- background-color: rgba($colorWhite, 0.1);
+ background-color: rgba($colorWhite, 0.05);
}
}
}
diff --git a/docs/src/layouts/App/index.vue b/docs/src/layouts/App/index.vue
index 50c97518..1c9bf00b 100644
--- a/docs/src/layouts/App/index.vue
+++ b/docs/src/layouts/App/index.vue
@@ -96,34 +96,30 @@
-
+
+
+
+
+
@@ -159,13 +180,13 @@ query {
diff --git a/docs/src/layouts/App/style.scss b/docs/src/layouts/App/style.scss
index f121c46d..00d879d6 100644
--- a/docs/src/layouts/App/style.scss
+++ b/docs/src/layouts/App/style.scss
@@ -1,5 +1,5 @@
$navHeight: 4.5rem;
-$menuBreakPoint: 750px;
+$menuBreakPoint: 800px;
.app {
display: flex;
@@ -30,8 +30,8 @@ $menuBreakPoint: 750px;
&__search {
display: block;
width: 100%;
- background-color: rgba($colorWhite, 0.08);
- border: 1px solid rgba($colorWhite, 0.08);
+ background-color: transparent;
+ border: 1px solid rgba($colorWhite, 0.1);
border-radius: 0.5rem;
font: inherit;
color: $colorWhite;
@@ -39,16 +39,23 @@ $menuBreakPoint: 750px;
}
&__sidebar {
- width: 20rem;
- flex: 0 0 auto;
- position: sticky;
- top: 0;
- align-self: flex-start;
- padding: 2rem;
- height: 100vh;
- overflow: auto;
- overscroll-behavior: contain;
- border-right: 1px solid rgba($colorWhite, 0.1);
+ display: none;
+
+ @media (min-width: $menuBreakPoint) {
+ display: block;
+ width: 20rem;
+ flex: 0 0 auto;
+ position: sticky;
+ top: 0;
+ align-self: flex-start;
+ padding: 2rem;
+ height: 100vh;
+ overflow-x: hidden;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ overscroll-behavior: contain;
+ border-right: 1px solid rgba($colorWhite, 0.1);
+ }
}
&__content {
@@ -57,11 +64,14 @@ $menuBreakPoint: 750px;
}
&__top-bar {
+ display: flex;
+ flex-direction: column;
padding: 1rem 0;
position: sticky;
z-index: 2;
top: 0;
backdrop-filter: blur(10px);
+ max-height: 100vh;
&::after {
content: '';
@@ -78,6 +88,32 @@ $menuBreakPoint: 750px;
}
}
+ &__top-bar-inner {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex: 0 0 auto;
+ }
+
+ &__menu-icon,
+ &__close-icon {
+ display: flex;
+ flex: 0 0 auto;
+ background: transparent;
+ border: 0;
+ color: $colorText;
+ margin-left: 1rem;
+ transition: color 0.2s $ease;
+
+ &:hover {
+ color: $colorWhite;
+ }
+
+ @media (min-width: $menuBreakPoint) {
+ display: none;
+ }
+ }
+
&__inner {
margin: 0 auto;
max-width: 50rem;
@@ -123,7 +159,7 @@ $menuBreakPoint: 750px;
&.active {
color: $colorWhite;
- background-color: rgba($colorWhite, 0.08);
+ background-color: rgba($colorWhite, 0.05);
}
&--draft {
@@ -143,4 +179,13 @@ $menuBreakPoint: 750px;
&__page-navigation {
border-top: 1px solid rgba($colorWhite, 0.1);
}
+
+ &__mobile-nav {
+ padding: 1rem 2rem;
+ flex: 1 1 auto;
+ overflow-x: hidden;
+ overflow-y: auto;
+ -webkit-overflow-scrolling: touch;
+ overscroll-behavior: contain;
+ }
}
diff --git a/docs/src/main.js b/docs/src/main.js
index e069efd6..99476dbe 100644
--- a/docs/src/main.js
+++ b/docs/src/main.js
@@ -2,9 +2,11 @@
import Prism from 'prismjs'
import 'prismjs/components/prism-jsx.js'
import 'prismjs/components/prism-scss.js'
+import PortalVue from 'portal-vue'
import App from '~/layouts/App'
export default function (Vue) {
+ Vue.use(PortalVue)
Vue.component('Layout', App)
Vue.component('Demo', () => import(/* webpackChunkName: "demo" */ '~/components/Demo'))
Vue.component('LiveDemo', () => import(/* webpackChunkName: "live-demo" */ '~/components/LiveDemo'))
diff --git a/yarn.lock b/yarn.lock
index 838a456b..064a08b3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10756,6 +10756,11 @@ pngquant-bin@^5.0.0:
execa "^0.10.0"
logalot "^2.0.0"
+portal-vue@^2.1.7:
+ version "2.1.7"
+ resolved "https://registry.yarnpkg.com/portal-vue/-/portal-vue-2.1.7.tgz#ea08069b25b640ca08a5b86f67c612f15f4e4ad4"
+ integrity sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==
+
portfinder@^1.0.20:
version "1.0.28"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778"