@vixcom/ui 1.2.0 → 1.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../styles/menu.scss","../styles/_mixins.scss"],"names":[],"mappings":"AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CA;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EAGE;;AAQI;AAAA;AAAA;AAAA;EACE;EACA;;AAaV;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;;AAMN;AACA;EACE;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAKI;AAAA;EACE;EACA;;AAKN;EACE;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;AAEA;;AACA;EACE;;AAGF;EACE;;AAGF;AAAA;EAEE;EACA;;AAEA;AAAA;EACE;;AAIJ;EACE;EACA;EACA;;AC/JF;EACE;;AAGF;AACE;EACA;;AAGF;EArBA;EAXA;EACA;EACA;EAWA;EACA;EACA;EACA;EACA;EACA;EACA;;AAbA;EAEE;;ADmLE;EACE;EACA;EACA;;AAIF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAUN;AAAA;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAIJ;EACE;;AAGE;EACE;;;AAKN;AAEA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;;AAGF;AACA;EAKQ;AAAA;IACE;;EAOF;AAAA;IACE;;;AAOV;AACA;EAGI;IACE;;EAQM;AAAA;IACE;IACA;IACA;IACA;;EAQF;AAAA;IACE;IACA;;EAtUV;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;IACE;;EAQE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;;EA+SU;AAAA;AAAA;AAAA;IACE;;;AAWlB;AACA;EAGM;IAEE;;EAGF;IACE;;EAnWJ;AAAA;IAEE;;EAGF;IACE;IACA;IACA;;EAIJ;IACE;;EAQE;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;AAAA;IACE;IACA;;EAwUA;IACE;;EAKF;IACE;;EAKN;AAAA;IAEE;;EAGE;AAAA;AAAA;AAAA;IAEE;;EAKN;AACE;;;AAIJ;AACA;EAgBM;IACE;;EAGJ;IACE;;EAzZF;AAAA;IAEE;;EAGF;IACE;IACA;IACA;;EAIJ;IACE;;EAQE;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;AAAA;IACE;IACA;;EAmYI;AAAA;IACE;IACA;;EAnaR;AAAA;AAAA;AAAA;IAEE;;EAGF;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;IACE;;EAQE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;IACA;;EAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;IACE;IACA;;EA4YE;AAAA;IAEE;IACA;;EAGF;IACE;;EAMR;AACE;;;AAIJ;AACA;EACE;IACE;;;AAIJ;AACA;EAMU;AAAA;IACE;AACA;AACA;;EAKJ;AAAA;IACE;;EAKN;IACE;IACA;IACA;;EAKE;AAAA;IACE;IACA;;EAEA;AAAA;IACE;;EAKJ;AAAA;IACE;AAAA;AAAA;AAAA;AAAA;IAKA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;AAAA;IACE;;EAEA;AAAA;IACE;IACA;;EAIJ;AAAA;IACE;IACA;;EAEA;AAAA;IACE;;EAIJ;AAAA;IACE;;EAKJ;AAAA;IACE;;EAKA;AAAA;AAAA;AAAA;IACE;;EAQR;IACE;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;AACA;AACA;IACA;;EASA;IACE;;EAIJ;IACE;IACA;AACA;IACA;IACA;IACA;;EAEA;IACE;;EAGF;AAAA;AAAA;IAGE;;EAKF;IACE","file":"menu.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../styles/menu.scss","../styles/_mixins.scss"],"names":[],"mappings":"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","file":"menu.css"}
package/src/index.html CHANGED
@@ -5,6 +5,7 @@
5
5
  <meta charset="UTF-8">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
  <title>VX Dashboard</title>
8
+ <link rel="stylesheet" href="css/external/bootstrap.css">
8
9
  <link rel="stylesheet" href="css/index.css">
9
10
  <link rel="shortcut icon" href="assets/img/favicon.png" type="image/png">
10
11
  <script>
@@ -19,7 +20,6 @@
19
20
  <a href="pages/tier-1" class="btn btn-primary">Tier 1</a>
20
21
  <a href="pages/tier-2" class="btn btn-secondary">Tier 2</a>
21
22
  <a href="pages/sidemenu" class="btn btn-accent">Sidemenu</a>
22
- <a href="pages/fulmenu" class="btn btn-color-1">Fullmenu</a>
23
23
  </div>
24
24
  <hr>
25
25
  <div class="p-3 flex-container">
