@hanzo/ui 8.27.54 → 8.27.56
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/dist/backends/gui/progress.cjs +2 -2
- package/dist/backends/gui/progress.d.ts +3 -1
- package/dist/backends/gui/progress.d.ts.map +1 -1
- package/dist/backends/gui/progress.js +2 -2
- package/dist/backends/gui/progress.js.map +1 -1
- package/dist/gallery.cjs +18 -1
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +21 -4
- package/dist/gallery.js +18 -1
- package/dist/gallery.js.map +1 -1
- package/dist/marketing/rows.cjs +5 -11
- package/dist/marketing/rows.d.ts +2 -1
- package/dist/marketing/rows.d.ts.map +1 -1
- package/dist/marketing/rows.js +5 -11
- package/dist/marketing/rows.js.map +1 -1
- package/dist/models/ModelSelector.cjs +7 -3
- package/dist/models/ModelSelector.d.ts +9 -1
- package/dist/models/ModelSelector.d.ts.map +1 -1
- package/dist/models/ModelSelector.js +7 -3
- package/dist/models/ModelSelector.js.map +1 -1
- package/dist/product/LimitedBanner.cjs +22 -0
- package/dist/product/LimitedBanner.d.ts +10 -0
- package/dist/product/LimitedBanner.d.ts.map +1 -0
- package/dist/product/LimitedBanner.js +20 -0
- package/dist/product/LimitedBanner.js.map +1 -0
- package/dist/product/PlanUsage.cjs +45 -0
- package/dist/product/PlanUsage.d.ts +15 -0
- package/dist/product/PlanUsage.d.ts.map +1 -0
- package/dist/product/PlanUsage.js +42 -0
- package/dist/product/PlanUsage.js.map +1 -0
- package/dist/product/UsageMeter.cjs +48 -0
- package/dist/product/UsageMeter.d.ts +18 -0
- package/dist/product/UsageMeter.d.ts.map +1 -0
- package/dist/product/UsageMeter.js +45 -0
- package/dist/product/UsageMeter.js.map +1 -0
- package/dist/product/index.cjs +8 -0
- package/dist/product/index.d.ts +5 -0
- package/dist/product/index.d.ts.map +1 -1
- package/dist/product/index.js +8 -0
- package/dist/product/index.js.map +1 -1
- package/dist/product/limits.cjs +246 -0
- package/dist/product/limits.d.ts +113 -0
- package/dist/product/limits.d.ts.map +1 -0
- package/dist/product/limits.js +233 -0
- package/dist/product/limits.js.map +1 -0
- package/dist/product/pure.cjs +17 -0
- package/dist/product/pure.d.ts +1 -0
- package/dist/product/pure.d.ts.map +1 -1
- package/dist/product/pure.js +3 -0
- package/dist/product/pure.js.map +1 -1
- package/dist/product/useLimits.cjs +124 -0
- package/dist/product/useLimits.d.ts +27 -0
- package/dist/product/useLimits.d.ts.map +1 -0
- package/dist/product/useLimits.js +120 -0
- package/dist/product/useLimits.js.map +1 -0
- package/dist/styles.css +17 -0
- package/package.json +1 -1
|
@@ -7,10 +7,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
7
7
|
const gui_1 = require("@hanzo/gui");
|
|
8
8
|
const sx_1 = require("../../sx.cjs");
|
|
9
9
|
const slot_1 = require("./slot.cjs");
|
|
10
|
-
const Progress = ({ value, indicatorClassName, ...props }) => ((0, jsx_runtime_1.jsx)(gui_1.Progress, { ...(0, slot_1.slot)('progress'), value: value ?? 0, height: 8, width: "100%", bg: "$edge", rounded: "$10", overflow: "hidden", ...props, children: (0, jsx_runtime_1.jsx)(gui_1.Progress.Indicator, { ...(0, slot_1.slot)('progress-indicator'),
|
|
10
|
+
const Progress = ({ value, indicatorClassName, indicatorColor, ...props }) => ((0, jsx_runtime_1.jsx)(gui_1.Progress, { ...(0, slot_1.slot)('progress'), value: value ?? 0, height: 8, width: "100%", bg: "$edge", rounded: "$10", overflow: "hidden", ...props, children: (0, jsx_runtime_1.jsx)(gui_1.Progress.Indicator, { ...(0, slot_1.slot)('progress-indicator'),
|
|
11
11
|
// Same reason as the slider's fill: `$ink` is the foreground rung, and
|
|
12
12
|
// a type colour stretched across a bar is a lit slab. 6.93:1 over the
|
|
13
13
|
// track against WCAG 1.4.11's 3:1 — legible with room to spare, and no
|
|
14
14
|
// longer competing with the text beside it for attention.
|
|
15
|
-
bg:
|
|
15
|
+
bg: indicatorColor ?? '$soft', ...(0, sx_1.sx)(indicatorClassName) }) }));
|
|
16
16
|
exports.Progress = Progress;
|
|
@@ -9,7 +9,9 @@ export type ProgressProps = ComponentProps<typeof GuiProgress> & {
|
|
|
9
9
|
* native, where gui paints from tokens.
|
|
10
10
|
*/
|
|
11
11
|
indicatorClassName?: string;
|
|
12
|
+
/** The moving bar's colour, a theme token: a status rung where the value is a state. */
|
|
13
|
+
indicatorColor?: ComponentProps<typeof GuiProgress.Indicator>['bg'];
|
|
12
14
|
};
|
|
13
|
-
declare const Progress: ({ value, indicatorClassName, ...props }: ProgressProps) => import("react").JSX.Element;
|
|
15
|
+
declare const Progress: ({ value, indicatorClassName, indicatorColor, ...props }: ProgressProps) => import("react").JSX.Element;
|
|
14
16
|
export { Progress };
|
|
15
17
|
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"AAEA,oDAAoD;AACpD,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,GAAG;IAC/D;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"AAEA,oDAAoD;AACpD,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAG3C,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,GAAG;IAC/D;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,wFAAwF;IACxF,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAA;CACpE,CAAA;AAED,QAAA,MAAM,QAAQ,4DAA6D,aAAa,gCAqBvF,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -4,11 +4,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
4
4
|
import { Progress as GuiProgress } from '@hanzo/gui';
|
|
5
5
|
import { sx } from '../../sx.js';
|
|
6
6
|
import { slot } from './slot.js';
|
|
7
|
-
const Progress = ({ value, indicatorClassName, ...props }) => (_jsx(GuiProgress, { ...slot('progress'), value: value ?? 0, height: 8, width: "100%", bg: "$edge", rounded: "$10", overflow: "hidden", ...props, children: _jsx(GuiProgress.Indicator, { ...slot('progress-indicator'),
|
|
7
|
+
const Progress = ({ value, indicatorClassName, indicatorColor, ...props }) => (_jsx(GuiProgress, { ...slot('progress'), value: value ?? 0, height: 8, width: "100%", bg: "$edge", rounded: "$10", overflow: "hidden", ...props, children: _jsx(GuiProgress.Indicator, { ...slot('progress-indicator'),
|
|
8
8
|
// Same reason as the slider's fill: `$ink` is the foreground rung, and
|
|
9
9
|
// a type colour stretched across a bar is a lit slab. 6.93:1 over the
|
|
10
10
|
// track against WCAG 1.4.11's 3:1 — legible with room to spare, and no
|
|
11
11
|
// longer competing with the text beside it for attention.
|
|
12
|
-
bg:
|
|
12
|
+
bg: indicatorColor ?? '$soft', ...sx(indicatorClassName) }) }));
|
|
13
13
|
export { Progress };
|
|
14
14
|
//# sourceMappingURL=progress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,oDAAoD;AACpD,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/backends/gui/progress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,oDAAoD;AACpD,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAc7B,MAAM,QAAQ,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,KAAK,EAAiB,EAAE,EAAE,CAAC,CAC3F,KAAC,WAAW,OACN,IAAI,CAAC,UAAU,CAAC,EACpB,KAAK,EAAE,KAAK,IAAI,CAAC,EACjB,MAAM,EAAE,CAAC,EACT,KAAK,EAAC,MAAM,EACZ,EAAE,EAAC,OAAO,EACV,OAAO,EAAC,KAAK,EACb,QAAQ,EAAC,QAAQ,KACb,KAAK,YAET,KAAC,WAAW,CAAC,SAAS,OAChB,IAAI,CAAC,oBAAoB,CAAC;QAC9B,uEAAuE;QACvE,sEAAsE;QACtE,uEAAuE;QACvE,0DAA0D;QAC1D,EAAE,EAAE,cAAc,IAAI,OAAO,KACzB,EAAE,CAAC,kBAAkB,CAAC,GAC1B,GACU,CACf,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
package/dist/gallery.cjs
CHANGED
|
@@ -38,6 +38,10 @@ const DialogTemplate_1 = require("./product/DialogTemplate.cjs");
|
|
|
38
38
|
const ChipSelect_1 = require("./product/ChipSelect.cjs");
|
|
39
39
|
const RepoSelect_1 = require("./product/RepoSelect.cjs");
|
|
40
40
|
const BranchSelect_1 = require("./product/BranchSelect.cjs");
|
|
41
|
+
const UsageMeter_1 = require("./product/UsageMeter.cjs");
|
|
42
|
+
const LimitedBanner_1 = require("./product/LimitedBanner.cjs");
|
|
43
|
+
const PlanUsage_1 = require("./product/PlanUsage.cjs");
|
|
44
|
+
const limits_1 = require("./product/limits.cjs");
|
|
41
45
|
const models_1 = require("./models/index.cjs");
|
|
42
46
|
const chat_1 = require("./chat/index.cjs");
|
|
43
47
|
const gui_2 = require("./backends/gui/index.cjs");
|
|
@@ -136,6 +140,19 @@ const SOURCES = [
|
|
|
136
140
|
* a 36px button sat halfway down beside a 320px panel with no relationship to
|
|
137
141
|
* it. Most of what read as raggedness was that one word.
|
|
138
142
|
*/
|
|
143
|
+
const USAGE = (0, limits_1.limitsOf)({
|
|
144
|
+
plan: 'max-20x',
|
|
145
|
+
state: 'limited',
|
|
146
|
+
classes: {
|
|
147
|
+
premium: { percent: 100, state: 'limited', paying: 'none', resets_at: '2026-10-31T00:00:00Z' },
|
|
148
|
+
ours: { percent: 85, state: 'near', paying: 'plan', resets_at: '2026-10-31T00:00:00Z', window: { percent: 40, state: 'ok', resets_at: '2026-10-31T00:00:00Z' } },
|
|
149
|
+
free: { percent: 20, state: 'ok', paying: 'prepaid', resets_at: '2026-10-31T00:00:00Z' },
|
|
150
|
+
},
|
|
151
|
+
actions: [
|
|
152
|
+
{ kind: 'upgrade', label: 'Upgrade', url: 'https://hanzo.ai/pricing' },
|
|
153
|
+
{ kind: 'topup', label: 'Add prepaid credit', url: 'https://hanzo.ai/billing' },
|
|
154
|
+
],
|
|
155
|
+
});
|
|
139
156
|
const Section = ({ name, children }) => ((0, jsx_runtime_1.jsx)("section", { "data-gallery": name, style: {
|
|
140
157
|
display: 'flex',
|
|
141
158
|
flexWrap: 'wrap',
|
|
@@ -165,7 +182,7 @@ const Gallery = () => ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex'
|
|
|
165
182
|
tabs: [
|
|
166
183
|
{ id: 'console', title: 'Console', closable: false, content: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "console" }) },
|
|
167
184
|
],
|
|
168
|
-
}, children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "center" }) }) }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "product-arrangements", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: '100%', maxWidth: 320 }, children: [(0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: 120 }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: "100%", height: 72, rounded: "$4" }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton.Text, { lines: 3 })] }), (0, jsx_runtime_1.jsx)(TooltipAnchor_1.TooltipAnchor, { description: "Delete this agent", children: (0, jsx_runtime_1.jsx)(gui_2.Button, { children: "hinted" }) }), (0, jsx_runtime_1.jsx)(gui_2.Dialog, { open: true, children: (0, jsx_runtime_1.jsx)(DialogTemplate_1.DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "body" }) }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "chat", children: [(0, jsx_runtime_1.jsxs)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: [(0, jsx_runtime_1.jsxs)(chat_1.Header, { title: "A conversation with a long enough name to clamp", leading: (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {}), onOpenMenu: NOOP, children: [(0, jsx_runtime_1.jsx)(chat_1.ShareButton, {}), (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {})] }), (0, jsx_runtime_1.jsx)(gui_2.Fill, { children: (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "plain Fill \u2014 the middle, without a Thread" }) }), (0, jsx_runtime_1.jsxs)(chat_1.Thread, { children: [(0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "ask" }), (0, jsx_runtime_1.jsxs)(chat_1.Message, { role: "assistant", icon: (0, jsx_runtime_1.jsx)(gui_2.Spinner, {}), actions: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "copy" }), children: [(0, jsx_runtime_1.jsx)(chat_1.Step, { name: "shell", status: "running", detail: "git status --porcelain" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "json", value: "{}", children: '{}' }) }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "plan", status: "cancelled" }), (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES })] }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", busy: true, children: "answering" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { children: "Rate limited." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "note" })] }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "tool" }) }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), (0, jsx_runtime_1.jsx)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: (0, jsx_runtime_1.jsx)(chat_1.Chat, { messages: TURNS, streaming: true, send: NOOP, stop: NOOP, composer: { placeholder: 'Ask anything' } }) }), (0, jsx_runtime_1.jsx)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: (0, jsx_runtime_1.jsx)(chat_1.Chat, { messages: [], send: NOOP, empty: (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "nothing yet" }) }) }), (0, jsx_runtime_1.jsx)(chat_1.Aside, { children: (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: '100%', maxWidth: 260, height: 320 }, children: (0, jsx_runtime_1.jsxs)(chat_1.Sidebar, { children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SidebarNewChat, { onPress: NOOP }), (0, jsx_runtime_1.jsxs)(chat_1.SidebarScroll, { children: [(0, jsx_runtime_1.jsxs)(chat_1.SidebarSection, { label: "Today", children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Another thread" })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarFolder, { name: "Archive", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "workspace", children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: '100%', height: 420 }, children: (0, jsx_runtime_1.jsx)(agents_1.Workspace, { start: (0, jsx_runtime_1.jsx)(agents_1.ProjectChip, { name: "MEGA Shop", onPress: NOOP }), middle: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(agents_1.Views, { views: [...agents_1.VIEWS, agents_1.CHAT], value: "preview", onChange: NOOP, label: "Editor view" }), (0, jsx_runtime_1.jsx)(agents_1.Views, { views: agents_1.DEVICES, value: "desktop", onChange: NOOP, label: "Device", labels: "none" }), (0, jsx_runtime_1.jsx)(agents_1.PageSelect, { pages: [{ id: '/', label: 'Homepage' }], value: "/", onChange: NOOP })] }), end: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "sm", children: "Publish" }), chat: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(agents_1.Suggestions, { items: agents_1.SUGGESTIONS, onPick: NOOP, onDismiss: NOOP }), (0, jsx_runtime_1.jsx)(agents_1.Attachments, { items: [
|
|
185
|
+
}, children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "center" }) }) }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "product-arrangements", children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 12, width: '100%', maxWidth: 320 }, children: [(0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: 120 }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { width: "100%", height: 72, rounded: "$4" }), (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton.Text, { lines: 3 })] }), (0, jsx_runtime_1.jsx)(TooltipAnchor_1.TooltipAnchor, { description: "Delete this agent", children: (0, jsx_runtime_1.jsx)(gui_2.Button, { children: "hinted" }) }), (0, jsx_runtime_1.jsx)(gui_2.Dialog, { open: true, children: (0, jsx_runtime_1.jsx)(DialogTemplate_1.DialogTemplate, { title: "Delete agent", description: "This removes every run recorded against it.", confirm: { label: 'Delete', tone: 'danger' }, children: (0, jsx_runtime_1.jsx)(gui_2.CardTitle, { children: "body" }) }) })] }), (0, jsx_runtime_1.jsx)(Section, { name: "usage-limits", children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: 16, width: '100%', maxWidth: 480 }, children: [['md', 'sm'].map((size) => ((0, jsx_runtime_1.jsx)(UsageMeter_1.UsageMeter, { size: size, limits: USAGE }, size))), (0, jsx_runtime_1.jsx)(LimitedBanner_1.LimitedBanner, { message: "Premium models are paused until Oct 31. You're chatting on Zen Free.", actions: USAGE.actions, onAction: () => { }, onClose: () => { } }), (0, jsx_runtime_1.jsx)(PlanUsage_1.PlanUsage, { limits: { ...USAGE, state: 'ok', period_start: '2026-10-01T00:00:00Z', period_end: '2026-10-31T00:00:00Z' }, onAction: () => { } }), (0, jsx_runtime_1.jsx)(PlanUsage_1.PlanUsage, { limits: { ...USAGE, plan: '' }, onAction: () => { } })] }) }), (0, jsx_runtime_1.jsxs)(Section, { name: "chat", children: [(0, jsx_runtime_1.jsxs)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: [(0, jsx_runtime_1.jsxs)(chat_1.Header, { title: "A conversation with a long enough name to clamp", leading: (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {}), onOpenMenu: NOOP, children: [(0, jsx_runtime_1.jsx)(chat_1.ShareButton, {}), (0, jsx_runtime_1.jsx)(chat_1.AsideToggle, {})] }), (0, jsx_runtime_1.jsx)(gui_2.Fill, { children: (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "plain Fill \u2014 the middle, without a Thread" }) }), (0, jsx_runtime_1.jsxs)(chat_1.Thread, { children: [(0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", children: "ask" }), (0, jsx_runtime_1.jsxs)(chat_1.Message, { role: "assistant", icon: (0, jsx_runtime_1.jsx)(gui_2.Spinner, {}), actions: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "copy" }), children: [(0, jsx_runtime_1.jsx)(chat_1.Step, { name: "shell", status: "running", detail: "git status --porcelain" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "write", status: "done", detail: "src/index.ts", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "json", value: "{}", children: '{}' }) }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "fetch", status: "error", detail: "timed out", children: "plain body" }), (0, jsx_runtime_1.jsx)(chat_1.Step, { name: "plan", status: "cancelled" }), (0, jsx_runtime_1.jsx)(chat_1.Code, { language: "typescript", value: "const x = 1", children: "const x = 1" }), (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES })] }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", busy: true, children: "answering" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { onRetry: NOOP, children: "The model stopped before finishing." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "assistant", children: (0, jsx_runtime_1.jsx)(chat_1.Failure, { children: "Rate limited." }) }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "user", body: { bg: '$color5', rounded: '$3' }, children: "restyled bubble" }), (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "note" })] }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "a draft", onChange: NOOP, onSend: NOOP, hint: "Enter to send", children: (0, jsx_runtime_1.jsx)(gui_2.Badge, { children: "tool" }) }), (0, jsx_runtime_1.jsx)(chat_1.Composer, { value: "", onChange: NOOP, onSend: NOOP, onStop: NOOP, busy: true })] }), (0, jsx_runtime_1.jsx)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: (0, jsx_runtime_1.jsx)(chat_1.Chat, { messages: TURNS, streaming: true, send: NOOP, stop: NOOP, composer: { placeholder: 'Ask anything' } }) }), (0, jsx_runtime_1.jsx)(gui_2.Screen, { height: "min(72vh, 620px)", minH: 420, maxW: 720, gap: "$3", children: (0, jsx_runtime_1.jsx)(chat_1.Chat, { messages: [], send: NOOP, empty: (0, jsx_runtime_1.jsx)(chat_1.Message, { role: "system", children: "nothing yet" }) }) }), (0, jsx_runtime_1.jsx)(chat_1.Aside, { children: (0, jsx_runtime_1.jsx)(chat_1.Sources, { sources: SOURCES }) }), (0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: '100%', maxWidth: 260, height: 320 }, children: (0, jsx_runtime_1.jsxs)(chat_1.Sidebar, { children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarHeader, { title: "Hanzo", onOpenSwitcher: NOOP, onSearch: NOOP, onCollapse: NOOP }), (0, jsx_runtime_1.jsx)(chat_1.SidebarNewChat, { onPress: NOOP }), (0, jsx_runtime_1.jsxs)(chat_1.SidebarScroll, { children: [(0, jsx_runtime_1.jsxs)(chat_1.SidebarSection, { label: "Today", children: [(0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { active: true, onPress: NOOP, children: "Selected thread" }), (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Another thread" })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarFolder, { name: "Archive", defaultOpen: true, children: (0, jsx_runtime_1.jsx)(chat_1.SidebarItem, { onPress: NOOP, children: "Nested thread" }) })] }), (0, jsx_runtime_1.jsx)(chat_1.SidebarUser, { name: "z", secondary: "z@hanzo.ai", onPress: NOOP, onHelp: NOOP })] }) })] }), (0, jsx_runtime_1.jsxs)(Section, { name: "workspace", children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', width: '100%', height: 420 }, children: (0, jsx_runtime_1.jsx)(agents_1.Workspace, { start: (0, jsx_runtime_1.jsx)(agents_1.ProjectChip, { name: "MEGA Shop", onPress: NOOP }), middle: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(agents_1.Views, { views: [...agents_1.VIEWS, agents_1.CHAT], value: "preview", onChange: NOOP, label: "Editor view" }), (0, jsx_runtime_1.jsx)(agents_1.Views, { views: agents_1.DEVICES, value: "desktop", onChange: NOOP, label: "Device", labels: "none" }), (0, jsx_runtime_1.jsx)(agents_1.PageSelect, { pages: [{ id: '/', label: 'Homepage' }], value: "/", onChange: NOOP })] }), end: (0, jsx_runtime_1.jsx)(gui_2.Button, { size: "sm", children: "Publish" }), chat: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(agents_1.Suggestions, { items: agents_1.SUGGESTIONS, onPick: NOOP, onDismiss: NOOP }), (0, jsx_runtime_1.jsx)(agents_1.Attachments, { items: [
|
|
169
186
|
{ id: 'a', kind: 'file', label: 'src/app.tsx' },
|
|
170
187
|
{ id: 'b', kind: 'element', label: '<button> .cta' },
|
|
171
188
|
{ id: 'c', kind: 'upload', label: 'shot.png' },
|
package/dist/gallery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gallery.d.ts","sourceRoot":"","sources":["../src/gallery.tsx"],"names":[],"mappings":"AAgQA;;;GAGG;AACH,eAAO,MAAM,OAAO,mCA63BnB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,gCA4BpB;eAEc,OAAO"}
|