@timbal-ai/timbal-react 1.4.0 → 1.5.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 +14 -0
- package/README.md +18 -4
- package/dist/app.cjs +3532 -1483
- package/dist/app.d.cts +75 -30
- package/dist/app.d.ts +75 -30
- package/dist/app.esm.js +29 -7
- package/dist/{chart-artifact-CMnDys2t.d.ts → chart-artifact-2OTDTRwM.d.ts} +194 -40
- package/dist/{chart-artifact-C8-Py6lc.d.cts → chart-artifact-CS3qyGIY.d.cts} +194 -40
- package/dist/chat.cjs +264 -107
- package/dist/chat.d.cts +2 -2
- package/dist/chat.d.ts +2 -2
- package/dist/chat.esm.js +4 -3
- package/dist/chunk-5ECRZ5O7.esm.js +899 -0
- package/dist/{chunk-QU7ET55D.esm.js → chunk-AZL2WANO.esm.js} +320 -177
- package/dist/{chunk-OH23AX2V.esm.js → chunk-B4XAC4G7.esm.js} +430 -780
- package/dist/chunk-EDEKQYSU.esm.js +10 -0
- package/dist/{chunk-GQBYZRD7.esm.js → chunk-IGHBLJV3.esm.js} +38 -27
- package/dist/{chunk-OFWC4MIY.esm.js → chunk-JYDJRGDE.esm.js} +5 -3
- package/dist/{chunk-VOWNCS3F.esm.js → chunk-SZDYIRMB.esm.js} +1567 -490
- package/dist/chunk-TZI3ID3C.esm.js +232 -0
- package/dist/{chunk-THBA27QY.esm.js → chunk-WMKPT5BV.esm.js} +242 -123
- package/dist/{chunk-VXMM2HX7.esm.js → chunk-ZNYAETFD.esm.js} +1 -1
- package/dist/{circular-progress-Ci8L-Hfa.d.cts → circular-progress-CDsJwIPF.d.cts} +19 -77
- package/dist/{circular-progress-Ci8L-Hfa.d.ts → circular-progress-CDsJwIPF.d.ts} +19 -77
- package/dist/index.cjs +5506 -3626
- package/dist/index.d.cts +7 -6
- package/dist/index.d.ts +7 -6
- package/dist/index.esm.js +45 -33
- package/dist/kanban-U5xNe9py.d.cts +212 -0
- package/dist/kanban-U5xNe9py.d.ts +212 -0
- package/dist/{layout-BTJyU8wd.d.ts → layout-B8r6Jbat.d.ts} +1 -1
- package/dist/{layout-C2G-FcER.d.cts → layout-Cu7Ijn04.d.cts} +1 -1
- package/dist/site.cjs +358 -0
- package/dist/site.d.cts +184 -0
- package/dist/site.d.ts +184 -0
- package/dist/site.esm.js +322 -0
- package/dist/studio.cjs +702 -343
- package/dist/studio.d.cts +1 -1
- package/dist/studio.d.ts +1 -1
- package/dist/studio.esm.js +7 -5
- package/dist/styles.css +56 -0
- package/dist/{timbal-v2-button-CNfdwGq4.d.cts → timbal-v2-button-B7vPs7gg.d.cts} +2 -2
- package/dist/{timbal-v2-button-CNfdwGq4.d.ts → timbal-v2-button-B7vPs7gg.d.ts} +2 -2
- package/dist/ui.cjs +1504 -659
- package/dist/ui.d.cts +11 -4
- package/dist/ui.d.ts +11 -4
- package/dist/ui.esm.js +35 -26
- package/dist/{welcome-DXqsGTwH.d.ts → welcome-DduQAC4K.d.ts} +4 -0
- package/dist/{welcome-BFGRoNfK.d.cts → welcome-NXZlcihe.d.cts} +4 -0
- package/package.json +9 -1
- package/dist/button-BoyX5pM_.d.cts +0 -18
- package/dist/button-BoyX5pM_.d.ts +0 -18
- package/dist/chunk-UCGVL7ZY.esm.js +0 -52
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ All notable changes to `@timbal-ai/timbal-react` are documented here.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [1.5.0] — 2026-06-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **`Kanban` board primitive** (`src/ui/kanban.tsx`) — A fully-featured, highly accessible Kanban board with column customization, drag-and-drop capabilities powered by `@dnd-kit`, and a read-only mode for static board rendering.
|
|
12
|
+
- **App density system** (`src/app/layout/app-density-context.tsx`, `src/design/app-density.ts`) — Context-driven density controls supporting "standard" and "compact" layouts. Compact mode cascades tighter padding, smaller text, and lower default heights to descendant components (pages, charts, tables).
|
|
13
|
+
- **Advanced filtering** (`src/app/data/FilterDropdown.tsx`, `src/app/data/FilterField.tsx`) — Rich multi-level filter dropdowns with searchable sub-menus and filter fields for complex data querying.
|
|
14
|
+
- **Site/Marketing primitives** (`src/site/`) — A brand new `./site` subpath export containing five high-quality interactive and marketing-grade components:
|
|
15
|
+
- **`Magnetic`** — magnetic hover effect that pulls elements toward the cursor.
|
|
16
|
+
- **`Marquee`** — high-performance, infinite scrolling marquee.
|
|
17
|
+
- **`Parallax`** — scroll-driven parallax container with custom speed factors.
|
|
18
|
+
- **`Reveal`** — scroll or entrance fade-in reveal with custom directions and delays.
|
|
19
|
+
- **`TextReveal`** — character-by-character or word-by-word scroll-reveal animations.
|
|
20
|
+
|
|
7
21
|
## [1.4.0] — 2026-06-05
|
|
8
22
|
|
|
9
23
|
### Added
|
package/README.md
CHANGED
|
@@ -342,12 +342,26 @@ function MyShell() {
|
|
|
342
342
|
To inset a main column that follows the sidebar as it collapses, use `AppShell`, which wires the tracking automatically:
|
|
343
343
|
|
|
344
344
|
```tsx
|
|
345
|
-
import { AppShell, StudioSidebar } from "@timbal-ai/timbal-react";
|
|
345
|
+
import { AppShell, StudioSidebar, useAppShellNav } from "@timbal-ai/timbal-react";
|
|
346
|
+
|
|
347
|
+
// Rendered inside AppShell, so it can read the shell's mobile-nav controls and
|
|
348
|
+
// wire the drawer. The sidebar already closes itself on selection (mobile).
|
|
349
|
+
function Sidebar({ agent, onSelect }: { agent: string; onSelect: (id: string) => void }) {
|
|
350
|
+
const nav = useAppShellNav();
|
|
351
|
+
return (
|
|
352
|
+
<StudioSidebar
|
|
353
|
+
selectedId={agent}
|
|
354
|
+
onSelect={onSelect}
|
|
355
|
+
mobileOpen={nav.open}
|
|
356
|
+
onMobileOpenChange={nav.setOpen}
|
|
357
|
+
/>
|
|
358
|
+
);
|
|
359
|
+
}
|
|
346
360
|
|
|
347
361
|
function MyShell() {
|
|
348
362
|
const [agent, setAgent] = useState("agent-a");
|
|
349
363
|
return (
|
|
350
|
-
<AppShell sidebar={<
|
|
364
|
+
<AppShell sidebar={<Sidebar agent={agent} onSelect={setAgent} />}>
|
|
351
365
|
{/* main content insets + animates with the sidebar */}
|
|
352
366
|
</AppShell>
|
|
353
367
|
);
|
|
@@ -961,6 +975,7 @@ import { controlClass, overlaySurfaceClass, overlayItemClass } from "@timbal-ai/
|
|
|
961
975
|
- **Layout / disclosure:** `Accordion` · `AccordionItem` · `AccordionTrigger` · `AccordionContent` · `Separator` · `AspectRatio`
|
|
962
976
|
- **Input chrome:** `InputGroup` (+ addon/control/text) · `Spinner`
|
|
963
977
|
- **More primitives:** `AvatarGroup` (overflow stack) · `Stepper` (wizard progress) · `Timeline` (event rail) · `Rating` (stars) · `NumberField` (stepper input) · `TagInput` (chips) · `Banner` (page notice) · `CopyButton` · `Snippet` (code + copy) · `CircularProgress` (SVG ring) — all dependency-free, on the shared tokens / control surface
|
|
978
|
+
- **`Kanban`** (drag-and-drop board) — accessible columns + cards on `@dnd-kit` (pointer **and** keyboard sensors, cross-column moves, empty-column drop zones, drag overlay). Controlled (`columns` + `onColumnsChange`) or uncontrolled (`defaultColumns`); `onMove` reports `{ card, from, to }`. Variants: `density`, column `tone`, `cardVariant`. Requires the peer deps `@dnd-kit/core`, `@dnd-kit/sortable`, `@dnd-kit/utilities`.
|
|
964
979
|
|
|
965
980
|
**Motion is built in.** Dialog, AlertDialog, Sheet, Popover, DropdownMenu, Select, Tooltip, Toast, NavigationMenu, and Accordion / Collapsible animate out of the box (fade / zoom / slide / height). The animation engine is **inlined in `styles.css`** — no `tailwindcss-animate` / `tw-animate-css` dependency and no consumer config. Duration flows from any `duration-*` utility (`--tw-duration`, default 150ms). When composing a custom overlay, reuse `overlayAnimationClass` rather than adding another animation library.
|
|
966
981
|
|
|
@@ -1045,7 +1060,6 @@ Compose a data UI with a **floating** copilot — main content stays full width:
|
|
|
1045
1060
|
```tsx
|
|
1046
1061
|
import {
|
|
1047
1062
|
AppShell,
|
|
1048
|
-
AppShellTopbar,
|
|
1049
1063
|
AppCopilotProvider,
|
|
1050
1064
|
AppChatPanel,
|
|
1051
1065
|
Page,
|
|
@@ -1057,7 +1071,7 @@ export function OperationsApp() {
|
|
|
1057
1071
|
<AppCopilotProvider value={{ page: "Operations", tab: "overview" }}>
|
|
1058
1072
|
<AppShell
|
|
1059
1073
|
sidebar={<StudioSidebar /* … */ />}
|
|
1060
|
-
topbar={<
|
|
1074
|
+
topbar={<div className="flex justify-end p-4"><ModeToggle /></div>}
|
|
1061
1075
|
chat={
|
|
1062
1076
|
<AppChatPanel workforceId="your-workforce-id" />
|
|
1063
1077
|
}
|