@cellarnode/ui 0.206.0 → 0.208.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/dist/agent/composer.d.ts.map +1 -1
  2. package/dist/agent/composer.js +63 -52
  3. package/dist/agent/composer.js.map +1 -1
  4. package/dist/agent/context.d.ts.map +1 -1
  5. package/dist/agent/context.js +4 -3
  6. package/dist/agent/context.js.map +1 -1
  7. package/dist/agent/conversation.d.ts.map +1 -1
  8. package/dist/agent/conversation.js +12 -12
  9. package/dist/agent/conversation.js.map +1 -1
  10. package/dist/agent/dropzone.d.ts.map +1 -1
  11. package/dist/agent/dropzone.js +31 -32
  12. package/dist/agent/dropzone.js.map +1 -1
  13. package/dist/agent/markdown.js +4 -4
  14. package/dist/agent/markdown.js.map +1 -1
  15. package/dist/agent/mentions.d.ts.map +1 -1
  16. package/dist/agent/mentions.js +4 -2
  17. package/dist/agent/mentions.js.map +1 -1
  18. package/dist/agent/message.d.ts.map +1 -1
  19. package/dist/agent/message.js +2 -1
  20. package/dist/agent/message.js.map +1 -1
  21. package/dist/agent/quote-reply.d.ts.map +1 -1
  22. package/dist/agent/quote-reply.js +13 -7
  23. package/dist/agent/quote-reply.js.map +1 -1
  24. package/dist/agent/suggestions.d.ts.map +1 -1
  25. package/dist/agent/suggestions.js +12 -10
  26. package/dist/agent/suggestions.js.map +1 -1
  27. package/dist/brand/brand-assets-section.js +3 -3
  28. package/dist/brand/brand-assets-section.js.map +1 -1
  29. package/dist/brand/public-brand-profile.d.ts.map +1 -1
  30. package/dist/brand/public-brand-profile.js +3 -2
  31. package/dist/brand/public-brand-profile.js.map +1 -1
  32. package/dist/brand/use-brand-generation.d.ts.map +1 -1
  33. package/dist/brand/use-brand-generation.js +12 -7
  34. package/dist/brand/use-brand-generation.js.map +1 -1
  35. package/dist/brand/use-brand-image-operation-result.d.ts.map +1 -1
  36. package/dist/brand/use-brand-image-operation-result.js +26 -13
  37. package/dist/brand/use-brand-image-operation-result.js.map +1 -1
  38. package/dist/brand/use-brand-profile-acceptance.d.ts.map +1 -1
  39. package/dist/brand/use-brand-profile-acceptance.js +4 -2
  40. package/dist/brand/use-brand-profile-acceptance.js.map +1 -1
  41. package/dist/brand/use-brand-public-visibility.d.ts.map +1 -1
  42. package/dist/brand/use-brand-public-visibility.js +4 -2
  43. package/dist/brand/use-brand-public-visibility.js.map +1 -1
  44. package/dist/brand/use-org-scoped-state.d.ts.map +1 -1
  45. package/dist/brand/use-org-scoped-state.js +3 -6
  46. package/dist/brand/use-org-scoped-state.js.map +1 -1
  47. package/dist/chat/chat-composer.d.ts.map +1 -1
  48. package/dist/chat/chat-composer.js +92 -57
  49. package/dist/chat/chat-composer.js.map +1 -1
  50. package/dist/chat/chat-surface.d.ts.map +1 -1
  51. package/dist/chat/chat-surface.js +3 -3
  52. package/dist/chat/chat-surface.js.map +1 -1
  53. package/dist/chat/messenger-screen/messenger-screen.d.ts.map +1 -1
  54. package/dist/chat/messenger-screen/messenger-screen.js +12 -9
  55. package/dist/chat/messenger-screen/messenger-screen.js.map +1 -1
  56. package/dist/chat/messenger-screen/room-panel.js +3 -1
  57. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  58. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -1
  59. package/dist/chat/use-stick-to-bottom.js +42 -19
  60. package/dist/chat/use-stick-to-bottom.js.map +1 -1
  61. package/dist/commercial-price/commercial-price-format.d.ts +2 -0
  62. package/dist/commercial-price/commercial-price-format.d.ts.map +1 -1
  63. package/dist/commercial-price/commercial-price-format.js +4 -0
  64. package/dist/commercial-price/commercial-price-format.js.map +1 -1
  65. package/dist/commercial-price/commercial-terms.d.ts.map +1 -1
  66. package/dist/commercial-price/commercial-terms.js +9 -1
  67. package/dist/commercial-price/commercial-terms.js.map +1 -1
  68. package/dist/components/animated-shadcn-select.d.ts +2 -1
  69. package/dist/components/animated-shadcn-select.d.ts.map +1 -1
  70. package/dist/components/animated-shadcn-select.js +1 -1
  71. package/dist/components/animated-shadcn-select.js.map +1 -1
  72. package/dist/components/api-error-message.d.ts +17 -0
  73. package/dist/components/api-error-message.d.ts.map +1 -0
  74. package/dist/components/api-error-message.js +13 -0
  75. package/dist/components/api-error-message.js.map +1 -0
  76. package/dist/components/attachment-row.d.ts.map +1 -1
  77. package/dist/components/attachment-row.js +9 -1
  78. package/dist/components/attachment-row.js.map +1 -1
  79. package/dist/components/branch-resolution-modal.d.ts +9 -1
  80. package/dist/components/branch-resolution-modal.d.ts.map +1 -1
  81. package/dist/components/branch-resolution-modal.js +11 -5
  82. package/dist/components/branch-resolution-modal.js.map +1 -1
  83. package/dist/components/certification-upload-card.d.ts +19 -1
  84. package/dist/components/certification-upload-card.d.ts.map +1 -1
  85. package/dist/components/certification-upload-card.js +35 -7
  86. package/dist/components/certification-upload-card.js.map +1 -1
  87. package/dist/components/composition-editor.d.ts +24 -1
  88. package/dist/components/composition-editor.d.ts.map +1 -1
  89. package/dist/components/composition-editor.js +65 -13
  90. package/dist/components/composition-editor.js.map +1 -1
  91. package/dist/components/copy-button.js +4 -4
  92. package/dist/components/copy-button.js.map +1 -1
  93. package/dist/components/currency-select.d.ts +11 -1
  94. package/dist/components/currency-select.d.ts.map +1 -1
  95. package/dist/components/currency-select.js +2 -2
  96. package/dist/components/currency-select.js.map +1 -1
  97. package/dist/components/file-dropzone.d.ts.map +1 -1
  98. package/dist/components/file-dropzone.js +4 -1
  99. package/dist/components/file-dropzone.js.map +1 -1
  100. package/dist/components/sortable-card-shell.js +3 -3
  101. package/dist/components/sortable-card-shell.js.map +1 -1
  102. package/dist/components/supporting-pane-layout.d.ts.map +1 -1
  103. package/dist/components/supporting-pane-layout.js +18 -14
  104. package/dist/components/supporting-pane-layout.js.map +1 -1
  105. package/dist/index.d.ts +4 -0
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +2 -0
  108. package/dist/index.js.map +1 -1
  109. package/dist/invite-confirm/invite-confirm-page.js +3 -3
  110. package/dist/invite-confirm/invite-confirm-page.js.map +1 -1
  111. package/dist/invite-confirm/use-invite-confirm.d.ts.map +1 -1
  112. package/dist/invite-confirm/use-invite-confirm.js +5 -5
  113. package/dist/invite-confirm/use-invite-confirm.js.map +1 -1
  114. package/dist/lib/describe-api-error.d.ts +19 -0
  115. package/dist/lib/describe-api-error.d.ts.map +1 -0
  116. package/dist/lib/describe-api-error.js +228 -0
  117. package/dist/lib/describe-api-error.js.map +1 -0
  118. package/dist/lib/occurrence-keys.d.ts +5 -0
  119. package/dist/lib/occurrence-keys.d.ts.map +1 -0
  120. package/dist/lib/occurrence-keys.js +10 -0
  121. package/dist/lib/occurrence-keys.js.map +1 -0
  122. package/dist/markets/market-opportunities-table.d.ts.map +1 -1
  123. package/dist/markets/market-opportunities-table.js +14 -12
  124. package/dist/markets/market-opportunities-table.js.map +1 -1
  125. package/dist/mcp-connect/mcp-connect-panel.d.ts.map +1 -1
  126. package/dist/mcp-connect/mcp-connect-panel.js +9 -8
  127. package/dist/mcp-connect/mcp-connect-panel.js.map +1 -1
  128. package/dist/moderation/moderation-scope.js +4 -4
  129. package/dist/moderation/moderation-scope.js.map +1 -1
  130. package/dist/offer/counter-slide-over.d.ts +38 -12
  131. package/dist/offer/counter-slide-over.d.ts.map +1 -1
  132. package/dist/offer/counter-slide-over.js +130 -36
  133. package/dist/offer/counter-slide-over.js.map +1 -1
  134. package/dist/offer/facts-card.d.ts +3 -1
  135. package/dist/offer/facts-card.d.ts.map +1 -1
  136. package/dist/offer/facts-card.js +19 -10
  137. package/dist/offer/facts-card.js.map +1 -1
  138. package/dist/offer/index.d.ts +1 -1
  139. package/dist/offer/index.d.ts.map +1 -1
  140. package/dist/offer/index.js.map +1 -1
  141. package/dist/offer/negotiation-flow-timeline.d.ts.map +1 -1
  142. package/dist/offer/negotiation-flow-timeline.js +7 -4
  143. package/dist/offer/negotiation-flow-timeline.js.map +1 -1
  144. package/dist/offer/offer-document.d.ts.map +1 -1
  145. package/dist/offer/offer-document.js +8 -30
  146. package/dist/offer/offer-document.js.map +1 -1
  147. package/dist/offer/offer-product-record.d.ts.map +1 -1
  148. package/dist/offer/offer-product-record.js +7 -2
  149. package/dist/offer/offer-product-record.js.map +1 -1
  150. package/dist/offer/offered-product-props.d.ts +20 -0
  151. package/dist/offer/offered-product-props.d.ts.map +1 -0
  152. package/dist/offer/offered-product-props.js +42 -0
  153. package/dist/offer/offered-product-props.js.map +1 -0
  154. package/dist/offer/round-diff-banner.d.ts.map +1 -1
  155. package/dist/offer/round-diff-banner.js +6 -1
  156. package/dist/offer/round-diff-banner.js.map +1 -1
  157. package/dist/offer/terms-card.d.ts.map +1 -1
  158. package/dist/offer/terms-card.js +2 -0
  159. package/dist/offer/terms-card.js.map +1 -1
  160. package/dist/offer/timeline-event.d.ts.map +1 -1
  161. package/dist/offer/timeline-event.js +7 -4
  162. package/dist/offer/timeline-event.js.map +1 -1
  163. package/dist/offer/types.d.ts +4 -0
  164. package/dist/offer/types.d.ts.map +1 -1
  165. package/dist/opportunities/heading-level-context.d.ts.map +1 -1
  166. package/dist/opportunities/heading-level-context.js +1 -1
  167. package/dist/opportunities/heading-level-context.js.map +1 -1
  168. package/dist/opportunities/index.d.ts +5 -1
  169. package/dist/opportunities/index.d.ts.map +1 -1
  170. package/dist/opportunities/index.js +2 -0
  171. package/dist/opportunities/index.js.map +1 -1
  172. package/dist/opportunities/opportunity-add-to-journey-button.js +6 -6
  173. package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -1
  174. package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts +14 -1
  175. package/dist/opportunities/wizard/allowed-delivery-terms-section.d.ts.map +1 -1
  176. package/dist/opportunities/wizard/allowed-delivery-terms-section.js +84 -4
  177. package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
  178. package/dist/opportunities/wizard/mixed-delivery-terms.d.ts +25 -0
  179. package/dist/opportunities/wizard/mixed-delivery-terms.d.ts.map +1 -0
  180. package/dist/opportunities/wizard/mixed-delivery-terms.js +33 -0
  181. package/dist/opportunities/wizard/mixed-delivery-terms.js.map +1 -0
  182. package/dist/opportunities/wizard/opportunity-wizard.d.ts +18 -0
  183. package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -1
  184. package/dist/opportunities/wizard/opportunity-wizard.js +30 -63
  185. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
  186. package/dist/opportunities/wizard/package-sizes-field.d.ts +13 -0
  187. package/dist/opportunities/wizard/package-sizes-field.d.ts.map +1 -0
  188. package/dist/opportunities/wizard/package-sizes-field.js +66 -0
  189. package/dist/opportunities/wizard/package-sizes-field.js.map +1 -0
  190. package/dist/opportunities/wizard/price-ranges-editor.d.ts +17 -0
  191. package/dist/opportunities/wizard/price-ranges-editor.d.ts.map +1 -0
  192. package/dist/opportunities/wizard/price-ranges-editor.js +84 -0
  193. package/dist/opportunities/wizard/price-ranges-editor.js.map +1 -0
  194. package/dist/opportunities/wizard/price-ranges.d.ts +54 -0
  195. package/dist/opportunities/wizard/price-ranges.d.ts.map +1 -0
  196. package/dist/opportunities/wizard/price-ranges.js +104 -0
  197. package/dist/opportunities/wizard/price-ranges.js.map +1 -0
  198. package/dist/opportunities/wizard/publish-issues.d.ts +32 -0
  199. package/dist/opportunities/wizard/publish-issues.d.ts.map +1 -0
  200. package/dist/opportunities/wizard/publish-issues.js +124 -0
  201. package/dist/opportunities/wizard/publish-issues.js.map +1 -0
  202. package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -1
  203. package/dist/opportunities/wizard/step-opportunities.js +12 -7
  204. package/dist/opportunities/wizard/step-opportunities.js.map +1 -1
  205. package/dist/opportunities/wizard/step-pricing-timeline.d.ts +1 -1
  206. package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -1
  207. package/dist/opportunities/wizard/step-pricing-timeline.js +7 -9
  208. package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -1
  209. package/dist/opportunities/wizard/step-review.d.ts +19 -3
  210. package/dist/opportunities/wizard/step-review.d.ts.map +1 -1
  211. package/dist/opportunities/wizard/step-review.js +58 -13
  212. package/dist/opportunities/wizard/step-review.js.map +1 -1
  213. package/dist/opportunities/wizard/wizard.types.d.ts +4 -4
  214. package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -1
  215. package/dist/opportunities/wizard/wizard.types.js +13 -6
  216. package/dist/opportunities/wizard/wizard.types.js.map +1 -1
  217. package/dist/opportunity-facts/build-opportunity-facts.d.ts.map +1 -1
  218. package/dist/opportunity-facts/build-opportunity-facts.js +11 -1
  219. package/dist/opportunity-facts/build-opportunity-facts.js.map +1 -1
  220. package/dist/opportunity-facts/glossary.en.d.ts +34 -0
  221. package/dist/opportunity-facts/glossary.en.d.ts.map +1 -1
  222. package/dist/opportunity-facts/glossary.en.js +34 -0
  223. package/dist/opportunity-facts/glossary.en.js.map +1 -1
  224. package/dist/opportunity-facts/index.d.ts +3 -1
  225. package/dist/opportunity-facts/index.d.ts.map +1 -1
  226. package/dist/opportunity-facts/index.js +2 -0
  227. package/dist/opportunity-facts/index.js.map +1 -1
  228. package/dist/opportunity-facts/labels.d.ts +38 -0
  229. package/dist/opportunity-facts/labels.d.ts.map +1 -1
  230. package/dist/opportunity-facts/labels.js +34 -0
  231. package/dist/opportunity-facts/labels.js.map +1 -1
  232. package/dist/opportunity-facts/opportunity-fact-sheet.d.ts +9 -1
  233. package/dist/opportunity-facts/opportunity-fact-sheet.d.ts.map +1 -1
  234. package/dist/opportunity-facts/opportunity-fact-sheet.js +21 -2
  235. package/dist/opportunity-facts/opportunity-fact-sheet.js.map +1 -1
  236. package/dist/opportunity-facts/price-cases-section.d.ts +18 -0
  237. package/dist/opportunity-facts/price-cases-section.d.ts.map +1 -0
  238. package/dist/opportunity-facts/price-cases-section.js +36 -0
  239. package/dist/opportunity-facts/price-cases-section.js.map +1 -0
  240. package/dist/opportunity-facts/price-cases.d.ts +5 -0
  241. package/dist/opportunity-facts/price-cases.d.ts.map +1 -0
  242. package/dist/opportunity-facts/price-cases.js +127 -0
  243. package/dist/opportunity-facts/price-cases.js.map +1 -0
  244. package/dist/opportunity-facts/source-document-download.d.ts +34 -0
  245. package/dist/opportunity-facts/source-document-download.d.ts.map +1 -0
  246. package/dist/opportunity-facts/source-document-download.js +91 -0
  247. package/dist/opportunity-facts/source-document-download.js.map +1 -0
  248. package/dist/opportunity-facts/types.d.ts +69 -0
  249. package/dist/opportunity-facts/types.d.ts.map +1 -1
  250. package/dist/org/invite-member-dialog.js +7 -7
  251. package/dist/org/invite-member-dialog.js.map +1 -1
  252. package/dist/org/team-management.js +5 -5
  253. package/dist/org/team-management.js.map +1 -1
  254. package/dist/portfolio/include-in-matching-toggle.js +4 -4
  255. package/dist/portfolio/include-in-matching-toggle.js.map +1 -1
  256. package/dist/portfolio-import/_internal/review-hydration.d.ts +29 -0
  257. package/dist/portfolio-import/_internal/review-hydration.d.ts.map +1 -0
  258. package/dist/portfolio-import/_internal/review-hydration.js +224 -0
  259. package/dist/portfolio-import/_internal/review-hydration.js.map +1 -0
  260. package/dist/portfolio-import/import-job-detail-view.d.ts +6 -0
  261. package/dist/portfolio-import/import-job-detail-view.d.ts.map +1 -1
  262. package/dist/portfolio-import/import-job-detail-view.js +27 -21
  263. package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
  264. package/dist/portfolio-import/import-job-panels.d.ts +1 -0
  265. package/dist/portfolio-import/import-job-panels.d.ts.map +1 -1
  266. package/dist/portfolio-import/import-job-panels.js +15 -13
  267. package/dist/portfolio-import/import-job-panels.js.map +1 -1
  268. package/dist/portfolio-import/index.d.ts +1 -1
  269. package/dist/portfolio-import/index.d.ts.map +1 -1
  270. package/dist/portfolio-import/review-queue-panel.d.ts +12 -1
  271. package/dist/portfolio-import/review-queue-panel.d.ts.map +1 -1
  272. package/dist/portfolio-import/review-queue-panel.js +137 -36
  273. package/dist/portfolio-import/review-queue-panel.js.map +1 -1
  274. package/dist/portfolio-import/session/import-job.d.ts.map +1 -1
  275. package/dist/portfolio-import/session/import-job.js +94 -22
  276. package/dist/portfolio-import/session/import-job.js.map +1 -1
  277. package/dist/portfolio-import/session/index.d.ts +2 -2
  278. package/dist/portfolio-import/session/index.d.ts.map +1 -1
  279. package/dist/portfolio-import/session/index.js +1 -1
  280. package/dist/portfolio-import/session/index.js.map +1 -1
  281. package/dist/portfolio-import/session/save-review-field.d.ts +29 -4
  282. package/dist/portfolio-import/session/save-review-field.d.ts.map +1 -1
  283. package/dist/portfolio-import/session/save-review-field.js +115 -30
  284. package/dist/portfolio-import/session/save-review-field.js.map +1 -1
  285. package/dist/portfolio-import/session/types.d.ts +49 -2
  286. package/dist/portfolio-import/session/types.d.ts.map +1 -1
  287. package/dist/portfolio-import/types.d.ts +13 -0
  288. package/dist/portfolio-import/types.d.ts.map +1 -1
  289. package/dist/portfolio-import/types.js.map +1 -1
  290. package/dist/portfolio-import/use-flagged-variants.d.ts +4 -0
  291. package/dist/portfolio-import/use-flagged-variants.d.ts.map +1 -1
  292. package/dist/portfolio-import/use-flagged-variants.js +46 -8
  293. package/dist/portfolio-import/use-flagged-variants.js.map +1 -1
  294. package/dist/product-editor/field-routing.d.ts +2 -1
  295. package/dist/product-editor/field-routing.d.ts.map +1 -1
  296. package/dist/product-editor/field-routing.js +9 -1
  297. package/dist/product-editor/field-routing.js.map +1 -1
  298. package/dist/product-editor/index.d.ts +1 -1
  299. package/dist/product-editor/index.d.ts.map +1 -1
  300. package/dist/product-editor/index.js.map +1 -1
  301. package/dist/product-editor/product-editor-form.d.ts +37 -2
  302. package/dist/product-editor/product-editor-form.d.ts.map +1 -1
  303. package/dist/product-editor/product-editor-form.js +96 -3
  304. package/dist/product-editor/product-editor-form.js.map +1 -1
  305. package/dist/product-editor/product-editor-surface.d.ts.map +1 -1
  306. package/dist/product-editor/product-editor-surface.js +2 -4
  307. package/dist/product-editor/product-editor-surface.js.map +1 -1
  308. package/dist/product-editor/product-editor.d.ts.map +1 -1
  309. package/dist/product-editor/product-editor.js +17 -6
  310. package/dist/product-editor/product-editor.js.map +1 -1
  311. package/dist/product-editor/schema.d.ts +20 -0
  312. package/dist/product-editor/schema.d.ts.map +1 -1
  313. package/dist/product-editor/schema.js +70 -0
  314. package/dist/product-editor/schema.js.map +1 -1
  315. package/dist/product-editor/tabs/product-composition-section.d.ts +26 -0
  316. package/dist/product-editor/tabs/product-composition-section.d.ts.map +1 -0
  317. package/dist/product-editor/tabs/product-composition-section.js +47 -0
  318. package/dist/product-editor/tabs/product-composition-section.js.map +1 -0
  319. package/dist/product-editor/tabs/product-essentials-details-sections.d.ts +4 -2
  320. package/dist/product-editor/tabs/product-essentials-details-sections.d.ts.map +1 -1
  321. package/dist/product-editor/tabs/product-essentials-details-sections.js +4 -2
  322. package/dist/product-editor/tabs/product-essentials-details-sections.js.map +1 -1
  323. package/dist/product-editor/tabs/product-essentials-tab.d.ts +4 -2
  324. package/dist/product-editor/tabs/product-essentials-tab.d.ts.map +1 -1
  325. package/dist/product-editor/tabs/product-essentials-tab.js +2 -2
  326. package/dist/product-editor/tabs/product-essentials-tab.js.map +1 -1
  327. package/dist/product-editor/tabs/product-production-capacity-field.d.ts +23 -0
  328. package/dist/product-editor/tabs/product-production-capacity-field.d.ts.map +1 -0
  329. package/dist/product-editor/tabs/product-production-capacity-field.js +57 -0
  330. package/dist/product-editor/tabs/product-production-capacity-field.js.map +1 -0
  331. package/dist/product-editor/tabs/product-resources-tab.d.ts.map +1 -1
  332. package/dist/product-editor/tabs/product-resources-tab.js +1 -1
  333. package/dist/product-editor/tabs/product-resources-tab.js.map +1 -1
  334. package/dist/product-editor/tabs/resources/certifications-panel.d.ts.map +1 -1
  335. package/dist/product-editor/tabs/resources/certifications-panel.js +70 -63
  336. package/dist/product-editor/tabs/resources/certifications-panel.js.map +1 -1
  337. package/dist/product-editor/types.d.ts +61 -4
  338. package/dist/product-editor/types.d.ts.map +1 -1
  339. package/dist/profile/account-edit-form.d.ts.map +1 -1
  340. package/dist/profile/account-edit-form.js +45 -33
  341. package/dist/profile/account-edit-form.js.map +1 -1
  342. package/dist/profile/account-preferences-card.js +3 -3
  343. package/dist/profile/account-preferences-card.js.map +1 -1
  344. package/dist/profile/api-keys/api-key-secret-reveal.js +4 -4
  345. package/dist/profile/api-keys/api-key-secret-reveal.js.map +1 -1
  346. package/dist/profile/api-keys/create-api-key-dialog.js +3 -3
  347. package/dist/profile/api-keys/create-api-key-dialog.js.map +1 -1
  348. package/dist/profile/api-keys/profile-keys-section.js +7 -7
  349. package/dist/profile/api-keys/profile-keys-section.js.map +1 -1
  350. package/dist/profile/importer-profile-view.d.ts.map +1 -1
  351. package/dist/profile/importer-profile-view.js +6 -1
  352. package/dist/profile/importer-profile-view.js.map +1 -1
  353. package/dist/profile/subscription-card.d.ts.map +1 -1
  354. package/dist/profile/subscription-card.js +2 -1
  355. package/dist/profile/subscription-card.js.map +1 -1
  356. package/dist/upload-link/upload-link-page.js +3 -3
  357. package/dist/upload-link/upload-link-page.js.map +1 -1
  358. package/package.json +1 -1
