diff --git a/apps/cs/package.json b/apps/cs/package.json index 742526fb5..261bfdb48 100644 --- a/apps/cs/package.json +++ b/apps/cs/package.json @@ -12,7 +12,9 @@ "@common/assets": "workspace:*", "@common/components": "workspace:*", "@tanstack/react-table": "^8.21.2", + "chart.js": "^4.4.8", "next": "15.1.7", + "react-chartjs-2": "^5.3.0", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { diff --git a/apps/cs/tsconfig.json b/apps/cs/tsconfig.json index 3a9bab950..753fd0927 100644 --- a/apps/cs/tsconfig.json +++ b/apps/cs/tsconfig.json @@ -25,6 +25,7 @@ "baseUrl": "./src", "paths": { "@/*": ["./*"], + "@common/components/*": ["../../../packages/common/components/src/*"], "@common/components": ["../../../packages/common/components/src"] } }, diff --git a/packages/common/components/src/ui/bar-chart/chart.stories.tsx b/packages/common/components/src/ui/bar-chart/chart.stories.tsx index efeb0b745..60bd0906f 100644 --- a/packages/common/components/src/ui/bar-chart/chart.stories.tsx +++ b/packages/common/components/src/ui/bar-chart/chart.stories.tsx @@ -17,8 +17,82 @@ import { getCssVariableValue } from "../../lib/utils"; const meta: Meta = { title: "Chart/Bar", component: Bar, + parameters: { + docs: { + description: { + component: ` +- [Docs](https://react-chartjs-2.js.org/) + `, + }, + source: { + code: ` +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, + type ChartOptions, +} from "chart.js"; +import { Bar } from "react-chartjs-2"; +import { fakerKO as faker } from "@faker-js/faker"; + +ChartJS.register( + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +); + +const options: ChartOptions<"bar"> = { + responsive: true, + plugins: { + legend: { + display: false, + }, + title: { + display: true, + text: "Chart.js Bar Chart", + }, + }, }; +const labels = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", +]; + +const data = { + labels, + datasets: [ + { + data: labels.map(() => faker.number.int({ min: 10, max: 100 })), + backgroundColor: labels.map((_, i) => + getCssVariableValue(\`--chart-\${i + 1}\`), + ), + }, + ], +}; + +return ( +
+ +
+); + `, + }, + }, + }, +}; export default meta; type Story = StoryObj; @@ -37,7 +111,7 @@ export const Default: Story = { responsive: true, plugins: { legend: { - position: "top", + display: false, }, title: { display: true, @@ -60,7 +134,6 @@ export const Default: Story = { labels, datasets: [ { - label: "Dataset 1", data: labels.map(() => faker.number.int({ min: 10, max: 100 })), backgroundColor: labels.map((_, i) => getCssVariableValue(`--chart-${i + 1}`), diff --git a/packages/common/components/src/ui/data-table/data-table.stories.tsx b/packages/common/components/src/ui/data-table/data-table.stories.tsx index 62237cc07..d1a4c2142 100644 --- a/packages/common/components/src/ui/data-table/data-table.stories.tsx +++ b/packages/common/components/src/ui/data-table/data-table.stories.tsx @@ -14,7 +14,7 @@ const meta: Meta = { description: { component: ` - [Docs](https://tanstack.com/table/v8/docs/introduction) -`, + `, }, source: { code: ` diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 155b112bb..eb3152087 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,9 +42,15 @@ importers: '@tanstack/react-table': specifier: ^8.21.2 version: 8.21.2(react-dom@18.3.1)(react@18.3.1) + chart.js: + specifier: ^4.4.8 + version: 4.4.8 next: specifier: 15.1.7 version: 15.1.7(react-dom@18.3.1)(react@18.3.1) + react-chartjs-2: + specifier: ^5.3.0 + version: 5.3.0(chart.js@4.4.8)(react@18.3.1) tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.17)