@mantajs/ui 0.2.0-beta.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.
Files changed (141) hide show
  1. package/dist/components/alert-dialog.d.ts +21 -0
  2. package/dist/components/alert-dialog.d.ts.map +1 -0
  3. package/dist/components/alert-dialog.js +25 -0
  4. package/dist/components/alert-dialog.js.map +1 -0
  5. package/dist/components/alert.d.ts +13 -0
  6. package/dist/components/alert.d.ts.map +1 -0
  7. package/dist/components/alert.js +32 -0
  8. package/dist/components/alert.js.map +1 -0
  9. package/dist/components/avatar.d.ts +16 -0
  10. package/dist/components/avatar.d.ts.map +1 -0
  11. package/dist/components/avatar.js +23 -0
  12. package/dist/components/avatar.js.map +1 -0
  13. package/dist/components/badge.d.ts +14 -0
  14. package/dist/components/badge.d.ts.map +1 -0
  15. package/dist/components/badge.js +30 -0
  16. package/dist/components/badge.js.map +1 -0
  17. package/dist/components/button.d.ts +16 -0
  18. package/dist/components/button.d.ts.map +1 -0
  19. package/dist/components/button.js +45 -0
  20. package/dist/components/button.js.map +1 -0
  21. package/dist/components/calendar.d.ts +8 -0
  22. package/dist/components/calendar.d.ts.map +1 -0
  23. package/dist/components/calendar.js +43 -0
  24. package/dist/components/calendar.js.map +1 -0
  25. package/dist/components/card.d.ts +9 -0
  26. package/dist/components/card.d.ts.map +1 -0
  27. package/dist/components/card.js +17 -0
  28. package/dist/components/card.js.map +1 -0
  29. package/dist/components/chart.d.ts +63 -0
  30. package/dist/components/chart.d.ts.map +1 -0
  31. package/dist/components/chart.js +122 -0
  32. package/dist/components/chart.js.map +1 -0
  33. package/dist/components/checkbox.d.ts +5 -0
  34. package/dist/components/checkbox.d.ts.map +1 -0
  35. package/dist/components/checkbox.js +9 -0
  36. package/dist/components/checkbox.js.map +1 -0
  37. package/dist/components/command.d.ts +78 -0
  38. package/dist/components/command.d.ts.map +1 -0
  39. package/dist/components/command.js +17 -0
  40. package/dist/components/command.js.map +1 -0
  41. package/dist/components/date-range-picker.d.ts +12 -0
  42. package/dist/components/date-range-picker.d.ts.map +1 -0
  43. package/dist/components/date-range-picker.js +51 -0
  44. package/dist/components/date-range-picker.js.map +1 -0
  45. package/dist/components/dialog.d.ts +14 -0
  46. package/dist/components/dialog.d.ts.map +1 -0
  47. package/dist/components/dialog.js +17 -0
  48. package/dist/components/dialog.js.map +1 -0
  49. package/dist/components/dropdown-menu.d.ts +49 -0
  50. package/dist/components/dropdown-menu.d.ts.map +1 -0
  51. package/dist/components/dropdown-menu.js +47 -0
  52. package/dist/components/dropdown-menu.js.map +1 -0
  53. package/dist/components/input.d.ts +7 -0
  54. package/dist/components/input.d.ts.map +1 -0
  55. package/dist/components/input.js +9 -0
  56. package/dist/components/input.js.map +1 -0
  57. package/dist/components/label.d.ts +9 -0
  58. package/dist/components/label.d.ts.map +1 -0
  59. package/dist/components/label.js +10 -0
  60. package/dist/components/label.js.map +1 -0
  61. package/dist/components/pagination.d.ts +14 -0
  62. package/dist/components/pagination.d.ts.map +1 -0
  63. package/dist/components/pagination.js +14 -0
  64. package/dist/components/pagination.js.map +1 -0
  65. package/dist/components/popover.d.ts +7 -0
  66. package/dist/components/popover.d.ts.map +1 -0
  67. package/dist/components/popover.js +10 -0
  68. package/dist/components/popover.js.map +1 -0
  69. package/dist/components/progress.d.ts +5 -0
  70. package/dist/components/progress.d.ts.map +1 -0
  71. package/dist/components/progress.js +8 -0
  72. package/dist/components/progress.js.map +1 -0
  73. package/dist/components/radio-group.d.ts +6 -0
  74. package/dist/components/radio-group.d.ts.map +1 -0
  75. package/dist/components/radio-group.js +11 -0
  76. package/dist/components/radio-group.js.map +1 -0
  77. package/dist/components/scroll-area.d.ts +6 -0
  78. package/dist/components/scroll-area.d.ts.map +1 -0
  79. package/dist/components/scroll-area.js +8 -0
  80. package/dist/components/scroll-area.js.map +1 -0
  81. package/dist/components/select.d.ts +12 -0
  82. package/dist/components/select.d.ts.map +1 -0
  83. package/dist/components/select.js +22 -0
  84. package/dist/components/select.js.map +1 -0
  85. package/dist/components/separator.d.ts +9 -0
  86. package/dist/components/separator.d.ts.map +1 -0
  87. package/dist/components/separator.js +16 -0
  88. package/dist/components/separator.js.map +1 -0
  89. package/dist/components/sheet.d.ts +20 -0
  90. package/dist/components/sheet.d.ts.map +1 -0
  91. package/dist/components/sheet.js +30 -0
  92. package/dist/components/sheet.js.map +1 -0
  93. package/dist/components/skeleton.d.ts +3 -0
  94. package/dist/components/skeleton.d.ts.map +1 -0
  95. package/dist/components/skeleton.js +7 -0
  96. package/dist/components/skeleton.js.map +1 -0
  97. package/dist/components/sonner.d.ts +5 -0
  98. package/dist/components/sonner.d.ts.map +1 -0
  99. package/dist/components/sonner.js +17 -0
  100. package/dist/components/sonner.js.map +1 -0
  101. package/dist/components/switch.d.ts +5 -0
  102. package/dist/components/switch.d.ts.map +1 -0
  103. package/dist/components/switch.js +8 -0
  104. package/dist/components/switch.js.map +1 -0
  105. package/dist/components/table.d.ts +40 -0
  106. package/dist/components/table.d.ts.map +1 -0
  107. package/dist/components/table.js +40 -0
  108. package/dist/components/table.js.map +1 -0
  109. package/dist/components/tabs.d.ts +8 -0
  110. package/dist/components/tabs.d.ts.map +1 -0
  111. package/dist/components/tabs.js +10 -0
  112. package/dist/components/tabs.js.map +1 -0
  113. package/dist/components/textarea.d.ts +4 -0
  114. package/dist/components/textarea.d.ts.map +1 -0
  115. package/dist/components/textarea.js +7 -0
  116. package/dist/components/textarea.js.map +1 -0
  117. package/dist/components/tooltip.d.ts +16 -0
  118. package/dist/components/tooltip.d.ts.map +1 -0
  119. package/dist/components/tooltip.js +16 -0
  120. package/dist/components/tooltip.js.map +1 -0
  121. package/dist/hooks/use-prompt.d.ts +17 -0
  122. package/dist/hooks/use-prompt.d.ts.map +1 -0
  123. package/dist/hooks/use-prompt.js +39 -0
  124. package/dist/hooks/use-prompt.js.map +1 -0
  125. package/dist/index.d.ts +43 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +37 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/lib/__tests__/date-range.test.d.ts +2 -0
  130. package/dist/lib/__tests__/date-range.test.d.ts.map +1 -0
  131. package/dist/lib/__tests__/date-range.test.js +63 -0
  132. package/dist/lib/__tests__/date-range.test.js.map +1 -0
  133. package/dist/lib/date-range.d.ts +41 -0
  134. package/dist/lib/date-range.d.ts.map +1 -0
  135. package/dist/lib/date-range.js +111 -0
  136. package/dist/lib/date-range.js.map +1 -0
  137. package/dist/lib/utils.d.ts +3 -0
  138. package/dist/lib/utils.d.ts.map +1 -0
  139. package/dist/lib/utils.js +6 -0
  140. package/dist/lib/utils.js.map +1 -0
  141. package/package.json +45 -0