@@ -46,6 +46,24 @@ export interface OpportunityWizardProps {
46
46
  * same autosave path as other tender fields.
47
47
  */
48
48
  priceTypesContext?: OpportunityWizardPriceTypesContext;
49
+ /**
50
+ * CEL-2634 (opt-in, default OFF): when the opportunities carry different allowed terms, replace
51
+ * the pricing step's tender-level picker with a read-only per-opportunity list and an explicit
52
+ * "Replace on all opportunities" confirm. With it off the pricing step behaves exactly as before.
53
+ * The Review step shows the per-opportunity terms either way, because "no constraint" would be
54
+ * wrong there.
55
+ */
56
+ mixedTermsPicker?: boolean;
57
+ /** Fires once the importer confirms "Replace on all opportunities" (only with `mixedTermsPicker`). */
58
+ onReplaceAllConfirmed?: () => void;
59
+ /**
60
+ * For a consumer that HOLDS BACK a tender-level terms change (the importer's CEL-2622 flow) and so does not
61
+ * use `mixedTermsPicker`: set true once the replacement has actually been saved. Until then, when the picker is
62
+ * EMPTY (nothing picked, or ticked and unticked again) Review keeps listing each opportunity's own saved terms,
63
+ * because those are what will be saved. A terms list that is currently picked still shows as picked. With
64
+ * `mixedTermsPicker` the wizard tracks the replacement itself.
65
+ */
66
+ mixedTermsReplaced?: boolean;
49
67
  /** Fired when user cancels / closes the wizard. */
50
68
  onClose: () => void;
51
69
  /** Fired after a successful publish (caller navigates to the new tender). */
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity-wizard.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,WAAW,EAGhB,KAAK,yBAAyB,EAG/B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAAC;AA0BrD;;;;;;;;GAQG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9E,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,EAAE,CACT,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,kCAAkC,CAAC;IAEvD,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiFD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAg5B9D"}
1
+ {"version":3,"file":"opportunity-wizard.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EAGhB,KAAK,yBAAyB,EAG/B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAOrF,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,MAAM,CAAC;AA0BrD;;;;;;;;GAQG;AACH,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,uDAAuD;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,4CAA4C;IAC5C,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzF,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9E,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,QAAQ,CAAC,EAAE,CACT,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAC5B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAElC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,kCAAkC,CAAC;IAEvD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sGAAsG;IACtG,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mDAAmD;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAk7B9D"}
@@ -5,7 +5,9 @@ import { WizardStepper } from "./wizard-stepper.js";
5
5
  import { StepTenderBasics } from "./step-tender-basics.js";
6
6
  import { StepOpportunities } from "./step-opportunities.js";
7
7
  import { StepPricingTimeline } from "./step-pricing-timeline.js";
8
+ import { mixedOpportunityTerms } from "./mixed-delivery-terms.js";
8
9
  import { StepReview } from "./step-review.js";
10
+ import { issueFocusTarget, publishIssuesMessage } from "./publish-issues.js";
9
11
  import { sanitizeOutboundStagedFields, useWizardDraft } from "./use-wizard-draft.js";
10
12
  import { tenderPublishSchema, wizardStepIds, } from "./wizard.types.js";
11
13
  import { cn } from "../../lib/utils.js";
@@ -40,62 +42,6 @@ const stepLabels = {
40
42
  pricing: "Pricing",
41
43
  review: "Review",
42
44
  };
43
- const pricingFieldNames = new Set([
44
- "priceMin",
45
- "priceMax",
46
- "currency",
47
- "targetMargin",
48
- "distributionRequirements",
49
- "submissionDeadline",
50
- "sampleDeadline",
51
- "launchDate",
52
- ]);
53
- function issueFocusTarget(issue) {
54
- const [root, index, field] = issue.path;
55
- if (root !== "opportunities") {
56
- const selector = root === "targetCountry"
57
- ? "#tender-country"
58
- : root === "instructions"
59
- ? "#tender-instructions"
60
- : "#tender-name";
61
- return { step: "tender", selector };
62
- }
63
- if (typeof index !== "number") {
64
- return { step: "opportunities", selector: '[data-wizard-step="opportunities"] button' };
65
- }
66
- if (typeof field === "string" && pricingFieldNames.has(field)) {
67
- const accessibleName = {
68
- priceMin: "Price min",
69
- priceMax: "Price max",
70
- targetMargin: "Target margin",
71
- distributionRequirements: "Distribution requirements",
72
- submissionDeadline: "Submission deadline",
73
- sampleDeadline: "Sample deadline",
74
- launchDate: "Launch date",
75
- };
76
- const name = accessibleName[field];
77
- return {
78
- step: "pricing",
79
- selector: name
80
- ? `[data-pricing-index="${index}"] [aria-label="${name}"]`
81
- : `[data-pricing-index="${index}"] [role="combobox"]`,
82
- opportunityIndex: index,
83
- };
84
- }
85
- if (typeof field === "string") {
86
- const fieldRoot = `[data-opportunity-index="${index}"] [data-wizard-field="${field}"]`;
87
- return {
88
- step: "opportunities",
89
- selector: `${fieldRoot} input, ${fieldRoot} textarea, ${fieldRoot} button, ${fieldRoot} [role="combobox"]`,
90
- opportunityIndex: index,
91
- };
92
- }
93
- return {
94
- step: "opportunities",
95
- selector: `[data-opportunity-index="${index}"] button`,
96
- opportunityIndex: index,
97
- };
98
- }
99
45
  function clampWizardStep(value) {
100
46
  if (typeof value !== "number" || !Number.isFinite(value))
101
47
  return 0;
@@ -105,7 +51,7 @@ function completedBefore(step) {
105
51
  return Array.from({ length: step }, (_, index) => index);
106
52
  }
107
53
  export function OpportunityWizard(props) {
108
- const { mode, initialDraft, initialVersion, createDraft, patchDraft, loadDraftOnConflict, autosaveDebounceMs, publishDraft, saveEdit, priceTypesContext, onClose, onPublished, className, } = props;
54
+ const { mode, initialDraft, initialVersion, createDraft, patchDraft, loadDraftOnConflict, autosaveDebounceMs, publishDraft, saveEdit, priceTypesContext, mixedTermsPicker = false, onReplaceAllConfirmed, mixedTermsReplaced = false, onClose, onPublished, className, } = props;
109
55
  const draftHook = useWizardDraft({
110
56
  create: createDraft,
111
57
  patch: patchDraft,
@@ -185,9 +131,22 @@ export function OpportunityWizard(props) {
185
131
  const onApplyOpportunities = React.useCallback((next) => {
186
132
  applyChangeRef.current({ opportunities: next });
187
133
  }, []);
134
+ // Once the importer has set the tender-level terms for this draft, the old per-opportunity
135
+ // terms are being replaced, so neither the picker nor Review may offer them back (a pick then
136
+ // a clear is "no constraint on any opportunity", not the stale hydrated terms). The draft ID
137
+ // is the same identity boundary used by useWizardDraft and the wizard's hydration reset. Reset
138
+ // during that identity-changing render so the first committed frame of another draft still
139
+ // shows its own terms; one record also prevents consent from returning after A -> B -> A.
140
+ const termsDraftIdentity = initialDraft?.id;
141
+ const [termsEditConsent, setTermsEditConsent] = React.useState(() => ({ draftId: termsDraftIdentity, edited: false }));
142
+ if (termsEditConsent.draftId !== termsDraftIdentity) {
143
+ setTermsEditConsent({ draftId: termsDraftIdentity, edited: false });
144
+ }
145
+ const termsEdited = termsEditConsent.draftId === termsDraftIdentity && termsEditConsent.edited;
188
146
  const onApplyAllowedDeliveryTerms = React.useCallback((next) => {
147
+ setTermsEditConsent({ draftId: termsDraftIdentity, edited: true });
189
148
  applyChangeRef.current({ allowedDeliveryTerms: next });
190
- }, []);
149
+ }, [termsDraftIdentity]);
191
150
  // CEL-332 fixup-2 (Cubic P2): explicit-default-unconstrained persistence.
192
151
  //
193
152
  // Zod's `.default([])` on `tenderDraftSchema.allowedDeliveryTerms` ONLY
@@ -393,9 +352,9 @@ export function OpportunityWizard(props) {
393
352
  const firstIssue = parsed.error.issues[0];
394
353
  setPublishError({
395
354
  code: "VALIDATION",
396
- message: parsed.error.issues.map((i) => i.message).join("; "),
355
+ message: publishIssuesMessage(effectiveDraft),
397
356
  });
398
- const target = issueFocusTarget(firstIssue);
357
+ const target = issueFocusTarget(firstIssue, effectiveDraft);
399
358
  setStep(wizardStepIds.indexOf(target.step), target.selector, target.opportunityIndex);
400
359
  setPublishing(false);
401
360
  return;
@@ -465,9 +424,9 @@ export function OpportunityWizard(props) {
465
424
  const firstIssue = parsed.error.issues[0];
466
425
  setPublishError({
467
426
  code: "VALIDATION",
468
- message: parsed.error.issues.map((i) => i.message).join("; "),
427
+ message: publishIssuesMessage(effectiveDraft),
469
428
  });
470
- const target = issueFocusTarget(firstIssue);
429
+ const target = issueFocusTarget(firstIssue, effectiveDraft);
471
430
  setStep(wizardStepIds.indexOf(target.step), target.selector, target.opportunityIndex);
472
431
  setPublishing(false);
473
432
  return;
@@ -500,6 +459,12 @@ export function OpportunityWizard(props) {
500
459
  setPublishing(false);
501
460
  }
502
461
  };
462
+ // What will actually be saved decides what Review shows. With the opt-in picker the wizard knows when the
463
+ // importer replaced the terms; a consumer that holds the change back says so with `mixedTermsReplaced`.
464
+ const termsReplaced = mixedTermsReplaced || (mixedTermsPicker && termsEdited);
465
+ const perOpportunityTerms = termsReplaced
466
+ ? undefined
467
+ : mixedOpportunityTerms(effectiveDraft.opportunities);
503
468
  const stepContent = () => {
504
469
  switch (wizardStepIds[currentStep]) {
505
470
  case "tender":
@@ -519,10 +484,12 @@ export function OpportunityWizard(props) {
519
484
  isLoading: priceTypesContext.isLoading,
520
485
  isError: priceTypesContext.isError,
521
486
  onRetry: priceTypesContext.onRetry,
487
+ perOpportunityTerms: mixedTermsPicker ? perOpportunityTerms : undefined,
488
+ onReplaceAllConfirmed,
522
489
  }
523
490
  : undefined }) }, formHydrationKey));
524
491
  case "review":
525
- return (_jsx("div", { "data-wizard-step": "review", children: _jsx(StepReview, { tender: effectiveDraft, priceTypes: priceTypesContext?.priceTypes, onEditStep: (step) => setStep(wizardStepIds.indexOf(step)) }) }, formHydrationKey));
492
+ return (_jsx("div", { "data-wizard-step": "review", children: _jsx(StepReview, { tender: effectiveDraft, priceTypes: priceTypesContext?.priceTypes, perOpportunityTerms: perOpportunityTerms, onEditStep: (step, target) => setStep(wizardStepIds.indexOf(step), target?.selector, target?.opportunityIndex) }) }, formHydrationKey));
526
493
  }
527
494
  };
