@cellarnode/ui 0.191.0 → 0.192.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.
@@ -2,12 +2,49 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { CommercialTerms } from "../commercial-price/index.js";
4
4
  import { DescriptionDetails, DescriptionList, DescriptionTerm, } from "../components/description-list.js";
5
+ import { Button } from "../components/button.js";
5
6
  import { EmptyState } from "../components/empty-state.js";
6
7
  import { Eyebrow } from "../components/eyebrow.js";
7
8
  import { cn } from "../lib/utils.js";
8
9
  import { OpportunityDetailPanel } from "../opportunities/opportunity-detail-panel.js";
9
10
  import { useOpportunityHeadingLevel, } from "../opportunities/heading-level-context.js";
11
+ import { defaultOpportunityFactEditLabels, } from "./edit-labels.js";
12
+ import { EditableSection, LockedTermsPanel, useEditSession, } from "./editable-section.js";
10
13
  import { defaultOpportunityFactLabels } from "./labels.js";
14
+ /** Tab that hosts each editable section. */
15
+ const SECTION_TAB = {
16
+ "product-requirements": "overview",
17
+ "delivery-terms": "commercial",
18
+ };
19
+ /** Tab that renders each fact section. */
20
+ const SECTION_HOST_TAB = {
21
+ identity: "overview",
22
+ product: "overview",
23
+ commercial: "commercial",
24
+ timeline: "timeline",
25
+ compliance: "compliance",
26
+ buyer: "buyer",
27
+ };
28
+ /** The tab whose rows carry `key` (the first section that lists it), or `undefined`. */
29
+ function tabForFact(sections, key) {
30
+ const section = sections.find((s) => s.facts.some((f) => f.key === key));
31
+ return section ? SECTION_HOST_TAB[section.id] : undefined;
32
+ }
33
+ /** Tabs that host controls of `section` (the ones where its footer shows). */
34
+ function hostTabs(section, config, sections) {
35
+ const tabs = new Set([SECTION_TAB[section]]);
36
+ if (section === "product-requirements") {
37
+ for (const key of Object.keys(config?.fields ?? {})) {
38
+ const tab = tabForFact(sections, key);
39
+ if (tab)
40
+ tabs.add(tab);
41
+ }
42
+ }
43
+ return tabs;
44
+ }
45
+ function fieldIds(api, key) {
46
+ return { labelId: `${api.uid}-${key}-label`, errorId: `${api.uid}-${key}-error` };
47
+ }
11
48
  function missingStateCopy(fact, perspective, labels) {
12
49
  // `deliveryTerms` is `not_specified` only when no term was chosen at all
13
50
  // (spec §1's missing-state rule doesn't cover it directly — see
@@ -21,20 +58,57 @@ function missingStateCopy(fact, perspective, labels) {
21
58
  return labels.state.ownerMissing;
22
59
  return fact.state === "not_stated" ? labels.state.notStated : labels.state.notSpecified;
23
60
  }
24
- function FactRow({ fact, perspective, labels, action, }) {
61
+ function FactRow({ fact, perspective, labels, action, addAction, control, labelId, error, errorId, }) {
25
62
  const known = fact.state === "known";
26
- return (_jsxs(React.Fragment, { children: [_jsx(DescriptionTerm, { children: fact.label }), _jsx(DescriptionDetails, { children: _jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("span", { className: cn(!known && "text-muted-foreground italic"), children: known ? fact.value : missingStateCopy(fact, perspective, labels) }), known && fact.detail ? (_jsx("span", { className: "block text-muted-foreground text-xs/5", children: fact.detail })) : null] }), known && action ? _jsx("div", { className: "shrink-0", children: action }) : null] }) })] }));
63
+ return (_jsxs(React.Fragment, { children: [_jsx(DescriptionTerm, { id: labelId, children: fact.label }), _jsx(DescriptionDetails, { "data-fact-key": control ? fact.key : undefined, children: control ? (_jsxs("div", { className: "flex min-w-0 flex-col gap-1", children: [control, error ? (_jsx("p", { id: errorId, className: "text-xs/5 text-[var(--tone-danger-fg)]", children: error })) : null] })) : (_jsxs("div", { className: "flex items-start justify-between gap-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("span", { className: cn(!known && "text-muted-foreground italic"), children: known ? fact.value : missingStateCopy(fact, perspective, labels) }), known && fact.detail ? (_jsx("span", { className: "block text-muted-foreground text-xs/5", children: fact.detail })) : null] }), known && action ? _jsx("div", { className: "shrink-0", children: action }) : null, !known && addAction ? (_jsx("div", { className: "shrink-0", children: _jsx(Button, { type: "button", plain: true, onClick: addAction.onClick, children: addAction.label }) })) : null] })) })] }));
27
64
  }
28
- function FactGrid({ facts, perspective, labels, factActions, }) {
65
+ function resolveField(node, api, key, error) {
66
+ if (typeof node !== "function")
67
+ return node;
68
+ const { labelId, errorId } = fieldIds(api, key);
69
+ return node({ labelId, errorId: error ? errorId : undefined, invalid: Boolean(error) });
70
+ }
71
+ function FactGrid({ facts, perspective, labels, factActions, edit, }) {
29
72
  if (facts.length === 0) {
30
73
  return _jsx(EmptyState, { headline: labels.state.notStated, tone: "neutral", entranceMotion: false });
31
74
  }
32
- return (_jsx(DescriptionList, { children: facts.map((fact) => (_jsx(FactRow, { fact: fact, perspective: perspective, labels: labels, action: factActions?.[fact.key] }, fact.key))) }));
75
+ const sectionConfig = edit?.section ? edit.api.config[edit.section] : undefined;
76
+ const editingHere = Boolean(edit?.section && edit.api.editingSection === edit.section);
77
+ return (_jsx(DescriptionList, { children: facts.map((fact) => {
78
+ const node = editingHere ? sectionConfig?.fields?.[fact.key] : undefined;
79
+ const error = sectionConfig?.fieldErrors?.[fact.key];
80
+ const ids = edit ? fieldIds(edit.api, fact.key) : undefined;
81
+ return (_jsx(FactRow, { fact: fact, perspective: perspective, labels: labels, action: factActions?.[fact.key], addAction: edit && !editingHere ? edit.api.addAction(fact) : undefined, control: node != null && edit ? resolveField(node, edit.api, fact.key, error) : undefined, labelId: ids?.labelId, error: error, errorId: ids?.errorId }, fact.key));
82
+ }) }));
33
83
  }
34
- function OverviewTabContent({ sections, perspective, labels, factActions, sectionHeading, sectionSlots, }) {
84
+ function OverviewTabContent({ sections, perspective, labels, factActions, sectionHeading, sectionSlots, edit, }) {
35
85
  const identity = sections.find((s) => s.id === "identity");
36
86
  const product = sections.find((s) => s.id === "product");
37
- return (_jsxs("div", { className: "flex flex-col gap-6", children: [identity ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: identity.label }), _jsx(FactGrid, { facts: identity.facts, perspective: perspective, labels: labels, factActions: factActions }), sectionSlots?.identity ?? null] })) : null, product ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: product.label }), _jsx(FactGrid, { facts: product.facts, perspective: perspective, labels: labels, factActions: factActions }), sectionSlots?.product ?? null] })) : null] }));
87
+ const productConfig = edit?.config["product-requirements"];
88
+ const editingProduct = edit?.editingSection === "product-requirements";
89
+ return (_jsxs("div", { className: "flex flex-col gap-6", children: [identity ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: identity.label }), _jsx(FactGrid, { facts: identity.facts, perspective: perspective, labels: labels, factActions: factActions, edit: edit ? { api: edit } : undefined }), sectionSlots?.identity ?? null] })) : null, product && edit && productConfig ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsxs(EditableSection, { id: "product-requirements", heading: product.label, headingAs: sectionHeading, session: edit.sessions["product-requirements"], labels: edit.labels, isEditing: editingProduct, active: edit.activeTab === "overview", tabId: "overview", tabLabels: edit.tabLabels, canEdit: true, editBlocked: edit.editingSection !== null && !editingProduct, focusKey: edit.focusKey, onEdit: () => edit.open("product-requirements"), children: [_jsx(FactGrid, { facts: product.facts, perspective: perspective, labels: labels, factActions: factActions, edit: { api: edit, section: "product-requirements" } }), editingProduct ? (productConfig.editor ?? null) : null] }), sectionSlots?.product ?? null] })) : product ? (_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: product.label }), _jsx(FactGrid, { facts: product.facts, perspective: perspective, labels: labels, factActions: factActions, edit: edit ? { api: edit } : undefined }), sectionSlots?.product ?? null] })) : null] }));
90
+ }
91
+ /**
92
+ * One tab's facts for a section whose edit mode spans tabs (the requirements
93
+ * reach Compliance and Commercial). View mode: the plain grid. Edit mode, when
94
+ * a control of the requirements lives on this tab: the same grid with the
95
+ * controls in their own rows, wrapped in a continuation of the requirements
96
+ * section so Save and Cancel sit next to them.
97
+ */
98
+ function RequirementsContinuation({ tabId, facts, heading, perspective, labels, factActions, sectionHeading, edit, }) {
99
+ const config = edit?.config["product-requirements"];
100
+ const editing = edit?.editingSection === "product-requirements";
101
+ const hosted = editing && facts.some((f) => config?.fields?.[f.key] != null);
102
+ const grid = (_jsx(FactGrid, { facts: facts, perspective: perspective, labels: labels, factActions: factActions, edit: edit ? { api: edit, section: "product-requirements" } : undefined }));
103
+ if (!edit || !hosted)
104
+ return grid;
105
+ return (_jsx(EditableSection, { id: "product-requirements", session: edit.sessions["product-requirements"], secondary: true, heading: heading, headingAs: sectionHeading, labels: edit.labels, isEditing: true, active: edit.activeTab === tabId, tabId: tabId, tabLabels: edit.tabLabels, focusKey: edit.focusKey, children: grid }));
106
+ }
107
+ /** The delivery-terms card on the Commercial tab: read-only fact, Edit, or the CEL-2167 lock panel. */
108
+ function DeliveryTermsSection({ facts, perspective, labels, factActions, sectionHeading, edit, }) {
109
+ const config = edit.config["delivery-terms"];
110
+ const editing = edit.editingSection === "delivery-terms";
111
+ return (_jsxs(EditableSection, { id: "delivery-terms", heading: edit.labels.deliveryTermsHeading, headingAs: sectionHeading, session: edit.sessions["delivery-terms"], labels: edit.labels, isEditing: editing, active: edit.activeTab === "commercial", tabId: "commercial", tabLabels: edit.tabLabels, canEdit: Boolean(config) && !edit.termsLocked, editBlocked: edit.editingSection !== null && !editing, focusKey: edit.focusKey, onEdit: () => edit.open("delivery-terms"), focusLockedPanel: edit.focusLockedPanel, lockedPanel: edit.termsLocked ? (_jsx(LockedTermsPanel, { onMount: edit.setLockedPanel, labels: edit.labels, reason: edit.termsLockedReason, onReviewOffers: edit.onReviewOffers })) : undefined, children: [facts.length > 0 ? (_jsx(FactGrid, { facts: facts, perspective: perspective, labels: labels, factActions: factActions, edit: { api: edit, section: "delivery-terms" } })) : null, editing ? (config?.editor ?? null) : null] }));
38
112
  }
