@apptegy/nuxt-navigation 0.1.125 → 0.2.0-alpha.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,9 +1,9 @@
1
1
  <template>
2
2
  <nav
3
- class="navbar"
4
3
  role="navigation"
5
4
  aria-label="Main"
6
- :class="{ expanded }"
5
+ class="navbar"
6
+ :class="[isBeaconNavEnabled ? 'beacon' : 'classic', { expanded }]"
7
7
  :style="getBrandingStyles"
8
8
  @mouseenter="!lockedExpanded && onHover()"
9
9
  @mouseleave="!lockedExpanded && onHoverLeave()"
@@ -17,89 +17,173 @@
17
17
  >
18
18
  {{ $t("navigation.skipToContent") }}
19
19
  </a>
20
- <div :class="['navbar--wrapper', fixed && 'fixed']" >
21
- <div class="navbar--header">
22
- <div :class="['header-actions', { 'collapsed': !expanded && !isMobile }]">
23
- <NuxtLink v-if="expanded" class="no-link-style" :to="homepageUrl">
24
- <slot name="logo">
25
- <div class="navbar--logo" :class="{ 'big-logo': _brandLogoWidth > 80 }">
26
- <img v-if="brandLogo" ref="brandLogoRef" :src="brandLogo" :alt="$t('navigation.brandLogoAlt')">
27
- <component
28
- :is="ApptegyLogo"
20
+ <div
21
+ class="navbar--wrapper"
22
+ :class="{ fixed }"
23
+ >
24
+ <div class="navbar--header">
25
+ <div :class="['header-actions', { collapsed: !expanded && !isMobile }]">
26
+ <NuxtLink
27
+ v-if="expanded"
28
+ class="no-link-style"
29
+ :to="homepageUrl"
30
+ >
31
+ <slot name="logo">
32
+ <div
33
+ class="navbar--logo"
34
+ :class="{ 'big-logo': _brandLogoWidth > 80 }"
35
+ >
36
+ <template v-if="brandLogo">
37
+ <div
38
+ v-if="isBeaconNavEnabled"
39
+ class="brand-logo"
40
+ >
41
+ <img
42
+ ref="brandLogoRef"
43
+ :src="brandLogo"
44
+ :alt="$t('navigation.brandLogoAlt')"
45
+ />
46
+ </div>
47
+ <img
29
48
  v-else
49
+ ref="brandLogoRef"
50
+ :src="brandLogo"
30
51
  :alt="$t('navigation.brandLogoAlt')"
31
- :use-light-logo="isAdmin || Object.values(getBrandingStyles).length === 0"
32
- />
33
- <div v-if="!brand?.hide_school_name">
34
- <div class="school-name"> {{ brand?.school_name }} </div>
35
- <div v-if="brand?.school_tag_line" class="school-tag">{{ brand.school_tag_line }}</div>
36
- </div>
52
+ />
53
+ </template>
54
+ <component
55
+ :is="ApptegyLogo"
56
+ v-else
57
+ :alt="$t('navigation.brandLogoAlt')"
58
+ :use-light-logo="isAdmin || Object.values(getBrandingStyles).length === 0"
59
+ />
60
+ <div v-if="!brand?.hide_school_name">
61
+ <div class="school-name">{{ brand?.school_name }}</div>
62
+ <div
63
+ v-if="brand?.school_tag_line"
64
+ class="school-tag"
65
+ >
66
+ {{ brand.school_tag_line }}
37
67
  </div>
38
- </slot>
39
- </NuxtLink>
40
- <div v-if="!isMobile && showCollapseButton">
41
- <button v-if="lockedExpanded && !allowCollapse && expanded" class="hamburger-button" @click="closeSidebar" v-tooltip.bottom="'Unpin menu'">
42
- <Pinned />
43
- </button>
44
- <button v-if="!lockedExpanded && allowCollapse && expanded" class="hamburger-button" @click="lockSidebar" v-tooltip.bottom="'Pin menu open'">
45
- <Unpinned />
46
- </button>
47
- <button v-if="!lockedExpanded && allowCollapse && !expanded" ref="hamburgerButtonRef" class="hamburger-button">
48
- <a-icon icon="24:hamburger" />
49
- </button>
68
+ </div>
50
69
  </div>
