@voidzero-dev/vitepress-theme 4.8.0 → 4.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voidzero-dev/vitepress-theme",
3
- "version": "4.8.0",
3
+ "version": "4.8.1",
4
4
  "description": "Shared VitePress theme for VoidZero projects",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -98,4 +98,4 @@ const getSocialLabel = (social: SocialLink): string => {
98
98
  </div>
99
99
  </section>
100
100
  </div>
101
- </template>
101
+ </template>
@@ -9,7 +9,7 @@ import TopBanner from '@components/oss/TopBanner.vue'
9
9
  import VPSidebar from './VPSidebar.vue'
10
10
  import VPSkipLink from './VPSkipLink.vue'
11
11
  import { useData } from '@vp-composables/data'
12
- import { layoutInfoInjectionKey, registerWatchers, useLayout } from '@vp-composables/layout'
12
+ import { layoutInfoInjectionKey, registerWatchers } from '@vp-composables/layout'
13
13
  import { useSidebarControl } from '@vp-composables/sidebar'
14
14
 
15
15
  const {
@@ -21,7 +21,6 @@ const {
21
21
  registerWatchers({ closeSidebar })
22
22
 
23
23
  const { frontmatter } = useData()
24
- const { hasSidebar } = useLayout()
25
24
 
26
25
  const slots = useSlots()
27
26
  const heroImageSlotExists = computed(() => !!slots['home-hero-image'])
@@ -42,7 +41,7 @@ provide(layoutInfoInjectionKey, { heroImageSlotExists })
42
41
 
43
42
  <div class="flex flex-col min-h-screen">
44
43
  <!-- Content wrapper with borders -->
45
- <div class="content-wrapper flex-1" :class="{ 'has-sidebar': hasSidebar }">
44
+ <div class="content-wrapper flex-1">
46
45
  <VPLocalNav :open="isSidebarOpen" @open-menu="openSidebar" />
47
46
 
48
47
  <VPSidebar :open="isSidebarOpen">
@@ -177,11 +176,4 @@ provide(layoutInfoInjectionKey, { heroImageSlotExists })
177
176
  max-width: 90rem;
178
177
  }
179
178
  }
180
-
181
- @media (min-width: 1024px) {
182
- .content-wrapper.has-sidebar {
183
- display: grid;
184
- grid-template-columns: var(--vp-sidebar-width) 1fr;
185
- }
186
- }
187
179
  </style>
@@ -82,6 +82,14 @@ const { isHome, hasSidebar } = useLayout()
82
82
 
83
83
  .VPContent.has-sidebar {
84
84
  margin: var(--vp-layout-top-height, 0px) 0 0;
85
+ padding-left: var(--vp-sidebar-width);
86
+ }
87
+ }
88
+
89
+ @media (min-width: 1440px) {
90
+ .VPContent.has-sidebar {
91
+ padding-right: calc((100% - var(--vp-layout-max-width)) / 2);
92
+ padding-left: calc((100% - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width));
85
93
  }
86
94
  }
87
95
  </style>
