@hanzo/ui 8.27.41 → 8.27.43

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.
@@ -40,6 +40,7 @@ const gui_1 = require("@hanzo/gui");
40
40
  const react_1 = require("react");
41
41
  const ink_1 = require("../backends/gui/ink.cjs");
42
42
  const slot_1 = require("../backends/gui/slot.cjs");
43
+ const useFileDrop_1 = require("../product/useFileDrop.cjs");
43
44
  const Composer_1 = require("./Composer.cjs");
44
45
  const Message_1 = require("./Message.cjs");
45
46
  const Parts_1 = require("./Parts.cjs");
@@ -62,8 +63,12 @@ const words_1 = require("./words.cjs");
62
63
  * in exactly that direction: `Parts` reads `type` before it reads anything else.
63
64
  */
64
65
  const draw = (said) => typeof said === 'string' || said == null ? ((0, ink_1.ink)((0, words_1.words)(said))) : ((0, jsx_runtime_1.jsx)(Parts_1.Parts, { parts: said }));
65
- function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, ...thread }) {
66
+ function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }) {
66
67
  const [draft, setDraft] = (0, react_1.useState)('');
68
+ // The ONE window-level drop, off the shared primitive. Enabled only when a
69
+ // host passed `onFiles` — a surface that cannot route a file leaves the
70
+ // window alone rather than swallowing the drop.
71
+ const { active: dropping } = (0, useFileDrop_1.useFileDrop)(onFiles ?? (() => { }), !!onFiles);
67
72
  // Clearing here rather than in an effect on `messages` is what keeps a send
68
73
  // from racing the answer: the draft is gone the moment it is sent, and a
69
74
  // surface that rejects the turn does not get a cleared box back.
@@ -85,5 +90,15 @@ function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, e
85
90
  // from the composer lands on a `display: contents` wrapper or on the page,
86
91
  // and then reports a component that is fine as broken, or one that is broken
87
92
  // as fine.
88
- return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, width: "100%", ...(0, slot_1.slot)('chat'), children: [messages.length === 0 && empty ? (empty) : ((0, jsx_runtime_1.jsx)(Thread_1.Thread, { flex: 1, ...thread, children: messages.map((turn, i) => ((0, jsx_runtime_1.jsx)(Message_1.Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), (0, jsx_runtime_1.jsx)(Composer_1.Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer })] }));
93
+ return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { flex: 1, width: "100%", ...(0, slot_1.slot)('chat'), children: [messages.length === 0 && empty ? (empty) : ((0, jsx_runtime_1.jsx)(Thread_1.Thread, { flex: 1, ...thread, children: messages.map((turn, i) => ((0, jsx_runtime_1.jsx)(Message_1.Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), (0, jsx_runtime_1.jsx)(Composer_1.Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), dropping ? ((0, jsx_runtime_1.jsx)("div", { "aria-hidden": true, style: {
94
+ position: 'fixed',
95
+ inset: 0,
96
+ zIndex: 50,
97
+ display: 'flex',
98
+ alignItems: 'center',
99
+ justifyContent: 'center',
100
+ pointerEvents: 'none',
101
+ background: 'rgba(52, 211, 153, 0.08)',
102
+ border: '2px dashed #34d399',
103
+ }, children: (0, jsx_runtime_1.jsx)("span", { style: { fontSize: 15, fontWeight: 600, color: '#34d399' }, children: "Drop files to attach" }) })) : null] }));
89
104
  }
@@ -60,6 +60,17 @@ export interface ChatProps extends Omit<ThreadProps, 'children' | 'ref'> {
60
60
  empty?: ReactNode;
61
61
  /** The composer's own props — placeholder, hint, the send control, the field. */
62
62
  composer?: Partial<ComposerProps>;
63
+ /**
64
+ * Route files dropped ANYWHERE in the window.
65
+ *
66
+ * Present, the surface lights a full-window overlay on a file drag and hands
67
+ * the dropped files here — the same window-level drop `@hanzo/chat` runs, off
68
+ * the one `useFileDrop` primitive, so a host gets "drop on any part of the
69
+ * interface" without writing a listener. Absent, the window is left untouched
70
+ * (the hook is disabled), because a drop with nowhere to go should not
71
+ * swallow the browser's own behaviour.
72
+ */
73
+ onFiles?: (files: File[]) => void;
63
74
  }
64
- export declare function Chat({ messages, streaming, send: onSend, stop: onStop, body, empty, composer, ...thread }: ChatProps): import("react").JSX.Element;
75
+ export declare function Chat({ messages, streaming, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }: ChatProps): import("react").JSX.Element;
65
76
  //# sourceMappingURL=Chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IACtE,sCAAsC;IACtC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAA;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;CAClC;AAyBD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAiB,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,SAAS,+BAoDX"}
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAK7D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,IAAI,CAAA;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IACtE,sCAAsC;IACtC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAChB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;;;;;OAUG;IACH,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAA;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IACjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;CAClC;AAyBD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,SAAiB,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,MAAM,EACV,EAAE,SAAS,+BA6EX"}
package/dist/chat/Chat.js CHANGED
@@ -37,6 +37,7 @@ import { YStack } from '@hanzo/gui';
37
37
  import { useCallback, useState } from 'react';
38
38
  import { ink } from '../backends/gui/ink.js';
39
39
  import { slot } from '../backends/gui/slot.js';
40
+ import { useFileDrop } from '../product/useFileDrop.js';
40
41
  import { Composer } from './Composer.js';
41
42
  import { Message } from './Message.js';
42
43
  import { Parts } from './Parts.js';
@@ -59,8 +60,12 @@ import { words } from './words.js';
59
60
  * in exactly that direction: `Parts` reads `type` before it reads anything else.
60
61
  */
61
62
  const draw = (said) => typeof said === 'string' || said == null ? (ink(words(said))) : (_jsx(Parts, { parts: said }));
62
- export function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, ...thread }) {
63
+ export function Chat({ messages, streaming = false, send: onSend, stop: onStop, body, empty, composer, onFiles, ...thread }) {
63
64
  const [draft, setDraft] = useState('');
65
+ // The ONE window-level drop, off the shared primitive. Enabled only when a
66
+ // host passed `onFiles` — a surface that cannot route a file leaves the
67
+ // window alone rather than swallowing the drop.
68
+ const { active: dropping } = useFileDrop(onFiles ?? (() => { }), !!onFiles);
64
69
  // Clearing here rather than in an effect on `messages` is what keeps a send
65
70
  // from racing the answer: the draft is gone the moment it is sent, and a
66
71
  // surface that rejects the turn does not get a cleared box back.
@@ -82,6 +87,16 @@ export function Chat({ messages, streaming = false, send: onSend, stop: onStop,
82
87
  // from the composer lands on a `display: contents` wrapper or on the page,
83
88
  // and then reports a component that is fine as broken, or one that is broken
84
89
  // as fine.
85
- return (_jsxs(YStack, { flex: 1, width: "100%", ...slot('chat'), children: [messages.length === 0 && empty ? (empty) : (_jsx(Thread, { flex: 1, ...thread, children: messages.map((turn, i) => (_jsx(Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), _jsx(Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer })] }));
90
+ return (_jsxs(YStack, { flex: 1, width: "100%", ...slot('chat'), children: [messages.length === 0 && empty ? (empty) : (_jsx(Thread, { flex: 1, ...thread, children: messages.map((turn, i) => (_jsx(Message, { role: turn.role, busy: streaming && i === last && turn.role === 'assistant', children: body ? body(turn) : draw(turn.content) }, turn.id))) })), _jsx(Composer, { value: draft, onChange: setDraft, onSend: send, busy: streaming, ...(onStop ? { onStop } : {}), ...composer }), dropping ? (_jsx("div", { "aria-hidden": true, style: {
91
+ position: 'fixed',
92
+ inset: 0,
93
+ zIndex: 50,
94
+ display: 'flex',
95
+ alignItems: 'center',
96
+ justifyContent: 'center',
97
+ pointerEvents: 'none',
98
+ background: 'rgba(52, 211, 153, 0.08)',
99
+ border: '2px dashed #34d399',
100
+ }, children: _jsx("span", { style: { fontSize: 15, fontWeight: 600, color: '#34d399' }, children: "Drop files to attach" }) })) : null] }));
86
101
  }
87
102
  //# sourceMappingURL=Chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sourceRoot":"","sources":["../../src/chat/Chat.tsx"],"names":[],"mappings":"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"}
package/dist/gallery.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.27.41</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
1
+ <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.27.43</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
2
2
  :root { --hanzo-ui-styles: 1; }
3
3
  /* Hanzo Design System — the entry point. Import THIS one file.
4
4
  *
@@ -12,6 +12,7 @@ const input_1 = require("../backends/gui/input.cjs");
12
12
  const layout_1 = require("../backends/gui/layout.cjs");
13
13
  const select_1 = require("../backends/gui/select.cjs");
14
14
  const api_1 = require("./api.cjs");
15
+ const attempt_1 = require("./attempt.cjs");
15
16
  const catalog_1 = require("./catalog.cjs");
16
17
  const frame_1 = require("./frame.cjs");
17
18
  const screens_1 = require("./screens.cjs");
@@ -21,7 +22,6 @@ const plans_1 = require("./plans.cjs");
21
22
  const COUNTRIES = [
22
23
  ['US', 'United States'], ['CA', 'Canada'], ['GB', 'United Kingdom'], ['AU', 'Australia'], ['DE', 'Germany'], ['FR', 'France'], ['ES', 'Spain'], ['IT', 'Italy'], ['NL', 'Netherlands'], ['SE', 'Sweden'], ['IE', 'Ireland'], ['CH', 'Switzerland'], ['JP', 'Japan'], ['SG', 'Singapore'], ['IN', 'India'], ['BR', 'Brazil'], ['MX', 'Mexico'], ['NZ', 'New Zealand'], ['ZA', 'South Africa'], ['AE', 'United Arab Emirates'],
23
24
  ];
24
- const key = () => (typeof crypto !== 'undefined' && 'randomUUID' in crypto ? crypto.randomUUID() : `${Date.now()}-${Math.random()}`);
25
25
  const renews = (interval) => {
26
26
  const d = new Date();
27
27
  if (interval === 'annual')
@@ -42,6 +42,7 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, plan, seats = 1, i
42
42
  const o = (0, plans_1.offer)(plan);
43
43
  const l = (0, react_1.useMemo)(() => (0, plans_1.lines)(plan, interval, seats), [plan, interval, seats]);
44
44
  const scope = (0, react_1.useMemo)(() => (org ? { 'X-Org-Id': org } : undefined), [org]);
45
+ const sale = (0, attempt_1.purchase)(org, plans_1.SLUG[plan], interval, l.seats);
45
46
  const [settings, setSettings] = (0, react_1.useState)(null);
46
47
  const [ready, setReady] = (0, react_1.useState)(false);
47
48
  const [busy, setBusy] = (0, react_1.useState)(false);
@@ -49,7 +50,6 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, plan, seats = 1, i
49
50
  const [agree, setAgree] = (0, react_1.useState)(false);
50
51
  const [form, setForm] = (0, react_1.useState)({ name: '', country: 'US', address: '', invoice: '' });
51
52
  const card = (0, react_1.useRef)(null);
52
- const attempt = (0, react_1.useRef)(key());
53
53
  const started = (0, react_1.useRef)(false);
54
54
  // The billing form is shown with a total: checkout has started.
55
55
  (0, react_1.useEffect)(() => {
@@ -140,15 +140,19 @@ function CheckoutForm({ site = 'Hanzo', api = api_1.API, org, plan, seats = 1, i
140
140
  track?.('payment_info_added', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
141
141
  const paid = await (0, api_1.call)(api, '/v1/billing/subscribe/card', {
142
142
  method: 'POST',
143
- headers: { ...scope, 'X-Idempotency-Key': attempt.current },
143
+ headers: { ...scope, 'X-Idempotency-Key': (0, attempt_1.keyFor)(sale) },
144
144
  body: JSON.stringify({ sourceId: result.token, planId: plans_1.SLUG[plan], quantity: l.seats, ...(interval === 'annual' ? { interval: 'year' } : {}) }),
145
145
  });
146
+ (0, attempt_1.settle)(sale);
146
147
  track?.('order_completed', { order_id: paid.invoiceId, plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [(0, plans_1.item)(plan, interval, seats)] });
147
148
  onPaid({ orderId: paid.invoiceId });
148
149
  }
149
150
  catch (err) {
150
- attempt.current = key();
151
- fail('declined', err instanceof api_1.ApiError ? err.message : 'The payment did not go through. You have not been charged.');
151
+ // The same key is sent again until commerce says nothing was charged, so a
152
+ // retry after an unknown answer replays the sale rather than making a second.
153
+ if (err instanceof api_1.ApiError && (0, attempt_1.uncharged)(err.status, err.message))
154
+ (0, attempt_1.settle)(sale);
155
+ fail('declined', err instanceof api_1.ApiError ? err.message : 'We could not confirm the payment. Check Billing before you try again.');
152
156
  }
153
157
  }
154
158
  const per = interval === 'annual' ? 'year' : 'month';
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.d.ts","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,EAA8D,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhH;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAClC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzC;AA0BD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAK5C"}
1
+ {"version":3,"file":"Checkout.d.ts","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,EAA8D,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhH;;;;;;;;;GASG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAA;IAClC,8FAA8F;IAC9F,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;CACzC;AAyBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BAK5C"}
@@ -9,6 +9,7 @@ import { Input } from '../backends/gui/input.js';
9
9
  import { Anchor, Heading, Paragraph, XStack, YStack } from '../backends/gui/layout.js';
10
10
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../backends/gui/select.js';
11
11
  import { ApiError, API, call } from './api.js';
12
+ import { keyFor, purchase, settle, uncharged } from './attempt.js';
12
13
  import { useCatalog } from './catalog.js';
13
14
  import { Line, Page, Panel } from './frame.js';
14
15
  import { IntervalChoice, Primary } from './screens.js';
@@ -18,7 +19,6 @@ import { item, lines, money, offer, period, saving, SLUG, unit, usd } from './pl
18
19
  const COUNTRIES = [
19
20
  ['US', 'United States'], ['CA', 'Canada'], ['GB', 'United Kingdom'], ['AU', 'Australia'], ['DE', 'Germany'], ['FR', 'France'], ['ES', 'Spain'], ['IT', 'Italy'], ['NL', 'Netherlands'], ['SE', 'Sweden'], ['IE', 'Ireland'], ['CH', 'Switzerland'], ['JP', 'Japan'], ['SG', 'Singapore'], ['IN', 'India'], ['BR', 'Brazil'], ['MX', 'Mexico'], ['NZ', 'New Zealand'], ['ZA', 'South Africa'], ['AE', 'United Arab Emirates'],
20
21
  ];
21
- const key = () => (typeof crypto !== 'undefined' && 'randomUUID' in crypto ? crypto.randomUUID() : `${Date.now()}-${Math.random()}`);
22
22
  const renews = (interval) => {
23
23
  const d = new Date();
24
24
  if (interval === 'annual')
@@ -39,6 +39,7 @@ function CheckoutForm({ site = 'Hanzo', api = API, org, plan, seats = 1, interva
39
39
  const o = offer(plan);
40
40
  const l = useMemo(() => lines(plan, interval, seats), [plan, interval, seats]);
41
41
  const scope = useMemo(() => (org ? { 'X-Org-Id': org } : undefined), [org]);
42
+ const sale = purchase(org, SLUG[plan], interval, l.seats);
42
43
  const [settings, setSettings] = useState(null);
43
44
  const [ready, setReady] = useState(false);
44
45
  const [busy, setBusy] = useState(false);
@@ -46,7 +47,6 @@ function CheckoutForm({ site = 'Hanzo', api = API, org, plan, seats = 1, interva
46
47
  const [agree, setAgree] = useState(false);
47
48
  const [form, setForm] = useState({ name: '', country: 'US', address: '', invoice: '' });
48
49
  const card = useRef(null);
49
- const attempt = useRef(key());
50
50
  const started = useRef(false);
51
51
  // The billing form is shown with a total: checkout has started.
52
52
  useEffect(() => {
@@ -137,15 +137,19 @@ function CheckoutForm({ site = 'Hanzo', api = API, org, plan, seats = 1, interva
137
137
  track?.('payment_info_added', { plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [item(plan, interval, seats)] });
138
138
  const paid = await call(api, '/v1/billing/subscribe/card', {
139
139
  method: 'POST',
140
- headers: { ...scope, 'X-Idempotency-Key': attempt.current },
140
+ headers: { ...scope, 'X-Idempotency-Key': keyFor(sale) },
141
141
  body: JSON.stringify({ sourceId: result.token, planId: SLUG[plan], quantity: l.seats, ...(interval === 'annual' ? { interval: 'year' } : {}) }),
142
142
  });
143
+ settle(sale);
143
144
  track?.('order_completed', { order_id: paid.invoiceId, plan, interval, seats: l.seats, value: l.subtotal, currency: 'USD', items: [item(plan, interval, seats)] });
144
145
  onPaid({ orderId: paid.invoiceId });
145
146
  }
146
147
  catch (err) {
147
- attempt.current = key();
148
- fail('declined', err instanceof ApiError ? err.message : 'The payment did not go through. You have not been charged.');
148
+ // The same key is sent again until commerce says nothing was charged, so a
149
+ // retry after an unknown answer replays the sale rather than making a second.
150
+ if (err instanceof ApiError && uncharged(err.status, err.message))
151
+ settle(sale);
152
+ fail('declined', err instanceof ApiError ? err.message : 'We could not confirm the payment. Check Billing before you try again.');
149
153
  }
150
154
  }
151
155
  const per = interval === 'annual' ? 'year' : 'month';
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.js","sourceRoot":"","sources":["../../src/onboarding/Checkout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * The retry key of one purchase: the organization, the plan, the term and the
4
+ * seats. It is kept in the browser until commerce settles the purchase, so a
5
+ * retry after a lost answer, a remount, or a second tab asks for the same sale
6
+ * and commerce replays it instead of charging again
7
+ * (POST /v1/billing/subscribe/card, X-Idempotency-Key). A new key is taken once
8
+ * commerce has answered that nothing was charged, and after a day: commerce keeps
9
+ * a settled sale's answer, so a key kept longer would replay yesterday's sale.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.uncharged = exports.purchase = void 0;
13
+ exports.keyFor = keyFor;
14
+ exports.settle = settle;
15
+ const PREFIX = 'hanzo.checkout:';
16
+ /** How long a key is kept: a retry comes within minutes, a new purchase days later. */
17
+ const DAY = 24 * 60 * 60 * 1000;
18
+ const random = () => (typeof crypto !== 'undefined' && 'randomUUID' in crypto ? crypto.randomUUID() : `${Date.now()}-${Math.random()}`);
19
+ const store = () => {
20
+ try {
21
+ return typeof window === 'undefined' ? null : window.localStorage;
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ };
27
+ /** The name a purchase's key is kept under. */
28
+ const purchase = (org, plan, interval, seats) => `${PREFIX}${org ?? ''}:${plan}:${interval}:${seats}`;
29
+ exports.purchase = purchase;
30
+ /** The key for this purchase: the one kept, or a new one, kept. */
31
+ function keyFor(name, now = Date.now()) {
32
+ const s = store();
33
+ try {
34
+ const [key, at] = (s?.getItem(name) ?? '').split('@');
35
+ if (key && now - Number(at) < DAY)
36
+ return key;
37
+ const fresh = random();
38
+ s?.setItem(name, `${fresh}@${now}`);
39
+ return fresh;
40
+ }
41
+ catch {
42
+ return random();
43
+ }
44
+ }
45
+ /** Forget the key: the sale settled, or commerce answered that nothing was charged. */
46
+ function settle(name) {
47
+ try {
48
+ store()?.removeItem(name);
49
+ }
50
+ catch {
51
+ /* nothing kept */
52
+ }
53
+ }
54
+ /**
55
+ * Whether an answer ends this purchase's key: a refusal before the card, a
56
+ * decline, or a 409 that the account already pays (a sale in progress keeps it).
57
+ */
58
+ const uncharged = (status, message = '') => status === 400 || status === 402 || status === 404 || status === 422 || (status === 409 && /already pays/i.test(message));
59
+ exports.uncharged = uncharged;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The retry key of one purchase: the organization, the plan, the term and the
3
+ * seats. It is kept in the browser until commerce settles the purchase, so a
4
+ * retry after a lost answer, a remount, or a second tab asks for the same sale
5
+ * and commerce replays it instead of charging again
6
+ * (POST /v1/billing/subscribe/card, X-Idempotency-Key). A new key is taken once
7
+ * commerce has answered that nothing was charged, and after a day: commerce keeps
8
+ * a settled sale's answer, so a key kept longer would replay yesterday's sale.
9
+ */
10
+ /** The name a purchase's key is kept under. */
11
+ export declare const purchase: (org: string | undefined, plan: string, interval: string, seats: number) => string;
12
+ /** The key for this purchase: the one kept, or a new one, kept. */
13
+ export declare function keyFor(name: string, now?: number): string;
14
+ /** Forget the key: the sale settled, or commerce answered that nothing was charged. */
15
+ export declare function settle(name: string): void;
16
+ /**
17
+ * Whether an answer ends this purchase's key: a refusal before the card, a
18
+ * decline, or a 409 that the account already pays (a sale in progress keeps it).
19
+ */
20
+ export declare const uncharged: (status: number | undefined, message?: string) => boolean;
21
+ //# sourceMappingURL=attempt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../../src/onboarding/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiBH,+CAA+C;AAC/C,eAAO,MAAM,QAAQ,QAAS,MAAM,GAAG,SAAS,QAAQ,MAAM,YAAY,MAAM,SAAS,MAAM,KAAG,MAA8D,CAAA;AAEhK,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAW7D;AAED,uFAAuF;AACvF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMzC;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,uBAAiB,OACsD,CAAA"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The retry key of one purchase: the organization, the plan, the term and the
3
+ * seats. It is kept in the browser until commerce settles the purchase, so a
4
+ * retry after a lost answer, a remount, or a second tab asks for the same sale
5
+ * and commerce replays it instead of charging again
6
+ * (POST /v1/billing/subscribe/card, X-Idempotency-Key). A new key is taken once
7
+ * commerce has answered that nothing was charged, and after a day: commerce keeps
8
+ * a settled sale's answer, so a key kept longer would replay yesterday's sale.
9
+ */
10
+ const PREFIX = 'hanzo.checkout:';
11
+ /** How long a key is kept: a retry comes within minutes, a new purchase days later. */
12
+ const DAY = 24 * 60 * 60 * 1000;
13
+ const random = () => (typeof crypto !== 'undefined' && 'randomUUID' in crypto ? crypto.randomUUID() : `${Date.now()}-${Math.random()}`);
14
+ const store = () => {
15
+ try {
16
+ return typeof window === 'undefined' ? null : window.localStorage;
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ };
22
+ /** The name a purchase's key is kept under. */
23
+ export const purchase = (org, plan, interval, seats) => `${PREFIX}${org ?? ''}:${plan}:${interval}:${seats}`;
24
+ /** The key for this purchase: the one kept, or a new one, kept. */
25
+ export function keyFor(name, now = Date.now()) {
26
+ const s = store();
27
+ try {
28
+ const [key, at] = (s?.getItem(name) ?? '').split('@');
29
+ if (key && now - Number(at) < DAY)
30
+ return key;
31
+ const fresh = random();
32
+ s?.setItem(name, `${fresh}@${now}`);
33
+ return fresh;
34
+ }
35
+ catch {
36
+ return random();
37
+ }
38
+ }
39
+ /** Forget the key: the sale settled, or commerce answered that nothing was charged. */
40
+ export function settle(name) {
41
+ try {
42
+ store()?.removeItem(name);
43
+ }
44
+ catch {
45
+ /* nothing kept */
46
+ }
47
+ }
48
+ /**
49
+ * Whether an answer ends this purchase's key: a refusal before the card, a
50
+ * decline, or a 409 that the account already pays (a sale in progress keeps it).
51
+ */
52
+ export const uncharged = (status, message = '') => status === 400 || status === 402 || status === 404 || status === 422 || (status === 409 && /already pays/i.test(message));
53
+ //# sourceMappingURL=attempt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../src/onboarding/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,GAAG,iBAAiB,CAAA;AAEhC,uFAAuF;AACvF,MAAM,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/B,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AAE/I,MAAM,KAAK,GAAG,GAAmB,EAAE;IACjC,IAAI,CAAC;QACH,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAA;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAE,QAAgB,EAAE,KAAa,EAAU,EAAE,CAAC,GAAG,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAA;AAEhK,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACnD,MAAM,CAAC,GAAG,KAAK,EAAE,CAAA;IACjB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrD,IAAI,GAAG,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG;YAAE,OAAO,GAAG,CAAA;QAC7C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAA;QACtB,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,EAAE,CAAA;IACjB,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,KAAK,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAE,OAAO,GAAG,EAAE,EAAW,EAAE,CAC7E,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA"}
@@ -147,6 +147,7 @@ __exportStar(require("./PageHeader.cjs"), exports);
147
147
  __exportStar(require("./Palette.cjs"), exports);
148
148
  __exportStar(require("./match.cjs"), exports);
149
149
  __exportStar(require("./useCommandK.cjs"), exports);
150
+ __exportStar(require("./useFileDrop.cjs"), exports);
150
151
  __exportStar(require("./PrimaryButton.cjs"), exports);
151
152
  __exportStar(require("./ProductIcon.cjs"), exports);
152
153
  __exportStar(require("./ProviderLogo.cjs"), exports);
@@ -43,6 +43,7 @@ export * from './PageHeader.js';
43
43
  export * from './Palette.js';
44
44
  export * from './match.js';
45
45
  export * from './useCommandK.js';
46
+ export * from './useFileDrop.js';
46
47
  export * from './PrimaryButton.js';
47
48
  export * from './ProductIcon.js';
48
49
  export * from './ProviderLogo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"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"}
@@ -103,6 +103,7 @@ export * from './PageHeader.js';
103
103
  export * from './Palette.js';
104
104
  export * from './match.js';
105
105
  export * from './useCommandK.js';
106
+ export * from './useFileDrop.js';
106
107
  export * from './PrimaryButton.js';
107
108
  export * from './ProductIcon.js';
108
109
  export * from './ProviderLogo.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/product/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ 'use client';"use strict";
2
+ 'use client';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.useFileDrop = useFileDrop;
5
+ /**
6
+ * useFileDrop — the ONE window-level file drop.
7
+ *
8
+ * Files dropped anywhere in the window attach, not only on the composer box.
9
+ * The listener lives on `window`, filters for a real file drag (a
10
+ * `dataTransfer` that carries `Files` — a text selection or an in-page drag
11
+ * must not light the overlay), and hands the dropped files to `onFiles`.
12
+ * `active` is true while a file is over the window so a surface can light its
13
+ * own full-window overlay.
14
+ *
15
+ * The enter/leave depth counter is the whole reason this is a hook and not a
16
+ * bare `onDrop`: `dragleave` fires as the pointer crosses every child element,
17
+ * so a naive listener blanks the overlay mid-drag and it flickers. Counting
18
+ * enters against leaves keeps `active` true until the cursor actually leaves the
19
+ * window.
20
+ *
21
+ * Web-only. Native (expo) and desktop hosts have no HTML5 `dataTransfer` drop,
22
+ * so the effect no-ops where the events do not exist. One hook so the site and
23
+ * the chat client behave identically instead of each carrying its own listener
24
+ * that drifts — the same reason `useCommandK` exists.
25
+ *
26
+ * `enabled` gates the listeners for a shared surface that only wants the drop
27
+ * when its host can actually handle a file: a hook cannot be called
28
+ * conditionally, so a surface with no `onFiles` passes `enabled: false` and the
29
+ * window stays untouched rather than swallowing drops into a void.
30
+ */
31
+ const react_1 = require("react");
32
+ function carriesFiles(e) {
33
+ const types = e.dataTransfer?.types;
34
+ if (!types)
35
+ return false;
36
+ // `types` is a readonly string[] in the DOM lib but a live list at runtime.
37
+ return Array.prototype.indexOf.call(types, 'Files') !== -1;
38
+ }
39
+ function useFileDrop(onFiles, enabled = true) {
40
+ const [active, setActive] = (0, react_1.useState)(false);
41
+ const depth = (0, react_1.useRef)(0);
42
+ const cb = (0, react_1.useRef)(onFiles);
43
+ cb.current = onFiles;
44
+ (0, react_1.useEffect)(() => {
45
+ if (!enabled || typeof window === 'undefined')
46
+ return;
47
+ const onDragEnter = (e) => {
48
+ if (!carriesFiles(e))
49
+ return;
50
+ e.preventDefault();
51
+ depth.current += 1;
52
+ setActive(true);
53
+ };
54
+ const onDragOver = (e) => {
55
+ if (!carriesFiles(e))
56
+ return;
57
+ e.preventDefault();
58
+ if (e.dataTransfer)
59
+ e.dataTransfer.dropEffect = 'copy';
60
+ };
61
+ const onDragLeave = (e) => {
62
+ if (!carriesFiles(e))
63
+ return;
64
+ depth.current = Math.max(0, depth.current - 1);
65
+ if (depth.current === 0)
66
+ setActive(false);
67
+ };
68
+ const onDrop = (e) => {
69
+ if (!carriesFiles(e))
70
+ return;
71
+ e.preventDefault();
72
+ depth.current = 0;
73
+ setActive(false);
74
+ const files = e.dataTransfer?.files;
75
+ if (files && files.length)
76
+ cb.current(Array.from(files));
77
+ };
78
+ window.addEventListener('dragenter', onDragEnter);
79
+ window.addEventListener('dragover', onDragOver);
80
+ window.addEventListener('dragleave', onDragLeave);
81
+ window.addEventListener('drop', onDrop);
82
+ return () => {
83
+ window.removeEventListener('dragenter', onDragEnter);
84
+ window.removeEventListener('dragover', onDragOver);
85
+ window.removeEventListener('dragleave', onDragLeave);
86
+ window.removeEventListener('drop', onDrop);
87
+ };
88
+ }, [enabled]);
89
+ return { active };
90
+ }
@@ -0,0 +1,6 @@
1
+ export interface FileDrop {
2
+ /** True while a file drag is over the window. */
3
+ active: boolean;
4
+ }
5
+ export declare function useFileDrop(onFiles: (files: File[]) => void, enabled?: boolean): FileDrop;
6
+ //# sourceMappingURL=useFileDrop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../../src/product/useFileDrop.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,QAAQ;IACvB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAA;CAChB;AASD,wBAAgB,WAAW,CACzB,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAChC,OAAO,UAAO,GACb,QAAQ,CA+CV"}
@@ -0,0 +1,88 @@
1
+ 'use client';
2
+ /**
3
+ * useFileDrop — the ONE window-level file drop.
4
+ *
5
+ * Files dropped anywhere in the window attach, not only on the composer box.
6
+ * The listener lives on `window`, filters for a real file drag (a
7
+ * `dataTransfer` that carries `Files` — a text selection or an in-page drag
8
+ * must not light the overlay), and hands the dropped files to `onFiles`.
9
+ * `active` is true while a file is over the window so a surface can light its
10
+ * own full-window overlay.
11
+ *
12
+ * The enter/leave depth counter is the whole reason this is a hook and not a
13
+ * bare `onDrop`: `dragleave` fires as the pointer crosses every child element,
14
+ * so a naive listener blanks the overlay mid-drag and it flickers. Counting
15
+ * enters against leaves keeps `active` true until the cursor actually leaves the
16
+ * window.
17
+ *
18
+ * Web-only. Native (expo) and desktop hosts have no HTML5 `dataTransfer` drop,
19
+ * so the effect no-ops where the events do not exist. One hook so the site and
20
+ * the chat client behave identically instead of each carrying its own listener
21
+ * that drifts — the same reason `useCommandK` exists.
22
+ *
23
+ * `enabled` gates the listeners for a shared surface that only wants the drop
24
+ * when its host can actually handle a file: a hook cannot be called
25
+ * conditionally, so a surface with no `onFiles` passes `enabled: false` and the
26
+ * window stays untouched rather than swallowing drops into a void.
27
+ */
28
+ import { useEffect, useRef, useState } from 'react';
29
+ function carriesFiles(e) {
30
+ const types = e.dataTransfer?.types;
31
+ if (!types)
32
+ return false;
33
+ // `types` is a readonly string[] in the DOM lib but a live list at runtime.
34
+ return Array.prototype.indexOf.call(types, 'Files') !== -1;
35
+ }
36
+ export function useFileDrop(onFiles, enabled = true) {
37
+ const [active, setActive] = useState(false);
38
+ const depth = useRef(0);
39
+ const cb = useRef(onFiles);
40
+ cb.current = onFiles;
41
+ useEffect(() => {
42
+ if (!enabled || typeof window === 'undefined')
43
+ return;
44
+ const onDragEnter = (e) => {
45
+ if (!carriesFiles(e))
46
+ return;
47
+ e.preventDefault();
48
+ depth.current += 1;
49
+ setActive(true);
50
+ };
51
+ const onDragOver = (e) => {
52
+ if (!carriesFiles(e))
53
+ return;
54
+ e.preventDefault();
55
+ if (e.dataTransfer)
56
+ e.dataTransfer.dropEffect = 'copy';
57
+ };
58
+ const onDragLeave = (e) => {
59
+ if (!carriesFiles(e))
60
+ return;
61
+ depth.current = Math.max(0, depth.current - 1);
62
+ if (depth.current === 0)
63
+ setActive(false);
64
+ };
65
+ const onDrop = (e) => {
66
+ if (!carriesFiles(e))
67
+ return;
68
+ e.preventDefault();
69
+ depth.current = 0;
70
+ setActive(false);
71
+ const files = e.dataTransfer?.files;
72
+ if (files && files.length)
73
+ cb.current(Array.from(files));
74
+ };
75
+ window.addEventListener('dragenter', onDragEnter);
76
+ window.addEventListener('dragover', onDragOver);
77
+ window.addEventListener('dragleave', onDragLeave);
78
+ window.addEventListener('drop', onDrop);
79
+ return () => {
80
+ window.removeEventListener('dragenter', onDragEnter);
81
+ window.removeEventListener('dragover', onDragOver);
82
+ window.removeEventListener('dragleave', onDragLeave);
83
+ window.removeEventListener('drop', onDrop);
84
+ };
85
+ }, [enabled]);
86
+ return { active };
87
+ }
88
+ //# sourceMappingURL=useFileDrop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../../src/product/useFileDrop.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.27.41",
3
+ "version": "8.27.43",
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": {
@@ -377,7 +377,7 @@
377
377
  },
378
378
  "devDependencies": {
379
379
  "@hanzo/cd": "0.1.2",
380
- "@hanzo/event": "0.3.52",
380
+ "@hanzo/event": "0.3.55",
381
381
  "@hanzo/dashboard": "0.2.0",
382
382
  "@hanzo/data": "1.2.4",
383
383
  "@hanzo/gui": "8.3.5",