@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.
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/button/index.js +17 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/chart/ForecastChart.d.ts +41 -0
- package/dist/components/chart/ForecastChart.d.ts.map +1 -0
- package/dist/components/chart/ForecastChart.js +110 -0
- package/dist/components/chart/ForecastChart.js.map +1 -0
- package/dist/components/chart/ForecastEventCard.d.ts +28 -0
- package/dist/components/chart/ForecastEventCard.d.ts.map +1 -0
- package/dist/components/chart/ForecastEventCard.js +56 -0
- package/dist/components/chart/ForecastEventCard.js.map +1 -0
- package/dist/components/chart/ForecastHoverCard.d.ts +23 -0
- package/dist/components/chart/ForecastHoverCard.d.ts.map +1 -0
- package/dist/components/chart/ForecastHoverCard.js +22 -0
- package/dist/components/chart/ForecastHoverCard.js.map +1 -0
- package/dist/components/chart/ForecastLegend.d.ts +33 -0
- package/dist/components/chart/ForecastLegend.d.ts.map +1 -0
- package/dist/components/chart/ForecastLegend.js +38 -0
- package/dist/components/chart/ForecastLegend.js.map +1 -0
- package/dist/components/chart/forecast-model.d.ts +70 -0
- package/dist/components/chart/forecast-model.d.ts.map +1 -0
- package/dist/components/chart/forecast-model.js +89 -0
- package/dist/components/chart/forecast-model.js.map +1 -0
- package/dist/components/chart/forecast.d.ts +62 -0
- package/dist/components/chart/forecast.d.ts.map +1 -0
- package/dist/components/chart/forecast.js +90 -0
- package/dist/components/chart/forecast.js.map +1 -0
- package/dist/components/chart/index.d.ts +3 -0
- package/dist/components/chart/index.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -0
- package/dist/components/chart/index.js.map +1 -1
- package/dist/components/modal/index.d.ts +4 -0
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal/index.js +11 -3
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/popover/index.d.ts +2 -1
- package/dist/components/popover/index.d.ts.map +1 -1
- package/dist/components/popover/index.js +2 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/sheet/index.d.ts +13 -19
- package/dist/components/sheet/index.d.ts.map +1 -1
- package/dist/components/sheet/index.js +8 -2
- package/dist/components/sheet/index.js.map +1 -1
- package/dist/components/table/index.d.ts +7 -1
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/table/index.js +18 -12
- package/dist/components/table/index.js.map +1 -1
- package/dist/globals.css +1582 -2770
- package/dist/hooks/use-connection-problems.d.ts.map +1 -1
- package/dist/hooks/useAuth.d.ts +1 -0
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +1 -0
- package/dist/hooks/useAuth.js.map +1 -1
- package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
- package/dist/providers/AuthContext.d.ts +1 -0
- package/dist/providers/AuthContext.d.ts.map +1 -1
- package/dist/providers/AuthContext.js.map +1 -1
- package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts +1 -1
- package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.d.ts.map +1 -1
- package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js +64 -11
- package/dist/routes/integrations/components/connect-forms/MetaAdsConnectForm.js.map +1 -1
- package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.d.ts.map +1 -1
- package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js +8 -2
- package/dist/routes/integrations/components/connect-forms/OAuthSetupConnectForm.js.map +1 -1
- package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts +5 -0
- package/dist/routes/integrations/components/connect-forms/meta-page-tree.d.ts.map +1 -0
- package/dist/routes/integrations/components/connect-forms/meta-page-tree.js +16 -0
- package/dist/routes/integrations/components/connect-forms/meta-page-tree.js.map +1 -0
- package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts +2 -1
- package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.d.ts.map +1 -1
- package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js +4 -1
- package/dist/routes/integrations/components/connect-forms/oauth-setup-phase.js.map +1 -1
- package/dist/routes/integrations/connection-view.d.ts.map +1 -1
- package/dist/routes/integrations/connection-view.js +1 -0
- package/dist/routes/integrations/connection-view.js.map +1 -1
- package/package.json +16 -17
- package/src/components/button/index.tsx +17 -1
- package/src/components/chart/ForecastChart.tsx +383 -0
- package/src/components/chart/ForecastEventCard.tsx +163 -0
- package/src/components/chart/ForecastHoverCard.tsx +73 -0
- package/src/components/chart/ForecastLegend.tsx +97 -0
- package/src/components/chart/forecast-model.ts +130 -0
- package/src/components/chart/forecast.ts +144 -0
- package/src/components/chart/index.tsx +3 -0
- package/src/components/modal/index.tsx +17 -2
- package/src/components/popover/index.tsx +2 -1
- package/src/components/sheet/index.tsx +29 -6
- package/src/components/table/index.tsx +42 -12
- package/src/globals.css +2 -0
- package/src/hooks/useAuth.ts +2 -0
- package/src/providers/AuthContext.ts +1 -0
- package/src/routes/integrations/components/connect-forms/MetaAdsConnectForm.tsx +131 -15
- package/src/routes/integrations/components/connect-forms/OAuthSetupConnectForm.tsx +8 -2
- package/src/routes/integrations/components/connect-forms/meta-page-tree.ts +17 -0
- package/src/routes/integrations/components/connect-forms/oauth-setup-phase.ts +6 -0
- package/src/routes/integrations/connection-view.ts +1 -0
- package/src/themes/manta-dark.css +2 -0
- package/src/themes/manta.css +2 -0
- 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;
|
|
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
|
|
28
|
-
|
|
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
|
|
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":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,MAAM,CAAC,KAAkD;IACvE,OAAO,KAAC,eAAe,CAAC,IAAI,iBAAW,QAAQ,KAAK,KAAK,GAAI,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAqD;IACjF,OAAO,KAAC,eAAe,CAAC,OAAO,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAoD;IAC/E,OAAO,KAAC,eAAe,CAAC,MAAM,iBAAW,eAAe,KAAK,KAAK,GAAI,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAmD;IAC7E,OAAO,KAAC,eAAe,CAAC,KAAK,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAGrC,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IACnD,OAAO,CACL,KAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,gBAAgB,EACrB,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,8DAA8D,EAC9D,iEAAiE,EACjE,oGAAoG,EACpG,4BAA4B;QAC5B,2EAA2E;QAC3E,2FAA2F;QAC3F,4FAA4F;QAC5F,+DAA+D;QAC/D,4BAA4B,EAC5B,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;
|
|
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
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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;
|
|
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":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EACL,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,EAAE,EAAuB,MAAM,QAAQ,CAAC;AAEjD,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,UAAU,GAAG,WAAW,CAAC;AAEtC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE;QACJ,0DAA0D;QAC1D,8DAA8D;QAC9D,iEAAiE;QACjE,+FAA+F;QAC/F,4BAA4B;KAC7B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,iBAAiB,EAAE,qCAAqC,EAAE,sCAAsC,CAAC;YACvG,MAAM,EAAE;gBACN,oBAAoB;gBACpB,wCAAwC;gBACxC,yCAAyC;aAC1C;YACD,IAAI,EAAE;gBACJ,mCAAmC;gBACnC,sCAAsC;gBACtC,uCAAuC;aACxC;YACD,KAAK,EAAE;gBACL,oCAAoC;gBACpC,uCAAuC;gBACvC,wCAAwC;aACzC;YACD,MAAM,EAAE;gBACN,oDAAoD;gBACpD,oCAAoC;gBACpC,0DAA0D;gBAC1D,gEAAgE;aACjE;SACF;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,OAAO;KACL;CACX,CAAC;AAEF,MAAM,oBAAoB,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;
|
|
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
|
|
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":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAa,GAAG,EAAgB,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGhH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAiB,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQjG,OAAO,EAAE,2BAA2B,EAAE,KAAK,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.tsx"],"names":[],"mappings":"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"}
|