@timbal-ai/timbal-react 0.8.0 → 0.8.1

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cn
3
- } from "./chunk-QKO67F4V.esm.js";
3
+ } from "./chunk-QVAUCVQA.esm.js";
4
4
 
5
5
  // src/ui/pill-segmented-tabs.tsx
6
6
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  cn
3
- } from "./chunk-QKO67F4V.esm.js";
3
+ } from "./chunk-QVAUCVQA.esm.js";
4
4
 
5
5
  // src/ui/dropdown-menu.tsx
6
6
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
@@ -1,3 +1,48 @@
1
+ // src/design/tokens.ts
2
+ var SIDEBAR_WIDTH_PX = 224;
3
+ var SIDEBAR_WIDTH_COLLAPSED_PX = 52;
4
+ var SIDEBAR_MOBILE_PX = 272;
5
+ var SIDEBAR_GAP_PX = 12;
6
+ var SIDEBAR_CONTENT_GAP_PX = 8;
7
+ var TOPBAR_GAP_PX = 8;
8
+ var TOPBAR_HEIGHT_PX = 48;
9
+ var PILL_HEIGHT_PX = 40;
10
+ var SIDEBAR_INSET_PX_EXPANDED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_PX + SIDEBAR_CONTENT_GAP_PX;
11
+ var SIDEBAR_INSET_PX_COLLAPSED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_COLLAPSED_PX + SIDEBAR_CONTENT_GAP_PX;
12
+ var px = (n) => `${n / 16}rem`;
13
+ var SIDEBAR_WIDTH = px(SIDEBAR_WIDTH_PX);
14
+ var SIDEBAR_WIDTH_COLLAPSED = px(SIDEBAR_WIDTH_COLLAPSED_PX);
15
+ var SIDEBAR_GAP = px(SIDEBAR_GAP_PX);
16
+ var SIDEBAR_CONTENT_GAP = px(SIDEBAR_CONTENT_GAP_PX);
17
+ var TOPBAR_GAP = px(TOPBAR_GAP_PX);
18
+ var TOPBAR_HEIGHT = px(TOPBAR_HEIGHT_PX);
19
+ var PILL_HEIGHT = px(PILL_HEIGHT_PX);
20
+ var SIDEBAR_INSET_EXPANDED = px(SIDEBAR_INSET_PX_EXPANDED);
21
+ var SIDEBAR_INSET_COLLAPSED = px(SIDEBAR_INSET_PX_COLLAPSED);
22
+ var studioChromeShellStyle = {
23
+ "--studio-topbar-gap": TOPBAR_GAP,
24
+ "--studio-topbar-height": TOPBAR_HEIGHT,
25
+ "--studio-chrome-pill-height": PILL_HEIGHT,
26
+ "--studio-inset-top": `calc(${TOPBAR_GAP} + ${TOPBAR_HEIGHT})`,
27
+ "--studio-sidebar-gap": SIDEBAR_GAP,
28
+ "--studio-sidebar-width": SIDEBAR_WIDTH,
29
+ "--studio-sidebar-width-collapsed": SIDEBAR_WIDTH_COLLAPSED,
30
+ "--studio-sidebar-content-gap": SIDEBAR_CONTENT_GAP,
31
+ "--studio-inset-left": SIDEBAR_INSET_EXPANDED,
32
+ "--studio-inset-left-collapsed": SIDEBAR_INSET_COLLAPSED
33
+ };
34
+ var STORAGE_KEYS = {
35
+ sidebarCollapsed: "timbal-studio-sidebar-collapsed",
36
+ /** Used by `ModeToggle` in uncontrolled mode (`localStorage`). */
37
+ theme: "timbal-theme",
38
+ /** Used by the theme preset picker to remember the selected brand preset. */
39
+ themePreset: "timbal-theme-preset"
40
+ };
41
+ var DOM_IDS = {
42
+ sidebarRuntimeAnchor: "timbal-studio-sidebar-runtime-anchor",
43
+ topbarBrandAnchor: "timbal-studio-topbar-brand-anchor"
44
+ };
45
+
1
46
  // src/design/sidebar-motion.ts
2
47
  var STUDIO_SIDEBAR_EASE_ENTER = [0, 0, 0.2, 1];
3
48
  var STUDIO_SIDEBAR_EASE_EXIT = [0.4, 0, 1, 1];
@@ -66,49 +111,6 @@ function studioSidebarBackdropTransition(reduced) {
66
111
  return { duration: 0.16, ease: STUDIO_SIDEBAR_EASE_EXIT };
67
112
  }
68
113
 
