@cellarnode/ui 0.207.0 → 0.208.1

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 (155) hide show
  1. package/dist/agent/composer.d.ts.map +1 -1
  2. package/dist/agent/composer.js +63 -52
  3. package/dist/agent/composer.js.map +1 -1
  4. package/dist/agent/context.d.ts.map +1 -1
  5. package/dist/agent/context.js +4 -3
  6. package/dist/agent/context.js.map +1 -1
  7. package/dist/agent/conversation.d.ts.map +1 -1
  8. package/dist/agent/conversation.js +12 -12
  9. package/dist/agent/conversation.js.map +1 -1
  10. package/dist/agent/dropzone.d.ts.map +1 -1
  11. package/dist/agent/dropzone.js +31 -32
  12. package/dist/agent/dropzone.js.map +1 -1
  13. package/dist/agent/markdown.js +4 -4
  14. package/dist/agent/markdown.js.map +1 -1
  15. package/dist/agent/mentions.d.ts.map +1 -1
  16. package/dist/agent/mentions.js +4 -2
  17. package/dist/agent/mentions.js.map +1 -1
  18. package/dist/agent/message.d.ts.map +1 -1
  19. package/dist/agent/message.js +2 -1
  20. package/dist/agent/message.js.map +1 -1
  21. package/dist/agent/quote-reply.d.ts.map +1 -1
  22. package/dist/agent/quote-reply.js +13 -7
  23. package/dist/agent/quote-reply.js.map +1 -1
  24. package/dist/agent/suggestions.d.ts.map +1 -1
  25. package/dist/agent/suggestions.js +12 -10
  26. package/dist/agent/suggestions.js.map +1 -1
  27. package/dist/brand/brand-assets-section.js +3 -3
  28. package/dist/brand/brand-assets-section.js.map +1 -1
  29. package/dist/brand/public-brand-profile.d.ts.map +1 -1
  30. package/dist/brand/public-brand-profile.js +3 -2
  31. package/dist/brand/public-brand-profile.js.map +1 -1
  32. package/dist/brand/use-brand-generation.d.ts.map +1 -1
  33. package/dist/brand/use-brand-generation.js +12 -7
  34. package/dist/brand/use-brand-generation.js.map +1 -1
  35. package/dist/brand/use-brand-image-operation-result.d.ts.map +1 -1
  36. package/dist/brand/use-brand-image-operation-result.js +26 -13
  37. package/dist/brand/use-brand-image-operation-result.js.map +1 -1
  38. package/dist/brand/use-brand-profile-acceptance.d.ts.map +1 -1
  39. package/dist/brand/use-brand-profile-acceptance.js +4 -2
  40. package/dist/brand/use-brand-profile-acceptance.js.map +1 -1
  41. package/dist/brand/use-brand-public-visibility.d.ts.map +1 -1
  42. package/dist/brand/use-brand-public-visibility.js +4 -2
  43. package/dist/brand/use-brand-public-visibility.js.map +1 -1
  44. package/dist/brand/use-org-scoped-state.d.ts.map +1 -1
  45. package/dist/brand/use-org-scoped-state.js +3 -6
  46. package/dist/brand/use-org-scoped-state.js.map +1 -1
  47. package/dist/chat/chat-composer.d.ts.map +1 -1
  48. package/dist/chat/chat-composer.js +92 -57
  49. package/dist/chat/chat-composer.js.map +1 -1
  50. package/dist/chat/chat-surface.d.ts.map +1 -1
  51. package/dist/chat/chat-surface.js +3 -3
  52. package/dist/chat/chat-surface.js.map +1 -1
  53. package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
  54. package/dist/chat/messenger-screen/messenger-screen.js +12 -9
  55. package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
  56. package/dist/chat/messenger-screen/room-panel.js +3 -1
  57. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  58. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -1
  59. package/dist/chat/use-stick-to-bottom.js +42 -19
  60. package/dist/chat/use-stick-to-bottom.js.map +1 -1
  61. package/dist/components/attachment-row.d.ts.map +1 -1
  62. package/dist/components/attachment-row.js +10 -10
  63. package/dist/components/attachment-row.js.map +1 -1
  64. package/dist/components/copy-button.js +4 -4
  65. package/dist/components/copy-button.js.map +1 -1
  66. package/dist/components/sortable-card-shell.js +3 -3
  67. package/dist/components/sortable-card-shell.js.map +1 -1
  68. package/dist/components/supporting-pane-layout.d.ts.map +1 -1
  69. package/dist/components/supporting-pane-layout.js +18 -14
  70. package/dist/components/supporting-pane-layout.js.map +1 -1
  71. package/dist/invite-confirm/invite-confirm-page.js +3 -3
  72. package/dist/invite-confirm/invite-confirm-page.js.map +1 -1
  73. package/dist/invite-confirm/use-invite-confirm.d.ts.map +1 -1
  74. package/dist/invite-confirm/use-invite-confirm.js +5 -5
  75. package/dist/invite-confirm/use-invite-confirm.js.map +1 -1
  76. package/dist/lib/occurrence-keys.d.ts +5 -0
  77. package/dist/lib/occurrence-keys.d.ts.map +1 -0
  78. package/dist/lib/occurrence-keys.js +10 -0
  79. package/dist/lib/occurrence-keys.js.map +1 -0
  80. package/dist/markets/market-opportunities-table.d.ts.map +1 -1
  81. package/dist/markets/market-opportunities-table.js +14 -12
  82. package/dist/markets/market-opportunities-table.js.map +1 -1
  83. package/dist/mcp-connect/mcp-connect-panel.d.ts.map +1 -1
  84. package/dist/mcp-connect/mcp-connect-panel.js +9 -8
  85. package/dist/mcp-connect/mcp-connect-panel.js.map +1 -1
  86. package/dist/moderation/moderation-scope.js +4 -4
  87. package/dist/moderation/moderation-scope.js.map +1 -1
  88. package/dist/opportunities/heading-level-context.d.ts.map +1 -1
  89. package/dist/opportunities/heading-level-context.js +1 -1
  90. package/dist/opportunities/heading-level-context.js.map +1 -1
  91. package/dist/opportunities/opportunity-add-to-journey-button.js +6 -6
  92. package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -1
  93. package/dist/opportunity-facts/source-document-download.js +9 -9
  94. package/dist/opportunity-facts/source-document-download.js.map +1 -1
  95. package/dist/org/invite-member-dialog.js +7 -7
  96. package/dist/org/invite-member-dialog.js.map +1 -1
  97. package/dist/org/team-management.js +5 -5
  98. package/dist/org/team-management.js.map +1 -1
  99. package/dist/portfolio/include-in-matching-toggle.js +4 -4
  100. package/dist/portfolio/include-in-matching-toggle.js.map +1 -1
  101. package/dist/portfolio-import/_internal/review-hydration.d.ts +29 -0
  102. package/dist/portfolio-import/_internal/review-hydration.d.ts.map +1 -0
  103. package/dist/portfolio-import/_internal/review-hydration.js +224 -0
  104. package/dist/portfolio-import/_internal/review-hydration.js.map +1 -0
  105. package/dist/portfolio-import/import-job-detail-view.d.ts +6 -0
  106. package/dist/portfolio-import/import-job-detail-view.d.ts.map +1 -1
  107. package/dist/portfolio-import/import-job-detail-view.js +27 -21
  108. package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
  109. package/dist/portfolio-import/import-job-panels.d.ts +1 -0
  110. package/dist/portfolio-import/import-job-panels.d.ts.map +1 -1
  111. package/dist/portfolio-import/import-job-panels.js +15 -13
  112. package/dist/portfolio-import/import-job-panels.js.map +1 -1
  113. package/dist/portfolio-import/index.d.ts +1 -1
  114. package/dist/portfolio-import/index.d.ts.map +1 -1
  115. package/dist/portfolio-import/review-queue-panel.d.ts +12 -1
  116. package/dist/portfolio-import/review-queue-panel.d.ts.map +1 -1
  117. package/dist/portfolio-import/review-queue-panel.js +111 -42
  118. package/dist/portfolio-import/review-queue-panel.js.map +1 -1
  119. package/dist/portfolio-import/session/import-job.d.ts.map +1 -1
  120. package/dist/portfolio-import/session/import-job.js +94 -22
  121. package/dist/portfolio-import/session/import-job.js.map +1 -1
  122. package/dist/portfolio-import/session/index.d.ts +1 -1
  123. package/dist/portfolio-import/session/index.d.ts.map +1 -1
  124. package/dist/portfolio-import/session/types.d.ts +43 -2
  125. package/dist/portfolio-import/session/types.d.ts.map +1 -1
  126. package/dist/portfolio-import/types.d.ts +7 -0
  127. package/dist/portfolio-import/types.d.ts.map +1 -1
  128. package/dist/portfolio-import/types.js.map +1 -1
  129. package/dist/portfolio-import/use-flagged-variants.d.ts +4 -0
  130. package/dist/portfolio-import/use-flagged-variants.d.ts.map +1 -1
  131. package/dist/portfolio-import/use-flagged-variants.js +46 -8
  132. package/dist/portfolio-import/use-flagged-variants.js.map +1 -1
  133. package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
  134. package/dist/product-editor/tabs/resources/certifications-panel.js +25 -18
  135. package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
  136. package/dist/profile/account-edit-form.d.ts.map +1 -1
  137. package/dist/profile/account-edit-form.js +45 -33
  138. package/dist/profile/account-edit-form.js.map +1 -1
  139. package/dist/profile/account-preferences-card.js +3 -3
  140. package/dist/profile/account-preferences-card.js.map +1 -1
  141. package/dist/profile/api-keys/api-key-secret-reveal.js +4 -4
  142. package/dist/profile/api-keys/api-key-secret-reveal.js.map +1 -1
  143. package/dist/profile/api-keys/create-api-key-dialog.js +3 -3
  144. package/dist/profile/api-keys/create-api-key-dialog.js.map +1 -1
  145. package/dist/profile/api-keys/profile-keys-section.js +7 -7
  146. package/dist/profile/api-keys/profile-keys-section.js.map +1 -1
  147. package/dist/profile/importer-profile-view.d.ts.map +1 -1
  148. package/dist/profile/importer-profile-view.js +6 -1
  149. package/dist/profile/importer-profile-view.js.map +1 -1
  150. package/dist/profile/subscription-card.d.ts.map +1 -1
  151. package/dist/profile/subscription-card.js +2 -1
  152. package/dist/profile/subscription-card.js.map +1 -1
  153. package/dist/upload-link/upload-link-page.js +3 -3
  154. package/dist/upload-link/upload-link-page.js.map +1 -1
  155. package/package.json +1 -1
