@camunda/design-system 0.58.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.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 +4 -2
- 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 +4 -2
- package/dist/src/components/ui/chart.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 +7 -4
- package/dist/src/components/ui/dialog.js.map +1 -1
- 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/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/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 +4 -2
- 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/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/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/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -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/package.json +3 -2
|
@@ -5,6 +5,7 @@ import { Popover as PopoverPrimitive } from "radix-ui";
|
|
|
5
5
|
import { ChevronDownIcon, XIcon, ListChecksIcon } from "../../icons/lucide.js";
|
|
6
6
|
import {} from "../../icons/lucide.js";
|
|
7
7
|
import { cn } from "../../lib/utils.js";
|
|
8
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
8
9
|
import { Badge } from "./badge.js";
|
|
9
10
|
import { C4Provider } from "./c4-provider.js";
|
|
10
11
|
import { Checkbox } from "./checkbox.js";
|
|
@@ -15,7 +16,13 @@ function isGroup(item) {
|
|
|
15
16
|
function getAllOptions(options) {
|
|
16
17
|
return options.flatMap((item) => (isGroup(item) ? item.options : [item]));
|
|
17
18
|
}
|
|
18
|
-
function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder
|
|
19
|
+
function MultiSelect({ options, value: controlledValue, defaultValue, onValueChange, placeholder, searchable = true, searchPlaceholder, sorted = true, maxCount = 3, hideSelectAll = false, closeOnSelect = false, emptyIndicator, size = "default", disabled = false, id, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, onInputChange, externalFiltering = false, }) {
|
|
20
|
+
const { t } = useC4Dictionary();
|
|
21
|
+
const resolvedPlaceholder = placeholder ?? t("multiSelect.selectOptions");
|
|
22
|
+
const resolvedSearchPlaceholder = searchPlaceholder ?? t("multiSelect.search");
|
|
23
|
+
const resolvedEmptyIndicator = emptyIndicator === undefined
|
|
24
|
+
? t("multiSelect.noResultsFound")
|
|
25
|
+
: emptyIndicator;
|
|
19
26
|
const [open, setOpen] = React.useState(false);
|
|
20
27
|
const [internalValue, setInternalValue] = React.useState(defaultValue ?? []);
|
|
21
28
|
const [searchValue, setSearchValue] = React.useState("");
|
|
@@ -166,14 +173,18 @@ function MultiSelect({ options, value: controlledValue, defaultValue, onValueCha
|
|
|
166
173
|
}, [id, ariaLabel, ariaLabelledBy]);
|
|
167
174
|
return (_jsxs(PopoverPrimitive.Root, { open: open, onOpenChange: disabled ? undefined : handleOpenChange, children: [_jsx(PopoverPrimitive.Trigger, { asChild: true, children: _jsxs("div", { ...{
|
|
168
175
|
type: undefined,
|
|
169
|
-
}, "data-slot": "multi-select", "data-size": size, id: id, role: "combobox", tabIndex: disabled ? undefined : 0, "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, onKeyDown: handleTriggerKeyDown, className: cn("flex w-full min-h-9 flex-wrap items-center gap-1 rounded-lg border border-input bg-input-background px-2 py-1 text-sm text-left transition-all duration-200 outline-none", "focus-visible:border-primary-border-strong dark:focus-visible:border-primary-border-subtle focus-visible:ring-2 focus-visible:ring-ring", "aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:pointer-events-none", "data-[size=sm]:min-h-8", selected.length === 0 && "text-neutral-foreground-subtle", className), children: [selected.length === 0 ? (_jsx("span", { className: "flex-1 truncate", children:
|
|
176
|
+
}, "data-slot": "multi-select", "data-size": size, id: id, role: "combobox", tabIndex: disabled ? undefined : 0, "aria-expanded": open, "aria-haspopup": "listbox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-disabled": disabled ? "true" : undefined, onKeyDown: handleTriggerKeyDown, className: cn("flex w-full min-h-9 flex-wrap items-center gap-1 rounded-lg border border-input bg-input-background px-2 py-1 text-sm text-left transition-all duration-200 outline-none", "focus-visible:border-primary-border-strong dark:focus-visible:border-primary-border-subtle focus-visible:ring-2 focus-visible:ring-ring", "aria-disabled:cursor-not-allowed aria-disabled:opacity-50 aria-disabled:pointer-events-none", "data-[size=sm]:min-h-8", selected.length === 0 && "text-neutral-foreground-subtle", className), children: [selected.length === 0 ? (_jsx("span", { className: "flex-1 truncate", children: resolvedPlaceholder })) : (_jsxs(_Fragment, { children: [visibleChips.map((v) => {
|
|
170
177
|
const label = optionLabelMap.get(v) ?? v;
|
|
171
|
-
return (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5 max-w-[200px]", children: [_jsx("span", { className: "truncate min-w-0", children: label }), _jsx("button", { type: "button", "aria-label":
|
|
172
|
-
}), overflowCount > 0 && (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5", children: [
|
|
178
|
+
return (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5 max-w-[200px]", children: [_jsx("span", { className: "truncate min-w-0", children: label }), _jsx("button", { type: "button", "aria-label": t("multiSelect.removeOption", { label }), disabled: disabled, onClick: (e) => removeOption(v, e), className: "ml-0.5 shrink-0 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }, v));
|
|
179
|
+
}), overflowCount > 0 && (_jsxs(Badge, { variant: "neutral", className: "gap-0.5 pr-0.5", children: [_jsx("span", { children: t("multiSelect.overflowCount", { count: overflowCount }) }), _jsx("button", { type: "button", "aria-label": t("multiSelect.removeOverflow", {
|
|
180
|
+
count: overflowCount,
|
|
181
|
+
}), disabled: disabled, onClick: removeOverflow, className: "ml-0.5 rounded-sm opacity-60 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(XIcon, { className: "size-3", "aria-hidden": "true" }) })] }))] })), _jsx(ChevronDownIcon, { className: "ml-auto size-4 shrink-0 opacity-50 pointer-events-none", "aria-hidden": "true" })] }) }), _jsx(PopoverPrimitive.Portal, { children: _jsx(C4Provider, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "multi-select-content", align: "start", sideOffset: 4, className: cn(
|
|
173
182
|
// `pointer-events-auto` restores interactivity inside a Dialog:
|
|
174
183
|
// the popover portals as a sibling of the dialog, so it inherits
|
|
175
184
|
// `pointer-events: none` from the scroll-locked <body> (#496).
|
|
176
|
-
"pointer-events-auto z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-lg ring-1 ring-border outline-hidden", "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-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"), children: _jsxs(Command, { shouldFilter: !externalFiltering, children: [searchable && (_jsx(CommandInput, { placeholder:
|
|
185
|
+
"pointer-events-auto z-50 w-[--radix-popover-trigger-width] p-0 rounded-lg border border-input bg-popover text-popover-foreground shadow-lg ring-1 ring-border outline-hidden", "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-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"), children: _jsxs(Command, { shouldFilter: !externalFiltering, children: [searchable && (_jsx(CommandInput, { placeholder: resolvedSearchPlaceholder, "aria-label": resolvedSearchPlaceholder, value: searchValue, onValueChange: handleInputChange })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: resolvedEmptyIndicator }), !effectiveHideSelectAll && (_jsx(CommandGroup, { children: _jsxs(CommandItem, { onSelect: handleSelectAll, className: "gap-2", children: [_jsx(Checkbox, { checked: allSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), _jsx(ListChecksIcon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" }), allSelected
|
|
186
|
+
? t("multiSelect.clearAll")
|
|
187
|
+
: t("multiSelect.selectAll")] }) })), flatItems.length > 0 && (_jsx(CommandGroup, { children: flatItems.map((option) => {
|
|
177
188
|
const isSelected = selected.includes(option.value);
|
|
178
189
|
const Icon = option.icon;
|
|
179
190
|
return (_jsxs(CommandItem, { value: option.value, keywords: [option.label], disabled: option.disabled, onSelect: () => toggleOption(option.value), className: "gap-2", children: [_jsx(Checkbox, { checked: isSelected, "aria-hidden": "true", tabIndex: -1, className: "pointer-events-none" }), Icon && (_jsx(Icon, { className: "size-4 text-neutral-foreground-subtle", "aria-hidden": "true" })), option.label] }, option.value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-select.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,15 +18,39 @@ export interface MultiStepDialogProps {
|
|
|
18
18
|
onBack?: () => void;
|
|
19
19
|
onComplete?: () => void;
|
|
20
20
|
size?: MultiStepDialogSize;
|
|
21
|
+
/** Overrides the footer's Back button label. Sourced from the i18n dictionary at key `"multiStepDialog.back"` when omitted. */
|
|
21
22
|
backLabel?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Overrides the footer's Next button label for non-final steps (further overridden per-step
|
|
25
|
+
* by `MultiStepDialogStep.nextLabel`). Sourced from the i18n dictionary at key
|
|
26
|
+
* `"multiStepDialog.next"` when omitted.
|
|
27
|
+
*/
|
|
22
28
|
nextLabel?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Overrides the footer's final-step CTA label (further overridden per-step by
|
|
31
|
+
* `MultiStepDialogStep.ctaLabel`). Sourced from the i18n dictionary at key
|
|
32
|
+
* `"multiStepDialog.complete"` when omitted.
|
|
33
|
+
*/
|
|
23
34
|
completeLabel?: string;
|
|
35
|
+
/** Accessible name for the progress dots' `<ol>`. Sourced from the i18n dictionary at key `"multiStepDialog.stepsIndicator"` when omitted. */
|
|
24
36
|
dotsAriaLabel?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Accessible name for the composed Dialog's top-right close button. Forwarded straight
|
|
39
|
+
* through to the underlying `DialogContent`, which renders the button by default (this
|
|
40
|
+
* component never sets `showCloseButton={false}` — its own Back/Next navigation is a
|
|
41
|
+
* supplement to, not a replacement for, the plain close affordance every Dialog gets).
|
|
42
|
+
* Sourced from the i18n dictionary at key `"dialog.close"` when omitted, same as any other
|
|
43
|
+
* `DialogContent`. No equivalent `closeButtonLabel` is forwarded to the composed
|
|
44
|
+
* `DialogFooter`: that footer never sets `showCloseButton`, so its own optional visible
|
|
45
|
+
* Close button stays off (the wizard's Back/Next occupies the footer row instead) —
|
|
46
|
+
* forwarding a label for a button that never renders would be dead API.
|
|
47
|
+
*/
|
|
48
|
+
closeLabel?: string;
|
|
25
49
|
className?: string;
|
|
26
50
|
restoreFocusRef?: React.RefObject<HTMLElement | null>;
|
|
27
51
|
children?: React.ReactNode;
|
|
28
52
|
}
|
|
29
|
-
declare function MultiStepDialog({ open, defaultOpen, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size, backLabel, nextLabel, completeLabel, dotsAriaLabel, className, restoreFocusRef, children, }: MultiStepDialogProps): React.JSX.Element;
|
|
53
|
+
declare function MultiStepDialog({ open, defaultOpen, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size, backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, restoreFocusRef, children, }: MultiStepDialogProps): React.JSX.Element;
|
|
30
54
|
export interface MultiStepDialogStepProps extends Omit<React.ComponentProps<"div">, "value"> {
|
|
31
55
|
value: string;
|
|
32
56
|
/** Overrides `completeLabel` for this step's Next button when it's the last step. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-step-dialog.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
|
+
import { useC4Dictionary } from "../../lib/i18n/context.js";
|
|
5
6
|
import { Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogTitle, } from "./dialog.js";
|
|
6
7
|
import { Button } from "./button.js";
|
|
7
8
|
import { typographyVariants } from "./typography.js";
|
|
@@ -39,7 +40,12 @@ function useMultiStepDialogStepContext(componentName) {
|
|
|
39
40
|
}
|
|
40
41
|
return ctx;
|
|
41
42
|
}
|
|
42
|
-
function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel
|
|
43
|
+
function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaultStep, onStepChange, onNext, onBack, onComplete, size = "md", backLabel, nextLabel, completeLabel, dotsAriaLabel, closeLabel, className, restoreFocusRef, children, }) {
|
|
44
|
+
const { t } = useC4Dictionary();
|
|
45
|
+
const resolvedBackLabel = backLabel ?? t("multiStepDialog.back");
|
|
46
|
+
const resolvedNextLabel = nextLabel ?? t("multiStepDialog.next");
|
|
47
|
+
const resolvedCompleteLabel = completeLabel ?? t("multiStepDialog.complete");
|
|
48
|
+
const resolvedDotsAriaLabel = dotsAriaLabel ?? t("multiStepDialog.stepsIndicator");
|
|
43
49
|
const isOpenControlled = open !== undefined;
|
|
44
50
|
const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
|
|
45
51
|
const resolvedOpen = isOpenControlled ? open : internalOpen;
|
|
@@ -131,13 +137,18 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
|
|
|
131
137
|
const disableNextReasonId = React.useId();
|
|
132
138
|
const showDisableNextReason = Boolean(activeStepMeta?.disableNext) &&
|
|
133
139
|
Boolean(activeStepMeta?.disableNextReason);
|
|
134
|
-
return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, onEscapeKeyDown: () => {
|
|
140
|
+
return (_jsx(Dialog, { open: resolvedOpen, onOpenChange: handleDialogOpenChange, children: _jsxs(DialogContent, { size: size, className: className, restoreFocusRef: restoreFocusRef, closeLabel: closeLabel, onEscapeKeyDown: () => {
|
|
135
141
|
closeReasonRef.current = "escape";
|
|
136
142
|
}, onPointerDownOutside: () => {
|
|
137
143
|
closeReasonRef.current = "overlay";
|
|
138
|
-
}, children: [_jsx(MultiStepDialogRootContext.Provider, { value: { activeValue }, children: children }), _jsx("span", { "aria-live": "polite", className: "sr-only", children:
|
|
144
|
+
}, children: [_jsx(MultiStepDialogRootContext.Provider, { value: { activeValue }, children: children }), _jsx("span", { "aria-live": "polite", className: "sr-only", children: t("multiStepDialog.stepOf", {
|
|
145
|
+
current: activeIndex + 1,
|
|
146
|
+
total: totalSteps,
|
|
147
|
+
}) }), totalSteps > 1 && (_jsx("ol", { "aria-label": resolvedDotsAriaLabel, "data-slot": "multi-step-dialog-dots", className: "m-0 flex list-none items-center justify-center gap-1.5 p-0", children: stepMetas.map((meta, index) => {
|
|
139
148
|
const isActive = index === activeIndex;
|
|
140
|
-
return (_jsx("li", { children: _jsx("button", { type: "button", "aria-label":
|
|
149
|
+
return (_jsx("li", { children: _jsx("button", { type: "button", "aria-label": t("multiStepDialog.goToStep", {
|
|
150
|
+
number: index + 1,
|
|
151
|
+
}), "aria-current": isActive ? "step" : undefined, onClick: () => handleDotClick(index, meta.value), className: cn(
|
|
141
152
|
// Active step is distinguished by SHAPE (a wider pill),
|
|
142
153
|
// not colour alone (WCAG 1.4.1). Inactive fill uses a
|
|
143
154
|
// foreground token so the dot clears the 3:1 non-text
|
|
@@ -146,9 +157,9 @@ function MultiStepDialog({ open, defaultOpen = false, onOpenChange, step, defaul
|
|
|
146
157
|
"h-2 rounded-full transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", isActive
|
|
147
158
|
? "w-5 bg-primary-action-default"
|
|
148
159
|
: "w-2 bg-neutral-foreground-subtle hover:bg-neutral-foreground-strong") }) }, meta.value));
|
|
149
|
-
}) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children:
|
|
150
|
-
? (activeStepMeta?.ctaLabel ??
|
|
151
|
-
: (activeStepMeta?.nextLabel ??
|
|
160
|
+
}) })), _jsxs(DialogFooter, { className: cn(isFirstStep ? undefined : "sm:justify-between"), children: [!isFirstStep && (_jsx(Button, { type: "button", variant: "secondary", onClick: handleBack, children: resolvedBackLabel })), _jsxs("div", { className: "flex flex-col items-end gap-1", children: [showDisableNextReason && (_jsx("span", { id: disableNextReasonId, "data-slot": "multi-step-dialog-next-reason", className: "text-xs text-neutral-foreground-subtle", children: activeStepMeta?.disableNextReason })), _jsx(Button, { type: "button", onClick: handleNext, "aria-disabled": activeStepMeta?.disableNext || undefined, "aria-describedby": showDisableNextReason ? disableNextReasonId : undefined, children: isLastStep
|
|
161
|
+
? (activeStepMeta?.ctaLabel ?? resolvedCompleteLabel)
|
|
162
|
+
: (activeStepMeta?.nextLabel ?? resolvedNextLabel) })] })] })] }) }));
|
|
152
163
|
}
|
|
153
164
|
function MultiStepDialogStep({ value, ctaLabel: _ctaLabel, nextLabel: _nextLabel, disableNext: _disableNext, disableNextReason: _disableNextReason, className, children, ...props }) {
|
|
154
165
|
const { activeValue } = useMultiStepDialogRootContext("MultiStepDialogStep");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EACL,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAelD,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,+DAA+D;AAC/D,SAAS,YAAY,CAAC,QAAyB;IAC7C,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;SAC5B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAA0C,CAAC;SAChE,MAAM,CACL,CAAC,KAAK,EAAqC,EAAE,CAC3C,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAClC;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC,CAAC;AACR,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAE5C,IAAI,CAAC,CAAC;AAEhB,SAAS,6BAA6B,CAAC,aAAqB;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,IAAI,aAAa,0CAA0C,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAE5C,IAAI,CAAC,CAAC;AAEhB,SAAS,6BAA6B,CAAC,aAAqB;IAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,IAAI,aAAa,8CAA8C,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-step-dialog.js","sourceRoot":"","sources":["../../../../src/components/ui/multi-step-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { type Translate } from "../../lib/i18n/context.js";
|
|
2
3
|
import { type CamundaAppKey } from "../../icons/index.js";
|
|
3
4
|
import { type ActiveMatcher, type NavLinkProps } from "./nav-data.js";
|
|
4
5
|
import type { NavIcon } from "./nav-icon.js";
|
|
@@ -59,9 +60,9 @@ interface NavBreadcrumbItemProps {
|
|
|
59
60
|
*/
|
|
60
61
|
linkComponent?: React.ElementType;
|
|
61
62
|
/**
|
|
62
|
-
* Accessible label for the switcher chevron button.
|
|
63
|
-
* `"
|
|
64
|
-
* `"Switch workspace"`).
|
|
63
|
+
* Accessible label for the switcher chevron button. Sourced from the i18n
|
|
64
|
+
* dictionary at key `"navBreadcrumb.switchContext"` when omitted; override
|
|
65
|
+
* per-segment (e.g. `"Switch organization"`, `"Switch workspace"`).
|
|
65
66
|
*/
|
|
66
67
|
switchLabel?: string;
|
|
67
68
|
/**
|
|
@@ -79,9 +80,10 @@ interface NavBreadcrumbItemProps {
|
|
|
79
80
|
*/
|
|
80
81
|
actions?: BreadcrumbAction[];
|
|
81
82
|
/**
|
|
82
|
-
* Accessible label for the actions kebab.
|
|
83
|
-
*
|
|
84
|
-
*
|
|
83
|
+
* Accessible label for the actions kebab. Sourced from the i18n dictionary at key
|
|
84
|
+
* `"navBreadcrumb.actionsLabel"` (an ICU pattern interpolated with `label`) when `label` is a
|
|
85
|
+
* string, otherwise at key `"navBreadcrumb.actionsLabelFallback"`. A constant would appear
|
|
86
|
+
* twice, indistinguishable, on a breadcrumb where two segments both carry actions.
|
|
85
87
|
*/
|
|
86
88
|
actionsLabel?: string;
|
|
87
89
|
/**
|
|
@@ -259,16 +261,31 @@ export interface NavAppSwitcherInput extends NavSwitcherBaseInput {
|
|
|
259
261
|
/** Resolves the default icon through `camundaAppIcons[appKey]` when `icon` is omitted. */
|
|
260
262
|
appKey?: CamundaAppKey;
|
|
261
263
|
}
|
|
262
|
-
/**
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
264
|
+
/**
|
|
265
|
+
* Organisation switcher segment. Default icon `camundaIcons.organisation`; default copy "Switch
|
|
266
|
+
* organization" / "Organizations".
|
|
267
|
+
*
|
|
268
|
+
* `t` (optional): pass the `t` from `useC4Dictionary()` when calling this from inside a render, so
|
|
269
|
+
* the defaults resolve through the active `C4Provider` dictionary — `NavSwitcher` does this via
|
|
270
|
+
* `buildSegmentDescriptor`. The spec (`nav-breadcrumb.specs.ts`) also documents this function as
|
|
271
|
+
* callable directly and standalone, without `NavSwitcher` or any surrounding component; that call
|
|
272
|
+
* path has no render context to source a `t` from, so omitting it falls back to `defaultDictionary`
|
|
273
|
+
* — a deliberate, documented exception to this PR's `t()`-everywhere rule for that one path. Either
|
|
274
|
+
* way, `input.dropdownAriaLabel` / `input.dropdownTitle` still override per-call, unaffected by this.
|
|
275
|
+
*/
|
|
276
|
+
export declare function createOrgSwitcherDescriptor(input: NavOrgSwitcherInput, t?: Translate): NavBreadcrumbDescriptor;
|
|
277
|
+
/**
|
|
278
|
+
* Cluster switcher segment. Default icon `camundaIcons.cluster`; default copy "Switch cluster" /
|
|
279
|
+
* "Clusters". `t` (optional): see `createOrgSwitcherDescriptor`'s doc comment — same rule.
|
|
280
|
+
*/
|
|
281
|
+
export declare function createClusterSwitcherDescriptor(input: NavClusterSwitcherInput, t?: Translate): NavBreadcrumbDescriptor;
|
|
266
282
|
/**
|
|
267
283
|
* App switcher segment. No global default icon — there is no single sensible "app" glyph the
|
|
268
284
|
* way there is for org/cluster. Supply `appKey` and the default resolves via
|
|
269
|
-
* `camundaAppIcons[appKey]`; default copy "Switch app" / "Apps".
|
|
285
|
+
* `camundaAppIcons[appKey]`; default copy "Switch app" / "Apps". `t` (optional): see
|
|
286
|
+
* `createOrgSwitcherDescriptor`'s doc comment — same rule.
|
|
270
287
|
*/
|
|
271
|
-
export declare function createAppSwitcherDescriptor(input: NavAppSwitcherInput): NavBreadcrumbDescriptor;
|
|
288
|
+
export declare function createAppSwitcherDescriptor(input: NavAppSwitcherInput, t?: Translate): NavBreadcrumbDescriptor;
|
|
272
289
|
/**
|
|
273
290
|
* One `NavSwitcher.segments` entry — a kind-tagged input dispatched to the matching
|
|
274
291
|
* `create*SwitcherDescriptor` function. Rendered left to right in array order; org → cluster →
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/nav-breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"nav-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/nav-breadcrumb.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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 { ChevronDown, MoreHorizontal, MoreVertical } from "../../icons/lucide.js";
|
|
5
5
|
import { cn } from "../../lib/utils.js";
|
|
6
|
+
import { useC4Dictionary, defaultDictionary, } from "../../lib/i18n/context.js";
|
|
6
7
|
import { useIsTruncated } from "../../hooks/use-is-truncated.js";
|
|
7
8
|
import { camundaAppIcons, camundaIcons } from "../../icons/index.js";
|
|
8
9
|
import { Button } from "./button.js";
|
|
@@ -105,7 +106,9 @@ function readMetrics(ol) {
|
|
|
105
106
|
* Separators are inserted automatically between children, so consumers
|
|
106
107
|
* write a flat list of items.
|
|
107
108
|
*/
|
|
108
|
-
function NavBreadcrumb({ className, children, "aria-label": ariaLabel
|
|
109
|
+
function NavBreadcrumb({ className, children, "aria-label": ariaLabel, ...props }) {
|
|
110
|
+
const { t } = useC4Dictionary();
|
|
111
|
+
const resolvedAriaLabel = ariaLabel ?? t("navBreadcrumb.contextNav");
|
|
109
112
|
const items = React.Children.toArray(children).filter(Boolean);
|
|
110
113
|
const lastIndex = items.length - 1;
|
|
111
114
|
const responsive = items.length > 1;
|
|
@@ -275,7 +278,7 @@ function NavBreadcrumb({ className, children, "aria-label": ariaLabel = "Context
|
|
|
275
278
|
if (hasOverflow && !triggerLeads && position === 0)
|
|
276
279
|
chain.push(triggerEntry);
|
|
277
280
|
});
|
|
278
|
-
return (_jsx("nav", { ref: navRef, "data-slot": "nav-breadcrumb", "aria-label":
|
|
281
|
+
return (_jsx("nav", { ref: navRef, "data-slot": "nav-breadcrumb", "aria-label": resolvedAriaLabel, className: cn(className,
|
|
279
282
|
// Structural classes go LAST, after `className`, so twMerge lets them win over
|
|
280
283
|
// a consumer's conflicting utility (e.g. `flex-none`, a width class) instead of
|
|
281
284
|
// being silently cancelled by it. This is a load-bearing sizing contract, not a
|
|
@@ -288,7 +291,9 @@ function NavBreadcrumb({ className, children, "aria-label": ariaLabel = "Context
|
|
|
288
291
|
// container would.
|
|
289
292
|
"min-w-0 flex-1 basis-0 overflow-hidden"), ...props, children: _jsx("ol", { ref: olRef, className: cn("m-0 flex list-none items-center gap-1 p-0", typographyVariants({ variant: "body-subtle" })), children: chain.map((entry, position) => (_jsxs(React.Fragment, { children: [position > 0 ? (_jsx("li", { "data-slot": "nav-breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: "shrink-0 select-none text-xs text-neutral-foreground-subtle/40", children: "/" })) : null, entry.node] }, entry.key))) }) }));
|
|
290
293
|
}
|
|
291
|
-
function NavBreadcrumbItem({ icon, label, onClick, switchLabel
|
|
294
|
+
function NavBreadcrumbItem({ icon, label, onClick, switchLabel, linkProps, linkComponent, children, actions, actionsLabel, trailingElement, menuElement, active = false, className, }) {
|
|
295
|
+
const { t } = useC4Dictionary();
|
|
296
|
+
const resolvedSwitchLabel = switchLabel ?? t("navBreadcrumb.switchContext");
|
|
292
297
|
// Clone the user's icon so it carries the `data-icon` attribute the
|
|
293
298
|
// Button uses to drive its inline padding rules.
|
|
294
299
|
const iconWithData = icon && React.isValidElement(icon)
|
|
@@ -305,7 +310,9 @@ function NavBreadcrumbItem({ icon, label, onClick, switchLabel = "Switch context
|
|
|
305
310
|
const visibleActions = actions?.filter(Boolean) ?? [];
|
|
306
311
|
const hasActions = visibleActions.length > 0;
|
|
307
312
|
const resolvedActionsLabel = actionsLabel ??
|
|
308
|
-
(typeof label === "string"
|
|
313
|
+
(typeof label === "string"
|
|
314
|
+
? t("navBreadcrumb.actionsLabel", { label })
|
|
315
|
+
: t("navBreadcrumb.actionsLabelFallback"));
|
|
309
316
|
const destination = linkDestination(linkProps);
|
|
310
317
|
const isLink = destination !== undefined;
|
|
311
318
|
const LinkEl = linkComponent ?? "a";
|
|
@@ -388,7 +395,7 @@ function NavBreadcrumbItem({ icon, label, onClick, switchLabel = "Switch context
|
|
|
388
395
|
const labelElement = isTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: labelButton }), _jsx(TooltipContent, { children: label })] })) : (labelButton);
|
|
389
396
|
return (_jsxs("li", { "data-slot": "nav-breadcrumb-item", className: cn("inline-flex items-center", className), children: [labelElement, menuElement, hasActions ? (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-xs", "aria-label": resolvedActionsLabel,
|
|
390
397
|
// `ring-inset` — see the label button's comment above; same nav, same clip.
|
|
391
|
-
className: "-ml-0.5 text-neutral-foreground-subtle focus-visible:ring-inset", children: _jsx(MoreVertical, {}) }) }), _jsx(DropdownMenuContent, { align: "start", children: visibleActions.map((action) => (_jsxs(React.Fragment, { children: [action.hasDivider ? _jsx(DropdownMenuSeparator, {}) : null, _jsx(DropdownMenuItem, { variant: action.isDanger ? "destructive" : "default", disabled: action.disabled, onClick: action.onClick, children: action.label })] }, action.key))) })] })) : null, hasSwitcher ? (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-xs", "aria-label":
|
|
398
|
+
className: "-ml-0.5 text-neutral-foreground-subtle focus-visible:ring-inset", children: _jsx(MoreVertical, {}) }) }), _jsx(DropdownMenuContent, { align: "start", children: visibleActions.map((action) => (_jsxs(React.Fragment, { children: [action.hasDivider ? _jsx(DropdownMenuSeparator, {}) : null, _jsx(DropdownMenuItem, { variant: action.isDanger ? "destructive" : "default", disabled: action.disabled, onClick: action.onClick, children: action.label })] }, action.key))) })] })) : null, hasSwitcher ? (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-xs", "aria-label": resolvedSwitchLabel,
|
|
392
399
|
// Tighten the gap so the chevron reads as paired with the
|
|
393
400
|
// label, not a sibling segment. `text-neutral-foreground-subtle`
|
|
394
401
|
// matches the `/` separator — secondary affordance,
|
|
@@ -413,10 +420,10 @@ function NavBreadcrumbItem({ icon, label, onClick, switchLabel = "Switch context
|
|
|
413
420
|
* is an exact count, not an upper bound.
|
|
414
421
|
*/
|
|
415
422
|
function NavBreadcrumbOverflow({ segments, label, className, }) {
|
|
423
|
+
const { t } = useC4Dictionary();
|
|
416
424
|
if (segments.length === 0)
|
|
417
425
|
return null;
|
|
418
|
-
const triggerLabel = label ??
|
|
419
|
-
`Show ${segments.length} hidden ${segments.length === 1 ? "level" : "levels"}`;
|
|
426
|
+
const triggerLabel = label ?? t("navBreadcrumb.hiddenLevels", { count: segments.length });
|
|
420
427
|
return (_jsx("li", { "data-slot": "nav-breadcrumb-overflow", className: cn("inline-flex shrink-0 items-center", className), children: _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "ghost", size: "icon-xs", "aria-label": triggerLabel,
|
|
421
428
|
// `ring-inset` — see the label button's comment in NavBreadcrumbItem;
|
|
422
429
|
// this trigger is also inside the same `overflow-hidden` <nav>.
|
|
@@ -521,46 +528,83 @@ function buildSwitcherDescriptor(input, defaults) {
|
|
|
521
528
|
menuElement: input.menuElement,
|
|
522
529
|
};
|
|
523
530
|
}
|
|
524
|
-
|
|
525
|
-
|
|
531
|
+
// The three `create*SwitcherDescriptor` functions below are plain functions, not components or
|
|
532
|
+
// hooks, so they cannot call `useC4Dictionary()` themselves — a caller with render-context access
|
|
533
|
+
// threads its own `t` (the `Translate` type exported from `lib/i18n/context`) through as this
|
|
534
|
+
// optional parameter instead (see `NavSwitcher`, the one caller that does this today, via
|
|
535
|
+
// `buildSegmentDescriptor`).
|
|
536
|
+
//
|
|
537
|
+
// Passing this as the second argument to a bare array `.map()` is a mistake — `.map()` also
|
|
538
|
+
// passes the index and array as its 2nd/3rd arguments, so `items.map(createOrgSwitcherDescriptor)`
|
|
539
|
+
// silently sends the index as `t`. Call it inside an arrow function instead:
|
|
540
|
+
// `items.map((input) => createOrgSwitcherDescriptor(input, t))`.
|
|
541
|
+
/**
|
|
542
|
+
* Organisation switcher segment. Default icon `camundaIcons.organisation`; default copy "Switch
|
|
543
|
+
* organization" / "Organizations".
|
|
544
|
+
*
|
|
545
|
+
* `t` (optional): pass the `t` from `useC4Dictionary()` when calling this from inside a render, so
|
|
546
|
+
* the defaults resolve through the active `C4Provider` dictionary — `NavSwitcher` does this via
|
|
547
|
+
* `buildSegmentDescriptor`. The spec (`nav-breadcrumb.specs.ts`) also documents this function as
|
|
548
|
+
* callable directly and standalone, without `NavSwitcher` or any surrounding component; that call
|
|
549
|
+
* path has no render context to source a `t` from, so omitting it falls back to `defaultDictionary`
|
|
550
|
+
* — a deliberate, documented exception to this PR's `t()`-everywhere rule for that one path. Either
|
|
551
|
+
* way, `input.dropdownAriaLabel` / `input.dropdownTitle` still override per-call, unaffected by this.
|
|
552
|
+
*/
|
|
553
|
+
export function createOrgSwitcherDescriptor(input, t) {
|
|
526
554
|
return buildSwitcherDescriptor(input, {
|
|
527
555
|
icon: camundaIcons.organisation,
|
|
528
|
-
dropdownAriaLabel:
|
|
529
|
-
|
|
556
|
+
dropdownAriaLabel: t
|
|
557
|
+
? t("navBreadcrumb.switchOrganization")
|
|
558
|
+
: defaultDictionary["navBreadcrumb.switchOrganization"],
|
|
559
|
+
dropdownTitle: t
|
|
560
|
+
? t("navBreadcrumb.organizations")
|
|
561
|
+
: defaultDictionary["navBreadcrumb.organizations"],
|
|
530
562
|
});
|
|
531
563
|
}
|
|
532
|
-
/**
|
|
533
|
-
|
|
564
|
+
/**
|
|
565
|
+
* Cluster switcher segment. Default icon `camundaIcons.cluster`; default copy "Switch cluster" /
|
|
566
|
+
* "Clusters". `t` (optional): see `createOrgSwitcherDescriptor`'s doc comment — same rule.
|
|
567
|
+
*/
|
|
568
|
+
export function createClusterSwitcherDescriptor(input, t) {
|
|
534
569
|
return buildSwitcherDescriptor(input, {
|
|
535
570
|
icon: camundaIcons.cluster,
|
|
536
|
-
dropdownAriaLabel:
|
|
537
|
-
|
|
571
|
+
dropdownAriaLabel: t
|
|
572
|
+
? t("navBreadcrumb.switchCluster")
|
|
573
|
+
: defaultDictionary["navBreadcrumb.switchCluster"],
|
|
574
|
+
dropdownTitle: t
|
|
575
|
+
? t("navBreadcrumb.clusters")
|
|
576
|
+
: defaultDictionary["navBreadcrumb.clusters"],
|
|
538
577
|
});
|
|
539
578
|
}
|
|
540
579
|
/**
|
|
541
580
|
* App switcher segment. No global default icon — there is no single sensible "app" glyph the
|
|
542
581
|
* way there is for org/cluster. Supply `appKey` and the default resolves via
|
|
543
|
-
* `camundaAppIcons[appKey]`; default copy "Switch app" / "Apps".
|
|
582
|
+
* `camundaAppIcons[appKey]`; default copy "Switch app" / "Apps". `t` (optional): see
|
|
583
|
+
* `createOrgSwitcherDescriptor`'s doc comment — same rule.
|
|
544
584
|
*/
|
|
545
|
-
export function createAppSwitcherDescriptor(input) {
|
|
585
|
+
export function createAppSwitcherDescriptor(input, t) {
|
|
546
586
|
const { appKey, ...rest } = input;
|
|
547
587
|
return buildSwitcherDescriptor(rest, {
|
|
548
588
|
icon: appKey !== undefined ? camundaAppIcons[appKey] : undefined,
|
|
549
|
-
dropdownAriaLabel:
|
|
550
|
-
|
|
589
|
+
dropdownAriaLabel: t
|
|
590
|
+
? t("navBreadcrumb.switchApp")
|
|
591
|
+
: defaultDictionary["navBreadcrumb.switchApp"],
|
|
592
|
+
dropdownTitle: t
|
|
593
|
+
? t("navBreadcrumb.apps")
|
|
594
|
+
: defaultDictionary["navBreadcrumb.apps"],
|
|
551
595
|
});
|
|
552
596
|
}
|
|
553
|
-
function buildSegmentDescriptor(segment) {
|
|
597
|
+
function buildSegmentDescriptor(segment, t) {
|
|
554
598
|
if (segment.kind === "org") {
|
|
555
599
|
const { kind: _kind, ...input } = segment;
|
|
556
|
-
return createOrgSwitcherDescriptor(input);
|
|
600
|
+
return createOrgSwitcherDescriptor(input, t);
|
|
557
601
|
}
|
|
558
602
|
if (segment.kind === "cluster") {
|
|
559
603
|
const { kind: _kind, ...input } = segment;
|
|
560
|
-
return createClusterSwitcherDescriptor(input);
|
|
604
|
+
return createClusterSwitcherDescriptor(input, t);
|
|
561
605
|
}
|
|
562
606
|
const { kind: _kind, ...input } = segment;
|
|
563
|
-
return createAppSwitcherDescriptor(input);
|
|
607
|
+
return createAppSwitcherDescriptor(input, t);
|
|
564
608
|
}
|
|
565
609
|
/**
|
|
566
610
|
* The org/cluster/app top-nav chain, built from plain arrays of entities the current user
|
|
@@ -569,7 +613,8 @@ function buildSegmentDescriptor(segment) {
|
|
|
569
613
|
* `NavBreadcrumbSwitcher` — no second implementation of the defaulting logic lives here.
|
|
570
614
|
*/
|
|
571
615
|
export function NavSwitcher({ segments, activeItemKey, linkComponent, "aria-label": ariaLabel, className, }) {
|
|
572
|
-
|
|
616
|
+
const { t } = useC4Dictionary();
|
|
617
|
+
return (_jsx(NavBreadcrumbSwitcher, { items: segments.map((segment) => buildSegmentDescriptor(segment, t)), activeItemKey: activeItemKey, linkComponent: linkComponent, "aria-label": ariaLabel, className: className }));
|
|
573
618
|
}
|
|
574
619
|
export { NavBreadcrumb, NavBreadcrumbItem, NavBreadcrumbOverflow };
|
|
575
620
|
//# sourceMappingURL=nav-breadcrumb.js.map
|