@powered-by-array/ui 1.30.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 (146) hide show
  1. package/README.md +163 -0
  2. package/dist/components/alert-dialog.d.ts +20 -0
  3. package/dist/components/alert-dialog.d.ts.map +1 -0
  4. package/dist/components/alert-dialog.js +40 -0
  5. package/dist/components/alert-dialog.js.map +1 -0
  6. package/dist/components/avatar.d.ts +7 -0
  7. package/dist/components/avatar.d.ts.map +1 -0
  8. package/dist/components/avatar.js +15 -0
  9. package/dist/components/avatar.js.map +1 -0
  10. package/dist/components/badge.d.ts +10 -0
  11. package/dist/components/badge.d.ts.map +1 -0
  12. package/dist/components/badge.js +24 -0
  13. package/dist/components/badge.js.map +1 -0
  14. package/dist/components/breadcrumb.d.ts +12 -0
  15. package/dist/components/breadcrumb.d.ts.map +1 -0
  16. package/dist/components/breadcrumb.js +29 -0
  17. package/dist/components/breadcrumb.js.map +1 -0
  18. package/dist/components/button.d.ts +14 -0
  19. package/dist/components/button.d.ts.map +1 -0
  20. package/dist/components/button.js +36 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/calendar.d.ts +9 -0
  23. package/dist/components/calendar.d.ts.map +1 -0
  24. package/dist/components/calendar.js +77 -0
  25. package/dist/components/calendar.js.map +1 -0
  26. package/dist/components/card.d.ts +10 -0
  27. package/dist/components/card.d.ts.map +1 -0
  28. package/dist/components/card.js +26 -0
  29. package/dist/components/card.js.map +1 -0
  30. package/dist/components/chart.d.ts +57 -0
  31. package/dist/components/chart.d.ts.map +1 -0
  32. package/dist/components/chart.js +123 -0
  33. package/dist/components/chart.js.map +1 -0
  34. package/dist/components/collapsible.d.ts +7 -0
  35. package/dist/components/collapsible.d.ts.map +1 -0
  36. package/dist/components/collapsible.js +14 -0
  37. package/dist/components/collapsible.js.map +1 -0
  38. package/dist/components/combobox.d.ts +43 -0
  39. package/dist/components/combobox.d.ts.map +1 -0
  40. package/dist/components/combobox.js +171 -0
  41. package/dist/components/combobox.js.map +1 -0
  42. package/dist/components/dialog.d.ts +20 -0
  43. package/dist/components/dialog.d.ts.map +1 -0
  44. package/dist/components/dialog.js +35 -0
  45. package/dist/components/dialog.js.map +1 -0
  46. package/dist/components/dropdown-menu.d.ts +38 -0
  47. package/dist/components/dropdown-menu.d.ts.map +1 -0
  48. package/dist/components/dropdown-menu.js +53 -0
  49. package/dist/components/dropdown-menu.js.map +1 -0
  50. package/dist/components/input.d.ts +4 -0
  51. package/dist/components/input.d.ts.map +1 -0
  52. package/dist/components/input.js +8 -0
  53. package/dist/components/input.js.map +1 -0
  54. package/dist/components/label.d.ts +5 -0
  55. package/dist/components/label.d.ts.map +1 -0
  56. package/dist/components/label.js +9 -0
  57. package/dist/components/label.js.map +1 -0
  58. package/dist/components/nav-item.d.ts +24 -0
  59. package/dist/components/nav-item.d.ts.map +1 -0
  60. package/dist/components/nav-item.js +110 -0
  61. package/dist/components/nav-item.js.map +1 -0
  62. package/dist/components/nav-list-item.d.ts +28 -0
  63. package/dist/components/nav-list-item.d.ts.map +1 -0
  64. package/dist/components/nav-list-item.js +123 -0
  65. package/dist/components/nav-list-item.js.map +1 -0
  66. package/dist/components/nav-menu-context.d.ts +11 -0
  67. package/dist/components/nav-menu-context.d.ts.map +1 -0
  68. package/dist/components/nav-menu-context.js +11 -0
  69. package/dist/components/nav-menu-context.js.map +1 -0
  70. package/dist/components/nav-menu-primitives.d.ts +37 -0
  71. package/dist/components/nav-menu-primitives.d.ts.map +1 -0
  72. package/dist/components/nav-menu-primitives.js +71 -0
  73. package/dist/components/nav-menu-primitives.js.map +1 -0
  74. package/dist/components/nav-menu.d.ts +9 -0
  75. package/dist/components/nav-menu.d.ts.map +1 -0
  76. package/dist/components/nav-menu.js +5 -0
  77. package/dist/components/nav-menu.js.map +1 -0
  78. package/dist/components/nav-profile-item.d.ts +17 -0
  79. package/dist/components/nav-profile-item.d.ts.map +1 -0
  80. package/dist/components/nav-profile-item.js +16 -0
  81. package/dist/components/nav-profile-item.js.map +1 -0
  82. package/dist/components/pagination.d.ts +14 -0
  83. package/dist/components/pagination.d.ts.map +1 -0
  84. package/dist/components/pagination.js +31 -0
  85. package/dist/components/pagination.js.map +1 -0
  86. package/dist/components/popover.d.ts +7 -0
  87. package/dist/components/popover.d.ts.map +1 -0
  88. package/dist/components/popover.js +12 -0
  89. package/dist/components/popover.js.map +1 -0
  90. package/dist/components/select.d.ts +16 -0
  91. package/dist/components/select.d.ts.map +1 -0
  92. package/dist/components/select.js +44 -0
  93. package/dist/components/select.js.map +1 -0
  94. package/dist/components/separator.d.ts +5 -0
  95. package/dist/components/separator.d.ts.map +1 -0
  96. package/dist/components/separator.js +9 -0
  97. package/dist/components/separator.js.map +1 -0
  98. package/dist/components/sheet.d.ts +18 -0
  99. package/dist/components/sheet.d.ts.map +1 -0
  100. package/dist/components/sheet.js +41 -0
  101. package/dist/components/sheet.js.map +1 -0
  102. package/dist/components/sidebar.d.ts +71 -0
  103. package/dist/components/sidebar.d.ts.map +1 -0
  104. package/dist/components/sidebar.js +218 -0
  105. package/dist/components/sidebar.js.map +1 -0
  106. package/dist/components/skeleton.d.ts +4 -0
  107. package/dist/components/skeleton.d.ts.map +1 -0
  108. package/dist/components/skeleton.js +8 -0
  109. package/dist/components/skeleton.js.map +1 -0
  110. package/dist/components/sonner.d.ts +7 -0
  111. package/dist/components/sonner.d.ts.map +1 -0
  112. package/dist/components/sonner.js +22 -0
  113. package/dist/components/sonner.js.map +1 -0
  114. package/dist/components/switch.d.ts +5 -0
  115. package/dist/components/switch.d.ts.map +1 -0
  116. package/dist/components/switch.js +9 -0
  117. package/dist/components/switch.js.map +1 -0
  118. package/dist/components/table.d.ts +11 -0
  119. package/dist/components/table.d.ts.map +1 -0
  120. package/dist/components/table.js +29 -0
  121. package/dist/components/table.js.map +1 -0
  122. package/dist/components/tabs.d.ts +25 -0
  123. package/dist/components/tabs.d.ts.map +1 -0
  124. package/dist/components/tabs.js +34 -0
  125. package/dist/components/tabs.js.map +1 -0
  126. package/dist/components/tooltip.d.ts +8 -0
  127. package/dist/components/tooltip.d.ts.map +1 -0
  128. package/dist/components/tooltip.js +18 -0
  129. package/dist/components/tooltip.js.map +1 -0
  130. package/dist/hooks/use-is-mobile.d.ts +6 -0
  131. package/dist/hooks/use-is-mobile.d.ts.map +1 -0
  132. package/dist/hooks/use-is-mobile.js +20 -0
  133. package/dist/hooks/use-is-mobile.js.map +1 -0
  134. package/dist/index.d.ts +1166 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +56 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/lib/cn.d.ts +3 -0
  139. package/dist/lib/cn.d.ts.map +1 -0
  140. package/dist/lib/cn.js +6 -0
  141. package/dist/lib/cn.js.map +1 -0
  142. package/dist/logos/index.d.ts +21 -0
  143. package/dist/logos/index.d.ts.map +1 -0
  144. package/dist/logos/index.js +81 -0
  145. package/dist/logos/index.js.map +1 -0
  146. package/package.json +77 -0
