@hanzo/ui 8.29.44 → 8.29.45

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.
@@ -8,12 +8,18 @@ const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  * read more. The way in is "Try Hanzo" to sign-in, payment second: `/login`, or
9
9
  * `/login?next=<checkout>` when the page names a plan (`next`).
10
10
  *
11
- * `onCta` hears both links, named `try_hanzo` and `read_docs`.
11
+ * `onCta` hears both links, named `try_hanzo` and `read_docs`. The section is named
12
+ * by its own headline (`aria-labelledby`), so a host that passes its words in the
13
+ * reader's language names it in that language too.
12
14
  */
15
+ const react_1 = require("react");
13
16
  const gui_1 = require("@hanzo/gui");
14
17
  const slot_1 = require("../backends/gui/slot.cjs");
15
18
  const Cta_1 = require("./Cta.cjs");
16
19
  const type_1 = require("./type.cjs");
17
20
  const TIGHT = { letterSpacing: '-0.012em', textWrap: 'balance' };
18
- const ClosingCta = ({ title = 'Build what’s next.', next, primary = { label: 'Try Hanzo', href: next ? `/login?next=${encodeURIComponent(next)}` : '/login' }, secondary = { label: 'Read the docs', href: 'https://docs.hanzo.ai' }, onCta, }) => ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('closing-cta'), render: "section", "aria-label": "Try Hanzo", width: "100%", maxW: 1240, mx: "auto", items: "center", gap: "$6", px: "$6", py: 56, $md: { py: 96 }, children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: "h2", m: 0, align: "center", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { flexWrap: "wrap", justify: "center", gap: "$4", children: [(0, jsx_runtime_1.jsx)(Cta_1.Cta, { href: primary.href, onPress: () => onCta?.('try_hanzo'), children: primary.label }), secondary ? ((0, jsx_runtime_1.jsx)(Cta_1.Cta, { quiet: true, href: secondary.href, onPress: () => onCta?.('read_docs'), children: secondary.label })) : null] })] }));
21
+ const ClosingCta = ({ title = 'Build what’s next.', next, primary = { label: 'Try Hanzo', href: next ? `/login?next=${encodeURIComponent(next)}` : '/login' }, secondary = { label: 'Read the docs', href: 'https://docs.hanzo.ai' }, onCta, }) => {
22
+ const id = (0, react_1.useId)();
23
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('closing-cta'), render: "section", "aria-labelledby": id, width: "100%", maxW: 1240, mx: "auto", items: "center", gap: "$6", px: "$6", py: 56, $md: { py: 96 }, children: [(0, jsx_runtime_1.jsx)(type_1.Line, { render: "h2", id: id, m: 0, align: "center", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { flexWrap: "wrap", justify: "center", gap: "$4", children: [(0, jsx_runtime_1.jsx)(Cta_1.Cta, { href: primary.href, onPress: () => onCta?.('try_hanzo'), children: primary.label }), secondary ? ((0, jsx_runtime_1.jsx)(Cta_1.Cta, { quiet: true, href: secondary.href, onPress: () => onCta?.('read_docs'), children: secondary.label })) : null] })] }));
24
+ };
19
25
  exports.ClosingCta = ClosingCta;
