@hanzo/ui 8.27.32 → 8.27.38
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/auth/SignIn.cjs +180 -17
- package/dist/auth/SignIn.d.ts +25 -1
- package/dist/auth/SignIn.d.ts.map +1 -1
- package/dist/auth/SignIn.js +146 -18
- package/dist/auth/SignIn.js.map +1 -1
- package/dist/consent/Consent.cjs +35 -14
- package/dist/consent/Consent.d.ts +1 -1
- package/dist/consent/Consent.d.ts.map +1 -1
- package/dist/consent/Consent.js +36 -15
- package/dist/consent/Consent.js.map +1 -1
- package/dist/gallery.cjs +13 -1
- package/dist/gallery.d.ts.map +1 -1
- package/dist/gallery.html +10 -6
- package/dist/gallery.js +14 -2
- package/dist/gallery.js.map +1 -1
- package/dist/marketing/ClosingCta.cjs +4 -4
- package/dist/marketing/ClosingCta.d.ts +5 -3
- package/dist/marketing/ClosingCta.d.ts.map +1 -1
- package/dist/marketing/ClosingCta.js +4 -4
- package/dist/marketing/ClosingCta.js.map +1 -1
- package/dist/marketing/Faq.cjs +1 -1
- package/dist/marketing/Faq.js +1 -1
- package/dist/marketing/Faq.js.map +1 -1
- package/dist/marketing/Footer.cjs +27 -0
- package/dist/marketing/Footer.d.ts +25 -0
- package/dist/marketing/Footer.d.ts.map +1 -0
- package/dist/marketing/Footer.js +25 -0
- package/dist/marketing/Footer.js.map +1 -0
- package/dist/marketing/Hero.cjs +2 -2
- package/dist/marketing/Hero.js +2 -2
- package/dist/marketing/Hero.js.map +1 -1
- package/dist/marketing/Plans.cjs +15 -9
- package/dist/marketing/Plans.d.ts +5 -3
- package/dist/marketing/Plans.d.ts.map +1 -1
- package/dist/marketing/Plans.js +16 -10
- package/dist/marketing/Plans.js.map +1 -1
- package/dist/marketing/blocks.cjs +3 -3
- package/dist/marketing/blocks.js +3 -3
- package/dist/marketing/blocks.js.map +1 -1
- package/dist/marketing/index.cjs +4 -1
- package/dist/marketing/index.d.ts +2 -1
- package/dist/marketing/index.d.ts.map +1 -1
- package/dist/marketing/index.js +2 -1
- package/dist/marketing/index.js.map +1 -1
- package/dist/marketing/rows.cjs +26 -0
- package/dist/marketing/rows.d.ts +10 -0
- package/dist/marketing/rows.d.ts.map +1 -1
- package/dist/marketing/rows.js +25 -0
- package/dist/marketing/rows.js.map +1 -1
- package/dist/onboarding/ChatOnboarding.cjs +1 -1
- package/dist/onboarding/ChatOnboarding.js +2 -2
- package/dist/onboarding/ChatOnboarding.js.map +1 -1
- package/dist/onboarding/Checkout.cjs +19 -5
- package/dist/onboarding/Checkout.d.ts +3 -1
- package/dist/onboarding/Checkout.d.ts.map +1 -1
- package/dist/onboarding/Checkout.js +20 -6
- package/dist/onboarding/Checkout.js.map +1 -1
- package/dist/onboarding/Onboarding.cjs +99 -21
- package/dist/onboarding/Onboarding.d.ts +32 -4
- package/dist/onboarding/Onboarding.d.ts.map +1 -1
- package/dist/onboarding/Onboarding.js +102 -24
- package/dist/onboarding/Onboarding.js.map +1 -1
- package/dist/onboarding/account.cjs +16 -0
- package/dist/onboarding/account.d.ts +21 -0
- package/dist/onboarding/account.d.ts.map +1 -0
- package/dist/onboarding/account.js +14 -0
- package/dist/onboarding/account.js.map +1 -0
- package/dist/onboarding/api.cjs +4 -1
- package/dist/onboarding/api.d.ts +5 -1
- package/dist/onboarding/api.d.ts.map +1 -1
- package/dist/onboarding/api.js +2 -0
- package/dist/onboarding/api.js.map +1 -1
- package/dist/onboarding/catalog.cjs +30 -0
- package/dist/onboarding/catalog.d.ts +5 -0
- package/dist/onboarding/catalog.d.ts.map +1 -0
- package/dist/onboarding/catalog.js +27 -0
- package/dist/onboarding/catalog.js.map +1 -0
- package/dist/onboarding/frame.cjs +15 -5
- package/dist/onboarding/frame.d.ts +14 -4
- package/dist/onboarding/frame.d.ts.map +1 -1
- package/dist/onboarding/frame.js +14 -5
- package/dist/onboarding/frame.js.map +1 -1
- package/dist/onboarding/hooks.cjs +25 -7
- package/dist/onboarding/hooks.d.ts +15 -4
- package/dist/onboarding/hooks.d.ts.map +1 -1
- package/dist/onboarding/hooks.js +26 -9
- package/dist/onboarding/hooks.js.map +1 -1
- package/dist/onboarding/index.cjs +16 -4
- package/dist/onboarding/index.d.ts +8 -5
- package/dist/onboarding/index.d.ts.map +1 -1
- package/dist/onboarding/index.js +8 -5
- package/dist/onboarding/index.js.map +1 -1
- package/dist/onboarding/plans.cjs +75 -68
- package/dist/onboarding/plans.d.ts +41 -22
- package/dist/onboarding/plans.d.ts.map +1 -1
- package/dist/onboarding/plans.js +66 -64
- package/dist/onboarding/plans.js.map +1 -1
- package/dist/onboarding/screens.cjs +20 -8
- package/dist/onboarding/screens.d.ts +12 -2
- package/dist/onboarding/screens.d.ts.map +1 -1
- package/dist/onboarding/screens.js +20 -9
- package/dist/onboarding/screens.js.map +1 -1
- package/dist/onboarding/state.cjs +17 -2
- package/dist/onboarding/state.d.ts +22 -3
- package/dist/onboarding/state.d.ts.map +1 -1
- package/dist/onboarding/state.js +15 -2
- package/dist/onboarding/state.js.map +1 -1
- package/dist/styles.css +3 -0
- package/package.json +3 -3
|
@@ -1,52 +1,131 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { useSignOut } from '../auth/signout.js';
|
|
4
5
|
import { API } from './api.js';
|
|
5
6
|
import { Checkout } from './Checkout.js';
|
|
7
|
+
import { Paragraph } from '../backends/gui/layout.js';
|
|
6
8
|
import { Page } from './frame.js';
|
|
7
|
-
import {
|
|
9
|
+
import { CreateAccount } from './account.js';
|
|
10
|
+
import { Enterprise, Plans, Pro, Seats, TeamName, UseCards } from './screens.js';
|
|
8
11
|
import { useSession } from './hooks.js';
|
|
9
|
-
import {
|
|
12
|
+
import { useCatalog } from './catalog.js';
|
|
13
|
+
import { ENTERPRISE_FROM, MIN_SEATS, OFFERS, lines, offer, item } from './plans.js';
|
|
10
14
|
import { step as nextStep } from './state.js';
|
|
11
|
-
export function Onboarding({ site = 'Hanzo', api = API, track, onDone, onAsk, termsPath = '/terms', upgrade = null, onTeam }) {
|
|
15
|
+
export function Onboarding({ site = 'Hanzo', api = API, track, onDone, onAsk, termsPath = '/terms', aupPath = '/aup', upgrade = null, open, from, onClose, onTeam, policy, prepare, checkout }) {
|
|
12
16
|
const session = useSession(api);
|
|
17
|
+
// A different email is a fresh sign-in: end this session and land on /login.
|
|
18
|
+
const other = useSignOut({ to: '/login', track });
|
|
19
|
+
const catalog = useCatalog(api);
|
|
13
20
|
const [view, setView] = useState(null);
|
|
14
21
|
const [interval, setInterval] = useState(upgrade?.interval ?? 'monthly');
|
|
15
22
|
const [buy, setBuy] = useState(upgrade ? { plan: upgrade.plan, seats: upgrade.seats ?? 1 } : null);
|
|
16
23
|
const [team, setTeam] = useState();
|
|
24
|
+
const [wrong, setWrong] = useState(null);
|
|
25
|
+
const [busy, setBusy] = useState(false);
|
|
26
|
+
// Where the checkout was opened from, so Back returns there.
|
|
27
|
+
const [at, setAt] = useState('pro');
|
|
17
28
|
const decided = useRef(false);
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (
|
|
29
|
+
/** Open the checkout on a plan: the host's, or this flow's own. */
|
|
30
|
+
function pay(plan, seats, back) {
|
|
31
|
+
setBuy({ plan, seats });
|
|
32
|
+
setAt(back);
|
|
33
|
+
// A team is priced by its seats, which only this flow's own checkout takes.
|
|
34
|
+
if (checkout && offer(plan).category !== 'team') {
|
|
35
|
+
const l = lines(plan, interval, seats);
|
|
36
|
+
track?.('plan_selected', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [item(plan, interval, seats)] });
|
|
37
|
+
checkout({ plan, interval, seats });
|
|
38
|
+
}
|
|
39
|
+
else
|
|
24
40
|
setView('checkout');
|
|
41
|
+
}
|
|
42
|
+
/** Leave the account page: the host makes room for a plan, then the first screen that is owed. */
|
|
43
|
+
async function begin() {
|
|
44
|
+
const held = await prepare?.();
|
|
45
|
+
if (held && held.plan && !session.progress.plan) {
|
|
46
|
+
await session.save({ use: 'personal', plan: held.plan });
|
|
47
|
+
if (!upgrade && !open) {
|
|
48
|
+
onDone({ use: 'personal', plan: held.plan });
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (upgrade) {
|
|
53
|
+
pay(upgrade.plan, upgrade.seats ?? 1, 'plans');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (open) {
|
|
57
|
+
setView(open);
|
|
25
58
|
return;
|
|
26
59
|
}
|
|
27
|
-
const s = nextStep(session.progress);
|
|
60
|
+
const s = nextStep(held && held.plan ? { ...session.progress, plan: held.plan } : session.progress);
|
|
28
61
|
if (s === 'done')
|
|
29
62
|
onDone({ use: session.progress.use, plan: session.progress.plan, org: session.progress.team });
|
|
30
63
|
else
|
|
31
64
|
setView(s);
|
|
65
|
+
}
|
|
66
|
+
// The first screen is the first step not yet finished: the terms for a new account, else what `begin` finds.
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (session.loading || catalog === null || decided.current)
|
|
69
|
+
return;
|
|
70
|
+
decided.current = true;
|
|
71
|
+
if (upgrade || open === 'plans')
|
|
72
|
+
track?.('upgrade_clicked', { from: from ?? 'app' });
|
|
73
|
+
if (policy && session.owesTerms) {
|
|
74
|
+
setView('account');
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
void begin().catch((e) => {
|
|
78
|
+
setWrong(e instanceof Error ? e.message : 'Could not get your account ready. Reload to try again.');
|
|
79
|
+
setView('pro');
|
|
80
|
+
});
|
|
32
81
|
// Once, when the answer arrives.
|
|
33
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
-
}, [session.loading]);
|
|
83
|
+
}, [session.loading, catalog]);
|
|
35
84
|
useEffect(() => {
|
|
36
|
-
if (view === 'plans' || view === 'seats')
|
|
37
|
-
track?.('pricing_viewed', { from: 'onboarding', items: Object.values(OFFERS).filter((o) => (view === '
|
|
85
|
+
if (view === 'pro' || view === 'plans' || view === 'seats')
|
|
86
|
+
track?.('pricing_viewed', { from: 'onboarding', items: Object.values(OFFERS).filter((o) => o !== undefined).filter((o) => o.category === (view === 'seats' ? 'team' : 'individual')).filter((o) => view !== 'pro' || o.id === 'dev').map((o) => item(o.id, interval)) });
|
|
38
87
|
// A screen is viewed once.
|
|
39
88
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
89
|
}, [view]);
|
|
90
|
+
if (catalog === false)
|
|
91
|
+
return _jsx(Page, { site: site, title: "Plans could not be loaded just now", lede: "That is ours to fix. Reload to try again.", center: true });
|
|
41
92
|
if (!view)
|
|
42
93
|
return _jsx(Page, { site: site, title: "", busy: true });
|
|
43
94
|
const org = team ?? session.progress.team;
|
|
95
|
+
if (view === 'account' && policy) {
|
|
96
|
+
return (_jsx(CreateAccount, { site: site, email: session.email, busy: busy, wrong: wrong, termsPath: termsPath, aupPath: aupPath, onOther: () => void other(), onCreate: async () => {
|
|
97
|
+
setBusy(true);
|
|
98
|
+
setWrong(null);
|
|
99
|
+
try {
|
|
100
|
+
await session.accept(policy);
|
|
101
|
+
track?.('terms_accepted', { method: 'signed-in' });
|
|
102
|
+
await begin();
|
|
103
|
+
}
|
|
104
|
+
catch (e) {
|
|
105
|
+
setWrong(e instanceof Error ? e.message : 'Could not create the account. Try again.');
|
|
106
|
+
}
|
|
107
|
+
setBusy(false);
|
|
108
|
+
} }));
|
|
109
|
+
}
|
|
110
|
+
if (view === 'pro') {
|
|
111
|
+
return (_jsxs(Page, { site: site, title: "Do more with Hanzo Pro", width: 340, children: [wrong ? _jsx(Paragraph, { size: "$2", color: "$quiet", text: "center", m: 0, children: wrong }) : null, _jsx(Pro, { interval: interval, setInterval: (i) => {
|
|
112
|
+
track?.('plan_changed', { from: interval, to: i, field: 'interval' });
|
|
113
|
+
setInterval(i);
|
|
114
|
+
}, onFree: () => {
|
|
115
|
+
track?.('plan_skipped', { plan: 'free' });
|
|
116
|
+
void session.save({ use: 'personal', plan: 'free' });
|
|
117
|
+
onDone({ use: 'personal', plan: 'free' });
|
|
118
|
+
}, onPro: () => {
|
|
119
|
+
track?.('plan_clicked', { plan: 'dev', interval, from: 'onboarding', items: [item('dev', interval)] });
|
|
120
|
+
pay('dev', 1, 'pro');
|
|
121
|
+
}, onAll: () => setView('plans') })] }));
|
|
122
|
+
}
|
|
44
123
|
if (view === 'use') {
|
|
45
124
|
return (_jsx(Page, { site: site, title: `How are you planning to use ${site}?`, center: true, width: 720, children: _jsx(UseCards, { onPick: (use) => {
|
|
46
125
|
track?.('usage_selected', { use });
|
|
47
126
|
void session.save({ use });
|
|
48
127
|
if (use === 'personal')
|
|
49
|
-
setView('
|
|
128
|
+
setView('pro');
|
|
50
129
|
else if (use === 'enterprise')
|
|
51
130
|
setView('enterprise');
|
|
52
131
|
else
|
|
@@ -54,21 +133,20 @@ export function Onboarding({ site = 'Hanzo', api = API, track, onDone, onAsk, te
|
|
|
54
133
|
}, onAsk: onAsk }) }));
|
|
55
134
|
}
|
|
56
135
|
if (view === 'plans') {
|
|
57
|
-
return (_jsx(Page, { site: site, title: "Plans that grow with you", width: 1140, children: _jsx(Plans, { interval: interval, setInterval: (i) => {
|
|
136
|
+
return (_jsx(Page, { site: site, title: "Plans that grow with you", width: 1140, back: open === 'plans' ? onClose : () => setView('pro'), children: _jsx(Plans, { interval: interval, setInterval: (i) => {
|
|
58
137
|
track?.('plan_changed', { from: interval, to: i, field: 'interval' });
|
|
59
138
|
setInterval(i);
|
|
60
139
|
}, onFree: () => {
|
|
61
140
|
track?.('plan_skipped', { plan: 'free' });
|
|
62
|
-
void session.save({ plan: 'free' });
|
|
141
|
+
void session.save({ use: 'personal', plan: 'free' });
|
|
63
142
|
onDone({ use: 'personal', plan: 'free' });
|
|
64
143
|
}, onPick: (plan) => {
|
|
65
144
|
track?.('plan_clicked', { plan, interval, from: 'onboarding', items: [item(plan, interval)] });
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
} }) }));
|
|
145
|
+
pay(plan, 1, 'plans');
|
|
146
|
+
}, onTeam: () => setView('use') }) }));
|
|
69
147
|
}
|
|
70
148
|
if (view === 'team') {
|
|
71
|
-
return (_jsx(Page, { site: site, title: "Let\u2019s create your team", start: true, back: () => setView('use'), lede: "Team plans are best for groups up to 150 people. Choose a team name that invited members will easily recognize.", children: _jsx(TeamName, { api: api, onCreated: async (handle) => {
|
|
149
|
+
return (_jsx(Page, { site: site, title: "Let\u2019s create your team", start: true, back: open === 'team' && onClose ? onClose : () => setView('use'), lede: "Team plans are best for groups up to 150 people. Choose a team name that invited members will easily recognize.", children: _jsx(TeamName, { api: api, onCreated: async (handle) => {
|
|
72
150
|
await onTeam?.(handle);
|
|
73
151
|
track?.('team_created', {});
|
|
74
152
|
setTeam(handle);
|
|
@@ -88,7 +166,7 @@ export function Onboarding({ site = 'Hanzo', api = API, track, onDone, onAsk, te
|
|
|
88
166
|
}, onContinue: () => {
|
|
89
167
|
const b = buy ?? { plan: 'team_standard', seats: MIN_SEATS };
|
|
90
168
|
track?.('plan_clicked', { plan: b.plan, interval, from: 'onboarding', items: [item(b.plan, interval, b.seats)] });
|
|
91
|
-
|
|
169
|
+
pay(b.plan, b.seats, 'plans');
|
|
92
170
|
}, onEnterprise: () => setView('enterprise'), onAsk: onAsk }) }));
|
|
93
171
|
}
|
|
94
172
|
if (view === 'enterprise') {
|
|
@@ -99,9 +177,9 @@ export function Onboarding({ site = 'Hanzo', api = API, track, onDone, onAsk, te
|
|
|
99
177
|
} }) }));
|
|
100
178
|
}
|
|
101
179
|
const b = buy ?? { plan: 'dev', seats: 1 };
|
|
102
|
-
return (_jsx(Checkout, { site: site, api: api, org:
|
|
180
|
+
return (_jsx(Checkout, { site: site, api: api, org: offer(b.plan).category === 'team' ? org : undefined, plan: b.plan, seats: b.seats, interval: interval, setInterval: setInterval, setPlan: (plan) => setBuy({ plan, seats: 1 }), track: track, termsPath: termsPath, back: () => setView(offer(b.plan).category === 'team' ? 'seats' : at), onPaid: () => {
|
|
103
181
|
void session.save({ plan: b.plan });
|
|
104
|
-
onDone({ use:
|
|
182
|
+
onDone({ use: offer(b.plan).category === 'team' ? 'team' : 'personal', plan: b.plan, org });
|
|
105
183
|
} }));
|
|
106
184
|
}
|
|
107
185
|
//# sourceMappingURL=Onboarding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Onboarding.js","sourceRoot":"","sources":["../../src/onboarding/Onboarding.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Onboarding.js","sourceRoot":"","sources":["../../src/onboarding/Onboarding.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CreateAccount = CreateAccount;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const checkbox_1 = require("../backends/gui/checkbox.cjs");
|
|
8
|
+
const field_1 = require("../backends/gui/field.cjs");
|
|
9
|
+
const button_1 = require("../backends/gui/button.cjs");
|
|
10
|
+
const layout_1 = require("../backends/gui/layout.cjs");
|
|
11
|
+
const frame_1 = require("./frame.cjs");
|
|
12
|
+
const screens_1 = require("./screens.cjs");
|
|
13
|
+
function CreateAccount({ site = 'Hanzo', email, busy, wrong, termsPath = '/terms', aupPath = '/aup', onCreate, onOther }) {
|
|
14
|
+
const [agree, setAgree] = (0, react_1.useState)(false);
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(frame_1.Page, { site: site, title: "Let\u2019s create your account", lede: "A few things for you to review", center: true, width: 360, foot: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(layout_1.SizableText, { size: "$1", color: "$quiet", text: "center", children: `Email verified as ${email}` }), (0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "link", size: "sm", px: 0, minH: 0, disabled: busy, onClick: onOther, children: "Use a different email" })] }), children: (0, jsx_runtime_1.jsxs)(frame_1.Panel, { label: "Terms", children: [(0, jsx_runtime_1.jsxs)(layout_1.XStack, { gap: "$3", items: "flex-start", children: [(0, jsx_runtime_1.jsx)(checkbox_1.Checkbox, { id: "hanzo-terms", checked: agree, onCheckedChange: (v) => setAgree(v === true), mt: "$1", "aria-label": "I agree to the Terms of Service and Acceptable Use Policy and confirm that I am at least 18 years of age" }), (0, jsx_runtime_1.jsxs)(layout_1.Paragraph, { render: "label", htmlFor: "hanzo-terms", size: "$2", color: "$ink", flex: 1, m: 0, children: [`I agree to ${site}’s `, (0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: termsPath, color: "$ink", textDecorationLine: "underline", children: "Terms of Service" }), ' and ', (0, jsx_runtime_1.jsx)(layout_1.Anchor, { href: aupPath, color: "$ink", textDecorationLine: "underline", children: "Acceptable Use Policy" }), ' and confirm that I am at least 18 years of age.'] })] }), wrong ? (0, jsx_runtime_1.jsx)(field_1.FieldError, { children: wrong }) : null, (0, jsx_runtime_1.jsx)(screens_1.Primary, { disabled: !agree || busy, onClick: onCreate, children: busy ? 'One moment…' : 'Create account' })] }) }));
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Let's create your account": the one page a new account sees between proving
|
|
3
|
+
* its address and having an account. One unticked box, one button that stays
|
|
4
|
+
* disabled until the box is ticked, and the address it was proven for with a way
|
|
5
|
+
* to use another. Nothing is created before `onCreate` runs; the host records the
|
|
6
|
+
* acceptance (policy versions, time, method) on the IAM user.
|
|
7
|
+
*/
|
|
8
|
+
export interface CreateAccountProps {
|
|
9
|
+
site?: string;
|
|
10
|
+
/** The address that was verified. */
|
|
11
|
+
email: string;
|
|
12
|
+
busy?: boolean;
|
|
13
|
+
wrong?: string | null;
|
|
14
|
+
termsPath?: string;
|
|
15
|
+
aupPath?: string;
|
|
16
|
+
onCreate: () => void;
|
|
17
|
+
/** Go back and start over with another address. */
|
|
18
|
+
onOther: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function CreateAccount({ site, email, busy, wrong, termsPath, aupPath, onCreate, onOther }: CreateAccountProps): import("react").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=account.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/onboarding/account.tsx"],"names":[],"mappings":"AAUA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAc,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAoB,EAAE,OAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,kBAAkB,+BA0ClJ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { Checkbox } from '../backends/gui/checkbox.js';
|
|
5
|
+
import { FieldError } from '../backends/gui/field.js';
|
|
6
|
+
import { Button } from '../backends/gui/button.js';
|
|
7
|
+
import { Anchor, Paragraph, SizableText, XStack } from '../backends/gui/layout.js';
|
|
8
|
+
import { Page, Panel } from './frame.js';
|
|
9
|
+
import { Primary } from './screens.js';
|
|
10
|
+
export function CreateAccount({ site = 'Hanzo', email, busy, wrong, termsPath = '/terms', aupPath = '/aup', onCreate, onOther }) {
|
|
11
|
+
const [agree, setAgree] = useState(false);
|
|
12
|
+
return (_jsx(Page, { site: site, title: "Let\u2019s create your account", lede: "A few things for you to review", center: true, width: 360, foot: _jsxs(_Fragment, { children: [_jsx(SizableText, { size: "$1", color: "$quiet", text: "center", children: `Email verified as ${email}` }), _jsx(Button, { type: "button", variant: "link", size: "sm", px: 0, minH: 0, disabled: busy, onClick: onOther, children: "Use a different email" })] }), children: _jsxs(Panel, { label: "Terms", children: [_jsxs(XStack, { gap: "$3", items: "flex-start", children: [_jsx(Checkbox, { id: "hanzo-terms", checked: agree, onCheckedChange: (v) => setAgree(v === true), mt: "$1", "aria-label": "I agree to the Terms of Service and Acceptable Use Policy and confirm that I am at least 18 years of age" }), _jsxs(Paragraph, { render: "label", htmlFor: "hanzo-terms", size: "$2", color: "$ink", flex: 1, m: 0, children: [`I agree to ${site}’s `, _jsx(Anchor, { href: termsPath, color: "$ink", textDecorationLine: "underline", children: "Terms of Service" }), ' and ', _jsx(Anchor, { href: aupPath, color: "$ink", textDecorationLine: "underline", children: "Acceptable Use Policy" }), ' and confirm that I am at least 18 years of age.'] })] }), wrong ? _jsx(FieldError, { children: wrong }) : null, _jsx(Primary, { disabled: !agree || busy, onClick: onCreate, children: busy ? 'One moment…' : 'Create account' })] }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/onboarding/account.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsBnC,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAsB;IACjJ,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzC,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,gCAA2B,EACjC,IAAI,EAAC,gCAAgC,EACrC,MAAM,QACN,KAAK,EAAE,GAAG,EACV,IAAI,EACF,8BACE,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,YAChD,qBAAqB,KAAK,EAAE,GACjB,EACd,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,sCAEtF,IACR,YAGL,MAAC,KAAK,IAAC,KAAK,EAAC,OAAO,aAClB,MAAC,MAAM,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,YAAY,aACjC,KAAC,QAAQ,IAAC,EAAE,EAAC,aAAa,EAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAA4B,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,EAAC,IAAI,gBAAY,0GAA0G,GAAG,EACpP,MAAC,SAAS,IAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aACjF,cAAc,IAAI,KAAK,EACxB,KAAC,MAAM,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,MAAM,EAAC,kBAAkB,EAAC,WAAW,iCAE3D,EACR,OAAO,EACR,KAAC,MAAM,IAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAC,MAAM,EAAC,kBAAkB,EAAC,WAAW,sCAEzD,EACR,kDAAkD,IACzC,IACL,EACR,KAAK,CAAC,CAAC,CAAC,KAAC,UAAU,cAAE,KAAK,GAAc,CAAC,CAAC,CAAC,IAAI,EAChD,KAAC,OAAO,IAAC,QAAQ,EAAE,CAAC,KAAK,IAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,YACjD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,GAChC,IACJ,GACH,CACR,CAAA;AACH,CAAC"}
|
package/dist/onboarding/api.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.rename = exports.account = exports.saveProgress = exports.preferences = exports.ApiError = exports.API = void 0;
|
|
3
|
+
exports.rename = exports.account = exports.acceptTerms = exports.saveProgress = exports.preferences = exports.ApiError = exports.API = void 0;
|
|
4
4
|
exports.call = call;
|
|
5
5
|
const session_1 = require("../auth/session.cjs");
|
|
6
6
|
/** Where the IAM and billing routes answer from. api.hanzo.ai answers CORS for every Hanzo host. */
|
|
@@ -40,6 +40,9 @@ const preferences = (base, patch = {}) => call(base, '/v1/iam/preferences', { me
|
|
|
40
40
|
exports.preferences = preferences;
|
|
41
41
|
const saveProgress = (base, patch) => (0, exports.preferences)(base).then((cur) => (0, exports.preferences)(base, { onboarding: { ...(cur.onboarding ?? {}), ...patch } }));
|
|
42
42
|
exports.saveProgress = saveProgress;
|
|
43
|
+
/** PUT /v1/iam/terms: IAM records that the signed-in caller accepted these versions, with the time and the method. */
|
|
44
|
+
const acceptTerms = (base, policy) => call(base, '/v1/iam/terms', { method: 'PUT', body: JSON.stringify(policy) });
|
|
45
|
+
exports.acceptTerms = acceptTerms;
|
|
43
46
|
const account = (base) => call(base, '/v1/iam/account');
|
|
44
47
|
exports.account = account;
|
|
45
48
|
const rename = (base, displayName) => call(base, '/v1/iam/account', { method: 'PUT', body: JSON.stringify({ displayName }) });
|
package/dist/onboarding/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Progress, Stored } from './state.js';
|
|
1
|
+
import type { Accepted, Policy, Progress, Stored } from './state.js';
|
|
2
2
|
/** Where the IAM and billing routes answer from. api.hanzo.ai answers CORS for every Hanzo host. */
|
|
3
3
|
export declare const API = "https://api.hanzo.ai";
|
|
4
4
|
export declare class ApiError extends Error {
|
|
@@ -13,7 +13,11 @@ export interface Account {
|
|
|
13
13
|
owner?: string;
|
|
14
14
|
name?: string;
|
|
15
15
|
displayName?: string;
|
|
16
|
+
email?: string;
|
|
17
|
+
createdTime?: string;
|
|
16
18
|
}
|
|
19
|
+
/** PUT /v1/iam/terms: IAM records that the signed-in caller accepted these versions, with the time and the method. */
|
|
20
|
+
export declare const acceptTerms: (base: string, policy: Policy) => Promise<Accepted>;
|
|
17
21
|
export declare const account: (base: string) => Promise<Account>;
|
|
18
22
|
export declare const rename: (base: string, displayName: string) => Promise<Account>;
|
|
19
23
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/onboarding/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/onboarding/api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEjE,oGAAoG;AACpG,eAAO,MAAM,GAAG,yBAAyB,CAAA;AAEzC,qBAAa,QAAS,SAAQ,KAAK;IACJ,QAAQ,CAAC,MAAM,EAAE,MAAM;IAApD,YAAY,OAAO,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM,EAEnD;CACF;AAED,wBAAsB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAoB5F;AAED,oFAAoF;AACpF,eAAO,MAAM,WAAW,SAAU,MAAM,UAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoG,CAAA;AAE5K,eAAO,MAAM,YAAY,SAAU,MAAM,SAAS,QAAQ,oBACmD,CAAA;AAE7G,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,sHAAsH;AACtH,eAAO,MAAM,WAAW,SAAU,MAAM,UAAU,MAAM,sBAA2F,CAAA;AAEnJ,eAAO,MAAM,OAAO,SAAU,MAAM,qBAA2C,CAAA;AAC/E,eAAO,MAAM,MAAM,SAAU,MAAM,eAAe,MAAM,qBAAqG,CAAA"}
|
package/dist/onboarding/api.js
CHANGED
|
@@ -33,6 +33,8 @@ export async function call(base, path, init = {}) {
|
|
|
33
33
|
/** POST /v1/iam/preferences: shallow-merged onto the stored blob; `{}` reads it. */
|
|
34
34
|
export const preferences = (base, patch = {}) => call(base, '/v1/iam/preferences', { method: 'POST', body: JSON.stringify(patch) });
|
|
35
35
|
export const saveProgress = (base, patch) => preferences(base).then((cur) => preferences(base, { onboarding: { ...(cur.onboarding ?? {}), ...patch } }));
|
|
36
|
+
/** PUT /v1/iam/terms: IAM records that the signed-in caller accepted these versions, with the time and the method. */
|
|
37
|
+
export const acceptTerms = (base, policy) => call(base, '/v1/iam/terms', { method: 'PUT', body: JSON.stringify(policy) });
|
|
36
38
|
export const account = (base) => call(base, '/v1/iam/account');
|
|
37
39
|
export const rename = (base, displayName) => call(base, '/v1/iam/account', { method: 'PUT', body: JSON.stringify({ displayName }) });
|
|
38
40
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/onboarding/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,oGAAoG;AACpG,MAAM,CAAC,MAAM,GAAG,GAAG,sBAAsB,CAAA;AAEzC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACK,MAAM;IAA5C,YAAY,OAAe,EAAW,MAAc;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;sBADsB,MAAM;IAE5C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAI,IAAY,EAAE,IAAY,EAAE,IAAI,GAAgB,EAAE;IAC9E,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;IACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;QACxC,GAAG,IAAI;QACP,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAI,IAAI,CAAC,OAA8C,EAAE;KACjK,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;IAC7B,IAAI,IAAI,GAAY,IAAI,CAAA;IACxB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,IAAgE,CAAA;QAC1E,MAAM,IAAI,QAAQ,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,KAAK,IAAI,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrG,CAAC;IACD,6DAA6D;IAC7D,MAAM,OAAO,GAAG,IAAkD,CAAA;IAClE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAM,CAAA;AAC7F,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,KAAK,GAA4B,EAAE,EAAE,EAAE,CAAC,IAAI,CAAS,IAAI,EAAE,qBAAqB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAE5K,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAe,EAAE,EAAE,CAC5D,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/onboarding/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadCatalog = loadCatalog;
|
|
4
|
+
exports.useCatalog = useCatalog;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const api_1 = require("./api.cjs");
|
|
7
|
+
const plans_1 = require("./plans.cjs");
|
|
8
|
+
const loads = new Map();
|
|
9
|
+
/** Read the live catalog once per origin; a failed read is tried again next time. */
|
|
10
|
+
function loadCatalog(api) {
|
|
11
|
+
let p = loads.get(api);
|
|
12
|
+
if (!p) {
|
|
13
|
+
p = (0, api_1.call)(api, '/v1/billing/plans').then((r) => (0, plans_1.adopt)(Array.isArray(r) ? r : r.plans));
|
|
14
|
+
p.catch(() => loads.delete(api));
|
|
15
|
+
loads.set(api, p);
|
|
16
|
+
}
|
|
17
|
+
return p;
|
|
18
|
+
}
|
|
19
|
+
/** Whether the catalog has loaded (`null` while it is being read), so no screen prices from nothing. */
|
|
20
|
+
function useCatalog(api) {
|
|
21
|
+
const [ok, setOk] = (0, react_1.useState)(null);
|
|
22
|
+
(0, react_1.useEffect)(() => {
|
|
23
|
+
let live = true;
|
|
24
|
+
loadCatalog(api).then(() => live && setOk(true), () => live && setOk(false));
|
|
25
|
+
return () => {
|
|
26
|
+
live = false;
|
|
27
|
+
};
|
|
28
|
+
}, [api]);
|
|
29
|
+
return ok;
|
|
30
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Read the live catalog once per origin; a failed read is tried again next time. */
|
|
2
|
+
export declare function loadCatalog(api: string): Promise<void>;
|
|
3
|
+
/** Whether the catalog has loaded (`null` while it is being read), so no screen prices from nothing. */
|
|
4
|
+
export declare function useCatalog(api: string): boolean | null;
|
|
5
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/onboarding/catalog.ts"],"names":[],"mappings":"AAMA,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQtD;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAatD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { call } from './api.js';
|
|
3
|
+
import { adopt } from './plans.js';
|
|
4
|
+
const loads = new Map();
|
|
5
|
+
/** Read the live catalog once per origin; a failed read is tried again next time. */
|
|
6
|
+
export function loadCatalog(api) {
|
|
7
|
+
let p = loads.get(api);
|
|
8
|
+
if (!p) {
|
|
9
|
+
p = call(api, '/v1/billing/plans').then((r) => adopt(Array.isArray(r) ? r : r.plans));
|
|
10
|
+
p.catch(() => loads.delete(api));
|
|
11
|
+
loads.set(api, p);
|
|
12
|
+
}
|
|
13
|
+
return p;
|
|
14
|
+
}
|
|
15
|
+
/** Whether the catalog has loaded (`null` while it is being read), so no screen prices from nothing. */
|
|
16
|
+
export function useCatalog(api) {
|
|
17
|
+
const [ok, setOk] = useState(null);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
let live = true;
|
|
20
|
+
loadCatalog(api).then(() => live && setOk(true), () => live && setOk(false));
|
|
21
|
+
return () => {
|
|
22
|
+
live = false;
|
|
23
|
+
};
|
|
24
|
+
}, [api]);
|
|
25
|
+
return ok;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/onboarding/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAY,MAAM,SAAS,CAAA;AAEzC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAA;AAE9C,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,IAAI,CAA2B,GAAG,EAAE,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/G,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAChC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAA;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CACnB,GAAG,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,EACzB,GAAG,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAC3B,CAAA;QACD,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,CAAA;QACd,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;IACT,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use client';"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Bare = Bare;
|
|
4
5
|
exports.Page = Page;
|
|
5
6
|
exports.Panel = Panel;
|
|
6
7
|
exports.IntervalToggle = IntervalToggle;
|
|
7
8
|
exports.Line = Line;
|
|
8
9
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
|
+
const react_1 = require("react");
|
|
9
11
|
const shell_1 = require("@hanzogui/shell");
|
|
10
12
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
11
13
|
const button_1 = require("../backends/gui/button.cjs");
|
|
@@ -13,22 +15,30 @@ const card_1 = require("../backends/gui/card.cjs");
|
|
|
13
15
|
const layout_1 = require("../backends/gui/layout.cjs");
|
|
14
16
|
const spinner_1 = require("../backends/gui/spinner.cjs");
|
|
15
17
|
const toggle_group_1 = require("../backends/gui/toggle-group.cjs");
|
|
16
|
-
const
|
|
18
|
+
const Brand = (0, react_1.createContext)(true);
|
|
19
|
+
/**
|
|
20
|
+
* Wrap onboarding in a host whose own shell already draws the logo and the page's
|
|
21
|
+
* `main` (a bare masthead), so the pages draw neither a second logo nor a second `main`.
|
|
22
|
+
*/
|
|
23
|
+
function Bare({ children }) {
|
|
24
|
+
return (0, jsx_runtime_1.jsx)(Brand.Provider, { value: false, children: children });
|
|
25
|
+
}
|
|
17
26
|
/**
|
|
18
27
|
* One page of onboarding: the product's mark, a title, a line under it, and the
|
|
19
28
|
* screen. No progress bar and no step counter. `width` sets how much room the
|
|
20
29
|
* screen has: a column for a form, the full row for three plans.
|
|
21
30
|
*/
|
|
22
|
-
function Page({ site, title, lede, back, children, center, width = 480, start, busy, }) {
|
|
23
|
-
|
|
31
|
+
function Page({ site, title, lede, back, children, center, width = 480, start, busy, foot, }) {
|
|
32
|
+
const brand = (0, react_1.useContext)(Brand);
|
|
33
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { render: brand ? 'main' : 'div', "aria-busy": busy || undefined, bg: "$background", minH: "100vh", items: "center", justify: center ? 'center' : 'flex-start', gap: "$4", pt: center ? 96 : 28, pb: 96, px: "$4", children: [back ? ((0, jsx_runtime_1.jsx)(button_1.Button, { type: "button", variant: "ghost", size: "icon-lg", "aria-label": "Back", position: "absolute", t: 20, l: 20, rounded: "$10", onClick: back, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ArrowLeft, { size: 18 }) })) : null, brand ? ((0, jsx_runtime_1.jsxs)(layout_1.XStack, { items: "center", gap: "$2.5", mb: "$5", children: [(0, jsx_runtime_1.jsx)(shell_1.HanzoMark, { size: 20 }), (0, jsx_runtime_1.jsx)(layout_1.SizableText, { size: "$5", fontWeight: "500", color: "$ink", children: site })] })) : null, title || lede ? ((0, jsx_runtime_1.jsxs)(layout_1.YStack, { width: "100%", maxW: start ? width : 720, items: start ? 'flex-start' : 'center', gap: "$3", children: [title ? ((0, jsx_runtime_1.jsx)(layout_1.Heading, { render: "h1", size: "$9", fontWeight: "500", color: "$ink", text: start ? 'left' : 'center', m: 0, children: title })) : null, lede ? ((0, jsx_runtime_1.jsx)(layout_1.Paragraph, { size: "$3", color: "$quiet", text: start ? 'left' : 'center', maxW: 520, m: 0, children: lede })) : null] })) : null, busy ? (0, jsx_runtime_1.jsx)(spinner_1.Spinner, { size: 20 }) : null, children ? ((0, jsx_runtime_1.jsx)(layout_1.YStack, { width: "100%", maxW: width, items: "stretch", gap: "$4", mt: "$2", children: children })) : null, foot ? ((0, jsx_runtime_1.jsx)(layout_1.YStack, { position: "absolute", b: 32, l: 0, r: 0, items: "center", gap: "$1", px: "$4", children: foot })) : null] }));
|
|
24
34
|
}
|
|
25
35
|
/** A bordered panel with room inside, the surface for an order, a notice or a plan. */
|
|
26
36
|
function Panel({ children, label }) {
|
|
27
37
|
return ((0, jsx_runtime_1.jsx)(card_1.Card, { "aria-label": label, bg: "$panel", width: "100%", children: (0, jsx_runtime_1.jsx)(card_1.CardContent, { gap: "$3", children: children }) }));
|
|
28
38
|
}
|
|
29
39
|
/** Monthly or Yearly, with what a year saves. `name` says which plan it changes, for screen readers. */
|
|
30
|
-
function IntervalToggle({ interval, onChange, name }) {
|
|
31
|
-
return ((0, jsx_runtime_1.jsxs)(toggle_group_1.ToggleGroup, { type: "single", size: "sm", value: interval, disableDeactivation: true, "aria-label": `Billing interval for ${name}`, onValueChange: (v) => onChange(v), children: [(0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroupItem, { value: "monthly", children: "Monthly" }), (0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroupItem, { value: "annual", children: `Yearly · Save ${
|
|
40
|
+
function IntervalToggle({ interval, onChange, name, save }) {
|
|
41
|
+
return ((0, jsx_runtime_1.jsxs)(toggle_group_1.ToggleGroup, { type: "single", size: "sm", value: interval, disableDeactivation: true, "aria-label": `Billing interval for ${name}`, onValueChange: (v) => onChange(v), children: [(0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroupItem, { value: "monthly", children: "Monthly" }), (0, jsx_runtime_1.jsx)(toggle_group_1.ToggleGroupItem, { value: "annual", children: `Yearly · Save ${save}%` })] }));
|
|
32
42
|
}
|
|
33
43
|
/** A line of an order: what, and how much. `muted` for the lines that are not the total. */
|
|
34
44
|
function Line({ label, note, value, muted, strong }) {
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { Interval } from './plans.js';
|
|
3
|
+
/**
|
|
4
|
+
* Wrap onboarding in a host whose own shell already draws the logo and the page's
|
|
5
|
+
* `main` (a bare masthead), so the pages draw neither a second logo nor a second `main`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Bare({ children }: {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
3
10
|
/**
|
|
4
11
|
* One page of onboarding: the product's mark, a title, a line under it, and the
|
|
5
12
|
* screen. No progress bar and no step counter. `width` sets how much room the
|
|
6
13
|
* screen has: a column for a form, the full row for three plans.
|
|
7
14
|
*/
|
|
8
|
-
export declare function Page({ site, title, lede, back, children, center, width, start, busy, }: {
|
|
15
|
+
export declare function Page({ site, title, lede, back, children, center, width, start, busy, foot, }: {
|
|
9
16
|
site: string;
|
|
10
17
|
title: string;
|
|
11
18
|
lede?: string;
|
|
@@ -16,6 +23,8 @@ export declare function Page({ site, title, lede, back, children, center, width,
|
|
|
16
23
|
/** Left-align the title and the line under it with the column, as a form does. */
|
|
17
24
|
start?: boolean;
|
|
18
25
|
busy?: boolean;
|
|
26
|
+
/** A quiet line at the foot of the page, under everything: who the email is, a way out. */
|
|
27
|
+
foot?: ReactNode;
|
|
19
28
|
}): import("react").JSX.Element;
|
|
20
29
|
/** A bordered panel with room inside, the surface for an order, a notice or a plan. */
|
|
21
30
|
export declare function Panel({ children, label }: {
|
|
@@ -23,10 +32,11 @@ export declare function Panel({ children, label }: {
|
|
|
23
32
|
label?: string;
|
|
24
33
|
}): import("react").JSX.Element;
|
|
25
34
|
/** Monthly or Yearly, with what a year saves. `name` says which plan it changes, for screen readers. */
|
|
26
|
-
export declare function IntervalToggle({ interval, onChange, name }: {
|
|
35
|
+
export declare function IntervalToggle({ interval, onChange, name, save }: {
|
|
27
36
|
interval: Interval;
|
|
28
37
|
onChange: (i: Interval) => void;
|
|
29
38
|
name: string;
|
|
39
|
+
save: number;
|
|
30
40
|
}): import("react").JSX.Element;
|
|
31
41
|
/** A line of an order: what, and how much. `muted` for the lines that are not the total. */
|
|
32
42
|
export declare function Line({ label, note, value, muted, strong }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/onboarding/frame.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../src/onboarding/frame.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAQjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAIvC;;;GAGG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAEzD;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,KAAW,EACX,KAAK,EACL,IAAI,EACJ,IAAI,GACL,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,2FAA2F;IAC3F,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,+BA4CA;AAED,uFAAuF;AACvF,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,+BAMjF;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,+BAOrJ;AAED,4FAA4F;AAC5F,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,+BAoBtJ"}
|