@cellarnode/ui 0.199.0 → 0.200.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/opportunities/opportunity-stacked-card.js +2 -2
  2. package/dist/opportunities/opportunity-stacked-card.js.map +1 -1
  3. package/dist/portfolio/include-in-matching-toggle.d.ts +30 -0
  4. package/dist/portfolio/include-in-matching-toggle.d.ts.map +1 -0
  5. package/dist/portfolio/include-in-matching-toggle.js +39 -0
  6. package/dist/portfolio/include-in-matching-toggle.js.map +1 -0
  7. package/dist/portfolio/index.d.ts +4 -0
  8. package/dist/portfolio/index.d.ts.map +1 -1
  9. package/dist/portfolio/index.js +2 -0
  10. package/dist/portfolio/index.js.map +1 -1
  11. package/dist/portfolio/not-matching-badge.d.ts +15 -0
  12. package/dist/portfolio/not-matching-badge.d.ts.map +1 -0
  13. package/dist/portfolio/not-matching-badge.js +13 -0
  14. package/dist/portfolio/not-matching-badge.js.map +1 -0
  15. package/dist/portfolio/product-grid-section.d.ts.map +1 -1
  16. package/dist/portfolio/product-grid-section.js +6 -4
  17. package/dist/portfolio/product-grid-section.js.map +1 -1
  18. package/dist/portfolio/product-list-section.d.ts.map +1 -1
  19. package/dist/portfolio/product-list-section.js +11 -5
  20. package/dist/portfolio/product-list-section.js.map +1 -1
  21. package/dist/portfolio/types.d.ts +6 -0
  22. package/dist/portfolio/types.d.ts.map +1 -1
  23. package/dist/product-editor/tabs/product-status-tab.d.ts.map +1 -1
  24. package/dist/product-editor/tabs/product-status-tab.js +22 -9
  25. package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
  26. package/dist/product-editor/types.d.ts +14 -0
  27. package/dist/product-editor/types.d.ts.map +1 -1
  28. package/dist/upload-link/client.d.ts +21 -0
  29. package/dist/upload-link/client.d.ts.map +1 -0
  30. package/dist/upload-link/client.js +141 -0
  31. package/dist/upload-link/client.js.map +1 -0
  32. package/dist/upload-link/copy.d.ts +83 -0
  33. package/dist/upload-link/copy.d.ts.map +1 -0
  34. package/dist/upload-link/copy.js +132 -0
  35. package/dist/upload-link/copy.js.map +1 -0
  36. package/dist/upload-link/fixtures.d.ts +17 -0
  37. package/dist/upload-link/fixtures.d.ts.map +1 -0
  38. package/dist/upload-link/fixtures.js +63 -0
  39. package/dist/upload-link/fixtures.js.map +1 -0
  40. package/dist/upload-link/flow.d.ts +79 -0
  41. package/dist/upload-link/flow.d.ts.map +1 -0
  42. package/dist/upload-link/flow.js +107 -0
  43. package/dist/upload-link/flow.js.map +1 -0
  44. package/dist/upload-link/index.d.ts +10 -0
  45. package/dist/upload-link/index.d.ts.map +1 -0
  46. package/dist/upload-link/index.js +10 -0
  47. package/dist/upload-link/index.js.map +1 -0
  48. package/dist/upload-link/types.d.ts +58 -0
  49. package/dist/upload-link/types.d.ts.map +1 -0
  50. package/dist/upload-link/types.js +17 -0
  51. package/dist/upload-link/types.js.map +1 -0
  52. package/dist/upload-link/upload-link-page.d.ts +41 -0
  53. package/dist/upload-link/upload-link-page.d.ts.map +1 -0
  54. package/dist/upload-link/upload-link-page.js +184 -0
  55. package/dist/upload-link/upload-link-page.js.map +1 -0
  56. package/dist/upload-link/use-upload-link.d.ts +28 -0
  57. package/dist/upload-link/use-upload-link.d.ts.map +1 -0
  58. package/dist/upload-link/use-upload-link.js +155 -0
  59. package/dist/upload-link/use-upload-link.js.map +1 -0
  60. package/package.json +5 -1
