@manta-eu/react 0.6.0 → 0.8.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 (100) hide show
  1. package/dist/components/button/index.d.ts +1 -0
  2. package/dist/components/button/index.d.ts.map +1 -1
  3. package/dist/components/button/index.js +17 -1
  4. package/dist/components/button/index.js.map +1 -1
  5. package/dist/components/chart/ForecastChart.d.ts +41 -0
  6. package/dist/components/chart/ForecastChart.d.ts.map +1 -0
  7. package/dist/components/chart/ForecastChart.js +110 -0
  8. package/dist/components/chart/ForecastChart.js.map +1 -0
  9. package/dist/components/chart/ForecastEventCard.d.ts +28 -0
  10. package/dist/components/chart/ForecastEventCard.d.ts.map +1 -0
  11. package/dist/components/chart/ForecastEventCard.js +56 -0
  12. package/dist/components/chart/ForecastEventCard.js.map +1 -0
  13. package/dist/components/chart/ForecastHoverCard.d.ts +23 -0
  14. package/dist/components/chart/ForecastHoverCard.d.ts.map +1 -0
  15. package/dist/components/chart/ForecastHoverCard.js +22 -0
  16. package/dist/components/chart/ForecastHoverCard.js.map +1 -0
  17. package/dist/components/chart/ForecastLegend.d.ts +33 -0
  18. package/dist/components/chart/ForecastLegend.d.ts.map +1 -0
  19. package/dist/components/chart/ForecastLegend.js +38 -0
  20. package/dist/components/chart/ForecastLegend.js.map +1 -0
  21. package/dist/components/chart/forecast-model.d.ts +70 -0
  22. package/dist/components/chart/forecast-model.d.ts.map +1 -0
  23. package/dist/components/chart/forecast-model.js +89 -0
  24. package/dist/components/chart/forecast-model.js.map +1 -0
  25. package/dist/components/chart/forecast.d.ts +62 -0
  26. package/dist/components/chart/forecast.d.ts.map +1 -0
  27. package/dist/components/chart/forecast.js +90 -0
  28. package/dist/components/chart/forecast.js.map +1 -0
  29. package/dist/components/chart/index.d.ts +3 -0
  30. package/dist/components/chart/index.d.ts.map +1 -1
  31. package/dist/components/chart/index.js +1 -0
  32. package/dist/components/chart/index.js.map +1 -1
  33. package/dist/components/modal/index.d.ts +4 -0
  34. package/dist/components/modal/index.d.ts.map +1 -1
  35. package/dist/components/modal/index.js +11 -3
  36. package/dist/components/modal/index.js.map +1 -1
  37. package/dist/components/popover/index.d.ts +2 -1
  38. package/dist/components/popover/index.d.ts.map +1 -1
  39. package/dist/components/popover/index.js +2 -1
  40. package/dist/components/popover/index.js.map +1 -1
  41. package/dist/components/sheet/index.d.ts +13 -19
  42. package/dist/components/sheet/index.d.ts.map +1 -1
  43. package/dist/components/sheet/index.js +8 -2
  44. package/dist/components/sheet/index.js.map +1 -1
  45. package/dist/components/table/index.d.ts +7 -1
  46. package/dist/components/table/index.d.ts.map +1 -1
  47. package/dist/components/table/index.js +18 -12
  48. package/dist/components/table/index.js.map +1 -1
  49. package/dist/globals.css +1582 -2770
  50. package/dist/hooks/use-connection-problems.d.ts.map +1 -1
  51. package/dist/hooks/useAuth.d.ts +1 -0
  52. package/dist/hooks/useAuth.d.ts.map +1 -1
  53. package/dist/hooks/useAuth.js +1 -0
  54. package/dist/hooks/useAuth.js.map +1 -1
  55. package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
  56. package/dist/providers/AuthContext.d.ts +1 -0
  57. package/dist/providers/AuthContext.d.ts.map +1 -1
  58. package/dist/providers/AuthContext.js.map +1 -1
  59. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts +1 -1
  60. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts.map +1 -1
  61. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js +64 -11
  62. package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js.map +1 -1
  63. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts.map +1 -1
  64. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js +8 -2
  65. package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js.map +1 -1
  66. package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts +5 -0
  67. package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts.map +1 -0
  68. package/dist/routes/integrations/components/connect-forms/meta-page-tree.js +16 -0
  69. package/dist/routes/integrations/components/connect-forms/meta-page-tree.js.map +1 -0
  70. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts +2 -1
  71. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts.map +1 -1
  72. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js +4 -1
  73. package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js.map +1 -1
  74. package/dist/routes/integrations/connection-view.d.ts.map +1 -1
  75. package/dist/routes/integrations/connection-view.js +1 -0
  76. package/dist/routes/integrations/connection-view.js.map +1 -1
  77. package/package.json +16 -17
  78. package/src/components/button/index.tsx +17 -1
  79. package/src/components/chart/ForecastChart.tsx +383 -0
  80. package/src/components/chart/ForecastEventCard.tsx +163 -0
  81. package/src/components/chart/ForecastHoverCard.tsx +73 -0
  82. package/src/components/chart/ForecastLegend.tsx +97 -0
  83. package/src/components/chart/forecast-model.ts +130 -0
  84. package/src/components/chart/forecast.ts +144 -0
  85. package/src/components/chart/index.tsx +3 -0
  86. package/src/components/modal/index.tsx +17 -2
  87. package/src/components/popover/index.tsx +2 -1
  88. package/src/components/sheet/index.tsx +29 -6
  89. package/src/components/table/index.tsx +42 -12
  90. package/src/globals.css +2 -0
  91. package/src/hooks/useAuth.ts +2 -0
  92. package/src/providers/AuthContext.ts +1 -0
  93. package/src/routes/integrations/components/connect-forms/MetaAdsConnectForm.tsx +131 -15
  94. package/src/routes/integrations/components/connect-forms/OAuthSetupConnectForm.tsx +8 -2
  95. package/src/routes/integrations/components/connect-forms/meta-page-tree.ts +17 -0
  96. package/src/routes/integrations/components/connect-forms/oauth-setup-phase.ts +6 -0
  97. package/src/routes/integrations/connection-view.ts +1 -0
  98. package/src/themes/manta-dark.css +2 -0
  99. package/src/themes/manta.css +2 -0
  100. package/src/themes/standard.css +2 -0
