@camunda/design-system 0.38.0 → 0.40.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/carbon-compat/date-picker.d.ts +1 -1
- package/dist/carbon-compat/date-picker.d.ts.map +1 -1
- package/dist/carbon-compat/date-picker.js +78 -30
- package/dist/carbon-compat/date-picker.js.map +1 -1
- package/dist/carbon-compat/heading.d.ts +18 -1
- package/dist/carbon-compat/heading.d.ts.map +1 -1
- package/dist/carbon-compat/heading.js +16 -2
- package/dist/carbon-compat/heading.js.map +1 -1
- package/dist/src/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/src/components/ui/alert-dialog.js +4 -1
- package/dist/src/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/alert.js +2 -1
- package/dist/src/components/ui/alert.js.map +1 -1
- package/dist/src/components/ui/calendar.d.ts.map +1 -1
- package/dist/src/components/ui/calendar.js +16 -5
- package/dist/src/components/ui/calendar.js.map +1 -1
- package/dist/src/components/ui/card.d.ts.map +1 -1
- package/dist/src/components/ui/card.js +6 -1
- package/dist/src/components/ui/card.js.map +1 -1
- package/dist/src/components/ui/chart.d.ts +3 -1
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +50 -7
- package/dist/src/components/ui/chart.js.map +1 -1
- package/dist/src/components/ui/data-table.d.ts.map +1 -1
- package/dist/src/components/ui/data-table.js +3 -2
- package/dist/src/components/ui/data-table.js.map +1 -1
- package/dist/src/components/ui/date-range-picker.d.ts +25 -0
- package/dist/src/components/ui/date-range-picker.d.ts.map +1 -0
- package/dist/src/components/ui/date-range-picker.js +70 -0
- package/dist/src/components/ui/date-range-picker.js.map +1 -0
- package/dist/src/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/components/ui/dialog.js +7 -3
- package/dist/src/components/ui/dialog.js.map +1 -1
- package/dist/src/components/ui/dropdown.d.ts +2 -2
- package/dist/src/components/ui/dropdown.d.ts.map +1 -1
- package/dist/src/components/ui/dropdown.js +9 -5
- package/dist/src/components/ui/dropdown.js.map +1 -1
- package/dist/src/components/ui/multi-select.d.ts.map +1 -1
- package/dist/src/components/ui/multi-select.js +2 -2
- package/dist/src/components/ui/multi-select.js.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.d.ts +77 -8
- package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.js +105 -13
- package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
- package/dist/src/components/ui/popover.d.ts +1 -1
- package/dist/src/components/ui/popover.d.ts.map +1 -1
- package/dist/src/components/ui/popover.js +4 -1
- package/dist/src/components/ui/popover.js.map +1 -1
- package/dist/src/components/ui/sheet.d.ts.map +1 -1
- package/dist/src/components/ui/sheet.js +4 -1
- package/dist/src/components/ui/sheet.js.map +1 -1
- package/dist/src/components/ui/sparkline.js +1 -1
- package/dist/src/components/ui/sparkline.js.map +1 -1
- package/dist/src/components/ui/typography.d.ts +34 -0
- package/dist/src/components/ui/typography.d.ts.map +1 -0
- package/dist/src/components/ui/typography.js +56 -0
- package/dist/src/components/ui/typography.js.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.js +2 -2
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.js.map +1 -1
- package/dist/src/examples/agent-control-plane-processes/derive.d.ts.map +1 -1
- package/dist/src/examples/agent-control-plane-processes/derive.js +12 -12
- package/dist/src/examples/agent-control-plane-processes/derive.js.map +1 -1
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/styles.css +93 -31
- package/package.json +5 -5
|
@@ -35,7 +35,7 @@ declare function DatePicker(props: CarbonDatePickerProps): React.JSX.Element;
|
|
|
35
35
|
/**
|
|
36
36
|
* Marker component. In Carbon this rendered the input chrome; in the DS path
|
|
37
37
|
* the parent `<DatePicker>` reads its props (labelText, placeholder, id, etc.)
|
|
38
|
-
* via `
|
|
38
|
+
* via `findAllInputProps`. Standalone (no parent <DatePicker>) renders nothing.
|
|
39
39
|
*/
|
|
40
40
|
declare function DatePickerInput(_props: DatePickerInputCarbonProps): null;
|
|
41
41
|
declare namespace DatePickerInput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../carbon-compat/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../carbon-compat/date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA+E/B,KAAK,0BAA0B,GAAG;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACjD,QAAQ,CAAC,EAAE,CACT,aAAa,EAAE,IAAI,EAAE,EACrB,OAAO,EAAE,MAAM,EAEf,QAAQ,CAAC,EAAE,SAAS,KACjB,IAAI,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAgDF,iBAAS,UAAU,CAAC,KAAK,EAAE,qBAAqB,qBAwK/C;AAED;;;;GAIG;AACH,iBAAS,eAAe,CAAC,MAAM,EAAE,0BAA0B,QAE1D;kBAFQ,eAAe;;;AAKxB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;AACvC,YAAY,EACV,qBAAqB,IAAI,eAAe,EACxC,0BAA0B,IAAI,oBAAoB,GACnD,CAAC"}
|
|
@@ -2,11 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { format as formatDate, parse as parseDate } from "date-fns";
|
|
4
4
|
import { DatePicker as DsDatePicker } from "../src/components/ui/date-picker.js";
|
|
5
|
+
import { DateRangePicker as DsDateRangePicker } from "../src/components/ui/date-range-picker.js";
|
|
5
6
|
import { Label } from "../src/components/ui/label.js";
|
|
6
7
|
import { warnDroppedProps } from "../src/lib/utils.js";
|
|
7
8
|
/**
|
|
8
9
|
* carbon-compat DatePicker — REMAPs Carbon's flatpickr-based compound API
|
|
9
|
-
* to the DS-native `<DatePicker>` (single
|
|
10
|
+
* to the DS-native `<DatePicker>` (single mode) / `<DateRangePicker>`
|
|
11
|
+
* (range mode, DS issue #398).
|
|
10
12
|
*
|
|
11
13
|
* Why this exists:
|
|
12
14
|
* - Carbon's DatePicker breaks inside DS Dialog (Radix DismissableLayer +
|
|
@@ -21,8 +23,16 @@ import { warnDroppedProps } from "../src/lib/utils.js";
|
|
|
21
23
|
* <DatePickerInput id='...' labelText='...' placeholder='...' />
|
|
22
24
|
* </DatePicker>
|
|
23
25
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
+
* <DatePicker datePickerType='range' dateFormat='Y-m-d' value={[start, end]}
|
|
27
|
+
* onChange={(_selectedDates, dateStr) => ...}>
|
|
28
|
+
* <DatePickerInput id='start' labelText='Start date' />
|
|
29
|
+
* <DatePickerInput id='end' labelText='End date' />
|
|
30
|
+
* </DatePicker>
|
|
31
|
+
*
|
|
32
|
+
* Range mode renders the DS-native `DateRangePicker` (one combined trigger,
|
|
33
|
+
* two-month calendar). This is a zero-JSX-edit SWAP for existing Carbon
|
|
34
|
+
* range consumers, but new DS-native surfaces should import `DateRangePicker`
|
|
35
|
+
* directly — see its spec's anti-patterns section.
|
|
26
36
|
*/
|
|
27
37
|
// Flatpickr → date-fns. Anything else: pass through with a warn.
|
|
28
38
|
const FLATPICKR_TO_DATE_FNS = {
|
|
@@ -50,15 +60,23 @@ function parseInputValue(raw, format) {
|
|
|
50
60
|
const parsed = parseDate(String(raw), format, new Date());
|
|
51
61
|
return isNaN(parsed.getTime()) ? undefined : parsed;
|
|
52
62
|
}
|
|
63
|
+
function toDateRangeValue(raw, format) {
|
|
64
|
+
const [rawFrom, rawTo] = Array.isArray(raw) ? raw : [raw, undefined];
|
|
65
|
+
const from = parseInputValue(rawFrom, format);
|
|
66
|
+
if (!from)
|
|
67
|
+
return undefined;
|
|
68
|
+
return { from, to: parseInputValue(rawTo, format) };
|
|
69
|
+
}
|
|
53
70
|
/**
|
|
54
|
-
* Pull
|
|
55
|
-
* Recurses into Fragments so
|
|
56
|
-
* — a common Carbon
|
|
57
|
-
*
|
|
71
|
+
* Pull every `<DatePickerInput>` child out of the compound children, in
|
|
72
|
+
* source order. Recurses into Fragments so
|
|
73
|
+
* `<DatePicker><><DatePickerInput/></></DatePicker>` — a common Carbon
|
|
74
|
+
* pattern — still finds them and doesn't silently drop labelText /
|
|
75
|
+
* placeholder / id. Range mode needs BOTH (start, end); single mode uses
|
|
76
|
+
* only the first.
|
|
58
77
|
*/
|
|
59
|
-
function
|
|
60
|
-
|
|
61
|
-
let matchCount = 0;
|
|
78
|
+
function findAllInputProps(children) {
|
|
79
|
+
const found = [];
|
|
62
80
|
function walk(node) {
|
|
63
81
|
React.Children.forEach(node, (child) => {
|
|
64
82
|
if (!React.isValidElement(child))
|
|
@@ -70,17 +88,19 @@ function findInputProps(children) {
|
|
|
70
88
|
if (typeof child.type === "function" &&
|
|
71
89
|
child.type.displayName ===
|
|
72
90
|
"DatePickerInput") {
|
|
73
|
-
|
|
74
|
-
if (!found)
|
|
75
|
-
found = (child.props ?? {});
|
|
91
|
+
found.push((child.props ?? {}));
|
|
76
92
|
}
|
|
77
93
|
});
|
|
78
94
|
}
|
|
79
95
|
walk(children);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
96
|
+
return found;
|
|
97
|
+
}
|
|
98
|
+
function composeRangeLabel(startLabel, endLabel) {
|
|
99
|
+
const start = typeof startLabel === "string" ? startLabel : undefined;
|
|
100
|
+
const end = typeof endLabel === "string" ? endLabel : undefined;
|
|
101
|
+
if (start && end)
|
|
102
|
+
return `${start} to ${end}`;
|
|
103
|
+
return start ?? end;
|
|
84
104
|
}
|
|
85
105
|
function DatePicker(props) {
|
|
86
106
|
const { datePickerType = "single", dateFormat, value, defaultValue, onChange, minDate, maxDate, disabled, className, children, allowInput, closeOnSelect, short, light, appendTo, inline, readOnly, locale, } = props;
|
|
@@ -94,23 +114,50 @@ function DatePicker(props) {
|
|
|
94
114
|
readOnly,
|
|
95
115
|
locale,
|
|
96
116
|
});
|
|
97
|
-
if (datePickerType === "range" && process.env.NODE_ENV !== "production") {
|
|
98
|
-
console.warn("[carbon-compat/DatePicker] datePickerType='range' is not yet supported by the DS adapter — falling back to single-mode. Range will ship in a follow-up.");
|
|
99
|
-
}
|
|
100
117
|
const fnsFormat = toDateFnsFormat(dateFormat);
|
|
101
|
-
const
|
|
102
|
-
const firstValue = Array.isArray(value) ? value[0] : value;
|
|
103
|
-
const firstDefault = Array.isArray(defaultValue)
|
|
104
|
-
? defaultValue[0]
|
|
105
|
-
: defaultValue;
|
|
106
|
-
const parsedValue = parseInputValue(firstValue, fnsFormat);
|
|
107
|
-
const parsedDefault = parseInputValue(firstDefault, fnsFormat);
|
|
118
|
+
const allInputs = findAllInputProps(children);
|
|
108
119
|
const min = parseInputValue(typeof minDate === "string" || minDate instanceof Date
|
|
109
120
|
? minDate
|
|
110
121
|
: undefined, fnsFormat);
|
|
111
122
|
const max = parseInputValue(typeof maxDate === "string" || maxDate instanceof Date
|
|
112
123
|
? maxDate
|
|
113
124
|
: undefined, fnsFormat);
|
|
125
|
+
if (datePickerType === "range") {
|
|
126
|
+
const [startInput = {}, endInput = {}] = allInputs;
|
|
127
|
+
const rangeValue = toDateRangeValue(value, fnsFormat);
|
|
128
|
+
const rangeDefault = toDateRangeValue(defaultValue, fnsFormat);
|
|
129
|
+
const handleRangeChange = (range) => {
|
|
130
|
+
if (!onChange)
|
|
131
|
+
return;
|
|
132
|
+
const dates = [range?.from, range?.to].filter((d) => d != null);
|
|
133
|
+
const dateStr = dates.map((d) => formatDate(d, fnsFormat)).join(" to ");
|
|
134
|
+
onChange(dates, dateStr, undefined);
|
|
135
|
+
};
|
|
136
|
+
// Human-confirmed copy pattern (DS issue #398): Carbon's two labelTexts
|
|
137
|
+
// (start, end) compose into one trigger accessible name — "{startLabel}
|
|
138
|
+
// to {endLabel}" — rather than being dropped or arbitrarily picking one.
|
|
139
|
+
const composedLabel = composeRangeLabel(startInput.labelText, endInput.labelText);
|
|
140
|
+
const labelId = startInput.id ? `${startInput.id}-label` : undefined;
|
|
141
|
+
const hasLabel = composedLabel != null && composedLabel !== "";
|
|
142
|
+
const rangePicker = (_jsx(DsDateRangePicker, { value: rangeValue, defaultValue: rangeDefault, onChange: handleRangeChange, format: fnsFormat, disabled: disabled || startInput.disabled || endInput.disabled, id: startInput.id, placeholder: startInput.placeholder,
|
|
143
|
+
// Real fromDate/toDate validation — unlike single-mode's inert
|
|
144
|
+
// data-carbon-compat-* placeholders below, DateRangePicker forwards
|
|
145
|
+
// these straight to Calendar's `disabled` matcher.
|
|
146
|
+
fromDate: min, toDate: max, "aria-labelledby": hasLabel && labelId ? labelId : undefined, className: className }));
|
|
147
|
+
if (!hasLabel)
|
|
148
|
+
return rangePicker;
|
|
149
|
+
return (_jsxs("div", { className: "space-y-1.5", children: [_jsx(Label, { id: labelId, htmlFor: startInput.id, children: composedLabel }), rangePicker] }));
|
|
150
|
+
}
|
|
151
|
+
if (allInputs.length > 1 && process.env.NODE_ENV !== "production") {
|
|
152
|
+
console.warn(`[carbon-compat/DatePicker] Found ${allInputs.length} <DatePickerInput> children under datePickerType='${datePickerType}' — only the first is used. Use datePickerType='range' for two-input usage.`);
|
|
153
|
+
}
|
|
154
|
+
const inputProps = allInputs[0] ?? {};
|
|
155
|
+
const firstValue = Array.isArray(value) ? value[0] : value;
|
|
156
|
+
const firstDefault = Array.isArray(defaultValue)
|
|
157
|
+
? defaultValue[0]
|
|
158
|
+
: defaultValue;
|
|
159
|
+
const parsedValue = parseInputValue(firstValue, fnsFormat);
|
|
160
|
+
const parsedDefault = parseInputValue(firstDefault, fnsFormat);
|
|
114
161
|
const handleChange = (date) => {
|
|
115
162
|
if (!onChange)
|
|
116
163
|
return;
|
|
@@ -124,8 +171,9 @@ function DatePicker(props) {
|
|
|
124
171
|
// for ReactNode labelText.
|
|
125
172
|
const labelId = inputProps.id ? `${inputProps.id}-label` : undefined;
|
|
126
173
|
const hasLabel = inputProps.labelText != null && inputProps.labelText !== "";
|
|
127
|
-
// min/max wired via data-* attrs for
|
|
128
|
-
//
|
|
174
|
+
// min/max wired via data-* attrs for single mode only — hard validation
|
|
175
|
+
// via the Calendar `disabled` matcher is a single-mode follow-up (range
|
|
176
|
+
// mode gets real validation above via `fromDate`/`toDate`).
|
|
129
177
|
const picker = (_jsx(DsDatePicker, { value: parsedValue, defaultValue: parsedDefault, onChange: handleChange, format: fnsFormat, disabled: disabled || inputProps.disabled, id: inputProps.id, placeholder: inputProps.placeholder, "aria-labelledby": hasLabel && labelId ? labelId : undefined, "aria-label": !hasLabel && typeof inputProps.labelText === "string"
|
|
130
178
|
? inputProps.labelText
|
|
131
179
|
: undefined, className: className, "data-carbon-compat-mindate": min ? formatDate(min, fnsFormat) : undefined, "data-carbon-compat-maxdate": max ? formatDate(max, fnsFormat) : undefined }));
|
|
@@ -136,7 +184,7 @@ function DatePicker(props) {
|
|
|
136
184
|
/**
|
|
137
185
|
* Marker component. In Carbon this rendered the input chrome; in the DS path
|
|
138
186
|
* the parent `<DatePicker>` reads its props (labelText, placeholder, id, etc.)
|
|
139
|
-
* via `
|
|
187
|
+
* via `findAllInputProps`. Standalone (no parent <DatePicker>) renders nothing.
|
|
140
188
|
*/
|
|
141
189
|
function DatePickerInput(_props) {
|
|
142
190
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../carbon-compat/date-picker.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../carbon-compat/date-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Heading as DsHeading } from "../src/components/ui/typography.js";
|
|
3
|
+
type DsHeadingProps = React.ComponentProps<typeof DsHeading>;
|
|
4
|
+
export type HeadingProps = Omit<DsHeadingProps, "as"> & {
|
|
5
|
+
as?: DsHeadingProps["as"];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Import `Heading` from `@camunda/design-system` directly.
|
|
9
|
+
*
|
|
10
|
+
* Drop-in shim over the DS `Heading`. Carbon's `<Heading>` derives its level
|
|
11
|
+
* automatically from surrounding `HeadingLevel`/`Section` context and takes no
|
|
12
|
+
* explicit level; the DS `Heading` requires an explicit `as`. This shim
|
|
13
|
+
* defaults `as="h2"` to keep existing call sites rendering, but that default
|
|
14
|
+
* does NOT reproduce Carbon's context-based auto-leveling — consumers relying
|
|
15
|
+
* on it MUST pass `as` explicitly to restore the correct document outline.
|
|
16
|
+
*/
|
|
17
|
+
export declare function Heading({ as, ...props }: HeadingProps): React.JSX.Element;
|
|
18
|
+
export {};
|
|
2
19
|
//# sourceMappingURL=heading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../carbon-compat/heading.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../carbon-compat/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEvE,KAAK,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG;IACtD,EAAE,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,qBAE5D"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { Heading as DsHeading } from "../src/components/ui/typography.js";
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Import `Heading` from `@camunda/design-system` directly.
|
|
6
|
+
*
|
|
7
|
+
* Drop-in shim over the DS `Heading`. Carbon's `<Heading>` derives its level
|
|
8
|
+
* automatically from surrounding `HeadingLevel`/`Section` context and takes no
|
|
9
|
+
* explicit level; the DS `Heading` requires an explicit `as`. This shim
|
|
10
|
+
* defaults `as="h2"` to keep existing call sites rendering, but that default
|
|
11
|
+
* does NOT reproduce Carbon's context-based auto-leveling — consumers relying
|
|
12
|
+
* on it MUST pass `as` explicitly to restore the correct document outline.
|
|
13
|
+
*/
|
|
14
|
+
export function Heading({ as = "h2", ...props }) {
|
|
15
|
+
return _jsx(DsHeading, { as: as, ...props });
|
|
16
|
+
}
|
|
3
17
|
//# sourceMappingURL=heading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../carbon-compat/heading.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../carbon-compat/heading.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAQvE;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAgB;IAC3D,OAAO,KAAC,SAAS,IAAC,EAAE,EAAE,EAAE,KAAM,KAAK,GAAI,CAAC;AAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAY/D,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,qBAExD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,qBAI3D;AAED,iBAAS,iBAAiB,CAAC,EACzB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,qBAI1D;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,qBAW3D;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,GAAG;IAC7D;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACvD,qBA8BA;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ7B;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW7B;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,qBAUzD;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,qBAQ/D;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,qBAO1D;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,qBAO1D;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,GAClB,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { cn } from "../../lib/utils.js";
|
|
|
6
6
|
import { composeCloseAutoFocus, composeOpenAutoFocus, useDialogFocusReturn, } from "../../lib/focus-visible-on-close.js";
|
|
7
7
|
import { C4Provider } from "./c4-provider.js";
|
|
8
8
|
import { buttonVariants } from "./button.js";
|
|
9
|
+
import { typographyVariants } from "./typography.js";
|
|
9
10
|
function AlertDialog({ ...props }) {
|
|
10
11
|
return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
|
|
11
12
|
}
|
|
@@ -36,7 +37,9 @@ function AlertDialogFooter({ className, ...props }) {
|
|
|
36
37
|
return (_jsx("div", { "data-slot": "alert-dialog-footer", className: cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-neutral-background-medium p-4 sm:flex-row sm:justify-end", className), ...props }));
|
|
37
38
|
}
|
|
38
39
|
function AlertDialogTitle({ className, ...props }) {
|
|
39
|
-
|
|
40
|
+
// Share the typography scale via `typographyVariants`; do NOT nest <Heading>
|
|
41
|
+
// (would break Radix's aria-labelledby wiring to this Title primitive).
|
|
42
|
+
return (_jsx(AlertDialogPrimitive.Title, { "data-slot": "alert-dialog-title", className: cn(typographyVariants({ variant: "heading-sm" }), className), ...props }));
|
|
40
43
|
}
|
|
41
44
|
function AlertDialogDescription({ className, ...props }) {
|
|
42
45
|
return (_jsx(AlertDialogPrimitive.Description, { "data-slot": "alert-dialog-description", className: cn("text-sm text-neutral-foreground-subtle", className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE/D,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/alert-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAQtB,QAAA,MAAM,aAAa;;8EAgBjB,CAAC;AAcH,KAAK,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAE/E,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAC3C,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,qEAAqE;IACrE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAIJ,iBAAS,KAAK,CAAC,EACb,GAAG,EACH,SAAS,EACT,OAAmB,EACnB,KAAK,EACL,WAAW,EACX,IAAI,EACJ,WAAmB,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,UAAU,qBA+EZ;AAQD,iBAAS,UAAU,CAAC,EAClB,GAAG,EACH,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,qBAe3B;AAGD,iBAAS,gBAAgB,CAAC,EACxB,GAAG,EACH,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW7B;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { cva } from "class-variance-authority";
|
|
|
4
4
|
import { CheckCircle2, CircleAlert, Info, TriangleAlert, X, } from "lucide-react";
|
|
5
5
|
import { cn } from "../../lib/utils.js";
|
|
6
6
|
import { Button } from "./button.js";
|
|
7
|
+
import { typographyVariants } from "./typography.js";
|
|
7
8
|
// ── Variant definitions ────────────────────────────────────────────────────
|
|
8
9
|
const alertVariants = cva("relative w-full rounded-lg border p-4 text-sm", {
|
|
9
10
|
variants: {
|
|
@@ -51,7 +52,7 @@ function Alert({ ref, className, variant = "default", title, description, icon,
|
|
|
51
52
|
// `mt-*` here (or on `AlertDescription` below) will misalign the icon on
|
|
52
53
|
// slot-composed alerts. See the `SlotDescriptionOnly` story.
|
|
53
54
|
function AlertTitle({ ref, className, children, ...props }) {
|
|
54
|
-
return (_jsx("p", { ref: ref, "data-slot": "alert-title", className: cn("mb-1
|
|
55
|
+
return (_jsx("p", { ref: ref, "data-slot": "alert-title", className: cn("mb-1", typographyVariants({ variant: "heading-xs" }), className), ...props, children: children }));
|
|
55
56
|
}
|
|
56
57
|
// NOTE — top margin is deliberately zero (see the `AlertTitle` note above).
|
|
57
58
|
function AlertDescription({ ref, className, children, ...props }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/ui/alert.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,aAAa,EACb,CAAC,GAEF,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/ui/alert.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5D,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAuB,EACvB,YAAgB,EAChB,SAAoB,EACpB,GAAG,KAAK,EACT,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAE5D,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAuB,EACvB,YAAgB,EAChB,SAAoB,EACpB,GAAG,KAAK,EACT,EAAE,aAAa,qBAuEf;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -6,14 +6,25 @@ import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
|
6
6
|
import { cn } from "../../lib/utils.js";
|
|
7
7
|
import { buttonVariants } from "./button.js";
|
|
8
8
|
function Calendar({ className, classNames, showOutsideDays = false, weekStartsOn = 1, navLayout = "around", ...props }) {
|
|
9
|
+
// react-day-picker's `navLayout="around"` renders the prev button only on the
|
|
10
|
+
// first month and the next only on the last. With one month the per-month
|
|
11
|
+
// `[auto_1fr_auto]` grid centers the caption fine, but with two the caption
|
|
12
|
+
// lands in different grid columns per month and drifts. For multi-month, stack
|
|
13
|
+
// each month as a flex column with a full-width centered caption and the nav
|
|
14
|
+
// buttons positioned absolutely at the outer corners; single-month is unchanged.
|
|
15
|
+
const isMultiMonth = (props.numberOfMonths ?? 1) > 1;
|
|
9
16
|
return (_jsx(DayPicker, { "data-slot": "calendar", showOutsideDays: showOutsideDays, weekStartsOn: weekStartsOn, navLayout: navLayout, className: cn("p-3", className), classNames: {
|
|
10
17
|
months: "flex flex-col sm:flex-row gap-4",
|
|
11
|
-
month:
|
|
12
|
-
|
|
18
|
+
month: isMultiMonth
|
|
19
|
+
? "relative flex flex-col gap-y-3"
|
|
20
|
+
: "grid grid-cols-[auto_1fr_auto] gap-y-3 items-center",
|
|
21
|
+
month_caption: cn("flex items-center justify-center text-sm font-medium", isMultiMonth && "h-9"),
|
|
13
22
|
caption_label: "text-sm font-medium",
|
|
14
|
-
button_previous: cn(buttonVariants({ variant: "ghost", size: "icon-sm" }), "shrink-0"),
|
|
15
|
-
button_next: cn(buttonVariants({ variant: "ghost", size: "icon-sm" }), "shrink-0"),
|
|
16
|
-
month_grid:
|
|
23
|
+
button_previous: cn(buttonVariants({ variant: "ghost", size: "icon-sm" }), "shrink-0", isMultiMonth && "absolute left-0 top-0"),
|
|
24
|
+
button_next: cn(buttonVariants({ variant: "ghost", size: "icon-sm" }), "shrink-0", isMultiMonth && "absolute right-0 top-0"),
|
|
25
|
+
month_grid: isMultiMonth
|
|
26
|
+
? "w-full border-collapse"
|
|
27
|
+
: "col-span-3 w-full border-collapse",
|
|
17
28
|
weekdays: "flex",
|
|
18
29
|
weekday: "text-neutral-foreground-subtle rounded-md w-9 font-normal text-xs",
|
|
19
30
|
week: "flex w-full mt-1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,YAAY,GAAG,CAAC,EAChB,SAAS,GAAG,QAAQ,EACpB,GAAG,KAAK,EACM;IACd,OAAO,CACL,KAAC,SAAS,iBACE,UAAU,EACpB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAC/B,UAAU,EAAE;YACV,MAAM,EAAE,iCAAiC;YACzC,KAAK,EAAE,qDAAqD;
|
|
1
|
+
{"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../../../src/components/ui/calendar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1C,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAe,GAAG,KAAK,EACvB,YAAY,GAAG,CAAC,EAChB,SAAS,GAAG,QAAQ,EACpB,GAAG,KAAK,EACM;IACd,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,OAAO,CACL,KAAC,SAAS,iBACE,UAAU,EACpB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,EAC/B,UAAU,EAAE;YACV,MAAM,EAAE,iCAAiC;YACzC,KAAK,EAAE,YAAY;gBACjB,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,qDAAqD;YACzD,aAAa,EAAE,EAAE,CACf,sDAAsD,EACtD,YAAY,IAAI,KAAK,CACtB;YACD,aAAa,EAAE,qBAAqB;YACpC,eAAe,EAAE,EAAE,CACjB,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACrD,UAAU,EACV,YAAY,IAAI,uBAAuB,CACxC;YACD,WAAW,EAAE,EAAE,CACb,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACrD,UAAU,EACV,YAAY,IAAI,wBAAwB,CACzC;YACD,UAAU,EAAE,YAAY;gBACtB,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,mCAAmC;YACvC,QAAQ,EAAE,MAAM;YAChB,OAAO,EACL,mEAAmE;YACrE,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iFAAiF;YACtF,UAAU,EAAE,EAAE,CACZ,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACrD,kDAAkD,CACnD;YACD,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,cAAc;YACzB,QAAQ,EACN,oQAAoQ;YACtQ,KAAK,EAAE,8DAA8D;YACrE,OAAO,EACL,yFAAyF;YAC3F,QAAQ,EAAE,gDAAgD;YAC1D,YAAY,EACV,0EAA0E;YAC5E,MAAM,EAAE,WAAW;YACnB,GAAG,UAAU;SACd,EACD,UAAU,EAAE;YACV,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACpC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,CACvB,KAAC,eAAe,IAAC,SAAS,EAAC,QAAQ,KAAK,IAAI,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,IAAC,SAAS,EAAC,QAAQ,KAAK,IAAI,GAAI,CAClD;SACJ,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,qBAY3D;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAuC7D;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAWvE;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -3,6 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import { Info } from "lucide-react";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
5
|
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
|
|
6
|
+
import { typographyVariants } from "./typography.js";
|
|
6
7
|
function Card({ className, size = "default", ...props }) {
|
|
7
8
|
return (_jsx("div", { "data-slot": "card", "data-size": size, className: cn("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-neutral-background-subtle py-4 text-sm text-neutral-foreground-strong ring-1 ring-border has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className), ...props }));
|
|
8
9
|
}
|
|
@@ -16,7 +17,11 @@ function CardTitle({ className, tooltip, children, ...props }) {
|
|
|
16
17
|
// CardHeader's grid track grows to fit it instead of the header's
|
|
17
18
|
// actual width — the classic CSS "grid blowout" — and `truncate`
|
|
18
19
|
// never gets a bounded box to ellipsis within.
|
|
19
|
-
"min-w-0
|
|
20
|
+
"min-w-0",
|
|
21
|
+
// Share the type scale via `typographyVariants`; the sm-size Card keeps
|
|
22
|
+
// its 14px override appended after (a distinct group-data modifier, so
|
|
23
|
+
// tailwind-merge does not drop the base text-base).
|
|
24
|
+
typographyVariants({ variant: "heading-sm" }), "group-data-[size=sm]/card:text-sm", className), ...props, children: _jsxs("span", { className: "flex min-w-0 items-center gap-[0.3125rem]", children: [_jsx("span", { className: "min-w-0 truncate", children: children }), tooltip != null && (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", className: "inline-flex size-3.5 shrink-0 cursor-help items-center justify-center", "aria-label": "More information", children: _jsx(Info, { className: "size-3.5" }) }) }), _jsx(TooltipContent, { children: tooltip })] }))] }) }));
|
|
20
25
|
}
|
|
21
26
|
function CardDescription({ className, ...props }) {
|
|
22
27
|
return (_jsx("div", { "data-slot": "card-description", className: cn("text-sm text-neutral-foreground-subtle", className), ...props }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/components/ui/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,SAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,2BACY,MAAM,eACL,IAAI,EACf,SAAS,EAAE,EAAE,CACX,8WAA8W,EAC9W,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,oSAAoS,EACpS,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACoD;IAC5D,OAAO,CACL,2BACY,YAAY,EACtB,SAAS,EAAE,EAAE;QACX,qEAAqE;QACrE,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,+CAA+C;QAC/C,SAAS;QACT,wEAAwE;QACxE,uEAAuE;QACvE,oDAAoD;QACpD,kBAAkB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAC7C,mCAAmC,EACnC,SAAS,CACV,KACG,KAAK,YAET,gBAAM,SAAS,EAAC,2CAA2C,aACzD,eAAM,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAQ,EACnD,OAAO,IAAI,IAAI,IAAI,CAClB,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBACrB,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uEAAuE,gBACtE,kBAAkB,YAE7B,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,GAAG,GACtB,GACM,EACjB,KAAC,cAAc,cAAE,OAAO,GAAkB,IAClC,CACX,IACI,GACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC3E,OAAO,CACL,2BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,SAAS,CAAC,KAC9D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,gEAAgE,EAChE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,CACL,2BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAC3D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,GACZ,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as RechartsPrimitive from "recharts";
|
|
3
|
+
export type ChartSeriesColor = "chart-sky" | "chart-teal" | "chart-orange" | "chart-purple" | "chart-pink" | "chart-blue" | "chart-cyan" | "chart-fuchsia" | "chart-lime" | "chart-indigo" | "success" | "danger" | "warning";
|
|
3
4
|
export type ChartConfig = Record<string, {
|
|
4
5
|
label: React.ReactNode;
|
|
5
6
|
icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>;
|
|
6
|
-
|
|
7
|
+
/** Omit for automatic categorical assignment, in position order. */
|
|
8
|
+
color?: ChartSeriesColor;
|
|
7
9
|
}>;
|
|
8
10
|
declare function ChartContainer({ id, className, children, config, loading, empty, emptyMessage, ...props }: React.ComponentProps<"div"> & {
|
|
9
11
|
config: ChartConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,26 @@ import * as React from "react";
|
|
|
3
3
|
import * as RechartsPrimitive from "recharts";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
5
|
import { Skeleton } from "./skeleton.js";
|
|
6
|
+
const CATEGORICAL_ORDER = [
|
|
7
|
+
"chart-sky",
|
|
8
|
+
"chart-teal",
|
|
9
|
+
"chart-orange",
|
|
10
|
+
"chart-purple",
|
|
11
|
+
"chart-pink",
|
|
12
|
+
"chart-blue",
|
|
13
|
+
"chart-cyan",
|
|
14
|
+
"chart-fuchsia",
|
|
15
|
+
"chart-lime",
|
|
16
|
+
"chart-indigo",
|
|
17
|
+
];
|
|
18
|
+
const STATUS_COLOR_VAR = {
|
|
19
|
+
success: "var(--success-action-default)",
|
|
20
|
+
danger: "var(--danger-action-default)",
|
|
21
|
+
warning: "var(--warning-action-default)",
|
|
22
|
+
};
|
|
23
|
+
function isStatusColor(color) {
|
|
24
|
+
return color === "success" || color === "danger" || color === "warning";
|
|
25
|
+
}
|
|
6
26
|
const ChartContext = React.createContext(null);
|
|
7
27
|
function useChart() {
|
|
8
28
|
const context = React.useContext(ChartContext);
|
|
@@ -17,15 +37,38 @@ function ChartContainer({ id, className, children, config, loading = false, empt
|
|
|
17
37
|
return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { id: id, "data-slot": "chart", "data-chart": chartId, "aria-busy": loading || undefined, className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-neutral-foreground-subtle [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-radial-bar-background-sector]:fill-neutral-background-strong [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-neutral-background-strong [&_.recharts-reference-line-line]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), loading ? (_jsx(Skeleton, { className: "h-full w-full" })) : empty ? (_jsx("div", { className: "flex h-full w-full items-center justify-center text-neutral-foreground-subtle", children: emptyMessage })) : (_jsx(RechartsPrimitive.ResponsiveContainer, { width: "100%", height: "100%", children: children }))] }) }));
|
|
18
38
|
}
|
|
19
39
|
function ChartStyle({ id, config }) {
|
|
20
|
-
const
|
|
21
|
-
if (!
|
|
40
|
+
const entries = Object.entries(config);
|
|
41
|
+
if (!entries.length) {
|
|
22
42
|
return null;
|
|
23
43
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
44
|
+
const claimedCategoricalNames = new Set(entries
|
|
45
|
+
.map(([, entryConfig]) => entryConfig.color)
|
|
46
|
+
.filter((color) => !!color && !isStatusColor(color)));
|
|
47
|
+
const availableCategoricalNames = CATEGORICAL_ORDER.filter((name) => !claimedCategoricalNames.has(name));
|
|
48
|
+
let nextAvailableIndex = 0;
|
|
49
|
+
const declarations = entries.map(([key, entryConfig]) => {
|
|
50
|
+
const { color } = entryConfig;
|
|
51
|
+
let resolved;
|
|
52
|
+
if (color && isStatusColor(color)) {
|
|
53
|
+
resolved = STATUS_COLOR_VAR[color];
|
|
54
|
+
}
|
|
55
|
+
else if (color) {
|
|
56
|
+
resolved = `var(--${color})`;
|
|
57
|
+
}
|
|
58
|
+
else if (nextAvailableIndex < availableCategoricalNames.length) {
|
|
59
|
+
resolved = `var(--${availableCategoricalNames[nextAvailableIndex]})`;
|
|
60
|
+
nextAvailableIndex += 1;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// More omitted-color series than remaining categorical slots — fall
|
|
64
|
+
// back to the same neutral used for the caller-side "Other" bucket
|
|
65
|
+
// (aggregating beyond 10 series) rather than emitting an invalid
|
|
66
|
+
// var(--undefined).
|
|
67
|
+
resolved = "var(--neutral-action-default)";
|
|
68
|
+
}
|
|
69
|
+
return ` --color-${key}: ${resolved};`;
|
|
70
|
+
});
|
|
71
|
+
return (_jsx("style", { children: `[data-chart="${id}"] {\n${declarations.join("\n")}\n}` }));
|
|
29
72
|
}
|
|
30
73
|
/**
|
|
31
74
|
* Recharts' tooltip/legend payload items type `payload` as `any`/`object`
|