@truefoundry/trueforge-ui 0.2.4 → 0.3.0-rc.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 +37 -0
- package/README.md +41 -17
- package/dist/{ConnectorSettings-ODC3LVHN.js → ConnectorSettings-FXQ5B7TN.js} +5 -5
- package/dist/{DockLayout-TEOWEMSV.js → DockLayout-LBNQJZNF.js} +9 -9
- package/dist/{DrawerLayout-2JOQ4EDZ.js → DrawerLayout-Q6UK4VMI.js} +9 -9
- package/dist/{ModelSettings-CKQ5CVAC.js → ModelSettings-4L4LOQJA.js} +5 -5
- package/dist/OpenUiFenceBlock-6UIIAVBX.js +9 -0
- package/dist/{SandboxSettings-HSCPYUOC.js → SandboxSettings-Z4ZG6ZX4.js} +5 -5
- package/dist/{SettingsBuilder-MYWRFXRI.js → SettingsBuilder-WF7ZWKQW.js} +7 -7
- package/dist/{SidebarLayout-6MHQYW45.js → SidebarLayout-3WZ3CVON.js} +31 -14
- package/dist/SidebarLayout-3WZ3CVON.js.map +1 -0
- package/dist/{SkillSettings-ECH6SHZ7.js → SkillSettings-3EPPC3IT.js} +5 -5
- package/dist/{TrueForgeUIWithRouter-KMHPOKLN.js → TrueForgeUIWithRouter-NZ4FGPE4.js} +7 -7
- package/dist/{WidgetLayout-4ZIG3RXV.js → WidgetLayout-3QZ357FL.js} +10 -10
- package/dist/{WidgetLayout-4ZIG3RXV.js.map → WidgetLayout-3QZ357FL.js.map} +1 -1
- package/dist/chunk-36KOSC2J.js +567 -0
- package/dist/chunk-36KOSC2J.js.map +1 -0
- package/dist/{chunk-IWPDSPVA.js → chunk-3S6KHO7H.js} +292 -239
- package/dist/chunk-3S6KHO7H.js.map +1 -0
- package/dist/{chunk-PUFYHFND.js → chunk-7L63OK3O.js} +7 -7
- package/dist/{chunk-JRRCAKEP.js → chunk-B52K63AW.js} +2 -2
- package/dist/{chunk-FXCYLEFB.js → chunk-BSIPI3KV.js} +18 -2
- package/dist/chunk-BSIPI3KV.js.map +1 -0
- package/dist/{chunk-IFLE7OMM.js → chunk-FJ5RSSMA.js} +4 -4
- package/dist/{chunk-IFLE7OMM.js.map → chunk-FJ5RSSMA.js.map} +1 -1
- package/dist/{chunk-XRTTKGKN.js → chunk-OSV3HI5M.js} +746 -680
- package/dist/chunk-OSV3HI5M.js.map +1 -0
- package/dist/{chunk-255AE5NI.js → chunk-WREC7D54.js} +13 -11
- package/dist/chunk-WREC7D54.js.map +1 -0
- package/dist/{chunk-OZTNBS6V.js → chunk-ZXOADNF3.js} +4 -4
- package/dist/index.d.ts +179 -121
- package/dist/index.js +17 -9
- package/dist/index.js.map +1 -1
- package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +1 -5
- package/dist/plugins/trueforge-agent-server-adapter/index.js +3 -0
- package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
- package/dist/OpenUiFenceBlock-3EFPY4JW.js +0 -9
- package/dist/SidebarLayout-6MHQYW45.js.map +0 -1
- package/dist/chunk-255AE5NI.js.map +0 -1
- package/dist/chunk-72LC2M3R.js +0 -567
- package/dist/chunk-72LC2M3R.js.map +0 -1
- package/dist/chunk-FXCYLEFB.js.map +0 -1
- package/dist/chunk-IWPDSPVA.js.map +0 -1
- package/dist/chunk-XRTTKGKN.js.map +0 -1
- /package/dist/{ConnectorSettings-ODC3LVHN.js.map → ConnectorSettings-FXQ5B7TN.js.map} +0 -0
- /package/dist/{DockLayout-TEOWEMSV.js.map → DockLayout-LBNQJZNF.js.map} +0 -0
- /package/dist/{DrawerLayout-2JOQ4EDZ.js.map → DrawerLayout-Q6UK4VMI.js.map} +0 -0
- /package/dist/{ModelSettings-CKQ5CVAC.js.map → ModelSettings-4L4LOQJA.js.map} +0 -0
- /package/dist/{OpenUiFenceBlock-3EFPY4JW.js.map → OpenUiFenceBlock-6UIIAVBX.js.map} +0 -0
- /package/dist/{SandboxSettings-HSCPYUOC.js.map → SandboxSettings-Z4ZG6ZX4.js.map} +0 -0
- /package/dist/{SettingsBuilder-MYWRFXRI.js.map → SettingsBuilder-WF7ZWKQW.js.map} +0 -0
- /package/dist/{SkillSettings-ECH6SHZ7.js.map → SkillSettings-3EPPC3IT.js.map} +0 -0
- /package/dist/{TrueForgeUIWithRouter-KMHPOKLN.js.map → TrueForgeUIWithRouter-NZ4FGPE4.js.map} +0 -0
- /package/dist/{chunk-PUFYHFND.js.map → chunk-7L63OK3O.js.map} +0 -0
- /package/dist/{chunk-JRRCAKEP.js.map → chunk-B52K63AW.js.map} +0 -0
- /package/dist/{chunk-OZTNBS6V.js.map → chunk-ZXOADNF3.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.0-rc.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 3539da2: Add `brand.mode` (`icon-title` | `icon-only` | `logo`) so hosts pick chrome look first; `name` always labels the mark, and `resolveBrandChrome` maps mode to layout chrome.
|
|
8
|
+
- 16feb29: Add `customActionRenderers` so hosts can pause the composer on client-side tools with their own UI and resume via `onSubmit(content)`.
|
|
9
|
+
- 0297727: Add context-management compaction triggers with model-aware defaults and migrate persisted legacy token thresholds.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- b11cfc3: Wire remote chat session deletion and improve the history delete action styling.
|
|
14
|
+
- 3ca4e2e: fixed the button component icon and padding, delete conflicting local prettier.json in trueforge-ui package
|
|
15
|
+
- a655537: Update published dependency ranges (AI SDK, Hono, MCP SDK, Redis, assistant-ui, and related packages).
|
|
16
|
+
- aa4be44: Open markdown links in assistant messages in a new tab
|
|
17
|
+
- d7015fd: show mcp server tool name on tool approval
|
|
18
|
+
- Updated dependencies [648273b]
|
|
19
|
+
- @truefoundry/trueforge-sdk@0.1.4-rc.0
|
|
20
|
+
|
|
21
|
+
## Unreleased
|
|
22
|
+
|
|
23
|
+
### Minor Changes
|
|
24
|
+
|
|
25
|
+
- **`brand.mode`** — explicit chrome look. Set `mode`, then pass the fields it requires.
|
|
26
|
+
`name` always labels the mark (`alt` / `aria-label`):
|
|
27
|
+
- **`'icon-title'`** — `name` + optional `icon` (title shown in expanded chrome)
|
|
28
|
+
- **`'icon-only'`** — `name` + `icon` (alt kept, no title text)
|
|
29
|
+
- **`'logo'`** — `name` + `icon` + `logo` (wordmark in expanded chrome; `name` is alt only)
|
|
30
|
+
- **Default** — omit `brand` for the TrueForge wordmark / square mark
|
|
31
|
+
- **`resolveBrandChrome()`** — maps `brand.mode` to
|
|
32
|
+
`{ expandedVariant, collapsedVariant, showTitle }`. `SidebarLayout` uses it; custom
|
|
33
|
+
layouts should too.
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
- **`BrandConfig`** — discriminated on `mode` (`BrandMode`). Removed `showTitle` from
|
|
38
|
+
config; visible title follows the mode.
|
|
39
|
+
|
|
3
40
|
## 0.2.4
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -19,8 +19,6 @@ Powered by [assistant-ui](https://www.assistant-ui.com/), it follows the familia
|
|
|
19
19
|
|
|
20
20
|
Bring your own **brand, colors, layout, components, and server**—the Agent SDK wires up the rest.
|
|
21
21
|
|
|
22
|
-
### Checkout the Demo [here](./example/)
|
|
23
|
-
|
|
24
22
|
---
|
|
25
23
|
|
|
26
24
|
## Table of contents
|
|
@@ -209,7 +207,7 @@ export default function App() {
|
|
|
209
207
|
}}
|
|
210
208
|
theme={{
|
|
211
209
|
preset: 'claude',
|
|
212
|
-
brand: { name: 'Acme',
|
|
210
|
+
brand: { mode: 'icon-title', name: 'Acme', icon: '/icon.svg' },
|
|
213
211
|
}}
|
|
214
212
|
overrides={{/* slot overrides */}}
|
|
215
213
|
className="h-full"
|
|
@@ -321,7 +319,15 @@ package). Host CSS on `.aui-markdown` / `.aui-syntax-highlighter` / `.aui-openui
|
|
|
321
319
|
|
|
322
320
|
## Brand / logo
|
|
323
321
|
|
|
324
|
-
|
|
322
|
+
Set `brand.mode`, then pass the fields that mode requires. `name` always labels the
|
|
323
|
+
mark (`alt` / `aria-label`).
|
|
324
|
+
|
|
325
|
+
| Look | `mode` | Required | Expanded chrome | Collapsed / compact |
|
|
326
|
+
| ------------ | -------------- | -------------------------- | ------------------------- | ------------------- |
|
|
327
|
+
| Default | omit `brand` | — | TrueForge wordmark | TrueForge square |
|
|
328
|
+
| Icon + title | `'icon-title'` | `name` (+ optional `icon`) | square + title text | square |
|
|
329
|
+
| Icon only | `'icon-only'` | `name`, `icon` | square (no title text) | square |
|
|
330
|
+
| Wide logo | `'logo'` | `name`, `icon`, `logo` | wide logo (no title text) | square |
|
|
325
331
|
|
|
326
332
|
```tsx
|
|
327
333
|
<TrueForgeUI
|
|
@@ -329,15 +335,28 @@ package). Host CSS on `.aui-markdown` / `.aui-syntax-highlighter` / `.aui-openui
|
|
|
329
335
|
layout="sidebar"
|
|
330
336
|
theme={{
|
|
331
337
|
brand: {
|
|
338
|
+
mode: 'icon-title',
|
|
332
339
|
name: 'Acme',
|
|
333
|
-
|
|
340
|
+
icon: '/brand/icon.svg',
|
|
334
341
|
},
|
|
335
342
|
}}
|
|
336
343
|
/>
|
|
337
344
|
```
|
|
338
345
|
|
|
339
|
-
|
|
340
|
-
|
|
346
|
+
Icon-only chrome (`name` kept for alt):
|
|
347
|
+
|
|
348
|
+
```tsx
|
|
349
|
+
theme={{
|
|
350
|
+
brand: {
|
|
351
|
+
mode: 'icon-only',
|
|
352
|
+
name: 'Acme',
|
|
353
|
+
icon: '/brand/icon.svg',
|
|
354
|
+
},
|
|
355
|
+
}}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
Wide logo for expanded chrome. A square `icon` is required because collapsed chrome,
|
|
359
|
+
the welcome screen, and the widget button continue to use the square asset:
|
|
341
360
|
|
|
342
361
|
```tsx
|
|
343
362
|
<TrueForgeUI
|
|
@@ -345,14 +364,19 @@ the resolved mode. `href` wraps the logo in a same-tab link:
|
|
|
345
364
|
layout="sidebar"
|
|
346
365
|
theme={{
|
|
347
366
|
brand: {
|
|
367
|
+
mode: 'logo',
|
|
348
368
|
name: 'Acme',
|
|
349
|
-
|
|
369
|
+
icon: '/brand/icon.svg',
|
|
370
|
+
logo: '/brand/wordmark.svg',
|
|
371
|
+
href: '/',
|
|
350
372
|
},
|
|
351
373
|
}}
|
|
352
374
|
/>
|
|
353
375
|
```
|
|
354
376
|
|
|
355
|
-
|
|
377
|
+
Both `icon` and `logo` accept `{ src, light, dark }`. The SDK picks the source matching the
|
|
378
|
+
resolved theme mode; setting only one light/dark source uses it for both. `href` wraps
|
|
379
|
+
configured images in a same-tab link.
|
|
356
380
|
|
|
357
381
|
**Component marks** — `theme.brand` takes image URLs only. To render an inline SVG or a custom
|
|
358
382
|
component, override the `BrandLogo` slot, the same way you replace any other atom:
|
|
@@ -361,7 +385,10 @@ component, override the `BrandLogo` slot, the same way you replace any other ato
|
|
|
361
385
|
<TrueForgeUI server={server} layout="sidebar" overrides={{ BrandLogo: MyMark }} />
|
|
362
386
|
```
|
|
363
387
|
|
|
364
|
-
**Custom layouts** — import `BrandLogo` and
|
|
388
|
+
**Custom layouts** — import `BrandLogo` and use `variant="icon"` for compact surfaces or
|
|
389
|
+
`variant="logo"` for expanded chrome. Prefer `resolveBrandChrome(useBrand())` so expanded
|
|
390
|
+
vs collapsed choices match the base layouts. Pair with `useBrandName()` when chrome should
|
|
391
|
+
show the title text (see [Custom layouts](#custom-layouts)).
|
|
365
392
|
|
|
366
393
|
> _Screenshot: external brand mark rendered in the base layout header._
|
|
367
394
|
|
|
@@ -424,8 +451,6 @@ Built-in `layout` values:
|
|
|
424
451
|
| `dock` | Fixed-width right panel; list XOR thread stack |
|
|
425
452
|
| `widget` | Same stack as `dock`, opened from a bottom-right FAB |
|
|
426
453
|
|
|
427
|
-
The [example app](./example/) switches between these four modes.
|
|
428
|
-
|
|
429
454
|
---
|
|
430
455
|
|
|
431
456
|
## Custom layouts
|
|
@@ -433,17 +458,15 @@ The [example app](./example/) switches between these four modes.
|
|
|
433
458
|
For full control, pass a React component as `layout`. The SDK still wires server, shell mode, slots, and runtime behind it.
|
|
434
459
|
|
|
435
460
|
```tsx
|
|
436
|
-
import { Thread, ThreadListContainer, BrandLogo,
|
|
461
|
+
import { Thread, ThreadListContainer, BrandLogo, useTheme } from '@truefoundry/trueforge-ui';
|
|
437
462
|
|
|
438
463
|
function Layout({ className }: { className?: string }) {
|
|
439
464
|
const { mode, setTheme } = useTheme();
|
|
440
|
-
const brandName = useBrandName();
|
|
441
465
|
|
|
442
466
|
return (
|
|
443
467
|
<div className={className} style={{ display: 'flex', height: '100%' }}>
|
|
444
468
|
<aside style={{ width: 256 }}>
|
|
445
|
-
<BrandLogo className="
|
|
446
|
-
<span>{brandName}</span>
|
|
469
|
+
<BrandLogo variant="logo" className="h-6 w-auto max-w-40" />
|
|
447
470
|
<ThreadListContainer />
|
|
448
471
|
</aside>
|
|
449
472
|
<main style={{ flex: 1, minWidth: 0 }}>
|
|
@@ -591,6 +614,7 @@ See [docs/server.md](./docs/server.md) for the full method list and BYO guidance
|
|
|
591
614
|
| `TrueForgeServerConfig` | Type | `server` prop: `truefoundry` / `trueforge` / `AgentUIServer` |
|
|
592
615
|
| `createTrueFoundryServer` | Function | Compose chat + builder into `AgentUIServer` |
|
|
593
616
|
| `Thread`, `ThreadListContainer`, `BrandLogo` | Components | Layout primitives for custom layouts |
|
|
617
|
+
| `resolveBrandChrome`, `useBrandName`, `useBrand` | Helpers | Brand chrome look + name for custom layouts |
|
|
594
618
|
| Composer / message / tool atoms | Components | Overridable, themeable building blocks |
|
|
595
619
|
| `SlotsProvider`, `useSlot`, `useTheme` | API | Overrides + theme mode |
|
|
596
620
|
| `AgentUIServer`, `AgentChatServer`, `AgentBuilderServer` | Types | Resolved server contract |
|
|
@@ -630,7 +654,7 @@ pnpm --filter @truefoundry/trueforge-ui test
|
|
|
630
654
|
pnpm --filter @truefoundry/trueforge-ui build
|
|
631
655
|
```
|
|
632
656
|
|
|
633
|
-
|
|
657
|
+
Publishing: see [RELEASING.md](../../RELEASING.md#releasing-truefoundrytrueforge-ui).
|
|
634
658
|
|
|
635
659
|
---
|
|
636
660
|
|
|
@@ -7,18 +7,18 @@ import {
|
|
|
7
7
|
auiInputClass,
|
|
8
8
|
useMCPAuth,
|
|
9
9
|
useToasterOptional
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OSV3HI5M.js";
|
|
11
11
|
import {
|
|
12
12
|
Icon,
|
|
13
13
|
getErrorMessage
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
15
15
|
import {
|
|
16
16
|
useCatalogServer
|
|
17
17
|
} from "./chunk-WQULF5AT.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-B52K63AW.js";
|
|
19
19
|
import {
|
|
20
20
|
cn
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-36KOSC2J.js";
|
|
22
22
|
|
|
23
23
|
// src/containers/SettingsBuilder/ConnectorSettings.tsx
|
|
24
24
|
import { useCallback, useEffect as useEffect2, useMemo, useState as useState3 } from "react";
|
|
@@ -920,4 +920,4 @@ var ConnectorSettings_default = ConnectorSettings;
|
|
|
920
920
|
export {
|
|
921
921
|
ConnectorSettings_default as default
|
|
922
922
|
};
|
|
923
|
-
//# sourceMappingURL=ConnectorSettings-
|
|
923
|
+
//# sourceMappingURL=ConnectorSettings-FXQ5B7TN.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
StackChatPanel
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-7L63OK3O.js";
|
|
5
|
+
import "./chunk-ZXOADNF3.js";
|
|
6
|
+
import "./chunk-3S6KHO7H.js";
|
|
7
|
+
import "./chunk-BSIPI3KV.js";
|
|
8
8
|
import "./chunk-M6MHLVSO.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-OSV3HI5M.js";
|
|
10
10
|
import {
|
|
11
11
|
CompactLayoutProvider
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
13
13
|
import "./chunk-WQULF5AT.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-B52K63AW.js";
|
|
15
15
|
import {
|
|
16
16
|
cn
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-36KOSC2J.js";
|
|
18
18
|
|
|
19
19
|
// src/layouts/DockLayout.tsx
|
|
20
20
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -34,4 +34,4 @@ function DockLayout({ className }) {
|
|
|
34
34
|
export {
|
|
35
35
|
DockLayout
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=DockLayout-
|
|
37
|
+
//# sourceMappingURL=DockLayout-LBNQJZNF.js.map
|
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
import {
|
|
3
3
|
NamedAgentHeaderLabel,
|
|
4
4
|
ShellActions
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZXOADNF3.js";
|
|
6
6
|
import {
|
|
7
7
|
Thread,
|
|
8
8
|
ThreadListContainer
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-3S6KHO7H.js";
|
|
10
|
+
import "./chunk-BSIPI3KV.js";
|
|
11
11
|
import {
|
|
12
12
|
useAui
|
|
13
13
|
} from "./chunk-M6MHLVSO.js";
|
|
14
14
|
import {
|
|
15
15
|
useSlot
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OSV3HI5M.js";
|
|
17
17
|
import {
|
|
18
18
|
Icon,
|
|
19
19
|
Spinner,
|
|
20
20
|
auiButtonClass
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
22
22
|
import {
|
|
23
23
|
useOptionalShellMode
|
|
24
24
|
} from "./chunk-WQULF5AT.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-B52K63AW.js";
|
|
26
26
|
import {
|
|
27
27
|
cn
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-36KOSC2J.js";
|
|
29
29
|
|
|
30
30
|
// src/layouts/DrawerLayout.tsx
|
|
31
31
|
import { lazy, Suspense, useEffect, useRef, useState } from "react";
|
|
32
32
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
33
|
-
var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-
|
|
33
|
+
var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-WF7ZWKQW.js"));
|
|
34
34
|
function DrawerLayout({ className }) {
|
|
35
35
|
const aui = useAui();
|
|
36
36
|
const shell = useOptionalShellMode();
|
|
@@ -156,4 +156,4 @@ function DrawerLayout({ className }) {
|
|
|
156
156
|
export {
|
|
157
157
|
DrawerLayout
|
|
158
158
|
};
|
|
159
|
-
//# sourceMappingURL=DrawerLayout-
|
|
159
|
+
//# sourceMappingURL=DrawerLayout-Q6UK4VMI.js.map
|
|
@@ -9,18 +9,18 @@ import {
|
|
|
9
9
|
SearchInput_default,
|
|
10
10
|
auiInputClass,
|
|
11
11
|
useToasterOptional
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-OSV3HI5M.js";
|
|
13
13
|
import {
|
|
14
14
|
Icon,
|
|
15
15
|
getErrorMessage
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
17
17
|
import {
|
|
18
18
|
useCatalogServer
|
|
19
19
|
} from "./chunk-WQULF5AT.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-B52K63AW.js";
|
|
21
21
|
import {
|
|
22
22
|
cn
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-36KOSC2J.js";
|
|
24
24
|
|
|
25
25
|
// src/containers/SettingsBuilder/ModelSettings.tsx
|
|
26
26
|
import { useCallback, useEffect as useEffect2, useMemo, useState as useState3 } from "react";
|
|
@@ -1081,4 +1081,4 @@ var ModelSettings_default = ModelSettings;
|
|
|
1081
1081
|
export {
|
|
1082
1082
|
ModelSettings_default as default
|
|
1083
1083
|
};
|
|
1084
|
-
//# sourceMappingURL=ModelSettings-
|
|
1084
|
+
//# sourceMappingURL=ModelSettings-4L4LOQJA.js.map
|
|
@@ -8,19 +8,19 @@ import {
|
|
|
8
8
|
Tooltip,
|
|
9
9
|
auiInputClass,
|
|
10
10
|
useToasterOptional
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OSV3HI5M.js";
|
|
12
12
|
import {
|
|
13
13
|
Icon,
|
|
14
14
|
Spinner,
|
|
15
15
|
getErrorMessage
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
17
17
|
import {
|
|
18
18
|
useCatalogServer
|
|
19
19
|
} from "./chunk-WQULF5AT.js";
|
|
20
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-B52K63AW.js";
|
|
21
21
|
import {
|
|
22
22
|
cn
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-36KOSC2J.js";
|
|
24
24
|
|
|
25
25
|
// src/containers/SettingsBuilder/SandboxSettings.tsx
|
|
26
26
|
import { useCallback, useEffect as useEffect2, useMemo, useState as useState2 } from "react";
|
|
@@ -598,4 +598,4 @@ var SandboxSettings_default = SandboxSettings;
|
|
|
598
598
|
export {
|
|
599
599
|
SandboxSettings_default as default
|
|
600
600
|
};
|
|
601
|
-
//# sourceMappingURL=SandboxSettings-
|
|
601
|
+
//# sourceMappingURL=SandboxSettings-Z4ZG6ZX4.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
auiButtonClass,
|
|
6
6
|
useCompactLayout,
|
|
7
7
|
useDraftCatalog
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
9
9
|
import {
|
|
10
10
|
useOptionalCatalogServer,
|
|
11
11
|
useOptionalRefreshServerCapabilities,
|
|
@@ -13,15 +13,15 @@ import {
|
|
|
13
13
|
} from "./chunk-WQULF5AT.js";
|
|
14
14
|
import {
|
|
15
15
|
cn
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-36KOSC2J.js";
|
|
17
17
|
|
|
18
18
|
// src/containers/SettingsBuilder/index.tsx
|
|
19
19
|
import { lazy, Suspense, useCallback, useEffect, useMemo } from "react";
|
|
20
20
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
-
var ModelSettings = lazy(() => import("./ModelSettings-
|
|
22
|
-
var ConnectorSettings = lazy(() => import("./ConnectorSettings-
|
|
23
|
-
var SkillSettings = lazy(() => import("./SkillSettings-
|
|
24
|
-
var SandboxSettings = lazy(() => import("./SandboxSettings-
|
|
21
|
+
var ModelSettings = lazy(() => import("./ModelSettings-4L4LOQJA.js"));
|
|
22
|
+
var ConnectorSettings = lazy(() => import("./ConnectorSettings-FXQ5B7TN.js"));
|
|
23
|
+
var SkillSettings = lazy(() => import("./SkillSettings-3EPPC3IT.js"));
|
|
24
|
+
var SandboxSettings = lazy(() => import("./SandboxSettings-Z4ZG6ZX4.js"));
|
|
25
25
|
function SettingsSectionFallback() {
|
|
26
26
|
return /* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center justify-center py-8", role: "status", "aria-live": "polite", "aria-busy": "true", children: [
|
|
27
27
|
/* @__PURE__ */ jsx(Spinner, { size: 20, className: "text-text-secondary" }),
|
|
@@ -140,4 +140,4 @@ var SettingsBuilder_default = TruefoundrySettingsBuilder;
|
|
|
140
140
|
export {
|
|
141
141
|
SettingsBuilder_default as default
|
|
142
142
|
};
|
|
143
|
-
//# sourceMappingURL=SettingsBuilder-
|
|
143
|
+
//# sourceMappingURL=SettingsBuilder-WF7ZWKQW.js.map
|
|
@@ -2,42 +2,47 @@
|
|
|
2
2
|
import {
|
|
3
3
|
NamedAgentHeaderLabel,
|
|
4
4
|
ShellActions
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZXOADNF3.js";
|
|
6
6
|
import {
|
|
7
7
|
Thread,
|
|
8
8
|
ThreadListContainer
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-3S6KHO7H.js";
|
|
10
|
+
import "./chunk-BSIPI3KV.js";
|
|
11
11
|
import {
|
|
12
12
|
useAui
|
|
13
13
|
} from "./chunk-M6MHLVSO.js";
|
|
14
14
|
import {
|
|
15
|
+
resolveBrandChrome,
|
|
15
16
|
useBrandName,
|
|
16
17
|
useChatHeaderContentVisible,
|
|
17
18
|
useSlot
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-OSV3HI5M.js";
|
|
19
20
|
import {
|
|
20
21
|
Icon,
|
|
21
22
|
Spinner,
|
|
22
23
|
auiButtonClass
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
24
25
|
import {
|
|
25
26
|
useOptionalShellMode
|
|
26
27
|
} from "./chunk-WQULF5AT.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-B52K63AW.js";
|
|
28
29
|
import {
|
|
29
|
-
cn
|
|
30
|
-
|
|
30
|
+
cn,
|
|
31
|
+
useBrand
|
|
32
|
+
} from "./chunk-36KOSC2J.js";
|
|
31
33
|
|
|
32
34
|
// src/layouts/SidebarLayout.tsx
|
|
33
35
|
import { lazy, Suspense, useEffect, useRef, useState } from "react";
|
|
34
36
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
35
|
-
var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-
|
|
37
|
+
var TruefoundrySettingsBuilder = lazy(() => import("./SettingsBuilder-WF7ZWKQW.js"));
|
|
36
38
|
var desktopCollapsed = false;
|
|
39
|
+
var brandLogoClassName = "h-5 max-w-40 shrink-0 object-contain";
|
|
37
40
|
function SidebarLayout({ className }) {
|
|
38
41
|
const aui = useAui();
|
|
39
42
|
const shell = useOptionalShellMode();
|
|
43
|
+
const brand = useBrand();
|
|
40
44
|
const brandName = useBrandName();
|
|
45
|
+
const chrome = resolveBrandChrome(brand);
|
|
41
46
|
const BrandLogo = useSlot("BrandLogo");
|
|
42
47
|
const AgentsLibraryButton = useSlot("AgentsLibraryButton");
|
|
43
48
|
const ClearChatButton = useSlot("ClearChatButton");
|
|
@@ -104,8 +109,14 @@ function SidebarLayout({ className }) {
|
|
|
104
109
|
className: cn("flex shrink-0 items-center px-3 py-3", collapsed ? "flex-col gap-3" : "justify-between gap-2"),
|
|
105
110
|
children: [
|
|
106
111
|
/* @__PURE__ */ jsxs("div", { className: cn("flex min-w-0 items-center text-text-primary", collapsed ? "justify-center" : "gap-2"), children: [
|
|
107
|
-
/* @__PURE__ */ jsx(
|
|
108
|
-
|
|
112
|
+
/* @__PURE__ */ jsx(
|
|
113
|
+
BrandLogo,
|
|
114
|
+
{
|
|
115
|
+
variant: collapsed ? chrome.collapsedVariant : chrome.expandedVariant,
|
|
116
|
+
className: cn(brandLogoClassName, (collapsed || chrome.expandedVariant === "icon") && "w-5")
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
!collapsed && chrome.showTitle && brandName != null ? /* @__PURE__ */ jsx("span", { className: "truncate text-lg font-semibold tracking-tight", children: brandName }) : null
|
|
109
120
|
] }),
|
|
110
121
|
/* @__PURE__ */ jsx(
|
|
111
122
|
"button",
|
|
@@ -223,8 +234,14 @@ function SidebarLayout({ className }) {
|
|
|
223
234
|
tabIndex: -1,
|
|
224
235
|
children: [
|
|
225
236
|
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b border-border px-3 py-3 text-text-primary", children: [
|
|
226
|
-
/* @__PURE__ */ jsx(
|
|
227
|
-
|
|
237
|
+
/* @__PURE__ */ jsx(
|
|
238
|
+
BrandLogo,
|
|
239
|
+
{
|
|
240
|
+
variant: chrome.expandedVariant,
|
|
241
|
+
className: cn(brandLogoClassName, chrome.expandedVariant === "icon" && "w-5")
|
|
242
|
+
}
|
|
243
|
+
),
|
|
244
|
+
chrome.showTitle && brandName != null ? /* @__PURE__ */ jsx("span", { className: "truncate text-lg font-semibold tracking-tight", children: brandName }) : null
|
|
228
245
|
] }),
|
|
229
246
|
/* @__PURE__ */ jsx(ThreadListContainer, { onThreadOpen: () => setMobileNavOpen(false) })
|
|
230
247
|
]
|
|
@@ -236,4 +253,4 @@ function SidebarLayout({ className }) {
|
|
|
236
253
|
export {
|
|
237
254
|
SidebarLayout
|
|
238
255
|
};
|
|
239
|
-
//# sourceMappingURL=SidebarLayout-
|
|
256
|
+
//# sourceMappingURL=SidebarLayout-3WZ3CVON.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/layouts/SidebarLayout.tsx"],"sourcesContent":["'use client';\n\nimport { lazy, Suspense, useEffect, useRef, useState } from 'react';\n\nimport { useAui } from '../assistant-ui.js';\nimport { auiButtonClass } from '../atoms/lib/buttonClasses.js';\nimport { cn } from '../atoms/lib/cn.js';\nimport { NamedAgentHeaderLabel } from '../atoms/NamedAgentHeaderLabel.js';\nimport { Spinner } from '../atoms/primitives/Spinner.js';\nimport { ShellActions } from '../atoms/ShellActions.js';\nimport { Thread } from '../containers/Thread.js';\nimport { ThreadListContainer } from '../containers/ThreadListContainer.js';\nimport { useChatHeaderContentVisible } from '../hooks/useChatChromeActionsVisible.js';\nimport { Icon } from '../icons/Icon.js';\nimport { useOptionalShellMode } from '../server/ShellModeContext.js';\nimport { resolveBrandChrome, useBrandName } from '../theme/brand.js';\nimport { useSlot } from '../theme/SlotsProvider.js';\nimport { useBrand } from '../theme/ThemeProvider.js';\n\nconst TruefoundrySettingsBuilder = lazy(() => import('../containers/SettingsBuilder/index.js'));\n\n// Survives ChatProvider remounts when openDraft / selectAgent bumps runtimeKey.\nlet desktopCollapsed = false;\n\nconst brandLogoClassName = 'h-5 max-w-40 shrink-0 object-contain';\n\nexport function SidebarLayout({ className }: { className?: string }) {\n const aui = useAui();\n const shell = useOptionalShellMode();\n const brand = useBrand();\n const brandName = useBrandName();\n const chrome = resolveBrandChrome(brand);\n const BrandLogo = useSlot('BrandLogo');\n const AgentsLibraryButton = useSlot('AgentsLibraryButton');\n const ClearChatButton = useSlot('ClearChatButton');\n const SaveAgentButton = useSlot('SaveAgentButton');\n const SelectAgentEmptyState = useSlot('SelectAgentEmptyState');\n const [collapsed, setCollapsed] = useState(desktopCollapsed);\n const setDesktopCollapsed = (value: boolean | ((prev: boolean) => boolean)) => {\n setCollapsed(prev => {\n const next = typeof value === 'function' ? value(prev) : value;\n desktopCollapsed = next;\n return next;\n });\n };\n const [mobileNavOpen, setMobileNavOpen] = useState(false);\n const menuBtnRef = useRef<HTMLButtonElement>(null);\n const dialogRef = useRef<HTMLDivElement>(null);\n const mainRef = useRef<HTMLDivElement>(null);\n const wasOpen = useRef(false);\n const isIdle = shell?.mode.status === 'idle';\n const settingsOpen = shell?.settingsOpen === true;\n const hasChatHeaderContent = useChatHeaderContentVisible();\n\n useEffect(() => {\n if (!mobileNavOpen) return;\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') setMobileNavOpen(false);\n };\n window.addEventListener('keydown', onKeyDown);\n return () => window.removeEventListener('keydown', onKeyDown);\n }, [mobileNavOpen]);\n\n useEffect(() => {\n const main = mainRef.current;\n if (mobileNavOpen) {\n wasOpen.current = true;\n if (main) main.inert = true;\n dialogRef.current?.focus();\n return;\n }\n if (wasOpen.current) {\n if (main) main.inert = false;\n menuBtnRef.current?.focus();\n wasOpen.current = false;\n }\n }, [mobileNavOpen]);\n\n const handleNewChat = () => {\n if (shell?.isComposerEnabled) {\n shell.openDraft();\n return;\n }\n shell?.setSettingsOpen(false);\n void Promise.resolve(aui.threads().switchToNewThread()).catch(() => undefined);\n };\n\n return (\n <div className={cn('relative flex h-full min-h-0 w-full min-w-0', className)}>\n {/* Desktop sidebar */}\n <aside\n className={cn(\n 'hidden min-h-0 shrink-0 flex-col border-r border-border bg-sidebar-bg transition-[width] duration-300 ease-in-out md:flex',\n collapsed ? 'w-16' : 'w-64',\n )}\n >\n <div\n className={cn('flex shrink-0 items-center px-3 py-3', collapsed ? 'flex-col gap-3' : 'justify-between gap-2')}\n >\n <div className={cn('flex min-w-0 items-center text-text-primary', collapsed ? 'justify-center' : 'gap-2')}>\n <BrandLogo\n variant={collapsed ? chrome.collapsedVariant : chrome.expandedVariant}\n className={cn(brandLogoClassName, (collapsed || chrome.expandedVariant === 'icon') && 'w-5')}\n />\n {!collapsed && chrome.showTitle && brandName != null ? (\n <span className=\"truncate text-lg font-semibold tracking-tight\">{brandName}</span>\n ) : null}\n </div>\n <button\n type=\"button\"\n aria-label={collapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n title={collapsed ? 'Expand sidebar' : 'Collapse sidebar'}\n aria-expanded={!collapsed}\n className={auiButtonClass({ variant: 'ghost', size: 'icon' })}\n onClick={() => setDesktopCollapsed(value => !value)}\n >\n <Icon name={collapsed ? 'panel-left-open' : 'panel-left-close'} />\n </button>\n </div>\n\n {/* Keep both trees mounted; toggle with `hidden` so AgentsLibraryButton does not remount. */}\n <nav className=\"flex min-h-0 flex-1 flex-col items-center gap-2 px-3\" hidden={!collapsed} aria-label=\"Sidebar\">\n {shell?.isNewChatEnabled !== false ? (\n <button\n type=\"button\"\n aria-label=\"Start new chat\"\n title=\"New chat\"\n className={auiButtonClass({ variant: 'ghost', size: 'icon' })}\n onClick={handleNewChat}\n >\n <Icon name=\"square-pen\" />\n </button>\n ) : null}\n <AgentsLibraryButton compact />\n </nav>\n <div className=\"flex min-h-0 flex-1 flex-col overflow-hidden\" hidden={collapsed}>\n <ThreadListContainer />\n </div>\n\n <footer\n className={cn(\n 'flex shrink-0 border-t border-border px-3 py-2',\n collapsed ? 'flex-col items-center gap-2' : 'items-center gap-1',\n )}\n >\n <ShellActions className={collapsed ? 'flex-col' : undefined} />\n </footer>\n </aside>\n\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col bg-primary-bg\">\n {/* Mobile ShellActions stay mounted while Settings is open so host overrides (e.g. logout) do not remount.\n Desktop keeps shell chrome in the aside footer (always mounted). */}\n <header\n className={cn(\n 'flex shrink-0 items-center gap-1 border-b border-border bg-topbar-bg px-2 py-1.5',\n // Desktop: hide when settings/idle or the thread header has nothing to show\n // (empty untitled draft). Mobile still needs Sessions + ShellActions.\n (settingsOpen || isIdle || !hasChatHeaderContent) && 'md:hidden',\n )}\n >\n {!settingsOpen ? (\n <>\n <button\n ref={menuBtnRef}\n type=\"button\"\n aria-label=\"Sessions\"\n aria-expanded={mobileNavOpen}\n className={cn(auiButtonClass({ variant: 'ghost', size: 'icon' }), 'md:hidden')}\n onClick={() => setMobileNavOpen(true)}\n >\n <Icon name=\"bars\" />\n </button>\n <NamedAgentHeaderLabel />\n <span className=\"min-w-0 flex-1\" />\n <ClearChatButton />\n <SaveAgentButton />\n </>\n ) : (\n <span className=\"min-w-0 flex-1\" />\n )}\n <div key=\"mobile-shell-actions\" className=\"md:hidden\">\n <ShellActions />\n </div>\n </header>\n\n <div ref={mainRef} className=\"min-h-0 min-w-0 flex-1\">\n {settingsOpen ? (\n <Suspense\n fallback={\n <div\n className=\"flex h-full items-center justify-center\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy=\"true\"\n >\n <Spinner size={28} className=\"text-text-primary\" />\n <span className=\"sr-only\">Loading</span>\n </div>\n }\n >\n <TruefoundrySettingsBuilder />\n </Suspense>\n ) : isIdle ? (\n <SelectAgentEmptyState />\n ) : (\n <Thread />\n )}\n </div>\n </div>\n\n {/* Mobile sessions drawer */}\n {mobileNavOpen ? (\n <>\n <button\n type=\"button\"\n aria-label=\"Close sessions\"\n className=\"absolute inset-0 z-[9] cursor-pointer bg-[var(--overlay)] md:hidden\"\n onClick={() => setMobileNavOpen(false)}\n />\n <div\n ref={dialogRef}\n className=\"absolute inset-y-0 left-0 z-10 flex w-full max-w-80 flex-col border-r border-border bg-sidebar-bg shadow-lg outline-none md:hidden\"\n role=\"dialog\"\n aria-label=\"Sessions\"\n tabIndex={-1}\n >\n <div className=\"flex shrink-0 items-center gap-2 border-b border-border px-3 py-3 text-text-primary\">\n <BrandLogo\n variant={chrome.expandedVariant}\n className={cn(brandLogoClassName, chrome.expandedVariant === 'icon' && 'w-5')}\n />\n {chrome.showTitle && brandName != null ? (\n <span className=\"truncate text-lg font-semibold tracking-tight\">{brandName}</span>\n ) : null}\n </div>\n <ThreadListContainer onThreadOpen={() => setMobileNavOpen(false)} />\n </div>\n </>\n ) : null}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -5,16 +5,16 @@ import {
|
|
|
5
5
|
SearchInput_default,
|
|
6
6
|
auiInputClass,
|
|
7
7
|
useToasterOptional
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OSV3HI5M.js";
|
|
9
9
|
import {
|
|
10
10
|
Icon,
|
|
11
11
|
getErrorMessage
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
13
13
|
import {
|
|
14
14
|
useCatalogServer
|
|
15
15
|
} from "./chunk-WQULF5AT.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-B52K63AW.js";
|
|
17
|
+
import "./chunk-36KOSC2J.js";
|
|
18
18
|
|
|
19
19
|
// src/containers/SettingsBuilder/SkillSettings.tsx
|
|
20
20
|
import { useCallback, useEffect, useMemo, useState as useState2 } from "react";
|
|
@@ -388,4 +388,4 @@ var SkillSettings_default = SkillSettings;
|
|
|
388
388
|
export {
|
|
389
389
|
SkillSettings_default as default
|
|
390
390
|
};
|
|
391
|
-
//# sourceMappingURL=SkillSettings-
|
|
391
|
+
//# sourceMappingURL=SkillSettings-3EPPC3IT.js.map
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-YIWUG6MC.js";
|
|
5
5
|
import {
|
|
6
6
|
TrueForgeUIShell
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-WREC7D54.js";
|
|
8
|
+
import "./chunk-BSIPI3KV.js";
|
|
9
9
|
import "./chunk-M6MHLVSO.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-OSV3HI5M.js";
|
|
11
|
+
import "./chunk-FJ5RSSMA.js";
|
|
12
12
|
import "./chunk-WQULF5AT.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-B52K63AW.js";
|
|
14
|
+
import "./chunk-36KOSC2J.js";
|
|
15
15
|
|
|
16
16
|
// src/containers/TrueForgeUIWithRouter.tsx
|
|
17
17
|
import { useMemo } from "react";
|
|
@@ -27,4 +27,4 @@ function TrueForgeUIWithRouter({
|
|
|
27
27
|
export {
|
|
28
28
|
TrueForgeUIWithRouter
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=TrueForgeUIWithRouter-
|
|
30
|
+
//# sourceMappingURL=TrueForgeUIWithRouter-NZ4FGPE4.js.map
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
StackChatPanel
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-7L63OK3O.js";
|
|
5
|
+
import "./chunk-ZXOADNF3.js";
|
|
6
|
+
import "./chunk-3S6KHO7H.js";
|
|
7
|
+
import "./chunk-BSIPI3KV.js";
|
|
8
8
|
import "./chunk-M6MHLVSO.js";
|
|
9
9
|
import {
|
|
10
10
|
useSlot
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OSV3HI5M.js";
|
|
12
12
|
import {
|
|
13
13
|
CompactLayoutProvider,
|
|
14
14
|
Icon,
|
|
15
15
|
auiButtonClass
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FJ5RSSMA.js";
|
|
17
17
|
import "./chunk-WQULF5AT.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-B52K63AW.js";
|
|
19
19
|
import {
|
|
20
20
|
cn
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-36KOSC2J.js";
|
|
22
22
|
|
|
23
23
|
// src/layouts/WidgetLayout.tsx
|
|
24
24
|
import { useEffect, useRef, useState } from "react";
|
|
@@ -92,7 +92,7 @@ function WidgetLayout({ className }) {
|
|
|
92
92
|
"aria-expanded": open,
|
|
93
93
|
"aria-label": open ? "Close chat" : "Open chat",
|
|
94
94
|
onClick: () => setOpen((v) => !v),
|
|
95
|
-
children: open ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "text-xl leading-none", children: "\xD7" }) : /* @__PURE__ */ jsx(BrandLogo, { className: "size-6" })
|
|
95
|
+
children: open ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "text-xl leading-none", children: "\xD7" }) : /* @__PURE__ */ jsx(BrandLogo, { variant: "icon", className: "size-6" })
|
|
96
96
|
}
|
|
97
97
|
)
|
|
98
98
|
] });
|
|
@@ -100,4 +100,4 @@ function WidgetLayout({ className }) {
|
|
|
100
100
|
export {
|
|
101
101
|
WidgetLayout
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=WidgetLayout-
|
|
103
|
+
//# sourceMappingURL=WidgetLayout-3QZ357FL.js.map
|