@@ -0,0 +1,89 @@
1
+ import { isPresent } from "@manta-eu/lib/present";
2
+ import { chartColorAt } from "./chart-colors.js";
3
+ import { forecastDomain, partKey, splitAtToday } from "./forecast.js";
4
+ import { forecastLegendItems } from "./ForecastLegend.js";
5
+ export const forecastParts = ["past", "ahead"];
6
+ export const withoutColor = "color-mix(in srgb, var(--color-muted-foreground) 82%, var(--color-card))";
7
+ const metricColors = [
8
+ "var(--color-accent-foreground)",
9
+ "color-mix(in srgb, var(--color-accent-foreground) 45%, var(--color-muted-foreground))",
10
+ ];
11
+ export function metricColor(metric, index) {
12
+ return metric.color ?? metricColors[index] ?? chartColorAt(index);
13
+ }
14
+ export function gainName(index) {
15
+ return `gain-${index}`;
16
+ }
17
+ export function betweenName(index) {
18
+ return `between-${index}`;
19
+ }
20
+ /** Everything the chart draws, derived once from its props: split rows, axis, fades, legend and hover metrics. */
21
+ export function buildForecastModel(input) {
22
+ const { data, today, metrics, between, goal, gainLabel, legendLabels } = input;
23
+ const overlay = metrics.length > 1;
24
+ const todayIndex = today === undefined ? -1 : data.findIndex((row) => row.x === today);
25
+ const withPlans = metrics.flatMap((metric, index) => isPresent(metric.withoutPlans) ? [{ metric, index, without: metric.withoutPlans }] : []);
26
+ const ranges = {
27
+ ...Object.fromEntries(withPlans.map((entry) => [gainName(entry.index), { from: entry.without.key, to: entry.metric.key }])),
28
+ ...Object.fromEntries(between.map((range, index) => [betweenName(index), range])),
29
+ };
30
+ const lineKeys = [...metrics.map((metric) => metric.key), ...withPlans.map((entry) => entry.without.key)];
31
+ const emptyKeys = lineKeys.filter((key) => !data.some((row) => typeof row[key] === "number"));
32
+ const rows = splitAtToday(data, todayIndex, lineKeys, ranges);
33
+ const values = data.flatMap((row) => lineKeys.map((key) => row[key])).filter((value) => typeof value === "number");
34
+ const { domain, ticks } = forecastDomain(isPresent(goal) ? [...values, goal.value] : values);
35
+ function meanOf(key) {
36
+ const numbers = data.map((row) => row[key]).filter((value) => typeof value === "number");
37
+ return numbers.reduce((sum, value) => sum + value, 0) / Math.max(numbers.length, 1);
38
+ }
39
+ const lowestIndex = metrics.reduce((lowest, metric, index) => (meanOf(metric.key) < meanOf(metrics[lowest]?.key ?? "") ? index : lowest), 0);
40
+ const lowestMetric = metrics[lowestIndex];
41
+ const onlyWithout = withPlans[0]?.without;
42
+ function drawsIn(key, part) {
43
+ return rows.filter((row) => typeof row[partKey(key, part)] === "number").length > 1;
44
+ }
45
+ const fadeKeys = forecastParts.flatMap((part) => {
46
+ const key = overlay
47
+ ? lowestMetric?.key
48
+ : onlyWithout && drawsIn(onlyWithout.key, part)
49
+ ? onlyWithout.key
50
+ : metrics[0]?.key;
51
+ return key === undefined ? [] : [{ part, key }];
52
+ });
53
+ const firstColor = metrics[0] ? metricColor(metrics[0], 0) : withoutColor;
54
+ return {
55
+ emptyKeys,
56
+ todayMissing: today !== undefined && todayIndex < 0 && isPresent(data),
57
+ overlay,
58
+ todayIndex,
59
+ withPlans,
60
+ rows,
61
+ domain,
62
+ ticks,
63
+ fadeKeys,
64
+ fadeColor: overlay && lowestMetric ? metricColor(lowestMetric, lowestIndex) : withoutColor,
65
+ firstColor,
66
+ config: Object.fromEntries([...metrics, ...withPlans.map((entry) => entry.without)].map((line) => [line.key, { label: line.label }])),
67
+ hoverMetrics: metrics.map((metric) => ({
68
+ key: metric.key,
69
+ label: metric.label,
70
+ lowerIsBetter: metric.lowerIsBetter === true,
71
+ ...(isPresent(metric.withoutPlans) ? { withoutKey: metric.withoutPlans.key } : {}),
72
+ })),
73
+ legendItems: forecastLegendItems({
74
+ metrics: metrics.map((metric, index) => ({ label: metric.label, color: metricColor(metric, index) })),
75
+ withoutLabels: withPlans.map((entry) => entry.without.label),
76
+ gains: withPlans.map((entry) => ({
77
+ metric: entry.metric.label,
78
+ color: metricColor(entry.metric, entry.index),
79
+ })),
80
+ gainLabel,
81
+ betweenLabels: between.map((range) => range.label),
82
+ firstColor,
83
+ withoutColor,
84
+ hasProjection: todayIndex >= 0,
85
+ ...(legendLabels ? { legendLabels } : {}),
86
+ }),
87
+ };
88
+ }
89
+ //# sourceMappingURL=forecast-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forecast-model.js","sourceRoot":"","sources":["../../../src/components/chart/forecast-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ export type ForecastPart = "past" | "ahead";
2
+ export type ForecastRange = {
3
+ from: string;
4
+ to: string;
5
+ };
6
+ export declare function partKey(key: string, part: ForecastPart): string;
7
+ export declare function rangeKey(name: string, part: ForecastPart): string;
8
+ export declare const projectedKey = "~projected";
9
+ /** Splits each line and range at Today: the past part runs up to and including Today, the part ahead starts there. */
10
+ export declare function splitAtToday(rows: readonly Record<string, unknown>[], todayIndex: number, lineKeys: readonly string[], ranges: Readonly<Record<string, ForecastRange>>): Record<string, unknown>[];
11
+ /** A y range that hugs the values with a little air and round ticks, never dipping below zero for positive data. */
12
+ export declare function forecastDomain(values: number[], tickCount?: number): {
13
+ domain: [number, number];
14
+ ticks: number[];
15
+ };
16
+ export declare function formatCompact(value: number): string;
17
+ export declare function formatWhole(value: number): string;
18
+ /** "+$2,664 with the plans": the signed gap between a metric and its line without plans. */
19
+ export declare function signedChange(value: number, without: number, format: (value: number) => string): string;
20
+ /** The margin and x-axis height the chart passes to recharts; the plot geometry below is derived from them. */
21
+ export declare const forecastMargin: {
22
+ top: number;
23
+ right: number;
24
+ left: number;
25
+ bottom: number;
26
+ };
27
+ export declare const forecastXAxisHeight = 30;
28
+ /** Where the plot area sits inside a chart of this height, so a pointer's y maps back to a value. */
29
+ export declare function plotGeometry(chartHeight: number): {
30
+ top: number;
31
+ height: number;
32
+ };
33
+ /** The value at a pointer's height in the plot, with `domain[0]` at its bottom and `domain[1]` at its top. */
34
+ export declare function valueAtY(y: number, plotTop: number, plotHeight: number, domain: [number, number]): number;
35
+ /** The metric whose line passes closest to a value at one point: the hover card follows that line. */
36
+ export declare function nearestMetric(row: Record<string, unknown>, keys: readonly string[], value: number): string | undefined;
37
+ /** An action already applied (a filled dot) or a plan waiting for approval (a hollow dot), on a metric's line. */
38
+ export type ForecastEvent = {
39
+ x: string | number;
40
+ metric: string;
41
+ status: "applied" | "waiting";
42
+ title: string;
43
+ /** The small line above the title; defaults to "Applied" or "Waiting for your approval". */
44
+ label?: string;
45
+ value?: string;
46
+ valueNote?: string;
47
+ /** Rendered as a plain link in the card (and on the dot when the chart has no `onEventSelect`). */
48
+ href?: string;
49
+ linkLabel?: string;
50
+ };
51
+ export type ForecastPointPlan = {
52
+ label: string;
53
+ value: number;
54
+ };
55
+ /** The plans behind one metric's projected value at one point, as the chart's data carries them. */
56
+ export type ForecastPlanShare = {
57
+ x: string | number;
58
+ metric: string;
59
+ plans: ForecastPointPlan[];
60
+ };
61
+ export declare function plansAt(shares: readonly ForecastPlanShare[], x: string | number, metric: string): ForecastPointPlan[];
62
+ //# sourceMappingURL=forecast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../src/components/chart/forecast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { isPresent } from "@manta-eu/lib/present";
2
+ export function partKey(key, part) {
3
+ return `${key}~${part}`;
4
+ }
5
+ export function rangeKey(name, part) {
6
+ return `${name}~range~${part}`;
7
+ }
8
+ export const projectedKey = "~projected";
9
+ function rangeOf(row, range) {
10
+ const from = row[range.from];
11
+ const to = row[range.to];
12
+ return typeof from === "number" && typeof to === "number" ? [Math.min(from, to), Math.max(from, to)] : null;
13
+ }
14
+ /** Splits each line and range at Today: the past part runs up to and including Today, the part ahead starts there. */
15
+ export function splitAtToday(rows, todayIndex, lineKeys, ranges) {
16
+ return rows.map((row, index) => {
17
+ const inPast = todayIndex < 0 || index <= todayIndex;
18
+ const ahead = todayIndex >= 0 && index >= todayIndex;
19
+ const split = { ...row, [projectedKey]: todayIndex >= 0 && index > todayIndex };
20
+ lineKeys.forEach((key) => {
21
+ split[partKey(key, "past")] = inPast ? (row[key] ?? null) : null;
22
+ split[partKey(key, "ahead")] = ahead ? (row[key] ?? null) : null;
23
+ });
24
+ Object.entries(ranges).forEach(([name, range]) => {
25
+ const value = rangeOf(row, range);
26
+ split[rangeKey(name, "past")] = inPast ? value : null;
27
+ split[rangeKey(name, "ahead")] = ahead ? value : null;
28
+ });
29
+ return split;
30
+ });
31
+ }
32
+ function niceStep(rough) {
33
+ const magnitude = 10 ** Math.floor(Math.log10(rough));
34
+ const step = [1, 2, 2.5, 5, 10].find((multiple) => multiple * magnitude >= rough) ?? 10;
35
+ return step * magnitude;
36
+ }
37
+ /** A y range that hugs the values with a little air and round ticks, never dipping below zero for positive data. */
38
+ export function forecastDomain(values, tickCount = 5) {
39
+ if (!isPresent(values)) {
40
+ return { domain: [0, 1], ticks: [0, 1] };
41
+ }
42
+ const min = Math.min(...values);
43
+ const max = Math.max(...values);
44
+ const spread = max - min || Math.abs(max) || 1;
45
+ const step = niceStep((spread * 1.2) / (tickCount - 1));
46
+ const low = Math.floor((min - spread * 0.1) / step) * step;
47
+ const high = Math.ceil((max + spread * 0.1) / step) * step;
48
+ const domainLow = min >= 0 ? Math.max(0, low) : low;
49
+ const ticks = Array.from({ length: Math.round((high - domainLow) / step) + 1 }, (_, index) => Number((domainLow + index * step).toFixed(10)));
50
+ return { domain: [domainLow, high], ticks };
51
+ }
52
+ const compact = new Intl.NumberFormat("en-US", { notation: "compact", maximumFractionDigits: 1 });
53
+ export function formatCompact(value) {
54
+ return compact.format(value);
55
+ }
56
+ const whole = new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 });
57
+ export function formatWhole(value) {
58
+ return whole.format(value);
59
+ }
60
+ /** "+$2,664 with the plans": the signed gap between a metric and its line without plans. */
61
+ export function signedChange(value, without, format) {
62
+ const change = value - without;
63
+ return `${change < 0 ? "-" : "+"}${format(Math.abs(change))}`;
64
+ }
65
+ /** The margin and x-axis height the chart passes to recharts; the plot geometry below is derived from them. */
66
+ export const forecastMargin = { top: 24, right: 12, left: 8, bottom: 0 };
67
+ export const forecastXAxisHeight = 30;
68
+ /** Where the plot area sits inside a chart of this height, so a pointer's y maps back to a value. */
69
+ export function plotGeometry(chartHeight) {
70
+ return {
71
+ top: forecastMargin.top,
72
+ height: chartHeight - forecastMargin.top - forecastMargin.bottom - forecastXAxisHeight,
73
+ };
74
+ }
75
+ /** The value at a pointer's height in the plot, with `domain[0]` at its bottom and `domain[1]` at its top. */
76
+ export function valueAtY(y, plotTop, plotHeight, domain) {
77
+ return domain[1] - ((y - plotTop) / plotHeight) * (domain[1] - domain[0]);
78
+ }
79
+ /** The metric whose line passes closest to a value at one point: the hover card follows that line. */
80
+ export function nearestMetric(row, keys, value) {
81
+ const distances = keys.flatMap((key) => {
82
+ const metricValue = row[key];
83
+ return typeof metricValue === "number" ? [{ key, distance: Math.abs(metricValue - value) }] : [];
84
+ });
85
+ return distances.reduce((nearest, candidate) => (nearest === undefined || candidate.distance < nearest.distance ? candidate : nearest), undefined)?.key;
86
+ }
87
+ export function plansAt(shares, x, metric) {
88
+ return shares.find((share) => share.x === x && share.metric === metric)?.plans ?? [];
89
+ }
90
+ //# sourceMappingURL=forecast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forecast.js","sourceRoot":"","sources":["../../../src/components/chart/forecast.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,9 @@ export { ChartFrame, type ChartFrameProps } from "./ChartFrame.js";
4
4
  export { AreaChart, type AreaChartProps } from "./AreaChart.js";