528
495
  const isLastStep = currentStep === wizardStepIds.length - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"opportunity-wizard.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunity-wizard.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/opportunity-wizard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface PackageSizesFieldProps {
2
+ id: string;
3
+ /** Sizes in millilitres, in the order the importer entered them. */
4
+ value: number[];
5
+ onChange: (next: number[]) => void;
6
+ }
7
+ /**
8
+ * CEL-2624: every package size an opportunity accepts, not only the first. Type a size
9
+ * in ml and press Enter (or "Add size"); each size is a removable chip. The caller
10
+ * stores the list as `volumeOptions` and keeps `volume` equal to the first entry.
11
+ */
12
+ export declare function PackageSizesField({ id, value, onChange }: PackageSizesFieldProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=package-sizes-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-sizes-field.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/package-sizes-field.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2HhF"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { X } from "lucide-react";
4
+ import { MAX_PACKAGE_SIZES } from "./price-ranges.js";
5
+ /**
6
+ * CEL-2624: every package size an opportunity accepts, not only the first. Type a size
7
+ * in ml and press Enter (or "Add size"); each size is a removable chip. The caller
8
+ * stores the list as `volumeOptions` and keeps `volume` equal to the first entry.
9
+ */
10
+ export function PackageSizesField({ id, value, onChange }) {
11
+ const [draft, setDraft] = React.useState("");
12
+ const [error, setError] = React.useState(null);
13
+ const [announcement, setAnnouncement] = React.useState("");
14
+ const inputRef = React.useRef(null);
15
+ const listRef = React.useRef(null);
16
+ // A ref, not state: it is set in the click handler and read in the effect, so no state is set in an effect.
17
+ const focusAfterRemovalRef = React.useRef(null);
18
+ // After a chip is removed its button unmounts: move focus to the next chip's remove button,
19
+ // or back to the input when it was the last one.
20
+ React.useEffect(() => {
21
+ const at = focusAfterRemovalRef.current;
22
+ if (at === null)
23
+ return;
24
+ focusAfterRemovalRef.current = null;
25
+ const buttons = listRef.current?.querySelectorAll("button");
26
+ (buttons?.[Math.min(at, (buttons?.length ?? 1) - 1)] ?? inputRef.current)?.focus();
27
+ }, [value.length]);
28
+ const add = () => {
29
+ const raw = draft.trim();
30
+ if (raw === "")
31
+ return;
32
+ const size = Number(raw);
33
+ if (!Number.isInteger(size) || size <= 0) {
34
+ setError("Enter a whole number of millilitres, for example 750.");
35
+ return;
36
+ }
37
+ if (value.includes(size)) {
38
+ setError(`${size} ml is already in the list.`);
39
+ return;
40
+ }
41
+ if (value.length >= MAX_PACKAGE_SIZES) {
42
+ setError(`Add up to ${MAX_PACKAGE_SIZES} sizes.`);
43
+ return;
44
+ }
45
+ setError(null);
46
+ setDraft("");
47
+ onChange([...value, size]);
48
+ };
49
+ return (_jsxs("div", { "data-wizard-field": "volume", className: "flex flex-col gap-1.5", children: [_jsx("label", { htmlFor: id, className: "text-sm/5 font-medium text-foreground", children: "Package sizes (ml)" }), _jsxs("div", { className: "flex gap-2", children: [_jsxs("div", { className: "relative w-full", children: [_jsx("input", { id: id, ref: inputRef, type: "number", inputMode: "numeric", min: 1, step: 1, value: draft, "aria-describedby": `${id}-help${error ? ` ${id}-error` : ""}`, "aria-invalid": error ? true : undefined,
50
+ // A typed size is committed when the field loses focus, so it is never silently dropped.
51
+ onBlur: () => add(), onChange: (e) => {
52
+ setDraft(e.target.value);
53
+ if (error)
54
+ setError(null);
55
+ }, onKeyDown: (e) => {
56
+ if (e.key === "Enter") {
57
+ e.preventDefault();
58
+ add();
59
+ }
60
+ }, className: "h-11 w-full rounded-md border border-input bg-transparent py-2 pl-3 pr-10 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" }), _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: "ml" })] }), _jsx("button", { type: "button", onClick: add, className: "min-h-11 shrink-0 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: "Add size" })] }), _jsx("p", { id: `${id}-help`, className: "text-xs/4 text-muted-foreground", children: "Every bottle size producers may offer. Press Enter to add each one." }), error ? (_jsx("p", { id: `${id}-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: error })) : null, _jsx("div", { "aria-live": "polite", className: "sr-only", children: announcement }), value.length > 0 ? (_jsx("ul", { ref: listRef, className: "flex flex-wrap gap-2", "aria-label": "Package sizes added", children: value.map((size, position) => (_jsxs("li", { className: "inline-flex min-h-11 items-center gap-1 rounded-full bg-muted pl-3 pr-1 text-sm/5 font-medium tabular-nums text-foreground", children: [size, " ml", _jsxs("button", { type: "button", onClick: () => {
61
+ setAnnouncement(`${size} ml removed.`);
62
+ focusAfterRemovalRef.current = position;
63
+ onChange(value.filter((v) => v !== size));
64
+ }, className: "inline-flex size-11 items-center justify-center rounded-full text-muted-foreground hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(X, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), _jsx("span", { className: "sr-only", children: `Remove ${size} ml` })] })] }, size))) })) : null] }));
65
+ }
66
+ //# sourceMappingURL=package-sizes-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-sizes-field.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/package-sizes-field.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { OpportunityDraft } from "./wizard.types.js";
2
+ export interface PriceRangesEditorProps {
3
+ /** Index of the opportunity in the step (stable ids for labels). */
4
+ itemIndex: number;
5
+ opp: OpportunityDraft;
6
+ onUpdate: (patch: Partial<OpportunityDraft>) => void;
7
+ }
8
+ /**
9
+ * CEL-2624: one or more price rows per opportunity, each with min, max, currency and
10
+ * the basis the price is quoted on (per unit or per litre). Row 0 min and max are mirrored into
11
+ * the legacy `priceMin`/`priceMax` by `priceRowsPatch`. Currency is per row and is never
12
+ * mirrored into the scalar (CEL-662).
13
+ *
14
+ * A quoted delivery term per row is deliberately not offered here (gated, D16).
15
+ */
16
+ export declare function PriceRangesEditor({ itemIndex, opp, onUpdate }: PriceRangesEditorProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=price-ranges-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-ranges-editor.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges-editor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAiBvD,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,gBAAgB,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAuNrF"}
@@ -0,0 +1,84 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Plus, Trash2 } from "lucide-react";
4
+ import { CurrencySelect } from "../../components/currency-select.js";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { MAX_PRICE_ROWS, basisLabel, getPackageSizes, getPriceRows, priceRowProblems, priceRowsPatch, } from "./price-ranges.js";
7
+ 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";
8
+ const buttonClass = "inline-flex min-h-11 items-center gap-2 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";
9
+ /**
10
+ * CEL-2624: one or more price rows per opportunity, each with min, max, currency and
11
+ * the basis the price is quoted on (per unit or per litre). Row 0 min and max are mirrored into
12
+ * the legacy `priceMin`/`priceMax` by `priceRowsPatch`. Currency is per row and is never
13
+ * mirrored into the scalar (CEL-662).
14
+ *
15
+ * A quoted delivery term per row is deliberately not offered here (gated, D16).
16
+ */
17
+ export function PriceRangesEditor({ itemIndex, opp, onUpdate }) {
18
+ const rows = getPriceRows(opp);
19
+ const sizes = getPackageSizes(opp);
20
+ const [touched, setTouched] = React.useState(() => new Set());
21
+ // The reversed-range error waits for the importer to leave the field: a min of 9 while
22
+ // typing "12" must not alert on "1".
23
+ const [orderChecked, setOrderChecked] = React.useState(() => new Set());
24
+ const markOrderChecked = (index) => setOrderChecked((prev) => (prev.has(index) ? prev : new Set(prev).add(index)));
25
+ // Polite live region: removing a row is otherwise silent for screen-reader users.
26
+ const [announcement, setAnnouncement] = React.useState("");
27
+ const rootRef = React.useRef(null);
28
+ // After a removal the focused button unmounts; move focus to the row that took its place
29
+ // (its minimum price), or to "Add price range" when it was the last one.
30
+ // A ref, not state: set in the click handler, read in the effect (no state is set in an effect).
31
+ const focusAfterRemovalRef = React.useRef(null);
32
+ React.useEffect(() => {
33
+ const at = focusAfterRemovalRef.current;
34
+ if (at === null)
35
+ return;
36
+ focusAfterRemovalRef.current = null;
37
+ const target = rootRef.current?.querySelector(`[data-price-row="${at}"] [aria-label^="Minimum price"]`) ?? rootRef.current?.querySelector("[data-add-price-range]");
38
+ target?.focus();
39
+ }, [rows.length]);
40
+ const setRows = (next) => onUpdate(priceRowsPatch(next));
41
+ const patchRow = (index, patch) => setRows(rows.map((row, i) => (i === index ? { ...row, ...patch } : row)));
42
+ const markTouched = (index) => setTouched((prev) => (prev.has(index) ? prev : new Set(prev).add(index)));
43
+ const num = (raw) => (raw === "" ? null : Number(raw));
44
+ return (_jsxs("div", { ref: rootRef, className: "flex flex-col gap-4", "data-testid": "price-ranges-editor", children: [_jsx("div", { "aria-live": "polite", className: "sr-only", children: announcement }), rows.map((row, index) => {
45
+ const problems = priceRowProblems(row);
46
+ const showOrder = problems.includes("order") && orderChecked.has(index);
47
+ // Show the basis error once the importer touched it, or once the rest of the row is
48
+ // filled in and only the basis is missing.
49
+ const showBasis = problems.includes("basis") &&
50
+ (touched.has(index) || problems.every((p) => p === "basis"));
51
+ const idBase = `pricing-${itemIndex}-row-${index}`;
52
+ const groupLabel = rows.length > 1 ? `Price range ${index + 1}` : "Price range";
53
+ return (_jsxs("fieldset", { "data-price-row": index, className: "grid grid-cols-1 items-start gap-4 rounded-lg border border-border/70 p-4 md:grid-cols-2", children: [_jsx("legend", { className: "px-1 text-sm/5 font-semibold text-foreground", children: groupLabel }), _jsxs("label", { className: "flex flex-col gap-1.5 text-sm", children: [_jsx("span", { className: "text-sm/5 font-medium text-foreground", children: "Minimum price" }), _jsx("input", { "aria-label": rows.length > 1 ? `Minimum price, ${groupLabel}` : "Minimum price", type: "number", min: "0", step: "0.01", value: row.min ?? "", onChange: (e) => patchRow(index, { min: num(e.target.value) }), onBlur: () => markOrderChecked(index), 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: "Maximum price" }), _jsx("input", { "aria-label": rows.length > 1 ? `Maximum price, ${groupLabel}` : "Maximum price", type: "number", min: "0", step: "0.01", value: row.max ?? "", "aria-invalid": showOrder ? true : undefined, "aria-describedby": showOrder ? `${idBase}-order-error` : undefined, onChange: (e) => patchRow(index, { max: num(e.target.value) }), onBlur: () => markOrderChecked(index), className: inputClass })] }), showOrder ? (_jsx("p", { id: `${idBase}-order-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)] md:col-start-2 md:-mt-2", children: "Maximum price must be at least the minimum." })) : null, _jsx(CurrencySelect, { id: `${idBase}-currency`, label: "Currency", labelClassName: "text-sm/5 font-medium text-foreground", triggerSize: "lg", value: row.currency ?? null, onChange: (next) => patchRow(index, { currency: next ?? null }) }), _jsxs("div", { role: "radiogroup", "aria-labelledby": `${idBase}-basis-label`, "aria-invalid": showBasis ? true : undefined, "aria-describedby": `${idBase}-basis-help${showBasis ? ` ${idBase}-basis-error` : ""}`, className: "flex flex-col gap-1.5", children: [_jsx("span", { id: `${idBase}-basis-label`, className: "text-sm/5 font-medium text-foreground", children: "Price is quoted" }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [["per_unit", "per_litre"].map((value) => (_jsxs("label", { className: cn("inline-flex min-h-11 cursor-pointer items-center gap-2 rounded-md border px-3 text-sm/5 font-medium transition-colors duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] has-focus-visible:ring-3 has-focus-visible:ring-ring/70", row.basis === value
54
+ ? "border-foreground bg-muted text-foreground"
55
+ : showBasis
56
+ ? "border-[var(--tone-danger-border)] bg-background text-foreground"
57
+ : "border-input bg-background text-muted-foreground hover:text-foreground"), children: [_jsx("input", { type: "radio", name: `${idBase}-basis`, value: value, checked: row.basis === value, onChange: () => {
58
+ markTouched(index);
59
+ // A note only belongs to the `other` basis; drop it when leaving it.
60
+ patchRow(index, {
61
+ basis: value,
62
+ ...(row.basis === "other" ? { basisNote: null } : {}),
63
+ });
64
+ }, className: "sr-only" }), basisLabel(value)] }, value))), row.basis === "other" ? (_jsx("span", { className: "inline-flex min-h-11 items-center rounded-md border border-foreground bg-muted px-3 text-sm/5 font-medium text-foreground", children: typeof row.basisNote === "string" && row.basisNote
65
+ ? `Other: ${row.basisNote}`
66
+ : "Other basis" })) : null] }), _jsxs("p", { id: `${idBase}-basis-help`, className: "text-xs/4 text-muted-foreground", children: ["What the price is quoted per. Producers answer on the same basis.", sizes.length > 1 ? " Per unit applies to every package size listed." : ""] }), showBasis ? (_jsx("p", { id: `${idBase}-basis-error`, role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: "Choose per unit or per litre." })) : null] }), rows.length > 1 ? (_jsx("div", { className: "md:col-span-2", children: _jsxs("button", { type: "button", onClick: () => {
67
+ // These validation sets are index-keyed: reset them so they cannot attach to another row.
68
+ setTouched(new Set());
69
+ setOrderChecked(new Set());
70
+ setRows(rows.filter((_, i) => i !== index));
71
+ setAnnouncement(`${groupLabel} removed.`);
72
+ focusAfterRemovalRef.current = Math.min(index, rows.length - 2);
73
+ }, className: buttonClass, children: [_jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), `Remove ${groupLabel.toLowerCase()}`] }) })) : null] }, index));
74
+ }), rows.length < MAX_PRICE_ROWS ? (_jsx("div", { children: _jsxs("button", { type: "button", "data-add-price-range": true, onClick: () => setRows([
75
+ ...rows,
76
+ {
77
+ min: null,
78
+ max: null,
79
+ currency: rows[rows.length - 1]?.currency ?? null,
80
+ basis: null,
81
+ },
82
+ ]), className: buttonClass, children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), "Add price range"] }) })) : null] }));
83
+ }
84
+ //# sourceMappingURL=price-ranges-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-ranges-editor.js","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * CEL-2624: price rows and package sizes for an opportunity draft.
3
+ *
4
+ * The wire already carries `priceRanges[]` (min, max, currency, basis) and
5
+ * `volumeOptions[]` (ml). The wizard draft kept one `priceMin`/`priceMax`/`currency`
6
+ * triple and one `volume`. These helpers read the arrays when present and fall back
7
+ * to the scalars. Writes keep `priceMin`/`priceMax` equal to row 0 and `volume` equal to
8
+ * the first size so scalar-only consumers keep working. Currency is NOT mirrored into the
9
+ * scalar: per-range currency is canonical (CEL-662), extraction leaves the scalar to the
10
+ * ranges, and every row carries its own explicit currency. A legacy opportunity that only
11
+ * has the scalar currency has it copied onto its rows on hydrate, so no row is ever sent
12
+ * with `currency: null` when the opportunity has one.
13
+ *
14
+ * `priceRanges` and `volumeOptions` are read off the passthrough draft (not added to
15
+ * the zod schema) so consumer types that model them as `unknown[] | null` stay valid.
16
+ */
17
+ import type { Basis } from "@cellarnode/finance";
18
+ import type { OpportunityDraft } from "./wizard.types.js";
19
+ export declare const MAX_PRICE_ROWS = 10;
20
+ export declare const MAX_PACKAGE_SIZES = 12;
21
+ /** The canonical basis enum (`@cellarnode/finance` `BASIS`): per unit (bottle, can, keg), per litre, other. */
22
+ export type WizardPriceBasis = Basis;
23
+ export interface WizardPriceRow {
24
+ min?: number | null;
25
+ max?: number | null;
26
+ currency?: string | null;
27
+ basis?: WizardPriceBasis | string | null;
28
+ /** Round-tripped untouched (registry term, free-text term, basis note). */
29
+ [extra: string]: unknown;
30
+ }
31
+ /** At least one row, always: a legacy draft shows its scalar price as row 0. */
32
+ export declare function getPriceRows(opp: OpportunityDraft): WizardPriceRow[];
33
+ /** The patch that stores `rows` and keeps the legacy scalars in step with row 0. */
34
+ export declare function priceRowsPatch(rows: WizardPriceRow[]): Partial<OpportunityDraft>;
35
+ export declare function getPackageSizes(opp: OpportunityDraft): number[];
36
+ /** The patch that stores `sizes` and keeps `volume` equal to the first one. */
37
+ export declare function packageSizesPatch(sizes: number[]): Partial<OpportunityDraft>;
38
+ export type PriceRowProblem = "min" | "max" | "negative" | "order" | "currency" | "basis";
39
+ export declare function priceRowProblems(row: WizardPriceRow): PriceRowProblem[];
40
+ export interface PriceIssue {
41
+ /** 0-based index of the price row. */
42
+ row: number;
43
+ problems: PriceRowProblem[];
44
+ /** "Price range 2": names the row. */
45
+ rowLabel: string;
46
+ /** What to do, e.g. "choose per unit or per litre". */
47
+ fix: string;
48
+ /** Plain sentence naming the row and what is missing. */
49
+ message: string;
50
+ }
51
+ /** One issue per incomplete row; empty when every row is publishable. */
52
+ export declare function priceIssues(opp: OpportunityDraft): PriceIssue[];
53
+ export declare function basisLabel(basis: unknown, _packageSizes?: number[]): string;
54
+ //# sourceMappingURL=price-ranges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"price-ranges.d.ts","sourceRoot":"","sources":["../../../src/opportunities/wizard/price-ranges.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,+GAA+G;AAC/G,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAErC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,2EAA2E;IAC3E,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAMD,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAkBpE;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAOhF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAM/D;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAE5E;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,eAAe,EAAE,CAgBvE;AAWD,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAW/D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,MAAM,CAM/E"}