@timbal-ai/timbal-react 1.1.0 → 1.2.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/CHANGELOG.md +8 -1
- package/README.md +13 -7
- package/dist/app.cjs +1234 -867
- package/dist/app.d.cts +2 -2
- package/dist/app.d.ts +2 -2
- package/dist/app.esm.js +14 -6
- package/dist/{chart-artifact-CX-rh9nq.d.cts → chart-artifact-E58ve76I.d.cts} +29 -3
- package/dist/{chart-artifact-BZp7nmaf.d.ts → chart-artifact-_PEJgCpQ.d.ts} +29 -3
- package/dist/{chat-DCms8pJ_.d.cts → chat-ClmzWzCX.d.cts} +2 -0
- package/dist/{chat-DCms8pJ_.d.ts → chat-ClmzWzCX.d.ts} +2 -0
- package/dist/chat.cjs +868 -511
- package/dist/chat.d.cts +1 -1
- package/dist/chat.d.ts +1 -1
- package/dist/chat.esm.js +3 -3
- package/dist/{chunk-6HWMJNZT.esm.js → chunk-4VULP3CJ.esm.js} +1 -1
- package/dist/{chunk-XCM3V6RK.esm.js → chunk-AGJKK6R7.esm.js} +2 -2
- package/dist/{chunk-4AKJ6FKE.esm.js → chunk-BMXFXLVV.esm.js} +120 -22
- package/dist/{chunk-JEAUF54A.esm.js → chunk-FEYZUVBM.esm.js} +1 -1
- package/dist/{chunk-FRZOEYBO.esm.js → chunk-MTYXREHK.esm.js} +4 -4
- package/dist/{chunk-P3KDAYX6.esm.js → chunk-NAMKO2MU.esm.js} +1 -1
- package/dist/{chunk-YXZ22OJN.esm.js → chunk-UY7AKWJL.esm.js} +670 -402
- package/dist/{chunk-TK2AGIME.esm.js → chunk-XDIY2WSL.esm.js} +15 -13
- package/dist/index.cjs +1871 -1497
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.esm.js +21 -9
- package/dist/{pill-segmented-tabs-Ba5q0feL.d.cts → pill-segmented-tabs-BsIOW1Lo.d.cts} +32 -4
- package/dist/{pill-segmented-tabs-Ba5q0feL.d.ts → pill-segmented-tabs-BsIOW1Lo.d.ts} +32 -4
- package/dist/studio.cjs +1089 -732
- package/dist/studio.d.cts +2 -2
- package/dist/studio.d.ts +2 -2
- package/dist/studio.esm.js +5 -5
- package/dist/styles.css +14 -16
- package/dist/ui.cjs +122 -22
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.esm.js +8 -4
- package/dist/{welcome-CRqOPKMp.d.cts → welcome-BFGRoNfK.d.cts} +1 -1
- package/dist/{welcome-DlHUa3OL.d.ts → welcome-DXqsGTwH.d.ts} +1 -1
- package/package.json +1 -1
- package/vite/local-dev.d.ts +5 -1
- package/vite/local-dev.mjs +17 -13
package/dist/chat.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as ChatAttachment, e as ChatMessage, f as Composer, g as ComposerProps, h as ContentPart, S as SendOptions, i as Suggestions, j as SuggestionsComponent, k as SuggestionsSlotProps, l as SuggestionsSource, m as TextContentPart, n as ThinkingContentPart, o as Thread, p as ThreadArtifactsConfig, q as ThreadComponents, r as ThreadProps, s as ThreadSuggestion, t as ThreadSuggestionsProps, T as ThreadVariant, u as ThreadWelcomeConfig, v as ThreadWelcomeProps, b as TimbalChat, c as TimbalChatProps, w as TimbalRuntimeProvider, x as TimbalRuntimeProviderProps, y as TimbalStreamApi, z as ToolCallContentPart, U as UseTimbalStreamOptions, A as useResolvedSuggestions, B as useTimbalRuntime, D as useTimbalStream } from './chat-
|
|
1
|
+
export { d as ChatAttachment, e as ChatMessage, f as Composer, g as ComposerProps, h as ContentPart, S as SendOptions, i as Suggestions, j as SuggestionsComponent, k as SuggestionsSlotProps, l as SuggestionsSource, m as TextContentPart, n as ThinkingContentPart, o as Thread, p as ThreadArtifactsConfig, q as ThreadComponents, r as ThreadProps, s as ThreadSuggestion, t as ThreadSuggestionsProps, T as ThreadVariant, u as ThreadWelcomeConfig, v as ThreadWelcomeProps, b as TimbalChat, c as TimbalChatProps, w as TimbalRuntimeProvider, x as TimbalRuntimeProviderProps, y as TimbalStreamApi, z as ToolCallContentPart, U as UseTimbalStreamOptions, A as useResolvedSuggestions, B as useTimbalRuntime, D as useTimbalStream } from './chat-ClmzWzCX.cjs';
|
|
2
2
|
export { M as MarkdownText, T as THREAD_DEFAULT_MAX_WIDTH, a as ToolFallback, b as TooltipIconButton, c as TooltipIconButtonProps, W as WorkforceSelector, d as WorkforceSelectorProps, e as assistantMessageContentClass, f as assistantMessageRootClass, t as threadMessageColumnClass, u as useToolRunning, g as userMessageRootClass } from './layout-C2G-FcER.cjs';
|
|
3
3
|
import { FC } from 'react';
|
|
4
4
|
import 'react/jsx-runtime';
|
package/dist/chat.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as ChatAttachment, e as ChatMessage, f as Composer, g as ComposerProps, h as ContentPart, S as SendOptions, i as Suggestions, j as SuggestionsComponent, k as SuggestionsSlotProps, l as SuggestionsSource, m as TextContentPart, n as ThinkingContentPart, o as Thread, p as ThreadArtifactsConfig, q as ThreadComponents, r as ThreadProps, s as ThreadSuggestion, t as ThreadSuggestionsProps, T as ThreadVariant, u as ThreadWelcomeConfig, v as ThreadWelcomeProps, b as TimbalChat, c as TimbalChatProps, w as TimbalRuntimeProvider, x as TimbalRuntimeProviderProps, y as TimbalStreamApi, z as ToolCallContentPart, U as UseTimbalStreamOptions, A as useResolvedSuggestions, B as useTimbalRuntime, D as useTimbalStream } from './chat-
|
|
1
|
+
export { d as ChatAttachment, e as ChatMessage, f as Composer, g as ComposerProps, h as ContentPart, S as SendOptions, i as Suggestions, j as SuggestionsComponent, k as SuggestionsSlotProps, l as SuggestionsSource, m as TextContentPart, n as ThinkingContentPart, o as Thread, p as ThreadArtifactsConfig, q as ThreadComponents, r as ThreadProps, s as ThreadSuggestion, t as ThreadSuggestionsProps, T as ThreadVariant, u as ThreadWelcomeConfig, v as ThreadWelcomeProps, b as TimbalChat, c as TimbalChatProps, w as TimbalRuntimeProvider, x as TimbalRuntimeProviderProps, y as TimbalStreamApi, z as ToolCallContentPart, U as UseTimbalStreamOptions, A as useResolvedSuggestions, B as useTimbalRuntime, D as useTimbalStream } from './chat-ClmzWzCX.js';
|
|
2
2
|
export { M as MarkdownText, T as THREAD_DEFAULT_MAX_WIDTH, a as ToolFallback, b as TooltipIconButton, c as TooltipIconButtonProps, W as WorkforceSelector, d as WorkforceSelectorProps, e as assistantMessageContentClass, f as assistantMessageRootClass, t as threadMessageColumnClass, u as useToolRunning, g as userMessageRootClass } from './layout-BTJyU8wd.js';
|
|
3
3
|
import { FC } from 'react';
|
|
4
4
|
import 'react/jsx-runtime';
|
package/dist/chat.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-KC5QLVUG.esm.js";
|
|
8
8
|
import {
|
|
9
9
|
WorkforceSelector
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-AGJKK6R7.esm.js";
|
|
11
11
|
import {
|
|
12
12
|
Composer,
|
|
13
13
|
ComposerAddAttachment,
|
|
@@ -24,8 +24,8 @@ import {
|
|
|
24
24
|
useTimbalRuntime,
|
|
25
25
|
useTimbalStream,
|
|
26
26
|
useToolRunning
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-UY7AKWJL.esm.js";
|
|
28
|
+
import "./chunk-BMXFXLVV.esm.js";
|
|
29
29
|
export {
|
|
30
30
|
Composer,
|
|
31
31
|
ComposerAddAttachment,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
studioTopbarPillHeightClass
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UY7AKWJL.esm.js";
|
|
4
4
|
import {
|
|
5
5
|
cn,
|
|
6
6
|
controlSurfaceClass
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BMXFXLVV.esm.js";
|
|
8
8
|
|
|
9
9
|
// src/chat/workforce-selector.tsx
|
|
10
10
|
import { ChevronDownIcon } from "lucide-react";
|
|
@@ -95,6 +95,33 @@ var TIMBAL_V2_SHADOW = {
|
|
|
95
95
|
ghost: "",
|
|
96
96
|
link: ""
|
|
97
97
|
};
|
|
98
|
+
var TIMBAL_V2_PRIMARY_SURFACE = cn(
|
|
99
|
+
TIMBAL_V2_PRIMARY_GRADIENT,
|
|
100
|
+
TIMBAL_V2_SHADOW.primary,
|
|
101
|
+
TIMBAL_V2_BORDER.primary
|
|
102
|
+
);
|
|
103
|
+
var TIMBAL_V2_PRIMARY_PILL_ROOT = cn(
|
|
104
|
+
"relative box-border inline-flex items-center justify-center overflow-hidden rounded-full border-0 bg-transparent p-0 font-normal shadow-none transition duration-200 ease-in-out",
|
|
105
|
+
TIMBAL_V2_SHADOW.primary,
|
|
106
|
+
TIMBAL_V2_BORDER.primary
|
|
107
|
+
);
|
|
108
|
+
var TIMBAL_V2_PRIMARY_PILL_FILL_LAYER = cn(
|
|
109
|
+
"pointer-events-none absolute inset-0 transition duration-200 ease-in-out",
|
|
110
|
+
"bg-gradient-to-b from-primary-fill-from to-primary-fill-to",
|
|
111
|
+
"group-hover/avatar:from-primary-fill-hover-from group-hover/avatar:to-primary-fill-hover-to",
|
|
112
|
+
"group-active/avatar:from-primary-fill-active-from group-active/avatar:to-primary-fill-active-to"
|
|
113
|
+
);
|
|
114
|
+
var TIMBAL_V2_SECONDARY_PILL_ROOT = cn(
|
|
115
|
+
"relative box-border inline-flex items-center justify-center overflow-hidden rounded-full bg-transparent p-0 font-normal shadow-none transition duration-200 ease-in-out",
|
|
116
|
+
TIMBAL_V2_SHADOW.secondary,
|
|
117
|
+
TIMBAL_V2_BORDER.secondary
|
|
118
|
+
);
|
|
119
|
+
var TIMBAL_V2_SECONDARY_PILL_FILL_LAYER = cn(
|
|
120
|
+
"pointer-events-none absolute inset-0 transition duration-200 ease-in-out",
|
|
121
|
+
TIMBAL_V2_ELEVATED_GRADIENT,
|
|
122
|
+
"group-hover/avatar:from-secondary-fill-hover-from group-hover/avatar:to-secondary-fill-hover-to",
|
|
123
|
+
"group-active/avatar:from-secondary-fill-active-from group-active/avatar:to-secondary-fill-active-to"
|
|
124
|
+
);
|
|
98
125
|
var TIMBAL_V2_SWITCH_TRACK_OFF = cn(
|
|
99
126
|
TIMBAL_V2_ELEVATED_GRADIENT,
|
|
100
127
|
"border border-border shadow-card"
|
|
@@ -521,25 +548,74 @@ function DialogFooter({ className, ...props }) {
|
|
|
521
548
|
}
|
|
522
549
|
|
|
523
550
|
// src/ui/avatar.tsx
|
|
551
|
+
import * as React2 from "react";
|
|
524
552
|
import { Avatar as AvatarPrimitive } from "radix-ui";
|
|
525
|
-
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
553
|
+
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
554
|
+
var AVATAR_PRIMARY_FALLBACK_CLASS = cn(
|
|
555
|
+
TIMBAL_V2_SECONDARY_PILL_ROOT,
|
|
556
|
+
TIMBAL_V2_LABEL.secondary,
|
|
557
|
+
"font-medium"
|
|
558
|
+
);
|
|
559
|
+
var AVATAR_SECONDARY_FILL_STYLE = {
|
|
560
|
+
backgroundImage: "linear-gradient(to bottom, var(--elevated-from), var(--elevated-to))"
|
|
561
|
+
};
|
|
562
|
+
var AvatarChromeContext = React2.createContext(
|
|
563
|
+
null
|
|
564
|
+
);
|
|
565
|
+
function useAvatarChrome() {
|
|
566
|
+
return React2.useContext(AvatarChromeContext);
|
|
567
|
+
}
|
|
568
|
+
function isBrandedVariant(variant) {
|
|
569
|
+
return variant === "secondary" || variant === "primary" || variant === "chart";
|
|
570
|
+
}
|
|
571
|
+
function avatarChartVariantClass(_seed) {
|
|
572
|
+
return AVATAR_PRIMARY_FALLBACK_CLASS;
|
|
573
|
+
}
|
|
574
|
+
var AVATAR_SIZE_CLASS = {
|
|
575
|
+
default: "size-8",
|
|
576
|
+
sm: "size-6",
|
|
577
|
+
lg: "size-10"
|
|
578
|
+
};
|
|
526
579
|
function Avatar({
|
|
527
580
|
className,
|
|
528
581
|
size = "default",
|
|
582
|
+
variant: rootVariant,
|
|
583
|
+
children,
|
|
529
584
|
...props
|
|
530
585
|
}) {
|
|
531
|
-
|
|
586
|
+
const [chrome, setChrome] = React2.useState(rootVariant ?? "muted");
|
|
587
|
+
React2.useLayoutEffect(() => {
|
|
588
|
+
if (rootVariant !== void 0) {
|
|
589
|
+
setChrome(rootVariant);
|
|
590
|
+
}
|
|
591
|
+
}, [rootVariant]);
|
|
592
|
+
const branded = isBrandedVariant(chrome);
|
|
593
|
+
return /* @__PURE__ */ jsx5(AvatarChromeContext.Provider, { value: { chrome, setChrome }, children: /* @__PURE__ */ jsxs4(
|
|
532
594
|
AvatarPrimitive.Root,
|
|
533
595
|
{
|
|
534
596
|
"data-slot": "avatar",
|
|
535
597
|
"data-size": size,
|
|
598
|
+
"data-variant": branded ? "secondary" : chrome,
|
|
536
599
|
className: cn(
|
|
537
|
-
"group/avatar relative
|
|
600
|
+
"group/avatar relative shrink-0 select-none",
|
|
601
|
+
AVATAR_SIZE_CLASS[size],
|
|
602
|
+
branded ? TIMBAL_V2_SECONDARY_PILL_ROOT : "flex overflow-hidden rounded-full",
|
|
538
603
|
className
|
|
539
604
|
),
|
|
540
|
-
...props
|
|
605
|
+
...props,
|
|
606
|
+
children: [
|
|
607
|
+
branded ? /* @__PURE__ */ jsx5(
|
|
608
|
+
"span",
|
|
609
|
+
{
|
|
610
|
+
"aria-hidden": true,
|
|
611
|
+
className: TIMBAL_V2_SECONDARY_PILL_FILL_LAYER,
|
|
612
|
+
style: AVATAR_SECONDARY_FILL_STYLE
|
|
613
|
+
}
|
|
614
|
+
) : null,
|
|
615
|
+
children
|
|
616
|
+
]
|
|
541
617
|
}
|
|
542
|
-
);
|
|
618
|
+
) });
|
|
543
619
|
}
|
|
544
620
|
function AvatarImage({
|
|
545
621
|
className,
|
|
@@ -549,36 +625,56 @@ function AvatarImage({
|
|
|
549
625
|
AvatarPrimitive.Image,
|
|
550
626
|
{
|
|
551
627
|
"data-slot": "avatar-image",
|
|
552
|
-
className: cn(
|
|
628
|
+
className: cn(
|
|
629
|
+
"relative z-10 aspect-square size-full rounded-full object-cover",
|
|
630
|
+
className
|
|
631
|
+
),
|
|
553
632
|
...props
|
|
554
633
|
}
|
|
555
634
|
);
|
|
556
635
|
}
|
|
557
636
|
function AvatarFallback({
|
|
558
637
|
className,
|
|
638
|
+
variant = "muted",
|
|
639
|
+
seed: _seed,
|
|
640
|
+
children,
|
|
641
|
+
style,
|
|
559
642
|
...props
|
|
560
643
|
}) {
|
|
644
|
+
const chromeCtx = useAvatarChrome();
|
|
645
|
+
React2.useLayoutEffect(() => {
|
|
646
|
+
chromeCtx?.setChrome(variant);
|
|
647
|
+
}, [chromeCtx, variant]);
|
|
648
|
+
const branded = isBrandedVariant(variant);
|
|
561
649
|
return /* @__PURE__ */ jsx5(
|
|
562
650
|
AvatarPrimitive.Fallback,
|
|
563
651
|
{
|
|
564
652
|
"data-slot": "avatar-fallback",
|
|
653
|
+
"data-variant": branded ? "secondary" : variant,
|
|
565
654
|
className: cn(
|
|
566
|
-
"
|
|
655
|
+
"relative z-10 flex size-full items-center justify-center rounded-full",
|
|
656
|
+
branded ? cn(
|
|
657
|
+
"bg-transparent font-medium",
|
|
658
|
+
TIMBAL_V2_LABEL.secondary,
|
|
659
|
+
"text-sm group-data-[size=sm]/avatar:text-xs"
|
|
660
|
+
) : "bg-muted font-normal text-muted-foreground text-sm group-data-[size=sm]/avatar:text-xs",
|
|
567
661
|
className
|
|
568
662
|
),
|
|
569
|
-
|
|
663
|
+
style,
|
|
664
|
+
...props,
|
|
665
|
+
children
|
|
570
666
|
}
|
|
571
667
|
);
|
|
572
668
|
}
|
|
573
669
|
|
|
574
670
|
// src/ui/chart.tsx
|
|
575
|
-
import * as
|
|
671
|
+
import * as React3 from "react";
|
|
576
672
|
import * as RechartsPrimitive from "recharts";
|
|
577
|
-
import { Fragment, jsx as jsx6, jsxs as
|
|
673
|
+
import { Fragment, jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
578
674
|
var THEMES = { light: "", dark: ".dark" };
|
|
579
|
-
var ChartContext =
|
|
675
|
+
var ChartContext = React3.createContext(null);
|
|
580
676
|
function useChart() {
|
|
581
|
-
const context =
|
|
677
|
+
const context = React3.useContext(ChartContext);
|
|
582
678
|
if (!context) {
|
|
583
679
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
584
680
|
}
|
|
@@ -591,9 +687,9 @@ function ChartContainer({
|
|
|
591
687
|
config,
|
|
592
688
|
...props
|
|
593
689
|
}) {
|
|
594
|
-
const uniqueId =
|
|
690
|
+
const uniqueId = React3.useId();
|
|
595
691
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
596
|
-
return /* @__PURE__ */ jsx6(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */
|
|
692
|
+
return /* @__PURE__ */ jsx6(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs5(
|
|
597
693
|
"div",
|
|
598
694
|
{
|
|
599
695
|
"data-slot": "chart",
|
|
@@ -652,7 +748,7 @@ function ChartTooltipContent({
|
|
|
652
748
|
labelKey
|
|
653
749
|
}) {
|
|
654
750
|
const { config } = useChart();
|
|
655
|
-
const tooltipLabel =
|
|
751
|
+
const tooltipLabel = React3.useMemo(() => {
|
|
656
752
|
if (hideLabel || !payload?.length) {
|
|
657
753
|
return null;
|
|
658
754
|
}
|
|
@@ -672,7 +768,7 @@ function ChartTooltipContent({
|
|
|
672
768
|
return null;
|
|
673
769
|
}
|
|
674
770
|
const nestLabel = payload.length === 1 && indicator !== "dot";
|
|
675
|
-
return /* @__PURE__ */
|
|
771
|
+
return /* @__PURE__ */ jsxs5(
|
|
676
772
|
"div",
|
|
677
773
|
{
|
|
678
774
|
className: cn(
|
|
@@ -693,7 +789,7 @@ function ChartTooltipContent({
|
|
|
693
789
|
"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
|
|
694
790
|
indicator === "dot" && "items-center"
|
|
695
791
|
),
|
|
696
|
-
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */
|
|
792
|
+
children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxs5(Fragment, { children: [
|
|
697
793
|
itemConfig?.icon ? /* @__PURE__ */ jsx6(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsx6(
|
|
698
794
|
"div",
|
|
699
795
|
{
|
|
@@ -712,7 +808,7 @@ function ChartTooltipContent({
|
|
|
712
808
|
}
|
|
713
809
|
}
|
|
714
810
|
),
|
|
715
|
-
/* @__PURE__ */
|
|
811
|
+
/* @__PURE__ */ jsxs5(
|
|
716
812
|
"div",
|
|
717
813
|
{
|
|
718
814
|
className: cn(
|
|
@@ -720,7 +816,7 @@ function ChartTooltipContent({
|
|
|
720
816
|
nestLabel ? "items-end" : "items-center"
|
|
721
817
|
),
|
|
722
818
|
children: [
|
|
723
|
-
/* @__PURE__ */
|
|
819
|
+
/* @__PURE__ */ jsxs5("div", { className: "grid gap-1.5", children: [
|
|
724
820
|
nestLabel ? tooltipLabel : null,
|
|
725
821
|
/* @__PURE__ */ jsx6("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
|
|
726
822
|
] }),
|
|
@@ -760,10 +856,10 @@ function ChartLegendContent({
|
|
|
760
856
|
children: payload.filter((item) => item.type !== "none").map((item, index) => {
|
|
761
857
|
const key = `${nameKey || item.dataKey || "value"}`;
|
|
762
858
|
const itemConfig = getPayloadConfigFromPayload(config, item, key);
|
|
763
|
-
return /* @__PURE__ */
|
|
859
|
+
return /* @__PURE__ */ jsxs5(
|
|
764
860
|
"div",
|
|
765
861
|
{
|
|
766
|
-
className: "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3",
|
|
862
|
+
className: "[&>svg]:text-muted-foreground flex min-w-0 max-w-[8rem] items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3",
|
|
767
863
|
children: [
|
|
768
864
|
itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsx6(itemConfig.icon, {}) : /* @__PURE__ */ jsx6(
|
|
769
865
|
"div",
|
|
@@ -772,7 +868,7 @@ function ChartLegendContent({
|
|
|
772
868
|
style: { backgroundColor: item.color }
|
|
773
869
|
}
|
|
774
870
|
),
|
|
775
|
-
itemConfig?.label
|
|
871
|
+
/* @__PURE__ */ jsx6("span", { className: "min-w-0 truncate", children: itemConfig?.label ?? (item.value != null ? String(item.value) : null) })
|
|
776
872
|
]
|
|
777
873
|
},
|
|
778
874
|
`${item.value ?? index}`
|
|
@@ -874,6 +970,8 @@ export {
|
|
|
874
970
|
DialogDescription,
|
|
875
971
|
DialogHeader,
|
|
876
972
|
DialogFooter,
|
|
973
|
+
AVATAR_PRIMARY_FALLBACK_CLASS,
|
|
974
|
+
avatarChartVariantClass,
|
|
877
975
|
Avatar,
|
|
878
976
|
AvatarImage,
|
|
879
977
|
AvatarFallback,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
} from "./chunk-QIABF4KB.esm.js";
|
|
21
21
|
import {
|
|
22
22
|
WorkforceSelector
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-AGJKK6R7.esm.js";
|
|
24
24
|
import {
|
|
25
25
|
Composer,
|
|
26
26
|
TimbalChat,
|
|
@@ -43,10 +43,10 @@ import {
|
|
|
43
43
|
studioTopbarIconPillClass,
|
|
44
44
|
studioTopbarPillHeightClass,
|
|
45
45
|
useTimbalRuntime
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-UY7AKWJL.esm.js";
|
|
47
47
|
import {
|
|
48
48
|
PillSegmentedTabs
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-NAMKO2MU.esm.js";
|
|
50
50
|
import {
|
|
51
51
|
Avatar,
|
|
52
52
|
AvatarFallback,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
TooltipContent,
|
|
57
57
|
TooltipTrigger,
|
|
58
58
|
cn
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-BMXFXLVV.esm.js";
|
|
60
60
|
|
|
61
61
|
// src/hooks/use-workforces.ts
|
|
62
62
|
import { useEffect, useMemo, useRef, useState } from "react";
|