@nocoo/basalt 2.0.2 → 2.1.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/README.md +134 -15
- package/ai/COMPATIBILITY.md +180 -0
- package/ai/INTEGRATION.md +1760 -0
- package/ai/RECIPES.md +161 -0
- package/ai/USAGE.md +99 -0
- package/ai/registry.json +38099 -0
- package/ai/sources.json +10 -0
- package/dist/assets/brand-mark.d.ts +1 -0
- package/dist/assets/brand-mark.js +7 -0
- package/dist/assets/brand-mark.js.map +1 -0
- package/dist/charts/area.d.ts +58 -5
- package/dist/charts/area.js +20 -12
- package/dist/charts/area.js.map +1 -1
- package/dist/charts/bar.d.ts +54 -5
- package/dist/charts/bar.js +16 -10
- package/dist/charts/bar.js.map +1 -1
- package/dist/charts/bullet.d.ts +18 -1
- package/dist/charts/bullet.js +6 -3
- package/dist/charts/bullet.js.map +1 -1
- package/dist/charts/charts.d.ts +58 -5
- package/dist/charts/charts.js +13 -2
- package/dist/charts/charts.js.map +1 -1
- package/dist/charts/config.d.ts +7 -0
- package/dist/charts/config.js +5 -1
- package/dist/charts/config.js.map +1 -1
- package/dist/charts/custom-chart.d.ts +58 -5
- package/dist/charts/custom-chart.js +13 -2
- package/dist/charts/custom-chart.js.map +1 -1
- package/dist/charts/donut.d.ts +18 -1
- package/dist/charts/donut.js +6 -3
- package/dist/charts/donut.js.map +1 -1
- package/dist/charts/frame.d.ts +40 -3
- package/dist/charts/frame.js +55 -28
- package/dist/charts/frame.js.map +1 -1
- package/dist/charts/funnel.d.ts +18 -1
- package/dist/charts/funnel.js +5 -1
- package/dist/charts/funnel.js.map +1 -1
- package/dist/charts/gauge.d.ts +18 -1
- package/dist/charts/gauge.js +38 -20
- package/dist/charts/gauge.js.map +1 -1
- package/dist/charts/grouped-bar.d.ts +54 -5
- package/dist/charts/grouped-bar.js +16 -10
- package/dist/charts/grouped-bar.js.map +1 -1
- package/dist/charts/heatmap-calendar.d.ts +61 -0
- package/dist/charts/heatmap-calendar.js +287 -96
- package/dist/charts/heatmap-calendar.js.map +1 -1
- package/dist/charts/heatmap-matrix.d.ts +99 -0
- package/dist/charts/heatmap-matrix.js +249 -0
- package/dist/charts/heatmap-matrix.js.map +1 -0
- package/dist/charts/line.d.ts +66 -5
- package/dist/charts/line.js +37 -30
- package/dist/charts/line.js.map +1 -1
- package/dist/charts/palette.d.ts +1 -0
- package/dist/charts/palette.js +7 -1
- package/dist/charts/palette.js.map +1 -1
- package/dist/charts/radar.d.ts +18 -1
- package/dist/charts/radar.js +26 -19
- package/dist/charts/radar.js.map +1 -1
- package/dist/charts/sankey.d.ts +18 -1
- package/dist/charts/sankey.js +4 -1
- package/dist/charts/sankey.js.map +1 -1
- package/dist/charts/series.d.ts +5 -7
- package/dist/charts/series.js.map +1 -1
- package/dist/charts/slot-bar.d.ts +38 -6
- package/dist/charts/slot-bar.js +5 -2
- package/dist/charts/slot-bar.js.map +1 -1
- package/dist/charts/sparkline.d.ts +35 -5
- package/dist/charts/sparkline.js +22 -18
- package/dist/charts/sparkline.js.map +1 -1
- package/dist/charts/stacked-bar.d.ts +58 -5
- package/dist/charts/stacked-bar.js +19 -12
- package/dist/charts/stacked-bar.js.map +1 -1
- package/dist/charts/stat-card.d.ts +51 -1
- package/dist/charts/stat-card.js +66 -39
- package/dist/charts/stat-card.js.map +1 -1
- package/dist/charts/timeline.d.ts +3 -0
- package/dist/charts/timeline.js +4 -3
- package/dist/charts/timeline.js.map +1 -1
- package/dist/charts/timeseries.d.ts +58 -5
- package/dist/charts/timeseries.js +13 -2
- package/dist/charts/timeseries.js.map +1 -1
- package/dist/charts/tooltip.d.ts +57 -0
- package/dist/charts/tooltip.js +119 -2
- package/dist/charts/tooltip.js.map +1 -1
- package/dist/components/accordion.d.ts +117 -2
- package/dist/components/accordion.js +20 -13
- package/dist/components/accordion.js.map +1 -1
- package/dist/components/alert-dialog.d.ts +131 -13
- package/dist/components/alert-dialog.js +13 -10
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/app-header.js +18 -17
- package/dist/components/app-header.js.map +1 -1
- package/dist/components/app-shell.js +15 -14
- package/dist/components/app-shell.js.map +1 -1
- package/dist/components/autocomplete.d.ts +4 -0
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/avatar.d.ts +76 -3
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.d.ts +15 -1
- package/dist/components/badge.js +17 -16
- package/dist/components/badge.js.map +1 -1
- package/dist/components/banner.d.ts +88 -2
- package/dist/components/banner.js +41 -40
- package/dist/components/banner.js.map +1 -1
- package/dist/components/basalt-mark.js +14 -8
- package/dist/components/basalt-mark.js.map +1 -1
- package/dist/components/battery-meter.d.ts +10 -0
- package/dist/components/battery-meter.js +56 -0
- package/dist/components/battery-meter.js.map +1 -0
- package/dist/components/breadcrumbs.d.ts +27 -7
- package/dist/components/breadcrumbs.js +21 -20
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/button.d.ts +48 -2
- package/dist/components/button.js +87 -36
- package/dist/components/button.js.map +1 -1
- package/dist/components/chat-bubble.d.ts +24 -0
- package/dist/components/chat-bubble.js +26 -0
- package/dist/components/chat-bubble.js.map +1 -0
- package/dist/components/chat-composer.d.ts +45 -0
- package/dist/components/chat-composer.js +74 -0
- package/dist/components/chat-composer.js.map +1 -0
- package/dist/components/chat-header.d.ts +25 -0
- package/dist/components/chat-header.js +34 -0
- package/dist/components/chat-header.js.map +1 -0
- package/dist/components/chat-inbox.d.ts +33 -0
- package/dist/components/chat-inbox.js +44 -0
- package/dist/components/chat-inbox.js.map +1 -0
- package/dist/components/checkbox.js +84 -53
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/clipboard-text.d.ts +13 -2
- package/dist/components/clipboard-text.js +4 -4
- package/dist/components/clipboard-text.js.map +1 -1
- package/dist/components/collapsible.d.ts +58 -15
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/command-palette.d.ts +151 -61
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/confirm-dialog.d.ts +1 -1
- package/dist/components/confirm-dialog.js +6 -4
- package/dist/components/confirm-dialog.js.map +1 -1
- package/dist/components/context-menu.d.ts +210 -2
- package/dist/components/context-menu.js +7 -4
- package/dist/components/context-menu.js.map +1 -1
- package/dist/components/data-table.d.ts +40 -2
- package/dist/components/data-table.js +168 -120
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.d.ts +53 -2
- package/dist/components/date-picker.js +387 -219
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/delete-resource.d.ts +7 -1
- package/dist/components/delete-resource.js +22 -18
- package/dist/components/delete-resource.js.map +1 -1
- package/dist/components/description-list.js +16 -15
- package/dist/components/description-list.js.map +1 -1
- package/dist/components/dialog.d.ts +141 -12
- package/dist/components/dialog.js +43 -39
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/dock.d.ts +39 -0
- package/dist/components/dock.js +97 -0
- package/dist/components/dock.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +229 -15
- package/dist/components/dropdown-menu.js +9 -6
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/editable-nav-item.d.ts +33 -0
- package/dist/components/editable-nav-item.js +90 -0
- package/dist/components/editable-nav-item.js.map +1 -0
- package/dist/components/empty.d.ts +22 -2
- package/dist/components/empty.js +22 -13
- package/dist/components/empty.js.map +1 -1
- package/dist/components/fab.d.ts +23 -0
- package/dist/components/fab.js +25 -0
- package/dist/components/fab.js.map +1 -0
- package/dist/components/field.js +31 -30
- package/dist/components/field.js.map +1 -1
- package/dist/components/file-dropzone.d.ts +37 -0
- package/dist/components/file-dropzone.js +103 -0
- package/dist/components/file-dropzone.js.map +1 -0
- package/dist/components/filter-bar.d.ts +34 -0
- package/dist/components/filter-bar.js +52 -0
- package/dist/components/filter-bar.js.map +1 -0
- package/dist/components/flow.js +19 -18
- package/dist/components/flow.js.map +1 -1
- package/dist/components/grid.d.ts +3 -1
- package/dist/components/grid.js.map +1 -1
- package/dist/components/hover-card.d.ts +111 -1
- package/dist/components/hover-card.js +9 -6
- package/dist/components/hover-card.js.map +1 -1
- package/dist/components/icon-picker.d.ts +34 -0
- package/dist/components/icon-picker.js +77 -0
- package/dist/components/icon-picker.js.map +1 -0
- package/dist/components/inline-editable.d.ts +46 -0
- package/dist/components/inline-editable.js +124 -0
- package/dist/components/inline-editable.js.map +1 -0
- package/dist/components/input-area.js +3 -3
- package/dist/components/input-group.js +7 -7
- package/dist/components/input.js +3 -3
- package/dist/components/label.js +18 -17
- package/dist/components/label.js.map +1 -1
- package/dist/components/layer-card.d.ts +10 -2
- package/dist/components/layer-card.js +71 -68
- package/dist/components/layer-card.js.map +1 -1
- package/dist/components/loader.d.ts +10 -2
- package/dist/components/loader.js.map +1 -1
- package/dist/components/menu-bar.d.ts +174 -6
- package/dist/components/menu-bar.js +33 -29
- package/dist/components/menu-bar.js.map +1 -1
- package/dist/components/meter.d.ts +27 -2
- package/dist/components/meter.js.map +1 -1
- package/dist/components/multi-select.d.ts +64 -0
- package/dist/components/multi-select.js +218 -0
- package/dist/components/multi-select.js.map +1 -0
- package/dist/components/navigation-menu.d.ts +88 -5
- package/dist/components/navigation-menu.js.map +1 -1
- package/dist/components/overlay.js +6 -5
- package/dist/components/overlay.js.map +1 -1
- package/dist/components/page-header.js +23 -21
- package/dist/components/page-header.js.map +1 -1
- package/dist/components/pagination.js +7 -7
- package/dist/components/popover.d.ts +136 -16
- package/dist/components/popover.js +32 -28
- package/dist/components/popover.js.map +1 -1
- package/dist/components/radio.js +38 -37
- package/dist/components/radio.js.map +1 -1
- package/dist/components/resource-list.d.ts +26 -1
- package/dist/components/resource-list.js +28 -15
- package/dist/components/resource-list.js.map +1 -1
- package/dist/components/responsive-master-detail.d.ts +27 -0
- package/dist/components/responsive-master-detail.js +85 -0
- package/dist/components/responsive-master-detail.js.map +1 -0
- package/dist/components/section-rule.js +23 -22
- package/dist/components/section-rule.js.map +1 -1
- package/dist/components/select.d.ts +27 -3
- package/dist/components/select.js +11 -11
- package/dist/components/select.js.map +1 -1
- package/dist/components/sheet.d.ts +115 -11
- package/dist/components/sheet.js +37 -30
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.d.ts +109 -17
- package/dist/components/sidebar.js +109 -108
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/skeleton-line.d.ts +22 -2
- package/dist/components/skeleton-line.js.map +1 -1
- package/dist/components/slider.d.ts +61 -1
- package/dist/components/slider.js +31 -15
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stat-strip.js +16 -15
- package/dist/components/stat-strip.js.map +1 -1
- package/dist/components/switch.js +78 -47
- package/dist/components/switch.js.map +1 -1
- package/dist/components/table-of-contents.js +18 -17
- package/dist/components/table-of-contents.js.map +1 -1
- package/dist/components/table-pager.js +20 -19
- package/dist/components/table-pager.js.map +1 -1
- package/dist/components/table.d.ts +9 -3
- package/dist/components/table.js +19 -18
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js +29 -22
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-badge.d.ts +58 -0
- package/dist/components/tag-badge.js +72 -0
- package/dist/components/tag-badge.js.map +1 -0
- package/dist/components/tag-color-picker.d.ts +20 -0
- package/dist/components/tag-color-picker.js +42 -0
- package/dist/components/tag-color-picker.js.map +1 -0
- package/dist/components/text.js +17 -16
- package/dist/components/text.js.map +1 -1
- package/dist/components/toast.d.ts +173 -3
- package/dist/components/toast.js +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.d.ts +88 -2
- package/dist/components/toggle-group.js +32 -31
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.d.ts +35 -2
- package/dist/components/toggle.js +12 -11
- package/dist/components/toggle.js.map +1 -1
- package/dist/components/tooltip.d.ts +144 -6
- package/dist/components/tooltip.js +9 -6
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/typeahead-field.js +193 -132
- package/dist/components/typeahead-field.js.map +1 -1
- package/dist/components/upload-queue.d.ts +51 -0
- package/dist/components/upload-queue.js +116 -0
- package/dist/components/upload-queue.js.map +1 -0
- package/dist/providers/accent.d.ts +46 -2
- package/dist/providers/accent.js +358 -172
- package/dist/providers/accent.js.map +1 -1
- package/dist/providers/link.d.ts +14 -4
- package/dist/providers/link.js.map +1 -1
- package/dist/providers/theme.d.ts +38 -2
- package/dist/providers/theme.js +160 -27
- package/dist/providers/theme.js.map +1 -1
- package/dist/styles/base.css +83 -0
- package/dist/styles/standalone.css +820 -120
- package/dist/styles/tailwind.css +21 -7
- package/dist/styles/tokens.css +146 -91
- package/dist/utils/control-surface.d.ts +2 -1
- package/dist/utils/control-surface.js +4 -4
- package/dist/utils/control-surface.js.map +1 -1
- package/dist/utils/selection-indicator.js +2 -2
- package/dist/utils/selection-indicator.js.map +1 -1
- package/package.json +8 -4
package/ai/sources.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"packages/basalt/src/charts/chart-colors.tsx": {
|
|
3
|
+
"content": "export type ColorsProps = {\n\tariaLabel?: string;\n};\n\nexport { CHART_COLORS, ChartPalette as Colors } from \"./palette\";\n",
|
|
4
|
+
"hash": "a227003ef4032c2c"
|
|
5
|
+
},
|
|
6
|
+
"packages/basalt/src/index.ts": {
|
|
7
|
+
"content": "export {\n\tAlertDialog,\n\tAlertDialogAction,\n\tAlertDialogCancel,\n\tAlertDialogContent,\n\tAlertDialogDescription,\n\tAlertDialogFooter,\n\tAlertDialogHeader,\n\tAlertDialogTitle,\n\tAlertDialogTrigger,\n} from \"./components/alert-dialog\";\nexport { Avatar, AvatarFallback, AvatarImage } from \"./components/avatar\";\nexport { Badge } from \"./components/badge\";\nexport { Button } from \"./components/button\";\nexport { Checkbox } from \"./components/checkbox\";\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"./components/collapsible\";\nexport {\n\tCommandEmpty,\n\tCommandGroup,\n\tCommandInput,\n\tCommandItem,\n\tCommandList,\n\tCommandPalette,\n\tCommandPaletteTrigger,\n\tCommandSeparator,\n\tCommandShortcut,\n} from \"./components/command-palette\";\nexport { ConfirmDialog, useConfirm } from \"./components/confirm-dialog\";\nexport { DescriptionList } from \"./components/description-list\";\nexport {\n\tDialog,\n\tDialogClose,\n\tDialogContent,\n\tDialogDescription,\n\tDialogFooter,\n\tDialogHeader,\n\tDialogTitle,\n\tDialogTrigger,\n} from \"./components/dialog\";\nexport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuTrigger,\n} from \"./components/dropdown-menu\";\nexport { Field } from \"./components/field\";\nexport { Input } from \"./components/input\";\nexport { Label } from \"./components/label\";\nexport { LayerCard } from \"./components/layer-card\";\nexport { Link } from \"./components/link\";\nexport { Meter } from \"./components/meter\";\nexport {\n\tPopover,\n\tPopoverClose,\n\tPopoverContent,\n\tPopoverDescription,\n\tPopoverTitle,\n\tPopoverTrigger,\n} from \"./components/popover\";\nexport { ScrollArea } from \"./components/scroll-area\";\nexport { SegmentControl } from \"./components/segment-control\";\nexport { Separator } from \"./components/separator\";\nexport {\n\tSheet,\n\tSheetClose,\n\tSheetContent,\n\tSheetDescription,\n\tSheetFooter,\n\tSheetHeader,\n\tSheetTitle,\n\tSheetTrigger,\n} from \"./components/sheet\";\nexport {\n\tContentIsland,\n\tSidebar,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarHeader,\n\tSidebarIconItem,\n\tSidebarItem,\n\tSidebarNav,\n\tSidebarPartition,\n\tSidebarProvider,\n\tSidebarSearch,\n\tSidebarUser,\n} from \"./components/sidebar\";\nexport { StatStrip } from \"./components/stat-strip\";\nexport { Switch } from \"./components/switch\";\nexport { TablePager } from \"./components/table-pager\";\nexport { Tabs, TabsContent, TabsList, TabsTrigger } from \"./components/tabs\";\nexport { Text } from \"./components/text\";\nexport { ThemeToggle } from \"./components/theme-toggle\";\nexport { Toast, Toaster, toast } from \"./components/toast\";\nexport { Toolbar } from \"./components/toolbar\";\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"./components/tooltip\";\nexport { LinkProvider } from \"./providers/link\";\nexport { ThemeProvider } from \"./providers/theme\";\n",
|
|
8
|
+
"hash": "aad8d28800c9ac1d"
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const basaltMarkPng = "data:image/png;base64,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";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/assets/brand-mark.ts
|
|
3
|
+
var e = "data:image/png;base64,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";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { e as basaltMarkPng };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=brand-mark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand-mark.js","names":[],"sources":["../../src/assets/brand-mark.ts"],"sourcesContent":["export const basaltMarkPng =\n\t\"data:image/png;base64,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\";\n"],"mappings":";;AAAA,IAAa,IACZ"}
|
package/dist/charts/area.d.ts
CHANGED
|
@@ -1,12 +1,65 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { LineChartAxisDomain, LineChartLegendRenderer, LineChartNumericKeys, LineChartTooltipRenderer } from "./line.js";
|
|
3
|
+
import { type ChartSeriesDescriptor, type XYPoint } from "./series.js";
|
|
4
|
+
export type AreaChartProps<TData extends {
|
|
5
|
+
x: string | number;
|
|
6
|
+
} = XYPoint, K extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string> = {
|
|
7
|
+
/**
|
|
8
|
+
* Dataset array where each record requires an `x` category or time coordinate.
|
|
9
|
+
* Any remaining fields with numeric, nullable, or optional number values are inferred as valid series keys.
|
|
10
|
+
*/
|
|
11
|
+
data: TData[];
|
|
12
|
+
/**
|
|
13
|
+
* Series descriptors identifying which numeric keys to plot.
|
|
14
|
+
* Inferred strictly from numeric keys of `TData` (rejects non-numeric fields, `x`, and typos).
|
|
15
|
+
*/
|
|
16
|
+
series?: Array<ChartSeriesDescriptor<NoInfer<K>>>;
|
|
5
17
|
ariaLabel?: string;
|
|
6
18
|
className?: string;
|
|
7
19
|
showAxes?: boolean;
|
|
8
20
|
showLegend?: boolean;
|
|
9
21
|
stacked?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Stacking offset algorithm (e.g. "expand" for 100% normalized percentage area stacks).
|
|
24
|
+
*/
|
|
25
|
+
stackOffset?: "none" | "expand" | "wiggle" | "silhouette";
|
|
26
|
+
/**
|
|
27
|
+
* Value formatter for Y-axis tick values and fallback tooltip values.
|
|
28
|
+
*/
|
|
10
29
|
valueFormatter?: (value: number) => string;
|
|
30
|
+
/**
|
|
31
|
+
* Formatter for X-axis category or time tick labels.
|
|
32
|
+
*/
|
|
33
|
+
xValueFormatter?: (value: string | number) => string;
|
|
34
|
+
/**
|
|
35
|
+
* Custom numerical or keyword bounds for the Y-axis.
|
|
36
|
+
*/
|
|
37
|
+
yDomain?: LineChartAxisDomain;
|
|
38
|
+
/**
|
|
39
|
+
* Custom legend slot or render function receiving resolved series descriptors.
|
|
40
|
+
*/
|
|
41
|
+
legend?: ReactNode | LineChartLegendRenderer<K>;
|
|
42
|
+
/**
|
|
43
|
+
* Custom tooltip content renderer receiving Recharts payload, active status, and coordinate label.
|
|
44
|
+
*/
|
|
45
|
+
customTooltip?: LineChartTooltipRenderer;
|
|
46
|
+
/**
|
|
47
|
+
* Textual summary describing key insights, highs, lows, and keyboard exploration instructions.
|
|
48
|
+
* Associated with the chart via useId and aria-describedby.
|
|
49
|
+
*/
|
|
50
|
+
summary?: ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Accessible tabular or structured data alternative rendered outside the plot area.
|
|
53
|
+
*/
|
|
54
|
+
dataAlternative?: ReactNode;
|
|
55
|
+
/**
|
|
56
|
+
* Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.
|
|
57
|
+
* Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.
|
|
58
|
+
* Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
accessibilityLayer?: boolean;
|
|
11
62
|
};
|
|
12
|
-
export declare function AreaChart
|
|
63
|
+
export declare function AreaChart<TData extends {
|
|
64
|
+
x: string | number;
|
|
65
|
+
} = XYPoint, K extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string>({ data, series, ariaLabel, className, showAxes, showLegend, stacked, stackOffset, valueFormatter, xValueFormatter, yDomain, legend, customTooltip, summary, dataAlternative, accessibilityLayer, }: AreaChartProps<TData, K>): import("react").JSX.Element;
|
package/dist/charts/area.js
CHANGED
|
@@ -6,39 +6,47 @@ import { ChartLegend as d } from "./legend.js";
|
|
|
6
6
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
import { Area as m, AreaChart as h, CartesianGrid as g, Tooltip as _, XAxis as v, YAxis as y } from "recharts";
|
|
8
8
|
//#region src/charts/area.tsx
|
|
9
|
-
function b({ data: b, series: x, ariaLabel: S = "Area chart", className: C, showAxes: w = !1, showLegend: T = !1, stacked: E = !1,
|
|
10
|
-
let
|
|
9
|
+
function b({ data: b, series: x, ariaLabel: S = "Area chart", className: C, showAxes: w = !1, showLegend: T = !1, stacked: E = !1, stackOffset: D, valueFormatter: O, xValueFormatter: k, yDomain: A, legend: j, customTooltip: M, summary: N, dataAlternative: P, accessibilityLayer: F }) {
|
|
10
|
+
let I = c(x, l(b)), L = E || D ? "stack" : void 0, R = j === void 0 ? T ? /* @__PURE__ */ f(d, {
|
|
11
|
+
items: I,
|
|
12
|
+
shape: "area"
|
|
13
|
+
}) : void 0 : typeof j == "function" ? j({ items: I }) : j;
|
|
11
14
|
return /* @__PURE__ */ f(u, {
|
|
12
15
|
ariaLabel: S,
|
|
13
16
|
className: C,
|
|
14
|
-
legend:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
legend: R,
|
|
18
|
+
summary: N,
|
|
19
|
+
dataAlternative: P,
|
|
20
|
+
accessibilityLayer: F,
|
|
18
21
|
children: /* @__PURE__ */ p(h, {
|
|
19
22
|
data: b,
|
|
20
23
|
margin: w ? t : n,
|
|
24
|
+
stackOffset: D,
|
|
21
25
|
children: [
|
|
22
26
|
w ? /* @__PURE__ */ f(g, { ...i }) : null,
|
|
23
27
|
/* @__PURE__ */ f(v, {
|
|
24
28
|
dataKey: "x",
|
|
25
|
-
...a(!w)
|
|
29
|
+
...a(!w),
|
|
30
|
+
tickFormatter: k
|
|
26
31
|
}),
|
|
27
32
|
/* @__PURE__ */ f(y, {
|
|
28
33
|
...a(!w),
|
|
29
|
-
tickFormatter:
|
|
34
|
+
tickFormatter: O,
|
|
35
|
+
...A ? { domain: A } : {}
|
|
30
36
|
}),
|
|
31
37
|
/* @__PURE__ */ f(_, { ...o({
|
|
32
|
-
formatter:
|
|
33
|
-
cursor: "line"
|
|
38
|
+
formatter: O,
|
|
39
|
+
cursor: "line",
|
|
40
|
+
customTooltip: M
|
|
34
41
|
}) }),
|
|
35
|
-
|
|
42
|
+
I.map((t, n) => {
|
|
36
43
|
let i = s(t, n);
|
|
37
44
|
return /* @__PURE__ */ f(m, {
|
|
38
45
|
dataKey: t.key,
|
|
39
46
|
name: t.label ?? t.key,
|
|
40
|
-
stackId:
|
|
47
|
+
stackId: L,
|
|
41
48
|
stroke: i,
|
|
49
|
+
strokeWidth: r.strokeWidth,
|
|
42
50
|
fill: i,
|
|
43
51
|
fillOpacity: r.areaFillAlpha,
|
|
44
52
|
...e
|
package/dist/charts/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"area.js","names":[],"sources":["../../src/charts/area.tsx"],"sourcesContent":["import { Area, CartesianGrid, AreaChart as RechartsArea, Tooltip, XAxis, YAxis } from \"recharts\";\nimport {\n\tANIMATION_PROPS,\n\tCHART_PLOT_MARGIN,\n\tCHART_PLOT_MARGIN_BARE,\n\tCHART_TYPE,\n\tcartesianAxisProps,\n\tchartTooltipProps,\n\tGRID_PROPS,\n\tseriesColor,\n} from \"./config\";\nimport { ChartShell } from \"./frame\";\nimport { ChartLegend } from \"./legend\";\nimport {\n\
|
|
1
|
+
{"version":3,"file":"area.js","names":[],"sources":["../../src/charts/area.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Area, CartesianGrid, AreaChart as RechartsArea, Tooltip, XAxis, YAxis } from \"recharts\";\nimport {\n\tANIMATION_PROPS,\n\tCHART_PLOT_MARGIN,\n\tCHART_PLOT_MARGIN_BARE,\n\tCHART_TYPE,\n\tcartesianAxisProps,\n\tchartTooltipProps,\n\tGRID_PROPS,\n\tseriesColor,\n} from \"./config\";\nimport { ChartShell } from \"./frame\";\nimport { ChartLegend } from \"./legend\";\nimport type {\n\tLineChartAxisDomain,\n\tLineChartLegendRenderer,\n\tLineChartNumericKeys,\n\tLineChartTooltipRenderer,\n} from \"./line\";\nimport {\n\ttype ChartSeriesDescriptor,\n\tresolveChartSeries,\n\ttype XYPoint,\n\txyFallbackKeys,\n} from \"./series\";\n\nexport type AreaChartProps<\n\tTData extends { x: string | number } = XYPoint,\n\tK extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string,\n> = {\n\t/**\n\t * Dataset array where each record requires an `x` category or time coordinate.\n\t * Any remaining fields with numeric, nullable, or optional number values are inferred as valid series keys.\n\t */\n\tdata: TData[];\n\t/**\n\t * Series descriptors identifying which numeric keys to plot.\n\t * Inferred strictly from numeric keys of `TData` (rejects non-numeric fields, `x`, and typos).\n\t */\n\tseries?: Array<ChartSeriesDescriptor<NoInfer<K>>>;\n\tariaLabel?: string;\n\tclassName?: string;\n\tshowAxes?: boolean;\n\tshowLegend?: boolean;\n\tstacked?: boolean;\n\t/**\n\t * Stacking offset algorithm (e.g. \"expand\" for 100% normalized percentage area stacks).\n\t */\n\tstackOffset?: \"none\" | \"expand\" | \"wiggle\" | \"silhouette\";\n\t/**\n\t * Value formatter for Y-axis tick values and fallback tooltip values.\n\t */\n\tvalueFormatter?: (value: number) => string;\n\t/**\n\t * Formatter for X-axis category or time tick labels.\n\t */\n\txValueFormatter?: (value: string | number) => string;\n\t/**\n\t * Custom numerical or keyword bounds for the Y-axis.\n\t */\n\tyDomain?: LineChartAxisDomain;\n\t/**\n\t * Custom legend slot or render function receiving resolved series descriptors.\n\t */\n\tlegend?: ReactNode | LineChartLegendRenderer<K>;\n\t/**\n\t * Custom tooltip content renderer receiving Recharts payload, active status, and coordinate label.\n\t */\n\tcustomTooltip?: LineChartTooltipRenderer;\n\t/**\n\t * Textual summary describing key insights, highs, lows, and keyboard exploration instructions.\n\t * Associated with the chart via useId and aria-describedby.\n\t */\n\tsummary?: ReactNode;\n\t/**\n\t * Accessible tabular or structured data alternative rendered outside the plot area.\n\t */\n\tdataAlternative?: ReactNode;\n\t/**\n\t * Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.\n\t * Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.\n\t * Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.\n\t * @default true\n\t */\n\taccessibilityLayer?: boolean;\n};\n\nexport function AreaChart<\n\tTData extends { x: string | number } = XYPoint,\n\tK extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string,\n>({\n\tdata,\n\tseries,\n\tariaLabel = \"Area chart\",\n\tclassName,\n\tshowAxes = false,\n\tshowLegend = false,\n\tstacked = false,\n\tstackOffset,\n\tvalueFormatter,\n\txValueFormatter,\n\tyDomain,\n\tlegend,\n\tcustomTooltip,\n\tsummary,\n\tdataAlternative,\n\taccessibilityLayer,\n}: AreaChartProps<TData, K>) {\n\tconst areas = resolveChartSeries(\n\t\tseries,\n\t\txyFallbackKeys(data as unknown as Array<{ y2?: number; y3?: number }>) as K[],\n\t);\n\tconst stackId = stacked || stackOffset ? \"stack\" : undefined;\n\tconst resolvedLegend =\n\t\tlegend !== undefined ? (\n\t\t\ttypeof legend === \"function\" ? (\n\t\t\t\tlegend({ items: areas })\n\t\t\t) : (\n\t\t\t\tlegend\n\t\t\t)\n\t\t) : showLegend ? (\n\t\t\t<ChartLegend items={areas} shape=\"area\" />\n\t\t) : undefined;\n\n\treturn (\n\t\t<ChartShell\n\t\t\tariaLabel={ariaLabel}\n\t\t\tclassName={className}\n\t\t\tlegend={resolvedLegend}\n\t\t\tsummary={summary}\n\t\t\tdataAlternative={dataAlternative}\n\t\t\taccessibilityLayer={accessibilityLayer}\n\t\t>\n\t\t\t<RechartsArea\n\t\t\t\tdata={data}\n\t\t\t\tmargin={showAxes ? CHART_PLOT_MARGIN : CHART_PLOT_MARGIN_BARE}\n\t\t\t\tstackOffset={stackOffset}\n\t\t\t>\n\t\t\t\t{showAxes ? <CartesianGrid {...GRID_PROPS} /> : null}\n\t\t\t\t<XAxis dataKey=\"x\" {...cartesianAxisProps(!showAxes)} tickFormatter={xValueFormatter} />\n\t\t\t\t<YAxis\n\t\t\t\t\t{...cartesianAxisProps(!showAxes)}\n\t\t\t\t\ttickFormatter={valueFormatter}\n\t\t\t\t\t{...(yDomain ? { domain: yDomain as [number, number] } : {})}\n\t\t\t\t/>\n\t\t\t\t<Tooltip\n\t\t\t\t\t{...chartTooltipProps({\n\t\t\t\t\t\tformatter: valueFormatter,\n\t\t\t\t\t\tcursor: \"line\",\n\t\t\t\t\t\tcustomTooltip,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t\t{areas.map((item, index) => {\n\t\t\t\t\tconst fill = seriesColor(item, index);\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Area\n\t\t\t\t\t\t\tkey={item.key}\n\t\t\t\t\t\t\tdataKey={item.key}\n\t\t\t\t\t\t\tname={item.label ?? item.key}\n\t\t\t\t\t\t\tstackId={stackId}\n\t\t\t\t\t\t\tstroke={fill}\n\t\t\t\t\t\t\tstrokeWidth={CHART_TYPE.strokeWidth}\n\t\t\t\t\t\t\tfill={fill}\n\t\t\t\t\t\t\tfillOpacity={CHART_TYPE.areaFillAlpha}\n\t\t\t\t\t\t\t{...ANIMATION_PROPS}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</RechartsArea>\n\t\t</ChartShell>\n\t);\n}\n"],"mappings":";;;;;;;;AAwFA,SAAgB,EAGd,EACD,SACA,WACA,eAAY,cACZ,cACA,cAAW,IACX,gBAAa,IACb,aAAU,IACV,gBACA,mBACA,oBACA,YACA,WACA,kBACA,YACA,oBACA,yBAC4B;CAC5B,IAAM,IAAQ,EACb,GACA,EAAe,CAAsD,CACtE,GACM,IAAU,KAAW,IAAc,UAAU,KAAA,GAC7C,IACL,MAAW,KAAA,IAMP,IACH,kBAAC,GAAD;EAAa,OAAO;EAAO,OAAM;CAAQ,CAAA,IACtC,KAAA,IAPH,OAAO,KAAW,aACjB,EAAO,EAAE,OAAO,EAAM,CAAC,IAEvB;CAMH,OACC,kBAAC,GAAD;EACY;EACA;EACX,QAAQ;EACC;EACQ;EACG;EAEpB,UAAA,kBAAC,GAAD;GACO;GACN,QAAQ,IAAW,IAAoB;GAC1B;GAHd,UAAA;IAKE,IAAW,kBAAC,GAAD,EAAe,GAAI,EAAa,CAAA,IAAI;IAChD,kBAAC,GAAD;KAAO,SAAQ;KAAI,GAAI,EAAmB,CAAC,CAAQ;KAAG,eAAe;IAAkB,CAAA;IACvF,kBAAC,GAAD;KACC,GAAI,EAAmB,CAAC,CAAQ;KAChC,eAAe;KACf,GAAK,IAAU,EAAE,QAAQ,EAA4B,IAAI,CAAC;IAC1D,CAAA;IACD,kBAAC,GAAD,EACC,GAAI,EAAkB;KACrB,WAAW;KACX,QAAQ;KACR;IACD,CAAC,EACD,CAAA;IACA,EAAM,KAAK,GAAM,MAAU;KAC3B,IAAM,IAAO,EAAY,GAAM,CAAK;KACpC,OACC,kBAAC,GAAD;MAEC,SAAS,EAAK;MACd,MAAM,EAAK,SAAS,EAAK;MAChB;MACT,QAAQ;MACR,aAAa,EAAW;MAClB;MACN,aAAa,EAAW;MACxB,GAAI;KACJ,GATK,EAAK,GASV;IAEH,CAAC;GACY;;CACH,CAAA;AAEd"}
|
package/dist/charts/bar.d.ts
CHANGED
|
@@ -1,12 +1,61 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { LineChartAxisDomain, LineChartLegendRenderer, LineChartNumericKeys, LineChartTooltipRenderer } from "./line.js";
|
|
3
|
+
import { type ChartSeriesDescriptor, type XYPoint } from "./series.js";
|
|
4
|
+
export type BarChartProps<TData extends {
|
|
5
|
+
x: string | number;
|
|
6
|
+
} = XYPoint, K extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string> = {
|
|
7
|
+
/**
|
|
8
|
+
* Dataset array where each record requires an `x` category or time coordinate.
|
|
9
|
+
* Any remaining fields with numeric, nullable, or optional number values are inferred as valid series keys.
|
|
10
|
+
*/
|
|
11
|
+
data: TData[];
|
|
12
|
+
/**
|
|
13
|
+
* Series descriptors identifying which numeric keys to plot.
|
|
14
|
+
* Inferred strictly from numeric keys of `TData` (rejects non-numeric fields, `x`, and typos).
|
|
15
|
+
*/
|
|
16
|
+
series?: Array<ChartSeriesDescriptor<NoInfer<K>>>;
|
|
5
17
|
ariaLabel?: string;
|
|
6
18
|
className?: string;
|
|
7
19
|
showAxes?: boolean;
|
|
8
20
|
showLegend?: boolean;
|
|
9
21
|
color?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Value formatter for Y-axis tick values and fallback tooltip values.
|
|
24
|
+
*/
|
|
10
25
|
valueFormatter?: (value: number) => string;
|
|
26
|
+
/**
|
|
27
|
+
* Formatter for X-axis category or time tick labels.
|
|
28
|
+
*/
|
|
29
|
+
xValueFormatter?: (value: string | number) => string;
|
|
30
|
+
/**
|
|
31
|
+
* Custom numerical or keyword bounds for the Y-axis.
|
|
32
|
+
*/
|
|
33
|
+
yDomain?: LineChartAxisDomain;
|
|
34
|
+
/**
|
|
35
|
+
* Custom legend slot or render function receiving resolved series descriptors.
|
|
36
|
+
*/
|
|
37
|
+
legend?: ReactNode | LineChartLegendRenderer<K>;
|
|
38
|
+
/**
|
|
39
|
+
* Custom tooltip content renderer receiving Recharts payload, active status, and coordinate label.
|
|
40
|
+
*/
|
|
41
|
+
customTooltip?: LineChartTooltipRenderer;
|
|
42
|
+
/**
|
|
43
|
+
* Textual summary describing key insights, highs, lows, and keyboard exploration instructions.
|
|
44
|
+
* Associated with the chart via useId and aria-describedby.
|
|
45
|
+
*/
|
|
46
|
+
summary?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Accessible tabular or structured data alternative rendered outside the plot area.
|
|
49
|
+
*/
|
|
50
|
+
dataAlternative?: ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.
|
|
53
|
+
* Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.
|
|
54
|
+
* Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.
|
|
55
|
+
* @default true
|
|
56
|
+
*/
|
|
57
|
+
accessibilityLayer?: boolean;
|
|
11
58
|
};
|
|
12
|
-
export declare function BarChart
|
|
59
|
+
export declare function BarChart<TData extends {
|
|
60
|
+
x: string | number;
|
|
61
|
+
} = XYPoint, K extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string>({ data, series, ariaLabel, className, showAxes, showLegend, color, valueFormatter, xValueFormatter, yDomain, legend, customTooltip, summary, dataAlternative, accessibilityLayer, }: BarChartProps<TData, K>): import("react").JSX.Element;
|
package/dist/charts/bar.js
CHANGED
|
@@ -6,15 +6,18 @@ import { ChartLegend as d } from "./legend.js";
|
|
|
6
6
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
7
7
|
import { Bar as m, BarChart as h, CartesianGrid as g, Tooltip as _, XAxis as v, YAxis as y } from "recharts";
|
|
8
8
|
//#region src/charts/bar.tsx
|
|
9
|
-
function b({ data: b, series: x, ariaLabel: S = "Bar chart", className: C, showAxes: w = !1, showLegend: T = !1, color: E, valueFormatter: D }) {
|
|
10
|
-
let
|
|
9
|
+
function b({ data: b, series: x, ariaLabel: S = "Bar chart", className: C, showAxes: w = !1, showLegend: T = !1, color: E, valueFormatter: D, xValueFormatter: O, yDomain: k, legend: A, customTooltip: j, summary: M, dataAlternative: N, accessibilityLayer: P }) {
|
|
10
|
+
let F = c(l(x, ["y"]), E), I = A === void 0 ? T ? /* @__PURE__ */ f(d, {
|
|
11
|
+
items: F,
|
|
12
|
+
shape: "bar"
|
|
13
|
+
}) : void 0 : typeof A == "function" ? A({ items: F }) : A;
|
|
11
14
|
return /* @__PURE__ */ f(u, {
|
|
12
15
|
ariaLabel: S,
|
|
13
16
|
className: C,
|
|
14
|
-
legend:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
legend: I,
|
|
18
|
+
summary: M,
|
|
19
|
+
dataAlternative: N,
|
|
20
|
+
accessibilityLayer: P,
|
|
18
21
|
children: /* @__PURE__ */ p(h, {
|
|
19
22
|
data: b,
|
|
20
23
|
margin: w ? n : r,
|
|
@@ -22,17 +25,20 @@ function b({ data: b, series: x, ariaLabel: S = "Bar chart", className: C, showA
|
|
|
22
25
|
w ? /* @__PURE__ */ f(g, { ...i }) : null,
|
|
23
26
|
/* @__PURE__ */ f(v, {
|
|
24
27
|
dataKey: "x",
|
|
25
|
-
...a(!w)
|
|
28
|
+
...a(!w),
|
|
29
|
+
tickFormatter: O
|
|
26
30
|
}),
|
|
27
31
|
/* @__PURE__ */ f(y, {
|
|
28
32
|
...a(!w),
|
|
29
|
-
tickFormatter: D
|
|
33
|
+
tickFormatter: D,
|
|
34
|
+
...k ? { domain: k } : {}
|
|
30
35
|
}),
|
|
31
36
|
/* @__PURE__ */ f(_, { ...o({
|
|
32
37
|
formatter: D,
|
|
33
|
-
cursor: "bar"
|
|
38
|
+
cursor: "bar",
|
|
39
|
+
customTooltip: j
|
|
34
40
|
}) }),
|
|
35
|
-
|
|
41
|
+
F.map((n, r) => /* @__PURE__ */ f(m, {
|
|
36
42
|
dataKey: n.key,
|
|
37
43
|
name: n.label ?? n.key,
|
|
38
44
|
fill: s(n, r),
|
package/dist/charts/bar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar.js","names":[],"sources":["../../src/charts/bar.tsx"],"sourcesContent":["import { Bar, CartesianGrid, BarChart as RechartsBar, Tooltip, XAxis, YAxis } from \"recharts\";\nimport {\n\tANIMATION_PROPS,\n\tBAR_RADIUS,\n\tCHART_PLOT_MARGIN,\n\tCHART_PLOT_MARGIN_BARE,\n\tcartesianAxisProps,\n\tchartTooltipProps,\n\tGRID_PROPS,\n\tseriesColor,\n} from \"./config\";\nimport { ChartShell } from \"./frame\";\nimport { ChartLegend } from \"./legend\";\nimport {\n\
|
|
1
|
+
{"version":3,"file":"bar.js","names":[],"sources":["../../src/charts/bar.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Bar, CartesianGrid, BarChart as RechartsBar, Tooltip, XAxis, YAxis } from \"recharts\";\nimport {\n\tANIMATION_PROPS,\n\tBAR_RADIUS,\n\tCHART_PLOT_MARGIN,\n\tCHART_PLOT_MARGIN_BARE,\n\tcartesianAxisProps,\n\tchartTooltipProps,\n\tGRID_PROPS,\n\tseriesColor,\n} from \"./config\";\nimport { ChartShell } from \"./frame\";\nimport { ChartLegend } from \"./legend\";\nimport type {\n\tLineChartAxisDomain,\n\tLineChartLegendRenderer,\n\tLineChartNumericKeys,\n\tLineChartTooltipRenderer,\n} from \"./line\";\nimport {\n\tapplyLeadColor,\n\ttype ChartSeriesDescriptor,\n\tresolveChartSeries,\n\ttype XYPoint,\n} from \"./series\";\n\nexport type BarChartProps<\n\tTData extends { x: string | number } = XYPoint,\n\tK extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string,\n> = {\n\t/**\n\t * Dataset array where each record requires an `x` category or time coordinate.\n\t * Any remaining fields with numeric, nullable, or optional number values are inferred as valid series keys.\n\t */\n\tdata: TData[];\n\t/**\n\t * Series descriptors identifying which numeric keys to plot.\n\t * Inferred strictly from numeric keys of `TData` (rejects non-numeric fields, `x`, and typos).\n\t */\n\tseries?: Array<ChartSeriesDescriptor<NoInfer<K>>>;\n\tariaLabel?: string;\n\tclassName?: string;\n\tshowAxes?: boolean;\n\tshowLegend?: boolean;\n\tcolor?: string;\n\t/**\n\t * Value formatter for Y-axis tick values and fallback tooltip values.\n\t */\n\tvalueFormatter?: (value: number) => string;\n\t/**\n\t * Formatter for X-axis category or time tick labels.\n\t */\n\txValueFormatter?: (value: string | number) => string;\n\t/**\n\t * Custom numerical or keyword bounds for the Y-axis.\n\t */\n\tyDomain?: LineChartAxisDomain;\n\t/**\n\t * Custom legend slot or render function receiving resolved series descriptors.\n\t */\n\tlegend?: ReactNode | LineChartLegendRenderer<K>;\n\t/**\n\t * Custom tooltip content renderer receiving Recharts payload, active status, and coordinate label.\n\t */\n\tcustomTooltip?: LineChartTooltipRenderer;\n\t/**\n\t * Textual summary describing key insights, highs, lows, and keyboard exploration instructions.\n\t * Associated with the chart via useId and aria-describedby.\n\t */\n\tsummary?: ReactNode;\n\t/**\n\t * Accessible tabular or structured data alternative rendered outside the plot area.\n\t */\n\tdataAlternative?: ReactNode;\n\t/**\n\t * Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.\n\t * Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.\n\t * Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.\n\t * @default true\n\t */\n\taccessibilityLayer?: boolean;\n};\n\nexport function BarChart<\n\tTData extends { x: string | number } = XYPoint,\n\tK extends LineChartNumericKeys<TData> & string = LineChartNumericKeys<TData> & string,\n>({\n\tdata,\n\tseries,\n\tariaLabel = \"Bar chart\",\n\tclassName,\n\tshowAxes = false,\n\tshowLegend = false,\n\tcolor,\n\tvalueFormatter,\n\txValueFormatter,\n\tyDomain,\n\tlegend,\n\tcustomTooltip,\n\tsummary,\n\tdataAlternative,\n\taccessibilityLayer,\n}: BarChartProps<TData, K>) {\n\tconst bars = applyLeadColor(resolveChartSeries(series, [\"y\" as K]), color);\n\tconst resolvedLegend =\n\t\tlegend !== undefined ? (\n\t\t\ttypeof legend === \"function\" ? (\n\t\t\t\tlegend({ items: bars })\n\t\t\t) : (\n\t\t\t\tlegend\n\t\t\t)\n\t\t) : showLegend ? (\n\t\t\t<ChartLegend items={bars} shape=\"bar\" />\n\t\t) : undefined;\n\n\treturn (\n\t\t<ChartShell\n\t\t\tariaLabel={ariaLabel}\n\t\t\tclassName={className}\n\t\t\tlegend={resolvedLegend}\n\t\t\tsummary={summary}\n\t\t\tdataAlternative={dataAlternative}\n\t\t\taccessibilityLayer={accessibilityLayer}\n\t\t>\n\t\t\t<RechartsBar data={data} margin={showAxes ? CHART_PLOT_MARGIN : CHART_PLOT_MARGIN_BARE}>\n\t\t\t\t{showAxes ? <CartesianGrid {...GRID_PROPS} /> : null}\n\t\t\t\t<XAxis dataKey=\"x\" {...cartesianAxisProps(!showAxes)} tickFormatter={xValueFormatter} />\n\t\t\t\t<YAxis\n\t\t\t\t\t{...cartesianAxisProps(!showAxes)}\n\t\t\t\t\ttickFormatter={valueFormatter}\n\t\t\t\t\t{...(yDomain ? { domain: yDomain as [number, number] } : {})}\n\t\t\t\t/>\n\t\t\t\t<Tooltip\n\t\t\t\t\t{...chartTooltipProps({\n\t\t\t\t\t\tformatter: valueFormatter,\n\t\t\t\t\t\tcursor: \"bar\",\n\t\t\t\t\t\tcustomTooltip,\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t\t{bars.map((item, index) => (\n\t\t\t\t\t<Bar\n\t\t\t\t\t\tkey={item.key}\n\t\t\t\t\t\tdataKey={item.key}\n\t\t\t\t\t\tname={item.label ?? item.key}\n\t\t\t\t\t\tfill={seriesColor(item, index)}\n\t\t\t\t\t\tradius={BAR_RADIUS.vertical}\n\t\t\t\t\t\t{...ANIMATION_PROPS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</RechartsBar>\n\t\t</ChartShell>\n\t);\n}\n"],"mappings":";;;;;;;;AAoFA,SAAgB,EAGd,EACD,SACA,WACA,eAAY,aACZ,cACA,cAAW,IACX,gBAAa,IACb,UACA,mBACA,oBACA,YACA,WACA,kBACA,YACA,oBACA,yBAC2B;CAC3B,IAAM,IAAO,EAAe,EAAmB,GAAQ,CAAC,GAAQ,CAAC,GAAG,CAAK,GACnE,IACL,MAAW,KAAA,IAMP,IACH,kBAAC,GAAD;EAAa,OAAO;EAAM,OAAM;CAAO,CAAA,IACpC,KAAA,IAPH,OAAO,KAAW,aACjB,EAAO,EAAE,OAAO,EAAK,CAAC,IAEtB;CAMH,OACC,kBAAC,GAAD;EACY;EACA;EACX,QAAQ;EACC;EACQ;EACG;EAEpB,UAAA,kBAAC,GAAD;GAAmB;GAAM,QAAQ,IAAW,IAAoB;GAAhE,UAAA;IACE,IAAW,kBAAC,GAAD,EAAe,GAAI,EAAa,CAAA,IAAI;IAChD,kBAAC,GAAD;KAAO,SAAQ;KAAI,GAAI,EAAmB,CAAC,CAAQ;KAAG,eAAe;IAAkB,CAAA;IACvF,kBAAC,GAAD;KACC,GAAI,EAAmB,CAAC,CAAQ;KAChC,eAAe;KACf,GAAK,IAAU,EAAE,QAAQ,EAA4B,IAAI,CAAC;IAC1D,CAAA;IACD,kBAAC,GAAD,EACC,GAAI,EAAkB;KACrB,WAAW;KACX,QAAQ;KACR;IACD,CAAC,EACD,CAAA;IACA,EAAK,KAAK,GAAM,MAChB,kBAAC,GAAD;KAEC,SAAS,EAAK;KACd,MAAM,EAAK,SAAS,EAAK;KACzB,MAAM,EAAY,GAAM,CAAK;KAC7B,QAAQ,EAAW;KACnB,GAAI;IACJ,GANK,EAAK,GAMV,CACD;GACW;;CACF,CAAA;AAEd"}
|
package/dist/charts/bullet.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
1
2
|
import { type BulletPoint, type BulletSeriesDescriptor } from "./series.js";
|
|
2
3
|
export type BulletChartProps = {
|
|
3
4
|
data: BulletPoint[];
|
|
@@ -6,5 +7,21 @@ export type BulletChartProps = {
|
|
|
6
7
|
className?: string;
|
|
7
8
|
showAxes?: boolean;
|
|
8
9
|
valueFormatter?: (value: number) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Textual summary describing key insights, highs, lows, and keyboard exploration instructions.
|
|
12
|
+
* Associated with the chart via useId and aria-describedby.
|
|
13
|
+
*/
|
|
14
|
+
summary?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Accessible tabular or structured data alternative rendered outside the plot area.
|
|
17
|
+
*/
|
|
18
|
+
dataAlternative?: ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.
|
|
21
|
+
* Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.
|
|
22
|
+
* Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.
|
|
23
|
+
* @default true
|
|
24
|
+
*/
|
|
25
|
+
accessibilityLayer?: boolean;
|
|
9
26
|
};
|
|
10
|
-
export declare function BulletChart({ data, series, ariaLabel, className, showAxes, valueFormatter, }: BulletChartProps): import("react").JSX.Element;
|
|
27
|
+
export declare function BulletChart({ data, series, ariaLabel, className, showAxes, valueFormatter, summary, dataAlternative, accessibilityLayer, }: BulletChartProps): import("react").JSX.Element;
|
package/dist/charts/bullet.js
CHANGED
|
@@ -5,11 +5,14 @@ import { ChartFrame as a } from "./frame.js";
|
|
|
5
5
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
6
|
import { Bar as c, BarChart as l, Tooltip as u, XAxis as d, YAxis as f } from "recharts";
|
|
7
7
|
//#region src/charts/bullet.tsx
|
|
8
|
-
function p({ data: p, series: m, ariaLabel: h = "Bullet chart", className: g, showAxes: _ = !0, valueFormatter: v }) {
|
|
9
|
-
let
|
|
8
|
+
function p({ data: p, series: m, ariaLabel: h = "Bullet chart", className: g, showAxes: _ = !0, valueFormatter: v, summary: y, dataAlternative: b, accessibilityLayer: x }) {
|
|
9
|
+
let S = i(m, ["target", "value"]);
|
|
10
10
|
return /* @__PURE__ */ o(a, {
|
|
11
11
|
ariaLabel: h,
|
|
12
12
|
className: g,
|
|
13
|
+
summary: y,
|
|
14
|
+
dataAlternative: b,
|
|
15
|
+
accessibilityLayer: x,
|
|
13
16
|
children: /* @__PURE__ */ s(l, {
|
|
14
17
|
data: p,
|
|
15
18
|
layout: "vertical",
|
|
@@ -28,7 +31,7 @@ function p({ data: p, series: m, ariaLabel: h = "Bullet chart", className: g, sh
|
|
|
28
31
|
formatter: v,
|
|
29
32
|
cursor: "bar"
|
|
30
33
|
}) }),
|
|
31
|
-
|
|
34
|
+
S.map((t) => /* @__PURE__ */ o(c, {
|
|
32
35
|
dataKey: t.key,
|
|
33
36
|
name: t.label ?? t.key,
|
|
34
37
|
fill: r(t, t.key === "target" ? 6 : 1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet.js","names":[],"sources":["../../src/charts/bullet.tsx"],"sourcesContent":["import { Bar, BarChart as RechartsBar, Tooltip, XAxis, YAxis } from \"recharts\";\nimport { ANIMATION_PROPS, cartesianAxisProps, chartTooltipProps, seriesColor } from \"./config\";\nimport { ChartFrame } from \"./frame\";\nimport { type BulletPoint, type BulletSeriesDescriptor, resolveChartSeries } from \"./series\";\n\nexport type BulletChartProps = {\n\tdata: BulletPoint[];\n\tseries?: BulletSeriesDescriptor[];\n\tariaLabel?: string;\n\tclassName?: string;\n\tshowAxes?: boolean;\n\tvalueFormatter?: (value: number) => string;\n};\n\nexport function BulletChart({\n\tdata,\n\tseries,\n\tariaLabel = \"Bullet chart\",\n\tclassName,\n\tshowAxes = true,\n\tvalueFormatter,\n}: BulletChartProps) {\n\tconst bars = resolveChartSeries(series, [\"target\", \"value\"]);\n\treturn (\n\t\t<ChartFrame
|
|
1
|
+
{"version":3,"file":"bullet.js","names":[],"sources":["../../src/charts/bullet.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { Bar, BarChart as RechartsBar, Tooltip, XAxis, YAxis } from \"recharts\";\nimport { ANIMATION_PROPS, cartesianAxisProps, chartTooltipProps, seriesColor } from \"./config\";\nimport { ChartFrame } from \"./frame\";\nimport { type BulletPoint, type BulletSeriesDescriptor, resolveChartSeries } from \"./series\";\n\nexport type BulletChartProps = {\n\tdata: BulletPoint[];\n\tseries?: BulletSeriesDescriptor[];\n\tariaLabel?: string;\n\tclassName?: string;\n\tshowAxes?: boolean;\n\tvalueFormatter?: (value: number) => string;\n\t/**\n\t * Textual summary describing key insights, highs, lows, and keyboard exploration instructions.\n\t * Associated with the chart via useId and aria-describedby.\n\t */\n\tsummary?: ReactNode;\n\t/**\n\t * Accessible tabular or structured data alternative rendered outside the plot area.\n\t */\n\tdataAlternative?: ReactNode;\n\t/**\n\t * Whether the interactive accessibility layer is enabled on the underlying Recharts graphic.\n\t * Enables keyboard exploration with Tab and arrow keys where supported by the underlying chart type.\n\t * Non-interactive compact or decorative charts without tooltip navigation should provide summary or dataAlternative.\n\t * @default true\n\t */\n\taccessibilityLayer?: boolean;\n};\n\nexport function BulletChart({\n\tdata,\n\tseries,\n\tariaLabel = \"Bullet chart\",\n\tclassName,\n\tshowAxes = true,\n\tvalueFormatter,\n\tsummary,\n\tdataAlternative,\n\taccessibilityLayer,\n}: BulletChartProps) {\n\tconst bars = resolveChartSeries(series, [\"target\", \"value\"]);\n\treturn (\n\t\t<ChartFrame\n\t\t\tariaLabel={ariaLabel}\n\t\t\tclassName={className}\n\t\t\tsummary={summary}\n\t\t\tdataAlternative={dataAlternative}\n\t\t\taccessibilityLayer={accessibilityLayer}\n\t\t>\n\t\t\t<RechartsBar data={data} layout=\"vertical\">\n\t\t\t\t<XAxis type=\"number\" {...cartesianAxisProps(!showAxes)} tickFormatter={valueFormatter} />\n\t\t\t\t<YAxis type=\"category\" dataKey=\"name\" {...cartesianAxisProps(!showAxes)} />\n\t\t\t\t<Tooltip {...chartTooltipProps({ formatter: valueFormatter, cursor: \"bar\" })} />\n\t\t\t\t{bars.map((item) => (\n\t\t\t\t\t<Bar\n\t\t\t\t\t\tkey={item.key}\n\t\t\t\t\t\tdataKey={item.key}\n\t\t\t\t\t\tname={item.label ?? item.key}\n\t\t\t\t\t\tfill={seriesColor(item, item.key === \"target\" ? 6 : 1)}\n\t\t\t\t\t\tbarSize={item.key === \"target\" ? 10 : 6}\n\t\t\t\t\t\t{...ANIMATION_PROPS}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</RechartsBar>\n\t\t</ChartFrame>\n\t);\n}\n"],"mappings":";;;;;;;AA+BA,SAAgB,EAAY,EAC3B,SACA,WACA,eAAY,gBACZ,cACA,cAAW,IACX,mBACA,YACA,oBACA,yBACoB;CACpB,IAAM,IAAO,EAAmB,GAAQ,CAAC,UAAU,OAAO,CAAC;CAC3D,OACC,kBAAC,GAAD;EACY;EACA;EACF;EACQ;EACG;EAEpB,UAAA,kBAAC,GAAD;GAAmB;GAAM,QAAO;GAAhC,UAAA;IACC,kBAAC,GAAD;KAAO,MAAK;KAAS,GAAI,EAAmB,CAAC,CAAQ;KAAG,eAAe;IAAiB,CAAA;IACxF,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAQ;KAAO,GAAI,EAAmB,CAAC,CAAQ;IAAI,CAAA;IAC1E,kBAAC,GAAD,EAAS,GAAI,EAAkB;KAAE,WAAW;KAAgB,QAAQ;IAAM,CAAC,EAAI,CAAA;IAC9E,EAAK,KAAK,MACV,kBAAC,GAAD;KAEC,SAAS,EAAK;KACd,MAAM,EAAK,SAAS,EAAK;KACzB,MAAM,EAAY,GAAM,EAAK,QAAQ,WAAW,IAAI,CAAC;KACrD,SAAS,EAAK,QAAQ,WAAW,KAAK;KACtC,GAAI;IACJ,GANK,EAAK,GAMV,CACD;GACW;;CACF,CAAA;AAEd"}
|