@epilot/spark-ui 0.23.2 → 0.24.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/components/accordion.cjs +2 -2
- package/dist/components/accordion.d.ts +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/alert-dialog.cjs +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/attachment.d.cts +1 -1
- package/dist/components/attachment.d.ts +1 -1
- package/dist/components/autocomplete.cjs +2 -2
- package/dist/components/autocomplete.cjs.map +1 -1
- package/dist/components/autocomplete.js +2 -2
- package/dist/components/autocomplete.js.map +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/bar-chart.js +1 -1
- package/dist/components/box.js +1 -1
- package/dist/components/bubble.d.cts +1 -1
- package/dist/components/bubble.d.ts +1 -1
- package/dist/components/button-group.js +1 -1
- package/dist/components/button.d.cts +2 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/callout.cjs +1 -1
- package/dist/components/callout.d.ts +1 -1
- package/dist/components/callout.js +1 -1
- package/dist/components/card.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dropdown-menu.cjs +2 -2
- package/dist/components/dropdown-menu.cjs.map +1 -1
- package/dist/components/dropdown-menu.js +2 -2
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/empty-state.d.ts +1 -1
- package/dist/components/entity-card.d.ts +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/info-block.d.cts +1 -1
- package/dist/components/info-block.d.ts +1 -1
- package/dist/components/input-date.cjs +1 -1
- package/dist/components/input-date.js +1 -1
- package/dist/components/input-otp.cjs +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input.cjs +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/line-chart.cjs +1 -1
- package/dist/components/line-chart.js +2 -2
- package/dist/components/message-scroller.cjs +2 -2
- package/dist/components/message-scroller.js +3 -3
- package/dist/components/page-header.cjs +1 -1
- package/dist/components/page-header.d.cts +1 -1
- package/dist/components/page-header.d.ts +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pill.cjs +1 -1
- package/dist/components/pill.js +2 -2
- package/dist/components/popover.cjs +1 -1
- package/dist/components/popover.cjs.map +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/popover.js.map +1 -1
- package/dist/components/power-history-chart.cjs +1 -1
- package/dist/components/power-history-chart.js +2 -2
- package/dist/components/power-network.cjs +2 -2
- package/dist/components/power-network.js +2 -2
- package/dist/components/radio.js +1 -1
- package/dist/components/schedule-list.cjs +1 -1
- package/dist/components/schedule-list.js +1 -1
- package/dist/components/select.cjs +5 -5
- package/dist/components/select.cjs.map +1 -1
- package/dist/components/select.js +5 -5
- package/dist/components/select.js.map +1 -1
- package/dist/components/sheet.cjs +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/solar-forecast-chart.d.ts +1 -1
- package/dist/components/stepper.cjs +1 -1
- package/dist/components/stepper.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.cjs +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.cjs +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/textarea.cjs +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/theme.js +1 -1
- package/dist/components/toast.cjs +1 -1
- package/dist/components/toast.js +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle.cjs +1 -1
- package/dist/components/toggle.js +2 -2
- package/dist/components/tooltip.cjs +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/trace.cjs +88 -0
- package/dist/components/trace.cjs.map +1 -0
- package/dist/components/trace.d.cts +53 -0
- package/dist/components/trace.d.ts +53 -0
- package/dist/components/trace.js +78 -0
- package/dist/components/trace.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import * as React$1 from "react";
|
|
4
|
+
import { Collapsible } from "@base-ui/react/collapsible";
|
|
5
|
+
|
|
6
|
+
//#region src/components/trace.d.ts
|
|
7
|
+
type TraceStatus = 'running' | 'error' | 'pending';
|
|
8
|
+
declare function Trace({
|
|
9
|
+
className,
|
|
10
|
+
...props
|
|
11
|
+
}: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
declare function TraceLine({
|
|
13
|
+
className,
|
|
14
|
+
status,
|
|
15
|
+
...props
|
|
16
|
+
}: React$1.ComponentProps<'span'> & {
|
|
17
|
+
status?: TraceStatus;
|
|
18
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
declare function TraceIcon({
|
|
20
|
+
className,
|
|
21
|
+
...props
|
|
22
|
+
}: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function TraceTitle({
|
|
24
|
+
className,
|
|
25
|
+
...props
|
|
26
|
+
}: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
declare function TraceDescription({
|
|
28
|
+
className,
|
|
29
|
+
...props
|
|
30
|
+
}: React$1.ComponentProps<'span'>): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
type CollapsibleRootProps = React$1.ComponentProps<typeof Collapsible.Root>;
|
|
32
|
+
declare function TraceCollapsible({
|
|
33
|
+
className,
|
|
34
|
+
...props
|
|
35
|
+
}: Omit<CollapsibleRootProps, 'open'> & ({
|
|
36
|
+
open?: undefined;
|
|
37
|
+
} | {
|
|
38
|
+
open: boolean;
|
|
39
|
+
onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>;
|
|
40
|
+
})): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
declare function TraceCollapsibleTrigger({
|
|
42
|
+
className,
|
|
43
|
+
children,
|
|
44
|
+
...props
|
|
45
|
+
}: React$1.ComponentProps<typeof Collapsible.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
declare function TraceCollapsibleContent({
|
|
47
|
+
className,
|
|
48
|
+
children,
|
|
49
|
+
...props
|
|
50
|
+
}: React$1.ComponentProps<typeof Collapsible.Panel>): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
//#endregion
|
|
52
|
+
export { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, type TraceStatus, TraceTitle };
|
|
53
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../utils/cn.js";
|
|
3
|
+
import { ChevronRight } from "@epilot/spark-icons";
|
|
4
|
+
import "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { Collapsible } from "@base-ui/react/collapsible";
|
|
7
|
+
//#region src/components/trace.tsx
|
|
8
|
+
function Trace({ className, ...props }) {
|
|
9
|
+
return /* @__PURE__ */ jsx("div", {
|
|
10
|
+
"data-slot": "trace",
|
|
11
|
+
className: cn("flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden", className),
|
|
12
|
+
...props
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
function TraceLine({ className, status, ...props }) {
|
|
16
|
+
return /* @__PURE__ */ jsx("span", {
|
|
17
|
+
"data-slot": "trace-line",
|
|
18
|
+
"data-status": status,
|
|
19
|
+
className: cn("flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none", className),
|
|
20
|
+
...props
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function TraceIcon({ className, ...props }) {
|
|
24
|
+
return /* @__PURE__ */ jsx("span", {
|
|
25
|
+
"data-slot": "trace-icon",
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
className: cn("flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1", className),
|
|
28
|
+
...props
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function TraceTitle({ className, ...props }) {
|
|
32
|
+
return /* @__PURE__ */ jsx("span", {
|
|
33
|
+
"data-slot": "trace-title",
|
|
34
|
+
className: cn("min-w-0 truncate", className),
|
|
35
|
+
...props
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function TraceDescription({ className, ...props }) {
|
|
39
|
+
return /* @__PURE__ */ jsx("span", {
|
|
40
|
+
"data-slot": "trace-description",
|
|
41
|
+
className: cn("shrink-0 text-gray-light tabular-nums", className),
|
|
42
|
+
...props
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function TraceCollapsible({ className, ...props }) {
|
|
46
|
+
return /* @__PURE__ */ jsx(Collapsible.Root, {
|
|
47
|
+
"data-slot": "trace-collapsible",
|
|
48
|
+
className: cn("flex w-full min-w-0 flex-col", className),
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function TraceCollapsibleTrigger({ className, children, ...props }) {
|
|
53
|
+
return /* @__PURE__ */ jsxs(Collapsible.Trigger, {
|
|
54
|
+
"data-slot": "trace-collapsible-trigger",
|
|
55
|
+
className: cn("group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none", className),
|
|
56
|
+
...props,
|
|
57
|
+
children: [children, /* @__PURE__ */ jsx(TraceIcon, {
|
|
58
|
+
className: "transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none",
|
|
59
|
+
children: /* @__PURE__ */ jsx(ChevronRight, {})
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function TraceCollapsibleContent({ className, children, ...props }) {
|
|
64
|
+
return /* @__PURE__ */ jsx(Collapsible.Panel, {
|
|
65
|
+
"data-slot": "trace-collapsible-content",
|
|
66
|
+
className: "h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none",
|
|
67
|
+
...props,
|
|
68
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
69
|
+
"data-slot": "trace-collapsible-content-inner",
|
|
70
|
+
className: cn("ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light", className),
|
|
71
|
+
children
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { Trace, TraceCollapsible, TraceCollapsibleContent, TraceCollapsibleTrigger, TraceDescription, TraceIcon, TraceLine, TraceTitle };
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","names":["CollapsiblePrimitive"],"sources":["../../src/components/trace.tsx"],"sourcesContent":["import { Collapsible as CollapsiblePrimitive } from '@base-ui/react/collapsible'\nimport { ChevronRight } from '@epilot/spark-icons'\nimport * as React from 'react'\nimport { cn } from '../utils/cn'\n\ntype TraceStatus = 'running' | 'error' | 'pending'\n\nfunction Trace({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"trace\"\n className={cn(\n 'flex w-full min-w-0 flex-col gap-2 *:has-[>[data-slot=trace-line]]:touch-target *:has-[>[data-slot=trace-line]]:flex *:has-[>[data-slot=trace-line]]:min-h-[1.5rem] *:has-[>[data-slot=trace-line]]:w-fit *:has-[>[data-slot=trace-line]]:max-w-full *:has-[>[data-slot=trace-line]]:min-w-0 *:has-[>[data-slot=trace-line]]:items-center *:has-[>[data-slot=trace-line]]:rounded-md *:has-[>[data-slot=trace-line]]:text-left *:has-[>[data-slot=trace-line]]:focus-visible:ring-2 *:has-[>[data-slot=trace-line]]:focus-visible:ring-offset-2 *:has-[>[data-slot=trace-line]]:focus-visible:outline-hidden',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceLine({\n className,\n status,\n ...props\n}: React.ComponentProps<'span'> & { status?: TraceStatus }) {\n return (\n <span\n data-slot=\"trace-line\"\n data-status={status}\n className={cn(\n 'flex w-fit max-w-full min-w-0 items-center gap-2 text-sm text-gray-light transition-colors in-[a,button]:cursor-pointer in-[a:hover,button:hover]:text-gray data-[status=error]:text-error data-[status=error]:in-[a:hover,button:hover]:text-error data-[status=pending]:*:data-[slot=trace-icon]:opacity-60 data-[status=running]:*:data-[slot=trace-title]:shimmer motion-reduce:transition-none',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceIcon({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-icon\"\n aria-hidden=\"true\"\n className={cn(\n \"flex size-4 shrink-0 items-center justify-center [--spark-icon-size:--spacing(4)] [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=trace-title]~&]:-ml-1\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TraceTitle({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-title\"\n className={cn('min-w-0 truncate', className)}\n {...props}\n />\n )\n}\n\nfunction TraceDescription({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"trace-description\"\n className={cn('shrink-0 text-gray-light tabular-nums', className)}\n {...props}\n />\n )\n}\n\ntype CollapsibleRootProps = React.ComponentProps<\n typeof CollapsiblePrimitive.Root\n>\n\nfunction TraceCollapsible({\n className,\n ...props\n}: Omit<CollapsibleRootProps, 'open'> &\n (\n | { open?: undefined }\n | {\n open: boolean\n onOpenChange: NonNullable<CollapsibleRootProps['onOpenChange']>\n }\n )) {\n return (\n <CollapsiblePrimitive.Root\n data-slot=\"trace-collapsible\"\n className={cn('flex w-full min-w-0 flex-col', className)}\n {...props}\n />\n )\n}\n\nfunction TraceCollapsibleTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger\n data-slot=\"trace-collapsible-trigger\"\n className={cn(\n 'group/trace-collapsible-trigger touch-target flex min-h-[1.5rem] w-fit max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-md text-left text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden has-[[data-status=error]]:text-error motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <TraceIcon className=\"transition-transform group-data-[panel-open]/trace-collapsible-trigger:rotate-90 motion-reduce:transition-none\">\n <ChevronRight />\n </TraceIcon>\n </CollapsiblePrimitive.Trigger>\n )\n}\n\nfunction TraceCollapsibleContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Panel>) {\n return (\n <CollapsiblePrimitive.Panel\n data-slot=\"trace-collapsible-content\"\n className=\"h-(--collapsible-panel-height) min-w-0 overflow-hidden transition-[height] duration-200 data-ending-style:h-0 data-starting-style:h-0 motion-reduce:transition-none\"\n {...props}\n >\n <div\n data-slot=\"trace-collapsible-content-inner\"\n className={cn(\n 'ms-[calc(--spacing(2)-1px)] mt-2 mb-1 min-w-0 border-s border-gray-a6 ps-4 pe-1 text-sm leading-relaxed wrap-break-word text-gray-light',\n className,\n )}\n >\n {children}\n </div>\n </CollapsiblePrimitive.Panel>\n )\n}\n\nexport {\n Trace,\n TraceCollapsible,\n TraceCollapsibleContent,\n TraceCollapsibleTrigger,\n TraceDescription,\n TraceIcon,\n TraceLine,\n TraceTitle,\n type TraceStatus,\n}\n"],"mappings":";;;;;;;AAOA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;CACnE,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,glBACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EACjB,WACA,QACA,GAAG,SACuD;CAC1D,OACE,oBAAC,QAAD;EACE,aAAU;EACV,eAAa;EACb,WAAW,GACT,uYACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAuC;CACxE,OACE,oBAAC,QAAD;EACE,aAAU;EACV,eAAY;EACZ,WAAW,GACT,wLACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAuC;CACzE,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,oBAAoB,SAAS;EAC3C,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC4B;CAC/B,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GAAG,yCAAyC,SAAS;EAChE,GAAI;CACL,CAAA;AAEL;AAMA,SAAS,iBAAiB,EACxB,WACA,GAAG,SAQA;CACH,OACE,oBAACA,YAAqB,MAAtB;EACE,aAAU;EACV,WAAW,GAAG,gCAAgC,SAAS;EACvD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACyD;CAC5D,OACE,qBAACA,YAAqB,SAAtB;EACE,aAAU;EACV,WAAW,GACT,uVACA,SACF;EACA,GAAI;YANN,CAQG,UACD,oBAAC,WAAD;GAAW,WAAU;aACnB,oBAAC,cAAD,CAAe,CAAA;EACN,CAAA,CACiB;;AAElC;AAEA,SAAS,wBAAwB,EAC/B,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAACA,YAAqB,OAAtB;EACE,aAAU;EACV,WAAU;EACV,GAAI;YAEJ,oBAAC,OAAD;GACE,aAAU;GACV,WAAW,GACT,2IACA,SACF;GAEC;EACE,CAAA;CACqB,CAAA;AAEhC"}
|