@@ -6,33 +6,34 @@
6
6
  <meta charset="UTF-8">
7
7
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
- <title>Sidemenu Grid - VX Dashboard</title>
9
+ <title>Sidemenu - VX Dashboard</title>
10
10
  <link rel="stylesheet" href="css/icons/external/bootstrap.icons.css">
11
11
  <link rel="stylesheet" href="css/external/bootstrap.css">
12
12
  <link rel="stylesheet" href="css/index.css">
13
13
  <link rel="stylesheet" href="css/menu.css">
14
14
  <link rel="shortcut icon" href="assets/img/favicon.png" type="image/png">
15
+ <script src="https://unpkg.com/alpinejs" defer></script>
15
16
  </head>
16
17
 
17
- <body class="main-menu-container grid">
18
+ <body :class="`main-menu-container ${type}`" x-data="{type:'grid',mini: true}">
18
19
  <input type="checkbox" id="main-menu-trigger" class="main-menu-trigger">
19
- <div class="side-menu mini bg-primary">
20
- <div class="menu-header">
21
- <img src="assets/img/icon.png" class="main-logo menu-logo-alt" alt="icon">
22
- <img src="assets/img/logo.png" class="main-logo menu-logo silhouette" alt="icon-alt">
23
- <label for="main-menu-trigger" class="bi bi-list main-menu-toggle ml-auto" />
24
- </div>
20
+ <div class="side-menu bg-primary" :class="{mini}">
21
+ <header class="menu-header">
22
+ <img src="assets/img/logo.png" class="main-logo menu-logo silhouette" alt="icon">
23
+ <img src="assets/img/icon.png" class="main-logo menu-logo-alt" alt="icon-alt">
24
+ </header>
25
25
  <nav>
26
- <a class="item" href="flex.html">
27
- <i class="icon bi bi-bounding-box"></i>
28
- <span class="label">Flex</span>
29
- </a>
30
- <a class="item active" href="grid.html">
31
- <i class="icon bi bi-grid"></i>
32
- <span class="label">Grid</span>
33
- </a>
26
+ <template x-for="(v,k) of {flex:'bounding-box', grid: 'grid'}">
27
+ <label class="item" :class="{active: k === type}" :title="k">
28
+ <i :class="`icon bi bi-${v}`"></i>
29
+ <span class="label" x-text="k"></span>
30
+ <input class="d-none" type="radio" name="type" :value="k" x-model="type">
31
+ </label>
32
+ </template>
34
33
  </nav>
35
-
34
+ <footer class="menu-footer">
35
+ <label for="main-menu-trigger" class="bi bi-list main-menu-toggle ml-auto" />
36
+ </footer>
36
37
  </div>
37
38
  <main>
38
39
  <header class="page-header sticky">
@@ -42,8 +43,12 @@
42
43
  <section>
43
44
  <h1>VX Dashboard Sidemenu</h1>
44
45
  <div>
45
- <menu class="side-menu">
46
- <li>UI</li>
46
+ <menu>
47
+ <label class="item gap-1 checkbox">
48
+ <input class="default" type="checkbox" name="mini" x-model="mini">
49
+ <span class="lasbel">Side Menu as Mini</span>
50
+ </label>
51
+ <label for="main-menu-trigger" class="item gap-1 flex-item"><i class="bi bi-list font-1"></i>Toggle Menu</label>
47
52
  </menu>
48
53
  </div>
49
54
  </section>
@@ -52,6 +57,8 @@
52
57
  .main-menu-trigger:checked~.page {
53
58
  border-top: thick solid var(--secondary);
54
59
  }
60
+
61
+ .main-menu {}
55
62
  </style>
56
63
  </body>
57
64
 
@@ -6,7 +6,7 @@
6
6
  // @import 'https://unpkg.com/bootstrap@latest/dist/css/bootstrap.min.css';
7
7
  // @import 'external/bootstrap.css';
8
8
  @import 'variables.css';
9
- @import 'app.css';
9
+ @import 'main.css';
10
10
  @import 'sizes.css';
11
11
  @import 'colors.css';
12
12
  @import 'animations.css';
@@ -1899,14 +1899,15 @@ section {
1899
1899
  padding: 1.25rem;
1900
1900
  }
1901
1901
 
