@timbal-ai/timbal-react 0.5.4 → 0.6.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/README.md +128 -4
- package/dist/app.cjs +5311 -0
- package/dist/app.d.cts +29 -0
- package/dist/app.d.ts +29 -0
- package/dist/app.esm.js +81 -0
- package/dist/chart-artifact-C71dk4xI.d.ts +329 -0
- package/dist/chart-artifact-CPEpOmtV.d.cts +329 -0
- package/dist/chat-CWtQWDtJ.d.cts +650 -0
- package/dist/chat-CWtQWDtJ.d.ts +650 -0
- package/dist/chat.cjs +4162 -0
- package/dist/chat.d.cts +13 -0
- package/dist/chat.d.ts +13 -0
- package/dist/chat.esm.js +51 -0
- package/dist/chunk-4TCJQSIX.esm.js +565 -0
- package/dist/chunk-IYENDIRY.esm.js +119 -0
- package/dist/chunk-KC5QLVUG.esm.js +22 -0
- package/dist/chunk-M4V6Q6XO.esm.js +1082 -0
- package/dist/chunk-OFHLFNJH.esm.js +138 -0
- package/dist/chunk-OVHR7J3J.esm.js +1574 -0
- package/dist/chunk-WLTW56MC.esm.js +66 -0
- package/dist/chunk-YJQLLFKP.esm.js +3672 -0
- package/dist/index.cjs +1823 -359
- package/dist/index.d.cts +15 -931
- package/dist/index.d.ts +15 -931
- package/dist/index.esm.js +187 -5578
- package/dist/layout-B9VayJhZ.d.cts +75 -0
- package/dist/layout-CQWngNQ7.d.ts +75 -0
- package/dist/studio.cjs +5734 -0
- package/dist/studio.d.cts +15 -0
- package/dist/studio.d.ts +15 -0
- package/dist/studio.esm.js +27 -0
- package/dist/styles.css +52 -2
- package/dist/timbal-v2-button-F4-z7m33.d.cts +40 -0
- package/dist/timbal-v2-button-F4-z7m33.d.ts +40 -0
- package/dist/ui.cjs +720 -0
- package/dist/ui.d.cts +74 -0
- package/dist/ui.d.ts +74 -0
- package/dist/ui.esm.js +44 -0
- package/dist/welcome--80i_O0p.d.cts +190 -0
- package/dist/welcome-BOizSp5h.d.ts +190 -0
- package/package.json +35 -3
- package/scripts/dev-linked.mjs +66 -0
- package/vite/local-dev.d.ts +4 -0
- package/vite/local-dev.mjs +71 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// src/design/sidebar-motion.ts
|
|
2
|
+
var STUDIO_SIDEBAR_EASE_ENTER = [0, 0, 0.2, 1];
|
|
3
|
+
var STUDIO_SIDEBAR_EASE_EXIT = [0.4, 0, 1, 1];
|
|
4
|
+
var STUDIO_SIDEBAR_EASE = [0.16, 1, 0.3, 1];
|
|
5
|
+
var STUDIO_SIDEBAR_ENTRIES_OUT_S = 0.1;
|
|
6
|
+
var STUDIO_SIDEBAR_WIDTH_S = 0.17;
|
|
7
|
+
var STUDIO_SIDEBAR_ENTRY_ITEM_IN_S = 0.18;
|
|
8
|
+
var STUDIO_SIDEBAR_STAGGER_S = 0.03;
|
|
9
|
+
var STUDIO_SIDEBAR_EXPAND_REVEAL_FRAC = 0.5;
|
|
10
|
+
var STUDIO_SIDEBAR_CONTENT_NUDGE_PX = 6;
|
|
11
|
+
var studioSidebarEntriesContainerVariants = {
|
|
12
|
+
hidden: {
|
|
13
|
+
opacity: 0,
|
|
14
|
+
transition: {
|
|
15
|
+
duration: STUDIO_SIDEBAR_ENTRIES_OUT_S,
|
|
16
|
+
ease: STUDIO_SIDEBAR_EASE_EXIT,
|
|
17
|
+
staggerChildren: 0
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
visible: {
|
|
21
|
+
opacity: 1,
|
|
22
|
+
transition: {
|
|
23
|
+
duration: 0.06,
|
|
24
|
+
ease: STUDIO_SIDEBAR_EASE_ENTER,
|
|
25
|
+
staggerChildren: STUDIO_SIDEBAR_STAGGER_S,
|
|
26
|
+
delayChildren: 0.02
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var studioSidebarEntryItemVariants = {
|
|
31
|
+
hidden: {
|
|
32
|
+
opacity: 0,
|
|
33
|
+
x: -STUDIO_SIDEBAR_CONTENT_NUDGE_PX,
|
|
34
|
+
scale: 0.99
|
|
35
|
+
},
|
|
36
|
+
visible: {
|
|
37
|
+
opacity: 1,
|
|
38
|
+
x: 0,
|
|
39
|
+
scale: 1,
|
|
40
|
+
transition: {
|
|
41
|
+
duration: STUDIO_SIDEBAR_ENTRY_ITEM_IN_S,
|
|
42
|
+
ease: STUDIO_SIDEBAR_EASE_ENTER
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function studioSidebarEntriesTransition(visible, reduced) {
|
|
47
|
+
if (reduced) return { duration: 0.01 };
|
|
48
|
+
return visible ? { duration: 0.06, ease: STUDIO_SIDEBAR_EASE_ENTER } : { duration: STUDIO_SIDEBAR_ENTRIES_OUT_S, ease: STUDIO_SIDEBAR_EASE_EXIT };
|
|
49
|
+
}
|
|
50
|
+
function studioSidebarWidthTransition(reduced, direction = "collapse") {
|
|
51
|
+
if (reduced) return { duration: 0.01 };
|
|
52
|
+
return {
|
|
53
|
+
duration: direction === "expand" ? STUDIO_SIDEBAR_WIDTH_S : STUDIO_SIDEBAR_WIDTH_S * 0.94,
|
|
54
|
+
ease: direction === "expand" ? STUDIO_SIDEBAR_EASE_ENTER : STUDIO_SIDEBAR_EASE_EXIT
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function studioSidebarDrawerTransition(reduced) {
|
|
58
|
+
if (reduced) return { duration: 0.01 };
|
|
59
|
+
return {
|
|
60
|
+
duration: 0.22,
|
|
61
|
+
ease: STUDIO_SIDEBAR_EASE
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function studioSidebarBackdropTransition(reduced) {
|
|
65
|
+
if (reduced) return { duration: 0.01 };
|
|
66
|
+
return { duration: 0.16, ease: STUDIO_SIDEBAR_EASE_EXIT };
|
|
67
|
+
}
|
|
68
|
+
|
|
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
|
+
};
|
|
105
|
+
var DOM_IDS = {
|
|
106
|
+
sidebarRuntimeAnchor: "timbal-studio-sidebar-runtime-anchor",
|
|
107
|
+
topbarBrandAnchor: "timbal-studio-topbar-brand-anchor"
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
// src/layout/shell-inset-context.tsx
|
|
111
|
+
import { createContext, useContext } from "react";
|
|
112
|
+
var ShellInsetContext = createContext(null);
|
|
113
|
+
var ShellInsetProvider = ShellInsetContext.Provider;
|
|
114
|
+
function useShellInsetReporter() {
|
|
115
|
+
return useContext(ShellInsetContext);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export {
|
|
119
|
+
STUDIO_SIDEBAR_ENTRIES_OUT_S,
|
|
120
|
+
STUDIO_SIDEBAR_WIDTH_S,
|
|
121
|
+
STUDIO_SIDEBAR_EXPAND_REVEAL_FRAC,
|
|
122
|
+
studioSidebarEntriesContainerVariants,
|
|
123
|
+
studioSidebarEntryItemVariants,
|
|
124
|
+
studioSidebarEntriesTransition,
|
|
125
|
+
studioSidebarWidthTransition,
|
|
126
|
+
studioSidebarDrawerTransition,
|
|
127
|
+
studioSidebarBackdropTransition,
|
|
128
|
+
SIDEBAR_WIDTH_PX,
|
|
129
|
+
SIDEBAR_WIDTH_COLLAPSED_PX,
|
|
130
|
+
SIDEBAR_MOBILE_PX,
|
|
131
|
+
SIDEBAR_INSET_PX_EXPANDED,
|
|
132
|
+
SIDEBAR_INSET_PX_COLLAPSED,
|
|
133
|
+
studioChromeShellStyle,
|
|
134
|
+
STORAGE_KEYS,
|
|
135
|
+
DOM_IDS,
|
|
136
|
+
ShellInsetProvider,
|
|
137
|
+
useShellInsetReporter
|
|
138
|
+
};
|