5
5
  export { BarChart, type BarChartProps } from "./BarChart.js";
6
6
  export { ComposedChart, type ComposedChartProps } from "./ComposedChart.js";
7
+ export { ForecastChart, type ForecastChartProps } from "./ForecastChart.js";
8
+ export type { ForecastBetween, ForecastMetric } from "./forecast-model.js";
9
+ export type { ForecastEvent, ForecastPlanShare, ForecastPointPlan } from "./forecast.js";
7
10
  export { LineChart, type LineChartProps } from "./LineChart.js";
8
11
  export { PieChart, type PieChartProps } from "./PieChart.js";
9
12
  export { RadarChart, type RadarChartProps } from "./RadarChart.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,MAAM,EACN,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,KAAK,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -4,6 +4,7 @@ export { ChartFrame } from "./ChartFrame.js";
4
4
  export { AreaChart } from "./AreaChart.js";
5
5
  export { BarChart } from "./BarChart.js";
6
6
  export { ComposedChart } from "./ComposedChart.js";
7
+ export { ForecastChart } from "./ForecastChart.js";
7
8
  export { LineChart } from "./LineChart.js";
8
9
  export { PieChart } from "./PieChart.js";
9
10
  export { RadarChart } from "./RadarChart.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/chart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,MAAM,GAQP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/chart/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,MAAM,GAQP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAA2B,MAAM,iBAAiB,CAAC;AAGzE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAwB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAA0B,MAAM,gBAAgB,CAAC"}