@@ -0,0 +1,122 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // Chart primitives — verbatim from shadcn/ui registry, lightly adapted to
3
+ // match repo conventions (path aliases, single-quote style). Provides
4
+ // ChartContainer + a typed tooltip/legend setup over Recharts.
5
+ import * as React from 'react';
6
+ import * as RechartsPrimitive from 'recharts';
7
+ import { cn } from '../lib/utils';
8
+ // Format: { THEME_NAME: CSS_SELECTOR }
9
+ const THEMES = { light: '', dark: '.dark' };
10
+ const ChartContext = React.createContext(null);
11
+ function useChart() {
12
+ const context = React.useContext(ChartContext);
13
+ if (!context) {
14
+ throw new Error('useChart must be used within a <ChartContainer />');
15
+ }
16
+ return context;
17
+ }
18
+ const ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
19
+ const uniqueId = React.useId();
20
+ const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;
21
+ return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { "data-chart": chartId, ref: ref, className: cn("flex aspect-video justify-center text-xs [&_.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-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.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 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), _jsx(RechartsPrimitive.ResponsiveContainer, { children: children })] }) }));
22
+ });
23
+ ChartContainer.displayName = 'Chart';
24
+ const ChartStyle = ({ id, config }) => {
25
+ const colorConfig = Object.entries(config).filter(([, cfg]) => cfg.theme || cfg.color);
26
+ if (!colorConfig.length) {
27
+ return null;
28
+ }
29
+ return (_jsx("style", {
30
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: shadcn pattern — injects scoped CSS vars per chart instance
31
+ dangerouslySetInnerHTML: {
32
+ __html: Object.entries(THEMES)
33
+ .map(([theme, prefix]) => `
34
+ ${prefix} [data-chart=${id}] {
35
+ ${colorConfig
36
+ .map(([key, itemConfig]) => {
37
+ const color = itemConfig.theme?.[theme] || itemConfig.color;
38
+ return color ? ` --color-${key}: ${color};` : null;
39
+ })
40
+ .join('\n')}
41
+ }
42
+ `)
43
+ .join('\n'),
44
+ } }));
45
+ };
46
+ const ChartTooltip = RechartsPrimitive.Tooltip;
47
+ const ChartTooltipContent = React.forwardRef(({ active, payload, className, indicator = 'dot', hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }, ref) => {
48
+ const { config } = useChart();
49
+ const tooltipLabel = React.useMemo(() => {
50
+ if (hideLabel || !payload?.length) {
51
+ return null;
52
+ }
53
+ const [item] = payload;
54
+ const key = `${labelKey || item.dataKey || item.name || 'value'}`;
55
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
56
+ const value = !labelKey && typeof label === 'string'
57
+ ? config[label]?.label || label
58
+ : itemConfig?.label;
59
+ if (labelFormatter) {
60
+ return _jsx("div", { className: cn('font-medium', labelClassName), children: labelFormatter(value, payload) });
61
+ }
62
+ if (!value) {
63
+ return null;
64
+ }
65
+ return _jsx("div", { className: cn('font-medium', labelClassName), children: value });
66
+ }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
67
+ if (!active || !payload?.length) {
68
+ return null;
69
+ }
70
+ const nestLabel = payload.length === 1 && indicator !== 'dot';
71
+ return (_jsxs("div", { ref: ref, className: cn('grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl', className), children: [!nestLabel ? tooltipLabel : null, _jsx("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
72
+ const key = `${nameKey || item.name || item.dataKey || 'value'}`;
73
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
74
+ const indicatorColor = color || item.payload?.fill || item.color;
75
+ return (_jsx("div", { className: cn('flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground', indicator === 'dot' && 'items-center'), children: formatter && item?.value !== undefined && item.name ? (formatter(item.value, item.name, item, index, item.payload)) : (_jsxs(_Fragment, { children: [itemConfig?.icon ? (_jsx(itemConfig.icon, {})) : (!hideIndicator && (_jsx("div", { className: cn('shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)', {
76
+ 'h-2.5 w-2.5': indicator === 'dot',
77
+ 'w-1': indicator === 'line',
78
+ 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',
79
+ 'my-0.5': nestLabel && indicator === 'dashed',
80
+ }), style: {
81
+ '--color-bg': indicatorColor,
82
+ '--color-border': indicatorColor,
83
+ } }))), _jsxs("div", { className: cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center'), children: [_jsxs("div", { className: "grid gap-1.5", children: [nestLabel ? tooltipLabel : null, _jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })] }), item.value && (_jsx("span", { className: "font-mono font-medium tabular-nums text-foreground", children: item.value.toLocaleString() }))] })] })) }, item.dataKey ?? index));
84
+ }) })] }));
85
+ });
86
+ ChartTooltipContent.displayName = 'ChartTooltip';
87
+ const ChartLegend = RechartsPrimitive.Legend;
88
+ const ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {
89
+ const { config } = useChart();
90
+ if (!payload?.length) {
91
+ return null;
92
+ }
93
+ return (_jsx("div", { ref: ref, className: cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className), children: payload.map((item) => {
94
+ const key = `${nameKey || item.dataKey || 'value'}`;
95
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
96
+ return (_jsxs("div", { className: cn('flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground'), children: [itemConfig?.icon && !hideIcon ? (_jsx(itemConfig.icon, {})) : (_jsx("div", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: {
97
+ backgroundColor: item.color,
98
+ } })), itemConfig?.label] }, item.value));
99
+ }) }));
100
+ });
101
+ ChartLegendContent.displayName = 'ChartLegend';
102
+ // Helper to extract item config from a payload.
103
+ function getPayloadConfigFromPayload(config, payload, key) {
104
+ if (typeof payload !== 'object' || payload === null) {
105
+ return undefined;
106
+ }
107
+ const payloadPayload = 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null
108
+ ? payload.payload
109
+ : undefined;
110
+ let configLabelKey = key;
111
+ if (key in payload && typeof payload[key] === 'string') {
112
+ configLabelKey = payload[key];
113
+ }
114
+ else if (payloadPayload &&
115
+ key in payloadPayload &&
116
+ typeof payloadPayload[key] === 'string') {
117
+ configLabelKey = payloadPayload[key];
118
+ }
119
+ return configLabelKey in config ? config[configLabelKey] : config[key];
120
+ }
121
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
122
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/components/chart.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
2
+ import * as React from 'react';
3
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Checkbox };
5
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAE7D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,QAAQ,iKAgBZ,CAAA;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
+ import { Check } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '../lib/utils';
6
+ const Checkbox = React.forwardRef(({ className, ...props }, ref) => (_jsx(CheckboxPrimitive.Root, { ref: ref, className: cn('peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground', className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: cn('flex items-center justify-center text-current'), children: _jsx(Check, { className: "h-4 w-4" }) }) })));
7
+ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
8
+ export { Checkbox };
9
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/components/checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,iBAAiB,CAAC,IAAI,IACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,gTAAgT,EAChT,SAAS,CACV,KACG,KAAK,YAET,KAAC,iBAAiB,CAAC,SAAS,IAAC,SAAS,EAAE,EAAE,CAAC,+CAA+C,CAAC,YACzF,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,GACD,GACP,CAC1B,CAAC,CAAA;AACF,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -0,0 +1,78 @@
1
+ import type { DialogProps } from '@radix-ui/react-dialog';
2
+ import * as React from 'react';
3
+ declare const Command: React.ForwardRefExoticComponent<Omit<{
4
+ children?: React.ReactNode;
5
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
6
+ ref?: React.Ref<HTMLDivElement>;
7
+ } & {
8
+ asChild?: boolean;
9
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
10
+ label?: string;
11
+ shouldFilter?: boolean;
12
+ filter?: (value: string, search: string, keywords?: string[]) => number;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onValueChange?: (value: string) => void;
16
+ loop?: boolean;
17
+ disablePointerSelection?: boolean;
18
+ vimBindings?: boolean;
19
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
+ declare const CommandDialog: ({ children, ...props }: DialogProps) => import("react/jsx-runtime").JSX.Element;
21
+ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
22
+ ref?: React.Ref<HTMLInputElement>;
23
+ } & {
24
+ asChild?: boolean;
25
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
26
+ value?: string;
27
+ onValueChange?: (search: string) => void;
28
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
29
+ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
30
+ children?: React.ReactNode;
31
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
32
+ ref?: React.Ref<HTMLDivElement>;
33
+ } & {
34
+ asChild?: boolean;
35
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
36
+ label?: string;
37
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
+ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
39
+ children?: React.ReactNode;
40
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ ref?: React.Ref<HTMLDivElement>;
42
+ } & {
43
+ asChild?: boolean;
44
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
+ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
46
+ children?: React.ReactNode;
47
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
48
+ ref?: React.Ref<HTMLDivElement>;
49
+ } & {
50
+ asChild?: boolean;
51
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "heading" | "value"> & {
52
+ heading?: React.ReactNode;
53
+ value?: string;
54
+ forceMount?: boolean;
55
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
56
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
57
+ ref?: React.Ref<HTMLDivElement>;
58
+ } & {
59
+ asChild?: boolean;
60
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
61
+ alwaysRender?: boolean;
62
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
63
+ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
64
+ children?: React.ReactNode;
65
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
66
+ ref?: React.Ref<HTMLDivElement>;
67
+ } & {
68
+ asChild?: boolean;
69
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
70
+ disabled?: boolean;
71
+ onSelect?: (value: string) => void;
72
+ value?: string;
73
+ keywords?: string[];
74
+ forceMount?: boolean;
75
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
76
+ declare const CommandShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
77
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, };
78
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/components/command.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;sFAYX,CAAA;AAEF,QAAA,MAAM,aAAa,GAAI,wBAAwB,WAAW,4CAQzD,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;0FAehB,CAAA;AAEF,QAAA,MAAM,WAAW;;;;;;;;sFASf,CAAA;AAEF,QAAA,MAAM,YAAY;;;;;;uJAGqF,CAAA;AAEvG,QAAA,MAAM,YAAY;;;;;;;;;;sFAYhB,CAAA;AAEF,QAAA,MAAM,gBAAgB;;;;;;sFAKpB,CAAA;AAEF,QAAA,MAAM,WAAW;;;;;;;;;;;;sFAYf,CAAA;AAEF,QAAA,MAAM,eAAe,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,4CAEtF,CAAA;AAED,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Command as CommandPrimitive } from 'cmdk';
3
+ import { Search } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '../lib/utils';
6
+ import { Dialog, DialogContent } from './dialog';
7
+ const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn('flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground', className), ...props })));
8
+ const CommandDialog = ({ children, ...props }) => (_jsx(Dialog, { ...props, children: _jsx(DialogContent, { className: "overflow-hidden p-0 shadow-lg", children: _jsx(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children: children }) }) }));
9
+ const CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [_jsx(Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn('flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50', className), ...props })] })));
10
+ const CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className), ...props })));
11
+ const CommandEmpty = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Empty, { ref: ref, className: "py-6 text-center text-sm", ...props }));
12
+ const CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn('overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground', className), ...props })));
13
+ const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Separator, { ref: ref, className: cn('-mx-1 h-px bg-border', className), ...props })));
14
+ const CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn('relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', className), ...props })));
15
+ const CommandShortcut = ({ className, ...props }) => (_jsx("span", { className: cn('ml-auto text-xs tracking-widest text-muted-foreground', className), ...props }));
16
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, };
17
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/components/command.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type DateRangePreset, type DateRangeValue } from '../lib/date-range';
2
+ export interface DateRangePickerProps {
3
+ value?: DateRangeValue;
4
+ onChange: (next: DateRangeValue) => void;
5
+ allowedPresets?: DateRangePreset[];
6
+ allowCustom?: boolean;
7
+ className?: string;
8
+ /** Override the trigger button content. Defaults to formatRangeLabel(value). */
9
+ label?: string;
10
+ }
11
+ export declare function DateRangePicker({ value, onChange, allowedPresets, allowCustom, className, label, }: DateRangePickerProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=date-range-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-picker.d.ts","sourceRoot":"","sources":["../../src/components/date-range-picker.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAmC,MAAM,mBAAmB,CAAA;AAM9G,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IACxC,cAAc,CAAC,EAAE,eAAe,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAkBD,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,cAAqC,EACrC,WAAkB,EAClB,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAiEtB"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // DateRangePicker — Popover trigger + Calendar (range) + preset list.
3
+ // Controlled component: emits DateRangeValue via onChange. NO URL coupling.
4
+ import { Calendar as CalendarIcon } from 'lucide-react';
5
+ import * as React from 'react';
6
+ import { formatRangeLabel, RANGE_PRESETS } from '../lib/date-range';
7
+ import { cn } from '../lib/utils';
8
+ import { Button } from './button';
9
+ import { Calendar } from './calendar';
10
+ import { Popover, PopoverContent, PopoverTrigger } from './popover';
11
+ function toIsoDate(d) {
12
+ return new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())).toISOString().slice(0, 10);
13
+ }
14
+ function valueToDayPickerRange(v) {
15
+ if (!v)
16
+ return undefined;
17
+ if (v.kind === 'custom') {
18
+ return { from: new Date(`${v.from}T00:00:00.000Z`), to: new Date(`${v.to}T00:00:00.000Z`) };
19
+ }
20
+ if (v.kind === 'date') {
21
+ const d = new Date(`${v.date}T00:00:00.000Z`);
22
+ return { from: d, to: d };
23
+ }
24
+ return undefined;
25
+ }
26
+ export function DateRangePicker({ value, onChange, allowedPresets = ['7d', '30d', '90d'], allowCustom = true, className, label, }) {
27
+ const [open, setOpen] = React.useState(false);
28
+ const triggerLabel = label ?? (value ? formatRangeLabel(value) : 'Sélectionner une période');
29
+ const presets = RANGE_PRESETS.filter((p) => allowedPresets.includes(p.value));
30
+ const handlePreset = (preset) => {
31
+ onChange({ kind: 'preset', preset });
32
+ setOpen(false);
33
+ };
34
+ const handleRangeSelect = (range) => {
35
+ if (!range?.from)
36
+ return;
37
+ const from = toIsoDate(range.from);
38
+ const to = range.to ? toIsoDate(range.to) : from;
39
+ if (from === to) {
40
+ onChange({ kind: 'date', date: from });
41
+ }
42
+ else {
43
+ onChange({ kind: 'custom', from, to });
44
+ }
45
+ };
46
+ return (_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { variant: "outline", size: "small", className: cn('justify-start gap-2', className), children: [_jsx(CalendarIcon, { className: "h-3.5 w-3.5" }), _jsx("span", { children: triggerLabel })] }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "end", children: _jsxs("div", { className: "flex", children: [presets.length > 0 && (_jsx("div", { className: "flex flex-col gap-1 border-r p-2 min-w-[10rem]", children: presets.map((p) => {
47
+ const isActive = value?.kind === 'preset' && value.preset === p.value;
48
+ return (_jsx("button", { type: "button", onClick: () => handlePreset(p.value), className: cn('rounded-md px-2 py-1.5 text-left text-sm transition-colors', isActive ? 'bg-accent text-accent-foreground' : 'hover:bg-accent'), children: p.label }, p.value));
49
+ }) })), allowCustom && (_jsx(Calendar, { mode: "range", numberOfMonths: 2, selected: valueToDayPickerRange(value), onSelect: handleRangeSelect, defaultMonth: valueToDayPickerRange(value)?.from }))] }) })] }));
50
+ }
51
+ //# sourceMappingURL=date-range-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-picker.js","sourceRoot":"","sources":["../../src/components/date-range-picker.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
2
+ import * as React from 'react';
3
+ declare const Dialog: React.FC<DialogPrimitive.DialogProps>;
4
+ declare const DialogTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const DialogPortal: React.FC<DialogPrimitive.DialogPortalProps>;
6
+ declare const DialogClose: React.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const DialogOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const DialogContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const DialogHeader: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
10
+ declare const DialogFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
11
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
12
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
13
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
14
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,QAAA,MAAM,MAAM,uCAAuB,CAAA;AACnC,QAAA,MAAM,aAAa,8GAA0B,CAAA;AAC7C,QAAA,MAAM,YAAY,6CAAyB,CAAA;AAC3C,QAAA,MAAM,WAAW,4GAAwB,CAAA;AAEzC,QAAA,MAAM,aAAa,8JAYjB,CAAA;AAEF,QAAA,MAAM,aAAa,8JAqBjB,CAAA;AAEF,QAAA,MAAM,YAAY,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAElF,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,4CAElF,CAAA;AAED,QAAA,MAAM,WAAW,oKASf,CAAA;AAEF,QAAA,MAAM,iBAAiB,8KAKrB,CAAA;AAEF,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
3
+ import { X } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '../lib/utils';
6
+ const Dialog = DialogPrimitive.Root;
7
+ const DialogTrigger = DialogPrimitive.Trigger;
8
+ const DialogPortal = DialogPrimitive.Portal;
9
+ const DialogClose = DialogPrimitive.Close;
10
+ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props })));
11
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn('fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg', className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
12
+ const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-1.5 text-center sm:text-left', className), ...props }));
13
+ const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
14
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold leading-none tracking-tight', className), ...props })));
15
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
16
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
17
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAA;AACnC,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAA;AAC7C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAA;AAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAA;AAEzC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,wJAAwJ,EACxJ,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAGpC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,MAAC,YAAY,eACX,KAAC,aAAa,KAAG,EACjB,MAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6fAA6f,EAC7f,SAAS,CACV,KACG,KAAK,aAER,QAAQ,EACT,MAAC,eAAe,CAAC,KAAK,IAAC,SAAS,EAAC,+QAA+Q,aAC9S,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,EACzB,eAAM,SAAS,EAAC,SAAS,sBAAa,IAChB,IACA,IACb,CAChB,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,EAAE,EAAE,CAAC,CACtF,cAAK,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACnG,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC,EAAE,EAAE,CAAC,CACtF,cAAK,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC9G,CAAA;AAED,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAGlC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,KAAK,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,mDAAmD,EAAE,SAAS,CAAC,KACzE,KAAK,GACT,CACH,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAGxC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,WAAW,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAChH,CAAC,CAAA;AAEF,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { DropdownMenu as RadixDropdownMenu } from 'radix-ui';
2
+ import type React from 'react';
3
+ declare const DropdownMenuTrigger: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
4
+ declare const DropdownMenuGroup: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const DropdownMenuPortal: React.FC<RadixDropdownMenu.DropdownMenuPortalProps>;
6
+ declare const DropdownMenuSub: React.FC<RadixDropdownMenu.DropdownMenuSubProps>;
7
+ declare const DropdownMenuRadioGroup: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
8
+ declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
9
+ inset?: boolean;
10
+ } & React.RefAttributes<HTMLDivElement>>;
11
+ declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
14
+ inset?: boolean;
15
+ } & React.RefAttributes<HTMLDivElement>>;
16
+ declare const DropdownMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
17
+ declare const DropdownMenuRadioItem: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ declare const DropdownMenuLabel: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
19
+ inset?: boolean;
20
+ } & React.RefAttributes<HTMLDivElement>>;
21
+ declare const DropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
22
+ declare const DropdownMenu: React.FC<RadixDropdownMenu.DropdownMenuProps> & {
23
+ Trigger: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
24
+ Content: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
25
+ Item: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
26
+ inset?: boolean;
27
+ } & React.RefAttributes<HTMLDivElement>>;
28
+ CheckboxItem: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
29
+ RadioItem: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
30
+ Label: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
31
+ inset?: boolean;
32
+ } & React.RefAttributes<HTMLDivElement>>;
33
+ Separator: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ Group: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
35
+ Portal: React.FC<RadixDropdownMenu.DropdownMenuPortalProps>;
36
+ Sub: React.FC<RadixDropdownMenu.DropdownMenuSubProps>;
37
+ SubMenu: React.FC<RadixDropdownMenu.DropdownMenuSubProps>;
38
+ SubContent: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
39
+ SubTrigger: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
40
+ inset?: boolean;
41
+ } & React.RefAttributes<HTMLDivElement>>;
42
+ SubMenuTrigger: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
43
+ inset?: boolean;
44
+ } & React.RefAttributes<HTMLDivElement>>;
45
+ SubMenuContent: React.ForwardRefExoticComponent<Omit<RadixDropdownMenu.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
46
+ RadioGroup: React.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
47
+ };
48
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
49
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,mBAAmB,sHAA4B,CAAA;AACrD,QAAA,MAAM,iBAAiB,iHAA0B,CAAA;AACjD,QAAA,MAAM,kBAAkB,qDAA2B,CAAA;AACnD,QAAA,MAAM,eAAe,kDAAwB,CAAA;AAC7C,QAAA,MAAM,sBAAsB,sHAA+B,CAAA;AAE3D,QAAA,MAAM,sBAAsB;YAEsD,OAAO;wCAavF,CAAA;AAGF,QAAA,MAAM,sBAAsB,yKAY1B,CAAA;AAGF,QAAA,MAAM,mBAAmB,sKAevB,CAAA;AAGF,QAAA,MAAM,gBAAgB;YAEsD,OAAO;wCAWjF,CAAA;AAGF,QAAA,MAAM,wBAAwB,2KA0B5B,CAAA;AAGF,QAAA,MAAM,qBAAqB,wKAsBzB,CAAA;AAGF,QAAA,MAAM,iBAAiB;YAEsD,OAAO;wCAOlF,CAAA;AAGF,QAAA,MAAM,qBAAqB,wKAKzB,CAAA;AAKF,QAAA,MAAM,YAAY;;;;gBA1F0D,OAAO;;;;;gBAsEN,OAAO;;;;;;;;;gBAzHF,OAAO;;;gBAAP,OAAO;;;;CA8JvF,CAAA;AAEF,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DropdownMenu as RadixDropdownMenu } from 'radix-ui';
3
+ import { forwardRef } from 'react';
4
+ import { cn } from '../lib/utils';
5
+ const DropdownMenuRoot = RadixDropdownMenu.Root;
6
+ const DropdownMenuTrigger = RadixDropdownMenu.Trigger;
7
+ const DropdownMenuGroup = RadixDropdownMenu.Group;
8
+ const DropdownMenuPortal = RadixDropdownMenu.Portal;
9
+ const DropdownMenuSub = RadixDropdownMenu.Sub;
10
+ const DropdownMenuRadioGroup = RadixDropdownMenu.RadioGroup;
11
+ const DropdownMenuSubTrigger = forwardRef(({ className, inset, children, ...props }, ref) => (_jsx(RadixDropdownMenu.SubTrigger, { ref: ref, className: cn('flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', inset && 'pl-8', className), ...props, children: children })));
12
+ DropdownMenuSubTrigger.displayName = 'DropdownMenuSubTrigger';
13
+ const DropdownMenuSubContent = forwardRef(({ className, ...props }, ref) => (_jsx(RadixDropdownMenu.SubContent, { ref: ref, className: cn('z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props })));
14
+ DropdownMenuSubContent.displayName = 'DropdownMenuSubContent';
15
+ const DropdownMenuContent = forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(RadixDropdownMenu.Portal, { children: _jsx(RadixDropdownMenu.Content, { ref: ref, sideOffset: sideOffset, className: cn('z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props }) })));
16
+ DropdownMenuContent.displayName = 'DropdownMenuContent';
17
+ const DropdownMenuItem = forwardRef(({ className, inset, ...props }, ref) => (_jsx(RadixDropdownMenu.Item, { ref: ref, className: cn('relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0', inset && 'pl-8', className), ...props })));
18
+ DropdownMenuItem.displayName = 'DropdownMenuItem';
19
+ const DropdownMenuCheckboxItem = forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(RadixDropdownMenu.CheckboxItem, { ref: ref, className: cn('relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), checked: checked, ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(RadixDropdownMenu.ItemIndicator, { children: _jsxs("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", "aria-hidden": "true", children: [_jsx("title", { children: "Checked" }), _jsx("path", { d: "M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3354 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.5553 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z", fill: "currentColor" })] }) }) }), children] })));
20
+ DropdownMenuCheckboxItem.displayName = 'DropdownMenuCheckboxItem';
21
+ const DropdownMenuRadioItem = forwardRef(({ className, children, ...props }, ref) => (_jsxs(RadixDropdownMenu.RadioItem, { ref: ref, className: cn('relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(RadixDropdownMenu.ItemIndicator, { children: _jsxs("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", "aria-hidden": "true", children: [_jsx("title", { children: "Selected" }), _jsx("path", { d: "M7.5 11C9.433 11 11 9.433 11 7.5S9.433 4 7.5 4 4 5.567 4 7.5 5.567 11 7.5 11Z", fill: "currentColor" })] }) }) }), children] })));
22
+ DropdownMenuRadioItem.displayName = 'DropdownMenuRadioItem';
23
+ const DropdownMenuLabel = forwardRef(({ className, inset, ...props }, ref) => (_jsx(RadixDropdownMenu.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className), ...props })));
24
+ DropdownMenuLabel.displayName = 'DropdownMenuLabel';
25
+ const DropdownMenuSeparator = forwardRef(({ className, ...props }, ref) => (_jsx(RadixDropdownMenu.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-transparent', className), ...props })));
26
+ DropdownMenuSeparator.displayName = 'DropdownMenuSeparator';
27
+ // ── Compound component to match @medusajs/ui DropdownMenu API ──
28
+ const DropdownMenu = Object.assign(DropdownMenuRoot, {
29
+ Trigger: DropdownMenuTrigger,
30
+ Content: DropdownMenuContent,
31
+ Item: DropdownMenuItem,
32
+ CheckboxItem: DropdownMenuCheckboxItem,
33
+ RadioItem: DropdownMenuRadioItem,
34
+ Label: DropdownMenuLabel,
35
+ Separator: DropdownMenuSeparator,
36
+ Group: DropdownMenuGroup,
37
+ Portal: DropdownMenuPortal,
38
+ Sub: DropdownMenuSub,
39
+ SubMenu: DropdownMenuSub,
40
+ SubContent: DropdownMenuSubContent,
41
+ SubTrigger: DropdownMenuSubTrigger,
42
+ SubMenuTrigger: DropdownMenuSubTrigger,
43
+ SubMenuContent: DropdownMenuSubContent,
44
+ RadioGroup: DropdownMenuRadioGroup,
45
+ });
46
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
47
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type React from 'react';
2
+ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
3
+ size?: 'default' | 'small';
4
+ }
5
+ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
6
+ export { Input };
7
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3F,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAC3B;AAED,QAAA,MAAM,KAAK,qFAaT,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from 'react';
3
+ import { cn } from '../lib/utils';
4
+ const Input = forwardRef(({ className, type, size = 'default', ...props }, ref) => {
5
+ return (_jsx("input", { type: type, className: cn('flex w-full rounded-md bg-card px-3 text-sm text-foreground placeholder:text-muted-foreground transition-all border border-transparent focus-visible:outline-none focus-visible:border-border focus-visible:ring-1 focus-visible:ring-ring/20 disabled:cursor-not-allowed disabled:opacity-50', size === 'small' ? 'h-7 py-1 text-xs' : 'h-8 py-1.5', className), ref: ref, ...props }));
6
+ });
7
+ Input.displayName = 'Input';
8
+ export { Input };
9
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/components/input.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAMjC,MAAM,KAAK,GAAG,UAAU,CAA+B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9G,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX,+RAA+R,EAC/R,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,EACpD,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ import { Label as RadixLabel } from 'radix-ui';
3
+ import type React from 'react';
4
+ declare const Label: React.ForwardRefExoticComponent<Omit<RadixLabel.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & VariantProps<(props?: import("class-variance-authority/types").ClassProp | undefined) => string> & {
5
+ size?: "small" | "base" | "large" | "xsmall";
6
+ weight?: "regular" | "plus";
7
+ } & React.RefAttributes<HTMLLabelElement>>;
8
+ export { Label };
9
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,QAAA,MAAM,KAAK;WAIE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ;aACnC,SAAS,GAAG,MAAM;0CAI/B,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from 'class-variance-authority';
3
+ import { Label as RadixLabel } from 'radix-ui';
4
+ import { forwardRef } from 'react';
5
+ import { cn } from '../lib/utils';
6
+ const labelVariants = cva('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70');
7
+ const Label = forwardRef(({ className, size: _size, weight: _weight, ...props }, ref) => (_jsx(RadixLabel.Root, { ref: ref, className: cn(labelVariants(), className), ...props })));
8
+ Label.displayName = 'Label';
9
+ export { Label };
10
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","sourceRoot":"","sources":["../../src/components/label.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,MAAM,aAAa,GAAG,GAAG,CAAC,4FAA4F,CAAC,CAAA;AAEvH,MAAM,KAAK,GAAG,UAAU,CAOtB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAChE,KAAC,UAAU,CAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CACpF,CAAC,CAAA;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,CAAA"}