@@ -1 +1 @@
1
- {"version":3,"file":"ClosingCta.d.ts","sourceRoot":"","sources":["../../src/marketing/ClosingCta.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,QAAA,MAAM,UAAU,gDAMb,eAAe,gCA4BjB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"ClosingCta.d.ts","sourceRoot":"","sources":["../../src/marketing/ClosingCta.tsx"],"names":[],"mappings":"AAoBA,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IAClD,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,QAAA,MAAM,UAAU,gDAMb,eAAe,gCA+BjB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -5,13 +5,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  * read more. The way in is "Try Hanzo" to sign-in, payment second: `/login`, or
6
6
  * `/login?next=<checkout>` when the page names a plan (`next`).
7
7
  *
8
- * `onCta` hears both links, named `try_hanzo` and `read_docs`.
8
+ * `onCta` hears both links, named `try_hanzo` and `read_docs`. The section is named
9
+ * by its own headline (`aria-labelledby`), so a host that passes its words in the
10
+ * reader's language names it in that language too.
9
11
  */
12
+ import { useId } from 'react';
10
13
  import { XStack, YStack } from '@hanzo/gui';
11
14
  import { slot } from '../backends/gui/slot.js';
12
15
  import { Cta } from './Cta.js';
13
16
  import { Line } from './type.js';
14
17
  const TIGHT = { letterSpacing: '-0.012em', textWrap: 'balance' };
15
- const ClosingCta = ({ title = 'Build what’s next.', next, primary = { label: 'Try Hanzo', href: next ? `/login?next=${encodeURIComponent(next)}` : '/login' }, secondary = { label: 'Read the docs', href: 'https://docs.hanzo.ai' }, onCta, }) => (_jsxs(YStack, { ...slot('closing-cta'), render: "section", "aria-label": "Try Hanzo", width: "100%", maxW: 1240, mx: "auto", items: "center", gap: "$6", px: "$6", py: 56, $md: { py: 96 }, children: [_jsx(Line, { render: "h2", m: 0, align: "center", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title }), _jsxs(XStack, { flexWrap: "wrap", justify: "center", gap: "$4", children: [_jsx(Cta, { href: primary.href, onPress: () => onCta?.('try_hanzo'), children: primary.label }), secondary ? (_jsx(Cta, { quiet: true, href: secondary.href, onPress: () => onCta?.('read_docs'), children: secondary.label })) : null] })] }));
18
+ const ClosingCta = ({ title = 'Build what’s next.', next, primary = { label: 'Try Hanzo', href: next ? `/login?next=${encodeURIComponent(next)}` : '/login' }, secondary = { label: 'Read the docs', href: 'https://docs.hanzo.ai' }, onCta, }) => {
19
+ const id = useId();
20
+ return (_jsxs(YStack, { ...slot('closing-cta'), render: "section", "aria-labelledby": id, width: "100%", maxW: 1240, mx: "auto", items: "center", gap: "$6", px: "$6", py: 56, $md: { py: 96 }, children: [_jsx(Line, { render: "h2", id: id, m: 0, align: "center", fontSize: "$9", lineHeight: "$9", fontWeight: 500, $md: { fontSize: '$11', lineHeight: '$11' }, style: TIGHT, children: title }), _jsxs(XStack, { flexWrap: "wrap", justify: "center", gap: "$4", children: [_jsx(Cta, { href: primary.href, onPress: () => onCta?.('try_hanzo'), children: primary.label }), secondary ? (_jsx(Cta, { quiet: true, href: secondary.href, onPress: () => onCta?.('read_docs'), children: secondary.label })) : null] })] }));
21
+ };
16
22
  export { ClosingCta };
17
23
  //# sourceMappingURL=ClosingCta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClosingCta.js","sourceRoot":"","sources":["../../src/marketing/ClosingCta.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAW,CAAA;AAWzE,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,GAAG,oBAAoB,EAC5B,IAAI,EACJ,OAAO,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EACnG,SAAS,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE,EACrE,KAAK,GACW,EAAE,EAAE,CAAC,CACrB,MAAC,MAAM,OACD,IAAI,CAAC,aAAa,CAAC,EACvB,MAAM,EAAC,SAAS,gBACL,WAAW,EACtB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,EAAE,EAAC,MAAM,EACT,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,aAEf,KAAC,IAAI,IAAC,MAAM,EAAC,IAAI,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,YAC5I,KAAK,GACD,EACP,MAAC,MAAM,IAAC,QAAQ,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,aAC/C,KAAC,GAAG,IAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,YACzD,OAAO,CAAC,KAAK,GACV,EACL,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,GAAG,IAAC,KAAK,QAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,YACjE,SAAS,CAAC,KAAK,GACZ,CACP,CAAC,CAAC,CAAC,IAAI,IACD,IACF,CACV,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
1
+ {"version":3,"file":"ClosingCta.js","sourceRoot":"","sources":["../../src/marketing/ClosingCta.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;GAQG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAW,CAAA;AAWzE,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,GAAG,oBAAoB,EAC5B,IAAI,EACJ,OAAO,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EACnG,SAAS,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE,EACrE,KAAK,GACW,EAAE,EAAE;IACpB,MAAM,EAAE,GAAG,KAAK,EAAE,CAAA;IAClB,OAAO,CACP,MAAC,MAAM,OACD,IAAI,CAAC,aAAa,CAAC,EACvB,MAAM,EAAC,SAAS,qBACC,EAAE,EACnB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,EAAE,EAAC,MAAM,EACT,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,aAEf,KAAC,IAAI,IAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,YACpJ,KAAK,GACD,EACP,MAAC,MAAM,IAAC,QAAQ,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,aAC/C,KAAC,GAAG,IAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,YACzD,OAAO,CAAC,KAAK,GACV,EACL,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,GAAG,IAAC,KAAK,QAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,YACjE,SAAS,CAAC,KAAK,GACZ,CACP,CAAC,CAAC,CAAC,IAAI,IACD,IACF,CACR,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
@@ -22,8 +22,8 @@ function LimitActions({ actions, onAction, children, }) {
22
22
  const shown = onAction ? actions : actions.filter(limits_1.navigable);
23
23
  if (!shown.length && !children)
24
24
  return null;
25
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", shrink: 0, flexWrap: "wrap", items: "center", children: [shown.map((a, i) => ((0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", variant: i === 0 ? 'primary' : 'default', "data-kind": a.kind, onPress: () => (onAction ?? go)(a), children: a.label }, `${a.kind}:${a.url ?? a.model ?? i}`))), children] }));
25
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { gap: "$2", shrink: 0, maxW: "100%", flexWrap: "wrap", items: "center", children: [shown.map((a, i) => ((0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", variant: i === 0 ? 'primary' : 'default', "data-kind": a.kind, onPress: () => (onAction ?? go)(a), children: a.label }, `${a.kind}:${a.url ?? a.model ?? i}`))), children] }));
26
26
  }
27
- function LimitedBanner({ message, actions = [], onAction, onUsage, onClose }) {
28
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { role: "status", "aria-live": "polite", ...(0, slot_1.slot)('limited-banner'), width: "100%", items: "center", flexWrap: "wrap", gap: "$2", px: "$3", py: "$2.5", rounded: "$4", borderWidth: 1, borderColor: "$edge", bg: "$panel", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 200, items: "center", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.View, { width: 8, height: 8, rounded: 4, bg: "$bad", shrink: 0, "aria-hidden": true }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$ink", ...(0, slot_1.slot)('limited-banner-message'), children: message })] }), (0, jsx_runtime_1.jsx)(LimitActions, { actions: actions, onAction: onAction, children: onUsage ? ((0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", variant: "link", px: "$1.5", "data-kind": "usage", onPress: onUsage, children: "See usage" })) : null }), onClose ? ((0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon", minH: 24, minW: 24, ...(0, gesture_1.touch)(24), "aria-label": "Dismiss", onPress: onClose, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.X, { size: 14 }) })) : null] }));
27
+ function LimitedBanner({ message, actions = [], onAction, onUsage, onClose, labels }) {
28
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('limited-banner'), width: "100%", items: "center", flexWrap: "wrap", gap: "$2", px: "$3", py: "$2.5", rounded: "$4", borderWidth: 1, borderColor: "$edge", bg: "$panel", children: [(0, jsx_runtime_1.jsxs)(gui_1.XStack, { flex: 1, minW: 200, items: "center", gap: "$2", children: [(0, jsx_runtime_1.jsx)(gui_1.View, { width: 8, height: 8, rounded: 4, bg: "$bad", shrink: 0, "aria-hidden": true }), (0, jsx_runtime_1.jsx)(gui_1.Text, { fontSize: "$1", color: "$ink", ...(0, slot_1.slot)('limited-banner-message'), children: message })] }), (0, jsx_runtime_1.jsx)(LimitActions, { actions: actions, onAction: onAction, children: onUsage ? ((0, jsx_runtime_1.jsx)(button_1.Button, { size: "sm", variant: "link", px: "$1.5", "data-kind": "usage", onPress: onUsage, children: labels?.usage ?? 'See usage' })) : null }), onClose ? ((0, jsx_runtime_1.jsx)(button_1.Button, { variant: "ghost", size: "icon", minH: 24, minW: 24, ...(0, gesture_1.touch)(24), "aria-label": labels?.dismiss ?? 'Dismiss', onPress: onClose, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.X, { size: 14 }) })) : null] }));
29
29
  }
