@health-samurai/react-components 0.0.0-alpha.1 → 0.0.0-alpha.3
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/dist/bundle.css +100 -7
- package/dist/src/components/code-editor/index.js +53 -29
- package/dist/src/components/code-editor/index.js.map +1 -1
- package/dist/src/components/code-editor.stories.js +22 -7
- package/dist/src/components/code-editor.stories.js.map +1 -1
- package/dist/src/components/copy-icon.js +11 -4
- package/dist/src/components/copy-icon.js.map +1 -1
- package/dist/src/components/request-line-editor.js +56 -14
- package/dist/src/components/request-line-editor.js.map +1 -1
- package/dist/src/components/request-line-editor.stories.js +71 -22
- package/dist/src/components/request-line-editor.stories.js.map +1 -1
- package/dist/src/global.d.js +2 -0
- package/dist/src/global.d.js.map +1 -0
- package/dist/src/index.css +6 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +52 -50
- package/dist/src/index.js.map +1 -1
- package/dist/src/index.stories.js +8 -5
- package/dist/src/index.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.js +34 -5
- package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
- package/dist/src/shadcn/components/ui/accordion.stories.js +68 -3
- package/dist/src/shadcn/components/ui/accordion.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.js +61 -14
- package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js +39 -4
- package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.js +24 -8
- package/dist/src/shadcn/components/ui/alert.js.map +1 -1
- package/dist/src/shadcn/components/ui/alert.stories.js +57 -3
- package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.js +6 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.js +12 -3
- package/dist/src/shadcn/components/ui/aspect-ratio.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.js +17 -4
- package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
- package/dist/src/shadcn/components/ui/avatar.stories.js +69 -3
- package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.js +13 -6
- package/dist/src/shadcn/components/ui/badge.js.map +1 -1
- package/dist/src/shadcn/components/ui/badge.stories.js +55 -3
- package/dist/src/shadcn/components/ui/badge.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.js +56 -11
- package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js +69 -4
- package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.js +23 -13
- package/dist/src/shadcn/components/ui/button.js.map +1 -1
- package/dist/src/shadcn/components/ui/button.stories.js +190 -10
- package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.js +76 -33
- package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
- package/dist/src/shadcn/components/ui/calendar.stories.js +12 -5
- package/dist/src/shadcn/components/ui/calendar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.js +38 -9
- package/dist/src/shadcn/components/ui/card.js.map +1 -1
- package/dist/src/shadcn/components/ui/card.stories.js +91 -6
- package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.js +99 -39
- package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
- package/dist/src/shadcn/components/ui/carousel.stories.js +30 -6
- package/dist/src/shadcn/components/ui/carousel.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/chart.js +119 -55
- package/dist/src/shadcn/components/ui/chart.js.map +1 -1
- package/dist/src/shadcn/components/ui/chart.stories.js +72 -12
- package/dist/src/shadcn/components/ui/chart.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.js +15 -2
- package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
- package/dist/src/shadcn/components/ui/checkbox.stories.js +79 -4
- package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/collapsible.js +13 -3
- package/dist/src/shadcn/components/ui/collapsible.js.map +1 -1
- package/dist/src/shadcn/components/ui/collapsible.stories.js +54 -6
- package/dist/src/shadcn/components/ui/collapsible.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.js +77 -12
- package/dist/src/shadcn/components/ui/command.js.map +1 -1
- package/dist/src/shadcn/components/ui/command.stories.js +88 -4
- package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.js +107 -17
- package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/context-menu.stories.js +101 -3
- package/dist/src/shadcn/components/ui/context-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.js +69 -12
- package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
- package/dist/src/shadcn/components/ui/dialog.stories.js +82 -6
- package/dist/src/shadcn/components/ui/dialog.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.js +62 -12
- package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
- package/dist/src/shadcn/components/ui/drawer.stories.js +154 -21
- package/dist/src/shadcn/components/ui/drawer.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.js +107 -17
- package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +119 -4
- package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/form.js +59 -18
- package/dist/src/shadcn/components/ui/form.js.map +1 -1
- package/dist/src/shadcn/components/ui/form.stories.js +45 -11
- package/dist/src/shadcn/components/ui/form.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.js +21 -4
- package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
- package/dist/src/shadcn/components/ui/hover-card.stories.js +51 -5
- package/dist/src/shadcn/components/ui/hover-card.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.js +35 -7
- package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
- package/dist/src/shadcn/components/ui/input-otp.stories.js +35 -3
- package/dist/src/shadcn/components/ui/input-otp.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.js +59 -40
- package/dist/src/shadcn/components/ui/input.js.map +1 -1
- package/dist/src/shadcn/components/ui/input.stories.js +391 -23
- package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/label.js +8 -2
- package/dist/src/shadcn/components/ui/label.js.map +1 -1
- package/dist/src/shadcn/components/ui/label.stories.js +18 -4
- package/dist/src/shadcn/components/ui/label.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.js +116 -19
- package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
- package/dist/src/shadcn/components/ui/menubar.stories.js +216 -3
- package/dist/src/shadcn/components/ui/menubar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/navigation-menu.js +62 -10
- package/dist/src/shadcn/components/ui/navigation-menu.js.map +1 -1
- package/dist/src/shadcn/components/ui/navigation-menu.stories.js +263 -11
- package/dist/src/shadcn/components/ui/navigation-menu.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.js +73 -16
- package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
- package/dist/src/shadcn/components/ui/pagination.stories.js +41 -3
- package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/popover.js +24 -5
- package/dist/src/shadcn/components/ui/popover.js.map +1 -1
- package/dist/src/shadcn/components/ui/popover.stories.js +99 -6
- package/dist/src/shadcn/components/ui/popover.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.js +14 -2
- package/dist/src/shadcn/components/ui/progress.js.map +1 -1
- package/dist/src/shadcn/components/ui/progress.stories.js +12 -8
- package/dist/src/shadcn/components/ui/progress.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.js +20 -3
- package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/radio-group.stories.js +48 -4
- package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.js +22 -4
- package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
- package/dist/src/shadcn/components/ui/resizable.stories.js +49 -3
- package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.js +27 -5
- package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
- package/dist/src/shadcn/components/ui/scroll-area.stories.js +30 -5
- package/dist/src/shadcn/components/ui/scroll-area.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.js +98 -19
- package/dist/src/shadcn/components/ui/select.js.map +1 -1
- package/dist/src/shadcn/components/ui/select.stories.js +84 -5
- package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/separator.js +10 -2
- package/dist/src/shadcn/components/ui/separator.js.map +1 -1
- package/dist/src/shadcn/components/ui/separator.stories.js +43 -3
- package/dist/src/shadcn/components/ui/separator.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sheet.js +69 -16
- package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
- package/dist/src/shadcn/components/ui/sheet.stories.js +77 -6
- package/dist/src/shadcn/components/ui/sheet.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.js +305 -79
- package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
- package/dist/src/shadcn/components/ui/sidebar.stories.js +321 -59
- package/dist/src/shadcn/components/ui/sidebar.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.js +7 -2
- package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
- package/dist/src/shadcn/components/ui/skeleton.stories.js +22 -3
- package/dist/src/shadcn/components/ui/skeleton.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/slider.js +41 -7
- package/dist/src/shadcn/components/ui/slider.js.map +1 -1
- package/dist/src/shadcn/components/ui/slider.stories.js +11 -3
- package/dist/src/shadcn/components/ui/slider.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.js +10 -4
- package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
- package/dist/src/shadcn/components/ui/sonner.stories.js +14 -9
- package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/switch.js +12 -2
- package/dist/src/shadcn/components/ui/switch.js.map +1 -1
- package/dist/src/shadcn/components/ui/switch.stories.js +16 -4
- package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.js +47 -10
- package/dist/src/shadcn/components/ui/table.js.map +1 -1
- package/dist/src/shadcn/components/ui/table.stories.js +72 -11
- package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.d.ts +9 -5
- package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.js +76 -18
- package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts +6 -0
- package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tabs.stories.js +221 -10
- package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.js +7 -2
- package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
- package/dist/src/shadcn/components/ui/textarea.stories.js +6 -3
- package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.js +29 -8
- package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle-group.stories.js +30 -3
- package/dist/src/shadcn/components/ui/toggle-group.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.js +16 -7
- package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
- package/dist/src/shadcn/components/ui/toggle.stories.js +9 -3
- package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.js +27 -5
- package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
- package/dist/src/shadcn/components/ui/tooltip.stories.js +20 -4
- package/dist/src/shadcn/components/ui/tooltip.stories.js.map +1 -1
- package/dist/src/shadcn/hooks/use-mobile.js +4 -3
- package/dist/src/shadcn/hooks/use-mobile.js.map +1 -1
- package/dist/src/shadcn/lib/utils.js +1 -0
- package/dist/src/shadcn/lib/utils.js.map +1 -1
- package/package.json +8 -4
- package/src/index.css +6 -0
- package/src/index.tsx +1 -0
- package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
- package/src/shadcn/components/ui/calendar.tsx +1 -0
- package/src/shadcn/components/ui/chart.tsx +1 -0
- package/src/shadcn/components/ui/checkbox.tsx +1 -0
- package/src/shadcn/components/ui/context-menu.tsx +1 -0
- package/src/shadcn/components/ui/drawer.tsx +1 -0
- package/src/shadcn/components/ui/form.tsx +1 -0
- package/src/shadcn/components/ui/hover-card.tsx +1 -0
- package/src/shadcn/components/ui/label.tsx +1 -0
- package/src/shadcn/components/ui/popover.tsx +1 -0
- package/src/shadcn/components/ui/radio-group.tsx +1 -0
- package/src/shadcn/components/ui/scroll-area.tsx +1 -0
- package/src/shadcn/components/ui/separator.tsx +1 -0
- package/src/shadcn/components/ui/sidebar.tsx +1 -0
- package/src/shadcn/components/ui/slider.tsx +1 -0
- package/src/shadcn/components/ui/switch.tsx +1 -0
- package/src/shadcn/components/ui/tabs.stories.tsx +57 -0
- package/src/shadcn/components/ui/tabs.tsx +77 -26
- package/src/shadcn/components/ui/tooltip.tsx +1 -0
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
3
|
import * as React from "react";
|
|
3
4
|
import * as RechartsPrimitive from "recharts";
|
|
4
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
5
6
|
// Format: { THEME_NAME: CSS_SELECTOR }
|
|
6
|
-
const THEMES = {
|
|
7
|
-
|
|
7
|
+
const THEMES = {
|
|
8
|
+
light: "",
|
|
9
|
+
dark: ".dark"
|
|
10
|
+
};
|
|
11
|
+
const ChartContext = /*#__PURE__*/ React.createContext(null);
|
|
8
12
|
function useChart() {
|
|
9
13
|
const context = React.useContext(ChartContext);
|
|
10
14
|
if (!context) {
|
|
@@ -15,51 +19,70 @@ function useChart() {
|
|
|
15
19
|
function ChartContainer({ id, className, children, config, ...props }) {
|
|
16
20
|
const uniqueId = React.useId();
|
|
17
21
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
18
|
-
return
|
|
22
|
+
return /*#__PURE__*/ _jsx(ChartContext.Provider, {
|
|
23
|
+
value: {
|
|
24
|
+
config
|
|
25
|
+
},
|
|
26
|
+
children: /*#__PURE__*/ _jsxs("div", {
|
|
27
|
+
"data-slot": "chart",
|
|
28
|
+
"data-chart": chartId,
|
|
29
|
+
className: cn("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden", className),
|
|
30
|
+
...props,
|
|
31
|
+
children: [
|
|
32
|
+
/*#__PURE__*/ _jsx(ChartStyle, {
|
|
33
|
+
id: chartId,
|
|
34
|
+
config: config
|
|
35
|
+
}),
|
|
36
|
+
/*#__PURE__*/ _jsx(RechartsPrimitive.ResponsiveContainer, {
|
|
37
|
+
children: children
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
})
|
|
41
|
+
});
|
|
19
42
|
}
|
|
20
|
-
const ChartStyle = ({ id, config })
|
|
21
|
-
const colorConfig = Object.entries(config).filter(([, config])
|
|
43
|
+
const ChartStyle = ({ id, config })=>{
|
|
44
|
+
const colorConfig = Object.entries(config).filter(([, config])=>config.theme || config.color);
|
|
22
45
|
if (!colorConfig.length) {
|
|
23
46
|
return null;
|
|
24
47
|
}
|
|
25
|
-
return
|
|
48
|
+
return /*#__PURE__*/ _jsx("style", {
|
|
26
49
|
// biome-ignore lint/security/noDangerouslySetInnerHtml: FIXME: unchanged shadcn
|
|
27
50
|
dangerouslySetInnerHTML: {
|
|
28
|
-
__html: Object.entries(THEMES)
|
|
29
|
-
.map(([theme, prefix]) => `
|
|
51
|
+
__html: Object.entries(THEMES).map(([theme, prefix])=>`
|
|
30
52
|
${prefix} [data-chart=${id}] {
|
|
31
|
-
${colorConfig
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return color ? ` --color-${key}: ${color};` : null;
|
|
36
|
-
})
|
|
37
|
-
.join("\n")}
|
|
53
|
+
${colorConfig.map(([key, itemConfig])=>{
|
|
54
|
+
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
55
|
+
return color ? ` --color-${key}: ${color};` : null;
|
|
56
|
+
}).join("\n")}
|
|
38
57
|
}
|
|
39
|
-
`)
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
`).join("\n")
|
|
59
|
+
}
|
|
60
|
+
});
|
|
42
61
|
};
|
|
43
62
|
const ChartTooltip = RechartsPrimitive.Tooltip;
|
|
44
|
-
function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey
|
|
63
|
+
function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey }) {
|
|
45
64
|
const { config } = useChart();
|
|
46
|
-
const tooltipLabel = React.useMemo(()
|
|
65
|
+
const tooltipLabel = React.useMemo(()=>{
|
|
47
66
|
if (hideLabel || !payload?.length) {
|
|
48
67
|
return null;
|
|
49
68
|
}
|
|
50
69
|
const [item] = payload;
|
|
51
70
|
const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
|
|
52
71
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
53
|
-
const value = !labelKey && typeof label === "string"
|
|
54
|
-
? config[label]?.label || label
|
|
55
|
-
: itemConfig?.label;
|
|
72
|
+
const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
|
|
56
73
|
if (labelFormatter) {
|
|
57
|
-
return
|
|
74
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
75
|
+
className: cn("font-medium", labelClassName),
|
|
76
|
+
children: labelFormatter(value, payload)
|
|
77
|
+
});
|
|
58
78
|
}
|
|
59
79
|
if (!value) {
|
|
60
80
|
return null;
|
|
61
81
|
}
|
|
62
|
-
return _jsx("div", {
|
|
82
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
83
|
+
className: cn("font-medium", labelClassName),
|
|
84
|
+
children: value
|
|
85
|
+
});
|
|
63
86
|
}, [
|
|
64
87
|
label,
|
|
65
88
|
labelFormatter,
|
|
@@ -67,64 +90,105 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
|
|
|
67
90
|
hideLabel,
|
|
68
91
|
labelClassName,
|
|
69
92
|
config,
|
|
70
|
-
labelKey
|
|
93
|
+
labelKey
|
|
71
94
|
]);
|
|
72
95
|
if (!active || !payload?.length) {
|
|
73
96
|
return null;
|
|
74
97
|
}
|
|
75
98
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
76
|
-
return
|
|
99
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
100
|
+
className: cn("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl", className),
|
|
101
|
+
children: [
|
|
102
|
+
!nestLabel ? tooltipLabel : null,
|
|
103
|
+
/*#__PURE__*/ _jsx("div", {
|
|
104
|
+
className: "grid gap-1.5",
|
|
105
|
+
children: payload.map((item, index)=>{
|
|
77
106
|
const key = `${nameKey || item.name || item.dataKey || "value"}`;
|
|
78
107
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
79
108
|
const indicatorColor = color || item.payload.fill || item.color;
|
|
80
|
-
return
|
|
109
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
110
|
+
className: cn("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5", indicator === "dot" && "items-center"),
|
|
111
|
+
children: formatter && item?.value !== undefined && item.name ? formatter(item.value, item.name, item, index, item.payload) : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
112
|
+
children: [
|
|
113
|
+
itemConfig?.icon ? /*#__PURE__*/ _jsx(itemConfig.icon, {}) : !hideIndicator && /*#__PURE__*/ _jsx("div", {
|
|
114
|
+
className: cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
|
|
81
115
|
"h-2.5 w-2.5": indicator === "dot",
|
|
82
116
|
"w-1": indicator === "line",
|
|
83
117
|
"w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
|
|
84
|
-
"my-0.5": nestLabel && indicator === "dashed"
|
|
85
|
-
}),
|
|
118
|
+
"my-0.5": nestLabel && indicator === "dashed"
|
|
119
|
+
}),
|
|
120
|
+
style: {
|
|
86
121
|
"--color-bg": indicatorColor,
|
|
87
|
-
"--color-border": indicatorColor
|
|
88
|
-
}
|
|
89
|
-
|
|
122
|
+
"--color-border": indicatorColor
|
|
123
|
+
}
|
|
124
|
+
}),
|
|
125
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
126
|
+
className: cn("flex flex-1 justify-between leading-none", nestLabel ? "items-end" : "items-center"),
|
|
127
|
+
children: [
|
|
128
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
129
|
+
className: "grid gap-1.5",
|
|
130
|
+
children: [
|
|
131
|
+
nestLabel ? tooltipLabel : null,
|
|
132
|
+
/*#__PURE__*/ _jsx("span", {
|
|
133
|
+
className: "text-muted-foreground",
|
|
134
|
+
children: itemConfig?.label || item.name
|
|
135
|
+
})
|
|
136
|
+
]
|
|
137
|
+
}),
|
|
138
|
+
item.value && /*#__PURE__*/ _jsx("span", {
|
|
139
|
+
className: "text-foreground font-mono font-medium tabular-nums",
|
|
140
|
+
children: item.value.toLocaleString()
|
|
141
|
+
})
|
|
142
|
+
]
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
})
|
|
146
|
+
}, item.dataKey);
|
|
147
|
+
})
|
|
148
|
+
})
|
|
149
|
+
]
|
|
150
|
+
});
|
|
90
151
|
}
|
|
91
152
|
const ChartLegend = RechartsPrimitive.Legend;
|
|
92
|
-
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey
|
|
153
|
+
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }) {
|
|
93
154
|
const { config } = useChart();
|
|
94
155
|
if (!payload?.length) {
|
|
95
156
|
return null;
|
|
96
157
|
}
|
|
97
|
-
return
|
|
158
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
159
|
+
className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className),
|
|
160
|
+
children: payload.map((item)=>{
|
|
98
161
|
const key = `${nameKey || item.dataKey || "value"}`;
|
|
99
162
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
100
|
-
return
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
163
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
164
|
+
className: cn("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),
|
|
165
|
+
children: [
|
|
166
|
+
itemConfig?.icon && !hideIcon ? /*#__PURE__*/ _jsx(itemConfig.icon, {}) : /*#__PURE__*/ _jsx("div", {
|
|
167
|
+
className: "h-2 w-2 shrink-0 rounded-[2px]",
|
|
168
|
+
style: {
|
|
169
|
+
backgroundColor: item.color
|
|
170
|
+
}
|
|
171
|
+
}),
|
|
172
|
+
itemConfig?.label
|
|
173
|
+
]
|
|
174
|
+
}, item.value);
|
|
175
|
+
})
|
|
176
|
+
});
|
|
104
177
|
}
|
|
105
178
|
// Helper to extract item config from a payload.
|
|
106
179
|
function getPayloadConfigFromPayload(config, payload, key) {
|
|
107
180
|
if (typeof payload !== "object" || payload === null) {
|
|
108
181
|
return undefined;
|
|
109
182
|
}
|
|
110
|
-
const payloadPayload = "payload" in payload &&
|
|
111
|
-
typeof payload.payload === "object" &&
|
|
112
|
-
payload.payload !== null
|
|
113
|
-
? payload.payload
|
|
114
|
-
: undefined;
|
|
183
|
+
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : undefined;
|
|
115
184
|
let configLabelKey = key;
|
|
116
|
-
if (key in payload &&
|
|
117
|
-
typeof payload[key] === "string") {
|
|
185
|
+
if (key in payload && typeof payload[key] === "string") {
|
|
118
186
|
configLabelKey = payload[key];
|
|
119
|
-
}
|
|
120
|
-
else if (payloadPayload &&
|
|
121
|
-
key in payloadPayload &&
|
|
122
|
-
typeof payloadPayload[key] === "string") {
|
|
187
|
+
} else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
|
|
123
188
|
configLabelKey = payloadPayload[key];
|
|
124
189
|
}
|
|
125
|
-
return configLabelKey in config
|
|
126
|
-
? config[configLabelKey]
|
|
127
|
-
: config[key];
|
|
190
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
128
191
|
}
|
|
129
|
-
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle
|
|
192
|
+
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle };
|
|
193
|
+
|
|
130
194
|
//# sourceMappingURL=chart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/chart.tsx"],"sourcesContent":["\"use client\";\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n\t[k in string]: {\n\t\tlabel?: React.ReactNode;\n\t\ticon?: React.ComponentType;\n\t} & (\n\t\t| { color?: string; theme?: never }\n\t\t| { color?: never; theme: Record<keyof typeof THEMES, string> }\n\t);\n};\n\ntype ChartContextProps = {\n\tconfig: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n\tconst context = React.useContext(ChartContext);\n\n\tif (!context) {\n\t\tthrow new Error(\"useChart must be used within a <ChartContainer />\");\n\t}\n\n\treturn context;\n}\n\nfunction ChartContainer({\n\tid,\n\tclassName,\n\tchildren,\n\tconfig,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tconfig: ChartConfig;\n\tchildren: React.ComponentProps<\n\t\ttypeof RechartsPrimitive.ResponsiveContainer\n\t>[\"children\"];\n}) {\n\tconst uniqueId = React.useId();\n\tconst chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n\treturn (\n\t\t<ChartContext.Provider value={{ config }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"chart\"\n\t\t\t\tdata-chart={chartId}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChartStyle id={chartId} config={config} />\n\t\t\t\t<RechartsPrimitive.ResponsiveContainer>\n\t\t\t\t\t{children}\n\t\t\t\t</RechartsPrimitive.ResponsiveContainer>\n\t\t\t</div>\n\t\t</ChartContext.Provider>\n\t);\n}\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n\tconst colorConfig = Object.entries(config).filter(\n\t\t([, config]) => config.theme || config.color,\n\t);\n\n\tif (!colorConfig.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<style\n\t\t\t// biome-ignore lint/security/noDangerouslySetInnerHtml: FIXME: unchanged shadcn\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Object.entries(THEMES)\n\t\t\t\t\t.map(\n\t\t\t\t\t\t([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n\t.map(([key, itemConfig]) => {\n\t\tconst color =\n\t\t\titemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n\t\t\titemConfig.color;\n\t\treturn color ? ` --color-${key}: ${color};` : null;\n\t})\n\t.join(\"\\n\")}\n}\n`,\n\t\t\t\t\t)\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n\tactive,\n\tpayload,\n\tclassName,\n\tindicator = \"dot\",\n\thideLabel = false,\n\thideIndicator = false,\n\tlabel,\n\tlabelFormatter,\n\tlabelClassName,\n\tformatter,\n\tcolor,\n\tnameKey,\n\tlabelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n\tReact.ComponentProps<\"div\"> & {\n\t\thideLabel?: boolean;\n\t\thideIndicator?: boolean;\n\t\tindicator?: \"line\" | \"dot\" | \"dashed\";\n\t\tnameKey?: string;\n\t\tlabelKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tconst tooltipLabel = React.useMemo(() => {\n\t\tif (hideLabel || !payload?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst [item] = payload;\n\t\tconst key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\tconst value =\n\t\t\t!labelKey && typeof label === \"string\"\n\t\t\t\t? config[label as keyof typeof config]?.label || label\n\t\t\t\t: itemConfig?.label;\n\n\t\tif (labelFormatter) {\n\t\t\treturn (\n\t\t\t\t<div className={cn(\"font-medium\", labelClassName)}>\n\t\t\t\t\t{labelFormatter(value, payload)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (!value) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n\t}, [\n\t\tlabel,\n\t\tlabelFormatter,\n\t\tpayload,\n\t\thideLabel,\n\t\tlabelClassName,\n\t\tconfig,\n\t\tlabelKey,\n\t]);\n\n\tif (!active || !payload?.length) {\n\t\treturn null;\n\t}\n\n\tconst nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{!nestLabel ? tooltipLabel : null}\n\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t{payload.map((item, index) => {\n\t\t\t\t\tconst key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n\t\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\t\t\t\t\tconst indicatorColor = color || item.payload.fill || item.color;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={item.dataKey}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n\t\t\t\t\t\t\t\tindicator === \"dot\" && \"items-center\",\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{formatter && item?.value !== undefined && item.name ? (\n\t\t\t\t\t\t\t\tformatter(item.value, item.name, item, index, item.payload)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{itemConfig?.icon ? (\n\t\t\t\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t!hideIndicator && (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"h-2.5 w-2.5\": indicator === \"dot\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-1\": indicator === \"line\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"w-0 border-[1.5px] border-dashed bg-transparent\":\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"my-0.5\": nestLabel && indicator === \"dashed\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-bg\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"--color-border\": indicatorColor,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\"flex flex-1 justify-between leading-none\",\n\t\t\t\t\t\t\t\t\t\t\tnestLabel ? \"items-end\" : \"items-center\",\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"grid gap-1.5\">\n\t\t\t\t\t\t\t\t\t\t\t{nestLabel ? tooltipLabel : null}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-muted-foreground\">\n\t\t\t\t\t\t\t\t\t\t\t\t{itemConfig?.label || item.name}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{item.value && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-foreground font-mono font-medium tabular-nums\">\n\t\t\t\t\t\t\t\t\t\t\t\t{item.value.toLocaleString()}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n\tclassName,\n\thideIcon = false,\n\tpayload,\n\tverticalAlign = \"bottom\",\n\tnameKey,\n}: React.ComponentProps<\"div\"> &\n\tPick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n\t\thideIcon?: boolean;\n\t\tnameKey?: string;\n\t}) {\n\tconst { config } = useChart();\n\n\tif (!payload?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(\n\t\t\t\t\"flex items-center justify-center gap-4\",\n\t\t\t\tverticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t{payload.map((item) => {\n\t\t\t\tconst key = `${nameKey || item.dataKey || \"value\"}`;\n\t\t\t\tconst itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={item.value}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemConfig?.icon && !hideIcon ? (\n\t\t\t\t\t\t\t<itemConfig.icon />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"h-2 w-2 shrink-0 rounded-[2px]\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tbackgroundColor: item.color,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{itemConfig?.label}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n\tconfig: ChartConfig,\n\tpayload: unknown,\n\tkey: string,\n) {\n\tif (typeof payload !== \"object\" || payload === null) {\n\t\treturn undefined;\n\t}\n\n\tconst payloadPayload =\n\t\t\"payload\" in payload &&\n\t\ttypeof payload.payload === \"object\" &&\n\t\tpayload.payload !== null\n\t\t\t? payload.payload\n\t\t\t: undefined;\n\n\tlet configLabelKey: string = key;\n\n\tif (\n\t\tkey in payload &&\n\t\ttypeof payload[key as keyof typeof payload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payload[key as keyof typeof payload] as string;\n\t} else if (\n\t\tpayloadPayload &&\n\t\tkey in payloadPayload &&\n\t\ttypeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n\t) {\n\t\tconfigLabelKey = payloadPayload[\n\t\t\tkey as keyof typeof payloadPayload\n\t\t] as string;\n\t}\n\n\treturn configLabelKey in config\n\t\t? config[configLabelKey]\n\t\t: config[key as keyof typeof config];\n}\n\nexport {\n\tChartContainer,\n\tChartTooltip,\n\tChartTooltipContent,\n\tChartLegend,\n\tChartLegendContent,\n\tChartStyle,\n};\n"],"names":["React","RechartsPrimitive","cn","THEMES","light","dark","ChartContext","createContext","useChart","context","useContext","Error","ChartContainer","id","className","children","config","props","uniqueId","useId","chartId","replace","Provider","value","div","data-slot","data-chart","ChartStyle","ResponsiveContainer","colorConfig","Object","entries","filter","theme","color","length","style","dangerouslySetInnerHTML","__html","map","prefix","key","itemConfig","join","ChartTooltip","Tooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","useMemo","item","dataKey","name","getPayloadConfigFromPayload","nestLabel","index","indicatorColor","fill","undefined","icon","span","toLocaleString","ChartLegend","Legend","ChartLegendContent","hideIcon","verticalAlign","backgroundColor","payloadPayload","configLabelKey"],"mappings":"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"}
|
|
@@ -1,29 +1,89 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Bar, BarChart, CartesianGrid, XAxis } from "recharts";
|
|
3
|
-
import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent
|
|
3
|
+
import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent } from "./chart.js";
|
|
4
4
|
const chartData = [
|
|
5
|
-
{
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
{
|
|
5
|
+
{
|
|
6
|
+
month: "January",
|
|
7
|
+
desktop: 186,
|
|
8
|
+
mobile: 80
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
month: "February",
|
|
12
|
+
desktop: 305,
|
|
13
|
+
mobile: 200
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
month: "March",
|
|
17
|
+
desktop: 237,
|
|
18
|
+
mobile: 120
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
month: "April",
|
|
22
|
+
desktop: 73,
|
|
23
|
+
mobile: 190
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
month: "May",
|
|
27
|
+
desktop: 209,
|
|
28
|
+
mobile: 130
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
month: "June",
|
|
32
|
+
desktop: 214,
|
|
33
|
+
mobile: 140
|
|
34
|
+
}
|
|
11
35
|
];
|
|
12
36
|
const chartConfig = {
|
|
13
37
|
desktop: {
|
|
14
38
|
label: "Desktop",
|
|
15
|
-
color: "#2563eb"
|
|
39
|
+
color: "#2563eb"
|
|
16
40
|
},
|
|
17
41
|
mobile: {
|
|
18
42
|
label: "Mobile",
|
|
19
|
-
color: "#60a5fa"
|
|
20
|
-
}
|
|
43
|
+
color: "#60a5fa"
|
|
44
|
+
}
|
|
21
45
|
};
|
|
22
46
|
const meta = {
|
|
23
|
-
title: "Component/Chart"
|
|
47
|
+
title: "Component/Chart"
|
|
24
48
|
};
|
|
25
49
|
export default meta;
|
|
26
50
|
export const Demo = {
|
|
27
|
-
render: ()
|
|
51
|
+
render: ()=>/*#__PURE__*/ _jsx(ChartContainer, {
|
|
52
|
+
config: chartConfig,
|
|
53
|
+
className: "min-h-[200px] w-full",
|
|
54
|
+
children: /*#__PURE__*/ _jsxs(BarChart, {
|
|
55
|
+
accessibilityLayer: true,
|
|
56
|
+
data: chartData,
|
|
57
|
+
children: [
|
|
58
|
+
/*#__PURE__*/ _jsx(CartesianGrid, {
|
|
59
|
+
vertical: false
|
|
60
|
+
}),
|
|
61
|
+
/*#__PURE__*/ _jsx(XAxis, {
|
|
62
|
+
dataKey: "month",
|
|
63
|
+
tickLine: false,
|
|
64
|
+
tickMargin: 10,
|
|
65
|
+
axisLine: false,
|
|
66
|
+
tickFormatter: (value)=>value.slice(0, 3)
|
|
67
|
+
}),
|
|
68
|
+
/*#__PURE__*/ _jsx(ChartTooltip, {
|
|
69
|
+
content: /*#__PURE__*/ _jsx(ChartTooltipContent, {})
|
|
70
|
+
}),
|
|
71
|
+
/*#__PURE__*/ _jsx(ChartLegend, {
|
|
72
|
+
content: /*#__PURE__*/ _jsx(ChartLegendContent, {})
|
|
73
|
+
}),
|
|
74
|
+
/*#__PURE__*/ _jsx(Bar, {
|
|
75
|
+
dataKey: "desktop",
|
|
76
|
+
fill: "var(--color-desktop)",
|
|
77
|
+
radius: 4
|
|
78
|
+
}),
|
|
79
|
+
/*#__PURE__*/ _jsx(Bar, {
|
|
80
|
+
dataKey: "mobile",
|
|
81
|
+
fill: "var(--color-mobile)",
|
|
82
|
+
radius: 4
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
})
|
|
86
|
+
})
|
|
28
87
|
};
|
|
88
|
+
|
|
29
89
|
//# sourceMappingURL=chart.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/chart.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Bar, BarChart, CartesianGrid, XAxis } from \"recharts\";\nimport {\n\ttype ChartConfig,\n\tChartContainer,\n\tChartLegend,\n\tChartLegendContent,\n\tChartTooltip,\n\tChartTooltipContent,\n} from \"#shadcn/components/ui/chart\";\n\nconst chartData = [\n\t{ month: \"January\", desktop: 186, mobile: 80 },\n\t{ month: \"February\", desktop: 305, mobile: 200 },\n\t{ month: \"March\", desktop: 237, mobile: 120 },\n\t{ month: \"April\", desktop: 73, mobile: 190 },\n\t{ month: \"May\", desktop: 209, mobile: 130 },\n\t{ month: \"June\", desktop: 214, mobile: 140 },\n];\n\nconst chartConfig = {\n\tdesktop: {\n\t\tlabel: \"Desktop\",\n\t\tcolor: \"#2563eb\",\n\t},\n\tmobile: {\n\t\tlabel: \"Mobile\",\n\t\tcolor: \"#60a5fa\",\n\t},\n} satisfies ChartConfig;\n\nconst meta = {\n\ttitle: \"Component/Chart\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<ChartContainer config={chartConfig} className=\"min-h-[200px] w-full\">\n\t\t\t<BarChart accessibilityLayer data={chartData}>\n\t\t\t\t<CartesianGrid vertical={false} />\n\t\t\t\t<XAxis\n\t\t\t\t\tdataKey=\"month\"\n\t\t\t\t\ttickLine={false}\n\t\t\t\t\ttickMargin={10}\n\t\t\t\t\taxisLine={false}\n\t\t\t\t\ttickFormatter={(value) => value.slice(0, 3)}\n\t\t\t\t/>\n\t\t\t\t<ChartTooltip content={<ChartTooltipContent />} />\n\t\t\t\t<ChartLegend content={<ChartLegendContent />} />\n\t\t\t\t<Bar dataKey=\"desktop\" fill=\"var(--color-desktop)\" radius={4} />\n\t\t\t\t<Bar dataKey=\"mobile\" fill=\"var(--color-mobile)\" radius={4} />\n\t\t\t</BarChart>\n\t\t</ChartContainer>\n\t),\n} satisfies Story;\n"],"names":["Bar","BarChart","CartesianGrid","XAxis","ChartContainer","ChartLegend","ChartLegendContent","ChartTooltip","ChartTooltipContent","chartData","month","desktop","mobile","chartConfig","label","color","meta","title","Demo","render","config","className","accessibilityLayer","data","vertical","dataKey","tickLine","tickMargin","axisLine","tickFormatter","value","slice","content","fill","radius"],"mappings":";AACA,SAASA,GAAG,EAAEC,QAAQ,EAAEC,aAAa,EAAEC,KAAK,QAAQ,WAAW;AAC/D,SAECC,cAAc,EACdC,WAAW,EACXC,kBAAkB,EAClBC,YAAY,EACZC,mBAAmB,QACb,aAA8B;AAErC,MAAMC,YAAY;IACjB;QAAEC,OAAO;QAAWC,SAAS;QAAKC,QAAQ;IAAG;IAC7C;QAAEF,OAAO;QAAYC,SAAS;QAAKC,QAAQ;IAAI;IAC/C;QAAEF,OAAO;QAASC,SAAS;QAAKC,QAAQ;IAAI;IAC5C;QAAEF,OAAO;QAASC,SAAS;QAAIC,QAAQ;IAAI;IAC3C;QAAEF,OAAO;QAAOC,SAAS;QAAKC,QAAQ;IAAI;IAC1C;QAAEF,OAAO;QAAQC,SAAS;QAAKC,QAAQ;IAAI;CAC3C;AAED,MAAMC,cAAc;IACnBF,SAAS;QACRG,OAAO;QACPC,OAAO;IACR;IACAH,QAAQ;QACPE,OAAO;QACPC,OAAO;IACR;AACD;AAEA,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,KAACf;YAAegB,QAAQP;YAAaQ,WAAU;sBAC9C,cAAA,MAACpB;gBAASqB,kBAAkB;gBAACC,MAAMd;;kCAClC,KAACP;wBAAcsB,UAAU;;kCACzB,KAACrB;wBACAsB,SAAQ;wBACRC,UAAU;wBACVC,YAAY;wBACZC,UAAU;wBACVC,eAAe,CAACC,QAAUA,MAAMC,KAAK,CAAC,GAAG;;kCAE1C,KAACxB;wBAAayB,uBAAS,KAACxB;;kCACxB,KAACH;wBAAY2B,uBAAS,KAAC1B;;kCACvB,KAACN;wBAAIyB,SAAQ;wBAAUQ,MAAK;wBAAuBC,QAAQ;;kCAC3D,KAAClC;wBAAIyB,SAAQ;wBAASQ,MAAK;wBAAsBC,QAAQ;;;;;AAI7D,EAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAIpC,iBAAS,QAAQ,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAkBrD;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
3
4
|
import { CheckIcon } from "lucide-react";
|
|
4
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../lib/utils.js";
|
|
5
6
|
function Checkbox({ className, ...props }) {
|
|
6
|
-
return
|
|
7
|
+
return /*#__PURE__*/ _jsx(CheckboxPrimitive.Root, {
|
|
8
|
+
"data-slot": "checkbox",
|
|
9
|
+
className: cn("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
10
|
+
...props,
|
|
11
|
+
children: /*#__PURE__*/ _jsx(CheckboxPrimitive.Indicator, {
|
|
12
|
+
"data-slot": "checkbox-indicator",
|
|
13
|
+
className: "flex items-center justify-center text-current transition-none",
|
|
14
|
+
children: /*#__PURE__*/ _jsx(CheckIcon, {
|
|
15
|
+
className: "size-3.5"
|
|
16
|
+
})
|
|
17
|
+
})
|
|
18
|
+
});
|
|
7
19
|
}
|
|
8
20
|
export { Checkbox };
|
|
21
|
+
|
|
9
22
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.tsx"],"sourcesContent":["\"use client\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { CheckIcon } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Checkbox({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tdata-slot=\"checkbox\"\n\t\t\tclassName={cn(\n\t\t\t\t\"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator\n\t\t\t\tdata-slot=\"checkbox-indicator\"\n\t\t\t\tclassName=\"flex items-center justify-center text-current transition-none\"\n\t\t\t>\n\t\t\t\t<CheckIcon className=\"size-3.5\" />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t);\n}\n\nexport { Checkbox };\n"],"names":["CheckboxPrimitive","CheckIcon","cn","Checkbox","className","props","Root","data-slot","Indicator"],"mappings":"AAAA;;AACA,YAAYA,uBAAuB,2BAA2B;AAC9D,SAASC,SAAS,QAAQ,eAAe;AAGzC,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,SAAS,EACjBC,SAAS,EACT,GAAGC,OACkD;IACrD,qBACC,KAACL,kBAAkBM,IAAI;QACtBC,aAAU;QACVH,WAAWF,GACV,+eACAE;QAEA,GAAGC,KAAK;kBAET,cAAA,KAACL,kBAAkBQ,SAAS;YAC3BD,aAAU;YACVH,WAAU;sBAEV,cAAA,KAACH;gBAAUG,WAAU;;;;AAIzB;AAEA,SAASD,QAAQ,GAAG"}
|
|
@@ -1,11 +1,86 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Checkbox } from "
|
|
3
|
-
import { Label } from "
|
|
2
|
+
import { Checkbox } from "./checkbox.js";
|
|
3
|
+
import { Label } from "./label.js";
|
|
4
4
|
const meta = {
|
|
5
|
-
title: "Component/Checkbox"
|
|
5
|
+
title: "Component/Checkbox"
|
|
6
6
|
};
|
|
7
7
|
export default meta;
|
|
8
8
|
export const Demo = {
|
|
9
|
-
render: ()
|
|
9
|
+
render: ()=>/*#__PURE__*/ _jsxs("div", {
|
|
10
|
+
className: "flex flex-col gap-6",
|
|
11
|
+
children: [
|
|
12
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
13
|
+
className: "flex items-center gap-3",
|
|
14
|
+
children: [
|
|
15
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
16
|
+
id: "terms"
|
|
17
|
+
}),
|
|
18
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
19
|
+
htmlFor: "terms",
|
|
20
|
+
children: "Accept terms and conditions"
|
|
21
|
+
})
|
|
22
|
+
]
|
|
23
|
+
}),
|
|
24
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
25
|
+
className: "flex items-start gap-3",
|
|
26
|
+
children: [
|
|
27
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
28
|
+
id: "terms-2",
|
|
29
|
+
defaultChecked: true
|
|
30
|
+
}),
|
|
31
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
32
|
+
className: "grid gap-2",
|
|
33
|
+
children: [
|
|
34
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
35
|
+
htmlFor: "terms-2",
|
|
36
|
+
children: "Accept terms and conditions"
|
|
37
|
+
}),
|
|
38
|
+
/*#__PURE__*/ _jsx("p", {
|
|
39
|
+
className: "text-muted-foreground text-sm",
|
|
40
|
+
children: "By clicking this checkbox, you agree to the terms and conditions."
|
|
41
|
+
})
|
|
42
|
+
]
|
|
43
|
+
})
|
|
44
|
+
]
|
|
45
|
+
}),
|
|
46
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
47
|
+
className: "flex items-start gap-3",
|
|
48
|
+
children: [
|
|
49
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
50
|
+
id: "toggle",
|
|
51
|
+
disabled: true
|
|
52
|
+
}),
|
|
53
|
+
/*#__PURE__*/ _jsx(Label, {
|
|
54
|
+
htmlFor: "toggle",
|
|
55
|
+
children: "Enable notifications"
|
|
56
|
+
})
|
|
57
|
+
]
|
|
58
|
+
}),
|
|
59
|
+
/*#__PURE__*/ _jsxs(Label, {
|
|
60
|
+
className: "hover:bg-accent/50 flex items-start gap-3 rounded-lg border p-3 has-[[aria-checked=true]]:border-blue-600 has-[[aria-checked=true]]:bg-blue-50 dark:has-[[aria-checked=true]]:border-blue-900 dark:has-[[aria-checked=true]]:bg-blue-950",
|
|
61
|
+
children: [
|
|
62
|
+
/*#__PURE__*/ _jsx(Checkbox, {
|
|
63
|
+
id: "toggle-2",
|
|
64
|
+
defaultChecked: true,
|
|
65
|
+
className: "data-[state=checked]:border-blue-600 data-[state=checked]:bg-blue-600 data-[state=checked]:text-white dark:data-[state=checked]:border-blue-700 dark:data-[state=checked]:bg-blue-700"
|
|
66
|
+
}),
|
|
67
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
68
|
+
className: "grid gap-1.5 font-normal",
|
|
69
|
+
children: [
|
|
70
|
+
/*#__PURE__*/ _jsx("p", {
|
|
71
|
+
className: "text-sm leading-none font-medium",
|
|
72
|
+
children: "Enable notifications"
|
|
73
|
+
}),
|
|
74
|
+
/*#__PURE__*/ _jsx("p", {
|
|
75
|
+
className: "text-muted-foreground text-sm",
|
|
76
|
+
children: "You can enable or disable notifications at any time."
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
})
|
|
80
|
+
]
|
|
81
|
+
})
|
|
82
|
+
]
|
|
83
|
+
})
|
|
10
84
|
};
|
|
85
|
+
|
|
11
86
|
//# sourceMappingURL=checkbox.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/shadcn/components/ui/checkbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Checkbox } from \"#shadcn/components/ui/checkbox\";\nimport { Label } from \"#shadcn/components/ui/label\";\n\nconst meta = {\n\ttitle: \"Component/Checkbox\",\n} satisfies Meta;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Demo = {\n\trender: () => (\n\t\t<div className=\"flex flex-col gap-6\">\n\t\t\t<div className=\"flex items-center gap-3\">\n\t\t\t\t<Checkbox id=\"terms\" />\n\t\t\t\t<Label htmlFor=\"terms\">Accept terms and conditions</Label>\n\t\t\t</div>\n\t\t\t<div className=\"flex items-start gap-3\">\n\t\t\t\t<Checkbox id=\"terms-2\" defaultChecked />\n\t\t\t\t<div className=\"grid gap-2\">\n\t\t\t\t\t<Label htmlFor=\"terms-2\">Accept terms and conditions</Label>\n\t\t\t\t\t<p className=\"text-muted-foreground text-sm\">\n\t\t\t\t\t\tBy clicking this checkbox, you agree to the terms and conditions.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div className=\"flex items-start gap-3\">\n\t\t\t\t<Checkbox id=\"toggle\" disabled />\n\t\t\t\t<Label htmlFor=\"toggle\">Enable notifications</Label>\n\t\t\t</div>\n\t\t\t<Label className=\"hover:bg-accent/50 flex items-start gap-3 rounded-lg border p-3 has-[[aria-checked=true]]:border-blue-600 has-[[aria-checked=true]]:bg-blue-50 dark:has-[[aria-checked=true]]:border-blue-900 dark:has-[[aria-checked=true]]:bg-blue-950\">\n\t\t\t\t<Checkbox\n\t\t\t\t\tid=\"toggle-2\"\n\t\t\t\t\tdefaultChecked\n\t\t\t\t\tclassName=\"data-[state=checked]:border-blue-600 data-[state=checked]:bg-blue-600 data-[state=checked]:text-white dark:data-[state=checked]:border-blue-700 dark:data-[state=checked]:bg-blue-700\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"grid gap-1.5 font-normal\">\n\t\t\t\t\t<p className=\"text-sm leading-none font-medium\">\n\t\t\t\t\t\tEnable notifications\n\t\t\t\t\t</p>\n\t\t\t\t\t<p className=\"text-muted-foreground text-sm\">\n\t\t\t\t\t\tYou can enable or disable notifications at any time.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</Label>\n\t\t</div>\n\t),\n} satisfies Story;\n"],"names":["Checkbox","Label","meta","title","Demo","render","div","className","id","htmlFor","defaultChecked","p","disabled"],"mappings":";AACA,SAASA,QAAQ,QAAQ,gBAAiC;AAC1D,SAASC,KAAK,QAAQ,aAA8B;AAEpD,MAAMC,OAAO;IACZC,OAAO;AACR;AACA,eAAeD,KAAK;AAIpB,OAAO,MAAME,OAAO;IACnBC,QAAQ,kBACP,MAACC;YAAIC,WAAU;;8BACd,MAACD;oBAAIC,WAAU;;sCACd,KAACP;4BAASQ,IAAG;;sCACb,KAACP;4BAAMQ,SAAQ;sCAAQ;;;;8BAExB,MAACH;oBAAIC,WAAU;;sCACd,KAACP;4BAASQ,IAAG;4BAAUE,cAAc;;sCACrC,MAACJ;4BAAIC,WAAU;;8CACd,KAACN;oCAAMQ,SAAQ;8CAAU;;8CACzB,KAACE;oCAAEJ,WAAU;8CAAgC;;;;;;8BAK/C,MAACD;oBAAIC,WAAU;;sCACd,KAACP;4BAASQ,IAAG;4BAASI,QAAQ;;sCAC9B,KAACX;4BAAMQ,SAAQ;sCAAS;;;;8BAEzB,MAACR;oBAAMM,WAAU;;sCAChB,KAACP;4BACAQ,IAAG;4BACHE,cAAc;4BACdH,WAAU;;sCAEX,MAACD;4BAAIC,WAAU;;8CACd,KAACI;oCAAEJ,WAAU;8CAAmC;;8CAGhD,KAACI;oCAAEJ,WAAU;8CAAgC;;;;;;;;AAOlD,EAAkB"}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
|
|
3
3
|
function Collapsible({ ...props }) {
|
|
4
|
-
return _jsx(CollapsiblePrimitive.Root, {
|
|
4
|
+
return /*#__PURE__*/ _jsx(CollapsiblePrimitive.Root, {
|
|
5
|
+
"data-slot": "collapsible",
|
|
6
|
+
...props
|
|
7
|
+
});
|
|
5
8
|
}
|
|
6
9
|
function CollapsibleTrigger({ ...props }) {
|
|
7
|
-
return
|
|
10
|
+
return /*#__PURE__*/ _jsx(CollapsiblePrimitive.CollapsibleTrigger, {
|
|
11
|
+
"data-slot": "collapsible-trigger",
|
|
12
|
+
...props
|
|
13
|
+
});
|
|
8
14
|
}
|
|
9
15
|
function CollapsibleContent({ ...props }) {
|
|
10
|
-
return
|
|
16
|
+
return /*#__PURE__*/ _jsx(CollapsiblePrimitive.CollapsibleContent, {
|
|
17
|
+
"data-slot": "collapsible-content",
|
|
18
|
+
...props
|
|
19
|
+
});
|
|
11
20
|
}
|
|
12
21
|
export { Collapsible, CollapsibleTrigger, CollapsibleContent };
|
|
22
|
+
|
|
13
23
|
//# sourceMappingURL=collapsible.js.map
|