From 7a03a4caab13e8e157eafedff1f0c790f7e18ac8 Mon Sep 17 00:00:00 2001 From: Kristian Arvidsson <124673544+arvidsson-geins@users.noreply.github.com> Date: Mon, 8 Jul 2024 05:47:07 +0200 Subject: [PATCH] fix: add chartRef to solve gradiant in same color issue (#636) --- .../src/lib/registry/default/ui/chart-area/AreaChart.vue | 7 +++++-- .../src/lib/registry/new-york/ui/chart-area/AreaChart.vue | 7 +++++-- .../www/src/public/registry/styles/default/chart-area.json | 2 +- apps/www/src/public/registry/styles/default/form.json | 2 +- .../src/public/registry/styles/new-york/chart-area.json | 2 +- apps/www/src/public/registry/styles/new-york/form.json | 2 +- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/apps/www/src/lib/registry/default/ui/chart-area/AreaChart.vue b/apps/www/src/lib/registry/default/ui/chart-area/AreaChart.vue index 992260f9..577a707b 100644 --- a/apps/www/src/lib/registry/default/ui/chart-area/AreaChart.vue +++ b/apps/www/src/lib/registry/default/ui/chart-area/AreaChart.vue @@ -4,6 +4,7 @@ import { VisArea, VisAxis, VisLine, VisXYContainer } from '@unovis/vue' import { Area, Axis, Line } from '@unovis/ts' import { type Component, computed, ref } from 'vue' import { useMounted } from '@vueuse/core' +import { useId } from 'radix-vue' import type { BaseChartProps } from '.' import { ChartCrosshair, ChartLegend, defaultColors } from '@/lib/registry/default/ui/chart' import { cn } from '@/lib/utils' @@ -41,6 +42,8 @@ const emits = defineEmits<{ type KeyOfT = Extract type Data = typeof props.data[number] +const chartRef = useId() + const index = computed(() => props.index as KeyOfT) const colors = computed(() => props.colors?.length ? props.colors : defaultColors(props.categories.length)) @@ -64,7 +67,7 @@ function handleLegendItemClick(d: BulletLegendItemInterface, i: number) { - +
\n \n\n \n \n \n \n \n \n \n \n \n\n \n\n \n\n \n\n data[v]?.[index])\"\n :grid-line=\"false\"\n :tick-line=\"false\"\n tick-text-color=\"hsl(var(--vis-text-color))\"\n />\n \n\n \n \n
\n\n" + "content": "\n\n\n" }, { "name": "index.ts", diff --git a/apps/www/src/public/registry/styles/default/form.json b/apps/www/src/public/registry/styles/default/form.json index 95bd829d..03984f25 100644 --- a/apps/www/src/public/registry/styles/default/form.json +++ b/apps/www/src/public/registry/styles/default/form.json @@ -40,7 +40,7 @@ }, { "name": "useFormField.ts", - "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n\n const fieldState = {\n valid: useIsFieldValid(),\n isDirty: useIsFieldDirty(),\n isTouched: useIsFieldTouched(),\n error: useFieldError(),\n }\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n" + "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n const fieldState = {\n valid: useIsFieldValid(name),\n isDirty: useIsFieldDirty(name),\n isTouched: useIsFieldTouched(name),\n error: useFieldError(name),\n }\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n" } ], "type": "components:ui" diff --git a/apps/www/src/public/registry/styles/new-york/chart-area.json b/apps/www/src/public/registry/styles/new-york/chart-area.json index 1168aa72..9d82602a 100644 --- a/apps/www/src/public/registry/styles/new-york/chart-area.json +++ b/apps/www/src/public/registry/styles/new-york/chart-area.json @@ -12,7 +12,7 @@ "files": [ { "name": "AreaChart.vue", - "content": "\n\n\n" + "content": "\n\n\n" }, { "name": "index.ts", diff --git a/apps/www/src/public/registry/styles/new-york/form.json b/apps/www/src/public/registry/styles/new-york/form.json index 59f5d278..31803b2c 100644 --- a/apps/www/src/public/registry/styles/new-york/form.json +++ b/apps/www/src/public/registry/styles/new-york/form.json @@ -40,7 +40,7 @@ }, { "name": "useFormField.ts", - "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n const fieldState = {\n valid: useIsFieldValid(),\n isDirty: useIsFieldDirty(),\n isTouched: useIsFieldTouched(),\n error: useFieldError(),\n }\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n" + "content": "import { FieldContextKey, useFieldError, useIsFieldDirty, useIsFieldTouched, useIsFieldValid } from 'vee-validate'\nimport { inject } from 'vue'\nimport { FORM_ITEM_INJECTION_KEY } from './injectionKeys'\n\nexport function useFormField() {\n const fieldContext = inject(FieldContextKey)\n const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY)\n\n if (!fieldContext)\n throw new Error('useFormField should be used within ')\n\n const { name } = fieldContext\n const id = fieldItemContext\n\n const fieldState = {\n valid: useIsFieldValid(name),\n isDirty: useIsFieldDirty(name),\n isTouched: useIsFieldTouched(name),\n error: useFieldError(name),\n }\n\n return {\n id,\n name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n" } ], "type": "components:ui"