@@ -3,6 +3,10 @@
3
3
  * the ways past it (Upgrade, Add prepaid credit) and, where the host has one, a
4
4
  * quiet "See usage" to its usage settings. One line where it fits. Neutral
5
5
  * chrome; the dot is the one status colour.
6
+ *
7
+ * It is drawn, not announced: a live region speaks what changes inside it, not
8
+ * what it was mounted holding, and the banner mounts with its message. The host
9
+ * keeps one mounted region and puts the message there.
6
10
  */
7
11
  import type { ReactNode } from 'react';
8
12
  import { type LimitAction } from './limits.js';
@@ -18,6 +22,11 @@ export interface LimitedBannerProps {
18
22
  /** Opens the host's usage settings; draws "See usage" when given. */
19
23
  onUsage?: () => void;
20
24
  onClose?: () => void;
25
+ /** The quiet controls' words, in the reader's language: "See usage" and the close mark's "Dismiss". */
26
+ labels?: {
27
+ usage?: string;
28
+ dismiss?: string;
29
+ };
21
30
  }
22
31
  /**
23
32
  * The server's actions in the order it sent them: the first is the one filled
@@ -28,5 +37,5 @@ export declare function LimitActions({ actions, onAction, children, }: {
28
37
  onAction?: (action: LimitAction) => void;
29
38
  children?: ReactNode;
30
39
  }): import("react").JSX.Element | null;
31
- export declare function LimitedBanner({ message, actions, onAction, onUsage, onClose }: LimitedBannerProps): import("react").JSX.Element;
40
+ export declare function LimitedBanner({ message, actions, onAction, onUsage, onClose, labels }: LimitedBannerProps): import("react").JSX.Element;
32
41
  //# sourceMappingURL=LimitedBanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitedBanner.d.ts","sourceRoot":"","sources":["../../src/product/LimitedBanner.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,sCAmBA;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,OAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,+BAqCtG"}
1
+ {"version":3,"file":"LimitedBanner.d.ts","sourceRoot":"","sources":["../../src/product/LimitedBanner.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,uGAAuG;IACvG,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC9C;AAMD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,sCAmBA;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,OAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,+BAmC9G"}
@@ -18,9 +18,9 @@ export function LimitActions({ actions, onAction, children, }) {
18
18
  const shown = onAction ? actions : actions.filter(navigable);
19
19
  if (!shown.length && !children)
20
20
  return null;
21
- return (_jsxs(XStack, { gap: "$2", shrink: 0, flexWrap: "wrap", items: "center", children: [shown.map((a, i) => (_jsx(Button, { size: "sm", variant: i === 0 ? 'primary' : 'default', "data-kind": a.kind, onPress: () => (onAction ?? go)(a), children: a.label }, `${a.kind}:${a.url ?? a.model ?? i}`))), children] }));
21
+ return (_jsxs(XStack, { gap: "$2", shrink: 0, maxW: "100%", flexWrap: "wrap", items: "center", children: [shown.map((a, i) => (_jsx(Button, { size: "sm", variant: i === 0 ? 'primary' : 'default', "data-kind": a.kind, onPress: () => (onAction ?? go)(a), children: a.label }, `${a.kind}:${a.url ?? a.model ?? i}`))), children] }));
22
22
  }
23
- export function LimitedBanner({ message, actions = [], onAction, onUsage, onClose }) {
24
- return (_jsxs(XStack, { role: "status", "aria-live": "polite", ...slot('limited-banner'), width: "100%", items: "center", flexWrap: "wrap", gap: "$2", px: "$3", py: "$2.5", rounded: "$4", borderWidth: 1, borderColor: "$edge", bg: "$panel", children: [_jsxs(XStack, { flex: 1, minW: 200, items: "center", gap: "$2", children: [_jsx(View, { width: 8, height: 8, rounded: 4, bg: "$bad", shrink: 0, "aria-hidden": true }), _jsx(Text, { fontSize: "$1", color: "$ink", ...slot('limited-banner-message'), children: message })] }), _jsx(LimitActions, { actions: actions, onAction: onAction, children: onUsage ? (_jsx(Button, { size: "sm", variant: "link", px: "$1.5", "data-kind": "usage", onPress: onUsage, children: "See usage" })) : null }), onClose ? (_jsx(Button, { variant: "ghost", size: "icon", minH: 24, minW: 24, ...touch(24), "aria-label": "Dismiss", onPress: onClose, children: _jsx(X, { size: 14 }) })) : null] }));
23
+ export function LimitedBanner({ message, actions = [], onAction, onUsage, onClose, labels }) {
24
+ return (_jsxs(XStack, { ...slot('limited-banner'), width: "100%", items: "center", flexWrap: "wrap", gap: "$2", px: "$3", py: "$2.5", rounded: "$4", borderWidth: 1, borderColor: "$edge", bg: "$panel", children: [_jsxs(XStack, { flex: 1, minW: 200, items: "center", gap: "$2", children: [_jsx(View, { width: 8, height: 8, rounded: 4, bg: "$bad", shrink: 0, "aria-hidden": true }), _jsx(Text, { fontSize: "$1", color: "$ink", ...slot('limited-banner-message'), children: message })] }), _jsx(LimitActions, { actions: actions, onAction: onAction, children: onUsage ? (_jsx(Button, { size: "sm", variant: "link", px: "$1.5", "data-kind": "usage", onPress: onUsage, children: labels?.usage ?? 'See usage' })) : null }), onClose ? (_jsx(Button, { variant: "ghost", size: "icon", minH: 24, minW: 24, ...touch(24), "aria-label": labels?.dismiss ?? 'Dismiss', onPress: onClose, children: _jsx(X, { size: 14 }) })) : null] }));
25
25
  }
26
26
  //# sourceMappingURL=LimitedBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LimitedBanner.js","sourceRoot":"","sources":["../../src/product/LimitedBanner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LimitedBanner.js","sourceRoot":"","sources":["../../src/product/LimitedBanner.tsx"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ const LABEL = {
37
37
  topup: 'Add prepaid credit',
38
38
  credits: 'Continue with credits',
39
39
  switch: 'Switch model',
40
+ later: 'Try again later',
40
41
  };
41
42
  const RANK = { ok: 0, near: 1, limited: 2 };
42
43
  const text = (v) => (typeof v === 'string' ? v : null);
@@ -155,28 +156,37 @@ function servedOf(headers) {
155
156
  };
156
157
  }
157
158
  /**
158
- * The two limit codes the gateway sends as a 429 `rate_limit_error` rather than a
159
- * `billing_error` (ai `routers/filter_balance.go` `limitReached`): they lift by
160
- * themselves at a reset, so the wire calls them rate limits. They are still the
161
- * plan speaking, and the reader is owed the same notice.
159
+ * The limit codes sent on a 429 that is not a `billing_error`, each under the
160
+ * one type its server sends it with: the two caps the gateway sends as a
161
+ * `rate_limit_error` (ai `routers/filter_balance.go` `limitReached`), and the
162
+ * Free allowance's spent window, `allowance_spent` (cloud zen `freeSpent`,
163
+ * `insufficient_quota`). Each lifts by itself at a reset, so the wire calls it a
164
+ * limit; each is still the plan speaking, and the reader is owed the same notice.
162
165
  */