@@ -5,11 +5,15 @@ export declare function DialogTrigger(props: ComponentProps<typeof DialogPrimiti
5
5
  export declare function DialogPortal(props: ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
6
  export declare function DialogClose(props: ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
7
7
  export declare const DialogOverlay: import("react").ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
+ export declare const dialogSizes: readonly ["sm", "md", "lg", "xl", "2xl"];
9
+ export type DialogSize = (typeof dialogSizes)[number];
8
10
  export declare const DialogContent: import("react").ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
9
11
  showCloseButton?: boolean;
10
12
  overlayClassName?: string;
11
13
  /** Below `sm`, fill the viewport as a sheet instead of floating as a centered card. */
12
14
  fullScreenOnMobile?: boolean;
15
+ /** Width preset; without one the dialog keeps its 700px default. */
16
+ size?: DialogSize;
13
17
  } & import("react").RefAttributes<HTMLDivElement>>;
14
18
  export declare function DialogHeader(props: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
15
19
  export declare function DialogFooter(props: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAA0C,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1G,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAExE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAElF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAEhF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAE9E;AAED,eAAO,MAAM,aAAa,4LAwBxB,CAAC;AASH,eAAO,MAAM,aAAa;sBANN,OAAO;uBACN,MAAM;IACzB,uFAAuF;yBAClE,OAAO;kDAiD7B,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASxD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASxD;AAQD,eAAO,MAAM,WAAW;UALhB,MAAM;qBACK,MAAM;eACZ,SAAS;sDAYrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,4MAY5B,CAAC;AAEH,eAAO,MAAM,UAAU,mIAErB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAA0C,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1G,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAExE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,2CAElF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,2CAEhF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAE9E;AAED,eAAO,MAAM,aAAa,4LAwBxB,CAAC;AAEH,eAAO,MAAM,WAAW,0CAA2C,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAmBtD,eAAO,MAAM,aAAa;sBARN,OAAO;uBACN,MAAM;IACzB,uFAAuF;yBAClE,OAAO;IAC5B,oEAAoE;WAC7D,UAAU;kDAkDlB,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASxD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,2CASxD;AAQD,eAAO,MAAM,WAAW;UALhB,MAAM;qBACK,MAAM;eACZ,SAAS;sDAYrB,CAAC;AAEF,eAAO,MAAM,iBAAiB,4MAY5B,CAAC;AAEH,eAAO,MAAM,UAAU,mIAErB,CAAC"}
@@ -24,12 +24,20 @@ export const DialogOverlay = forwardRef(function DialogOverlay({ className, ...p
24
24
  // 150ms fade-out. Every overlay in this package does the same.
25
25
  "data-[state=closed]:hidden", className), ...props }));
26
26
  });
27
- export const DialogContent = forwardRef(function DialogContent({ className, children, showCloseButton = true, overlayClassName, fullScreenOnMobile = false, ...props }, ref) {
28
- return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "dialog-content", className: cn("bg-card fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-32px)] max-w-[700px] translate-x-[-50%] translate-y-[-50%] gap-6 max-h-[calc(100vh-40px)] overflow-scroll rounded-xl-v4 p-8 shadow-lg border border-default-border", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=open]:duration-200 data-[state=closed]:duration-150", "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]:pointer-events-none", "motion-reduce:animate-none", fullScreenOnMobile && [
27
+ export const dialogSizes = ["sm", "md", "lg", "xl", "2xl"];
28
+ const dialogSizeClasses = {
29
+ sm: "max-w-[440px]",
30
+ md: "max-w-[540px]",
31
+ lg: "max-w-[600px]",
32
+ xl: "max-w-[920px]",
33
+ "2xl": "max-w-[1240px]",
34
+ };
35
+ export const DialogContent = forwardRef(function DialogContent({ className, children, showCloseButton = true, overlayClassName, fullScreenOnMobile = false, size, ...props }, ref) {
36
+ return (_jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [_jsx(DialogOverlay, { className: overlayClassName }), _jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "dialog-content", className: cn("bg-card fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-32px)] max-w-[700px] translate-x-[-50%] translate-y-[-50%] gap-6 max-h-[calc(100vh-40px)] overflow-scroll rounded-xl-v4 p-8 shadow-lg border border-default-border", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=open]:duration-200 data-[state=closed]:duration-150", "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]:pointer-events-none", "motion-reduce:animate-none", size !== undefined && dialogSizeClasses[size], fullScreenOnMobile && [
29
37
  "max-sm:top-0! max-sm:left-0! max-sm:translate-x-0! max-sm:translate-y-0!",
30
38
  "max-sm:h-dvh! max-sm:max-h-dvh! max-sm:w-full! max-sm:max-w-none!",
31
39
  "max-sm:flex! max-sm:flex-col! max-sm:rounded-none! max-sm:border-0!",
32
- ], className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: cn("ring-offset-card focus:ring-active-border/50 data-[state=open]:bg-accent", "absolute top-4 right-4 rounded-sm-v4 opacity-70 data-[state=open]:text-muted-foreground", "hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", "transition-opacity motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5"), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
40
+ ], className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", className: cn("ring-offset-card focus:ring-active-border/50 data-[state=open]:bg-accent", "absolute top-4 right-4 rounded-sm-v4 opacity-70 text-muted-foreground", "hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", "transition-opacity motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-5"), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
33
41
  });
34
42
  export function DialogHeader(props) {
35
43
  const { className, ...rest } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
4
  declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
5
  declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
6
6
  declare const PopoverClose: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const PopoverArrow: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverArrowProps & React.RefAttributes<SVGSVGElement>>;
7
8
  declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
9
  export type PopoverItemProps = {
9
10
  icon?: React.ComponentType<{
@@ -15,5 +16,5 @@ export type PopoverItemProps = {
15
16
  className?: string;
16
17
  };
17
18
  declare const PopoverItem: React.ForwardRefExoticComponent<PopoverItemProps & React.RefAttributes<HTMLButtonElement>>;
18
- export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverItem, PopoverTrigger };
19
+ export { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverItem, PopoverTrigger };
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/popover/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,OAAO,yCAAwB,CAAC;AACtC,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAChD,QAAA,MAAM,aAAa,4GAA0B,CAAC;AAC9C,QAAA,MAAM,YAAY,8GAAyB,CAAC;AAE5C,QAAA,MAAM,cAAc,gKAuClB,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,WAAW,4FAmBf,CAAC;AAGH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/popover/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,OAAO,yCAAwB,CAAC;AACtC,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAChD,QAAA,MAAM,aAAa,4GAA0B,CAAC;AAC9C,QAAA,MAAM,YAAY,8GAAyB,CAAC;AAC5C,QAAA,MAAM,YAAY,0GAAyB,CAAC;AAE5C,QAAA,MAAM,cAAc,gKAuClB,CAAC;AAGH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,QAAA,MAAM,WAAW,4FAmBf,CAAC;AAGH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -7,6 +7,7 @@ const Popover = PopoverPrimitive.Root;
7
7
  const PopoverTrigger = PopoverPrimitive.Trigger;
8
8
  const PopoverAnchor = PopoverPrimitive.Anchor;
9
9
  const PopoverClose = PopoverPrimitive.Close;
10
+ const PopoverArrow = PopoverPrimitive.Arrow;
10
11
  const PopoverContent = React.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn([
11
12
  "z-50 w-72",
12
13
  "rounded-lg-v4 border border-default-border",
@@ -37,5 +38,5 @@ const PopoverItem = React.forwardRef((props, ref) => {
37
38
  return (_jsxs("button", { ref: ref, type: "button", onClick: onClick, className: cn("flex items-center gap-3 p-4 pr-5 w-full text-left rounded-md-v4 bg-card hover:bg-muted transition-colors duration-150 ease motion-reduce:transition-none", className), children: [Icon && _jsx(Icon, { className: "size-4 text-default-foreground flex-shrink-0" }), _jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [_jsx("span", { className: "typography-caption text-default-foreground", children: label }), description && _jsx("span", { className: "typography-small text-muted-foreground", children: description })] })] }));
38
39
  });
39
40
  PopoverItem.displayName = "PopoverItem";
40
- export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverItem, PopoverTrigger };
41
+ export { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverItem, PopoverTrigger };
41
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/popover/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC;AACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAC9C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAE5C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpE,KAAC,gBAAgB,CAAC,MAAM,cACtB,KAAC,gBAAgB,CAAC,OAAO,IACvB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX;YACE,WAAW;YACX,4CAA4C;YAC5C,iCAAiC;YACjC,KAAK;YACL,0BAA0B;YAC1B,iCAAiC;YACjC,mBAAmB;YACnB,8DAA8D;YAC9D,2EAA2E;YAC3E,4BAA4B;YAC5B,4DAA4D;YAC5D,8DAA8D;YAC9D,sBAAsB;YACtB,iEAAiE;YACjE,UAAU;YACV,kBAAkB;YAClB,wCAAwC;YACxC,wCAAwC;YACxC,wCAAwC;YACxC,wCAAwC;YACxC,mDAAmD;YACnD,0DAA0D;SAC3D,EACD,SAAS,CACV,KACG,KAAK,GACT,GACsB,CAC3B,CAAC,CAAC;AACH,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC;AAUlE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAsC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACrE,OAAO,CACL,kBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,0JAA0J,EAC1J,SAAS,CACV,aAEA,IAAI,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,8CAA8C,GAAG,EAC1E,eAAK,SAAS,EAAC,+BAA+B,aAC5C,eAAM,SAAS,EAAC,4CAA4C,YAAE,KAAK,GAAQ,EAC1E,WAAW,IAAI,eAAM,SAAS,EAAC,wCAAwC,YAAE,WAAW,GAAQ,IACzF,IACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/popover/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC;AACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAChD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;AAC9C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAC5C,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAE5C,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACpE,KAAC,gBAAgB,CAAC,MAAM,cACtB,KAAC,gBAAgB,CAAC,OAAO,IACvB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,EAAE,CACX;YACE,WAAW;YACX,4CAA4C;YAC5C,iCAAiC;YACjC,KAAK;YACL,0BAA0B;YAC1B,iCAAiC;YACjC,mBAAmB;YACnB,8DAA8D;YAC9D,2EAA2E;YAC3E,4BAA4B;YAC5B,4DAA4D;YAC5D,8DAA8D;YAC9D,sBAAsB;YACtB,iEAAiE;YACjE,UAAU;YACV,kBAAkB;YAClB,wCAAwC;YACxC,wCAAwC;YACxC,wCAAwC;YACxC,wCAAwC;YACxC,mDAAmD;YACnD,0DAA0D;SAC3D,EACD,SAAS,CACV,KACG,KAAK,GACT,GACsB,CAC3B,CAAC,CAAC;AACH,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC;AAUlE,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAsC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACrE,OAAO,CACL,kBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,0JAA0J,EAC1J,SAAS,CACV,aAEA,IAAI,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,8CAA8C,GAAG,EAC1E,eAAK,SAAS,EAAC,+BAA+B,aAC5C,eAAM,SAAS,EAAC,4CAA4C,YAAE,KAAK,GAAQ,EAC1E,WAAW,IAAI,eAAM,SAAS,EAAC,wCAAwC,YAAE,WAAW,GAAQ,IACzF,IACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -22,26 +22,20 @@ export declare const sheetContentConfig: {
22
22
  readonly side: "right";
23
23
  };
24
24
  };
25
- export type SheetContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & VariantPropsOf<typeof sheetContentConfig> & {
25
+ export declare const sheetSizes: readonly ["sm", "md", "lg"];
26
+ export type SheetSize = (typeof sheetSizes)[number];
27
+ export type SheetSide = NonNullable<VariantPropsOf<typeof sheetContentConfig>["side"]>;
28
+ export type SheetContentProps = React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
26
29
  showClose?: boolean;
27
- };
28
- export declare const SheetContent: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantPropsOf<{
29
- base: string[];
30
- variants: {
31
- side: {
32
- top: string[];
33
- bottom: string[];
34
- left: string[];
35
- right: string[];
36
- center: string[];
37
- };
38
- };
39
- defaultVariants: {
40
- readonly side: "right";
41
- };
42
- }> & {
43
- showClose?: boolean;
44
- } & React.RefAttributes<HTMLDivElement>>;
30
+ } & ({
31
+ side?: Extract<SheetSide, "left" | "right">;
32
+ /** Width preset; without one the sheet keeps its 400px default. */
33
+ size?: SheetSize;
34
+ } | {
35
+ side: Exclude<SheetSide, "left" | "right">;
36
+ size?: never;
37
+ });
38
+ export declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
45
39
  export declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