@@ -0,0 +1,57 @@
1
+ import * as React from "react";
2
+ import { ResponsiveContainer, Tooltip } from "recharts";
3
+ declare const THEMES: {
4
+ readonly light: "";
5
+ readonly dark: ".dark";
6
+ };
7
+ export type ChartConfig = {
8
+ [k in string]: {
9
+ label?: React.ReactNode;
10
+ icon?: React.ComponentType;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ });
18
+ };
19
+ declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<"div"> & {
20
+ config: ChartConfig;
21
+ children: React.ComponentProps<typeof ResponsiveContainer>["children"];
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ declare const ChartStyle: ({ id, config }: {
24
+ id: string;
25
+ config: ChartConfig;
26
+ }) => import("react/jsx-runtime").JSX.Element | null;
27
+ declare const ChartTooltip: typeof Tooltip;
28
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: {
29
+ active?: boolean;
30
+ payload?: Array<Record<string, unknown> & {
31
+ type?: string;
32
+ }>;
33
+ label?: string;
34
+ labelFormatter?: (value: unknown, payload: unknown[]) => React.ReactNode;
35
+ formatter?: (value: unknown, name: string, item: unknown, index: number, payload: unknown) => React.ReactNode;
36
+ className?: string;
37
+ labelClassName?: string;
38
+ hideLabel?: boolean;
39
+ hideIndicator?: boolean;
40
+ indicator?: "line" | "dot" | "dashed";
41
+ nameKey?: string;
42
+ labelKey?: string;
43
+ color?: string;
44
+ }): import("react/jsx-runtime").JSX.Element | null;
45
+ declare const ChartLegend: React.MemoExoticComponent<(outsideProps: import("recharts").LegendProps) => React.ReactPortal | null>;
46
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: {
47
+ className?: string;
48
+ hideIcon?: boolean;
49
+ payload?: Array<Record<string, unknown> & {
50
+ type?: string;
51
+ value?: unknown;
52
+ }>;
53
+ verticalAlign?: "top" | "bottom";
54
+ nameKey?: string;
55
+ }): import("react/jsx-runtime").JSX.Element | null;
56
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, };
57
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/components/chart.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Legend, ResponsiveContainer, Tooltip } from "recharts";
5
+ import { cn } from "../lib/cn.js";
6
+ // Format: { THEME_NAME: CSS_SELECTOR }
7
+ const THEMES = { light: "", dark: ".dark" };
8
+ const ChartContext = React.createContext(null);
9
+ function useChart() {
10
+ const context = React.useContext(ChartContext);
11
+ if (!context) {
12
+ throw new Error("useChart must be used within a <ChartContainer />");
13
+ }
14
+ return context;
15
+ }
16
+ function ChartContainer({ id, className, children, config, ...props }) {
17
+ const uniqueId = React.useId();
18
+ const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
19
+ return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { "data-slot": "chart", "data-chart": chartId, 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), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), _jsx(ResponsiveContainer, { children: children })] }) }));
20
+ }
21
+ const ChartStyle = ({ id, config }) => {
22
+ const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);
23
+ if (!colorConfig.length) {
24
+ return null;
25
+ }
26
+ return (_jsx("style", { dangerouslySetInnerHTML: {
27
+ __html: Object.entries(THEMES)
28
+ .map(([theme, prefix]) => `
29
+ ${prefix} [data-chart=${id}] {
30
+ ${colorConfig
31
+ .map(([key, itemConfig]) => {
32
+ const color = itemConfig.theme?.[theme] || itemConfig.color;
33
+ return color ? ` --color-${key}: ${color};` : null;
34
+ })
35
+ .join("\n")}
36
+ }
37
+ `)
38
+ .join("\n"),
39
+ } }));
40
+ };
41
+ const ChartTooltip = Tooltip;
42
+ function ChartTooltipContent({ active, payload, className, indicator = "dot", hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }) {
43
+ const { config } = useChart();
44
+ const tooltipLabel = React.useMemo(() => {
45
+ if (hideLabel || !payload?.length) {
46
+ return null;
47
+ }
48
+ const [item] = payload;
49
+ const key = `${labelKey || String(item?.dataKey ?? item?.name ?? "value")}`;
50
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
51
+ const value = !labelKey && typeof label === "string"
52
+ ? config[label]?.label || label
53
+ : itemConfig?.label;
54
+ if (labelFormatter) {
55
+ return (_jsx("div", { className: cn("font-medium", labelClassName), children: labelFormatter(value, payload) }));
56
+ }
57
+ if (!value) {
58
+ return null;
59
+ }
60
+ return _jsx("div", { className: cn("font-medium", labelClassName), children: value });
61
+ }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
62
+ if (!active || !payload?.length) {
63
+ return null;
64
+ }
65
+ const nestLabel = payload.length === 1 && indicator !== "dot";
66
+ return (_jsxs("div", { 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), children: [!nestLabel ? tooltipLabel : null, _jsx("div", { className: "grid gap-1.5", children: payload
67
+ .filter((item) => item.type !== "none")
68
+ .map((item, index) => {
69
+ const row = item;
70
+ const key = `${nameKey || row.name || row.dataKey || "value"}`;
71
+ const itemConfig = getPayloadConfigFromPayload(config, row, key);
72
+ const indicatorColor = color || row.payload?.fill || row.color;
73
+ return (_jsx("div", { 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"), children: formatter && row.value !== undefined && row.name ? (formatter(row.value, String(row.name), row, index, row.payload)) : (_jsxs(_Fragment, { children: [itemConfig?.icon ? (_jsx(itemConfig.icon, {})) : (!hideIndicator && (_jsx("div", { className: cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)", {
74
+ "h-2.5 w-2.5": indicator === "dot",
75
+ "w-1": indicator === "line",
76
+ "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
77
+ "my-0.5": nestLabel && indicator === "dashed",
78
+ }), style: {
79
+ "--color-bg": indicatorColor,
80
+ "--color-border": indicatorColor,
81
+ } }))), _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 || row.name })] }), row.value !== undefined && row.value !== null && (_jsx("span", { className: "text-foreground font-mono font-medium tabular-nums", children: typeof row.value === "number"
82
+ ? row.value.toLocaleString()
83
+ : String(row.value) }))] })] })) }, String(row.dataKey ?? index)));
84
+ }) })] }));
85
+ }
86
+ const ChartLegend = Legend;
87
+ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey, }) {
88
+ const { config } = useChart();
89
+ if (!payload?.length) {
90
+ return null;
91
+ }
92
+ return (_jsx("div", { className: cn("flex items-center justify-center gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload
93
+ .filter((item) => item.type !== "none")
94
+ .map((item) => {
95
+ const row = item;
96
+ const key = `${nameKey || row.dataKey || "value"}`;
97
+ const itemConfig = getPayloadConfigFromPayload(config, row, key);
98
+ return (_jsxs("div", { className: cn("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"), children: [itemConfig?.icon && !hideIcon ? (_jsx(itemConfig.icon, {})) : (_jsx("div", { className: "h-2 w-2 shrink-0 rounded-[2px]", style: {
99
+ backgroundColor: row.color,
100
+ } })), itemConfig?.label] }, String(row.value)));
101
+ }) }));
102
+ }
103
+ // Helper to extract item config from a payload.
104
+ function getPayloadConfigFromPayload(config, payload, key) {
105
+ if (typeof payload !== "object" || payload === null) {
106
+ return undefined;
107
+ }
108
+ const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null
109
+ ? payload.payload
110
+ : undefined;
111
+ let configLabelKey = key;
112
+ if (key in payload && typeof payload[key] === "string") {
113
+ configLabelKey = payload[key];
114
+ }
115
+ else if (payloadPayload &&
116
+ key in payloadPayload &&
117
+ typeof payloadPayload[key] === "string") {
118
+ configLabelKey = payloadPayload[key];
119
+ }
120
+ return configLabelKey in config ? config[configLabelKey] : config[key];
121
+ }
122
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, };
123
+ //# 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,7 @@
1
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
2
+ import * as React from "react";
3
+ declare function Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): import("react/jsx-runtime").JSX.Element;
6
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
7
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../src/components/collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExF;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAEtE;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,kBAAkB,CAAC,2CAEtE;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
3
+ import * as React from "react";
4
+ function Collapsible({ ...props }) {
5
+ return _jsx(CollapsiblePrimitive.Root, { "data-slot": "collapsible", ...props });
6
+ }
7
+ function CollapsibleTrigger({ ...props }) {
8
+ return _jsx(CollapsiblePrimitive.CollapsibleTrigger, { "data-slot": "collapsible-trigger", ...props });
9
+ }
10
+ function CollapsibleContent({ ...props }) {
11
+ return _jsx(CollapsiblePrimitive.CollapsibleContent, { "data-slot": "collapsible-content", ...props });
12
+ }
13
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger };
14
+ //# sourceMappingURL=collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.js","sourceRoot":"","sources":["../../src/components/collapsible.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,SAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAA0D;IACvF,OAAO,KAAC,oBAAoB,CAAC,IAAI,iBAAW,aAAa,KAAK,KAAK,GAAI,CAAC;AAC1E,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EAC6D;IACrE,OAAO,KAAC,oBAAoB,CAAC,kBAAkB,iBAAW,qBAAqB,KAAK,KAAK,GAAI,CAAC;AAChG,CAAC;AAED,SAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EAC6D;IACrE,OAAO,KAAC,oBAAoB,CAAC,kBAAkB,iBAAW,qBAAqB,KAAK,KAAK,GAAI,CAAC;AAChG,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { PopoverContent } from "./popover.js";
3
+ export type ComboboxItemOption = {
4
+ value: string;
5
+ label: string;
6
+ };
7
+ export declare function useComboboxAnchor(): React.RefObject<HTMLDivElement | null>;
8
+ interface ComboboxProps {
9
+ items: ComboboxItemOption[];
10
+ value?: string[];
11
+ defaultValue?: string[];
12
+ onValueChange?: (value: string[]) => void;
13
+ multiple?: boolean;
14
+ autoHighlight?: boolean;
15
+ disabled?: boolean;
16
+ children: React.ReactNode;
17
+ }
18
+ export declare function Combobox({ items, value: valueProp, defaultValue, onValueChange, multiple, disabled, children, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare const ComboboxChips: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare function ComboboxValue({ children }: {
21
+ children: (keys: string[]) => React.ReactNode;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ export declare function ComboboxChip({ children, value: chipValue, className, ...props }: React.HTMLAttributes<HTMLSpanElement> & {
24
+ value?: string;
25
+ children?: React.ReactNode;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ export declare const ComboboxChipsInput: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
28
+ interface ComboboxContentProps extends React.ComponentProps<typeof PopoverContent> {
29
+ anchor?: React.RefObject<HTMLDivElement | null>;
30
+ }
31
+ export declare function ComboboxContent({ className, children, anchor: _anchor, ...props }: ComboboxContentProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare function ComboboxEmpty({ children }: {
33
+ children: React.ReactNode;
34
+ }): import("react/jsx-runtime").JSX.Element | null;
35
+ export declare function ComboboxList({ children, }: {
36
+ children: (item: ComboboxItemOption) => React.ReactNode;
37
+ }): import("react/jsx-runtime").JSX.Element;
38
+ export declare function ComboboxItem({ value: _itemValue, children, }: {
39
+ value: string | ComboboxItemOption;
40
+ children: React.ReactNode;
41
+ }): import("react/jsx-runtime").JSX.Element;
42
+ export {};
43
+ //# sourceMappingURL=combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../src/components/combobox.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAW,cAAc,EAAkB,MAAM,cAAc,CAAC;AAIvE,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AA2BlE,wBAAgB,iBAAiB,2CAEhC;AAID,UAAU,aAAa;IACrB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EAAE,SAAS,EAChB,YAAiB,EACjB,aAAa,EACb,QAAgB,EAChB,QAAgB,EAChB,QAAQ,GACT,EAAE,aAAa,2CA6Cf;AASD,eAAO,MAAM,aAAa,6GA6BzB,CAAC;AAIF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,KAAK,CAAC,SAAS,CAAA;CAAE,2CAG5F;AAID,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EAAE,SAAS,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CA+BxF;AAID,eAAO,MAAM,kBAAkB,8KAyC9B,CAAC;AAIF,UAAU,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC;IAChF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACjD;AAID,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,QAAQ,EACR,MAAM,EAAE,OAAO,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,2CAoEtB;AAID,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,kDAKxE;AAgBD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,KAAK,CAAC,SAAS,CAAC;CACzD,2CAmCA;AAID,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EAAE,UAAU,EACjB,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAEA"}
@@ -0,0 +1,171 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { XIcon } from "lucide-react";
3
+ import * as React from "react";
4
+ import { cn } from "../lib/cn.js";
5
+ import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
6
+ const ComboboxContext = React.createContext(null);
7
+ function useCombobox() {
8
+ const ctx = React.useContext(ComboboxContext);
9
+ if (!ctx)
10
+ throw new Error("Combobox components must be used within Combobox");
11
+ return ctx;
12
+ }
13
+ // --- useComboboxAnchor: ref for the trigger (chips container) ---
14
+ export function useComboboxAnchor() {
15
+ return React.useRef(null);
16
+ }
17
+ export function Combobox({ items, value: valueProp, defaultValue = [], onValueChange, multiple = false, disabled = false, children, }) {
18
+ const [uncontrolled, setUncontrolled] = React.useState(defaultValue);
19
+ const isControlled = valueProp !== undefined;
20
+ const value = isControlled ? valueProp : uncontrolled;
21
+ const setValue = React.useCallback((next) => {
22
+ if (!isControlled)
23
+ setUncontrolled(next);
24
+ onValueChange?.(next);
25
+ }, [isControlled, onValueChange]);
26
+ const [open, setOpen] = React.useState(false);
27
+ const [filter, setFilter] = React.useState("");
28
+ const triggerRef = React.useRef(null);
29
+ const getItemLabel = React.useCallback((val) => items.find((i) => i.value === val)?.label ?? val, [items]);
30
+ const ctx = React.useMemo(() => ({
31
+ items,
32
+ value,
33
+ onValueChange: setValue,
34
+ multiple,
35
+ open,
36
+ setOpen,
37
+ filter,
38
+ setFilter,
39
+ disabled,
40
+ getItemLabel,
41
+ triggerRef,
42
+ }), [items, value, setValue, multiple, open, filter, disabled, getItemLabel]);
43
+ return (_jsx(ComboboxContext.Provider, { value: ctx, children: _jsx(Popover, { open: open, onOpenChange: setOpen, children: children }) }));
44
+ }
45
+ // --- ComboboxChips (trigger wrapper, receives ref from useComboboxAnchor) ---
46
+ function setRef(ref, value) {
47
+ if (typeof ref === "function")
48
+ ref(value);
49
+ else if (ref)
50
+ ref.current = value;
51
+ }
52
+ export const ComboboxChips = React.forwardRef(function ComboboxChips({ className, children, ...props }, ref) {
53
+ const { disabled, triggerRef } = useCombobox();
54
+ const mergedRef = React.useCallback((el) => {
55
+ triggerRef.current = el;
56
+ setRef(ref, el);
57
+ }, [ref, triggerRef]);
58
+ return (_jsx(PopoverTrigger, { asChild: true, children: _jsx("div", { ref: mergedRef, role: "combobox", "aria-expanded": undefined, "aria-disabled": disabled, className: cn("border-input flex min-h-9 w-full flex-wrap items-center gap-1.5 rounded-md border bg-transparent px-3 py-1.5 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50", className), tabIndex: disabled ? -1 : 0, ...props, children: children }) }));
59
+ });
60
+ // --- ComboboxValue (render selected keys as chips; children receives key array) ---
61
+ export function ComboboxValue({ children }) {
62
+ const { value } = useCombobox();
63
+ return _jsx(_Fragment, { children: children(value) });
64
+ }
65
+ // --- ComboboxChip (single chip, removable in multiple mode; value = selected key) ---
66
+ export function ComboboxChip({ children, value: chipValue, className, ...props }) {
67
+ const { value, onValueChange, multiple, getItemLabel } = useCombobox();
68
+ const key = chipValue ?? "";
69
+ const displayLabel = (typeof children === "string" ? children : null) ?? getItemLabel(key);
70
+ const handleRemove = (e) => {
71
+ e.stopPropagation();
72
+ onValueChange(value.filter((v) => v !== key));
73
+ };
74
+ return (_jsxs("span", { className: cn("bg-muted text-muted-foreground inline-flex items-center gap-1 rounded-md px-2 py-0.5 text-xs font-medium", className), ...props, children: [children ?? displayLabel, multiple && key && (_jsx("button", { type: "button", "aria-label": `Remove ${displayLabel}`, className: "hover:bg-muted-foreground/20 rounded-full p-0.5 outline-none", onClick: handleRemove, children: _jsx(XIcon, { className: "size-3" }) }))] }));
75
+ }
76
+ // --- ComboboxChipsInput (text input inside chips) ---
77
+ export const ComboboxChipsInput = React.forwardRef(function ComboboxChipsInput({ className, placeholder = "Select…", onPointerDown, onMouseDown, onClick, ...props }, ref) {
78
+ const { filter, setFilter, setOpen, disabled } = useCombobox();
79
+ const inputRef = React.useRef(null);
80
+ React.useImperativeHandle(ref, () => inputRef.current);
81
+ const stopPropagation = (e) => e.stopPropagation();
82
+ return (_jsx("input", { ref: inputRef, type: "text", value: filter, onChange: (e) => setFilter(e.target.value), onFocus: () => setOpen(true), onPointerDown: (e) => {
83
+ stopPropagation(e);
84
+ onPointerDown?.(e);
85
+ }, onMouseDown: (e) => {
86
+ stopPropagation(e);
87
+ onMouseDown?.(e);
88
+ }, onClick: (e) => {
89
+ stopPropagation(e);
90
+ onClick?.(e);
91
+ }, placeholder: placeholder, disabled: disabled, className: cn("min-w-8 flex-1 shrink-0 border-0 bg-transparent py-1 text-sm outline-none placeholder:text-muted-foreground", className), ...props }));
92
+ });
93
+ const OPEN_GRACE_MS = 250;
94
+ export function ComboboxContent({ className, children, anchor: _anchor, ...props }) {
95
+ const { triggerRef } = useCombobox();
96
+ const openedAtRef = React.useRef(0);
97
+ React.useLayoutEffect(() => {
98
+ openedAtRef.current = Date.now();
99
+ }, []);
100
+ const isNodeInsideTrigger = React.useCallback((node) => {
101
+ if (!node || !(node instanceof Node))
102
+ return false;
103
+ return triggerRef.current?.contains(node) ?? false;
104
+ }, [triggerRef]);
105
+ const shouldPreventClose = React.useCallback((target) => {
106
+ if (!triggerRef.current)
107
+ return true;
108
+ if (Date.now() - openedAtRef.current < OPEN_GRACE_MS)
109
+ return true;
110
+ return isNodeInsideTrigger(target);
111
+ }, [triggerRef, isNodeInsideTrigger]);
112
+ const handlePointerDownOutside = React.useCallback((e) => {
113
+ const target = e.detail?.originalEvent?.target ?? null;
114
+ if (shouldPreventClose(target))
115
+ e.preventDefault();
116
+ }, [shouldPreventClose]);
117
+ const handleFocusOutside = React.useCallback((e) => {
118
+ const relatedTarget = e.detail?.originalEvent?.relatedTarget ?? null;
119
+ const activeEl = typeof document !== "undefined" ? document.activeElement : null;
120
+ if (shouldPreventClose(relatedTarget) || shouldPreventClose(activeEl))
121
+ e.preventDefault();
122
+ }, [shouldPreventClose]);
123
+ const handleInteractOutside = React.useCallback((e) => {
124
+ const orig = e.detail?.originalEvent;
125
+ const target = orig && "relatedTarget" in orig
126
+ ? orig.relatedTarget
127
+ : (orig?.target ?? null);
128
+ const activeEl = typeof document !== "undefined" ? document.activeElement : null;
129
+ if (shouldPreventClose(target) || shouldPreventClose(activeEl))
130
+ e.preventDefault();
131
+ }, [shouldPreventClose]);
132
+ return (_jsx(PopoverContent, { className: cn("w-[var(--radix-popover-trigger-width)] p-0", className), align: "start", onOpenAutoFocus: (e) => e.preventDefault(), onPointerDownOutside: handlePointerDownOutside, onFocusOutside: handleFocusOutside, onInteractOutside: handleInteractOutside, ...props, children: children }));
133
+ }
134
+ // --- ComboboxEmpty ---
135
+ export function ComboboxEmpty({ children }) {
136
+ const { items, filter, value } = useCombobox();
137
+ const filtered = filterItems(items, filter, value);
138
+ if (filtered.length > 0)
139
+ return null;
140
+ return _jsx("div", { className: "py-6 text-center text-sm text-muted-foreground", children: children });
141
+ }
142
+ function filterItems(items, filter, _selected) {
143
+ const q = filter.trim().toLowerCase();
144
+ if (!q)
145
+ return items;
146
+ return items.filter((i) => i.label.toLowerCase().includes(q) || i.value.toLowerCase().includes(q));
147
+ }
148
+ // --- ComboboxList ---
149
+ export function ComboboxList({ children, }) {
150
+ const { items, filter, value, onValueChange, multiple, setOpen, setFilter } = useCombobox();
151
+ const filtered = filterItems(items, filter, value);
152
+ const handleSelect = (item) => {
153
+ if (multiple) {
154
+ const next = value.includes(item.value)
155
+ ? value.filter((v) => v !== item.value)
156
+ : [...value, item.value];
157
+ onValueChange(next);
158
+ }
159
+ else {
160
+ onValueChange([item.value]);
161
+ setFilter("");
162
+ setOpen(false);
163
+ }
164
+ };
165
+ return (_jsx("div", { className: "max-h-60 overflow-auto p-1", children: filtered.map((item) => (_jsx("div", { role: "option", "aria-selected": value.includes(item.value), className: cn("flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none hover:bg-accent hover:text-accent-foreground", value.includes(item.value) && "bg-accent/50"), onClick: () => handleSelect(item), children: children(item) }, item.value))) }));
166
+ }
167
+ // --- ComboboxItem ---
168
+ export function ComboboxItem({ value: _itemValue, children, }) {
169
+ return _jsx(_Fragment, { children: children });
170
+ }
171
+ //# sourceMappingURL=combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.js","sourceRoot":"","sources":["../../src/components/combobox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
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 function DialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
10
+ declare namespace DialogHeader {
11
+ var displayName: string;
12
+ }
13
+ declare function DialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
+ declare namespace DialogFooter {
15
+ var displayName: string;
16
+ }
17
+ declare const DialogTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
18
+ declare const DialogDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
19
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
20
+ //# 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,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,MAAM,uCAAuB,CAAC;AAEpC,QAAA,MAAM,aAAa,8GAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,6CAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,4GAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,8JAajB,CAAC;AAGH,QAAA,MAAM,aAAa,8JA6BjB,CAAC;AAGH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAIlF;kBAJQ,YAAY;;;AAOrB,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,2CAOlF;kBAPQ,YAAY;;;AAUrB,QAAA,MAAM,WAAW,oKASf,CAAC;AAGH,QAAA,MAAM,iBAAiB,8KASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
3
+ import { XIcon } from "lucide-react";
4
+ import * as React from "react";
5
+ import { cn } from "../lib/cn.js";
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(
11
+ /* Above AppSidebar z-[60] — same rationale as dropdown priority portal z-[70] in consumers */
12
+ "fixed inset-0 z-[70] bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props })));
13
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
14
+ const DialogContent = React.forwardRef(({ className, children, onInteractOutside, onPointerDownOutside, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("fixed top-[50%] left-[50%] z-[70] grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg 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), onInteractOutside: (e) => {
15
+ e.preventDefault();
16
+ onInteractOutside?.(e);
17
+ }, onPointerDownOutside: (e) => {
18
+ e.preventDefault();
19
+ onPointerDownOutside?.(e);
20
+ }, ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "absolute top-4 right-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] })));
21
+ DialogContent.displayName = DialogPrimitive.Content.displayName;
22
+ function DialogHeader({ className, ...props }) {
23
+ return (_jsx("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props }));
24
+ }
25
+ DialogHeader.displayName = "DialogHeader";
26
+ function DialogFooter({ className, ...props }) {
27
+ return (_jsx("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
28
+ }
29
+ DialogFooter.displayName = "DialogFooter";
30
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn("text-lg leading-none font-semibold tracking-tight", className), ...props })));
31
+ DialogTitle.displayName = DialogPrimitive.Title.displayName;
32
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
33
+ DialogDescription.displayName = DialogPrimitive.Description.displayName;
34
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, };
35
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
2
+ import * as React from "react";
3
+ declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
5
+ type DropdownMenuTriggerProps = Omit<React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>, "asChild" | "children"> & {
6
+ asChild?: boolean;
7
+ children?: React.ReactNode;
8
+ };
9
+ declare function DropdownMenuTrigger({ ...props }: DropdownMenuTriggerProps): import("react/jsx-runtime").JSX.Element;
10
+ type DropdownMenuContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.Content> & {
11
+ /** When true, portal content is wrapped with z-[80] so it stacks above dialogs (z-[70]) and the sidebar (z-[60]). */
12
+ priority?: boolean;
13
+ };
14
+ declare function DropdownMenuContent({ className, sideOffset, priority, ...props }: DropdownMenuContentProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
16
+ type DropdownMenuItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.Item> & React.PropsWithChildren & {
17
+ inset?: boolean;
18
+ variant?: "default" | "destructive";
19
+ disabled?: boolean;
20
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
21
+ className?: string;
22
+ };
23
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: DropdownMenuItemProps): import("react/jsx-runtime").JSX.Element;
24
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
25
+ declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
26
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
27
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
28
+ inset?: boolean;
29
+ }): import("react/jsx-runtime").JSX.Element;
30
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
31
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
32
+ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
33
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
34
+ inset?: boolean;
35
+ }): import("react/jsx-runtime").JSX.Element;
36
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
37
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, };
38
+ //# 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":"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"}