@kjaniec-dev/ui-mcp 0.9.2 → 1.0.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.
- package/data/components.json +1271 -42
- package/data/tokens.json +242 -102
- package/dist/index.js +74 -51
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/data/components.json
CHANGED
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
"variant": "info"
|
|
144
144
|
}
|
|
145
145
|
},
|
|
146
|
-
"usageSnippet": "<Alert variant=\"info\" icon={InfoIcon} title=\"Information\"
|
|
146
|
+
"usageSnippet": "<Alert variant=\"info\" icon={InfoIcon} title=\"Information\">\n A short informational message for the user.\n</Alert>"
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
149
|
"name": "Spinner",
|
|
@@ -275,7 +275,7 @@
|
|
|
275
275
|
}
|
|
276
276
|
],
|
|
277
277
|
"cva": null,
|
|
278
|
-
"usageSnippet": "<ProgressRing value={75} size=\"sm\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Small (sm)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"md\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Medium (md)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"lg\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Large (lg)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"xl\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Extra Large (xl)</p>\n </div>\n </div>\n ),\n};\n\nexport const Tones: Story = {\n render: () => (\n <div style={{ display: \"flex\", gap: 20, alignItems: \"center\", flexWrap: \"wrap\" }}>\n <ProgressRing value={60} tone=\"primary\" showValue />\n <ProgressRing value={60} tone=\"secondary\" showValue />\n <ProgressRing value={60} tone=\"success\" showValue />\n <ProgressRing value={60} tone=\"warning\" showValue />\n <ProgressRing value={60} tone=\"danger\" showValue />\n <ProgressRing value={60} tone=\"info\" showValue />\n </div>\n ),\n};\n\nexport const CustomFormatting: Story = {\n render: () => (\n <div style={{ display: \"flex\", gap: 24, alignItems: \"center\", flexWrap: \"wrap\" }}>\n <ProgressRing\n value={3}\n max={5}\n size=\"lg\"\n tone=\"success\"\n formatValue={(val) =>
|
|
278
|
+
"usageSnippet": "<ProgressRing value={75} size=\"sm\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Small (sm)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"md\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Medium (md)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"lg\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Large (lg)</p>\n </div>\n <div style={{ textAlign: \"center\" }}>\n <ProgressRing value={75} size=\"xl\" showValue />\n <p style={{ marginTop: 8, fontSize: 12 }}>Extra Large (xl)</p>\n </div>\n </div>\n ),\n};\n\nexport const Tones: Story = {\n render: () => (\n <div style={{ display: \"flex\", gap: 20, alignItems: \"center\", flexWrap: \"wrap\" }}>\n <ProgressRing value={60} tone=\"primary\" showValue />\n <ProgressRing value={60} tone=\"secondary\" showValue />\n <ProgressRing value={60} tone=\"success\" showValue />\n <ProgressRing value={60} tone=\"warning\" showValue />\n <ProgressRing value={60} tone=\"danger\" showValue />\n <ProgressRing value={60} tone=\"info\" showValue />\n </div>\n ),\n};\n\nexport const CustomFormatting: Story = {\n render: () => (\n <div style={{ display: \"flex\", gap: 24, alignItems: \"center\", flexWrap: \"wrap\" }}>\n <ProgressRing\n value={3}\n max={5}\n size=\"lg\"\n tone=\"success\"\n formatValue={(val) => <span style={{ fontSize: 14, fontWeight: \"bold\" }}>{val} / 5</span>}\n />\n <ProgressRing\n value={80}\n size=\"lg\"\n tone=\"info\"\n formatValue={(val) => (\n <div style={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\" }}>\n <span style={{ fontSize: 16, fontWeight: \"bold\" }}>{val}GB</span>\n <span style={{ fontSize: 10, opacity: 0.7 }}>of 100GB</span>\n </div>\n )}\n />\n <ProgressRing value={100} size=\"lg\" tone=\"success\">\n <span style={{ fontSize: 20 }}>✓</span>\n </ProgressRing>"
|
|
279
279
|
},
|
|
280
280
|
{
|
|
281
281
|
"name": "ProgressRingField",
|
|
@@ -669,7 +669,7 @@
|
|
|
669
669
|
}
|
|
670
670
|
],
|
|
671
671
|
"cva": null,
|
|
672
|
-
"usageSnippet": "<ToggleGroup
|
|
672
|
+
"usageSnippet": "<ToggleGroup\n options={options}\n value={value}\n onChange={setValue}\n aria-label=\"Text formatting\"\n/>"
|
|
673
673
|
},
|
|
674
674
|
{
|
|
675
675
|
"name": "Card",
|
|
@@ -699,7 +699,7 @@
|
|
|
699
699
|
}
|
|
700
700
|
],
|
|
701
701
|
"cva": null,
|
|
702
|
-
"usageSnippet": "<Card>\n <CardHeader>\n <Badge variant=\"primary\" className=\"self-start\"
|
|
702
|
+
"usageSnippet": "<Card>\n <CardHeader>\n <Badge variant=\"primary\" className=\"self-start\">\n Pro\n </Badge>\n <CardTitle>Team Workspace</CardTitle>\n <CardDescription>\n Unlimited projects, roles and activity history for your whole team.\n </CardDescription>\n </CardHeader>\n <CardFooter>\n <Button size=\"sm\">Choose plan</Button>\n <Button size=\"sm\" variant=\"ghost\">\n Details\n </Button>\n </CardFooter>\n</Card>"
|
|
703
703
|
},
|
|
704
704
|
{
|
|
705
705
|
"name": "CardHeader",
|
|
@@ -707,7 +707,7 @@
|
|
|
707
707
|
"description": "React component CardHeader.",
|
|
708
708
|
"props": [],
|
|
709
709
|
"cva": null,
|
|
710
|
-
"usageSnippet": "<CardHeader>\n <Badge variant=\"primary\" className=\"self-start\"
|
|
710
|
+
"usageSnippet": "<CardHeader>\n <Badge variant=\"primary\" className=\"self-start\">\n Pro\n </Badge>\n <CardTitle>Team Workspace</CardTitle>\n <CardDescription>\n Unlimited projects, roles and activity history for your whole team.\n </CardDescription>\n</CardHeader>"
|
|
711
711
|
},
|
|
712
712
|
{
|
|
713
713
|
"name": "CardTitle",
|
|
@@ -723,7 +723,7 @@
|
|
|
723
723
|
"description": "React component CardDescription.",
|
|
724
724
|
"props": [],
|
|
725
725
|
"cva": null,
|
|
726
|
-
"usageSnippet": "<CardDescription
|
|
726
|
+
"usageSnippet": "<CardDescription>\n Unlimited projects, roles and activity history for your whole team.\n</CardDescription>"
|
|
727
727
|
},
|
|
728
728
|
{
|
|
729
729
|
"name": "CardContent",
|
|
@@ -739,7 +739,7 @@
|
|
|
739
739
|
"description": "React component CardFooter.",
|
|
740
740
|
"props": [],
|
|
741
741
|
"cva": null,
|
|
742
|
-
"usageSnippet": "<CardFooter>\n <Button size=\"sm\">Choose plan</Button>\n <Button size=\"sm\" variant=\"ghost\"
|
|
742
|
+
"usageSnippet": "<CardFooter>\n <Button size=\"sm\">Choose plan</Button>\n <Button size=\"sm\" variant=\"ghost\">\n Details\n </Button>\n</CardFooter>"
|
|
743
743
|
},
|
|
744
744
|
{
|
|
745
745
|
"name": "Stat",
|
|
@@ -909,7 +909,7 @@
|
|
|
909
909
|
}
|
|
910
910
|
],
|
|
911
911
|
"cva": null,
|
|
912
|
-
"usageSnippet": "<Tabs defaultValue=\"overview\">\n <TabsList>\n <TabsTrigger value=\"overview\">Overview</TabsTrigger>\n <TabsTrigger value=\"activity\">Activity</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"overview\">A dashboard with key metrics and quick actions.</TabsContent>\n <TabsContent value=\"activity\">An event timeline: sign-ins, edits and comments.</TabsContent>\n <TabsContent value=\"settings\"
|
|
912
|
+
"usageSnippet": "<Tabs defaultValue=\"overview\">\n <TabsList>\n <TabsTrigger value=\"overview\">Overview</TabsTrigger>\n <TabsTrigger value=\"activity\">Activity</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"overview\">A dashboard with key metrics and quick actions.</TabsContent>\n <TabsContent value=\"activity\">An event timeline: sign-ins, edits and comments.</TabsContent>\n <TabsContent value=\"settings\">\n Workspace preferences, permissions and integrations.\n </TabsContent>\n</Tabs>"
|
|
913
913
|
},
|
|
914
914
|
{
|
|
915
915
|
"name": "TabsList",
|
|
@@ -972,7 +972,7 @@
|
|
|
972
972
|
}
|
|
973
973
|
],
|
|
974
974
|
"cva": null,
|
|
975
|
-
"usageSnippet": "<Accordion type=\"single\" defaultValue={[\"a\"]}>\n <AccordionItem value=\"a\"
|
|
975
|
+
"usageSnippet": "<Accordion type=\"single\" defaultValue={[\"a\"]}>\n <AccordionItem value=\"a\">\n <AccordionTrigger>How does billing work?</AccordionTrigger>\n <AccordionContent>\n Monthly or annually — the annual plan includes two months free.\n </AccordionContent>\n </AccordionItem>\n <AccordionItem value=\"b\">\n <AccordionTrigger>Can I change my plan later?</AccordionTrigger>\n <AccordionContent>Yes, at any time. The difference is prorated.</AccordionContent>\n </AccordionItem>\n <AccordionItem value=\"c\">\n <AccordionTrigger>What payment methods are supported?</AccordionTrigger>\n <AccordionContent>Visa, Mastercard and Apple Pay.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
976
976
|
},
|
|
977
977
|
{
|
|
978
978
|
"name": "AccordionItem",
|
|
@@ -988,7 +988,7 @@
|
|
|
988
988
|
}
|
|
989
989
|
],
|
|
990
990
|
"cva": null,
|
|
991
|
-
"usageSnippet": "<AccordionItem value=\"a\"
|
|
991
|
+
"usageSnippet": "<AccordionItem value=\"a\">\n <AccordionTrigger>How does billing work?</AccordionTrigger>\n <AccordionContent>\n Monthly or annually — the annual plan includes two months free.\n </AccordionContent>\n</AccordionItem>"
|
|
992
992
|
},
|
|
993
993
|
{
|
|
994
994
|
"name": "AccordionTrigger",
|
|
@@ -1004,7 +1004,7 @@
|
|
|
1004
1004
|
"description": "React component AccordionContent.",
|
|
1005
1005
|
"props": [],
|
|
1006
1006
|
"cva": null,
|
|
1007
|
-
"usageSnippet": "<AccordionContent
|
|
1007
|
+
"usageSnippet": "<AccordionContent>\n Monthly or annually — the annual plan includes two months free.\n</AccordionContent>"
|
|
1008
1008
|
},
|
|
1009
1009
|
{
|
|
1010
1010
|
"name": "DropdownMenu",
|
|
@@ -1205,7 +1205,7 @@
|
|
|
1205
1205
|
}
|
|
1206
1206
|
],
|
|
1207
1207
|
"cva": null,
|
|
1208
|
-
"usageSnippet": "<Table>\n <TableHeader>\n <TableRow>\n <TableHead>User</TableHead>\n <TableHead>Role</TableHead>\n <TableHead>Status</TableHead>\n <TableHead numeric>Projects</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell
|
|
1208
|
+
"usageSnippet": "<Table>\n <TableHeader>\n <TableRow>\n <TableHead>User</TableHead>\n <TableHead>Role</TableHead>\n <TableHead>Status</TableHead>\n <TableHead numeric>Projects</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"primary\">\n AK\n </Avatar>\n Anna Kowalski\n </div>\n </TableCell>\n <TableCell>Administrator</TableCell>\n <TableCell>\n <Badge variant=\"success\" dot>\n Active\n </Badge>\n </TableCell>\n <TableCell numeric>24</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\">MR</Avatar>Michael Rutkowski\n </div>\n </TableCell>\n <TableCell>Editor</TableCell>\n <TableCell>\n <Badge variant=\"warning\" dot>\n Invited\n </Badge>\n </TableCell>\n <TableCell numeric>12</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"info\">\n JN\n </Avatar>\n Julia Nowak\n </div>\n </TableCell>\n <TableCell>Viewer</TableCell>\n <TableCell>\n <Badge>Inactive</Badge>\n </TableCell>\n <TableCell numeric>3</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
1209
1209
|
},
|
|
1210
1210
|
{
|
|
1211
1211
|
"name": "TableWrap",
|
|
@@ -1213,7 +1213,7 @@
|
|
|
1213
1213
|
"description": "Rounded, bordered wrapper around a <Table>.",
|
|
1214
1214
|
"props": [],
|
|
1215
1215
|
"cva": null,
|
|
1216
|
-
"usageSnippet": "<TableWrap>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>User</TableHead>\n <TableHead>Role</TableHead>\n <TableHead>Status</TableHead>\n <TableHead numeric>Projects</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell
|
|
1216
|
+
"usageSnippet": "<TableWrap>\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>User</TableHead>\n <TableHead>Role</TableHead>\n <TableHead>Status</TableHead>\n <TableHead numeric>Projects</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"primary\">\n AK\n </Avatar>\n Anna Kowalski\n </div>\n </TableCell>\n <TableCell>Administrator</TableCell>\n <TableCell>\n <Badge variant=\"success\" dot>\n Active\n </Badge>\n </TableCell>\n <TableCell numeric>24</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\">MR</Avatar>Michael Rutkowski\n </div>\n </TableCell>\n <TableCell>Editor</TableCell>\n <TableCell>\n <Badge variant=\"warning\" dot>\n Invited\n </Badge>\n </TableCell>\n <TableCell numeric>12</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"info\">\n JN\n </Avatar>\n Julia Nowak\n </div>\n </TableCell>\n <TableCell>Viewer</TableCell>\n <TableCell>\n <Badge>Inactive</Badge>\n </TableCell>\n <TableCell numeric>3</TableCell>\n </TableRow>\n </TableBody>\n </Table>\n</TableWrap>"
|
|
1217
1217
|
},
|
|
1218
1218
|
{
|
|
1219
1219
|
"name": "TableHeader",
|
|
@@ -1229,7 +1229,7 @@
|
|
|
1229
1229
|
"description": "React component TableBody.",
|
|
1230
1230
|
"props": [],
|
|
1231
1231
|
"cva": null,
|
|
1232
|
-
"usageSnippet": "<TableBody>\n <TableRow>\n <TableCell
|
|
1232
|
+
"usageSnippet": "<TableBody>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"primary\">\n AK\n </Avatar>\n Anna Kowalski\n </div>\n </TableCell>\n <TableCell>Administrator</TableCell>\n <TableCell>\n <Badge variant=\"success\" dot>\n Active\n </Badge>\n </TableCell>\n <TableCell numeric>24</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\">MR</Avatar>Michael Rutkowski\n </div>\n </TableCell>\n <TableCell>Editor</TableCell>\n <TableCell>\n <Badge variant=\"warning\" dot>\n Invited\n </Badge>\n </TableCell>\n <TableCell numeric>12</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"info\">\n JN\n </Avatar>\n Julia Nowak\n </div>\n </TableCell>\n <TableCell>Viewer</TableCell>\n <TableCell>\n <Badge>Inactive</Badge>\n </TableCell>\n <TableCell numeric>3</TableCell>\n </TableRow>\n</TableBody>"
|
|
1233
1233
|
},
|
|
1234
1234
|
{
|
|
1235
1235
|
"name": "TableRow",
|
|
@@ -1261,7 +1261,7 @@
|
|
|
1261
1261
|
}
|
|
1262
1262
|
],
|
|
1263
1263
|
"cva": null,
|
|
1264
|
-
"usageSnippet": "<TableCell
|
|
1264
|
+
"usageSnippet": "<TableCell>\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 10 }}>\n <Avatar size=\"sm\" tone=\"primary\">\n AK\n </Avatar>\n Anna Kowalski\n </div>\n</TableCell>"
|
|
1265
1265
|
},
|
|
1266
1266
|
{
|
|
1267
1267
|
"name": "Tooltip",
|
|
@@ -1342,7 +1342,7 @@
|
|
|
1342
1342
|
}
|
|
1343
1343
|
],
|
|
1344
1344
|
"cva": null,
|
|
1345
|
-
"usageSnippet": "<Modal open={open} onClose={() => setOpen(false)}>\n <ModalTitle>Delete project “Q3 Launch”?</ModalTitle>\n <ModalDescription
|
|
1345
|
+
"usageSnippet": "<Modal open={open} onClose={() => setOpen(false)}>\n <ModalTitle>Delete project “Q3 Launch”?</ModalTitle>\n <ModalDescription>\n This action cannot be undone. All files and activity history will be permanently\n deleted.\n </ModalDescription>\n <ModalActions>\n <Button variant=\"ghost\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button variant=\"danger\" onClick={() => setOpen(false)}>\n Delete project\n </Button>\n </ModalActions>\n</Modal>"
|
|
1346
1346
|
},
|
|
1347
1347
|
{
|
|
1348
1348
|
"name": "ModalTitle",
|
|
@@ -1358,7 +1358,7 @@
|
|
|
1358
1358
|
"description": "React component ModalDescription.",
|
|
1359
1359
|
"props": [],
|
|
1360
1360
|
"cva": null,
|
|
1361
|
-
"usageSnippet": "<ModalDescription
|
|
1361
|
+
"usageSnippet": "<ModalDescription>\n This action cannot be undone. All files and activity history will be permanently\n deleted.\n</ModalDescription>"
|
|
1362
1362
|
},
|
|
1363
1363
|
{
|
|
1364
1364
|
"name": "ModalActions",
|
|
@@ -1366,7 +1366,7 @@
|
|
|
1366
1366
|
"description": "React component ModalActions.",
|
|
1367
1367
|
"props": [],
|
|
1368
1368
|
"cva": null,
|
|
1369
|
-
"usageSnippet": "<ModalActions>\n <Button variant=\"ghost\" onClick={() => setOpen(false)}
|
|
1369
|
+
"usageSnippet": "<ModalActions>\n <Button variant=\"ghost\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button variant=\"danger\" onClick={() => setOpen(false)}>\n Delete project\n </Button>\n</ModalActions>"
|
|
1370
1370
|
},
|
|
1371
1371
|
{
|
|
1372
1372
|
"name": "ToastProvider",
|
|
@@ -1773,6 +1773,13 @@
|
|
|
1773
1773
|
"defaultValue": "\"rectangular\"",
|
|
1774
1774
|
"description": ""
|
|
1775
1775
|
},
|
|
1776
|
+
{
|
|
1777
|
+
"name": "animation",
|
|
1778
|
+
"type": "\"shimmer\" | \"pulse\" | \"none\"",
|
|
1779
|
+
"optional": true,
|
|
1780
|
+
"defaultValue": "\"shimmer\"",
|
|
1781
|
+
"description": ""
|
|
1782
|
+
},
|
|
1776
1783
|
{
|
|
1777
1784
|
"name": "width",
|
|
1778
1785
|
"type": "string | number",
|
|
@@ -1847,7 +1854,7 @@
|
|
|
1847
1854
|
}
|
|
1848
1855
|
],
|
|
1849
1856
|
"cva": null,
|
|
1850
|
-
"usageSnippet": "<DashboardShell\n sidebar={\n <div className=\"p-6 flex flex-col gap-6 h-full bg-subtle\">\n <div className=\"font-bold text-lg tracking-tight text-primary\">KJ Product Kit</div>\n <nav className=\"flex flex-col gap-2\">\n <a
|
|
1857
|
+
"usageSnippet": "<DashboardShell\n sidebar={\n <div className=\"p-6 flex flex-col gap-6 h-full bg-subtle\">\n <div className=\"font-bold text-lg tracking-tight text-primary\">KJ Product Kit</div>\n <nav className=\"flex flex-col gap-2\">\n <a\n href=\"#\"\n className=\"text-sm font-medium text-foreground hover:text-primary transition-colors\"\n >\n Dashboard\n </a>\n <a\n href=\"#\"\n className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\"\n >\n Projects\n </a>\n <a\n href=\"#\"\n className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\"\n >\n Invoices\n </a>\n <a\n href=\"#\"\n className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\"\n >\n Settings\n </a>\n </nav>\n </div>\n }\n topbar={\n <div className=\"w-full flex items-center justify-between\">\n <span className=\"text-sm font-medium text-muted-foreground\">Workspace / Personal</span>\n <Button size=\"sm\" variant=\"ghost\">\n Profile\n </Button>\n </div>\n }\n>\n <PageHeader\n eyebrow=\"B2B SaaS\"\n title=\"Dashboard Shell\"\n description=\"The shell structure renders a responsive frame container with a sticky sidebar, topbar, and main canvas.\"\n actions={<Button size=\"sm\">New Project</Button>}\n />\n <div className=\"border border-dashed border-border rounded-kj-lg h-96 grid place-items-center bg-surface\">\n <span className=\"text-sm text-muted-foreground\">Main Content Canvas Area</span>\n </div>\n</DashboardShell>"
|
|
1851
1858
|
},
|
|
1852
1859
|
{
|
|
1853
1860
|
"name": "SettingsLayout",
|
|
@@ -1884,7 +1891,7 @@
|
|
|
1884
1891
|
}
|
|
1885
1892
|
],
|
|
1886
1893
|
"cva": null,
|
|
1887
|
-
"usageSnippet": "<SettingsLayout\n title=\"Profile Settings\"\n description=\"Customize how your profile appears to other members.\"\n sidebar={\n <div className=\"flex flex-row lg:flex-col gap-1 w-full\">\n <Button variant=\"ghost\" size=\"sm\" className=\"justify-start bg-primary/10 text-primary\"
|
|
1894
|
+
"usageSnippet": "<SettingsLayout\n title=\"Profile Settings\"\n description=\"Customize how your profile appears to other members.\"\n sidebar={\n <div className=\"flex flex-row lg:flex-col gap-1 w-full\">\n <Button variant=\"ghost\" size=\"sm\" className=\"justify-start bg-primary/10 text-primary\">\n General\n </Button>\n <Button variant=\"ghost\" size=\"sm\" className=\"justify-start text-muted-foreground\">\n Team\n </Button>\n <Button variant=\"ghost\" size=\"sm\" className=\"justify-start text-muted-foreground\">\n Billing\n </Button>\n </div>\n }\n>\n <Card className=\"p-6 space-y-4\">\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">\n <TextField label=\"First Name\" defaultValue=\"John\" />\n <TextField label=\"Last Name\" defaultValue=\"Doe\" />\n </div>\n <TextField label=\"Email Address\" defaultValue=\"john.doe@gmail.com\" />\n <div className=\"flex justify-end pt-2\">\n <Button size=\"sm\">Save profile</Button>\n </div>\n </Card>\n</SettingsLayout>"
|
|
1888
1895
|
},
|
|
1889
1896
|
{
|
|
1890
1897
|
"name": "DetailPageLayout",
|
|
@@ -1949,7 +1956,7 @@
|
|
|
1949
1956
|
}
|
|
1950
1957
|
],
|
|
1951
1958
|
"cva": null,
|
|
1952
|
-
"usageSnippet": "<DetailPageLayout\n title=\"Transaction #TRN-9022\"\n description=\"Captured via Stripe checkout flow.\"\n backLabel=\"Back to payments\"\n onBackClick={() => alert(\"Back\")}\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\"
|
|
1959
|
+
"usageSnippet": "<DetailPageLayout\n title=\"Transaction #TRN-9022\"\n description=\"Captured via Stripe checkout flow.\"\n backLabel=\"Back to payments\"\n onBackClick={() => alert(\"Back\")}\n actions={\n <>\n <Button variant=\"outline\" size=\"sm\">\n Refund\n </Button>\n <Button size=\"sm\">Receipt</Button>\n </>\n }\n aside={\n <div className=\"space-y-4 text-sm\">\n <h4 className=\"font-bold\">Payment Details</h4>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Status</span>\n <Badge variant=\"success\">Paid</Badge>\n </div>\n <div className=\"flex justify-between\">\n <span className=\"text-muted-foreground\">Amount</span>\n <span className=\"font-bold font-mono\">$1,450.00</span>\n </div>\n </div>\n }\n>\n <Card className=\"p-6\">\n <h3 className=\"text-base font-bold mb-3\">Billing Address</h3>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">\n John Doe\n <br />\n ul. Marszałkowska 10/24\n <br />\n 00-001 Warszawa, Poland\n </p>\n </Card>\n</DetailPageLayout>"
|
|
1953
1960
|
},
|
|
1954
1961
|
{
|
|
1955
1962
|
"name": "TableToolbar",
|
|
@@ -2123,7 +2130,7 @@
|
|
|
2123
2130
|
}
|
|
2124
2131
|
],
|
|
2125
2132
|
"cva": null,
|
|
2126
|
-
"usageSnippet": "<Drawer\n open={open}\n onClose={() => setOpen(false)}\n title=\"Edit Configuration\"\n description=\"Manage property options and backup intervals.\"\n>\n <div className=\"space-y-6\">\n <TextField label=\"Connection String\" defaultValue=\"postgresql://db.kjaniec.dev:5432\" />\n <CheckboxField label=\"Enable auto-backups daily\" defaultChecked />\n <div className=\"flex gap-2 justify-end pt-4 border-t border-border\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => setOpen(false)}
|
|
2133
|
+
"usageSnippet": "<Drawer\n open={open}\n onClose={() => setOpen(false)}\n title=\"Edit Configuration\"\n description=\"Manage property options and backup intervals.\"\n>\n <div className=\"space-y-6\">\n <TextField label=\"Connection String\" defaultValue=\"postgresql://db.kjaniec.dev:5432\" />\n <CheckboxField label=\"Enable auto-backups daily\" defaultChecked />\n <div className=\"flex gap-2 justify-end pt-4 border-t border-border\">\n <Button variant=\"outline\" size=\"sm\" onClick={() => setOpen(false)}>\n Cancel\n </Button>\n <Button size=\"sm\" onClick={() => setOpen(false)}>\n Save Changes\n </Button>\n </div>\n </div>\n</Drawer>"
|
|
2127
2134
|
},
|
|
2128
2135
|
{
|
|
2129
2136
|
"name": "CommandPalette",
|
|
@@ -2562,7 +2569,7 @@
|
|
|
2562
2569
|
}
|
|
2563
2570
|
],
|
|
2564
2571
|
"cva": null,
|
|
2565
|
-
"usageSnippet": "<Combobox
|
|
2572
|
+
"usageSnippet": "<Combobox\n options={frameworks}\n value={value}\n onChange={setValue}\n placeholder=\"Select a framework…\"\n/>"
|
|
2566
2573
|
},
|
|
2567
2574
|
{
|
|
2568
2575
|
"name": "ComboboxField",
|
|
@@ -2786,7 +2793,7 @@
|
|
|
2786
2793
|
}
|
|
2787
2794
|
],
|
|
2788
2795
|
"cva": null,
|
|
2789
|
-
"usageSnippet": "<DatePickerField
|
|
2796
|
+
"usageSnippet": "<DatePickerField\n label=\"Due date\"\n required\n hint=\"Weekdays only.\"\n value={value}\n onChange={setValue}\n disabledDates={(d) => d.getDay() === 0 || d.getDay() === 6}\n/>"
|
|
2790
2797
|
},
|
|
2791
2798
|
{
|
|
2792
2799
|
"name": "RangeCalendar",
|
|
@@ -3195,7 +3202,7 @@
|
|
|
3195
3202
|
}
|
|
3196
3203
|
],
|
|
3197
3204
|
"cva": null,
|
|
3198
|
-
"usageSnippet": "<FileUpload
|
|
3205
|
+
"usageSnippet": "<FileUpload\n value={items}\n onChange={setItems}\n accept=\"image/*,.pdf\"\n maxSize={5 * 1024 * 1024}\n/>"
|
|
3199
3206
|
},
|
|
3200
3207
|
{
|
|
3201
3208
|
"name": "FileUploadField",
|
|
@@ -3575,7 +3582,7 @@
|
|
|
3575
3582
|
}
|
|
3576
3583
|
],
|
|
3577
3584
|
"cva": null,
|
|
3578
|
-
"usageSnippet": "<AppShell\n banner={<div>🚀 Announcement: KJ Product Kit v1.0 released!</div>}\n header={\n <div className=\"w-full flex items-center justify-between\">\n <div className=\"font-bold text-xl tracking-tight\">KJ Product Kit</div>\n <div className=\"hidden md:flex items-center gap-6 text-sm text-muted-foreground font-medium\">\n <a href=\"#\" className=\"hover:text-foreground\"
|
|
3585
|
+
"usageSnippet": "<AppShell\n banner={<div>🚀 Announcement: KJ Product Kit v1.0 released!</div>}\n header={\n <div className=\"w-full flex items-center justify-between\">\n <div className=\"font-bold text-xl tracking-tight\">KJ Product Kit</div>\n <div className=\"hidden md:flex items-center gap-6 text-sm text-muted-foreground font-medium\">\n <a href=\"#\" className=\"hover:text-foreground\">\n Features\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n Docs\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n Pricing\n </a>\n </div>\n <Button size=\"sm\">Get Started</Button>\n </div>\n }\n mobileNav={\n <div className=\"flex flex-col gap-4 text-sm font-medium\">\n <a href=\"#\" className=\"hover:text-foreground\">\n Features\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n Docs\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n Pricing\n </a>\n </div>\n }\n footer={\n <div className=\"flex flex-col md:flex-row justify-between items-center gap-4 text-sm text-muted-foreground\">\n <div>© 2026 KJ Product Kit. All rights reserved.</div>\n <div className=\"flex gap-6\">\n <a href=\"#\" className=\"hover:text-foreground\">\n Privacy\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n Terms\n </a>\n <a href=\"#\" className=\"hover:text-foreground\">\n GitHub\n </a>\n </div>\n </div>\n }\n>\n <div className=\"py-12 space-y-6\">\n <h1 className=\"text-4xl font-extrabold tracking-tight\">Build faster with KJ UI</h1>\n <p className=\"text-lg text-muted-foreground max-w-2xl\">\n A modern, accessible design system tailored for developer tools, SaaS applications, and\n developer portfolios.\n </p>\n </div>\n</AppShell>"
|
|
3579
3586
|
},
|
|
3580
3587
|
{
|
|
3581
3588
|
"name": "AppShellBanner",
|
|
@@ -4427,14 +4434,14 @@
|
|
|
4427
4434
|
"name": "triggerText",
|
|
4428
4435
|
"type": "string",
|
|
4429
4436
|
"optional": true,
|
|
4430
|
-
"defaultValue": "
|
|
4437
|
+
"defaultValue": "\"Wybierz Paczkomat®\"",
|
|
4431
4438
|
"description": "Trigger button label. Default 'Wybierz Paczkomat®'."
|
|
4432
4439
|
},
|
|
4433
4440
|
{
|
|
4434
4441
|
"name": "modalTitle",
|
|
4435
4442
|
"type": "string",
|
|
4436
4443
|
"optional": true,
|
|
4437
|
-
"defaultValue": "
|
|
4444
|
+
"defaultValue": "\"Wybierz punkt odbioru InPost\"",
|
|
4438
4445
|
"description": "Modal header title. Default 'Wybierz punkt odbioru InPost'."
|
|
4439
4446
|
},
|
|
4440
4447
|
{
|
|
@@ -4469,21 +4476,21 @@
|
|
|
4469
4476
|
"name": "className",
|
|
4470
4477
|
"type": "string",
|
|
4471
4478
|
"optional": true,
|
|
4472
|
-
"defaultValue": "
|
|
4479
|
+
"defaultValue": "\"\"",
|
|
4473
4480
|
"description": "Outer container CSS class name."
|
|
4474
4481
|
},
|
|
4475
4482
|
{
|
|
4476
4483
|
"name": "buttonVariant",
|
|
4477
|
-
"type": "
|
|
4484
|
+
"type": "\"primary\" | \"secondary\" | \"outline\" | \"ghost\" | \"danger\"",
|
|
4478
4485
|
"optional": true,
|
|
4479
|
-
"defaultValue": "
|
|
4486
|
+
"defaultValue": "\"outline\"",
|
|
4480
4487
|
"description": "Trigger button style variant ('primary', 'secondary', 'outline', 'ghost', 'danger'). Default 'outline'."
|
|
4481
4488
|
},
|
|
4482
4489
|
{
|
|
4483
4490
|
"name": "buttonSize",
|
|
4484
|
-
"type": "
|
|
4491
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
4485
4492
|
"optional": true,
|
|
4486
|
-
"defaultValue": "
|
|
4493
|
+
"defaultValue": "\"md\"",
|
|
4487
4494
|
"description": "Trigger button size ('sm', 'md', 'lg'). Default 'md'."
|
|
4488
4495
|
},
|
|
4489
4496
|
{
|
|
@@ -4530,7 +4537,7 @@
|
|
|
4530
4537
|
}
|
|
4531
4538
|
],
|
|
4532
4539
|
"cva": null,
|
|
4533
|
-
"usageSnippet": "<InPostGeowidget
|
|
4540
|
+
"usageSnippet": "<InPostGeowidget sandbox={true} onPointSelect={(point) => setSelectedPoint(point)} />"
|
|
4534
4541
|
},
|
|
4535
4542
|
{
|
|
4536
4543
|
"name": "InPostGeowidgetModal",
|
|
@@ -4555,14 +4562,14 @@
|
|
|
4555
4562
|
"name": "triggerText",
|
|
4556
4563
|
"type": "string",
|
|
4557
4564
|
"optional": true,
|
|
4558
|
-
"defaultValue": "
|
|
4565
|
+
"defaultValue": "\"Wybierz Paczkomat®\"",
|
|
4559
4566
|
"description": "Trigger button label. Default 'Wybierz Paczkomat®'."
|
|
4560
4567
|
},
|
|
4561
4568
|
{
|
|
4562
4569
|
"name": "modalTitle",
|
|
4563
4570
|
"type": "string",
|
|
4564
4571
|
"optional": true,
|
|
4565
|
-
"defaultValue": "
|
|
4572
|
+
"defaultValue": "\"Wybierz punkt odbioru InPost\"",
|
|
4566
4573
|
"description": "Modal header title. Default 'Wybierz punkt odbioru InPost'."
|
|
4567
4574
|
},
|
|
4568
4575
|
{
|
|
@@ -4597,21 +4604,21 @@
|
|
|
4597
4604
|
"name": "className",
|
|
4598
4605
|
"type": "string",
|
|
4599
4606
|
"optional": true,
|
|
4600
|
-
"defaultValue": "
|
|
4607
|
+
"defaultValue": "\"\"",
|
|
4601
4608
|
"description": "Outer container CSS class name."
|
|
4602
4609
|
},
|
|
4603
4610
|
{
|
|
4604
4611
|
"name": "buttonVariant",
|
|
4605
|
-
"type": "
|
|
4612
|
+
"type": "\"primary\" | \"secondary\" | \"outline\" | \"ghost\" | \"danger\"",
|
|
4606
4613
|
"optional": true,
|
|
4607
|
-
"defaultValue": "
|
|
4614
|
+
"defaultValue": "\"outline\"",
|
|
4608
4615
|
"description": "Trigger button style variant ('primary', 'secondary', 'outline', 'ghost', 'danger'). Default 'outline'."
|
|
4609
4616
|
},
|
|
4610
4617
|
{
|
|
4611
4618
|
"name": "buttonSize",
|
|
4612
|
-
"type": "
|
|
4619
|
+
"type": "\"sm\" | \"md\" | \"lg\"",
|
|
4613
4620
|
"optional": true,
|
|
4614
|
-
"defaultValue": "
|
|
4621
|
+
"defaultValue": "\"md\"",
|
|
4615
4622
|
"description": "Trigger button size ('sm', 'md', 'lg'). Default 'md'."
|
|
4616
4623
|
},
|
|
4617
4624
|
{
|
|
@@ -4658,6 +4665,1228 @@
|
|
|
4658
4665
|
}
|
|
4659
4666
|
],
|
|
4660
4667
|
"cva": null,
|
|
4661
|
-
"usageSnippet": "<InPostGeowidgetModal
|
|
4668
|
+
"usageSnippet": "<InPostGeowidgetModal sandbox={true} value={point} onSelect={(p) => setPoint(p)} />"
|
|
4669
|
+
},
|
|
4670
|
+
{
|
|
4671
|
+
"name": "ChartContainer",
|
|
4672
|
+
"importPath": "import { ChartContainer } from \"@kjaniec-dev/ui\";",
|
|
4673
|
+
"description": "Responsive chart container managing SVG viewBox coordinate space and absolute HTML overlay slot.",
|
|
4674
|
+
"props": [
|
|
4675
|
+
{
|
|
4676
|
+
"name": "width",
|
|
4677
|
+
"type": "number",
|
|
4678
|
+
"optional": true,
|
|
4679
|
+
"defaultValue": null,
|
|
4680
|
+
"description": ""
|
|
4681
|
+
},
|
|
4682
|
+
{
|
|
4683
|
+
"name": "height",
|
|
4684
|
+
"type": "number | string",
|
|
4685
|
+
"optional": true,
|
|
4686
|
+
"defaultValue": null,
|
|
4687
|
+
"description": ""
|
|
4688
|
+
},
|
|
4689
|
+
{
|
|
4690
|
+
"name": "viewBox",
|
|
4691
|
+
"type": "string",
|
|
4692
|
+
"optional": true,
|
|
4693
|
+
"defaultValue": null,
|
|
4694
|
+
"description": ""
|
|
4695
|
+
},
|
|
4696
|
+
{
|
|
4697
|
+
"name": "\"aria-label\"",
|
|
4698
|
+
"type": "string",
|
|
4699
|
+
"optional": true,
|
|
4700
|
+
"defaultValue": null,
|
|
4701
|
+
"description": ""
|
|
4702
|
+
},
|
|
4703
|
+
{
|
|
4704
|
+
"name": "ariaLabel",
|
|
4705
|
+
"type": "string",
|
|
4706
|
+
"optional": true,
|
|
4707
|
+
"defaultValue": null,
|
|
4708
|
+
"description": ""
|
|
4709
|
+
},
|
|
4710
|
+
{
|
|
4711
|
+
"name": "overlay",
|
|
4712
|
+
"type": "React.ReactNode",
|
|
4713
|
+
"optional": true,
|
|
4714
|
+
"defaultValue": null,
|
|
4715
|
+
"description": ""
|
|
4716
|
+
},
|
|
4717
|
+
{
|
|
4718
|
+
"name": "svgClassName",
|
|
4719
|
+
"type": "string",
|
|
4720
|
+
"optional": true,
|
|
4721
|
+
"defaultValue": null,
|
|
4722
|
+
"description": ""
|
|
4723
|
+
},
|
|
4724
|
+
{
|
|
4725
|
+
"name": "svgRef",
|
|
4726
|
+
"type": "React.Ref<SVGSVGElement>",
|
|
4727
|
+
"optional": true,
|
|
4728
|
+
"defaultValue": null,
|
|
4729
|
+
"description": ""
|
|
4730
|
+
},
|
|
4731
|
+
{
|
|
4732
|
+
"name": "plotWrapperClassName",
|
|
4733
|
+
"type": "string",
|
|
4734
|
+
"optional": true,
|
|
4735
|
+
"defaultValue": null,
|
|
4736
|
+
"description": ""
|
|
4737
|
+
},
|
|
4738
|
+
{
|
|
4739
|
+
"name": "plotWrapperStyle",
|
|
4740
|
+
"type": "React.CSSProperties",
|
|
4741
|
+
"optional": true,
|
|
4742
|
+
"defaultValue": null,
|
|
4743
|
+
"description": ""
|
|
4744
|
+
},
|
|
4745
|
+
{
|
|
4746
|
+
"name": "children",
|
|
4747
|
+
"type": "React.ReactNode",
|
|
4748
|
+
"optional": true,
|
|
4749
|
+
"defaultValue": null,
|
|
4750
|
+
"description": ""
|
|
4751
|
+
}
|
|
4752
|
+
],
|
|
4753
|
+
"cva": null,
|
|
4754
|
+
"usageSnippet": "<ChartContainer>\n <!-- Content -->\n</ChartContainer>"
|
|
4755
|
+
},
|
|
4756
|
+
{
|
|
4757
|
+
"name": "ChartGrid",
|
|
4758
|
+
"importPath": "import { ChartGrid } from \"@kjaniec-dev/ui\";",
|
|
4759
|
+
"description": "Background horizontal and vertical reference lines with custom tick intervals and dashing.",
|
|
4760
|
+
"props": [
|
|
4761
|
+
{
|
|
4762
|
+
"name": "width",
|
|
4763
|
+
"type": "number",
|
|
4764
|
+
"optional": true,
|
|
4765
|
+
"defaultValue": "0",
|
|
4766
|
+
"description": ""
|
|
4767
|
+
},
|
|
4768
|
+
{
|
|
4769
|
+
"name": "height",
|
|
4770
|
+
"type": "number",
|
|
4771
|
+
"optional": true,
|
|
4772
|
+
"defaultValue": "0",
|
|
4773
|
+
"description": ""
|
|
4774
|
+
},
|
|
4775
|
+
{
|
|
4776
|
+
"name": "yTicks",
|
|
4777
|
+
"type": "number[]",
|
|
4778
|
+
"optional": true,
|
|
4779
|
+
"defaultValue": null,
|
|
4780
|
+
"description": ""
|
|
4781
|
+
},
|
|
4782
|
+
{
|
|
4783
|
+
"name": "xTicks",
|
|
4784
|
+
"type": "number[]",
|
|
4785
|
+
"optional": true,
|
|
4786
|
+
"defaultValue": null,
|
|
4787
|
+
"description": ""
|
|
4788
|
+
},
|
|
4789
|
+
{
|
|
4790
|
+
"name": "scaleY",
|
|
4791
|
+
"type": "(value: number) => number",
|
|
4792
|
+
"optional": true,
|
|
4793
|
+
"defaultValue": null,
|
|
4794
|
+
"description": ""
|
|
4795
|
+
},
|
|
4796
|
+
{
|
|
4797
|
+
"name": "scaleX",
|
|
4798
|
+
"type": "(value: number) => number",
|
|
4799
|
+
"optional": true,
|
|
4800
|
+
"defaultValue": null,
|
|
4801
|
+
"description": ""
|
|
4802
|
+
},
|
|
4803
|
+
{
|
|
4804
|
+
"name": "yDomain",
|
|
4805
|
+
"type": "[number, number]",
|
|
4806
|
+
"optional": true,
|
|
4807
|
+
"defaultValue": null,
|
|
4808
|
+
"description": ""
|
|
4809
|
+
},
|
|
4810
|
+
{
|
|
4811
|
+
"name": "yRange",
|
|
4812
|
+
"type": "[number, number]",
|
|
4813
|
+
"optional": true,
|
|
4814
|
+
"defaultValue": null,
|
|
4815
|
+
"description": ""
|
|
4816
|
+
},
|
|
4817
|
+
{
|
|
4818
|
+
"name": "xDomain",
|
|
4819
|
+
"type": "[number, number]",
|
|
4820
|
+
"optional": true,
|
|
4821
|
+
"defaultValue": null,
|
|
4822
|
+
"description": ""
|
|
4823
|
+
},
|
|
4824
|
+
{
|
|
4825
|
+
"name": "xRange",
|
|
4826
|
+
"type": "[number, number]",
|
|
4827
|
+
"optional": true,
|
|
4828
|
+
"defaultValue": null,
|
|
4829
|
+
"description": ""
|
|
4830
|
+
},
|
|
4831
|
+
{
|
|
4832
|
+
"name": "stroke",
|
|
4833
|
+
"type": "string",
|
|
4834
|
+
"optional": true,
|
|
4835
|
+
"defaultValue": "\"var(--kj-border-subtle, #e5e7eb)\"",
|
|
4836
|
+
"description": ""
|
|
4837
|
+
},
|
|
4838
|
+
{
|
|
4839
|
+
"name": "strokeDasharray",
|
|
4840
|
+
"type": "string",
|
|
4841
|
+
"optional": true,
|
|
4842
|
+
"defaultValue": "\"3 3\"",
|
|
4843
|
+
"description": ""
|
|
4844
|
+
},
|
|
4845
|
+
{
|
|
4846
|
+
"name": "strokeWidth",
|
|
4847
|
+
"type": "number",
|
|
4848
|
+
"optional": true,
|
|
4849
|
+
"defaultValue": "1",
|
|
4850
|
+
"description": ""
|
|
4851
|
+
},
|
|
4852
|
+
{
|
|
4853
|
+
"name": "strokeOpacity",
|
|
4854
|
+
"type": "number",
|
|
4855
|
+
"optional": true,
|
|
4856
|
+
"defaultValue": "1",
|
|
4857
|
+
"description": ""
|
|
4858
|
+
},
|
|
4859
|
+
{
|
|
4860
|
+
"name": "horizontal",
|
|
4861
|
+
"type": "boolean",
|
|
4862
|
+
"optional": true,
|
|
4863
|
+
"defaultValue": "true",
|
|
4864
|
+
"description": ""
|
|
4865
|
+
},
|
|
4866
|
+
{
|
|
4867
|
+
"name": "vertical",
|
|
4868
|
+
"type": "boolean",
|
|
4869
|
+
"optional": true,
|
|
4870
|
+
"defaultValue": null,
|
|
4871
|
+
"description": ""
|
|
4872
|
+
},
|
|
4873
|
+
{
|
|
4874
|
+
"name": "className",
|
|
4875
|
+
"type": "string",
|
|
4876
|
+
"optional": true,
|
|
4877
|
+
"defaultValue": null,
|
|
4878
|
+
"description": ""
|
|
4879
|
+
}
|
|
4880
|
+
],
|
|
4881
|
+
"cva": null,
|
|
4882
|
+
"usageSnippet": "<ChartGrid>\n <!-- Content -->\n</ChartGrid>"
|
|
4883
|
+
},
|
|
4884
|
+
{
|
|
4885
|
+
"name": "ChartXAxis",
|
|
4886
|
+
"importPath": "import { ChartXAxis } from \"@kjaniec-dev/ui\";",
|
|
4887
|
+
"description": "SVG horizontal axis ticks rendering aligned category or timestamp labels.",
|
|
4888
|
+
"props": [
|
|
4889
|
+
{
|
|
4890
|
+
"name": "ticks",
|
|
4891
|
+
"type": "ChartXAxisTick[]",
|
|
4892
|
+
"optional": false,
|
|
4893
|
+
"defaultValue": null,
|
|
4894
|
+
"description": ""
|
|
4895
|
+
},
|
|
4896
|
+
{
|
|
4897
|
+
"name": "y",
|
|
4898
|
+
"type": "number",
|
|
4899
|
+
"optional": false,
|
|
4900
|
+
"defaultValue": null,
|
|
4901
|
+
"description": ""
|
|
4902
|
+
},
|
|
4903
|
+
{
|
|
4904
|
+
"name": "formatter",
|
|
4905
|
+
"type": "(value: unknown) => string",
|
|
4906
|
+
"optional": true,
|
|
4907
|
+
"defaultValue": null,
|
|
4908
|
+
"description": ""
|
|
4909
|
+
},
|
|
4910
|
+
{
|
|
4911
|
+
"name": "valueFormatter",
|
|
4912
|
+
"type": "(value: unknown) => string",
|
|
4913
|
+
"optional": true,
|
|
4914
|
+
"defaultValue": null,
|
|
4915
|
+
"description": ""
|
|
4916
|
+
},
|
|
4917
|
+
{
|
|
4918
|
+
"name": "textAnchor",
|
|
4919
|
+
"type": "\"start\" | \"middle\" | \"end\"",
|
|
4920
|
+
"optional": true,
|
|
4921
|
+
"defaultValue": "\"middle\"",
|
|
4922
|
+
"description": ""
|
|
4923
|
+
},
|
|
4924
|
+
{
|
|
4925
|
+
"name": "dy",
|
|
4926
|
+
"type": "string | number",
|
|
4927
|
+
"optional": true,
|
|
4928
|
+
"defaultValue": "\"1.2em\"",
|
|
4929
|
+
"description": ""
|
|
4930
|
+
},
|
|
4931
|
+
{
|
|
4932
|
+
"name": "className",
|
|
4933
|
+
"type": "string",
|
|
4934
|
+
"optional": true,
|
|
4935
|
+
"defaultValue": null,
|
|
4936
|
+
"description": ""
|
|
4937
|
+
},
|
|
4938
|
+
{
|
|
4939
|
+
"name": "tickClassName",
|
|
4940
|
+
"type": "string",
|
|
4941
|
+
"optional": true,
|
|
4942
|
+
"defaultValue": null,
|
|
4943
|
+
"description": ""
|
|
4944
|
+
}
|
|
4945
|
+
],
|
|
4946
|
+
"cva": null,
|
|
4947
|
+
"usageSnippet": "<ChartXAxis>\n <!-- Content -->\n</ChartXAxis>"
|
|
4948
|
+
},
|
|
4949
|
+
{
|
|
4950
|
+
"name": "ChartYAxis",
|
|
4951
|
+
"importPath": "import { ChartYAxis } from \"@kjaniec-dev/ui\";",
|
|
4952
|
+
"description": "SVG vertical axis ticks rendering numeric or value labels.",
|
|
4953
|
+
"props": [
|
|
4954
|
+
{
|
|
4955
|
+
"name": "ticks",
|
|
4956
|
+
"type": "ChartYAxisTick[]",
|
|
4957
|
+
"optional": false,
|
|
4958
|
+
"defaultValue": null,
|
|
4959
|
+
"description": ""
|
|
4960
|
+
},
|
|
4961
|
+
{
|
|
4962
|
+
"name": "x",
|
|
4963
|
+
"type": "number",
|
|
4964
|
+
"optional": false,
|
|
4965
|
+
"defaultValue": null,
|
|
4966
|
+
"description": ""
|
|
4967
|
+
},
|
|
4968
|
+
{
|
|
4969
|
+
"name": "formatter",
|
|
4970
|
+
"type": "(value: unknown) => string",
|
|
4971
|
+
"optional": true,
|
|
4972
|
+
"defaultValue": null,
|
|
4973
|
+
"description": ""
|
|
4974
|
+
},
|
|
4975
|
+
{
|
|
4976
|
+
"name": "valueFormatter",
|
|
4977
|
+
"type": "(value: unknown) => string",
|
|
4978
|
+
"optional": true,
|
|
4979
|
+
"defaultValue": null,
|
|
4980
|
+
"description": ""
|
|
4981
|
+
},
|
|
4982
|
+
{
|
|
4983
|
+
"name": "textAnchor",
|
|
4984
|
+
"type": "\"start\" | \"middle\" | \"end\"",
|
|
4985
|
+
"optional": true,
|
|
4986
|
+
"defaultValue": "\"end\"",
|
|
4987
|
+
"description": ""
|
|
4988
|
+
},
|
|
4989
|
+
{
|
|
4990
|
+
"name": "dx",
|
|
4991
|
+
"type": "string | number",
|
|
4992
|
+
"optional": true,
|
|
4993
|
+
"defaultValue": "\"-0.5em\"",
|
|
4994
|
+
"description": ""
|
|
4995
|
+
},
|
|
4996
|
+
{
|
|
4997
|
+
"name": "dominantBaseline",
|
|
4998
|
+
"type": "\"auto\" | \"middle\" | \"central\" | \"hanging\" | \"alphabetic\"",
|
|
4999
|
+
"optional": true,
|
|
5000
|
+
"defaultValue": "\"middle\"",
|
|
5001
|
+
"description": ""
|
|
5002
|
+
},
|
|
5003
|
+
{
|
|
5004
|
+
"name": "className",
|
|
5005
|
+
"type": "string",
|
|
5006
|
+
"optional": true,
|
|
5007
|
+
"defaultValue": null,
|
|
5008
|
+
"description": ""
|
|
5009
|
+
},
|
|
5010
|
+
{
|
|
5011
|
+
"name": "tickClassName",
|
|
5012
|
+
"type": "string",
|
|
5013
|
+
"optional": true,
|
|
5014
|
+
"defaultValue": null,
|
|
5015
|
+
"description": ""
|
|
5016
|
+
}
|
|
5017
|
+
],
|
|
5018
|
+
"cva": null,
|
|
5019
|
+
"usageSnippet": "<ChartYAxis>\n <!-- Content -->\n</ChartYAxis>"
|
|
5020
|
+
},
|
|
5021
|
+
{
|
|
5022
|
+
"name": "ChartTooltip",
|
|
5023
|
+
"importPath": "import { ChartTooltip } from \"@kjaniec-dev/ui\";",
|
|
5024
|
+
"description": "Absolute-positioned HTML floating tooltip card with series indicators and crosshair line.",
|
|
5025
|
+
"props": [
|
|
5026
|
+
{
|
|
5027
|
+
"name": "title",
|
|
5028
|
+
"type": "React.ReactNode",
|
|
5029
|
+
"optional": true,
|
|
5030
|
+
"defaultValue": null,
|
|
5031
|
+
"description": ""
|
|
5032
|
+
},
|
|
5033
|
+
{
|
|
5034
|
+
"name": "items",
|
|
5035
|
+
"type": "ChartTooltipItem[]",
|
|
5036
|
+
"optional": true,
|
|
5037
|
+
"defaultValue": null,
|
|
5038
|
+
"description": ""
|
|
5039
|
+
},
|
|
5040
|
+
{
|
|
5041
|
+
"name": "x",
|
|
5042
|
+
"type": "number",
|
|
5043
|
+
"optional": true,
|
|
5044
|
+
"defaultValue": null,
|
|
5045
|
+
"description": ""
|
|
5046
|
+
},
|
|
5047
|
+
{
|
|
5048
|
+
"name": "y",
|
|
5049
|
+
"type": "number",
|
|
5050
|
+
"optional": true,
|
|
5051
|
+
"defaultValue": null,
|
|
5052
|
+
"description": ""
|
|
5053
|
+
},
|
|
5054
|
+
{
|
|
5055
|
+
"name": "open",
|
|
5056
|
+
"type": "boolean",
|
|
5057
|
+
"optional": true,
|
|
5058
|
+
"defaultValue": "true",
|
|
5059
|
+
"description": ""
|
|
5060
|
+
},
|
|
5061
|
+
{
|
|
5062
|
+
"name": "crosshairX",
|
|
5063
|
+
"type": "number",
|
|
5064
|
+
"optional": true,
|
|
5065
|
+
"defaultValue": null,
|
|
5066
|
+
"description": ""
|
|
5067
|
+
},
|
|
5068
|
+
{
|
|
5069
|
+
"name": "crosshairHeight",
|
|
5070
|
+
"type": "number",
|
|
5071
|
+
"optional": true,
|
|
5072
|
+
"defaultValue": null,
|
|
5073
|
+
"description": ""
|
|
5074
|
+
},
|
|
5075
|
+
{
|
|
5076
|
+
"name": "showCrosshair",
|
|
5077
|
+
"type": "boolean",
|
|
5078
|
+
"optional": true,
|
|
5079
|
+
"defaultValue": "false",
|
|
5080
|
+
"description": ""
|
|
5081
|
+
},
|
|
5082
|
+
{
|
|
5083
|
+
"name": "valueFormatter",
|
|
5084
|
+
"type": "(value: number) => string",
|
|
5085
|
+
"optional": true,
|
|
5086
|
+
"defaultValue": null,
|
|
5087
|
+
"description": ""
|
|
5088
|
+
},
|
|
5089
|
+
{
|
|
5090
|
+
"name": "content",
|
|
5091
|
+
"type": "React.ReactNode",
|
|
5092
|
+
"optional": true,
|
|
5093
|
+
"defaultValue": null,
|
|
5094
|
+
"description": ""
|
|
5095
|
+
}
|
|
5096
|
+
],
|
|
5097
|
+
"cva": null,
|
|
5098
|
+
"usageSnippet": "<ChartTooltip>\n <!-- Content -->\n</ChartTooltip>"
|
|
5099
|
+
},
|
|
5100
|
+
{
|
|
5101
|
+
"name": "ChartLegend",
|
|
5102
|
+
"importPath": "import { ChartLegend } from \"@kjaniec-dev/ui\";",
|
|
5103
|
+
"description": "Series labels list with colored indicator dots and optional click/keyboard toggling.",
|
|
5104
|
+
"props": [
|
|
5105
|
+
{
|
|
5106
|
+
"name": "series",
|
|
5107
|
+
"type": "ChartSeries[]",
|
|
5108
|
+
"optional": false,
|
|
5109
|
+
"defaultValue": null,
|
|
5110
|
+
"description": ""
|
|
5111
|
+
},
|
|
5112
|
+
{
|
|
5113
|
+
"name": "activeSeries",
|
|
5114
|
+
"type": "string[]",
|
|
5115
|
+
"optional": true,
|
|
5116
|
+
"defaultValue": null,
|
|
5117
|
+
"description": ""
|
|
5118
|
+
},
|
|
5119
|
+
{
|
|
5120
|
+
"name": "disabledSeries",
|
|
5121
|
+
"type": "string[]",
|
|
5122
|
+
"optional": true,
|
|
5123
|
+
"defaultValue": null,
|
|
5124
|
+
"description": ""
|
|
5125
|
+
},
|
|
5126
|
+
{
|
|
5127
|
+
"name": "onToggle",
|
|
5128
|
+
"type": "(key: string) => void",
|
|
5129
|
+
"optional": true,
|
|
5130
|
+
"defaultValue": null,
|
|
5131
|
+
"description": ""
|
|
5132
|
+
},
|
|
5133
|
+
{
|
|
5134
|
+
"name": "orientation",
|
|
5135
|
+
"type": "\"horizontal\" | \"vertical\"",
|
|
5136
|
+
"optional": true,
|
|
5137
|
+
"defaultValue": "\"horizontal\"",
|
|
5138
|
+
"description": ""
|
|
5139
|
+
},
|
|
5140
|
+
{
|
|
5141
|
+
"name": "className",
|
|
5142
|
+
"type": "string",
|
|
5143
|
+
"optional": true,
|
|
5144
|
+
"defaultValue": null,
|
|
5145
|
+
"description": ""
|
|
5146
|
+
},
|
|
5147
|
+
{
|
|
5148
|
+
"name": "itemClassName",
|
|
5149
|
+
"type": "string",
|
|
5150
|
+
"optional": true,
|
|
5151
|
+
"defaultValue": null,
|
|
5152
|
+
"description": ""
|
|
5153
|
+
}
|
|
5154
|
+
],
|
|
5155
|
+
"cva": null,
|
|
5156
|
+
"usageSnippet": "<ChartLegend>\n <!-- Content -->\n</ChartLegend>"
|
|
5157
|
+
},
|
|
5158
|
+
{
|
|
5159
|
+
"name": "ChartA11yTable",
|
|
5160
|
+
"importPath": "import { ChartA11yTable } from \"@kjaniec-dev/ui\";",
|
|
5161
|
+
"description": "Screen reader accessible semantic table hidden with sr-only class complying with WCAG 2.1 AA.",
|
|
5162
|
+
"props": [
|
|
5163
|
+
{
|
|
5164
|
+
"name": "caption",
|
|
5165
|
+
"type": "string",
|
|
5166
|
+
"optional": true,
|
|
5167
|
+
"defaultValue": null,
|
|
5168
|
+
"description": ""
|
|
5169
|
+
},
|
|
5170
|
+
{
|
|
5171
|
+
"name": "categories",
|
|
5172
|
+
"type": "string[]",
|
|
5173
|
+
"optional": true,
|
|
5174
|
+
"defaultValue": null,
|
|
5175
|
+
"description": ""
|
|
5176
|
+
},
|
|
5177
|
+
{
|
|
5178
|
+
"name": "series",
|
|
5179
|
+
"type": "ChartSeries[]",
|
|
5180
|
+
"optional": false,
|
|
5181
|
+
"defaultValue": null,
|
|
5182
|
+
"description": ""
|
|
5183
|
+
},
|
|
5184
|
+
{
|
|
5185
|
+
"name": "data",
|
|
5186
|
+
"type": "Array<Record<string, unknown>> | number[]",
|
|
5187
|
+
"optional": false,
|
|
5188
|
+
"defaultValue": null,
|
|
5189
|
+
"description": ""
|
|
5190
|
+
},
|
|
5191
|
+
{
|
|
5192
|
+
"name": "indexKey",
|
|
5193
|
+
"type": "string",
|
|
5194
|
+
"optional": true,
|
|
5195
|
+
"defaultValue": null,
|
|
5196
|
+
"description": ""
|
|
5197
|
+
},
|
|
5198
|
+
{
|
|
5199
|
+
"name": "index",
|
|
5200
|
+
"type": "string",
|
|
5201
|
+
"optional": true,
|
|
5202
|
+
"defaultValue": null,
|
|
5203
|
+
"description": ""
|
|
5204
|
+
},
|
|
5205
|
+
{
|
|
5206
|
+
"name": "valueFormatter",
|
|
5207
|
+
"type": "(value: unknown) => string",
|
|
5208
|
+
"optional": true,
|
|
5209
|
+
"defaultValue": null,
|
|
5210
|
+
"description": ""
|
|
5211
|
+
},
|
|
5212
|
+
{
|
|
5213
|
+
"name": "className",
|
|
5214
|
+
"type": "string",
|
|
5215
|
+
"optional": true,
|
|
5216
|
+
"defaultValue": null,
|
|
5217
|
+
"description": ""
|
|
5218
|
+
}
|
|
5219
|
+
],
|
|
5220
|
+
"cva": null,
|
|
5221
|
+
"usageSnippet": "<ChartA11yTable>\n <!-- Content -->\n</ChartA11yTable>"
|
|
5222
|
+
},
|
|
5223
|
+
{
|
|
5224
|
+
"name": "CHART_COLOR_VARS",
|
|
5225
|
+
"importPath": "import { CHART_COLOR_VARS } from \"@kjaniec-dev/ui\";",
|
|
5226
|
+
"description": "Map of chart token keys to CSS custom properties with fallback hex values.",
|
|
5227
|
+
"props": [],
|
|
5228
|
+
"cva": null,
|
|
5229
|
+
"usageSnippet": "<CHART_COLOR_VARS>\n <!-- Content -->\n</CHART_COLOR_VARS>"
|
|
5230
|
+
},
|
|
5231
|
+
{
|
|
5232
|
+
"name": "DEFAULT_CHART_COLORS",
|
|
5233
|
+
"importPath": "import { DEFAULT_CHART_COLORS } from \"@kjaniec-dev/ui\";",
|
|
5234
|
+
"description": "Default color sequence cycling through chart1 to chart6.",
|
|
5235
|
+
"props": [],
|
|
5236
|
+
"cva": null,
|
|
5237
|
+
"usageSnippet": "<DEFAULT_CHART_COLORS>\n <!-- Content -->\n</DEFAULT_CHART_COLORS>"
|
|
5238
|
+
},
|
|
5239
|
+
{
|
|
5240
|
+
"name": "Sparkline",
|
|
5241
|
+
"importPath": "import { Sparkline } from \"@kjaniec-dev/ui\";",
|
|
5242
|
+
"description": "Compact, lightweight data visualization sparkline for KPI cards, metric widgets, and data tables.",
|
|
5243
|
+
"props": [
|
|
5244
|
+
{
|
|
5245
|
+
"name": "data",
|
|
5246
|
+
"type": "Array<number | Record<string, unknown>>",
|
|
5247
|
+
"optional": true,
|
|
5248
|
+
"defaultValue": null,
|
|
5249
|
+
"description": "Numerical values or objects containing data points to plot."
|
|
5250
|
+
},
|
|
5251
|
+
{
|
|
5252
|
+
"name": "dataKey",
|
|
5253
|
+
"type": "string",
|
|
5254
|
+
"optional": true,
|
|
5255
|
+
"defaultValue": null,
|
|
5256
|
+
"description": "Key to extract numeric values when `data` contains objects."
|
|
5257
|
+
},
|
|
5258
|
+
{
|
|
5259
|
+
"name": "variant",
|
|
5260
|
+
"type": "SparklineVariant",
|
|
5261
|
+
"optional": true,
|
|
5262
|
+
"defaultValue": "\"line\"",
|
|
5263
|
+
"description": "Visual presentation mode: continuous line, gradient area, or discrete bars. Defaults to \"line\"."
|
|
5264
|
+
},
|
|
5265
|
+
{
|
|
5266
|
+
"name": "curve",
|
|
5267
|
+
"type": "SparklineCurve",
|
|
5268
|
+
"optional": true,
|
|
5269
|
+
"defaultValue": "\"smooth\"",
|
|
5270
|
+
"description": "Interpolation method between data points. Defaults to \"smooth\"."
|
|
5271
|
+
},
|
|
5272
|
+
{
|
|
5273
|
+
"name": "color",
|
|
5274
|
+
"type": "ChartColor",
|
|
5275
|
+
"optional": true,
|
|
5276
|
+
"defaultValue": "\"chart1\"",
|
|
5277
|
+
"description": "Theme token identifier or raw CSS color string for line, fill, and bars. Defaults to \"chart1\"."
|
|
5278
|
+
},
|
|
5279
|
+
{
|
|
5280
|
+
"name": "strokeWidth",
|
|
5281
|
+
"type": "number",
|
|
5282
|
+
"optional": true,
|
|
5283
|
+
"defaultValue": "2",
|
|
5284
|
+
"description": "Line stroke width in pixels for line and area variants. Defaults to 2."
|
|
5285
|
+
},
|
|
5286
|
+
{
|
|
5287
|
+
"name": "showEndDot",
|
|
5288
|
+
"type": "boolean",
|
|
5289
|
+
"optional": true,
|
|
5290
|
+
"defaultValue": "false",
|
|
5291
|
+
"description": "Whether to highlight the final data point with an accent dot. Defaults to false."
|
|
5292
|
+
},
|
|
5293
|
+
{
|
|
5294
|
+
"name": "showGradient",
|
|
5295
|
+
"type": "boolean",
|
|
5296
|
+
"optional": true,
|
|
5297
|
+
"defaultValue": "true",
|
|
5298
|
+
"description": "Whether to apply a fading vertical gradient to area fills. Defaults to true."
|
|
5299
|
+
},
|
|
5300
|
+
{
|
|
5301
|
+
"name": "height",
|
|
5302
|
+
"type": "number",
|
|
5303
|
+
"optional": true,
|
|
5304
|
+
"defaultValue": "36",
|
|
5305
|
+
"description": "Overall component height in pixels. Defaults to 36."
|
|
5306
|
+
},
|
|
5307
|
+
{
|
|
5308
|
+
"name": "width",
|
|
5309
|
+
"type": "number | string",
|
|
5310
|
+
"optional": true,
|
|
5311
|
+
"defaultValue": "\"100%\"",
|
|
5312
|
+
"description": "Component width in pixels or CSS units. Defaults to \"100%\"."
|
|
5313
|
+
},
|
|
5314
|
+
{
|
|
5315
|
+
"name": "barRadius",
|
|
5316
|
+
"type": "number",
|
|
5317
|
+
"optional": true,
|
|
5318
|
+
"defaultValue": "2",
|
|
5319
|
+
"description": "Corner radius in pixels for bar rectangles. Defaults to 2."
|
|
5320
|
+
},
|
|
5321
|
+
{
|
|
5322
|
+
"name": "barPadding",
|
|
5323
|
+
"type": "number",
|
|
5324
|
+
"optional": true,
|
|
5325
|
+
"defaultValue": "2",
|
|
5326
|
+
"description": "Spacing between discrete bars in pixels. Defaults to 2."
|
|
5327
|
+
},
|
|
5328
|
+
{
|
|
5329
|
+
"name": "ariaLabel",
|
|
5330
|
+
"type": "string",
|
|
5331
|
+
"optional": true,
|
|
5332
|
+
"defaultValue": null,
|
|
5333
|
+
"description": "Accessible label alias for assistive technologies."
|
|
5334
|
+
}
|
|
5335
|
+
],
|
|
5336
|
+
"cva": null,
|
|
5337
|
+
"usageSnippet": "<Sparkline data={sampleData} variant=\"line\" color=\"chart1\" showEndDot height={40} />"
|
|
5338
|
+
},
|
|
5339
|
+
{
|
|
5340
|
+
"name": "LineChart",
|
|
5341
|
+
"importPath": "import { LineChart } from \"@kjaniec-dev/ui\";",
|
|
5342
|
+
"description": "Responsive multi-series LineChart with SVG rendering, background grid, nice-scale axes,\ninteractive HTML tooltip overlay with crosshair, toggleable legend, and WCAG AA accessible table.",
|
|
5343
|
+
"props": [
|
|
5344
|
+
{
|
|
5345
|
+
"name": "data",
|
|
5346
|
+
"type": "Array<Record<string, unknown>>",
|
|
5347
|
+
"optional": false,
|
|
5348
|
+
"defaultValue": null,
|
|
5349
|
+
"description": "Array of tabular data records to plot."
|
|
5350
|
+
},
|
|
5351
|
+
{
|
|
5352
|
+
"name": "index",
|
|
5353
|
+
"type": "string",
|
|
5354
|
+
"optional": false,
|
|
5355
|
+
"defaultValue": null,
|
|
5356
|
+
"description": "Key identifying category or timestamp in each data item (e.g. \"date\", \"month\")."
|
|
5357
|
+
},
|
|
5358
|
+
{
|
|
5359
|
+
"name": "series",
|
|
5360
|
+
"type": "ChartSeries[]",
|
|
5361
|
+
"optional": false,
|
|
5362
|
+
"defaultValue": null,
|
|
5363
|
+
"description": "Series configurations defining data keys, labels, and color assignments."
|
|
5364
|
+
},
|
|
5365
|
+
{
|
|
5366
|
+
"name": "variant",
|
|
5367
|
+
"type": "LineChartVariant",
|
|
5368
|
+
"optional": true,
|
|
5369
|
+
"defaultValue": "\"line\"",
|
|
5370
|
+
"description": "Visual presentation mode: continuous line or filled area. Defaults to \"line\"."
|
|
5371
|
+
},
|
|
5372
|
+
{
|
|
5373
|
+
"name": "curve",
|
|
5374
|
+
"type": "LineChartCurve",
|
|
5375
|
+
"optional": true,
|
|
5376
|
+
"defaultValue": "\"linear\"",
|
|
5377
|
+
"description": "Interpolation method between data points: linear polyline, smooth cubic curve, or step lines. Defaults to \"linear\"."
|
|
5378
|
+
},
|
|
5379
|
+
{
|
|
5380
|
+
"name": "showGrid",
|
|
5381
|
+
"type": "boolean",
|
|
5382
|
+
"optional": true,
|
|
5383
|
+
"defaultValue": "true",
|
|
5384
|
+
"description": "Whether to render background horizontal reference grid lines. Defaults to true."
|
|
5385
|
+
},
|
|
5386
|
+
{
|
|
5387
|
+
"name": "showXAxis",
|
|
5388
|
+
"type": "boolean",
|
|
5389
|
+
"optional": true,
|
|
5390
|
+
"defaultValue": "true",
|
|
5391
|
+
"description": "Whether to render horizontal X-axis tick labels. Defaults to true."
|
|
5392
|
+
},
|
|
5393
|
+
{
|
|
5394
|
+
"name": "showYAxis",
|
|
5395
|
+
"type": "boolean",
|
|
5396
|
+
"optional": true,
|
|
5397
|
+
"defaultValue": "true",
|
|
5398
|
+
"description": "Whether to render vertical Y-axis numeric ticks. Defaults to true."
|
|
5399
|
+
},
|
|
5400
|
+
{
|
|
5401
|
+
"name": "showLegend",
|
|
5402
|
+
"type": "boolean",
|
|
5403
|
+
"optional": true,
|
|
5404
|
+
"defaultValue": null,
|
|
5405
|
+
"description": "Whether to render series legend. Defaults to true when series.length > 1."
|
|
5406
|
+
},
|
|
5407
|
+
{
|
|
5408
|
+
"name": "showTooltip",
|
|
5409
|
+
"type": "boolean",
|
|
5410
|
+
"optional": true,
|
|
5411
|
+
"defaultValue": "true",
|
|
5412
|
+
"description": "Whether to display interactive floating tooltip card on hover/touch. Defaults to true."
|
|
5413
|
+
},
|
|
5414
|
+
{
|
|
5415
|
+
"name": "showDots",
|
|
5416
|
+
"type": "boolean",
|
|
5417
|
+
"optional": true,
|
|
5418
|
+
"defaultValue": "false",
|
|
5419
|
+
"description": "Whether to render accent dots on data points. Defaults to false."
|
|
5420
|
+
},
|
|
5421
|
+
{
|
|
5422
|
+
"name": "showGradient",
|
|
5423
|
+
"type": "boolean",
|
|
5424
|
+
"optional": true,
|
|
5425
|
+
"defaultValue": "true",
|
|
5426
|
+
"description": "Whether to apply a subtle vertical gradient to area fills. Defaults to true."
|
|
5427
|
+
},
|
|
5428
|
+
{
|
|
5429
|
+
"name": "showA11yTable",
|
|
5430
|
+
"type": "boolean",
|
|
5431
|
+
"optional": true,
|
|
5432
|
+
"defaultValue": null,
|
|
5433
|
+
"description": "Whether to render a semantic hidden table for screen readers. Defaults to true when caption is provided."
|
|
5434
|
+
},
|
|
5435
|
+
{
|
|
5436
|
+
"name": "valueFormatter",
|
|
5437
|
+
"type": "(value: number) => string",
|
|
5438
|
+
"optional": true,
|
|
5439
|
+
"defaultValue": null,
|
|
5440
|
+
"description": "Value formatter for Y-axis labels and tooltip metrics."
|
|
5441
|
+
},
|
|
5442
|
+
{
|
|
5443
|
+
"name": "indexFormatter",
|
|
5444
|
+
"type": "(value: unknown) => string",
|
|
5445
|
+
"optional": true,
|
|
5446
|
+
"defaultValue": null,
|
|
5447
|
+
"description": "Label formatter for X-axis ticks and tooltip header."
|
|
5448
|
+
},
|
|
5449
|
+
{
|
|
5450
|
+
"name": "emptyMessage",
|
|
5451
|
+
"type": "string",
|
|
5452
|
+
"optional": true,
|
|
5453
|
+
"defaultValue": "\"Brak danych do wyświetlenia\"",
|
|
5454
|
+
"description": "Text to render when `data` is empty. Defaults to \"Brak danych do wyświetlenia\"."
|
|
5455
|
+
},
|
|
5456
|
+
{
|
|
5457
|
+
"name": "height",
|
|
5458
|
+
"type": "number | string",
|
|
5459
|
+
"optional": true,
|
|
5460
|
+
"defaultValue": "280",
|
|
5461
|
+
"description": "Height of the chart in pixels or CSS units. Defaults to 280."
|
|
5462
|
+
},
|
|
5463
|
+
{
|
|
5464
|
+
"name": "width",
|
|
5465
|
+
"type": "number | string",
|
|
5466
|
+
"optional": true,
|
|
5467
|
+
"defaultValue": "\"100%\"",
|
|
5468
|
+
"description": "Width of the chart in pixels or CSS units. Defaults to \"100%\"."
|
|
5469
|
+
},
|
|
5470
|
+
{
|
|
5471
|
+
"name": "margin",
|
|
5472
|
+
"type": "ChartMargin",
|
|
5473
|
+
"optional": true,
|
|
5474
|
+
"defaultValue": null,
|
|
5475
|
+
"description": "Inner chart margins in pixels."
|
|
5476
|
+
},
|
|
5477
|
+
{
|
|
5478
|
+
"name": "ariaLabel",
|
|
5479
|
+
"type": "string",
|
|
5480
|
+
"optional": true,
|
|
5481
|
+
"defaultValue": null,
|
|
5482
|
+
"description": "Accessible label for screen readers."
|
|
5483
|
+
},
|
|
5484
|
+
{
|
|
5485
|
+
"name": "caption",
|
|
5486
|
+
"type": "string",
|
|
5487
|
+
"optional": true,
|
|
5488
|
+
"defaultValue": null,
|
|
5489
|
+
"description": "Screen reader semantic table caption."
|
|
5490
|
+
},
|
|
5491
|
+
{
|
|
5492
|
+
"name": "strokeWidth",
|
|
5493
|
+
"type": "number",
|
|
5494
|
+
"optional": true,
|
|
5495
|
+
"defaultValue": "2",
|
|
5496
|
+
"description": "Stroke width in pixels for line paths. Defaults to 2."
|
|
5497
|
+
},
|
|
5498
|
+
{
|
|
5499
|
+
"name": "activeSeries",
|
|
5500
|
+
"type": "string[]",
|
|
5501
|
+
"optional": true,
|
|
5502
|
+
"defaultValue": null,
|
|
5503
|
+
"description": "Controlled list of active series keys."
|
|
5504
|
+
},
|
|
5505
|
+
{
|
|
5506
|
+
"name": "onSeriesToggle",
|
|
5507
|
+
"type": "(key: string) => void",
|
|
5508
|
+
"optional": true,
|
|
5509
|
+
"defaultValue": null,
|
|
5510
|
+
"description": "Callback fired when user clicks a legend item to toggle series visibility."
|
|
5511
|
+
},
|
|
5512
|
+
{
|
|
5513
|
+
"name": "yTicksCount",
|
|
5514
|
+
"type": "number",
|
|
5515
|
+
"optional": true,
|
|
5516
|
+
"defaultValue": "5",
|
|
5517
|
+
"description": "Number of Y-axis ticks to target in nice scale calculation. Defaults to 5."
|
|
5518
|
+
},
|
|
5519
|
+
{
|
|
5520
|
+
"name": "yDomain",
|
|
5521
|
+
"type": "[number, number]",
|
|
5522
|
+
"optional": true,
|
|
5523
|
+
"defaultValue": null,
|
|
5524
|
+
"description": "Explicit [min, max] domain override for Y-axis."
|
|
5525
|
+
},
|
|
5526
|
+
{
|
|
5527
|
+
"name": "autoScale",
|
|
5528
|
+
"type": "boolean",
|
|
5529
|
+
"optional": true,
|
|
5530
|
+
"defaultValue": "false",
|
|
5531
|
+
"description": "Whether Y-axis auto-scales to data minimum rather than anchoring at zero. Defaults to false."
|
|
5532
|
+
}
|
|
5533
|
+
],
|
|
5534
|
+
"cva": null,
|
|
5535
|
+
"usageSnippet": "<LineChart\n data={monthlyData}\n index=\"month\"\n series={standardSeries}\n curve=\"smooth\"\n height={240}\n/>"
|
|
5536
|
+
},
|
|
5537
|
+
{
|
|
5538
|
+
"name": "AreaChart",
|
|
5539
|
+
"importPath": "import { AreaChart } from \"@kjaniec-dev/ui\";",
|
|
5540
|
+
"description": "Specialized variant of LineChart with subtle SVG vertical gradient fills beneath lines.",
|
|
5541
|
+
"props": [],
|
|
5542
|
+
"cva": null,
|
|
5543
|
+
"usageSnippet": "<AreaChart\n data={monthlyData}\n index=\"month\"\n series={[\n { key: \"revenue\", label: \"Przychód\", color: \"chart1\" },\n { key: \"profit\", label: \"Zysk\", color: \"chart2\" },\n ]}\n curve=\"smooth\"\n valueFormatter={(val) => `${(val / 1000).toFixed(0)}k zł`}\n height={320}\n/>"
|
|
5544
|
+
},
|
|
5545
|
+
{
|
|
5546
|
+
"name": "BarChart",
|
|
5547
|
+
"importPath": "import { BarChart } from \"@kjaniec-dev/ui\";",
|
|
5548
|
+
"description": "Responsive multi-series BarChart supporting grouped and stacked modes,\nvertical and horizontal orientations, rounded corners, tooltips, legend toggling,\nand WCAG AA accessibility table.",
|
|
5549
|
+
"props": [
|
|
5550
|
+
{
|
|
5551
|
+
"name": "data",
|
|
5552
|
+
"type": "Array<Record<string, unknown>>",
|
|
5553
|
+
"optional": false,
|
|
5554
|
+
"defaultValue": null,
|
|
5555
|
+
"description": "Array of tabular data records to plot."
|
|
5556
|
+
},
|
|
5557
|
+
{
|
|
5558
|
+
"name": "index",
|
|
5559
|
+
"type": "string",
|
|
5560
|
+
"optional": false,
|
|
5561
|
+
"defaultValue": null,
|
|
5562
|
+
"description": "Key identifying category or timestamp in each data item (e.g. \"category\", \"month\")."
|
|
5563
|
+
},
|
|
5564
|
+
{
|
|
5565
|
+
"name": "series",
|
|
5566
|
+
"type": "ChartSeries[]",
|
|
5567
|
+
"optional": false,
|
|
5568
|
+
"defaultValue": null,
|
|
5569
|
+
"description": "Series configurations defining data keys, labels, and color assignments."
|
|
5570
|
+
},
|
|
5571
|
+
{
|
|
5572
|
+
"name": "type",
|
|
5573
|
+
"type": "BarChartType",
|
|
5574
|
+
"optional": true,
|
|
5575
|
+
"defaultValue": "\"grouped\"",
|
|
5576
|
+
"description": "Mode of bar presentation: grouped side-by-side or stacked. Defaults to \"grouped\"."
|
|
5577
|
+
},
|
|
5578
|
+
{
|
|
5579
|
+
"name": "layout",
|
|
5580
|
+
"type": "BarChartLayout",
|
|
5581
|
+
"optional": true,
|
|
5582
|
+
"defaultValue": "\"vertical\"",
|
|
5583
|
+
"description": "Orientation of bars: vertical columns or horizontal bars. Defaults to \"vertical\"."
|
|
5584
|
+
},
|
|
5585
|
+
{
|
|
5586
|
+
"name": "radius",
|
|
5587
|
+
"type": "number",
|
|
5588
|
+
"optional": true,
|
|
5589
|
+
"defaultValue": "4",
|
|
5590
|
+
"description": "Corner radius in pixels for rounded bar edges. Defaults to 4."
|
|
5591
|
+
},
|
|
5592
|
+
{
|
|
5593
|
+
"name": "showGrid",
|
|
5594
|
+
"type": "boolean",
|
|
5595
|
+
"optional": true,
|
|
5596
|
+
"defaultValue": "true",
|
|
5597
|
+
"description": "Whether to render background reference grid lines. Defaults to true."
|
|
5598
|
+
},
|
|
5599
|
+
{
|
|
5600
|
+
"name": "showXAxis",
|
|
5601
|
+
"type": "boolean",
|
|
5602
|
+
"optional": true,
|
|
5603
|
+
"defaultValue": "true",
|
|
5604
|
+
"description": "Whether to render horizontal X-axis tick labels. Defaults to true."
|
|
5605
|
+
},
|
|
5606
|
+
{
|
|
5607
|
+
"name": "showYAxis",
|
|
5608
|
+
"type": "boolean",
|
|
5609
|
+
"optional": true,
|
|
5610
|
+
"defaultValue": "true",
|
|
5611
|
+
"description": "Whether to render vertical Y-axis numeric or category ticks. Defaults to true."
|
|
5612
|
+
},
|
|
5613
|
+
{
|
|
5614
|
+
"name": "showLegend",
|
|
5615
|
+
"type": "boolean",
|
|
5616
|
+
"optional": true,
|
|
5617
|
+
"defaultValue": null,
|
|
5618
|
+
"description": "Whether to render series legend. Defaults to true when series.length > 1."
|
|
5619
|
+
},
|
|
5620
|
+
{
|
|
5621
|
+
"name": "showTooltip",
|
|
5622
|
+
"type": "boolean",
|
|
5623
|
+
"optional": true,
|
|
5624
|
+
"defaultValue": "true",
|
|
5625
|
+
"description": "Whether to display interactive floating tooltip card on bar hover/touch. Defaults to true."
|
|
5626
|
+
},
|
|
5627
|
+
{
|
|
5628
|
+
"name": "showA11yTable",
|
|
5629
|
+
"type": "boolean",
|
|
5630
|
+
"optional": true,
|
|
5631
|
+
"defaultValue": null,
|
|
5632
|
+
"description": "Whether to render a semantic hidden table for screen readers. Defaults to true when caption is provided."
|
|
5633
|
+
},
|
|
5634
|
+
{
|
|
5635
|
+
"name": "valueFormatter",
|
|
5636
|
+
"type": "(value: number) => string",
|
|
5637
|
+
"optional": true,
|
|
5638
|
+
"defaultValue": null,
|
|
5639
|
+
"description": "Value formatter for numeric axis labels and tooltip metrics."
|
|
5640
|
+
},
|
|
5641
|
+
{
|
|
5642
|
+
"name": "indexFormatter",
|
|
5643
|
+
"type": "(value: unknown) => string",
|
|
5644
|
+
"optional": true,
|
|
5645
|
+
"defaultValue": null,
|
|
5646
|
+
"description": "Label formatter for category axis ticks and tooltip header."
|
|
5647
|
+
},
|
|
5648
|
+
{
|
|
5649
|
+
"name": "emptyMessage",
|
|
5650
|
+
"type": "string",
|
|
5651
|
+
"optional": true,
|
|
5652
|
+
"defaultValue": "\"Brak danych do wyświetlenia\"",
|
|
5653
|
+
"description": "Text to render when `data` is empty. Defaults to \"Brak danych do wyświetlenia\"."
|
|
5654
|
+
},
|
|
5655
|
+
{
|
|
5656
|
+
"name": "height",
|
|
5657
|
+
"type": "number | string",
|
|
5658
|
+
"optional": true,
|
|
5659
|
+
"defaultValue": "280",
|
|
5660
|
+
"description": "Height of the chart in pixels or CSS units. Defaults to 280."
|
|
5661
|
+
},
|
|
5662
|
+
{
|
|
5663
|
+
"name": "width",
|
|
5664
|
+
"type": "number | string",
|
|
5665
|
+
"optional": true,
|
|
5666
|
+
"defaultValue": "\"100%\"",
|
|
5667
|
+
"description": "Width of the chart in pixels or CSS units. Defaults to \"100%\"."
|
|
5668
|
+
},
|
|
5669
|
+
{
|
|
5670
|
+
"name": "margin",
|
|
5671
|
+
"type": "ChartMargin",
|
|
5672
|
+
"optional": true,
|
|
5673
|
+
"defaultValue": null,
|
|
5674
|
+
"description": "Inner chart margins in pixels."
|
|
5675
|
+
},
|
|
5676
|
+
{
|
|
5677
|
+
"name": "ariaLabel",
|
|
5678
|
+
"type": "string",
|
|
5679
|
+
"optional": true,
|
|
5680
|
+
"defaultValue": null,
|
|
5681
|
+
"description": "Accessible label for screen readers."
|
|
5682
|
+
},
|
|
5683
|
+
{
|
|
5684
|
+
"name": "caption",
|
|
5685
|
+
"type": "string",
|
|
5686
|
+
"optional": true,
|
|
5687
|
+
"defaultValue": null,
|
|
5688
|
+
"description": "Screen reader semantic table caption."
|
|
5689
|
+
},
|
|
5690
|
+
{
|
|
5691
|
+
"name": "activeSeries",
|
|
5692
|
+
"type": "string[]",
|
|
5693
|
+
"optional": true,
|
|
5694
|
+
"defaultValue": null,
|
|
5695
|
+
"description": "Controlled list of active series keys."
|
|
5696
|
+
},
|
|
5697
|
+
{
|
|
5698
|
+
"name": "onSeriesToggle",
|
|
5699
|
+
"type": "(key: string) => void",
|
|
5700
|
+
"optional": true,
|
|
5701
|
+
"defaultValue": null,
|
|
5702
|
+
"description": "Callback fired when user clicks a legend item to toggle series visibility."
|
|
5703
|
+
},
|
|
5704
|
+
{
|
|
5705
|
+
"name": "yTicksCount",
|
|
5706
|
+
"type": "number",
|
|
5707
|
+
"optional": true,
|
|
5708
|
+
"defaultValue": "5",
|
|
5709
|
+
"description": "Number of numeric ticks to target in nice scale calculation. Defaults to 5."
|
|
5710
|
+
},
|
|
5711
|
+
{
|
|
5712
|
+
"name": "yDomain",
|
|
5713
|
+
"type": "[number, number]",
|
|
5714
|
+
"optional": true,
|
|
5715
|
+
"defaultValue": null,
|
|
5716
|
+
"description": "Explicit [min, max] domain override for the numeric value axis."
|
|
5717
|
+
},
|
|
5718
|
+
{
|
|
5719
|
+
"name": "autoScale",
|
|
5720
|
+
"type": "boolean",
|
|
5721
|
+
"optional": true,
|
|
5722
|
+
"defaultValue": "false",
|
|
5723
|
+
"description": "Whether numeric axis auto-scales to data minimum rather than anchoring at zero. Defaults to false."
|
|
5724
|
+
},
|
|
5725
|
+
{
|
|
5726
|
+
"name": "barMaxWidth",
|
|
5727
|
+
"type": "number",
|
|
5728
|
+
"optional": true,
|
|
5729
|
+
"defaultValue": null,
|
|
5730
|
+
"description": "Maximum bar thickness in pixels."
|
|
5731
|
+
},
|
|
5732
|
+
{
|
|
5733
|
+
"name": "groupPadding",
|
|
5734
|
+
"type": "number",
|
|
5735
|
+
"optional": true,
|
|
5736
|
+
"defaultValue": "0.2",
|
|
5737
|
+
"description": "Fractional padding between category groups (0 to 1). Defaults to 0.2."
|
|
5738
|
+
},
|
|
5739
|
+
{
|
|
5740
|
+
"name": "barPadding",
|
|
5741
|
+
"type": "number",
|
|
5742
|
+
"optional": true,
|
|
5743
|
+
"defaultValue": "2",
|
|
5744
|
+
"description": "Pixel gap between bars within a grouped category. Defaults to 2."
|
|
5745
|
+
},
|
|
5746
|
+
{
|
|
5747
|
+
"name": "barClassName",
|
|
5748
|
+
"type": "string",
|
|
5749
|
+
"optional": true,
|
|
5750
|
+
"defaultValue": null,
|
|
5751
|
+
"description": "Additional CSS class applied to each SVG bar rect."
|
|
5752
|
+
}
|
|
5753
|
+
],
|
|
5754
|
+
"cva": null,
|
|
5755
|
+
"usageSnippet": "<BarChart\n data={[]}\n index=\"month\"\n series={standardSeries}\n emptyMessage=\"Brak danych historycznych dla wybranego okresu\"\n height={220}\n/>"
|
|
5756
|
+
},
|
|
5757
|
+
{
|
|
5758
|
+
"name": "DonutChart",
|
|
5759
|
+
"importPath": "import { DonutChart } from \"@kjaniec-dev/ui\";",
|
|
5760
|
+
"description": "Responsive DonutChart component rendering SVG annular ring segments,\ncenter content slot, hover highlights, interactive legend toggling,\nfloating tooltip, and WCAG AA screen reader table.",
|
|
5761
|
+
"props": [
|
|
5762
|
+
{
|
|
5763
|
+
"name": "data",
|
|
5764
|
+
"type": "Array<Record<string, unknown>>",
|
|
5765
|
+
"optional": false,
|
|
5766
|
+
"defaultValue": null,
|
|
5767
|
+
"description": "Array of data records to plot."
|
|
5768
|
+
},
|
|
5769
|
+
{
|
|
5770
|
+
"name": "category",
|
|
5771
|
+
"type": "string",
|
|
5772
|
+
"optional": false,
|
|
5773
|
+
"defaultValue": null,
|
|
5774
|
+
"description": "Key identifying category label in each data item (e.g. \"source\", \"name\")."
|
|
5775
|
+
},
|
|
5776
|
+
{
|
|
5777
|
+
"name": "value",
|
|
5778
|
+
"type": "string",
|
|
5779
|
+
"optional": false,
|
|
5780
|
+
"defaultValue": null,
|
|
5781
|
+
"description": "Key identifying numeric value in each data item (e.g. \"visitors\", \"amount\")."
|
|
5782
|
+
},
|
|
5783
|
+
{
|
|
5784
|
+
"name": "centerLabel",
|
|
5785
|
+
"type": "React.ReactNode",
|
|
5786
|
+
"optional": true,
|
|
5787
|
+
"defaultValue": null,
|
|
5788
|
+
"description": "Custom label or metric element rendered in the center hole of the donut ring."
|
|
5789
|
+
},
|
|
5790
|
+
{
|
|
5791
|
+
"name": "size",
|
|
5792
|
+
"type": "DonutChartSize",
|
|
5793
|
+
"optional": true,
|
|
5794
|
+
"defaultValue": "\"md\"",
|
|
5795
|
+
"description": "Chart diameter: predefined \"sm\" (160px), \"md\" (220px), \"lg\" (280px) or custom pixel number. Defaults to \"md\"."
|
|
5796
|
+
},
|
|
5797
|
+
{
|
|
5798
|
+
"name": "innerRadius",
|
|
5799
|
+
"type": "number",
|
|
5800
|
+
"optional": true,
|
|
5801
|
+
"defaultValue": null,
|
|
5802
|
+
"description": "Inner radius ratio (0 to 1, relative to outerRadius) or absolute pixel radius (> 1). Defaults to 0.65. Set to 0 for pie chart."
|
|
5803
|
+
},
|
|
5804
|
+
{
|
|
5805
|
+
"name": "colors",
|
|
5806
|
+
"type": "(ChartColor | string)[]",
|
|
5807
|
+
"optional": true,
|
|
5808
|
+
"defaultValue": null,
|
|
5809
|
+
"description": "Custom color palette or token sequence (e.g. [\"chart1\", \"chart2\"] or hex strings)."
|
|
5810
|
+
},
|
|
5811
|
+
{
|
|
5812
|
+
"name": "showLegend",
|
|
5813
|
+
"type": "boolean",
|
|
5814
|
+
"optional": true,
|
|
5815
|
+
"defaultValue": "true",
|
|
5816
|
+
"description": "Whether to render series legend. Defaults to true."
|
|
5817
|
+
},
|
|
5818
|
+
{
|
|
5819
|
+
"name": "showTooltip",
|
|
5820
|
+
"type": "boolean",
|
|
5821
|
+
"optional": true,
|
|
5822
|
+
"defaultValue": "true",
|
|
5823
|
+
"description": "Whether to display interactive floating tooltip card on slice hover/touch. Defaults to true."
|
|
5824
|
+
},
|
|
5825
|
+
{
|
|
5826
|
+
"name": "showA11yTable",
|
|
5827
|
+
"type": "boolean",
|
|
5828
|
+
"optional": true,
|
|
5829
|
+
"defaultValue": null,
|
|
5830
|
+
"description": "Whether to render a semantic hidden table for screen readers. Defaults to true when caption is provided."
|
|
5831
|
+
},
|
|
5832
|
+
{
|
|
5833
|
+
"name": "valueFormatter",
|
|
5834
|
+
"type": "(value: number) => string",
|
|
5835
|
+
"optional": true,
|
|
5836
|
+
"defaultValue": null,
|
|
5837
|
+
"description": "Value formatter for numeric tooltip metrics and accessible table values."
|
|
5838
|
+
},
|
|
5839
|
+
{
|
|
5840
|
+
"name": "emptyMessage",
|
|
5841
|
+
"type": "string",
|
|
5842
|
+
"optional": true,
|
|
5843
|
+
"defaultValue": "\"Brak danych do wyświetlenia\"",
|
|
5844
|
+
"description": "Text to render when `data` is empty. Defaults to \"Brak danych do wyświetlenia\"."
|
|
5845
|
+
},
|
|
5846
|
+
{
|
|
5847
|
+
"name": "ariaLabel",
|
|
5848
|
+
"type": "string",
|
|
5849
|
+
"optional": true,
|
|
5850
|
+
"defaultValue": null,
|
|
5851
|
+
"description": "Accessible label for screen readers."
|
|
5852
|
+
},
|
|
5853
|
+
{
|
|
5854
|
+
"name": "caption",
|
|
5855
|
+
"type": "string",
|
|
5856
|
+
"optional": true,
|
|
5857
|
+
"defaultValue": null,
|
|
5858
|
+
"description": "Screen reader semantic table caption."
|
|
5859
|
+
},
|
|
5860
|
+
{
|
|
5861
|
+
"name": "valueLabel",
|
|
5862
|
+
"type": "string",
|
|
5863
|
+
"optional": true,
|
|
5864
|
+
"defaultValue": "\"Wartość\"",
|
|
5865
|
+
"description": "Column header label for numeric metric in screen reader table. Defaults to \"Wartość\"."
|
|
5866
|
+
},
|
|
5867
|
+
{
|
|
5868
|
+
"name": "activeCategories",
|
|
5869
|
+
"type": "string[]",
|
|
5870
|
+
"optional": true,
|
|
5871
|
+
"defaultValue": null,
|
|
5872
|
+
"description": "Controlled list of active category keys."
|
|
5873
|
+
},
|
|
5874
|
+
{
|
|
5875
|
+
"name": "onCategoryToggle",
|
|
5876
|
+
"type": "(category: string) => void",
|
|
5877
|
+
"optional": true,
|
|
5878
|
+
"defaultValue": null,
|
|
5879
|
+
"description": "Callback fired when user clicks a legend item to toggle category visibility."
|
|
5880
|
+
},
|
|
5881
|
+
{
|
|
5882
|
+
"name": "sliceClassName",
|
|
5883
|
+
"type": "string",
|
|
5884
|
+
"optional": true,
|
|
5885
|
+
"defaultValue": null,
|
|
5886
|
+
"description": "Additional CSS class applied to each SVG path slice."
|
|
5887
|
+
}
|
|
5888
|
+
],
|
|
5889
|
+
"cva": null,
|
|
5890
|
+
"usageSnippet": "<DonutChart\n data={trafficSourcesData.slice(0, 3)}\n category=\"source\"\n value=\"visitors\"\n size=\"sm\"\n centerLabel={<span className=\"text-xs font-bold\">SM</span>}\n/>"
|
|
4662
5891
|
}
|
|
4663
5892
|
]
|