46
40
  export declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
47
41
  export declare const SheetTitle: React.ForwardRefExoticComponent<Omit<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EAIZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,KAAK,eAAS,CAAC;AAE5B,eAAO,MAAM,YAAY,sBAAgB,CAAC;AAE1C,eAAO,MAAM,UAAU,oBAAc,CAAC;AAEtC,eAAO,MAAM,WAAW,qBAAe,CAAC;AAExC,eAAO,MAAM,YAAY,8JAAgB,CAAC;AAE1C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAqC9B,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAC5F,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;gBAHT,OAAO;wCAgCtB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE/E;AAED,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE/E;AAED,eAAO,MAAM,UAAU;;;;8FAYrB,CAAC;AAEH,eAAO,MAAM,gBAAgB,uOAY3B,CAAC;AAEH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE7E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sheet/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EAIZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAM,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,KAAK,eAAS,CAAC;AAE5B,eAAO,MAAM,YAAY,sBAAgB,CAAC;AAE1C,eAAO,MAAM,UAAU,oBAAc,CAAC;AAEtC,eAAO,MAAM,WAAW,qBAAe,CAAC;AAExC,eAAO,MAAM,YAAY,8JAAgB,CAAC;AAE1C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;CAqC9B,CAAC;AAEF,eAAO,MAAM,UAAU,6BAA8B,CAAC;AAEtD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAUpD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IAC/F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,CACE;IACE,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAC5C,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAC/D,CAAC;AAEJ,eAAO,MAAM,YAAY,0FAkCxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE/E;AAED,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE/E;AAED,eAAO,MAAM,UAAU;;;;8FAYrB,CAAC;AAEH,eAAO,MAAM,gBAAgB,uOAY3B,CAAC;AAEH,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE7E"}
