- Fixed import error for `dnd-kit-vue` by installing the package. - Moved user navigation from sidebar to header, adding a dropdown for account options. - Added homepage and notification icons to the header. - Implemented sticky header functionality during scroll. - Grouped sidebar menu items under a "Master" label for better organization. - Updated relevant components and package.json to include new dependencies.
43 lines
877 B
Vue
43 lines
877 B
Vue
<script setup lang="ts">
|
|
import type { HTMLAttributes } from "vue"
|
|
import { Primitive } from "reka-ui"
|
|
import { computed } from "vue"
|
|
import { THEMES, useChart } from "."
|
|
|
|
defineProps<{
|
|
id?: HTMLAttributes["id"]
|
|
}>()
|
|
|
|
const { config } = useChart()
|
|
|
|
const colorConfig = computed(() => {
|
|
return Object.entries(config.value).filter(
|
|
([, config]) => config.theme || config.color,
|
|
)
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<Primitive
|
|
v-if="colorConfig.length"
|
|
as="style"
|
|
>
|
|
{{ Object.entries(THEMES)
|
|
.map(
|
|
([theme, prefix]) => `
|
|
${prefix} [data-chart=${id}] {
|
|
${colorConfig
|
|
.map(([key, itemConfig]) => {
|
|
const color
|
|
= itemConfig.theme?.[theme as keyof typeof itemConfig.theme]
|
|
|| itemConfig.color
|
|
return color ? ` --color-${key}: ${color};` : null
|
|
})
|
|
.join("\n")}
|
|
}
|
|
`,
|
|
)
|
|
.join("\n") }}
|
|
</Primitive>
|
|
</template>
|