@@ -0,0 +1,155 @@
1
+ import * as React from "react";
2
+ import { DEFAULT_CONSTRAINTS, formatBytes } from "./copy.js";
3
+ import { fmt, TYPE_NAMES } from "./copy.js";
4
+ import { initialPhase, isTerminal, reduce } from "./flow.js";
5
+ import { UploadLinkApiError, } from "./types.js";
6
+ const asApiError = (e) => e instanceof UploadLinkApiError
7
+ ? e
8
+ : new UploadLinkApiError(0, "NETWORK", "The connection failed.");
9
+ /** Network and flow wiring for the upload page. Returns the current phase and the actions the person can take. */
10
+ export function useUploadLink({ linkId, client, auth, copy, pollIntervalMs = 2000, constraints, }) {
11
+ const [phase, dispatch] = React.useReducer(reduce, initialPhase);
12
+ const abortRef = React.useRef(null);
13
+ // Two fast selections (a double drop, a second pick before the first renders) must not redeem twice.
14
+ const busyRef = React.useRef(false);
15
+ // Leaving the page stops an upload in flight.
16
+ React.useEffect(() => () => abortRef.current?.abort(), []);
17
+ const [attempt, setAttempt] = React.useState(0);
18
+ React.useEffect(() => {
19
+ dispatch({ type: "auth", auth });
20
+ }, [auth]);
21
+ // Read the link once the host says the person is signed in (and again on "try again").
22
+ React.useEffect(() => {
23
+ if (auth !== "signed-in")
24
+ return;
25
+ const controller = new AbortController();
26
+ client
27
+ .getStatus(linkId, controller.signal)
28
+ .then((link) => dispatch({ type: "status", link }))
29
+ .catch((e) => {
30
+ if (controller.signal.aborted)
31
+ return;
32
+ dispatch({ type: "status-error", error: asApiError(e) });
33
+ });
34
+ return () => controller.abort();
35
+ }, [auth, client, linkId, attempt]);
36
+ // Follow the processing view until the backend says it is over.
37
+ const processing = phase.kind === "processing";
38
+ React.useEffect(() => {
39
+ if (!processing)
40
+ return;
41
+ let failures = 0;
42
+ const polling = new AbortController();
43
+ const id = setInterval(() => {
44
+ client
45
+ .getStatus(linkId, polling.signal)
46
+ .then((link) => {
47
+ if (polling.signal.aborted)
48
+ return;
49
+ failures = 0;
50
+ dispatch({ type: "status", link });
51
+ })
52
+ .catch((e) => {
53
+ if (polling.signal.aborted)
54
+ return;
55
+ failures += 1;
56
+ // A few dropped polls are normal on a phone; keep going, then say so.
57
+ if (failures >= 5)
58
+ dispatch({ type: "status-error", error: asApiError(e) });
59
+ });
60
+ }, pollIntervalMs);
61
+ return () => {
62
+ clearInterval(id);
63
+ polling.abort();
64
+ };
65
+ }, [processing, client, linkId, pollIntervalMs]);
66
+ const limitsFor = React.useCallback((purpose) => ({
67
+ ...DEFAULT_CONSTRAINTS[purpose],
68
+ ...constraints?.[purpose],
69
+ }), [constraints]);
70
+ const run = React.useCallback(async (file) => {
71
+ dispatch({ type: "upload-start", fileName: file.name });
72
+ const controller = new AbortController();
73
+ abortRef.current = controller;
74
+ let handle;
75
+ try {
76
+ handle = await client.redeem(linkId, {
77
+ fileName: file.name,
78
+ mimeType: file.type,
79
+ sizeBytes: file.size,
80
+ }, controller.signal);
81
+ }
82
+ catch (e) {
83
+ // Cancelled while the declaration was in flight: the server may have claimed the link, so it ends as cancelled.
84
+ if (controller.signal.aborted)
85
+ return dispatch({ type: "upload-error", code: "CANCELLED" });
86
+ const error = asApiError(e);
87
+ // Never the server's own sentence: a stable, translated line per code.
88
+ const message = error.status === 429
89
+ ? copy.errorTooMany
90
+ : error.code === "UPLOAD_LINK_TARGET_INVALID"
91
+ ? copy.errorTargetInvalid
92
+ : error.code === "UPLOAD_LINK_FILE_NOT_ALLOWED"
93
+ ? copy.errorFileNotAllowed
94
+ : copy.errorGeneric;
95
+ return dispatch({ type: "redeem-error", error, message });
96
+ }
97
+ if (controller.signal.aborted)
98
+ return dispatch({ type: "upload-error", code: "CANCELLED" });
99
+ try {
100
+ await client.upload(handle, file, (progress) => dispatch({ type: "upload-progress", progress }), controller.signal);
101
+ }
102
+ catch (e) {
103
+ if (e instanceof DOMException && e.name === "AbortError")
104
+ return dispatch({ type: "upload-error", code: "CANCELLED" });
105
+ return dispatch({ type: "upload-error", code: asApiError(e).code });
106
+ }
107
+ dispatch({ type: "uploaded" });
108
+ try {
109
+ const link = await client.start(linkId);
110
+ dispatch({ type: "status", link });
111
+ }
112
+ catch (e) {
113
+ // The bytes are in; the poll below (or the next read) reports what happened. Only a hard refusal ends it here.
114
+ const error = asApiError(e);
115
+ if (error.status === 409 || error.status === 503)
116
+ dispatch({ type: "upload-error", code: error.code });
117
+ }
118
+ }, [client, copy, linkId]);
119
+ const chooseFile = React.useCallback(async (file) => {
120
+ const current = phase;
121
+ if (current.kind !== "ready" || busyRef.current)
122
+ return;
123
+ const limits = limitsFor(current.link.purpose);
124
+ if (file.size <= 0)
125
+ return dispatch({ type: "file-invalid", message: copy.errorEmpty });
126
+ if (file.size > limits.maxBytes)
127
+ return dispatch({
128
+ type: "file-invalid",
129
+ message: fmt(copy.errorTooBig, { size: formatBytes(limits.maxBytes) }),
130
+ });
131
+ if (!limits.allowedTypes.includes(file.type)) {
132
+ const types = limits.allowedTypes.map((t) => TYPE_NAMES[t] ?? t).join(", ");
133
+ return dispatch({ type: "file-invalid", message: fmt(copy.errorWrongType, { types }) });
134
+ }
135
+ busyRef.current = true;
136
+ try {
137
+ await run(file);
138
+ }
139
+ finally {
140
+ busyRef.current = false;
141
+ }
142
+ }, [copy, limitsFor, phase, run]);
143
+ return {
144
+ phase,
145
+ terminal: isTerminal(phase),
146
+ chooseFile,
147
+ cancel: () => abortRef.current?.abort(),
148
+ retry: () => {
149
+ dispatch({ type: "reset" });
150
+ setAttempt((n) => n + 1);
151
+ },
152
+ limitsFor,
153
+ };
154
+ }
155
+ //# sourceMappingURL=use-upload-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-upload-link.js","sourceRoot":"","sources":["../../src/upload-link/use-upload-link.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cellarnode/ui",
3
- "version": "0.199.0",
3
+ "version": "0.200.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264",
@@ -33,6 +33,10 @@
33
33
  "types": "./dist/agentic-orb/index.d.ts",
34
34
  "default": "./dist/agentic-orb/index.js"
35
35
  },
36
+ "./upload-link": {
37
+ "types": "./dist/upload-link/index.d.ts",
38
+ "default": "./dist/upload-link/index.js"
39
+ },
36
40
  "./agent": {
37
41
  "types": "./dist/agent/index.d.ts",
38
42
  "default": "./dist/agent/index.js"