@cellarnode/ui 0.191.0 → 0.192.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.
- package/dist/components/country-flag.d.ts +8 -0
- package/dist/components/country-flag.d.ts.map +1 -1
- package/dist/components/country-flag.js +63 -10
- package/dist/components/country-flag.js.map +1 -1
- package/dist/opportunities/opportunity-detail-panel.d.ts +7 -0
- package/dist/opportunities/opportunity-detail-panel.d.ts.map +1 -1
- package/dist/opportunities/opportunity-detail-panel.js +2 -2
- package/dist/opportunities/opportunity-detail-panel.js.map +1 -1
- package/dist/opportunity-facts/edit-labels.d.ts +56 -0
- package/dist/opportunity-facts/edit-labels.d.ts.map +1 -0
- package/dist/opportunity-facts/edit-labels.js +37 -0
- package/dist/opportunity-facts/edit-labels.js.map +1 -0
- package/dist/opportunity-facts/editable-section.d.ts +119 -0
- package/dist/opportunity-facts/editable-section.d.ts.map +1 -0
- package/dist/opportunity-facts/editable-section.js +267 -0
- package/dist/opportunity-facts/editable-section.js.map +1 -0
- package/dist/opportunity-facts/index.d.ts +2 -0
- package/dist/opportunity-facts/index.d.ts.map +1 -1
- package/dist/opportunity-facts/index.js +1 -0
- package/dist/opportunity-facts/index.js.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts +39 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.js +322 -13
- package/dist/opportunity-facts/opportunity-fact-sheet.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,12 +2,52 @@ 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 {
|
|
47
|
+
labelId: `${api.uid}-${key}-label`,
|
|
48
|
+
errorId: `${api.uid}-${key}-error`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
11
51
|
function missingStateCopy(fact, perspective, labels) {
|
|
12
52
|
// `deliveryTerms` is `not_specified` only when no term was chosen at all
|
|
13
53
|
// (spec §1's missing-state rule doesn't cover it directly — see
|
|
@@ -21,20 +61,65 @@ function missingStateCopy(fact, perspective, labels) {
|
|
|
21
61
|
return labels.state.ownerMissing;
|
|
22
62
|
return fact.state === "not_stated" ? labels.state.notStated : labels.state.notSpecified;
|
|
23
63
|
}
|
|
24
|
-
function FactRow({ fact, perspective, labels, action, }) {
|
|
64
|
+
function FactRow({ fact, perspective, labels, action, addAction, control, labelId, error, errorId, }) {
|
|
25
65
|
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] }) })] }));
|
|
66
|
+
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
67
|
}
|
|
28
|
-
function
|
|
68
|
+
function resolveField(node, api, key, error) {
|
|
69
|
+
if (typeof node !== "function")
|
|
70
|
+
return node;
|
|
71
|
+
const { labelId, errorId } = fieldIds(api, key);
|
|
72
|
+
return node({
|
|
73
|
+
labelId,
|
|
74
|
+
errorId: error ? errorId : undefined,
|
|
75
|
+
invalid: Boolean(error),
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
function FactGrid({ facts, perspective, labels, factActions, edit, }) {
|
|
29
79
|
if (facts.length === 0) {
|
|
30
80
|
return _jsx(EmptyState, { headline: labels.state.notStated, tone: "neutral", entranceMotion: false });
|
|
31
81
|
}
|
|
32
|
-
|
|
82
|
+
const sectionConfig = edit?.section ? edit.api.config[edit.section] : undefined;
|
|
83
|
+
const editingHere = Boolean(edit?.section && edit.api.editingSection === edit.section);
|
|
84
|
+
return (_jsx(DescriptionList, { children: facts.map((fact) => {
|
|
85
|
+
const node = editingHere ? sectionConfig?.fields?.[fact.key] : undefined;
|
|
86
|
+
const error = sectionConfig?.fieldErrors?.[fact.key];
|
|
87
|
+
const ids = edit ? fieldIds(edit.api, fact.key) : undefined;
|
|
88
|
+
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));
|
|
89
|
+
}) }));
|
|
33
90
|
}
|
|
34
|
-
function OverviewTabContent({ sections, perspective, labels, factActions, sectionHeading, sectionSlots, }) {
|
|
91
|
+
function OverviewTabContent({ sections, perspective, labels, factActions, sectionHeading, sectionSlots, edit, }) {
|
|
35
92
|
const identity = sections.find((s) => s.id === "identity");
|
|
36
93
|
const product = sections.find((s) => s.id === "product");
|
|
37
|
-
|
|
94
|
+
const productConfig = edit?.config["product-requirements"];
|
|
95
|
+
const editingProduct = edit?.editingSection === "product-requirements";
|
|
96
|
+
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] }));
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* One tab's facts for a section whose edit mode spans tabs (the requirements
|
|
100
|
+
* reach Compliance and Commercial). View mode: the plain grid. Edit mode, when
|
|
101
|
+
* a control of the requirements lives on this tab: the same grid with the
|
|
102
|
+
* controls in their own rows, wrapped in a continuation of the requirements
|
|
103
|
+
* section so Save and Cancel sit next to them.
|
|
104
|
+
*/
|
|
105
|
+
function RequirementsContinuation({ tabId, facts, heading, perspective, labels, factActions, sectionHeading, edit, }) {
|
|
106
|
+
const config = edit?.config["product-requirements"];
|
|
107
|
+
const editing = edit?.editingSection === "product-requirements";
|
|
108
|
+
const hosted = editing && facts.some((f) => config?.fields?.[f.key] != null);
|
|
109
|
+
const grid = (_jsx(FactGrid, { facts: facts, perspective: perspective, labels: labels, factActions: factActions, edit: edit ? { api: edit, section: "product-requirements" } : undefined }));
|
|
110
|
+
if (!edit || !hosted)
|
|
111
|
+
return grid;
|
|
112
|
+
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 }));
|
|
113
|
+
}
|
|
114
|
+
/** The delivery-terms card on the Commercial tab: read-only fact, Edit, or the CEL-2167 lock panel. */
|
|
115
|
+
function DeliveryTermsSection({ facts, perspective, labels, factActions, sectionHeading, edit, }) {
|
|
116
|
+
const config = edit.config["delivery-terms"];
|
|
117
|
+
const editing = edit.editingSection === "delivery-terms";
|
|
118
|
+
// The required term is already the first row of `CommercialTerms` above, the
|
|
119
|
+
// same read-only layout producers see. This card repeats it only where it adds
|
|
120
|
+
// something: while editing, or as the "Add delivery terms" prompt for a gap.
|
|
121
|
+
const shownFacts = facts.filter((f) => editing || edit.addAction(f) !== undefined);
|
|
122
|
+
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: [shownFacts.length > 0 ? (_jsx(FactGrid, { facts: shownFacts, perspective: perspective, labels: labels, factActions: factActions, edit: { api: edit, section: "delivery-terms" } })) : null, editing ? (config?.editor ?? null) : null] }));
|
|
38
123
|
}
|
|
39
124
|
/** Distinct fact keys across the strip and every section — several keys (e.g. `priceBands`) appear in both. */
|
|
40
125
|
function distinctFactKeys(facts) {
|
|
@@ -46,52 +131,271 @@ function distinctFactKeys(facts) {
|
|
|
46
131
|
keys.add(fact.key);
|
|
47
132
|
return keys;
|
|
48
133
|
}
|
|
134
|
+
/** "Vintage" becomes "vintage" for "Add vintage"; leaves acronyms ("EU product category") alone. */
|
|
135
|
+
function lowerFirstWord(label) {
|
|
136
|
+
const [first = "", second = ""] = label;
|
|
137
|
+
if (!first || (second && second === second.toUpperCase() && second !== second.toLowerCase())) {
|
|
138
|
+
return label;
|
|
139
|
+
}
|
|
140
|
+
return first.toLowerCase() + label.slice(1);
|
|
141
|
+
}
|
|
49
142
|
/**
|
|
50
143
|
* Renders a `FactSheet`'s five-slot fact strip above `OpportunityDetailPanel`
|
|
51
144
|
* tabs (Overview, Commercial, Timeline, Compliance, Buyer). Consumers slot
|
|
52
145
|
* extra tabs (Fit, Offers), header actions, and per-fact actions through
|
|
53
146
|
* props — they never re-render facts themselves (spec §1/§5).
|
|
147
|
+
*
|
|
148
|
+
* CEL-2129: for `perspective="importer-owner"` the product-requirements and
|
|
149
|
+
* delivery-terms sections can switch to an in-place edit mode (`editing`),
|
|
150
|
+
* driven by the sheet or, for deep links, by the consumer
|
|
151
|
+
* (`editingSection` / `onEditingSectionChange`).
|
|
54
152
|
*/
|
|
55
|
-
export function OpportunityFactSheet({ facts, perspective, locale, priceTypeLabel, deliveryTermLabel, tabs = [], actions, defaultTabId, labels: labelsProp, headingLevel: headingLevelProp, commercialTermsLabels: commercialTermsLabelsProp, factActions, sectionSlots, ownerMissingAction, className, }) {
|
|
153
|
+
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
154
|
const labels = React.useMemo(() => labelsProp ?? defaultOpportunityFactLabels(), [labelsProp]);
|
|
57
155
|
const providedHeadingLevel = useOpportunityHeadingLevel();
|
|
58
156
|
const sectionHeading = `h${headingLevelProp ?? providedHeadingLevel ?? 3}`;
|
|
59
157
|
const commercialTermsLabels = commercialTermsLabelsProp ?? labels.commercial;
|
|
158
|
+
// -- CEL-2129 edit mode -------------------------------------------------
|
|
159
|
+
const sheetId = React.useId();
|
|
160
|
+
const isOwner = perspective === "importer-owner";
|
|
161
|
+
const ownerEditing = isOwner ? editing : undefined;
|
|
162
|
+
const termsLocked = isOwner && termsLockedProp;
|
|
163
|
+
const editEnabled = ownerEditing !== undefined || termsLocked;
|
|
164
|
+
const editLabels = React.useMemo(() => ({ ...defaultOpportunityFactEditLabels(), ...editLabelsProp }), [editLabelsProp]);
|
|
60
165
|
const sectionById = React.useMemo(() => {
|
|
61
166
|
const map = new Map();
|
|
62
167
|
for (const section of facts.sections)
|
|
63
168
|
map.set(section.id, section);
|
|
64
169
|
return map;
|
|
65
170
|
}, [facts.sections]);
|
|
171
|
+
const isControlled = editingSectionProp !== undefined;
|
|
172
|
+
const [internalEditing, setInternalEditing] = React.useState(null);
|
|
173
|
+
const requested = isControlled ? editingSectionProp : internalEditing;
|
|
174
|
+
const editingSection = requested && ownerEditing?.[requested] && !(requested === "delivery-terms" && termsLocked)
|
|
175
|
+
? requested
|
|
176
|
+
: null;
|
|
177
|
+
const [focusKey, setFocusKey] = React.useState(initialFocusField);
|
|
178
|
+
const [seenInitialFocus, setSeenInitialFocus] = React.useState(initialFocusField);
|
|
179
|
+
if (seenInitialFocus !== initialFocusField) {
|
|
180
|
+
// Adjusting state during render on a prop change (React's documented
|
|
181
|
+
// pattern); the rule misreads it as a synchronous effect call.
|
|
182
|
+
/* eslint-disable @eslint-react/set-state-in-effect */
|
|
183
|
+
setSeenInitialFocus(initialFocusField);
|
|
184
|
+
setFocusKey(initialFocusField);
|
|
185
|
+
/* eslint-enable @eslint-react/set-state-in-effect */
|
|
186
|
+
}
|
|
187
|
+
/** The tab to show when `section` opens: the one hosting the requested field, else the section's own. */
|
|
188
|
+
const entryTab = (section, key) => (key ? tabForFact(facts.sections, key) : undefined) ?? SECTION_TAB[section];
|
|
189
|
+
// A deep link to delivery terms while they are locked cannot open an editor;
|
|
190
|
+
// it lands on the Commercial tab, where the lock panel explains why.
|
|
191
|
+
const lockedDeepLink = requested === "delivery-terms" && termsLocked;
|
|
192
|
+
const [tab, setTab] = React.useState(() => defaultTabId ??
|
|
193
|
+
(editingSection
|
|
194
|
+
? entryTab(editingSection, focusKey)
|
|
195
|
+
: lockedDeepLink
|
|
196
|
+
? SECTION_TAB["delivery-terms"]
|
|
197
|
+
: "overview"));
|
|
198
|
+
const [seenLockedDeepLink, setSeenLockedDeepLink] = React.useState(lockedDeepLink);
|
|
199
|
+
if (seenLockedDeepLink !== lockedDeepLink) {
|
|
200
|
+
// Same render-phase prop-change adjustment as below.
|
|
201
|
+
/* eslint-disable @eslint-react/set-state-in-effect */
|
|
202
|
+
setSeenLockedDeepLink(lockedDeepLink);
|
|
203
|
+
if (lockedDeepLink)
|
|
204
|
+
setTab(SECTION_TAB["delivery-terms"]);
|
|
205
|
+
/* eslint-enable @eslint-react/set-state-in-effect */
|
|
206
|
+
}
|
|
207
|
+
const [seenSection, setSeenSection] = React.useState(editingSection);
|
|
208
|
+
if (seenSection !== editingSection) {
|
|
209
|
+
// Same render-phase prop-change adjustment as above: the tab that hosts
|
|
210
|
+
// the field becomes active in the same commit that opens the section.
|
|
211
|
+
/* eslint-disable @eslint-react/set-state-in-effect */
|
|
212
|
+
setSeenSection(editingSection);
|
|
213
|
+
if (editingSection)
|
|
214
|
+
setTab(entryTab(editingSection, focusKey));
|
|
215
|
+
/* eslint-enable @eslint-react/set-state-in-effect */
|
|
216
|
+
}
|
|
217
|
+
const setEditingSection = React.useCallback((next) => {
|
|
218
|
+
if (!isControlled)
|
|
219
|
+
setInternalEditing(next);
|
|
220
|
+
onEditingSectionChange?.(next);
|
|
221
|
+
}, [isControlled, onEditingSectionChange]);
|
|
222
|
+
const closeEditing = React.useCallback(() => {
|
|
223
|
+
setFocusKey(initialFocusField);
|
|
224
|
+
setEditingSection(null);
|
|
225
|
+
}, [initialFocusField, setEditingSection]);
|
|
226
|
+
const productSession = useEditSession({
|
|
227
|
+
config: ownerEditing?.["product-requirements"],
|
|
228
|
+
labels: editLabels,
|
|
229
|
+
isEditing: editingSection === "product-requirements",
|
|
230
|
+
onClose: closeEditing,
|
|
231
|
+
});
|
|
232
|
+
const deliverySession = useEditSession({
|
|
233
|
+
config: ownerEditing?.["delivery-terms"],
|
|
234
|
+
labels: editLabels,
|
|
235
|
+
isEditing: editingSection === "delivery-terms",
|
|
236
|
+
onClose: closeEditing,
|
|
237
|
+
});
|
|
238
|
+
const sessions = React.useMemo(() => ({
|
|
239
|
+
"product-requirements": productSession,
|
|
240
|
+
"delivery-terms": deliverySession,
|
|
241
|
+
}), [productSession, deliverySession]);
|
|
242
|
+
const lockedPanelNodeRef = React.useRef(null);
|
|
243
|
+
const setLockedPanel = React.useCallback((node) => {
|
|
244
|
+
lockedPanelNodeRef.current = node;
|
|
245
|
+
}, []);
|
|
246
|
+
const focusLockedPanel = React.useCallback(() => {
|
|
247
|
+
lockedPanelNodeRef.current?.focus();
|
|
248
|
+
return lockedPanelNodeRef.current !== null;
|
|
249
|
+
}, []);
|
|
250
|
+
// The lock can arrive while a delivery-terms edit is open (a 409, a refetch):
|
|
251
|
+
// the section drops to read-only, the draft is discarded and the owner of the
|
|
252
|
+
// controlled state hears about it. Focus moves to the locked panel.
|
|
253
|
+
const lockedConfig = ownerEditing?.["delivery-terms"];
|
|
254
|
+
const lockedWhileOpen = requested === "delivery-terms" && termsLocked;
|
|
255
|
+
React.useEffect(() => {
|
|
256
|
+
if (!lockedWhileOpen)
|
|
257
|
+
return;
|
|
258
|
+
// A deep link lands here with no edit open: focus the (status) panel so
|
|
259
|
+
// the lock explanation is announced. Mid-edit arrivals focus it too.
|
|
260
|
+
focusLockedPanel();
|
|
261
|
+
lockedConfig?.onCancel?.();
|
|
262
|
+
// eslint-disable-next-line @eslint-react/set-state-in-effect -- the lock is an external change; the draft must be dropped when it lands
|
|
263
|
+
if (!isControlled)
|
|
264
|
+
setInternalEditing(null);
|
|
265
|
+
onEditingSectionChange?.(null);
|
|
266
|
+
// Fires once per lock transition; the handlers are intentionally not deps.
|
|
267
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps, @eslint-react/exhaustive-deps
|
|
268
|
+
}, [lockedWhileOpen]);
|
|
269
|
+
const editTabLabels = React.useMemo(() => ({ ...labels.tabs }), [labels.tabs]);
|
|
270
|
+
const editApi = React.useMemo(() => {
|
|
271
|
+
if (!editEnabled)
|
|
272
|
+
return null;
|
|
273
|
+
const config = ownerEditing ?? {};
|
|
274
|
+
const open = (section, key) => {
|
|
275
|
+
setFocusKey(key);
|
|
276
|
+
setEditingSection(section);
|
|
277
|
+
};
|
|
278
|
+
return {
|
|
279
|
+
config,
|
|
280
|
+
labels: editLabels,
|
|
281
|
+
uid: sheetId,
|
|
282
|
+
editingSection,
|
|
283
|
+
focusKey,
|
|
284
|
+
activeTab: tab,
|
|
285
|
+
tabLabels: editTabLabels,
|
|
286
|
+
sessions,
|
|
287
|
+
setLockedPanel,
|
|
288
|
+
focusLockedPanel,
|
|
289
|
+
sections: facts.sections,
|
|
290
|
+
termsLocked,
|
|
291
|
+
termsLockedReason,
|
|
292
|
+
onReviewOffers,
|
|
293
|
+
open,
|
|
294
|
+
close: closeEditing,
|
|
295
|
+
addAction: (fact) => {
|
|
296
|
+
if (editingSection !== null || fact.state === "known")
|
|
297
|
+
return undefined;
|
|
298
|
+
const label = editLabels.add(fact.key === "deliveryTerms"
|
|
299
|
+
? editLabels.section["delivery-terms"]
|
|
300
|
+
: lowerFirstWord(fact.label));
|
|
301
|
+
if (fact.key === "deliveryTerms" && config["delivery-terms"] && !termsLocked) {
|
|
302
|
+
return { label, onClick: () => open("delivery-terms", fact.key) };
|
|
303
|
+
}
|
|
304
|
+
if (config["product-requirements"]?.fields?.[fact.key] != null) {
|
|
305
|
+
return {
|
|
306
|
+
label,
|
|
307
|
+
onClick: () => open("product-requirements", fact.key),
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
return undefined;
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}, [
|
|
314
|
+
editEnabled,
|
|
315
|
+
ownerEditing,
|
|
316
|
+
editLabels,
|
|
317
|
+
sheetId,
|
|
318
|
+
editingSection,
|
|
319
|
+
focusKey,
|
|
320
|
+
tab,
|
|
321
|
+
editTabLabels,
|
|
322
|
+
sessions,
|
|
323
|
+
setLockedPanel,
|
|
324
|
+
focusLockedPanel,
|
|
325
|
+
facts.sections,
|
|
326
|
+
termsLocked,
|
|
327
|
+
termsLockedReason,
|
|
328
|
+
onReviewOffers,
|
|
329
|
+
setEditingSection,
|
|
330
|
+
closeEditing,
|
|
331
|
+
]);
|
|
332
|
+
/**
|
|
333
|
+
* Tab switches. Moving between the tabs that host the open section's
|
|
334
|
+
* controls is free (the draft is the consumer's and survives). Leaving them
|
|
335
|
+
* ends the edit: a dirty draft asks first, a clean one is dropped.
|
|
336
|
+
*/
|
|
337
|
+
const requestTab = (next) => {
|
|
338
|
+
if (next === tab)
|
|
339
|
+
return;
|
|
340
|
+
if (!editingSection || !ownerEditing) {
|
|
341
|
+
setTab(next);
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
const config = ownerEditing[editingSection];
|
|
345
|
+
if (hostTabs(editingSection, config, facts.sections).has(next)) {
|
|
346
|
+
setTab(next);
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
const session = sessions[editingSection];
|
|
350
|
+
if (session.dirty) {
|
|
351
|
+
session.requestLeave(() => setTab(next));
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
config?.onCancel?.();
|
|
355
|
+
closeEditing();
|
|
356
|
+
setTab(next);
|
|
357
|
+
};
|
|
358
|
+
const deliveryFacts = React.useMemo(() => sectionById.get("commercial")?.facts.filter((f) => f.key === "deliveryTerms") ?? [], [sectionById]);
|
|
359
|
+
// Requirements whose fact lives on the Commercial tab (the minimum volume)
|
|
360
|
+
// have no grid there in view mode; edit mode gives them their own row.
|
|
361
|
+
const commercialRequirementFacts = React.useMemo(() => sectionById
|
|
362
|
+
.get("commercial")
|
|
363
|
+
?.facts.filter((f) => f.key !== "deliveryTerms" &&
|
|
364
|
+
ownerEditing?.["product-requirements"]?.fields?.[f.key] != null) ?? [], [sectionById, ownerEditing]);
|
|
365
|
+
const showDeliverySection = Boolean(ownerEditing?.["delivery-terms"]) || termsLocked;
|
|
66
366
|
const builtInTabs = React.useMemo(() => [
|
|
67
367
|
{
|
|
68
368
|
id: "overview",
|
|
69
369
|
label: labels.tabs.overview,
|
|
70
|
-
content: (_jsx(OverviewTabContent, { sectionHeading: sectionHeading, sections: facts.sections, perspective: perspective, labels: labels, factActions: factActions, sectionSlots: sectionSlots })),
|
|
370
|
+
content: (_jsx(OverviewTabContent, { sectionHeading: sectionHeading, sections: facts.sections, perspective: perspective, labels: labels, factActions: factActions, sectionSlots: sectionSlots, edit: editApi })),
|
|
71
371
|
},
|
|
72
372
|
{
|
|
73
373
|
id: "commercial",
|
|
74
374
|
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 }),
|
|
375
|
+
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" &&
|
|
376
|
+
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
377
|
},
|
|
77
378
|
{
|
|
78
379
|
id: "timeline",
|
|
79
380
|
label: labels.tabs.timeline,
|
|
80
|
-
content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(
|
|
381
|
+
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
382
|
},
|
|
82
383
|
{
|
|
83
384
|
id: "compliance",
|
|
84
385
|
label: labels.tabs.compliance,
|
|
85
|
-
content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(
|
|
386
|
+
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
387
|
},
|
|
87
388
|
{
|
|
88
389
|
id: "buyer",
|
|
89
390
|
label: labels.tabs.buyer,
|
|
90
|
-
content: (_jsxs("div", { className: "flex flex-col gap-4", children: [_jsx(
|
|
391
|
+
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
392
|
},
|
|
92
393
|
], [
|
|
93
394
|
commercialTermsLabels,
|
|
395
|
+
commercialRequirementFacts,
|
|
396
|
+
deliveryFacts,
|
|
94
397
|
deliveryTermLabel,
|
|
398
|
+
editApi,
|
|
95
399
|
factActions,
|
|
96
400
|
facts.commercialTerms,
|
|
97
401
|
facts.sections,
|
|
@@ -102,11 +406,16 @@ export function OpportunityFactSheet({ facts, perspective, locale, priceTypeLabe
|
|
|
102
406
|
sectionById,
|
|
103
407
|
sectionHeading,
|
|
104
408
|
sectionSlots,
|
|
409
|
+
showDeliverySection,
|
|
105
410
|
]);
|
|
106
411
|
const allTabs = React.useMemo(() => [...builtInTabs, ...tabs], [builtInTabs, tabs]);
|
|
412
|
+
// Controlled tab only when edit mode is on, so a deep link can switch to the
|
|
413
|
+
// section's tab; otherwise the panel is uncontrolled exactly as before.
|
|
414
|
+
const visibleTabIds = allTabs.filter((t) => !t.hidden).map((t) => t.id);
|
|
415
|
+
const panelTab = editEnabled ? (visibleTabIds.includes(tab) ? tab : visibleTabIds[0]) : undefined;
|
|
107
416
|
const missingCount = facts.missing.length;
|
|
108
417
|
const totalCount = React.useMemo(() => distinctFactKeys(facts).size, [facts]);
|
|
109
418
|
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 })] }));
|
|
419
|
+
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
420
|
}
|
|
112
421
|
//# 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.
|
|
3
|
+
"version": "0.192.1",
|
|
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",
|