@cellarnode/ui 0.206.0 → 0.207.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.
- package/dist/commercial-price/commercial-price-format.d.ts +2 -0
- package/dist/commercial-price/commercial-price-format.d.ts.map +1 -1
- package/dist/commercial-price/commercial-price-format.js +4 -0
- package/dist/commercial-price/commercial-price-format.js.map +1 -1
- package/dist/commercial-price/commercial-terms.d.ts.map +1 -1
- package/dist/commercial-price/commercial-terms.js +9 -1
- package/dist/commercial-price/commercial-terms.js.map +1 -1
- package/dist/components/animated-shadcn-select.d.ts +2 -1
- package/dist/components/animated-shadcn-select.d.ts.map +1 -1
- package/dist/components/animated-shadcn-select.js +1 -1
- package/dist/components/animated-shadcn-select.js.map +1 -1
- package/dist/components/api-error-message.d.ts +17 -0
- package/dist/components/api-error-message.d.ts.map +1 -0
- package/dist/components/api-error-message.js +13 -0
- package/dist/components/api-error-message.js.map +1 -0
- package/dist/components/attachment-row.d.ts.map +1 -1
- package/dist/components/attachment-row.js +9 -1
- package/dist/components/attachment-row.js.map +1 -1
- package/dist/components/branch-resolution-modal.d.ts +9 -1
- package/dist/components/branch-resolution-modal.d.ts.map +1 -1
- package/dist/components/branch-resolution-modal.js +11 -5
- package/dist/components/branch-resolution-modal.js.map +1 -1
- package/dist/components/certification-upload-card.d.ts +19 -1
- package/dist/components/certification-upload-card.d.ts.map +1 -1
- package/dist/components/certification-upload-card.js +35 -7
- package/dist/components/certification-upload-card.js.map +1 -1
- package/dist/components/composition-editor.d.ts +24 -1
- package/dist/components/composition-editor.d.ts.map +1 -1
- package/dist/components/composition-editor.js +65 -13
- package/dist/components/composition-editor.js.map +1 -1
- package/dist/components/currency-select.d.ts +11 -1
- package/dist/components/currency-select.d.ts.map +1 -1
- package/dist/components/currency-select.js +2 -2
- package/dist/components/currency-select.js.map +1 -1
- package/dist/components/file-dropzone.d.ts.map +1 -1
- package/dist/components/file-dropzone.js +4 -1
- package/dist/components/file-dropzone.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/describe-api-error.d.ts +19 -0
- package/dist/lib/describe-api-error.d.ts.map +1 -0
- package/dist/lib/describe-api-error.js +228 -0
- package/dist/lib/describe-api-error.js.map +1 -0
- package/dist/offer/counter-slide-over.d.ts +38 -12
- package/dist/offer/counter-slide-over.d.ts.map +1 -1
- package/dist/offer/counter-slide-over.js +130 -36
- package/dist/offer/counter-slide-over.js.map +1 -1
- package/dist/offer/facts-card.d.ts +3 -1
- package/dist/offer/facts-card.d.ts.map +1 -1
- package/dist/offer/facts-card.js +19 -10
- package/dist/offer/facts-card.js.map +1 -1
- package/dist/offer/index.d.ts +1 -1
- package/dist/offer/index.d.ts.map +1 -1
- package/dist/offer/index.js.map +1 -1
- package/dist/offer/negotiation-flow-timeline.d.ts.map +1 -1
- package/dist/offer/negotiation-flow-timeline.js +7 -4
- package/dist/offer/negotiation-flow-timeline.js.map +1 -1
- package/dist/offer/offer-document.d.ts.map +1 -1
- package/dist/offer/offer-document.js +8 -30
- package/dist/offer/offer-document.js.map +1 -1
- package/dist/offer/offer-product-record.d.ts.map +1 -1
- package/dist/offer/offer-product-record.js +7 -2
- package/dist/offer/offer-product-record.js.map +1 -1
- package/dist/offer/offered-product-props.d.ts +20 -0
- package/dist/offer/offered-product-props.d.ts.map +1 -0
- package/dist/offer/offered-product-props.js +42 -0
- package/dist/offer/offered-product-props.js.map +1 -0
- package/dist/offer/round-diff-banner.d.ts.map +1 -1
- package/dist/offer/round-diff-banner.js +6 -1
- package/dist/offer/round-diff-banner.js.map +1 -1
- package/dist/offer/terms-card.d.ts.map +1 -1
- package/dist/offer/terms-card.js +2 -0
- package/dist/offer/terms-card.js.map +1 -1
- package/dist/offer/timeline-event.d.ts.map +1 -1
- package/dist/offer/timeline-event.js +7 -4
- package/dist/offer/timeline-event.js.map +1 -1
- package/dist/offer/types.d.ts +4 -0
- package/dist/offer/types.d.ts.map +1 -1
- package/dist/opportunities/index.d.ts +5 -1
- package/dist/opportunities/index.d.ts.map +1 -1
- package/dist/opportunities/index.js +2 -0
- package/dist/opportunities/index.js.map +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts +14 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts.map +1 -1
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js +84 -4
- package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
- package/dist/opportunities/wizard/mixed-delivery-terms.d.ts +25 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.d.ts.map +1 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.js +33 -0
- package/dist/opportunities/wizard/mixed-delivery-terms.js.map +1 -0
- package/dist/opportunities/wizard/opportunity-wizard.d.ts +18 -0
- package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -1
- package/dist/opportunities/wizard/opportunity-wizard.js +30 -63
- package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
- package/dist/opportunities/wizard/package-sizes-field.d.ts +13 -0
- package/dist/opportunities/wizard/package-sizes-field.d.ts.map +1 -0
- package/dist/opportunities/wizard/package-sizes-field.js +66 -0
- package/dist/opportunities/wizard/package-sizes-field.js.map +1 -0
- package/dist/opportunities/wizard/price-ranges-editor.d.ts +17 -0
- package/dist/opportunities/wizard/price-ranges-editor.d.ts.map +1 -0
- package/dist/opportunities/wizard/price-ranges-editor.js +84 -0
- package/dist/opportunities/wizard/price-ranges-editor.js.map +1 -0
- package/dist/opportunities/wizard/price-ranges.d.ts +54 -0
- package/dist/opportunities/wizard/price-ranges.d.ts.map +1 -0
- package/dist/opportunities/wizard/price-ranges.js +104 -0
- package/dist/opportunities/wizard/price-ranges.js.map +1 -0
- package/dist/opportunities/wizard/publish-issues.d.ts +32 -0
- package/dist/opportunities/wizard/publish-issues.d.ts.map +1 -0
- package/dist/opportunities/wizard/publish-issues.js +124 -0
- package/dist/opportunities/wizard/publish-issues.js.map +1 -0
- package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-opportunities.js +12 -7
- package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.d.ts +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-pricing-timeline.js +7 -9
- package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -1
- package/dist/opportunities/wizard/step-review.d.ts +19 -3
- package/dist/opportunities/wizard/step-review.d.ts.map +1 -1
- package/dist/opportunities/wizard/step-review.js +58 -13
- package/dist/opportunities/wizard/step-review.js.map +1 -1
- package/dist/opportunities/wizard/wizard.types.d.ts +4 -4
- package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -1
- package/dist/opportunities/wizard/wizard.types.js +13 -6
- package/dist/opportunities/wizard/wizard.types.js.map +1 -1
- package/dist/opportunity-facts/build-opportunity-facts.d.ts.map +1 -1
- package/dist/opportunity-facts/build-opportunity-facts.js +11 -1
- package/dist/opportunity-facts/build-opportunity-facts.js.map +1 -1
- package/dist/opportunity-facts/glossary.en.d.ts +34 -0
- package/dist/opportunity-facts/glossary.en.d.ts.map +1 -1
- package/dist/opportunity-facts/glossary.en.js +34 -0
- package/dist/opportunity-facts/glossary.en.js.map +1 -1
- package/dist/opportunity-facts/index.d.ts +3 -1
- package/dist/opportunity-facts/index.d.ts.map +1 -1
- package/dist/opportunity-facts/index.js +2 -0
- package/dist/opportunity-facts/index.js.map +1 -1
- package/dist/opportunity-facts/labels.d.ts +38 -0
- package/dist/opportunity-facts/labels.d.ts.map +1 -1
- package/dist/opportunity-facts/labels.js +34 -0
- package/dist/opportunity-facts/labels.js.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts +9 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.d.ts.map +1 -1
- package/dist/opportunity-facts/opportunity-fact-sheet.js +21 -2
- package/dist/opportunity-facts/opportunity-fact-sheet.js.map +1 -1
- package/dist/opportunity-facts/price-cases-section.d.ts +18 -0
- package/dist/opportunity-facts/price-cases-section.d.ts.map +1 -0
- package/dist/opportunity-facts/price-cases-section.js +36 -0
- package/dist/opportunity-facts/price-cases-section.js.map +1 -0
- package/dist/opportunity-facts/price-cases.d.ts +5 -0
- package/dist/opportunity-facts/price-cases.d.ts.map +1 -0
- package/dist/opportunity-facts/price-cases.js +127 -0
- package/dist/opportunity-facts/price-cases.js.map +1 -0
- package/dist/opportunity-facts/source-document-download.d.ts +34 -0
- package/dist/opportunity-facts/source-document-download.d.ts.map +1 -0
- package/dist/opportunity-facts/source-document-download.js +91 -0
- package/dist/opportunity-facts/source-document-download.js.map +1 -0
- package/dist/opportunity-facts/types.d.ts +69 -0
- package/dist/opportunity-facts/types.d.ts.map +1 -1
- package/dist/portfolio-import/review-queue-panel.d.ts.map +1 -1
- package/dist/portfolio-import/review-queue-panel.js +36 -4
- package/dist/portfolio-import/review-queue-panel.js.map +1 -1
- package/dist/portfolio-import/session/index.d.ts +1 -1
- package/dist/portfolio-import/session/index.d.ts.map +1 -1
- package/dist/portfolio-import/session/index.js +1 -1
- package/dist/portfolio-import/session/index.js.map +1 -1
- package/dist/portfolio-import/session/save-review-field.d.ts +29 -4
- package/dist/portfolio-import/session/save-review-field.d.ts.map +1 -1
- package/dist/portfolio-import/session/save-review-field.js +115 -30
- package/dist/portfolio-import/session/save-review-field.js.map +1 -1
- package/dist/portfolio-import/session/types.d.ts +6 -0
- package/dist/portfolio-import/session/types.d.ts.map +1 -1
- package/dist/portfolio-import/types.d.ts +6 -0
- package/dist/portfolio-import/types.d.ts.map +1 -1
- package/dist/portfolio-import/types.js.map +1 -1
- package/dist/product-editor/field-routing.d.ts +2 -1
- package/dist/product-editor/field-routing.d.ts.map +1 -1
- package/dist/product-editor/field-routing.js +9 -1
- package/dist/product-editor/field-routing.js.map +1 -1
- package/dist/product-editor/index.d.ts +1 -1
- package/dist/product-editor/index.d.ts.map +1 -1
- package/dist/product-editor/index.js.map +1 -1
- package/dist/product-editor/product-editor-form.d.ts +37 -2
- package/dist/product-editor/product-editor-form.d.ts.map +1 -1
- package/dist/product-editor/product-editor-form.js +96 -3
- package/dist/product-editor/product-editor-form.js.map +1 -1
- package/dist/product-editor/product-editor-surface.d.ts.map +1 -1
- package/dist/product-editor/product-editor-surface.js +2 -4
- package/dist/product-editor/product-editor-surface.js.map +1 -1
- package/dist/product-editor/product-editor.d.ts.map +1 -1
- package/dist/product-editor/product-editor.js +17 -6
- package/dist/product-editor/product-editor.js.map +1 -1
- package/dist/product-editor/schema.d.ts +20 -0
- package/dist/product-editor/schema.d.ts.map +1 -1
- package/dist/product-editor/schema.js +70 -0
- package/dist/product-editor/schema.js.map +1 -1
- package/dist/product-editor/tabs/product-composition-section.d.ts +26 -0
- package/dist/product-editor/tabs/product-composition-section.d.ts.map +1 -0
- package/dist/product-editor/tabs/product-composition-section.js +47 -0
- package/dist/product-editor/tabs/product-composition-section.js.map +1 -0
- package/dist/product-editor/tabs/product-essentials-details-sections.d.ts +4 -2
- package/dist/product-editor/tabs/product-essentials-details-sections.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-essentials-details-sections.js +4 -2
- package/dist/product-editor/tabs/product-essentials-details-sections.js.map +1 -1
- package/dist/product-editor/tabs/product-essentials-tab.d.ts +4 -2
- package/dist/product-editor/tabs/product-essentials-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-essentials-tab.js +2 -2
- package/dist/product-editor/tabs/product-essentials-tab.js.map +1 -1
- package/dist/product-editor/tabs/product-production-capacity-field.d.ts +23 -0
- package/dist/product-editor/tabs/product-production-capacity-field.d.ts.map +1 -0
- package/dist/product-editor/tabs/product-production-capacity-field.js +57 -0
- package/dist/product-editor/tabs/product-production-capacity-field.js.map +1 -0
- package/dist/product-editor/tabs/product-resources-tab.d.ts.map +1 -1
- package/dist/product-editor/tabs/product-resources-tab.js +1 -1
- package/dist/product-editor/tabs/product-resources-tab.js.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
- package/dist/product-editor/tabs/resources/certifications-panel.js +47 -47
- package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
- package/dist/product-editor/types.d.ts +61 -4
- package/dist/product-editor/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export const MAX_PRICE_ROWS = 10;
|
|
2
|
+
export const MAX_PACKAGE_SIZES = 12;
|
|
3
|
+
function finiteOrUndefined(value) {
|
|
4
|
+
return typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
5
|
+
}
|
|
6
|
+
/** At least one row, always: a legacy draft shows its scalar price as row 0. */
|
|
7
|
+
export function getPriceRows(opp) {
|
|
8
|
+
const raw = opp.priceRanges;
|
|
9
|
+
if (Array.isArray(raw) && raw.length > 0) {
|
|
10
|
+
// Old-wizard rows carry no currency of their own; the opportunity's scalar is theirs.
|
|
11
|
+
return raw.map((row) => {
|
|
12
|
+
const r = { ...row };
|
|
13
|
+
r.currency = r.currency ?? opp.currency ?? null;
|
|
14
|
+
return r;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
min: opp.priceMin ?? null,
|
|
20
|
+
max: opp.priceMax ?? null,
|
|
21
|
+
currency: opp.currency ?? null,
|
|
22
|
+
basis: null,
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
/** The patch that stores `rows` and keeps the legacy scalars in step with row 0. */
|
|
27
|
+
export function priceRowsPatch(rows) {
|
|
28
|
+
const first = rows[0];
|
|
29
|
+
return {
|
|
30
|
+
priceRanges: rows,
|
|
31
|
+
priceMin: finiteOrUndefined(first?.min),
|
|
32
|
+
priceMax: finiteOrUndefined(first?.max),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export function getPackageSizes(opp) {
|
|
36
|
+
const raw = opp.volumeOptions;
|
|
37
|
+
if (Array.isArray(raw)) {
|
|
38
|
+
return raw.filter((v) => typeof v === "number" && Number.isFinite(v) && v > 0);
|
|
39
|
+
}
|
|
40
|
+
return opp.volume != null && opp.volume > 0 ? [opp.volume] : [];
|
|
41
|
+
}
|
|
42
|
+
/** The patch that stores `sizes` and keeps `volume` equal to the first one. */
|
|
43
|
+
export function packageSizesPatch(sizes) {
|
|
44
|
+
return { volumeOptions: sizes, volume: sizes[0] };
|
|
45
|
+
}
|
|
46
|
+
export function priceRowProblems(row) {
|
|
47
|
+
const problems = [];
|
|
48
|
+
const min = finiteOrUndefined(row.min);
|
|
49
|
+
const max = finiteOrUndefined(row.max);
|
|
50
|
+
if (min === undefined)
|
|
51
|
+
problems.push("min");
|
|
52
|
+
if (max === undefined)
|
|
53
|
+
problems.push("max");
|
|
54
|
+
if ((min !== undefined && min < 0) || (max !== undefined && max < 0))
|
|
55
|
+
problems.push("negative");
|
|
56
|
+
// A reversed pair is reported once, as the order problem.
|
|
57
|
+
if (min !== undefined && max !== undefined && min >= 0 && max >= 0 && min > max) {
|
|
58
|
+
problems.push("order");
|
|
59
|
+
}
|
|
60
|
+
if (!row.currency)
|
|
61
|
+
problems.push("currency");
|
|
62
|
+
if (row.basis !== "per_unit" && row.basis !== "per_litre" && row.basis !== "other") {
|
|
63
|
+
problems.push("basis");
|
|
64
|
+
}
|
|
65
|
+
return problems;
|
|
66
|
+
}
|
|
67
|
+
const PROBLEM_COPY = {
|
|
68
|
+
min: "enter a minimum price",
|
|
69
|
+
max: "enter a maximum price",
|
|
70
|
+
negative: "use a price of zero or more",
|
|
71
|
+
order: "make the maximum at least the minimum",
|
|
72
|
+
currency: "choose a currency",
|
|
73
|
+
basis: "choose per unit or per litre",
|
|
74
|
+
};
|
|
75
|
+
function joinList(parts) {
|
|
76
|
+
if (parts.length <= 1)
|
|
77
|
+
return parts.join("");
|
|
78
|
+
return `${parts.slice(0, -1).join(", ")} and ${parts[parts.length - 1]}`;
|
|
79
|
+
}
|
|
80
|
+
/** One issue per incomplete row; empty when every row is publishable. */
|
|
81
|
+
export function priceIssues(opp) {
|
|
82
|
+
const rows = getPriceRows(opp);
|
|
83
|
+
const issues = [];
|
|
84
|
+
rows.forEach((row, index) => {
|
|
85
|
+
const problems = priceRowProblems(row);
|
|
86
|
+
if (problems.length === 0)
|
|
87
|
+
return;
|
|
88
|
+
const label = rows.length > 1 ? `Price range ${index + 1}` : "Price range";
|
|
89
|
+
const fix = joinList(problems.map((p) => PROBLEM_COPY[p]));
|
|
90
|
+
issues.push({ row: index, problems, rowLabel: label, fix, message: `${label}: ${fix}.` });
|
|
91
|
+
});
|
|
92
|
+
return issues;
|
|
93
|
+
}
|
|
94
|
+
export function basisLabel(basis, _packageSizes = []) {
|
|
95
|
+
if (basis === "per_litre")
|
|
96
|
+
return "Per litre";
|
|
97
|
+
// `per_unit` is one pack of whatever the package is: a bottle, a can or a keg.
|
|
98
|
+
if (basis === "per_unit")
|
|
99
|
+
return "Per unit (bottle, can, keg)";
|
|
100
|
+
if (basis === "other")
|
|
101
|
+
return "Other basis";
|
|
102
|
+
return "Basis not set";
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=price-ranges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price-ranges.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAcpC,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,YAAY,CAAC,GAAqB;IAChD,MAAM,GAAG,GAAI,GAAiC,CAAC,WAAW,CAAC;IAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,sFAAsF;QACtF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,GAAI,GAAsB,EAAE,CAAC;YACzC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;YAChD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL;YACE,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;YACzB,GAAG,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;YACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;YAC9B,KAAK,EAAE,IAAI;SACZ;KACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,cAAc,CAAC,IAAsB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;QACvC,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC;KACX,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAqB;IACnD,MAAM,GAAG,GAAI,GAAmC,CAAC,aAAa,CAAC;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAA+B,CAAC;AACjF,CAAC;AAID,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,GAAG,CAAC,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChG,0DAA0D;IAC1D,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,KAAK,KAAK,UAAU,IAAI,GAAG,CAAC,KAAK,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACnF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,YAAY,GAAoC;IACpD,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,uBAAuB;IAC5B,QAAQ,EAAE,6BAA6B;IACvC,KAAK,EAAE,uCAAuC;IAC9C,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,8BAA8B;CACtC,CAAC;AAcF,SAAS,QAAQ,CAAC,KAAe;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,WAAW,CAAC,GAAqB;IAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC3E,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,gBAA0B,EAAE;IACrE,IAAI,KAAK,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC9C,+EAA+E;IAC/E,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,6BAA6B,CAAC;IAC/D,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,aAAa,CAAC;IAC5C,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CEL-2624: the publish rules, surfaced as a list the importer can act on.
|
|
3
|
+
*
|
|
4
|
+
* The fix list on the Review step and the publish error banner are BUILT FROM the publish
|
|
5
|
+
* schema's own issues (`tenderPublishSchema`), never a hand-copied subset, so a rule added
|
|
6
|
+
* to the schema shows up in both automatically. Each item names its opportunity and knows
|
|
7
|
+
* which step and control to focus.
|
|
8
|
+
*/
|
|
9
|
+
import type { ZodIssue } from "zod";
|
|
10
|
+
import type { TenderDraft, WizardStepId } from "./wizard.types.js";
|
|
11
|
+
export declare function issueFocusTarget(issue: ZodIssue, tender?: Partial<TenderDraft>): {
|
|
12
|
+
step: WizardStepId;
|
|
13
|
+
selector: string;
|
|
14
|
+
opportunityIndex?: number;
|
|
15
|
+
};
|
|
16
|
+
export interface PublishIssueTarget {
|
|
17
|
+
step: Exclude<WizardStepId, "review">;
|
|
18
|
+
selector: string;
|
|
19
|
+
opportunityIndex?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface PublishIssueItem {
|
|
22
|
+
key: string;
|
|
23
|
+
/** One plain sentence ending in a full stop, naming the opportunity when there is one. */
|
|
24
|
+
text: string;
|
|
25
|
+
step: Exclude<WizardStepId, "review">;
|
|
26
|
+
target: PublishIssueTarget;
|
|
27
|
+
}
|
|
28
|
+
/** Empty when the draft would publish. Identical sentences appear once. */
|
|
29
|
+
export declare function collectPublishIssues(tender: Partial<TenderDraft>): PublishIssueItem[];
|
|
30
|
+
/** The publish error banner text: the same sentences, once each. */
|
|
31
|
+
export declare function publishIssuesMessage(tender: Partial<TenderDraft>): string;
|
|
32
|
+
//# sourceMappingURL=publish-issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-issues.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/publish-issues.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGpC,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAchE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B;IACD,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAgEA;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAOD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,gBAAgB,EAAE,CAoCrF;AAED,oEAAoE;AACpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAIzE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { getPriceRows, priceRowProblems } from "./price-ranges.js";
|
|
2
|
+
import { tenderPublishSchema } from "./wizard.types.js";
|
|
3
|
+
const pricingFieldNames = new Set([
|
|
4
|
+
"priceMin",
|
|
5
|
+
"priceMax",
|
|
6
|
+
"currency",
|
|
7
|
+
"priceRanges",
|
|
8
|
+
"targetMargin",
|
|
9
|
+
"distributionRequirements",
|
|
10
|
+
"submissionDeadline",
|
|
11
|
+
"sampleDeadline",
|
|
12
|
+
"launchDate",
|
|
13
|
+
]);
|
|
14
|
+
export function issueFocusTarget(issue, tender) {
|
|
15
|
+
const [root, index, field, rowIndex] = issue.path;
|
|
16
|
+
if (root !== "opportunities") {
|
|
17
|
+
const selector = root === "targetCountry"
|
|
18
|
+
? "#tender-country"
|
|
19
|
+
: root === "instructions"
|
|
20
|
+
? "#tender-instructions"
|
|
21
|
+
: "#tender-name";
|
|
22
|
+
return { step: "tender", selector };
|
|
23
|
+
}
|
|
24
|
+
if (typeof index !== "number") {
|
|
25
|
+
return { step: "opportunities", selector: '[data-wizard-step="opportunities"] button' };
|
|
26
|
+
}
|
|
27
|
+
// CEL-2624 — a price-row issue (`opportunities.N.priceRanges.R`) focuses the control of that
|
|
28
|
+
// row's FIRST problem: a missing basis focuses the first basis radio, a currency the combobox,
|
|
29
|
+
// a reversed or missing max the maximum input.
|
|
30
|
+
if (field === "priceRanges") {
|
|
31
|
+
const row = typeof rowIndex === "number" ? rowIndex : 0;
|
|
32
|
+
const rowRoot = `[data-pricing-index="${index}"] [data-price-row="${row}"]`;
|
|
33
|
+
const opp = tender?.opportunities?.[index];
|
|
34
|
+
const first = opp ? priceRowProblems(getPriceRows(opp)[row] ?? {})[0] : undefined;
|
|
35
|
+
const selector = first === "basis"
|
|
36
|
+
? `${rowRoot} input[type="radio"]`
|
|
37
|
+
: first === "currency"
|
|
38
|
+
? `${rowRoot} [role="combobox"]`
|
|
39
|
+
: first === "max" || first === "order"
|
|
40
|
+
? `${rowRoot} [aria-label^="Maximum price"]`
|
|
41
|
+
: `${rowRoot} [aria-label^="Minimum price"]`;
|
|
42
|
+
return { step: "pricing", selector, opportunityIndex: index };
|
|
43
|
+
}
|
|
44
|
+
if (typeof field === "string" && pricingFieldNames.has(field)) {
|
|
45
|
+
const accessibleName = {
|
|
46
|
+
priceMin: "Minimum price",
|
|
47
|
+
priceMax: "Maximum price",
|
|
48
|
+
targetMargin: "Target margin",
|
|
49
|
+
distributionRequirements: "Distribution requirements",
|
|
50
|
+
submissionDeadline: "Submission deadline",
|
|
51
|
+
sampleDeadline: "Sample deadline",
|
|
52
|
+
launchDate: "Launch date",
|
|
53
|
+
};
|
|
54
|
+
const name = accessibleName[field];
|
|
55
|
+
return {
|
|
56
|
+
step: "pricing",
|
|
57
|
+
selector: name
|
|
58
|
+
? `[data-pricing-index="${index}"] [aria-label^="${name}"]`
|
|
59
|
+
: `[data-pricing-index="${index}"] [role="combobox"]`,
|
|
60
|
+
opportunityIndex: index,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (typeof field === "string") {
|
|
64
|
+
const fieldRoot = `[data-opportunity-index="${index}"] [data-wizard-field="${field}"]`;
|
|
65
|
+
return {
|
|
66
|
+
step: "opportunities",
|
|
67
|
+
selector: `${fieldRoot} input, ${fieldRoot} textarea, ${fieldRoot} button, ${fieldRoot} [role="combobox"]`,
|
|
68
|
+
opportunityIndex: index,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
step: "opportunities",
|
|
73
|
+
selector: `[data-opportunity-index="${index}"] button`,
|
|
74
|
+
opportunityIndex: index,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function sentence(text) {
|
|
78
|
+
const t = text.trim();
|
|
79
|
+
return /[.!?]$/.test(t) ? t : `${t}.`;
|
|
80
|
+
}
|
|
81
|
+
/** Empty when the draft would publish. Identical sentences appear once. */
|
|
82
|
+
export function collectPublishIssues(tender) {
|
|
83
|
+
const parsed = tenderPublishSchema.safeParse(tender);
|
|
84
|
+
if (parsed.success)
|
|
85
|
+
return [];
|
|
86
|
+
const seen = new Set();
|
|
87
|
+
const items = [];
|
|
88
|
+
for (const issue of parsed.error.issues) {
|
|
89
|
+
const target = issueFocusTarget(issue, tender);
|
|
90
|
+
const [root, index] = issue.path;
|
|
91
|
+
const opp = root === "opportunities" && typeof index === "number"
|
|
92
|
+
? tender.opportunities?.[index]
|
|
93
|
+
: undefined;
|
|
94
|
+
const label = opp ? opp.name?.trim() || `Opportunity ${index + 1}` : null;
|
|
95
|
+
// "Price range 2: choose ..." reads as "Rosé, price range 2: choose ...".
|
|
96
|
+
const priceRow = /^(Price range(?: \d+)?): (.*)$/.exec(issue.message);
|
|
97
|
+
const text = sentence(label
|
|
98
|
+
? priceRow
|
|
99
|
+
? `${label}, ${priceRow[1].toLowerCase()}: ${priceRow[2]}`
|
|
100
|
+
: `${label}: ${issue.message}`
|
|
101
|
+
: issue.message);
|
|
102
|
+
if (seen.has(text))
|
|
103
|
+
continue;
|
|
104
|
+
seen.add(text);
|
|
105
|
+
items.push({
|
|
106
|
+
key: `${issue.path.join(".")}:${items.length}`,
|
|
107
|
+
text,
|
|
108
|
+
step: target.step === "review" ? "pricing" : target.step,
|
|
109
|
+
target: {
|
|
110
|
+
step: target.step,
|
|
111
|
+
selector: target.selector,
|
|
112
|
+
opportunityIndex: target.opportunityIndex,
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return items;
|
|
117
|
+
}
|
|
118
|
+
/** The publish error banner text: the same sentences, once each. */
|
|
119
|
+
export function publishIssuesMessage(tender) {
|
|
120
|
+
return collectPublishIssues(tender)
|
|
121
|
+
.map((i) => i.text)
|
|
122
|
+
.join(" ");
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=publish-issues.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-issues.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/publish-issues.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-opportunities.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-opportunities.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-opportunities.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-opportunities.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC7C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,SAAS,GACV,EAAE,sBAAsB,2CA0GxB"}
|
|
@@ -14,6 +14,8 @@ import { COUNTRY_ORPHAN_OPTIONS } from "../../lib/country-registry.js";
|
|
|
14
14
|
import { cn } from "../../lib/utils.js";
|
|
15
15
|
import { CATEGORY_OPTIONS, getSubtypeOptions, isSubtypeOfCategory, } from "./classification-options.js";
|
|
16
16
|
import { WIZARD_ORIGIN_COUNTRY_OPTIONS } from "./country-options.js";
|
|
17
|
+
import { PackageSizesField } from "./package-sizes-field.js";
|
|
18
|
+
import { getPackageSizes, packageSizesPatch } from "./price-ranges.js";
|
|
17
19
|
import { WizardDomainSection, WizardStepIntro } from "./wizard-domain-section.js";
|
|
18
20
|
const VIRTUALIZE_THRESHOLD = 20;
|
|
19
21
|
const SELECT_EMPTY = "";
|
|
@@ -118,7 +120,10 @@ function OpportunityCard({ itemIndex, opp, expanded, onToggle, onUpdate, onRemov
|
|
|
118
120
|
// CEL-2090 — `volume` is a container/package capacity in MILLILITRES
|
|
119
121
|
// (backend `volumeOptions[0]`), never a bottle count and never the
|
|
120
122
|
// separate `productionVolumeMin` (available volume in litres) requirement.
|
|
121
|
-
const
|
|
123
|
+
const packageSizes = getPackageSizes(opp);
|
|
124
|
+
const quantityLabel = packageSizes.length === 0
|
|
125
|
+
? "Package size not set"
|
|
126
|
+
: `${packageSizes.map((ml) => ml.toLocaleString()).join(", ")} ml ${packageSizes.length === 1 ? "package" : "packages"}`;
|
|
122
127
|
// Changing the country of origin invalidates the cascaded region — reset
|
|
123
128
|
// it per `<RegionSelect>`'s documented consumer-clear contract (the picker
|
|
124
129
|
// does NOT self-clear so an async-loaded region survives draft resume).
|
|
@@ -149,7 +154,7 @@ function OpportunityCard({ itemIndex, opp, expanded, onToggle, onUpdate, onRemov
|
|
|
149
154
|
// instead of the Select silently going blank, and
|
|
150
155
|
// auto-infers `preserveOrphanValue: true` so autosave can no
|
|
151
156
|
// longer clobber it with null (CEL-419).
|
|
152
|
-
renderOrphanBanner: (orphan) => (_jsx(OrphanValueBanner, { value: orphan, kind: "country", options: COUNTRY_ORPHAN_OPTIONS })) }) }), _jsx("div", { "data-wizard-field": "region", children: _jsx(RegionSelect, { id: `${fieldId}-region`, label: "Region (optional)", countryCode: opp.countryOfOrigin ?? null, value: opp.region ?? null, onChange: (v) => onUpdate({ region: v ?? undefined }) }) })] }) }), _jsx(FieldGroup, { label: "Format", children: _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx("div", { "data-wizard-field": "packaging", children: _jsx(PackagingSelect, { id: `${fieldId}-packaging`, label: "Packaging", value: opp.packaging ?? null, onChange: (v) => onUpdate({ packaging: v ?? undefined }) }) }), _jsx("div", { "data-wizard-field": "closure", children: _jsx(ClosureSelect, { id: `${fieldId}-closure`, label: "Closure", value: opp.closure ?? null, onChange: (v) => onUpdate({ closure: v ?? undefined }) }) }), _jsx(
|
|
157
|
+
renderOrphanBanner: (orphan) => (_jsx(OrphanValueBanner, { value: orphan, kind: "country", options: COUNTRY_ORPHAN_OPTIONS })) }) }), _jsx("div", { "data-wizard-field": "region", children: _jsx(RegionSelect, { id: `${fieldId}-region`, label: "Region (optional)", countryCode: opp.countryOfOrigin ?? null, value: opp.region ?? null, onChange: (v) => onUpdate({ region: v ?? undefined }) }) })] }) }), _jsx(FieldGroup, { label: "Format", children: _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx("div", { "data-wizard-field": "packaging", children: _jsx(PackagingSelect, { id: `${fieldId}-packaging`, label: "Packaging", value: opp.packaging ?? null, onChange: (v) => onUpdate({ packaging: v ?? undefined }) }) }), _jsx("div", { "data-wizard-field": "closure", children: _jsx(ClosureSelect, { id: `${fieldId}-closure`, label: "Closure", value: opp.closure ?? null, onChange: (v) => onUpdate({ closure: v ?? undefined }) }) }), _jsx(PackageSizesField, { id: `${fieldId}-volume`, value: getPackageSizes(opp), onChange: (sizes) => onUpdate(packageSizesPatch(sizes)) }), _jsx(LabeledInput, { id: `${fieldId}-production-volume-min`, fieldName: "productionVolumeMin", label: "Minimum available volume (litres)", help: "Litres the producer must be able to supply for this opportunity.", suffix: "L", type: "number", step: 0.01, value: opp.productionVolumeMin ?? "", onChange: (v) => onUpdate({ productionVolumeMin: v ? Number(v) : undefined }) })] }) }), _jsxs(FieldGroup, { label: "Composition", children: [_jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx(LabeledInput, { id: `${fieldId}-eu-product-category`, fieldName: "euProductCategory", label: "EU product category", value: opp.euProductCategory ?? "", onChange: (v) => onUpdate({ euProductCategory: v || undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-designation-of-origin`, fieldName: "designationOfOrigin", label: "Designation of origin", value: opp.designationOfOrigin ?? "", onChange: (v) => onUpdate({ designationOfOrigin: v || undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-style`, fieldName: "styleTasteProfile", label: "Style / taste profile", value: opp.styleTasteProfile ?? "", onChange: (v) => onUpdate({ styleTasteProfile: v || undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-color`, fieldName: "color", label: "Color", value: opp.color ?? "", onChange: (v) => onUpdate({ color: v || undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-aging-process`, fieldName: "agingProcess", label: "Aging process", value: opp.agingProcess ?? "", onChange: (v) => onUpdate({ agingProcess: v || undefined }) }), _jsx(VintagesInput, { id: `${fieldId}-vintages`, value: opp.vintages, onChange: (v) => onUpdate({ vintages: v }) }), _jsx(LabeledTextarea, { id: `${fieldId}-storage-method`, fieldName: "storageMethod", label: "Storage method", value: opp.storageMethod ?? "", onChange: (v) => onUpdate({ storageMethod: v || undefined }), className: "md:col-span-2" }), _jsx(LabeledInput, { id: `${fieldId}-alcohol-min`, fieldName: "alcoholContentMin", label: "Alcohol % (min)", type: "number", min: 0, max: 100, step: 0.01, value: opp.alcoholContentMin ?? "", onChange: (v) => onUpdate({ alcoholContentMin: v ? Number(v) : undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-alcohol-max`, fieldName: "alcoholContentMax", label: "Alcohol % (max)", type: "number", min: 0, max: 100, step: 0.01, value: opp.alcoholContentMax ?? "", onChange: (v) => onUpdate({ alcoholContentMax: v ? Number(v) : undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-sugar-min`, fieldName: "residualSugarMin", label: "Residual sugar g/L (min)", type: "number", min: 0, step: 0.01, value: opp.residualSugarMin ?? "", onChange: (v) => onUpdate({ residualSugarMin: v ? Number(v) : undefined }) }), _jsx(LabeledInput, { id: `${fieldId}-sugar-max`, fieldName: "residualSugarMax", label: "Residual sugar g/L (max)", type: "number", min: 0, step: 0.01, value: opp.residualSugarMax ?? "", onChange: (v) => onUpdate({ residualSugarMax: v ? Number(v) : undefined }) })] }), _jsx(GrapeBlendEditor, { id: `${fieldId}-grape-blend`, value: opp.grapeBlend, onChange: (v) => onUpdate({ grapeBlend: v }) })] }), _jsxs(FieldGroup, { label: "Certification and requirements", children: [_jsx(CertificationsField, { id: `${fieldId}-certifications`, value: opp.certifications, onChange: (v) => onUpdate({ certifications: v }) }), _jsx(LabeledTextarea, { id: `${fieldId}-other-requirements`, fieldName: "otherRequirements", label: "Other source-backed requirements", value: opp.otherRequirements ?? "", onChange: (v) => onUpdate({ otherRequirements: v || undefined }) })] })] })) : null] }));
|
|
153
158
|
}
|
|
154
159
|
/**
|
|
155
160
|
* Light section grouping inside an opportunity card. Gives the long field
|
|
@@ -178,7 +183,7 @@ function ClassificationSelect({ id, fieldName, label, placeholder, options, valu
|
|
|
178
183
|
const radixValue = selected ? selected.value : SELECT_EMPTY;
|
|
179
184
|
return (_jsxs("div", { "data-wizard-field": fieldName, className: "flex flex-col gap-1.5", children: [_jsx("label", { htmlFor: id, className: "text-xs font-semibold text-foreground", children: label }), _jsxs(AnimatedShadcnSelect, { value: radixValue, onValueChange: (next) => onChange(next === SELECT_EMPTY ? null : next), disabled: disabled, children: [_jsx(AnimatedShadcnSelectTrigger, { id: id, role: "combobox", "aria-describedby": hint ? hintId : undefined, className: "w-full", children: _jsx(AnimatedShadcnSelectValue, { placeholder: placeholder, children: selected?.label }) }), _jsx(AnimatedShadcnSelectContent, { "aria-multiselectable": "false", children: options.length > 0 ? (_jsx(AnimatedShadcnSelectGroup, { children: options.map((opt) => (_jsx(AnimatedShadcnSelectItem, { value: opt.value, children: opt.label }, opt.value))) })) : (_jsx("div", { className: "px-2 py-3 text-sm text-muted-foreground", children: "No options available" })) })] }), hint ? (_jsx("p", { id: hintId, className: "text-xs/5 text-muted-foreground", children: hint })) : null] }));
|
|
180
185
|
}
|
|
181
|
-
function LabeledInput({ id, fieldName, label, value, onChange, type = "text", required, className, min, max, step, }) {
|
|
186
|
+
function LabeledInput({ id, fieldName, label, value, onChange, type = "text", required, className, min, max, step, help, suffix, }) {
|
|
182
187
|
const [internal, setInternal] = React.useState(String(value ?? ""));
|
|
183
188
|
// Sync from parent when value changes externally (e.g. item replaced)
|
|
184
189
|
const prevValueRef = React.useRef(String(value ?? ""));
|
|
@@ -190,10 +195,10 @@ function LabeledInput({ id, fieldName, label, value, onChange, type = "text", re
|
|
|
190
195
|
prevValueRef.current = next;
|
|
191
196
|
}
|
|
192
197
|
}, [value]);
|
|
193
|
-
return (_jsxs("div", { "data-wizard-field": fieldName, className: cn("flex flex-col gap-1.5", className), children: [_jsxs("label", { htmlFor: id, className: "text-xs font-semibold text-foreground", children: [label, required ? _jsx("span", { className: "ml-0.5 text-destructive", children: "*" }) : null] }), _jsx("input", { id: id, type: type, value: internal, onChange: (e) => {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
return (_jsxs("div", { "data-wizard-field": fieldName, className: cn("flex flex-col gap-1.5", className), children: [_jsxs("label", { htmlFor: id, className: "text-xs font-semibold text-foreground", children: [label, required ? _jsx("span", { className: "ml-0.5 text-destructive", children: "*" }) : null] }), _jsxs("div", { className: "relative", children: [_jsx("input", { id: id, type: type, value: internal, onChange: (e) => {
|
|
199
|
+
setInternal(e.target.value);
|
|
200
|
+
onChange(e.target.value);
|
|
201
|
+
}, required: required, min: min, max: max, step: step, "aria-describedby": help && id ? `${id}-help` : undefined, className: cn("h-11 w-full rounded-md border border-input bg-transparent py-2 pl-3 text-sm shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5", suffix ? "pr-12" : "pr-3") }), suffix ? (_jsx("span", { "aria-hidden": true, className: "pointer-events-none absolute inset-y-0 right-3 flex items-center text-sm/5 text-muted-foreground", children: suffix })) : null] }), help ? (_jsx("p", { id: id ? `${id}-help` : undefined, className: "text-xs/4 text-muted-foreground", children: help })) : null] }));
|
|
197
202
|
}
|
|
198
203
|
/** Multi-line sibling of `<LabeledInput>` for longer free text (CEL-2090 `otherRequirements`, CEL-2102 `storageMethod`). */
|
|
199
204
|
function LabeledTextarea({ id, fieldName, label, value, onChange, className, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-opportunities.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-opportunities.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-opportunities.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-opportunities.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { type AllowedDeliveryTermsSectionProps } from "./allowed-delivery-terms-
|
|
|
8
8
|
* `usePriceTypes()` query (importer dashboard, future producer wizard)
|
|
9
9
|
* surface the constraint editor inline at create-time.
|
|
10
10
|
*/
|
|
11
|
-
export type StepPricingAllowedDeliveryTermsControl = Pick<AllowedDeliveryTermsSectionProps, "value" | "onChange" | "priceTypes" | "isLoading" | "isError" | "onRetry">;
|
|
11
|
+
export type StepPricingAllowedDeliveryTermsControl = Pick<AllowedDeliveryTermsSectionProps, "value" | "onChange" | "priceTypes" | "isLoading" | "isError" | "onRetry" | "perOpportunityTerms" | "onReplaceAllConfirmed">;
|
|
12
12
|
export interface StepPricingTimelineProps {
|
|
13
13
|
items: OpportunityDraft[];
|
|
14
14
|
onChange: (next: OpportunityDraft[]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-pricing-timeline.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-pricing-timeline.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,kCAAkC,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG,IAAI,CACvD,gCAAgC,
|
|
1
|
+
{"version":3,"file":"step-pricing-timeline.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/step-pricing-timeline.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,kCAAkC,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG,IAAI,CACvD,gCAAgC,EAC9B,OAAO,GACP,UAAU,GACV,YAAY,GACZ,WAAW,GACX,SAAS,GACT,SAAS,GACT,qBAAqB,GACrB,uBAAuB,CAC1B,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC7C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,sCAAsC,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,SAAS,GACV,EAAE,wBAAwB,2CAqK1B"}
|
|
@@ -2,13 +2,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import * as Tabs from "@radix-ui/react-tabs";
|
|
4
4
|
import { cn } from "../../lib/utils.js";
|
|
5
|
-
import {
|
|
5
|
+
import { PriceRangesEditor } from "./price-ranges-editor.js";
|
|
6
|
+
import { priceIssues } from "./price-ranges.js";
|
|
6
7
|
import { AllowedDeliveryTermsSection, } from "./allowed-delivery-terms-section.js";
|
|
7
8
|
import { WizardDomainSection, WizardStepIntro } from "./wizard-domain-section.js";
|
|
8
9
|
const pricingKeys = [
|
|
9
10
|
"priceMin",
|
|
10
11
|
"priceMax",
|
|
11
12
|
"currency",
|
|
13
|
+
"priceRanges",
|
|
12
14
|
"targetMargin",
|
|
13
15
|
"distributionRequirements",
|
|
14
16
|
"submissionDeadline",
|
|
@@ -16,9 +18,7 @@ const pricingKeys = [
|
|
|
16
18
|
"launchDate",
|
|
17
19
|
];
|
|
18
20
|
function isComplete(it) {
|
|
19
|
-
return (it.
|
|
20
|
-
it.priceMax != null &&
|
|
21
|
-
it.priceMin <= it.priceMax &&
|
|
21
|
+
return (priceIssues(it).length === 0 &&
|
|
22
22
|
!!it.submissionDeadline &&
|
|
23
23
|
(!it.sampleDeadline || it.sampleDeadline <= it.submissionDeadline) &&
|
|
24
24
|
(!it.launchDate || it.launchDate >= it.submissionDeadline));
|
|
@@ -53,9 +53,9 @@ export function StepPricingTimeline({ items, onChange, onValidityChange, initial
|
|
|
53
53
|
onValidityChange?.(allValid);
|
|
54
54
|
}, [items, onValidityChange]);
|
|
55
55
|
if (items.length === 0) {
|
|
56
|
-
return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Pricing", description: "Set accepted delivery terms,
|
|
56
|
+
return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Pricing", description: "Set accepted delivery terms, price ranges, and dates for each opportunity." }), allowedDeliveryTerms ? (_jsx(WizardDomainSection, { title: "Delivery terms", children: _jsx(AllowedDeliveryTermsSection, { ...allowedDeliveryTerms, className: "border-0 p-0" }) })) : null, _jsx(WizardDomainSection, { title: "Opportunity pricing and dates", children: _jsx("div", { className: "rounded-lg bg-muted/50 px-4 py-5 text-sm/6 text-muted-foreground", children: "Add an opportunity in Step 2 before setting pricing." }) })] }));
|
|
57
57
|
}
|
|
58
|
-
return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Pricing", description: "Set accepted delivery terms,
|
|
58
|
+
return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Pricing", description: "Set accepted delivery terms, price ranges, and dates for each opportunity.", aside: _jsxs("span", { className: "inline-flex min-h-8 items-center rounded-full bg-muted px-3 text-sm/5 font-medium tabular-nums text-muted-foreground", children: [items.length, " ", items.length === 1 ? "opportunity" : "opportunities"] }) }), allowedDeliveryTerms ? (_jsx(WizardDomainSection, { title: "Delivery terms", children: _jsx(AllowedDeliveryTermsSection, { ...allowedDeliveryTerms, className: "border-0 p-0" }) })) : null, _jsxs(WizardDomainSection, { title: "Opportunity pricing and dates", description: "Required price ranges and submission dates are validated before publish.", action: items.length > 1 && !confirmFill ? (_jsx("button", { type: "button", onClick: () => setConfirmFill(true), className: "min-h-11 rounded-md border border-border bg-background px-3 text-sm/5 font-medium transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: "Copy first opportunity" })) : undefined, children: [confirmFill ? (_jsxs("div", { role: "group", "aria-label": "Confirm copy pricing", className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg bg-[var(--tone-warning-soft)] px-4 py-3 text-sm/5 text-[var(--tone-warning-fg)]", children: [_jsxs("p", { children: ["Replace pricing and dates for ", items.length - 1, " other", " ", items.length - 1 === 1 ? "opportunity" : "opportunities", "?"] }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", onClick: () => setConfirmFill(false), className: "min-h-11 rounded-md px-3 font-medium hover:bg-background/60 focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: "Cancel" }), _jsx("button", { type: "button", onClick: fillFromFirst, className: "min-h-11 rounded-md bg-[var(--tone-warning-solid)] px-3 font-medium text-[var(--tone-warning-solid-fg)] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: "Apply values" })] })] })) : null, items.length === 1 ? (_jsx(PricingFields, { itemIndex: 0, opp: items[0], onUpdate: (p) => updateItem(items[0].clientId, p) }, items[0].clientId)) : (_jsxs(Tabs.Root, { value: activeId, onValueChange: setActiveId, activationMode: "manual", children: [_jsx(Tabs.List, { className: "flex gap-1 overflow-x-auto border-b border-border", "aria-label": "Opportunities pricing tabs", children: items.map((it, idx) => {
|
|
59
59
|
const complete = isComplete(it);
|
|
60
60
|
const title = it.name?.trim() || `Opportunity ${idx + 1}`;
|
|
61
61
|
return (_jsxs(Tabs.Trigger, { value: it.clientId, className: "inline-flex min-h-11 shrink-0 items-center gap-2 rounded-t-md px-3 text-sm/5 font-medium text-muted-foreground transition-colors duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:text-foreground data-[state=active]:bg-muted data-[state=active]:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx("span", { "aria-hidden": true, className: cn("size-2 rounded-full", complete
|
|
@@ -74,9 +74,7 @@ function PricingFields({ itemIndex, opp, onUpdate, }) {
|
|
|
74
74
|
onUpdate(patch);
|
|
75
75
|
};
|
|
76
76
|
const inputClass = "h-11 w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5";
|
|
77
|
-
return (_jsxs("div", { "data-pricing-index": itemIndex, className: "flex flex-col gap-6", children: [_jsxs("fieldset", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "
|
|
78
|
-
merged.priceMax != null &&
|
|
79
|
-
merged.priceMin > merged.priceMax ? (_jsx("p", { className: "text-sm/5 text-[var(--tone-danger-fg)]", children: "Maximum price must be at least the minimum." })) : null] }), _jsx(CurrencySelect, { id: `pricing-${itemIndex}-currency`, label: "Currency", value: merged.currency ?? null, onChange: (next) => update({ currency: next ?? undefined }) }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Target margin" }), _jsx("input", { "aria-label": "Target margin", type: "number", min: "0", max: "1", step: "0.01", value: merged.targetMargin ?? "", onChange: (e) => update({ targetMargin: e.target.value === "" ? undefined : Number(e.target.value) }), className: inputClass }), _jsx("span", { className: "text-xs/4 text-muted-foreground", children: "Enter a decimal from 0 to 1." })] })] }), _jsxs("fieldset", { className: "grid grid-cols-1 gap-4 border-t border-border/70 pt-6 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "Distribution requirements" }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm md:col-span-2", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Distribution requirements (optional)" }), _jsx("textarea", { "aria-label": "Distribution requirements", rows: 3, value: merged.distributionRequirements ?? "", onChange: (e) => update({ distributionRequirements: e.target.value }), className: "w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm/6 shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5" })] })] }), _jsxs("fieldset", { className: "grid grid-cols-1 gap-4 border-t border-border/70 pt-6 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "Timeline" }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsxs("span", { className: "text-sm/5 font-medium text-foreground", children: ["Submission deadline ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { "aria-label": "Submission deadline", type: "date", value: merged.submissionDeadline ? merged.submissionDeadline.toISOString().slice(0, 10) : "", onChange: (e) => update({ submissionDeadline: e.target.value ? new Date(e.target.value) : undefined }), className: inputClass })] }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Sample deadline (optional)" }), _jsx("input", { "aria-label": "Sample deadline", type: "date", value: merged.sampleDeadline ? merged.sampleDeadline.toISOString().slice(0, 10) : "", onChange: (e) => update({ sampleDeadline: e.target.value ? new Date(e.target.value) : undefined }), className: inputClass }), merged.sampleDeadline &&
|
|
77
|
+
return (_jsxs("div", { "data-pricing-index": itemIndex, className: "flex flex-col gap-6", children: [_jsxs("fieldset", { className: "flex flex-col gap-4", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground", children: "Price ranges" }), _jsx(PriceRangesEditor, { itemIndex: itemIndex, opp: merged, onUpdate: update })] }), _jsxs("fieldset", { className: "grid grid-cols-1 gap-4 border-t border-border/70 pt-6 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "Margin" }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Target margin" }), _jsx("input", { "aria-label": "Target margin", type: "number", min: "0", max: "1", step: "0.01", value: merged.targetMargin ?? "", onChange: (e) => update({ targetMargin: e.target.value === "" ? undefined : Number(e.target.value) }), className: inputClass }), _jsx("span", { className: "text-xs/4 text-muted-foreground", children: "Enter a decimal from 0 to 1." })] })] }), _jsxs("fieldset", { className: "grid grid-cols-1 gap-4 border-t border-border/70 pt-6 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "Distribution requirements" }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm md:col-span-2", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Distribution requirements (optional)" }), _jsx("textarea", { "aria-label": "Distribution requirements", rows: 3, value: merged.distributionRequirements ?? "", onChange: (e) => update({ distributionRequirements: e.target.value }), className: "w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm/6 shadow-xs outline-hidden transition-[color,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-white/5" })] })] }), _jsxs("fieldset", { className: "grid grid-cols-1 gap-4 border-t border-border/70 pt-6 md:grid-cols-2", children: [_jsx("legend", { className: "mb-4 text-sm/5 font-semibold text-foreground md:col-span-2", children: "Timeline" }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsxs("span", { className: "text-sm/5 font-medium text-foreground", children: ["Submission deadline ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { "aria-label": "Submission deadline", type: "date", value: merged.submissionDeadline ? merged.submissionDeadline.toISOString().slice(0, 10) : "", onChange: (e) => update({ submissionDeadline: e.target.value ? new Date(e.target.value) : undefined }), className: inputClass })] }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Sample deadline (optional)" }), _jsx("input", { "aria-label": "Sample deadline", type: "date", value: merged.sampleDeadline ? merged.sampleDeadline.toISOString().slice(0, 10) : "", onChange: (e) => update({ sampleDeadline: e.target.value ? new Date(e.target.value) : undefined }), className: inputClass }), merged.sampleDeadline &&
|
|
80
78
|
merged.submissionDeadline &&
|
|
81
79
|
merged.sampleDeadline > merged.submissionDeadline ? (_jsx("p", { className: "text-sm/5 text-[var(--tone-danger-fg)]", children: "Sample deadline must be on or before the submission deadline." })) : null] }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Launch date (optional)" }), _jsx("input", { "aria-label": "Launch date", type: "date", value: merged.launchDate ? merged.launchDate.toISOString().slice(0, 10) : "", onChange: (e) => update({ launchDate: e.target.value ? new Date(e.target.value) : undefined }), className: inputClass }), merged.launchDate &&
|
|
82
80
|
merged.submissionDeadline &&
|