70
+ </slot>
71
+ </NuxtLink>
72
+ <div v-if="!isMobile && showCollapseButton">
73
+ <button
74
+ v-if="lockedExpanded && !allowCollapse && expanded"
75
+ class="hamburger-button"
76
+ @click="closeSidebar"
77
+ v-tooltip.bottom="isBeaconNavEnabled ? 'Collapse menu' : 'Unpin menu'"
78
+ >
79
+ <Icon
80
+ v-if="isBeaconNavEnabled"
81
+ name="lucide:panel-left-close"
82
+ />
83
+ <Pinned v-else />
84
+ </button>
85
+ <button
86
+ v-if="!lockedExpanded && allowCollapse && expanded"
87
+ class="hamburger-button"
88
+ @click="lockSidebar"
89
+ v-tooltip.bottom="isBeaconNavEnabled ? 'Expand menu' : 'Pin menu open'"
90
+ >
91
+ <Icon
92
+ v-if="isBeaconNavEnabled"
93
+ name="lucide:panel-right-close"
94
+ />
95
+ <Unpinned v-else />
96
+ </button>
97
+ <button
98
+ v-if="!lockedExpanded && allowCollapse && !expanded"
99
+ ref="hamburgerButtonRef"
100
+ class="hamburger-button"
101
+ >
102
+ <Icon
103
+ v-if="isBeaconNavEnabled"
104
+ name="lucide:menu"
105
+ />
106
+ <a-icon
107
+ v-else
108
+ icon="24:hamburger"
109
+ />
110
+ </button>
51
111
  </div>
52
- <slot name="switcher" />
53
112
  </div>
54
- <div class="navbar--content">
55
- <ul class="navbar-applications">
56
- <li v-for="application of applications" :key="application.id">
57
- <NavSidebarSection
58
- v-if="expanded || isCurrentApplication(application) || isMobile"
59
- :application="application"
60
- :active="isCurrentApplication(application)"
61
- :collapsed="!expanded && !isMobile"
62
- >
63
- <slot v-if="isCurrentApplication(application)" />
64
- </NavSidebarSection>
65
- </li>
66
- </ul>
67
- </div>
68
- <div class="navbar--footer">
69
- <NavHelpArticles
70
- :show-help-articles="showHelpArticles"
71
- :help-article-options="helpArticleOptions"
72
- :settings-route="settingsRoute"
73
- :school-website="schoolWebsite"
74
- :collapsed="!expanded && !isMobile"
75
- />
76
- <NavImpersonateInfoPanel
77
- v-if="impersonatedUser.show"
78
- :impersonated-user="impersonatedUser"
79
- />
113
+ </div>
114
+ <div class="navbar--content">
115
+ <slot name="switcher" />
116
+ <ul class="navbar-applications">
117
+ <li
118
+ v-for="application of applications"
119
+ :key="application.id"
120
+ >
121
+ <NavSidebarSection
122
+ v-if="isBeaconNavEnabled || expanded || isCurrentApplication(application) || isMobile"
123
+ :application="application"
124
+ :active="isCurrentApplication(application)"
125
+ :collapsed="!expanded && !isMobile"
126
+ >
127
+ <slot v-if="isCurrentApplication(application)" />
128
+ </NavSidebarSection>
129
+ </li>
130
+ </ul>
131
+ </div>
132
+ <div class="navbar--footer">
133
+ <NavHelpArticles
134
+ :show-help-articles="showHelpArticles"
135
+ :help-article-options="helpArticleOptions"
136
+ :settings-route="settingsRoute"
137
+ :school-website="schoolWebsite"
138
+ :collapsed="!expanded && !isMobile"
139
+ />
140
+ <NavImpersonateInfoPanel
141
+ v-if="impersonatedUser.show"
142
+ :impersonated-user="impersonatedUser"
143
+ />
80
144
 
