@camunda/design-system 0.61.1 → 0.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/src/components/ui/app-sidebar.d.ts +9 -0
  2. package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
  3. package/dist/src/components/ui/app-sidebar.js +212 -25
  4. package/dist/src/components/ui/app-sidebar.js.map +1 -1
  5. package/dist/src/components/ui/breadcrumb.d.ts +2 -2
  6. package/dist/src/components/ui/breadcrumb.d.ts.map +1 -1
  7. package/dist/src/components/ui/breadcrumb.js +43 -4
  8. package/dist/src/components/ui/breadcrumb.js.map +1 -1
  9. package/dist/src/components/ui/data-table.d.ts +2 -2
  10. package/dist/src/components/ui/data-table.js +3 -3
  11. package/dist/src/components/ui/data-table.js.map +1 -1
  12. package/dist/src/components/ui/input.d.ts +3 -1
  13. package/dist/src/components/ui/input.d.ts.map +1 -1
  14. package/dist/src/components/ui/input.js +2 -2
  15. package/dist/src/components/ui/input.js.map +1 -1
  16. package/dist/src/components/ui/label.d.ts +3 -1
  17. package/dist/src/components/ui/label.d.ts.map +1 -1
  18. package/dist/src/components/ui/label.js +3 -3
  19. package/dist/src/components/ui/label.js.map +1 -1
  20. package/dist/src/components/ui/login-screen.d.ts +24 -0
  21. package/dist/src/components/ui/login-screen.d.ts.map +1 -0
  22. package/dist/src/components/ui/login-screen.js +59 -0
  23. package/dist/src/components/ui/login-screen.js.map +1 -0
  24. package/dist/src/components/ui/multi-select.d.ts.map +1 -1
  25. package/dist/src/components/ui/multi-select.js +2 -2
  26. package/dist/src/components/ui/multi-select.js.map +1 -1
  27. package/dist/src/components/ui/nav-icon.d.ts +8 -2
  28. package/dist/src/components/ui/nav-icon.d.ts.map +1 -1
  29. package/dist/src/components/ui/nav-icon.js +3 -1
  30. package/dist/src/components/ui/nav-icon.js.map +1 -1
  31. package/dist/src/components/ui/notifications.d.ts.map +1 -1
  32. package/dist/src/components/ui/notifications.js.map +1 -1
  33. package/dist/src/components/ui/tooltip.d.ts +4 -3
  34. package/dist/src/components/ui/tooltip.d.ts.map +1 -1
  35. package/dist/src/components/ui/tooltip.js +27 -12
  36. package/dist/src/components/ui/tooltip.js.map +1 -1
  37. package/dist/src/icons/camunda-app-icons.js +2 -2
  38. package/dist/src/icons/camunda-app-icons.js.map +1 -1
  39. package/dist/src/index.d.ts +1 -0
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +1 -0
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/lib/i18n/dictionary.d.ts +8 -0
  44. package/dist/src/lib/i18n/dictionary.d.ts.map +1 -1
  45. package/dist/src/lib/i18n/dictionary.js +8 -0
  46. package/dist/src/lib/i18n/dictionary.js.map +1 -1
  47. package/dist/styles.css +23 -0
  48. package/package.json +1 -1
@@ -67,6 +67,15 @@ export interface SidebarSection {
67
67
  key: string;
68
68
  title?: string;
69
69
  compact?: boolean;
70
+ /**
71
+ * `"entities"` for a section that lists instances of a thing — environments, clusters,
72
+ * workspaces — rather than destinations within the product. Both of its effects are
73
+ * collapsed-rail only, because both compensate for what the rail drops there: the title, which
74
+ * goes `sr-only`, is replaced by a rule above the section, and rows with no icon of their own
75
+ * show their initials only there, where the icon is the row's only visual. Expanded, the title
76
+ * separates the section and the label identifies the row, so neither is drawn.
77
+ */
78
+ variant?: "default" | "entities";
70
79
  children: SidebarNode[];
71
80
  }
72
81
  export type SidebarNode = SidebarItem | SidebarGroupItem | SidebarGroup | SidebarSection;
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ChevronDown, ChevronRight, ChevronLeft, PanelLeftClose, PanelLeft, X, }
5
5
  import { cn } from "../../lib/utils.js";
6
6
  import { useC4Dictionary } from "../../lib/i18n/context.js";
7
7
  import { Text } from "./typography.js";
8
- import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
8
+ import { Popover, PopoverContent, PopoverHeader, PopoverTitle, PopoverTrigger, } from "./popover.js";
9
9
  import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
10
10
  import { Sheet, SheetClose, SheetContent, SheetTitle } from "./sheet.js";
11
11
  import { useSidebar } from "./sidebar-provider.js";
@@ -14,6 +14,12 @@ import { useIsTruncated } from "../../hooks/use-is-truncated.js";
14
14
  import { linkDestination, resolveActive, resolveLinkProps, } from "./nav-data.js";
15
15
  import { NavRowIcon } from "./nav-icon.js";
16
16
  const NAV_ROW_BASE = "group/navbtn flex w-full items-center overflow-hidden rounded-md transition-colors";
17
+ /**
18
+ * The type a section title reads at. Shared with the collapsed rail's flyout header,
19
+ * which titles a group the same way the expanded rail titles a section — one constant
20
+ * so the two cannot drift apart.
21
+ */
22
+ const SECTION_LABEL_TYPE = "text-xs leading-4 font-medium text-neutral-foreground-subtle";
17
23
  // Hides the scrollbar track; scroll itself still works.
18
24
  const HIDDEN_SCROLLBAR = "[scrollbar-width:none] [&::-webkit-scrollbar]:hidden";