39
113
  /** Distinct fact keys across the strip and every section — several keys (e.g. `priceBands`) appear in both. */
40
114
  function distinctFactKeys(facts) {
@@ -46,52 +120,245 @@ function distinctFactKeys(facts) {
46
120
  keys.add(fact.key);
47
121
  return keys;
48
122
  }
123
+ /** "Vintage" becomes "vintage" for "Add vintage"; leaves acronyms ("EU product category") alone. */
124
+ function lowerFirstWord(label) {
125
+ const [first = "", second = ""] = label;
126
+ if (!first || (second && second === second.toUpperCase() && second !== second.toLowerCase())) {
127
+ return label;
128
+ }
129
+ return first.toLowerCase() + label.slice(1);
130
+ }
49
131
  /**
50
132
  * Renders a `FactSheet`'s five-slot fact strip above `OpportunityDetailPanel`
51
133
  * tabs (Overview, Commercial, Timeline, Compliance, Buyer). Consumers slot
52
134
  * extra tabs (Fit, Offers), header actions, and per-fact actions through
53
135
  * props — they never re-render facts themselves (spec §1/§5).
136
+ *
137
+ * CEL-2129: for `perspective="importer-owner"` the product-requirements and
138
+ * delivery-terms sections can switch to an in-place edit mode (`editing`),
139
+ * driven by the sheet or, for deep links, by the consumer
140
+ * (`editingSection` / `onEditingSectionChange`).
54
141
  */
55
- export function OpportunityFactSheet({ facts, perspective, locale, priceTypeLabel, deliveryTermLabel, tabs = [], actions, defaultTabId, labels: labelsProp, headingLevel: headingLevelProp, commercialTermsLabels: commercialTermsLabelsProp, factActions, sectionSlots, ownerMissingAction, className, }) {
142
+ export function OpportunityFactSheet({ facts, perspective, locale, priceTypeLabel, deliveryTermLabel, tabs = [], actions, defaultTabId, labels: labelsProp, headingLevel: headingLevelProp, commercialTermsLabels: commercialTermsLabelsProp, factActions, sectionSlots, ownerMissingAction, editing, editingSection: editingSectionProp, onEditingSectionChange, initialFocusField, termsLocked: termsLockedProp = false, termsLockedReason, onReviewOffers, editLabels: editLabelsProp, className, }) {
56
143
  const labels = React.useMemo(() => labelsProp ?? defaultOpportunityFactLabels(), [labelsProp]);
57
144
  const providedHeadingLevel = useOpportunityHeadingLevel();
58
145
  const sectionHeading = `h${headingLevelProp ?? providedHeadingLevel ?? 3}`;
59
146
  const commercialTermsLabels = commercialTermsLabelsProp ?? labels.commercial;
147
+ // -- CEL-2129 edit mode -------------------------------------------------
148
+ const sheetId = React.useId();
149
+ const isOwner = perspective === "importer-owner";
150
+ const ownerEditing = isOwner ? editing : undefined;
151
+ const termsLocked = isOwner && termsLockedProp;
152
+ const editEnabled = ownerEditing !== undefined || termsLocked;
153
+ const editLabels = React.useMemo(() => ({ ...defaultOpportunityFactEditLabels(), ...editLabelsProp }), [editLabelsProp]);
60
154
  const sectionById = React.useMemo(() => {
61
155
  const map = new Map();
62
156
  for (const section of facts.sections)
63
157
  map.set(section.id, section);
64
158
  return map;
65
159
  }, [facts.sections]);
160
+ const isControlled = editingSectionProp !== undefined;
161
+ const [internalEditing, setInternalEditing] = React.useState(null);
162
+ const requested = isControlled ? editingSectionProp : internalEditing;
163
+ const editingSection = requested && ownerEditing?.[requested] && !(requested === "delivery-terms" && termsLocked)
164
+ ? requested
165
+ : null;
166
+ const [focusKey, setFocusKey] = React.useState(initialFocusField);
167
+ const [seenInitialFocus, setSeenInitialFocus] = React.useState(initialFocusField);
168
+ if (seenInitialFocus !== initialFocusField) {
169
+ // Adjusting state during render on a prop change (React's documented
170
+ // pattern); the rule misreads it as a synchronous effect call.
171
+ /* eslint-disable @eslint-react/set-state-in-effect */
172
+ setSeenInitialFocus(initialFocusField);
173
+ setFocusKey(initialFocusField);
174
+ /* eslint-enable @eslint-react/set-state-in-effect */
175
+ }
176
+ /** The tab to show when `section` opens: the one hosting the requested field, else the section's own. */
177
+ const entryTab = (section, key) => (key ? tabForFact(facts.sections, key) : undefined) ?? SECTION_TAB[section];
178
+ const [tab, setTab] = React.useState(() => defaultTabId ?? (editingSection ? entryTab(editingSection, focusKey) : "overview"));
179
+ const [seenSection, setSeenSection] = React.useState(editingSection);
180
+ if (seenSection !== editingSection) {
181
+ // Same render-phase prop-change adjustment as above: the tab that hosts
182
+ // the field becomes active in the same commit that opens the section.
183
+ /* eslint-disable @eslint-react/set-state-in-effect */
184
+ setSeenSection(editingSection);
185
+ if (editingSection)
186
+ setTab(entryTab(editingSection, focusKey));
187
+ /* eslint-enable @eslint-react/set-state-in-effect */
188
+ }
189
+ const setEditingSection = React.useCallback((next) => {
190
+ if (!isControlled)
191
+ setInternalEditing(next);
192
+ onEditingSectionChange?.(next);
193
+ }, [isControlled, onEditingSectionChange]);
194
+ const closeEditing = React.useCallback(() => {
195
+ setFocusKey(initialFocusField);
196
+ setEditingSection(null);
197
+ }, [initialFocusField, setEditingSection]);
198
+ const productSession = useEditSession({
199
+ config: ownerEditing?.["product-requirements"],
200
+ labels: editLabels,
201
+ isEditing: editingSection === "product-requirements",
202
+ onClose: closeEditing,
203
+ });
204
+ const deliverySession = useEditSession({
205
+ config: ownerEditing?.["delivery-terms"],
206
+ labels: editLabels,
207
+ isEditing: editingSection === "delivery-terms",
208
+ onClose: closeEditing,
209
+ });
210
+ const sessions = React.useMemo(() => ({ "product-requirements": productSession, "delivery-terms": deliverySession }), [productSession, deliverySession]);
211
+ const lockedPanelNodeRef = React.useRef(null);
212
+ const setLockedPanel = React.useCallback((node) => {
213
+ lockedPanelNodeRef.current = node;
214
+ }, []);
215
+ const focusLockedPanel = React.useCallback(() => {
216
+ lockedPanelNodeRef.current?.focus();
217
+ return lockedPanelNodeRef.current !== null;
218
+ }, []);
219
+ // The lock can arrive while a delivery-terms edit is open (a 409, a refetch):
220
+ // the section drops to read-only, the draft is discarded and the owner of the
221
+ // controlled state hears about it. Focus moves to the locked panel.
222
+ const lockedConfig = ownerEditing?.["delivery-terms"];
223
+ const lockedWhileOpen = requested === "delivery-terms" && termsLocked;
224
+ React.useEffect(() => {
225
+ if (!lockedWhileOpen)
226
+ return;
227
+ lockedConfig?.onCancel?.();
228
+ // eslint-disable-next-line @eslint-react/set-state-in-effect -- the lock is an external change; the draft must be dropped when it lands
229
+ if (!isControlled)
230
+ setInternalEditing(null);
231
+ onEditingSectionChange?.(null);
232
+ // Fires once per lock transition; the handlers are intentionally not deps.
233
+ // eslint-disable-next-line react-hooks/exhaustive-deps, @eslint-react/exhaustive-deps
234
+ }, [lockedWhileOpen]);
235
+ const editTabLabels = React.useMemo(() => ({ ...labels.tabs }), [labels.tabs]);
236
+ const editApi = React.useMemo(() => {
237
+ if (!editEnabled)
238
+ return null;
239
+ const config = ownerEditing ?? {};
240
+ const open = (section, key) => {
241
+ setFocusKey(key);
242
+ setEditingSection(section);
243
+ };
244
+ return {
245
+ config,
246
+ labels: editLabels,
247
+ uid: sheetId,
248
+ editingSection,
249
+ focusKey,
250
+ activeTab: tab,
251
+ tabLabels: editTabLabels,
252
+ sessions,
253
+ setLockedPanel,
254
+ focusLockedPanel,
255
+ sections: facts.sections,
256
+ termsLocked,
257
+ termsLockedReason,
258
+ onReviewOffers,
259
+ open,
260
+ close: closeEditing,
261
+ addAction: (fact) => {
262
+ if (editingSection !== null || fact.state === "known")
263
+ return undefined;
264
+ const label = editLabels.add(fact.key === "deliveryTerms"
265
+ ? editLabels.section["delivery-terms"]
266
+ : lowerFirstWord(fact.label));
267
+ if (fact.key === "deliveryTerms" && config["delivery-terms"] && !termsLocked) {
268
+ return { label, onClick: () => open("delivery-terms", fact.key) };
269
+ }
270
+ if (config["product-requirements"]?.fields?.[fact.key] != null) {
271
+ return { label, onClick: () => open("product-requirements", fact.key) };
272
+ }
273
+ return undefined;
274
+ },
275
+ };
276
+ }, [
277
+ editEnabled,
278
+ ownerEditing,
279
+ editLabels,
280
+ sheetId,
281
+ editingSection,
282
+ focusKey,
283
+ tab,
284
+ editTabLabels,
285
+ sessions,
286
+ setLockedPanel,
287
+ focusLockedPanel,
288
+ facts.sections,
289
+ termsLocked,
290
+ termsLockedReason,
291
+ onReviewOffers,
292
+ setEditingSection,
293
+ closeEditing,
294
+ ]);
295
+ /**
296
+ * Tab switches. Moving between the tabs that host the open section's
297
+ * controls is free (the draft is the consumer's and survives). Leaving them
298
+ * ends the edit: a dirty draft asks first, a clean one is dropped.
299
+ */
300
+ const requestTab = (next) => {
301
+ if (next === tab)
302
+ return;
303
+ if (!editingSection || !ownerEditing) {
304
+ setTab(next);
305
+ return;
306
+ }
307
+ const config = ownerEditing[editingSection];
308
+ if (hostTabs(editingSection, config, facts.sections).has(next)) {
309
+ setTab(next);
310
+ return;
311
+ }
312
+ const session = sessions[editingSection];
313
+ if (session.dirty) {
314
+ session.requestLeave(() => setTab(next));
315
+ return;
316
+ }
317
+ config?.onCancel?.();
318
+ closeEditing();
319
+ setTab(next);
320
+ };
321
+ const deliveryFacts = React.useMemo(() => sectionById.get("commercial")?.facts.filter((f) => f.key === "deliveryTerms") ?? [], [sectionById]);
322
+ // Requirements whose fact lives on the Commercial tab (the minimum volume)
323
+ // have no grid there in view mode; edit mode gives them their own row.
324
+ const commercialRequirementFacts = React.useMemo(() => sectionById
325
+ .get("commercial")
326
+ ?.facts.filter((f) => f.key !== "deliveryTerms" &&
327
+ ownerEditing?.["product-requirements"]?.fields?.[f.key] != null) ?? [], [sectionById, ownerEditing]);
328
+ const showDeliverySection = Boolean(ownerEditing?.["delivery-terms"]) || termsLocked;
66
329
  const builtInTabs = React.useMemo(() => [
67
330
  {
68
331
  id: "overview",
69
332
  label: labels.tabs.overview,
70
- content: (_jsx(OverviewTabContent, { sectionHeading: sectionHeading, sections: facts.sections, perspective: perspective, labels: labels, factActions: factActions, sectionSlots: sectionSlots })),
333
+ content: (_jsx(OverviewTabContent, { sectionHeading: sectionHeading, sections: facts.sections, perspective: perspective, labels: labels, factActions: factActions, sectionSlots: sectionSlots, edit: editApi })),
71
334
  },
72
335
  {
73
336
  id: "commercial",
74
337
  label: labels.tabs.commercial,
75
- content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(CommercialTerms, { ...facts.commercialTerms, locale: locale, labels: commercialTermsLabels, priceTypeLabel: priceTypeLabel, deliveryTermLabel: deliveryTermLabel, perspective: perspective }), sectionSlots?.commercial ?? null] })),
338
+ content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(CommercialTerms, { ...facts.commercialTerms, locale: locale, labels: commercialTermsLabels, priceTypeLabel: priceTypeLabel, deliveryTermLabel: deliveryTermLabel, perspective: perspective }), editApi?.editingSection === "product-requirements" &&
339
+ commercialRequirementFacts.length > 0 ? (_jsx(RequirementsContinuation, { tabId: "commercial", facts: commercialRequirementFacts, heading: sectionById.get("commercial")?.label ?? "", perspective: perspective, labels: labels, factActions: factActions, sectionHeading: sectionHeading, edit: editApi })) : null, editApi && showDeliverySection ? (_jsx(DeliveryTermsSection, { facts: deliveryFacts, perspective: perspective, labels: labels, factActions: factActions, sectionHeading: sectionHeading, edit: editApi })) : null, sectionSlots?.commercial ?? null] })),
76
340
  },
