@schemavaults/ui 0.89.0 → 0.91.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.
@@ -0,0 +1,72 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const deviceFrameVariantIds: ["phone-modern", "phone-classic", "tablet", "laptop"];
4
+ export type DeviceFrameVariantId = (typeof deviceFrameVariantIds)[number];
5
+ export declare const deviceFrameSizeIds: ["sm", "md", "lg"];
6
+ export type DeviceFrameSizeId = (typeof deviceFrameSizeIds)[number];
7
+ export declare const deviceFrameOrientationIds: ["portrait", "landscape"];
8
+ export type DeviceFrameOrientationId = (typeof deviceFrameOrientationIds)[number];
9
+ export declare const deviceFrameColorIds: ["graphite", "silver", "gold", "midnight"];
10
+ export type DeviceFrameColorId = (typeof deviceFrameColorIds)[number];
11
+ declare const deviceFrameVariants: (props?: ({
12
+ variant?: "phone-modern" | "phone-classic" | "tablet" | "laptop" | null | undefined;
13
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
+ export interface DeviceFrameProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof deviceFrameVariants> {
15
+ /** Device silhouette. Defaults to `phone-modern`. */
16
+ variant?: DeviceFrameVariantId;
17
+ /** Portrait (default) or landscape. Ignored for `laptop` (always landscape). */
18
+ orientation?: DeviceFrameOrientationId;
19
+ /** Preset frame size. Defaults to `md`. */
20
+ size?: DeviceFrameSizeId;
21
+ /** Bezel color. Defaults to `graphite`. */
22
+ color?: DeviceFrameColorId;
23
+ /**
24
+ * When true, the phone-modern variant renders a Dynamic Island. When false,
25
+ * it renders a traditional notch. Ignored for other variants.
26
+ */
27
+ dynamicIsland?: boolean;
28
+ ref?: Ref<HTMLDivElement>;
29
+ }
30
+ declare function DeviceFrame({ className, variant, orientation, size, color, dynamicIsland, children, ref, ...props }: DeviceFrameProps): ReactElement;
31
+ declare namespace DeviceFrame {
32
+ var displayName: string;
33
+ }
34
+ declare const deviceFrameScreenVariants: (props?: ({
35
+ variant?: "phone-modern" | "phone-classic" | "tablet" | "laptop" | null | undefined;
36
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
37
+ export interface DeviceFrameScreenProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof deviceFrameScreenVariants> {
38
+ variant?: DeviceFrameVariantId;
39
+ ref?: Ref<HTMLDivElement>;
40
+ }
41
+ declare function DeviceFrameScreen({ className, variant, ref, ...props }: DeviceFrameScreenProps): ReactElement;
42
+ declare namespace DeviceFrameScreen {
43
+ var displayName: string;
44
+ }
45
+ export interface DeviceFrameStatusBarProps extends HTMLAttributes<HTMLDivElement> {
46
+ /** Displayed time. Defaults to `9:41` (Apple's canonical marketing time). */
47
+ time?: string;
48
+ /** Trailing icons cluster. Defaults to signal + wifi + battery. */
49
+ trailing?: ReactNode;
50
+ /** Skip the default padding accommodating a notch/island cutout. */
51
+ compact?: boolean;
52
+ ref?: Ref<HTMLDivElement>;
53
+ }
54
+ declare function DeviceFrameStatusBar({ className, time, trailing, compact, ref, ...props }: DeviceFrameStatusBarProps): ReactElement;
55
+ declare namespace DeviceFrameStatusBar {
56
+ var displayName: string;
57
+ }
58
+ export interface DeviceFrameHomeIndicatorProps extends HTMLAttributes<HTMLDivElement> {
59
+ ref?: Ref<HTMLDivElement>;
60
+ }
61
+ declare function DeviceFrameHomeIndicator({ className, ref, ...props }: DeviceFrameHomeIndicatorProps): ReactElement;
62
+ declare namespace DeviceFrameHomeIndicator {
63
+ var displayName: string;
64
+ }
65
+ export interface DeviceFrameContentProps extends HTMLAttributes<HTMLDivElement> {
66
+ ref?: Ref<HTMLDivElement>;
67
+ }
68
+ declare function DeviceFrameContent({ className, ref, ...props }: DeviceFrameContentProps): ReactElement;
69
+ declare namespace DeviceFrameContent {
70
+ var displayName: string;
71
+ }
72
+ export { DeviceFrame, DeviceFrameScreen, DeviceFrameStatusBar, DeviceFrameHomeIndicator, DeviceFrameContent, deviceFrameVariants, deviceFrameScreenVariants, };
@@ -0,0 +1,178 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../../../lib/utils";
5
+ export const deviceFrameVariantIds = [
6
+ "phone-modern",
7
+ "phone-classic",
8
+ "tablet",
9
+ "laptop",
10
+ ];
11
+ export const deviceFrameSizeIds = [
12
+ "sm",
13
+ "md",
14
+ "lg",
15
+ ];
16
+ export const deviceFrameOrientationIds = [
17
+ "portrait",
18
+ "landscape",
19
+ ];
20
+ export const deviceFrameColorIds = [
21
+ "graphite",
22
+ "silver",
23
+ "gold",
24
+ "midnight",
25
+ ];
26
+ const deviceBezelPalette = {
27
+ graphite: {
28
+ bezel: "bg-neutral-900 border-neutral-800 dark:bg-neutral-950 dark:border-neutral-900",
29
+ accent: "bg-neutral-800 dark:bg-neutral-900",
30
+ },
31
+ silver: {
32
+ bezel: "bg-neutral-200 border-neutral-300 dark:bg-neutral-300 dark:border-neutral-400",
33
+ accent: "bg-neutral-300 dark:bg-neutral-400",
34
+ },
35
+ gold: {
36
+ bezel: "bg-amber-100 border-amber-200 dark:bg-amber-200 dark:border-amber-300",
37
+ accent: "bg-amber-200 dark:bg-amber-300",
38
+ },
39
+ midnight: {
40
+ bezel: "bg-slate-950 border-slate-900 dark:bg-black dark:border-slate-950",
41
+ accent: "bg-slate-900 dark:bg-slate-950",
42
+ },
43
+ };
44
+ const deviceFrameVariants = cva("relative isolate box-content shrink-0 overflow-hidden border shadow-2xl", {
45
+ variants: {
46
+ variant: {
47
+ "phone-modern": "rounded-[2.75rem] p-[0.55rem]",
48
+ "phone-classic": "rounded-[2rem] px-[0.5rem] py-[3rem]",
49
+ tablet: "rounded-[1.75rem] p-[0.85rem]",
50
+ laptop: "rounded-t-xl rounded-b-none p-[0.6rem]",
51
+ },
52
+ },
53
+ defaultVariants: {
54
+ variant: "phone-modern",
55
+ },
56
+ });
57
+ const deviceFrameSizeMap = {
58
+ "phone-modern": {
59
+ portrait: {
60
+ sm: "w-[200px] aspect-[9/19.5]",
61
+ md: "w-[280px] aspect-[9/19.5]",
62
+ lg: "w-[360px] aspect-[9/19.5]",
63
+ },
64
+ landscape: {
65
+ sm: "w-[400px] aspect-[19.5/9]",
66
+ md: "w-[560px] aspect-[19.5/9]",
67
+ lg: "w-[720px] aspect-[19.5/9]",
68
+ },
69
+ },
70
+ "phone-classic": {
71
+ portrait: {
72
+ sm: "w-[200px] aspect-[9/16]",
73
+ md: "w-[280px] aspect-[9/16]",
74
+ lg: "w-[360px] aspect-[9/16]",
75
+ },
76
+ landscape: {
77
+ sm: "w-[400px] aspect-[16/9]",
78
+ md: "w-[560px] aspect-[16/9]",
79
+ lg: "w-[720px] aspect-[16/9]",
80
+ },
81
+ },
82
+ tablet: {
83
+ portrait: {
84
+ sm: "w-[300px] aspect-[3/4]",
85
+ md: "w-[420px] aspect-[3/4]",
86
+ lg: "w-[540px] aspect-[3/4]",
87
+ },
88
+ landscape: {
89
+ sm: "w-[400px] aspect-[4/3]",
90
+ md: "w-[560px] aspect-[4/3]",
91
+ lg: "w-[720px] aspect-[4/3]",
92
+ },
93
+ },
94
+ laptop: {
95
+ portrait: {
96
+ sm: "w-[500px] aspect-[16/10]",
97
+ md: "w-[700px] aspect-[16/10]",
98
+ lg: "w-[900px] aspect-[16/10]",
99
+ },
100
+ landscape: {
101
+ sm: "w-[500px] aspect-[16/10]",
102
+ md: "w-[700px] aspect-[16/10]",
103
+ lg: "w-[900px] aspect-[16/10]",
104
+ },
105
+ },
106
+ };
107
+ function DeviceFrame({ className, variant = "phone-modern", orientation = "portrait", size = "md", color = "graphite", dynamicIsland = true, children, ref, ...props }) {
108
+ const effectiveOrientation = variant === "laptop" ? "landscape" : orientation;
109
+ const sizeClasses = deviceFrameSizeMap[variant][effectiveOrientation][size];
110
+ const palette = deviceBezelPalette[color];
111
+ return (_jsxs("div", { ref: ref, "data-slot": "device-frame", "data-variant": variant, "data-orientation": effectiveOrientation, "data-size": size, "data-color": color, className: cn(deviceFrameVariants({ variant }), palette.bezel, sizeClasses, className), ...props, children: [variant === "phone-modern" ? (_jsx(PhoneModernOrnaments, { orientation: effectiveOrientation, dynamicIsland: dynamicIsland })) : null, variant === "phone-classic" ? (_jsx(PhoneClassicOrnaments, { orientation: effectiveOrientation, accent: palette.accent })) : null, variant === "tablet" ? (_jsx(TabletOrnaments, { accent: palette.accent })) : null, children, variant === "laptop" ? _jsx(LaptopBase, { color: color }) : null] }));
112
+ }
113
+ DeviceFrame.displayName = "DeviceFrame";
114
+ function PhoneModernOrnaments({ orientation, dynamicIsland, }) {
115
+ const positionClass = orientation === "portrait"
116
+ ? "top-3 left-1/2 -translate-x-1/2"
117
+ : "left-3 top-1/2 -translate-y-1/2";
118
+ const shapeClass = dynamicIsland
119
+ ? orientation === "portrait"
120
+ ? "h-6 w-24 rounded-full"
121
+ : "h-24 w-6 rounded-full"
122
+ : orientation === "portrait"
123
+ ? "h-6 w-32 rounded-b-2xl"
124
+ : "h-32 w-6 rounded-r-2xl";
125
+ const nonIslandPosition = !dynamicIsland && orientation === "portrait"
126
+ ? "top-[0.55rem] left-1/2 -translate-x-1/2"
127
+ : !dynamicIsland && orientation === "landscape"
128
+ ? "left-[0.55rem] top-1/2 -translate-y-1/2"
129
+ : positionClass;
130
+ return (_jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute z-20 bg-black", shapeClass, nonIslandPosition) }));
131
+ }
132
+ function PhoneClassicOrnaments({ orientation, accent, }) {
133
+ if (orientation === "portrait") {
134
+ return (_jsxs(_Fragment, { children: [_jsxs("span", { "aria-hidden": "true", className: "pointer-events-none absolute left-1/2 top-4 z-20 flex -translate-x-1/2 items-center gap-2", children: [_jsx("span", { className: "size-1.5 rounded-full bg-neutral-700/80" }), _jsx("span", { className: "h-1.5 w-12 rounded-full bg-neutral-800/80" })] }), _jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute bottom-3 left-1/2 z-20 size-8 -translate-x-1/2 rounded-full border-2", accent, "border-neutral-500/60") })] }));
135
+ }
136
+ return (_jsxs(_Fragment, { children: [_jsxs("span", { "aria-hidden": "true", className: "pointer-events-none absolute left-4 top-1/2 z-20 flex -translate-y-1/2 flex-col items-center gap-2", children: [_jsx("span", { className: "size-1.5 rounded-full bg-neutral-700/80" }), _jsx("span", { className: "h-12 w-1.5 rounded-full bg-neutral-800/80" })] }), _jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute right-3 top-1/2 z-20 size-8 -translate-y-1/2 rounded-full border-2", accent, "border-neutral-500/60") })] }));
137
+ }
138
+ function TabletOrnaments({ accent }) {
139
+ return (_jsx("span", { "aria-hidden": "true", className: cn("pointer-events-none absolute right-3 top-1/2 z-20 size-1.5 -translate-y-1/2 rounded-full", accent) }));
140
+ }
141
+ function LaptopBase({ color }) {
142
+ const palette = deviceBezelPalette[color];
143
+ return (_jsxs("div", { "aria-hidden": "true", "data-slot": "device-frame-laptop-base", className: "pointer-events-none absolute -bottom-[0.9rem] left-1/2 z-30 w-[112%] -translate-x-1/2", children: [_jsx("div", { className: cn("h-2 rounded-b-md border-x border-b", palette.bezel) }), _jsx("div", { className: "mx-auto h-1 w-24 rounded-b-md bg-neutral-600/60 dark:bg-neutral-700/60" })] }));
144
+ }
145
+ const deviceFrameScreenVariants = cva("relative z-10 flex h-full w-full flex-col overflow-hidden bg-background text-foreground", {
146
+ variants: {
147
+ variant: {
148
+ "phone-modern": "rounded-[2.25rem]",
149
+ "phone-classic": "rounded-md",
150
+ tablet: "rounded-[1rem]",
151
+ laptop: "rounded-md",
152
+ },
153
+ },
154
+ defaultVariants: {
155
+ variant: "phone-modern",
156
+ },
157
+ });
158
+ function DeviceFrameScreen({ className, variant = "phone-modern", ref, ...props }) {
159
+ return (_jsx("div", { ref: ref, "data-slot": "device-frame-screen", "data-variant": variant, className: cn(deviceFrameScreenVariants({ variant }), className), ...props }));
160
+ }
161
+ DeviceFrameScreen.displayName = "DeviceFrameScreen";
162
+ function DefaultStatusIcons() {
163
+ return (_jsxs("span", { className: "flex items-center gap-1.5", children: [_jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 16 10", className: "h-2.5 w-3", fill: "currentColor", children: [_jsx("rect", { x: "0", y: "7", width: "2", height: "3", rx: "0.5" }), _jsx("rect", { x: "3.5", y: "5", width: "2", height: "5", rx: "0.5" }), _jsx("rect", { x: "7", y: "3", width: "2", height: "7", rx: "0.5" }), _jsx("rect", { x: "10.5", y: "0", width: "2", height: "10", rx: "0.5" })] }), _jsxs("svg", { "aria-hidden": "true", viewBox: "0 0 16 12", className: "h-2.5 w-3", fill: "none", stroke: "currentColor", strokeWidth: "1.25", strokeLinecap: "round", children: [_jsx("path", { d: "M1 5a10 10 0 0 1 14 0" }), _jsx("path", { d: "M3.5 7.5a6.5 6.5 0 0 1 9 0" }), _jsx("circle", { cx: "8", cy: "10", r: "0.75", fill: "currentColor", stroke: "none" })] }), _jsx("span", { "aria-hidden": "true", className: "ml-0.5 inline-flex h-3 w-6 items-center rounded-[3px] border border-current p-[1px]", children: _jsx("span", { className: "block h-full w-[70%] rounded-[1px] bg-current" }) })] }));
164
+ }
165
+ function DeviceFrameStatusBar({ className, time = "9:41", trailing, compact = false, ref, ...props }) {
166
+ return (_jsxs("div", { ref: ref, "data-slot": "device-frame-status-bar", className: cn("flex w-full shrink-0 items-center justify-between text-[0.7rem] font-semibold text-foreground", compact ? "px-4 py-1" : "px-6 py-2 pt-3", className), ...props, children: [_jsx("span", { className: "tabular-nums", children: time }), trailing ?? _jsx(DefaultStatusIcons, {})] }));
167
+ }
168
+ DeviceFrameStatusBar.displayName = "DeviceFrameStatusBar";
169
+ function DeviceFrameHomeIndicator({ className, ref, ...props }) {
170
+ return (_jsx("div", { ref: ref, "aria-hidden": "true", "data-slot": "device-frame-home-indicator", className: cn("flex w-full shrink-0 items-center justify-center py-2", className), ...props, children: _jsx("span", { className: "h-1 w-1/3 max-w-[8rem] rounded-full bg-foreground/70" }) }));
171
+ }
172
+ DeviceFrameHomeIndicator.displayName = "DeviceFrameHomeIndicator";
173
+ function DeviceFrameContent({ className, ref, ...props }) {
174
+ return (_jsx("div", { ref: ref, "data-slot": "device-frame-content", className: cn("relative flex-1 overflow-hidden", className), ...props }));
175
+ }
176
+ DeviceFrameContent.displayName = "DeviceFrameContent";
177
+ export { DeviceFrame, DeviceFrameScreen, DeviceFrameStatusBar, DeviceFrameHomeIndicator, DeviceFrameContent, deviceFrameVariants, deviceFrameScreenVariants, };
178
+ //# sourceMappingURL=device-frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-frame.js","sourceRoot":"","sources":["../../../../src/components/ui/device-frame/device-frame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./device-frame";
2
+ export type * from "./device-frame";
@@ -0,0 +1,2 @@
1
+ export * from "./device-frame";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/device-frame/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -128,6 +128,8 @@ export * from "./gauge";
128
128
  export type * from "./gauge";
129
129
  export * from "./meter";
130
130
  export type * from "./meter";
131
+ export * from "./segmented-bar";
132
+ export type * from "./segmented-bar";
131
133
  export * from "./breadcrumb";
132
134
  export type * from "./breadcrumb";
133
135
  export * from "./pagination";
@@ -220,6 +222,8 @@ export * from "./browser-frame";
220
222
  export type * from "./browser-frame";
221
223
  export * from "./terminal-frame";
222
224
  export type * from "./terminal-frame";
225
+ export * from "./device-frame";
226
+ export type * from "./device-frame";
223
227
  export * from "./inline-edit";
224
228
  export type * from "./inline-edit";
225
229
  export * from "./split-button";
@@ -63,6 +63,7 @@ export * from "./circular-progress";
63
63
  export * from "./scroll-progress";
64
64
  export * from "./gauge";
65
65
  export * from "./meter";
66
+ export * from "./segmented-bar";
66
67
  export * from "./breadcrumb";
67
68
  export * from "./pagination";
68
69
  export * from "./kbd";
@@ -109,6 +110,7 @@ export * from "./mark";
109
110
  export * from "./http-method-badge";
110
111
  export * from "./browser-frame";
111
112
  export * from "./terminal-frame";
113
+ export * from "./device-frame";
112
114
  export * from "./inline-edit";
113
115
  export * from "./split-button";
114
116
  export * from "./ribbon";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { SegmentedBar, SegmentedBar as default, segmentedBarSizeIds, segmentedBarShapeIds, segmentedBarSegmentColorIds, segmentedBarTrackVariants, } from "./segmented-bar";
2
+ export type * from "./segmented-bar";
@@ -0,0 +1,2 @@
1
+ export { SegmentedBar, SegmentedBar as default, segmentedBarSizeIds, segmentedBarShapeIds, segmentedBarSegmentColorIds, segmentedBarTrackVariants, } from "./segmented-bar";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/segmented-bar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,OAAO,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import type { HTMLAttributes, KeyboardEvent, MouseEvent, ReactElement, ReactNode, Ref } from "react";
3
+ export declare const segmentedBarSizeIds: ["sm", "default", "lg", "xl"];
4
+ export type SegmentedBarSizeId = (typeof segmentedBarSizeIds)[number];
5
+ export declare const segmentedBarShapeIds: ["rounded", "pill", "square"];
6
+ export type SegmentedBarShapeId = (typeof segmentedBarShapeIds)[number];
7
+ /**
8
+ * Preset colours available for segments. Mirrors the palette used by
9
+ * `PieChart` so a `SegmentedBar` and a `PieChart` visualising the same data
10
+ * agree on which slice is which.
11
+ */
12
+ export declare const segmentedBarSegmentColorIds: ["default", "primary", "positive", "warning", "destructive", "muted"];
13
+ export type SegmentedBarSegmentColorId = (typeof segmentedBarSegmentColorIds)[number];
14
+ export declare const segmentedBarTrackVariants: (props?: ({
15
+ size?: "sm" | "default" | "lg" | "xl" | null | undefined;
16
+ shape?: "square" | "rounded" | "pill" | null | undefined;
17
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
+ export interface SegmentedBarSegment {
19
+ /** Stable identifier for the segment. Used as React key and click payload. */
20
+ id: string;
21
+ /** Human-readable label used in the legend and as the segment's `aria-label`. */
22
+ label: string;
23
+ /** Non-negative numeric size. Non-positive values are skipped. */
24
+ value: number;
25
+ /** Preset colour token from the shared palette. Ignored if `fill` is set. */
26
+ color?: SegmentedBarSegmentColorId;
27
+ /**
28
+ * Override the background with a raw CSS colour (e.g. `"#ff0080"` or
29
+ * `"hsl(var(--chart-1))"`). Takes precedence over `color`.
30
+ */
31
+ fill?: string;
32
+ /** Extra classes applied to this segment element. */
33
+ className?: string;
34
+ /** Fired when the segment is clicked or activated via keyboard. */
35
+ onClick?: (segment: SegmentedBarSegment, event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
36
+ }
37
+ /**
38
+ * Args for a custom legend renderer. `total` reflects the effective total
39
+ * (i.e. the `total` prop when supplied, otherwise the sum of segment values).
40
+ */
41
+ export interface SegmentedBarLegendRenderArgs {
42
+ segments: ReadonlyArray<SegmentedBarSegment>;
43
+ total: number;
44
+ /** Sum of `value` across `segments` (may be less than `total`). */
45
+ segmentsTotal: number;
46
+ /** `total - segmentsTotal`, clamped to 0. */
47
+ remainder: number;
48
+ }
49
+ export interface SegmentedBarProps extends Omit<HTMLAttributes<HTMLDivElement>, "children" | "onClick">, VariantProps<typeof segmentedBarTrackVariants> {
50
+ /** Segments to render, left to right. */
51
+ segments: ReadonlyArray<SegmentedBarSegment>;
52
+ /** Accessible label describing what the bar represents. */
53
+ label: string;
54
+ /**
55
+ * Total the segments should be measured against. Defaults to the sum of
56
+ * segment values. When `total` exceeds the sum, the remainder shows as an
57
+ * unfilled tail — useful for quotas (`used + reserved` of a `capacity`).
58
+ */
59
+ total?: number;
60
+ /**
61
+ * Whether to render the built-in legend below the bar. Defaults to `false`.
62
+ * Ignored when `renderLegend` is provided.
63
+ */
64
+ showLegend?: boolean;
65
+ /**
66
+ * Show the value alongside each label in the default legend. Defaults to
67
+ * `true`.
68
+ */
69
+ showLegendValues?: boolean;
70
+ /**
71
+ * Show the percentage share alongside each value in the default legend.
72
+ * Defaults to `false`.
73
+ */
74
+ showLegendPercentages?: boolean;
75
+ /** Unit appended to values in the default legend (e.g. `"GB"`, `"$"`). */
76
+ unit?: string;
77
+ /**
78
+ * Format a segment value shown in the default legend. Return a string or
79
+ * React node. Defaults to `value + unit`.
80
+ */
81
+ formatValue?: (value: number, segment: SegmentedBarSegment) => ReactNode;
82
+ /**
83
+ * Custom legend renderer. Overrides the default legend entirely and
84
+ * bypasses `showLegend`.
85
+ */
86
+ renderLegend?: (args: SegmentedBarLegendRenderArgs) => ReactNode;
87
+ /**
88
+ * Render a thin divider between adjacent segments. Defaults to `true`.
89
+ * Only visible when segments have distinct colours.
90
+ */
91
+ showDividers?: boolean;
92
+ /**
93
+ * When true (default), animates segment widths in on mount using
94
+ * framer-motion. Set to `false` for a static bar.
95
+ */
96
+ animate?: boolean;
97
+ /**
98
+ * Header label rendered above the bar. If omitted, the bar has no visible
99
+ * header (the `label` prop is still announced via `aria-label`).
100
+ */
101
+ headerLabel?: ReactNode;
102
+ /**
103
+ * Value rendered at the end of the header row (e.g. `"84 / 100 GB"`).
104
+ * Only shown when a header label is present.
105
+ */
106
+ headerValue?: ReactNode;
107
+ /** Extra classes for the header row. */
108
+ headerClassName?: string;
109
+ /** Extra classes for the legend wrapper. */
110
+ legendClassName?: string;
111
+ /** Extra classes applied to the bar track element. */
112
+ trackClassName?: string;
113
+ /** Fallback handler invoked for segments without their own `onClick`. */
114
+ onSegmentClick?: (segment: SegmentedBarSegment, event: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void;
115
+ ref?: Ref<HTMLDivElement>;
116
+ }
117
+ declare function SegmentedBar({ segments, label, total, size, shape, showLegend, showLegendValues, showLegendPercentages, unit, formatValue, renderLegend, showDividers, animate, headerLabel, headerValue, className, headerClassName, legendClassName, trackClassName, onSegmentClick, ref, ...props }: SegmentedBarProps): ReactElement;
118
+ declare namespace SegmentedBar {
119
+ var displayName: string;
120
+ }
121
+ export { SegmentedBar };
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { useId } from "react";
5
+ import { m } from "../../../framer-motion";
6
+ import { cn } from "../../../lib/utils";
7
+ export const segmentedBarSizeIds = [
8
+ "sm",
9
+ "default",
10
+ "lg",
11
+ "xl",
12
+ ];
13
+ export const segmentedBarShapeIds = [
14
+ "rounded",
15
+ "pill",
16
+ "square",
17
+ ];
18
+ /**
19
+ * Preset colours available for segments. Mirrors the palette used by
20
+ * `PieChart` so a `SegmentedBar` and a `PieChart` visualising the same data
21
+ * agree on which slice is which.
22
+ */
23
+ export const segmentedBarSegmentColorIds = [
24
+ "default",
25
+ "primary",
26
+ "positive",
27
+ "warning",
28
+ "destructive",
29
+ "muted",
30
+ ];
31
+ const SEGMENT_BG_CLASSES = {
32
+ default: "bg-schemavaults-brand-blue",
33
+ primary: "bg-primary",
34
+ positive: "bg-emerald-500 dark:bg-emerald-400",
35
+ warning: "bg-warning",
36
+ destructive: "bg-destructive",
37
+ muted: "bg-muted-foreground/60",
38
+ };
39
+ /**
40
+ * Fallback colour rotation when a segment doesn't specify its own colour.
41
+ * Index is the segment position in the input array, modulo palette length.
42
+ */
43
+ const DEFAULT_COLOR_ROTATION = [
44
+ "default",
45
+ "positive",
46
+ "warning",
47
+ "destructive",
48
+ "primary",
49
+ "muted",
50
+ ];
51
+ export const segmentedBarTrackVariants = cva("relative isolate flex w-full overflow-hidden bg-secondary", {
52
+ variants: {
53
+ size: {
54
+ sm: "h-1.5",
55
+ default: "h-2.5",
56
+ lg: "h-4",
57
+ xl: "h-6",
58
+ },
59
+ shape: {
60
+ rounded: "rounded-md",
61
+ pill: "rounded-full",
62
+ square: "rounded-none",
63
+ },
64
+ },
65
+ defaultVariants: {
66
+ size: "default",
67
+ shape: "pill",
68
+ },
69
+ });
70
+ function resolveBackground(segment, index) {
71
+ if (segment.fill) {
72
+ return { bgClass: undefined, style: { backgroundColor: segment.fill } };
73
+ }
74
+ const preset = segment.color ??
75
+ DEFAULT_COLOR_ROTATION[index % DEFAULT_COLOR_ROTATION.length];
76
+ return { bgClass: SEGMENT_BG_CLASSES[preset], style: undefined };
77
+ }
78
+ function SegmentedBar({ segments, label, total, size, shape, showLegend = false, showLegendValues = true, showLegendPercentages = false, unit, formatValue, renderLegend, showDividers = true, animate = true, headerLabel, headerValue, className, headerClassName, legendClassName, trackClassName, onSegmentClick, ref, ...props }) {
79
+ const validSegments = segments.filter((s) => Number.isFinite(s.value) && s.value > 0);
80
+ const segmentsTotal = validSegments.reduce((acc, s) => acc + s.value, 0);
81
+ const effectiveTotal = total ?? segmentsTotal;
82
+ const safeTotal = effectiveTotal > 0 ? effectiveTotal : 1;
83
+ const remainder = Math.max(0, effectiveTotal - segmentsTotal);
84
+ const filledPercentage = Math.min(100, (segmentsTotal / safeTotal) * 100);
85
+ const resolvedSegments = validSegments.map((segment, index) => ({
86
+ segment,
87
+ index,
88
+ percentage: (segment.value / safeTotal) * 100,
89
+ ...resolveBackground(segment, index),
90
+ }));
91
+ const titleId = useId();
92
+ const showHeader = headerLabel !== undefined || headerValue !== undefined;
93
+ function handleSegmentClick(segment, event) {
94
+ if (segment.onClick) {
95
+ segment.onClick(segment, event);
96
+ return;
97
+ }
98
+ if (onSegmentClick) {
99
+ onSegmentClick(segment, event);
100
+ }
101
+ }
102
+ const defaultFormatValue = (v, _s) => (_jsxs(_Fragment, { children: [v, unit ? _jsx("span", { className: "ml-0.5 text-muted-foreground", children: unit }) : null] }));
103
+ return (_jsxs("div", { ref: ref, "data-slot": "segmented-bar", className: cn("flex w-full flex-col gap-1.5", className), ...props, children: [showHeader && (_jsxs("div", { className: cn("flex items-baseline justify-between gap-2 text-sm", headerClassName), children: [headerLabel !== undefined && (_jsx("span", { id: titleId, className: "font-medium text-muted-foreground", "data-slot": "segmented-bar-header-label", children: headerLabel })), headerValue !== undefined && (_jsx("span", { className: "font-medium tabular-nums text-foreground", "data-slot": "segmented-bar-header-value", children: headerValue }))] })), _jsx("div", { role: "progressbar", "aria-label": label, "aria-labelledby": headerLabel !== undefined ? titleId : undefined, "aria-valuenow": Math.round(filledPercentage), "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuetext": `${segmentsTotal} of ${effectiveTotal}`, "data-slot": "segmented-bar-track", className: cn(segmentedBarTrackVariants({ size, shape }), trackClassName), children: resolvedSegments.map((r, i) => {
104
+ const isInteractive = r.segment.onClick !== undefined || onSegmentClick !== undefined;
105
+ const showDivider = showDividers && (i > 0 || (remainder > 0 && i === 0 && false));
106
+ const commonClass = cn("h-full min-w-0 first:rounded-l-[inherit]", remainder <= 0 && "last:rounded-r-[inherit]", r.bgClass, showDivider &&
107
+ "border-l border-background/50 dark:border-background/70", isInteractive &&
108
+ "cursor-pointer transition-opacity hover:opacity-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background", r.segment.className);
109
+ const initialWidth = "0%";
110
+ const animatedWidth = `${r.percentage}%`;
111
+ const commonProps = {
112
+ "data-slot": "segmented-bar-segment",
113
+ "data-segment-id": r.segment.id,
114
+ "aria-label": r.segment.label,
115
+ title: r.segment.label,
116
+ style: r.style,
117
+ className: commonClass,
118
+ };
119
+ if (isInteractive) {
120
+ return (_jsx(m.button, { type: "button", onClick: (e) => handleSegmentClick(r.segment, e), onKeyDown: (e) => {
121
+ if (e.key === "Enter" || e.key === " ") {
122
+ e.preventDefault();
123
+ handleSegmentClick(r.segment, e);
124
+ }
125
+ }, initial: animate ? { width: initialWidth } : false, animate: { width: animatedWidth }, transition: { duration: 0.4, ease: "easeOut" }, ...commonProps }, r.segment.id));
126
+ }
127
+ return (_jsx(m.div, { initial: animate ? { width: initialWidth } : false, animate: { width: animatedWidth }, transition: { duration: 0.4, ease: "easeOut" }, ...commonProps }, r.segment.id));
128
+ }) }), renderLegend
129
+ ? renderLegend({
130
+ segments: validSegments,
131
+ total: effectiveTotal,
132
+ segmentsTotal,
133
+ remainder,
134
+ })
135
+ : showLegend && (_jsxs("ul", { "data-slot": "segmented-bar-legend", className: cn("flex flex-wrap items-center gap-x-4 gap-y-1 text-xs", legendClassName), children: [resolvedSegments.map((r) => {
136
+ const pct = safeTotal > 0 ? (r.segment.value / safeTotal) * 100 : 0;
137
+ return (_jsxs("li", { "data-slot": "segmented-bar-legend-item", className: "inline-flex items-center gap-1.5", children: [_jsx("span", { "aria-hidden": "true", className: cn("inline-block size-2.5 shrink-0 rounded-[3px]", r.bgClass), style: r.style }), _jsx("span", { className: "font-medium text-foreground", children: r.segment.label }), showLegendValues && (_jsx("span", { className: "tabular-nums text-muted-foreground", children: formatValue
138
+ ? formatValue(r.segment.value, r.segment)
139
+ : defaultFormatValue(r.segment.value, r.segment) })), showLegendPercentages && (_jsxs("span", { className: "tabular-nums text-muted-foreground", children: ["(", pct.toFixed(pct < 10 ? 1 : 0), "%)"] }))] }, r.segment.id));
140
+ }), remainder > 0 && (_jsxs("li", { "data-slot": "segmented-bar-legend-remainder", className: "inline-flex items-center gap-1.5", children: [_jsx("span", { "aria-hidden": "true", className: "inline-block size-2.5 shrink-0 rounded-[3px] bg-secondary" }), _jsx("span", { className: "font-medium text-muted-foreground", children: "Remaining" }), showLegendValues && (_jsx("span", { className: "tabular-nums text-muted-foreground", children: formatValue
141
+ ? formatValue(remainder, {
142
+ id: "__remainder__",
143
+ label: "Remaining",
144
+ value: remainder,
145
+ })
146
+ : defaultFormatValue(remainder, {
147
+ id: "__remainder__",
148
+ label: "Remaining",
149
+ value: remainder,
150
+ }) }))] }))] }))] }));
151
+ }
152
+ SegmentedBar.displayName = "SegmentedBar";
153
+ export { SegmentedBar };
154
+ //# sourceMappingURL=segmented-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmented-bar.js","sourceRoot":"","sources":["../../../../src/components/ui/segmented-bar/segmented-bar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AASlE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,IAAI;CACuB,CAAC;AAG9B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS;IACT,MAAM;IACN,QAAQ;CACmB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,SAAS;IACT,SAAS;IACT,UAAU;IACV,SAAS;IACT,aAAa;IACb,OAAO;CACoB,CAAC;AAI9B,MAAM,kBAAkB,GAA+C;IACrE,OAAO,EAAE,4BAA4B;IACrC,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,oCAAoC;IAC9C,OAAO,EAAE,YAAY;IACrB,WAAW,EAAE,gBAAgB;IAC7B,KAAK,EAAE,wBAAwB;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,sBAAsB,GAA8C;IACxE,SAAS;IACT,UAAU;IACV,SAAS;IACT,aAAa;IACb,SAAS;IACT,OAAO;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAC1C,2DAA2D,EAC3D;IACE,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,EAAE,EAAE,OAAO;YACX,OAAO,EAAE,OAAO;YAChB,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,KAAK;SACmC;QAC9C,KAAK,EAAE;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,cAAc;SACuB;KAChD;IACD,eAAe,EAAE;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;KACd;CACF,CACF,CAAC;AAwHF,SAAS,iBAAiB,CACxB,OAA4B,EAC5B,KAAa;IAEb,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GACV,OAAO,CAAC,KAAK;QACb,sBAAsB,CAAC,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAE,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,gBAAgB,GAAG,IAAI,EACvB,qBAAqB,GAAG,KAAK,EAC7B,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,YAAY,GAAG,IAAI,EACnB,OAAO,GAAG,IAAI,EACd,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,GAAG,EACH,GAAG,KAAK,EACU;IAClB,MAAM,aAAa,GAAuC,QAAQ,CAAC,MAAM,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAC/C,CAAC;IAEF,MAAM,aAAa,GAAW,aAAa,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EACzB,CAAC,CACF,CAAC;IACF,MAAM,cAAc,GAAW,KAAK,IAAI,aAAa,CAAC;IACtD,MAAM,SAAS,GAAW,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,CAAC;IACtE,MAAM,gBAAgB,GAAW,IAAI,CAAC,GAAG,CACvC,GAAG,EACH,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,GAAG,CAClC,CAAC;IAEF,MAAM,gBAAgB,GAAmC,aAAa,CAAC,GAAG,CACxE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO;QACP,KAAK;QACL,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,GAAG;QAC7C,GAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;KACrC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAW,KAAK,EAAE,CAAC;IAChC,MAAM,UAAU,GAAY,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,CAAC;IAEnF,SAAS,kBAAkB,CACzB,OAA4B,EAC5B,KAA2D;QAE3D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,kBAAkB,GAAG,CACzB,CAAS,EACT,EAAuB,EACZ,EAAE,CAAC,CACd,8BACG,CAAC,EACD,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,IAC1E,CACJ,CAAC;IAEF,OAAO,CACL,eACE,GAAG,EAAE,GAAG,eACE,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,KACpD,KAAK,aAER,UAAU,IAAI,CACb,eACE,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,eAAe,CAChB,aAEA,WAAW,KAAK,SAAS,IAAI,CAC5B,eACE,EAAE,EAAE,OAAO,EACX,SAAS,EAAC,mCAAmC,eACnC,4BAA4B,YAErC,WAAW,GACP,CACR,EACA,WAAW,KAAK,SAAS,IAAI,CAC5B,eACE,SAAS,EAAC,0CAA0C,eAC1C,4BAA4B,YAErC,WAAW,GACP,CACR,IACG,CACP,EACD,cACE,IAAI,EAAC,aAAa,gBACN,KAAK,qBACA,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBACjD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAC5B,CAAC,mBACD,GAAG,oBACF,GAAG,aAAa,OAAO,cAAc,EAAE,eAC7C,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CACX,yBAAyB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAC1C,cAAc,CACf,YAEA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC7B,MAAM,aAAa,GACjB,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC;oBAClE,MAAM,WAAW,GACf,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACjE,MAAM,WAAW,GAAW,EAAE,CAC5B,0CAA0C,EAC1C,SAAS,IAAI,CAAC,IAAI,0BAA0B,EAC5C,CAAC,CAAC,OAAO,EACT,WAAW;wBACT,yDAAyD,EAC3D,aAAa;wBACX,6LAA6L,EAC/L,CAAC,CAAC,OAAO,CAAC,SAAS,CACpB,CAAC;oBACF,MAAM,YAAY,GAAW,IAAI,CAAC;oBAClC,MAAM,aAAa,GAAW,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC;oBACjD,MAAM,WAAW,GAAG;wBAClB,WAAW,EAAE,uBAAuB;wBACpC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;wBAC/B,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;wBAC7B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;wBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EAAE,WAAW;qBACd,CAAC;oBAEX,IAAI,aAAa,EAAE,CAAC;wBAClB,OAAO,CACL,KAAC,CAAC,CAAC,MAAM,IAEP,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAChD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gCACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;oCACvC,CAAC,CAAC,cAAc,EAAE,CAAC;oCACnB,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gCACnC,CAAC;4BACH,CAAC,EACD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,EAClD,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EACjC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAC1C,WAAW,IAZV,CAAC,CAAC,OAAO,CAAC,EAAE,CAajB,CACH,CAAC;oBACJ,CAAC;oBAED,OAAO,CACL,KAAC,CAAC,CAAC,GAAG,IAEJ,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,EAClD,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,EACjC,UAAU,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAC1C,WAAW,IAJV,CAAC,CAAC,OAAO,CAAC,EAAE,CAKjB,CACH,CAAC;gBACJ,CAAC,CAAC,GACE,EACL,YAAY;gBACX,CAAC,CAAC,YAAY,CAAC;oBACX,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE,cAAc;oBACrB,aAAa;oBACb,SAAS;iBACV,CAAC;gBACJ,CAAC,CAAC,UAAU,IAAI,CACZ,2BACY,sBAAsB,EAChC,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,eAAe,CAChB,aAEA,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC1B,MAAM,GAAG,GAAW,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5E,OAAO,CACL,2BAEY,2BAA2B,EACrC,SAAS,EAAC,kCAAkC,aAE5C,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,8CAA8C,EAC9C,CAAC,CAAC,OAAO,CACV,EACD,KAAK,EAAE,CAAC,CAAC,KAAK,GACd,EACF,eAAM,SAAS,EAAC,6BAA6B,YAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,GACX,EACN,gBAAgB,IAAI,CACnB,eAAM,SAAS,EAAC,oCAAoC,YACjD,WAAW;4CACV,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;4CACzC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAC7C,CACR,EACA,qBAAqB,IAAI,CACxB,gBAAM,SAAS,EAAC,oCAAoC,kBAChD,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAC1B,CACR,KA1BI,CAAC,CAAC,OAAO,CAAC,EAAE,CA2Bd,CACN,CAAC;wBACJ,CAAC,CAAC,EACD,SAAS,GAAG,CAAC,IAAI,CAChB,2BACY,gCAAgC,EAC1C,SAAS,EAAC,kCAAkC,aAE5C,8BACc,MAAM,EAClB,SAAS,EAAC,2DAA2D,GACrE,EACF,eAAM,SAAS,EAAC,mCAAmC,0BAE5C,EACN,gBAAgB,IAAI,CACnB,eAAM,SAAS,EAAC,oCAAoC,YACjD,WAAW;wCACV,CAAC,CAAC,WAAW,CAAC,SAAS,EAAE;4CACrB,EAAE,EAAE,eAAe;4CACnB,KAAK,EAAE,WAAW;4CAClB,KAAK,EAAE,SAAS;yCACjB,CAAC;wCACJ,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;4CAC5B,EAAE,EAAE,eAAe;4CACnB,KAAK,EAAE,WAAW;4CAClB,KAAK,EAAE,SAAS;yCACjB,CAAC,GACD,CACR,IACE,CACN,IACE,CACN,IACD,CACP,CAAC;AACJ,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schemavaults/ui",
3
- "version": "0.89.0",
3
+ "version": "0.91.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "description": "React.js UI components for SchemaVaults frontend applications",