81
- <slot name="logo">
82
- <template v-if="brand">
83
- <NuxtLink v-if="expanded ? logo.src : logo.iconSrc" :to="homepageUrl">
84
- <div v-if="!isMobile && expanded" class="navbar--footer-logo">
85
- <img :src="expanded ? logo.src : logo.iconSrc" :alt="logo.alt || $t('navigation.logoAlt')">
86
- </div>
87
- </NuxtLink>
88
- </template>
89
- </slot>
90
- </div>
145
+ <slot name="logo">
146
+ <template v-if="brand">
147
+ <NuxtLink
148
+ v-if="expanded ? logo.src : logo.iconSrc"
149
+ :to="homepageUrl"
150
+ >
151
+ <div
152
+ v-if="!isMobile && expanded"
153
+ class="navbar--footer-logo"
154
+ >
155
+ <img
156
+ :src="expanded ? logo.src : logo.iconSrc"
157
+ :alt="logo.alt || $t('navigation.logoAlt')"
158
+ />
159
+ </div>
160
+ </NuxtLink>
161
+ </template>
162
+ </slot>
163
+ </div>
91
164
  </div>
92
165
  </nav>
93
166
  </template>
94
167
 
95
168
  <script setup>
96
- import { useSidebar, useBranding, useNuxtApp, ref, watch, computed, onMounted, onBeforeUnmount, nextTick } from "#imports";
169
+ import {
170
+ useSidebar,
171
+ useBranding,
172
+ useNuxtApp,
173
+ ref,
174
+ watch,
175
+ computed,
176
+ onMounted,
177
+ onBeforeUnmount,
178
+ nextTick
179
+ } from "#imports";
97
180
  import { isSameApplication } from "../../utils/application";
98
181
  import ApptegyLogo from "./Icons/ApptegyLogo.vue";
99
182
  import { useWindowSize } from "@vueuse/core";
100
183
  import Unpinned from "./Icons/Unpinned.vue";
101
184
  import Pinned from "./Icons/Pinned.vue";