77
341
  {
78
342
  id: "timeline",
79
343
  label: labels.tabs.timeline,
80
- content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(FactGrid, { facts: sectionById.get("timeline")?.facts ?? [], perspective: perspective, labels: labels, factActions: factActions }), sectionSlots?.timeline ?? null] })),
344
+ content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(RequirementsContinuation, { tabId: "timeline", facts: sectionById.get("timeline")?.facts ?? [], heading: sectionById.get("timeline")?.label ?? "", perspective: perspective, labels: labels, factActions: factActions, sectionHeading: sectionHeading, edit: editApi }), sectionSlots?.timeline ?? null] })),
81
345
  },
82
346
  {
83
347
  id: "compliance",
84
348
  label: labels.tabs.compliance,
85
- content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(FactGrid, { facts: sectionById.get("compliance")?.facts ?? [], perspective: perspective, labels: labels, factActions: factActions }), sectionSlots?.compliance ?? null] })),
349
+ content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(RequirementsContinuation, { tabId: "compliance", facts: sectionById.get("compliance")?.facts ?? [], heading: sectionById.get("compliance")?.label ?? "", perspective: perspective, labels: labels, factActions: factActions, sectionHeading: sectionHeading, edit: editApi }), sectionSlots?.compliance ?? null] })),
86
350
  },