69
- // src/design/tokens.ts
70
- var SIDEBAR_WIDTH_PX = 224;
71
- var SIDEBAR_WIDTH_COLLAPSED_PX = 52;
72
- var SIDEBAR_MOBILE_PX = 272;
73
- var SIDEBAR_GAP_PX = 12;
74
- var SIDEBAR_CONTENT_GAP_PX = 8;
75
- var TOPBAR_GAP_PX = 8;
76
- var TOPBAR_HEIGHT_PX = 48;
77
- var PILL_HEIGHT_PX = 40;
78
- var SIDEBAR_INSET_PX_EXPANDED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_PX + SIDEBAR_CONTENT_GAP_PX;
79
- var SIDEBAR_INSET_PX_COLLAPSED = SIDEBAR_GAP_PX + SIDEBAR_WIDTH_COLLAPSED_PX + SIDEBAR_CONTENT_GAP_PX;
80
- var px = (n) => `${n / 16}rem`;
81
- var SIDEBAR_WIDTH = px(SIDEBAR_WIDTH_PX);
82
- var SIDEBAR_WIDTH_COLLAPSED = px(SIDEBAR_WIDTH_COLLAPSED_PX);
83
- var SIDEBAR_GAP = px(SIDEBAR_GAP_PX);
84
- var SIDEBAR_CONTENT_GAP = px(SIDEBAR_CONTENT_GAP_PX);
85
- var TOPBAR_GAP = px(TOPBAR_GAP_PX);
86
- var TOPBAR_HEIGHT = px(TOPBAR_HEIGHT_PX);
87
- var PILL_HEIGHT = px(PILL_HEIGHT_PX);
88
- var SIDEBAR_INSET_EXPANDED = px(SIDEBAR_INSET_PX_EXPANDED);
89
- var SIDEBAR_INSET_COLLAPSED = px(SIDEBAR_INSET_PX_COLLAPSED);
90
- var studioChromeShellStyle = {
91
- "--studio-topbar-gap": TOPBAR_GAP,
92
- "--studio-topbar-height": TOPBAR_HEIGHT,
93
- "--studio-chrome-pill-height": PILL_HEIGHT,
94
- "--studio-inset-top": `calc(${TOPBAR_GAP} + ${TOPBAR_HEIGHT})`,
95
- "--studio-sidebar-gap": SIDEBAR_GAP,
96
- "--studio-sidebar-width": SIDEBAR_WIDTH,
97
- "--studio-sidebar-width-collapsed": SIDEBAR_WIDTH_COLLAPSED,
98
- "--studio-sidebar-content-gap": SIDEBAR_CONTENT_GAP,
99
- "--studio-inset-left": SIDEBAR_INSET_EXPANDED,
100
- "--studio-inset-left-collapsed": SIDEBAR_INSET_COLLAPSED
101
- };
102
- var STORAGE_KEYS = {
103
- sidebarCollapsed: "timbal-studio-sidebar-collapsed",
104
- /** Used by `ModeToggle` in uncontrolled mode (`localStorage`). */
105
- theme: "timbal-theme"
106
- };
107
- var DOM_IDS = {
108
- sidebarRuntimeAnchor: "timbal-studio-sidebar-runtime-anchor",
109
- topbarBrandAnchor: "timbal-studio-topbar-brand-anchor"
110
- };
111
-
112
114
  // src/layout/shell-inset-context.tsx
113
115
  import { createContext, useContext } from "react";
114
116
  var ShellInsetContext = createContext(null);
@@ -118,6 +120,14 @@ function useShellInsetReporter() {
118
120
  }
119
121
 
