@brumaombra/ui-vintage 0.7.7 → 0.7.8
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
|
@@ -3,6 +3,7 @@ import { NuxtImg } from "#components";
|
|
|
3
3
|
import type { Component, HTMLAttributes } from "vue";
|
|
4
4
|
import { HugeiconsIcon } from "@hugeicons/vue";
|
|
5
5
|
import BackgroundGrid from "../background-grid/BackgroundGrid.vue";
|
|
6
|
+
import { ThemeSelector } from "../theme-selector";
|
|
6
7
|
import { Separator } from "../ui/separator";
|
|
7
8
|
import {
|
|
8
9
|
Sidebar,
|
|
@@ -151,8 +152,12 @@ const getSidebarItemLinkProps = (item: DashboardSidebarItem) => {
|
|
|
151
152
|
</SidebarContent>
|
|
152
153
|
|
|
153
154
|
<!-- Sidebar footer -->
|
|
154
|
-
<SidebarFooter
|
|
155
|
-
<slot name="sidebar-footer"
|
|
155
|
+
<SidebarFooter class="border-t border-sidebar-border">
|
|
156
|
+
<slot name="sidebar-footer">
|
|
157
|
+
<div class="flex items-center gap-2">
|
|
158
|
+
<ThemeSelector />
|
|
159
|
+
</div>
|
|
160
|
+
</slot>
|
|
156
161
|
</SidebarFooter>
|
|
157
162
|
</Sidebar>
|
|
158
163
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, onMounted, onUnmounted, ref } from 'vue';
|
|
3
3
|
import { useI18n } from 'vue-i18n';
|
|
4
|
-
import {
|
|
4
|
+
import { LaptopIcon, Moon01Icon, Sun01Icon, Tick02Icon } from '@hugeicons/core-free-icons';
|
|
5
5
|
import { HugeiconsIcon } from '@hugeicons/vue';
|
|
6
6
|
import { Button } from '../ui/button';
|
|
7
7
|
import { Command, CommandGroup, CommandItem, CommandList } from '../ui/command';
|
|
@@ -18,9 +18,9 @@ const getThemeIcon = (theme: string) => {
|
|
|
18
18
|
if (theme === 'light') {
|
|
19
19
|
return Sun01Icon;
|
|
20
20
|
} else if (theme === 'dark') {
|
|
21
|
-
return
|
|
21
|
+
return Moon01Icon;
|
|
22
22
|
} else {
|
|
23
|
-
return
|
|
23
|
+
return LaptopIcon;
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -112,7 +112,7 @@ onUnmounted(() => {
|
|
|
112
112
|
</PopoverTrigger>
|
|
113
113
|
|
|
114
114
|
<!-- Theme options -->
|
|
115
|
-
<PopoverContent side="bottom" align="end" :side-offset="8" class="w-44
|
|
115
|
+
<PopoverContent side="bottom" align="end" :side-offset="8" class="w-44 p-0!">
|
|
116
116
|
<Command :model-value="currentTheme">
|
|
117
117
|
<CommandList>
|
|
118
118
|
<CommandGroup :heading="t('uiVintage.theme.title')">
|
|
@@ -28,10 +28,10 @@ const toggleExpanded = () => {
|
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
30
|
<template>
|
|
31
|
-
<Card class="p-0! overflow-hidden"
|
|
31
|
+
<Card class="p-0! overflow-hidden">
|
|
32
32
|
<CardContent class="p-0! gap-0">
|
|
33
33
|
<!-- Header -->
|
|
34
|
-
<div class="flex items-center justify-between p-5 gap-4 text-left cursor-pointer">
|
|
34
|
+
<div class="flex items-center justify-between p-5 gap-4 text-left cursor-pointer" @click="toggleExpanded">
|
|
35
35
|
<div class="flex items-center gap-3 min-w-0">
|
|
36
36
|
<!-- Icon -->
|
|
37
37
|
<div v-if="props.icon" class="flex h-8 w-8 shrink-0 items-center justify-center rounded bg-(--bg-card-light) border border-(--border-light) dark:bg-(--bg-card-dark) dark:border-(--border-dark) md:h-10 md:w-10">
|
|
@@ -16,7 +16,7 @@ const forwardedProps = useForwardProps(delegatedProps)
|
|
|
16
16
|
<TabsTrigger
|
|
17
17
|
data-slot="tabs-trigger"
|
|
18
18
|
:class="cn(
|
|
19
|
-
'text-muted-foreground hover:text-foreground focus-visible:outline-none inline-flex min-h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded
|
|
19
|
+
'text-muted-foreground hover:text-foreground focus-visible:outline-none inline-flex min-h-9 flex-1 cursor-pointer items-center justify-center gap-1.5 rounded border border-transparent bg-transparent px-4 py-2 text-sm font-semibold whitespace-nowrap transition-colors duration-300 ease-in-out disabled:pointer-events-none disabled:opacity-50 data-[state=active]:cursor-pointer data-[state=active]:border-(--button-primary-light) data-[state=active]:bg-gray-50 data-[state=active]:text-(--button-primary-light) data-[state=active]:font-semibold data-[state=active]:outline-1 data-[state=active]:outline-border data-[state=active]:outline-offset-0 data-[state=active]:shadow-none dark:data-[state=active]:border-(--button-primary-dark) dark:data-[state=active]:bg-(--bg-card-dark) dark:data-[state=active]:text-(--button-primary-dark) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\'size-\'])]:size-4',
|
|
20
20
|
props.class,
|
|
21
21
|
)"
|
|
22
22
|
v-bind="forwardedProps"
|