102
- const { $t } = useNuxtApp();
185
+ import PAvatar from "primevue/avatar";
186
+ const { $t, $ld } = useNuxtApp();
103
187
  const props = defineProps({
104
188
  clientId: { type: Number, required: true, default: void 0 },
105
189
  applications: { type: Array, required: true, default: () => [] },
@@ -138,6 +222,9 @@ let brandLogoResizeObserver = null;
138
222
  const _brandLogoWidth = computed(() => brandLogoWidthPx.value);
139
223
  const { width: windowWidth } = useWindowSize();
140
224
  const isMobile = computed(() => windowWidth.value < 600);
225
+ const isBeaconNavEnabled = computed(() => {
226
+ return Boolean($ld?.flags?.beaconNavEnabled);
227
+ });
141
228
  const lockedExpanded = ref(true);
142
229
  const allowCollapse = ref(false);
143
230
  let focusOutTimeout = null;
@@ -166,13 +253,17 @@ onBeforeUnmount(() => {
166
253
  watch(expanded, (value) => {
167
254
  emit("toggle-expand", value ? 264 : 64);
168
255
  });
169
- watch(isMobile, (value) => {
170
- if (value) {
171
- expanded.value = true;
172
- lockedExpanded.value = true;
173
- allowCollapse.value = false;
174
- }
175
- }, { immediate: true });
256
+ watch(
257
+ isMobile,
258
+ (value) => {
259
+ if (value) {
260
+ expanded.value = true;
261
+ lockedExpanded.value = true;
262
+ allowCollapse.value = false;
263
+ }
264
+ },
265
+ { immediate: true }
266
+ );
176
267
  function onHover() {
177
268
  if (!expanded.value) {
178
269
  expanded.value = true;
@@ -209,6 +300,7 @@ async function closeSidebar() {
209
300
  lockedExpanded.value = false;
210
301
  allowCollapse.value = true;
211
302
  ignoreNextFocusIn = true;
303
+ if (isBeaconNavEnabled.value) return;
212
304
  await nextTick();
213
305
  if (hamburgerButtonRef.value) {
214
306
  hamburgerButtonRef.value.focus();
@@ -222,7 +314,7 @@ function lockSidebar() {
222
314
  </script>
223
315
 
224
316
  <style scoped>
225
- .navbar {
317
+ .navbar.classic {
226
318
  grid-area: navsidebar;
227
319
  font: var(--font-regular);
228
320
  color: var(--nav-text-color, #646464);
@@ -234,24 +326,34 @@ function lockSidebar() {
234
326
  width: 64px;
235
327
  position: relative;
236
328
  }
237
- .navbar::-webkit-scrollbar {
329
+ .navbar.classic::-webkit-scrollbar {
238
330
  display: none;
239
331
  }
240
- .navbar a:focus-visible {
332
+ .navbar.classic a:focus-visible {
241
333
  outline: var(--orange) auto 2px;
242
334
  outline-offset: 0px;
243
335
  box-shadow: inset 0 0 0px 4px var(--primary-white);
244
336
  }
245
- .navbar--wrapper {
337
+ .navbar.classic.expanded {
338
+ transition: width 0.3s ease;
339
+ width: 264px;
340
+ }
341
+ .navbar.classic.expanded .navbar--content ul {
342
+ width: 264px;
343
+ }
344
+ .navbar.classic.expanded .navbar--header .header-actions {
345
+ width: 264px;
346
+ }
347
+ .navbar.classic .navbar--wrapper {
246
348
  display: grid;
247
349
  grid-template-rows: 0fr auto 0fr;
248
- background-color: var(--nav-background-color, #FFF);
249
- border-right: 1px solid #DFDFDF;
350
+ background-color: var(--nav-background-color, #fff);
351
+ border-right: 1px solid #dfdfdf;
250
352
  height: 100%;
251
353
  overflow-y: auto;
252
354
  overflow-x: hidden;
253
355
  }
254
- .navbar--wrapper.fixed {
356
+ .navbar.classic .navbar--wrapper.fixed {
255
357
  position: fixed;
256
358
  top: 0;
257
359
  left: 0;
@@ -260,10 +362,10 @@ function lockSidebar() {
260
362
  overflow-y: unset;
261
363
  z-index: 10;
262
364
  }
263
- .navbar--header {
264
- border-bottom: 1px solid var(--nav-border-colors, #DFDFDF);
365
+ .navbar.classic .navbar--header {
366
+ border-bottom: 1px solid var(--nav-border-colors, #dfdfdf);
265
367
  }
266
- .navbar--header .header-actions {
368
+ .navbar.classic .navbar--header .header-actions {
267
369
  padding: 12px 16px;
268
370
  display: inline-flex;
269
371
  align-items: center;
@@ -272,71 +374,240 @@ function lockSidebar() {
272
374
  justify-content: space-between;
273
375
  box-sizing: border-box;
274
376
  }
275
- .navbar--header .header-actions.collapsed {
377
+ .navbar.classic .navbar--header .header-actions.collapsed {
276
378
  justify-content: center;
277
379
  }
278
- .navbar--logo {
380
+ .navbar.classic .navbar--logo {
279
381
  display: flex;
280
382
  align-items: center;
281
383
  gap: 8px;
282
384
  }
283
- .navbar--logo.big-logo {
385
+ .navbar.classic .navbar--logo.big-logo {
284
386
  flex-direction: column;
285
387
  align-items: flex-start;
286
388
  }
287
- .navbar--logo .school-name {
389
+ .navbar.classic .navbar--logo .school-name {
288
390
  font-size: 16px;
289
391
  font-style: normal;
290
392
  font-weight: 700;
291
393
  overflow-wrap: break-word;
292
394
  word-break: break-word;
293
395
  }
294
- .navbar--logo .school-tag {
396
+ .navbar.classic .navbar--logo .school-tag {
295
397
  font-size: 14px;
296
398
  font-style: normal;
297
399
  font-weight: 400;
298
400
  overflow-wrap: break-word;
299
401
  word-break: break-word;
300
402
  }
301
- .navbar--logo img {
403
+ .navbar.classic .navbar--logo img {
302
404
  display: inline;
303
405
  max-height: 36px;
304
406
  max-width: 180px;
305
407
  }
306
- .navbar--content {
408
+ .navbar.classic .navbar--content {
307
409
  display: flex;
308
410
  flex-direction: column;
309
411
  }
310
- .navbar--content ul {
412
+ .navbar.classic .navbar--content ul {
311
413
  list-style: none;
312
414
  padding: 0;
313
415
  margin: 0;
314
416
  width: 64px;
315
417
  }
316
- .navbar--footer {
418
+ .navbar.classic .navbar--footer {
317
419
  display: flex;
318
420
  flex-direction: column;
319
421
  }
320
- .navbar--footer-logo {
422
+ .navbar.classic .navbar--footer-logo {
321
423
  padding: 8px 16px 16px 16px;
322
424
  display: flex;
323
425
  justify-content: center;
324
426
  }
325
- .navbar--footer-logo img {
427
+ .navbar.classic .navbar--footer-logo img {
326
428
  height: 32px;
327
429
  width: clamp(0px, 100%, 180px);
328
430
  }
329
- .navbar.expanded {
431
+ .navbar.classic .skip-to-content {
432
+ overflow: hidden;
433
+ padding: 16px 24px 14px;
434
+ position: absolute;
435
+ left: 5px;
436
+ top: 5px;
437
+ width: auto;
438
+ height: auto;
439
+ background-color: #f1f1f1;
440
+ border-radius: 3px;
441
+ text-decoration: none;
442
+ font-size: 14px;
443
+ font-weight: bold;
444
+ text-align: center;
445
+ z-index: 20;
446
+ opacity: 0;
447
+ pointer-events: none;
448
+ }
449
+ .navbar.classic .skip-to-content:focus-visible {
450
+ --native-outline-blue: #0000ff;
451
+ opacity: 1;
452
+ pointer-events: auto;
453
+ outline: var(--native-outline-blue) auto 2px;
454
+ outline-offset: 0px;
455
+ box-shadow: inset 0 0 0px 4px var(--primary-white);
456
+ }
457
+ .navbar.classic .no-link-style {
458
+ text-decoration: none;
459
+ color: inherit;
460
+ max-width: 200px;
461
+ }
462
+ .navbar.classic .hamburger-button {
463
+ background: none;
464
+ border: none;
465
+ cursor: pointer;
466
+ padding: 0;
467
+ margin: 0;
468
+ display: flex;
469
+ align-items: center;
470
+ }
471
+ .navbar.classic .hamburger-button svg {
472
+ cursor: pointer;
473
+ height: 24px;
474
+ width: 24px;
475
+ }
476
+ .navbar.beacon {
477
+ grid-area: navsidebar;
478
+ font: var(--font-regular, "Public Sans");
479
+ color: var(--nav-text-color, #2d2d2d);
480
+ font-weight: 400;
481
+ font-size: 14px;
482
+ line-height: 140%;
483
+ letter-spacing: 0.1px;
330
484
  transition: width 0.3s ease;
331
- width: 264px;
485
+ width: 64px;
486
+ height: 100%;
487
+ overflow-y: auto;
488
+ overflow-x: hidden;
489
+ scrollbar-width: none;
490
+ position: relative;
332
491
  }
333
- .navbar.expanded .navbar--content ul {
334
- width: 264px;
492
+ .navbar.beacon::-webkit-scrollbar {
493
+ display: none;
335
494
  }
336
- .navbar.expanded .navbar--header .header-actions {
495
+ .navbar.beacon a:focus-visible {
496
+ outline: var(--orange) auto 2px;
497
+ outline-offset: 0px;
498
+ box-shadow: inset 0 0 0px 4px var(--primary-white);
499
+ }
500
+ .navbar.beacon.expanded {
501
+ transition: width 0.3s ease;
337
502
  width: 264px;
338
503
  }
339
- .navbar .skip-to-content {
504
+ .navbar.beacon .navbar--wrapper {
505
+ display: grid;
506
+ grid-template-rows: 0fr auto 0fr;
507
+ grid-template-columns: minmax(0, 1fr);
508
+ background-color: var(--nav-background-color, #f7f7f7);
509
+ border-right: 1px solid #e9e9e9;
510
+ height: 100%;
511
+ overflow-y: auto;
512
+ overflow-x: hidden;
513
+ padding: 16px 16px 0px 16px;
514
+ }
515
+ .navbar.beacon .navbar--wrapper.fixed {
516
+ position: fixed;
517
+ top: 0;
518
+ left: 0;
519
+ bottom: 0;
520
+ height: unset;
521
+ overflow-y: unset;
522
+ z-index: 10;
523
+ }
524
+ .navbar.beacon .navbar--header {
525
+ padding-bottom: 24px;
526
+ }
527
+ .navbar.beacon .navbar--header .header-actions {
528
+ display: flex;
529
+ align-items: center;
530
+ justify-content: space-between;
531
+ box-sizing: border-box;
532
+ }
533
+ .navbar.beacon .navbar--header .header-actions.collapsed {
534
+ justify-content: center;
535
+ }
536
+ .navbar.beacon .navbar--logo {
537
+ display: flex;
538
+ align-items: center;
539
+ gap: 8px;
540
+ }
541
+ .navbar.beacon .navbar--logo.big-logo {
542
+ flex-direction: column;
543
+ align-items: flex-start;
544
+ }
545
+ .navbar.beacon .navbar--logo .brand-logo {
546
+ background-color: #fff;
547
+ outline: 1px solid #d3d3d3;
548
+ border-radius: 6px;
549
+ padding: 2px;
550
+ min-width: 28px;
551
+ min-height: 28px;
552
+ max-width: 28px;
553
+ max-height: 28px;
554
+ }
555
+ .navbar.beacon .navbar--logo .brand-logo img {
556
+ width: 100%;
557
+ height: 100%;
558
+ object-fit: cover;
559
+ aspect-ratio: 1/1;
560
+ object-position: top;
561
+ }
562
+ .navbar.beacon .navbar--logo .school-name {
563
+ font-size: 16px;
564
+ font-style: normal;
565
+ font-weight: 700;
566
+ overflow-wrap: break-word;
567
+ word-break: break-word;
568
+ }
569
+ .navbar.beacon .navbar--logo .school-tag {
570
+ font-size: 14px;
571
+ font-style: normal;
572
+ font-weight: 400;
573
+ overflow-wrap: break-word;
574
+ word-break: break-word;
575
+ }
576
+ .navbar.beacon .navbar--logo img {
577
+ display: inline;
578
+ max-height: 36px;
579
+ max-width: 180px;
580
+ }
581
+ .navbar.beacon .navbar--content {
582
+ display: flex;
583
+ flex-direction: column;
584
+ padding: 4px 0px;
585
+ min-width: 36px;
586
+ }
587
+ .navbar.beacon .navbar--content .navbar-applications {
588
+ display: flex;
589
+ flex-direction: column;
590
+ gap: 6px;
591
+ }
592
+ .navbar.beacon .navbar--content ul {
593
+ list-style: none;
594
+ padding: 0;
595
+ margin: 0;
596
+ }
597
+ .navbar.beacon .navbar--footer {
598
+ display: flex;
599
+ flex-direction: column;
600
+ }
601
+ .navbar.beacon .navbar--footer-logo {
602
+ padding: 8px 16px 16px 16px;
603
+ display: flex;
604
+ justify-content: center;
605
+ }
606
+ .navbar.beacon .navbar--footer-logo img {
607
+ height: 32px;
608
+ width: clamp(0px, 100%, 180px);
609
+ }
610
+ .navbar.beacon .skip-to-content {
340
611
  overflow: hidden;
341
612
  padding: 16px 24px 14px;
342
613
  position: absolute;
@@ -354,20 +625,21 @@ function lockSidebar() {
354
625
  opacity: 0;
355
626
  pointer-events: none;
356
627
  }
357
- .navbar .skip-to-content:focus-visible {
358
- --native-outline-blue: #0000FF;
628
+ .navbar.beacon .skip-to-content:focus-visible {
629
+ --native-outline-blue: #0000ff;
359
630
  opacity: 1;
360
631
  pointer-events: auto;
361
632
  outline: var(--native-outline-blue) auto 2px;
362
633
  outline-offset: 0px;
363
634
  box-shadow: inset 0 0 0px 4px var(--primary-white);
364
635
  }
365
- .navbar .no-link-style {
636
+ .navbar.beacon .no-link-style {
366
637
  text-decoration: none;
367
638
  color: inherit;
368
639
  max-width: 200px;
640
+ min-width: 200px;
369
641
  }
370
- .navbar .hamburger-button {
642
+ .navbar.beacon .hamburger-button {
371
643
  background: none;
372
644
  border: none;
373
645
  cursor: pointer;
@@ -375,10 +647,15 @@ function lockSidebar() {
375
647
  margin: 0;
376
648
  display: flex;
377
649
  align-items: center;
650
+ font-size: 16px;
651
+ min-height: 16px;
652
+ min-width: 16px;
653
+ max-height: 16px;
654
+ max-width: 16px;
378
655
  }
379
- .navbar .hamburger-button svg {
656
+ .navbar.beacon .hamburger-button svg {
380
657
  cursor: pointer;
381
- height: 24px;
382
- width: 24px;
658
+ height: 16px;
659
+ width: 16px;
383
660
  }
384
661
  </style>
@@ -1,4 +1,4 @@
1
- import type { IApplication, IUser } from "../../types/index.js";
1
+ import type { IApplication, IUser } from '../../types/index.js';
2
2
  interface ILogo {
3
3
  alt: string;
4
4
  src: string;
@@ -21,15 +21,15 @@ interface ISidebarProps {
21
21
  schoolWebsite: string;
22
22
  showCollapseButton?: boolean;
23
23
  }
24
- declare var __VLS_6: {}, __VLS_26: {}, __VLS_33: {}, __VLS_45: {};
24
+ declare var __VLS_6: {}, __VLS_41: {}, __VLS_48: {}, __VLS_60: {};
25
25
  type __VLS_Slots = {} & {
26
26
  logo?: (props: typeof __VLS_6) => any;
27
27
  } & {
28
- switcher?: (props: typeof __VLS_26) => any;
28
+ switcher?: (props: typeof __VLS_41) => any;
29
29
  } & {
30
- default?: (props: typeof __VLS_33) => any;
30
+ default?: (props: typeof __VLS_48) => any;
31
31
  } & {
32
- logo?: (props: typeof __VLS_45) => any;
32
+ logo?: (props: typeof __VLS_60) => any;
33
33
  };
34
34
  declare const __VLS_component: import("vue").DefineComponent<ISidebarProps, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
35
35
  "toggle-expand": (width: number) => any;