@@ -0,0 +1,224 @@
1
+ import { useEffect, useMemo, useRef, useState } from "react";
2
+ export async function readReviewReadiness(read, ids, options) {
3
+ const result = {};
4
+ for (let start = 0; start < ids.length; start += 100) {
5
+ options?.signal?.throwIfAborted();
6
+ Object.assign(result, await read(ids.slice(start, start + 100), options));
7
+ options?.signal?.throwIfAborted();
8
+ }
9
+ return result;
10
+ }
11
+ function record(value) {
12
+ return typeof value === "object" && value !== null && !Array.isArray(value);
13
+ }
14
+ const reasons = new Set([
15
+ "enum_unresolved",
16
+ "low_confidence",
17
+ "not_found",
18
+ "sanity_check_failed",
19
+ "sensory_violation",
20
+ "unconfirmed_claim",
21
+ "verify_failed",
22
+ ]);
23
+ function knownReadiness(value) {
24
+ if (!value ||
25
+ typeof value.canApprove !== "boolean" ||
26
+ !Array.isArray(value.blockers) ||
27
+ !Array.isArray(value.recommendations) ||
28
+ !Array.isArray(value.acknowledgementsRequired) ||
29
+ ![value.completed, value.total, value.percent].every(Number.isFinite) ||
30
+ ![...value.blockers, ...value.recommendations, ...value.acknowledgementsRequired].every((entry) => record(entry) &&
31
+ typeof entry.path === "string" &&
32
+ typeof entry.reason === "string" &&
33
+ typeof entry.labelKey === "string"))
34
+ return undefined;
35
+ return value;
36
+ }
37
+ // Matches the scalar variant fields in product-editor/schema.ts. Beverage fields,
38
+ // compound values and unknown paths require the full product editor.
39
+ const fields = {
40
+ vintage: "number",
41
+ abv: "number",
42
+ containerVolume: "number",
43
+ residualSugar: "number",
44
+ totalAcidity: "number",
45
+ pH: "number",
46
+ packaging: "enum",
47
+ closure: "enum",
48
+ currency: "string",
49
+ productionVolumeText: "string",
50
+ description: "string",
51
+ packagingInfo: "string",
52
+ organic: "boolean",
53
+ fairtrade: "boolean",
54
+ sustainable: "boolean",
55
+ };
56
+ function panelField(flag, detail) {
57
+ const path = String(flag.path);
58
+ const definition = Object.entries(fields).find(([key]) => key === path);
59
+ const kind = definition?.[1] ?? "string";
60
+ const current = Reflect.get(detail, path);
61
+ let value = current;
62
+ if (kind === "number" && typeof current === "string" && current.trim() !== "") {
63
+ value = Number(current);
64
+ }
65
+ const valid = value === null ||
66
+ (kind === "number"
67
+ ? typeof value === "number" && Number.isFinite(value)
68
+ : kind === "boolean"
69
+ ? typeof value === "boolean"
70
+ : typeof value === "string");
71
+ return {
72
+ path,
73
+ label: path,
74
+ kind,
75
+ reason: String(flag.reason),
76
+ // The editor initializes from the live value, never historical extractedAs.
77
+ extractedAs: valid ? value : undefined,
78
+ editable: definition !== undefined && valid,
79
+ };
80
+ }
81
+ export function projectReviewDetail(id, detail) {
82
+ if (detail.id !== id ||
83
+ !detail.beverageId ||
84
+ !detail.beverage?.name ||
85
+ !Number.isInteger(detail.version) ||
86
+ typeof detail.version !== "number" ||
87
+ detail.version < 1)
88
+ return null;
89
+ const flags = detail.additionalInfo?.flaggedFields;
90
+ if (!Array.isArray(flags) ||
91
+ flags.some((flag) => !record(flag) ||
92
+ typeof flag.path !== "string" ||
93
+ !flag.path ||
94
+ typeof flag.reason !== "string" ||
95
+ !reasons.has(flag.reason)))
96
+ return null;
97
+ const flaggedFields = [];
98
+ for (const flag of detail.validation?.status === "approved" ? [] : flags) {
99
+ if (record(flag))
100
+ flaggedFields.push(panelField(flag, detail));
101
+ }
102
+ const name = detail.beverage.name;
103
+ return {
104
+ id,
105
+ beverageId: detail.beverageId,
106
+ beverageName: name,
107
+ displayName: detail.vintage == null ? name : `${name} ${detail.vintage}`,
108
+ version: detail.version,
109
+ flaggedFields,
110
+ reviewUnavailable: flaggedFields.some((field) => field.editable === false),
111
+ };
112
+ }
113
+ export function useReviewHydration(job, options) {
114
+ const result = job?.result;
115
+ const rawIds = record(result) ? result.variantIds : undefined;
116
+ const enabled = options !== undefined && rawIds !== undefined;
117
+ const validIds = Array.isArray(rawIds) && rawIds.every((id) => typeof id === "string" && id.length > 0);
118
+ const idsKey = JSON.stringify(validIds ? [...new Set(rawIds)] : []);
119
+ const ids = useMemo(() => {
120
+ const parsed = JSON.parse(idsKey);
121
+ return Array.isArray(parsed)
122
+ ? parsed.filter((id) => typeof id === "string")
123
+ : [];
124
+ }, [idsKey]);
125
+ const orgId = options?.orgId;
126
+ const portfolioId = options?.portfolioId;
127
+ const getVariantRef = useRef(options?.getVariant);
128
+ getVariantRef.current = options?.getVariant;
129
+ const scope = JSON.stringify([orgId, portfolioId]);
130
+ const key = JSON.stringify([scope, job?.id, idsKey, enabled]);
131
+ const cacheRef = useRef(new Map());
132
+ const nextRevisionRef = useRef(0);
133
+ const reloadRef = useRef(null);
134
+ const [retry, setRetry] = useState(0);
135
+ const [state, setState] = useState(() => ({ key: "", loaded: new Map(), failed: [], loading: false }));
136
+ useEffect(() => {
137
+ if (!enabled || !validIds || !getVariantRef.current || job?.orgId !== orgId)
138
+ return;
139
+ const controller = new AbortController();
140
+ const loaded = new Map();
141
+ const failed = [];
142
+ const pending = [];
143
+ for (const id of ids) {
144
+ const cached = cacheRef.current.get(JSON.stringify([scope, id]));
145
+ if (cached)
146
+ loaded.set(id, cached);
147
+ else
148
+ pending.push(id);
149
+ }
150
+ const publish = (loading) => {
151
+ if (!controller.signal.aborted) {
152
+ if (!loading && reloadRef.current === key)
153
+ reloadRef.current = null;
154
+ setState({ key, loaded: new Map(loaded), failed: [...failed], loading });
155
+ }
156
+ };
157
+ let cursor = 0;
158
+ const getVariant = getVariantRef.current;
159
+ async function worker() {
160
+ while (!controller.signal.aborted && cursor < pending.length) {
161
+ const id = pending[cursor++];
162
+ try {
163
+ const detail = await getVariant(id, { portfolioId, signal: controller.signal });
164
+ if (controller.signal.aborted)
165
+ return;
166
+ const variant = projectReviewDetail(id, detail);
167
+ if (!variant)
168
+ throw new Error("Review projection unavailable");
169
+ variant.reviewRevision = ++nextRevisionRef.current;
170
+ const readiness = knownReadiness(detail.matchReadiness);
171
+ const entry = {
172
+ variant,
173
+ readiness,
174
+ producer: detail.beverage?.producer,
175
+ loadedAt: Date.now(),
176
+ };
177
+ loaded.set(id, entry);
178
+ const approved = detail.validation?.status === "approved";
179
+ // Unsupported rows must be refreshable after using the product editor.
180
+ if ((approved || readiness) && !variant.reviewUnavailable) {
181
+ cacheRef.current.set(JSON.stringify([scope, id]), entry);
182
+ }
183
+ if (!approved && !readiness)
184
+ failed.push(id);
185
+ }
186
+ catch {
187
+ if (controller.signal.aborted)
188
+ return;
189
+ failed.push(id);
190
+ }
191
+ publish(true);
192
+ }
193
+ }
194
+ queueMicrotask(() => {
195
+ publish(pending.length > 0);
196
+ void Promise.all(Array.from({ length: Math.min(4, pending.length) }, worker)).then(() => publish(false));
197
+ });
198
+ return () => controller.abort();
199
+ }, [enabled, validIds, ids, scope, key, portfolioId, retry, job?.orgId, orgId]);
200
+ const current = state.key === key && job?.orgId === orgId ? state : undefined;
201
+ const loaded = current?.loaded ?? new Map();
202
+ const loading = enabled && validIds && job?.orgId === orgId && (current?.loading ?? ids.length > 0);
203
+ const requestReload = (full) => {
204
+ if (!enabled || !validIds || job?.orgId !== orgId || loading || reloadRef.current === key)
205
+ return;
206
+ reloadRef.current = key;
207
+ if (full)
208
+ for (const id of ids)
209
+ cacheRef.current.delete(JSON.stringify([scope, id]));
210
+ setRetry((value) => value + 1);
211
+ };
212
+ return {
213
+ enabled,
214
+ ids,
215
+ loaded,
216
+ loading: loading || reloadRef.current === key,
217
+ isReloading: () => loading || reloadRef.current === key,
218
+ unavailable: enabled && (!validIds || job?.orgId !== orgId || (current?.failed.length ?? 0) > 0),
219
+ failedIds: current?.failed ?? [],
220
+ retry: () => requestReload(false),
221
+ refresh: () => requestReload(true),
222
+ };
223
+ }
224
+ //# sourceMappingURL=review-hydration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-hydration.js","sourceRoot":"","sources":["../../../src/portfolio-import/_internal/review-hydration.ts"],"names":[],"mappings":"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"}
@@ -77,6 +77,10 @@ export interface ImportJobDetailViewProps {
77
77
  completionCountsPhase?: CompletionCountsPhase | null;
78
78
  /** True when the route was opened with the `?review=1` deep link — scrolls to the review queue. */
79
79
  reviewDeepLink?: boolean;
80
+ /** Current hydrated pending count, including local review progress. */
81
+ reviewPendingCount?: number;
82
+ /** Some required review details are loading or unavailable; no invented count. */
83
+ reviewUnavailable?: boolean;
80
84
  /** Failed-panel "Try another upload" destination (producer: `/imports`). */
81
85
  retryHref?: string;
82
86
  /** Completion-card "View portfolio" destination (producer: `/portfolio`). */
@@ -119,6 +123,8 @@ export interface ImportJobDetailViewProps {
119
123
  * @deprecated CEL-1624 — `<ImportJob>` fills this internally.
120
124
  */
121
125
  reviewQueueSlot?: React.ReactNode;
126
+ /** Current hydrated review facts can outlive the historical job count. */
127
+ reviewQueueRequired?: boolean;
122
128
  /**
123
129
  * Interim content for the `#review-queue` section while the review queue
124
130
  * itself cannot render yet: the section shows `reviewQueueSlot` when
@@ -1 +1 @@
1
- {"version":3,"file":"import-job-detail-view.d.ts","sourceRoot":"","sources":["../../src/portfolio-import/import-job-detail-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-job-detail-view.d.ts","sourceRoot":"","sources":["../../src/portfolio-import/import-job-detail-view.tsx"],"names":[],"mappings":"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"}
@@ -71,7 +71,7 @@ function plural(t, baseKey, count, oneFallback, otherFallback) {
71
71
  }
72
72
  // ─── View ─────────────────────────────────────────────────────────────────
73
73
  export function ImportJobDetailView(props) {
74
- const { job, jobLoading, jobError = null, stream, t = defaultT, callbacks, resumePreflightPending = false, resumeNudgePending = false, completionCountsPhase = null, reviewDeepLink = false, retryHref, portfolioHref, renderLink, importsHref, formatNumber = defaultFormatNumber, width = "legacy", padded = true, className, documentPaneSlot, activityStreamSlot, productProgressSlot, reviewQueueSlot, reviewQueuePendingSlot, bottlePhotosSlot, confirmationsSlot, onCitePage, } = props;
74
+ const { job, jobLoading, jobError = null, stream, t = defaultT, callbacks, resumePreflightPending = false, resumeNudgePending = false, completionCountsPhase = null, reviewDeepLink = false, reviewPendingCount, reviewUnavailable = false, retryHref, portfolioHref, renderLink, importsHref, formatNumber = defaultFormatNumber, width = "legacy", padded = true, className, documentPaneSlot, activityStreamSlot, productProgressSlot, reviewQueueSlot, reviewQueueRequired = false, reviewQueuePendingSlot, bottlePhotosSlot, confirmationsSlot, onCitePage, } = props;
75
75
  const { tokenStream, latest: liveEvent, events: liveEvents, jobState } = stream;
76
76
  // CEL-1100 — freshness arbitration between the LiveMap and the REST row.
77
77
  const { degraded, reason: authorityReason, effectiveJobState, } = useJobStateArbiter(jobState, job ?? null);
@@ -114,13 +114,13 @@ export function ImportJobDetailView(props) {
114
114
  return () => window.clearTimeout(timer);
115
115
  }, [jobStatus, jobUpdatedAt, jobCreatedAt, liveOccurredAt]);
116
116
  /* eslint-enable @eslint-react/set-state-in-effect */
117
- const jobFlaggedCount = job?.flaggedCount ?? 0;
117
+ const jobFlaggedCount = reviewPendingCount ?? job?.flaggedCount ?? 0;
118
118
  const [reviewHighlight, setReviewHighlight] = useState("idle");
119
119
  // The highlight clears itself on a timer: held so it is cancelled on unmount and never stacked.
120
- const highlightTimer = useRef(null);
120
+ const highlightTimerRef = useRef(null);
121
121
  useEffect(() => () => {
122
- if (highlightTimer.current !== null)
123
- clearTimeout(highlightTimer.current);
122
+ if (highlightTimerRef.current !== null)
123
+ clearTimeout(highlightTimerRef.current);
124
124
  }, []);
125
125
  // Monotonic max-step latch — the stepper never moves backwards within one
126
126
  // job. Keyed on the job id so navigating between jobs (without a remount)
@@ -142,27 +142,33 @@ export function ImportJobDetailView(props) {
142
142
  /* eslint-enable react-hooks/refs */
143
143
  const preflightSheetRef = useRef(null);
144
144
  const previousFocusRef = useRef(null);
145
- // ?review=1 deep link: scroll to the review queue and flash its outline.
145
+ const deepLinkedJobRef = useRef(null);
146
+ const deepLinkJobId = job?.id;
147
+ const reviewRegionAvailable = jobFlaggedCount > 0 || reviewQueueRequired || reviewUnavailable;
148
+ // Position once after the region appears; reviewing a row must not move the page.
146
149
  useEffect(() => {
147
- if (!reviewDeepLink)
150
+ if (!reviewDeepLink || !deepLinkJobId || !reviewRegionAvailable)
148
151
  return;
149
- if (jobFlaggedCount <= 0)
152
+ if (deepLinkedJobRef.current === deepLinkJobId)
150
153
  return;
151
154
  const el = document.getElementById("review-queue");
152
155
  if (!el)
153
156
  return;
154
157
  const scrollHandle = window.setTimeout(() => {
158
+ deepLinkedJobRef.current = deepLinkJobId;
155
159
  el.scrollIntoView({ behavior: "smooth", block: "start" });
156
160
  setReviewHighlight("highlighted");
161
+ if (highlightTimerRef.current !== null)
162
+ clearTimeout(highlightTimerRef.current);
163
+ highlightTimerRef.current = setTimeout(() => {
164
+ highlightTimerRef.current = null;
165
+ setReviewHighlight("idle");
166
+ }, 1600);
157
167
  }, 0);
158
- const clearHandle = window.setTimeout(() => {
159
- setReviewHighlight("idle");
160
- }, 1600);
161
168
  return () => {
162
169
  window.clearTimeout(scrollHandle);
163
- window.clearTimeout(clearHandle);
164
170
  };
165
- }, [reviewDeepLink, jobFlaggedCount]);
171
+ }, [reviewDeepLink, deepLinkJobId, reviewRegionAvailable]);
166
172
  // awaiting_producer + a non-green verdict → the preflight sheet is the
167
173
  // producer's blocking decision surface.
168
174
  const showPreflightSheet = !!job &&
@@ -216,7 +222,7 @@ export function ImportJobDetailView(props) {
216
222
  const classificationResult = job.classificationResult ?? null;
217
223
  const nudge = classificationResult?.crossPortfolioNudge;
218
224
  const showNudgeSheet = job.status === "awaiting_producer" && !!nudge && !nudge.decision && !showPreflightSheet;
219
- const reviewCount = job.flaggedCount ?? 0;
225
+ const reviewCount = reviewPendingCount ?? job.flaggedCount ?? 0;
220
226
  // CEL-1100 — during the bounded terminal grace window the REST row already
221
227
  // says completed/failed but the LiveMap hasn't confirmed; hold the
222
228
  // in-flight presentation instead of flashing a terminal panel.
@@ -347,7 +353,7 @@ export function ImportJobDetailView(props) {
347
353
  }
348
354
  return step;
349
355
  });
