@camunda/design-system 0.35.0 → 0.37.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/src/components/ui/app-header.d.ts +6 -2
- package/dist/src/components/ui/app-header.d.ts.map +1 -1
- package/dist/src/components/ui/app-header.js +1 -1
- package/dist/src/components/ui/app-header.js.map +1 -1
- package/dist/src/components/ui/app-sidebar.d.ts +44 -12
- package/dist/src/components/ui/app-sidebar.d.ts.map +1 -1
- package/dist/src/components/ui/app-sidebar.js +42 -15
- package/dist/src/components/ui/app-sidebar.js.map +1 -1
- package/dist/src/components/ui/avatar.d.ts +7 -0
- package/dist/src/components/ui/avatar.d.ts.map +1 -1
- package/dist/src/components/ui/avatar.js +1 -1
- package/dist/src/components/ui/avatar.js.map +1 -1
- package/dist/src/components/ui/bar-chart.d.ts.map +1 -1
- package/dist/src/components/ui/bar-chart.js +45 -7
- package/dist/src/components/ui/bar-chart.js.map +1 -1
- package/dist/src/components/ui/chart.d.ts +9 -2
- package/dist/src/components/ui/chart.d.ts.map +1 -1
- package/dist/src/components/ui/chart.js +13 -4
- package/dist/src/components/ui/chart.js.map +1 -1
- package/dist/src/components/ui/data-table.d.ts +6 -0
- package/dist/src/components/ui/data-table.d.ts.map +1 -1
- package/dist/src/components/ui/data-table.js +6 -5
- package/dist/src/components/ui/data-table.js.map +1 -1
- package/dist/src/components/ui/definition-tooltip.d.ts.map +1 -1
- package/dist/src/components/ui/definition-tooltip.js +37 -9
- package/dist/src/components/ui/definition-tooltip.js.map +1 -1
- package/dist/src/components/ui/line-chart.d.ts.map +1 -1
- package/dist/src/components/ui/line-chart.js +12 -2
- package/dist/src/components/ui/line-chart.js.map +1 -1
- package/dist/src/components/ui/meter.d.ts.map +1 -1
- package/dist/src/components/ui/meter.js +1 -10
- package/dist/src/components/ui/meter.js.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.d.ts +120 -2
- package/dist/src/components/ui/nav-breadcrumb.d.ts.map +1 -1
- package/dist/src/components/ui/nav-breadcrumb.js +54 -7
- package/dist/src/components/ui/nav-breadcrumb.js.map +1 -1
- package/dist/src/components/ui/nav-data.d.ts +46 -0
- package/dist/src/components/ui/nav-data.d.ts.map +1 -0
- package/dist/src/components/ui/nav-data.js +66 -0
- package/dist/src/components/ui/nav-data.js.map +1 -0
- package/dist/src/components/ui/nav-icon.assignability.d.ts +30 -0
- package/dist/src/components/ui/nav-icon.assignability.d.ts.map +1 -0
- package/dist/src/components/ui/nav-icon.assignability.js +28 -0
- package/dist/src/components/ui/nav-icon.assignability.js.map +1 -0
- package/dist/src/components/ui/nav-icon.d.ts +33 -0
- package/dist/src/components/ui/nav-icon.d.ts.map +1 -0
- package/dist/src/components/ui/nav-icon.js +20 -0
- package/dist/src/components/ui/nav-icon.js.map +1 -0
- package/dist/src/components/ui/notifications.d.ts +72 -0
- package/dist/src/components/ui/notifications.d.ts.map +1 -0
- package/dist/src/components/ui/notifications.js +53 -0
- package/dist/src/components/ui/notifications.js.map +1 -0
- package/dist/src/components/ui/scorecard.d.ts +1 -1
- package/dist/src/components/ui/scorecard.d.ts.map +1 -1
- package/dist/src/components/ui/scorecard.js +13 -8
- package/dist/src/components/ui/scorecard.js.map +1 -1
- package/dist/src/components/ui/sheet.d.ts +1 -1
- package/dist/src/components/ui/sparkline.d.ts.map +1 -1
- package/dist/src/components/ui/sparkline.js +11 -1
- package/dist/src/components/ui/sparkline.js.map +1 -1
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.d.ts +3 -0
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.d.ts.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.js +114 -0
- package/dist/src/examples/agent-control-plane-processes/DashboardPage.js.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/derive.d.ts +65 -0
- package/dist/src/examples/agent-control-plane-processes/derive.d.ts.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/derive.js +234 -0
- package/dist/src/examples/agent-control-plane-processes/derive.js.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/mock-data.d.ts +37 -0
- package/dist/src/examples/agent-control-plane-processes/mock-data.d.ts.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/mock-data.js +206 -0
- package/dist/src/examples/agent-control-plane-processes/mock-data.js.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/summary-mock-data.d.ts +37 -0
- package/dist/src/examples/agent-control-plane-processes/summary-mock-data.d.ts.map +1 -0
- package/dist/src/examples/agent-control-plane-processes/summary-mock-data.js +53 -0
- package/dist/src/examples/agent-control-plane-processes/summary-mock-data.js.map +1 -0
- package/dist/src/examples/shared/DashboardSection.d.ts +9 -0
- package/dist/src/examples/shared/DashboardSection.d.ts.map +1 -0
- package/dist/src/examples/shared/DashboardSection.js +5 -0
- package/dist/src/examples/shared/DashboardSection.js.map +1 -0
- package/dist/src/examples/shared/DateRangePopover.d.ts +3 -0
- package/dist/src/examples/shared/DateRangePopover.d.ts.map +1 -0
- package/dist/src/examples/shared/DateRangePopover.js +35 -0
- package/dist/src/examples/shared/DateRangePopover.js.map +1 -0
- package/dist/src/examples/shared/agent-control-plane-nav.d.ts +4 -0
- package/dist/src/examples/shared/agent-control-plane-nav.d.ts.map +1 -0
- package/dist/src/examples/shared/agent-control-plane-nav.js +25 -0
- package/dist/src/examples/shared/agent-control-plane-nav.js.map +1 -0
- package/dist/src/examples/shared/date-range-utils.d.ts +10 -0
- package/dist/src/examples/shared/date-range-utils.d.ts.map +1 -0
- package/dist/src/examples/shared/date-range-utils.js +75 -0
- package/dist/src/examples/shared/date-range-utils.js.map +1 -0
- package/dist/src/icons/camunda-app-icons.d.ts +19 -0
- package/dist/src/icons/camunda-app-icons.d.ts.map +1 -0
- package/dist/src/icons/camunda-app-icons.js +26 -0
- package/dist/src/icons/camunda-app-icons.js.map +1 -0
- package/dist/src/icons/index.d.ts +1 -0
- package/dist/src/icons/index.d.ts.map +1 -1
- package/dist/src/icons/index.js +1 -0
- package/dist/src/icons/index.js.map +1 -1
- package/dist/src/index.d.ts +6 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/styles.css +77 -25
- package/package.json +1 -1
- package/dist/src/examples/cost-dashboard/CostBreakdownChart.d.ts +0 -2
- package/dist/src/examples/cost-dashboard/CostBreakdownChart.d.ts.map +0 -1
- package/dist/src/examples/cost-dashboard/CostBreakdownChart.js +0 -21
- package/dist/src/examples/cost-dashboard/CostBreakdownChart.js.map +0 -1
- package/dist/src/examples/cost-dashboard/CostDashboardPage.d.ts +0 -2
- package/dist/src/examples/cost-dashboard/CostDashboardPage.d.ts.map +0 -1
- package/dist/src/examples/cost-dashboard/CostDashboardPage.js +0 -56
- package/dist/src/examples/cost-dashboard/CostDashboardPage.js.map +0 -1
- package/dist/src/examples/cost-dashboard/TrendChart.d.ts +0 -2
- package/dist/src/examples/cost-dashboard/TrendChart.d.ts.map +0 -1
- package/dist/src/examples/cost-dashboard/TrendChart.js +0 -19
- package/dist/src/examples/cost-dashboard/TrendChart.js.map +0 -1
- package/dist/src/examples/cost-dashboard/mock-data.d.ts +0 -34
- package/dist/src/examples/cost-dashboard/mock-data.d.ts.map +0 -1
- package/dist/src/examples/cost-dashboard/mock-data.js +0 -120
- package/dist/src/examples/cost-dashboard/mock-data.js.map +0 -1
- package/dist/src/examples/projects-list/ProjectsListPage.d.ts +0 -4
- package/dist/src/examples/projects-list/ProjectsListPage.d.ts.map +0 -1
- package/dist/src/examples/projects-list/ProjectsListPage.js +0 -58
- package/dist/src/examples/projects-list/ProjectsListPage.js.map +0 -1
- package/dist/src/examples/projects-list/mock-data.d.ts +0 -10
- package/dist/src/examples/projects-list/mock-data.d.ts.map +0 -1
- package/dist/src/examples/projects-list/mock-data.js +0 -83
- package/dist/src/examples/projects-list/mock-data.js.map +0 -1
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type
|
|
2
|
+
import { type NavIcon } from "./nav-icon.js";
|
|
3
3
|
export interface GlobalActionButton {
|
|
4
4
|
key: string;
|
|
5
5
|
label: string;
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Any SVG component — lucide, the Camunda registry, or a Carbon-shaped icon. See
|
|
8
|
+
* `nav-icon.tsx` for why the type is structural rather than lucide's nominal `LucideIcon`.
|
|
9
|
+
*/
|
|
10
|
+
icon?: NavIcon;
|
|
7
11
|
onClick?: () => void;
|
|
8
12
|
element?: React.ReactNode;
|
|
9
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app-header.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;IACpE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2GAA2G;IAC3G,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,kBAA2C,EAC3C,kBAAyB,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBA+DhB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import {} from "lucide-react";
|
|
4
3
|
import { cn } from "../../lib/utils.js";
|
|
5
4
|
import { Button } from "./button.js";
|
|
6
5
|
import { useSidebar, SidebarTrigger } from "./sidebar-provider.js";
|
|
7
6
|
import { CamundaLogo } from "./camunda-logo.js";
|
|
7
|
+
import {} from "./nav-icon.js";
|
|
8
8
|
export function AppHeader({ logo, appName, breadcrumb, trailing, actions, globalActions, skipToContentTargetId, skipToContentLabel = "Skip to main content", showSidebarTrigger = true, className, children, ...props }) {
|
|
9
9
|
const sidebar = useSidebar();
|
|
10
10
|
const showTrigger = showSidebarTrigger && sidebar?.isMobile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../../../src/components/ui/app-header.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app-header.js","sourceRoot":"","sources":["../../../../src/components/ui/app-header.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,MAAM,YAAY,CAAC;AA2B1C,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,kBAAkB,GAAG,sBAAsB,EAC3C,kBAAkB,GAAG,IAAI,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACO;IACf,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,kBAAkB,IAAI,OAAO,EAAE,QAAQ,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,WAAW,KAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7D,OAAO,CACL,qBACM,KAAK,eACC,YAAY,EACtB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,aAEA,qBAAqB,IAAI,CACxB,YACE,IAAI,EAAE,IAAI,qBAAqB,EAAE,EACjC,SAAS,EAAC,wKAAwK,YAEjL,kBAAkB,GACjB,CACL,EAEA,WAAW,IAAI,KAAC,cAAc,IAAC,SAAS,EAAC,UAAU,GAAG,EAEtD,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CACxB,eAAK,SAAS,EAAC,kCAAkC,aAC9C,QAAQ,EACR,OAAO,IAAI,eAAM,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAQ,IAChE,CACP,EAEA,UAAU,EACV,QAAQ,EAET,eAAK,SAAS,EAAC,iCAAiC,aAC7C,QAAQ,EAGR,aAAa;wBACZ,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;yBAClD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,KAAC,KAAK,CAAC,QAAQ,cAAmB,MAAM,CAAC,OAAO,IAA3B,MAAM,CAAC,GAAG,CAAmC,CACnE,CAAC,CAAC,CAAC,CACF,KAAC,MAAM,IAEL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,gBACC,MAAM,CAAC,KAAK,EACxB,OAAO,EAAE,MAAM,CAAC,OAAO,YAEtB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACb,KAAC,MAAM,CAAC,IAAI,yBAAa,SAAS,EAAC,QAAQ,GAAG,CAC/C,CAAC,CAAC,CAAC,IAAI,IARH,MAAM,CAAC,GAAG,CASR,CACV,CACF,EACF,OAAO,IACJ,IACC,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,16 +1,36 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { type
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { type ActiveMatcher, type NavLinkProps } from "./nav-data.js";
|
|
3
|
+
import { type NavIcon } from "./nav-icon.js";
|
|
4
|
+
type IconComponent = NavIcon;
|
|
5
|
+
/**
|
|
6
|
+
* How a sidebar node says where it goes. An alias of the vocabulary shared with NavBreadcrumb —
|
|
7
|
+
* the name is kept because it is part of the published API.
|
|
8
|
+
*/
|
|
9
|
+
export type SidebarLinkProps = NavLinkProps;
|
|
10
|
+
/**
|
|
11
|
+
* The component used to render a link node.
|
|
12
|
+
*
|
|
13
|
+
* Exported so consumers have something to annotate their wrapper against instead of reaching
|
|
14
|
+
* for `any`. Kept as the permissive `React.ElementType`: every existing wrapper is typed in
|
|
15
|
+
* react-router's shape, and narrowing would force all of them to be re-typed for no functional
|
|
16
|
+
* gain.
|
|
17
|
+
*
|
|
18
|
+
* What it receives: every key of `linkProps` verbatim, plus `className`, `style`, `onClick`,
|
|
19
|
+
* `aria-current`, `data-slot` and children. `linkProps` is spread FIRST, so on a collision the
|
|
20
|
+
* design system wins — a `className` or `onClick` inside `linkProps` is silently overridden.
|
|
21
|
+
*
|
|
22
|
+
* It MUST forward its ref to the rendered anchor: the collapsed rail wraps each row in a
|
|
23
|
+
* Radix `TooltipTrigger asChild`, which clones the child with a ref, and a non-forwarding
|
|
24
|
+
* component breaks the collapsed-rail tooltip.
|
|
25
|
+
*/
|
|
26
|
+
export type NavLinkComponent = React.ElementType;
|
|
8
27
|
export interface SidebarItem {
|
|
9
28
|
type: "item";
|
|
10
29
|
key: string;
|
|
11
30
|
label: string;
|
|
12
|
-
|
|
13
|
-
|
|
31
|
+
/** Optional: rows without one fall back to the label's initials in the collapsed rail. */
|
|
32
|
+
icon?: IconComponent;
|
|
33
|
+
isActive?: ActiveMatcher;
|
|
14
34
|
onClick?: () => void;
|
|
15
35
|
linkProps?: SidebarLinkProps;
|
|
16
36
|
trailingElement?: React.ReactNode;
|
|
@@ -19,8 +39,9 @@ export interface SidebarGroupItem {
|
|
|
19
39
|
type: "group-item";
|
|
20
40
|
key: string;
|
|
21
41
|
label: string;
|
|
22
|
-
|
|
23
|
-
|
|
42
|
+
/** Optional: rows without one fall back to the label's initials in the collapsed rail. */
|
|
43
|
+
icon?: IconComponent;
|
|
44
|
+
isActive?: ActiveMatcher;
|
|
24
45
|
onClick?: () => void;
|
|
25
46
|
linkProps?: SidebarLinkProps;
|
|
26
47
|
trailingElement?: React.ReactNode;
|
|
@@ -33,7 +54,8 @@ export interface SidebarGroup {
|
|
|
33
54
|
type: "group";
|
|
34
55
|
key: string;
|
|
35
56
|
label: string;
|
|
36
|
-
|
|
57
|
+
/** Optional: rows without one fall back to the label's initials in the collapsed rail. */
|
|
58
|
+
icon?: IconComponent;
|
|
37
59
|
trailingElement?: React.ReactNode;
|
|
38
60
|
isExpanded?: boolean;
|
|
39
61
|
/** Called with the next expanded state — mirrors AppSidebar's onExpandedChange. */
|
|
@@ -64,6 +86,16 @@ export interface SidebarBackNav {
|
|
|
64
86
|
export interface AppSidebarProps {
|
|
65
87
|
ariaLabel: string;
|
|
66
88
|
items: SidebarNode[];
|
|
89
|
+
/**
|
|
90
|
+
* The value every node's `isActive` is resolved against — typically
|
|
91
|
+
* `location.pathname + location.search`. Including the search string is load-bearing for
|
|
92
|
+
* query-discriminated routes; a basename would break prefix matchers built from
|
|
93
|
+
* router-relative paths.
|
|
94
|
+
*
|
|
95
|
+
* Omit it and nodes without an explicit `isActive` simply stay inactive. It is an opaque
|
|
96
|
+
* consumer-chosen string: the design system never parses, normalizes or derives it.
|
|
97
|
+
*/
|
|
98
|
+
activeItemKey?: string;
|
|
67
99
|
backNav?: SidebarBackNav;
|
|
68
100
|
expanded?: boolean;
|
|
69
101
|
defaultExpanded?: boolean;
|
|
@@ -80,6 +112,6 @@ export interface AppSidebarProps {
|
|
|
80
112
|
linkComponent?: React.ElementType;
|
|
81
113
|
className?: string;
|
|
82
114
|
}
|
|
83
|
-
export declare function AppSidebar({ ariaLabel, items, backNav, expandedWidth, collapsedWidth, resizable, minWidth, maxWidth, footer, linkComponent, className, ...expandProps }: AppSidebarProps): React.JSX.Element;
|
|
115
|
+
export declare function AppSidebar({ ariaLabel, items, backNav, expandedWidth, collapsedWidth, resizable, minWidth, maxWidth, footer, linkComponent, activeItemKey, className, ...expandProps }: AppSidebarProps): React.JSX.Element;
|
|
84
116
|
export {};
|
|
85
117
|
//# sourceMappingURL=app-sidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app-sidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/app-sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
|
|
|
7
7
|
import { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
|
|
8
8
|
import { Sheet, SheetClose, SheetContent, SheetTitle } from "./sheet.js";
|
|
9
9
|
import { useSidebar } from "./sidebar-provider.js";
|
|
10
|
+
import { linkDestination, resolveActive, resolveLinkProps, } from "./nav-data.js";
|
|
11
|
+
import { NavRowIcon } from "./nav-icon.js";
|
|
10
12
|
const NAV_ROW_BASE = "group/navbtn flex w-full items-center overflow-hidden rounded-md transition-colors";
|
|
11
13
|
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"), {
|
|
12
14
|
variants: {
|
|
@@ -47,14 +49,16 @@ function renderNode(node, ctx) {
|
|
|
47
49
|
return _jsx(NavSection, { node: node, ...ctx }, node.key);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
51
|
-
const
|
|
52
|
-
const isLink = node.linkProps?.href !== undefined;
|
|
52
|
+
function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, hasLinkComponent, activeItemKey, }) {
|
|
53
|
+
const isLink = linkDestination(node.linkProps) !== undefined;
|
|
53
54
|
const Comp = isLink ? LinkEl : "button";
|
|
54
|
-
const
|
|
55
|
+
const isActive = resolveActive(node.isActive, node.key, activeItemKey);
|
|
56
|
+
const row = (_jsxs(Comp, { ...(isLink
|
|
57
|
+
? resolveLinkProps(node.linkProps, hasLinkComponent)
|
|
58
|
+
: { type: "button" }), "data-slot": "app-sidebar-item", className: cn(navButton({ active: isActive, expanded })), style: indentStyle(depth), "aria-current": isActive ? "page" : undefined, onClick: () => {
|
|
55
59
|
node.onClick?.();
|
|
56
60
|
onNavigate?.();
|
|
57
|
-
}, children: [_jsx(
|
|
61
|
+
}, children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
|
|
58
62
|
// Collapsed icon rail: name the icon with a tooltip. Not on mobile (the Sheet
|
|
59
63
|
// shows full labels) and not when expanded (the label is already visible).
|
|
60
64
|
if (!expanded && !isMobile) {
|
|
@@ -62,8 +66,7 @@ function NavItemRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
|
62
66
|
}
|
|
63
67
|
return row;
|
|
64
68
|
}
|
|
65
|
-
function NavGroupRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
66
|
-
const Icon = node.icon;
|
|
69
|
+
function NavGroupRow({ node, expanded, depth, LinkEl, hasLinkComponent, activeItemKey, isMobile, onNavigate, }) {
|
|
67
70
|
const isGroupControlled = node.isExpanded !== undefined;
|
|
68
71
|
const [openInternal, setOpenInternal] = React.useState(!!node.isExpanded);
|
|
69
72
|
const open = isGroupControlled ? !!node.isExpanded : openInternal;
|
|
@@ -78,15 +81,19 @@ function NavGroupRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
|
78
81
|
// flyout never mutates expansion state.
|
|
79
82
|
const [flyoutOpen, setFlyoutOpen] = React.useState(false);
|
|
80
83
|
const isGroupItem = node.type === "group-item";
|
|
81
|
-
const isActive = isGroupItem
|
|
82
|
-
|
|
84
|
+
const isActive = isGroupItem
|
|
85
|
+
? resolveActive(node.isActive, node.key, activeItemKey)
|
|
86
|
+
: false;
|
|
87
|
+
const isLink = isGroupItem && linkDestination(node.linkProps) !== undefined;
|
|
83
88
|
const LabelComp = isLink ? LinkEl : "button";
|
|
84
|
-
const label = (_jsxs(_Fragment, { children: [_jsx(
|
|
89
|
+
const label = (_jsxs(_Fragment, { children: [_jsx(NavRowIcon, { icon: node.icon, label: node.label }), _jsx("span", { className: cn("flex-1 truncate", !expanded && "sr-only"), children: node.label }), expanded && node.trailingElement] }));
|
|
85
90
|
if (!expanded) {
|
|
86
|
-
return (_jsxs(Popover, { open: flyoutOpen, onOpenChange: setFlyoutOpen, 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(
|
|
91
|
+
return (_jsxs(Popover, { open: flyoutOpen, onOpenChange: setFlyoutOpen, 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(PopoverContent, { side: "right", align: "start", className: "w-56 gap-0 p-1", children: node.children.map((child) => renderNode(child, {
|
|
87
92
|
expanded: true,
|
|
88
93
|
depth: 0,
|
|
89
94
|
LinkEl,
|
|
95
|
+
hasLinkComponent,
|
|
96
|
+
activeItemKey,
|
|
90
97
|
isMobile,
|
|
91
98
|
onNavigate,
|
|
92
99
|
})) })] }));
|
|
@@ -107,12 +114,22 @@ function NavGroupRow({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
|
107
114
|
expanded,
|
|
108
115
|
depth: depth + 1,
|
|
109
116
|
LinkEl,
|
|
117
|
+
hasLinkComponent,
|
|
118
|
+
activeItemKey,
|
|
110
119
|
isMobile,
|
|
111
120
|
onNavigate,
|
|
112
121
|
}))] }));
|
|
113
122
|
}
|
|
114
|
-
function NavSection({ node, expanded, depth, LinkEl, isMobile, onNavigate, }) {
|
|
115
|
-
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, {
|
|
123
|
+
function NavSection({ node, expanded, depth, LinkEl, hasLinkComponent, activeItemKey, isMobile, onNavigate, }) {
|
|
124
|
+
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, {
|
|
125
|
+
expanded,
|
|
126
|
+
depth,
|
|
127
|
+
LinkEl,
|
|
128
|
+
hasLinkComponent,
|
|
129
|
+
activeItemKey,
|
|
130
|
+
isMobile,
|
|
131
|
+
onNavigate,
|
|
132
|
+
}))] }));
|
|
116
133
|
}
|
|
117
134
|
function BackNavHeader({ backNav, expanded, LinkEl, }) {
|
|
118
135
|
const { title, onBack, backHref, backLabel = "Back" } = backNav;
|
|
@@ -156,7 +173,7 @@ function SidebarResizeHandle({ width, minWidth, maxWidth, onResize, }) {
|
|
|
156
173
|
};
|
|
157
174
|
return (_jsx("div", { "data-slot": "app-sidebar-resize-handle", role: "separator", "aria-orientation": "vertical", "aria-label": "Resize sidebar", "aria-valuemin": Math.round(minPx), "aria-valuemax": Math.round(maxPx), "aria-valuenow": nowPx, "aria-valuetext": `${nowPx} pixels`, tabIndex: 0, onPointerDown: onPointerDown, onKeyDown: onKeyDown, className: "absolute top-0 right-0 z-50 h-full w-1 cursor-col-resize select-none hover:bg-neutral-background-medium focus-visible:bg-ring focus-visible:outline-none" }));
|
|
158
175
|
}
|
|
159
|
-
export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem", collapsedWidth = "3rem", resizable = true, minWidth = "14rem", maxWidth = "24rem", footer, linkComponent, className, ...expandProps }) {
|
|
176
|
+
export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem", collapsedWidth = "3rem", resizable = true, minWidth = "14rem", maxWidth = "24rem", footer, linkComponent, activeItemKey, className, ...expandProps }) {
|
|
160
177
|
const ctx = useSidebar();
|
|
161
178
|
const internal = useExpanded(expandProps);
|
|
162
179
|
const isExpandControlled = expandProps.expanded !== undefined;
|
|
@@ -175,6 +192,7 @@ export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem",
|
|
|
175
192
|
const setResizedWidth = ctx ? ctx.setWidth : setLocalWidth;
|
|
176
193
|
const isMobile = ctx?.isMobile ?? false;
|
|
177
194
|
const LinkEl = linkComponent ?? "a";
|
|
195
|
+
const hasLinkComponent = linkComponent !== undefined;
|
|
178
196
|
const toggleRef = React.useRef(null);
|
|
179
197
|
// Mobile: render the nav inside a left Sheet overlay (always full labels).
|
|
180
198
|
if (isMobile) {
|
|
@@ -182,6 +200,8 @@ export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem",
|
|
|
182
200
|
expanded: true,
|
|
183
201
|
depth: 0,
|
|
184
202
|
LinkEl,
|
|
203
|
+
hasLinkComponent,
|
|
204
|
+
activeItemKey,
|
|
185
205
|
isMobile: true,
|
|
186
206
|
// Selecting a nav item dismisses the overlay (standard mobile drawer).
|
|
187
207
|
onNavigate: () => ctx?.setMobileOpen(false),
|
|
@@ -193,6 +213,13 @@ export function AppSidebar({ ariaLabel, items, backNav, expandedWidth = "16rem",
|
|
|
193
213
|
setExpanded(!expanded);
|
|
194
214
|
toggleRef.current?.focus();
|
|
195
215
|
}, 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", { className: cn(expanded ? "flex-1 truncate text-left" : "sr-only"), children: "Collapse" })] }));
|
|
196
|
-
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 flex flex-col gap-0.5 px-2 py-2", expanded ? "overflow-y-auto overflow-x-hidden" : "overflow-visible"), children: items.map((node) => renderNode(node, {
|
|
216
|
+
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 flex flex-col gap-0.5 px-2 py-2", expanded ? "overflow-y-auto overflow-x-hidden" : "overflow-visible"), children: items.map((node) => renderNode(node, {
|
|
217
|
+
expanded,
|
|
218
|
+
depth: 0,
|
|
219
|
+
LinkEl,
|
|
220
|
+
hasLinkComponent,
|
|
221
|
+
activeItemKey,
|
|
222
|
+
isMobile: false,
|
|
223
|
+
})) }), footer && _jsx("div", { className: "border-t border-border p-2", children: footer }), expanded ? (collapseToggle) : (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: collapseToggle }), _jsx(TooltipContent, { side: "right", children: "Expand sidebar" })] })), resizable && expanded && (_jsx(SidebarResizeHandle, { width: resizedWidth, minWidth: minWidth, maxWidth: maxWidth, onResize: setResizedWidth }))] }));
|
|
197
224
|
}
|
|
198
225
|
//# 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,GAEF,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,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;AAiGhD,MAAM,YAAY,GAChB,oFAAoF,CAAC;AAEvF,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;AAWD,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,GACwB;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC;IAClD,MAAM,IAAI,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE3D,MAAM,GAAG,GAAG,CACV,MAAC,IAAI,OACC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eACxC,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC7D,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,kBACX,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAChD,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,UAAU,EAAE,EAAE,CAAC;QACjB,CAAC,aAED,KAAC,IAAI,yBAAa,SAAS,EAAC,iBAAiB,GAAG,EAChD,eAAM,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,YAC3D,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,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,GAC4C;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,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,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAEvD,MAAM,MAAM,GAAG,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,SAAS,CAAC;IACjE,MAAM,SAAS,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhE,MAAM,KAAK,GAAG,CACZ,8BACE,KAAC,IAAI,yBAAa,SAAS,EAAC,iBAAiB,GAAG,EAChD,eAAM,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,YAC3D,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,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,IAAI,yBAAa,SAAS,EAAC,iBAAiB,GAAG,EAChD,eAAM,SAAS,EAAC,SAAS,YAAE,IAAI,CAAC,KAAK,GAAQ,IACtC,GACM,EACjB,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,QAAQ;wBACR,UAAU;qBACX,CAAC,CACH,GACc,IACT,CACX,CAAC;IACJ,CAAC;IAED,OAAO,CACL,4BAAe,mBAAmB,aAChC,eACE,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,QAAQ;oBACN,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,oCAAoC,CACzC,aAED,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;4BACN,CAAC,CAAC,4CAA4C;4BAC9C,CAAC,CAAC,qEAAqE,CAC1E,EACD,KAAK,EACH,KAAK,GAAG,CAAC;4BACP,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,KAAK,EAAE;4BAC9C,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;4BACT,CAAC,CAAC,GAAG,EAAE;gCACH,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gCACjB,UAAU,EAAE,EAAE,CAAC;4BACjB,CAAC;4BACH,CAAC,CAAC,MAAM,YAGX,KAAK,GACI,EACZ,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,QAAQ;oBACR,UAAU;iBACX,CAAC,CACH,IACC,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,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,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CACrE,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,MAAM,GAKP;IACC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC;IACtC,MAAM,QAAQ,GAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE/D,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,SAAS,EACrB,SAAS,EAAC,uRAAuR,YAEjS,KAAC,WAAW,yBAAa,SAAS,EAAC,QAAQ,GAAG,GACrC,EAEV,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,qFAAqF,YAClG,KAAK,GACD,CACR,IACG,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,GAMT;IACC,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,gBAChB,gBAAgB,mBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBACjB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,mBACjB,KAAK,oBACJ,GAAG,KAAK,SAAS,EACjC,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,MAAM,EACvB,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,OAAO,EAClB,MAAM,EACN,aAAa,EACb,SAAS,EACT,GAAG,WAAW,EACE;IAChB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,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,SAAS,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAExD,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,gBACF,kBAAkB,EAC7B,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,cAAK,SAAS,EAAC,wDAAwD,YACpE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,UAAU,CAAC,IAAI,EAAE;oCACf,QAAQ,EAAE,IAAI;oCACd,KAAK,EAAE,CAAC;oCACR,MAAM;oCACN,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;IAEvD,MAAM,cAAc,GAAG,CACrB,kBACE,GAAG,EAAE,SAAS,EACd,IAAI,EAAC,QAAQ,gBACD,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,mBAC7C,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE;YACZ,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,EACD,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,eAAM,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,yBAEhE,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,wCAAwC,EACxC,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,kBAAkB,CACpE,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,UAAU,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAClE,GACG,EACL,MAAM,IAAI,cAAK,SAAS,EAAC,4BAA4B,YAAE,MAAM,GAAO,EAEpE,QAAQ,CAAC,CAAC,CAAC,CACV,cAAc,CACf,CAAC,CAAC,CAAC,CACF,MAAC,OAAO,eACN,KAAC,cAAc,IAAC,OAAO,kBAAE,cAAc,GAAkB,EACzD,KAAC,cAAc,IAAC,IAAI,EAAC,OAAO,+BAAgC,IACpD,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,GACzB,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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"}
|
|
@@ -16,6 +16,13 @@ type AvatarProps = React.ComponentProps<"span"> & VariantProps<typeof avatarVari
|
|
|
16
16
|
*/
|
|
17
17
|
alt?: string;
|
|
18
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Derives up to two letter initials from a display name.
|
|
21
|
+
* Unicode-aware: works with Latin diacritics, Cyrillic, Greek, CJK, etc.
|
|
22
|
+
* Non-letter-only names (e.g. "123") return "" and trigger the icon fallback.
|
|
23
|
+
* Single word → one letter. Multi-word → first letter of first + last word.
|
|
24
|
+
*/
|
|
25
|
+
export declare function deriveInitials(name: string): string;
|
|
19
26
|
export declare const Avatar: React.ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
|
|
20
27
|
export type { AvatarProps };
|
|
21
28
|
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQlE,QAAA,MAAM,cAAc;;;8EAoBnB,CAAC;AAIF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAC7C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQlE,QAAA,MAAM,cAAc;;;8EAoBnB,CAAC;AAIF,KAAK,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAC7C,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAyBJ;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AA2ED,eAAO,MAAM,MAAM,kGAAoD,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -49,7 +49,7 @@ function hashName(name) {
|
|
|
49
49
|
* Non-letter-only names (e.g. "123") return "" and trigger the icon fallback.
|
|
50
50
|
* Single word → one letter. Multi-word → first letter of first + last word.
|
|
51
51
|
*/
|
|
52
|
-
function deriveInitials(name) {
|
|
52
|
+
export function deriveInitials(name) {
|
|
53
53
|
const words = name.trim().split(/\s+/).filter(Boolean);
|
|
54
54
|
if (words.length === 0)
|
|
55
55
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../../src/components/ui/avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,iFAAiF;AAEjF,MAAM,cAAc,GAAG,GAAG,CACxB,2EAA2E,EAC3E;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,WAAW;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,YAAY;SACrB;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,QAAQ;KAChB;CACF,CACF,CAAC;AAkBF,iFAAiF;AAEjF,MAAM,cAAc,GAAG;IACrB,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7D,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7D,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7D,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7D,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC3D,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC3D,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC7D,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACrD,CAAC;AAEX,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,iFAAiF;AAEjF;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../../src/components/ui/avatar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart.tsx"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"bar-chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart.tsx"],"names":[],"mappings":"AAWA,OAAO,EAOL,KAAK,WAAW,EACjB,MAAM,SAAS,CAAC;AAEjB,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAClB;AAoED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,QAAQ,CAAC,EAChB,IAAI,EACJ,WAAW,EACX,MAAM,EACN,WAAwB,EACxB,OAAe,EACf,YAAY,EACZ,UAAkB,EAClB,cAAc,EACd,MAAM,EACN,OAAe,EACf,KAAa,EACb,MAAU,EACV,aAAa,EACb,SAAS,GACV,EAAE,aAAa,+BA8If;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Bar, BarChart as RechartsBarChart, CartesianGrid, Cell, LabelList, ReferenceLine, XAxis, YAxis, } from "recharts";
|
|
3
|
-
import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, } from "./chart.js";
|
|
3
|
+
import { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, estimateRightEdgeMargin, } from "./chart.js";
|
|
4
|
+
/** Recharts' YAxis `width="auto"` can underestimate long labels and clip text. */
|
|
5
|
+
function estimateHorizontalCategoryAxisWidth(data, categoryKey, tickFormatter) {
|
|
6
|
+
const longest = data.reduce((max, row) => {
|
|
7
|
+
const raw = row[categoryKey];
|
|
8
|
+
const label = tickFormatter ? tickFormatter(raw) : String(raw ?? "");
|
|
9
|
+
return Math.max(max, label.length);
|
|
10
|
+
}, 0);
|
|
11
|
+
// 12px sans-serif ≈ 6px/char with textAnchor end; +10px axis padding.
|
|
12
|
+
const estimated = longest * 6 + 10;
|
|
13
|
+
return Math.min(220, Math.max(56, estimated));
|
|
14
|
+
}
|
|
15
|
+
function getMaxSeriesValue(data, seriesKeys) {
|
|
16
|
+
let max = 0;
|
|
17
|
+
data.forEach((row) => {
|
|
18
|
+
seriesKeys.forEach((key) => {
|
|
19
|
+
const value = Number(row[key]);
|
|
20
|
+
if (Number.isFinite(value) && value > max)
|
|
21
|
+
max = value;
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
return max;
|
|
25
|
+
}
|
|
4
26
|
// Recharts' <Bar radius> accepts a single number (all four corners) or a
|
|
5
27
|
// [topLeft, topRight, bottomRight, bottomLeft] tuple. For a stacked chart with
|
|
6
28
|
// 2+ series, only the outer-facing edge of the base and outer segments should
|
|
@@ -44,17 +66,33 @@ function BarChart({ data, categoryKey, config, orientation = "vertical", stacked
|
|
|
44
66
|
const rechartsLayout = orientation === "horizontal" ? "vertical" : "horizontal";
|
|
45
67
|
// Reference-line axis defaults to the value axis — the axis opposite categoryKey.
|
|
46
68
|
const defaultReferenceAxis = orientation === "horizontal" ? "x" : "y";
|
|
47
|
-
|
|
69
|
+
const horizontalCategoryAxisWidth = orientation === "horizontal"
|
|
70
|
+
? estimateHorizontalCategoryAxisWidth(data, categoryKey, tickFormatter)
|
|
71
|
+
: undefined;
|
|
72
|
+
const rightEdgeLabel = orientation === "horizontal"
|
|
73
|
+
? (() => {
|
|
74
|
+
const maxValue = getMaxSeriesValue(data, seriesKeys);
|
|
75
|
+
return tickFormatter ? tickFormatter(maxValue) : String(maxValue);
|
|
76
|
+
})()
|
|
77
|
+
: (() => {
|
|
78
|
+
const lastCategory = data[data.length - 1]?.[categoryKey];
|
|
79
|
+
return tickFormatter && lastCategory != null
|
|
80
|
+
? tickFormatter(lastCategory)
|
|
81
|
+
: String(lastCategory ?? "");
|
|
82
|
+
})();
|
|
83
|
+
const chartMargin = {
|
|
84
|
+
top: 4,
|
|
85
|
+
right: estimateRightEdgeMargin(rightEdgeLabel),
|
|
86
|
+
left: 4,
|
|
87
|
+
bottom: 4,
|
|
88
|
+
};
|
|
89
|
+
return (_jsx(ChartContainer, { config: config, loading: loading, empty: empty, className: className, children: _jsxs(RechartsBarChart, { data: data, layout: rechartsLayout, accessibilityLayer: true, margin: chartMargin, children: [_jsx(CartesianGrid, { vertical: orientation === "horizontal", horizontal: orientation === "vertical", stroke: "var(--border)" }), orientation === "vertical" ? (_jsxs(_Fragment, { children: [_jsx(XAxis, { dataKey: categoryKey, tickLine: false, axisLine: false,
|
|
48
90
|
// Matches shadcn's own chart-bar-interactive registry default —
|
|
49
91
|
// Recharts skips tick labels that would render closer together
|
|
50
92
|
// than this pixel gap, avoiding crowded/overlapping labels on
|
|
51
93
|
// dense datasets (e.g. ~90 daily points). Sparse datasets are
|
|
52
94
|
// unaffected since their ticks already clear 32px.
|
|
53
|
-
minTickGap: 32, tickFormatter: tickFormatter }), _jsx(YAxis, { tickLine: false, axisLine: false })] })) : (_jsxs(_Fragment, { children: [_jsx(XAxis, { type: "number", tickLine: false, axisLine: false }), _jsx(YAxis, { dataKey: categoryKey, type: "category", tickLine: false, axisLine: false,
|
|
54
|
-
// Recharts' default category-axis width (60px) truncates longer
|
|
55
|
-
// labels (e.g. process/connector names) — "auto" measures each
|
|
56
|
-
// label and sizes the axis to fit, per this prop's purpose.
|
|
57
|
-
width: "auto", minTickGap: 32, tickFormatter: tickFormatter })] })), _jsx(ChartTooltip, { content: _jsx(ChartTooltipContent, {}) }), showLegend && _jsx(ChartLegend, { content: _jsx(ChartLegendContent, {}) }), referenceLines?.map((referenceLine, index) => (_jsx(ReferenceLine, { ...(referenceLine.axis
|
|
95
|
+
minTickGap: 32, tickFormatter: tickFormatter }), _jsx(YAxis, { tickLine: false, axisLine: false })] })) : (_jsxs(_Fragment, { children: [_jsx(XAxis, { type: "number", tickLine: false, axisLine: false }), _jsx(YAxis, { dataKey: categoryKey, type: "category", tickLine: false, axisLine: false, width: horizontalCategoryAxisWidth, interval: 0, tick: { fontSize: 12, textAnchor: "end" }, tickFormatter: tickFormatter })] })), _jsx(ChartTooltip, { content: _jsx(ChartTooltipContent, {}) }), showLegend && _jsx(ChartLegend, { content: _jsx(ChartLegendContent, {}) }), referenceLines?.map((referenceLine, index) => (_jsx(ReferenceLine, { ...(referenceLine.axis
|
|
58
96
|
? { [referenceLine.axis]: referenceLine.value }
|
|
59
97
|
: { [defaultReferenceAxis]: referenceLine.value }), ...(referenceLine.label
|
|
60
98
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,GAAG,EACH,QAAQ,IAAI,gBAAgB,EAC5B,aAAa,EACb,IAAI,EACJ,SAAS,EACT,aAAa,EACb,KAAK,EACL,KAAK,GACN,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"bar-chart.js","sourceRoot":"","sources":["../../../../src/components/ui/bar-chart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ declare function ChartTooltipContent({ active, payload, className, indicator, hi
|
|
|
21
21
|
color?: string;
|
|
22
22
|
labelClassName?: string;
|
|
23
23
|
}): React.JSX.Element | null;
|
|
24
|
-
declare const ChartLegend: React.
|
|
24
|
+
declare const ChartLegend: ({ align, verticalAlign, ...props }: React.ComponentProps<typeof RechartsPrimitive.Legend>) => React.JSX.Element;
|
|
25
25
|
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, inactiveKeys, onToggleKey, }: {
|
|
26
26
|
className?: string;
|
|
27
27
|
payload?: readonly RechartsPrimitive.LegendPayload[];
|
|
@@ -30,5 +30,12 @@ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlig
|
|
|
30
30
|
inactiveKeys?: Set<string>;
|
|
31
31
|
onToggleKey?: (key: string) => void;
|
|
32
32
|
}): React.JSX.Element | null;
|
|
33
|
-
|
|
33
|
+
/**
|
|
34
|
+
* A chart's rightmost axis tick is centered on its tick position at the
|
|
35
|
+
* plot's right edge, so roughly half its label renders past that edge.
|
|
36
|
+
* Estimates the chart margin needed to keep it from being clipped, scaled
|
|
37
|
+
* to the actual label instead of a flat guess.
|
|
38
|
+
*/
|
|
39
|
+
declare function estimateRightEdgeMargin(label: string): number;
|
|
40
|
+
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, estimateRightEdgeMargin, };
|
|
34
41
|
//# sourceMappingURL=chart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAgBF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAe,EACf,KAAa,EACb,YAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAC;CACf,qBAgCA;AAoBD,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,SAAS,EACT,KAAK,EACL,cAAc,GACf,EAAE,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,4BAkHA;AAED,QAAA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAK9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAC9B,MAAM,EACN;IACE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAgBF,iBAAS,cAAc,CAAC,EACtB,EAAE,EACF,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAe,EACf,KAAa,EACb,YAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,cAAc,CAC5B,OAAO,iBAAiB,CAAC,mBAAmB,CAC7C,CAAC,UAAU,CAAC,CAAC;CACf,qBAgCA;AAoBD,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,iBAAS,mBAAmB,CAAC,EAC3B,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,KAAK,EACL,cAAc,EACd,SAAS,EACT,KAAK,EACL,cAAc,GACf,EAAE,OAAO,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,GAAG;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,4BAkHA;AAED,QAAA,MAAM,WAAW,GAAI,oCAIlB,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,MAAM,CAAC,sBAMvD,CAAC;AAEF,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,QAAgB,EAChB,OAAO,EACP,aAAwB,EACxB,YAAY,EACZ,WAAW,GACZ,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACrD,aAAa,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,4BAmEA;AAED;;;;;GAKG;AACH,iBAAS,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,OAAO,EACL,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,uBAAuB,GACxB,CAAC"}
|
|
@@ -14,7 +14,7 @@ function useChart() {
|
|
|
14
14
|
function ChartContainer({ id, className, children, config, loading = false, empty = false, emptyMessage = "No data", ...props }) {
|
|
15
15
|
const generatedId = React.useId();
|
|
16
16
|
const chartId = `chart-${generatedId.replace(/:/g, "")}`;
|
|
17
|
-
return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { id: id, "data-slot": "chart", "data-chart": chartId, "aria-busy": loading || undefined, className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-neutral-foreground-subtle [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-radial-bar-background-sector]:fill-neutral-background-strong [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-neutral-background-strong [&_.recharts-reference-line-line]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), loading ? (_jsx(Skeleton, { className: "h-full w-full" })) : empty ? (_jsx("div", { className: "flex h-full w-full items-center justify-center text-neutral-foreground-subtle", children: emptyMessage })) : (_jsx(RechartsPrimitive.ResponsiveContainer, { children: children }))] }) }));
|
|
17
|
+
return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { id: id, "data-slot": "chart", "data-chart": chartId, "aria-busy": loading || undefined, className: cn("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-neutral-foreground-subtle [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-radial-bar-background-sector]:fill-neutral-background-strong [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-neutral-background-strong [&_.recharts-reference-line-line]:stroke-border [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), loading ? (_jsx(Skeleton, { className: "h-full w-full" })) : empty ? (_jsx("div", { className: "flex h-full w-full items-center justify-center text-neutral-foreground-subtle", children: emptyMessage })) : (_jsx(RechartsPrimitive.ResponsiveContainer, { width: "100%", height: "100%", children: children }))] }) }));
|
|
18
18
|
}
|
|
19
19
|
function ChartStyle({ id, config }) {
|
|
20
20
|
const colorConfig = Object.entries(config).filter(([, entryConfig]) => entryConfig.color);
|
|
@@ -66,13 +66,13 @@ function ChartTooltipContent({ active, payload, className, indicator = "dot", hi
|
|
|
66
66
|
: item.value }))] })] })) }, key || index));
|
|
67
67
|
}) })] }));
|
|
68
68
|
}
|
|
69
|
-
const ChartLegend = RechartsPrimitive.Legend;
|
|
69
|
+
const ChartLegend = ({ align = "left", verticalAlign = "bottom", ...props }) => (_jsx(RechartsPrimitive.Legend, { align: align, verticalAlign: verticalAlign, ...props }));
|
|
70
70
|
function ChartLegendContent({ className, hideIcon = false, payload, verticalAlign = "bottom", inactiveKeys, onToggleKey, }) {
|
|
71
71
|
const { config } = useChart();
|
|
72
72
|
if (!payload?.length) {
|
|
73
73
|
return null;
|
|
74
74
|
}
|
|
75
|
-
return (_jsx("div", { "data-slot": "chart-legend-content", className: cn("flex items-center justify-
|
|
75
|
+
return (_jsx("div", { "data-slot": "chart-legend-content", className: cn("flex w-full items-center justify-start gap-4", verticalAlign === "top" ? "pb-3" : "pt-3", className), children: payload.map((item, index) => {
|
|
76
76
|
const lookupKey = `${item.dataKey ?? "value"}`;
|
|
77
77
|
const itemConfig = config[lookupKey];
|
|
78
78
|
const isInactive = inactiveKeys?.has(lookupKey) ?? false;
|
|
@@ -86,5 +86,14 @@ function ChartLegendContent({ className, hideIcon = false, payload, verticalAlig
|
|
|
86
86
|
return (_jsx("div", { className: itemClassName, children: itemContent }, `${lookupKey}-${index}`));
|
|
87
87
|
}) }));
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
/**
|
|
90
|
+
* A chart's rightmost axis tick is centered on its tick position at the
|
|
91
|
+
* plot's right edge, so roughly half its label renders past that edge.
|
|
92
|
+
* Estimates the chart margin needed to keep it from being clipped, scaled
|
|
93
|
+
* to the actual label instead of a flat guess.
|
|
94
|
+
*/
|
|
95
|
+
function estimateRightEdgeMargin(label) {
|
|
96
|
+
return Math.max(12, Math.round((label.length * 6) / 2) + 8);
|
|
97
|
+
}
|
|
98
|
+
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, estimateRightEdgeMargin, };
|
|
90
99
|
//# sourceMappingURL=chart.js.map
|