@assistant-ui/react-o11y 0.0.19 → 0.0.22
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/context/SpanByIndexProvider.js +30 -6
- package/dist/context/SpanByIndexProvider.js.map +1 -1
- package/dist/primitives/span/SpanChildren.js +40 -8
- package/dist/primitives/span/SpanChildren.js.map +1 -1
- package/dist/primitives/span/SpanCollapseToggle.js +34 -10
- package/dist/primitives/span/SpanCollapseToggle.js.map +1 -1
- package/dist/primitives/span/SpanIndent.js +54 -18
- package/dist/primitives/span/SpanIndent.js.map +1 -1
- package/dist/primitives/span/SpanName.js +20 -6
- package/dist/primitives/span/SpanName.js.map +1 -1
- package/dist/primitives/span/SpanRoot.js +43 -14
- package/dist/primitives/span/SpanRoot.js.map +1 -1
- package/dist/primitives/span/SpanStatusIndicator.js +19 -6
- package/dist/primitives/span/SpanStatusIndicator.js.map +1 -1
- package/dist/primitives/span/SpanTypeBadge.js +22 -7
- package/dist/primitives/span/SpanTypeBadge.js.map +1 -1
- package/dist/primitives/span.js.map +1 -1
- package/dist/resources/SpanResource.d.ts +2 -4
- package/dist/resources/SpanResource.d.ts.map +1 -1
- package/dist/resources/SpanResource.js +99 -45
- package/dist/resources/SpanResource.js.map +1 -1
- package/package.json +4 -4
- package/src/resources/SpanResource.tsx +19 -17
|
@@ -1,16 +1,40 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { AuiProvider, Derived, useAui } from "@assistant-ui/store";
|
|
2
3
|
import { jsx } from "react/jsx-runtime";
|
|
3
4
|
//#region src/context/SpanByIndexProvider.tsx
|
|
4
|
-
const SpanByIndexProvider = (
|
|
5
|
+
const SpanByIndexProvider = (t0) => {
|
|
6
|
+
const $ = c(8);
|
|
7
|
+
const { index, children } = t0;
|
|
5
8
|
const parentAui = useAui();
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
let t1;
|
|
10
|
+
if ($[0] !== index || $[1] !== parentAui) {
|
|
11
|
+
t1 = Derived({
|
|
8
12
|
source: "span",
|
|
9
13
|
query: { index },
|
|
10
14
|
get: () => parentAui.span().child({ index })
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
});
|
|
16
|
+
$[0] = index;
|
|
17
|
+
$[1] = parentAui;
|
|
18
|
+
$[2] = t1;
|
|
19
|
+
} else t1 = $[2];
|
|
20
|
+
let t2;
|
|
21
|
+
if ($[3] !== t1) {
|
|
22
|
+
t2 = { span: t1 };
|
|
23
|
+
$[3] = t1;
|
|
24
|
+
$[4] = t2;
|
|
25
|
+
} else t2 = $[4];
|
|
26
|
+
const aui = useAui(t2);
|
|
27
|
+
let t3;
|
|
28
|
+
if ($[5] !== aui || $[6] !== children) {
|
|
29
|
+
t3 = /* @__PURE__ */ jsx(AuiProvider, {
|
|
30
|
+
value: aui,
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
$[5] = aui;
|
|
34
|
+
$[6] = children;
|
|
35
|
+
$[7] = t3;
|
|
36
|
+
} else t3 = $[7];
|
|
37
|
+
return t3;
|
|
14
38
|
};
|
|
15
39
|
//#endregion
|
|
16
40
|
export { SpanByIndexProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanByIndexProvider.js","names":[],"sources":["../../src/context/SpanByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const SpanByIndexProvider: FC<PropsWithChildren<{ index: number }>> = ({\n index,\n children,\n}) => {\n const parentAui = useAui();\n\n const aui = useAui({\n span: Derived({\n source: \"span\",\n query: { index },\n get: () => parentAui.span().child({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanByIndexProvider.js","names":["FC","PropsWithChildren","useAui","AuiProvider","Derived","SpanByIndexProvider","index","t0","$","_c","children","parentAui","t1","source","query","get","span","child","t2","aui","t3"],"sources":["../../src/context/SpanByIndexProvider.tsx"],"sourcesContent":["import type { FC, PropsWithChildren } from \"react\";\nimport { useAui, AuiProvider, Derived } from \"@assistant-ui/store\";\n\nexport const SpanByIndexProvider: FC<PropsWithChildren<{ index: number }>> = ({\n index,\n children,\n}) => {\n const parentAui = useAui();\n\n const aui = useAui({\n span: Derived({\n source: \"span\",\n query: { index },\n get: () => parentAui.span().child({ index }),\n }),\n });\n\n return <AuiProvider value={aui}>{children}</AuiProvider>;\n};\n"],"mappings":";;;;AAGA,MAAaK,uBAAgEE,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAI,aAAAH;CAI5E,MAAAI,YAAkBT,OAAO;CAAE,IAAAU;CAAA,IAAAJ,EAAA,OAAAF,SAAAE,EAAA,OAAAG,WAAA;EAGnBC,KAAAR,QAAQ;GAAAS,QACJ;GAAMC,OACP,EAAAR,MAAQ;GAACS,WACLJ,UAASK,KAAM,CAAC,CAAAC,MAAO,EAAAX,MAAQ,CAAC;EAC7C,CAAC;EAACE,EAAA,KAAAF;EAAAE,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,IAAAU;CAAA,IAAAV,EAAA,OAAAI,IAAA;EALeM,KAAA,EAAAF,MACXJ,GAKR;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAND,MAAAW,MAAYjB,OAAOgB,EAMlB;CAAE,IAAAE;CAAA,IAAAZ,EAAA,OAAAW,OAAAX,EAAA,OAAAE,UAAA;EAEIU,KAAA,oBAAC,aAAD;GAAoBD,OAAAA;GAAMT;EAAd,CAAA;EAAqCF,EAAA,KAAAW;EAAAX,EAAA,KAAAE;EAAAF,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAAjDY;AAAiD"}
|
|
@@ -1,13 +1,29 @@
|
|
|
1
1
|
import { SpanByIndexProvider } from "../../context/SpanByIndexProvider.js";
|
|
2
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
2
3
|
import { memo, useMemo } from "@assistant-ui/tap/react-shim";
|
|
3
4
|
import { RenderChildrenWithAccessor, useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanChildren.tsx
|
|
6
|
-
const SpanPrimitiveChildByIndex = memo((
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const SpanPrimitiveChildByIndex = memo((t0) => {
|
|
8
|
+
const $ = c(5);
|
|
9
|
+
const { index, components } = t0;
|
|
10
|
+
let t1;
|
|
11
|
+
if ($[0] !== components.Span) {
|
|
12
|
+
t1 = /* @__PURE__ */ jsx(components.Span, {});
|
|
13
|
+
$[0] = components.Span;
|
|
14
|
+
$[1] = t1;
|
|
15
|
+
} else t1 = $[1];
|
|
16
|
+
let t2;
|
|
17
|
+
if ($[2] !== index || $[3] !== t1) {
|
|
18
|
+
t2 = /* @__PURE__ */ jsx(SpanByIndexProvider, {
|
|
19
|
+
index,
|
|
20
|
+
children: t1
|
|
21
|
+
});
|
|
22
|
+
$[2] = index;
|
|
23
|
+
$[3] = t1;
|
|
24
|
+
$[4] = t2;
|
|
25
|
+
} else t2 = $[4];
|
|
26
|
+
return t2;
|
|
11
27
|
}, (prev, next) => prev.index === next.index && prev.components.Span === next.components.Span);
|
|
12
28
|
SpanPrimitiveChildByIndex.displayName = "SpanPrimitive.ChildByIndex";
|
|
13
29
|
const SpanPrimitiveChildrenInner = ({ children }) => {
|
|
@@ -25,9 +41,25 @@ const SpanPrimitiveChildrenInner = ({ children }) => {
|
|
|
25
41
|
}, index));
|
|
26
42
|
}, [childrenLength, children]);
|
|
27
43
|
};
|
|
28
|
-
const SpanPrimitiveChildrenImpl = (
|
|
29
|
-
|
|
30
|
-
|
|
44
|
+
const SpanPrimitiveChildrenImpl = (t0) => {
|
|
45
|
+
const $ = c(4);
|
|
46
|
+
const { components, children } = t0;
|
|
47
|
+
if (components) {
|
|
48
|
+
let t1;
|
|
49
|
+
if ($[0] !== components.Span) {
|
|
50
|
+
t1 = /* @__PURE__ */ jsx(SpanPrimitiveChildrenInner, { children: () => /* @__PURE__ */ jsx(components.Span, {}) });
|
|
51
|
+
$[0] = components.Span;
|
|
52
|
+
$[1] = t1;
|
|
53
|
+
} else t1 = $[1];
|
|
54
|
+
return t1;
|
|
55
|
+
}
|
|
56
|
+
let t1;
|
|
57
|
+
if ($[2] !== children) {
|
|
58
|
+
t1 = /* @__PURE__ */ jsx(SpanPrimitiveChildrenInner, { children });
|
|
59
|
+
$[2] = children;
|
|
60
|
+
$[3] = t1;
|
|
61
|
+
} else t1 = $[3];
|
|
62
|
+
return t1;
|
|
31
63
|
};
|
|
32
64
|
const SpanPrimitiveChildren = memo(SpanPrimitiveChildrenImpl, (prev, next) => {
|
|
33
65
|
if (prev.children || next.children) return prev.children === next.children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanChildren.js","names":[],"sources":["../../../src/primitives/span/SpanChildren.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { SpanState } from \"../../o11y-scope\";\nimport { SpanByIndexProvider } from \"../../context/SpanByIndexProvider\";\n\ntype SpanChildrenComponentConfig = {\n Span: ComponentType;\n};\n\nexport namespace SpanPrimitiveChildren {\n export type Props =\n | {\n components: SpanChildrenComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each child span. Receives the span. */\n children: (value: { span: SpanState }) => ReactNode;\n components?: never;\n };\n}\n\nexport namespace SpanPrimitiveChildByIndex {\n export type Props = {\n index: number;\n components: SpanChildrenComponentConfig;\n };\n}\n\nexport const SpanPrimitiveChildByIndex: FC<SpanPrimitiveChildByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <SpanByIndexProvider index={index}>\n <components.Span />\n </SpanByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components.Span === next.components.Span,\n );\n\nSpanPrimitiveChildByIndex.displayName = \"SpanPrimitive.ChildByIndex\";\n\nconst SpanPrimitiveChildrenInner: FC<{\n children: (value: { span: SpanState }) => ReactNode;\n}> = ({ children }) => {\n const childrenLength = useAuiState((s) => s.span.children.length);\n\n return useMemo(() => {\n if (childrenLength === 0) return null;\n return Array.from({ length: childrenLength }, (_, index) => (\n <SpanByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.span().getState()}\n >\n {(getItem) =>\n children({\n get span() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </SpanByIndexProvider>\n ));\n }, [childrenLength, children]);\n};\n\nconst SpanPrimitiveChildrenImpl: FC<SpanPrimitiveChildren.Props> = ({\n components,\n children,\n}) => {\n if (components) {\n return (\n <SpanPrimitiveChildrenInner>\n {() => <components.Span />}\n </SpanPrimitiveChildrenInner>\n );\n }\n return <SpanPrimitiveChildrenInner>{children}</SpanPrimitiveChildrenInner>;\n};\n\nexport const SpanPrimitiveChildren: FC<SpanPrimitiveChildren.Props> = memo(\n SpanPrimitiveChildrenImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return prev.components!.Span === next.components!.Span;\n },\n);\n\nSpanPrimitiveChildren.displayName = \"SpanPrimitive.Children\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanChildren.js","names":["ComponentType","FC","ReactNode","memo","useMemo","RenderChildrenWithAccessor","useAuiState","SpanState","SpanByIndexProvider","SpanChildrenComponentConfig","Span","SpanPrimitiveChildren","Props","components","children","value","span","SpanPrimitiveChildByIndex","index","t0","$","_c","t1","t2","prev","next","displayName","SpanPrimitiveChildrenInner","childrenLength","s","length","Array","from","_","aui","getState","getItem","SpanPrimitiveChildrenImpl"],"sources":["../../../src/primitives/span/SpanChildren.tsx"],"sourcesContent":["import {\n type ComponentType,\n type FC,\n type ReactNode,\n memo,\n useMemo,\n} from \"react\";\nimport { RenderChildrenWithAccessor, useAuiState } from \"@assistant-ui/store\";\nimport type { SpanState } from \"../../o11y-scope\";\nimport { SpanByIndexProvider } from \"../../context/SpanByIndexProvider\";\n\ntype SpanChildrenComponentConfig = {\n Span: ComponentType;\n};\n\nexport namespace SpanPrimitiveChildren {\n export type Props =\n | {\n components: SpanChildrenComponentConfig;\n children?: never;\n }\n | {\n /** Render function called for each child span. Receives the span. */\n children: (value: { span: SpanState }) => ReactNode;\n components?: never;\n };\n}\n\nexport namespace SpanPrimitiveChildByIndex {\n export type Props = {\n index: number;\n components: SpanChildrenComponentConfig;\n };\n}\n\nexport const SpanPrimitiveChildByIndex: FC<SpanPrimitiveChildByIndex.Props> =\n memo(\n ({ index, components }) => {\n return (\n <SpanByIndexProvider index={index}>\n <components.Span />\n </SpanByIndexProvider>\n );\n },\n (prev, next) =>\n prev.index === next.index &&\n prev.components.Span === next.components.Span,\n );\n\nSpanPrimitiveChildByIndex.displayName = \"SpanPrimitive.ChildByIndex\";\n\nconst SpanPrimitiveChildrenInner: FC<{\n children: (value: { span: SpanState }) => ReactNode;\n}> = ({ children }) => {\n const childrenLength = useAuiState((s) => s.span.children.length);\n\n return useMemo(() => {\n if (childrenLength === 0) return null;\n return Array.from({ length: childrenLength }, (_, index) => (\n <SpanByIndexProvider key={index} index={index}>\n <RenderChildrenWithAccessor\n getItemState={(aui) => aui.span().getState()}\n >\n {(getItem) =>\n children({\n get span() {\n return getItem();\n },\n })\n }\n </RenderChildrenWithAccessor>\n </SpanByIndexProvider>\n ));\n }, [childrenLength, children]);\n};\n\nconst SpanPrimitiveChildrenImpl: FC<SpanPrimitiveChildren.Props> = ({\n components,\n children,\n}) => {\n if (components) {\n return (\n <SpanPrimitiveChildrenInner>\n {() => <components.Span />}\n </SpanPrimitiveChildrenInner>\n );\n }\n return <SpanPrimitiveChildrenInner>{children}</SpanPrimitiveChildrenInner>;\n};\n\nexport const SpanPrimitiveChildren: FC<SpanPrimitiveChildren.Props> = memo(\n SpanPrimitiveChildrenImpl,\n (prev, next) => {\n if (prev.children || next.children) {\n return prev.children === next.children;\n }\n return prev.components!.Span === next.components!.Span;\n },\n);\n\nSpanPrimitiveChildren.displayName = \"SpanPrimitive.Children\";\n"],"mappings":";;;;;;AAmCA,MAAaiB,4BACXd,MACEgB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAH,OAAAL,eAAAM;CAAqB,IAAAG;CAAA,IAAAF,EAAA,OAAAP,WAAAH,MAAA;EAGhBY,KAAA,oBAAA,WAAA,MAAA,CAAA,CAAA;EAAmBF,EAAA,KAAAP,WAAAH;EAAAU,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,IAAAG;CAAA,IAAAH,EAAA,OAAAF,SAAAE,EAAA,OAAAE,IAAA;EADrBC,KAAA,oBAAC,qBAAD;GAA4BL;aAC1BI;EADkB,CAAA;EAEEF,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAA,OAFtBG;AAEsB,IAGzBC,MAAMC,SACLD,KAAKN,UAAUO,KAAKP,SACpBM,KAAKX,WAAWH,SAASe,KAAKZ,WAAWH,IAC7C;AAEFO,0BAA0BS,cAAc;AAExC,MAAMC,8BAEA,EAAEb,eAAe;CACrB,MAAMc,iBAAiBtB,aAAauB,MAAMA,EAAEb,KAAKF,SAASgB,MAAM;CAEhE,OAAO1B,cAAc;EACnB,IAAIwB,mBAAmB,GAAG,OAAO;EACjC,OAAOG,MAAMC,KAAK,EAAEF,QAAQF,eAAe,IAAIK,GAAGf,UAChD,oBAAC,qBAAD;GAAwCA;aACtC,oBAAC,4BAAD;IACE,eAAegB,QAAQA,IAAIlB,KAAK,CAAC,CAACmB,SAAS;eAEzCC,YACAtB,SAAS,EACP,IAAIE,OAAO;KACT,OAAOoB,QAAQ;IACjB,EACF,CAAC;GAEuB,CAAA;EACT,GAZKlB,KAYL,CACtB;CACH,GAAG,CAACU,gBAAgBd,QAAQ,CAAC;AAC/B;AAEA,MAAMuB,6BAA6DlB,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CAAC,MAAA,EAAAR,YAAAC,aAAAK;CAIlE,IAAIN,YAAU;EAAA,IAAAS;EAAA,IAAAF,EAAA,OAAAP,WAAAH,MAAA;GAEVY,KAAA,oBAAC,4BAAD,EAAA,gBACS,oBAAA,WAAA,MAAA,CAAA,CAAA,EADkB,CAAA;GAEEF,EAAA,KAAAP,WAAAH;GAAAU,EAAA,KAAAE;EAAA,OAAAA,KAAAF,EAAA;EAAA,OAF7BE;CAE6B;CAEhC,IAAAA;CAAA,IAAAF,EAAA,OAAAN,UAAA;EACMQ,KAAA,oBAAC,4BAAD,EAA6BR,SAAF,CAAA;EAAwCM,EAAA,KAAAN;EAAAM,EAAA,KAAAE;CAAA,OAAAA,KAAAF,EAAA;CAAA,OAAnEE;AAAmE;AAG5E,MAAaX,wBAAyDR,KACpEkC,4BACCb,MAAMC,SAAS;CACd,IAAID,KAAKV,YAAYW,KAAKX,UACxB,OAAOU,KAAKV,aAAaW,KAAKX;CAEhC,OAAOU,KAAKX,WAAYH,SAASe,KAAKZ,WAAYH;AACpD,CACF;AAEAC,sBAAsBe,cAAc"}
|
|
@@ -1,26 +1,50 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAui, useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanCollapseToggle.tsx
|
|
6
7
|
const SpanPrimitiveCollapseToggle = forwardRef((props, ref) => {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
8
|
+
const $ = c(8);
|
|
9
|
+
const hasChildren = useAuiState(_temp);
|
|
10
|
+
const isCollapsed = useAuiState(_temp2);
|
|
9
11
|
const aui = useAui();
|
|
10
12
|
if (!hasChildren) return null;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
ref,
|
|
15
|
-
"data-collapsed": isCollapsed,
|
|
16
|
-
onClick: (e) => {
|
|
13
|
+
let t0;
|
|
14
|
+
if ($[0] !== aui || $[1] !== props) {
|
|
15
|
+
t0 = (e) => {
|
|
17
16
|
e.stopPropagation();
|
|
18
17
|
aui.span().toggleCollapse();
|
|
19
18
|
props.onClick?.(e);
|
|
20
|
-
}
|
|
21
|
-
|
|
19
|
+
};
|
|
20
|
+
$[0] = aui;
|
|
21
|
+
$[1] = props;
|
|
22
|
+
$[2] = t0;
|
|
23
|
+
} else t0 = $[2];
|
|
24
|
+
let t1;
|
|
25
|
+
if ($[3] !== isCollapsed || $[4] !== props || $[5] !== ref || $[6] !== t0) {
|
|
26
|
+
t1 = /* @__PURE__ */ jsx(Primitive.button, {
|
|
27
|
+
type: "button",
|
|
28
|
+
...props,
|
|
29
|
+
ref,
|
|
30
|
+
"data-collapsed": isCollapsed,
|
|
31
|
+
onClick: t0
|
|
32
|
+
});
|
|
33
|
+
$[3] = isCollapsed;
|
|
34
|
+
$[4] = props;
|
|
35
|
+
$[5] = ref;
|
|
36
|
+
$[6] = t0;
|
|
37
|
+
$[7] = t1;
|
|
38
|
+
} else t1 = $[7];
|
|
39
|
+
return t1;
|
|
22
40
|
});
|
|
23
41
|
SpanPrimitiveCollapseToggle.displayName = "SpanPrimitive.CollapseToggle";
|
|
42
|
+
function _temp(s) {
|
|
43
|
+
return s.span.hasChildren;
|
|
44
|
+
}
|
|
45
|
+
function _temp2(s_0) {
|
|
46
|
+
return s_0.span.isCollapsed;
|
|
47
|
+
}
|
|
24
48
|
//#endregion
|
|
25
49
|
export { SpanPrimitiveCollapseToggle };
|
|
26
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanCollapseToggle.js","names":[],"sources":["../../../src/primitives/span/SpanCollapseToggle.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveCollapseToggle {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button>;\n}\n\nexport const SpanPrimitiveCollapseToggle = forwardRef<\n SpanPrimitiveCollapseToggle.Element,\n SpanPrimitiveCollapseToggle.Props\n>((props, ref) => {\n const hasChildren = useAuiState((s) => s.span.hasChildren);\n const isCollapsed = useAuiState((s) => s.span.isCollapsed);\n const aui = useAui();\n\n if (!hasChildren) return null;\n\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={ref}\n data-collapsed={isCollapsed}\n onClick={(e) => {\n e.stopPropagation();\n aui.span().toggleCollapse();\n props.onClick?.(e);\n }}\n />\n );\n});\n\nSpanPrimitiveCollapseToggle.displayName = \"SpanPrimitive.CollapseToggle\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanCollapseToggle.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAui","useAuiState","SpanPrimitiveCollapseToggle","Element","button","Props","props","ref","$","_c","hasChildren","_temp","isCollapsed","_temp2","aui","t0","e","stopPropagation","span","toggleCollapse","onClick","t1","displayName","s","s_0"],"sources":["../../../src/primitives/span/SpanCollapseToggle.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAui, useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveCollapseToggle {\n export type Element = ComponentRef<typeof Primitive.button>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.button>;\n}\n\nexport const SpanPrimitiveCollapseToggle = forwardRef<\n SpanPrimitiveCollapseToggle.Element,\n SpanPrimitiveCollapseToggle.Props\n>((props, ref) => {\n const hasChildren = useAuiState((s) => s.span.hasChildren);\n const isCollapsed = useAuiState((s) => s.span.isCollapsed);\n const aui = useAui();\n\n if (!hasChildren) return null;\n\n return (\n <Primitive.button\n type=\"button\"\n {...props}\n ref={ref}\n data-collapsed={isCollapsed}\n onClick={(e) => {\n e.stopPropagation();\n aui.span().toggleCollapse();\n props.onClick?.(e);\n }}\n />\n );\n});\n\nSpanPrimitiveCollapseToggle.displayName = \"SpanPrimitive.CollapseToggle\";\n"],"mappings":";;;;;;AAaA,MAAaM,8BAA8BJ,YAGzCQ,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,cAAoBT,YAAYU,KAAyB;CACzD,MAAAC,cAAoBX,YAAYY,MAAyB;CACzD,MAAAC,MAAYd,OAAO;CAEnB,IAAI,CAACU,aAAW,OAAS;CAAK,IAAAK;CAAA,IAAAP,EAAA,OAAAM,OAAAN,EAAA,OAAAF,OAAA;EAQjBS,MAAAC,MAAA;GACPA,EAACC,gBAAiB;GAClBH,IAAGI,KAAM,CAAC,CAAAC,eAAgB;GAC1Bb,MAAKc,UAAWJ,CAAC;EAAC;EACnBR,EAAA,KAAAM;EAAAN,EAAA,KAAAF;EAAAE,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,IAAAa;CAAA,IAAAb,EAAA,OAAAI,eAAAJ,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAO,IAAA;EATHM,KAAA,oBAAA,UAAA,QAAA;GACO,MAAA;GAAQ,GACTf;GACCC;GACWK,kBAAAA;GACP,SAAAG;EAIR,CAAA;EACDP,EAAA,KAAAI;EAAAJ,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAO;EAAAP,EAAA,KAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OAVFa;AAUE,CAEL;AAEDnB,4BAA4BoB,cAAc;AAtBxC,SAAAX,MAAAY,GAAA;CAAA,OACuCA,EAACL,KAAKR;AAAY;AADzD,SAAAG,OAAAW,KAAA;CAAA,OAEuCD,IAACL,KAAKN;AAAY"}
|
|
@@ -1,27 +1,63 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
2
|
+
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanIndent.tsx
|
|
6
|
-
const SpanPrimitiveIndent = forwardRef((
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
baseIndent,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
7
|
+
const SpanPrimitiveIndent = forwardRef((t0, ref) => {
|
|
8
|
+
const $ = c(13);
|
|
9
|
+
let props;
|
|
10
|
+
let style;
|
|
11
|
+
let t1;
|
|
12
|
+
let t2;
|
|
13
|
+
if ($[0] !== t0) {
|
|
14
|
+
({baseIndent: t1, indentPerLevel: t2, style, ...props} = t0);
|
|
15
|
+
$[0] = t0;
|
|
16
|
+
$[1] = props;
|
|
17
|
+
$[2] = style;
|
|
18
|
+
$[3] = t1;
|
|
19
|
+
$[4] = t2;
|
|
20
|
+
} else {
|
|
21
|
+
props = $[1];
|
|
22
|
+
style = $[2];
|
|
23
|
+
t1 = $[3];
|
|
24
|
+
t2 = $[4];
|
|
25
|
+
}
|
|
26
|
+
const baseIndent = t1 === void 0 ? 8 : t1;
|
|
27
|
+
const indentPerLevel = t2 === void 0 ? 12 : t2;
|
|
28
|
+
const depth = useAuiState(_temp);
|
|
29
|
+
const t3 = baseIndent + depth * indentPerLevel;
|
|
30
|
+
let t4;
|
|
31
|
+
if ($[5] !== style || $[6] !== t3) {
|
|
32
|
+
t4 = {
|
|
33
|
+
...style,
|
|
34
|
+
paddingLeft: t3
|
|
35
|
+
};
|
|
36
|
+
$[5] = style;
|
|
37
|
+
$[6] = t3;
|
|
38
|
+
$[7] = t4;
|
|
39
|
+
} else t4 = $[7];
|
|
40
|
+
const mergedStyle = t4;
|
|
41
|
+
let t5;
|
|
42
|
+
if ($[8] !== depth || $[9] !== mergedStyle || $[10] !== props || $[11] !== ref) {
|
|
43
|
+
t5 = /* @__PURE__ */ jsx(Primitive.div, {
|
|
44
|
+
...props,
|
|
45
|
+
ref,
|
|
46
|
+
style: mergedStyle,
|
|
47
|
+
"data-span-depth": depth
|
|
48
|
+
});
|
|
49
|
+
$[8] = depth;
|
|
50
|
+
$[9] = mergedStyle;
|
|
51
|
+
$[10] = props;
|
|
52
|
+
$[11] = ref;
|
|
53
|
+
$[12] = t5;
|
|
54
|
+
} else t5 = $[12];
|
|
55
|
+
return t5;
|
|
23
56
|
});
|
|
24
57
|
SpanPrimitiveIndent.displayName = "SpanPrimitive.Indent";
|
|
58
|
+
function _temp(s) {
|
|
59
|
+
return s.span.depth;
|
|
60
|
+
}
|
|
25
61
|
//#endregion
|
|
26
62
|
export { SpanPrimitiveIndent };
|
|
27
63
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanIndent.js","names":[],"sources":["../../../src/primitives/span/SpanIndent.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveIndent {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n baseIndent?: number;\n indentPerLevel?: number;\n };\n}\n\nexport const SpanPrimitiveIndent = forwardRef<\n SpanPrimitiveIndent.Element,\n SpanPrimitiveIndent.Props\n>(({ baseIndent = 8, indentPerLevel = 12, style, ...props }, ref) => {\n const depth = useAuiState((s) => s.span.depth);\n\n const mergedStyle = useMemo(\n () => ({\n ...style,\n paddingLeft: baseIndent + depth * indentPerLevel,\n }),\n [style, baseIndent, depth, indentPerLevel],\n );\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-depth={depth}\n />\n );\n});\n\nSpanPrimitiveIndent.displayName = \"SpanPrimitive.Indent\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanIndent.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","useMemo","Primitive","useAuiState","SpanPrimitiveIndent","Element","div","Props","baseIndent","indentPerLevel","t0","ref","$","_c","props","style","t1","t2","undefined","depth","_temp","t3","t4","paddingLeft","mergedStyle","t5","displayName","s","span"],"sources":["../../../src/primitives/span/SpanIndent.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n useMemo,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveIndent {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div> & {\n baseIndent?: number;\n indentPerLevel?: number;\n };\n}\n\nexport const SpanPrimitiveIndent = forwardRef<\n SpanPrimitiveIndent.Element,\n SpanPrimitiveIndent.Props\n>(({ baseIndent = 8, indentPerLevel = 12, style, ...props }, ref) => {\n const depth = useAuiState((s) => s.span.depth);\n\n const mergedStyle = useMemo(\n () => ({\n ...style,\n paddingLeft: baseIndent + depth * indentPerLevel,\n }),\n [style, baseIndent, depth, indentPerLevel],\n );\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n style={mergedStyle}\n data-span-depth={depth}\n />\n );\n});\n\nSpanPrimitiveIndent.displayName = \"SpanPrimitive.Indent\";\n"],"mappings":";;;;;;AAiBA,MAAaM,sBAAsBJ,YAGjCU,IAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAL,EAAA,OAAAF,IAAA;EAAC,CAAA,CAAAF,YAAAQ,IAAAP,gBAAAQ,IAAAF,UAAAD,SAAAJ;EAAwDE,EAAA,KAAAF;EAAAE,EAAA,KAAAE;EAAAF,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAA;EAAAH,QAAAF,EAAA;EAAAG,QAAAH,EAAA;EAAAI,KAAAJ,EAAA;EAAAK,KAAAL,EAAA;CAAA;CAAtD,MAAAJ,aAAAQ,OAAAE,KAAAA,IAAA,IAAAF;CAAgB,MAAAP,iBAAAQ,OAAAC,KAAAA,IAAA,KAAAD;CACnB,MAAAE,QAAchB,YAAYiB,KAAmB;CAK5B,MAAAC,KAAAb,aAAaW,QAAQV;CAAc,IAAAa;CAAA,IAAAV,EAAA,OAAAG,SAAAH,EAAA,OAAAS,IAAA;EAF3CC,KAAA;GAAA,GACFP;GAAKQ,aACKF;EACf;EAACT,EAAA,KAAAG;EAAAH,EAAA,KAAAS;EAAAT,EAAA,KAAAU;CAAA,OAAAA,KAAAV,EAAA;CAJH,MAAAY,cACSF;CAKP,IAAAG;CAAA,IAAAb,EAAA,OAAAO,SAAAP,EAAA,OAAAY,eAAAZ,EAAA,QAAAE,SAAAF,EAAA,QAAAD,KAAA;EAGAc,KAAA,oBAAA,UAAA,KAAA;GAAA,GACMX;GACCH;GACEa,OAAAA;GACUL,mBAAAA;EAAK,CAAA;EACtBP,EAAA,KAAAO;EAAAP,EAAA,KAAAY;EAAAZ,EAAA,MAAAE;EAAAF,EAAA,MAAAD;EAAAC,EAAA,MAAAa;CAAA,OAAAA,KAAAb,EAAA;CAAA,OALFa;AAKE,CAEL;AAEDrB,oBAAoBsB,cAAc;AArBhC,SAAAN,MAAAO,GAAA;CAAA,OACiCA,EAACC,KAAKT;AAAM"}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanName.tsx
|
|
6
7
|
const SpanPrimitiveName = forwardRef((props, ref) => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const $ = c(4);
|
|
9
|
+
const name = useAuiState(_temp);
|
|
10
|
+
const t0 = props.children ?? name;
|
|
11
|
+
let t1;
|
|
12
|
+
if ($[0] !== props || $[1] !== ref || $[2] !== t0) {
|
|
13
|
+
t1 = /* @__PURE__ */ jsx(Primitive.span, {
|
|
14
|
+
...props,
|
|
15
|
+
ref,
|
|
16
|
+
children: t0
|
|
17
|
+
});
|
|
18
|
+
$[0] = props;
|
|
19
|
+
$[1] = ref;
|
|
20
|
+
$[2] = t0;
|
|
21
|
+
$[3] = t1;
|
|
22
|
+
} else t1 = $[3];
|
|
23
|
+
return t1;
|
|
13
24
|
});
|
|
14
25
|
SpanPrimitiveName.displayName = "SpanPrimitive.Name";
|
|
26
|
+
function _temp(s) {
|
|
27
|
+
return s.span.name;
|
|
28
|
+
}
|
|
15
29
|
//#endregion
|
|
16
30
|
export { SpanPrimitiveName };
|
|
17
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanName.js","names":[],"sources":["../../../src/primitives/span/SpanName.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveName {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveName = forwardRef<\n SpanPrimitiveName.Element,\n SpanPrimitiveName.Props\n>((props, ref) => {\n const name = useAuiState((s) => s.span.name);\n\n return (\n <Primitive.span {...props} ref={ref}>\n {props.children ?? name}\n </Primitive.span>\n );\n});\n\nSpanPrimitiveName.displayName = \"SpanPrimitive.Name\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanName.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAuiState","SpanPrimitiveName","Element","span","Props","props","ref","$","_c","name","_temp","t0","children","t1","displayName","s"],"sources":["../../../src/primitives/span/SpanName.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveName {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveName = forwardRef<\n SpanPrimitiveName.Element,\n SpanPrimitiveName.Props\n>((props, ref) => {\n const name = useAuiState((s) => s.span.name);\n\n return (\n <Primitive.span {...props} ref={ref}>\n {props.children ?? name}\n </Primitive.span>\n );\n});\n\nSpanPrimitiveName.displayName = \"SpanPrimitive.Name\";\n"],"mappings":";;;;;;AAaA,MAAaK,oBAAoBH,YAG/BO,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,OAAaT,YAAYU,KAAkB;CAItC,MAAAC,KAAAN,MAAKO,YAALH;CAAsB,IAAAI;CAAA,IAAAN,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAI,IAAA;EADzBE,KAAA,oBAAA,UAAA,MAAA;GAAA,GAAoBR;GAAYC;aAC7BK;EACH,CAAA;EAAiBJ,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAI;EAAAJ,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAFjBM;AAEiB,CAEpB;AAEDZ,kBAAkBa,cAAc;AAV9B,SAAAJ,MAAAK,GAAA;CAAA,OACgCA,EAACZ,KAAKM;AAAK"}
|
|
@@ -1,25 +1,54 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanRoot.tsx
|
|
6
7
|
const SpanPrimitiveRoot = forwardRef((props, ref) => {
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
const $ = c(8);
|
|
9
|
+
const spanId = useAuiState(_temp);
|
|
10
|
+
const status = useAuiState(_temp2);
|
|
11
|
+
const type = useAuiState(_temp3);
|
|
12
|
+
const depth = useAuiState(_temp4);
|
|
13
|
+
const isCollapsed = useAuiState(_temp5);
|
|
14
|
+
let t0;
|
|
15
|
+
if ($[0] !== depth || $[1] !== isCollapsed || $[2] !== props || $[3] !== ref || $[4] !== spanId || $[5] !== status || $[6] !== type) {
|
|
16
|
+
t0 = /* @__PURE__ */ jsx(Primitive.div, {
|
|
17
|
+
...props,
|
|
18
|
+
ref,
|
|
19
|
+
"data-span-id": spanId,
|
|
20
|
+
"data-span-status": status,
|
|
21
|
+
"data-span-type": type,
|
|
22
|
+
"data-span-depth": depth,
|
|
23
|
+
"data-collapsed": isCollapsed
|
|
24
|
+
});
|
|
25
|
+
$[0] = depth;
|
|
26
|
+
$[1] = isCollapsed;
|
|
27
|
+
$[2] = props;
|
|
28
|
+
$[3] = ref;
|
|
29
|
+
$[4] = spanId;
|
|
30
|
+
$[5] = status;
|
|
31
|
+
$[6] = type;
|
|
32
|
+
$[7] = t0;
|
|
33
|
+
} else t0 = $[7];
|
|
34
|
+
return t0;
|
|
21
35
|
});
|
|
22
36
|
SpanPrimitiveRoot.displayName = "SpanPrimitive.Root";
|
|
37
|
+
function _temp(s) {
|
|
38
|
+
return s.span.id;
|
|
39
|
+
}
|
|
40
|
+
function _temp2(s_0) {
|
|
41
|
+
return s_0.span.status;
|
|
42
|
+
}
|
|
43
|
+
function _temp3(s_1) {
|
|
44
|
+
return s_1.span.type;
|
|
45
|
+
}
|
|
46
|
+
function _temp4(s_2) {
|
|
47
|
+
return s_2.span.depth;
|
|
48
|
+
}
|
|
49
|
+
function _temp5(s_3) {
|
|
50
|
+
return s_3.span.isCollapsed;
|
|
51
|
+
}
|
|
23
52
|
//#endregion
|
|
24
53
|
export { SpanPrimitiveRoot };
|
|
25
54
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanRoot.js","names":[],"sources":["../../../src/primitives/span/SpanRoot.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const SpanPrimitiveRoot = forwardRef<\n SpanPrimitiveRoot.Element,\n SpanPrimitiveRoot.Props\n>((props, ref) => {\n const spanId = useAuiState((s) => s.span.id);\n const status = useAuiState((s) => s.span.status);\n const type = useAuiState((s) => s.span.type);\n const depth = useAuiState((s) => s.span.depth);\n const isCollapsed = useAuiState((s) => s.span.isCollapsed);\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n data-span-id={spanId}\n data-span-status={status}\n data-span-type={type}\n data-span-depth={depth}\n data-collapsed={isCollapsed}\n />\n );\n});\n\nSpanPrimitiveRoot.displayName = \"SpanPrimitive.Root\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanRoot.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAuiState","SpanPrimitiveRoot","Element","div","Props","props","ref","$","_c","spanId","_temp","status","_temp2","type","_temp3","depth","_temp4","isCollapsed","_temp5","t0","displayName","s","span","id","s_0","s_1","s_2","s_3"],"sources":["../../../src/primitives/span/SpanRoot.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveRoot {\n export type Element = ComponentRef<typeof Primitive.div>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.div>;\n}\n\nexport const SpanPrimitiveRoot = forwardRef<\n SpanPrimitiveRoot.Element,\n SpanPrimitiveRoot.Props\n>((props, ref) => {\n const spanId = useAuiState((s) => s.span.id);\n const status = useAuiState((s) => s.span.status);\n const type = useAuiState((s) => s.span.type);\n const depth = useAuiState((s) => s.span.depth);\n const isCollapsed = useAuiState((s) => s.span.isCollapsed);\n\n return (\n <Primitive.div\n {...props}\n ref={ref}\n data-span-id={spanId}\n data-span-status={status}\n data-span-type={type}\n data-span-depth={depth}\n data-collapsed={isCollapsed}\n />\n );\n});\n\nSpanPrimitiveRoot.displayName = \"SpanPrimitive.Root\";\n"],"mappings":";;;;;;AAaA,MAAaK,oBAAoBH,YAG/BO,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,SAAeT,YAAYU,KAAgB;CAC3C,MAAAC,SAAeX,YAAYY,MAAoB;CAC/C,MAAAC,OAAab,YAAYc,MAAkB;CAC3C,MAAAC,QAAcf,YAAYgB,MAAmB;CAC7C,MAAAC,cAAoBjB,YAAYkB,MAAyB;CAAE,IAAAC;CAAA,IAAAZ,EAAA,OAAAQ,SAAAR,EAAA,OAAAU,eAAAV,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAE,UAAAF,EAAA,OAAAI,UAAAJ,EAAA,OAAAM,MAAA;EAGzDM,KAAA,oBAAA,UAAA,KAAA;GAAA,GACMd;GACCC;GACSG,gBAAAA;GACIE,oBAAAA;GACFE,kBAAAA;GACCE,mBAAAA;GACDE,kBAAAA;EAAW,CAAA;EAC3BV,EAAA,KAAAQ;EAAAR,EAAA,KAAAU;EAAAV,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAI;EAAAJ,EAAA,KAAAM;EAAAN,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OARFY;AAQE,CAEL;AAEDlB,kBAAkBmB,cAAc;AApB9B,SAAAV,MAAAW,GAAA;CAAA,OACkCA,EAACC,KAAKC;AAAG;AAD3C,SAAAX,OAAAY,KAAA;CAAA,OAEkCH,IAACC,KAAKX;AAAO;AAF/C,SAAAG,OAAAW,KAAA;CAAA,OAGgCJ,IAACC,KAAKT;AAAK;AAH3C,SAAAG,OAAAU,KAAA;CAAA,OAIiCL,IAACC,KAAKP;AAAM;AAJ7C,SAAAG,OAAAS,KAAA;CAAA,OAKuCN,IAACC,KAAKL;AAAY"}
|
|
@@ -1,17 +1,30 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanStatusIndicator.tsx
|
|
6
7
|
const SpanPrimitiveStatusIndicator = forwardRef((props, ref) => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const $ = c(4);
|
|
9
|
+
const status = useAuiState(_temp);
|
|
10
|
+
let t0;
|
|
11
|
+
if ($[0] !== props || $[1] !== ref || $[2] !== status) {
|
|
12
|
+
t0 = /* @__PURE__ */ jsx(Primitive.span, {
|
|
13
|
+
...props,
|
|
14
|
+
ref,
|
|
15
|
+
"data-span-status": status
|
|
16
|
+
});
|
|
17
|
+
$[0] = props;
|
|
18
|
+
$[1] = ref;
|
|
19
|
+
$[2] = status;
|
|
20
|
+
$[3] = t0;
|
|
21
|
+
} else t0 = $[3];
|
|
22
|
+
return t0;
|
|
13
23
|
});
|
|
14
24
|
SpanPrimitiveStatusIndicator.displayName = "SpanPrimitive.StatusIndicator";
|
|
25
|
+
function _temp(s) {
|
|
26
|
+
return s.span.status;
|
|
27
|
+
}
|
|
15
28
|
//#endregion
|
|
16
29
|
export { SpanPrimitiveStatusIndicator };
|
|
17
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanStatusIndicator.js","names":[],"sources":["../../../src/primitives/span/SpanStatusIndicator.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveStatusIndicator {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveStatusIndicator = forwardRef<\n SpanPrimitiveStatusIndicator.Element,\n SpanPrimitiveStatusIndicator.Props\n>((props, ref) => {\n const status = useAuiState((s) => s.span.status);\n\n return <Primitive.span {...props} ref={ref} data-span-status={status} />;\n});\n\nSpanPrimitiveStatusIndicator.displayName = \"SpanPrimitive.StatusIndicator\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanStatusIndicator.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAuiState","SpanPrimitiveStatusIndicator","Element","span","Props","props","ref","$","_c","status","_temp","t0","displayName","s"],"sources":["../../../src/primitives/span/SpanStatusIndicator.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveStatusIndicator {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveStatusIndicator = forwardRef<\n SpanPrimitiveStatusIndicator.Element,\n SpanPrimitiveStatusIndicator.Props\n>((props, ref) => {\n const status = useAuiState((s) => s.span.status);\n\n return <Primitive.span {...props} ref={ref} data-span-status={status} />;\n});\n\nSpanPrimitiveStatusIndicator.displayName = \"SpanPrimitive.StatusIndicator\";\n"],"mappings":";;;;;;AAaA,MAAaK,+BAA+BH,YAG1CO,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,SAAeT,YAAYU,KAAoB;CAAE,IAAAC;CAAA,IAAAJ,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAE,QAAA;EAE1CE,KAAA,oBAAA,UAAA,MAAA;GAAA,GAAoBN;GAAYC;GAAuBG,oBAAAA;EAAM,CAAA;EAAIF,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAI;CAAA,OAAAA,KAAAJ,EAAA;CAAA,OAAjEI;AAAiE,CACzE;AAEDV,6BAA6BW,cAAc;AANzC,SAAAF,MAAAG,GAAA;CAAA,OACkCA,EAACV,KAAKM;AAAO"}
|
|
@@ -1,18 +1,33 @@
|
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
1
2
|
import { forwardRef } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { Primitive } from "@radix-ui/react-primitive";
|
|
3
4
|
import { useAuiState } from "@assistant-ui/store";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
//#region src/primitives/span/SpanTypeBadge.tsx
|
|
6
7
|
const SpanPrimitiveTypeBadge = forwardRef((props, ref) => {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
const $ = c(5);
|
|
9
|
+
const type = useAuiState(_temp);
|
|
10
|
+
const t0 = props.children ?? type;
|
|
11
|
+
let t1;
|
|
12
|
+
if ($[0] !== props || $[1] !== ref || $[2] !== t0 || $[3] !== type) {
|
|
13
|
+
t1 = /* @__PURE__ */ jsx(Primitive.span, {
|
|
14
|
+
...props,
|
|
15
|
+
ref,
|
|
16
|
+
"data-span-type": type,
|
|
17
|
+
children: t0
|
|
18
|
+
});
|
|
19
|
+
$[0] = props;
|
|
20
|
+
$[1] = ref;
|
|
21
|
+
$[2] = t0;
|
|
22
|
+
$[3] = type;
|
|
23
|
+
$[4] = t1;
|
|
24
|
+
} else t1 = $[4];
|
|
25
|
+
return t1;
|
|
14
26
|
});
|
|
15
27
|
SpanPrimitiveTypeBadge.displayName = "SpanPrimitive.TypeBadge";
|
|
28
|
+
function _temp(s) {
|
|
29
|
+
return s.span.type;
|
|
30
|
+
}
|
|
16
31
|
//#endregion
|
|
17
32
|
export { SpanPrimitiveTypeBadge };
|
|
18
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanTypeBadge.js","names":[],"sources":["../../../src/primitives/span/SpanTypeBadge.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveTypeBadge {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveTypeBadge = forwardRef<\n SpanPrimitiveTypeBadge.Element,\n SpanPrimitiveTypeBadge.Props\n>((props, ref) => {\n const type = useAuiState((s) => s.span.type);\n\n return (\n <Primitive.span {...props} ref={ref} data-span-type={type}>\n {props.children ?? type}\n </Primitive.span>\n );\n});\n\nSpanPrimitiveTypeBadge.displayName = \"SpanPrimitive.TypeBadge\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpanTypeBadge.js","names":["ComponentPropsWithoutRef","ComponentRef","forwardRef","Primitive","useAuiState","SpanPrimitiveTypeBadge","Element","span","Props","props","ref","$","_c","type","_temp","t0","children","t1","displayName","s"],"sources":["../../../src/primitives/span/SpanTypeBadge.tsx"],"sourcesContent":["import {\n type ComponentPropsWithoutRef,\n type ComponentRef,\n forwardRef,\n} from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useAuiState } from \"@assistant-ui/store\";\n\nexport namespace SpanPrimitiveTypeBadge {\n export type Element = ComponentRef<typeof Primitive.span>;\n export type Props = ComponentPropsWithoutRef<typeof Primitive.span>;\n}\n\nexport const SpanPrimitiveTypeBadge = forwardRef<\n SpanPrimitiveTypeBadge.Element,\n SpanPrimitiveTypeBadge.Props\n>((props, ref) => {\n const type = useAuiState((s) => s.span.type);\n\n return (\n <Primitive.span {...props} ref={ref} data-span-type={type}>\n {props.children ?? type}\n </Primitive.span>\n );\n});\n\nSpanPrimitiveTypeBadge.displayName = \"SpanPrimitive.TypeBadge\";\n"],"mappings":";;;;;;AAaA,MAAaK,yBAAyBH,YAGpCO,OAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACA,MAAAC,OAAaT,YAAYU,KAAkB;CAItC,MAAAC,KAAAN,MAAKO,YAALH;CAAsB,IAAAI;CAAA,IAAAN,EAAA,OAAAF,SAAAE,EAAA,OAAAD,OAAAC,EAAA,OAAAI,MAAAJ,EAAA,OAAAE,MAAA;EADzBI,KAAA,oBAAA,UAAA,MAAA;GAAA,GAAoBR;GAAYC;GAAqBG,kBAAAA;aAClDE;EACH,CAAA;EAAiBJ,EAAA,KAAAF;EAAAE,EAAA,KAAAD;EAAAC,EAAA,KAAAI;EAAAJ,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,OAFjBM;AAEiB,CAEpB;AAEDZ,uBAAuBa,cAAc;AAVnC,SAAAJ,MAAAK,GAAA;CAAA,OACgCA,EAACZ,KAAKM;AAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span.js","names":[],"sources":["../../src/primitives/span.ts"],"sourcesContent":["export { SpanPrimitiveRoot as Root } from \"./span/SpanRoot\";\nexport { SpanPrimitiveName as Name } from \"./span/SpanName\";\nexport { SpanPrimitiveTypeBadge as TypeBadge } from \"./span/SpanTypeBadge\";\nexport { SpanPrimitiveStatusIndicator as StatusIndicator } from \"./span/SpanStatusIndicator\";\nexport { SpanPrimitiveCollapseToggle as CollapseToggle } from \"./span/SpanCollapseToggle\";\nexport { SpanPrimitiveIndent as Indent } from \"./span/SpanIndent\";\nexport { SpanPrimitiveChildren as Children } from \"./span/SpanChildren\";\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"span.js","names":["SpanPrimitiveRoot","Root","SpanPrimitiveName","Name","SpanPrimitiveTypeBadge","TypeBadge","SpanPrimitiveStatusIndicator","StatusIndicator","SpanPrimitiveCollapseToggle","CollapseToggle","SpanPrimitiveIndent","Indent","SpanPrimitiveChildren","Children"],"sources":["../../src/primitives/span.ts"],"sourcesContent":["export { SpanPrimitiveRoot as Root } from \"./span/SpanRoot\";\nexport { SpanPrimitiveName as Name } from \"./span/SpanName\";\nexport { SpanPrimitiveTypeBadge as TypeBadge } from \"./span/SpanTypeBadge\";\nexport { SpanPrimitiveStatusIndicator as StatusIndicator } from \"./span/SpanStatusIndicator\";\nexport { SpanPrimitiveCollapseToggle as CollapseToggle } from \"./span/SpanCollapseToggle\";\nexport { SpanPrimitiveIndent as Indent } from \"./span/SpanIndent\";\nexport { SpanPrimitiveChildren as Children } from \"./span/SpanChildren\";\n"],"mappings":""}
|
|
@@ -11,11 +11,9 @@ type SpanData = {
|
|
|
11
11
|
endedAt: number | null;
|
|
12
12
|
latencyMs: number | null;
|
|
13
13
|
};
|
|
14
|
-
declare const SpanResource: (
|
|
14
|
+
declare const SpanResource: import("@assistant-ui/tap").Resource<ClientOutput<"span">, [{
|
|
15
15
|
spans: SpanData[];
|
|
16
|
-
}
|
|
17
|
-
spans: SpanData[];
|
|
18
|
-
}>;
|
|
16
|
+
}]>;
|
|
19
17
|
//#endregion
|
|
20
18
|
export { SpanData, SpanResource };
|
|
21
19
|
//# sourceMappingURL=SpanResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanResource.d.ts","names":[],"sources":["../../src/resources/SpanResource.tsx"],"mappings":";;;KAOY,QAAA;EACV,EAAA;EACA,YAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"SpanResource.d.ts","names":[],"sources":["../../src/resources/SpanResource.tsx"],"mappings":";;;KAOY,QAAA;EACV,EAAA;EACA,YAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,cA8LW,YAAA,8BAAY,QAAA,CAAA,YAAA;SA/DhB,QAAQ;AAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c } from "@assistant-ui/tap/react-shim/compiler-runtime";
|
|
2
|
+
import { useState } from "@assistant-ui/tap/react-shim";
|
|
2
3
|
import { useClientLookup } from "@assistant-ui/store";
|
|
3
4
|
import { resource, withKey } from "@assistant-ui/tap";
|
|
4
5
|
//#region src/resources/SpanResource.tsx
|
|
@@ -74,7 +75,7 @@ function buildFlatList(allSpans, collapsedIds) {
|
|
|
74
75
|
dfs(null);
|
|
75
76
|
return result;
|
|
76
77
|
}
|
|
77
|
-
const
|
|
78
|
+
const useSpanChildResource = ({ span, timeRange, onToggleCollapse }) => {
|
|
78
79
|
const state = {
|
|
79
80
|
...span,
|
|
80
81
|
children: [],
|
|
@@ -89,49 +90,102 @@ const SpanChildResource = resource(function SpanChildResource({ span, timeRange,
|
|
|
89
90
|
onToggleCollapse(span.id);
|
|
90
91
|
}
|
|
91
92
|
};
|
|
92
|
-
}
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
const
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
});
|
|
93
|
+
};
|
|
94
|
+
const SpanChildResource = resource(useSpanChildResource);
|
|
95
|
+
const useSpanResource = (t0) => {
|
|
96
|
+
const $ = c(19);
|
|
97
|
+
const { spans } = t0;
|
|
98
|
+
let t1;
|
|
99
|
+
if ($[0] !== spans) {
|
|
100
|
+
t1 = enrichSpans(spans);
|
|
101
|
+
$[0] = spans;
|
|
102
|
+
$[1] = t1;
|
|
103
|
+
} else t1 = $[1];
|
|
104
|
+
const { allSpans, timeRange } = t1;
|
|
105
|
+
const [collapsedIds, setCollapsedIds] = useState(_temp);
|
|
106
|
+
let t2;
|
|
107
|
+
if ($[2] !== allSpans || $[3] !== collapsedIds) {
|
|
108
|
+
t2 = buildFlatList(allSpans, collapsedIds);
|
|
109
|
+
$[2] = allSpans;
|
|
110
|
+
$[3] = collapsedIds;
|
|
111
|
+
$[4] = t2;
|
|
112
|
+
} else t2 = $[4];
|
|
113
|
+
const visibleSpans = t2;
|
|
114
|
+
let t3;
|
|
115
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
116
|
+
t3 = (spanId) => {
|
|
117
|
+
setCollapsedIds((prev) => {
|
|
118
|
+
const next = new Set(prev);
|
|
119
|
+
if (next.has(spanId)) next.delete(spanId);
|
|
120
|
+
else next.add(spanId);
|
|
121
|
+
return next;
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
$[5] = t3;
|
|
125
|
+
} else t3 = $[5];
|
|
126
|
+
const toggleCollapse = t3;
|
|
127
|
+
let t4;
|
|
128
|
+
if ($[6] !== timeRange || $[7] !== visibleSpans) {
|
|
129
|
+
let t5;
|
|
130
|
+
if ($[9] !== timeRange) {
|
|
131
|
+
t5 = (span) => withKey(span.id, SpanChildResource({
|
|
132
|
+
span,
|
|
133
|
+
timeRange,
|
|
134
|
+
onToggleCollapse: toggleCollapse
|
|
135
|
+
}));
|
|
136
|
+
$[9] = timeRange;
|
|
137
|
+
$[10] = t5;
|
|
138
|
+
} else t5 = $[10];
|
|
139
|
+
t4 = visibleSpans.map(t5);
|
|
140
|
+
$[6] = timeRange;
|
|
141
|
+
$[7] = visibleSpans;
|
|
142
|
+
$[8] = t4;
|
|
143
|
+
} else t4 = $[8];
|
|
144
|
+
const lookup = useClientLookup(t4);
|
|
145
|
+
const t5 = timeRange.max - timeRange.min;
|
|
146
|
+
const t6 = lookup.state.length > 0;
|
|
147
|
+
let t7;
|
|
148
|
+
if ($[11] !== lookup.state || $[12] !== t5 || $[13] !== t6 || $[14] !== timeRange) {
|
|
149
|
+
const rootState = {
|
|
150
|
+
id: "__root__",
|
|
151
|
+
parentSpanId: null,
|
|
152
|
+
name: "",
|
|
153
|
+
type: "root",
|
|
154
|
+
status: "completed",
|
|
155
|
+
startedAt: timeRange.min,
|
|
156
|
+
endedAt: timeRange.max,
|
|
157
|
+
latencyMs: t5,
|
|
158
|
+
depth: -1,
|
|
159
|
+
hasChildren: t6,
|
|
160
|
+
isCollapsed: false,
|
|
161
|
+
children: lookup.state,
|
|
162
|
+
timeRange
|
|
163
|
+
};
|
|
164
|
+
t7 = () => rootState;
|
|
165
|
+
$[11] = lookup.state;
|
|
166
|
+
$[12] = t5;
|
|
167
|
+
$[13] = t6;
|
|
168
|
+
$[14] = timeRange;
|
|
169
|
+
$[15] = t7;
|
|
170
|
+
} else t7 = $[15];
|
|
171
|
+
let t8;
|
|
172
|
+
if ($[16] !== lookup.get || $[17] !== t7) {
|
|
173
|
+
t8 = {
|
|
174
|
+
getState: t7,
|
|
175
|
+
child: lookup.get,
|
|
176
|
+
toggleCollapse: _temp2
|
|
177
|
+
};
|
|
178
|
+
$[16] = lookup.get;
|
|
179
|
+
$[17] = t7;
|
|
180
|
+
$[18] = t8;
|
|
181
|
+
} else t8 = $[18];
|
|
182
|
+
return t8;
|
|
183
|
+
};
|
|
184
|
+
const SpanResource = resource(useSpanResource);
|
|
185
|
+
function _temp() {
|
|
186
|
+
return /* @__PURE__ */ new Set();
|
|
187
|
+
}
|
|
188
|
+
function _temp2() {}
|
|
135
189
|
//#endregion
|
|
136
190
|
export { SpanResource };
|
|
137
191
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpanResource.js","names":[],"sources":["../../src/resources/SpanResource.tsx"],"sourcesContent":["import \"../o11y-scope\";\n\nimport { useMemo, useState } from \"react\";\nimport { resource, withKey } from \"@assistant-ui/tap\";\nimport { useClientLookup, type ClientOutput } from \"@assistant-ui/store\";\nimport type { SpanItemState, SpanState } from \"../o11y-scope\";\n\nexport type SpanData = {\n id: string;\n parentSpanId: string | null;\n name: string;\n type: string;\n status: \"running\" | \"completed\" | \"failed\" | \"skipped\";\n startedAt: number;\n endedAt: number | null;\n latencyMs: number | null;\n};\n\nfunction calculateDepth(\n spanId: string,\n spanMap: Map<string, SpanData>,\n cache: Map<string, number>,\n): number {\n const cached = cache.get(spanId);\n if (cached !== undefined) return cached;\n\n const span = spanMap.get(spanId);\n if (!span?.parentSpanId) {\n cache.set(spanId, 0);\n return 0;\n }\n\n const depth = calculateDepth(span.parentSpanId, spanMap, cache) + 1;\n cache.set(spanId, depth);\n return depth;\n}\n\nfunction enrichSpans(rawSpans: SpanData[]): {\n allSpans: Map<string, SpanItemState>;\n timeRange: { min: number; max: number };\n} {\n const spanMap = new Map<string, SpanData>();\n for (const span of rawSpans) {\n spanMap.set(span.id, span);\n }\n\n const depthCache = new Map<string, number>();\n const childrenCount = new Map<string, number>();\n for (const span of rawSpans) {\n if (span.parentSpanId) {\n childrenCount.set(\n span.parentSpanId,\n (childrenCount.get(span.parentSpanId) ?? 0) + 1,\n );\n }\n }\n\n const allSpans = new Map<string, SpanItemState>();\n let min = Infinity;\n let max = -Infinity;\n\n for (const span of rawSpans) {\n const depth = calculateDepth(span.id, spanMap, depthCache);\n const hasChildren = (childrenCount.get(span.id) ?? 0) > 0;\n allSpans.set(span.id, { ...span, depth, hasChildren, isCollapsed: false });\n\n if (span.startedAt < min) min = span.startedAt;\n const end = span.endedAt ?? Date.now();\n if (end > max) max = end;\n }\n\n if (min === Infinity) min = Date.now();\n if (max === -Infinity) max = Date.now();\n if (max === min) max = min + 100;\n\n return { allSpans, timeRange: { min, max } };\n}\n\nfunction buildFlatList(\n allSpans: Map<string, SpanItemState>,\n collapsedIds: Set<string>,\n): SpanItemState[] {\n const children = new Map<string | null, SpanItemState[]>();\n for (const span of allSpans.values()) {\n const parent = span.parentSpanId ?? null;\n let group = children.get(parent);\n if (!group) {\n group = [];\n children.set(parent, group);\n }\n group.push(span);\n }\n\n for (const group of children.values()) {\n group.sort((a, b) => a.startedAt - b.startedAt);\n }\n\n const result: SpanItemState[] = [];\n function dfs(parentId: string | null) {\n const kids = children.get(parentId);\n if (!kids) return;\n for (const span of kids) {\n result.push({ ...span, isCollapsed: collapsedIds.has(span.id) });\n if (!collapsedIds.has(span.id)) {\n dfs(span.id);\n }\n }\n }\n dfs(null);\n return result;\n}\n\nconst SpanChildResource = resource(function SpanChildResource({\n span,\n timeRange,\n onToggleCollapse,\n}: {\n span: SpanItemState;\n timeRange: { min: number; max: number };\n onToggleCollapse: (spanId: string) => void;\n}): ClientOutput<\"span\"> {\n const state: SpanState = {\n ...span,\n children: [],\n timeRange,\n };\n return {\n getState: () => state,\n child: () => {\n throw new Error(\"child spans do not have children in flat mode\");\n },\n toggleCollapse: () => {\n onToggleCollapse(span.id);\n },\n };\n});\n\nexport const SpanResource = resource(function SpanResource({\n spans,\n}: {\n spans: SpanData[];\n}): ClientOutput<\"span\"> {\n const { allSpans, timeRange } = useMemo(() => enrichSpans(spans), [spans]);\n\n const [collapsedIds, setCollapsedIds] = useState<Set<string>>(\n () => new Set(),\n );\n\n const visibleSpans = useMemo(\n () => buildFlatList(allSpans, collapsedIds),\n [allSpans, collapsedIds],\n );\n\n const toggleCollapse = (spanId: string) => {\n setCollapsedIds((prev) => {\n const next = new Set(prev);\n if (next.has(spanId)) {\n next.delete(spanId);\n } else {\n next.add(spanId);\n }\n return next;\n });\n };\n\n const lookup = useClientLookup(\n () =>\n visibleSpans.map((span) =>\n withKey(\n span.id,\n SpanChildResource({\n span,\n timeRange,\n onToggleCollapse: toggleCollapse,\n }),\n ),\n ),\n [visibleSpans, timeRange, toggleCollapse],\n );\n\n const rootState: SpanState = {\n id: \"__root__\",\n parentSpanId: null,\n name: \"\",\n type: \"root\",\n status: \"completed\",\n startedAt: timeRange.min,\n endedAt: timeRange.max,\n latencyMs: timeRange.max - timeRange.min,\n depth: -1,\n hasChildren: lookup.state.length > 0,\n isCollapsed: false,\n children: lookup.state,\n timeRange,\n };\n\n return {\n getState: () => rootState,\n child: lookup.get,\n toggleCollapse: () => {\n // Root span collapse is a no-op\n },\n };\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SpanResource.js","names":["useMemo","useState","resource","withKey","useClientLookup","ClientOutput","SpanItemState","SpanState","SpanData","id","parentSpanId","name","type","status","startedAt","endedAt","latencyMs","calculateDepth","spanId","spanMap","Map","cache","cached","get","undefined","span","set","depth","enrichSpans","rawSpans","allSpans","timeRange","min","max","depthCache","childrenCount","Infinity","hasChildren","isCollapsed","end","Date","now","buildFlatList","collapsedIds","Set","children","values","parent","group","push","sort","a","b","result","dfs","parentId","kids","has","useSpanChildResource","onToggleCollapse","state","getState","child","Error","toggleCollapse","SpanChildResource","useSpanResource","t0","$","_c","spans","t1","setCollapsedIds","_temp","t2","visibleSpans","t3","Symbol","for","prev","next","delete","add","t4","t5","map","lookup","t6","length","t7","rootState","t8","_temp2","SpanResource"],"sources":["../../src/resources/SpanResource.tsx"],"sourcesContent":["import \"../o11y-scope\";\n\nimport { useMemo, useState } from \"react\";\nimport { resource, withKey } from \"@assistant-ui/tap\";\nimport { useClientLookup, type ClientOutput } from \"@assistant-ui/store\";\nimport type { SpanItemState, SpanState } from \"../o11y-scope\";\n\nexport type SpanData = {\n id: string;\n parentSpanId: string | null;\n name: string;\n type: string;\n status: \"running\" | \"completed\" | \"failed\" | \"skipped\";\n startedAt: number;\n endedAt: number | null;\n latencyMs: number | null;\n};\n\nfunction calculateDepth(\n spanId: string,\n spanMap: Map<string, SpanData>,\n cache: Map<string, number>,\n): number {\n const cached = cache.get(spanId);\n if (cached !== undefined) return cached;\n\n const span = spanMap.get(spanId);\n if (!span?.parentSpanId) {\n cache.set(spanId, 0);\n return 0;\n }\n\n const depth = calculateDepth(span.parentSpanId, spanMap, cache) + 1;\n cache.set(spanId, depth);\n return depth;\n}\n\nfunction enrichSpans(rawSpans: SpanData[]): {\n allSpans: Map<string, SpanItemState>;\n timeRange: { min: number; max: number };\n} {\n const spanMap = new Map<string, SpanData>();\n for (const span of rawSpans) {\n spanMap.set(span.id, span);\n }\n\n const depthCache = new Map<string, number>();\n const childrenCount = new Map<string, number>();\n for (const span of rawSpans) {\n if (span.parentSpanId) {\n childrenCount.set(\n span.parentSpanId,\n (childrenCount.get(span.parentSpanId) ?? 0) + 1,\n );\n }\n }\n\n const allSpans = new Map<string, SpanItemState>();\n let min = Infinity;\n let max = -Infinity;\n\n for (const span of rawSpans) {\n const depth = calculateDepth(span.id, spanMap, depthCache);\n const hasChildren = (childrenCount.get(span.id) ?? 0) > 0;\n allSpans.set(span.id, { ...span, depth, hasChildren, isCollapsed: false });\n\n if (span.startedAt < min) min = span.startedAt;\n const end = span.endedAt ?? Date.now();\n if (end > max) max = end;\n }\n\n if (min === Infinity) min = Date.now();\n if (max === -Infinity) max = Date.now();\n if (max === min) max = min + 100;\n\n return { allSpans, timeRange: { min, max } };\n}\n\nfunction buildFlatList(\n allSpans: Map<string, SpanItemState>,\n collapsedIds: Set<string>,\n): SpanItemState[] {\n const children = new Map<string | null, SpanItemState[]>();\n for (const span of allSpans.values()) {\n const parent = span.parentSpanId ?? null;\n let group = children.get(parent);\n if (!group) {\n group = [];\n children.set(parent, group);\n }\n group.push(span);\n }\n\n for (const group of children.values()) {\n group.sort((a, b) => a.startedAt - b.startedAt);\n }\n\n const result: SpanItemState[] = [];\n function dfs(parentId: string | null) {\n const kids = children.get(parentId);\n if (!kids) return;\n for (const span of kids) {\n result.push({ ...span, isCollapsed: collapsedIds.has(span.id) });\n if (!collapsedIds.has(span.id)) {\n dfs(span.id);\n }\n }\n }\n dfs(null);\n return result;\n}\n\nconst useSpanChildResource = ({\n span,\n timeRange,\n onToggleCollapse,\n}: {\n span: SpanItemState;\n timeRange: { min: number; max: number };\n onToggleCollapse: (spanId: string) => void;\n}): ClientOutput<\"span\"> => {\n const state: SpanState = {\n ...span,\n children: [],\n timeRange,\n };\n return {\n getState: () => state,\n child: () => {\n throw new Error(\"child spans do not have children in flat mode\");\n },\n toggleCollapse: () => {\n onToggleCollapse(span.id);\n },\n };\n};\n\nconst SpanChildResource = resource(useSpanChildResource);\n\nconst useSpanResource = ({\n spans,\n}: {\n spans: SpanData[];\n}): ClientOutput<\"span\"> => {\n const { allSpans, timeRange } = useMemo(() => enrichSpans(spans), [spans]);\n\n const [collapsedIds, setCollapsedIds] = useState<Set<string>>(\n () => new Set(),\n );\n\n const visibleSpans = useMemo(\n () => buildFlatList(allSpans, collapsedIds),\n [allSpans, collapsedIds],\n );\n\n const toggleCollapse = (spanId: string) => {\n setCollapsedIds((prev) => {\n const next = new Set(prev);\n if (next.has(spanId)) {\n next.delete(spanId);\n } else {\n next.add(spanId);\n }\n return next;\n });\n };\n\n const lookup = useClientLookup(\n visibleSpans.map((span) =>\n withKey(\n span.id,\n SpanChildResource({\n span,\n timeRange,\n onToggleCollapse: toggleCollapse,\n }),\n ),\n ),\n );\n\n const rootState: SpanState = {\n id: \"__root__\",\n parentSpanId: null,\n name: \"\",\n type: \"root\",\n status: \"completed\",\n startedAt: timeRange.min,\n endedAt: timeRange.max,\n latencyMs: timeRange.max - timeRange.min,\n depth: -1,\n hasChildren: lookup.state.length > 0,\n isCollapsed: false,\n children: lookup.state,\n timeRange,\n };\n\n return {\n getState: () => rootState,\n child: lookup.get,\n toggleCollapse: () => {\n // Root span collapse is a no-op\n },\n };\n};\n\nexport const SpanResource = resource(useSpanResource);\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@assistant-ui/react-o11y",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"description": "Observability primitives for @assistant-ui",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"observability",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"sideEffects": false,
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@radix-ui/react-primitive": "^2.1.5",
|
|
32
|
-
"@assistant-ui/store": "0.2.
|
|
33
|
-
"@assistant-ui/tap": "0.
|
|
32
|
+
"@assistant-ui/store": "0.2.17",
|
|
33
|
+
"@assistant-ui/tap": "0.8.1"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@types/react": "*",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/react": "^19.2.17",
|
|
46
46
|
"react": "^19.2.7",
|
|
47
|
-
"@assistant-ui/x-buildutils": "0.0.
|
|
47
|
+
"@assistant-ui/x-buildutils": "0.0.13"
|
|
48
48
|
},
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public",
|
|
@@ -110,7 +110,7 @@ function buildFlatList(
|
|
|
110
110
|
return result;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
const
|
|
113
|
+
const useSpanChildResource = ({
|
|
114
114
|
span,
|
|
115
115
|
timeRange,
|
|
116
116
|
onToggleCollapse,
|
|
@@ -118,7 +118,7 @@ const SpanChildResource = resource(function SpanChildResource({
|
|
|
118
118
|
span: SpanItemState;
|
|
119
119
|
timeRange: { min: number; max: number };
|
|
120
120
|
onToggleCollapse: (spanId: string) => void;
|
|
121
|
-
}): ClientOutput<"span"> {
|
|
121
|
+
}): ClientOutput<"span"> => {
|
|
122
122
|
const state: SpanState = {
|
|
123
123
|
...span,
|
|
124
124
|
children: [],
|
|
@@ -133,13 +133,15 @@ const SpanChildResource = resource(function SpanChildResource({
|
|
|
133
133
|
onToggleCollapse(span.id);
|
|
134
134
|
},
|
|
135
135
|
};
|
|
136
|
-
}
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const SpanChildResource = resource(useSpanChildResource);
|
|
137
139
|
|
|
138
|
-
|
|
140
|
+
const useSpanResource = ({
|
|
139
141
|
spans,
|
|
140
142
|
}: {
|
|
141
143
|
spans: SpanData[];
|
|
142
|
-
}): ClientOutput<"span"> {
|
|
144
|
+
}): ClientOutput<"span"> => {
|
|
143
145
|
const { allSpans, timeRange } = useMemo(() => enrichSpans(spans), [spans]);
|
|
144
146
|
|
|
145
147
|
const [collapsedIds, setCollapsedIds] = useState<Set<string>>(
|
|
@@ -164,18 +166,16 @@ export const SpanResource = resource(function SpanResource({
|
|
|
164
166
|
};
|
|
165
167
|
|
|
166
168
|
const lookup = useClientLookup(
|
|
167
|
-
() =>
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}),
|
|
176
|
-
),
|
|
169
|
+
visibleSpans.map((span) =>
|
|
170
|
+
withKey(
|
|
171
|
+
span.id,
|
|
172
|
+
SpanChildResource({
|
|
173
|
+
span,
|
|
174
|
+
timeRange,
|
|
175
|
+
onToggleCollapse: toggleCollapse,
|
|
176
|
+
}),
|
|
177
177
|
),
|
|
178
|
-
|
|
178
|
+
),
|
|
179
179
|
);
|
|
180
180
|
|
|
181
181
|
const rootState: SpanState = {
|
|
@@ -201,4 +201,6 @@ export const SpanResource = resource(function SpanResource({
|
|
|
201
201
|
// Root span collapse is a no-op
|
|
202
202
|
},
|
|
203
203
|
};
|
|
204
|
-
}
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
export const SpanResource = resource(useSpanResource);
|