@epilot/volt-ui-mcp 0.1.3 → 0.1.4
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 +2 -2
- package/registry.json +662 -1281
package/registry.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"generatedAt": "2026-
|
|
3
|
+
"generatedAt": "2026-04-20T09:22:53.529Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "Accordion",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
{
|
|
74
74
|
"language": "tsx",
|
|
75
75
|
"meta": "lineNumbers",
|
|
76
|
-
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
76
|
+
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui-react\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
77
77
|
}
|
|
78
78
|
]
|
|
79
79
|
},
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
{
|
|
113
113
|
"language": "tsx",
|
|
114
114
|
"meta": "lineNumbers",
|
|
115
|
-
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
115
|
+
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui-react\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
116
116
|
}
|
|
117
117
|
]
|
|
118
118
|
},
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
{
|
|
152
152
|
"language": "tsx",
|
|
153
153
|
"meta": "lineNumbers",
|
|
154
|
-
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
154
|
+
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui-react\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
155
155
|
}
|
|
156
156
|
]
|
|
157
157
|
},
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
{
|
|
203
203
|
"language": "tsx",
|
|
204
204
|
"meta": "lineNumbers",
|
|
205
|
-
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
205
|
+
"code": "import { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from \"@epilot/volt-ui-react\"\n\n<Accordion type=\"multiple\" className=\"w-96 flex flex-col\">\n <AccordionItem value=\"item-1\">\n <AccordionTrigger align=\"start\">Product Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n\n <Separator />\n \n <AccordionItem value=\"item-2\">\n <AccordionTrigger align=\"start\">Shipping Information</AccordionTrigger>\n <AccordionContent>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</AccordionContent>\n </AccordionItem>\n</Accordion>"
|
|
206
206
|
}
|
|
207
207
|
]
|
|
208
208
|
},
|
|
@@ -241,7 +241,7 @@
|
|
|
241
241
|
{
|
|
242
242
|
"language": "tsx",
|
|
243
243
|
"meta": "lineNumbers",
|
|
244
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
244
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
245
245
|
}
|
|
246
246
|
]
|
|
247
247
|
},
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
{
|
|
287
287
|
"language": "tsx",
|
|
288
288
|
"meta": "lineNumbers",
|
|
289
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
289
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
290
290
|
}
|
|
291
291
|
]
|
|
292
292
|
},
|
|
@@ -331,7 +331,7 @@
|
|
|
331
331
|
{
|
|
332
332
|
"language": "tsx",
|
|
333
333
|
"meta": "lineNumbers",
|
|
334
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
334
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
335
335
|
}
|
|
336
336
|
]
|
|
337
337
|
},
|
|
@@ -364,7 +364,7 @@
|
|
|
364
364
|
{
|
|
365
365
|
"language": "tsx",
|
|
366
366
|
"meta": "lineNumbers",
|
|
367
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
367
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
368
368
|
}
|
|
369
369
|
]
|
|
370
370
|
},
|
|
@@ -391,7 +391,7 @@
|
|
|
391
391
|
{
|
|
392
392
|
"language": "tsx",
|
|
393
393
|
"meta": "lineNumbers",
|
|
394
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
394
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
395
395
|
}
|
|
396
396
|
]
|
|
397
397
|
},
|
|
@@ -418,7 +418,7 @@
|
|
|
418
418
|
{
|
|
419
419
|
"language": "tsx",
|
|
420
420
|
"meta": "lineNumbers",
|
|
421
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
421
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
422
422
|
}
|
|
423
423
|
]
|
|
424
424
|
},
|
|
@@ -445,7 +445,7 @@
|
|
|
445
445
|
{
|
|
446
446
|
"language": "tsx",
|
|
447
447
|
"meta": "lineNumbers",
|
|
448
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
448
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
449
449
|
}
|
|
450
450
|
]
|
|
451
451
|
},
|
|
@@ -472,7 +472,7 @@
|
|
|
472
472
|
{
|
|
473
473
|
"language": "tsx",
|
|
474
474
|
"meta": "lineNumbers",
|
|
475
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
475
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
476
476
|
}
|
|
477
477
|
]
|
|
478
478
|
},
|
|
@@ -505,7 +505,7 @@
|
|
|
505
505
|
{
|
|
506
506
|
"language": "tsx",
|
|
507
507
|
"meta": "lineNumbers",
|
|
508
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
508
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
509
509
|
}
|
|
510
510
|
]
|
|
511
511
|
},
|
|
@@ -532,7 +532,7 @@
|
|
|
532
532
|
{
|
|
533
533
|
"language": "tsx",
|
|
534
534
|
"meta": "lineNumbers",
|
|
535
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
535
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
536
536
|
}
|
|
537
537
|
]
|
|
538
538
|
},
|
|
@@ -559,7 +559,7 @@
|
|
|
559
559
|
{
|
|
560
560
|
"language": "tsx",
|
|
561
561
|
"meta": "lineNumbers",
|
|
562
|
-
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
562
|
+
"code": "import { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogDescription, AlertDialogFooter, AlertDialogCancel, AlertDialogAction, Button, AlertDialogPortal } from \"@epilot/volt-ui-react\"\n\n<AlertDialog>\n <AlertDialogTrigger asChild>\n <Button destructive>Delete Account</Button>\n </AlertDialogTrigger>\n <AlertDialogPortal container={document.getElementById(\"root\")}>\n <AlertDialogContent size=\"lg\">\n <AlertDialogHeader>\n <AlertDialogTitle>Are you absolutely sure?</AlertDialogTitle>\n <AlertDialogDescription>\n This action cannot be undone. This will permanently delete your\n account and remove your data from our servers.\n </AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>Cancel</AlertDialogCancel>\n <AlertDialogAction variant=\"primary\">Confirm</AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialogPortal>\n</AlertDialog>"
|
|
563
563
|
}
|
|
564
564
|
]
|
|
565
565
|
},
|
|
@@ -577,7 +577,7 @@
|
|
|
577
577
|
"props": [
|
|
578
578
|
{
|
|
579
579
|
"name": "`color`",
|
|
580
|
-
"type": "\"accent\" | \"neutral\" | \"success\" | \"warning\" | \"error\" | \"blue\" | \"sky\" | \"mint\" | \"green\" | \"teal\" | \"cyan\" | \"indigo\" | \"purple\" | \"pink\" | \"red\" | \"orange\" | \"yellow\" | \"bronze\" | \"gray\"",
|
|
580
|
+
"type": "\"accent\" | \"neutral\" | \"success\" | \"warning\" | \"error\" | \"blue\" | \"sky\" | \"mint\" | \"lime\" | \"green\" | \"teal\" | \"cyan\" | \"indigo\" | \"purple\" | \"pink\" | \"red\" | \"orange\" | \"yellow\" | \"bronze\" | \"gray\"",
|
|
581
581
|
"default": "`\"accent\"`",
|
|
582
582
|
"description": "The color variant. Semantic colors (accent, neutral, success, warning, error) are recommended for status. Named colors are available for custom categorization."
|
|
583
583
|
},
|
|
@@ -610,7 +610,115 @@
|
|
|
610
610
|
{
|
|
611
611
|
"language": "tsx",
|
|
612
612
|
"meta": "lineNumbers",
|
|
613
|
-
"code": "import { Badge } from \"@epilot/volt-ui\"\n\n<Badge color=\"accent\">Accent</Badge>\n<Badge color=\"success\">Success</Badge>\n<Badge color=\"error\">Error</Badge>"
|
|
613
|
+
"code": "import { Badge } from \"@epilot/volt-ui-react\"\n\n<Badge color=\"accent\">Accent</Badge>\n<Badge color=\"success\">Success</Badge>\n<Badge color=\"error\">Error</Badge>"
|
|
614
|
+
}
|
|
615
|
+
]
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"name": "Breadcrumb",
|
|
619
|
+
"title": "Breadcrumb",
|
|
620
|
+
"description": "A navigation aid that shows the user's current location within a hierarchy",
|
|
621
|
+
"docsPath": "docs/content/docs/components/breadcrumb.mdx",
|
|
622
|
+
"docSlug": "breadcrumb",
|
|
623
|
+
"documentationUrl": null,
|
|
624
|
+
"apiReferenceUrl": null,
|
|
625
|
+
"sourcePaths": [
|
|
626
|
+
"src/components/breadcrumb/breadcrumb.tsx"
|
|
627
|
+
],
|
|
628
|
+
"props": [
|
|
629
|
+
{
|
|
630
|
+
"name": "`separator`",
|
|
631
|
+
"type": "`ReactNode`",
|
|
632
|
+
"default": "`\"/\"`",
|
|
633
|
+
"description": "Content rendered between items"
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"name": "`className`",
|
|
637
|
+
"type": "`string`",
|
|
638
|
+
"default": "-",
|
|
639
|
+
"description": "Additional CSS classes on the `<nav>`"
|
|
640
|
+
}
|
|
641
|
+
],
|
|
642
|
+
"examples": [
|
|
643
|
+
{
|
|
644
|
+
"language": "tsx",
|
|
645
|
+
"meta": "lineNumbers",
|
|
646
|
+
"code": "import { Breadcrumb, BreadcrumbItem } from \"@epilot/volt-ui-react\"\n\n<Breadcrumb>\n <BreadcrumbItem asChild>\n <Link to=\"/contacts\">Contacts</Link>\n </BreadcrumbItem>\n <BreadcrumbItem isCurrent>John Doe</BreadcrumbItem>\n</Breadcrumb>"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"language": "tsx",
|
|
650
|
+
"meta": "lineNumbers",
|
|
651
|
+
"code": "<Breadcrumb>\n <BreadcrumbItem isCurrent>Summary</BreadcrumbItem>\n</Breadcrumb>"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"language": "tsx",
|
|
655
|
+
"meta": "lineNumbers",
|
|
656
|
+
"code": "<Breadcrumb separator={<ChevronRight className=\"size-3\" />}>\n <BreadcrumbItem href=\"/\">Home</BreadcrumbItem>\n <BreadcrumbItem href=\"/products\">Products</BreadcrumbItem>\n <BreadcrumbItem isCurrent>Details</BreadcrumbItem>\n</Breadcrumb>"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"language": "tsx",
|
|
660
|
+
"meta": "lineNumbers",
|
|
661
|
+
"code": "import { Link } from \"react-router-dom\"\n\n<Breadcrumb>\n <BreadcrumbItem asChild>\n <Link to=\"/contacts\">Contacts</Link>\n </BreadcrumbItem>\n <BreadcrumbItem isCurrent>John Doe</BreadcrumbItem>\n</Breadcrumb>"
|
|
662
|
+
}
|
|
663
|
+
]
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"name": "BreadcrumbItem",
|
|
667
|
+
"title": "Breadcrumb",
|
|
668
|
+
"description": "A navigation aid that shows the user's current location within a hierarchy",
|
|
669
|
+
"docsPath": "docs/content/docs/components/breadcrumb.mdx",
|
|
670
|
+
"docSlug": "breadcrumb",
|
|
671
|
+
"documentationUrl": null,
|
|
672
|
+
"apiReferenceUrl": null,
|
|
673
|
+
"sourcePaths": [
|
|
674
|
+
"src/components/breadcrumb/breadcrumb.tsx"
|
|
675
|
+
],
|
|
676
|
+
"props": [
|
|
677
|
+
{
|
|
678
|
+
"name": "`asChild`",
|
|
679
|
+
"type": "`boolean`",
|
|
680
|
+
"default": "`false`",
|
|
681
|
+
"description": "Render as the child element (e.g. router Link)"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"name": "`href`",
|
|
685
|
+
"type": "`string`",
|
|
686
|
+
"default": "-",
|
|
687
|
+
"description": "If provided, renders as `<a>`. Ignored when `asChild` is true"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"name": "`isCurrent`",
|
|
691
|
+
"type": "`boolean`",
|
|
692
|
+
"default": "`false`",
|
|
693
|
+
"description": "Marks as current page. Adds `aria-current=\"page\"` and removes link styling"
|
|
694
|
+
},
|
|
695
|
+
{
|
|
696
|
+
"name": "`className`",
|
|
697
|
+
"type": "`string`",
|
|
698
|
+
"default": "-",
|
|
699
|
+
"description": "Additional CSS classes"
|
|
700
|
+
}
|
|
701
|
+
],
|
|
702
|
+
"examples": [
|
|
703
|
+
{
|
|
704
|
+
"language": "tsx",
|
|
705
|
+
"meta": "lineNumbers",
|
|
706
|
+
"code": "import { Breadcrumb, BreadcrumbItem } from \"@epilot/volt-ui-react\"\n\n<Breadcrumb>\n <BreadcrumbItem asChild>\n <Link to=\"/contacts\">Contacts</Link>\n </BreadcrumbItem>\n <BreadcrumbItem isCurrent>John Doe</BreadcrumbItem>\n</Breadcrumb>"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"language": "tsx",
|
|
710
|
+
"meta": "lineNumbers",
|
|
711
|
+
"code": "<Breadcrumb>\n <BreadcrumbItem isCurrent>Summary</BreadcrumbItem>\n</Breadcrumb>"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"language": "tsx",
|
|
715
|
+
"meta": "lineNumbers",
|
|
716
|
+
"code": "<Breadcrumb separator={<ChevronRight className=\"size-3\" />}>\n <BreadcrumbItem href=\"/\">Home</BreadcrumbItem>\n <BreadcrumbItem href=\"/products\">Products</BreadcrumbItem>\n <BreadcrumbItem isCurrent>Details</BreadcrumbItem>\n</Breadcrumb>"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"language": "tsx",
|
|
720
|
+
"meta": "lineNumbers",
|
|
721
|
+
"code": "import { Link } from \"react-router-dom\"\n\n<Breadcrumb>\n <BreadcrumbItem asChild>\n <Link to=\"/contacts\">Contacts</Link>\n </BreadcrumbItem>\n <BreadcrumbItem isCurrent>John Doe</BreadcrumbItem>\n</Breadcrumb>"
|
|
614
722
|
}
|
|
615
723
|
]
|
|
616
724
|
},
|
|
@@ -628,7 +736,7 @@
|
|
|
628
736
|
"props": [
|
|
629
737
|
{
|
|
630
738
|
"name": "`variant`",
|
|
631
|
-
"type": "`\"primary\"` | `\"secondary\"` | `\"tertiary\"`",
|
|
739
|
+
"type": "`\"primary\"` | `\"secondary\"` | `\"tertiary\"` | `\"ghost\"`",
|
|
632
740
|
"default": "`\"primary\"`",
|
|
633
741
|
"description": "The visual style variant of the button."
|
|
634
742
|
},
|
|
@@ -661,12 +769,12 @@
|
|
|
661
769
|
{
|
|
662
770
|
"language": "tsx",
|
|
663
771
|
"meta": "lineNumbers",
|
|
664
|
-
"code": "import { Button } from \"@epilot/volt-ui\";\n\n<Button variant=\"primary\">Primary</Button>\n<Button variant=\"secondary\" shape=\"normal\">Secondary</Button>\n<Button variant=\"tertiary\" shape=\"normal\">Tertiary</Button>\n<Button size=\"icon\"><PlusIcon /></Button>\n\n<Button destructive variant=\"primary\">Primary</Button>\n<Button destructive variant=\"secondary\">Secondary</Button>\n<Button destructive variant=\"tertiary\">Tertiary</Button>\n<Button destructive size=\"icon\"><PlusIcon /></Button></div>"
|
|
772
|
+
"code": "import { Button } from \"@epilot/volt-ui-react\";\n\n<Button variant=\"primary\">Primary</Button>\n<Button variant=\"secondary\" shape=\"normal\">Secondary</Button>\n<Button variant=\"tertiary\" shape=\"normal\">Tertiary</Button>\n<Button size=\"icon\"><PlusIcon /></Button>\n\n<Button destructive variant=\"primary\">Primary</Button>\n<Button destructive variant=\"secondary\">Secondary</Button>\n<Button destructive variant=\"tertiary\">Tertiary</Button>\n<Button destructive size=\"icon\"><PlusIcon /></Button></div>"
|
|
665
773
|
},
|
|
666
774
|
{
|
|
667
775
|
"language": "tsx",
|
|
668
776
|
"meta": "lineNumbers",
|
|
669
|
-
"code": "import { Button } from \"@epilot/volt-ui\";\n\n<Button size=\"xs\">Extra Small</Button>\n<Button size=\"sm\">Small</Button>\n<Button size=\"base\">Base</Button>\n<Button size=\"lg\">Large</Button>\n\n<Button size=\"icon-xs\"><PlusIcon /></Button>\n<Button size=\"icon-sm\"><PlusIcon /></Button>\n<Button size=\"icon\"><PlusIcon /></Button>\n<Button size=\"icon-lg\"><PlusIcon /></Button>"
|
|
777
|
+
"code": "import { Button } from \"@epilot/volt-ui-react\";\n\n<Button size=\"xs\">Extra Small</Button>\n<Button size=\"sm\">Small</Button>\n<Button size=\"base\">Base</Button>\n<Button size=\"lg\">Large</Button>\n\n<Button size=\"icon-xs\"><PlusIcon /></Button>\n<Button size=\"icon-sm\"><PlusIcon /></Button>\n<Button size=\"icon\"><PlusIcon /></Button>\n<Button size=\"icon-lg\"><PlusIcon /></Button>"
|
|
670
778
|
},
|
|
671
779
|
{
|
|
672
780
|
"language": "tsx",
|
|
@@ -710,7 +818,7 @@
|
|
|
710
818
|
{
|
|
711
819
|
"language": "tsx",
|
|
712
820
|
"meta": "lineNumbers",
|
|
713
|
-
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
821
|
+
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui-react\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
714
822
|
}
|
|
715
823
|
]
|
|
716
824
|
},
|
|
@@ -743,7 +851,7 @@
|
|
|
743
851
|
{
|
|
744
852
|
"language": "tsx",
|
|
745
853
|
"meta": "lineNumbers",
|
|
746
|
-
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
854
|
+
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui-react\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
747
855
|
}
|
|
748
856
|
]
|
|
749
857
|
},
|
|
@@ -782,7 +890,7 @@
|
|
|
782
890
|
{
|
|
783
891
|
"language": "tsx",
|
|
784
892
|
"meta": "lineNumbers",
|
|
785
|
-
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
893
|
+
"code": "import { ButtonGroup, ButtonGroupSeparator, Button } from \"@epilot/volt-ui-react\";\n\n<ButtonGroup>\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator />\n <Button>Add dashboard</Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button variant=\"secondary\">Action</Button>\n <ButtonGroupSeparator />\n <Button variant=\"secondary\"><ChevronDownIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup>\n <Button destructive>Action</Button>\n <ButtonGroupSeparator />\n <Button destructive><EllipsisIcon /></Button>\n</ButtonGroup>\n\n<ButtonGroup orientation=\"vertical\">\n <Button><PlusIcon /></Button>\n <ButtonGroupSeparator orientation=\"vertical\" />\n <Button><MinusIcon /></Button>\n</ButtonGroup>"
|
|
786
894
|
}
|
|
787
895
|
]
|
|
788
896
|
},
|
|
@@ -863,7 +971,7 @@
|
|
|
863
971
|
{
|
|
864
972
|
"language": "tsx",
|
|
865
973
|
"meta": "lineNumbers",
|
|
866
|
-
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
974
|
+
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui-react\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
867
975
|
},
|
|
868
976
|
{
|
|
869
977
|
"language": "tsx",
|
|
@@ -931,19 +1039,19 @@
|
|
|
931
1039
|
"name": "`customIcon`",
|
|
932
1040
|
"type": "`React.ReactNode`",
|
|
933
1041
|
"default": "-",
|
|
934
|
-
"description": "A custom icon
|
|
1042
|
+
"description": "A custom icon and pass `data-slot=\"callout-icon\"` as props"
|
|
935
1043
|
}
|
|
936
1044
|
],
|
|
937
1045
|
"examples": [
|
|
938
1046
|
{
|
|
939
1047
|
"language": "tsx",
|
|
940
1048
|
"meta": "lineNumbers",
|
|
941
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1049
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
942
1050
|
},
|
|
943
1051
|
{
|
|
944
1052
|
"language": "tsx",
|
|
945
1053
|
"meta": "lineNumbers",
|
|
946
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle
|
|
1054
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle data-slot=\"callout-icon\" />}>\n <CalloutTitle>Custom Icon</CalloutTitle>\n <CalloutDescription>This callout uses a custom icon from Tabler Icons.</CalloutDescription>\n</Callout>\n \n// Hide icon completely\n<Callout variant=\"warning\" hideIcon>\n <CalloutTitle>No Icon</CalloutTitle>\n <CalloutDescription>Use hideIcon prop to hide the icon completely.</CalloutDescription>\n</Callout>"
|
|
947
1055
|
}
|
|
948
1056
|
]
|
|
949
1057
|
},
|
|
@@ -976,12 +1084,12 @@
|
|
|
976
1084
|
{
|
|
977
1085
|
"language": "tsx",
|
|
978
1086
|
"meta": "lineNumbers",
|
|
979
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1087
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
980
1088
|
},
|
|
981
1089
|
{
|
|
982
1090
|
"language": "tsx",
|
|
983
1091
|
"meta": "lineNumbers",
|
|
984
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle
|
|
1092
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle data-slot=\"callout-icon\" />}>\n <CalloutTitle>Custom Icon</CalloutTitle>\n <CalloutDescription>This callout uses a custom icon from Tabler Icons.</CalloutDescription>\n</Callout>\n \n// Hide icon completely\n<Callout variant=\"warning\" hideIcon>\n <CalloutTitle>No Icon</CalloutTitle>\n <CalloutDescription>Use hideIcon prop to hide the icon completely.</CalloutDescription>\n</Callout>"
|
|
985
1093
|
}
|
|
986
1094
|
]
|
|
987
1095
|
},
|
|
@@ -1008,12 +1116,12 @@
|
|
|
1008
1116
|
{
|
|
1009
1117
|
"language": "tsx",
|
|
1010
1118
|
"meta": "lineNumbers",
|
|
1011
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1119
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1012
1120
|
},
|
|
1013
1121
|
{
|
|
1014
1122
|
"language": "tsx",
|
|
1015
1123
|
"meta": "lineNumbers",
|
|
1016
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle
|
|
1124
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle data-slot=\"callout-icon\" />}>\n <CalloutTitle>Custom Icon</CalloutTitle>\n <CalloutDescription>This callout uses a custom icon from Tabler Icons.</CalloutDescription>\n</Callout>\n \n// Hide icon completely\n<Callout variant=\"warning\" hideIcon>\n <CalloutTitle>No Icon</CalloutTitle>\n <CalloutDescription>Use hideIcon prop to hide the icon completely.</CalloutDescription>\n</Callout>"
|
|
1017
1125
|
}
|
|
1018
1126
|
]
|
|
1019
1127
|
},
|
|
@@ -1040,12 +1148,12 @@
|
|
|
1040
1148
|
{
|
|
1041
1149
|
"language": "tsx",
|
|
1042
1150
|
"meta": "lineNumbers",
|
|
1043
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1151
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\n\n<Callout variant=\"info\">\n <CalloutTitle>Info</CalloutTitle>\n <CalloutDescription>This is an information message.</CalloutDescription>\n <CalloutAction>\n <Button variant=\"secondary\">Close</Button>\n </CalloutAction>\n</Callout>"
|
|
1044
1152
|
},
|
|
1045
1153
|
{
|
|
1046
1154
|
"language": "tsx",
|
|
1047
1155
|
"meta": "lineNumbers",
|
|
1048
|
-
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle
|
|
1156
|
+
"code": "import { Callout, CalloutTitle, CalloutDescription } from \"@epilot/volt-ui-react\"\nimport { IconInfoCircle } from \"@tabler/icons-react\"\n\n<Callout customIcon={<IconInfoCircle data-slot=\"callout-icon\" />}>\n <CalloutTitle>Custom Icon</CalloutTitle>\n <CalloutDescription>This callout uses a custom icon from Tabler Icons.</CalloutDescription>\n</Callout>\n \n// Hide icon completely\n<Callout variant=\"warning\" hideIcon>\n <CalloutTitle>No Icon</CalloutTitle>\n <CalloutDescription>Use hideIcon prop to hide the icon completely.</CalloutDescription>\n</Callout>"
|
|
1049
1157
|
}
|
|
1050
1158
|
]
|
|
1051
1159
|
},
|
|
@@ -1072,7 +1180,7 @@
|
|
|
1072
1180
|
{
|
|
1073
1181
|
"language": "tsx",
|
|
1074
1182
|
"meta": "lineNumbers",
|
|
1075
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1183
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1076
1184
|
}
|
|
1077
1185
|
]
|
|
1078
1186
|
},
|
|
@@ -1099,7 +1207,7 @@
|
|
|
1099
1207
|
{
|
|
1100
1208
|
"language": "tsx",
|
|
1101
1209
|
"meta": "lineNumbers",
|
|
1102
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1210
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1103
1211
|
}
|
|
1104
1212
|
]
|
|
1105
1213
|
},
|
|
@@ -1126,7 +1234,7 @@
|
|
|
1126
1234
|
{
|
|
1127
1235
|
"language": "tsx",
|
|
1128
1236
|
"meta": "lineNumbers",
|
|
1129
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1237
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1130
1238
|
}
|
|
1131
1239
|
]
|
|
1132
1240
|
},
|
|
@@ -1153,7 +1261,7 @@
|
|
|
1153
1261
|
{
|
|
1154
1262
|
"language": "tsx",
|
|
1155
1263
|
"meta": "lineNumbers",
|
|
1156
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1264
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1157
1265
|
}
|
|
1158
1266
|
]
|
|
1159
1267
|
},
|
|
@@ -1180,7 +1288,7 @@
|
|
|
1180
1288
|
{
|
|
1181
1289
|
"language": "tsx",
|
|
1182
1290
|
"meta": "lineNumbers",
|
|
1183
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1291
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1184
1292
|
}
|
|
1185
1293
|
]
|
|
1186
1294
|
},
|
|
@@ -1207,7 +1315,7 @@
|
|
|
1207
1315
|
{
|
|
1208
1316
|
"language": "tsx",
|
|
1209
1317
|
"meta": "lineNumbers",
|
|
1210
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1318
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1211
1319
|
}
|
|
1212
1320
|
]
|
|
1213
1321
|
},
|
|
@@ -1234,7 +1342,7 @@
|
|
|
1234
1342
|
{
|
|
1235
1343
|
"language": "tsx",
|
|
1236
1344
|
"meta": "lineNumbers",
|
|
1237
|
-
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1345
|
+
"code": "import { Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter, Button, Text } from \"@epilot/volt-ui-react\"\n\n<Card className=\"max-w-lg\">\n <CardHeader>\n <CardTitle>Project status</CardTitle>\n <CardDescription>Latest deployment and uptime.</CardDescription>\n <CardAction>\n <Button variant=\"tertiary\" size=\"icon-sm\"><IconDotsVertical /></Button>\n </CardAction>\n </CardHeader>\n <CardContent>\n <Text variant=\"body2\">All systems operational. Next maintenance window scheduled for Sunday 02:00 UTC.</Text>\n </CardContent>\n <CardFooter>\n <Text variant=\"helper1\">Updated 2h ago</Text>\n </CardFooter>\n</Card>"
|
|
1238
1346
|
}
|
|
1239
1347
|
]
|
|
1240
1348
|
},
|
|
@@ -1309,7 +1417,7 @@
|
|
|
1309
1417
|
{
|
|
1310
1418
|
"language": "tsx",
|
|
1311
1419
|
"meta": "lineNumbers",
|
|
1312
|
-
"code": "import { Checkbox, Label } from \"@epilot/volt-ui\"\n\n<div>\n <Checkbox id=\"agree-to-terms\" />\n <Label htmlFor=\"agree-to-terms\">Accept terms and conditions.</Label>\n</div>\n\n<div>\n <Checkbox id=\"enable-notifications\" checked />\n <Label htmlFor=\"enable-notifications\">\n Notifications enabled\n </Label>\n</div>\n\n<div>\n <Checkbox id=\"some-items-selected\" checked=\"indeterminate\" />\n <Label htmlFor=\"some-items-selected\">\n Some items selected\n </Label>\n</div>"
|
|
1420
|
+
"code": "import { Checkbox, Label } from \"@epilot/volt-ui-react\"\n\n<div>\n <Checkbox id=\"agree-to-terms\" />\n <Label htmlFor=\"agree-to-terms\">Accept terms and conditions.</Label>\n</div>\n\n<div>\n <Checkbox id=\"enable-notifications\" checked />\n <Label htmlFor=\"enable-notifications\">\n Notifications enabled\n </Label>\n</div>\n\n<div>\n <Checkbox id=\"some-items-selected\" checked=\"indeterminate\" />\n <Label htmlFor=\"some-items-selected\">\n Some items selected\n </Label>\n</div>"
|
|
1313
1421
|
}
|
|
1314
1422
|
]
|
|
1315
1423
|
},
|
|
@@ -1378,12 +1486,12 @@
|
|
|
1378
1486
|
{
|
|
1379
1487
|
"language": "tsx",
|
|
1380
1488
|
"meta": "lineNumbers",
|
|
1381
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1489
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui-react\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1382
1490
|
},
|
|
1383
1491
|
{
|
|
1384
1492
|
"language": "tsx",
|
|
1385
1493
|
"meta": "lineNumbers",
|
|
1386
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1494
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1387
1495
|
},
|
|
1388
1496
|
{
|
|
1389
1497
|
"language": "tsx",
|
|
@@ -1403,7 +1511,7 @@
|
|
|
1403
1511
|
{
|
|
1404
1512
|
"language": "tsx",
|
|
1405
1513
|
"meta": null,
|
|
1406
|
-
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1514
|
+
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui-react\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1407
1515
|
}
|
|
1408
1516
|
]
|
|
1409
1517
|
},
|
|
@@ -1430,12 +1538,12 @@
|
|
|
1430
1538
|
{
|
|
1431
1539
|
"language": "tsx",
|
|
1432
1540
|
"meta": "lineNumbers",
|
|
1433
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1541
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui-react\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1434
1542
|
},
|
|
1435
1543
|
{
|
|
1436
1544
|
"language": "tsx",
|
|
1437
1545
|
"meta": "lineNumbers",
|
|
1438
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1546
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1439
1547
|
},
|
|
1440
1548
|
{
|
|
1441
1549
|
"language": "tsx",
|
|
@@ -1455,7 +1563,7 @@
|
|
|
1455
1563
|
{
|
|
1456
1564
|
"language": "tsx",
|
|
1457
1565
|
"meta": null,
|
|
1458
|
-
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1566
|
+
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui-react\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1459
1567
|
}
|
|
1460
1568
|
]
|
|
1461
1569
|
},
|
|
@@ -1482,12 +1590,12 @@
|
|
|
1482
1590
|
{
|
|
1483
1591
|
"language": "tsx",
|
|
1484
1592
|
"meta": "lineNumbers",
|
|
1485
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1593
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui-react\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1486
1594
|
},
|
|
1487
1595
|
{
|
|
1488
1596
|
"language": "tsx",
|
|
1489
1597
|
"meta": "lineNumbers",
|
|
1490
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1598
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1491
1599
|
},
|
|
1492
1600
|
{
|
|
1493
1601
|
"language": "tsx",
|
|
@@ -1507,7 +1615,7 @@
|
|
|
1507
1615
|
{
|
|
1508
1616
|
"language": "tsx",
|
|
1509
1617
|
"meta": null,
|
|
1510
|
-
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1618
|
+
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui-react\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1511
1619
|
}
|
|
1512
1620
|
]
|
|
1513
1621
|
},
|
|
@@ -1540,12 +1648,12 @@
|
|
|
1540
1648
|
{
|
|
1541
1649
|
"language": "tsx",
|
|
1542
1650
|
"meta": "lineNumbers",
|
|
1543
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1651
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle } from \"@epilot/volt-ui-react\"\nimport { IconLayoutSidebar, IconLayoutSidebarFilled, IconFolder, IconFile, IconStar, IconClock } from \"@tabler/icons-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n {/* Full content — shown when expanded, and in floating panel on hover */}\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n <nav className=\"flex flex-col gap-1 p-4 flex-1 min-h-0\">\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg bg-blue-50 text-blue-700 text-sm font-medium\" href=\"#\">\n <IconFolder size={18} />\n All files\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconStar size={18} />\n Starred\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconClock size={18} />\n Recent\n </a>\n <a className=\"flex items-center gap-3 px-3 py-2 rounded-lg hover:bg-gray-100 text-gray-700 text-sm\" href=\"#\">\n <IconFile size={18} />\n Documents\n </a>\n </nav>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n\n {/* Collapsed strip — icon for each section + toggle at bottom */}\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n <div className=\"flex flex-col items-center gap-2 flex-1\">\n <div className=\"p-2 rounded-lg bg-blue-50\">\n <IconFolder size={18} className=\"text-blue-600\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconStar size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconClock size={18} className=\"text-gray-500\" />\n </div>\n <div className=\"p-2 rounded-lg hover:bg-gray-100\">\n <IconFile size={18} className=\"text-gray-500\" />\n </div>\n </div>\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {({ collapsed }) => collapsed\n ? <IconLayoutSidebarFilled size={18} className=\"text-blue-600\" />\n : <IconLayoutSidebar size={18} className=\"text-gray-500\" />}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1544
1652
|
},
|
|
1545
1653
|
{
|
|
1546
1654
|
"language": "tsx",
|
|
1547
1655
|
"meta": "lineNumbers",
|
|
1548
|
-
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1656
|
+
"code": "import { useState } from \"react\"\nimport { CollapsibleSidebar, CollapsibleSidebarContent, CollapsibleSidebarCondensed, CollapsibleSidebarToggle, Button } from \"@epilot/volt-ui-react\"\n\nconst [collapsed, setCollapsed] = useState(false)\n\n<div className=\"flex gap-2\">\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(false)}>Expand</Button>\n <Button variant=\"secondary\" size=\"sm\" onClick={() => setCollapsed(true)}>Collapse</Button>\n</div>\n\n<CollapsibleSidebar collapsed={collapsed} onCollapsedChange={setCollapsed}>\n <CollapsibleSidebarContent className=\"bg-white border-r\">\n {/* nav items */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-end\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarContent>\n <CollapsibleSidebarCondensed className=\"bg-white border-r h-full\">\n {/* icon for each section */}\n <CollapsibleSidebarToggle className=\"border-t border-gray-100 justify-center\">\n {/* toggle icon */}\n </CollapsibleSidebarToggle>\n </CollapsibleSidebarCondensed>\n</CollapsibleSidebar>"
|
|
1549
1657
|
},
|
|
1550
1658
|
{
|
|
1551
1659
|
"language": "tsx",
|
|
@@ -1565,929 +1673,163 @@
|
|
|
1565
1673
|
{
|
|
1566
1674
|
"language": "tsx",
|
|
1567
1675
|
"meta": null,
|
|
1568
|
-
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1676
|
+
"code": "import { useCollapsibleSidebar } from \"@epilot/volt-ui-react\"\n\nconst { collapsed, onCollapsedChange, width, collapsedWidth, isHovered, expandOnHover } = useCollapsibleSidebar()"
|
|
1569
1677
|
}
|
|
1570
1678
|
]
|
|
1571
1679
|
},
|
|
1572
1680
|
{
|
|
1573
1681
|
"name": "DataTable",
|
|
1574
|
-
"title":
|
|
1575
|
-
"description":
|
|
1576
|
-
"docsPath":
|
|
1577
|
-
"docSlug":
|
|
1682
|
+
"title": null,
|
|
1683
|
+
"description": null,
|
|
1684
|
+
"docsPath": null,
|
|
1685
|
+
"docSlug": null,
|
|
1578
1686
|
"documentationUrl": null,
|
|
1579
1687
|
"apiReferenceUrl": null,
|
|
1580
1688
|
"sourcePaths": [
|
|
1581
1689
|
"src/components/data-table/data-table.tsx"
|
|
1582
1690
|
],
|
|
1583
1691
|
"props": [],
|
|
1584
|
-
"examples": [
|
|
1585
|
-
{
|
|
1586
|
-
"language": "tsx",
|
|
1587
|
-
"meta": null,
|
|
1588
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableToolbar } from \"@epilot/volt-ui\"\nimport { IconSearch } from \"@tabler/icons-react\"\n\nfunction MyTable() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableGlobalFilter\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n >\n <DataTableToolbar>\n <div className=\"flex items-center gap-2 rounded-lg border border-gray-a6 px-3 py-1.5\">\n <IconSearch size={18} />\n <input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1589
|
-
},
|
|
1590
|
-
{
|
|
1591
|
-
"language": "tsx",
|
|
1592
|
-
"meta": null,
|
|
1593
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTableToolbar, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n // Get current filter values\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n // Update status filter\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n // Update type filter\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableFiltering\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n >\n <DataTableToolbar>\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n <option value=\"overdue\">Overdue</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1594
|
-
},
|
|
1595
|
-
{
|
|
1596
|
-
"language": "tsx",
|
|
1597
|
-
"meta": null,
|
|
1598
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnVisibility,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable columns={columns} data={data} enableSorting>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n {/* Use -mr-1 wrapper to align icon with toolbar edge (compensates for button hover padding) */}\n <div className=\"-mr-1\">\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1599
|
-
},
|
|
1600
|
-
{
|
|
1601
|
-
"language": "tsx",
|
|
1602
|
-
"meta": null,
|
|
1603
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n enableHiding: false, // This column won't appear in the visibility dropdown\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n // enableHiding defaults to true\n },\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n enableHiding: false, // Actions column should always be visible\n },\n]"
|
|
1604
|
-
},
|
|
1605
|
-
{
|
|
1606
|
-
"language": "tsx",
|
|
1607
|
-
"meta": null,
|
|
1608
|
-
"code": "import { Button } from \"@epilot/volt-ui\"\n\n<DataTableColumnVisibility\n label=\"Toggle columns\"\n trigger={\n <Button variant=\"tertiary\" size=\"sm\">\n Columns\n </Button>\n }\n/>"
|
|
1609
|
-
},
|
|
1610
|
-
{
|
|
1611
|
-
"language": "tsx",
|
|
1612
|
-
"meta": null,
|
|
1613
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n // ... other columns\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n meta: {\n visibilityLabel: \"Actions\", // Label shown in visibility dropdown\n },\n },\n]"
|
|
1614
|
-
},
|
|
1615
|
-
{
|
|
1616
|
-
"language": "tsx",
|
|
1617
|
-
"meta": null,
|
|
1618
|
-
"code": "<DataTable columns={columns} data={data} enableColumnOrdering>\n <DataTableContent />\n</DataTable>"
|
|
1619
|
-
},
|
|
1620
|
-
{
|
|
1621
|
-
"language": "tsx",
|
|
1622
|
-
"meta": null,
|
|
1623
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnOrder,\n DataTableColumnVisibility,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>([])\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1624
|
-
},
|
|
1625
|
-
{
|
|
1626
|
-
"language": "tsx",
|
|
1627
|
-
"meta": null,
|
|
1628
|
-
"code": "<DataTable columns={columns} data={data}>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n </DataTableToolbar>\n <DataTableContent />\n</DataTable>"
|
|
1629
|
-
},
|
|
1630
|
-
{
|
|
1631
|
-
"language": "tsx",
|
|
1632
|
-
"meta": null,
|
|
1633
|
-
"code": "{/* Custom icon */}\n<DataTableColumnOrder label=\"Column order\" icon={<MyIcon />} />\n\n{/* Fully custom trigger */}\n<DataTableColumnOrder label=\"Column order\" trigger={<Button>Reorder</Button>} />"
|
|
1634
|
-
},
|
|
1635
|
-
{
|
|
1636
|
-
"language": "tsx",
|
|
1637
|
-
"meta": null,
|
|
1638
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n meta: { enableOrdering: false }, // Cannot be reordered\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n // Reorderable by default\n },\n]"
|
|
1639
|
-
},
|
|
1640
|
-
{
|
|
1641
|
-
"language": "tsx",
|
|
1642
|
-
"meta": null,
|
|
1643
|
-
"code": "import {\n DataTable,\n DataTableContent,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\nimport { useLocalStorage } from \"@/hooks/useSessionStorage\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useLocalStorage<ColumnOrderState>(\n \"my-table-column-order\",\n []\n )\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableColumnOrdering\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1644
|
-
},
|
|
1645
|
-
{
|
|
1646
|
-
"language": "tsx",
|
|
1647
|
-
"meta": null,
|
|
1648
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n size: 120, // Initial width\n minSize: 80, // Minimum width when resizing\n maxSize: 200, // Maximum width when resizing\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n size: 120,\n },\n {\n accessorKey: \"type\",\n header: \"Type\",\n size: 100,\n enableResizing: false, // Disable resizing for this column\n },\n // ...more columns\n]\n\n// Column resizing is enabled by default\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// To disable column resizing:\n<DataTable columns={columns} data={data} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
1649
|
-
},
|
|
1650
|
-
{
|
|
1651
|
-
"language": "tsx",
|
|
1652
|
-
"meta": null,
|
|
1653
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnSizingState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({\n id: 100,\n customer: 180,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnSizing={columnSizing}\n onColumnSizingChange={setColumnSizing}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1654
|
-
},
|
|
1655
|
-
{
|
|
1656
|
-
"language": "tsx",
|
|
1657
|
-
"meta": null,
|
|
1658
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n size: 60,\n enableResizing: false, // Cannot be resized\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n size: 150,\n minSize: 100, // Minimum 100px\n maxSize: 400, // Maximum 400px\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses defaults: minSize=20, maxSize=unlimited\n },\n]"
|
|
1659
|
-
},
|
|
1660
|
-
{
|
|
1661
|
-
"language": "tsx",
|
|
1662
|
-
"meta": null,
|
|
1663
|
-
"code": "// Default: handles appear on header hover\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// Always show resize handles\n<DataTable columns={columns} data={data} resizeHandleVisibility=\"always\">\n <DataTableContent />\n</DataTable>"
|
|
1664
|
-
},
|
|
1665
|
-
{
|
|
1666
|
-
"language": "tsx",
|
|
1667
|
-
"meta": null,
|
|
1668
|
-
"code": "import { useState } from \"react\"\nimport type { RowSelectionState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n autoPinSelection // Pin checkbox column when rows are selected\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1669
|
-
},
|
|
1670
|
-
{
|
|
1671
|
-
"language": "tsx",
|
|
1672
|
-
"meta": null,
|
|
1673
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n<DataTable\n columns={columns}\n data={data}\n columnPinning={{ left: [\"id\"], right: [\"actions\"] }}\n>\n <DataTableContent />\n</DataTable>"
|
|
1674
|
-
},
|
|
1675
|
-
{
|
|
1676
|
-
"language": "tsx",
|
|
1677
|
-
"meta": null,
|
|
1678
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnPinningState } from \"@epilot/volt-ui\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [\"id\"],\n right: [],\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnPinning={columnPinning}\n onColumnPinningChange={setColumnPinning}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1679
|
-
},
|
|
1680
|
-
{
|
|
1681
|
-
"language": "tsx",
|
|
1682
|
-
"meta": null,
|
|
1683
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n// Compact rows (smallest)\n<DataTable columns={columns} data={data} density=\"compact\">\n <DataTableContent />\n</DataTable>\n\n// Normal rows (default)\n<DataTable columns={columns} data={data} density=\"normal\">\n <DataTableContent />\n</DataTable>\n\n// Comfortable rows (largest)\n<DataTable columns={columns} data={data} density=\"comfortable\">\n <DataTableContent />\n</DataTable>"
|
|
1684
|
-
}
|
|
1685
|
-
]
|
|
1692
|
+
"examples": []
|
|
1686
1693
|
},
|
|
1687
1694
|
{
|
|
1688
1695
|
"name": "DataTableBody",
|
|
1689
|
-
"title":
|
|
1690
|
-
"description":
|
|
1691
|
-
"docsPath":
|
|
1692
|
-
"docSlug":
|
|
1696
|
+
"title": null,
|
|
1697
|
+
"description": null,
|
|
1698
|
+
"docsPath": null,
|
|
1699
|
+
"docSlug": null,
|
|
1693
1700
|
"documentationUrl": null,
|
|
1694
1701
|
"apiReferenceUrl": null,
|
|
1695
1702
|
"sourcePaths": [
|
|
1696
1703
|
"src/components/data-table/data-table-body.tsx"
|
|
1697
1704
|
],
|
|
1698
1705
|
"props": [],
|
|
1699
|
-
"examples": [
|
|
1700
|
-
{
|
|
1701
|
-
"language": "tsx",
|
|
1702
|
-
"meta": null,
|
|
1703
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\ntype Invoice = {\n id: string\n status: string\n customer: string\n amount: number\n}\n\nconst columns: ColumnDef<Invoice>[] = [\n { accessorKey: \"id\", header: \"Invoice\" },\n { accessorKey: \"status\", header: \"Status\" },\n { accessorKey: \"customer\", header: \"Customer\" },\n { accessorKey: \"amount\", header: \"Amount\" },\n]\n\n// Column resizing is enabled by default. Disable if you prefer fixed columns:\n<DataTable columns={columns} data={invoices} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
1704
|
-
},
|
|
1705
|
-
{
|
|
1706
|
-
"language": "tsx",
|
|
1707
|
-
"meta": null,
|
|
1708
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction FullExample() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [rowSelection, setRowSelection] = useState({})\n const [sorting, setSorting] = useState<SortingState>([])\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{ pageSize: 10 }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
1709
|
-
},
|
|
1710
|
-
{
|
|
1711
|
-
"language": "tsx",
|
|
1712
|
-
"meta": null,
|
|
1713
|
-
"code": "import { useState, useMemo } from \"react\"\nimport type { ColumnFiltersState, PaginationState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction ServerExample() {\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n })\n const [sorting, setSorting] = useState<SortingState>([])\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [rowSelection, setRowSelection] = useState({})\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n // In a real app, use useQuery with pagination/sorting/filters as query keys\n const { data, totalItems } = useServerData({\n pagination,\n sorting,\n globalFilter,\n statusFilter,\n typeFilter,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n manualSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n manualFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalItems: totalItems,\n onPaginationChange: setPagination,\n }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => {\n setGlobalFilter(e.target.value)\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={() => {\n setColumnFilters([])\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n >\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
1714
|
-
},
|
|
1715
|
-
{
|
|
1716
|
-
"language": "tsx",
|
|
1717
|
-
"meta": null,
|
|
1718
|
-
"code": "<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
1719
|
-
},
|
|
1720
|
-
{
|
|
1721
|
-
"language": "tsx",
|
|
1722
|
-
"meta": null,
|
|
1723
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"description\",\n header: \"Description\",\n size: 200,\n meta: { cellOverflow: \"wrap\" }, // This column wraps, others truncate\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses table default\n },\n]\n\n<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
1724
|
-
},
|
|
1725
|
-
{
|
|
1726
|
-
"language": "tsx",
|
|
1727
|
-
"meta": null,
|
|
1728
|
-
"code": "import { DataTable, DataTableContent, DataTableColumnHeader } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Invoice\" />,\n },\n {\n accessorKey: \"customer\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Customer\" />,\n },\n // ...more columns\n]\n\n<DataTable columns={columns} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
1729
|
-
},
|
|
1730
|
-
{
|
|
1731
|
-
"language": "tsx",
|
|
1732
|
-
"meta": null,
|
|
1733
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [pageSize, setPageSize] = useState(5)\n const visibleData = data.slice(0, pageSize)\n const hasMore = pageSize < data.length\n\n return (\n <DataTable columns={columns} data={visibleData}>\n <DataTableContent />\n {hasMore && (\n <DataTableFooter className=\"justify-start\">\n <Button size=\"sm\" variant=\"tertiary\" onClick={() => setPageSize((prev) => prev + 3)}>\n Show more ({data.length - pageSize} remaining)\n </Button>\n </DataTableFooter>\n )}\n </DataTable>\n )\n}"
|
|
1734
|
-
},
|
|
1735
|
-
{
|
|
1736
|
-
"language": "tsx",
|
|
1737
|
-
"meta": null,
|
|
1738
|
-
"code": "{\n accessorKey: \"name\",\n header: \"Name\",\n}"
|
|
1739
|
-
},
|
|
1740
|
-
{
|
|
1741
|
-
"language": "tsx",
|
|
1742
|
-
"meta": null,
|
|
1743
|
-
"code": "{\n accessorKey: \"status\",\n header: \"Status\",\n cell: ({ row }) => <Badge>{row.getValue(\"status\")}</Badge>,\n}"
|
|
1744
|
-
},
|
|
1745
|
-
{
|
|
1746
|
-
"language": "tsx",
|
|
1747
|
-
"meta": null,
|
|
1748
|
-
"code": "{\n accessorKey: \"date\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Date\" />,\n}"
|
|
1749
|
-
},
|
|
1750
|
-
{
|
|
1751
|
-
"language": "tsx",
|
|
1752
|
-
"meta": null,
|
|
1753
|
-
"code": "{\n accessorKey: \"amount\",\n header: () => <div className=\"text-right\">Amount</div>,\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" },\n}"
|
|
1754
|
-
},
|
|
1755
|
-
{
|
|
1756
|
-
"language": "tsx",
|
|
1757
|
-
"meta": null,
|
|
1758
|
-
"code": "{\n accessorKey: \"amount\",\n header: ({ column }) => (\n <div className=\"flex justify-end\">\n <DataTableColumnHeader column={column} title=\"Amount\" />\n </div>\n ),\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" }, // Ensures proper header padding alignment\n}"
|
|
1759
|
-
}
|
|
1760
|
-
]
|
|
1706
|
+
"examples": []
|
|
1761
1707
|
},
|
|
1762
1708
|
{
|
|
1763
1709
|
"name": "DataTableColumnHeader",
|
|
1764
|
-
"title":
|
|
1765
|
-
"description":
|
|
1766
|
-
"docsPath":
|
|
1767
|
-
"docSlug":
|
|
1710
|
+
"title": null,
|
|
1711
|
+
"description": null,
|
|
1712
|
+
"docsPath": null,
|
|
1713
|
+
"docSlug": null,
|
|
1768
1714
|
"documentationUrl": null,
|
|
1769
1715
|
"apiReferenceUrl": null,
|
|
1770
1716
|
"sourcePaths": [
|
|
1771
1717
|
"src/components/data-table/data-table-column-header.tsx"
|
|
1772
1718
|
],
|
|
1773
1719
|
"props": [],
|
|
1774
|
-
"examples": [
|
|
1775
|
-
{
|
|
1776
|
-
"language": "tsx",
|
|
1777
|
-
"meta": null,
|
|
1778
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\ntype Invoice = {\n id: string\n status: string\n customer: string\n amount: number\n}\n\nconst columns: ColumnDef<Invoice>[] = [\n { accessorKey: \"id\", header: \"Invoice\" },\n { accessorKey: \"status\", header: \"Status\" },\n { accessorKey: \"customer\", header: \"Customer\" },\n { accessorKey: \"amount\", header: \"Amount\" },\n]\n\n// Column resizing is enabled by default. Disable if you prefer fixed columns:\n<DataTable columns={columns} data={invoices} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
1779
|
-
},
|
|
1780
|
-
{
|
|
1781
|
-
"language": "tsx",
|
|
1782
|
-
"meta": null,
|
|
1783
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction FullExample() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [rowSelection, setRowSelection] = useState({})\n const [sorting, setSorting] = useState<SortingState>([])\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{ pageSize: 10 }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
1784
|
-
},
|
|
1785
|
-
{
|
|
1786
|
-
"language": "tsx",
|
|
1787
|
-
"meta": null,
|
|
1788
|
-
"code": "import { useState, useMemo } from \"react\"\nimport type { ColumnFiltersState, PaginationState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction ServerExample() {\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n })\n const [sorting, setSorting] = useState<SortingState>([])\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [rowSelection, setRowSelection] = useState({})\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n // In a real app, use useQuery with pagination/sorting/filters as query keys\n const { data, totalItems } = useServerData({\n pagination,\n sorting,\n globalFilter,\n statusFilter,\n typeFilter,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n manualSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n manualFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalItems: totalItems,\n onPaginationChange: setPagination,\n }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => {\n setGlobalFilter(e.target.value)\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={() => {\n setColumnFilters([])\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n >\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
1789
|
-
},
|
|
1790
|
-
{
|
|
1791
|
-
"language": "tsx",
|
|
1792
|
-
"meta": null,
|
|
1793
|
-
"code": "<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
1794
|
-
},
|
|
1795
|
-
{
|
|
1796
|
-
"language": "tsx",
|
|
1797
|
-
"meta": null,
|
|
1798
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"description\",\n header: \"Description\",\n size: 200,\n meta: { cellOverflow: \"wrap\" }, // This column wraps, others truncate\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses table default\n },\n]\n\n<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
1799
|
-
},
|
|
1800
|
-
{
|
|
1801
|
-
"language": "tsx",
|
|
1802
|
-
"meta": null,
|
|
1803
|
-
"code": "import { DataTable, DataTableContent, DataTableColumnHeader } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Invoice\" />,\n },\n {\n accessorKey: \"customer\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Customer\" />,\n },\n // ...more columns\n]\n\n<DataTable columns={columns} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
1804
|
-
},
|
|
1805
|
-
{
|
|
1806
|
-
"language": "tsx",
|
|
1807
|
-
"meta": null,
|
|
1808
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [pageSize, setPageSize] = useState(5)\n const visibleData = data.slice(0, pageSize)\n const hasMore = pageSize < data.length\n\n return (\n <DataTable columns={columns} data={visibleData}>\n <DataTableContent />\n {hasMore && (\n <DataTableFooter className=\"justify-start\">\n <Button size=\"sm\" variant=\"tertiary\" onClick={() => setPageSize((prev) => prev + 3)}>\n Show more ({data.length - pageSize} remaining)\n </Button>\n </DataTableFooter>\n )}\n </DataTable>\n )\n}"
|
|
1809
|
-
},
|
|
1810
|
-
{
|
|
1811
|
-
"language": "tsx",
|
|
1812
|
-
"meta": null,
|
|
1813
|
-
"code": "{\n accessorKey: \"name\",\n header: \"Name\",\n}"
|
|
1814
|
-
},
|
|
1815
|
-
{
|
|
1816
|
-
"language": "tsx",
|
|
1817
|
-
"meta": null,
|
|
1818
|
-
"code": "{\n accessorKey: \"status\",\n header: \"Status\",\n cell: ({ row }) => <Badge>{row.getValue(\"status\")}</Badge>,\n}"
|
|
1819
|
-
},
|
|
1820
|
-
{
|
|
1821
|
-
"language": "tsx",
|
|
1822
|
-
"meta": null,
|
|
1823
|
-
"code": "{\n accessorKey: \"date\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Date\" />,\n}"
|
|
1824
|
-
},
|
|
1825
|
-
{
|
|
1826
|
-
"language": "tsx",
|
|
1827
|
-
"meta": null,
|
|
1828
|
-
"code": "{\n accessorKey: \"amount\",\n header: () => <div className=\"text-right\">Amount</div>,\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" },\n}"
|
|
1829
|
-
},
|
|
1830
|
-
{
|
|
1831
|
-
"language": "tsx",
|
|
1832
|
-
"meta": null,
|
|
1833
|
-
"code": "{\n accessorKey: \"amount\",\n header: ({ column }) => (\n <div className=\"flex justify-end\">\n <DataTableColumnHeader column={column} title=\"Amount\" />\n </div>\n ),\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" }, // Ensures proper header padding alignment\n}"
|
|
1834
|
-
}
|
|
1835
|
-
]
|
|
1720
|
+
"examples": []
|
|
1836
1721
|
},
|
|
1837
1722
|
{
|
|
1838
1723
|
"name": "DataTableColumnOrder",
|
|
1839
|
-
"title":
|
|
1840
|
-
"description":
|
|
1841
|
-
"docsPath":
|
|
1842
|
-
"docSlug":
|
|
1724
|
+
"title": null,
|
|
1725
|
+
"description": null,
|
|
1726
|
+
"docsPath": null,
|
|
1727
|
+
"docSlug": null,
|
|
1843
1728
|
"documentationUrl": null,
|
|
1844
1729
|
"apiReferenceUrl": null,
|
|
1845
1730
|
"sourcePaths": [
|
|
1846
1731
|
"src/components/data-table/data-table-column-order.tsx"
|
|
1847
1732
|
],
|
|
1848
1733
|
"props": [],
|
|
1849
|
-
"examples": [
|
|
1850
|
-
{
|
|
1851
|
-
"language": "tsx",
|
|
1852
|
-
"meta": null,
|
|
1853
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableToolbar } from \"@epilot/volt-ui\"\nimport { IconSearch } from \"@tabler/icons-react\"\n\nfunction MyTable() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableGlobalFilter\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n >\n <DataTableToolbar>\n <div className=\"flex items-center gap-2 rounded-lg border border-gray-a6 px-3 py-1.5\">\n <IconSearch size={18} />\n <input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1854
|
-
},
|
|
1855
|
-
{
|
|
1856
|
-
"language": "tsx",
|
|
1857
|
-
"meta": null,
|
|
1858
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTableToolbar, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n // Get current filter values\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n // Update status filter\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n // Update type filter\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableFiltering\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n >\n <DataTableToolbar>\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n <option value=\"overdue\">Overdue</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1859
|
-
},
|
|
1860
|
-
{
|
|
1861
|
-
"language": "tsx",
|
|
1862
|
-
"meta": null,
|
|
1863
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnVisibility,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable columns={columns} data={data} enableSorting>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n {/* Use -mr-1 wrapper to align icon with toolbar edge (compensates for button hover padding) */}\n <div className=\"-mr-1\">\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1864
|
-
},
|
|
1865
|
-
{
|
|
1866
|
-
"language": "tsx",
|
|
1867
|
-
"meta": null,
|
|
1868
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n enableHiding: false, // This column won't appear in the visibility dropdown\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n // enableHiding defaults to true\n },\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n enableHiding: false, // Actions column should always be visible\n },\n]"
|
|
1869
|
-
},
|
|
1870
|
-
{
|
|
1871
|
-
"language": "tsx",
|
|
1872
|
-
"meta": null,
|
|
1873
|
-
"code": "import { Button } from \"@epilot/volt-ui\"\n\n<DataTableColumnVisibility\n label=\"Toggle columns\"\n trigger={\n <Button variant=\"tertiary\" size=\"sm\">\n Columns\n </Button>\n }\n/>"
|
|
1874
|
-
},
|
|
1875
|
-
{
|
|
1876
|
-
"language": "tsx",
|
|
1877
|
-
"meta": null,
|
|
1878
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n // ... other columns\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n meta: {\n visibilityLabel: \"Actions\", // Label shown in visibility dropdown\n },\n },\n]"
|
|
1879
|
-
},
|
|
1880
|
-
{
|
|
1881
|
-
"language": "tsx",
|
|
1882
|
-
"meta": null,
|
|
1883
|
-
"code": "<DataTable columns={columns} data={data} enableColumnOrdering>\n <DataTableContent />\n</DataTable>"
|
|
1884
|
-
},
|
|
1885
|
-
{
|
|
1886
|
-
"language": "tsx",
|
|
1887
|
-
"meta": null,
|
|
1888
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnOrder,\n DataTableColumnVisibility,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>([])\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1889
|
-
},
|
|
1890
|
-
{
|
|
1891
|
-
"language": "tsx",
|
|
1892
|
-
"meta": null,
|
|
1893
|
-
"code": "<DataTable columns={columns} data={data}>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n </DataTableToolbar>\n <DataTableContent />\n</DataTable>"
|
|
1894
|
-
},
|
|
1895
|
-
{
|
|
1896
|
-
"language": "tsx",
|
|
1897
|
-
"meta": null,
|
|
1898
|
-
"code": "{/* Custom icon */}\n<DataTableColumnOrder label=\"Column order\" icon={<MyIcon />} />\n\n{/* Fully custom trigger */}\n<DataTableColumnOrder label=\"Column order\" trigger={<Button>Reorder</Button>} />"
|
|
1899
|
-
},
|
|
1900
|
-
{
|
|
1901
|
-
"language": "tsx",
|
|
1902
|
-
"meta": null,
|
|
1903
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n meta: { enableOrdering: false }, // Cannot be reordered\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n // Reorderable by default\n },\n]"
|
|
1904
|
-
},
|
|
1905
|
-
{
|
|
1906
|
-
"language": "tsx",
|
|
1907
|
-
"meta": null,
|
|
1908
|
-
"code": "import {\n DataTable,\n DataTableContent,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\nimport { useLocalStorage } from \"@/hooks/useSessionStorage\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useLocalStorage<ColumnOrderState>(\n \"my-table-column-order\",\n []\n )\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableColumnOrdering\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1909
|
-
},
|
|
1910
|
-
{
|
|
1911
|
-
"language": "tsx",
|
|
1912
|
-
"meta": null,
|
|
1913
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n size: 120, // Initial width\n minSize: 80, // Minimum width when resizing\n maxSize: 200, // Maximum width when resizing\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n size: 120,\n },\n {\n accessorKey: \"type\",\n header: \"Type\",\n size: 100,\n enableResizing: false, // Disable resizing for this column\n },\n // ...more columns\n]\n\n// Column resizing is enabled by default\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// To disable column resizing:\n<DataTable columns={columns} data={data} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
1914
|
-
},
|
|
1915
|
-
{
|
|
1916
|
-
"language": "tsx",
|
|
1917
|
-
"meta": null,
|
|
1918
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnSizingState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({\n id: 100,\n customer: 180,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnSizing={columnSizing}\n onColumnSizingChange={setColumnSizing}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1919
|
-
},
|
|
1920
|
-
{
|
|
1921
|
-
"language": "tsx",
|
|
1922
|
-
"meta": null,
|
|
1923
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n size: 60,\n enableResizing: false, // Cannot be resized\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n size: 150,\n minSize: 100, // Minimum 100px\n maxSize: 400, // Maximum 400px\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses defaults: minSize=20, maxSize=unlimited\n },\n]"
|
|
1924
|
-
},
|
|
1925
|
-
{
|
|
1926
|
-
"language": "tsx",
|
|
1927
|
-
"meta": null,
|
|
1928
|
-
"code": "// Default: handles appear on header hover\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// Always show resize handles\n<DataTable columns={columns} data={data} resizeHandleVisibility=\"always\">\n <DataTableContent />\n</DataTable>"
|
|
1929
|
-
},
|
|
1930
|
-
{
|
|
1931
|
-
"language": "tsx",
|
|
1932
|
-
"meta": null,
|
|
1933
|
-
"code": "import { useState } from \"react\"\nimport type { RowSelectionState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n autoPinSelection // Pin checkbox column when rows are selected\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1934
|
-
},
|
|
1935
|
-
{
|
|
1936
|
-
"language": "tsx",
|
|
1937
|
-
"meta": null,
|
|
1938
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n<DataTable\n columns={columns}\n data={data}\n columnPinning={{ left: [\"id\"], right: [\"actions\"] }}\n>\n <DataTableContent />\n</DataTable>"
|
|
1939
|
-
},
|
|
1940
|
-
{
|
|
1941
|
-
"language": "tsx",
|
|
1942
|
-
"meta": null,
|
|
1943
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnPinningState } from \"@epilot/volt-ui\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [\"id\"],\n right: [],\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnPinning={columnPinning}\n onColumnPinningChange={setColumnPinning}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1944
|
-
},
|
|
1945
|
-
{
|
|
1946
|
-
"language": "tsx",
|
|
1947
|
-
"meta": null,
|
|
1948
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n// Compact rows (smallest)\n<DataTable columns={columns} data={data} density=\"compact\">\n <DataTableContent />\n</DataTable>\n\n// Normal rows (default)\n<DataTable columns={columns} data={data} density=\"normal\">\n <DataTableContent />\n</DataTable>\n\n// Comfortable rows (largest)\n<DataTable columns={columns} data={data} density=\"comfortable\">\n <DataTableContent />\n</DataTable>"
|
|
1949
|
-
}
|
|
1950
|
-
]
|
|
1734
|
+
"examples": []
|
|
1951
1735
|
},
|
|
1952
1736
|
{
|
|
1953
1737
|
"name": "DataTableColumnVisibility",
|
|
1954
|
-
"title":
|
|
1955
|
-
"description":
|
|
1956
|
-
"docsPath":
|
|
1957
|
-
"docSlug":
|
|
1738
|
+
"title": null,
|
|
1739
|
+
"description": null,
|
|
1740
|
+
"docsPath": null,
|
|
1741
|
+
"docSlug": null,
|
|
1958
1742
|
"documentationUrl": null,
|
|
1959
1743
|
"apiReferenceUrl": null,
|
|
1960
1744
|
"sourcePaths": [
|
|
1961
1745
|
"src/components/data-table/data-table-column-visibility.tsx"
|
|
1962
1746
|
],
|
|
1963
1747
|
"props": [],
|
|
1964
|
-
"examples": [
|
|
1965
|
-
{
|
|
1966
|
-
"language": "tsx",
|
|
1967
|
-
"meta": null,
|
|
1968
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableToolbar } from \"@epilot/volt-ui\"\nimport { IconSearch } from \"@tabler/icons-react\"\n\nfunction MyTable() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableGlobalFilter\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n >\n <DataTableToolbar>\n <div className=\"flex items-center gap-2 rounded-lg border border-gray-a6 px-3 py-1.5\">\n <IconSearch size={18} />\n <input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1969
|
-
},
|
|
1970
|
-
{
|
|
1971
|
-
"language": "tsx",
|
|
1972
|
-
"meta": null,
|
|
1973
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTableToolbar, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n // Get current filter values\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n // Update status filter\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n // Update type filter\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableFiltering\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n >\n <DataTableToolbar>\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n <option value=\"overdue\">Overdue</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1974
|
-
},
|
|
1975
|
-
{
|
|
1976
|
-
"language": "tsx",
|
|
1977
|
-
"meta": null,
|
|
1978
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnVisibility,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable columns={columns} data={data} enableSorting>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n {/* Use -mr-1 wrapper to align icon with toolbar edge (compensates for button hover padding) */}\n <div className=\"-mr-1\">\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
1979
|
-
},
|
|
1980
|
-
{
|
|
1981
|
-
"language": "tsx",
|
|
1982
|
-
"meta": null,
|
|
1983
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n enableHiding: false, // This column won't appear in the visibility dropdown\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n // enableHiding defaults to true\n },\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n enableHiding: false, // Actions column should always be visible\n },\n]"
|
|
1984
|
-
},
|
|
1985
|
-
{
|
|
1986
|
-
"language": "tsx",
|
|
1987
|
-
"meta": null,
|
|
1988
|
-
"code": "import { Button } from \"@epilot/volt-ui\"\n\n<DataTableColumnVisibility\n label=\"Toggle columns\"\n trigger={\n <Button variant=\"tertiary\" size=\"sm\">\n Columns\n </Button>\n }\n/>"
|
|
1989
|
-
},
|
|
1990
|
-
{
|
|
1991
|
-
"language": "tsx",
|
|
1992
|
-
"meta": null,
|
|
1993
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n // ... other columns\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n meta: {\n visibilityLabel: \"Actions\", // Label shown in visibility dropdown\n },\n },\n]"
|
|
1994
|
-
},
|
|
1995
|
-
{
|
|
1996
|
-
"language": "tsx",
|
|
1997
|
-
"meta": null,
|
|
1998
|
-
"code": "<DataTable columns={columns} data={data} enableColumnOrdering>\n <DataTableContent />\n</DataTable>"
|
|
1999
|
-
},
|
|
2000
|
-
{
|
|
2001
|
-
"language": "tsx",
|
|
2002
|
-
"meta": null,
|
|
2003
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnOrder,\n DataTableColumnVisibility,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>([])\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2004
|
-
},
|
|
2005
|
-
{
|
|
2006
|
-
"language": "tsx",
|
|
2007
|
-
"meta": null,
|
|
2008
|
-
"code": "<DataTable columns={columns} data={data}>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n </DataTableToolbar>\n <DataTableContent />\n</DataTable>"
|
|
2009
|
-
},
|
|
2010
|
-
{
|
|
2011
|
-
"language": "tsx",
|
|
2012
|
-
"meta": null,
|
|
2013
|
-
"code": "{/* Custom icon */}\n<DataTableColumnOrder label=\"Column order\" icon={<MyIcon />} />\n\n{/* Fully custom trigger */}\n<DataTableColumnOrder label=\"Column order\" trigger={<Button>Reorder</Button>} />"
|
|
2014
|
-
},
|
|
2015
|
-
{
|
|
2016
|
-
"language": "tsx",
|
|
2017
|
-
"meta": null,
|
|
2018
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n meta: { enableOrdering: false }, // Cannot be reordered\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n // Reorderable by default\n },\n]"
|
|
2019
|
-
},
|
|
2020
|
-
{
|
|
2021
|
-
"language": "tsx",
|
|
2022
|
-
"meta": null,
|
|
2023
|
-
"code": "import {\n DataTable,\n DataTableContent,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\nimport { useLocalStorage } from \"@/hooks/useSessionStorage\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useLocalStorage<ColumnOrderState>(\n \"my-table-column-order\",\n []\n )\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableColumnOrdering\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2024
|
-
},
|
|
2025
|
-
{
|
|
2026
|
-
"language": "tsx",
|
|
2027
|
-
"meta": null,
|
|
2028
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n size: 120, // Initial width\n minSize: 80, // Minimum width when resizing\n maxSize: 200, // Maximum width when resizing\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n size: 120,\n },\n {\n accessorKey: \"type\",\n header: \"Type\",\n size: 100,\n enableResizing: false, // Disable resizing for this column\n },\n // ...more columns\n]\n\n// Column resizing is enabled by default\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// To disable column resizing:\n<DataTable columns={columns} data={data} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
2029
|
-
},
|
|
2030
|
-
{
|
|
2031
|
-
"language": "tsx",
|
|
2032
|
-
"meta": null,
|
|
2033
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnSizingState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({\n id: 100,\n customer: 180,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnSizing={columnSizing}\n onColumnSizingChange={setColumnSizing}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2034
|
-
},
|
|
2035
|
-
{
|
|
2036
|
-
"language": "tsx",
|
|
2037
|
-
"meta": null,
|
|
2038
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n size: 60,\n enableResizing: false, // Cannot be resized\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n size: 150,\n minSize: 100, // Minimum 100px\n maxSize: 400, // Maximum 400px\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses defaults: minSize=20, maxSize=unlimited\n },\n]"
|
|
2039
|
-
},
|
|
2040
|
-
{
|
|
2041
|
-
"language": "tsx",
|
|
2042
|
-
"meta": null,
|
|
2043
|
-
"code": "// Default: handles appear on header hover\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// Always show resize handles\n<DataTable columns={columns} data={data} resizeHandleVisibility=\"always\">\n <DataTableContent />\n</DataTable>"
|
|
2044
|
-
},
|
|
2045
|
-
{
|
|
2046
|
-
"language": "tsx",
|
|
2047
|
-
"meta": null,
|
|
2048
|
-
"code": "import { useState } from \"react\"\nimport type { RowSelectionState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n autoPinSelection // Pin checkbox column when rows are selected\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2049
|
-
},
|
|
2050
|
-
{
|
|
2051
|
-
"language": "tsx",
|
|
2052
|
-
"meta": null,
|
|
2053
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n<DataTable\n columns={columns}\n data={data}\n columnPinning={{ left: [\"id\"], right: [\"actions\"] }}\n>\n <DataTableContent />\n</DataTable>"
|
|
2054
|
-
},
|
|
2055
|
-
{
|
|
2056
|
-
"language": "tsx",
|
|
2057
|
-
"meta": null,
|
|
2058
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnPinningState } from \"@epilot/volt-ui\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [\"id\"],\n right: [],\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnPinning={columnPinning}\n onColumnPinningChange={setColumnPinning}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2059
|
-
},
|
|
2060
|
-
{
|
|
2061
|
-
"language": "tsx",
|
|
2062
|
-
"meta": null,
|
|
2063
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n// Compact rows (smallest)\n<DataTable columns={columns} data={data} density=\"compact\">\n <DataTableContent />\n</DataTable>\n\n// Normal rows (default)\n<DataTable columns={columns} data={data} density=\"normal\">\n <DataTableContent />\n</DataTable>\n\n// Comfortable rows (largest)\n<DataTable columns={columns} data={data} density=\"comfortable\">\n <DataTableContent />\n</DataTable>"
|
|
2064
|
-
}
|
|
2065
|
-
]
|
|
1748
|
+
"examples": []
|
|
2066
1749
|
},
|
|
2067
1750
|
{
|
|
2068
1751
|
"name": "DataTableContent",
|
|
2069
|
-
"title":
|
|
2070
|
-
"description":
|
|
2071
|
-
"docsPath":
|
|
2072
|
-
"docSlug":
|
|
1752
|
+
"title": null,
|
|
1753
|
+
"description": null,
|
|
1754
|
+
"docsPath": null,
|
|
1755
|
+
"docSlug": null,
|
|
2073
1756
|
"documentationUrl": null,
|
|
2074
1757
|
"apiReferenceUrl": null,
|
|
2075
1758
|
"sourcePaths": [
|
|
2076
1759
|
"src/components/data-table/data-table-content.tsx"
|
|
2077
1760
|
],
|
|
2078
1761
|
"props": [],
|
|
2079
|
-
"examples": [
|
|
2080
|
-
{
|
|
2081
|
-
"language": "tsx",
|
|
2082
|
-
"meta": null,
|
|
2083
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableToolbar } from \"@epilot/volt-ui\"\nimport { IconSearch } from \"@tabler/icons-react\"\n\nfunction MyTable() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableGlobalFilter\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n >\n <DataTableToolbar>\n <div className=\"flex items-center gap-2 rounded-lg border border-gray-a6 px-3 py-1.5\">\n <IconSearch size={18} />\n <input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2084
|
-
},
|
|
2085
|
-
{
|
|
2086
|
-
"language": "tsx",
|
|
2087
|
-
"meta": null,
|
|
2088
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTableToolbar, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n // Get current filter values\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n // Update status filter\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n // Update type filter\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableFiltering\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n >\n <DataTableToolbar>\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n <option value=\"overdue\">Overdue</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2089
|
-
},
|
|
2090
|
-
{
|
|
2091
|
-
"language": "tsx",
|
|
2092
|
-
"meta": null,
|
|
2093
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnVisibility,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable columns={columns} data={data} enableSorting>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n {/* Use -mr-1 wrapper to align icon with toolbar edge (compensates for button hover padding) */}\n <div className=\"-mr-1\">\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2094
|
-
},
|
|
2095
|
-
{
|
|
2096
|
-
"language": "tsx",
|
|
2097
|
-
"meta": null,
|
|
2098
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n enableHiding: false, // This column won't appear in the visibility dropdown\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n // enableHiding defaults to true\n },\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n enableHiding: false, // Actions column should always be visible\n },\n]"
|
|
2099
|
-
},
|
|
2100
|
-
{
|
|
2101
|
-
"language": "tsx",
|
|
2102
|
-
"meta": null,
|
|
2103
|
-
"code": "import { Button } from \"@epilot/volt-ui\"\n\n<DataTableColumnVisibility\n label=\"Toggle columns\"\n trigger={\n <Button variant=\"tertiary\" size=\"sm\">\n Columns\n </Button>\n }\n/>"
|
|
2104
|
-
},
|
|
2105
|
-
{
|
|
2106
|
-
"language": "tsx",
|
|
2107
|
-
"meta": null,
|
|
2108
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n // ... other columns\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n meta: {\n visibilityLabel: \"Actions\", // Label shown in visibility dropdown\n },\n },\n]"
|
|
2109
|
-
},
|
|
2110
|
-
{
|
|
2111
|
-
"language": "tsx",
|
|
2112
|
-
"meta": null,
|
|
2113
|
-
"code": "<DataTable columns={columns} data={data} enableColumnOrdering>\n <DataTableContent />\n</DataTable>"
|
|
2114
|
-
},
|
|
2115
|
-
{
|
|
2116
|
-
"language": "tsx",
|
|
2117
|
-
"meta": null,
|
|
2118
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnOrder,\n DataTableColumnVisibility,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>([])\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2119
|
-
},
|
|
2120
|
-
{
|
|
2121
|
-
"language": "tsx",
|
|
2122
|
-
"meta": null,
|
|
2123
|
-
"code": "<DataTable columns={columns} data={data}>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n </DataTableToolbar>\n <DataTableContent />\n</DataTable>"
|
|
2124
|
-
},
|
|
2125
|
-
{
|
|
2126
|
-
"language": "tsx",
|
|
2127
|
-
"meta": null,
|
|
2128
|
-
"code": "{/* Custom icon */}\n<DataTableColumnOrder label=\"Column order\" icon={<MyIcon />} />\n\n{/* Fully custom trigger */}\n<DataTableColumnOrder label=\"Column order\" trigger={<Button>Reorder</Button>} />"
|
|
2129
|
-
},
|
|
2130
|
-
{
|
|
2131
|
-
"language": "tsx",
|
|
2132
|
-
"meta": null,
|
|
2133
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n meta: { enableOrdering: false }, // Cannot be reordered\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n // Reorderable by default\n },\n]"
|
|
2134
|
-
},
|
|
2135
|
-
{
|
|
2136
|
-
"language": "tsx",
|
|
2137
|
-
"meta": null,
|
|
2138
|
-
"code": "import {\n DataTable,\n DataTableContent,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\nimport { useLocalStorage } from \"@/hooks/useSessionStorage\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useLocalStorage<ColumnOrderState>(\n \"my-table-column-order\",\n []\n )\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableColumnOrdering\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2139
|
-
},
|
|
2140
|
-
{
|
|
2141
|
-
"language": "tsx",
|
|
2142
|
-
"meta": null,
|
|
2143
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n size: 120, // Initial width\n minSize: 80, // Minimum width when resizing\n maxSize: 200, // Maximum width when resizing\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n size: 120,\n },\n {\n accessorKey: \"type\",\n header: \"Type\",\n size: 100,\n enableResizing: false, // Disable resizing for this column\n },\n // ...more columns\n]\n\n// Column resizing is enabled by default\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// To disable column resizing:\n<DataTable columns={columns} data={data} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
2144
|
-
},
|
|
2145
|
-
{
|
|
2146
|
-
"language": "tsx",
|
|
2147
|
-
"meta": null,
|
|
2148
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnSizingState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({\n id: 100,\n customer: 180,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnSizing={columnSizing}\n onColumnSizingChange={setColumnSizing}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2149
|
-
},
|
|
2150
|
-
{
|
|
2151
|
-
"language": "tsx",
|
|
2152
|
-
"meta": null,
|
|
2153
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n size: 60,\n enableResizing: false, // Cannot be resized\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n size: 150,\n minSize: 100, // Minimum 100px\n maxSize: 400, // Maximum 400px\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses defaults: minSize=20, maxSize=unlimited\n },\n]"
|
|
2154
|
-
},
|
|
2155
|
-
{
|
|
2156
|
-
"language": "tsx",
|
|
2157
|
-
"meta": null,
|
|
2158
|
-
"code": "// Default: handles appear on header hover\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// Always show resize handles\n<DataTable columns={columns} data={data} resizeHandleVisibility=\"always\">\n <DataTableContent />\n</DataTable>"
|
|
2159
|
-
},
|
|
2160
|
-
{
|
|
2161
|
-
"language": "tsx",
|
|
2162
|
-
"meta": null,
|
|
2163
|
-
"code": "import { useState } from \"react\"\nimport type { RowSelectionState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n autoPinSelection // Pin checkbox column when rows are selected\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2164
|
-
},
|
|
2165
|
-
{
|
|
2166
|
-
"language": "tsx",
|
|
2167
|
-
"meta": null,
|
|
2168
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n<DataTable\n columns={columns}\n data={data}\n columnPinning={{ left: [\"id\"], right: [\"actions\"] }}\n>\n <DataTableContent />\n</DataTable>"
|
|
2169
|
-
},
|
|
2170
|
-
{
|
|
2171
|
-
"language": "tsx",
|
|
2172
|
-
"meta": null,
|
|
2173
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnPinningState } from \"@epilot/volt-ui\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [\"id\"],\n right: [],\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnPinning={columnPinning}\n onColumnPinningChange={setColumnPinning}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2174
|
-
},
|
|
2175
|
-
{
|
|
2176
|
-
"language": "tsx",
|
|
2177
|
-
"meta": null,
|
|
2178
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n// Compact rows (smallest)\n<DataTable columns={columns} data={data} density=\"compact\">\n <DataTableContent />\n</DataTable>\n\n// Normal rows (default)\n<DataTable columns={columns} data={data} density=\"normal\">\n <DataTableContent />\n</DataTable>\n\n// Comfortable rows (largest)\n<DataTable columns={columns} data={data} density=\"comfortable\">\n <DataTableContent />\n</DataTable>"
|
|
2179
|
-
}
|
|
2180
|
-
]
|
|
1762
|
+
"examples": []
|
|
2181
1763
|
},
|
|
2182
1764
|
{
|
|
2183
1765
|
"name": "DataTableError",
|
|
2184
|
-
"title":
|
|
2185
|
-
"description":
|
|
2186
|
-
"docsPath":
|
|
2187
|
-
"docSlug":
|
|
1766
|
+
"title": null,
|
|
1767
|
+
"description": null,
|
|
1768
|
+
"docsPath": null,
|
|
1769
|
+
"docSlug": null,
|
|
2188
1770
|
"documentationUrl": null,
|
|
2189
1771
|
"apiReferenceUrl": null,
|
|
2190
1772
|
"sourcePaths": [
|
|
2191
1773
|
"src/components/data-table/data-table-error.tsx"
|
|
2192
1774
|
],
|
|
2193
1775
|
"props": [],
|
|
2194
|
-
"examples": [
|
|
2195
|
-
{
|
|
2196
|
-
"language": "tsx",
|
|
2197
|
-
"meta": null,
|
|
2198
|
-
"code": "import { useState, useMemo } from \"react\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction VirtualizedTable() {\n const [rowSelection, setRowSelection] = useState({})\n const largeDataset = useMemo(() => generateLargeData(15000), [])\n\n return (\n <DataTable\n columns={columns}\n data={largeDataset}\n enableSorting\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n virtualization={{\n enabled: true,\n estimateRowHeight: 48, // Match your row height\n overscan: 10, // Render 10 extra rows beyond viewport\n containerHeight: 600, // Fixed height required for virtualization\n }}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2199
|
-
},
|
|
2200
|
-
{
|
|
2201
|
-
"language": "tsx",
|
|
2202
|
-
"meta": null,
|
|
2203
|
-
"code": "type VirtualizationConfig = {\n enabled: boolean\n estimateRowHeight?: number // Default: 48\n overscan?: number // Default: 10\n containerHeight?: number // Default: 600\n}"
|
|
2204
|
-
},
|
|
2205
|
-
{
|
|
2206
|
-
"language": "tsx",
|
|
2207
|
-
"meta": null,
|
|
2208
|
-
"code": "import {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableToolbar,\n} from \"@epilot/volt-ui\"\n\nfunction ComposableTable() {\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n pagination={{ pageSize: 10 }}\n >\n <DataTableToolbar>\n <input placeholder=\"Search invoices...\" />\n </DataTableToolbar>\n\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n\n <DataTablePagination className=\"mt-4\" />\n </DataTable>\n )\n}"
|
|
2209
|
-
},
|
|
2210
|
-
{
|
|
2211
|
-
"language": "tsx",
|
|
2212
|
-
"meta": null,
|
|
2213
|
-
"code": "<DataTable\n columns={columns}\n data={largeDataset}\n enableSorting\n virtualization={{ enabled: true, containerHeight: 500 }}\n>\n <DataTableContent>\n <DataTableHeader sticky />\n <DataTableBody emptyState=\"No results found.\" />\n </DataTableContent>\n</DataTable>"
|
|
2214
|
-
},
|
|
2215
|
-
{
|
|
2216
|
-
"language": "tsx",
|
|
2217
|
-
"meta": null,
|
|
2218
|
-
"code": "import { DataTable, DataTableContent, DataTableHeader, DataTableBody, DataTableLoading } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { data, isLoading } = useQuery(...)\n\n return (\n <DataTable columns={columns} data={data ?? []}>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody\n isLoading={isLoading}\n loadingState={<DataTableLoading />}\n emptyState=\"No invoices found.\"\n />\n </DataTableContent>\n </DataTable>\n )\n}"
|
|
2219
|
-
},
|
|
2220
|
-
{
|
|
2221
|
-
"language": "tsx",
|
|
2222
|
-
"meta": null,
|
|
2223
|
-
"code": "<DataTableBody\n isLoading={isLoading}\n loadingState={\n <DataTableLoading>\n <Spinner size=\"xl\" className=\"text-accent-light\" />\n <p className=\"mt-4 text-base font-medium\">{t('table.loading')}</p>\n <p className=\"text-sm text-gray-light\">{t('table.loading.description')}</p>\n </DataTableLoading>\n }\n/>"
|
|
2224
|
-
},
|
|
2225
|
-
{
|
|
2226
|
-
"language": "tsx",
|
|
2227
|
-
"meta": null,
|
|
2228
|
-
"code": "import { DataTable, DataTableContent, DataTableHeader, DataTableBody, DataTableError } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { data, isLoading, isError, refetch } = useQuery(...)\n\n return (\n <DataTable columns={columns} data={data ?? []}>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody\n isLoading={isLoading}\n loadingState={<DataTableLoading />}\n isError={isError}\n errorState={\n <DataTableError\n title=\"Failed to load invoices\"\n description=\"There was a problem connecting to the server.\"\n retryLabel=\"Retry\"\n onRetry={refetch}\n />\n }\n emptyState=\"No invoices found.\"\n />\n </DataTableContent>\n </DataTable>\n )\n}"
|
|
2229
|
-
},
|
|
2230
|
-
{
|
|
2231
|
-
"language": "tsx",
|
|
2232
|
-
"meta": null,
|
|
2233
|
-
"code": "<DataTableBody\n isError={isError}\n errorState={\n <DataTableError>\n <AlertTriangle size={48} className=\"text-error-light\" />\n <p className=\"mt-2 text-lg font-semibold\">{t('table.error.title')}</p>\n <p className=\"text-sm text-gray-light\">{t('table.error.description')}</p>\n <div className=\"flex gap-2 mt-4\">\n <Button variant=\"secondary\" size=\"sm\" onClick={refetch}>\n {t('retry')}\n </Button>\n <Button variant=\"tertiary\" size=\"sm\">\n {t('contact_support')}\n </Button>\n </div>\n </DataTableError>\n }\n/>"
|
|
2234
|
-
},
|
|
2235
|
-
{
|
|
2236
|
-
"language": "tsx",
|
|
2237
|
-
"meta": null,
|
|
2238
|
-
"code": "// Default - borders visible on header and rows\n<DataTable columns={columns} data={data} />\n\n// Hide all borders\n<DataTable\n columns={columns}\n data={data}\n showHeaderBorder={false}\n showRowBorders={false}\n/>\n\n// Hide only row borders (keep header border)\n<DataTable\n columns={columns}\n data={data}\n showRowBorders={false}\n/>\n\n// Hide only header border (keep row borders)\n<DataTable\n columns={columns}\n data={data}\n showHeaderBorder={false}\n/>"
|
|
2239
|
-
},
|
|
2240
|
-
{
|
|
2241
|
-
"language": "tsx",
|
|
2242
|
-
"meta": null,
|
|
2243
|
-
"code": "// Default uses var(--volt-gray-2)\n<DataTableHeader sticky />\n\n// Custom background color\n<DataTableHeader sticky stickyBackground=\"white\" />\n\n// Use a different volt gray\n<DataTableHeader sticky stickyBackground=\"var(--volt-gray-1)\" />\n\n// Custom CSS variable\n<DataTableHeader sticky stickyBackground=\"var(--my-header-bg)\" />"
|
|
2244
|
-
}
|
|
2245
|
-
]
|
|
1776
|
+
"examples": []
|
|
2246
1777
|
},
|
|
2247
1778
|
{
|
|
2248
1779
|
"name": "DataTableFooter",
|
|
2249
|
-
"title":
|
|
2250
|
-
"description":
|
|
2251
|
-
"docsPath":
|
|
2252
|
-
"docSlug":
|
|
2253
|
-
"documentationUrl": null,
|
|
2254
|
-
"apiReferenceUrl": null,
|
|
2255
|
-
"sourcePaths": [
|
|
2256
|
-
"src/components/data-table/data-table-footer.tsx"
|
|
2257
|
-
],
|
|
2258
|
-
"props": [],
|
|
2259
|
-
"examples": [
|
|
2260
|
-
{
|
|
2261
|
-
"language": "tsx",
|
|
2262
|
-
"meta": null,
|
|
2263
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\ntype Invoice = {\n id: string\n status: string\n customer: string\n amount: number\n}\n\nconst columns: ColumnDef<Invoice>[] = [\n { accessorKey: \"id\", header: \"Invoice\" },\n { accessorKey: \"status\", header: \"Status\" },\n { accessorKey: \"customer\", header: \"Customer\" },\n { accessorKey: \"amount\", header: \"Amount\" },\n]\n\n// Column resizing is enabled by default. Disable if you prefer fixed columns:\n<DataTable columns={columns} data={invoices} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
2264
|
-
},
|
|
2265
|
-
{
|
|
2266
|
-
"language": "tsx",
|
|
2267
|
-
"meta": null,
|
|
2268
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction FullExample() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [rowSelection, setRowSelection] = useState({})\n const [sorting, setSorting] = useState<SortingState>([])\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{ pageSize: 10 }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
2269
|
-
},
|
|
2270
|
-
{
|
|
2271
|
-
"language": "tsx",
|
|
2272
|
-
"meta": null,
|
|
2273
|
-
"code": "import { useState, useMemo } from \"react\"\nimport type { ColumnFiltersState, PaginationState, SortingState } from \"@tanstack/react-table\"\nimport {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableColumnVisibility,\n DataTableColumnOrder,\n DataTableToolbar,\n Button,\n} from \"@epilot/volt-ui\"\n\nfunction ServerExample() {\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n })\n const [sorting, setSorting] = useState<SortingState>([])\n const [globalFilter, setGlobalFilter] = useState(\"\")\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n const [rowSelection, setRowSelection] = useState({})\n\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }\n\n // In a real app, use useQuery with pagination/sorting/filters as query keys\n const { data, totalItems } = useServerData({\n pagination,\n sorting,\n globalFilter,\n statusFilter,\n typeFilter,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n manualSorting\n enableRowSelection\n enableColumnOrdering\n enableGlobalFilter\n enableFiltering\n manualFiltering\n sorting={sorting}\n onSortingChange={setSorting}\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n pagination={{\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalItems: totalItems,\n onPaginationChange: setPagination,\n }}\n >\n <DataTableToolbar>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={globalFilter}\n onChange={(e) => {\n setGlobalFilter(e.target.value)\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n />\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button\n variant=\"tertiary\"\n size=\"sm\"\n onClick={() => {\n setColumnFilters([])\n setPagination((prev) => ({ ...prev, pageIndex: 0 }))\n }}\n >\n Clear filters\n </Button>\n )}\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n <DataTablePagination />\n </DataTable>\n )\n}"
|
|
2274
|
-
},
|
|
2275
|
-
{
|
|
2276
|
-
"language": "tsx",
|
|
2277
|
-
"meta": null,
|
|
2278
|
-
"code": "<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
2279
|
-
},
|
|
2280
|
-
{
|
|
2281
|
-
"language": "tsx",
|
|
2282
|
-
"meta": null,
|
|
2283
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"description\",\n header: \"Description\",\n size: 200,\n meta: { cellOverflow: \"wrap\" }, // This column wraps, others truncate\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses table default\n },\n]\n\n<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
2284
|
-
},
|
|
2285
|
-
{
|
|
2286
|
-
"language": "tsx",
|
|
2287
|
-
"meta": null,
|
|
2288
|
-
"code": "import { DataTable, DataTableContent, DataTableColumnHeader } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Invoice\" />,\n },\n {\n accessorKey: \"customer\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Customer\" />,\n },\n // ...more columns\n]\n\n<DataTable columns={columns} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
2289
|
-
},
|
|
2290
|
-
{
|
|
2291
|
-
"language": "tsx",
|
|
2292
|
-
"meta": null,
|
|
2293
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [pageSize, setPageSize] = useState(5)\n const visibleData = data.slice(0, pageSize)\n const hasMore = pageSize < data.length\n\n return (\n <DataTable columns={columns} data={visibleData}>\n <DataTableContent />\n {hasMore && (\n <DataTableFooter className=\"justify-start\">\n <Button size=\"sm\" variant=\"tertiary\" onClick={() => setPageSize((prev) => prev + 3)}>\n Show more ({data.length - pageSize} remaining)\n </Button>\n </DataTableFooter>\n )}\n </DataTable>\n )\n}"
|
|
2294
|
-
},
|
|
2295
|
-
{
|
|
2296
|
-
"language": "tsx",
|
|
2297
|
-
"meta": null,
|
|
2298
|
-
"code": "{\n accessorKey: \"name\",\n header: \"Name\",\n}"
|
|
2299
|
-
},
|
|
2300
|
-
{
|
|
2301
|
-
"language": "tsx",
|
|
2302
|
-
"meta": null,
|
|
2303
|
-
"code": "{\n accessorKey: \"status\",\n header: \"Status\",\n cell: ({ row }) => <Badge>{row.getValue(\"status\")}</Badge>,\n}"
|
|
2304
|
-
},
|
|
2305
|
-
{
|
|
2306
|
-
"language": "tsx",
|
|
2307
|
-
"meta": null,
|
|
2308
|
-
"code": "{\n accessorKey: \"date\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Date\" />,\n}"
|
|
2309
|
-
},
|
|
2310
|
-
{
|
|
2311
|
-
"language": "tsx",
|
|
2312
|
-
"meta": null,
|
|
2313
|
-
"code": "{\n accessorKey: \"amount\",\n header: () => <div className=\"text-right\">Amount</div>,\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" },\n}"
|
|
2314
|
-
},
|
|
2315
|
-
{
|
|
2316
|
-
"language": "tsx",
|
|
2317
|
-
"meta": null,
|
|
2318
|
-
"code": "{\n accessorKey: \"amount\",\n header: ({ column }) => (\n <div className=\"flex justify-end\">\n <DataTableColumnHeader column={column} title=\"Amount\" />\n </div>\n ),\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" }, // Ensures proper header padding alignment\n}"
|
|
2319
|
-
}
|
|
2320
|
-
]
|
|
2321
|
-
},
|
|
2322
|
-
{
|
|
2323
|
-
"name": "DataTableHeader",
|
|
2324
|
-
"title": "Data Table",
|
|
2325
|
-
"description": "A powerful data table component built on Tanstack Table with support for sorting, filtering, pagination, row selection, and virtualization.",
|
|
2326
|
-
"docsPath": "docs/content/docs/components/data-table/index.mdx",
|
|
2327
|
-
"docSlug": "data-table/index",
|
|
1780
|
+
"title": null,
|
|
1781
|
+
"description": null,
|
|
1782
|
+
"docsPath": null,
|
|
1783
|
+
"docSlug": null,
|
|
2328
1784
|
"documentationUrl": null,
|
|
2329
1785
|
"apiReferenceUrl": null,
|
|
2330
1786
|
"sourcePaths": [
|
|
2331
|
-
"src/components/data-table/data-table-
|
|
2332
|
-
],
|
|
2333
|
-
"props": [],
|
|
2334
|
-
"examples": [
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
},
|
|
2350
|
-
{
|
|
2351
|
-
"language": "tsx",
|
|
2352
|
-
"meta": null,
|
|
2353
|
-
"code": "<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
2354
|
-
},
|
|
2355
|
-
{
|
|
2356
|
-
"language": "tsx",
|
|
2357
|
-
"meta": null,
|
|
2358
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"description\",\n header: \"Description\",\n size: 200,\n meta: { cellOverflow: \"wrap\" }, // This column wraps, others truncate\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses table default\n },\n]\n\n<DataTable columns={columns} data={data} cellOverflow=\"truncate\">\n <DataTableContent />\n</DataTable>"
|
|
2359
|
-
},
|
|
2360
|
-
{
|
|
2361
|
-
"language": "tsx",
|
|
2362
|
-
"meta": null,
|
|
2363
|
-
"code": "import { DataTable, DataTableContent, DataTableColumnHeader } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Invoice\" />,\n },\n {\n accessorKey: \"customer\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Customer\" />,\n },\n // ...more columns\n]\n\n<DataTable columns={columns} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
2364
|
-
},
|
|
2365
|
-
{
|
|
2366
|
-
"language": "tsx",
|
|
2367
|
-
"meta": null,
|
|
2368
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [pageSize, setPageSize] = useState(5)\n const visibleData = data.slice(0, pageSize)\n const hasMore = pageSize < data.length\n\n return (\n <DataTable columns={columns} data={visibleData}>\n <DataTableContent />\n {hasMore && (\n <DataTableFooter className=\"justify-start\">\n <Button size=\"sm\" variant=\"tertiary\" onClick={() => setPageSize((prev) => prev + 3)}>\n Show more ({data.length - pageSize} remaining)\n </Button>\n </DataTableFooter>\n )}\n </DataTable>\n )\n}"
|
|
2369
|
-
},
|
|
2370
|
-
{
|
|
2371
|
-
"language": "tsx",
|
|
2372
|
-
"meta": null,
|
|
2373
|
-
"code": "{\n accessorKey: \"name\",\n header: \"Name\",\n}"
|
|
2374
|
-
},
|
|
2375
|
-
{
|
|
2376
|
-
"language": "tsx",
|
|
2377
|
-
"meta": null,
|
|
2378
|
-
"code": "{\n accessorKey: \"status\",\n header: \"Status\",\n cell: ({ row }) => <Badge>{row.getValue(\"status\")}</Badge>,\n}"
|
|
2379
|
-
},
|
|
2380
|
-
{
|
|
2381
|
-
"language": "tsx",
|
|
2382
|
-
"meta": null,
|
|
2383
|
-
"code": "{\n accessorKey: \"date\",\n header: ({ column }) => <DataTableColumnHeader column={column} title=\"Date\" />,\n}"
|
|
2384
|
-
},
|
|
2385
|
-
{
|
|
2386
|
-
"language": "tsx",
|
|
2387
|
-
"meta": null,
|
|
2388
|
-
"code": "{\n accessorKey: \"amount\",\n header: () => <div className=\"text-right\">Amount</div>,\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" },\n}"
|
|
2389
|
-
},
|
|
2390
|
-
{
|
|
2391
|
-
"language": "tsx",
|
|
2392
|
-
"meta": null,
|
|
2393
|
-
"code": "{\n accessorKey: \"amount\",\n header: ({ column }) => (\n <div className=\"flex justify-end\">\n <DataTableColumnHeader column={column} title=\"Amount\" />\n </div>\n ),\n cell: ({ row }) => (\n <div className=\"text-right tabular-nums\">\n {formatCurrency(row.getValue(\"amount\"))}\n </div>\n ),\n meta: { align: \"right\" }, // Ensures proper header padding alignment\n}"
|
|
2394
|
-
}
|
|
2395
|
-
]
|
|
1787
|
+
"src/components/data-table/data-table-footer.tsx"
|
|
1788
|
+
],
|
|
1789
|
+
"props": [],
|
|
1790
|
+
"examples": []
|
|
1791
|
+
},
|
|
1792
|
+
{
|
|
1793
|
+
"name": "DataTableHeader",
|
|
1794
|
+
"title": null,
|
|
1795
|
+
"description": null,
|
|
1796
|
+
"docsPath": null,
|
|
1797
|
+
"docSlug": null,
|
|
1798
|
+
"documentationUrl": null,
|
|
1799
|
+
"apiReferenceUrl": null,
|
|
1800
|
+
"sourcePaths": [
|
|
1801
|
+
"src/components/data-table/data-table-header.tsx"
|
|
1802
|
+
],
|
|
1803
|
+
"props": [],
|
|
1804
|
+
"examples": []
|
|
2396
1805
|
},
|
|
2397
1806
|
{
|
|
2398
1807
|
"name": "DataTableLoading",
|
|
2399
|
-
"title":
|
|
2400
|
-
"description":
|
|
2401
|
-
"docsPath":
|
|
2402
|
-
"docSlug":
|
|
1808
|
+
"title": null,
|
|
1809
|
+
"description": null,
|
|
1810
|
+
"docsPath": null,
|
|
1811
|
+
"docSlug": null,
|
|
2403
1812
|
"documentationUrl": null,
|
|
2404
1813
|
"apiReferenceUrl": null,
|
|
2405
1814
|
"sourcePaths": [
|
|
2406
1815
|
"src/components/data-table/data-table-loading.tsx"
|
|
2407
1816
|
],
|
|
2408
1817
|
"props": [],
|
|
2409
|
-
"examples": [
|
|
2410
|
-
{
|
|
2411
|
-
"language": "tsx",
|
|
2412
|
-
"meta": null,
|
|
2413
|
-
"code": "import { useState, useMemo } from \"react\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction VirtualizedTable() {\n const [rowSelection, setRowSelection] = useState({})\n const largeDataset = useMemo(() => generateLargeData(15000), [])\n\n return (\n <DataTable\n columns={columns}\n data={largeDataset}\n enableSorting\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n virtualization={{\n enabled: true,\n estimateRowHeight: 48, // Match your row height\n overscan: 10, // Render 10 extra rows beyond viewport\n containerHeight: 600, // Fixed height required for virtualization\n }}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2414
|
-
},
|
|
2415
|
-
{
|
|
2416
|
-
"language": "tsx",
|
|
2417
|
-
"meta": null,
|
|
2418
|
-
"code": "type VirtualizationConfig = {\n enabled: boolean\n estimateRowHeight?: number // Default: 48\n overscan?: number // Default: 10\n containerHeight?: number // Default: 600\n}"
|
|
2419
|
-
},
|
|
2420
|
-
{
|
|
2421
|
-
"language": "tsx",
|
|
2422
|
-
"meta": null,
|
|
2423
|
-
"code": "import {\n DataTable,\n DataTableContent,\n DataTableHeader,\n DataTableBody,\n DataTablePagination,\n DataTableToolbar,\n} from \"@epilot/volt-ui\"\n\nfunction ComposableTable() {\n return (\n <DataTable\n columns={columns}\n data={data}\n enableSorting\n pagination={{ pageSize: 10 }}\n >\n <DataTableToolbar>\n <input placeholder=\"Search invoices...\" />\n </DataTableToolbar>\n\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody />\n </DataTableContent>\n\n <DataTablePagination className=\"mt-4\" />\n </DataTable>\n )\n}"
|
|
2424
|
-
},
|
|
2425
|
-
{
|
|
2426
|
-
"language": "tsx",
|
|
2427
|
-
"meta": null,
|
|
2428
|
-
"code": "<DataTable\n columns={columns}\n data={largeDataset}\n enableSorting\n virtualization={{ enabled: true, containerHeight: 500 }}\n>\n <DataTableContent>\n <DataTableHeader sticky />\n <DataTableBody emptyState=\"No results found.\" />\n </DataTableContent>\n</DataTable>"
|
|
2429
|
-
},
|
|
2430
|
-
{
|
|
2431
|
-
"language": "tsx",
|
|
2432
|
-
"meta": null,
|
|
2433
|
-
"code": "import { DataTable, DataTableContent, DataTableHeader, DataTableBody, DataTableLoading } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { data, isLoading } = useQuery(...)\n\n return (\n <DataTable columns={columns} data={data ?? []}>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody\n isLoading={isLoading}\n loadingState={<DataTableLoading />}\n emptyState=\"No invoices found.\"\n />\n </DataTableContent>\n </DataTable>\n )\n}"
|
|
2434
|
-
},
|
|
2435
|
-
{
|
|
2436
|
-
"language": "tsx",
|
|
2437
|
-
"meta": null,
|
|
2438
|
-
"code": "<DataTableBody\n isLoading={isLoading}\n loadingState={\n <DataTableLoading>\n <Spinner size=\"xl\" className=\"text-accent-light\" />\n <p className=\"mt-4 text-base font-medium\">{t('table.loading')}</p>\n <p className=\"text-sm text-gray-light\">{t('table.loading.description')}</p>\n </DataTableLoading>\n }\n/>"
|
|
2439
|
-
},
|
|
2440
|
-
{
|
|
2441
|
-
"language": "tsx",
|
|
2442
|
-
"meta": null,
|
|
2443
|
-
"code": "import { DataTable, DataTableContent, DataTableHeader, DataTableBody, DataTableError } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { data, isLoading, isError, refetch } = useQuery(...)\n\n return (\n <DataTable columns={columns} data={data ?? []}>\n <DataTableContent>\n <DataTableHeader />\n <DataTableBody\n isLoading={isLoading}\n loadingState={<DataTableLoading />}\n isError={isError}\n errorState={\n <DataTableError\n title=\"Failed to load invoices\"\n description=\"There was a problem connecting to the server.\"\n retryLabel=\"Retry\"\n onRetry={refetch}\n />\n }\n emptyState=\"No invoices found.\"\n />\n </DataTableContent>\n </DataTable>\n )\n}"
|
|
2444
|
-
},
|
|
2445
|
-
{
|
|
2446
|
-
"language": "tsx",
|
|
2447
|
-
"meta": null,
|
|
2448
|
-
"code": "<DataTableBody\n isError={isError}\n errorState={\n <DataTableError>\n <AlertTriangle size={48} className=\"text-error-light\" />\n <p className=\"mt-2 text-lg font-semibold\">{t('table.error.title')}</p>\n <p className=\"text-sm text-gray-light\">{t('table.error.description')}</p>\n <div className=\"flex gap-2 mt-4\">\n <Button variant=\"secondary\" size=\"sm\" onClick={refetch}>\n {t('retry')}\n </Button>\n <Button variant=\"tertiary\" size=\"sm\">\n {t('contact_support')}\n </Button>\n </div>\n </DataTableError>\n }\n/>"
|
|
2449
|
-
},
|
|
2450
|
-
{
|
|
2451
|
-
"language": "tsx",
|
|
2452
|
-
"meta": null,
|
|
2453
|
-
"code": "// Default - borders visible on header and rows\n<DataTable columns={columns} data={data} />\n\n// Hide all borders\n<DataTable\n columns={columns}\n data={data}\n showHeaderBorder={false}\n showRowBorders={false}\n/>\n\n// Hide only row borders (keep header border)\n<DataTable\n columns={columns}\n data={data}\n showRowBorders={false}\n/>\n\n// Hide only header border (keep row borders)\n<DataTable\n columns={columns}\n data={data}\n showHeaderBorder={false}\n/>"
|
|
2454
|
-
},
|
|
2455
|
-
{
|
|
2456
|
-
"language": "tsx",
|
|
2457
|
-
"meta": null,
|
|
2458
|
-
"code": "// Default uses var(--volt-gray-2)\n<DataTableHeader sticky />\n\n// Custom background color\n<DataTableHeader sticky stickyBackground=\"white\" />\n\n// Use a different volt gray\n<DataTableHeader sticky stickyBackground=\"var(--volt-gray-1)\" />\n\n// Custom CSS variable\n<DataTableHeader sticky stickyBackground=\"var(--my-header-bg)\" />"
|
|
2459
|
-
}
|
|
2460
|
-
]
|
|
1818
|
+
"examples": []
|
|
2461
1819
|
},
|
|
2462
1820
|
{
|
|
2463
1821
|
"name": "DataTablePagination",
|
|
2464
|
-
"title":
|
|
2465
|
-
"description":
|
|
2466
|
-
"docsPath":
|
|
2467
|
-
"docSlug":
|
|
1822
|
+
"title": null,
|
|
1823
|
+
"description": null,
|
|
1824
|
+
"docsPath": null,
|
|
1825
|
+
"docSlug": null,
|
|
2468
1826
|
"documentationUrl": null,
|
|
2469
1827
|
"apiReferenceUrl": null,
|
|
2470
1828
|
"sourcePaths": [
|
|
2471
1829
|
"src/components/data-table/data-table-pagination.tsx"
|
|
2472
1830
|
],
|
|
2473
1831
|
"props": [],
|
|
2474
|
-
"examples": [
|
|
2475
|
-
{
|
|
2476
|
-
"language": "tsx",
|
|
2477
|
-
"meta": null,
|
|
2478
|
-
"code": "import { DataTable, DataTableContent, DataTablePagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable\n columns={columns}\n data={data} // Full dataset\n pagination={{ pageSize: 10 }}\n >\n <DataTableContent />\n <DataTablePagination className=\"mt-4\" />\n </DataTable>\n )\n}"
|
|
2479
|
-
},
|
|
2480
|
-
{
|
|
2481
|
-
"language": "tsx",
|
|
2482
|
-
"meta": null,
|
|
2483
|
-
"code": "import { useState } from \"react\"\nimport type { PaginationState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTablePagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [pagination, setPagination] = useState<PaginationState>({\n pageIndex: 0,\n pageSize: 10,\n })\n\n // In real app, use TanStack Query or similar\n const { data, totalItems } = useServerData(pagination)\n\n return (\n <DataTable\n columns={columns}\n data={data} // Only current page data from server\n pagination={{\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalItems: totalItems,\n onPaginationChange: setPagination,\n }}\n >\n <DataTableContent />\n <DataTablePagination className=\"mt-4\" />\n </DataTable>\n )\n}"
|
|
2484
|
-
},
|
|
2485
|
-
{
|
|
2486
|
-
"language": "tsx",
|
|
2487
|
-
"meta": null,
|
|
2488
|
-
"code": "type PaginationConfig = {\n pageIndex?: number // Controlled page index (0-indexed)\n pageSize?: number // Default: 10\n pageSizeOptions?: number[] // Default: [10, 25, 50, 100]\n totalItems?: number // Server-side pagination total\n pageCount?: number // Server-side pagination page count\n onPaginationChange?: (state: PaginationState) => void\n}"
|
|
2489
|
-
}
|
|
2490
|
-
]
|
|
1832
|
+
"examples": []
|
|
2491
1833
|
},
|
|
2492
1834
|
{
|
|
2493
1835
|
"name": "DataTableResizeHandle",
|
|
@@ -2519,118 +1861,17 @@
|
|
|
2519
1861
|
},
|
|
2520
1862
|
{
|
|
2521
1863
|
"name": "DataTableToolbar",
|
|
2522
|
-
"title":
|
|
2523
|
-
"description":
|
|
2524
|
-
"docsPath":
|
|
2525
|
-
"docSlug":
|
|
1864
|
+
"title": null,
|
|
1865
|
+
"description": null,
|
|
1866
|
+
"docsPath": null,
|
|
1867
|
+
"docSlug": null,
|
|
2526
1868
|
"documentationUrl": null,
|
|
2527
1869
|
"apiReferenceUrl": null,
|
|
2528
1870
|
"sourcePaths": [
|
|
2529
1871
|
"src/components/data-table/data-table-toolbar.tsx"
|
|
2530
1872
|
],
|
|
2531
1873
|
"props": [],
|
|
2532
|
-
"examples": [
|
|
2533
|
-
{
|
|
2534
|
-
"language": "tsx",
|
|
2535
|
-
"meta": null,
|
|
2536
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableToolbar } from \"@epilot/volt-ui\"\nimport { IconSearch } from \"@tabler/icons-react\"\n\nfunction MyTable() {\n const [globalFilter, setGlobalFilter] = useState(\"\")\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableGlobalFilter\n globalFilter={globalFilter}\n onGlobalFilterChange={setGlobalFilter}\n >\n <DataTableToolbar>\n <div className=\"flex items-center gap-2 rounded-lg border border-gray-a6 px-3 py-1.5\">\n <IconSearch size={18} />\n <input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e) => setGlobalFilter(e.target.value)}\n />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2537
|
-
},
|
|
2538
|
-
{
|
|
2539
|
-
"language": "tsx",
|
|
2540
|
-
"meta": null,
|
|
2541
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnFiltersState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent, DataTableToolbar, Button } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([])\n\n // Get current filter values\n const statusFilter = columnFilters.find((f) => f.id === \"status\")?.value as string | undefined\n const typeFilter = columnFilters.find((f) => f.id === \"type\")?.value as string | undefined\n\n // Update status filter\n const setStatusFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"status\"), { id: \"status\", value }]\n : prev.filter((f) => f.id !== \"status\")\n )\n }\n\n // Update type filter\n const setTypeFilter = (value: string | undefined) => {\n setColumnFilters((prev) =>\n value\n ? [...prev.filter((f) => f.id !== \"type\"), { id: \"type\", value }]\n : prev.filter((f) => f.id !== \"type\")\n )\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableFiltering\n columnFilters={columnFilters}\n onColumnFiltersChange={setColumnFilters}\n >\n <DataTableToolbar>\n <select\n value={statusFilter ?? \"\"}\n onChange={(e) => setStatusFilter(e.target.value || undefined)}\n >\n <option value=\"\">All statuses</option>\n <option value=\"paid\">Paid</option>\n <option value=\"pending\">Pending</option>\n <option value=\"overdue\">Overdue</option>\n </select>\n <select\n value={typeFilter ?? \"\"}\n onChange={(e) => setTypeFilter(e.target.value || undefined)}\n >\n <option value=\"\">All types</option>\n <option value=\"credit\">Credit</option>\n <option value=\"debit\">Debit</option>\n </select>\n {columnFilters.length > 0 && (\n <Button variant=\"tertiary\" size=\"sm\" onClick={() => setColumnFilters([])}>\n Clear filters\n </Button>\n )}\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2542
|
-
},
|
|
2543
|
-
{
|
|
2544
|
-
"language": "tsx",
|
|
2545
|
-
"meta": null,
|
|
2546
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnVisibility,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n return (\n <DataTable columns={columns} data={data} enableSorting>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n {/* Use -mr-1 wrapper to align icon with toolbar edge (compensates for button hover padding) */}\n <div className=\"-mr-1\">\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </div>\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2547
|
-
},
|
|
2548
|
-
{
|
|
2549
|
-
"language": "tsx",
|
|
2550
|
-
"meta": null,
|
|
2551
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n enableHiding: false, // This column won't appear in the visibility dropdown\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n // enableHiding defaults to true\n },\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n enableHiding: false, // Actions column should always be visible\n },\n]"
|
|
2552
|
-
},
|
|
2553
|
-
{
|
|
2554
|
-
"language": "tsx",
|
|
2555
|
-
"meta": null,
|
|
2556
|
-
"code": "import { Button } from \"@epilot/volt-ui\"\n\n<DataTableColumnVisibility\n label=\"Toggle columns\"\n trigger={\n <Button variant=\"tertiary\" size=\"sm\">\n Columns\n </Button>\n }\n/>"
|
|
2557
|
-
},
|
|
2558
|
-
{
|
|
2559
|
-
"language": "tsx",
|
|
2560
|
-
"meta": null,
|
|
2561
|
-
"code": "const columns: ColumnDef<Invoice>[] = [\n // ... other columns\n {\n id: \"actions\",\n cell: ({ row }) => <ActionsMenu row={row} />,\n meta: {\n visibilityLabel: \"Actions\", // Label shown in visibility dropdown\n },\n },\n]"
|
|
2562
|
-
},
|
|
2563
|
-
{
|
|
2564
|
-
"language": "tsx",
|
|
2565
|
-
"meta": null,
|
|
2566
|
-
"code": "<DataTable columns={columns} data={data} enableColumnOrdering>\n <DataTableContent />\n</DataTable>"
|
|
2567
|
-
},
|
|
2568
|
-
{
|
|
2569
|
-
"language": "tsx",
|
|
2570
|
-
"meta": null,
|
|
2571
|
-
"code": "import { useState } from \"react\"\nimport {\n DataTable,\n DataTableContent,\n DataTableToolbar,\n DataTableColumnOrder,\n DataTableColumnVisibility,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useState<ColumnOrderState>([])\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n <DataTableColumnVisibility label=\"Toggle columns\" />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2572
|
-
},
|
|
2573
|
-
{
|
|
2574
|
-
"language": "tsx",
|
|
2575
|
-
"meta": null,
|
|
2576
|
-
"code": "<DataTable columns={columns} data={data}>\n <DataTableToolbar>\n <div className=\"flex-1\" />\n <DataTableColumnOrder label=\"Column order\" />\n </DataTableToolbar>\n <DataTableContent />\n</DataTable>"
|
|
2577
|
-
},
|
|
2578
|
-
{
|
|
2579
|
-
"language": "tsx",
|
|
2580
|
-
"meta": null,
|
|
2581
|
-
"code": "{/* Custom icon */}\n<DataTableColumnOrder label=\"Column order\" icon={<MyIcon />} />\n\n{/* Fully custom trigger */}\n<DataTableColumnOrder label=\"Column order\" trigger={<Button>Reorder</Button>} />"
|
|
2582
|
-
},
|
|
2583
|
-
{
|
|
2584
|
-
"language": "tsx",
|
|
2585
|
-
"meta": null,
|
|
2586
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n meta: { enableOrdering: false }, // Cannot be reordered\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n // Reorderable by default\n },\n]"
|
|
2587
|
-
},
|
|
2588
|
-
{
|
|
2589
|
-
"language": "tsx",
|
|
2590
|
-
"meta": null,
|
|
2591
|
-
"code": "import {\n DataTable,\n DataTableContent,\n type ColumnOrderState,\n} from \"@epilot/volt-ui\"\nimport { useLocalStorage } from \"@/hooks/useSessionStorage\"\n\nfunction MyTable() {\n const [columnOrder, setColumnOrder] = useLocalStorage<ColumnOrderState>(\n \"my-table-column-order\",\n []\n )\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableColumnOrdering\n columnOrder={columnOrder}\n onColumnOrderChange={setColumnOrder}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2592
|
-
},
|
|
2593
|
-
{
|
|
2594
|
-
"language": "tsx",
|
|
2595
|
-
"meta": null,
|
|
2596
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columns: ColumnDef<Invoice>[] = [\n {\n accessorKey: \"id\",\n header: \"Invoice\",\n size: 120, // Initial width\n minSize: 80, // Minimum width when resizing\n maxSize: 200, // Maximum width when resizing\n },\n {\n accessorKey: \"status\",\n header: \"Status\",\n size: 120,\n },\n {\n accessorKey: \"type\",\n header: \"Type\",\n size: 100,\n enableResizing: false, // Disable resizing for this column\n },\n // ...more columns\n]\n\n// Column resizing is enabled by default\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// To disable column resizing:\n<DataTable columns={columns} data={data} disableColumnResizing>\n <DataTableContent />\n</DataTable>"
|
|
2597
|
-
},
|
|
2598
|
-
{
|
|
2599
|
-
"language": "tsx",
|
|
2600
|
-
"meta": null,
|
|
2601
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnSizingState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>({\n id: 100,\n customer: 180,\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnSizing={columnSizing}\n onColumnSizingChange={setColumnSizing}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2602
|
-
},
|
|
2603
|
-
{
|
|
2604
|
-
"language": "tsx",
|
|
2605
|
-
"meta": null,
|
|
2606
|
-
"code": "const columns: ColumnDef<Data>[] = [\n {\n accessorKey: \"id\",\n header: \"ID\",\n size: 60,\n enableResizing: false, // Cannot be resized\n },\n {\n accessorKey: \"name\",\n header: \"Name\",\n size: 150,\n minSize: 100, // Minimum 100px\n maxSize: 400, // Maximum 400px\n },\n {\n accessorKey: \"email\",\n header: \"Email\",\n // Uses defaults: minSize=20, maxSize=unlimited\n },\n]"
|
|
2607
|
-
},
|
|
2608
|
-
{
|
|
2609
|
-
"language": "tsx",
|
|
2610
|
-
"meta": null,
|
|
2611
|
-
"code": "// Default: handles appear on header hover\n<DataTable columns={columns} data={data}>\n <DataTableContent />\n</DataTable>\n\n// Always show resize handles\n<DataTable columns={columns} data={data} resizeHandleVisibility=\"always\">\n <DataTableContent />\n</DataTable>"
|
|
2612
|
-
},
|
|
2613
|
-
{
|
|
2614
|
-
"language": "tsx",
|
|
2615
|
-
"meta": null,
|
|
2616
|
-
"code": "import { useState } from \"react\"\nimport type { RowSelectionState } from \"@tanstack/react-table\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState<RowSelectionState>({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n autoPinSelection // Pin checkbox column when rows are selected\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2617
|
-
},
|
|
2618
|
-
{
|
|
2619
|
-
"language": "tsx",
|
|
2620
|
-
"meta": null,
|
|
2621
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n<DataTable\n columns={columns}\n data={data}\n columnPinning={{ left: [\"id\"], right: [\"actions\"] }}\n>\n <DataTableContent />\n</DataTable>"
|
|
2622
|
-
},
|
|
2623
|
-
{
|
|
2624
|
-
"language": "tsx",
|
|
2625
|
-
"meta": null,
|
|
2626
|
-
"code": "import { useState } from \"react\"\nimport type { ColumnPinningState } from \"@epilot/volt-ui\"\nimport { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [columnPinning, setColumnPinning] = useState<ColumnPinningState>({\n left: [\"id\"],\n right: [],\n })\n\n return (\n <DataTable\n columns={columns}\n data={data}\n columnPinning={columnPinning}\n onColumnPinningChange={setColumnPinning}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
2627
|
-
},
|
|
2628
|
-
{
|
|
2629
|
-
"language": "tsx",
|
|
2630
|
-
"meta": null,
|
|
2631
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\n// Compact rows (smallest)\n<DataTable columns={columns} data={data} density=\"compact\">\n <DataTableContent />\n</DataTable>\n\n// Normal rows (default)\n<DataTable columns={columns} data={data} density=\"normal\">\n <DataTableContent />\n</DataTable>\n\n// Comfortable rows (largest)\n<DataTable columns={columns} data={data} density=\"comfortable\">\n <DataTableContent />\n</DataTable>"
|
|
2632
|
-
}
|
|
2633
|
-
]
|
|
1874
|
+
"examples": []
|
|
2634
1875
|
},
|
|
2635
1876
|
{
|
|
2636
1877
|
"name": "DataTableVirtualizerContext",
|
|
@@ -2777,7 +2018,7 @@
|
|
|
2777
2018
|
{
|
|
2778
2019
|
"language": "tsx",
|
|
2779
2020
|
"meta": "lineNumbers",
|
|
2780
|
-
"code": "import { useState } from \"react\"\nimport { DateRangePicker } from \"@epilot/volt-ui\"\nimport type { DateRange } from \"@epilot/volt-ui\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<DateRange>({\n start: new Date(),\n end: null,\n })\n\n return (\n <DateRangePicker\n label=\"Date Range\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
2021
|
+
"code": "import { useState } from \"react\"\nimport { DateRangePicker } from \"@epilot/volt-ui-react\"\nimport type { DateRange } from \"@epilot/volt-ui-react\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<DateRange>({\n start: new Date(),\n end: null,\n })\n\n return (\n <DateRangePicker\n label=\"Date Range\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
2781
2022
|
},
|
|
2782
2023
|
{
|
|
2783
2024
|
"language": "tsx",
|
|
@@ -2954,43 +2195,99 @@
|
|
|
2954
2195
|
"description": "Position the time picker below or beside the calendar."
|
|
2955
2196
|
}
|
|
2956
2197
|
],
|
|
2957
|
-
"examples": [
|
|
2958
|
-
{
|
|
2959
|
-
"language": "tsx",
|
|
2960
|
-
"meta": "lineNumbers",
|
|
2961
|
-
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
2962
|
-
},
|
|
2963
|
-
{
|
|
2964
|
-
"language": "tsx",
|
|
2965
|
-
"meta": "lineNumbers",
|
|
2966
|
-
"code": "<DateTimePicker\n label=\"Future Date Only\"\n value={value}\n onChange={setValue}\n disablePast\n/>"
|
|
2967
|
-
},
|
|
2968
|
-
{
|
|
2969
|
-
"language": "tsx",
|
|
2970
|
-
"meta": "lineNumbers",
|
|
2971
|
-
"code": "<DateTimePicker\n label=\"Date & Time\"\n value={value}\n onChange={setValue}\n error=\"Please select a valid date\"\n/>"
|
|
2972
|
-
},
|
|
2973
|
-
{
|
|
2974
|
-
"language": "tsx",
|
|
2975
|
-
"meta": "lineNumbers",
|
|
2976
|
-
"code": "<DateTimePicker\n label=\"Termin\"\n value={value}\n onChange={setValue}\n locale=\"de\"\n format=\"dd.MM.yyyy HH:mm\"\n placeholder=\"tt.mm.jjjj hh:mm\"\n/>"
|
|
2977
|
-
},
|
|
2978
|
-
{
|
|
2979
|
-
"language": "tsx",
|
|
2980
|
-
"meta": "lineNumbers",
|
|
2981
|
-
"code": "<DateTimePicker\n label=\"Select Date\"\n value={value}\n onChange={setValue}\n showTodayButton\n todayLabel=\"Today\"\n/>"
|
|
2982
|
-
},
|
|
2983
|
-
{
|
|
2984
|
-
"language": "tsx",
|
|
2985
|
-
"meta": "lineNumbers",
|
|
2986
|
-
"code": "<DateTimePicker\n label=\"Side Layout\"\n value={value}\n onChange={setValue}\n timePickerPosition=\"side\"\n/>"
|
|
2987
|
-
},
|
|
2988
|
-
{
|
|
2989
|
-
"language": "tsx",
|
|
2990
|
-
"meta": "lineNumbers",
|
|
2991
|
-
"code": "<DateTimePicker\n label=\"Side Layout + Today\"\n value={value}\n onChange={setValue}\n timePickerPosition=\"side\"\n showTodayButton\n todayLabel=\"Today\"\n/>"
|
|
2992
|
-
}
|
|
2993
|
-
]
|
|
2198
|
+
"examples": [
|
|
2199
|
+
{
|
|
2200
|
+
"language": "tsx",
|
|
2201
|
+
"meta": "lineNumbers",
|
|
2202
|
+
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui-react\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
2203
|
+
},
|
|
2204
|
+
{
|
|
2205
|
+
"language": "tsx",
|
|
2206
|
+
"meta": "lineNumbers",
|
|
2207
|
+
"code": "<DateTimePicker\n label=\"Future Date Only\"\n value={value}\n onChange={setValue}\n disablePast\n/>"
|
|
2208
|
+
},
|
|
2209
|
+
{
|
|
2210
|
+
"language": "tsx",
|
|
2211
|
+
"meta": "lineNumbers",
|
|
2212
|
+
"code": "<DateTimePicker\n label=\"Date & Time\"\n value={value}\n onChange={setValue}\n error=\"Please select a valid date\"\n/>"
|
|
2213
|
+
},
|
|
2214
|
+
{
|
|
2215
|
+
"language": "tsx",
|
|
2216
|
+
"meta": "lineNumbers",
|
|
2217
|
+
"code": "<DateTimePicker\n label=\"Termin\"\n value={value}\n onChange={setValue}\n locale=\"de\"\n format=\"dd.MM.yyyy HH:mm\"\n placeholder=\"tt.mm.jjjj hh:mm\"\n/>"
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
"language": "tsx",
|
|
2221
|
+
"meta": "lineNumbers",
|
|
2222
|
+
"code": "<DateTimePicker\n label=\"Select Date\"\n value={value}\n onChange={setValue}\n showTodayButton\n todayLabel=\"Today\"\n/>"
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"language": "tsx",
|
|
2226
|
+
"meta": "lineNumbers",
|
|
2227
|
+
"code": "<DateTimePicker\n label=\"Side Layout\"\n value={value}\n onChange={setValue}\n timePickerPosition=\"side\"\n/>"
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
"language": "tsx",
|
|
2231
|
+
"meta": "lineNumbers",
|
|
2232
|
+
"code": "<DateTimePicker\n label=\"Side Layout + Today\"\n value={value}\n onChange={setValue}\n timePickerPosition=\"side\"\n showTodayButton\n todayLabel=\"Today\"\n/>"
|
|
2233
|
+
}
|
|
2234
|
+
]
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
"name": "DateTimePickerInput",
|
|
2238
|
+
"title": null,
|
|
2239
|
+
"description": null,
|
|
2240
|
+
"docsPath": null,
|
|
2241
|
+
"docSlug": null,
|
|
2242
|
+
"documentationUrl": null,
|
|
2243
|
+
"apiReferenceUrl": null,
|
|
2244
|
+
"sourcePaths": [
|
|
2245
|
+
"src/components/date-time-picker/date-time-picker.tsx"
|
|
2246
|
+
],
|
|
2247
|
+
"props": [],
|
|
2248
|
+
"examples": []
|
|
2249
|
+
},
|
|
2250
|
+
{
|
|
2251
|
+
"name": "DateTimePickerPanel",
|
|
2252
|
+
"title": null,
|
|
2253
|
+
"description": null,
|
|
2254
|
+
"docsPath": null,
|
|
2255
|
+
"docSlug": null,
|
|
2256
|
+
"documentationUrl": null,
|
|
2257
|
+
"apiReferenceUrl": null,
|
|
2258
|
+
"sourcePaths": [
|
|
2259
|
+
"src/components/date-time-picker/date-time-picker.tsx"
|
|
2260
|
+
],
|
|
2261
|
+
"props": [],
|
|
2262
|
+
"examples": []
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
"name": "DateTimePickerPopover",
|
|
2266
|
+
"title": null,
|
|
2267
|
+
"description": null,
|
|
2268
|
+
"docsPath": null,
|
|
2269
|
+
"docSlug": null,
|
|
2270
|
+
"documentationUrl": null,
|
|
2271
|
+
"apiReferenceUrl": null,
|
|
2272
|
+
"sourcePaths": [
|
|
2273
|
+
"src/components/date-time-picker/date-time-picker.tsx"
|
|
2274
|
+
],
|
|
2275
|
+
"props": [],
|
|
2276
|
+
"examples": []
|
|
2277
|
+
},
|
|
2278
|
+
{
|
|
2279
|
+
"name": "DateTimePickerRoot",
|
|
2280
|
+
"title": null,
|
|
2281
|
+
"description": null,
|
|
2282
|
+
"docsPath": null,
|
|
2283
|
+
"docSlug": null,
|
|
2284
|
+
"documentationUrl": null,
|
|
2285
|
+
"apiReferenceUrl": null,
|
|
2286
|
+
"sourcePaths": [
|
|
2287
|
+
"src/components/date-time-picker/date-time-picker.tsx"
|
|
2288
|
+
],
|
|
2289
|
+
"props": [],
|
|
2290
|
+
"examples": []
|
|
2994
2291
|
},
|
|
2995
2292
|
{
|
|
2996
2293
|
"name": "Dialog",
|
|
@@ -3033,7 +2330,7 @@
|
|
|
3033
2330
|
{
|
|
3034
2331
|
"language": "tsx",
|
|
3035
2332
|
"meta": "lineNumbers",
|
|
3036
|
-
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
2333
|
+
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
3037
2334
|
}
|
|
3038
2335
|
]
|
|
3039
2336
|
},
|
|
@@ -3130,7 +2427,7 @@
|
|
|
3130
2427
|
{
|
|
3131
2428
|
"language": "tsx",
|
|
3132
2429
|
"meta": "lineNumbers",
|
|
3133
|
-
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
2430
|
+
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
3134
2431
|
}
|
|
3135
2432
|
]
|
|
3136
2433
|
},
|
|
@@ -3163,7 +2460,7 @@
|
|
|
3163
2460
|
{
|
|
3164
2461
|
"language": "tsx",
|
|
3165
2462
|
"meta": "lineNumbers",
|
|
3166
|
-
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
2463
|
+
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
3167
2464
|
}
|
|
3168
2465
|
]
|
|
3169
2466
|
},
|
|
@@ -3204,7 +2501,7 @@
|
|
|
3204
2501
|
{
|
|
3205
2502
|
"language": "tsx",
|
|
3206
2503
|
"meta": "lineNumbers",
|
|
3207
|
-
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
2504
|
+
"code": "import { Dialog, DialogTrigger, DialogContent, DialogPortal, DialogFooter, DialogClose, Button, DialogHeader, DialogTitle, DialogDescription } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\">Open</Button>\n </DialogTrigger>\n <DialogPortal container={document.getElementById(\"root\")}>\n <DialogOverlay />\n <DialogContent size=\"2xl\">\n <DialogHeader>\n <DialogTitle>Edit profile</DialogTitle>\n <DialogDescription>\n Make changes to your profile here. Click save when you're\n done.\n </DialogDescription>\n </DialogHeader>\n <form className=\"flex flex-col gap-4 w-full\">\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Full Name</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"text\" placeholder=\"John Doe\" />\n </div>\n <div className=\"flex gap-4\">\n <Label className=\"w-1/4\">Email</Label>\n <input className=\"w-full border rounded-lg p-2\" type=\"email\" placeholder=\"john.doe@example.com\" />\n </div>\n </form>\n <DialogFooter>\n <DialogClose asChild>\n <Button variant=\"secondary\">Cancel</Button>\n </DialogClose>\n <Button type=\"submit\">Save changes</Button>\n </DialogFooter>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n</div>"
|
|
3208
2505
|
}
|
|
3209
2506
|
]
|
|
3210
2507
|
},
|
|
@@ -3249,7 +2546,7 @@
|
|
|
3249
2546
|
{
|
|
3250
2547
|
"language": "tsx",
|
|
3251
2548
|
"meta": "lineNumbers",
|
|
3252
|
-
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
2549
|
+
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui-react\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
3253
2550
|
},
|
|
3254
2551
|
{
|
|
3255
2552
|
"language": "tsx",
|
|
@@ -3351,7 +2648,7 @@
|
|
|
3351
2648
|
{
|
|
3352
2649
|
"language": "tsx",
|
|
3353
2650
|
"meta": "lineNumbers",
|
|
3354
|
-
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
2651
|
+
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui-react\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
3355
2652
|
},
|
|
3356
2653
|
{
|
|
3357
2654
|
"language": "tsx",
|
|
@@ -3389,7 +2686,7 @@
|
|
|
3389
2686
|
{
|
|
3390
2687
|
"language": "tsx",
|
|
3391
2688
|
"meta": "lineNumbers",
|
|
3392
|
-
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
2689
|
+
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui-react\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
3393
2690
|
},
|
|
3394
2691
|
{
|
|
3395
2692
|
"language": "tsx",
|
|
@@ -3435,7 +2732,7 @@
|
|
|
3435
2732
|
{
|
|
3436
2733
|
"language": "tsx",
|
|
3437
2734
|
"meta": "lineNumbers",
|
|
3438
|
-
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
2735
|
+
"code": "import { Drawer, DrawerTrigger, DrawerContent, DrawerPortal, DrawerOverlay, DrawerFooter, DrawerClose, DrawerHeader, DrawerTitle, DrawerDescription, Button } from \"@epilot/volt-ui-react\"\n\n<Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"primary\">Open Drawer</Button>\n </DrawerTrigger>\n <DrawerPortal container={document.getElementById(\"root\")}>\n <DrawerOverlay />\n <DrawerContent className=\"w-96\">\n <DrawerHeader>\n <DrawerTitle>Details</DrawerTitle>\n <DrawerDescription>\n View and edit the details below.\n </DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 flex-1 overflow-auto\">\n <p>Drawer content goes here.</p>\n </div>\n <DrawerFooter>\n <DrawerClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DrawerClose>\n <Button>Save</Button>\n </DrawerFooter>\n </DrawerContent>\n </DrawerPortal>\n</Drawer>"
|
|
3439
2736
|
},
|
|
3440
2737
|
{
|
|
3441
2738
|
"language": "tsx",
|
|
@@ -3446,53 +2743,17 @@
|
|
|
3446
2743
|
},
|
|
3447
2744
|
{
|
|
3448
2745
|
"name": "DropdownMenu",
|
|
3449
|
-
"title":
|
|
3450
|
-
"description":
|
|
3451
|
-
"docsPath":
|
|
3452
|
-
"docSlug":
|
|
2746
|
+
"title": null,
|
|
2747
|
+
"description": null,
|
|
2748
|
+
"docsPath": null,
|
|
2749
|
+
"docSlug": null,
|
|
3453
2750
|
"documentationUrl": null,
|
|
3454
2751
|
"apiReferenceUrl": null,
|
|
3455
2752
|
"sourcePaths": [
|
|
3456
2753
|
"src/components/dropdown-menu/dropdown-menu.tsx"
|
|
3457
2754
|
],
|
|
3458
2755
|
"props": [],
|
|
3459
|
-
"examples": [
|
|
3460
|
-
{
|
|
3461
|
-
"language": "tsx",
|
|
3462
|
-
"meta": null,
|
|
3463
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n >\n <DataTableContent />\n <DataTableFooter>\n <span className=\"text-sm text-gray-light\">\n {Object.keys(rowSelection).length} of {data.length} row(s) selected\n </span>\n </DataTableFooter>\n </DataTable>\n )\n}"
|
|
3464
|
-
},
|
|
3465
|
-
{
|
|
3466
|
-
"language": "tsx",
|
|
3467
|
-
"meta": null,
|
|
3468
|
-
"code": "import { useDataTable, Button } from \"@epilot/volt-ui\"\n\nfunction BulkActions() {\n const { table } = useDataTable()\n\n // Get selected rows as Row<TData>[]\n const selectedRows = table.getSelectedRowModel().rows\n\n // Get the actual data from selected rows\n const selectedData = selectedRows.map(row => row.original)\n\n const handleBulkDelete = () => {\n // selectedData contains the full row objects\n console.log('Deleting:', selectedData)\n deleteItems(selectedData.map(item => item.id))\n }\n\n if (selectedRows.length === 0) return null\n\n return (\n <div className=\"flex items-center gap-2\">\n <span>{selectedRows.length} selected</span>\n <Button variant=\"secondary\" size=\"sm\" onClick={handleBulkDelete} destructive>\n Delete selected\n </Button>\n </div>\n )\n}\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n >\n <DataTableToolbar>\n <BulkActions />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
3469
|
-
},
|
|
3470
|
-
{
|
|
3471
|
-
"language": "tsx",
|
|
3472
|
-
"meta": null,
|
|
3473
|
-
"code": "import { useState, useMemo } from \"react\"\nimport { DataTable, DataTableContent, Button, getSelectedRowData } from \"@epilot/volt-ui\"\n\nfunction MyPage() {\n const [rowSelection, setRowSelection] = useState({})\n\n // Use helper to get selected data\n const selectedData = useMemo(\n () => getSelectedRowData(rowSelection, data),\n [rowSelection, data]\n )\n\n const handleBulkDelete = () => {\n console.log('Deleting:', selectedData)\n // Call your API, update state, etc.\n }\n\n return (\n <div>\n {/* Actions outside the table */}\n <div className=\"mb-4 flex items-center gap-2\">\n <span>{selectedData.length} selected</span>\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={handleBulkDelete}\n disabled={selectedData.length === 0}\n destructive\n >\n Delete selected\n </Button>\n </div>\n\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n getRowId={(row) => row.id}\n >\n <DataTableContent />\n </DataTable>\n </div>\n )\n}"
|
|
3474
|
-
},
|
|
3475
|
-
{
|
|
3476
|
-
"language": "tsx",
|
|
3477
|
-
"meta": null,
|
|
3478
|
-
"code": "const selectedData = useMemo(() => {\n const selectedIds = Object.keys(rowSelection).filter(id => rowSelection[id])\n return data.filter(item => selectedIds.includes(item.id))\n}, [rowSelection, data])"
|
|
3479
|
-
},
|
|
3480
|
-
{
|
|
3481
|
-
"language": "tsx",
|
|
3482
|
-
"meta": null,
|
|
3483
|
-
"code": "import { DataTable, DataTableContent, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, Button } from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconEye, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columnsWithActions: ColumnDef<Invoice>[] = [\n { accessorKey: \"id\", header: \"Invoice\" },\n { accessorKey: \"status\", header: \"Status\" },\n { accessorKey: \"customer\", header: \"Customer\" },\n {\n id: \"actions\",\n header: () => <span className=\"sr-only\">Actions</span>,\n cell: ({ row }) => {\n const invoice = row.original\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical size={16} />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye size={16} />\n View details\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil size={16} />\n Edit\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => navigator.clipboard.writeText(invoice.id)}>\n <IconCopy size={16} />\n Copy ID\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash size={16} />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n },\n size: 48,\n },\n]\n\n<DataTable columns={columnsWithActions} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
3484
|
-
},
|
|
3485
|
-
{
|
|
3486
|
-
"language": "tsx",
|
|
3487
|
-
"meta": null,
|
|
3488
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const handleRowClick = (row) => {\n // Navigate to detail page or open modal\n router.push(`/invoice/${row.original.id}`)\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n onRowClick={handleRowClick}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
3489
|
-
},
|
|
3490
|
-
{
|
|
3491
|
-
"language": "tsx",
|
|
3492
|
-
"meta": null,
|
|
3493
|
-
"code": "import { getSelectedRowData } from \"@epilot/volt-ui\"\n\nconst selectedData = useMemo(\n () => getSelectedRowData(rowSelection, data),\n [rowSelection, data]\n)"
|
|
3494
|
-
}
|
|
3495
|
-
]
|
|
2756
|
+
"examples": []
|
|
3496
2757
|
},
|
|
3497
2758
|
{
|
|
3498
2759
|
"name": "DropdownMenuCheckboxItem",
|
|
@@ -3523,7 +2784,7 @@
|
|
|
3523
2784
|
{
|
|
3524
2785
|
"language": "tsx",
|
|
3525
2786
|
"meta": null,
|
|
3526
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
2787
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3527
2788
|
},
|
|
3528
2789
|
{
|
|
3529
2790
|
"language": "tsx",
|
|
@@ -3554,13 +2815,19 @@
|
|
|
3554
2815
|
"type": "number",
|
|
3555
2816
|
"default": "`4`",
|
|
3556
2817
|
"description": "Distance from trigger element."
|
|
2818
|
+
},
|
|
2819
|
+
{
|
|
2820
|
+
"name": "`container`",
|
|
2821
|
+
"type": "HTMLElement | null",
|
|
2822
|
+
"default": "`document.body`",
|
|
2823
|
+
"description": "The DOM element to portal the content into. Pass `null` to disable portaling."
|
|
3557
2824
|
}
|
|
3558
2825
|
],
|
|
3559
2826
|
"examples": [
|
|
3560
2827
|
{
|
|
3561
2828
|
"language": "tsx",
|
|
3562
2829
|
"meta": null,
|
|
3563
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
2830
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3564
2831
|
},
|
|
3565
2832
|
{
|
|
3566
2833
|
"language": "tsx",
|
|
@@ -3617,7 +2884,7 @@
|
|
|
3617
2884
|
{
|
|
3618
2885
|
"language": "tsx",
|
|
3619
2886
|
"meta": null,
|
|
3620
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
2887
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3621
2888
|
},
|
|
3622
2889
|
{
|
|
3623
2890
|
"language": "tsx",
|
|
@@ -3654,7 +2921,7 @@
|
|
|
3654
2921
|
{
|
|
3655
2922
|
"language": "tsx",
|
|
3656
2923
|
"meta": null,
|
|
3657
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
2924
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3658
2925
|
},
|
|
3659
2926
|
{
|
|
3660
2927
|
"language": "tsx",
|
|
@@ -3711,7 +2978,7 @@
|
|
|
3711
2978
|
{
|
|
3712
2979
|
"language": "tsx",
|
|
3713
2980
|
"meta": null,
|
|
3714
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
2981
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3715
2982
|
},
|
|
3716
2983
|
{
|
|
3717
2984
|
"language": "tsx",
|
|
@@ -3748,7 +3015,7 @@
|
|
|
3748
3015
|
{
|
|
3749
3016
|
"language": "tsx",
|
|
3750
3017
|
"meta": null,
|
|
3751
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3018
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3752
3019
|
},
|
|
3753
3020
|
{
|
|
3754
3021
|
"language": "tsx",
|
|
@@ -3764,53 +3031,17 @@
|
|
|
3764
3031
|
},
|
|
3765
3032
|
{
|
|
3766
3033
|
"name": "DropdownMenuSeparator",
|
|
3767
|
-
"title":
|
|
3768
|
-
"description":
|
|
3769
|
-
"docsPath":
|
|
3770
|
-
"docSlug":
|
|
3034
|
+
"title": null,
|
|
3035
|
+
"description": null,
|
|
3036
|
+
"docsPath": null,
|
|
3037
|
+
"docSlug": null,
|
|
3771
3038
|
"documentationUrl": null,
|
|
3772
3039
|
"apiReferenceUrl": null,
|
|
3773
3040
|
"sourcePaths": [
|
|
3774
3041
|
"src/components/dropdown-menu/dropdown-menu.tsx"
|
|
3775
3042
|
],
|
|
3776
3043
|
"props": [],
|
|
3777
|
-
"examples": [
|
|
3778
|
-
{
|
|
3779
|
-
"language": "tsx",
|
|
3780
|
-
"meta": null,
|
|
3781
|
-
"code": "import { useState } from \"react\"\nimport { DataTable, DataTableContent, DataTableFooter } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n >\n <DataTableContent />\n <DataTableFooter>\n <span className=\"text-sm text-gray-light\">\n {Object.keys(rowSelection).length} of {data.length} row(s) selected\n </span>\n </DataTableFooter>\n </DataTable>\n )\n}"
|
|
3782
|
-
},
|
|
3783
|
-
{
|
|
3784
|
-
"language": "tsx",
|
|
3785
|
-
"meta": null,
|
|
3786
|
-
"code": "import { useDataTable, Button } from \"@epilot/volt-ui\"\n\nfunction BulkActions() {\n const { table } = useDataTable()\n\n // Get selected rows as Row<TData>[]\n const selectedRows = table.getSelectedRowModel().rows\n\n // Get the actual data from selected rows\n const selectedData = selectedRows.map(row => row.original)\n\n const handleBulkDelete = () => {\n // selectedData contains the full row objects\n console.log('Deleting:', selectedData)\n deleteItems(selectedData.map(item => item.id))\n }\n\n if (selectedRows.length === 0) return null\n\n return (\n <div className=\"flex items-center gap-2\">\n <span>{selectedRows.length} selected</span>\n <Button variant=\"secondary\" size=\"sm\" onClick={handleBulkDelete} destructive>\n Delete selected\n </Button>\n </div>\n )\n}\n\nfunction MyTable() {\n const [rowSelection, setRowSelection] = useState({})\n\n return (\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n >\n <DataTableToolbar>\n <BulkActions />\n </DataTableToolbar>\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
3787
|
-
},
|
|
3788
|
-
{
|
|
3789
|
-
"language": "tsx",
|
|
3790
|
-
"meta": null,
|
|
3791
|
-
"code": "import { useState, useMemo } from \"react\"\nimport { DataTable, DataTableContent, Button, getSelectedRowData } from \"@epilot/volt-ui\"\n\nfunction MyPage() {\n const [rowSelection, setRowSelection] = useState({})\n\n // Use helper to get selected data\n const selectedData = useMemo(\n () => getSelectedRowData(rowSelection, data),\n [rowSelection, data]\n )\n\n const handleBulkDelete = () => {\n console.log('Deleting:', selectedData)\n // Call your API, update state, etc.\n }\n\n return (\n <div>\n {/* Actions outside the table */}\n <div className=\"mb-4 flex items-center gap-2\">\n <span>{selectedData.length} selected</span>\n <Button\n variant=\"secondary\"\n size=\"sm\"\n onClick={handleBulkDelete}\n disabled={selectedData.length === 0}\n destructive\n >\n Delete selected\n </Button>\n </div>\n\n <DataTable\n columns={columns}\n data={data}\n enableRowSelection\n rowSelection={rowSelection}\n onRowSelectionChange={setRowSelection}\n getRowId={(row) => row.id}\n >\n <DataTableContent />\n </DataTable>\n </div>\n )\n}"
|
|
3792
|
-
},
|
|
3793
|
-
{
|
|
3794
|
-
"language": "tsx",
|
|
3795
|
-
"meta": null,
|
|
3796
|
-
"code": "const selectedData = useMemo(() => {\n const selectedIds = Object.keys(rowSelection).filter(id => rowSelection[id])\n return data.filter(item => selectedIds.includes(item.id))\n}, [rowSelection, data])"
|
|
3797
|
-
},
|
|
3798
|
-
{
|
|
3799
|
-
"language": "tsx",
|
|
3800
|
-
"meta": null,
|
|
3801
|
-
"code": "import { DataTable, DataTableContent, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, Button } from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconEye, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\nimport type { ColumnDef } from \"@tanstack/react-table\"\n\nconst columnsWithActions: ColumnDef<Invoice>[] = [\n { accessorKey: \"id\", header: \"Invoice\" },\n { accessorKey: \"status\", header: \"Status\" },\n { accessorKey: \"customer\", header: \"Customer\" },\n {\n id: \"actions\",\n header: () => <span className=\"sr-only\">Actions</span>,\n cell: ({ row }) => {\n const invoice = row.original\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical size={16} />\n <span className=\"sr-only\">Open menu</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye size={16} />\n View details\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil size={16} />\n Edit\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => navigator.clipboard.writeText(invoice.id)}>\n <IconCopy size={16} />\n Copy ID\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash size={16} />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n },\n size: 48,\n },\n]\n\n<DataTable columns={columnsWithActions} data={data} enableSorting>\n <DataTableContent />\n</DataTable>"
|
|
3802
|
-
},
|
|
3803
|
-
{
|
|
3804
|
-
"language": "tsx",
|
|
3805
|
-
"meta": null,
|
|
3806
|
-
"code": "import { DataTable, DataTableContent } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const handleRowClick = (row) => {\n // Navigate to detail page or open modal\n router.push(`/invoice/${row.original.id}`)\n }\n\n return (\n <DataTable\n columns={columns}\n data={data}\n onRowClick={handleRowClick}\n >\n <DataTableContent />\n </DataTable>\n )\n}"
|
|
3807
|
-
},
|
|
3808
|
-
{
|
|
3809
|
-
"language": "tsx",
|
|
3810
|
-
"meta": null,
|
|
3811
|
-
"code": "import { getSelectedRowData } from \"@epilot/volt-ui\"\n\nconst selectedData = useMemo(\n () => getSelectedRowData(rowSelection, data),\n [rowSelection, data]\n)"
|
|
3812
|
-
}
|
|
3813
|
-
]
|
|
3044
|
+
"examples": []
|
|
3814
3045
|
},
|
|
3815
3046
|
{
|
|
3816
3047
|
"name": "DropdownMenuShortcut",
|
|
@@ -3891,7 +3122,7 @@
|
|
|
3891
3122
|
{
|
|
3892
3123
|
"language": "tsx",
|
|
3893
3124
|
"meta": null,
|
|
3894
|
-
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3125
|
+
"code": "import {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuShortcut,\n Button,\n} from \"@epilot/volt-ui-react\"\nimport { IconDotsVertical, IconPencil, IconCopy, IconTrash } from \"@tabler/icons-react\"\n\n<DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuLabel>Actions</DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
3895
3126
|
},
|
|
3896
3127
|
{
|
|
3897
3128
|
"language": "tsx",
|
|
@@ -3934,17 +3165,17 @@
|
|
|
3934
3165
|
{
|
|
3935
3166
|
"language": "tsx",
|
|
3936
3167
|
"meta": "lineNumbers",
|
|
3937
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3168
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3938
3169
|
},
|
|
3939
3170
|
{
|
|
3940
3171
|
"language": "tsx",
|
|
3941
3172
|
"meta": "lineNumbers",
|
|
3942
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3173
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3943
3174
|
},
|
|
3944
3175
|
{
|
|
3945
3176
|
"language": "tsx",
|
|
3946
3177
|
"meta": "lineNumbers",
|
|
3947
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3178
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3948
3179
|
}
|
|
3949
3180
|
]
|
|
3950
3181
|
},
|
|
@@ -3989,7 +3220,7 @@
|
|
|
3989
3220
|
{
|
|
3990
3221
|
"language": "tsx",
|
|
3991
3222
|
"meta": "lineNumbers",
|
|
3992
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3223
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3993
3224
|
}
|
|
3994
3225
|
]
|
|
3995
3226
|
},
|
|
@@ -4062,7 +3293,7 @@
|
|
|
4062
3293
|
{
|
|
4063
3294
|
"language": "tsx",
|
|
4064
3295
|
"meta": "lineNumbers",
|
|
4065
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3296
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4066
3297
|
}
|
|
4067
3298
|
]
|
|
4068
3299
|
},
|
|
@@ -4095,7 +3326,7 @@
|
|
|
4095
3326
|
{
|
|
4096
3327
|
"language": "tsx",
|
|
4097
3328
|
"meta": "lineNumbers",
|
|
4098
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3329
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4099
3330
|
}
|
|
4100
3331
|
]
|
|
4101
3332
|
},
|
|
@@ -4128,7 +3359,7 @@
|
|
|
4128
3359
|
{
|
|
4129
3360
|
"language": "tsx",
|
|
4130
3361
|
"meta": "lineNumbers",
|
|
4131
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3362
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4132
3363
|
}
|
|
4133
3364
|
]
|
|
4134
3365
|
},
|
|
@@ -4161,7 +3392,7 @@
|
|
|
4161
3392
|
{
|
|
4162
3393
|
"language": "tsx",
|
|
4163
3394
|
"meta": "lineNumbers",
|
|
4164
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3395
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4165
3396
|
}
|
|
4166
3397
|
]
|
|
4167
3398
|
},
|
|
@@ -4206,7 +3437,7 @@
|
|
|
4206
3437
|
{
|
|
4207
3438
|
"language": "tsx",
|
|
4208
3439
|
"meta": "lineNumbers",
|
|
4209
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3440
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4210
3441
|
}
|
|
4211
3442
|
]
|
|
4212
3443
|
},
|
|
@@ -4251,7 +3482,7 @@
|
|
|
4251
3482
|
{
|
|
4252
3483
|
"language": "tsx",
|
|
4253
3484
|
"meta": "lineNumbers",
|
|
4254
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3485
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4255
3486
|
}
|
|
4256
3487
|
]
|
|
4257
3488
|
},
|
|
@@ -4278,7 +3509,7 @@
|
|
|
4278
3509
|
{
|
|
4279
3510
|
"language": "tsx",
|
|
4280
3511
|
"meta": "lineNumbers",
|
|
4281
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3512
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4282
3513
|
}
|
|
4283
3514
|
]
|
|
4284
3515
|
},
|
|
@@ -4305,7 +3536,7 @@
|
|
|
4305
3536
|
{
|
|
4306
3537
|
"language": "tsx",
|
|
4307
3538
|
"meta": "lineNumbers",
|
|
4308
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3539
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4309
3540
|
}
|
|
4310
3541
|
]
|
|
4311
3542
|
},
|
|
@@ -4338,7 +3569,7 @@
|
|
|
4338
3569
|
{
|
|
4339
3570
|
"language": "tsx",
|
|
4340
3571
|
"meta": "lineNumbers",
|
|
4341
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3572
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4342
3573
|
}
|
|
4343
3574
|
]
|
|
4344
3575
|
},
|
|
@@ -4365,7 +3596,7 @@
|
|
|
4365
3596
|
{
|
|
4366
3597
|
"language": "tsx",
|
|
4367
3598
|
"meta": "lineNumbers",
|
|
4368
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3599
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4369
3600
|
}
|
|
4370
3601
|
]
|
|
4371
3602
|
},
|
|
@@ -4392,7 +3623,7 @@
|
|
|
4392
3623
|
{
|
|
4393
3624
|
"language": "tsx",
|
|
4394
3625
|
"meta": "lineNumbers",
|
|
4395
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3626
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4396
3627
|
}
|
|
4397
3628
|
]
|
|
4398
3629
|
},
|
|
@@ -4431,7 +3662,7 @@
|
|
|
4431
3662
|
{
|
|
4432
3663
|
"language": "tsx",
|
|
4433
3664
|
"meta": "lineNumbers",
|
|
4434
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3665
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4435
3666
|
}
|
|
4436
3667
|
]
|
|
4437
3668
|
},
|
|
@@ -4470,7 +3701,7 @@
|
|
|
4470
3701
|
{
|
|
4471
3702
|
"language": "tsx",
|
|
4472
3703
|
"meta": "lineNumbers",
|
|
4473
|
-
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
3704
|
+
"code": "import { Field, FieldLabel, FieldCombobox, FieldComboboxTrigger, FieldComboboxValue, FieldComboboxContent, FieldComboboxInput, FieldComboboxList, FieldComboboxEmpty, FieldComboboxGroup, FieldComboboxGroupLabel, FieldComboboxItem, FieldComboboxSeparator, FieldComboboxLoading, Spinner } from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Items</FieldLabel>\n <FieldCombobox>\n <FieldComboboxTrigger>\n <FieldComboboxValue placeholder=\"Select an item\">\n {value.label}\n </FieldComboboxValue>\n </FieldComboboxTrigger>\n <FieldComboboxContent className=\"max-h-56\">\n <FieldComboboxInput placeholder=\"Search items\" />\n <FieldComboboxLoading>\n <Spinner />\n </FieldComboboxLoading>\n <FieldComboboxList>\n <FieldComboboxEmpty>No items found</FieldComboboxEmpty>\n <FieldComboboxGroup>\n <FieldComboboxGroupLabel>List</FieldComboboxGroupLabel>\n <FieldComboboxItem value=\"1\">1</FieldComboboxItem>\n <FieldComboboxItem value=\"2\">2</FieldComboboxItem>\n <FieldComboboxItem value=\"3\">3</FieldComboboxItem>\n </FieldComboboxGroup>\n \n </FieldComboboxList>\n </FieldComboboxContent>\n </FieldCombobox>\n</Field>"
|
|
4474
3705
|
}
|
|
4475
3706
|
]
|
|
4476
3707
|
},
|
|
@@ -4503,17 +3734,17 @@
|
|
|
4503
3734
|
{
|
|
4504
3735
|
"language": "tsx",
|
|
4505
3736
|
"meta": "lineNumbers",
|
|
4506
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3737
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4507
3738
|
},
|
|
4508
3739
|
{
|
|
4509
3740
|
"language": "tsx",
|
|
4510
3741
|
"meta": "lineNumbers",
|
|
4511
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3742
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4512
3743
|
},
|
|
4513
3744
|
{
|
|
4514
3745
|
"language": "tsx",
|
|
4515
3746
|
"meta": "lineNumbers",
|
|
4516
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3747
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4517
3748
|
}
|
|
4518
3749
|
]
|
|
4519
3750
|
},
|
|
@@ -4552,17 +3783,17 @@
|
|
|
4552
3783
|
{
|
|
4553
3784
|
"language": "tsx",
|
|
4554
3785
|
"meta": "lineNumbers",
|
|
4555
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3786
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4556
3787
|
},
|
|
4557
3788
|
{
|
|
4558
3789
|
"language": "tsx",
|
|
4559
3790
|
"meta": "lineNumbers",
|
|
4560
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3791
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4561
3792
|
},
|
|
4562
3793
|
{
|
|
4563
3794
|
"language": "tsx",
|
|
4564
3795
|
"meta": "lineNumbers",
|
|
4565
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3796
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4566
3797
|
}
|
|
4567
3798
|
]
|
|
4568
3799
|
},
|
|
@@ -4601,17 +3832,17 @@
|
|
|
4601
3832
|
{
|
|
4602
3833
|
"language": "tsx",
|
|
4603
3834
|
"meta": "lineNumbers",
|
|
4604
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3835
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4605
3836
|
},
|
|
4606
3837
|
{
|
|
4607
3838
|
"language": "tsx",
|
|
4608
3839
|
"meta": "lineNumbers",
|
|
4609
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3840
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4610
3841
|
},
|
|
4611
3842
|
{
|
|
4612
3843
|
"language": "tsx",
|
|
4613
3844
|
"meta": "lineNumbers",
|
|
4614
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3845
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4615
3846
|
}
|
|
4616
3847
|
]
|
|
4617
3848
|
},
|
|
@@ -4650,17 +3881,17 @@
|
|
|
4650
3881
|
{
|
|
4651
3882
|
"language": "tsx",
|
|
4652
3883
|
"meta": "lineNumbers",
|
|
4653
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
3884
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4654
3885
|
},
|
|
4655
3886
|
{
|
|
4656
3887
|
"language": "tsx",
|
|
4657
3888
|
"meta": "lineNumbers",
|
|
4658
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3889
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4659
3890
|
},
|
|
4660
3891
|
{
|
|
4661
3892
|
"language": "tsx",
|
|
4662
3893
|
"meta": "lineNumbers",
|
|
4663
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
3894
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4664
3895
|
}
|
|
4665
3896
|
]
|
|
4666
3897
|
},
|
|
@@ -4725,12 +3956,12 @@
|
|
|
4725
3956
|
{
|
|
4726
3957
|
"language": "tsx",
|
|
4727
3958
|
"meta": "lineNumbers",
|
|
4728
|
-
"code": "import { Field, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n <FieldGroup>\n <Field variant=\"destructive\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Password</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"password\" placeholder=\"********\" />\n <FieldError>Password is required</FieldError>\n </Field>\n </FieldGroup>\n</FieldSet>"
|
|
3959
|
+
"code": "import { Field, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n <FieldGroup>\n <Field variant=\"destructive\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Password</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"password\" placeholder=\"********\" />\n <FieldError>Password is required</FieldError>\n </Field>\n </FieldGroup>\n</FieldSet>"
|
|
4729
3960
|
},
|
|
4730
3961
|
{
|
|
4731
3962
|
"language": "tsx",
|
|
4732
3963
|
"meta": "lineNumbers",
|
|
4733
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
3964
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4734
3965
|
}
|
|
4735
3966
|
]
|
|
4736
3967
|
},
|
|
@@ -4783,17 +4014,17 @@
|
|
|
4783
4014
|
{
|
|
4784
4015
|
"language": "tsx",
|
|
4785
4016
|
"meta": "lineNumbers",
|
|
4786
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4017
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4787
4018
|
},
|
|
4788
4019
|
{
|
|
4789
4020
|
"language": "tsx",
|
|
4790
4021
|
"meta": "lineNumbers",
|
|
4791
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4022
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4792
4023
|
},
|
|
4793
4024
|
{
|
|
4794
4025
|
"language": "tsx",
|
|
4795
4026
|
"meta": "lineNumbers",
|
|
4796
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4027
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4797
4028
|
}
|
|
4798
4029
|
]
|
|
4799
4030
|
},
|
|
@@ -4840,17 +4071,17 @@
|
|
|
4840
4071
|
{
|
|
4841
4072
|
"language": "tsx",
|
|
4842
4073
|
"meta": "lineNumbers",
|
|
4843
|
-
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4074
|
+
"code": "import { Field, FieldSet, FieldGroup, FieldLabel, FieldDescription, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldSet className=\"flex flex-col w-96\">\n <FieldGroup>\n <Field variant=\"highlight\">\n <div className=\"flex items-center gap-2\">\n <FieldLabel>Email address</FieldLabel>\n <FieldLabelContent>...</FieldLabelContent>\n </div>\n <FieldInput type=\"email\" placeholder=\"tim@apple.com\" />\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n </Field>\n </FieldGroup>\n\n <Field variant=\"highlight\">\n <FieldLabel>Your message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n</FieldSet>"
|
|
4844
4075
|
},
|
|
4845
4076
|
{
|
|
4846
4077
|
"language": "tsx",
|
|
4847
4078
|
"meta": "lineNumbers",
|
|
4848
|
-
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4079
|
+
"code": "import { Field, FieldLabel, FieldInputGroup, FieldGroupAddon, FieldInput } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Website</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">https://</FieldGroupAddon>\n <FieldInput type=\"text\" placeholder=\"example.com\" />\n </FieldInputGroup>\n </Field>\n\n <Field variant=\"highlight\">\n <FieldLabel>Price</FieldLabel>\n <FieldInputGroup>\n <FieldGroupAddon align=\"start\">$</FieldGroupAddon>\n <FieldInput placeholder=\"10.00\" />\n </FieldInputGroup>\n </Field>\n</FieldGroup>"
|
|
4849
4080
|
},
|
|
4850
4081
|
{
|
|
4851
4082
|
"language": "tsx",
|
|
4852
4083
|
"meta": "lineNumbers",
|
|
4853
|
-
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4084
|
+
"code": "import { Field, FieldLabel, FieldInput, FieldError } from \"@epilot/volt-ui-react\"\n\n<Field className=\"w-96!\" variant=\"destructive\">\n <FieldLabel htmlFor=\"email\">Email address</FieldLabel>\n <FieldInput id=\"email\" type=\"email\" aria-invalid=\"true\" placeholder=\"tim@apple.com\" />\n <FieldError>Email address is required</FieldError>\n</Field>"
|
|
4854
4085
|
}
|
|
4855
4086
|
]
|
|
4856
4087
|
},
|
|
@@ -4907,7 +4138,7 @@
|
|
|
4907
4138
|
{
|
|
4908
4139
|
"language": "tsx",
|
|
4909
4140
|
"meta": "lineNumbers",
|
|
4910
|
-
"code": "import { Field, FieldLabel, FieldDescription, FieldTextarea } from \"@epilot/volt-ui\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n</FieldGroup>"
|
|
4141
|
+
"code": "import { Field, FieldLabel, FieldDescription, FieldTextarea } from \"@epilot/volt-ui-react\"\n\n<FieldGroup>\n <Field variant=\"highlight\">\n <FieldLabel>Message</FieldLabel>\n <FieldTextarea placeholder=\"Hello, how are you?\" rows={5} />\n </Field>\n <FieldDescription>We'll never share your email with anyone else.</FieldDescription>\n</FieldGroup>"
|
|
4911
4142
|
}
|
|
4912
4143
|
]
|
|
4913
4144
|
},
|
|
@@ -4952,7 +4183,7 @@
|
|
|
4952
4183
|
{
|
|
4953
4184
|
"language": "tsx",
|
|
4954
4185
|
"meta": "lineNumbers",
|
|
4955
|
-
"code": "import { Label } from \"@epilot/volt-ui\"\n\n<Label size=\"sm\">Email address</Label>\n<Label size=\"base\">Email address</Label>\n<Label size=\"lg\">Email address</Label>"
|
|
4186
|
+
"code": "import { Label } from \"@epilot/volt-ui-react\"\n\n<Label size=\"sm\">Email address</Label>\n<Label size=\"base\">Email address</Label>\n<Label size=\"lg\">Email address</Label>"
|
|
4956
4187
|
}
|
|
4957
4188
|
]
|
|
4958
4189
|
},
|
|
@@ -5009,7 +4240,7 @@
|
|
|
5009
4240
|
{
|
|
5010
4241
|
"language": "tsx",
|
|
5011
4242
|
"meta": "lineNumbers",
|
|
5012
|
-
"code": "import { Pill } from \"@epilot/volt-ui\"\n\n<Pill color=\"accent\" style=\"solid\">Accent</Pill>\n<Pill color=\"success\" style=\"surface\">Success</Pill>\n<Pill color=\"warning\" style=\"soft\">Warning</Pill>\n<Pill color=\"error\" style=\"solid\">Error</Pill>"
|
|
4243
|
+
"code": "import { Pill } from \"@epilot/volt-ui-react\"\n\n<Pill color=\"accent\" style=\"solid\">Accent</Pill>\n<Pill color=\"success\" style=\"surface\">Success</Pill>\n<Pill color=\"warning\" style=\"soft\">Warning</Pill>\n<Pill color=\"error\" style=\"solid\">Error</Pill>"
|
|
5013
4244
|
},
|
|
5014
4245
|
{
|
|
5015
4246
|
"language": "tsx",
|
|
@@ -5039,7 +4270,7 @@
|
|
|
5039
4270
|
{
|
|
5040
4271
|
"language": "tsx",
|
|
5041
4272
|
"meta": "lineNumbers",
|
|
5042
|
-
"code": "import { Pill, Badge } from \"@epilot/volt-ui\"\n\n<Pill color=\"blue\" style=\"solid\">\n Label <Badge size=\"sm\" color=\"blue\" style=\"solid\">3</Badge>\n</Pill>"
|
|
4273
|
+
"code": "import { Pill, Badge } from \"@epilot/volt-ui-react\"\n\n<Pill color=\"blue\" style=\"solid\">\n Label <Badge size=\"sm\" color=\"blue\" style=\"solid\">3</Badge>\n</Pill>"
|
|
5043
4274
|
},
|
|
5044
4275
|
{
|
|
5045
4276
|
"language": "tsx",
|
|
@@ -5089,7 +4320,7 @@
|
|
|
5089
4320
|
{
|
|
5090
4321
|
"language": "tsx",
|
|
5091
4322
|
"meta": "lineNumbers",
|
|
5092
|
-
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
4323
|
+
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
5093
4324
|
}
|
|
5094
4325
|
]
|
|
5095
4326
|
},
|
|
@@ -5116,7 +4347,7 @@
|
|
|
5116
4347
|
{
|
|
5117
4348
|
"language": "tsx",
|
|
5118
4349
|
"meta": "lineNumbers",
|
|
5119
|
-
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
4350
|
+
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
5120
4351
|
}
|
|
5121
4352
|
]
|
|
5122
4353
|
},
|
|
@@ -5156,6 +4387,12 @@
|
|
|
5156
4387
|
"default": "`0`",
|
|
5157
4388
|
"description": "An offset in pixels from the \"start\" or \"end\" alignment options."
|
|
5158
4389
|
},
|
|
4390
|
+
{
|
|
4391
|
+
"name": "`flush`",
|
|
4392
|
+
"type": "boolean",
|
|
4393
|
+
"default": "`false`",
|
|
4394
|
+
"description": "When true, removes the default padding from the popover content."
|
|
4395
|
+
},
|
|
5159
4396
|
{
|
|
5160
4397
|
"name": "`className`",
|
|
5161
4398
|
"type": "string",
|
|
@@ -5167,7 +4404,7 @@
|
|
|
5167
4404
|
{
|
|
5168
4405
|
"language": "tsx",
|
|
5169
4406
|
"meta": "lineNumbers",
|
|
5170
|
-
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
4407
|
+
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
5171
4408
|
}
|
|
5172
4409
|
]
|
|
5173
4410
|
},
|
|
@@ -5206,7 +4443,7 @@
|
|
|
5206
4443
|
{
|
|
5207
4444
|
"language": "tsx",
|
|
5208
4445
|
"meta": "lineNumbers",
|
|
5209
|
-
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
4446
|
+
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
5210
4447
|
}
|
|
5211
4448
|
]
|
|
5212
4449
|
},
|
|
@@ -5233,7 +4470,7 @@
|
|
|
5233
4470
|
{
|
|
5234
4471
|
"language": "tsx",
|
|
5235
4472
|
"meta": "lineNumbers",
|
|
5236
|
-
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
4473
|
+
"code": "import { Popover, PopoverTrigger, PopoverContent, PopoverAnchor, PopoverPortal, Button } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <Popover>\n <PopoverTrigger asChild>\n <Button>Edit Profile</Button>\n </PopoverTrigger>\n <PopoverPortal>\n <PopoverContent>\n Content\n </PopoverContent>\n </PopoverPortal>\n </Popover>\n</div>"
|
|
5237
4474
|
}
|
|
5238
4475
|
]
|
|
5239
4476
|
},
|
|
@@ -5296,7 +4533,7 @@
|
|
|
5296
4533
|
{
|
|
5297
4534
|
"language": "tsx",
|
|
5298
4535
|
"meta": "lineNumbers",
|
|
5299
|
-
"code": "import { RadioGroup, RadioGroupItem, Label } from \"@epilot/volt-ui\"\n\n<RadioGroup defaultValue=\"daily\">\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"daily\" id=\"daily\" />\n <Label htmlFor=\"daily\">Daily</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"weekly\" id=\"weekly\" />\n <Label htmlFor=\"weekly\">Weekly</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n <Label htmlFor=\"monthly\">Monthly</Label>\n </div>\n</RadioGroup>"
|
|
4536
|
+
"code": "import { RadioGroup, RadioGroupItem, Label } from \"@epilot/volt-ui-react\"\n\n<RadioGroup defaultValue=\"daily\">\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"daily\" id=\"daily\" />\n <Label htmlFor=\"daily\">Daily</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"weekly\" id=\"weekly\" />\n <Label htmlFor=\"weekly\">Weekly</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n <Label htmlFor=\"monthly\">Monthly</Label>\n </div>\n</RadioGroup>"
|
|
5300
4537
|
}
|
|
5301
4538
|
]
|
|
5302
4539
|
},
|
|
@@ -5347,7 +4584,7 @@
|
|
|
5347
4584
|
{
|
|
5348
4585
|
"language": "tsx",
|
|
5349
4586
|
"meta": "lineNumbers",
|
|
5350
|
-
"code": "import { RadioGroup, RadioGroupItem, Label } from \"@epilot/volt-ui\"\n\n<RadioGroup defaultValue=\"daily\">\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"daily\" id=\"daily\" />\n <Label htmlFor=\"daily\">Daily</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"weekly\" id=\"weekly\" />\n <Label htmlFor=\"weekly\">Weekly</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n <Label htmlFor=\"monthly\">Monthly</Label>\n </div>\n</RadioGroup>"
|
|
4587
|
+
"code": "import { RadioGroup, RadioGroupItem, Label } from \"@epilot/volt-ui-react\"\n\n<RadioGroup defaultValue=\"daily\">\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"daily\" id=\"daily\" />\n <Label htmlFor=\"daily\">Daily</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"weekly\" id=\"weekly\" />\n <Label htmlFor=\"weekly\">Weekly</Label>\n </div>\n <div className=\"flex items-center gap-2\">\n <RadioGroupItem value=\"monthly\" id=\"monthly\" />\n <Label htmlFor=\"monthly\">Monthly</Label>\n </div>\n</RadioGroup>"
|
|
5351
4588
|
}
|
|
5352
4589
|
]
|
|
5353
4590
|
},
|
|
@@ -5416,7 +4653,7 @@
|
|
|
5416
4653
|
{
|
|
5417
4654
|
"language": "tsx",
|
|
5418
4655
|
"meta": "lineNumbers",
|
|
5419
|
-
"code": "import { useState } from \"react\"\nimport { DateRangePicker } from \"@epilot/volt-ui\"\nimport type { DateRange } from \"@epilot/volt-ui\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<DateRange>({\n start: new Date(),\n end: null,\n })\n\n return (\n <DateRangePicker\n label=\"Date Range\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
4656
|
+
"code": "import { useState } from \"react\"\nimport { DateRangePicker } from \"@epilot/volt-ui-react\"\nimport type { DateRange } from \"@epilot/volt-ui-react\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<DateRange>({\n start: new Date(),\n end: null,\n })\n\n return (\n <DateRangePicker\n label=\"Date Range\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
5420
4657
|
},
|
|
5421
4658
|
{
|
|
5422
4659
|
"language": "tsx",
|
|
@@ -5430,6 +4667,144 @@
|
|
|
5430
4667
|
}
|
|
5431
4668
|
]
|
|
5432
4669
|
},
|
|
4670
|
+
{
|
|
4671
|
+
"name": "SegmentedControl",
|
|
4672
|
+
"title": "Segmented Control",
|
|
4673
|
+
"description": "Toggle buttons for switching between different values or views.",
|
|
4674
|
+
"docsPath": "docs/content/docs/components/segmented-control.mdx",
|
|
4675
|
+
"docSlug": "segmented-control",
|
|
4676
|
+
"documentationUrl": null,
|
|
4677
|
+
"apiReferenceUrl": null,
|
|
4678
|
+
"sourcePaths": [
|
|
4679
|
+
"src/components/segmented-control/segmented-control.tsx"
|
|
4680
|
+
],
|
|
4681
|
+
"props": [
|
|
4682
|
+
{
|
|
4683
|
+
"name": "`value`",
|
|
4684
|
+
"type": "string",
|
|
4685
|
+
"default": "—",
|
|
4686
|
+
"description": "The controlled selected value."
|
|
4687
|
+
},
|
|
4688
|
+
{
|
|
4689
|
+
"name": "`defaultValue`",
|
|
4690
|
+
"type": "string",
|
|
4691
|
+
"default": "—",
|
|
4692
|
+
"description": "The default selected value for uncontrolled usage."
|
|
4693
|
+
},
|
|
4694
|
+
{
|
|
4695
|
+
"name": "`onValueChange`",
|
|
4696
|
+
"type": "(value: string) => void",
|
|
4697
|
+
"default": "—",
|
|
4698
|
+
"description": "Callback fired when the selected value changes."
|
|
4699
|
+
},
|
|
4700
|
+
{
|
|
4701
|
+
"name": "`layout`",
|
|
4702
|
+
"type": "\"hug\" | \"equal\" | \"stretch\"",
|
|
4703
|
+
"default": "`\"hug\"`",
|
|
4704
|
+
"description": "`\"hug\"` — each item is its natural width. `\"equal\"` — all items match the widest. `\"stretch\"` — items fill the container."
|
|
4705
|
+
},
|
|
4706
|
+
{
|
|
4707
|
+
"name": "`orientation`",
|
|
4708
|
+
"type": "\"horizontal\" | \"vertical\"",
|
|
4709
|
+
"default": "`\"horizontal\"`",
|
|
4710
|
+
"description": "The axis along which items are arranged."
|
|
4711
|
+
},
|
|
4712
|
+
{
|
|
4713
|
+
"name": "`className`",
|
|
4714
|
+
"type": "string",
|
|
4715
|
+
"default": "—",
|
|
4716
|
+
"description": "Additional CSS classes."
|
|
4717
|
+
}
|
|
4718
|
+
],
|
|
4719
|
+
"examples": [
|
|
4720
|
+
{
|
|
4721
|
+
"language": "tsx",
|
|
4722
|
+
"meta": "lineNumbers",
|
|
4723
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\n\nconst [view, setView] = useState(\"week\")\n\n<SegmentedControl value={view} onValueChange={setView} layout=\"stretch\">\n <SegmentedControlItem value=\"day\">Day</SegmentedControlItem>\n <SegmentedControlItem value=\"week\">Week</SegmentedControlItem>\n <SegmentedControlItem value=\"month\">Month</SegmentedControlItem>\n</SegmentedControl>"
|
|
4724
|
+
},
|
|
4725
|
+
{
|
|
4726
|
+
"language": "tsx",
|
|
4727
|
+
"meta": "lineNumbers",
|
|
4728
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\nimport { IconLayoutGrid, IconLayoutList, IconMap } from \"@tabler/icons-react\"\n\nconst [view, setView] = useState(\"grid\")\n\n<SegmentedControl value={view} onValueChange={setView} layout=\"equal\">\n <SegmentedControlItem value=\"grid\" icon={<IconLayoutGrid />}>Grid</SegmentedControlItem>\n <SegmentedControlItem value=\"list\" icon={<IconLayoutList />}>List</SegmentedControlItem>\n <SegmentedControlItem value=\"map\" icon={<IconMap />}>Map</SegmentedControlItem>\n</SegmentedControl>"
|
|
4729
|
+
},
|
|
4730
|
+
{
|
|
4731
|
+
"language": "tsx",
|
|
4732
|
+
"meta": "lineNumbers",
|
|
4733
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\nimport { IconAlignLeft, IconAlignCenter, IconAlignRight } from \"@tabler/icons-react\"\n\nconst [align, setAlign] = useState(\"left\")\n\n<SegmentedControl value={align} onValueChange={setAlign}>\n <SegmentedControlItem value=\"left\" icon={<IconAlignLeft />} aria-label=\"Align left\" />\n <SegmentedControlItem value=\"center\" icon={<IconAlignCenter />} aria-label=\"Align center\" />\n <SegmentedControlItem value=\"right\" icon={<IconAlignRight />} aria-label=\"Align right\" />\n</SegmentedControl>"
|
|
4734
|
+
},
|
|
4735
|
+
{
|
|
4736
|
+
"language": "tsx",
|
|
4737
|
+
"meta": "lineNumbers",
|
|
4738
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\n\nconst [view, setView] = useState(\"day\")\n\n<SegmentedControl value={view} onValueChange={setView}>\n <SegmentedControlItem value=\"day\">Day</SegmentedControlItem>\n <SegmentedControlItem value=\"week\">Week</SegmentedControlItem>\n <SegmentedControlItem value=\"month\" disabled>Month</SegmentedControlItem>\n</SegmentedControl>"
|
|
4739
|
+
}
|
|
4740
|
+
]
|
|
4741
|
+
},
|
|
4742
|
+
{
|
|
4743
|
+
"name": "SegmentedControlItem",
|
|
4744
|
+
"title": "Segmented Control",
|
|
4745
|
+
"description": "Toggle buttons for switching between different values or views.",
|
|
4746
|
+
"docsPath": "docs/content/docs/components/segmented-control.mdx",
|
|
4747
|
+
"docSlug": "segmented-control",
|
|
4748
|
+
"documentationUrl": null,
|
|
4749
|
+
"apiReferenceUrl": null,
|
|
4750
|
+
"sourcePaths": [
|
|
4751
|
+
"src/components/segmented-control/segmented-control.tsx"
|
|
4752
|
+
],
|
|
4753
|
+
"props": [
|
|
4754
|
+
{
|
|
4755
|
+
"name": "`value`",
|
|
4756
|
+
"type": "string",
|
|
4757
|
+
"default": "—",
|
|
4758
|
+
"description": "**Required.** The value this item represents."
|
|
4759
|
+
},
|
|
4760
|
+
{
|
|
4761
|
+
"name": "`icon`",
|
|
4762
|
+
"type": "ReactNode",
|
|
4763
|
+
"default": "—",
|
|
4764
|
+
"description": "An icon displayed before the label."
|
|
4765
|
+
},
|
|
4766
|
+
{
|
|
4767
|
+
"name": "`disabled`",
|
|
4768
|
+
"type": "boolean",
|
|
4769
|
+
"default": "`false`",
|
|
4770
|
+
"description": "Prevents interaction and dims the item."
|
|
4771
|
+
},
|
|
4772
|
+
{
|
|
4773
|
+
"name": "`aria-label`",
|
|
4774
|
+
"type": "string",
|
|
4775
|
+
"default": "—",
|
|
4776
|
+
"description": "Accessible label. Required when the item has no visible text (icon-only)."
|
|
4777
|
+
},
|
|
4778
|
+
{
|
|
4779
|
+
"name": "`className`",
|
|
4780
|
+
"type": "string",
|
|
4781
|
+
"default": "—",
|
|
4782
|
+
"description": "Additional CSS classes."
|
|
4783
|
+
}
|
|
4784
|
+
],
|
|
4785
|
+
"examples": [
|
|
4786
|
+
{
|
|
4787
|
+
"language": "tsx",
|
|
4788
|
+
"meta": "lineNumbers",
|
|
4789
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\n\nconst [view, setView] = useState(\"week\")\n\n<SegmentedControl value={view} onValueChange={setView} layout=\"stretch\">\n <SegmentedControlItem value=\"day\">Day</SegmentedControlItem>\n <SegmentedControlItem value=\"week\">Week</SegmentedControlItem>\n <SegmentedControlItem value=\"month\">Month</SegmentedControlItem>\n</SegmentedControl>"
|
|
4790
|
+
},
|
|
4791
|
+
{
|
|
4792
|
+
"language": "tsx",
|
|
4793
|
+
"meta": "lineNumbers",
|
|
4794
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\nimport { IconLayoutGrid, IconLayoutList, IconMap } from \"@tabler/icons-react\"\n\nconst [view, setView] = useState(\"grid\")\n\n<SegmentedControl value={view} onValueChange={setView} layout=\"equal\">\n <SegmentedControlItem value=\"grid\" icon={<IconLayoutGrid />}>Grid</SegmentedControlItem>\n <SegmentedControlItem value=\"list\" icon={<IconLayoutList />}>List</SegmentedControlItem>\n <SegmentedControlItem value=\"map\" icon={<IconMap />}>Map</SegmentedControlItem>\n</SegmentedControl>"
|
|
4795
|
+
},
|
|
4796
|
+
{
|
|
4797
|
+
"language": "tsx",
|
|
4798
|
+
"meta": "lineNumbers",
|
|
4799
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\nimport { IconAlignLeft, IconAlignCenter, IconAlignRight } from \"@tabler/icons-react\"\n\nconst [align, setAlign] = useState(\"left\")\n\n<SegmentedControl value={align} onValueChange={setAlign}>\n <SegmentedControlItem value=\"left\" icon={<IconAlignLeft />} aria-label=\"Align left\" />\n <SegmentedControlItem value=\"center\" icon={<IconAlignCenter />} aria-label=\"Align center\" />\n <SegmentedControlItem value=\"right\" icon={<IconAlignRight />} aria-label=\"Align right\" />\n</SegmentedControl>"
|
|
4800
|
+
},
|
|
4801
|
+
{
|
|
4802
|
+
"language": "tsx",
|
|
4803
|
+
"meta": "lineNumbers",
|
|
4804
|
+
"code": "import { useState } from \"react\"\nimport { SegmentedControl, SegmentedControlItem } from \"@epilot/volt-ui-react\"\n\nconst [view, setView] = useState(\"day\")\n\n<SegmentedControl value={view} onValueChange={setView}>\n <SegmentedControlItem value=\"day\">Day</SegmentedControlItem>\n <SegmentedControlItem value=\"week\">Week</SegmentedControlItem>\n <SegmentedControlItem value=\"month\" disabled>Month</SegmentedControlItem>\n</SegmentedControl>"
|
|
4805
|
+
}
|
|
4806
|
+
]
|
|
4807
|
+
},
|
|
5433
4808
|
{
|
|
5434
4809
|
"name": "Select",
|
|
5435
4810
|
"title": "Field Select",
|
|
@@ -5507,7 +4882,7 @@
|
|
|
5507
4882
|
{
|
|
5508
4883
|
"language": "tsx",
|
|
5509
4884
|
"meta": "lineNumbers",
|
|
5510
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
4885
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5511
4886
|
}
|
|
5512
4887
|
]
|
|
5513
4888
|
},
|
|
@@ -5558,7 +4933,7 @@
|
|
|
5558
4933
|
{
|
|
5559
4934
|
"language": "tsx",
|
|
5560
4935
|
"meta": "lineNumbers",
|
|
5561
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
4936
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5562
4937
|
}
|
|
5563
4938
|
]
|
|
5564
4939
|
},
|
|
@@ -5585,7 +4960,7 @@
|
|
|
5585
4960
|
{
|
|
5586
4961
|
"language": "tsx",
|
|
5587
4962
|
"meta": "lineNumbers",
|
|
5588
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
4963
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5589
4964
|
}
|
|
5590
4965
|
]
|
|
5591
4966
|
},
|
|
@@ -5624,7 +4999,7 @@
|
|
|
5624
4999
|
{
|
|
5625
5000
|
"language": "tsx",
|
|
5626
5001
|
"meta": "lineNumbers",
|
|
5627
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5002
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5628
5003
|
}
|
|
5629
5004
|
]
|
|
5630
5005
|
},
|
|
@@ -5651,7 +5026,7 @@
|
|
|
5651
5026
|
{
|
|
5652
5027
|
"language": "tsx",
|
|
5653
5028
|
"meta": "lineNumbers",
|
|
5654
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5029
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5655
5030
|
}
|
|
5656
5031
|
]
|
|
5657
5032
|
},
|
|
@@ -5706,7 +5081,7 @@
|
|
|
5706
5081
|
{
|
|
5707
5082
|
"language": "tsx",
|
|
5708
5083
|
"meta": "lineNumbers",
|
|
5709
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5084
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5710
5085
|
}
|
|
5711
5086
|
]
|
|
5712
5087
|
},
|
|
@@ -5745,7 +5120,7 @@
|
|
|
5745
5120
|
{
|
|
5746
5121
|
"language": "tsx",
|
|
5747
5122
|
"meta": "lineNumbers",
|
|
5748
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5123
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5749
5124
|
}
|
|
5750
5125
|
]
|
|
5751
5126
|
},
|
|
@@ -5786,7 +5161,7 @@
|
|
|
5786
5161
|
{
|
|
5787
5162
|
"language": "tsx",
|
|
5788
5163
|
"meta": "lineNumbers",
|
|
5789
|
-
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5164
|
+
"code": "import {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n SelectGroup,\n SelectLabel,\n} from \"@epilot/volt-ui-react\"\n\n<Field variant=\"highlight\">\n <FieldLabel>Theme</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a theme\" />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectLabel>Themes</SelectLabel>\n <SelectItem value=\"system\">System</SelectItem>\n <SelectItem value=\"light\">Light</SelectItem>\n <SelectItem value=\"dark\">Dark</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n</Field>"
|
|
5790
5165
|
}
|
|
5791
5166
|
]
|
|
5792
5167
|
},
|
|
@@ -5825,7 +5200,7 @@
|
|
|
5825
5200
|
{
|
|
5826
5201
|
"language": "tsx",
|
|
5827
5202
|
"meta": "lineNumbers",
|
|
5828
|
-
"code": "import { Separator } from \"@epilot/volt-ui\"\n\n<div className=\"flex flex-col gap-4\">\n <div>Content above</div>\n <Separator />\n <div>Content below</div>\n</div>"
|
|
5203
|
+
"code": "import { Separator } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex flex-col gap-4\">\n <div>Content above</div>\n <Separator />\n <div>Content below</div>\n</div>"
|
|
5829
5204
|
}
|
|
5830
5205
|
]
|
|
5831
5206
|
},
|
|
@@ -5864,7 +5239,7 @@
|
|
|
5864
5239
|
{
|
|
5865
5240
|
"language": "tsx",
|
|
5866
5241
|
"meta": "lineNumbers",
|
|
5867
|
-
"code": "import { Spinner } from \"@epilot/volt-ui\"\n\n<Spinner variant=\"line\" />\n<Spinner variant=\"circle\" />"
|
|
5242
|
+
"code": "import { Spinner } from \"@epilot/volt-ui-react\"\n\n<Spinner variant=\"line\" />\n<Spinner variant=\"circle\" />"
|
|
5868
5243
|
}
|
|
5869
5244
|
]
|
|
5870
5245
|
},
|
|
@@ -5939,12 +5314,12 @@
|
|
|
5939
5314
|
{
|
|
5940
5315
|
"language": "tsx",
|
|
5941
5316
|
"meta": "lineNumbers",
|
|
5942
|
-
"code": "import { Switch, Label } from \"@epilot/volt-ui\"\n\n<div className=\"flex items-center gap-2\">\n <Switch id=\"notifications\" />\n <Label htmlFor=\"notifications\">Enable notifications</Label>\n</div>"
|
|
5317
|
+
"code": "import { Switch, Label } from \"@epilot/volt-ui-react\"\n\n<div className=\"flex items-center gap-2\">\n <Switch id=\"notifications\" />\n <Label htmlFor=\"notifications\">Enable notifications</Label>\n</div>"
|
|
5943
5318
|
},
|
|
5944
5319
|
{
|
|
5945
5320
|
"language": "tsx",
|
|
5946
5321
|
"meta": "lineNumbers",
|
|
5947
|
-
"code": "import { Switch, Label } from \"@epilot/volt-ui\"\n\n<Switch variant=\"primary\" size=\"sm\" />\n<Switch variant=\"primary\" size=\"base\" />\n<Switch variant=\"primary\" size=\"lg\" />\n\n<Switch variant=\"destructive\" size=\"sm\" />\n<Switch variant=\"destructive\" size=\"base\" />\n<Switch variant=\"destructive\" size=\"lg\" />"
|
|
5322
|
+
"code": "import { Switch, Label } from \"@epilot/volt-ui-react\"\n\n<Switch variant=\"primary\" size=\"sm\" />\n<Switch variant=\"primary\" size=\"base\" />\n<Switch variant=\"primary\" size=\"lg\" />\n\n<Switch variant=\"destructive\" size=\"sm\" />\n<Switch variant=\"destructive\" size=\"base\" />\n<Switch variant=\"destructive\" size=\"lg\" />"
|
|
5948
5323
|
}
|
|
5949
5324
|
]
|
|
5950
5325
|
},
|
|
@@ -5977,7 +5352,7 @@
|
|
|
5977
5352
|
{
|
|
5978
5353
|
"language": "tsx",
|
|
5979
5354
|
"meta": null,
|
|
5980
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5355
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5981
5356
|
},
|
|
5982
5357
|
{
|
|
5983
5358
|
"language": "tsx",
|
|
@@ -5987,17 +5362,17 @@
|
|
|
5987
5362
|
{
|
|
5988
5363
|
"language": "tsx",
|
|
5989
5364
|
"meta": null,
|
|
5990
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5365
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5991
5366
|
},
|
|
5992
5367
|
{
|
|
5993
5368
|
"language": "tsx",
|
|
5994
5369
|
"meta": null,
|
|
5995
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5370
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5996
5371
|
},
|
|
5997
5372
|
{
|
|
5998
5373
|
"language": "tsx",
|
|
5999
5374
|
"meta": null,
|
|
6000
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5375
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6001
5376
|
}
|
|
6002
5377
|
]
|
|
6003
5378
|
},
|
|
@@ -6024,7 +5399,7 @@
|
|
|
6024
5399
|
{
|
|
6025
5400
|
"language": "tsx",
|
|
6026
5401
|
"meta": null,
|
|
6027
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5402
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6028
5403
|
},
|
|
6029
5404
|
{
|
|
6030
5405
|
"language": "tsx",
|
|
@@ -6034,17 +5409,17 @@
|
|
|
6034
5409
|
{
|
|
6035
5410
|
"language": "tsx",
|
|
6036
5411
|
"meta": null,
|
|
6037
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5412
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6038
5413
|
},
|
|
6039
5414
|
{
|
|
6040
5415
|
"language": "tsx",
|
|
6041
5416
|
"meta": null,
|
|
6042
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5417
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6043
5418
|
},
|
|
6044
5419
|
{
|
|
6045
5420
|
"language": "tsx",
|
|
6046
5421
|
"meta": null,
|
|
6047
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5422
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6048
5423
|
}
|
|
6049
5424
|
]
|
|
6050
5425
|
},
|
|
@@ -6077,7 +5452,7 @@
|
|
|
6077
5452
|
{
|
|
6078
5453
|
"language": "tsx",
|
|
6079
5454
|
"meta": null,
|
|
6080
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5455
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6081
5456
|
},
|
|
6082
5457
|
{
|
|
6083
5458
|
"language": "tsx",
|
|
@@ -6087,17 +5462,17 @@
|
|
|
6087
5462
|
{
|
|
6088
5463
|
"language": "tsx",
|
|
6089
5464
|
"meta": null,
|
|
6090
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5465
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6091
5466
|
},
|
|
6092
5467
|
{
|
|
6093
5468
|
"language": "tsx",
|
|
6094
5469
|
"meta": null,
|
|
6095
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5470
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6096
5471
|
},
|
|
6097
5472
|
{
|
|
6098
5473
|
"language": "tsx",
|
|
6099
5474
|
"meta": null,
|
|
6100
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5475
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6101
5476
|
}
|
|
6102
5477
|
]
|
|
6103
5478
|
},
|
|
@@ -6142,7 +5517,7 @@
|
|
|
6142
5517
|
{
|
|
6143
5518
|
"language": "tsx",
|
|
6144
5519
|
"meta": null,
|
|
6145
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5520
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6146
5521
|
},
|
|
6147
5522
|
{
|
|
6148
5523
|
"language": "tsx",
|
|
@@ -6152,17 +5527,17 @@
|
|
|
6152
5527
|
{
|
|
6153
5528
|
"language": "tsx",
|
|
6154
5529
|
"meta": null,
|
|
6155
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5530
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6156
5531
|
},
|
|
6157
5532
|
{
|
|
6158
5533
|
"language": "tsx",
|
|
6159
5534
|
"meta": null,
|
|
6160
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5535
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6161
5536
|
},
|
|
6162
5537
|
{
|
|
6163
5538
|
"language": "tsx",
|
|
6164
5539
|
"meta": null,
|
|
6165
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5540
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6166
5541
|
}
|
|
6167
5542
|
]
|
|
6168
5543
|
},
|
|
@@ -6189,7 +5564,7 @@
|
|
|
6189
5564
|
{
|
|
6190
5565
|
"language": "tsx",
|
|
6191
5566
|
"meta": null,
|
|
6192
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5567
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6193
5568
|
},
|
|
6194
5569
|
{
|
|
6195
5570
|
"language": "tsx",
|
|
@@ -6199,17 +5574,17 @@
|
|
|
6199
5574
|
{
|
|
6200
5575
|
"language": "tsx",
|
|
6201
5576
|
"meta": null,
|
|
6202
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5577
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6203
5578
|
},
|
|
6204
5579
|
{
|
|
6205
5580
|
"language": "tsx",
|
|
6206
5581
|
"meta": null,
|
|
6207
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5582
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6208
5583
|
},
|
|
6209
5584
|
{
|
|
6210
5585
|
"language": "tsx",
|
|
6211
5586
|
"meta": null,
|
|
6212
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5587
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6213
5588
|
}
|
|
6214
5589
|
]
|
|
6215
5590
|
},
|
|
@@ -6254,7 +5629,7 @@
|
|
|
6254
5629
|
{
|
|
6255
5630
|
"language": "tsx",
|
|
6256
5631
|
"meta": null,
|
|
6257
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5632
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6258
5633
|
},
|
|
6259
5634
|
{
|
|
6260
5635
|
"language": "tsx",
|
|
@@ -6264,17 +5639,17 @@
|
|
|
6264
5639
|
{
|
|
6265
5640
|
"language": "tsx",
|
|
6266
5641
|
"meta": null,
|
|
6267
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5642
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6268
5643
|
},
|
|
6269
5644
|
{
|
|
6270
5645
|
"language": "tsx",
|
|
6271
5646
|
"meta": null,
|
|
6272
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5647
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6273
5648
|
},
|
|
6274
5649
|
{
|
|
6275
5650
|
"language": "tsx",
|
|
6276
5651
|
"meta": null,
|
|
6277
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5652
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6278
5653
|
}
|
|
6279
5654
|
]
|
|
6280
5655
|
},
|
|
@@ -6301,7 +5676,7 @@
|
|
|
6301
5676
|
{
|
|
6302
5677
|
"language": "tsx",
|
|
6303
5678
|
"meta": null,
|
|
6304
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5679
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6305
5680
|
},
|
|
6306
5681
|
{
|
|
6307
5682
|
"language": "tsx",
|
|
@@ -6311,17 +5686,17 @@
|
|
|
6311
5686
|
{
|
|
6312
5687
|
"language": "tsx",
|
|
6313
5688
|
"meta": null,
|
|
6314
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5689
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6315
5690
|
},
|
|
6316
5691
|
{
|
|
6317
5692
|
"language": "tsx",
|
|
6318
5693
|
"meta": null,
|
|
6319
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5694
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6320
5695
|
},
|
|
6321
5696
|
{
|
|
6322
5697
|
"language": "tsx",
|
|
6323
5698
|
"meta": null,
|
|
6324
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5699
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6325
5700
|
}
|
|
6326
5701
|
]
|
|
6327
5702
|
},
|
|
@@ -6396,7 +5771,7 @@
|
|
|
6396
5771
|
{
|
|
6397
5772
|
"language": "tsx",
|
|
6398
5773
|
"meta": null,
|
|
6399
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5774
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6400
5775
|
},
|
|
6401
5776
|
{
|
|
6402
5777
|
"language": "tsx",
|
|
@@ -6406,17 +5781,17 @@
|
|
|
6406
5781
|
{
|
|
6407
5782
|
"language": "tsx",
|
|
6408
5783
|
"meta": null,
|
|
6409
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5784
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6410
5785
|
},
|
|
6411
5786
|
{
|
|
6412
5787
|
"language": "tsx",
|
|
6413
5788
|
"meta": null,
|
|
6414
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5789
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6415
5790
|
},
|
|
6416
5791
|
{
|
|
6417
5792
|
"language": "tsx",
|
|
6418
5793
|
"meta": null,
|
|
6419
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5794
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6420
5795
|
}
|
|
6421
5796
|
]
|
|
6422
5797
|
},
|
|
@@ -6443,7 +5818,7 @@
|
|
|
6443
5818
|
{
|
|
6444
5819
|
"language": "tsx",
|
|
6445
5820
|
"meta": null,
|
|
6446
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5821
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n} from \"@epilot/volt-ui-react\"\nimport { IconAlertTriangle, IconCircleCheck } from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Type</TableHead>\n <TableHead>Invoice Number</TableHead>\n <TableHead>Date</TableHead>\n <TableHead>Due Date</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>08.10.2025</TableCell>\n <TableCell>22.10.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>Installment rate</TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>08.09.2025</TableCell>\n <TableCell>22.09.2025</TableCell>\n <TableCell align=\"right\" numeric>85,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Payment</TableCell>\n <TableCell>-</TableCell>\n <TableCell>10.07.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>45,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>Yearly Invoice</TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>15.06.2025</TableCell>\n <TableCell>29.06.2025</TableCell>\n <TableCell align=\"right\" numeric>150,00 €</TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"teal\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Refund\n </Badge>\n </TableCell>\n <TableCell>Cashback</TableCell>\n <TableCell>2024-G-003</TableCell>\n <TableCell>05.05.2025</TableCell>\n <TableCell>-</TableCell>\n <TableCell align=\"right\" numeric>-50,00 €</TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6447
5822
|
},
|
|
6448
5823
|
{
|
|
6449
5824
|
"language": "tsx",
|
|
@@ -6453,17 +5828,17 @@
|
|
|
6453
5828
|
{
|
|
6454
5829
|
"language": "tsx",
|
|
6455
5830
|
"meta": null,
|
|
6456
|
-
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
5831
|
+
"code": "import {\n Table,\n TableHeader,\n TableBody,\n TableRow,\n TableHead,\n TableCell,\n Badge,\n Button,\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n} from \"@epilot/volt-ui-react\"\nimport {\n IconDotsVertical,\n IconPencil,\n IconCopy,\n IconTrash,\n IconEye,\n IconAlertTriangle,\n IconCircleCheck,\n} from \"@tabler/icons-react\"\n\n<Table>\n <TableHeader>\n <TableRow>\n <TableHead>Status</TableHead>\n <TableHead>Invoice</TableHead>\n <TableHead>Customer</TableHead>\n <TableHead align=\"right\">Amount</TableHead>\n <TableHead className=\"w-12\"></TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n <TableRow>\n <TableCell>\n <Badge color=\"red\" style=\"soft\" className=\"!bg-red-100 !text-red-600 !font-semibold\">\n <IconAlertTriangle size={14} />\n Delayed\n </Badge>\n </TableCell>\n <TableCell>2024-A-10</TableCell>\n <TableCell>John Doe</TableCell>\n <TableCell align=\"right\" numeric>85.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-A-09</TableCell>\n <TableCell>Jane Smith</TableCell>\n <TableCell align=\"right\" numeric>45.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n <TableRow>\n <TableCell>\n <Badge color=\"green\" style=\"soft\" className=\"!font-semibold\">\n <IconCircleCheck size={14} />\n Paid\n </Badge>\n </TableCell>\n <TableCell>2024-J-001</TableCell>\n <TableCell>Bob Wilson</TableCell>\n <TableCell align=\"right\" numeric>150.00 €</TableCell>\n <TableCell>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"tertiary\" size=\"icon-sm\">\n <IconDotsVertical />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>\n <IconEye />\n View\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconPencil />\n Edit\n <DropdownMenuShortcut>Ctrl+E</DropdownMenuShortcut>\n </DropdownMenuItem>\n <DropdownMenuItem>\n <IconCopy />\n Duplicate\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem destructive>\n <IconTrash />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </TableCell>\n </TableRow>\n </TableBody>\n</Table>"
|
|
6457
5832
|
},
|
|
6458
5833
|
{
|
|
6459
5834
|
"language": "tsx",
|
|
6460
5835
|
"meta": null,
|
|
6461
|
-
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
5836
|
+
"code": "import { Table, TablePagination, useClientPagination } from \"@epilot/volt-ui-react\"\n\nfunction MyTable() {\n const { pageData, paginationProps } = useClientPagination({\n data: allItems, // Your full data array\n initialPageSize: 10, // Optional, default 10\n })\n\n return (\n <div>\n <Table>\n {pageData.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination {...paginationProps} />\n </div>\n )\n}"
|
|
6462
5837
|
},
|
|
6463
5838
|
{
|
|
6464
5839
|
"language": "tsx",
|
|
6465
5840
|
"meta": null,
|
|
6466
|
-
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
5841
|
+
"code": "import { useState } from \"react\"\nimport { Table, TablePagination } from \"@epilot/volt-ui-react\"\nimport { useQuery } from \"@tanstack/react-query\"\n\nfunction MyTable() {\n const [page, setPage] = useState(1)\n const [pageSize, setPageSize] = useState(10)\n\n // Convert page to offset for API\n const from = (page - 1) * pageSize\n\n const { data } = useQuery({\n queryKey: [\"items\", from, pageSize],\n queryFn: () => fetchItems({ from, size: pageSize }),\n })\n\n return (\n <div>\n <Table>\n {data?.results.map(item => (\n <TableRow key={item.id}>...</TableRow>\n ))}\n </Table>\n <TablePagination\n page={page}\n totalItems={data?.hits ?? 0}\n pageSize={pageSize}\n onPageChange={setPage}\n onPageSizeChange={(size) => {\n setPageSize(size)\n setPage(1)\n }}\n />\n </div>\n )\n}"
|
|
6467
5842
|
}
|
|
6468
5843
|
]
|
|
6469
5844
|
},
|
|
@@ -6520,12 +5895,12 @@
|
|
|
6520
5895
|
{
|
|
6521
5896
|
"language": "tsx",
|
|
6522
5897
|
"meta": "lineNumbers",
|
|
6523
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5898
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui-react\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\" variant=\"destructive\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6524
5899
|
},
|
|
6525
5900
|
{
|
|
6526
5901
|
"language": "tsx",
|
|
6527
5902
|
"meta": "lineNumbers",
|
|
6528
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5903
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui-react\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\" >Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6529
5904
|
}
|
|
6530
5905
|
]
|
|
6531
5906
|
},
|
|
@@ -6558,12 +5933,12 @@
|
|
|
6558
5933
|
{
|
|
6559
5934
|
"language": "tsx",
|
|
6560
5935
|
"meta": "lineNumbers",
|
|
6561
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5936
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui-react\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\" variant=\"destructive\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6562
5937
|
},
|
|
6563
5938
|
{
|
|
6564
5939
|
"language": "tsx",
|
|
6565
5940
|
"meta": "lineNumbers",
|
|
6566
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5941
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui-react\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\" >Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6567
5942
|
}
|
|
6568
5943
|
]
|
|
6569
5944
|
},
|
|
@@ -6596,12 +5971,12 @@
|
|
|
6596
5971
|
{
|
|
6597
5972
|
"language": "tsx",
|
|
6598
5973
|
"meta": "lineNumbers",
|
|
6599
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5974
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui-react\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\" variant=\"destructive\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6600
5975
|
},
|
|
6601
5976
|
{
|
|
6602
5977
|
"language": "tsx",
|
|
6603
5978
|
"meta": "lineNumbers",
|
|
6604
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
5979
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui-react\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\" >Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6605
5980
|
}
|
|
6606
5981
|
]
|
|
6607
5982
|
},
|
|
@@ -6623,6 +5998,12 @@
|
|
|
6623
5998
|
"default": "-",
|
|
6624
5999
|
"description": "A unique value that associates the trigger with a content panel."
|
|
6625
6000
|
},
|
|
6001
|
+
{
|
|
6002
|
+
"name": "`variant`",
|
|
6003
|
+
"type": "`\"default\"` | `\"destructive\"`",
|
|
6004
|
+
"default": "`\"default\"`",
|
|
6005
|
+
"description": "The visual variant of the trigger. Use `\"destructive\"` to indicate a validation error on the tab."
|
|
6006
|
+
},
|
|
6626
6007
|
{
|
|
6627
6008
|
"name": "`disabled`",
|
|
6628
6009
|
"type": "`boolean`",
|
|
@@ -6640,12 +6021,12 @@
|
|
|
6640
6021
|
{
|
|
6641
6022
|
"language": "tsx",
|
|
6642
6023
|
"meta": "lineNumbers",
|
|
6643
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6024
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContent, Badge } from \"@epilot/volt-ui-react\"\n\n<Tabs variant=\"highlight\" defaultValue=\"account\">\n <TabsList>\n <TabsTrigger value=\"account\">Account <Badge size=\"sm\">1</Badge></TabsTrigger>\n <TabsTrigger value=\"password\" variant=\"destructive\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6644
6025
|
},
|
|
6645
6026
|
{
|
|
6646
6027
|
"language": "tsx",
|
|
6647
6028
|
"meta": "lineNumbers",
|
|
6648
|
-
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\">Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6029
|
+
"code": "import { Tabs, TabsList, TabsTrigger, TabsContentm } from \"@epilot/volt-ui-react\"\n\n<Tabs defaultValue=\"account\" orientation=\"vertical\">\n <TabsList>\n <TabsTrigger value=\"account\">Account</TabsTrigger>\n <TabsTrigger value=\"password\" >Password</TabsTrigger>\n <TabsTrigger value=\"settings\">Settings</TabsTrigger>\n </TabsList>\n <TabsContent value=\"account\"></TabsContent>\n <TabsContent value=\"password\"></TabsContent>\n <TabsContent value=\"settings\"></TabsContent>\n</Tabs>"
|
|
6649
6030
|
}
|
|
6650
6031
|
]
|
|
6651
6032
|
},
|
|
@@ -6684,12 +6065,12 @@
|
|
|
6684
6065
|
{
|
|
6685
6066
|
"language": "tsx",
|
|
6686
6067
|
"meta": "lineNumbers",
|
|
6687
|
-
"code": "import { Text } from \"@epilot/volt-ui\"\n\n<Text variant=\"title3\">Title 3</Text>\n<Text variant=\"body2\">Body text</Text>\n<Text variant=\"body1\">Small emphasized text</Text>"
|
|
6068
|
+
"code": "import { Text } from \"@epilot/volt-ui-react\"\n\n<Text variant=\"title3\">Title 3</Text>\n<Text variant=\"body2\">Body text</Text>\n<Text variant=\"body1\">Small emphasized text</Text>"
|
|
6688
6069
|
},
|
|
6689
6070
|
{
|
|
6690
6071
|
"language": "tsx",
|
|
6691
6072
|
"meta": "lineNumbers",
|
|
6692
|
-
"code": "import { Text } from \"@epilot/volt-ui\"\n\n<Text asChild variant=\"title1\"><h1>Title 1</h1></Text>\n<Text asChild variant=\"heading1\"><h2>Heading 1</h2></Text>"
|
|
6073
|
+
"code": "import { Text } from \"@epilot/volt-ui-react\"\n\n<Text asChild variant=\"title1\"><h1>Title 1</h1></Text>\n<Text asChild variant=\"heading1\"><h2>Heading 1</h2></Text>"
|
|
6693
6074
|
},
|
|
6694
6075
|
{
|
|
6695
6076
|
"language": "tsx",
|
|
@@ -6768,7 +6149,7 @@
|
|
|
6768
6149
|
{
|
|
6769
6150
|
"language": "tsx",
|
|
6770
6151
|
"meta": "lineNumbers",
|
|
6771
|
-
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
6152
|
+
"code": "import { useState } from \"react\"\nimport { DateTimePicker } from \"@epilot/volt-ui-react\"\n\nconst MyComponent = () => {\n const [value, setValue] = useState<Date>(new Date())\n\n return (\n <DateTimePicker\n label=\"Appointment\"\n value={value}\n onChange={setValue}\n locale=\"en\"\n />\n )\n}"
|
|
6772
6153
|
},
|
|
6773
6154
|
{
|
|
6774
6155
|
"language": "tsx",
|
|
@@ -6867,7 +6248,7 @@
|
|
|
6867
6248
|
{
|
|
6868
6249
|
"language": "tsx",
|
|
6869
6250
|
"meta": "lineNumbers",
|
|
6870
|
-
"code": "import { Toaster, toast } from \"@epilot/volt-ui\"\n\n// Add Toaster to your app root\n<Toaster />\n\n// Success toast\ntoast.success(\"Successfully saved!\")\n\n// Info toast\ntoast.info(\"Did you know?\")\n\n// Warning toast\ntoast.warning(\"Please review your changes\")\n\n// Error toast\ntoast.error(\"Something went wrong\")"
|
|
6251
|
+
"code": "import { Toaster, toast } from \"@epilot/volt-ui-react\"\n\n// Add Toaster to your app root\n<Toaster />\n\n// Success toast\ntoast.success(\"Successfully saved!\")\n\n// Info toast\ntoast.info(\"Did you know?\")\n\n// Warning toast\ntoast.warning(\"Please review your changes\")\n\n// Error toast\ntoast.error(\"Something went wrong\")"
|
|
6871
6252
|
},
|
|
6872
6253
|
{
|
|
6873
6254
|
"language": "tsx",
|
|
@@ -6939,22 +6320,22 @@
|
|
|
6939
6320
|
{
|
|
6940
6321
|
"language": "tsx",
|
|
6941
6322
|
"meta": "lineNumbers",
|
|
6942
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
6323
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
6943
6324
|
},
|
|
6944
6325
|
{
|
|
6945
6326
|
"language": "tsx",
|
|
6946
6327
|
"meta": "lineNumbers",
|
|
6947
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6328
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6948
6329
|
},
|
|
6949
6330
|
{
|
|
6950
6331
|
"language": "tsx",
|
|
6951
6332
|
"meta": "lineNumbers",
|
|
6952
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6333
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6953
6334
|
},
|
|
6954
6335
|
{
|
|
6955
6336
|
"language": "tsx",
|
|
6956
6337
|
"meta": "lineNumbers",
|
|
6957
|
-
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
6338
|
+
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
6958
6339
|
}
|
|
6959
6340
|
]
|
|
6960
6341
|
},
|
|
@@ -7011,22 +6392,22 @@
|
|
|
7011
6392
|
{
|
|
7012
6393
|
"language": "tsx",
|
|
7013
6394
|
"meta": "lineNumbers",
|
|
7014
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
6395
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
7015
6396
|
},
|
|
7016
6397
|
{
|
|
7017
6398
|
"language": "tsx",
|
|
7018
6399
|
"meta": "lineNumbers",
|
|
7019
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6400
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7020
6401
|
},
|
|
7021
6402
|
{
|
|
7022
6403
|
"language": "tsx",
|
|
7023
6404
|
"meta": "lineNumbers",
|
|
7024
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6405
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7025
6406
|
},
|
|
7026
6407
|
{
|
|
7027
6408
|
"language": "tsx",
|
|
7028
6409
|
"meta": "lineNumbers",
|
|
7029
|
-
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
6410
|
+
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
7030
6411
|
}
|
|
7031
6412
|
]
|
|
7032
6413
|
},
|
|
@@ -7059,22 +6440,22 @@
|
|
|
7059
6440
|
{
|
|
7060
6441
|
"language": "tsx",
|
|
7061
6442
|
"meta": "lineNumbers",
|
|
7062
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
6443
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
7063
6444
|
},
|
|
7064
6445
|
{
|
|
7065
6446
|
"language": "tsx",
|
|
7066
6447
|
"meta": "lineNumbers",
|
|
7067
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6448
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7068
6449
|
},
|
|
7069
6450
|
{
|
|
7070
6451
|
"language": "tsx",
|
|
7071
6452
|
"meta": "lineNumbers",
|
|
7072
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6453
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7073
6454
|
},
|
|
7074
6455
|
{
|
|
7075
6456
|
"language": "tsx",
|
|
7076
6457
|
"meta": "lineNumbers",
|
|
7077
|
-
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
6458
|
+
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
7078
6459
|
}
|
|
7079
6460
|
]
|
|
7080
6461
|
},
|
|
@@ -7101,22 +6482,22 @@
|
|
|
7101
6482
|
{
|
|
7102
6483
|
"language": "tsx",
|
|
7103
6484
|
"meta": "lineNumbers",
|
|
7104
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
6485
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" variant=\"tertiary\"><IconCopy /></Button>\n </TooltipTrigger>\n <TooltipContent>\n content\n </TooltipContent>\n </Tooltip>\n</TooltipProvider>"
|
|
7105
6486
|
},
|
|
7106
6487
|
{
|
|
7107
6488
|
"language": "tsx",
|
|
7108
6489
|
"meta": "lineNumbers",
|
|
7109
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6490
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button variant=\"secondary\">Top</Button>\n </TooltipTrigger>\n <TooltipContent side=\"top\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7110
6491
|
},
|
|
7111
6492
|
{
|
|
7112
6493
|
"language": "tsx",
|
|
7113
6494
|
"meta": "lineNumbers",
|
|
7114
|
-
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
6495
|
+
"code": "import { Tooltip, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip>\n <TooltipTrigger asChild>\n <Button size=\"icon\" destructive><IconAlertTriangle /></Button>\n </TooltipTrigger>\n <TooltipContent variant=\"destructive\">\n content\n </TooltipContent>\n</Tooltip>"
|
|
7115
6496
|
},
|
|
7116
6497
|
{
|
|
7117
6498
|
"language": "tsx",
|
|
7118
6499
|
"meta": "lineNumbers",
|
|
7119
|
-
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
6500
|
+
"code": "import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, Button } from \"@epilot/volt-ui-react\"\n\n<Tooltip delayDuration={2000}>\n <TooltipTrigger asChild>\n <Button variant=\"tertiary\">Delayed tooltip</Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>This tooltip appears after 2 seconds</p>\n </TooltipContent>\n</Tooltip>"
|
|
7120
6501
|
}
|
|
7121
6502
|
]
|
|
7122
6503
|
}
|
|
@@ -20879,196 +20260,196 @@
|
|
|
20879
20260
|
},
|
|
20880
20261
|
{
|
|
20881
20262
|
"name": "--color-accent-1",
|
|
20882
|
-
"value": "var(--volt-
|
|
20263
|
+
"value": "var(--volt-accent-1)",
|
|
20883
20264
|
"theme": "global",
|
|
20884
20265
|
"group": "utility",
|
|
20885
20266
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20886
20267
|
},
|
|
20887
20268
|
{
|
|
20888
20269
|
"name": "--color-accent-2",
|
|
20889
|
-
"value": "var(--volt-
|
|
20270
|
+
"value": "var(--volt-accent-2)",
|
|
20890
20271
|
"theme": "global",
|
|
20891
20272
|
"group": "utility",
|
|
20892
20273
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20893
20274
|
},
|
|
20894
20275
|
{
|
|
20895
20276
|
"name": "--color-accent-3",
|
|
20896
|
-
"value": "var(--volt-
|
|
20277
|
+
"value": "var(--volt-accent-3)",
|
|
20897
20278
|
"theme": "global",
|
|
20898
20279
|
"group": "utility",
|
|
20899
20280
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20900
20281
|
},
|
|
20901
20282
|
{
|
|
20902
20283
|
"name": "--color-accent-4",
|
|
20903
|
-
"value": "var(--volt-
|
|
20284
|
+
"value": "var(--volt-accent-4)",
|
|
20904
20285
|
"theme": "global",
|
|
20905
20286
|
"group": "utility",
|
|
20906
20287
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20907
20288
|
},
|
|
20908
20289
|
{
|
|
20909
20290
|
"name": "--color-accent-5",
|
|
20910
|
-
"value": "var(--volt-
|
|
20291
|
+
"value": "var(--volt-accent-5)",
|
|
20911
20292
|
"theme": "global",
|
|
20912
20293
|
"group": "utility",
|
|
20913
20294
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20914
20295
|
},
|
|
20915
20296
|
{
|
|
20916
20297
|
"name": "--color-accent-6",
|
|
20917
|
-
"value": "var(--volt-
|
|
20298
|
+
"value": "var(--volt-accent-6)",
|
|
20918
20299
|
"theme": "global",
|
|
20919
20300
|
"group": "utility",
|
|
20920
20301
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20921
20302
|
},
|
|
20922
20303
|
{
|
|
20923
20304
|
"name": "--color-accent-7",
|
|
20924
|
-
"value": "var(--volt-
|
|
20305
|
+
"value": "var(--volt-accent-7)",
|
|
20925
20306
|
"theme": "global",
|
|
20926
20307
|
"group": "utility",
|
|
20927
20308
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20928
20309
|
},
|
|
20929
20310
|
{
|
|
20930
20311
|
"name": "--color-accent-8",
|
|
20931
|
-
"value": "var(--volt-
|
|
20312
|
+
"value": "var(--volt-accent-8)",
|
|
20932
20313
|
"theme": "global",
|
|
20933
20314
|
"group": "utility",
|
|
20934
20315
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20935
20316
|
},
|
|
20936
20317
|
{
|
|
20937
20318
|
"name": "--color-accent-9",
|
|
20938
|
-
"value": "var(--volt-
|
|
20319
|
+
"value": "var(--volt-accent-9)",
|
|
20939
20320
|
"theme": "global",
|
|
20940
20321
|
"group": "utility",
|
|
20941
20322
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20942
20323
|
},
|
|
20943
20324
|
{
|
|
20944
20325
|
"name": "--color-accent-10",
|
|
20945
|
-
"value": "var(--volt-
|
|
20326
|
+
"value": "var(--volt-accent-10)",
|
|
20946
20327
|
"theme": "global",
|
|
20947
20328
|
"group": "utility",
|
|
20948
20329
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20949
20330
|
},
|
|
20950
20331
|
{
|
|
20951
20332
|
"name": "--color-accent-11",
|
|
20952
|
-
"value": "var(--volt-
|
|
20333
|
+
"value": "var(--volt-accent-11)",
|
|
20953
20334
|
"theme": "global",
|
|
20954
20335
|
"group": "utility",
|
|
20955
20336
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20956
20337
|
},
|
|
20957
20338
|
{
|
|
20958
20339
|
"name": "--color-accent-12",
|
|
20959
|
-
"value": "var(--volt-
|
|
20340
|
+
"value": "var(--volt-accent-12)",
|
|
20960
20341
|
"theme": "global",
|
|
20961
20342
|
"group": "utility",
|
|
20962
20343
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20963
20344
|
},
|
|
20964
20345
|
{
|
|
20965
20346
|
"name": "--color-accent-a1",
|
|
20966
|
-
"value": "var(--volt-
|
|
20347
|
+
"value": "var(--volt-accent-a1)",
|
|
20967
20348
|
"theme": "global",
|
|
20968
20349
|
"group": "utility",
|
|
20969
20350
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20970
20351
|
},
|
|
20971
20352
|
{
|
|
20972
20353
|
"name": "--color-accent-a2",
|
|
20973
|
-
"value": "var(--volt-
|
|
20354
|
+
"value": "var(--volt-accent-a2)",
|
|
20974
20355
|
"theme": "global",
|
|
20975
20356
|
"group": "utility",
|
|
20976
20357
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20977
20358
|
},
|
|
20978
20359
|
{
|
|
20979
20360
|
"name": "--color-accent-a3",
|
|
20980
|
-
"value": "var(--volt-
|
|
20361
|
+
"value": "var(--volt-accent-a3)",
|
|
20981
20362
|
"theme": "global",
|
|
20982
20363
|
"group": "utility",
|
|
20983
20364
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20984
20365
|
},
|
|
20985
20366
|
{
|
|
20986
20367
|
"name": "--color-accent-a4",
|
|
20987
|
-
"value": "var(--volt-
|
|
20368
|
+
"value": "var(--volt-accent-a4)",
|
|
20988
20369
|
"theme": "global",
|
|
20989
20370
|
"group": "utility",
|
|
20990
20371
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20991
20372
|
},
|
|
20992
20373
|
{
|
|
20993
20374
|
"name": "--color-accent-a5",
|
|
20994
|
-
"value": "var(--volt-
|
|
20375
|
+
"value": "var(--volt-accent-a5)",
|
|
20995
20376
|
"theme": "global",
|
|
20996
20377
|
"group": "utility",
|
|
20997
20378
|
"sourcePath": "src/styles/color-utilities.css"
|
|
20998
20379
|
},
|
|
20999
20380
|
{
|
|
21000
20381
|
"name": "--color-accent-a6",
|
|
21001
|
-
"value": "var(--volt-
|
|
20382
|
+
"value": "var(--volt-accent-a6)",
|
|
21002
20383
|
"theme": "global",
|
|
21003
20384
|
"group": "utility",
|
|
21004
20385
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21005
20386
|
},
|
|
21006
20387
|
{
|
|
21007
20388
|
"name": "--color-accent-a7",
|
|
21008
|
-
"value": "var(--volt-
|
|
20389
|
+
"value": "var(--volt-accent-a7)",
|
|
21009
20390
|
"theme": "global",
|
|
21010
20391
|
"group": "utility",
|
|
21011
20392
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21012
20393
|
},
|
|
21013
20394
|
{
|
|
21014
20395
|
"name": "--color-accent-a8",
|
|
21015
|
-
"value": "var(--volt-
|
|
20396
|
+
"value": "var(--volt-accent-a8)",
|
|
21016
20397
|
"theme": "global",
|
|
21017
20398
|
"group": "utility",
|
|
21018
20399
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21019
20400
|
},
|
|
21020
20401
|
{
|
|
21021
20402
|
"name": "--color-accent-a9",
|
|
21022
|
-
"value": "var(--volt-
|
|
20403
|
+
"value": "var(--volt-accent-a9)",
|
|
21023
20404
|
"theme": "global",
|
|
21024
20405
|
"group": "utility",
|
|
21025
20406
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21026
20407
|
},
|
|
21027
20408
|
{
|
|
21028
20409
|
"name": "--color-accent-a10",
|
|
21029
|
-
"value": "var(--volt-
|
|
20410
|
+
"value": "var(--volt-accent-a10)",
|
|
21030
20411
|
"theme": "global",
|
|
21031
20412
|
"group": "utility",
|
|
21032
20413
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21033
20414
|
},
|
|
21034
20415
|
{
|
|
21035
20416
|
"name": "--color-accent-a11",
|
|
21036
|
-
"value": "var(--volt-
|
|
20417
|
+
"value": "var(--volt-accent-a11)",
|
|
21037
20418
|
"theme": "global",
|
|
21038
20419
|
"group": "utility",
|
|
21039
20420
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21040
20421
|
},
|
|
21041
20422
|
{
|
|
21042
20423
|
"name": "--color-accent-a12",
|
|
21043
|
-
"value": "var(--volt-
|
|
20424
|
+
"value": "var(--volt-accent-a12)",
|
|
21044
20425
|
"theme": "global",
|
|
21045
20426
|
"group": "utility",
|
|
21046
20427
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21047
20428
|
},
|
|
21048
20429
|
{
|
|
21049
20430
|
"name": "--color-accent-contrast",
|
|
21050
|
-
"value": "var(--volt-
|
|
20431
|
+
"value": "var(--volt-accent-contrast)",
|
|
21051
20432
|
"theme": "global",
|
|
21052
20433
|
"group": "utility",
|
|
21053
20434
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21054
20435
|
},
|
|
21055
20436
|
{
|
|
21056
20437
|
"name": "--color-accent-surface",
|
|
21057
|
-
"value": "var(--volt-
|
|
20438
|
+
"value": "var(--volt-accent-surface)",
|
|
21058
20439
|
"theme": "global",
|
|
21059
20440
|
"group": "utility",
|
|
21060
20441
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21061
20442
|
},
|
|
21062
20443
|
{
|
|
21063
20444
|
"name": "--color-accent-indicator",
|
|
21064
|
-
"value": "var(--volt-
|
|
20445
|
+
"value": "var(--volt-accent-indicator)",
|
|
21065
20446
|
"theme": "global",
|
|
21066
20447
|
"group": "utility",
|
|
21067
20448
|
"sourcePath": "src/styles/color-utilities.css"
|
|
21068
20449
|
},
|
|
21069
20450
|
{
|
|
21070
20451
|
"name": "--color-accent-track",
|
|
21071
|
-
"value": "var(--volt-
|
|
20452
|
+
"value": "var(--volt-accent-track)",
|
|
21072
20453
|
"theme": "global",
|
|
21073
20454
|
"group": "utility",
|
|
21074
20455
|
"sourcePath": "src/styles/color-utilities.css"
|