87
351
  {
88
352
  id: "buyer",
89
353
  label: labels.tabs.buyer,
90
- content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(FactGrid, { facts: sectionById.get("buyer")?.facts ?? [], perspective: perspective, labels: labels, factActions: factActions }), sectionSlots?.buyer ?? null] })),
354
+ content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(RequirementsContinuation, { tabId: "buyer", facts: sectionById.get("buyer")?.facts ?? [], heading: sectionById.get("buyer")?.label ?? "", perspective: perspective, labels: labels, factActions: factActions, sectionHeading: sectionHeading, edit: editApi }), sectionSlots?.buyer ?? null] })),
91
355
  },
92
356
  ], [
93
357
  commercialTermsLabels,
358
+ commercialRequirementFacts,
359
+ deliveryFacts,
94
360
  deliveryTermLabel,
361
+ editApi,
95
362
  factActions,
96
363
  facts.commercialTerms,
97
364
  facts.sections,
@@ -102,11 +369,16 @@ export function OpportunityFactSheet({ facts, perspective, locale, priceTypeLabe
102
369
  sectionById,
103
370
  sectionHeading,
104
371
  sectionSlots,
372
+ showDeliverySection,
105
373
  ]);
106
374
  const allTabs = React.useMemo(() => [...builtInTabs, ...tabs], [builtInTabs, tabs]);
375
+ // Controlled tab only when edit mode is on, so a deep link can switch to the
376
+ // section's tab; otherwise the panel is uncontrolled exactly as before.
377
+ const visibleTabIds = allTabs.filter((t) => !t.hidden).map((t) => t.id);
378
+ const panelTab = editEnabled ? (visibleTabIds.includes(tab) ? tab : visibleTabIds[0]) : undefined;
107
379
  const missingCount = facts.missing.length;
108
380
  const totalCount = React.useMemo(() => distinctFactKeys(facts).size, [facts]);
109
381
  const knownCount = totalCount - missingCount;
110
- return (_jsxs("div", { "data-slot": "opportunity-fact-sheet", className: cn("flex flex-col gap-6", className), children: [_jsxs("div", { className: "flex flex-col gap-4 @container sm:flex-row sm:items-start sm:justify-between", children: [_jsx(DescriptionList, { "aria-label": labels.strip.ariaLabel, className: "flex-1", children: facts.strip.map((fact) => (_jsx(FactRow, { fact: fact, perspective: perspective, labels: labels, action: factActions?.[fact.key] }, fact.key))) }), actions ? (_jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: actions })) : null] }), perspective === "importer-owner" && missingCount > 0 ? (_jsxs("div", { "data-slot": "opportunity-fact-completeness", className: "flex flex-col gap-1 rounded-lg border border-border bg-card px-4 py-3", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: labels.owner.essentials }), _jsx("p", { className: "text-sm/6 text-foreground", children: labels.owner.essentialsCount(knownCount, totalCount) }), _jsx("p", { className: "text-xs/5 text-muted-foreground", children: labels.owner.missingHint(facts.missing.map((key) => labels.fact[key]).join(", ")) }), ownerMissingAction ? _jsx("div", { className: "pt-1", children: ownerMissingAction }) : null] })) : null, _jsx(OpportunityDetailPanel, { tabs: allTabs, defaultTabId: defaultTabId })] }));
382
+ return (_jsxs("div", { "data-slot": "opportunity-fact-sheet", className: cn("flex flex-col gap-6", className), children: [_jsxs("div", { className: "flex flex-col gap-4 @container sm:flex-row sm:items-start sm:justify-between", children: [_jsx(DescriptionList, { "aria-label": labels.strip.ariaLabel, className: "flex-1", children: facts.strip.map((fact) => (_jsx(FactRow, { fact: fact, perspective: perspective, labels: labels, action: factActions?.[fact.key], addAction: editApi?.addAction(fact) }, fact.key))) }), actions ? (_jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", children: actions })) : null] }), perspective === "importer-owner" && missingCount > 0 ? (_jsxs("div", { "data-slot": "opportunity-fact-completeness", className: "flex flex-col gap-1 rounded-lg border border-border bg-card px-4 py-3", children: [_jsx(Eyebrow, { as: sectionHeading, size: "xs", children: labels.owner.essentials }), _jsx("p", { className: "text-sm/6 text-foreground", children: labels.owner.essentialsCount(knownCount, totalCount) }), _jsx("p", { className: "text-xs/5 text-muted-foreground", children: labels.owner.missingHint(facts.missing.map((key) => labels.fact[key]).join(", ")) }), ownerMissingAction ? _jsx("div", { className: "pt-1", children: ownerMissingAction }) : null] })) : null, _jsx(OpportunityDetailPanel, { tabs: allTabs, defaultTabId: defaultTabId, tabId: panelTab, onTabChange: editEnabled ? requestTab : undefined })] }));
111
383
  }
112
384
  //# sourceMappingURL=opportunity-fact-sheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity-fact-sheet.js","sourceRoot":"","sources":["../../src/opportunity-facts/opportunity-fact-sheet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunity-fact-sheet.js","sourceRoot":"","sources":["../../src/opportunity-facts/opportunity-fact-sheet.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cellarnode/ui",
3
- "version": "0.191.0",
3
+ "version": "0.192.0",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "packageManager": "pnpm@10.28.2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264",
@@ -345,6 +345,7 @@
345
345
  "class-variance-authority": "^0.7.1",
346
346
  "clsx": "^2.1.1",
347
347
  "cmdk": "^1.1.1",
348
+ "country-flag-icons": "^1.6.20",
348
349
  "country-state-city": "^3.2.1",
349
350
  "date-fns": "^4.1.0",
350
351
  "lucide-react": "^1.7.0",