@vixcom/ui 1.0.0 → 1.2.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.
Files changed (170) hide show
  1. package/{js → dist/js}/axios.min.js +2 -2
  2. package/{js → dist/js}/bootstrap.min.js +6 -6
  3. package/{js → dist/js}/jquery.min.js +3 -3
  4. package/{js → dist/js}/lodash.min.js +138 -138
  5. package/{js → dist/js}/mdb.min.js +15410 -15410
  6. package/{js → dist/js}/owl.carousel.min.js +6 -6
  7. package/dist/js/rapidoc-min.js +4 -0
  8. package/{js → dist/js}/sidebar.min.js +49 -49
  9. package/firebase.json +54 -54
  10. package/http-server.sh +3 -3
  11. package/package.json +15 -10
  12. package/src/assets/img/default.png +0 -0
  13. package/src/assets/img/favicon.png +0 -0
  14. package/src/assets/img/icon.png +0 -0
  15. package/src/assets/img/logo.dark.png +0 -0
  16. package/src/assets/img/logo.png +0 -0
  17. package/src/assets/img/logo.white.png +0 -0
  18. package/{css → src/css}/animations.css +174 -175
  19. package/src/css/animations.css.map +1 -0
  20. package/{css → src/css}/app.css +1888 -1896
  21. package/src/css/app.css.map +1 -0
  22. package/{css → src/css}/colors.css +5595 -5591
  23. package/src/css/colors.css.map +1 -0
  24. package/src/css/external/bootstrap-grid.css +4055 -0
  25. package/src/css/external/bootstrap-grid.css.map +1 -0
  26. package/src/css/external/bootstrap.css +9582 -0
  27. package/src/css/external/bootstrap.css.map +1 -0
  28. package/src/css/external/mdb.css +8811 -0
  29. package/src/css/external/mdb.css.map +1 -0
  30. package/src/css/external/owl-carousel.css +218 -0
  31. package/src/css/external/owl-carousel.css.map +1 -0
  32. package/src/css/external/tailwindcss.css +3 -0
  33. package/src/css/external/tailwindcss.css.map +1 -0
  34. package/{css → src/css}/fonts.css +65 -65
  35. package/{css → src/css}/grid.css +6 -6
  36. package/{css → src/css}/helper/owl.carousel.css +75 -75
  37. package/{css → src/css}/helper/primefaces.css +286 -276
  38. package/src/css/helper/primefaces.css.map +1 -0
  39. package/{css → src/css}/helper/tailwindcss.css +6 -6
  40. package/src/css/icons/external/bootstrap.icons.css +5502 -0
  41. package/src/css/icons/external/bootstrap.icons.css.map +1 -0
  42. package/src/css/icons/external/fontawesome.icons.css +6122 -0
  43. package/src/css/icons/external/fontawesome.icons.css.map +1 -0
  44. package/src/css/icons/external/material-design.icons.css +5727 -0
  45. package/src/css/icons/external/material-design.icons.css.map +1 -0
  46. package/src/css/icons/external/themify.icons.css +1428 -0
  47. package/src/css/icons/external/themify.icons.css.map +1 -0
  48. package/{css → src/css}/index.css +22 -23
  49. package/src/css/index.css.map +1 -0
  50. package/src/css/main.css.map +1 -0
  51. package/src/css/menu.css +573 -0
  52. package/src/css/menu.css.map +1 -0
  53. package/{css → src/css}/polyfills.css +10 -11
  54. package/src/css/polyfills.css.map +1 -0
  55. package/{css → src/css}/sizes.css +6021 -7457
  56. package/src/css/sizes.css.map +1 -0
  57. package/{css → src/css}/variables.css +258 -258
  58. package/src/fonts/MontessoriScript.ttf +0 -0
  59. package/src/fonts/Montserrat-Bold.ttf +0 -0
  60. package/src/fonts/Montserrat-Regular.ttf +0 -0
  61. package/src/fonts/NotoSans-Bold.ttf +0 -0
  62. package/src/fonts/Roboto-Bold.ttf +0 -0
  63. package/src/fonts/Roboto-Regular.ttf +0 -0
  64. package/src/fonts/bootstrap-icons.woff +0 -0
  65. package/src/fonts/fa-brands.woff +0 -0
  66. package/src/fonts/fa-regular.woff +0 -0
  67. package/src/fonts/fa-solid.woff +0 -0
  68. package/src/fonts/material-design-icons.ttf +0 -0
  69. package/{index.html → src/index.html} +205 -205
  70. package/src/js/axios.min.js +3 -0
  71. package/src/js/bootstrap.min.js +7 -0
  72. package/{pages/tier-1/scripts → src/js}/jquery.min.js +3 -3
  73. package/src/js/lodash.min.js +139 -0
  74. package/src/js/mdb.min.js +15411 -0
  75. package/src/js/owl.carousel.min.js +7 -0
  76. package/src/js/rapidoc-min.js +4 -0
  77. package/{pages/tier-1/scripts → src/js}/sidebar.min.js +49 -49
  78. package/{pages/error/index.html → src/pages/404.html} +31 -31
  79. package/{pages/sidemenu/index.html → src/pages/sidemenu/flex.html} +35 -35
  80. package/src/pages/sidemenu/grid.html +58 -0
  81. package/{pages → src/pages}/tier-1/LICENSE +201 -201
  82. package/{pages → src/pages}/tier-1/index.html +73 -73
  83. package/{pages/tier-2 → src/pages/tier-1}/scripts/jquery.min.js +3 -3
  84. package/src/pages/tier-1/scripts/sidebar.min.js +50 -0
  85. package/{pages/tier-2 → src/pages/tier-1}/styles/bootstrap.css +9494 -9494
  86. package/{pages/tier-2 → src/pages/tier-1}/styles/color.css +27 -27
  87. package/{pages → src/pages}/tier-1/styles/layout.css +32 -32
  88. package/{pages/tier-2 → src/pages/tier-1}/styles/mdb.css +9656 -9656
  89. package/{pages → src/pages}/tier-1/styles/page.css +25 -25
  90. package/{pages → src/pages}/tier-1/styles/sidebar.css +192 -192
  91. package/{pages → src/pages}/tier-1/styles/themify.css +1427 -1427
  92. package/{pages → src/pages}/tier-2/LICENSE +201 -201
  93. package/{pages → src/pages}/tier-2/index.html +64 -64
  94. package/src/pages/tier-2/scripts/jquery.min.js +4 -0
  95. package/{pages → src/pages}/tier-2/scripts/sidebar.min.js +49 -49
  96. package/{pages/tier-1 → src/pages/tier-2}/styles/bootstrap.css +9494 -9494
  97. package/{pages/tier-1 → src/pages/tier-2}/styles/color.css +27 -27
  98. package/{pages → src/pages}/tier-2/styles/layout.css +42 -42
  99. package/{pages/tier-1 → src/pages/tier-2}/styles/mdb.css +9656 -9656
  100. package/{pages → src/pages}/tier-2/styles/page.css +25 -25
  101. package/{pages → src/pages}/tier-2/styles/sidebar.css +192 -192
  102. package/{pages → src/pages}/tier-2/styles/themify.css +1427 -1427
  103. package/src/styles/_mixins.scss +445 -0
  104. package/{styles → src/styles}/animations.scss +190 -190
  105. package/{styles → src/styles}/app.scss +2015 -2020
  106. package/{styles → src/styles}/colors.scss +118 -117
  107. package/{css → src/styles}/external/bootstrap-grid.css +4996 -4996
  108. package/{css → src/styles}/external/bootstrap.css +10307 -10307
  109. package/{css → src/styles}/external/mdb.css +9444 -9444
  110. package/{css → src/styles}/external/owl-carousel.css +217 -217
  111. package/src/styles/external/tailwindcss.css +0 -0
  112. package/{styles → src/styles}/fonts.scss +16 -16
  113. package/{styles → src/styles}/grid.scss +3 -3
  114. package/{styles → src/styles}/helper/owl.carousel.scss +91 -91
  115. package/{styles → src/styles}/helper/primefaces.scss +373 -364
  116. package/{styles → src/styles}/helper/tailwindcss.scss +3 -3
  117. package/{css → src/styles}/icons/external/bootstrap.icons.css +5501 -5501
  118. package/{css → src/styles}/icons/external/fontawesome.icons.css +6126 -6126
  119. package/{css → src/styles}/icons/external/material-design.icons.css +5727 -5727
  120. package/{css → src/styles}/icons/external/themify.icons.css +1427 -1427
  121. package/{styles → src/styles}/index.scss +25 -25
  122. package/src/styles/menu.scss +621 -0
  123. package/{styles → src/styles}/polyfills.scss +8 -8
  124. package/{styles → src/styles}/sizes.scss +195 -191
  125. package/{styles → src/styles}/variables.scss +30 -30
  126. package/tailwind.config.js +23 -0
  127. package/.firebaserc +0 -17
  128. package/.github/workflows/deploy-prod.yml +0 -26
  129. package/.pnpm-debug.log +0 -19
  130. package/css/animations.css.map +0 -1
  131. package/css/app.css.map +0 -1
  132. package/css/colors.css.map +0 -1
  133. package/css/helper/primefaces.css.map +0 -1
  134. package/css/helper/primefaces.org.css.map +0 -1
  135. package/css/index.css.map +0 -1
  136. package/css/menu.css +0 -556
  137. package/css/menu.css.map +0 -1
  138. package/css/polyfills.css.map +0 -1
  139. package/css/sidebar.css.map +0 -1
  140. package/css/sizes.css.map +0 -1
  141. package/styles/_mixins.scss +0 -309
  142. package/styles/menu.scss +0 -566
  143. /package/{assets → dist/assets}/img/favicon.png +0 -0
  144. /package/{assets → dist/assets}/img/icon.png +0 -0
  145. /package/{fonts → dist/fonts}/MontessoriScript.ttf +0 -0
  146. /package/{fonts → dist/fonts}/Montserrat-Bold.ttf +0 -0
  147. /package/{fonts → dist/fonts}/Montserrat-Regular.ttf +0 -0
  148. /package/{fonts → dist/fonts}/NotoSans-Bold.ttf +0 -0
  149. /package/{fonts → dist/fonts}/Roboto-Bold.ttf +0 -0
  150. /package/{fonts → dist/fonts}/Roboto-Regular.ttf +0 -0
  151. /package/{fonts → dist/fonts}/bootstrap-icons.woff +0 -0
  152. /package/{fonts → dist/fonts}/fa-brands.woff +0 -0
  153. /package/{fonts → dist/fonts}/fa-regular.woff +0 -0
  154. /package/{fonts → dist/fonts}/fa-solid.woff +0 -0
  155. /package/{fonts → dist/fonts}/material-design-icons.ttf +0 -0
  156. /package/{css → src/css}/fonts.css.map +0 -0
  157. /package/{css → src/css}/grid.css.map +0 -0
  158. /package/{css → src/css}/helper/owl.carousel.css.map +0 -0
  159. /package/{css → src/css}/helper/tailwindcss.css.map +0 -0
  160. /package/{css → src/css}/variables.css.map +0 -0
  161. /package/{pages → src/pages}/tier-1/fonts/krub/Krub-Bold.ttf +0 -0
  162. /package/{pages → src/pages}/tier-1/fonts/krub/Krub-Light.ttf +0 -0
  163. /package/{pages → src/pages}/tier-1/fonts/krub/Krub-Regular.ttf +0 -0
  164. /package/{pages → src/pages}/tier-1/fonts/themify.woff +0 -0
  165. /package/{pages → src/pages}/tier-1/preview.png +0 -0
  166. /package/{pages → src/pages}/tier-2/fonts/krub/Krub-Bold.ttf +0 -0
  167. /package/{pages → src/pages}/tier-2/fonts/krub/Krub-Light.ttf +0 -0
  168. /package/{pages → src/pages}/tier-2/fonts/krub/Krub-Regular.ttf +0 -0
  169. /package/{pages → src/pages}/tier-2/fonts/themify.woff +0 -0
  170. /package/{pages → src/pages}/tier-2/preview.png +0 -0