@@ -49,9 +49,15 @@ export const sheetContentConfig = {
49
49
  side: "right",
50
50
  },
51
51
  };
52
+ export const sheetSizes = ["sm", "md", "lg"];
53
+ const sheetSizeClasses = {
54
+ sm: "w-[420px] max-w-full",
55
+ md: "w-[480px] max-w-full",
56
+ lg: "w-[560px] max-w-full",
57
+ };
52
58
  const sheetContentVariants = tv(sheetContentConfig);
53
- export const SheetContent = React.forwardRef(function SheetContent({ side = "right", className, children, showClose = true, ...props }, ref) {
54
- return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "sheet-content", className: cn(sheetContentVariants({ side }), side === "center" ? "gap-6 p-8" : "gap-6 p-6", className), ...props, children: [children, showClose && (_jsxs(DialogClose, { className: cn("absolute right-4 top-4 p-1.5 rounded-full", "text-default-foreground hover:bg-muted", "transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-active-border/50", "disabled:pointer-events-none"), children: [_jsx(XIcon, { className: "size-5" }), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
59
+ export const SheetContent = React.forwardRef(function SheetContent({ side = "right", size, className, children, showClose = true, ...props }, ref) {
60
+ return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, "data-slot": "sheet-content", className: cn(sheetContentVariants({ side }), size !== undefined && sheetSizeClasses[size], side === "center" ? "gap-6 p-8" : "gap-6 p-6", className), ...props, children: [children, showClose && (_jsxs(DialogClose, { className: cn("absolute right-4 top-4 p-1.5 rounded-full", "text-default-foreground hover:bg-muted", "transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-active-border/50", "disabled:pointer-events-none"), children: [_jsx(XIcon, { className: "size-5" }), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
55
61
  });
56
62
  export function SheetHeader({ className, ...props }) {
57
63
  return _jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-0.5", className), ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/sheet/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/sheet/index.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,11 @@ export { useSelectionColumn, type SelectionColumnOptions } from "./selection-col
6
6
  export { getCommonPinnedColumnStyles, getPinnedColumnInfo, type CombinedSortOption } from "./table-utils.js";
7
7
  export { useMaxTableRows } from "./use-max-table-rows.js";
8
8
  export { useTableState, type UseTableStateOptions } from "./use-table-state.js";
9
- export declare function Table({ className, ...props }: ComponentProps<"table">): import("react/jsx-runtime").JSX.Element;
9
+ export type TableSize = "base" | "sm";
10
+ export type TableProps = ComponentProps<"table"> & {
11
+ size?: TableSize;
12
+ };
13
+ export declare function Table({ className, size, ...props }: TableProps): import("react/jsx-runtime").JSX.Element;
10
14
  export declare function TableHeader({ className, ...props }: ComponentProps<"thead">): import("react/jsx-runtime").JSX.Element;
11
15
  export declare function TableBody({ className, ...props }: ComponentProps<"tbody">): import("react/jsx-runtime").JSX.Element;
12
16
  export declare function TableFooter({ className, ...props }: ComponentProps<"tfoot">): import("react/jsx-runtime").JSX.Element;
@@ -54,6 +58,7 @@ export type DataTableBaseProps<TData> = HTMLAttributes<HTMLDivElement> & {
54
58
  renderRow?: (row: Row<TData>) => ReactNode;
55
59
  rowClassName?: (row: Row<TData>) => string | undefined;
56
60
  isRowClickable?: (row: Row<TData>) => boolean;
61
+ size?: TableSize;
57
62
  };
58
63
  export type DataTableWithRowClick<TData> = DataTableBaseProps<TData> & {
59
64
  onRowClick: (row: Row<TData>) => void;
@@ -82,6 +87,7 @@ export type SortableTableBaseProps<TRow> = {
82
87
  noResultsMessage?: string;
83
88
  className?: string;
84
89
  isLoading?: boolean;
90
+ size?: TableSize;
85
91
  };
86
92
  export type SortableTableProps<TRow> = (SortableTableBaseProps<TRow> & {
87
93
  onRowClick: (row: TRow) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.tsx"],"names":[],"mappings":"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"}