120
122
  export {
123
+ SIDEBAR_WIDTH_PX,
124
+ SIDEBAR_WIDTH_COLLAPSED_PX,
125
+ SIDEBAR_MOBILE_PX,
126
+ SIDEBAR_INSET_PX_EXPANDED,
127
+ SIDEBAR_INSET_PX_COLLAPSED,
128
+ studioChromeShellStyle,
129
+ STORAGE_KEYS,
130
+ DOM_IDS,
121
131
  STUDIO_SIDEBAR_ENTRIES_OUT_S,
122
132
  STUDIO_SIDEBAR_WIDTH_S,
123
133
  STUDIO_SIDEBAR_EXPAND_REVEAL_FRAC,
@@ -127,14 +137,6 @@ export {
127
137
  studioSidebarWidthTransition,
128
138
  studioSidebarDrawerTransition,
129
139
  studioSidebarBackdropTransition,
130
- SIDEBAR_WIDTH_PX,
131
- SIDEBAR_WIDTH_COLLAPSED_PX,
132
- SIDEBAR_MOBILE_PX,
133
- SIDEBAR_INSET_PX_EXPANDED,
134
- SIDEBAR_INSET_PX_COLLAPSED,
135
- studioChromeShellStyle,
136
- STORAGE_KEYS,
137
- DOM_IDS,
138
140
  ShellInsetProvider,
139
141
  useShellInsetReporter
140
142
  };
@@ -242,14 +242,83 @@ var TimbalV2Button = React.forwardRef(function TimbalV2Button2({
242
242
  );
243
243
  });
244
244
 
245
+ // src/ui/button.tsx
246
+ import { cva } from "class-variance-authority";
247
+ import { jsx as jsx2 } from "react/jsx-runtime";
248
+ var LEGACY_SIZE_TO_V2 = {
249
+ default: "md",
250
+ xs: "xs",
251
+ sm: "sm",
252
+ lg: "lg",
253
+ icon: "sm",
254
+ "icon-xs": "xs",
255
+ "icon-sm": "sm",
256
+ "icon-lg": "lg"
257
+ };
258
+ var buttonVariants = cva(
259
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0",
260
+ {
261
+ variants: {
262
+ variant: {
263
+ default: "",
264
+ destructive: "",
265
+ outline: "",
266
+ secondary: "",
267
+ ghost: "",
268
+ link: ""
269
+ },
270
+ size: {
271
+ default: "",
272
+ xs: "",
273
+ sm: "",
274
+ lg: "",
275
+ icon: "",
276
+ "icon-xs": "",
277
+ "icon-sm": "",
278
+ "icon-lg": ""
279
+ }
280
+ },
281
+ defaultVariants: {
282
+ variant: "default",
283
+ size: "default"
284
+ }
285
+ }
286
+ );
287
+ function Button({
288
+ className,
289
+ variant = "default",
290
+ size = "default",
291
+ asChild = false,
292
+ ...props
293
+ }) {
294
+ const v2Variant = TIMBAL_V2_FROM_LEGACY_BUTTON[variant ?? "default"];
295
+ const v2Size = LEGACY_SIZE_TO_V2[size ?? "default"];
296
+ const isIconOnly = typeof size === "string" && size.startsWith("icon");
297
+ return /* @__PURE__ */ jsx2(
298
+ TimbalV2Button,
299
+ {
300
+ "data-slot": "button",
301
+ "data-variant": variant,
302
+ "data-size": size,
303
+ variant: v2Variant,
304
+ size: v2Size,
305
+ shape: "pill",
306
+ isIconOnly,
307
+ asChild,
308
+ className: cn(buttonVariants({ variant, size, className })),
309
+ ...props
310
+ }
311
+ );
312
+ }
313
+
245
314
  // src/ui/tooltip.tsx
246
315
  import { Tooltip as TooltipPrimitive } from "radix-ui";
247
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
316
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
248
317
  function TooltipProvider({
249
318
  delayDuration = 0,
250
319
  ...props
251
320
  }) {
252
- return /* @__PURE__ */ jsx2(
321
+ return /* @__PURE__ */ jsx3(
253
322
  TooltipPrimitive.Provider,
254
323
  {
255
324
  "data-slot": "tooltip-provider",
@@ -261,12 +330,12 @@ function TooltipProvider({
261
330
  function Tooltip({
262
331
  ...props
263
332
  }) {
264
- return /* @__PURE__ */ jsx2(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
333
+ return /* @__PURE__ */ jsx3(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
265
334
  }
266
335
  function TooltipTrigger({
267
336
  ...props
268
337
  }) {
269
- return /* @__PURE__ */ jsx2(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
338
+ return /* @__PURE__ */ jsx3(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
270
339
  }
271
340
  function TooltipContent({
272
341
  className,
@@ -274,7 +343,7 @@ function TooltipContent({
274
343
  children,
275
344
  ...props
276
345
  }) {
277
- return /* @__PURE__ */ jsx2(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
346
+ return /* @__PURE__ */ jsx3(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs2(
278
347
  TooltipPrimitive.Content,
279
348
  {
280
349
  "data-slot": "tooltip-content",
@@ -286,7 +355,7 @@ function TooltipContent({
286
355
  ...props,
287
356
  children: [
288
357
  children,
289
- /* @__PURE__ */ jsx2(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
358
+ /* @__PURE__ */ jsx3(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
290
359
  ]
291
360
  }
292
361
  ) });
@@ -295,32 +364,32 @@ function TooltipContent({
295
364
  // src/ui/dialog.tsx
296
365
  import { XIcon } from "lucide-react";
297
366
  import { Dialog as DialogPrimitive } from "radix-ui";
298
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
367
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
299
368
  function Dialog({
300
369
  ...props
301
370
  }) {
302
- return /* @__PURE__ */ jsx3(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
371
+ return /* @__PURE__ */ jsx4(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
303
372
  }
304
373
  function DialogTrigger({
305
374
  ...props
306
375
  }) {
307
- return /* @__PURE__ */ jsx3(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
376
+ return /* @__PURE__ */ jsx4(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
308
377
  }
309
378
  function DialogPortal({
310
379
  ...props
311
380
  }) {
312
- return /* @__PURE__ */ jsx3(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
381
+ return /* @__PURE__ */ jsx4(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
313
382
  }
314
383
  function DialogClose({
315
384
  ...props
316
385
  }) {
317
- return /* @__PURE__ */ jsx3(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
386
+ return /* @__PURE__ */ jsx4(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
318
387
  }
319
388
  function DialogOverlay({
320
389
  className,
321
390
  ...props
322
391
  }) {
323
- return /* @__PURE__ */ jsx3(
392
+ return /* @__PURE__ */ jsx4(
324
393
  DialogPrimitive.Overlay,
325
394
  {
326
395
  "data-slot": "dialog-overlay",
@@ -339,7 +408,7 @@ function DialogContent({
339
408
  ...props
340
409
  }) {
341
410
  return /* @__PURE__ */ jsxs3(DialogPortal, { "data-slot": "dialog-portal", children: [
342
- /* @__PURE__ */ jsx3(DialogOverlay, {}),
411
+ /* @__PURE__ */ jsx4(DialogOverlay, {}),
343
412
  /* @__PURE__ */ jsxs3(
344
413
  DialogPrimitive.Content,
345
414
  {
@@ -358,8 +427,8 @@ function DialogContent({
358
427
  "data-slot": "dialog-close",
359
428
  className: "ring-offset-background focus:ring-ring data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-[opacity,background-color] hover:bg-ghost-fill-hover hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
360
429
  children: [
361
- /* @__PURE__ */ jsx3(XIcon, {}),
362
- /* @__PURE__ */ jsx3("span", { className: "sr-only", children: "Close" })
430
+ /* @__PURE__ */ jsx4(XIcon, {}),
431
+ /* @__PURE__ */ jsx4("span", { className: "sr-only", children: "Close" })
363
432
  ]
364
433
  }
365
434
  )
@@ -372,7 +441,7 @@ function DialogTitle({
372
441
  className,
373
442
  ...props
374
443
  }) {
375
- return /* @__PURE__ */ jsx3(
444
+ return /* @__PURE__ */ jsx4(
376
445
  DialogPrimitive.Title,
377
446
  {
378
447
  "data-slot": "dialog-title",
@@ -385,7 +454,7 @@ function DialogDescription({
385
454
  className,
386
455
  ...props
387
456
  }) {
388
- return /* @__PURE__ */ jsx3(
457
+ return /* @__PURE__ */ jsx4(
389
458
  DialogPrimitive.Description,
390
459
  {
391
460
  "data-slot": "dialog-description",
@@ -395,7 +464,7 @@ function DialogDescription({
395
464
  );
396
465
  }
397
466
  function DialogHeader({ className, ...props }) {
398
- return /* @__PURE__ */ jsx3(
467
+ return /* @__PURE__ */ jsx4(
399
468
  "div",
400
469
  {
401
470
  "data-slot": "dialog-header",
@@ -405,7 +474,7 @@ function DialogHeader({ className, ...props }) {
405
474
  );
406
475
  }
407
476
  function DialogFooter({ className, ...props }) {
408
- return /* @__PURE__ */ jsx3(
477
+ return /* @__PURE__ */ jsx4(
409
478
  "div",
410
479
  {
411
480
  "data-slot": "dialog-footer",
@@ -420,13 +489,13 @@ function DialogFooter({ className, ...props }) {
420
489
 
421
490
  // src/ui/avatar.tsx
422
491
  import { Avatar as AvatarPrimitive } from "radix-ui";
423
- import { jsx as jsx4 } from "react/jsx-runtime";
492
+ import { jsx as jsx5 } from "react/jsx-runtime";
424
493
  function Avatar({
425
494
  className,
426
495
  size = "default",
427
496
  ...props
428
497
  }) {
429
- return /* @__PURE__ */ jsx4(
498
+ return /* @__PURE__ */ jsx5(
430
499
  AvatarPrimitive.Root,
431
500
  {
432
501
  "data-slot": "avatar",
@@ -443,7 +512,7 @@ function AvatarImage({
443
512
  className,
444
513
  ...props
445
514
  }) {
446
- return /* @__PURE__ */ jsx4(
515
+ return /* @__PURE__ */ jsx5(
447
516
  AvatarPrimitive.Image,
448
517
  {
449
518
  "data-slot": "avatar-image",
@@ -456,7 +525,7 @@ function AvatarFallback({
456
525
  className,
457
526
  ...props
458
527
  }) {
459
- return /* @__PURE__ */ jsx4(
528
+ return /* @__PURE__ */ jsx5(
460
529
  AvatarPrimitive.Fallback,
461
530
  {
462
531
  "data-slot": "avatar-fallback",
@@ -469,75 +538,6 @@ function AvatarFallback({
469
538
  );
470
539
  }
471
540
 
472
- // src/ui/button.tsx
473
- import { cva } from "class-variance-authority";
474
- import { jsx as jsx5 } from "react/jsx-runtime";
475
- var LEGACY_SIZE_TO_V2 = {
476
- default: "md",
477
- xs: "xs",
478
- sm: "sm",
479
- lg: "lg",
480
- icon: "sm",
481
- "icon-xs": "xs",
482
- "icon-sm": "sm",
483
- "icon-lg": "lg"
484
- };
485
- var buttonVariants = cva(
486
- "inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0",
487
- {
488
- variants: {
489
- variant: {
490
- default: "",
491
- destructive: "",
492
- outline: "",
493
- secondary: "",
494
- ghost: "",
495
- link: ""
496
- },
497
- size: {
498
- default: "",
499
- xs: "",
500
- sm: "",
501
- lg: "",
502
- icon: "",
503
- "icon-xs": "",
504
- "icon-sm": "",
505
- "icon-lg": ""
506
- }
507
- },
508
- defaultVariants: {
509
- variant: "default",
510
- size: "default"
511
- }
512
- }
513
- );
514
- function Button({
515
- className,
516
- variant = "default",
517
- size = "default",
518
- asChild = false,
519
- ...props
520
- }) {
521
- const v2Variant = TIMBAL_V2_FROM_LEGACY_BUTTON[variant ?? "default"];
522
- const v2Size = LEGACY_SIZE_TO_V2[size ?? "default"];
523
- const isIconOnly = typeof size === "string" && size.startsWith("icon");
524
- return /* @__PURE__ */ jsx5(
525
- TimbalV2Button,
526
- {
527
- "data-slot": "button",
528
- "data-variant": variant,
529
- "data-size": size,
530
- variant: v2Variant,
531
- size: v2Size,
532
- shape: "pill",
533
- isIconOnly,
534
- asChild,
535
- className: cn(buttonVariants({ variant, size, className })),
536
- ...props
537
- }
538
- );
539
- }
540
-
541
541
  // src/ui/shimmer.tsx
542
542
  import { motion } from "motion/react";
543
543
  import {
@@ -593,6 +593,7 @@ export {
593
593
  TIMBAL_V2_SECONDARY_CHROME,
594
594
  TIMBAL_V2_LOGO_TILE,
595
595
  TimbalV2Button,
596
+ Button,
596
597
  TooltipProvider,
597
598
  Tooltip,
598
599
  TooltipTrigger,
@@ -610,6 +611,5 @@ export {
610
611
  Avatar,
611
612
  AvatarImage,
612
613
  AvatarFallback,
613
- Button,
614
614
  Shimmer
615
615
  };
@@ -17,10 +17,10 @@ import {
17
17
  studioSidebarEntryItemVariants,
18
18
  studioSidebarWidthTransition,
19
19
  useShellInsetReporter
20
- } from "./chunk-Z27GBSOT.esm.js";
20
+ } from "./chunk-QIABF4KB.esm.js";
21
21
  import {
22
22
  WorkforceSelector
23
- } from "./chunk-ZG5NBHOS.esm.js";
23
+ } from "./chunk-CFU3YDTV.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-VVTTLIGT.esm.js";
46
+ } from "./chunk-5ZKLPWVN.esm.js";
47
47
  import {
48
48
  PillSegmentedTabs
49
- } from "./chunk-YNDXBN6C.esm.js";
49
+ } from "./chunk-OISVICYF.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-QKO67F4V.esm.js";
59
+ } from "./chunk-QVAUCVQA.esm.js";
60
60
 
61
61
  // src/hooks/use-workforces.ts
62
62
  import { useEffect, useMemo, useRef, useState } from "react";