@tokis/react 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +50 -0
- package/dist/cjs/components/accordion/index.js +36 -0
- package/dist/cjs/components/alert/index.js +14 -0
- package/dist/cjs/components/app-bar/index.js +9 -0
- package/dist/cjs/components/avatar/index.js +64 -0
- package/dist/cjs/components/badge/index.js +6 -0
- package/dist/cjs/components/bottom-nav/index.js +12 -0
- package/dist/cjs/components/breadcrumbs/index.js +19 -0
- package/dist/cjs/components/button/ButtonIcon.js +9 -0
- package/dist/cjs/components/button/ButtonLabel.js +9 -0
- package/dist/cjs/components/button/ButtonRoot.js +23 -0
- package/dist/cjs/components/button/index.js +11 -0
- package/dist/cjs/components/button/useButton.js +14 -0
- package/dist/cjs/components/card/index.js +25 -0
- package/dist/cjs/components/charts/index.js +214 -0
- package/dist/cjs/components/checkbox/index.js +18 -0
- package/dist/cjs/components/chip/index.js +6 -0
- package/dist/cjs/components/circular-progress/index.js +28 -0
- package/dist/cjs/components/codeblock/CodeBlock.js +35 -0
- package/dist/cjs/components/codeblock/index.js +5 -0
- package/dist/cjs/components/command-palette/index.js +84 -0
- package/dist/cjs/components/confirm-dialog/index.js +10 -0
- package/dist/cjs/components/context-menu/index.js +82 -0
- package/dist/cjs/components/dialog/index.js +43 -0
- package/dist/cjs/components/divider/index.js +6 -0
- package/dist/cjs/components/drawer/index.js +37 -0
- package/dist/cjs/components/dropdown/index.js +104 -0
- package/dist/cjs/components/emptystate/index.js +9 -0
- package/dist/cjs/components/extended/index.js +329 -0
- package/dist/cjs/components/hover-card/index.js +107 -0
- package/dist/cjs/components/infinite-scroll/index.js +21 -0
- package/dist/cjs/components/input/index.js +27 -0
- package/dist/cjs/components/layout/index.js +34 -0
- package/dist/cjs/components/link/index.js +7 -0
- package/dist/cjs/components/list/index.js +14 -0
- package/dist/cjs/components/menu/index.js +120 -0
- package/dist/cjs/components/nav-rail/index.js +12 -0
- package/dist/cjs/components/pagination/index.js +46 -0
- package/dist/cjs/components/popover/index.js +114 -0
- package/dist/cjs/components/portal/index.js +10 -0
- package/dist/cjs/components/progress/index.js +21 -0
- package/dist/cjs/components/radio/index.js +60 -0
- package/dist/cjs/components/result/index.js +25 -0
- package/dist/cjs/components/search-field/index.js +30 -0
- package/dist/cjs/components/select/index.js +88 -0
- package/dist/cjs/components/skeleton/index.js +6 -0
- package/dist/cjs/components/slider/index.js +73 -0
- package/dist/cjs/components/snackbar/index.js +41 -0
- package/dist/cjs/components/spinner/index.js +6 -0
- package/dist/cjs/components/statistic/index.js +17 -0
- package/dist/cjs/components/stepper/index.js +24 -0
- package/dist/cjs/components/switch/index.js +19 -0
- package/dist/cjs/components/table/index.js +26 -0
- package/dist/cjs/components/tabs/index.js +44 -0
- package/dist/cjs/components/tag/index.js +6 -0
- package/dist/cjs/components/timeline/index.js +12 -0
- package/dist/cjs/components/toggle/index.js +32 -0
- package/dist/cjs/components/tooltip/index.js +116 -0
- package/dist/cjs/components/treeview/index.js +89 -0
- package/dist/cjs/components/typography/index.js +20 -0
- package/dist/cjs/components/virtual-list/index.js +25 -0
- package/dist/cjs/context/ConfigProvider.js +22 -0
- package/dist/cjs/context/ThemeContext.js +25 -0
- package/dist/cjs/hooks/useControllableState.js +31 -0
- package/dist/cjs/hooks/useDialog.js +35 -0
- package/dist/cjs/hooks/useId.js +13 -0
- package/dist/cjs/hooks/useMenu.js +64 -0
- package/dist/cjs/hooks/usePopover.js +32 -0
- package/dist/cjs/hooks/useTabs.js +51 -0
- package/dist/cjs/index.js +102 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/utils/cn.js +10 -0
- package/dist/components/accordion/index.d.ts +19 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/index.js +34 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/alert/index.d.ts +11 -0
- package/dist/components/alert/index.d.ts.map +1 -0
- package/dist/components/alert/index.js +12 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/app-bar/index.d.ts +17 -0
- package/dist/components/app-bar/index.d.ts.map +1 -0
- package/dist/components/app-bar/index.js +7 -0
- package/dist/components/app-bar/index.js.map +1 -0
- package/dist/components/avatar/index.d.ts +33 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +28 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/index.d.ts +3 -0
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +3 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/bottom-nav/index.d.ts +18 -0
- package/dist/components/bottom-nav/index.d.ts.map +1 -0
- package/dist/components/bottom-nav/index.js +10 -0
- package/dist/components/bottom-nav/index.js.map +1 -0
- package/dist/components/breadcrumbs/index.d.ts +19 -0
- package/dist/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/breadcrumbs/index.js +17 -0
- package/dist/components/breadcrumbs/index.js.map +1 -0
- package/dist/components/button/ButtonIcon.d.ts +8 -0
- package/dist/components/button/ButtonIcon.d.ts.map +1 -0
- package/dist/components/button/ButtonIcon.js +6 -0
- package/dist/components/button/ButtonIcon.js.map +1 -0
- package/dist/components/button/ButtonLabel.d.ts +6 -0
- package/dist/components/button/ButtonLabel.d.ts.map +1 -0
- package/dist/components/button/ButtonLabel.js +6 -0
- package/dist/components/button/ButtonLabel.js.map +1 -0
- package/dist/components/button/ButtonRoot.d.ts +15 -0
- package/dist/components/button/ButtonRoot.d.ts.map +1 -0
- package/dist/components/button/ButtonRoot.js +21 -0
- package/dist/components/button/ButtonRoot.js.map +1 -0
- package/dist/components/button/index.d.ts +9 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +5 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/useButton.d.ts +16 -0
- package/dist/components/button/useButton.d.ts.map +1 -0
- package/dist/components/button/useButton.js +12 -0
- package/dist/components/button/useButton.js.map +1 -0
- package/dist/components/card/index.d.ts +17 -0
- package/dist/components/card/index.d.ts.map +1 -0
- package/dist/components/card/index.js +23 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/charts/index.d.ts +60 -0
- package/dist/components/charts/index.d.ts.map +1 -0
- package/dist/components/charts/index.js +209 -0
- package/dist/components/charts/index.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +17 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +16 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/chip/index.d.ts +3 -0
- package/dist/components/chip/index.d.ts.map +1 -0
- package/dist/components/chip/index.js +3 -0
- package/dist/components/chip/index.js.map +1 -0
- package/dist/components/circular-progress/index.d.ts +15 -0
- package/dist/components/circular-progress/index.d.ts.map +1 -0
- package/dist/components/circular-progress/index.js +26 -0
- package/dist/components/circular-progress/index.js.map +1 -0
- package/dist/components/codeblock/CodeBlock.d.ts +13 -0
- package/dist/components/codeblock/CodeBlock.d.ts.map +1 -0
- package/dist/components/codeblock/CodeBlock.js +32 -0
- package/dist/components/codeblock/CodeBlock.js.map +1 -0
- package/dist/components/codeblock/index.d.ts +3 -0
- package/dist/components/codeblock/index.d.ts.map +1 -0
- package/dist/components/codeblock/index.js +2 -0
- package/dist/components/codeblock/index.js.map +1 -0
- package/dist/components/command-palette/index.d.ts +22 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/index.js +82 -0
- package/dist/components/command-palette/index.js.map +1 -0
- package/dist/components/confirm-dialog/index.d.ts +17 -0
- package/dist/components/confirm-dialog/index.d.ts.map +1 -0
- package/dist/components/confirm-dialog/index.js +8 -0
- package/dist/components/confirm-dialog/index.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +19 -0
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/context-menu/index.js +47 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/dialog/index.d.ts +16 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +41 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/divider/index.d.ts +3 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/divider/index.js +3 -0
- package/dist/components/divider/index.js.map +1 -0
- package/dist/components/drawer/index.d.ts +16 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +35 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/dropdown/index.d.ts +16 -0
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/dropdown/index.js +69 -0
- package/dist/components/dropdown/index.js.map +1 -0
- package/dist/components/emptystate/index.d.ts +13 -0
- package/dist/components/emptystate/index.d.ts.map +1 -0
- package/dist/components/emptystate/index.js +7 -0
- package/dist/components/emptystate/index.js.map +1 -0
- package/dist/components/extended/index.d.ts +163 -0
- package/dist/components/extended/index.d.ts.map +1 -0
- package/dist/components/extended/index.js +267 -0
- package/dist/components/extended/index.js.map +1 -0
- package/dist/components/hover-card/index.d.ts +14 -0
- package/dist/components/hover-card/index.d.ts.map +1 -0
- package/dist/components/hover-card/index.js +72 -0
- package/dist/components/hover-card/index.js.map +1 -0
- package/dist/components/infinite-scroll/index.d.ts +16 -0
- package/dist/components/infinite-scroll/index.d.ts.map +1 -0
- package/dist/components/infinite-scroll/index.js +19 -0
- package/dist/components/infinite-scroll/index.js.map +1 -0
- package/dist/components/input/index.d.ts +19 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +25 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/layout/index.d.ts +39 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +32 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/link/index.d.ts +3 -0
- package/dist/components/link/index.d.ts.map +1 -0
- package/dist/components/link/index.js +3 -0
- package/dist/components/link/index.js.map +1 -0
- package/dist/components/list/index.d.ts +13 -0
- package/dist/components/list/index.d.ts.map +1 -0
- package/dist/components/list/index.js +12 -0
- package/dist/components/list/index.js.map +1 -0
- package/dist/components/menu/index.d.ts +19 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.js +85 -0
- package/dist/components/menu/index.js.map +1 -0
- package/dist/components/nav-rail/index.d.ts +20 -0
- package/dist/components/nav-rail/index.d.ts.map +1 -0
- package/dist/components/nav-rail/index.js +10 -0
- package/dist/components/nav-rail/index.js.map +1 -0
- package/dist/components/pagination/index.d.ts +9 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +44 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/popover/index.d.ts +16 -0
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +79 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/portal/index.d.ts +7 -0
- package/dist/components/portal/index.d.ts.map +1 -0
- package/dist/components/portal/index.js +8 -0
- package/dist/components/portal/index.js.map +1 -0
- package/dist/components/progress/index.d.ts +25 -0
- package/dist/components/progress/index.d.ts.map +1 -0
- package/dist/components/progress/index.js +19 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/radio/index.d.ts +25 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +24 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/result/index.d.ts +14 -0
- package/dist/components/result/index.d.ts.map +1 -0
- package/dist/components/result/index.js +23 -0
- package/dist/components/result/index.js.map +1 -0
- package/dist/components/search-field/index.d.ts +15 -0
- package/dist/components/search-field/index.d.ts.map +1 -0
- package/dist/components/search-field/index.js +28 -0
- package/dist/components/search-field/index.js.map +1 -0
- package/dist/components/select/index.d.ts +23 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +86 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +3 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/slider/index.d.ts +18 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +71 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/snackbar/index.d.ts +27 -0
- package/dist/components/snackbar/index.d.ts.map +1 -0
- package/dist/components/snackbar/index.js +38 -0
- package/dist/components/snackbar/index.js.map +1 -0
- package/dist/components/spinner/index.d.ts +3 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +3 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/statistic/index.d.ts +13 -0
- package/dist/components/statistic/index.d.ts.map +1 -0
- package/dist/components/statistic/index.js +15 -0
- package/dist/components/statistic/index.js.map +1 -0
- package/dist/components/stepper/index.d.ts +17 -0
- package/dist/components/stepper/index.d.ts.map +1 -0
- package/dist/components/stepper/index.js +22 -0
- package/dist/components/stepper/index.js.map +1 -0
- package/dist/components/switch/index.d.ts +16 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +17 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/table/index.d.ts +17 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +24 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/tabs/index.d.ts +19 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +42 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tag/index.d.ts +3 -0
- package/dist/components/tag/index.d.ts.map +1 -0
- package/dist/components/tag/index.js +3 -0
- package/dist/components/tag/index.js.map +1 -0
- package/dist/components/timeline/index.d.ts +16 -0
- package/dist/components/timeline/index.d.ts.map +1 -0
- package/dist/components/timeline/index.js +10 -0
- package/dist/components/timeline/index.js.map +1 -0
- package/dist/components/toggle/index.d.ts +32 -0
- package/dist/components/toggle/index.d.ts.map +1 -0
- package/dist/components/toggle/index.js +29 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +11 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +81 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/treeview/index.d.ts +19 -0
- package/dist/components/treeview/index.d.ts.map +1 -0
- package/dist/components/treeview/index.js +87 -0
- package/dist/components/treeview/index.js.map +1 -0
- package/dist/components/typography/index.d.ts +11 -0
- package/dist/components/typography/index.d.ts.map +1 -0
- package/dist/components/typography/index.js +18 -0
- package/dist/components/typography/index.js.map +1 -0
- package/dist/components/virtual-list/index.d.ts +15 -0
- package/dist/components/virtual-list/index.d.ts.map +1 -0
- package/dist/components/virtual-list/index.js +23 -0
- package/dist/components/virtual-list/index.js.map +1 -0
- package/dist/context/ConfigProvider.d.ts +12 -0
- package/dist/context/ConfigProvider.d.ts.map +1 -0
- package/dist/context/ConfigProvider.js +18 -0
- package/dist/context/ConfigProvider.js.map +1 -0
- package/dist/context/ThemeContext.d.ts +15 -0
- package/dist/context/ThemeContext.d.ts.map +1 -0
- package/dist/context/ThemeContext.js +21 -0
- package/dist/context/ThemeContext.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +10 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +29 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useDialog.d.ts +24 -0
- package/dist/hooks/useDialog.d.ts.map +1 -0
- package/dist/hooks/useDialog.js +33 -0
- package/dist/hooks/useDialog.js.map +1 -0
- package/dist/hooks/useId.d.ts +7 -0
- package/dist/hooks/useId.d.ts.map +1 -0
- package/dist/hooks/useId.js +11 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useMenu.d.ts +21 -0
- package/dist/hooks/useMenu.d.ts.map +1 -0
- package/dist/hooks/useMenu.js +62 -0
- package/dist/hooks/useMenu.js.map +1 -0
- package/dist/hooks/usePopover.d.ts +22 -0
- package/dist/hooks/usePopover.d.ts.map +1 -0
- package/dist/hooks/usePopover.js +30 -0
- package/dist/hooks/usePopover.js.map +1 -0
- package/dist/hooks/useTabs.d.ts +22 -0
- package/dist/hooks/useTabs.d.ts.map +1 -0
- package/dist/hooks/useTabs.js +49 -0
- package/dist/hooks/useTabs.js.map +1 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/cn.d.ts +6 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +8 -0
- package/dist/utils/cn.js.map +1 -0
- package/package.json +79 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../../utils/cn.js';
|
|
4
|
+
export const Breadcrumbs = forwardRef(({ items, separator = '/', maxItems, className, ...props }, ref) => {
|
|
5
|
+
const visible = maxItems && items.length > maxItems
|
|
6
|
+
? [items[0], { label: '…', onClick: undefined }, ...items.slice(-(maxItems - 1))]
|
|
7
|
+
: items;
|
|
8
|
+
return (_jsx("nav", { ref: ref, "aria-label": "Breadcrumb", className: cn('tokis-breadcrumbs', className), ...props, children: _jsx("ol", { style: { display: 'flex', alignItems: 'center', flexWrap: 'wrap', listStyle: 'none', margin: 0, padding: 0 }, children: visible.map((item, i) => {
|
|
9
|
+
const isLast = i === visible.length - 1;
|
|
10
|
+
const isCurrent = item.current || isLast;
|
|
11
|
+
return (_jsxs("li", { className: cn('tokis-breadcrumbs-item', isCurrent && 'tokis-breadcrumbs-item--current'), "aria-current": isCurrent ? 'page' : undefined, children: [item.href ? (_jsx("a", { href: item.href, className: "tokis-breadcrumbs-link", children: item.label })) : item.onClick ? (_jsx("button", { className: "tokis-breadcrumbs-link", onClick: item.onClick, style: { background: 'none', border: 'none', padding: 0, font: 'inherit', cursor: 'pointer' }, children: item.label })) : (_jsx("span", { children: item.label })), !isLast && _jsx("span", { className: "tokis-breadcrumbs-separator", "aria-hidden": "true", children: separator })] }, i));
|
|
12
|
+
}) }) }));
|
|
13
|
+
});
|
|
14
|
+
Breadcrumbs.displayName = 'Breadcrumbs';
|
|
15
|
+
export const Link = forwardRef(({ external = false, underline = 'hover', className, children, ...props }, ref) => (_jsx("a", { ref: ref, target: external ? '_blank' : undefined, rel: external ? 'noopener noreferrer' : undefined, className: cn('tokis-link', external && 'tokis-link--external', className), ...props, children: children })));
|
|
16
|
+
Link.displayName = 'Link';
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/breadcrumbs/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ButtonIconProps {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
/** Optional accessible label when icon is standalone */
|
|
5
|
+
'aria-label'?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const ButtonIcon: React.FC<ButtonIconProps>;
|
|
8
|
+
//# sourceMappingURL=ButtonIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAMhD,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
export const ButtonIcon = ({ children, 'aria-label': ariaLabel }) => {
|
|
3
|
+
return (_jsx("span", { className: "button-icon", "aria-hidden": ariaLabel ? undefined : true, "aria-label": ariaLabel, children: children }));
|
|
4
|
+
};
|
|
5
|
+
ButtonIcon.displayName = 'ButtonIcon';
|
|
6
|
+
//# sourceMappingURL=ButtonIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonIcon.js","sourceRoot":"","sources":["../../../src/components/button/ButtonIcon.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;IAC7F,OAAO,CACL,eAAM,SAAS,EAAC,aAAa,iBAAc,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBAAc,SAAS,YAC3F,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonLabel.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAElD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonLabel.js","sourceRoot":"","sources":["../../../src/components/button/ButtonLabel.tsx"],"names":[],"mappings":";AAMA,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtE,OAAO,eAAM,SAAS,EAAC,cAAc,YAAE,QAAQ,GAAQ,CAAC;AAC1D,CAAC,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'destructive' | 'link';
|
|
3
|
+
export type ButtonSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
export interface ButtonRootProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
+
/** Render as a different element or component (polymorphic) */
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
variant?: ButtonVariant;
|
|
8
|
+
size?: ButtonSize;
|
|
9
|
+
fullWidth?: boolean;
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
iconOnly?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const ButtonRoot: React.ForwardRefExoticComponent<ButtonRootProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
+
//# sourceMappingURL=ButtonRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonRoot.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AACnG,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACpF,+DAA+D;IAC/D,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,2FAuDtB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useId, useCallback } from 'react';
|
|
3
|
+
import { cn } from '../../utils/cn.js';
|
|
4
|
+
import { useButton } from './useButton.js';
|
|
5
|
+
export const ButtonRoot = forwardRef(({ as: Component = 'button', variant = 'primary', size = 'md', fullWidth = false, loading = false, iconOnly = false, disabled = false, className, onClick, children, ...props }, ref) => {
|
|
6
|
+
const { state, send } = useButton();
|
|
7
|
+
const id = useId();
|
|
8
|
+
const isNativeButton = Component === 'button';
|
|
9
|
+
const isDisabled = disabled || loading;
|
|
10
|
+
const handleClick = useCallback((e) => {
|
|
11
|
+
if (isDisabled)
|
|
12
|
+
return;
|
|
13
|
+
send({ type: 'PRESS' });
|
|
14
|
+
// Allow PRESS to register then immediately RELEASE for stateless click semantics
|
|
15
|
+
send({ type: 'RELEASE' });
|
|
16
|
+
onClick?.(e);
|
|
17
|
+
}, [isDisabled, onClick, send]);
|
|
18
|
+
return (_jsxs(Component, { ref: ref, id: id, disabled: isNativeButton ? isDisabled : undefined, "aria-disabled": !isNativeButton && isDisabled ? true : undefined, "aria-busy": loading || undefined, "data-state": state.value, className: cn('tokis-btn', `tokis-btn--${variant}`, size !== 'md' && `tokis-btn--${size}`, fullWidth && 'tokis-btn--full', loading && 'tokis-btn--loading', iconOnly && 'tokis-btn--icon-only', className), onClick: handleClick, ...props, children: [loading && _jsx("span", { className: "tokis-spinner tokis-spinner--sm tokis-spinner--white", "aria-hidden": "true" }), children] }));
|
|
19
|
+
});
|
|
20
|
+
ButtonRoot.displayName = 'ButtonRoot';
|
|
21
|
+
//# sourceMappingURL=ButtonRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonRoot.js","sourceRoot":"","sources":["../../../src/components/button/ButtonRoot.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAgB3C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,CAAC,EACC,EAAE,EAAE,SAAS,GAAG,QAAQ,EACxB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,EACjB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,GAAG,EAAE,EAAE;IACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IACpC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,SAAS,KAAK,QAAQ,CAAC;IAC9C,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC;IAEvC,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,CAAsC,EAAE,EAAE;QACzC,IAAI,UAAU;YAAE,OAAO;QACvB,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACxB,iFAAiF;QACjF,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAC5B,CAAC;IAEF,OAAO,CACL,MAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,mBAClC,CAAC,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,eACpD,OAAO,IAAI,SAAS,gBACnB,KAAK,CAAC,KAAK,EACvB,SAAS,EAAE,EAAE,CACX,WAAW,EACX,cAAc,OAAO,EAAE,EACvB,IAAI,KAAK,IAAI,IAAI,cAAc,IAAI,EAAE,EACrC,SAAS,IAAI,iBAAiB,EAC9B,OAAO,IAAI,oBAAoB,EAC/B,QAAQ,IAAI,sBAAsB,EAClC,SAAS,CACV,EACD,OAAO,EAAE,WAAW,KAChB,KAAK,aAER,OAAO,IAAI,eAAM,SAAS,EAAC,sDAAsD,iBAAa,MAAM,GAAG,EACvG,QAAQ,IACC,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ButtonRoot } from './ButtonRoot.js';
|
|
2
|
+
export type { ButtonRootProps } from './ButtonRoot.js';
|
|
3
|
+
export { ButtonIcon } from './ButtonIcon.js';
|
|
4
|
+
export type { ButtonIconProps } from './ButtonIcon.js';
|
|
5
|
+
export { ButtonLabel } from './ButtonLabel.js';
|
|
6
|
+
export type { ButtonLabelProps } from './ButtonLabel.js';
|
|
7
|
+
export { useButton } from './useButton.js';
|
|
8
|
+
export type { ButtonContext, ButtonEvent } from './useButton.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ButtonState = 'idle' | 'pressed';
|
|
2
|
+
export interface ButtonContext {
|
|
3
|
+
disabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
export type ButtonEvent = {
|
|
6
|
+
type: 'PRESS';
|
|
7
|
+
} | {
|
|
8
|
+
type: 'RELEASE';
|
|
9
|
+
};
|
|
10
|
+
export declare function useButton(): {
|
|
11
|
+
state: {
|
|
12
|
+
value: ButtonState;
|
|
13
|
+
};
|
|
14
|
+
send: (event: ButtonEvent) => void;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useButton.d.ts","sourceRoot":"","sources":["../../../src/components/button/useButton.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAElE,wBAAgB,SAAS;;;;kBAGU,WAAW;EAM7C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
export function useButton() {
|
|
3
|
+
const [value, setValue] = useState('idle');
|
|
4
|
+
const send = useCallback((event) => {
|
|
5
|
+
if (event.type === 'PRESS')
|
|
6
|
+
setValue('pressed');
|
|
7
|
+
else if (event.type === 'RELEASE')
|
|
8
|
+
setValue('idle');
|
|
9
|
+
}, []);
|
|
10
|
+
return { state: { value }, send };
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=useButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useButton.js","sourceRoot":"","sources":["../../../src/components/button/useButton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAU9C,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAc,MAAM,CAAC,CAAC;IAExD,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,KAAkB,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;aAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
variant?: 'default' | 'elevated' | 'ghost';
|
|
4
|
+
clickable?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export declare const CardBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const CardFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
|
|
11
|
+
export declare const CardDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
12
|
+
export interface DividerProps extends React.HTMLAttributes<HTMLElement> {
|
|
13
|
+
orientation?: 'horizontal' | 'vertical';
|
|
14
|
+
label?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLHRElement>>;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,eAAO,MAAM,IAAI,kFAQf,CAAC;AAGH,eAAO,MAAM,UAAU,6GAErB,CAAC;AAGH,eAAO,MAAM,QAAQ,6GAEnB,CAAC;AAGH,eAAO,MAAM,UAAU,6GAErB,CAAC;AAGH,eAAO,MAAM,SAAS,qHAEpB,CAAC;AAGH,eAAO,MAAM,eAAe,yHAE1B,CAAC;AAIH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACrE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AACD,eAAO,MAAM,OAAO,oFAiBlB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { cn } from '../../utils/cn.js';
|
|
4
|
+
export const Card = forwardRef(({ variant = 'default', clickable = false, className, children, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('tokis-card', variant !== 'default' && `tokis-card--${variant}`, clickable && 'tokis-card--clickable', className), role: clickable ? 'button' : undefined, tabIndex: clickable ? 0 : undefined, ...props, children: children })));
|
|
5
|
+
Card.displayName = 'Card';
|
|
6
|
+
export const CardHeader = forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('tokis-card-header', className), ...props })));
|
|
7
|
+
CardHeader.displayName = 'CardHeader';
|
|
8
|
+
export const CardBody = forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('tokis-card-body', className), ...props })));
|
|
9
|
+
CardBody.displayName = 'CardBody';
|
|
10
|
+
export const CardFooter = forwardRef(({ className, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('tokis-card-footer', className), ...props })));
|
|
11
|
+
CardFooter.displayName = 'CardFooter';
|
|
12
|
+
export const CardTitle = forwardRef(({ className, ...props }, ref) => (_jsx("h3", { ref: ref, className: cn('tokis-card-title', className), ...props })));
|
|
13
|
+
CardTitle.displayName = 'CardTitle';
|
|
14
|
+
export const CardDescription = forwardRef(({ className, ...props }, ref) => (_jsx("p", { ref: ref, className: cn('tokis-card-description', className), ...props })));
|
|
15
|
+
CardDescription.displayName = 'CardDescription';
|
|
16
|
+
export const Divider = forwardRef(({ orientation = 'horizontal', label, className, ...props }, ref) => {
|
|
17
|
+
if (label) {
|
|
18
|
+
return (_jsx("div", { className: cn('tokis-divider tokis-divider--with-text', className), children: _jsx("span", { className: "tokis-divider__text", children: label }) }));
|
|
19
|
+
}
|
|
20
|
+
return (_jsx("hr", { ref: ref, role: "separator", "aria-orientation": orientation, className: cn('tokis-divider', orientation === 'vertical' && 'tokis-divider--vertical', className), ...props }));
|
|
21
|
+
});
|
|
22
|
+
Divider.displayName = 'Divider';
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/card/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export interface ChartDataPoint {
|
|
2
|
+
label: string;
|
|
3
|
+
value: number;
|
|
4
|
+
color?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BarChartProps {
|
|
7
|
+
data: ChartDataPoint[];
|
|
8
|
+
height?: number;
|
|
9
|
+
barColor?: string;
|
|
10
|
+
animated?: boolean;
|
|
11
|
+
horizontal?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function BarChart({ data, height, barColor, animated, horizontal, className, }: BarChartProps): JSX.Element;
|
|
15
|
+
export declare namespace BarChart {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
export interface LineChartDataset {
|
|
19
|
+
label: string;
|
|
20
|
+
data: number[];
|
|
21
|
+
color?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface LineChartProps {
|
|
24
|
+
labels: string[];
|
|
25
|
+
datasets: LineChartDataset[];
|
|
26
|
+
height?: number;
|
|
27
|
+
smooth?: boolean;
|
|
28
|
+
animated?: boolean;
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function LineChart({ labels, datasets, height, smooth, animated, className, }: LineChartProps): JSX.Element;
|
|
32
|
+
export declare namespace LineChart {
|
|
33
|
+
var displayName: string;
|
|
34
|
+
}
|
|
35
|
+
export interface PieChartProps {
|
|
36
|
+
data: ChartDataPoint[];
|
|
37
|
+
donut?: boolean;
|
|
38
|
+
size?: number;
|
|
39
|
+
animated?: boolean;
|
|
40
|
+
showLegend?: boolean;
|
|
41
|
+
className?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare function PieChart({ data, donut, size, animated, showLegend, className, }: PieChartProps): JSX.Element;
|
|
44
|
+
export declare namespace PieChart {
|
|
45
|
+
var displayName: string;
|
|
46
|
+
}
|
|
47
|
+
export type SparklineType = 'line' | 'bar' | 'area';
|
|
48
|
+
export interface SparklineProps {
|
|
49
|
+
data: number[];
|
|
50
|
+
type?: SparklineType;
|
|
51
|
+
width?: number;
|
|
52
|
+
height?: number;
|
|
53
|
+
color?: string;
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function Sparkline({ data, type, width, height, color, className, }: SparklineProps): JSX.Element;
|
|
57
|
+
export declare namespace Sparkline {
|
|
58
|
+
var displayName: string;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/charts/index.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAY,EACZ,QAAQ,EACR,QAAe,EACf,UAAkB,EAClB,SAAS,GACV,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA+G7B;yBAtHe,QAAQ;;;AA4HxB,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAQ,EACR,MAAY,EACZ,MAAa,EACb,QAAe,EACf,SAAS,GACV,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CA0I9B;yBAjJe,SAAS;;;AAuJzB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAa,EACb,IAAU,EACV,QAAe,EACf,UAAiB,EACjB,SAAS,GACV,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAkE7B;yBAzEe,QAAQ;;;AA+ExB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,IAAa,EACb,KAAU,EACV,MAAW,EACX,KAAoC,EACpC,SAAS,GACV,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAiC9B;yBAxCe,SAAS"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect, useState } from 'react';
|
|
3
|
+
import { cn } from '../../utils/cn.js';
|
|
4
|
+
const DEFAULT_COLORS = [
|
|
5
|
+
'var(--tokis-color-primary)',
|
|
6
|
+
'#7c3aed',
|
|
7
|
+
'#059669',
|
|
8
|
+
'#d97706',
|
|
9
|
+
'#dc2626',
|
|
10
|
+
'#0284c7',
|
|
11
|
+
'#db2777',
|
|
12
|
+
];
|
|
13
|
+
function useContainerWidth(ref) {
|
|
14
|
+
const [width, setWidth] = useState(300);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!ref.current)
|
|
17
|
+
return;
|
|
18
|
+
const ro = new ResizeObserver(([entry]) => setWidth(entry.contentRect.width));
|
|
19
|
+
ro.observe(ref.current);
|
|
20
|
+
setWidth(ref.current.clientWidth);
|
|
21
|
+
return () => ro.disconnect();
|
|
22
|
+
}, [ref]);
|
|
23
|
+
return width;
|
|
24
|
+
}
|
|
25
|
+
export function BarChart({ data, height = 200, barColor, animated = true, horizontal = false, className, }) {
|
|
26
|
+
const containerRef = useRef(null);
|
|
27
|
+
const containerWidth = useContainerWidth(containerRef);
|
|
28
|
+
const [mounted, setMounted] = useState(false);
|
|
29
|
+
useEffect(() => { if (animated)
|
|
30
|
+
setTimeout(() => setMounted(true), 50); }, [animated]);
|
|
31
|
+
const [hoveredBar, setHoveredBar] = useState(null);
|
|
32
|
+
const maxVal = Math.max(...data.map((d) => d.value), 1);
|
|
33
|
+
const padding = { top: 8, right: 8, bottom: 32, left: 40 };
|
|
34
|
+
const w = containerWidth;
|
|
35
|
+
const h = height;
|
|
36
|
+
const chartW = w - padding.left - padding.right;
|
|
37
|
+
const chartH = h - padding.top - padding.bottom;
|
|
38
|
+
const barWidth = (chartW / data.length) * 0.6;
|
|
39
|
+
const barGap = (chartW / data.length) * 0.4;
|
|
40
|
+
if (!horizontal) {
|
|
41
|
+
return (_jsx("div", { ref: containerRef, className: cn('tokis-chart tokis-chart--bar', className), children: _jsx("svg", { width: w, height: h, "aria-label": "Bar chart", onMouseMove: (e) => {
|
|
42
|
+
const svgRect = e.currentTarget.getBoundingClientRect();
|
|
43
|
+
const mouseX = e.clientX - svgRect.left - padding.left;
|
|
44
|
+
const colW = chartW / data.length;
|
|
45
|
+
const idx = Math.floor(mouseX / colW);
|
|
46
|
+
setHoveredBar(idx >= 0 && idx < data.length ? idx : null);
|
|
47
|
+
}, onMouseLeave: () => setHoveredBar(null), children: _jsxs("g", { transform: `translate(${padding.left},${padding.top})`, children: [[0, 0.25, 0.5, 0.75, 1].map((t) => (_jsxs("g", { transform: `translate(0,${chartH * (1 - t)})`, children: [_jsx("line", { x1: -4, x2: chartW, stroke: "var(--tokis-color-border)", strokeWidth: "1" }), _jsx("text", { x: -8, y: 4, fontSize: "10", fill: "var(--tokis-text-tertiary)", textAnchor: "end", children: Math.round(maxVal * t) })] }, t))), data.map((d, i) => {
|
|
48
|
+
const x = i * (chartW / data.length) + barGap / 2;
|
|
49
|
+
const barH = (d.value / maxVal) * chartH;
|
|
50
|
+
const y = chartH - (mounted || !animated ? barH : 0);
|
|
51
|
+
const color = d.color ?? barColor ?? DEFAULT_COLORS[i % DEFAULT_COLORS.length];
|
|
52
|
+
return (_jsxs("g", { children: [_jsx("rect", { x: x, y: y, width: barWidth, height: mounted || !animated ? barH : 0, fill: color, rx: 3, opacity: hoveredBar !== null && hoveredBar !== i ? 0.5 : 1, style: { transition: animated ? 'y 0.6s ease, height 0.6s ease' : undefined } }), _jsx("text", { x: x + barWidth / 2, y: chartH + 18, fontSize: "10", fill: "var(--tokis-text-secondary)", textAnchor: "middle", children: d.label })] }, i));
|
|
53
|
+
}), hoveredBar !== null && (() => {
|
|
54
|
+
const d = data[hoveredBar];
|
|
55
|
+
const x = hoveredBar * (chartW / data.length) + barGap / 2 + barWidth / 2;
|
|
56
|
+
const barH = (d.value / maxVal) * chartH;
|
|
57
|
+
const tipY = Math.max(4, chartH - (mounted || !animated ? barH : 0) - 28);
|
|
58
|
+
const txt = String(d.value);
|
|
59
|
+
const tw = Math.max(36, txt.length * 7 + 16);
|
|
60
|
+
return (_jsxs("g", { style: { pointerEvents: 'none' }, children: [_jsx("rect", { x: x - tw / 2, y: tipY, width: tw, height: 20, rx: 4, fill: "rgba(17,24,39,0.92)" }), _jsx("text", { x: x, y: tipY + 13, fontSize: "10", textAnchor: "middle", fill: "#fff", fontWeight: "600", children: txt })] }));
|
|
61
|
+
})()] }) }) }));
|
|
62
|
+
}
|
|
63
|
+
// Horizontal
|
|
64
|
+
const barH = (chartH / data.length) * 0.6;
|
|
65
|
+
const barGapH = (chartH / data.length) * 0.4;
|
|
66
|
+
return (_jsx("div", { ref: containerRef, className: cn('tokis-chart tokis-chart--bar', className), children: _jsx("svg", { width: w, height: h, "aria-label": "Bar chart horizontal", children: _jsx("g", { transform: `translate(${padding.left},${padding.top})`, children: data.map((d, i) => {
|
|
67
|
+
const y = i * (chartH / data.length) + barGapH / 2;
|
|
68
|
+
const barW = (d.value / maxVal) * chartW;
|
|
69
|
+
const color = d.color ?? barColor ?? DEFAULT_COLORS[i % DEFAULT_COLORS.length];
|
|
70
|
+
return (_jsxs("g", { children: [_jsx("text", { x: -8, y: y + barH / 2 + 4, fontSize: "10", fill: "var(--tokis-text-secondary)", textAnchor: "end", children: d.label }), _jsx("rect", { x: 0, y: y, width: mounted || !animated ? barW : 0, height: barH, fill: color, rx: 3, style: { transition: animated ? 'width 0.6s ease' : undefined } })] }, i));
|
|
71
|
+
}) }) }) }));
|
|
72
|
+
}
|
|
73
|
+
BarChart.displayName = 'BarChart';
|
|
74
|
+
function toPath(points, smooth) {
|
|
75
|
+
if (points.length < 2)
|
|
76
|
+
return '';
|
|
77
|
+
if (!smooth) {
|
|
78
|
+
return points.map((p, i) => `${i === 0 ? 'M' : 'L'}${p.x},${p.y}`).join(' ');
|
|
79
|
+
}
|
|
80
|
+
let d = `M${points[0].x},${points[0].y}`;
|
|
81
|
+
for (let i = 1; i < points.length; i++) {
|
|
82
|
+
const prev = points[i - 1];
|
|
83
|
+
const curr = points[i];
|
|
84
|
+
const cpx = (prev.x + curr.x) / 2;
|
|
85
|
+
d += ` C${cpx},${prev.y} ${cpx},${curr.y} ${curr.x},${curr.y}`;
|
|
86
|
+
}
|
|
87
|
+
return d;
|
|
88
|
+
}
|
|
89
|
+
export function LineChart({ labels, datasets, height = 200, smooth = true, animated = true, className, }) {
|
|
90
|
+
const containerRef = useRef(null);
|
|
91
|
+
const containerWidth = useContainerWidth(containerRef);
|
|
92
|
+
const [mounted, setMounted] = useState(false);
|
|
93
|
+
const [hoveredCol, setHoveredCol] = useState(null);
|
|
94
|
+
useEffect(() => { if (animated)
|
|
95
|
+
setTimeout(() => setMounted(true), 50); }, [animated]);
|
|
96
|
+
const padding = { top: 12, right: 12, bottom: 32, left: 44 };
|
|
97
|
+
const w = containerWidth;
|
|
98
|
+
const h = height;
|
|
99
|
+
const chartW = w - padding.left - padding.right;
|
|
100
|
+
const chartH = h - padding.top - padding.bottom;
|
|
101
|
+
const allValues = datasets.flatMap((d) => d.data);
|
|
102
|
+
const maxVal = Math.max(...allValues, 1);
|
|
103
|
+
const minVal = Math.min(...allValues, 0);
|
|
104
|
+
const range = maxVal - minVal || 1;
|
|
105
|
+
const toPoint = (val, idx) => ({
|
|
106
|
+
x: (idx / (labels.length - 1 || 1)) * chartW,
|
|
107
|
+
y: chartH - ((val - minVal) / range) * chartH,
|
|
108
|
+
});
|
|
109
|
+
return (_jsxs("div", { ref: containerRef, className: cn('tokis-chart tokis-chart--line', className), children: [_jsx("svg", { width: w, height: h, "aria-label": "Line chart", onMouseMove: (e) => {
|
|
110
|
+
const svgRect = e.currentTarget.getBoundingClientRect();
|
|
111
|
+
const mouseX = e.clientX - svgRect.left - padding.left;
|
|
112
|
+
const colW = chartW / (labels.length - 1 || 1);
|
|
113
|
+
const idx = Math.round(mouseX / colW);
|
|
114
|
+
setHoveredCol(idx >= 0 && idx < labels.length ? idx : null);
|
|
115
|
+
}, onMouseLeave: () => setHoveredCol(null), children: _jsxs("g", { transform: `translate(${padding.left},${padding.top})`, children: [[0, 0.25, 0.5, 0.75, 1].map((t) => (_jsxs("g", { transform: `translate(0,${chartH * (1 - t)})`, children: [_jsx("line", { x1: 0, x2: chartW, stroke: "var(--tokis-color-border)", strokeWidth: "1" }), _jsx("text", { x: -8, y: 4, fontSize: "10", fill: "var(--tokis-text-tertiary)", textAnchor: "end", children: Math.round(minVal + range * t) })] }, t))), labels.map((lbl, i) => (_jsx("text", { x: toPoint(0, i).x, y: chartH + 18, fontSize: "10", fill: "var(--tokis-text-secondary)", textAnchor: "middle", children: lbl }, i))), datasets.map((dataset, di) => {
|
|
116
|
+
const points = dataset.data.map((v, i) => toPoint(v, i));
|
|
117
|
+
const pathD = toPath(points, smooth);
|
|
118
|
+
const color = dataset.color ?? DEFAULT_COLORS[di % DEFAULT_COLORS.length];
|
|
119
|
+
return (_jsxs("g", { children: [_jsx("path", { d: pathD, fill: "none", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: animated ? { strokeDasharray: 2000, strokeDashoffset: mounted ? 0 : 2000, transition: 'stroke-dashoffset 1s ease' } : undefined }), points.map((p, pi) => (_jsx("circle", { cx: p.x, cy: p.y, r: 3, fill: color, style: animated ? { opacity: mounted ? 1 : 0, transition: `opacity 0.5s ease ${pi * 0.05}s` } : undefined }, pi)))] }, di));
|
|
120
|
+
}), hoveredCol !== null && (() => {
|
|
121
|
+
const x = toPoint(0, hoveredCol).x;
|
|
122
|
+
const vals = datasets.map((ds) => ({ val: ds.data[hoveredCol], color: ds.color ?? DEFAULT_COLORS[datasets.indexOf(ds) % DEFAULT_COLORS.length], label: ds.label }));
|
|
123
|
+
const firstVal = vals[0];
|
|
124
|
+
if (!firstVal || firstVal.val === undefined)
|
|
125
|
+
return null;
|
|
126
|
+
const y = toPoint(firstVal.val, hoveredCol).y;
|
|
127
|
+
const isMulti = vals.length > 1;
|
|
128
|
+
return (_jsxs("g", { style: { pointerEvents: 'none' }, children: [_jsx("line", { x1: x, x2: x, y1: 0, y2: chartH, stroke: "var(--tokis-color-border)", strokeWidth: "1", strokeDasharray: "3,3" }), vals.map(({ val, color }, vi) => {
|
|
129
|
+
if (val === undefined)
|
|
130
|
+
return null;
|
|
131
|
+
const py = toPoint(val, hoveredCol).y;
|
|
132
|
+
return _jsx("circle", { cx: x, cy: py, r: 4, fill: color, stroke: "#fff", strokeWidth: "1.5" }, vi);
|
|
133
|
+
}), !isMulti && ((() => {
|
|
134
|
+
const txt = String(firstVal.val);
|
|
135
|
+
const tw = Math.max(36, txt.length * 7 + 16);
|
|
136
|
+
const tipX = Math.min(Math.max(x, tw / 2 + 2), chartW - tw / 2 - 2);
|
|
137
|
+
const tipY = Math.max(4, y - 30);
|
|
138
|
+
return (_jsxs("g", { children: [_jsx("rect", { x: tipX - tw / 2, y: tipY, width: tw, height: 20, rx: 4, fill: "rgba(17,24,39,0.92)" }), _jsx("text", { x: tipX, y: tipY + 13, fontSize: "10", textAnchor: "middle", fill: "#fff", fontWeight: "600", children: txt })] }));
|
|
139
|
+
})()), isMulti && ((() => {
|
|
140
|
+
const lines = vals.filter(v => v.val !== undefined);
|
|
141
|
+
const tw = 90;
|
|
142
|
+
const th = lines.length * 16 + 8;
|
|
143
|
+
const tipX = Math.min(Math.max(x + 8, tw / 2 + 2), chartW - tw / 2 - 2);
|
|
144
|
+
const tipY = Math.max(4, Math.min(y - th / 2, chartH - th - 4));
|
|
145
|
+
return (_jsxs("g", { children: [_jsx("rect", { x: tipX - tw / 2, y: tipY, width: tw, height: th, rx: 4, fill: "rgba(17,24,39,0.92)" }), lines.map(({ val, color, label }, li) => (_jsxs("g", { children: [_jsx("circle", { cx: tipX - tw / 2 + 10, cy: tipY + 12 + li * 16, r: 3, fill: color }), _jsxs("text", { x: tipX - tw / 2 + 18, y: tipY + 16 + li * 16, fontSize: "10", fill: "#fff", children: [label, ": ", val] })] }, li)))] }));
|
|
146
|
+
})())] }));
|
|
147
|
+
})()] }) }), datasets.length > 1 && (_jsx("div", { className: "tokis-chart__legend", children: datasets.map((d, i) => (_jsxs("span", { className: "tokis-chart__legend-item", children: [_jsx("span", { className: "tokis-chart__legend-dot", style: { background: d.color ?? DEFAULT_COLORS[i % DEFAULT_COLORS.length] } }), d.label] }, i))) }))] }));
|
|
148
|
+
}
|
|
149
|
+
LineChart.displayName = 'LineChart';
|
|
150
|
+
export function PieChart({ data, donut = false, size = 200, animated = true, showLegend = true, className, }) {
|
|
151
|
+
const [mounted, setMounted] = useState(false);
|
|
152
|
+
useEffect(() => { if (animated)
|
|
153
|
+
setTimeout(() => setMounted(true), 50); }, [animated]);
|
|
154
|
+
const [hovered, setHovered] = useState(null);
|
|
155
|
+
const total = data.reduce((s, d) => s + d.value, 0) || 1;
|
|
156
|
+
const cx = size / 2;
|
|
157
|
+
const cy = size / 2;
|
|
158
|
+
const r = (size / 2) * 0.78;
|
|
159
|
+
const innerR = donut ? r * 0.55 : 0;
|
|
160
|
+
let cumAngle = -Math.PI / 2;
|
|
161
|
+
const slices = data.map((d, i) => {
|
|
162
|
+
const angle = (d.value / total) * Math.PI * 2;
|
|
163
|
+
const startAngle = cumAngle;
|
|
164
|
+
cumAngle += angle;
|
|
165
|
+
const endAngle = cumAngle;
|
|
166
|
+
const expand = hovered === i ? 6 : 0;
|
|
167
|
+
const midAngle = startAngle + angle / 2;
|
|
168
|
+
const offsetX = expand * Math.cos(midAngle);
|
|
169
|
+
const offsetY = expand * Math.sin(midAngle);
|
|
170
|
+
const x1 = cx + offsetX + r * Math.cos(startAngle);
|
|
171
|
+
const y1 = cy + offsetY + r * Math.sin(startAngle);
|
|
172
|
+
const x2 = cx + offsetX + r * Math.cos(endAngle);
|
|
173
|
+
const y2 = cy + offsetY + r * Math.sin(endAngle);
|
|
174
|
+
const ix1 = cx + offsetX + innerR * Math.cos(endAngle);
|
|
175
|
+
const iy1 = cy + offsetY + innerR * Math.sin(endAngle);
|
|
176
|
+
const ix2 = cx + offsetX + innerR * Math.cos(startAngle);
|
|
177
|
+
const iy2 = cy + offsetY + innerR * Math.sin(startAngle);
|
|
178
|
+
const largeArc = angle > Math.PI ? 1 : 0;
|
|
179
|
+
const pathD = donut
|
|
180
|
+
? `M${x1},${y1} A${r},${r} 0 ${largeArc},1 ${x2},${y2} L${ix1},${iy1} A${innerR},${innerR} 0 ${largeArc},0 ${ix2},${iy2} Z`
|
|
181
|
+
: `M${cx + offsetX},${cy + offsetY} L${x1},${y1} A${r},${r} 0 ${largeArc},1 ${x2},${y2} Z`;
|
|
182
|
+
return { ...d, pathD, color: d.color ?? DEFAULT_COLORS[i % DEFAULT_COLORS.length] };
|
|
183
|
+
});
|
|
184
|
+
return (_jsxs("div", { className: cn('tokis-chart tokis-chart--pie', className), children: [_jsx("svg", { width: size, height: size, "aria-label": "Pie chart", children: slices.map((s, i) => (_jsx("path", { d: s.pathD, fill: s.color, style: { opacity: mounted || !animated ? 1 : 0, transition: animated ? `opacity 0.4s ease ${i * 0.07}s` : undefined, cursor: 'pointer' }, onMouseEnter: () => setHovered(i), onMouseLeave: () => setHovered(null), children: _jsxs("title", { children: [s.label, ": ", s.value, " (", ((s.value / total) * 100).toFixed(1), "%)"] }) }, i))) }), showLegend && (_jsx("div", { className: "tokis-chart__legend", children: slices.map((s, i) => (_jsxs("span", { className: "tokis-chart__legend-item", children: [_jsx("span", { className: "tokis-chart__legend-dot", style: { background: s.color } }), s.label] }, i))) }))] }));
|
|
185
|
+
}
|
|
186
|
+
PieChart.displayName = 'PieChart';
|
|
187
|
+
export function Sparkline({ data, type = 'line', width = 80, height = 24, color = 'var(--tokis-color-primary)', className, }) {
|
|
188
|
+
if (data.length < 2)
|
|
189
|
+
return _jsx("span", { className: cn('tokis-sparkline', className) });
|
|
190
|
+
const maxVal = Math.max(...data, 1);
|
|
191
|
+
const minVal = Math.min(...data);
|
|
192
|
+
const range = maxVal - minVal || 1;
|
|
193
|
+
const xStep = width / (data.length - 1);
|
|
194
|
+
const toX = (i) => i * xStep;
|
|
195
|
+
const toY = (v) => height - ((v - minVal) / range) * (height - 2) - 1;
|
|
196
|
+
if (type === 'bar') {
|
|
197
|
+
const bw = Math.max(1, (width / data.length) * 0.7);
|
|
198
|
+
return (_jsx("svg", { width: width, height: height, className: cn('tokis-sparkline', className), "aria-hidden": "true", children: data.map((v, i) => {
|
|
199
|
+
const bh = ((v - minVal) / range) * height;
|
|
200
|
+
return _jsx("rect", { x: i * (width / data.length), y: height - bh, width: bw, height: bh, fill: color, rx: 1 }, i);
|
|
201
|
+
}) }));
|
|
202
|
+
}
|
|
203
|
+
const points = data.map((v, i) => ({ x: toX(i), y: toY(v) }));
|
|
204
|
+
const lineD = points.map((p, i) => `${i === 0 ? 'M' : 'L'}${p.x},${p.y}`).join(' ');
|
|
205
|
+
const areaD = `${lineD} L${points[points.length - 1].x},${height} L${points[0].x},${height} Z`;
|
|
206
|
+
return (_jsxs("svg", { width: width, height: height, className: cn('tokis-sparkline', className), "aria-hidden": "true", children: [type === 'area' && _jsx("path", { d: areaD, fill: color, opacity: 0.2 }), _jsx("path", { d: lineD, fill: "none", stroke: color, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
207
|
+
}
|
|
208
|
+
Sparkline.displayName = 'Sparkline';
|
|
209
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/charts/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface CheckboxProps {
|
|
3
|
+
label?: React.ReactNode;
|
|
4
|
+
description?: string;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
defaultChecked?: boolean;
|
|
7
|
+
indeterminate?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
onChange?: (checked: boolean) => void;
|
|
10
|
+
id?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
value?: string;
|
|
13
|
+
className?: string;
|
|
14
|
+
'aria-label'?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function Checkbox({ label, description, checked, defaultChecked, indeterminate, disabled, onChange, id, name, value, className, 'aria-label': ariaLabel, }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,aAAqB,EAClE,QAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,GAChF,EAAE,aAAa,2CA8Cf"}
|