@camunda/design-system 0.57.0 → 0.59.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/accordion-skeleton.d.ts +8 -2
- package/dist/carbon-compat/accordion-skeleton.d.ts.map +1 -1
- package/dist/carbon-compat/accordion-skeleton.js +4 -2
- package/dist/carbon-compat/accordion-skeleton.js.map +1 -1
- package/dist/carbon-compat/c3-data-table.d.ts +7 -1
- package/dist/carbon-compat/c3-data-table.d.ts.map +1 -1
- package/dist/carbon-compat/c3-data-table.js +8 -6
- package/dist/carbon-compat/c3-data-table.js.map +1 -1
- package/dist/carbon-compat/code-snippet.d.ts +2 -2
- package/dist/carbon-compat/code-snippet.d.ts.map +1 -1
- package/dist/carbon-compat/code-snippet.js +8 -6
- package/dist/carbon-compat/code-snippet.js.map +1 -1
- package/dist/carbon-compat/error-boundary.d.ts +2 -1
- package/dist/carbon-compat/error-boundary.d.ts.map +1 -1
- package/dist/carbon-compat/error-boundary.js +11 -1
- package/dist/carbon-compat/error-boundary.js.map +1 -1
- package/dist/carbon-compat/modal.d.ts.map +1 -1
- package/dist/carbon-compat/modal.js +5 -1
- package/dist/carbon-compat/modal.js.map +1 -1
- package/dist/carbon-compat/search.d.ts +4 -1
- package/dist/carbon-compat/search.d.ts.map +1 -1
- package/dist/carbon-compat/search.js +4 -2
- package/dist/carbon-compat/search.js.map +1 -1
- package/dist/carbon-compat/table-batch-actions.d.ts +5 -1
- package/dist/carbon-compat/table-batch-actions.d.ts.map +1 -1
- package/dist/carbon-compat/table-batch-actions.js +8 -3
- package/dist/carbon-compat/table-batch-actions.js.map +1 -1
- package/dist/carbon-compat/table-expand.d.ts +5 -1
- package/dist/carbon-compat/table-expand.d.ts.map +1 -1
- package/dist/carbon-compat/table-expand.js +6 -2
- package/dist/carbon-compat/table-expand.js.map +1 -1
- package/dist/carbon-compat/table-select.d.ts +9 -2
- package/dist/carbon-compat/table-select.d.ts.map +1 -1
- package/dist/carbon-compat/table-select.js +5 -2
- package/dist/carbon-compat/table-select.js.map +1 -1
- package/dist/carbon-compat/table-toolbar.d.ts +1 -0
- package/dist/carbon-compat/table-toolbar.d.ts.map +1 -1
- package/dist/carbon-compat/table-toolbar.js +5 -2
- package/dist/carbon-compat/table-toolbar.js.map +1 -1
- package/dist/src/components/ui/alert-dialog.js +1 -1
- package/dist/src/components/ui/alert-dialog.js.map +1 -1
- package/dist/src/components/ui/alert.d.ts +3 -1
- package/dist/src/components/ui/alert.d.ts.map +1 -1
- package/dist/src/components/ui/alert.js +4 -2
- package/dist/src/components/ui/alert.js.map +1 -1
- package/dist/src/components/ui/app-header.d.ts +1 -0
- package/dist/src/components/ui/app-header.d.ts.map +1 -1
- package/dist/src/components/ui/app-header.js +4 -2
- package/dist/src/components/ui/app-header.js.map +1 -1
- package/dist/src/components/ui/app-sidebar.d.ts +49 -2
- package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
- package/dist/src/components/ui/app-sidebar.js +20 -9
- package/dist/src/components/ui/app-sidebar.js.map +1 -1
- package/dist/src/components/ui/breadcrumb.d.ts +7 -1
- package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/breadcrumb.js +6 -3
- package/dist/src/components/ui/breadcrumb.js.map +1 -1
- package/dist/src/components/ui/c4-provider.d.ts +10 -0
- package/dist/src/components/ui/c4-provider.d.ts.map +1 -1
- package/dist/src/components/ui/c4-provider.js +11 -2
- package/dist/src/components/ui/c4-provider.js.map +1 -1
- package/dist/src/components/ui/card.d.ts +3 -1
- package/dist/src/components/ui/card.d.ts.map +1 -1
- package/dist/src/components/ui/card.js +5 -3
- package/dist/src/components/ui/card.js.map +1 -1
- package/dist/src/components/ui/chart.d.ts +1 -0
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +5 -3
- package/dist/src/components/ui/chart.js.map +1 -1
- package/dist/src/components/ui/checkbox.js +1 -1
- package/dist/src/components/ui/checkbox.js.map +1 -1
- package/dist/src/components/ui/code-block.d.ts +5 -0
- package/dist/src/components/ui/code-block.d.ts.map +1 -1
- package/dist/src/components/ui/code-block.js +14 -7
- package/dist/src/components/ui/code-block.js.map +1 -1
- package/dist/src/components/ui/combobox.d.ts +2 -0
- package/dist/src/components/ui/combobox.d.ts.map +1 -1
- package/dist/src/components/ui/combobox.js +9 -5
- package/dist/src/components/ui/combobox.js.map +1 -1
- package/dist/src/components/ui/data-table.d.ts +63 -6
- package/dist/src/components/ui/data-table.d.ts.map +1 -1
- package/dist/src/components/ui/data-table.js +38 -23
- package/dist/src/components/ui/data-table.js.map +1 -1
- package/dist/src/components/ui/date-picker.d.ts +1 -0
- package/dist/src/components/ui/date-picker.d.ts.map +1 -1
- package/dist/src/components/ui/date-picker.js +6 -2
- package/dist/src/components/ui/date-picker.js.map +1 -1
- package/dist/src/components/ui/date-range-picker.d.ts +3 -0
- package/dist/src/components/ui/date-range-picker.d.ts.map +1 -1
- package/dist/src/components/ui/date-range-picker.js +6 -4
- package/dist/src/components/ui/date-range-picker.js.map +1 -1
- package/dist/src/components/ui/dialog.d.ts +6 -2
- package/dist/src/components/ui/dialog.d.ts.map +1 -1
- package/dist/src/components/ui/dialog.js +8 -5
- package/dist/src/components/ui/dialog.js.map +1 -1
- package/dist/src/components/ui/dropdown.js +2 -2
- package/dist/src/components/ui/file-uploader.d.ts +4 -4
- package/dist/src/components/ui/file-uploader.d.ts.map +1 -1
- package/dist/src/components/ui/file-uploader.js +19 -9
- package/dist/src/components/ui/file-uploader.js.map +1 -1
- package/dist/src/components/ui/filter-bar.d.ts +12 -0
- package/dist/src/components/ui/filter-bar.d.ts.map +1 -0
- package/dist/src/components/ui/filter-bar.js +24 -0
- package/dist/src/components/ui/filter-bar.js.map +1 -0
- package/dist/src/components/ui/inline-edit.d.ts +1 -1
- package/dist/src/components/ui/inline-edit.d.ts.map +1 -1
- package/dist/src/components/ui/inline-edit.js +4 -2
- package/dist/src/components/ui/inline-edit.js.map +1 -1
- package/dist/src/components/ui/meter.d.ts +1 -0
- package/dist/src/components/ui/meter.d.ts.map +1 -1
- package/dist/src/components/ui/meter.js +7 -3
- package/dist/src/components/ui/meter.js.map +1 -1
- package/dist/src/components/ui/multi-select.d.ts +9 -0
- package/dist/src/components/ui/multi-select.d.ts.map +1 -1
- package/dist/src/components/ui/multi-select.js +16 -5
- package/dist/src/components/ui/multi-select.js.map +1 -1
- package/dist/src/components/ui/multi-step-dialog.d.ts +25 -1
- package/dist/src/components/ui/multi-step-dialog.d.ts.map +1 -1
- package/dist/src/components/ui/multi-step-dialog.js +18 -7
- package/dist/src/components/ui/multi-step-dialog.js.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.d.ts +29 -12
- package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.js +69 -24
- package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
- package/dist/src/components/ui/notifications.d.ts +52 -5
- package/dist/src/components/ui/notifications.d.ts.map +1 -1
- package/dist/src/components/ui/notifications.js +25 -10
- package/dist/src/components/ui/notifications.js.map +1 -1
- package/dist/src/components/ui/radio-group.js +1 -1
- package/dist/src/components/ui/radio-group.js.map +1 -1
- package/dist/src/components/ui/scorecard.d.ts +1 -0
- package/dist/src/components/ui/scorecard.d.ts.map +1 -1
- package/dist/src/components/ui/scorecard.js +8 -3
- package/dist/src/components/ui/scorecard.js.map +1 -1
- package/dist/src/components/ui/search-input.d.ts +1 -1
- package/dist/src/components/ui/search-input.d.ts.map +1 -1
- package/dist/src/components/ui/search-input.js +4 -2
- package/dist/src/components/ui/search-input.js.map +1 -1
- package/dist/src/components/ui/sheet.d.ts +5 -2
- package/dist/src/components/ui/sheet.d.ts.map +1 -1
- package/dist/src/components/ui/sheet.js +5 -3
- package/dist/src/components/ui/sheet.js.map +1 -1
- package/dist/src/components/ui/sidebar-provider.d.ts.map +1 -1
- package/dist/src/components/ui/sidebar-provider.js +5 -1
- package/dist/src/components/ui/sidebar-provider.js.map +1 -1
- package/dist/src/components/ui/split-button.d.ts +1 -0
- package/dist/src/components/ui/split-button.d.ts.map +1 -1
- package/dist/src/components/ui/split-button.js +4 -2
- package/dist/src/components/ui/split-button.js.map +1 -1
- package/dist/src/components/ui/switch.js +1 -1
- package/dist/src/components/ui/switch.js.map +1 -1
- package/dist/src/components/ui/table.js +2 -2
- package/dist/src/components/ui/table.js.map +1 -1
- package/dist/src/components/ui/tabs.js +1 -1
- package/dist/src/components/ui/toast.d.ts +6 -1
- package/dist/src/components/ui/toast.d.ts.map +1 -1
- package/dist/src/components/ui/toast.js +4 -2
- package/dist/src/components/ui/toast.js.map +1 -1
- package/dist/src/components/ui/toggle-group.js +1 -1
- package/dist/src/components/ui/toggle-group.js.map +1 -1
- package/dist/src/components/ui/tree-view.d.ts +10 -2
- package/dist/src/components/ui/tree-view.d.ts.map +1 -1
- package/dist/src/components/ui/tree-view.js +9 -4
- package/dist/src/components/ui/tree-view.js.map +1 -1
- package/dist/src/components/ui/user-menu.d.ts +12 -1
- package/dist/src/components/ui/user-menu.d.ts.map +1 -1
- package/dist/src/components/ui/user-menu.js +5 -3
- package/dist/src/components/ui/user-menu.js.map +1 -1
- package/dist/src/examples/project-detail/ProjectDetailPage.d.ts.map +1 -1
- package/dist/src/examples/project-detail/ProjectDetailPage.js +5 -3
- package/dist/src/examples/project-detail/ProjectDetailPage.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/i18n/context.d.ts +48 -0
- package/dist/src/lib/i18n/context.d.ts.map +1 -0
- package/dist/src/lib/i18n/context.js +157 -0
- package/dist/src/lib/i18n/context.js.map +1 -0
- package/dist/src/lib/i18n/dictionary.d.ts +148 -0
- package/dist/src/lib/i18n/dictionary.d.ts.map +1 -0
- package/dist/src/lib/i18n/dictionary.js +131 -0
- package/dist/src/lib/i18n/dictionary.js.map +1 -0
- package/dist/styles.css +44 -42
- package/package.json +3 -2
|
@@ -5,12 +5,14 @@ import { format as formatDate, isSameDay } from "date-fns";
|
|
|
5
5
|
import { CalendarIcon, XIcon } from "../../icons/lucide.js";
|
|
6
6
|
import { cn } from "../../lib/utils.js";
|
|
7
7
|
import { withRef } from "../../lib/with-ref.js";
|
|
8
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
8
9
|
import { Button } from "./button.js";
|
|
9
10
|
import { Calendar } from "./calendar.js";
|
|
10
11
|
import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
|
|
11
|
-
function DateRangePickerImpl({ ref, value, defaultValue, onChange, placeholder
|
|
12
|
+
function DateRangePickerImpl({ ref, value, defaultValue, onChange, placeholder, format = "PP", fromDate, toDate, locale, weekStartsOn = 1, calendarLayout = "two-month", disabled, clearRangeLabel, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, }) {
|
|
12
13
|
const [internalValue, setInternalValue] = React.useState(defaultValue);
|
|
13
14
|
const [open, setOpen] = React.useState(false);
|
|
15
|
+
const { t } = useC4Dictionary();
|
|
14
16
|
const isControlled = value !== undefined;
|
|
15
17
|
const selected = isControlled ? value : internalValue;
|
|
16
18
|
const showClear = Boolean(selected?.from) && !disabled;
|
|
@@ -60,10 +62,10 @@ function DateRangePickerImpl({ ref, value, defaultValue, onChange, placeholder =
|
|
|
60
62
|
return matchers.length > 0 ? matchers : undefined;
|
|
61
63
|
}, [fromDate, toDate]);
|
|
62
64
|
const triggerLabel = !selected?.from
|
|
63
|
-
? placeholder
|
|
65
|
+
? (placeholder ?? t("dateRangePicker.pickDateRange"))
|
|
64
66
|
: selected.to
|
|
65
67
|
? `${formatDate(selected.from, format)} – ${formatDate(selected.to, format)}`
|
|
66
|
-
: `${formatDate(selected.from, format)} –
|
|
68
|
+
: `${formatDate(selected.from, format)} – ${t("dateRangePicker.pickEndDate")}`;
|
|
67
69
|
return (_jsxs("div", { className: "relative", "data-slot": "date-range-picker", children: [_jsxs(Popover, { open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { ref: ref, id: id, variant: "secondary", disabled: disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, className: cn("w-full justify-between font-normal", !selected?.from && "text-neutral-foreground-subtle", showClear && "pr-8", className), "data-slot": "date-range-picker-trigger", children: [_jsx("span", { className: "truncate", children: triggerLabel }), !showClear && (_jsx(CalendarIcon, { className: "size-4 shrink-0 opacity-60", "aria-hidden": "true" }))] }) }), _jsx(PopoverContent, { "data-slot": "date-range-picker-content", className: "w-auto p-0", align: "start", children: _jsx(Calendar, { mode: "range", selected: selected, onSelect: handleSelect, defaultMonth: selected?.from, numberOfMonths: calendarLayout === "two-month" ? 2 : 1, startMonth: fromDate, endMonth: toDate, disabled: disabledMatcher, locale: locale, weekStartsOn: weekStartsOn,
|
|
68
70
|
// react-day-picker's `addToRange` treats a range as complete the
|
|
69
71
|
// instant `from`/`to` land on the same day when `min` is unset
|
|
@@ -75,7 +77,7 @@ function DateRangePickerImpl({ ref, value, defaultValue, onChange, placeholder =
|
|
|
75
77
|
// same day would otherwise clear the selection instead of
|
|
76
78
|
// forming a one-day range — `handleSelect` above overrides that
|
|
77
79
|
// specific case to commit `{from, to: from}` (issue #593).
|
|
78
|
-
min: 1, autoFocus: true }) })] }), showClear && (_jsx("button", { type: "button", onClick: handleClear, "aria-label":
|
|
80
|
+
min: 1, autoFocus: true }) })] }), showClear && (_jsx("button", { type: "button", onClick: handleClear, "aria-label": clearRangeLabel ?? t("dateRangePicker.clearRange"), className: "absolute top-1/2 right-2 inline-flex size-7 -translate-y-1/2 items-center justify-center rounded-sm text-neutral-foreground-subtle hover:text-neutral-foreground-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-4", "aria-hidden": "true" }) }))] }));
|
|
79
81
|
}
|
|
80
82
|
const DateRangePicker = withRef(DateRangePickerImpl);
|
|
81
83
|
export { DateRangePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker.js","sourceRoot":"","sources":["../../../../src/components/ui/date-range-picker.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,SAAS,EAAe,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"date-range-picker.js","sourceRoot":"","sources":["../../../../src/components/ui/date-range-picker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogP
|
|
|
5
5
|
declare function DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
|
|
6
6
|
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
|
|
7
7
|
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
|
|
8
|
-
declare function DialogContent({ className, children, showCloseButton, size, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
8
|
+
declare function DialogContent({ className, children, showCloseButton, size, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, closeLabel, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
9
9
|
showCloseButton?: boolean;
|
|
10
10
|
/**
|
|
11
11
|
* Width tier for the modal, mapped to the shared cross-overlay size scale
|
|
@@ -23,11 +23,15 @@ declare function DialogContent({ className, children, showCloseButton, size, onO
|
|
|
23
23
|
* Point it at a still-mounted element, typically the menu's own trigger.
|
|
24
24
|
*/
|
|
25
25
|
restoreFocusRef?: React.RefObject<HTMLElement | null>;
|
|
26
|
+
/** Accessible name for the top-right close button. Sourced from the i18n dictionary, overridable via this prop. */
|
|
27
|
+
closeLabel?: string;
|
|
26
28
|
}): React.JSX.Element;
|
|
27
29
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
28
30
|
declare function DialogBody({ className, children, style, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
29
|
-
declare function DialogFooter({ className, showCloseButton, children, ...props }: React.ComponentProps<"div"> & {
|
|
31
|
+
declare function DialogFooter({ className, showCloseButton, closeButtonLabel, children, ...props }: React.ComponentProps<"div"> & {
|
|
30
32
|
showCloseButton?: boolean;
|
|
33
|
+
/** Label for the visible footer close button. Sourced from the i18n dictionary, overridable via this prop. */
|
|
34
|
+
closeButtonLabel?: string;
|
|
31
35
|
}): React.JSX.Element;
|
|
32
36
|
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): React.JSX.Element;
|
|
33
37
|
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAcrD,iBAAS,MAAM,CAAC,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,qBAEnD;AAED,iBAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBAEtD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,MAAM,CAAC,qBAErD;AAED,iBAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAEpD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,qBAWtD;AA0DD,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,eAAsB,EACtB,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,mHAAmH;IACnH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,qBAiDA;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQzE;AAQD,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAkH7B;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,eAAuB,EACvB,gBAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8GAA8G;IAC9G,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,qBAqBA;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAWpD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC,qBAY1D;AAED,OAAO,EACL,MAAM,EACN,UAAU,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,GACd,CAAC"}
|
|
@@ -4,6 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
import { cva } from "class-variance-authority";
|
|
5
5
|
import { Dialog as DialogPrimitive } from "radix-ui";
|
|
6
6
|
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
7
8
|
import { composeCloseAutoFocus, composeOpenAutoFocus, useDialogFocusReturn, } from "../../lib/focus-visible-on-close.js";
|
|
8
9
|
import { C4Provider } from "./c4-provider.js";
|
|
9
10
|
import { Button } from "../ui/button.js";
|
|
@@ -48,7 +49,7 @@ const dialogContentVariants = cva([
|
|
|
48
49
|
// Override: a consumer `sm:max-w-*` in `className`, or a different
|
|
49
50
|
// `size`, replaces the variant's cap (same variant, same
|
|
50
51
|
// property → tailwind-merge dedup'd).
|
|
51
|
-
"fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-border duration-100 outline-none sm:w-full [&>*]:min-w-0 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
52
|
+
"fixed top-1/2 left-1/2 z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-xl bg-popover p-6 text-sm text-popover-foreground ring-1 ring-border shadow-xl duration-100 outline-none sm:w-full [&>*]:min-w-0 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",
|
|
52
53
|
// A DialogBody descendant (any depth, so a consumer-added <form>
|
|
53
54
|
// wrapper doesn't break detection) flips the content from a
|
|
54
55
|
// single scrolling box to a fixed-header/fixed-footer frame
|
|
@@ -76,8 +77,9 @@ const dialogContentVariants = cva([
|
|
|
76
77
|
size: "sm",
|
|
77
78
|
},
|
|
78
79
|
});
|
|
79
|
-
function DialogContent({ className, children, showCloseButton = true, size, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, ...props }) {
|
|
80
|
+
function DialogContent({ className, children, showCloseButton = true, size, onOpenAutoFocus, onCloseAutoFocus, restoreFocusRef, closeLabel, ...props }) {
|
|
80
81
|
const dialogFocusReturn = useDialogFocusReturn(restoreFocusRef);
|
|
82
|
+
const { t } = useC4Dictionary();
|
|
81
83
|
return (_jsx(DialogPortal, { children: _jsxs(C4Provider, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { "data-slot": "dialog-content",
|
|
82
84
|
// #26413 — Radix's native close-restore only works when it owns
|
|
83
85
|
// the element that opened the dialog (a `DialogTrigger` still
|
|
@@ -90,7 +92,7 @@ function DialogContent({ className, children, showCloseButton = true, size, onOp
|
|
|
90
92
|
// ring-less. Stamp a transient marker so the ring shows regardless of
|
|
91
93
|
// input modality (runs after the consumer's handler, no-op if it
|
|
92
94
|
// prevented the default restore).
|
|
93
|
-
onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn(dialogContentVariants({ size, className })), ...props, children: [children, showCloseButton && (_jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: _jsxs(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "
|
|
95
|
+
onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn(dialogContentVariants({ size, className })), ...props, children: [children, showCloseButton && (_jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", asChild: true, children: _jsxs(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm", children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: closeLabel ?? t("dialog.close") })] }) }))] })] }) }));
|
|
94
96
|
}
|
|
95
97
|
function DialogHeader({ className, ...props }) {
|
|
96
98
|
return (_jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-none flex-col gap-2", className), ...props }));
|
|
@@ -186,8 +188,9 @@ function DialogBody({ className, children, style, ...props }) {
|
|
|
186
188
|
// DialogBody's edge instead of fading out gracefully.
|
|
187
189
|
"-m-1 flex min-h-0 flex-1 flex-col gap-4 overflow-x-hidden overflow-y-auto p-1", className), ...props, children: children }));
|
|
188
190
|
}
|
|
189
|
-
function DialogFooter({ className, showCloseButton = false, children, ...props }) {
|
|
190
|
-
|
|
191
|
+
function DialogFooter({ className, showCloseButton = false, closeButtonLabel, children, ...props }) {
|
|
192
|
+
const { t } = useC4Dictionary();
|
|
193
|
+
return (_jsxs("div", { "data-slot": "dialog-footer", className: cn("mt-4 -mx-6 -mb-6 flex flex-none flex-col-reverse gap-2 rounded-b-xl border-t border-border bg-neutral-background-medium px-4 py-2 sm:flex-row sm:flex-wrap sm:justify-end", className), ...props, children: [showCloseButton && (_jsx(DialogPrimitive.Close, { asChild: true, children: _jsx(Button, { variant: "secondary", children: closeButtonLabel ?? t("dialog.closeButton") }) })), children] }));
|
|
191
194
|
}
|
|
192
195
|
function DialogTitle({ className, ...props }) {
|
|
193
196
|
// Share the typography scale via `typographyVariants` on the Radix Title —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,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,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,SAAS,MAAM,CAAC,EACd,GAAG,KAAK,EAC0C;IAClD,OAAO,KAAC,eAAe,CAAC,IAAI,iBAAW,QAAQ,KAAK,KAAK,GAAI,CAAC;AAChE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,GAAG,KAAK,EAC6C;IACrD,OAAO,KAAC,eAAe,CAAC,OAAO,iBAAW,gBAAgB,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EAC4C;IACpD,OAAO,KAAC,eAAe,CAAC,MAAM,iBAAW,eAAe,KAAK,KAAK,GAAI,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,GAAG,KAAK,EAC2C;IACnD,OAAO,KAAC,eAAe,CAAC,KAAK,iBAAW,cAAc,KAAK,KAAK,GAAI,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,eAAe,CAAC,OAAO,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,uLAAuL,EACvL,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,GAAG,CAC/B;IACE,mEAAmE;IACnE,2DAA2D;IAC3D,qEAAqE;IACrE,gEAAgE;IAChE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,4CAA4C;IAC5C,EAAE;IACF,gEAAgE;IAChE,oEAAoE;IACpE,wEAAwE;IACxE,sEAAsE;IACtE,gBAAgB;IAChB,EAAE;IACF,eAAe;IACf,oEAAoE;IACpE,uEAAuE;IACvE,mEAAmE;IACnE,uCAAuC;IACvC,sEAAsE;IACtE,sEAAsE;IACtE,mDAAmD;IACnD,
|
|
1
|
+
{"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ function DropdownMenuContent({ className, sideOffset = 4, onCloseAutoFocus, rest
|
|
|
23
23
|
// restored focus ring visible on a mouse close (see
|
|
24
24
|
// focus-visible-on-close). No `onOpenAutoFocus` auto-capture here —
|
|
25
25
|
// Radix's Menu.Content doesn't expose that hook.
|
|
26
|
-
onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn("relative z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-36 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-
|
|
26
|
+
onCloseAutoFocus: composeCloseAutoFocus(onCloseAutoFocus, dialogFocusReturn.onCloseAutoFocus), className: cn("relative z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-36 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-border data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", className), ...props }) }) }));
|
|
27
27
|
}
|
|
28
28
|
function DropdownMenuGroup({ ...props }) {
|
|
29
29
|
return (_jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }));
|
|
@@ -60,7 +60,7 @@ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
|
|
|
60
60
|
return (_jsxs(DropdownMenuPrimitive.SubTrigger, { "data-slot": "dropdown-menu-sub-trigger", "data-inset": inset, className: cn("flex cursor-pointer items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-primary-background-strong focus:text-primary-foreground-strong data-[state=open]:bg-primary-background-strong data-[state=open]:text-primary-foreground-strong data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(ChevronRightIcon, { className: "ml-auto size-4" })] }));
|
|
61
61
|
}
|
|
62
62
|
function DropdownMenuSubContent({ className, ...props }) {
|
|
63
|
-
return (_jsx(C4Provider, { children: _jsx(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn("z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-
|
|
63
|
+
return (_jsx(C4Provider, { children: _jsx(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn("z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-lg bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-border data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", className), ...props }) }));
|
|
64
64
|
}
|
|
65
65
|
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
66
66
|
//# sourceMappingURL=dropdown.js.map
|
|
@@ -5,11 +5,11 @@ export interface FileUploaderProps extends Omit<React.ComponentProps<"div">, "on
|
|
|
5
5
|
/** Single file replaces the previous; multiple appends. */
|
|
6
6
|
mode?: "single" | "multiple";
|
|
7
7
|
size?: "default" | "compact";
|
|
8
|
-
/** Accessible label title shown inside the drop zone. */
|
|
8
|
+
/** Accessible label title shown inside the drop zone. Sourced from the i18n dictionary at key `"fileUploader.dropZoneLabel"` when omitted. */
|
|
9
9
|
labelTitle?: string;
|
|
10
10
|
/** Secondary description (accepted types, size limits). */
|
|
11
11
|
labelDescription?: string;
|
|
12
|
-
/** Label for the browse-files button. */
|
|
12
|
+
/** Label for the browse-files button. Sourced from the i18n dictionary at key `"fileUploader.browse"` when omitted. */
|
|
13
13
|
buttonLabel?: string;
|
|
14
14
|
/** Native file input `accept` attribute. */
|
|
15
15
|
accept?: string;
|
|
@@ -38,11 +38,11 @@ export interface FileUploaderProps extends Omit<React.ComponentProps<"div">, "on
|
|
|
38
38
|
declare function FileUploader({ mode, size, labelTitle, labelDescription, buttonLabel, accept, disabled, maxFiles, maxSize, files: controlledFiles, onFilesChange, onChange, fileStatus, fileErrors, className, id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedby, "aria-label": ariaLabel, ...props }: FileUploaderProps): React.JSX.Element;
|
|
39
39
|
export interface FileUploaderZoneProps extends Omit<React.ComponentProps<"div">, "onChange" | "onDragOver" | "onDragLeave" | "onDrop"> {
|
|
40
40
|
size?: "default" | "compact";
|
|
41
|
-
/** Accessible label title shown inside the drop zone. */
|
|
41
|
+
/** Accessible label title shown inside the drop zone. Sourced from the i18n dictionary at key `"fileUploader.dropZoneLabel"` when omitted. */
|
|
42
42
|
labelTitle?: string;
|
|
43
43
|
/** Secondary description (accepted types, size limits). */
|
|
44
44
|
labelDescription?: string;
|
|
45
|
-
/** Label for the browse-files button. */
|
|
45
|
+
/** Label for the browse-files button. Sourced from the i18n dictionary at key `"fileUploader.browse"` when omitted. */
|
|
46
46
|
buttonLabel?: string;
|
|
47
47
|
/** Native file input `accept` attribute. */
|
|
48
48
|
accept?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/file-uploader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/file-uploader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import * as React from "react";
|
|
|
4
4
|
import { cva } from "class-variance-authority";
|
|
5
5
|
import { CheckCircle2, Loader2, UploadCloud, X, XCircle } from "../../icons/lucide.js";
|
|
6
6
|
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
7
8
|
import { Text } from "./typography.js";
|
|
8
9
|
import { Button, buttonVariants } from "./button.js";
|
|
9
10
|
// 2. cva() variants
|
|
@@ -37,9 +38,12 @@ const dropZoneVariants = cva([
|
|
|
37
38
|
},
|
|
38
39
|
});
|
|
39
40
|
// 4. Component
|
|
40
|
-
function FileUploader({ mode = "single", size = "default", labelTitle
|
|
41
|
+
function FileUploader({ mode = "single", size = "default", labelTitle, labelDescription, buttonLabel, accept, disabled = false, maxFiles, maxSize, files: controlledFiles, onFilesChange, onChange, fileStatus, fileErrors, className, id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedby, "aria-label": ariaLabel, ...props }) {
|
|
41
42
|
// useId provides a stable ID so htmlFor always resolves even without an explicit `id` prop.
|
|
42
43
|
const stableId = React.useId();
|
|
44
|
+
const { t } = useC4Dictionary();
|
|
45
|
+
const resolvedButtonLabel = buttonLabel ?? t("fileUploader.browse");
|
|
46
|
+
const resolvedLabelTitle = labelTitle ?? t("fileUploader.dropZoneLabel");
|
|
43
47
|
const isControlled = controlledFiles !== undefined;
|
|
44
48
|
const [internalFiles, setInternalFiles] = React.useState([]);
|
|
45
49
|
const [isDragOver, setIsDragOver] = React.useState(false);
|
|
@@ -136,7 +140,7 @@ function FileUploader({ mode = "single", size = "default", labelTitle = "Drop fi
|
|
|
136
140
|
if (next.length < (maxFiles ?? Infinity))
|
|
137
141
|
setMaxFilesError(false);
|
|
138
142
|
applyFiles(next);
|
|
139
|
-
announceLive(
|
|
143
|
+
announceLive(t("fileUploader.fileRemoved", { fileName: file.name }));
|
|
140
144
|
};
|
|
141
145
|
const handleInputChange = (e) => {
|
|
142
146
|
if (e.target.files && e.target.files.length > 0) {
|
|
@@ -177,22 +181,24 @@ function FileUploader({ mode = "single", size = "default", labelTitle = "Drop fi
|
|
|
177
181
|
const errorForFile = (file) => {
|
|
178
182
|
return fileErrors?.get(file) ?? sizeErrors.get(file);
|
|
179
183
|
};
|
|
180
|
-
return (_jsxs("div", { "data-slot": "file-uploader", "aria-disabled": disabled || undefined, className: cn("flex flex-col gap-2", className), ...props, children: [_jsx("div", { "aria-live": "polite", "aria-atomic": "true", className: "sr-only", children: liveMessage }), _jsx("input", { type: "file", id: inputId, accept: accept, multiple: mode === "multiple", disabled: disabled, onChange: handleInputChange, "aria-hidden": "true", tabIndex: -1, className: "sr-only" }), _jsxs("div", { id: regionId, role: "region", "aria-label": ariaLabel ??
|
|
184
|
+
return (_jsxs("div", { "data-slot": "file-uploader", "aria-disabled": disabled || undefined, className: cn("flex flex-col gap-2", className), ...props, children: [_jsx("div", { "aria-live": "polite", "aria-atomic": "true", className: "sr-only", children: liveMessage }), _jsx("input", { type: "file", id: inputId, accept: accept, multiple: mode === "multiple", disabled: disabled, onChange: handleInputChange, "aria-hidden": "true", tabIndex: -1, className: "sr-only" }), _jsxs("div", { id: regionId, role: "region", "aria-label": ariaLabel ?? resolvedLabelTitle, "aria-describedby": describedByParts || undefined, "aria-invalid": isInvalid || undefined, "aria-dropeffect": isDragOver ? "copy" : undefined, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, className: dropZoneVariants({
|
|
181
185
|
size,
|
|
182
186
|
isDragOver,
|
|
183
187
|
disabled,
|
|
184
188
|
invalid: isInvalid,
|
|
185
|
-
}), children: [size !== "compact" && (_jsx(UploadCloud, { className: "size-8 text-muted-foreground", "aria-hidden": "true" })),
|
|
189
|
+
}), children: [size !== "compact" && (_jsx(UploadCloud, { className: "size-8 text-muted-foreground", "aria-hidden": "true" })), resolvedLabelTitle && (_jsx(Text, { as: "p", variant: "label-md-strong", className: "text-foreground", children: resolvedLabelTitle })), labelDescription && (_jsx("p", { id: descriptionId, className: "text-xs text-muted-foreground", children: labelDescription })), _jsx("label", { htmlFor: inputId, className: cn(buttonVariants({ variant: "secondary", size: "sm" }), disabled && "pointer-events-none cursor-not-allowed opacity-50", "cursor-pointer"), children: resolvedButtonLabel })] }), files.length > 0 && (_jsx("ul", { className: "flex flex-col gap-1.5", role: "list", children: files.map((file) => {
|
|
186
190
|
const status = statusForFile(file);
|
|
187
191
|
const fileError = errorForFile(file);
|
|
188
192
|
const rowId = `${id ?? "file-uploader"}-row-${file.name}`;
|
|
189
193
|
const errorId = `${rowId}-error`;
|
|
190
|
-
return (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2", "aria-busy": status === "uploading" || undefined, "aria-describedby": fileError ? errorId : undefined, children: [_jsxs("span", { className: "shrink-0", "aria-hidden": "true", children: [status === "uploading" && (_jsx(Loader2, { className: "size-4 animate-spin text-muted-foreground" })), status === "complete" && (_jsx(CheckCircle2, { className: "size-4 text-success" })), status === "error" && (_jsx(XCircle, { className: "size-4 text-destructive" })), status === "idle" && _jsx("div", { className: "size-4" })] }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: file.name }), _jsx(Button, { variant: "ghost", size: "icon-sm", type: "button", disabled: disabled, "aria-label":
|
|
194
|
+
return (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2", "aria-busy": status === "uploading" || undefined, "aria-describedby": fileError ? errorId : undefined, children: [_jsxs("span", { className: "shrink-0", "aria-hidden": "true", children: [status === "uploading" && (_jsx(Loader2, { className: "size-4 animate-spin text-muted-foreground" })), status === "complete" && (_jsx(CheckCircle2, { className: "size-4 text-success" })), status === "error" && (_jsx(XCircle, { className: "size-4 text-destructive" })), status === "idle" && _jsx("div", { className: "size-4" })] }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: file.name }), _jsx(Button, { variant: "ghost", size: "icon-sm", type: "button", disabled: disabled, "aria-label": t("fileUploader.removeFile", {
|
|
195
|
+
fileName: file.name,
|
|
196
|
+
}), onClick: (e) => {
|
|
191
197
|
e.stopPropagation();
|
|
192
198
|
removeFile(file);
|
|
193
199
|
}, children: _jsx(X, { "aria-hidden": "true" }) })] }), fileError && (_jsx("p", { id: errorId, className: "mt-0.5 px-3 text-xs text-destructive", role: "alert", children: fileError }))] }, `${file.name}-${file.size}`));
|
|
194
200
|
}) })), maxFiles !== undefined &&
|
|
195
|
-
(maxFilesError || files.length >= maxFiles) && (
|
|
201
|
+
(maxFilesError || files.length >= maxFiles) && (_jsx("p", { id: maxFilesErrorId, className: "text-xs text-destructive", role: "alert", children: t("fileUploader.maxFilesReached", { count: maxFiles }) }))] }));
|
|
196
202
|
}
|
|
197
203
|
/**
|
|
198
204
|
* FileUploaderZone — the drop-zone landmark with an inline browse button.
|
|
@@ -200,8 +206,11 @@ function FileUploader({ mode = "single", size = "default", labelTitle = "Drop fi
|
|
|
200
206
|
* files via `onFilesSelected`. File list, status, and errors are the caller's
|
|
201
207
|
* responsibility — pair with `FileUploaderList` + `FileUploaderItem`.
|
|
202
208
|
*/
|
|
203
|
-
function FileUploaderZone({ size = "default", labelTitle
|
|
209
|
+
function FileUploaderZone({ size = "default", labelTitle, labelDescription, buttonLabel, accept, multiple = false, disabled = false, invalid = false, onFilesSelected, id, className, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, ...props }) {
|
|
204
210
|
const stableId = React.useId();
|
|
211
|
+
const { t } = useC4Dictionary();
|
|
212
|
+
const resolvedButtonLabel = buttonLabel ?? t("fileUploader.browse");
|
|
213
|
+
const resolvedLabelTitle = labelTitle ?? t("fileUploader.dropZoneLabel");
|
|
205
214
|
const inputId = `${id ?? stableId}-input`;
|
|
206
215
|
const descriptionId = labelDescription
|
|
207
216
|
? `${id ?? stableId}-description`
|
|
@@ -236,7 +245,7 @@ function FileUploaderZone({ size = "default", labelTitle = "Drop file here", lab
|
|
|
236
245
|
if (e.dataTransfer.files.length > 0)
|
|
237
246
|
emit(e.dataTransfer.files);
|
|
238
247
|
};
|
|
239
|
-
return (_jsxs("div", { "data-slot": "file-uploader-zone", id: id, className: cn(dropZoneVariants({ size, isDragOver, disabled, invalid }), className), ...props, role: "region", "aria-label": ariaLabel ??
|
|
248
|
+
return (_jsxs("div", { "data-slot": "file-uploader-zone", id: id, className: cn(dropZoneVariants({ size, isDragOver, disabled, invalid }), className), ...props, role: "region", "aria-label": ariaLabel ?? resolvedLabelTitle, "aria-describedby": describedBy, "aria-invalid": invalid || undefined, "aria-dropeffect": isDragOver ? "copy" : undefined, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [_jsx("input", { type: "file", id: inputId, accept: accept, multiple: multiple, disabled: disabled, onChange: handleInputChange, "aria-hidden": "true", tabIndex: -1, className: "sr-only" }), size !== "compact" && (_jsx(UploadCloud, { className: "size-8 text-muted-foreground", "aria-hidden": "true" })), resolvedLabelTitle && (_jsx(Text, { as: "p", variant: "label-md-strong", className: "text-foreground", children: resolvedLabelTitle })), labelDescription && (_jsx("p", { id: descriptionId, className: "text-xs text-muted-foreground", children: labelDescription })), _jsx("label", { htmlFor: inputId, className: cn(buttonVariants({ variant: "secondary", size: "sm" }), disabled && "pointer-events-none cursor-not-allowed opacity-50", "cursor-pointer"), children: resolvedButtonLabel })] }));
|
|
240
249
|
}
|
|
241
250
|
/**
|
|
242
251
|
* FileUploaderButton — a standalone browse-files trigger. Renders a
|
|
@@ -278,9 +287,10 @@ function FileUploaderList({ className, ...props }) {
|
|
|
278
287
|
*/
|
|
279
288
|
function FileUploaderItem({ name, status = "idle", error, disabled = false, onRemove, as: Tag = "li", className, "aria-describedby": ariaDescribedBy, ...props }) {
|
|
280
289
|
const stableId = React.useId();
|
|
290
|
+
const { t } = useC4Dictionary();
|
|
281
291
|
const errorId = error ? `${stableId}-error` : undefined;
|
|
282
292
|
const describedBy = [errorId, ariaDescribedBy].filter(Boolean).join(" ") || undefined;
|
|
283
|
-
return (_jsxs(Tag, { "data-slot": "file-uploader-item", className: cn(className), ...props, children: [_jsxs("div", { className: "flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2", "aria-busy": status === "uploading" || undefined, "aria-describedby": describedBy, children: [_jsxs("span", { className: "shrink-0", "aria-hidden": "true", children: [status === "uploading" && (_jsx(Loader2, { className: "size-4 animate-spin text-muted-foreground" })), status === "complete" && (_jsx(CheckCircle2, { className: "size-4 text-success" })), status === "error" && (_jsx(XCircle, { className: "size-4 text-destructive" })), status === "idle" && _jsx("div", { className: "size-4" })] }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: name }), onRemove && (_jsx(Button, { variant: "ghost", size: "icon-sm", type: "button", disabled: disabled, "aria-label":
|
|
293
|
+
return (_jsxs(Tag, { "data-slot": "file-uploader-item", className: cn(className), ...props, children: [_jsxs("div", { className: "flex items-center gap-2 rounded-md border border-border bg-background px-3 py-2", "aria-busy": status === "uploading" || undefined, "aria-describedby": describedBy, children: [_jsxs("span", { className: "shrink-0", "aria-hidden": "true", children: [status === "uploading" && (_jsx(Loader2, { className: "size-4 animate-spin text-muted-foreground" })), status === "complete" && (_jsx(CheckCircle2, { className: "size-4 text-success" })), status === "error" && (_jsx(XCircle, { className: "size-4 text-destructive" })), status === "idle" && _jsx("div", { className: "size-4" })] }), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm text-foreground", children: name }), onRemove && (_jsx(Button, { variant: "ghost", size: "icon-sm", type: "button", disabled: disabled, "aria-label": t("fileUploader.removeFile", { fileName: name }), onClick: (e) => {
|
|
284
294
|
e.stopPropagation();
|
|
285
295
|
onRemove();
|
|
286
296
|
}, children: _jsx(X, { "aria-hidden": "true" }) }))] }), error && (_jsx("p", { id: errorId, className: "mt-0.5 px-3 text-xs text-destructive", role: "alert", children: error }))] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../../../../src/components/ui/file-uploader.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../../../../src/components/ui/file-uploader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
type FilterBarProps = Omit<React.ComponentProps<"div">, "children"> & {
|
|
3
|
+
search?: React.ReactNode;
|
|
4
|
+
filters?: React.ReactNode;
|
|
5
|
+
sort?: React.ReactNode;
|
|
6
|
+
view?: React.ReactNode;
|
|
7
|
+
actions?: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
declare const FilterBar: React.ForwardRefExoticComponent<Omit<FilterBarProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
export { FilterBar };
|
|
11
|
+
export type { FilterBarProps };
|
|
12
|
+
//# sourceMappingURL=filter-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/filter-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,GAAG;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAmDF,QAAA,MAAM,SAAS,oGAAyD,CAAC;AAGzE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { withRef } from "../../lib/with-ref.js";
|
|
5
|
+
function FilterBarImpl({ search, filters, sort, view, actions, className, ref, ...props }) {
|
|
6
|
+
const hasRightCluster = !!(filters || sort || view || actions);
|
|
7
|
+
return (_jsxs("div", { "data-slot": "filter-bar", className: cn(
|
|
8
|
+
// Row gap is larger than the column gap: 8px reads as one group within a
|
|
9
|
+
// row, but as two cramped rows once the bar wraps.
|
|
10
|
+
"flex flex-wrap items-center gap-x-2 gap-y-3", className), ref: ref, ...props, children: [search && _jsx("div", { className: "min-w-48 flex-1", children: search }), hasRightCluster && (
|
|
11
|
+
// One wrapper, not four siblings, so the controls travel to the next
|
|
12
|
+
// row together instead of splitting up. `max-w-full` + `flex-wrap` is
|
|
13
|
+
// the escape hatch below ~430px, where the cluster alone exceeds the
|
|
14
|
+
// viewport and `flex-none` would otherwise overflow it.
|
|
15
|
+
_jsxs("div", { className: cn("flex max-w-full flex-none flex-wrap items-center gap-2",
|
|
16
|
+
// `search` is `flex-1`, so it already pushes the cluster to the row's
|
|
17
|
+
// right edge. Adding `ml-auto` there would also pin the cluster to the
|
|
18
|
+
// right edge of the *wrapped* row, stranding it past a wide gap.
|
|
19
|
+
!search && "ml-auto"), children: [filters && _jsx("div", { children: filters }), sort && _jsx("div", { children: sort }), view && _jsx("div", { children: view }), actions && _jsx("div", { className: "flex items-center gap-2", children: actions })] }))] }));
|
|
20
|
+
}
|
|
21
|
+
const FilterBar = withRef(FilterBarImpl);
|
|
22
|
+
FilterBar.displayName = "FilterBar";
|
|
23
|
+
export { FilterBar };
|
|
24
|
+
//# sourceMappingURL=filter-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-bar.js","sourceRoot":"","sources":["../../../../src/components/ui/filter-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUvC,SAAS,aAAa,CAAC,EACrB,MAAM,EACN,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,KAAK,EACO;IACf,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC;IAE/D,OAAO,CACL,4BACY,YAAY,EACtB,SAAS,EAAE,EAAE;QACX,yEAAyE;QACzE,mDAAmD;QACnD,6CAA6C,EAC7C,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK,aAER,MAAM,IAAI,cAAK,SAAS,EAAC,iBAAiB,YAAE,MAAM,GAAO,EACzD,eAAe,IAAI;YAClB,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,wDAAwD;YACxD,eACE,SAAS,EAAE,EAAE,CACX,wDAAwD;gBACxD,sEAAsE;gBACtE,uEAAuE;gBACvE,iEAAiE;gBACjE,CAAC,MAAM,IAAI,SAAS,CACrB,aAEA,OAAO,IAAI,wBAAM,OAAO,GAAO,EAC/B,IAAI,IAAI,wBAAM,IAAI,GAAO,EACzB,IAAI,IAAI,wBAAM,IAAI,GAAO,EACzB,OAAO,IAAI,cAAK,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAO,IAChE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAiC,aAAa,CAAC,CAAC;AACzE,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -14,7 +14,7 @@ type InlineEditProps = {
|
|
|
14
14
|
label: string;
|
|
15
15
|
/** Accessible name for the pencil trigger. Defaults to `Edit ${label}`. */
|
|
16
16
|
editLabel?: string;
|
|
17
|
-
/** Accessible name for the icon-only Confirm button.
|
|
17
|
+
/** Accessible name for the icon-only Confirm button. Sourced from the i18n dictionary at key `"inlineEdit.confirm"` when omitted. */
|
|
18
18
|
confirmLabel?: string;
|
|
19
19
|
/** Placeholder shown in the edit-mode Input when the draft is empty. */
|
|
20
20
|
placeholder?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inline-edit.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/inline-edit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"inline-edit.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/inline-edit.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiD/B,KAAK,eAAe,GAAG;IACrB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,kGAAkG;IAClG,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qIAAqI;IACrI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,iBAAS,UAAU,CAAC,EAClB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAgB,EAChB,YAAoB,EACpB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EACf,WAAkB,EAClB,SAAS,GACV,EAAE,eAAe,qBA+RjB;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { Check, Pencil } from "../../icons/lucide.js";
|
|
5
5
|
import { cn } from "../../lib/utils.js";
|
|
6
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
6
7
|
import { Button } from "./button.js";
|
|
7
8
|
import { Input } from "./input.js";
|
|
8
9
|
const INERT_RETRY_BUDGET_MS = 500;
|
|
@@ -43,7 +44,8 @@ function focusWhenNotInert(el, onFocused) {
|
|
|
43
44
|
cancelAnimationFrame(rafId);
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
|
-
function InlineEdit({ value, onSubmit, onCancel, label, editLabel, confirmLabel
|
|
47
|
+
function InlineEdit({ value, onSubmit, onCancel, label, editLabel, confirmLabel, placeholder, maxLength, disabled = false, submitOnBlur = false, editing: controlledEditing, onEditingChange, showTrigger = true, className, }) {
|
|
48
|
+
const { t } = useC4Dictionary();
|
|
47
49
|
const [internalEditing, setInternalEditing] = React.useState(false);
|
|
48
50
|
const isControlled = controlledEditing !== undefined;
|
|
49
51
|
const editing = isControlled ? controlledEditing : internalEditing;
|
|
@@ -246,7 +248,7 @@ function InlineEdit({ value, onSubmit, onCancel, label, editLabel, confirmLabel
|
|
|
246
248
|
setEditing(true);
|
|
247
249
|
}
|
|
248
250
|
const resolvedEditLabel = editLabel ?? `Edit ${label}`;
|
|
249
|
-
return (_jsx("div", { "data-slot": "inline-edit", "data-interactive": editing || showTrigger || undefined, className: cn("inline-flex max-w-full items-center gap-1", className), children: editing ? (_jsxs("form", { onSubmit: handleFormSubmit, onKeyDown: handleFormKeyDown, onKeyUp: handleFormKeyUp, onKeyDownCapture: handleFormKeyDownCapture, onBlur: handleSubtreeBlur, onPointerDownCapture: handlePointerDownCapture, className: "flex min-w-0 flex-1 items-center gap-1", children: [_jsx(Input, { ref: inputRef, value: draft, onChange: (event) => setDraft(event.target.value), "aria-label": label, placeholder: placeholder, maxLength: maxLength, disabled: pending, className: "min-w-0 flex-1" }), _jsx(Button, { type: "submit", size: "icon", "aria-label": confirmLabel, disabled: isBlank || isUnchanged, loading: pending, children: _jsx(Check, { "aria-hidden": "true" }) })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "min-w-0 truncate", children: value }), showTrigger ? (_jsx(Button, { ref: triggerRef, type: "button", variant: "ghost", size: "icon-sm", "aria-label": resolvedEditLabel, disabled: disabled, onClick: handleTriggerClick, children: _jsx(Pencil, { "aria-hidden": "true" }) })) : null] })) }));
|
|
251
|
+
return (_jsx("div", { "data-slot": "inline-edit", "data-interactive": editing || showTrigger || undefined, className: cn("inline-flex max-w-full items-center gap-1", className), children: editing ? (_jsxs("form", { onSubmit: handleFormSubmit, onKeyDown: handleFormKeyDown, onKeyUp: handleFormKeyUp, onKeyDownCapture: handleFormKeyDownCapture, onBlur: handleSubtreeBlur, onPointerDownCapture: handlePointerDownCapture, className: "flex min-w-0 flex-1 items-center gap-1", children: [_jsx(Input, { ref: inputRef, value: draft, onChange: (event) => setDraft(event.target.value), "aria-label": label, placeholder: placeholder, maxLength: maxLength, disabled: pending, className: "min-w-0 flex-1" }), _jsx(Button, { type: "submit", size: "icon", "aria-label": confirmLabel ?? t("inlineEdit.confirm"), disabled: isBlank || isUnchanged, loading: pending, children: _jsx(Check, { "aria-hidden": "true" }) })] })) : (_jsxs(_Fragment, { children: [_jsx("span", { className: "min-w-0 truncate", children: value }), showTrigger ? (_jsx(Button, { ref: triggerRef, type: "button", variant: "ghost", size: "icon-sm", "aria-label": resolvedEditLabel, disabled: disabled, onClick: handleTriggerClick, children: _jsx(Pencil, { "aria-hidden": "true" }) })) : null] })) }));
|
|
250
252
|
}
|
|
251
253
|
export { InlineEdit };
|
|
252
254
|
//# sourceMappingURL=inline-edit.js.map
|