1902
- @media (min-width: 576px) {
1902
+ /* Above Mobile */
1903
+ @media (min-width: 577px) {
1903
1904
  .md-sticky {
1904
1905
  position: sticky;
1905
1906
  }
1906
1907
  }
1907
1908
 
1908
- /* ABOVE <-- Tablets/Mini PC */
1909
- @media (min-width: 768px) {
1909
+ /* Above Tablets/Mini PC */
1910
+ @media (min-width: 769px) {
1910
1911
  .item-list {
1911
1912
  .item > .value {
1912
1913
  margin-left: 1rem;
@@ -1923,8 +1924,8 @@ section {
1923
1924
  }
1924
1925
  }
1925
1926
 
1926
- /* Tables/Mini PC <---> BELOW */
1927
- @media (max-width: 767.98px) {
1927
+ /* Below Tables/Mini PC */
1928
+ @media (max-width: 768px) {
1928
1929
  .page-header,
1929
1930
  .section-header {
1930
1931
  padding: 0;
@@ -1989,8 +1990,8 @@ section {
1989
1990
  }
1990
1991
  }
1991
1992
 
1992
- /* Mobile <---> BELOW */
1993
- @media (max-width: 575.98px) {
1993
+ /* Below Mobile */
1994
+ @media (max-width: 576px) {
1994
1995
  .card {
1995
1996
  width: 100%;
1996
1997
  }
@@ -10,8 +10,7 @@
10
10
 
11
11
  @mixin mini-side-menu-toggled {
12
12
  .menu-header {
13
- .menu-logo,
14
- .main-menu-toggle {
13
+ .menu-logo {
15
14
  display: none;
16
15
  }
17
16
 
@@ -22,11 +21,15 @@
22
21
  }
23
22
  }
24
23
 
25
- nav .item {
26
- justify-content: center;
24
+ nav,
25
+ .nav {
26
+ .item {
27
+ justify-content: center;
28
+ }
27
29
  }
28
30
 
29
31
  nav,
32
+ .nav,
30
33
  .menu-header,
31
34
  .menu-footer {
32
35
  .item,
@@ -96,13 +99,15 @@ input.main-menu-trigger {
96
99
  }
97
100
 
98
101
  nav,
102
+ .nav,
99
103
  .menu-header,
100
104
  .menu-footer {
101
105
  width: 100%;
102
106
  display: flex;
103
107
  }
104
108
 
105
- nav {
109
+ nav,
110
+ .nav {
106
111
  height: 100%;
107
112
  font-size: 120%;
108
113
  gap: 0.5rem;
@@ -122,13 +127,13 @@ nav {
122
127
  }
123
128
  }
124
129
 
125
- /* side-menu */
130
+ /* Menu */
131
+
126
132
  .main-menu-container {
127
133
  position: relative;
128
- display: flex;
129
- flex-direction: row;
130
134
  width: 100%;
131
135
  height: 100%;
136
+ transition: 0.5s;
132
137
 
133
138
  &.rtl {
134
139
  .page {
@@ -141,12 +146,11 @@ nav {
141
146
  height: 100vh;
142
147
  }
143
148
 
144
- &.grid {
145
- display: grid;
146
- grid-template-rows: 1fr;
147
- transition: 0.5s;
148
-
149
- &:has(> .side-menu) > {
149
+ &:has(> .side-menu) {
150
+ &.grid {
151
+ grid-template-columns: 1fr 4fr;
152
+ }
153
+ > {
150
154
  main,
151
155
  .page {
152
156
  section {
@@ -155,6 +159,20 @@ nav {
155
159
  }
156
160
  }
157
161
  }
162
+ }
163
+
164
+ &.flex {
165
+ display: flex;
166
+ flex-direction: row;
167
+ > .side-menu {
168
+ flex-basis: 25%;
169
+ }
170
+ }
171
+
172
+ &.grid {
173
+ display: grid;
174
+ // TODO: set grid direction to `row`
175
+ grid-template-rows: 1fr;
158
176
 
159
177
  > .side-menu {
160
178
  grid-row: 1 / -1;
@@ -168,8 +186,6 @@ nav {
168
186
  position: relative;
169
187
  height: 100%;
170
188
  margin: 0;
171
- flex: 1 1 30%;
172
- /* border-right: thin solid var(--secondary); */
173
189
  transition: width 0.5s, flex-basis 0.5s, transform 0.5s, opacity 0.25s;
174
190
  overflow: hidden;
175
191
  z-index: 1;
@@ -185,7 +201,7 @@ nav {
185
201
 
186
202
  .menu-header,
187
203
  .menu-footer {
188
- padding: 1rem;
204
+ // padding: 1rem;
189
205
  align-items: center;
190
206
 
191
207
  .title {
@@ -193,7 +209,8 @@ nav {
193
209
  }
194
210
  }
195
211
 
196
- nav {
212
+ nav,
213
+ .nav {
197
214
  flex-direction: column;
198
215
  overflow-y: scroll;
199
216
  overflow-x: hidden;
@@ -241,7 +258,8 @@ nav {
241
258
  align-items: center;
242
259
  justify-content: center;
243
260
 
244
- nav {
261
+ nav,
262
+ .nav {
245
263
  align-items: center;
246
264
  justify-content: center;
247
265
  overflow: scroll;
@@ -251,7 +269,8 @@ nav {
251
269
  .float-menu {
252
270
  display: flex;
253
271
 
254
- nav {
272
+ nav,
273
+ .nav {
255
274
  .item {
256
275
  gap: 1rem;
257
276
  }
@@ -279,45 +298,28 @@ main {
279
298
  }
280
299
  }
281
300
 
282
- .page-content {
283
- position: relative;
284
- padding: 3em;
285
- width: 100%;
286
- flex: 1 1 100%;
287
- transition: margin 0.2s;
301
+ /* Mobile or PC (Tablet Excluded) */
302
+ @media (max-width: 576px) or (min-width: 769px) {
288
303
  }
289
304
 
290
- /* Excluding Tablets */
291
- @media (max-width: 575.98px) or (min-width: 768px) {
292
- input.main-menu-trigger {
293
- &:checked {
294
- ~,
295
- ~ * {
296
- .side-menu .menu-logo-alt {
297
- display: none;
298
- }
299
- }
300
- }
301
- &:not(:checked) {
302
- ~,
303
- ~ * {
304
- .side-menu:not(.mini) .menu-logo-alt {
305
- display: none;
306
- }
305
+ /* Above Tablets/Mini PC */
306
+ @media (min-width: 769px) {
307
+ .main-menu-container {
308
+ &.grid:has(> input.main-menu-trigger:not(:checked)),
309
+ &.grid:has(> .side-menu:not(.mini)):has(> input.main-menu-trigger:checked) {
310
+ .menu-logo-alt {
311
+ display: none;
307
312
  }
308
313
  }
309
- }
310
- }
311
-
312
- /* Above <---> Tablets/Mini PC */
313
- @media (min-width: 768px) {
314
- // TODO: Flip minimized state, Make Above tablet minimized when checked, table minimized when unchecked
315
- .main-menu-container {
316
314
  &.grid:has(> .side-menu:not(.mini)):has(> input.main-menu-trigger:checked) {
317
315
  grid-template-columns: 0fr 1fr;
318
316
  }
317
+ &.grid:has(> .side-menu.mini):has(> input.main-menu-trigger:checked) {
318
+ grid-template-columns: 1fr 20fr;
319
+ @include mini-side-menu-toggled;
320
+ }
319
321
 
320
- &:not(.grid) {
322
+ &.flex {
321
323
  input.main-menu-trigger {
322
324
  &:checked {
323
325
  ~,
@@ -327,6 +329,15 @@ main {
327
329
  flex-basis: 0;
328
330
  opacity: 0;
329
331
  padding: 0;
332
+
333
+ .menu-logo-alt {
334
+ display: none;
335
+ }
336
+ }
337
+ .side-menu.mini {
338
+ width: 5%;
339
+ flex-basis: 5%;
340
+ @include mini-side-menu-toggled;
330
341
  }
331
342
  }
332
343
  }
@@ -334,19 +345,8 @@ main {
334
345
  &:not(:checked) {
335
346
  ~,
336
347
  ~ * {
337
- .side-menu.mini {
338
- width: 15%;
339
- flex-basis: 15%;
340
- @include mini-side-menu-toggled;
341
- }
342
-
343
- main,
344
- .page {
345
- .page-header {
346
- .main-menu-toggle {
347
- display: none;
348
- }
349
- }
348
+ .menu-logo-alt {
349
+ display: none;
350
350
  }
351
351
  }
352
352
  }
@@ -355,41 +355,17 @@ main {
355
355
  }
356
356
  }
357
357
 
358
- /* Above <---> Mobile */
359
- @media (min-width: 576px) {
360
- .main-menu-container {
361
- &.grid {
362
- &:has(> .side-menu:not(.mini)),
363
- &:has(> .side-menu.mini):has(> input.main-menu-trigger:checked) {
364
- grid-template-columns: 1fr 4fr;
365
- }
366
-
367
- &:has(> .side-menu.mini):has(> input.main-menu-trigger:not(:checked)) {
368
- grid-template-columns: 1fr 11fr;
369
- @include mini-side-menu-toggled;
370
- }
371
- > .side-menu {
372
- align-items: center;
373
- }
374
- }
375
-
376
- &:not(.grid) {
377
- .side-menu {
378
- width: 30%;
379
- }
380
- }
381
- }
382
-
358
+ /* Above Mobile */
359
+ @media (min-width: 577px) {
383
360
  .float-menu,
384
361
  .full-menu {
385
362
  align-items: center;
386
363
 
387
- .menu-header {
388
- .menu-logo, // TODO: Review
389
- .main-menu-toggle {
390
- display: none;
391
- }
392
- }
364
+ // .menu-header {
365
+ // .main-menu-toggle {
366
+ // display: none;
367
+ // }
368
+ // }
393
369
  }
394
370
 
395
371
  .float-menu {
@@ -397,8 +373,8 @@ main {
397
373
  }
398
374
  }
399
375
 
400
- /* Mobile <---> Tablets/Mini PC */
401
- @media (min-width: 576px) and (max-width: 767.98px) {
376
+ /* Tablets/Mini PC (Tablet Only) */
377
+ @media (min-width: 577px) and (max-width: 768px) {
402
378
  // DEBUG: https://sass-lang.com/d/bogus-combinators
403
379
  // input.main-menu-trigger:checked {
404
380
  // ~,
@@ -410,40 +386,36 @@ main {
410
386
  // }
411
387
 
412
388
  .main-menu-container {
413
- &:has(> .side-menu.mini):has(> input.main-menu-trigger:checked),
414
- &:has(> .side-menu:not(.mini)):has(
415
- > input.main-menu-trigger:not(:checked)
416
- ) {
389
+ // WARN: Browser compatibility on :has pseudo-property
390
+
391
+ &.grid:has(> input.main-menu-trigger:checked) {
417
392
  .menu-logo-alt {
418
393
  display: none;
419
394
  }
420
395
  }
421
- &.grid:has(> .side-menu:not(.mini)):has(> input.main-menu-trigger:checked) {
422
- grid-template-columns: 1fr 11fr;
396
+
397
+ &.grid:has(> input.main-menu-trigger:not(:checked)) {
398
+ grid-template-columns: 1fr 12fr;
423
399
  @include mini-side-menu-toggled;
424
400
  }
425
401
 
426
- &:not(.grid) {
427
- input.main-menu-trigger:checked {
428
- ~,
429
- ~ * {
430
- .side-menu {
431
- width: 15%;
432
- flex-basis: 15%;
433
- @include mini-side-menu-toggled;
402
+ &.flex {
403
+ input.main-menu-trigger {
404
+ &:checked {
405
+ .menu-logo-alt {
406
+ display: none;
434
407
  }
435
408
  }
436
- }
437
409
 
438
- .side-menu {
439
- .btn,
440
- nav .item {
441
- padding-left: 1rem;
442
- padding-right: 1rem;
443
- }
444
-
445
- .main-menu-toggle {
446
- display: none;
410
+ &:not(:checked) {
411
+ ~,
412
+ ~ * {
413
+ .side-menu {
414
+ width: 7.5%;
415
+ flex-basis: 7.5%;
416
+ @include mini-side-menu-toggled;
417
+ }
418
+ }
447
419
  }
448
420
  }
449
421
  }
@@ -454,28 +426,21 @@ main {
454
426
  }
455
427
  }
456
428
 
457
- /* Tablets/Mini PC <---> BELOW */
458
- @media (max-width: 767.98px) {
459
- .side-menu .btn {
460
- min-width: auto;
461
- }
462
- }
463
-
464
- /* Mobile <--> BELOW */
465
- @media (max-width: 575.98px) {
429
+ /* Below Mobile */
430
+ @media (max-width: 576px) {
466
431
  input.main-menu-trigger {
467
432
  &:not(:checked) {
468
433
  ~,
469
434
  ~ * {
470
435
  .full-menu {
471
- nav {
436
+ nav,
437
+ .nav {
472
438
  display: none;
473
439
  /* transform: translateY(-100%); */
474
440
  /* opacity: 0; */
475
441
  }
476
442
  }
477
443
 
478
- // 3, float-menu
479
444
  .float-menu > *:not(.main-menu-toggle) {
480
445
  display: none;
481
446
  }
@@ -484,12 +449,12 @@ main {
484
449
 
485
450
  &:checked {
486
451
  width: 100vw;
452
+ height: 100vh;
487
453
  background-color: hsla(var(--black-hs), var(--black-l), 0.2);
488
454
  z-index: 2;
489
455
 
490
456
  ~,
491
457
  ~ * {
492
- // 1. side-menu
493
458
  .side-menu {
494
459
  transform: translateX(0);
495
460
  opacity: 1;
@@ -499,7 +464,6 @@ main {
499
464
  }
500
465
  }
501
466
 
502
- // 2. full-menu
503
467
  .full-menu {
504
468
  --background-color: hsla(
505
469
  var(--secondary-hs),
@@ -516,7 +480,7 @@ main {
516
480
  backdrop-filter: blur(10px);
517
481
  z-index: 2;
518
482
 
519
- .btn {
483
+ button {
520
484
  color: var(--secondary-c);
521
485
 
522
486
  &:hover {
@@ -529,17 +493,17 @@ main {
529
493
  order: -1;
530
494
  padding: 1rem;
531
495
 
532
- .menu-logo {
533
- display: none;
534
- }
496
+ // .menu-logo {
497
+ // display: none;
498
+ // }
535
499
  }
536
500
 
537
- nav {
501
+ nav,
502
+ .nav {
538
503
  flex-direction: column;
539
504
  }
540
505
  }
541
506
 
542
- // 3, float-menu
543
507
  .float-menu {
544
508
  width: 100%;
545
509
  }
@@ -555,6 +519,10 @@ main {
555
519
  }
556
520
 
557
521
  .main-menu-container {
522
+ .menu-logo-alt {
523
+ display: none;
524
+ }
525
+
558
526
  &.grid:has(> .side-menu) {
559
527
  grid-template-columns: 1fr;
560
528
  }
@@ -584,7 +552,7 @@ main {
584
552
  input.main-menu-trigger:not(:checked) & {
585
553
  }
586
554
 
587
- // nav {
555
+ // nav,.nav {
588
556
  // display: none;
589
557
  // }
590
558
 
@@ -601,21 +569,17 @@ main {
601
569
  display: flex;
602
570
  flex-direction: column;
603
571
 
604
- nav {
572
+ nav,
573
+ .nav {
605
574
  flex-direction: column;
606
575
  }
607
576
 
608
577
  nav,
578
+ .nav,
609
579
  .menu-header,
610
580
  .menu-footer {
611
581
  padding: 1rem;
612
582
  }
613
583
  }
614
-
615
- .page {
616
- .page-content {
617
- padding: 3em 1em;
618
- }
619
- }
620
584
  }
621
585
  }
@@ -1,36 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <base href="/dist">
6
- <meta charset="UTF-8">
7
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
- <title>Sidemenu - VX Dashboard</title>
10
- <link rel="stylesheet" href="css/index.css">
11
- <link rel="stylesheet" href="css/menu.css">
12
- <link rel="stylesheet" href="css/icons/external/bootstrap.icons.css">
13
- <link rel="shortcut icon" href="assets/img/favicon.png" type="image/png">
14
- </head>
15
-
16
- <body class="main-menu-container">
17
- <input type="checkbox" id="main-menu-trigger" class="main-menu-trigger">
18
- <div class="side-menu bg-secondary is-blur">
19
- <div class="side-menu-header">
20
- <label for="main-menu-trigger" class="bi bi-list main-menu-toggle"></label>
21
- </div>
22
- </div>
23
- <div class="page">
24
- <div class="page-content">
25
- <div class="app-header sticky">
26
- <label for="main-menu-trigger" class="bi bi-list main-menu-toggle"></label>
27
- <img src="assets/img/logo.png" alt="" class="main-logo">
28
- </div>
29
- <section>
30
- <h1>VX Dashboard Sidemenu</h1>
31
- </section>
32
- </div>
33
- </div>
34
- </body>
35
-
36
- </html>