350
- const showReviewQueue = reviewCount > 0;
356
+ const showReviewQueue = reviewCount > 0 || reviewQueueRequired || reviewUnavailable;
351
357
  const isComplete = job.status === "completed" && !holdingTerminalGrace;
352
358
  // Live events when the feed is fresh; REST-derived synthesis otherwise.
353
359
  const activityEvents = !degraded && liveEvents.length > 0 ? liveEvents : buildFallbackActivityEvents(job);
@@ -375,10 +381,10 @@ export function ImportJobDetailView(props) {
375
381
  return;
376
382
  el.scrollIntoView({ behavior: "smooth", block: "start" });
377
383
  setReviewHighlight("highlighted");
378
- if (highlightTimer.current !== null)
379
- clearTimeout(highlightTimer.current);
380
- highlightTimer.current = setTimeout(() => {
381
- highlightTimer.current = null;
384
+ if (highlightTimerRef.current !== null)
385
+ clearTimeout(highlightTimerRef.current);
386
+ highlightTimerRef.current = setTimeout(() => {
387
+ highlightTimerRef.current = null;
382
388
  setReviewHighlight("idle");
383
389
  }, 1600);
384
390
  };
@@ -388,7 +394,7 @@ export function ImportJobDetailView(props) {
388
394
  const confirmationsContent = typeof confirmationsSlot === "function"
389
395
  ? confirmationsSlot({ dedupReached })
390
396
  : confirmationsSlot;
391
- return (_jsxs("div", { className: `grid gap-6 lg:grid-cols-12 ${containerClasses}`, children: [_jsx("div", { className: "lg:col-span-5", children: documentPaneSlot }), _jsxs("div", { className: "lg:col-span-7", children: [_jsxs("header", { className: "mb-6", children: [_jsx("p", { className: "text-eyebrow-xs text-muted-foreground", children: t("detail.eyebrow", "Import") }), _jsxs("div", { className: "mt-1 flex items-center gap-3", children: [_jsx("h1", { className: "text-2xl font-semibold tracking-tight", children: t("detail.title", "Reading your document") }), _jsx(StatusBadge, { status: headerStatus, t: t, ariaLive: "polite" })] }), _jsx("p", { className: "mt-1 font-mono text-xs tabular-nums text-muted-foreground", children: interpolate(t("detail.job_id", "Job #{{jobId}}"), { jobId: job.id.slice(0, 8) }) }), (isCatchingUp || degraded) && (_jsxs("p", { role: "status", className: "mt-2 inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [_jsx(SignalSlashIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: t("detail.live_updates_interrupted", "Live updates were interrupted. Showing the latest saved status.") })] }))] }), !isTerminalFailure && !isStalledPresentation && (_jsx("div", { className: "mb-6", children: _jsx(ExtractionPhaseStepper, { steps: stepperSteps, currentPhaseKey: currentPhaseKey, reviewCount: reviewCount, reviewAnnouncement: plural(t, "stepper.review_announcement", reviewCount, "{{count}} product needs your review.", "{{count}} products need your review.") }) })), !isTerminalFailure &&
397
+ return (_jsxs("div", { className: `grid gap-6 lg:grid-cols-12 ${containerClasses}`, children: [_jsx("div", { className: "lg:col-span-5", children: documentPaneSlot }), _jsxs("div", { className: "lg:col-span-7", children: [_jsxs("header", { className: "mb-6", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "text-2xl font-semibold tracking-tight", children: t("detail.title", "Reading your document") }), _jsx(StatusBadge, { status: headerStatus, t: t, ariaLive: "polite" })] }), _jsx("p", { className: "mt-1 font-mono text-xs tabular-nums text-muted-foreground", children: interpolate(t("detail.job_id", "Job #{{jobId}}"), { jobId: job.id.slice(0, 8) }) }), (isCatchingUp || degraded) && (_jsxs("p", { role: "status", className: "mt-2 inline-flex items-center gap-1.5 text-xs text-muted-foreground", children: [_jsx(SignalSlashIcon, { className: "size-3.5 shrink-0", "aria-hidden": "true" }), _jsx("span", { children: t("detail.live_updates_interrupted", "Live updates were interrupted. Showing the latest saved status.") })] }))] }), !isTerminalFailure && !isStalledPresentation && (_jsx("div", { className: "mb-6", children: _jsx(ExtractionPhaseStepper, { steps: stepperSteps, currentPhaseKey: currentPhaseKey, reviewCount: reviewCount, reviewAnnouncement: plural(t, "stepper.review_announcement", reviewCount, "{{count}} product needs your review.", "{{count}} products need your review.") }) })), !isTerminalFailure &&
392
398
  !isStalledPresentation &&
393
399
  !isComplete &&
394
400
  activityStreamContent != null && _jsx("div", { className: "mb-6", children: activityStreamContent }), !isTerminalFailure &&
@@ -401,7 +407,7 @@ export function ImportJobDetailView(props) {
401
407
  finished: readingTerminalLabel,
402
408
  aborted: t("streaming.label.aborted", "Aborted"),
403
409
  failed: t("streaming.label.failed", "Failed"),
404
- }, "aria-label": t("streaming.aria_label", "Live extraction output") }) })), isStalledPresentation && (_jsxs("section", { role: "alert", className: "mb-6 overflow-hidden rounded-2xl border border-[var(--tone-warning-border)]/40 bg-card p-5 shadow-sm", children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight text-foreground", children: t("detail.stalled_title", "This import looks stuck") }), _jsx("p", { className: "mt-2 text-sm/6 text-muted-foreground", children: t("detail.stalled_error", "Processing appears stuck. Please try refreshing or uploading again.") }), retryHref ? (_jsxs("a", { href: retryHref, className: "mt-4 inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: [_jsx(ArrowPathIcon, { className: "size-3.5", "aria-hidden": "true" }), t("detail.stalled_retry", "Back to imports")] })) : callbacks.onRetry ? (_jsxs("button", { type: "button", onClick: callbacks.onRetry, className: "mt-4 inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98]", children: [_jsx(ArrowPathIcon, { className: "size-3.5", "aria-hidden": "true" }), t("detail.stalled_retry", "Back to imports")] })) : null] })), isTerminalFailure && (_jsx(JobFailedPanel, { jobId: job.id, status: job.status, error: job.error ?? null, t: t, retryHref: retryHref, onRetry: callbacks.onRetry })), isComplete && (_jsx(JobCompletePanel, { jobId: job.id, result: job.result, countsPhase: completionCountsPhase ?? undefined, flaggedCount: reviewCount, reviewPendingCount: showReviewQueue && !job.reviewCompletedAt ? reviewCount : 0, onReview: callbacks.onReview ?? scrollToReviewQueue, portfolioHref: portfolioHref, renderLink: renderLink, importsHref: importsHref, t: t })), bottlePhotosSlot, !isTerminalFailure && !isComplete && job.error && (_jsx("div", { className: "mb-4 rounded-sm border border-[var(--tone-danger-border)]/40 bg-[var(--tone-danger-soft)] p-3 text-sm text-[var(--tone-danger-fg)]", children: job.error })), showPreflightSheet && verdict && (_jsxs(motion.div, { ref: preflightSheetRef, tabIndex: -1, className: "mb-6 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring/70", initial: { y: -12 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, children: [_jsx("h2", { className: "sr-only", children: t("detail.decision_heading", "Your decision is needed") }), _jsx(PreflightVerdictSheet, { verdict: verdict.verdict, reason: verdict.reason, fileKind: verdict.fileKind ?? undefined, suggestedPages: verdict.suggestedPages ?? null, estimatedProductCount: verdict.estimatedProductCount ?? null, onProceed: () => callbacks.onResumePreflight("proceed"), onProceedWithPages: (pagesOverride) => callbacks.onResumePreflight("proceed_with_pages", pagesOverride), onCancel: () => callbacks.onResumePreflight("cancel"), loading: resumePreflightPending, t: makeSheetTranslator(t) })] })), showNudgeSheet && nudge && (_jsxs(motion.div, { initial: { y: -12 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, children: [_jsx("h2", { className: "sr-only", children: t("detail.decision_heading", "Your decision is needed") }), _jsx(CrossPortfolioNudgeSheet, { open: true, overlap: {
410
+ }, "aria-label": t("streaming.aria_label", "Live extraction output") }) })), isStalledPresentation && (_jsxs("section", { role: "alert", className: "mb-6 overflow-hidden rounded-2xl border border-[var(--tone-warning-border)]/40 bg-card p-5 shadow-sm", children: [_jsx("h2", { className: "text-lg font-semibold tracking-tight text-foreground", children: t("detail.stalled_title", "This import looks stuck") }), _jsx("p", { className: "mt-2 text-sm/6 text-muted-foreground", children: t("detail.stalled_error", "Processing appears stuck. Please try refreshing or uploading again.") }), retryHref ? (_jsxs("a", { href: retryHref, className: "mt-4 inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: [_jsx(ArrowPathIcon, { className: "size-3.5", "aria-hidden": "true" }), t("detail.stalled_retry", "Back to imports")] })) : callbacks.onRetry ? (_jsxs("button", { type: "button", onClick: callbacks.onRetry, className: "mt-4 inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98]", children: [_jsx(ArrowPathIcon, { className: "size-3.5", "aria-hidden": "true" }), t("detail.stalled_retry", "Back to imports")] })) : null] })), isTerminalFailure && (_jsx(JobFailedPanel, { jobId: job.id, status: job.status, error: job.error ?? null, t: t, retryHref: retryHref, onRetry: callbacks.onRetry })), isComplete && (_jsx(JobCompletePanel, { jobId: job.id, result: job.result, countsPhase: completionCountsPhase ?? undefined, flaggedCount: reviewCount, reviewPendingCount: reviewPendingCount ?? (showReviewQueue && !job.reviewCompletedAt ? reviewCount : 0), reviewUnavailable: reviewUnavailable, onReview: callbacks.onReview ?? scrollToReviewQueue, portfolioHref: portfolioHref, renderLink: renderLink, importsHref: importsHref, t: t })), bottlePhotosSlot, !isTerminalFailure && !isComplete && job.error && (_jsx("div", { className: "mb-4 rounded-sm border border-[var(--tone-danger-border)]/40 bg-[var(--tone-danger-soft)] p-3 text-sm text-[var(--tone-danger-fg)]", children: job.error })), showPreflightSheet && verdict && (_jsxs(motion.div, { ref: preflightSheetRef, tabIndex: -1, className: "mb-6 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring/70", initial: { y: -12 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, children: [_jsx("h2", { className: "sr-only", children: t("detail.decision_heading", "Your decision is needed") }), _jsx(PreflightVerdictSheet, { verdict: verdict.verdict, reason: verdict.reason, fileKind: verdict.fileKind ?? undefined, suggestedPages: verdict.suggestedPages ?? null, estimatedProductCount: verdict.estimatedProductCount ?? null, onProceed: () => callbacks.onResumePreflight("proceed"), onProceedWithPages: (pagesOverride) => callbacks.onResumePreflight("proceed_with_pages", pagesOverride), onCancel: () => callbacks.onResumePreflight("cancel"), loading: resumePreflightPending, t: makeSheetTranslator(t) })] })), showNudgeSheet && nudge && (_jsxs(motion.div, { initial: { y: -12 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, children: [_jsx("h2", { className: "sr-only", children: t("detail.decision_heading", "Your decision is needed") }), _jsx(CrossPortfolioNudgeSheet, { open: true, overlap: {
405
411
  overlapPct: nudge.overlapPct,
406
412
  totalProducts: nudge.totalProducts,
407
413
  nonTargetMatchedProductCount: nudge.nonTargetMatchedProductCount,
@@ -1 +1 @@
1
- {"version":3,"file":"import-job-detail-view.js","sourceRoot":"","sources":["../../src/portfolio-import/import-job-detail-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import-job-detail-view.js","sourceRoot":"","sources":["../../src/portfolio-import/import-job-detail-view.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,MAAM,EAAmB,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wDAAwD,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,oCAAoC,EACpC,qBAAqB,EACrB,wCAAwC,IAAI,sBAAsB,EAClE,sCAAsC,IAAI,2BAA2B,EACrE,+BAA+B,IAAI,aAAa,EAChD,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAqB,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAgC,MAAM,uBAAuB,CAAC;AAElG,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AAGvC,MAAM,QAAQ,GAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC;AAEjE;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;AAEtE,6EAA6E;AAC7E,mEAAmE;AACnE,0EAA0E;AAC1E,MAAM,gBAAgB,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;AAEjF,mFAAmF;AACnF,SAAS,MAAM,CACb,CAAc,EACd,OAAe,EACf,KAAa,EACb,WAAmB,EACnB,aAAqB;IAErB,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3D,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAgKD,6EAA6E;AAE7E,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EACJ,GAAG,EACH,UAAU,EACV,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,CAAC,GAAG,QAAQ,EACZ,SAAS,EACT,sBAAsB,GAAG,KAAK,EAC9B,kBAAkB,GAAG,KAAK,EAC1B,qBAAqB,GAAG,IAAI,EAC5B,cAAc,GAAG,KAAK,EACtB,kBAAkB,EAClB,iBAAiB,GAAG,KAAK,EACzB,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,GAAG,mBAAmB,EAClC,KAAK,GAAG,QAAQ,EAChB,MAAM,GAAG,IAAI,EACb,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GAAG,KAAK,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhF,yEAAyE;IACzE,MAAM,EACJ,QAAQ,EACR,MAAM,EAAE,eAAe,EACvB,iBAAiB,GAClB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IAE9C,2EAA2E;IAC3E,EAAE;IACF,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,0BAA0B;IAC1B,MAAM,SAAS,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC;IACtC,MAAM,YAAY,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,YAAY,GAAG,GAAG,EAAE,SAAS,IAAI,IAAI,CAAC;IAC5C,MAAM,cAAc,GAAG,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC;IAErD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,6DAA6D;IAC7D,sDAAsD;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC1D,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,SAAS,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC;QAC3F,MAAM,SAAS,GACb,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6BAA6B,CAAC;QAEvF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;QACtC,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QAED,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5D,qDAAqD;IAErD,MAAM,eAAe,GAAG,kBAAkB,IAAI,GAAG,EAAE,YAAY,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAyB,MAAM,CAAC,CAAC;IACvF,gGAAgG;IAChG,MAAM,iBAAiB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAC7E,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI;YAAE,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClF,CAAC,EACD,EAAE,CACH,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,kDAAkD;IAClD,EAAE;IACF,uEAAuE;IACvE,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,wEAAwE;IACxE,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAmD;QAC7E,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IACH,IAAI,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;QAClD,aAAa,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,oCAAoC;IAEpC,MAAM,iBAAiB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IAE1D,MAAM,gBAAgB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,GAAG,EAAE,EAAE,CAAC;IAC9B,MAAM,qBAAqB,GAAG,eAAe,GAAG,CAAC,IAAI,mBAAmB,IAAI,iBAAiB,CAAC;IAC9F,kFAAkF;IAClF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,IAAI,CAAC,qBAAqB;YAAE,OAAO;QACxE,IAAI,gBAAgB,CAAC,OAAO,KAAK,aAAa;YAAE,OAAO;QACvD,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1C,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;YACzC,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1D,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI;gBAAE,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChF,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1C,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;gBACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,CAAC,CAAC,CAAC;QACN,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAE3D,uEAAuE;IACvE,wCAAwC;IACxC,MAAM,kBAAkB,GACtB,CAAC,CAAC,GAAG;QACL,GAAG,CAAC,MAAM,KAAK,mBAAmB;QAClC,CAAC,CAAC,GAAG,CAAC,gBAAgB;QACtB,GAAG,CAAC,gBAAgB,CAAC,OAAO,KAAK,OAAO,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAChC,qEAAqE;QACrE,6CAA6C;QAC7C,gBAAgB,CAAC,OAAO;YACtB,QAAQ,CAAC,aAAa,YAAY,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,EAAE;gBAAE,OAAO;YAChB,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAChC,iDAAiD,CAClD,CAAC;YACF,IAAI,SAAS;gBAAE,SAAS,CAAC,KAAK,EAAE,CAAC;;gBAC5B,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzE,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,+DAA+D;IAC/D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAChC,MAAM,SAAS,GAAG,GAAG,EAAE,gBAAgB,EAAE,cAAc,CAAC;QACxD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC;YAAE,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5E,MAAM,gBAAgB,GACpB,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAEjF,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CACL,cAAK,SAAS,EAAE,gBAAgB,YAC9B,mBACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,gFAAgF,aAE1F,aAAI,SAAS,EAAC,sDAAsD,YACjE,CAAC,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,GAClD,EACL,YAAG,SAAS,EAAC,sCAAsC,YAAE,QAAQ,GAAK,EACjE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,QAAQ,EAC3B,SAAS,EAAC,wLAAwL,aAElM,KAAC,aAAa,IAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACxD,CAAC,CAAC,oBAAoB,EAAE,OAAO,CAAC,IAC1B,CACV,CAAC,CAAC,CAAC,IAAI,IACA,GACN,CACP,CAAC;QACJ,CAAC;QACD,OAAO,CACL,4BAAe,MAAM,EAAC,SAAS,EAAE,8BAA8B,gBAAgB,EAAE,aAC/E,cAAK,SAAS,EAAC,eAAe,YAAE,gBAAgB,GAAO,EACvD,eAAK,SAAS,EAAC,eAAe,aAC5B,kBAAQ,SAAS,EAAC,MAAM,aACtB,YAAG,SAAS,EAAC,uCAAuC,YAAE,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAK,EACxF,cAAK,SAAS,EAAC,8CAA8C,iBAAa,MAAM,GAAG,EACnF,cAAK,SAAS,EAAC,iDAAiD,iBAAa,MAAM,GAAG,EACtF,eAAM,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAQ,IAC3D,EACT,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,8BAA8B,IAAC,KAAK,EAAE,CAAC,GAAI,GACxC,IACF,IACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAErC,2DAA2D;IAC3D,MAAM,oBAAoB,GAAG,GAAG,CAAC,oBAAoB,IAAI,IAAI,CAAC;IAC9D,MAAM,KAAK,GAAG,oBAAoB,EAAE,mBAAmB,CAAC;IACxD,MAAM,cAAc,GAClB,GAAG,CAAC,MAAM,KAAK,mBAAmB,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,kBAAkB,CAAC;IAE1F,MAAM,WAAW,GAAG,kBAAkB,IAAI,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;IAEhE,2EAA2E;IAC3E,mEAAmE;IACnE,+DAA+D;IAC/D,MAAM,oBAAoB,GAAG,eAAe,KAAK,uBAAuB,CAAC;IACzE,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;QACxD,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,oBAAoB;QACpB,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM;QAC3C,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,QAAQ,IAAI,eAAe,KAAK,eAAe;QAC7D,iBAAiB,EAAE,SAAS;KAC7B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,KAAK,aAAa,CAAC;IAC1D,MAAM,qBAAqB,GAAG,kBAAkB,KAAK,SAAS,CAAC;IAC/D,MAAM,iBAAiB,GACrB,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC;IACnF,MAAM,YAAY,GAAW,oBAAoB;QAC/C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,qBAAqB;YACrB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAEjB,MAAM,QAAQ,GAAG,YAAY,KAAK,mBAAmB,CAAC;IAKtD,MAAM,YAAY,GAAwB,QAAQ;QAChD,CAAC,CAAC,kBAAkB;YAClB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,WAAW,GAAG,CAAC;oBACf,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,SAAS;QACjB,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,sBAAsB,GAAG;QAC7B,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,WAAW;KAC+B,CAAC;IAEtD,IAAI,YAAY,GAAe,WAAW,CAAC;IAC3C,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,YAAY,KAAK,SAAS,IAAI,iBAAiB,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC9D,YAAY,GAAG,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,yDAAyD;IACzD,MAAM,WAAW,GAAe,CAAC,GAAG,EAAE;QACpC,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,oBAAoB;YAAE,OAAO,MAAM,CAAC;QACvE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAChD,IAAI,GAAG,CAAC,MAAM,KAAK,mBAAmB;YAAE,OAAO,YAAY,CAAC;QAE5D,MAAM,YAAY,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QAEtC,IACE,CAAC,QAAQ;YACT,SAAS;YACT,SAAS,CAAC,MAAM,KAAK,WAAW;YAChC,SAAS,CAAC,MAAM,KAAK,QAAQ;YAC7B,SAAS,CAAC,MAAM,KAAK,aAAa,EAClC,CAAC;YACD,MAAM,MAAM,GACV,SAAS,CAAC,KAAK,KAAK,mBAAmB;gBACrC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,OAAO,SAAS,CAAC;YAC/B,IAAI,CAAC,oBAAoB;gBAAE,OAAO,SAAS,CAAC;YAC5C,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB;gBAAE,OAAO,WAAW,CAAC;YAClE,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,CAAC;IAEL,qEAAqE;IACrE,iEAAiE;IACjE,mCAAmC;IACnC,qCAAqC;IACrC,MAAM,eAAe,GAAe,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1F,aAAa,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC;IAChE,oCAAoC;IAEpC,uDAAuD;IACvD,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAC1D,iBAAiB,EACjB,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CACpC,CAAC;IACF,MAAM,oBAAoB,GAAG,eAAe;QAC1C,CAAC,CAAC,SAAS,IAAI,IAAI;YACjB,CAAC,CAAC,WAAW,CACT,CAAC,CAAC,wCAAwC,EAAE,uCAAuC,CAAC,EACpF,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CACnC;YACH,CAAC,CAAC,CAAC,CAAC,kCAAkC,EAAE,qBAAqB,CAAC;QAChE,CAAC,CAAC,CAAC,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;IAE9C,MAAM,oBAAoB,GAAG;QAC3B,SAAS,EAAE;YACT,KAAK,EAAE,CAAC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;YACzD,QAAQ,EAAE,CAAC,CAAC,4BAA4B,EAAE,gCAAgC,CAAC;SAC5E;QACD,KAAK,EAAE;YACL,KAAK,EAAE,CAAC,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;YACnD,QAAQ,EAAE,CAAC,CAAC,wBAAwB,EAAE,2CAA2C,CAAC;SACnF;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC,CAAC,sBAAsB,EAAE,cAAc,CAAC;YAChD,QAAQ,EAAE,MAAM,CACd,CAAC,EACD,yBAAyB,EACzB,WAAW,EACX,iCAAiC,EACjC,iCAAiC,CAClC;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,CAAC,CAAC,uBAAuB,EAAE,aAAa,CAAC;YAChD,QAAQ,EAAE,CAAC,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;SACzE;KAC2E,CAAC;IAE/E,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACrD,QAAQ,EAAE,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC;QAC3C,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,SAAS,CAAC;QACxC,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,SAAS,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,mBAAmB,EAAE,WAAW,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,MAAM,CAAC;KAChC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;YAC7C,OAAO;gBACL,GAAG,IAAI;gBACP,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;gBAC3E,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACjF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC,IAAI,mBAAmB,IAAI,iBAAiB,CAAC;IACpF,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,oBAAoB,CAAC;IAEvE,wEAAwE;IACxE,MAAM,cAAc,GAClB,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAErF,4EAA4E;IAC5E,4CAA4C;IAC5C,MAAM,YAAY,GAAG,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAI,GAAG,CAAC,QAAkD,EAAE,KAAK,CAAC;IACjF,MAAM,YAAY,GAChB,GAAG,CAAC,MAAM,KAAK,WAAW;QAC1B,OAAO,CAAC,oBAAoB,CAAC;QAC7B,WAAW,GAAG,CAAC;QACf,CAAC,SAAS,KAAK,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtE,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,gBAAgB,GACpB,CAAC,SAAS,KAAK,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,iBAAiB;QACxC,CAAC,CAAC,iBAAiB,CAAC,QAAQ;QAC5B,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACpC,MAAM,uBAAuB,GAC3B,gBAAgB,IAAI,CAAC,gBAAgB,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAEtF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,EAAE,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClC,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI;YAAE,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChF,iBAAiB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1C,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,qBAAqB,GACzB,OAAO,kBAAkB,KAAK,UAAU;QACtC,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAClE,CAAC,CAAC,kBAAkB,CAAC;IACzB,MAAM,oBAAoB,GACxB,OAAO,iBAAiB,KAAK,UAAU;QACrC,CAAC,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC;QACrC,CAAC,CAAC,iBAAiB,CAAC;IAExB,OAAO,CACL,eAAK,SAAS,EAAE,8BAA8B,gBAAgB,EAAE,aAE9D,cAAK,SAAS,EAAC,eAAe,YAAE,gBAAgB,GAAO,EAGvD,eAAK,SAAS,EAAC,eAAe,aAC5B,kBAAQ,SAAS,EAAC,MAAM,aACtB,eAAK,SAAS,EAAC,yBAAyB,aACtC,aAAI,SAAS,EAAC,uCAAuC,YAClD,CAAC,CAAC,cAAc,EAAE,uBAAuB,CAAC,GACxC,EACL,KAAC,WAAW,IAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAC,QAAQ,GAAG,IACzD,EACN,YAAG,SAAS,EAAC,2DAA2D,YACrE,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAC/E,EAGH,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,CAC7B,aACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,qEAAqE,aAE/E,KAAC,eAAe,IAAC,SAAS,EAAC,mBAAmB,iBAAa,MAAM,GAAG,EACpE,yBACG,CAAC,CACA,iCAAiC,EACjC,iEAAiE,CAClE,GACI,IACL,CACL,IACM,EAER,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,IAAI,CAC/C,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,sBAAsB,IACrB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,MAAM,CACxB,CAAC,EACD,6BAA6B,EAC7B,WAAW,EACX,sCAAsC,EACtC,sCAAsC,CACvC,GACD,GACE,CACP,EAGA,CAAC,iBAAiB;wBACjB,CAAC,qBAAqB;wBACtB,CAAC,UAAU;wBACX,qBAAqB,IAAI,IAAI,IAAI,cAAK,SAAS,EAAC,MAAM,YAAE,qBAAqB,GAAO,EAIrF,CAAC,iBAAiB;wBACjB,CAAC,qBAAqB;wBACtB,CAAC,UAAU;wBACX,mBAAmB,IAAI,IAAI;wBAC3B,GAAG,CAAC,eAAe;wBACnB,4BAA4B,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CACnD,cAAK,SAAS,EAAC,MAAM,YAAE,mBAAmB,GAAO,CAClD,EAGF,CAAC,iBAAiB,IAAI,CAAC,qBAAqB,IAAI,CAAC,UAAU,IAAI,WAAW,IAAI,CAC7E,KAAC,MAAM,CAAC,GAAG,IACT,SAAS,EAAC,MAAM,EAChB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAClB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAC7B,UAAU,EAAE,gBAAgB,YAE5B,KAAC,iBAAiB,IAChB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE;gCACN,SAAS,EAAE,CAAC,CAAC,2BAA2B,EAAE,WAAW,CAAC;gCACtD,QAAQ,EAAE,oBAAoB;gCAC9B,OAAO,EAAE,CAAC,CAAC,yBAAyB,EAAE,SAAS,CAAC;gCAChD,MAAM,EAAE,CAAC,CAAC,wBAAwB,EAAE,QAAQ,CAAC;6BAC9C,gBACW,CAAC,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,GAC/D,GACS,CACd,EAEA,qBAAqB,IAAI,CACxB,mBACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,sGAAsG,aAEhH,aAAI,SAAS,EAAC,sDAAsD,YACjE,CAAC,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAClD,EACL,YAAG,SAAS,EAAC,sCAAsC,YAChD,CAAC,CACA,sBAAsB,EACtB,qEAAqE,CACtE,GACC,EACH,SAAS,CAAC,CAAC,CAAC,CACX,aACE,IAAI,EAAE,SAAS,EACf,SAAS,EAAC,0QAA0Q,aAEpR,KAAC,aAAa,IAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACxD,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,IAC3C,CACL,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CACtB,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,SAAS,EAAC,wLAAwL,aAElM,KAAC,aAAa,IAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACxD,CAAC,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,IACtC,CACV,CAAC,CAAC,CAAC,IAAI,IACA,CACX,EAEA,iBAAiB,IAAI,CACpB,KAAC,cAAc,IACb,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,EACxB,CAAC,EAAE,CAAC,EACJ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,CAAC,OAAO,GAC1B,CACH,EAEA,UAAU,IAAI,CACb,KAAC,gBAAgB,IACf,KAAK,EAAE,GAAG,CAAC,EAAE,EACb,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,WAAW,EAAE,qBAAqB,IAAI,SAAS,EAC/C,YAAY,EAAE,WAAW,EACzB,kBAAkB,EAChB,kBAAkB,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAErF,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,mBAAmB,EACnD,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,CAAC,EAAE,CAAC,GACJ,CACH,EAGA,gBAAgB,EAEhB,CAAC,iBAAiB,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,IAAI,CACjD,cAAK,SAAS,EAAC,oIAAoI,YAChJ,GAAG,CAAC,KAAK,GACN,CACP,EAGA,kBAAkB,IAAI,OAAO,IAAI,CAChC,MAAC,MAAM,CAAC,GAAG,IACT,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAC,mFAAmF,EAC7F,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EACnB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAC7B,UAAU,EAAE,gBAAgB,aAK5B,aAAI,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,GAAM,EACtF,KAAC,qBAAqB,IACpB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS,EACvC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,EAC9C,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,IAAI,EAC5D,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,EACvD,kBAAkB,EAAE,CAAC,aAAa,EAAE,EAAE,CACpC,SAAS,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAElE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EACrD,OAAO,EAAE,sBAAsB,EAC/B,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACzB,IACS,CACd,EAGA,cAAc,IAAI,KAAK,IAAI,CAC1B,MAAC,MAAM,CAAC,GAAG,IACT,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EACnB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAC7B,UAAU,EAAE,gBAAgB,aAK5B,aAAI,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,GAAM,EACtF,KAAC,wBAAwB,IACvB,IAAI,QACJ,OAAO,EAAE;oCACP,UAAU,EAAE,KAAK,CAAC,UAAU;oCAC5B,aAAa,EAAE,KAAK,CAAC,aAAa;oCAClC,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;iCACjE,EACD,mBAAmB,EAAE,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAC7D,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,EACtC,kBAAkB,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAC5C,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,EACnD,cAAc,EAAE,GAAG,EAAE;oCACnB,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;wCAC/B,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;oCACvE,CAAC;gCACH,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EACjD,OAAO,EAAE,kBAAkB,EAC3B,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACzB,IACS,CACd,EAKA,eAAe,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,CACjF,KAAC,MAAM,CAAC,OAAO,IACb,EAAE,EAAC,cAAc,gBACL,eAAe,EAC3B,SAAS,EAAC,yMAAyM,YAElN,eAAe,IAAI,sBAAsB,GAC3B,CAClB,EAEA,uBAAuB,IAAI,CAC1B,MAAC,MAAM,CAAC,GAAG,IACT,SAAS,EAAC,4JAA4J,EACtK,IAAI,EAAC,QAAQ,eACH,QAAQ,EAClB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAClB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAC7B,UAAU,EAAE,EAAE,GAAG,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,aAElD,KAAC,aAAa,IAAC,SAAS,EAAC,kCAAkC,iBAAa,MAAM,GAAG,EAChF,CAAC,CAAC,oCAAoC,EAAE,uBAAuB,CAAC,IACtD,CACd,EAGA,oBAAoB,IAAI,IAAI,IAAI,cAAK,SAAS,EAAC,MAAM,YAAE,oBAAoB,GAAO,IAC/E,IACF,CACP,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,CAAc;IACzC,OAAO,CAAC,GAAW,EAAE,OAA6D,EAAU,EAAE;QAC5F,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAoC,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,IAAI,IAAI,KAAK,cAAc;oBAAE,SAAS;gBACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACjF,CAAC;YACD,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,GAA+C;IAE/C,OAAO,GAAG;SACP,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC"}
@@ -79,6 +79,7 @@ export interface JobCompletePanelProps {
79
79
  t?: TranslateFn;
80
80
  countsPhase?: CompletionCountsPhase;
81
81
  reviewPendingCount?: number;
82
+ reviewUnavailable?: boolean;
82
83
  onReview?: () => void;
83
84
  /** Destination of "View portfolio" (producer: `/portfolio`). Omitted → the action is not rendered. */
84
85
  portfolioHref?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"import-job-panels.d.ts","sourceRoot":"","sources":["../../src/portfolio-import/import-job-panels.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA+BzF;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,KAAK,KAAK,CAAC,YAAY,CAAC;AAqBzB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvE,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;CAC3C;AA4CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAkDlD;AAID,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mHAAmH;IACnH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAmHxD;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAoC5D"}
1
+ {"version":3,"file":"import-job-panels.d.ts","sourceRoot":"","sources":["../../src/portfolio-import/import-job-panels.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AA+BzF;;;;;;;;;;GAUG;AACH;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,KAAK,KAAK,CAAC,YAAY,CAAC;AAqBzB,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvE,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;CAC3C;AA4CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAkDlD;AAID,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mHAAmH;IACnH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAmHxD;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,sGAAsG;IACtG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAsC5D"}
@@ -122,21 +122,21 @@ export function StatusBadge(props) {
122
122
  export function JobFailedPanel(props) {
123
123
  const { jobId, status, error, t = defaultT, retryHref, onRetry } = props;
124
124
  const [copied, setCopied] = useState(false);
125
- const copiedTimer = useRef(null);
125
+ const copiedTimerRef = useRef(null);
126
126
  // The "copied" flash is a timer: cancelled when the panel goes away, and never stacked.
127
127
  useEffect(() => () => {
128
- if (copiedTimer.current !== null)
129
- clearTimeout(copiedTimer.current);
128
+ if (copiedTimerRef.current !== null)
129
+ clearTimeout(copiedTimerRef.current);
130
130
  }, []);
131
131
  const onCopy = useCallback(() => {
132
132
  if (typeof navigator === "undefined" || !navigator.clipboard)
133
133
  return;
134
134
  navigator.clipboard.writeText(jobId).then(() => {
135
135
  setCopied(true);
136
- if (copiedTimer.current !== null)
137
- clearTimeout(copiedTimer.current);
138
- copiedTimer.current = setTimeout(() => {
139
- copiedTimer.current = null;
136
+ if (copiedTimerRef.current !== null)
137
+ clearTimeout(copiedTimerRef.current);
138
+ copiedTimerRef.current = setTimeout(() => {
139
+ copiedTimerRef.current = null;
140
140
  setCopied(false);
141
141
  }, 1800);
142
142
  }, () => {
@@ -160,27 +160,29 @@ export function JobFailedPanel(props) {
160
160
  : t("detail.failed_copy_id", "Copy job ID")] })] })] }), _jsx("span", { className: "shrink-0 rounded-full bg-[var(--tone-danger-soft)]/70 px-2 py-1 text-xs font-semibold uppercase tracking-wider tabular-nums text-[var(--tone-danger-fg)] ring-1 ring-inset ring-[var(--tone-danger-border)]/30", children: jobId.slice(0, 8) })] }) }));
161
161
  }
162
162
  export function JobCompletePanel(props) {
163
- const { result, flaggedCount, t = defaultT, countsPhase, reviewPendingCount, onReview, portfolioHref, importsHref, renderLink, } = props;
163
+ const { result, flaggedCount, t = defaultT, countsPhase, reviewPendingCount, reviewUnavailable, onReview, portfolioHref, importsHref, renderLink, } = props;
164
164
  const phase = countsPhase ?? (hasPresentResultObject(result) ? "counts" : "reconciling");
165
165
  if (phase === "reconciling")
166
166
  return _jsx(JobCompleteReconciling, { t: t });
167
167
  if (phase === "unavailable") {
168
168
  return (_jsx(JobCompleteCountsUnavailable, { t: t, portfolioHref: portfolioHref, importsHref: importsHref, renderLink: renderLink }));
169
169
  }
170
- return (_jsx(JobCompleteCounts, { result: result, flaggedCount: flaggedCount, reviewPendingCount: reviewPendingCount, onReview: onReview, portfolioHref: portfolioHref, importsHref: importsHref, renderLink: renderLink, t: t }));
170
+ return (_jsx(JobCompleteCounts, { result: result, flaggedCount: flaggedCount, reviewPendingCount: reviewPendingCount, reviewUnavailable: reviewUnavailable, onReview: onReview, portfolioHref: portfolioHref, importsHref: importsHref, renderLink: renderLink, t: t }));
171
171
  }
172
172
  function JobCompleteCounts(props) {
173
- const { result, flaggedCount, t, reviewPendingCount, onReview, portfolioHref, importsHref, renderLink, } = props;
173
+ const { result, flaggedCount, t, reviewPendingCount, reviewUnavailable, onReview, portfolioHref, importsHref, renderLink, } = props;
174
174
  const reviewPending = typeof reviewPendingCount === "number" && reviewPendingCount > 0;
175
- const hasReviewAction = reviewPending && onReview !== undefined;
175
+ const hasReviewAction = (reviewPending || reviewUnavailable) && onReview !== undefined;
176
176
  const counts = readResultCounts(result);
177
177
  const totalImported = counts.beverages > 0 ? counts.beverages : counts.variants;
178
178
  const animatedTotal = useCountUp(totalImported, 900);
179
- return (_jsxs(motion.section, { role: "status", "aria-live": "polite", initial: { y: 8 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, className: "mb-6 overflow-hidden rounded-2xl border border-[var(--tone-success-border)]/40 bg-card p-6 shadow-sm", children: [_jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { className: "flex items-start gap-4", children: [_jsx("span", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-[var(--tone-success-soft)] text-[var(--tone-success-fg)]", children: _jsx(SparklesIcon, { className: "size-5", "aria-hidden": "true" }) }), _jsxs("div", { children: [_jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.18em] text-[var(--tone-success-fg)]", children: t("detail.complete_eyebrow", "All set") }), _jsx("h2", { className: "mt-1 text-xl font-semibold tracking-tight text-foreground", children: totalImported === 1
179
+ return (_jsxs(motion.section, { role: "status", "aria-live": "polite", initial: { y: 8 }, animate: { y: 0, opacity: 1 }, transition: ENTER_TRANSITION, className: "mb-6 overflow-hidden rounded-2xl border border-[var(--tone-success-border)]/40 bg-card p-6 shadow-sm", children: [_jsxs("div", { className: "flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between", children: [_jsxs("div", { className: "flex items-start gap-4", children: [_jsx("span", { className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-[var(--tone-success-soft)] text-[var(--tone-success-fg)]", children: _jsx(SparklesIcon, { className: "size-5", "aria-hidden": "true" }) }), _jsxs("div", { children: [_jsx("h2", { className: "text-xl font-semibold tracking-tight text-foreground", children: totalImported === 1
180
180
  ? t("detail.complete_title_one", "1 product added to your portfolio")
181
181
  : interpolate(t("detail.complete_title_many", "{{count}} products added to your portfolio"), { count: totalImported }) }), counts.beverages > 0 || flaggedCount > 0 ? (_jsxs("p", { className: "mt-1 text-sm text-muted-foreground tabular-nums", children: [counts.beverages > 0
182
182
  ? interpolate(t("detail.complete_breakdown", "{{products}} products · {{options}} options"), { products: counts.beverages, options: counts.variants })
183
- : null, flaggedCount > 0 ? (_jsx("span", { className: `${counts.beverages > 0 ? "ml-2 " : ""}inline-flex items-center rounded-full bg-[var(--tone-warning-soft)] px-2 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)] ring-1 ring-inset ring-[var(--tone-warning-border)]/40`, children: plural(t, "detail.complete_flagged", flaggedCount, "{{count}} needs review", "{{count}} need review") })) : null] })) : null, counts.reused > 0 ? (_jsx("p", { className: "mt-1 text-sm text-muted-foreground tabular-nums", children: plural(t, "detail.complete_matched", counts.reused, "{{count}} matched to a product already in your portfolio", "{{count}} matched to products already in your portfolio") })) : null] })] }), _jsxs("div", { className: "text-right tabular-nums text-[var(--tone-success-fg)]", "aria-hidden": "true", children: [_jsx("span", { className: "block text-4xl/9 font-semibold", children: animatedTotal }), _jsx("span", { className: "mt-1 block text-xs font-semibold uppercase tracking-[0.18em] text-[var(--tone-success-fg)]/70", children: t("detail.complete_total_label", "Total") })] })] }), _jsxs("div", { className: "mt-5 flex flex-wrap items-center gap-2", children: [hasReviewAction ? (_jsx("button", { type: "button", onClick: onReview, className: "inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98]", children: plural(t, "detail.complete_review", reviewPendingCount ?? 0, "Review {{count}} flagged product", "Review {{count}} flagged products") })) : null, portfolioHref ? (_jsx(NavLink, { renderLink: renderLink, href: portfolioHref, className: `inline-flex items-center gap-1.5 rounded-full px-3.5 py-1.5 text-xs font-semibold shadow-sm transition active:scale-[0.98] ${hasReviewAction
183
+ : null, flaggedCount > 0 ? (_jsx("span", { className: `${counts.beverages > 0 ? "ml-2 " : ""}inline-flex items-center rounded-full bg-[var(--tone-warning-soft)] px-2 py-0.5 text-xs font-medium text-[var(--tone-warning-fg)] ring-1 ring-inset ring-[var(--tone-warning-border)]/40`, children: plural(t, "detail.complete_flagged", flaggedCount, "{{count}} needs review", "{{count}} need review") })) : null] })) : null, counts.reused > 0 ? (_jsx("p", { className: "mt-1 text-sm text-muted-foreground tabular-nums", children: plural(t, "detail.complete_matched", counts.reused, "{{count}} matched to a product already in your portfolio", "{{count}} matched to products already in your portfolio") })) : null] })] }), _jsxs("div", { className: "text-right tabular-nums text-[var(--tone-success-fg)]", "aria-hidden": "true", children: [_jsx("span", { className: "block text-4xl/9 font-semibold", children: animatedTotal }), _jsx("span", { className: "mt-1 block text-xs font-semibold uppercase tracking-[0.18em] text-[var(--tone-success-fg)]/70", children: t("detail.complete_total_label", "Total") })] })] }), _jsxs("div", { className: "mt-5 flex flex-wrap items-center gap-2", children: [hasReviewAction ? (_jsx("button", { type: "button", onClick: onReview, className: "inline-flex items-center gap-1.5 rounded-full bg-primary px-3.5 py-1.5 text-xs font-semibold text-primary-foreground shadow-sm transition hover:bg-primary/90 active:scale-[0.98]", children: reviewPending
184
+ ? plural(t, "detail.complete_review", reviewPendingCount ?? 0, "Review {{count}} flagged product", "Review {{count}} flagged products")
185
+ : t("detail.complete_review_unavailable", "Check review details") })) : null, portfolioHref ? (_jsx(NavLink, { renderLink: renderLink, href: portfolioHref, className: `inline-flex items-center gap-1.5 rounded-full px-3.5 py-1.5 text-xs font-semibold shadow-sm transition active:scale-[0.98] ${hasReviewAction
184
186
  ? "border border-border bg-card text-foreground/80 hover:bg-muted"
185
187
  : "bg-primary text-primary-foreground hover:bg-primary/90"}`, children: t("detail.complete_view_portfolio", "View portfolio") })) : null, importsHref ? (_jsx(NavLink, { renderLink: renderLink, href: importsHref, className: "inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3.5 py-1.5 text-xs font-medium text-foreground/80 transition hover:bg-muted active:scale-[0.98]", children: t("detail.complete_upload_another", "Upload another") })) : null] })] }));
186
188
  }