@@ -1,25 +1,25 @@
1
- /*
2
- * @Author: Vixson
3
- * @Description: Unique and Very Responsive Admin Dashboard UI
4
- */
5
- @import 'mixins';
6
- // @import 'https://unpkg.com/bootstrap@latest/dist/css/bootstrap.min.css';
7
- @import 'external/bootstrap.css';
8
- @import 'variables.css';
9
- @import 'app.css';
10
- @import 'sizes.css';
11
- @import 'colors.css';
12
- @import 'animations.css';
13
- @import 'polyfills.css';
14
-
15
- @font-face {
16
- font-family: 'AppTitle';
17
- src: url('/fonts/NotoSans-Bold.ttf');
18
- font-weight: bold;
19
- }
20
-
21
- @font-face {
22
- font-family: 'AppContent';
23
- src: url('/fonts/Roboto-Regular.ttf');
24
- font-weight: normal;
25
- }
1
+ /*
2
+ * @Author: Vixson
3
+ * @Description: Unique and Very Responsive Admin Dashboard UI
4
+ */
5
+ @import 'mixins';
6
+ // @import 'https://unpkg.com/bootstrap@latest/dist/css/bootstrap.min.css';
7
+ // @import 'external/bootstrap.css';
8
+ @import 'variables.css';
9
+ @import 'app.css';
10
+ @import 'sizes.css';
11
+ @import 'colors.css';
12
+ @import 'animations.css';
13
+ @import 'polyfills.css';
14
+
15
+ @font-face {
16
+ font-family: 'Title';
17
+ src: url('/fonts/NotoSans-Bold.ttf');
18
+ font-weight: bold;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: 'Content';
23
+ src: url('/fonts/Roboto-Regular.ttf');
24
+ font-weight: normal;
25
+ }
@@ -0,0 +1,621 @@
1
+ @import 'mixins';
2
+
3
+ /**
4
+ * @Author vixson https://vixson.github.io
5
+ * @Description Menu styles which includes:
6
+ * 1. side-menu
7
+ * 2. full-menu (fullscreen floating)
8
+ * 2. float-menu (miniscreen corner floating)
9
+ */
10
+
11
+ @mixin mini-side-menu-toggled {
12
+ .menu-header {
13
+ .menu-logo,
14
+ .main-menu-toggle {
15
+ display: none;
16
+ }
17
+
18
+ .title {
19
+ opacity: 0;
20
+ height: 0;
21
+ margin-bottom: 0;
22
+ }
23
+ }
24
+
25
+ nav .item {
26
+ justify-content: center;
27
+ }
28
+
29
+ nav,
30
+ .menu-header,
31
+ .menu-footer {
32
+ .item,
33
+ .title {
34
+ .label {
35
+ opacity: 0;
36
+ transform: translateX(100%);
37
+ position: absolute;
38
+ }
39
+ }
40
+
41
+ .title {
42
+ border-bottom: thin solid;
43
+ padding: 0;
44
+ }
45
+ }
46
+ }
47
+
48
+ input.main-menu-trigger {
49
+ /* @include absolute-content; */
50
+ position: fixed;
51
+ left: 0;
52
+ top: 0;
53
+ padding: 0;
54
+ margin: 0;
55
+ height: 100%;
56
+ width: 100%;
57
+ transition: background-color 0.5s ease-in;
58
+ border-radius: 0;
59
+ z-index: -1;
60
+
61
+ &::after {
62
+ display: none;
63
+ }
64
+
65
+ &,
66
+ &::before,
67
+ &::after {
68
+ background-color: transparent;
69
+ }
70
+
71
+ &:checked {
72
+ ~,
73
+ ~ * {
74
+ main,
75
+ .page {
76
+ > footer {
77
+ background-color: var(--secondary);
78
+ color: var(--secondary-c);
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ &:not(:checked) {
85
+ ~,
86
+ ~ * {
87
+ }
88
+ }
89
+ }
90
+
91
+ .main-menu-toggle {
92
+ position: relative;
93
+ font-size: 120%;
94
+ margin-bottom: 0;
95
+ z-index: 1;
96
+ }
97
+
98
+ nav,
99
+ .menu-header,
100
+ .menu-footer {
101
+ width: 100%;
102
+ display: flex;
103
+ }
104
+
105
+ nav {
106
+ height: 100%;
107
+ font-size: 120%;
108
+ gap: 0.5rem;
109
+
110
+ .item {
111
+ display: flex;
112
+ align-items: center;
113
+ gap: 0.75rem;
114
+ padding: 0.75rem 1rem;
115
+ text-decoration: none;
116
+ color: currentColor;
117
+
118
+ .label {
119
+ transition: position 0.25s linear 0.125s, transform 0.25s linear 0.125s,
120
+ opacity 0.5s linear 0.125s;
121
+ }
122
+ }
123
+ }
124
+
125
+ /* side-menu */
126
+ .main-menu-container {
127
+ position: relative;
128
+ display: flex;
129
+ flex-direction: row;
130
+ width: 100%;
131
+ height: 100%;
132
+
133
+ &.rtl {
134
+ .page {
135
+ order: -1;
136
+ }
137
+ }
138
+
139
+ &:is(body) {
140
+ width: 100vw;
141
+ height: 100vh;
142
+ }
143
+
144
+ &.grid {
145
+ display: grid;
146
+ grid-template-rows: 1fr;
147
+ transition: 0.5s;
148
+
149
+ &:has(> .side-menu) > {
150
+ main,
151
+ .page {
152
+ section {
153
+ height: 100%;
154
+ min-height: unset;
155
+ }
156
+ }
157
+ }
158
+
159
+ > .side-menu {
160
+ grid-row: 1 / -1;
161
+ }
162
+ }
163
+ }
164
+
165
+ .side-menu {
166
+ display: flex;
167
+ flex-direction: column;
168
+ position: relative;
169
+ height: 100%;
170
+ margin: 0;
171
+ flex: 1 1 30%;
172
+ /* border-right: thin solid var(--secondary); */
173
+ transition: width 0.5s, flex-basis 0.5s, transform 0.5s, opacity 0.25s;
174
+ overflow: hidden;
175
+ z-index: 1;
176
+
177
+ /* side-menu scrollbar */
178
+ ::-webkit-scrollbar {
179
+ width: 0;
180
+ }
181
+
182
+ ::-webkit-scrollbar-thumb {
183
+ background-color: currentColor;
184
+ }
185
+
186
+ .menu-header,
187
+ .menu-footer {
188
+ padding: 1rem;
189
+ align-items: center;
190
+
191
+ .title {
192
+ transition: height 0.5s linear 0.5s, opacity 0.5s linear 0.5s;
193
+ }
194
+ }
195
+
196
+ nav {
197
+ flex-direction: column;
198
+ overflow-y: scroll;
199
+ overflow-x: hidden;
200
+
201
+ .item {
202
+ @include before-content;
203
+
204
+ &::before {
205
+ background-color: currentColor;
206
+ opacity: 0;
207
+ transition: opacity 0.5s;
208
+ }
209
+
210
+ // MARKED: Extend & modify this according to UI/Theme
211
+ &.active::before {
212
+ opacity: 0.25;
213
+ }
214
+
215
+ &:hover::before {
216
+ opacity: 0.125;
217
+ }
218
+
219
+ .label {
220
+ overflow: hidden;
221
+ text-overflow: ellipsis;
222
+ white-space: nowrap;
223
+ }
224
+ }
225
+ }
226
+
227
+ .icon {
228
+ // margin: 0.125rem 1em;
229
+ // margin-left: 0;
230
+ }
231
+
232
+ footer,
233
+ .menu-footer {
234
+ margin-top: auto;
235
+ }
236
+ }
237
+
238
+ .full-menu {
239
+ display: flex;
240
+ transition: transform 0.5s;
241
+ align-items: center;
242
+ justify-content: center;
243
+
244
+ nav {
245
+ align-items: center;
246
+ justify-content: center;
247
+ overflow: scroll;
248
+ }
249
+ }
250
+
251
+ .float-menu {
252
+ display: flex;
253
+
254
+ nav {
255
+ .item {
256
+ gap: 1rem;
257
+ }
258
+ }
259
+ }
260
+
261
+ /* Page */
262
+
263
+ .page,
264
+ main {
265
+ display: flex;
266
+ flex-direction: column;
267
+ position: relative;
268
+ width: 100%;
269
+ height: 100%;
270
+ margin: 0;
271
+ flex: 1 1 100%;
272
+ transition: width 0.5s;
273
+ overflow: hidden;
274
+ z-index: 1;
275
+
276
+ footer {
277
+ background-color: var(--primary);
278
+ color: var(--primary-c);
279
+ }
280
+ }
281
+
282
+ .page-content {
283
+ position: relative;
284
+ padding: 3em;
285
+ width: 100%;
286
+ flex: 1 1 100%;
287
+ transition: margin 0.2s;
288
+ }
289
+
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
+ }
307
+ }
308
+ }
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
+ &.grid:has(> .side-menu:not(.mini)):has(> input.main-menu-trigger:checked) {
317
+ grid-template-columns: 0fr 1fr;
318
+ }
319
+
320
+ &:not(.grid) {
321
+ input.main-menu-trigger {
322
+ &:checked {
323
+ ~,
324
+ ~ * {
325
+ .side-menu:not(.mini) {
326
+ width: 0;
327
+ flex-basis: 0;
328
+ opacity: 0;
329
+ padding: 0;
330
+ }
331
+ }
332
+ }
333
+
334
+ &:not(:checked) {
335
+ ~,
336
+ ~ * {
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
+ }
350
+ }
351
+ }
352
+ }
353
+ }
354
+ }
355
+ }
356
+ }
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
+
383
+ .float-menu,
384
+ .full-menu {
385
+ align-items: center;
386
+
387
+ .menu-header {
388
+ .menu-logo, // TODO: Review
389
+ .main-menu-toggle {
390
+ display: none;
391
+ }
392
+ }
393
+ }
394
+
395
+ .float-menu {
396
+ /* width: 75%; */
397
+ }
398
+ }
399
+
400
+ /* Mobile <---> Tablets/Mini PC */
401
+ @media (min-width: 576px) and (max-width: 767.98px) {
402
+ // DEBUG: https://sass-lang.com/d/bogus-combinators
403
+ // input.main-menu-trigger:checked {
404
+ // ~,
405
+ // ~ * {
406
+ // @include unify-selector('.main-menu-container.grid', &) {
407
+ // content: 'trigger in grid';
408
+ // }
409
+ // }
410
+ // }
411
+
412
+ .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
+ ) {
417
+ .menu-logo-alt {
418
+ display: none;
419
+ }
420
+ }
421
+ &.grid:has(> .side-menu:not(.mini)):has(> input.main-menu-trigger:checked) {
422
+ grid-template-columns: 1fr 11fr;
423
+ @include mini-side-menu-toggled;
424
+ }
425
+
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;
434
+ }
435
+ }
436
+ }
437
+
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;
447
+ }
448
+ }
449
+ }
450
+ }
451
+
452
+ .float-menu {
453
+ /* width: 50%; */
454
+ }
455
+ }
456
+
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) {
466
+ input.main-menu-trigger {
467
+ &:not(:checked) {
468
+ ~,
469
+ ~ * {
470
+ .full-menu {
471
+ nav {
472
+ display: none;
473
+ /* transform: translateY(-100%); */
474
+ /* opacity: 0; */
475
+ }
476
+ }
477
+
478
+ // 3, float-menu
479
+ .float-menu > *:not(.main-menu-toggle) {
480
+ display: none;
481
+ }
482
+ }
483
+ }
484
+
485
+ &:checked {
486
+ width: 100vw;
487
+ background-color: hsla(var(--black-hs), var(--black-l), 0.2);
488
+ z-index: 2;
489
+
490
+ ~,
491
+ ~ * {
492
+ // 1. side-menu
493
+ .side-menu {
494
+ transform: translateX(0);
495
+ opacity: 1;
496
+
497
+ .main-menu-toggle {
498
+ transform: translateX(0);
499
+ }
500
+ }
501
+
502
+ // 2. full-menu
503
+ .full-menu {
504
+ --background-color: hsla(
505
+ var(--secondary-hs),
506
+ var(--secondary-l),
507
+ 0.125
508
+ );
509
+ position: fixed;
510
+ flex-direction: column;
511
+ transform: translateY(0);
512
+ opacity: 1;
513
+ font-size: 125%;
514
+ background-color: var(--background-color);
515
+ color: var(--secondary-c);
516
+ backdrop-filter: blur(10px);
517
+ z-index: 2;
518
+
519
+ .btn {
520
+ color: var(--secondary-c);
521
+
522
+ &:hover {
523
+ background-color: var(--secondary-c);
524
+ color: var(--secondary);
525
+ }
526
+ }
527
+
528
+ .menu-header {
529
+ order: -1;
530
+ padding: 1rem;
531
+
532
+ .menu-logo {
533
+ display: none;
534
+ }
535
+ }
536
+
537
+ nav {
538
+ flex-direction: column;
539
+ }
540
+ }
541
+
542
+ // 3, float-menu
543
+ .float-menu {
544
+ width: 100%;
545
+ }
546
+
547
+ main,
548
+ .page {
549
+ .page-header .main-menu-toggle {
550
+ transform: translateX(-50%);
551
+ }
552
+ }
553
+ }
554
+ }
555
+ }
556
+
557
+ .main-menu-container {
558
+ &.grid:has(> .side-menu) {
559
+ grid-template-columns: 1fr;
560
+ }
561
+
562
+ .side-menu {
563
+ position: fixed;
564
+ top: 0;
565
+ left: 0;
566
+ bottom: 0;
567
+ width: 80%;
568
+ flex-basis: 80%;
569
+ transform: translateX(-100%);
570
+ opacity: 0;
571
+ box-shadow: 0 0 50px hsla(var(--black-hs), var(--black-l), 0.25);
572
+ z-index: 2;
573
+ }
574
+
575
+ .full-menu {
576
+ top: 0;
577
+ left: 0;
578
+ right: 0;
579
+ bottom: 0;
580
+ /* transform: translateY(-100%); */
581
+ /* opacity: 0; */
582
+ z-index: 2;
583
+
584
+ input.main-menu-trigger:not(:checked) & {
585
+ }
586
+
587
+ // nav {
588
+ // display: none;
589
+ // }
590
+
591
+ .menu-header {
592
+ width: 100%;
593
+ }
594
+ }
595
+
596
+ .float-menu {
597
+ position: fixed;
598
+ bottom: 0;
599
+ /* left: 0; */
600
+ right: 0;
601
+ display: flex;
602
+ flex-direction: column;
603
+
604
+ nav {
605
+ flex-direction: column;
606
+ }
607
+
608
+ nav,
609
+ .menu-header,
610
+ .menu-footer {
611
+ padding: 1rem;
612
+ }
613
+ }
614
+
615
+ .page {
616
+ .page-content {
617
+ padding: 3em 1em;
618
+ }
619
+ }
620
+ }
621
+ }
@@ -1,9 +1,9 @@
1
- @supports not (gap: 1em) {
2
- .nav-menu {
3
- margin: -0.5em;
4
- }
5
-
6
- .nav-menu>* {
7
- margin: 0.5em;
8
- }
1
+ @supports not (gap: 1em) {
2
+ .nav-menu {
3
+ margin: -0.5em;
4
+ }
5
+
6
+ .nav-menu>* {
7
+ margin: 0.5em;
8
+ }
9
9
  }