163
- const CAPS = ['free_plan_cap', 'usage_cap_exceeded'];
166
+ const CAPS = new Map([
167
+ ['free_plan_cap', 'rate_limit_error'],
168
+ ['usage_cap_exceeded', 'rate_limit_error'],
169
+ ['allowance_spent', 'insufficient_quota'],
170
+ ]);
171
+ /** The longest Retry-After believed, in seconds: a day. A longer or negative one names no retry. */
172
+ const WAIT = 86_400;
164
173
  /** A billing refusal's envelope, or null for any other error. */
165
174
  function refusalOf(body, status, retryAfter) {
166
175
  const e = record(record(body)?.error);
167
176
  if (!e)
168
177
  return null;
169
- if (e.type !== 'billing_error' && !(e.type === 'rate_limit_error' && CAPS.includes(text(e.code) ?? '')))
178
+ const code = text(e.code) ?? '';
179
+ if (e.type !== 'billing_error' && (!CAPS.has(code) || CAPS.get(code) !== e.type))
170
180
  return null;
171
181
  const retry = retryAfter ? Number(retryAfter) : NaN;
172
182
  return {
173
183
  status,
174
- code: text(e.code) ?? '',
184
+ code,
175
185
  message: text(e.message) ?? '',
176
186
  class: one(exports.CLASSES, e.class),
177
187
  resets_at: text(e.resets_at),
178
188
  actions: actionsOf(e.actions),
179
- retry: Number.isFinite(retry) ? retry : null,
189
+ retry: retry >= 0 && retry <= WAIT ? retry : null,
180
190
  };
181
191
  }