@@ -76,7 +76,7 @@ const pageName = computed(() =>
76
76
 
77
77
  @media (min-width: 1024px) {
78
78
  .VPDoc {
79
- padding: 0 32px 0;
79
+ padding: 48px 32px 0;
80
80
  }
81
81
 
82
82
  .VPDoc:not(.has-sidebar) .container {
@@ -133,28 +133,34 @@ const pageName = computed(() =>
133
133
  }
134
134
 
135
135
  .aside-container {
136
- position: sticky;
137
- top: calc(var(--vp-nav-height) + var(--vp-banner-height, 0px));
136
+ position: fixed;
137
+ top: var(--vp-nav-height);
138
138
  padding-top: 20px;
139
139
  padding-left: 32px;
140
140
  width: 224px;
141
- height: calc(100vh - var(--vp-nav-height) - var(--vp-banner-height, 0px));
141
+ height: calc(100vh - var(--vp-nav-height));
142
142
  overflow-x: hidden;
143
143
  overflow-y: auto;
144
144
  scrollbar-width: none;
145
145
  border-left: 1px solid var(--vp-c-divider);
146
146
  }
147
147
 
148
+ @media (min-width: 1024px) {
149
+ .aside-container {
150
+ top: calc(var(--vp-nav-height) + var(--vp-banner-height, 0px));
151
+ height: calc(100vh - var(--vp-nav-height) - var(--vp-banner-height, 0px));
152
+ }
153
+ }
154
+
148
155
  .aside-container::-webkit-scrollbar {
149
156
  display: none;
150
157
  }
151
158
 
152
159
  .aside-curtain {
153
- position: absolute;
160
+ position: fixed;
154
161
  bottom: 0;
155
- left: 0;
156
162
  z-index: 10;
157
- width: 100%;
163
+ width: 224px;
158
164
  height: 32px;
159
165
  background: linear-gradient(transparent, var(--vp-c-bg) 70%);
160
166
  pointer-events: none;
@@ -175,7 +181,7 @@ const pageName = computed(() =>
175
181
 
176
182
  @media (min-width: 1024px) {
177
183
  .content {
178
- padding: 48px 32px 128px;
184
+ padding: 0 32px 128px;
179
185
  }
180
186
  }
181
187
 
@@ -88,7 +88,6 @@ const classes = computed(() => {
88
88
  }
89
89
 
90
90
  .VPLocalNav.has-sidebar {
91
- grid-column: 1 / -1;
92
91
  padding-left: var(--vp-sidebar-width);
93
92
  border-bottom: none;
94
93
  }
@@ -92,22 +92,16 @@ watch(
92
92
 
93
93
  @media (min-width: 1024px) {
94
94
  .VPSidebar {
95
- position: sticky;
96
95
  top: calc(var(--vp-nav-height) + var(--vp-banner-height, 0px));
97
- bottom: unset;
98
96
  left: unset;
99
97
  padding-left: 32px;
100
98
  width: var(--vp-sidebar-width);
101
99
  max-width: 100%;
102
- height: calc(100vh - var(--vp-nav-height) - var(--vp-banner-height, 0px));
103
100
  background-color: transparent;
104
101
  opacity: 1;
105
102
  visibility: visible;
106
103
  box-shadow: none;
107
104
  transform: translateX(0);
108
- z-index: auto;
109
- grid-row: 1 / -1;
110
- align-self: start;
111
105
  }
112
106
  }
113
107
 
@@ -240,16 +240,13 @@ const itemIcon = useIcon(() => (props.item as any).icon)
240
240
  transform: rotate(0)/*rtl:rotate(180deg)*/;
241
241
  }
242
242
 
243
- .VPSidebarItem.level-0.has-icon .items {
244
- border-left: 1px solid var(--vp-c-divider);
245
- }
246
-
247
- .VPSidebarItem.level-0 .items,
243
+ .VPSidebarItem.level-0.has-icon > .items,
248
244
  .VPSidebarItem.level-1 .items,
249
245
  .VPSidebarItem.level-2 .items,
250
246
  .VPSidebarItem.level-3 .items,
251
247
  .VPSidebarItem.level-4 .items,
252
248
  .VPSidebarItem.level-5 .items {
249
+ border-left: 1px solid var(--vp-c-divider);
253
250
  padding-left: 16px;
254
251
  }
255
252
 
@@ -272,6 +269,6 @@ const itemIcon = useIcon(() => (props.item as any).icon)
272
269
  }
273
270
 
274
271
  .VPSidebarItem.level-0.has-icon > .items {
275
- margin-left: 8px;
272
+ margin-left: 6px;
276
273
  }
277
274
  </style>
package/src/index.ts CHANGED
@@ -82,7 +82,6 @@ export { default as VPTeamPageSection } from "@vp-default/VPTeamPageSection.vue"
82
82
  export { default as VPTeamPageTitle } from "@vp-default/VPTeamPageTitle.vue";
83
83
 
84
84
  // Export custom layouts and components
85
- export { default as FooterNav } from "@components/oss/FooterNav.vue";
86
85
  export { VoidZeroTheme };
87
86
  export default VoidZeroTheme;
88
87
 
@@ -82,13 +82,11 @@
82
82
  border-left: 5px solid transparent;
83
83
  }
84
84
 
85
- [data-theme=dark] .wrapper--ticks::before, [data-theme=dark] .tick-left::before,
86
- .dark:not([data-theme]) .wrapper--ticks::before, .dark:not([data-theme]) .tick-left::before {
85
+ [data-theme=dark] .wrapper--ticks::before, [data-theme=dark] .tick-left::before {
87
86
  border-left-color: var(--color-nickel);
88
87
  }
89
88
 
90
- [data-theme=dark] .wrapper--ticks::after, [data-theme=dark] .tick-right::after,
91
- .dark:not([data-theme]) .wrapper--ticks::after, .dark:not([data-theme]) .tick-right::after {
89
+ [data-theme=dark] .wrapper--ticks::after, [data-theme=dark] .tick-right::after {
92
90
  border-right-color: var(--color-nickel);
93
91
  }
94
92