19
25
  const navButton = cva(cn(NAV_ROW_BASE, "gap-3 min-h-10 text-sm text-left whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset"), {
@@ -55,7 +61,7 @@ function renderNode(node, ctx) {
55
61
  return _jsx(NavSection, { node: node, ...ctx }, node.key);
56
62
  }
57
63
  }
58
- function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, hasLinkComponent, activeItemKey, }) {
64
+ function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, hasLinkComponent, activeItemKey, hideIconFallback, }) {
59
65
  const isLink = linkDestination(node.linkProps) !== undefined;
60
66
  const Comp = isLink ? LinkEl : "button";
61
67
  const isActive = resolveActive(node.isActive, node.key, activeItemKey);
@@ -71,7 +77,7 @@ function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, hasLi
71
77
  : { type: "button" }), "data-slot": "app-sidebar-item", className: cn(navButton({ active: isActive, expanded })), style: indentStyle(depth), "aria-current": isActive ? "page" : undefined, onClick: () => {
72
78
  node.onClick?.();
73
79
  onNavigate?.();
74
- }, onPointerEnter: measure, onFocus: measure, children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { ref: labelRef, className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
80
+ }, onPointerEnter: measure, onFocus: measure, children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label, hideFallback: hideIconFallback }), _jsx("span", { ref: labelRef, className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
75
81
  // Collapsed icon rail: name the icon with a tooltip. Not on mobile (the Sheet
76
82
  // shows full labels) and not when expanded (the label is already visible).
77
83
  if (!expanded && !isMobile) {
@@ -82,7 +88,53 @@ function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, hasLi
82
88
  // "Truncated Text" in `docs/specs/shadcn/patterns.md`.
83
89
  return isTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: row }), _jsx(TooltipContent, { children: node.label })] })) : (row);
84
90
  }
85
- function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeItemKey, isMobile, onNavigate, }) {
91
+ /**
92
+ * The collapsed rail's single flyout slot.
93
+ *
94
+ * Group flyouts share one slot, so opening one closes whichever was open —
95
+ * including a pinned or keyboard-opened flyout, which ignores hover-out and
96
+ * would otherwise stay on screen beside the new one. It lives above the rows
97
+ * because a row cannot close a sibling it has no reference to.
98
+ */
99
+ const FlyoutSlotContext = React.createContext(null);
100
+ function useFlyoutSlot(nodeKey) {
101
+ const slot = React.useContext(FlyoutSlotContext);
102
+ // A row rendered without the rail around it keeps a slot of its own.
103
+ const [localKey, setLocalKey] = React.useState(null);
104
+ const openKey = slot ? slot.openKey : localKey;
105
+ const setOpenKey = slot ? slot.setOpenKey : setLocalKey;
106
+ return {
107
+ flyoutOpen: openKey === nodeKey,
108
+ setFlyoutOpen: (next) => setOpenKey((prev) => (next ? nodeKey : prev === nodeKey ? null : prev)),
109
+ };
110
+ }
111
+ // Hover intent for the collapsed-rail flyout. The open delay keeps a pointer
112
+ // crossing the rail vertically from flashing every group's flyout in turn; the
113
+ // close delay covers the gap between the trigger and the flyout, which the
114
+ // pointer has to traverse to reach the children (WCAG 1.4.13, hoverable).
115
+ const FLYOUT_HOVER_OPEN_DELAY = 120;
116
+ const FLYOUT_HOVER_CLOSE_DELAY = 240;
117
+ /**
118
+ * Whether anything below this node resolves active.
119
+ *
120
+ * A pure `group` has no active state of its own — see `SidebarGroup`, and the C3 contract in
121
+ * `nav-c3-compat.specs.ts`, which both leave the field off deliberately. Expanded that costs
122
+ * nothing, because the active descendant is on screen carrying its own highlight. Collapsed it
123
+ * leaves the rail with no current-location signal at all: the descendant lives in a flyout
124
+ * nobody has opened yet.
125
+ */
126
+ function hasActiveDescendant(nodes, activeItemKey) {
127
+ return nodes.some((child) => {
128
+ if (child.type === "section" || child.type === "group") {
129
+ return hasActiveDescendant(child.children, activeItemKey);
130
+ }
131
+ if (resolveActive(child.isActive, child.key, activeItemKey))
132
+ return true;
133
+ return (child.type === "group-item" &&
134
+ hasActiveDescendant(child.children, activeItemKey));
135
+ });
136
+ }
137
+ function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeItemKey, isMobile, onNavigate, hideIconFallback, }) {
86
138
  const isGroupControlled = node.isExpanded !== undefined;
87
139
  const [openInternal, setOpenInternal] = React.useState(!!node.isExpanded);
88
140
  const open = isGroupControlled ? !!node.isExpanded : openInternal;
@@ -95,11 +147,58 @@ function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeIt
95
147
  // Collapsed-rail flyout visibility is its own concern — decoupled from group
96
148
  // expansion so collapsing the rail never auto-opens a flyout and opening a
97
149
  // flyout never mutates expansion state.
98
- const [flyoutOpen, setFlyoutOpen] = React.useState(false);
150
+ const { flyoutOpen, setFlyoutOpen } = useFlyoutSlot(node.key);
151
+ const hoverTimerRef = React.useRef(null);
152
+ // Which input opened the flyout. A pointer-driven open must not pull focus
153
+ // into the flyout: the pointer only crossed the rail, and Radix's default
154
+ // open-autofocus would yank focus off whatever the user was actually on.
155
+ const openedByPointerRef = React.useRef(false);
156
+ // The group trigger's tooltip is keyboard-only: on hover the flyout itself
157
+ // names the group, and with `delayDuration = 0` a hover tooltip would appear
158
+ // instantly, then be force-closed 120ms later when the flyout opens — a flash
159
+ // on every pass over the rail. Keyboard focus has no flyout until Enter, so it
160
+ // still needs the tooltip. Leaf rows keep their ordinary hover tooltip.
161
+ const [labelTooltipOpen, setLabelTooltipOpen] = React.useState(false);
162
+ const pointerInsideRef = React.useRef(false);
163
+ const triggerRef = React.useRef(null);
164
+ // Readable from the hover timer, which captured an older render's props.
165
+ const flyoutOpenRef = React.useRef(flyoutOpen);
166
+ React.useEffect(() => {
167
+ flyoutOpenRef.current = flyoutOpen;
168
+ }, [flyoutOpen]);
169
+ const cancelHoverTimer = () => {
170
+ if (hoverTimerRef.current !== null) {
171
+ window.clearTimeout(hoverTimerRef.current);
172
+ hoverTimerRef.current = null;
173
+ }
174
+ };
175
+ React.useEffect(() => cancelHoverTimer, []);
176
+ const scheduleFlyout = (next) => {
177
+ cancelHoverTimer();
178
+ hoverTimerRef.current = window.setTimeout(() => {
179
+ hoverTimerRef.current = null;
180
+ if (next) {
181
+ // Only an open this timer actually performs counts as pointer-opened.
182
+ // Re-entering the trigger of an already-pinned flyout also runs here,
183
+ // and marking that one as pointer-opened would silently un-pin it —
184
+ // the next hover-out would dismiss it.
185
+ if (!flyoutOpenRef.current)
186
+ openedByPointerRef.current = true;
187
+ setFlyoutOpen(true);
188
+ return;
189
+ }
190
+ // Only a hover-opened flyout closes on hover-out. A click- or
191
+ // keyboard-opened one holds focus inside itself, so a pointer merely
192
+ // crossing the rail must not close it and snap focus back to the
193
+ // trigger.
194
+ if (openedByPointerRef.current)
195
+ setFlyoutOpen(false);
196
+ }, next ? FLYOUT_HOVER_OPEN_DELAY : FLYOUT_HOVER_CLOSE_DELAY);
197
+ };
99
198
  const isGroupItem = node.type === "group-item";
100
199
  const isActive = isGroupItem
101
200
  ? resolveActive(node.isActive, node.key, activeItemKey)
102
- : false;
201
+ : !expanded && hasActiveDescendant(node.children, activeItemKey);
103
202
  const isLink = isGroupItem && linkDestination(node.linkProps) !== undefined;
104
203
  const LabelComp = isLink ? LinkEl : "button";
105
204
  // Truncation reveal — expanded state only (see the collapsed-rail flyout's
@@ -108,17 +207,86 @@ function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeIt
108
207
  React.useLayoutEffect(() => {
109
208
  measure();
110
209
  });
111
- const label = (_jsxs(_Fragment, { children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { ref: labelRef, className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
210
+ const label = (_jsxs(_Fragment, { children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label, hideFallback: hideIconFallback }), _jsx("span", { ref: labelRef, className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
112
211
  if (!expanded) {
113
- return (_jsxs(Popover, { open: flyoutOpen, onOpenChange: setFlyoutOpen, children: [_jsxs(Tooltip, { open: flyoutOpen ? false : undefined, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { type: "button", "data-slot": "app-sidebar-group-trigger", "aria-label": node.label, "aria-expanded": flyoutOpen, className: cn(navButton({ active: isActive, expanded: false })), children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { className: "sr-only", children: node.label })] }) }) }), _jsx(TooltipContent, { side: "right", children: node.label })] }), _jsx(PopoverContent, { side: "right", align: "start", className: "w-56 gap-0 p-1", children: node.children.map((child) => renderNode(child, {
114
- expanded: true,
115
- depth: 0,
116
- LinkEl,
117
- hasLinkComponent,
118
- activeItemKey,
119
- isMobile,
120
- onNavigate,
121
- })) })] }));
212
+ return (_jsxs(Popover, { open: flyoutOpen, onOpenChange: (next) => {
213
+ cancelHoverTimer();
214
+ setFlyoutOpen(next);
215
+ }, children: [_jsxs(Tooltip, { open: labelTooltipOpen && !flyoutOpen,
216
+ // Controlled, so Radix's own dismissal has to be accepted or Escape
217
+ // leaves the tooltip up until blur (WCAG 1.4.13, dismissible). Only
218
+ // the close request is honoured: an open request would reinstate the
219
+ // hover tooltip this trigger deliberately does not have.
220
+ onOpenChange: (next) => {
221
+ if (!next)
222
+ setLabelTooltipOpen(false);
223
+ }, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { ref: triggerRef, type: "button", "data-slot": "app-sidebar-group-trigger", "aria-label": node.label, "aria-expanded": flyoutOpen, className: cn(navButton({ active: isActive, expanded: false })), onMouseEnter: () => {
224
+ pointerInsideRef.current = true;
225
+ scheduleFlyout(true);
226
+ }, onMouseLeave: () => {
227
+ pointerInsideRef.current = false;
228
+ scheduleFlyout(false);
229
+ }, onFocus: () => {
230
+ if (!pointerInsideRef.current)
231
+ setLabelTooltipOpen(true);
232
+ }, onBlur: () => setLabelTooltipOpen(false), onClick: (event) => {
233
+ cancelHoverTimer();
234
+ // Hover has already opened it; Radix's trigger toggle would
235
+ // close it again, so a click on the icon the pointer is
236
+ // sitting on would dismiss the flyout it just opened. The
237
+ // toggle is composed behind this handler and skips on
238
+ // `defaultPrevented`.
239
+ if (flyoutOpen) {
240
+ event.preventDefault();
241
+ }
242
+ // Either way the open is now an explicit one: it stays until
243
+ // Escape, an outside pointer-down, or a child is selected.
244
+ openedByPointerRef.current = false;
245
+ }, children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { className: "sr-only", children: node.label })] }) }) }), _jsx(TooltipContent, { side: "right", children: node.label })] }), _jsxs(PopoverContent, { side: "right", align: "start", className: "w-56 gap-0 p-1", "aria-label": node.label,
246
+ // The launcher Popover captures at open time is whatever was focused
247
+ // when the pointer crossed the rail, which is not this trigger. Name
248
+ // the trigger explicitly so an explicit close returns focus to it.
249
+ restoreFocusRef: triggerRef, onMouseEnter: cancelHoverTimer, onMouseLeave: () => scheduleFlyout(false), onOpenAutoFocus: (event) => {
250
+ if (openedByPointerRef.current)
251
+ event.preventDefault();
252
+ }, onFocusOutside: (event) => {
253
+ // A hover-opened flyout holds no focus, so every focus-outside is
254
+ // spurious for it — and one in particular is fatal: displacing a
255
+ // keyboard-opened sibling returns that sibling's focus to its
256
+ // trigger, which would dismiss the flyout the pointer just opened.
257
+ // Keyboard and click opens keep the default (tabbing out closes).
258
+ if (openedByPointerRef.current)
259
+ event.preventDefault();
260
+ }, onCloseAutoFocus: (event) => {
261
+ // A hover-opened flyout never held focus, so restoring would drag
262
+ // it off whatever the user is really on. One that was opened by
263
+ // click or keyboard does hold it, and still returns it to the
264
+ // trigger — including when a sibling flyout displaces this one,
265
+ // which would otherwise drop focus to <body>. (Asking the DOM
266
+ // here instead does not work: by the time this fires Radix has
267
+ // already detached the content, so `activeElement` is `<body>`.)
268
+ if (openedByPointerRef.current)
269
+ event.preventDefault();
270
+ // Cleared here rather than in `onOpenChange`, which Radix calls
271
+ // first on an outside pointer-down: clearing there would make this
272
+ // handler read a hover-opened flyout as a focus-holding one and
273
+ // pull focus to the trigger, off whatever was just clicked.
274
+ openedByPointerRef.current = false;
275
+ }, children: [_jsx(PopoverHeader, { className: "px-2 pt-1.5 pb-1", children: _jsx(PopoverTitle, { className: SECTION_LABEL_TYPE, children: node.label }) }), node.children.map((child) => renderNode(child, {
276
+ expanded: true,
277
+ depth: 0,
278
+ LinkEl,
279
+ hasLinkComponent,
280
+ activeItemKey,
281
+ isMobile,
282
+ // Selecting a child dismisses the flyout. Navigation alone does
283
+ // not: the rail survives an in-app route change, so the flyout
284
+ // would otherwise stay open over the destination.
285
+ onNavigate: () => {
286
+ setFlyoutOpen(false);
287
+ onNavigate?.();
288
+ },
289
+ }))] })] }));
122
290
  }
123
291
  const labelElement = (_jsx(LabelComp, { ...(isLink ? node.linkProps : { type: "button" }), className: cn("flex flex-1 min-w-0 items-center gap-3 min-h-10 py-2 text-sm text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", isActive
124
292
  ? "text-neutral-foreground-strong font-medium"
@@ -144,10 +312,12 @@ function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeIt
144
312
  activeItemKey,
145
313
  isMobile,
146
314
  onNavigate,
315
+ hideIconFallback,
147
316
  }))] }));
148
317
  }
149
318
  function NavSection({ node, expanded, depth, LinkEl, hasLinkComponent, activeItemKey, isMobile, onNavigate, }) {
150
- return (_jsxs("div", { "data-slot": "app-sidebar-section", className: cn(!node.compact && "pt-2"), children: [node.title && (_jsx("div", { className: cn("px-3 pt-4 pb-1 text-xs font-medium text-neutral-foreground-subtle", node.compact && "pt-0", !expanded && "sr-only"), children: node.title })), node.children.map((child) => renderNode(child, {
319
+ const isEntities = node.variant === "entities";
320
+ return (_jsxs("div", { "data-slot": "app-sidebar-section", "data-variant": node.variant, className: cn(!node.compact && "pt-2", isEntities && !expanded && "mt-2 border-t border-border pt-2"), children: [node.title && (_jsx("div", { className: cn("px-3 pt-4 pb-1", SECTION_LABEL_TYPE, node.compact && "pt-0", !expanded && "sr-only"), children: node.title })), node.children.map((child) => renderNode(child, {
151
321
  expanded,
152
322
  depth,
153
323
  LinkEl,
@@ -155,6 +325,7 @@ function NavSection({ node, expanded, depth, LinkEl, hasLinkComponent, activeIte
155
325
  activeItemKey,
156
326
  isMobile,
157
327
  onNavigate,
328
+ hideIconFallback: isEntities && expanded,
158
329
  }))] }));
159
330
  }
160
331
  function BackNavHeader({ backNav, expanded, LinkEl, }) {
@@ -255,6 +426,19 @@ export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem",
255
426
  const LinkEl = linkComponent ?? "a";
256
427
  const hasLinkComponent = linkComponent !== undefined;
257
428
  const toggleRef = React.useRef(null);
429
+ const [openFlyoutKey, setOpenFlyoutKey] = React.useState(null);
430
+ const flyoutSlot = React.useMemo(() => ({ openKey: openFlyoutKey, setOpenKey: setOpenFlyoutKey }), [openFlyoutKey]);
431
+ // Expanding the rail unmounts the flyouts without clearing the slot, so a
432
+ // later collapse would remount the last one still open, with no hover behind
433
+ // it. Resetting in an effect (rather than on the toggle) is what also covers
434
+ // an expansion driven by the provider or by a controlled `expanded` prop.
435
+ React.useEffect(() => {
436
+ // Resetting one key on an expansion change: there is no external system to
437
+ // sync with, and no `key` to reset by that would not remount every row.
438
+ // eslint-disable-next-line react-hooks/set-state-in-effect
439
+ if (expanded)
440
+ setOpenFlyoutKey(null);
441
+ }, [expanded]);
258
442
  // Truncation reveal for the collapse-toggle's own label — declared above
259
443
  // the mobile early return below (hooks can't follow a conditional return).
260
444
  // Only relevant once `expanded` (the collapsed state hides the label via
@@ -287,13 +471,16 @@ export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem",
287
471
  setExpanded(!expanded);
288
472
  toggleRef.current?.focus();
289
473
  }, onPointerEnter: measureCollapseText, onFocus: measureCollapseText, className: cn("flex min-h-10 items-center py-2 text-sm text-neutral-foreground-subtle hover:bg-neutral-background-strong hover:text-neutral-foreground-strong border-t border-border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset", expanded ? "gap-3 px-3" : "justify-center px-2"), children: [expanded ? (_jsx(PanelLeftClose, { "aria-hidden": true, className: "size-4 shrink-0" })) : (_jsx(PanelLeft, { "aria-hidden": true, className: "size-4 shrink-0" })), _jsx("span", { ref: collapseTextRef, className: cn(expanded ? "flex-1 truncate text-left" : "sr-only"), children: resolvedCollapseText })] }));
290
- return (_jsxs("nav", { "data-slot": "app-sidebar", "aria-label": ariaLabel, style: { width, ["--app-sidebar-width"]: width }, className: cn("fixed left-0 top-12 bottom-0 z-40 flex flex-col bg-background border-r border-border transition-[width] duration-150 ease-out", className), children: [backNav && (_jsx(BackNavHeader, { backNav: backNav, expanded: expanded, LinkEl: LinkEl })), _jsx("div", { className: cn("flex-1 min-h-0 flex flex-col gap-0.5 px-2 py-2 overflow-y-auto overflow-x-hidden", HIDDEN_SCROLLBAR), children: items.map((node) => renderNode(node, {
291
- expanded,
292
- depth: 0,
293
- LinkEl,
294
- hasLinkComponent,
295
- activeItemKey,
296
- isMobile: false,
297
- })) }), footer && _jsx("div", { className: "border-t border-border p-2", children: footer }), expanded ? (collapseTextTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: collapseToggle }), _jsx(TooltipContent, { children: resolvedCollapseText })] })) : (collapseToggle)) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: collapseToggle }), _jsx(TooltipContent, { side: "right", children: resolvedExpandLabel })] })), resizable && expanded && (_jsx(SidebarResizeHandle, { width: resizedWidth, minWidth: minWidth, maxWidth: maxWidth, onResize: setResizedWidth, resizeLabel: resizeLabel, resizeValueTextLabel: resizeValueTextLabel }))] }));
474
+ return (
475
+ // The flyout slot is provided only here: the mobile Sheet renders every row
476
+ // expanded, so no flyout is reachable on that path.
477
+ _jsx(FlyoutSlotContext.Provider, { value: flyoutSlot, children: _jsxs("nav", { "data-slot": "app-sidebar", "aria-label": ariaLabel, style: { width, ["--app-sidebar-width"]: width }, className: cn("fixed left-0 top-12 bottom-0 z-40 flex flex-col bg-background border-r border-border transition-[width] duration-150 ease-out", className), children: [backNav && (_jsx(BackNavHeader, { backNav: backNav, expanded: expanded, LinkEl: LinkEl })), _jsx("div", { className: cn("flex-1 min-h-0 flex flex-col gap-0.5 px-2 py-2 overflow-y-auto overflow-x-hidden", HIDDEN_SCROLLBAR), children: items.map((node) => renderNode(node, {
478
+ expanded,
479
+ depth: 0,
480
+ LinkEl,
481
+ hasLinkComponent,
482
+ activeItemKey,
483
+ isMobile: false,
484
+ })) }), footer && _jsx("div", { className: "border-t border-border p-2", children: footer }), expanded ? (collapseTextTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: collapseToggle }), _jsx(TooltipContent, { children: resolvedCollapseText })] })) : (collapseToggle)) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: collapseToggle }), _jsx(TooltipContent, { side: "right", children: resolvedExpandLabel })] })), resizable && expanded && (_jsx(SidebarResizeHandle, { width: resizedWidth, minWidth: minWidth, maxWidth: maxWidth, onResize: setResizedWidth, resizeLabel: resizeLabel, resizeValueTextLabel: resizeValueTextLabel }))] }) }));
298
485
  }
299
486
  //# sourceMappingURL=app-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-sidebar.js","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,SAAS,EACT,CAAC,GACF,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,GAGjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AA+KtD,MAAM,YAAY,GAChB,oFAAoF,CAAC;AAEvF,wDAAwD;AACxD,MAAM,gBAAgB,GAAG,sDAAsD,CAAC;AAEhF,MAAM,SAAS,GAAG,GAAG,CACnB,EAAE,CACA,YAAY,EACZ,qJAAqJ,CACtJ,EACD;IACE,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,IAAI,EAAE,yEAAyE;YAC/E,KAAK,EACH,wGAAwG;SAC3G;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,0BAA0B;SAClC;KACF;IACD,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;CACnD,CACF,CAAC;AAEF,SAAS,WAAW,CAAC,EACnB,QAAQ,EAAE,UAAU,EACpB,eAAe,EACf,gBAAgB,GAC2D;IAC3E,MAAM,YAAY,GAAG,UAAU,KAAK,SAAS,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAE,UAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,IAAa,EAAE,EAAE;QAChB,IAAI,CAAC,YAAY;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,YAAY,EAAE,gBAAgB,CAAC,CACjC,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC1C,CAAC;AAaD,gDAAgD;AAChD,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,GAAc;IACnD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,KAAC,UAAU,IAAgB,IAAI,EAAE,IAAI,KAAM,GAAG,IAA7B,IAAI,CAAC,GAAG,CAAyB,CAAC;QAC5D,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACf,OAAO,KAAC,WAAW,IAAgB,IAAI,EAAE,IAAI,KAAM,GAAG,IAA7B,IAAI,CAAC,GAAG,CAAyB,CAAC;QAC7D,KAAK,SAAS;YACZ,OAAO,KAAC,UAAU,IAAgB,IAAI,EAAE,IAAI,KAAM,GAAG,IAA7B,IAAI,CAAC,GAAG,CAAyB,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,aAAa,GACqB;IAClC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;IAC7D,MAAM,IAAI,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEvE,yEAAyE;IACzE,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,EACJ,GAAG,EAAE,QAAQ,EACb,WAAW,EACX,OAAO,GACR,GAAG,cAAc,EAAmB,CAAC;IAEtC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,CACV,MAAC,IAAI,OACC,CAAC,MAAM;YACT,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACpD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eACb,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EACxD,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,kBACX,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC3C,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,UAAU,EAAE,EAAE,CAAC;QACjB,CAAC,EACD,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,aAEhB,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,EAClD,eACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,YAEvD,IAAI,CAAC,KAAK,GACN,EACN,QAAQ,IAAI,IAAI,CAAC,eAAe,IAC5B,CACR,CAAC;IAEF,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3B,OAAO,CACL,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,GAAG,GAAkB,EAC9C,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,YAAE,IAAI,CAAC,KAAK,GAAkB,IAClD,CACX,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,oEAAoE;IACpE,uDAAuD;IACvD,OAAO,WAAW,CAAC,CAAC,CAAC,CACnB,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,GAAG,GAAkB,EAC9C,KAAC,cAAc,cAAE,IAAI,CAAC,KAAK,GAAkB,IACrC,CACX,CAAC,CAAC,CAAC,CACF,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,UAAU,GAC4C;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,IAAa,EAAE,EAAE;QAChC,IAAI,CAAC,iBAAiB;YAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,6EAA6E;IAC7E,2EAA2E;IAC3E,wCAAwC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;IAC/C,MAAM,QAAQ,GAAG,WAAW;QAC1B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;QACvD,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;IAC5E,MAAM,SAAS,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,EACJ,GAAG,EAAE,QAAQ,EACb,WAAW,EACX,OAAO,GACR,GAAG,cAAc,EAAmB,CAAC;IAEtC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,CACZ,8BACE,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,EAClD,eACE,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,YAEvD,IAAI,CAAC,KAAK,GACN,EACN,QAAQ,IAAI,IAAI,CAAC,eAAe,IAChC,CACJ,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,MAAC,OAAO,IAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,aACpD,MAAC,OAAO,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,aAC3C,KAAC,cAAc,IAAC,OAAO,kBACrB,KAAC,cAAc,IAAC,OAAO,kBACrB,kBACE,IAAI,EAAC,QAAQ,eACH,2BAA2B,gBACzB,IAAI,CAAC,KAAK,mBACP,UAAU,EACzB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,aAE/D,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,EAClD,eAAM,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,KAAK,GAAQ,IACtC,GACM,GACF,EACjB,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,YAAE,IAAI,CAAC,KAAK,GAAkB,IAClD,EACV,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,gBAAgB,YAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,UAAU,CAAC,KAAK,EAAE;wBAChB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,CAAC;wBACR,MAAM;wBACN,gBAAgB;wBAChB,aAAa;wBACb,QAAQ;wBACR,UAAU;qBACX,CAAC,CACH,GACc,IACT,CACX,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CACnB,KAAC,SAAS,OACJ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAClD,SAAS,EAAE,EAAE,CACX,2LAA2L,EAC3L,QAAQ;YACN,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,qEAAqE,CAC1E,EACD,KAAK,EACH,KAAK,GAAG,CAAC;YACP,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,EAAE;YAC9C,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,kBAElB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAG5B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC7C,OAAO,EACL,WAAW;YACT,CAAC,CAAC,GAAG,EAAE;gBACH,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACjB,UAAU,EAAE,EAAE,CAAC;YACjB,CAAC;YACH,CAAC,CAAC,MAAM,EAEZ,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,OAAO,YAEf,KAAK,GACI,CACb,CAAC;IAEF,sEAAsE;IACtE,uDAAuD;IACvD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CACpC,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,YAAY,GAAkB,EACvD,KAAC,cAAc,cAAE,IAAI,CAAC,KAAK,GAAkB,IACrC,CACX,CAAC,CAAC,CAAC,CACF,YAAY,CACb,CAAC;IAEF,OAAO,CACL,4BAAe,mBAAmB,EAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,aACvE,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,QAAQ;oBACN,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,oCAAoC,CACzC,aAEA,eAAe,EAChB,iBACE,IAAI,EAAC,QAAQ,eACH,0BAA0B,gBACxB,UAAU,IAAI,CAAC,KAAK,EAAE,mBACnB,IAAI,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,6NAA6N,YAEtO,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,WAAW,yBAAa,SAAS,EAAC,QAAQ,GAAG,CAC/C,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,yBAAa,SAAS,EAAC,QAAQ,GAAG,CAChD,GACM,IACL,EACL,IAAI;gBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1B,UAAU,CAAC,KAAK,EAAE;oBAChB,QAAQ;oBACR,KAAK,EAAE,KAAK,GAAG,CAAC;oBAChB,MAAM;oBACN,gBAAgB;oBAChB,aAAa;oBACb,QAAQ;oBACR,UAAU;iBACX,CAAC,CACH,IACC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,UAAU,GAC2B;IACrC,OAAO,CACL,4BACY,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,aAErC,IAAI,CAAC,KAAK,IAAI,CACb,cACE,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,IAAI,CAAC,OAAO,IAAI,MAAM,EACtB,CAAC,QAAQ,IAAI,SAAS,CACvB,YAEA,IAAI,CAAC,KAAK,GACP,CACP,EACA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,UAAU,CAAC,KAAK,EAAE;gBAChB,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,gBAAgB;gBAChB,aAAa;gBACb,QAAQ;gBACR,UAAU;aACX,CAAC,CACH,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,MAAM,GAKP;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACvD,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC;IACtC,MAAM,QAAQ,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE/D,wEAAwE;IACxE,4DAA4D;IAC5D,4EAA4E;IAC5E,mEAAmE;IACnE,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,EACJ,GAAG,EAAE,QAAQ,EACb,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,YAAY,GACtB,GAAG,cAAc,EAAe,CAAC;IAElC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAC3B,KAAC,IAAI,IACH,GAAG,EAAE,QAAQ,EACb,EAAE,EAAC,MAAM,EACT,OAAO,EAAC,iBAAiB,EACzB,QAAQ,EAAE,CAAC,EACX,cAAc,EAAE,YAAY,EAC5B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,sIAAsI,YAE/I,KAAK,GACD,CACR,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,YAAY,GAChB,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,CAC3B,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,SAAS,GAAkB,EACpD,KAAC,cAAc,cAAE,KAAK,GAAkB,IAChC,CACX,CAAC,CAAC,CAAC,CACF,SAAS,CACV,CAAC;IAEJ,OAAO,CACL,4BACY,sBAAsB,EAChC,SAAS,EAAE,EAAE,CACX,8DAA8D,EAC9D,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAC/C,aAKD,KAAC,QAAQ,OACH,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,eAC7D,kBAAkB,gBAChB,iBAAiB,EAC7B,SAAS,EAAC,uRAAuR,YAEjS,KAAC,WAAW,yBAAa,SAAS,EAAC,QAAQ,GAAG,GACrC,EAEV,YAAY,IACT,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,oBAAoB,GAQrB;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzC,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAChC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAEhE,MAAM,aAAa,GAAG,CAAC,CAAqC,EAAE,EAAE;QAC9D,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,EAAgB,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,SAAS,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC3D,IAAI,CAAC,CAAC,GAAG,KAAK,YAAY;YAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;aAC1D,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW;YAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;aAC9D,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM;YAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACzC,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;YAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;;YACxC,OAAO;QACZ,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CACL,2BACY,2BAA2B,EACrC,IAAI,EAAC,WAAW,sBACC,UAAU,gBACf,WAAW,IAAI,CAAC,CAAC,mBAAmB,CAAC,mBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBACjB,KAAK,oBAElB,oBAAoB;YACpB,CAAC,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAEpD,QAAQ,EAAE,CAAC,EACX,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAC,0JAA0J,GACpK,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,OAAO,EACP,aAAa,GAAG,OAAO,EACvB,cAAc,GAAG,QAAQ,EACzB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,OAAO,EAClB,WAAW,EACX,oBAAoB,EACpB,MAAM,EACN,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,GAAG,WAAW,EACE;IAChB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,kBAAkB,GAAG,WAAW,EAAE,CAAC;IACzC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;IAEhC,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,wEAAwE;IACxE,sEAAsE;IACtE,0DAA0D;IAC1D,4CAA4C;IAC5C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IACE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;YACtC,GAAG,KAAK,IAAI;YACZ,kBAAkB;YAClB,CAAC,mBAAmB,CAAC,OAAO,EAC5B,CAAC;YACD,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,2RAA2R,CAC5R,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE9B,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,WAAW,CAAC,QAAQ,KAAK,SAAS,CAAC;IAE9D,0FAA0F;IAC1F,MAAM,QAAQ,GAAG,kBAAkB;QACjC,CAAC,CAAE,WAAW,CAAC,QAAoB;QACnC,CAAC,CAAC,GAAG;YACH,CAAC,CAAC,GAAG,CAAC,QAAQ;YACd,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,MAAM,WAAW,GACf,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7D,8EAA8E;IAC9E,+EAA+E;IAC/E,kFAAkF;IAClF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9E,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;IAE3D,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,aAAa,IAAI,GAAG,CAAC;IACpC,MAAM,gBAAgB,GAAG,aAAa,KAAK,SAAS,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAExD,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,EACJ,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,mBAAmB,GAC7B,GAAG,cAAc,EAAmB,CAAC;IAEtC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,mBAAmB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,KAAC,KAAK,IACJ,IAAI,EAAE,GAAG,EAAE,UAAU,IAAI,KAAK,EAC9B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,YAI1C,MAAC,YAAY,IAAC,IAAI,EAAC,MAAM,EAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAC,UAAU,aACpE,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,YAAE,SAAS,GAAc,EACxD,4BACY,aAAa,gBACX,SAAS,EACrB,SAAS,EAAC,oCAAoC,aAE9C,cAAK,SAAS,EAAC,kDAAkD,YAC/D,KAAC,UAAU,IAAC,OAAO,kBACjB,iBACE,IAAI,EAAC,QAAQ,gBAEX,oBAAoB,IAAI,CAAC,CAAC,4BAA4B,CAAC,EAEzD,SAAS,EAAC,8QAA8Q,YAExR,KAAC,CAAC,yBAAa,SAAS,EAAC,QAAQ,GAAG,GAC7B,GACE,GACT,EACL,OAAO,IAAI,CACV,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,QAAC,MAAM,EAAE,MAAM,GAAI,CAC7D,EACD,cACE,SAAS,EAAE,EAAE,CACX,wDAAwD,EACxD,gBAAgB,CACjB,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,UAAU,CAAC,IAAI,EAAE;oCACf,QAAQ,EAAE,IAAI;oCACd,KAAK,EAAE,CAAC;oCACR,MAAM;oCACN,gBAAgB;oCAChB,aAAa;oCACb,QAAQ,EAAE,IAAI;oCACd,uEAAuE;oCACvE,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC;iCAC5C,CAAC,CACH,GACG,EACL,MAAM,IAAI,CACT,cAAK,SAAS,EAAC,4BAA4B,YAAE,MAAM,GAAO,CAC3D,IACG,IACO,GACT,CACT,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;IACvD,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,mBAAmB,GAAG,WAAW,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,MAAM,qBAAqB,GAAG,aAAa,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,YAAY,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,CACrB,kBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,QAAQ,gBACD,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,mBAAmB,mBACnD,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE;YACZ,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,EACD,cAAc,EAAE,mBAAmB,EACnC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,EAAE,CACX,wQAAwQ,EACxQ,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAChD,aAEA,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,cAAc,yBAAa,SAAS,EAAC,iBAAiB,GAAG,CAC3D,CAAC,CAAC,CAAC,CACF,KAAC,SAAS,yBAAa,SAAS,EAAC,iBAAiB,GAAG,CACtD,EACD,eACE,GAAG,EAAE,eAAe,EACpB,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,YAEhE,oBAAoB,GAChB,IACA,CACV,CAAC;IAEF,OAAO,CACL,4BACY,aAAa,gBACX,SAAS,EACrB,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,qBAA+B,CAAC,EAAE,KAAK,EAAE,EAC1D,SAAS,EAAE,EAAE,CACX,+HAA+H,EAC/H,SAAS,CACV,aAEA,OAAO,IAAI,CACV,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAI,CACxE,EACD,cACE,SAAS,EAAE,EAAE,CACX,kFAAkF,EAClF,gBAAgB,CACjB,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,UAAU,CAAC,IAAI,EAAE;oBACf,QAAQ;oBACR,KAAK,EAAE,CAAC;oBACR,MAAM;oBACN,gBAAgB;oBAChB,aAAa;oBACb,QAAQ,EAAE,KAAK;iBAChB,CAAC,CACH,GACG,EACL,MAAM,IAAI,cAAK,SAAS,EAAC,4BAA4B,YAAE,MAAM,GAAO,EAKpE,QAAQ,CAAC,CAAC,CAAC,CACV,qBAAqB,CAAC,CAAC,CAAC,CACtB,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,cAAc,GAAkB,EACzD,KAAC,cAAc,cAAE,oBAAoB,GAAkB,IAC/C,CACX,CAAC,CAAC,CAAC,CACF,cAAc,CACf,CACF,CAAC,CAAC,CAAC,CACF,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,cAAc,GAAkB,EACzD,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,YAAE,mBAAmB,GAAkB,IAC3D,CACX,EACA,SAAS,IAAI,QAAQ,IAAI,CACxB,KAAC,mBAAmB,IAClB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app-sidebar.js","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import * as React from "react";
2
2
  declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): React.JSX.Element;
3
3
  declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): React.JSX.Element;
4
4
  declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
5
- declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
5
+ declare function BreadcrumbLink({ asChild, className, children, ref, onPointerEnter, onFocus, ...props }: React.ComponentProps<"a"> & {
6
6
  asChild?: boolean;
7
7
  }): React.JSX.Element;
8
- declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
8
+ declare function BreadcrumbPage({ className, children, ref, onPointerEnter, onFocus, ...props }: React.ComponentProps<"span">): React.JSX.Element;
9
9
  declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
10
10
  declare function BreadcrumbEllipsis({ className, label, ...props }: React.ComponentProps<"span"> & {
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAK5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAe1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAYnD;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAS5E;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAgB5B;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,qBAcA;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAK5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAe1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,EACH,cAAc,EACd,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAuDnD;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,cAAc,EACd,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAkD9B;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAgB5B;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,qBAcA;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,CAAC"}
@@ -5,6 +5,9 @@ import { Slot } from "radix-ui";
5
5
  import { MoreHorizontal } from "../../icons/lucide.js";
6
6
  import { cn } from "../../lib/utils.js";
7
7
  import { useC4Dictionary } from "../../lib/i18n/context.js";
8
+ import { mergeRefs } from "../../lib/merge-refs.js";
9
+ import { useIsTruncated } from "../../hooks/use-is-truncated.js";
10
+ import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
8
11
  import { typographyVariants } from "./typography.js";
9
12
  function Breadcrumb({ ...props }) {
10
13
  const { t } = useC4Dictionary();
@@ -20,12 +23,48 @@ function BreadcrumbList({ className, ...props }) {
20
23
  function BreadcrumbItem({ className, ...props }) {
21
24
  return (_jsx("li", { "data-slot": "breadcrumb-item", className: cn("inline-flex items-center gap-1.5", className), ...props }));
22
25
  }
23
- function BreadcrumbLink({ asChild, className, ...props }) {
26
+ function BreadcrumbLink({ asChild, className, children, ref, onPointerEnter, onFocus, ...props }) {
24
27
  const Comp = asChild ? Slot.Root : "a";
25
- return (_jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("rounded-sm text-sm font-normal text-neutral-foreground-subtle underline underline-offset-4 decoration-neutral-border-strong transition-colors hover:text-neutral-foreground-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), ...props }));
28
+ const { ref: truncateRef, isTruncated, measure, } = useIsTruncated();
29
+ // A consumer `ref` (e.g. onto the router Link this slots in) may still be
30
+ // supplied — merged rather than replaced, same as `select.tsx`'s trigger.
31
+ const mergedRef = React.useMemo(() => mergeRefs(ref, truncateRef), [ref, truncateRef]);
32
+ React.useLayoutEffect(() => {
33
+ measure();
34
+ });
35
+ // Already a focusable element (an `<a>`, or the router Link `asChild` slots
36
+ // in) — measure and mount the tooltip on IT, not the text inside, per the
37
+ // "Truncated Text" pattern (docs/specs/shadcn/patterns.md): a screen reader
38
+ // reads the full label regardless, so the reveal only has to reach sighted
39
+ // hover/keyboard-focus users, both of which land on this element already.
40
+ const link = (_jsx(Comp, { ref: mergedRef, "data-slot": "breadcrumb-link", onPointerEnter: (e) => {
41
+ onPointerEnter?.(e);
42
+ measure();
43
+ }, onFocus: (e) => {
44
+ onFocus?.(e);
45
+ measure();
46
+ }, className: cn("max-w-[200px] truncate rounded-sm text-sm font-normal text-neutral-foreground-subtle underline underline-offset-4 decoration-neutral-border-strong transition-colors hover:text-neutral-foreground-strong focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", className), ...props, children: children }));
47
+ // Mounted only when actually clipped — an always-mounted Tooltip still runs
48
+ // Radix's open-request handling on every hover/focus of a short label too.
49
+ return isTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: link }), _jsx(TooltipContent, { children: children })] })) : (link);
26
50
  }
27
- function BreadcrumbPage({ className, ...props }) {
28
- return (_jsx("span", { "data-slot": "breadcrumb-page", "aria-current": "page", className: cn("font-normal text-neutral-foreground-strong", className), ...props }));
51
+ function BreadcrumbPage({ className, children, ref, onPointerEnter, onFocus, ...props }) {
52
+ const { ref: truncateRef, isTruncated, measure, } = useIsTruncated();
53
+ const mergedRef = React.useMemo(() => mergeRefs(ref, truncateRef), [ref, truncateRef]);
54
+ React.useLayoutEffect(() => {
55
+ measure();
56
+ });
57
+ // Plain static text with no focusable ancestor of its own — gets its own
58
+ // minimal focus stop (`tabIndex={0}`) rather than borrowing one from a
59
+ // wrapping row, per the "Truncated Text" pattern's decision tree.
60
+ const page = (_jsx("span", { ref: mergedRef, "data-slot": "breadcrumb-page", "aria-current": "page", tabIndex: 0, onPointerEnter: (e) => {
61
+ onPointerEnter?.(e);
62
+ measure();
63
+ }, onFocus: (e) => {
64
+ onFocus?.(e);
65
+ measure();
66
+ }, className: cn("max-w-[200px] truncate font-normal text-neutral-foreground-strong outline-none focus-visible:ring-2 focus-visible:ring-ring", className), ...props, children: children }));
67
+ return isTruncated ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: page }), _jsx(TooltipContent, { children: children })] })) : (page);
29
68
  }
30
69
  function BreadcrumbSeparator({ children, className, ...props }) {
31
70
  return (_jsx("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: cn("select-none text-xs text-neutral-border-strong", children != null && "[&>svg]:size-3.5", className), ...props, children: children ?? "/" }));
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"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"}
@@ -51,8 +51,8 @@ export interface DataTableRowAction<TData> {
51
51
  * The icon node should carry `aria-hidden="true"` — `aria-label` is the
52
52
  * button's accessible name and the Tooltip does not replace it.
53
53
  *
54
- * Requires exactly one `<TooltipProvider>` up the tree — without it Radix
55
- * throws while rendering the table. See the spec's parent constraints.
54
+ * Expects exactly one DS `<TooltipProvider>` up the tree; without one each
55
+ * tooltip runs on a provider of its own. See the spec's parent constraints.
56
56
  */
57
57
  iconOnly?: boolean;
58
58
  /** Render a `<DropdownMenuSeparator>` above this item. Skipped for the first item. */
@@ -433,9 +433,9 @@ function renderInlineActionsCell(visible, row) {
433
433
  }
434
434
  else {
435
435
  return (
436
- // Radix requires a `TooltipProvider` ancestor and throws without
437
- // one; DataTable deliberately does not nest its own (see
438
- // tooltip.tsx) — the consumer's app root owns it.
436
+ // The consumer's app root owns the `TooltipProvider`; DataTable
437
+ // does not nest one of its own, and `Tooltip` runs on a
438
+ // provider of its own if none is above (see tooltip.tsx).
439
439
  _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx(Button, { variant: isDestructive ? "destructive" : "ghost",
440
440
  // size-8 matches the labelled inline button's h-8, so
441
441
  // mixing the two does not shift row height.