182
192
  /** The limits with what served calls said since they were read laid over them. */
@@ -4,7 +4,8 @@ export type LimitClass = 'premium' | 'ours' | 'free';
4
4
  export type LimitPayer = 'plan' | 'credits' | 'free' | 'none';
5
5
  export type PaidBy = LimitPayer;
6
6
  export type LimitReason = 'plan_allowance_used' | 'paid_plan_required' | 'free_plan_cap' | 'insufficient_balance' | 'model_cap';
7
- export type LimitActionKind = 'upgrade' | 'topup' | 'credits' | 'switch';
7
+ /** A way past a limit. The server sends the first four; `later` is the reader's own, a host's to offer: put the notice away and come back after the reset. */
8
+ export type LimitActionKind = 'upgrade' | 'topup' | 'credits' | 'switch' | 'later';
8
9
  /** A share of one window: percent used, its state, and when it starts over. */
9
10
  export interface LimitWindow {
10
11
  percent: number;
@@ -75,7 +76,7 @@ export interface Refusal {
75
76
  class: LimitClass | null;
76
77
  resets_at: string | null;
77
78
  actions: LimitAction[];
78
- /** Seconds, from Retry-After on a 429. */
79
+ /** Seconds, from Retry-After on a 429, when it names none to a day (`WAIT`). */
79
80
  retry: number | null;
80
81
  }
81
82
  /** What the reader is told when a class is paused or refused. */
@@ -1 +1 @@
1
- {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const LABEL = {
24
24
  topup: 'Add prepaid credit',
25
25
  credits: 'Continue with credits',
26
26
  switch: 'Switch model',
27
+ later: 'Try again later',
27
28
  };
28
29
  const RANK = { ok: 0, near: 1, limited: 2 };
29
30
  const text = (v) => (typeof v === 'string' ? v : null);
@@ -140,28 +141,37 @@ export function servedOf(headers) {
140
141
  };
141
142
  }
142
143
  /**
143
- * The two limit codes the gateway sends as a 429 `rate_limit_error` rather than a
144
- * `billing_error` (ai `routers/filter_balance.go` `limitReached`): they lift by
145
- * themselves at a reset, so the wire calls them rate limits. They are still the
146
- * plan speaking, and the reader is owed the same notice.
144
+ * The limit codes sent on a 429 that is not a `billing_error`, each under the
145
+ * one type its server sends it with: the two caps the gateway sends as a
146
+ * `rate_limit_error` (ai `routers/filter_balance.go` `limitReached`), and the
147
+ * Free allowance's spent window, `allowance_spent` (cloud zen `freeSpent`,
148
+ * `insufficient_quota`). Each lifts by itself at a reset, so the wire calls it a
149
+ * limit; each is still the plan speaking, and the reader is owed the same notice.
147
150
  */
148
- const CAPS = ['free_plan_cap', 'usage_cap_exceeded'];
151
+ const CAPS = new Map([
152
+ ['free_plan_cap', 'rate_limit_error'],
153
+ ['usage_cap_exceeded', 'rate_limit_error'],
154
+ ['allowance_spent', 'insufficient_quota'],
155
+ ]);
156
+ /** The longest Retry-After believed, in seconds: a day. A longer or negative one names no retry. */
157
+ const WAIT = 86_400;
149
158
  /** A billing refusal's envelope, or null for any other error. */
150
159
  export function refusalOf(body, status, retryAfter) {
151
160
  const e = record(record(body)?.error);
152
161
  if (!e)
153
162
  return null;
154
- if (e.type !== 'billing_error' && !(e.type === 'rate_limit_error' && CAPS.includes(text(e.code) ?? '')))
163
+ const code = text(e.code) ?? '';
164
+ if (e.type !== 'billing_error' && (!CAPS.has(code) || CAPS.get(code) !== e.type))
155
165
  return null;
156
166
  const retry = retryAfter ? Number(retryAfter) : NaN;
157
167
  return {
158
168
  status,
159
- code: text(e.code) ?? '',
169
+ code,
160
170
  message: text(e.message) ?? '',
161
171
  class: one(CLASSES, e.class),
162
172
  resets_at: text(e.resets_at),
163
173
  actions: actionsOf(e.actions),
164
- retry: Number.isFinite(retry) ? retry : null,
174
+ retry: retry >= 0 && retry <= WAIT ? retry : null,
165
175
  };
166
176
  }
167
177
  /** The limits with what served calls said since they were read laid over them. */
@@ -1 +1 @@
1
- {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limits.js","sourceRoot":"","sources":["../../src/product/limits.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.29.44",
3
+ "version": "8.29.45",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {