@cellarnode/ui 0.178.0 → 0.179.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 (255) hide show
  1. package/dist/brand/brand-field-provenance.js +3 -3
  2. package/dist/brand/brand-field-provenance.js.map +1 -1
  3. package/dist/brand/brand-generation-context-form.js +2 -2
  4. package/dist/brand/brand-generation-recovery.js +2 -2
  5. package/dist/brand/brand-generation-recovery.js.map +1 -1
  6. package/dist/brand/brand-image-asset-slot-card.js +1 -1
  7. package/dist/brand/brand-image-chooser.js +1 -1
  8. package/dist/brand/brand-image-source-picker.js +1 -1
  9. package/dist/brand/brand-profile-form-lists.js +2 -2
  10. package/dist/brand/brand-profile-form-people.js +2 -2
  11. package/dist/brand/brand-profile-review-media.js +1 -1
  12. package/dist/brand/brand-profile-workspace-parts.js +1 -1
  13. package/dist/brand/brand-profile-workspace.js +1 -1
  14. package/dist/brand/brand-provenance-summary.js +1 -1
  15. package/dist/brand/brand-summary-card.js +1 -1
  16. package/dist/brand/brand-summary-card.js.map +1 -1
  17. package/dist/chat/chat-composer.d.ts +3 -1
  18. package/dist/chat/chat-composer.d.ts.map +1 -1
  19. package/dist/chat/chat-composer.js +3 -3
  20. package/dist/chat/chat-composer.js.map +1 -1
  21. package/dist/chat/chat-surface.d.ts +23 -2
  22. package/dist/chat/chat-surface.d.ts.map +1 -1
  23. package/dist/chat/chat-surface.js +77 -41
  24. package/dist/chat/chat-surface.js.map +1 -1
  25. package/dist/chat/index.d.ts +2 -0
  26. package/dist/chat/index.d.ts.map +1 -1
  27. package/dist/chat/index.js +1 -0
  28. package/dist/chat/index.js.map +1 -1
  29. package/dist/chat/messenger-layout.js +2 -2
  30. package/dist/chat/messenger-layout.js.map +1 -1
  31. package/dist/chat/messenger-screen/room-panel.d.ts +24 -0
  32. package/dist/chat/messenger-screen/room-panel.d.ts.map +1 -1
  33. package/dist/chat/messenger-screen/room-panel.js +56 -13
  34. package/dist/chat/messenger-screen/room-panel.js.map +1 -1
  35. package/dist/chat/messenger-screen/types.d.ts +2 -0
  36. package/dist/chat/messenger-screen/types.d.ts.map +1 -1
  37. package/dist/chat/use-stick-to-bottom.d.ts +45 -0
  38. package/dist/chat/use-stick-to-bottom.d.ts.map +1 -0
  39. package/dist/chat/use-stick-to-bottom.js +191 -0
  40. package/dist/chat/use-stick-to-bottom.js.map +1 -0
  41. package/dist/chat-ably/use-presence.d.ts +13 -0
  42. package/dist/chat-ably/use-presence.d.ts.map +1 -1
  43. package/dist/chat-ably/use-presence.js +35 -0
  44. package/dist/chat-ably/use-presence.js.map +1 -1
  45. package/dist/components/access-model-select.d.ts.map +1 -1
  46. package/dist/components/access-model-select.js +2 -1
  47. package/dist/components/access-model-select.js.map +1 -1
  48. package/dist/components/accordion.js +1 -1
  49. package/dist/components/animated-select.js +1 -1
  50. package/dist/components/animated-select.js.map +1 -1
  51. package/dist/components/animated-shadcn-select.js +1 -1
  52. package/dist/components/animated-shadcn-select.js.map +1 -1
  53. package/dist/components/avatar-stack.js +3 -3
  54. package/dist/components/avatar-stack.js.map +1 -1
  55. package/dist/components/avatar.js +1 -1
  56. package/dist/components/avatar.js.map +1 -1
  57. package/dist/components/bottle-extract-dialog.js +2 -2
  58. package/dist/components/bottle-extract-dialog.js.map +1 -1
  59. package/dist/components/bottle-extraction-inline-progress.js +1 -1
  60. package/dist/components/bottle-extraction-inline-progress.js.map +1 -1
  61. package/dist/components/card-actions-trigger.js +1 -1
  62. package/dist/components/card-actions-trigger.js.map +1 -1
  63. package/dist/components/checkbox.js +1 -1
  64. package/dist/components/checkbox.js.map +1 -1
  65. package/dist/components/closure-select.d.ts.map +1 -1
  66. package/dist/components/closure-select.js +2 -1
  67. package/dist/components/closure-select.js.map +1 -1
  68. package/dist/components/colour-picker-field.js +1 -1
  69. package/dist/components/colour-picker-field.js.map +1 -1
  70. package/dist/components/composition-editor.js +1 -1
  71. package/dist/components/composition-editor.js.map +1 -1
  72. package/dist/components/confirmation/beverage-comparison-modal.js +1 -1
  73. package/dist/components/confirmation/beverage-comparison-modal.js.map +1 -1
  74. package/dist/components/confirmation/confirmation-card.js +2 -2
  75. package/dist/components/confirmation/confirmation-card.js.map +1 -1
  76. package/dist/components/confirmation/cross-portfolio-nudge-sheet.js +5 -5
  77. package/dist/components/confirmation/cross-portfolio-nudge-sheet.js.map +1 -1
  78. package/dist/components/corner-style-picker.js +1 -1
  79. package/dist/components/corner-style-picker.js.map +1 -1
  80. package/dist/components/country-code-multi-select.d.ts.map +1 -1
  81. package/dist/components/country-code-multi-select.js +2 -1
  82. package/dist/components/country-code-multi-select.js.map +1 -1
  83. package/dist/components/country-code-select.d.ts.map +1 -1
  84. package/dist/components/country-code-select.js +4 -2
  85. package/dist/components/country-code-select.js.map +1 -1
  86. package/dist/components/currency-select.d.ts.map +1 -1
  87. package/dist/components/currency-select.js +2 -1
  88. package/dist/components/currency-select.js.map +1 -1
  89. package/dist/components/delivery-terms-select.d.ts.map +1 -1
  90. package/dist/components/delivery-terms-select.js +2 -1
  91. package/dist/components/delivery-terms-select.js.map +1 -1
  92. package/dist/components/enterprise-type-select.d.ts.map +1 -1
  93. package/dist/components/enterprise-type-select.js +2 -1
  94. package/dist/components/enterprise-type-select.js.map +1 -1
  95. package/dist/components/inset-drawer.js +1 -1
  96. package/dist/components/inset-drawer.js.map +1 -1
  97. package/dist/components/link.d.ts +1 -1
  98. package/dist/components/link.d.ts.map +1 -1
  99. package/dist/components/link.js +3 -2
  100. package/dist/components/link.js.map +1 -1
  101. package/dist/components/offer-card.js +1 -1
  102. package/dist/components/offer-card.js.map +1 -1
  103. package/dist/components/packaging-select.d.ts.map +1 -1
  104. package/dist/components/packaging-select.js +2 -1
  105. package/dist/components/packaging-select.js.map +1 -1
  106. package/dist/components/picker-empty-guidance.js +1 -1
  107. package/dist/components/picker-empty-guidance.js.map +1 -1
  108. package/dist/components/preflight-verdict-sheet.js +2 -2
  109. package/dist/components/preflight-verdict-sheet.js.map +1 -1
  110. package/dist/components/price-range-picker.js +1 -1
  111. package/dist/components/price-range-picker.js.map +1 -1
  112. package/dist/components/procurement-channel-select.d.ts.map +1 -1
  113. package/dist/components/procurement-channel-select.js +2 -1
  114. package/dist/components/procurement-channel-select.js.map +1 -1
  115. package/dist/components/product-card.js +1 -1
  116. package/dist/components/product-card.js.map +1 -1
  117. package/dist/components/product-picker-drawer.js +4 -4
  118. package/dist/components/product-picker-drawer.js.map +1 -1
  119. package/dist/components/radio.js +1 -1
  120. package/dist/components/radio.js.map +1 -1
  121. package/dist/components/region-select.d.ts.map +1 -1
  122. package/dist/components/region-select.js +2 -1
  123. package/dist/components/region-select.js.map +1 -1
  124. package/dist/components/scroll-area.js +1 -1
  125. package/dist/components/shadcn-badge.js +2 -2
  126. package/dist/components/shadcn-badge.js.map +1 -1
  127. package/dist/components/shadcn-button.d.ts.map +1 -1
  128. package/dist/components/shadcn-button.js +2 -2
  129. package/dist/components/shadcn-button.js.map +1 -1
  130. package/dist/components/shadcn-input.js +1 -1
  131. package/dist/components/shadcn-input.js.map +1 -1
  132. package/dist/components/shadcn-select.js +1 -1
  133. package/dist/components/shadcn-select.js.map +1 -1
  134. package/dist/components/shadcn-textarea.js +1 -1
  135. package/dist/components/shadcn-textarea.js.map +1 -1
  136. package/dist/components/source-composite.js +1 -1
  137. package/dist/components/source-composite.js.map +1 -1
  138. package/dist/components/source-drawer.js +1 -1
  139. package/dist/components/source-drawer.js.map +1 -1
  140. package/dist/components/supporting-pane-layout.d.ts +6 -1
  141. package/dist/components/supporting-pane-layout.d.ts.map +1 -1
  142. package/dist/components/supporting-pane-layout.js +65 -12
  143. package/dist/components/supporting-pane-layout.js.map +1 -1
  144. package/dist/components/switch.js +1 -1
  145. package/dist/components/switch.js.map +1 -1
  146. package/dist/components/table.js +1 -1
  147. package/dist/components/table.js.map +1 -1
  148. package/dist/components/tabs.js +1 -1
  149. package/dist/components/text.js +1 -1
  150. package/dist/components/text.js.map +1 -1
  151. package/dist/components/toast.js +1 -1
  152. package/dist/components/toast.js.map +1 -1
  153. package/dist/components/variant-picker-dialog.js +6 -6
  154. package/dist/components/variant-picker-dialog.js.map +1 -1
  155. package/dist/components/variant-picker-hero.js +1 -1
  156. package/dist/components/variant-picker-hero.js.map +1 -1
  157. package/dist/components/year-picker.js +1 -1
  158. package/dist/components/year-picker.js.map +1 -1
  159. package/dist/fic-label/ingredient-input.js +1 -1
  160. package/dist/fic-label/ingredient-input.js.map +1 -1
  161. package/dist/globe/globe-view.js +1 -1
  162. package/dist/globe/globe-view.js.map +1 -1
  163. package/dist/image-upload/focal-point-picker.js +1 -1
  164. package/dist/image-upload/focal-point-picker.js.map +1 -1
  165. package/dist/insight-band/next-best-action-card.js +1 -1
  166. package/dist/insight-band/next-best-action-card.js.map +1 -1
  167. package/dist/marketing/pricing-table.js +1 -1
  168. package/dist/marketing/qr/qr-customizer-controls.js +1 -1
  169. package/dist/marketing/qr/qr-customizer-controls.js.map +1 -1
  170. package/dist/notifications/notification-tray.js +1 -1
  171. package/dist/notifications/notification-tray.js.map +1 -1
  172. package/dist/offer/attachments-card.js +1 -1
  173. package/dist/offer/attachments-card.js.map +1 -1
  174. package/dist/offer/index.d.ts +6 -1
  175. package/dist/offer/index.d.ts.map +1 -1
  176. package/dist/offer/index.js +2 -0
  177. package/dist/offer/index.js.map +1 -1
  178. package/dist/offer/negotiation-flow-timeline.js +1 -1
  179. package/dist/offer/negotiation-flow-timeline.js.map +1 -1
  180. package/dist/offer/offer-branch-fixtures.d.ts +16 -0
  181. package/dist/offer/offer-branch-fixtures.d.ts.map +1 -0
  182. package/dist/offer/offer-branch-fixtures.js +81 -0
  183. package/dist/offer/offer-branch-fixtures.js.map +1 -0
  184. package/dist/offer/offer-branch-list.d.ts +34 -0
  185. package/dist/offer/offer-branch-list.d.ts.map +1 -0
  186. package/dist/offer/offer-branch-list.js +43 -0
  187. package/dist/offer/offer-branch-list.js.map +1 -0
  188. package/dist/offer/offer-branch-shared.d.ts +55 -0
  189. package/dist/offer/offer-branch-shared.d.ts.map +1 -0
  190. package/dist/offer/offer-branch-shared.js +88 -0
  191. package/dist/offer/offer-branch-shared.js.map +1 -0
  192. package/dist/offer/offer-branch-switcher.d.ts +43 -0
  193. package/dist/offer/offer-branch-switcher.d.ts.map +1 -0
  194. package/dist/offer/offer-branch-switcher.js +48 -0
  195. package/dist/offer/offer-branch-switcher.js.map +1 -0
  196. package/dist/offer/offer-evaluation-sections.js +1 -1
  197. package/dist/offer/offer-page.d.ts +62 -2
  198. package/dist/offer/offer-page.d.ts.map +1 -1
  199. package/dist/offer/offer-page.js +122 -14
  200. package/dist/offer/offer-page.js.map +1 -1
  201. package/dist/offer/parties-card.d.ts.map +1 -1
  202. package/dist/offer/parties-card.js +1 -1
  203. package/dist/offer/parties-card.js.map +1 -1
  204. package/dist/offer/reviews-summary.js +1 -1
  205. package/dist/offer/reviews-summary.js.map +1 -1
  206. package/dist/offer/sticky-scroll-padding.d.ts +4 -0
  207. package/dist/offer/sticky-scroll-padding.d.ts.map +1 -0
  208. package/dist/offer/sticky-scroll-padding.js +54 -0
  209. package/dist/offer/sticky-scroll-padding.js.map +1 -0
  210. package/dist/offer/timeline-event.js +1 -1
  211. package/dist/offer/timeline-event.js.map +1 -1
  212. package/dist/opportunities/opportunity-detail-header.js +1 -1
  213. package/dist/opportunities/opportunity-detail-header.js.map +1 -1
  214. package/dist/opportunities/opportunity-detail-panel.js +1 -1
  215. package/dist/opportunities/opportunity-detail-panel.js.map +1 -1
  216. package/dist/opportunities/opportunity-filter-bar.js +1 -1
  217. package/dist/opportunities/opportunity-filter-bar.js.map +1 -1
  218. package/dist/opportunities/opportunity-stacked-card.js +2 -2
  219. package/dist/opportunities/opportunity-stacked-card.js.map +1 -1
  220. package/dist/opportunities/wizard/allowed-delivery-terms-section.js +1 -1
  221. package/dist/opportunities/wizard/allowed-delivery-terms-section.js.map +1 -1
  222. package/dist/opportunities/wizard/opportunity-wizard.js +2 -2
  223. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -1
  224. package/dist/opportunities/wizard/step-opportunities.js +8 -8
  225. package/dist/opportunities/wizard/step-pricing-timeline.js +4 -4
  226. package/dist/opportunities/wizard/step-review.js +1 -1
  227. package/dist/opportunities/wizard/step-tender-basics.js +2 -2
  228. package/dist/opportunities/wizard/wizard-stepper.js +1 -1
  229. package/dist/opportunities/wizard/wizard-task-frame.js +1 -1
  230. package/dist/org/billing-address-source.js +2 -2
  231. package/dist/org/public-location-notice.js +2 -2
  232. package/dist/pdf-tool/live/pdf-label-layer.js +1 -1
  233. package/dist/pdf-tool/live/pdf-label-layer.js.map +1 -1
  234. package/dist/portfolio/portfolio-folder-card.js +1 -1
  235. package/dist/portfolio/portfolio-folder-card.js.map +1 -1
  236. package/dist/portfolio-import/beverage-comparison-modal.js +5 -5
  237. package/dist/portfolio-import/beverage-comparison-modal.js.map +1 -1
  238. package/dist/portfolio-import/bottle-photos-status.js +1 -1
  239. package/dist/portfolio-import/bottle-photos-status.js.map +1 -1
  240. package/dist/portfolio-import/import-job-detail-view.js +1 -1
  241. package/dist/portfolio-import/import-job-detail-view.js.map +1 -1
  242. package/dist/portfolio-import/product-gallery.js +1 -1
  243. package/dist/portfolio-import/product-gallery.js.map +1 -1
  244. package/dist/product-editor/product-editor-surface.js +1 -1
  245. package/dist/product-editor/product-editor-surface.js.map +1 -1
  246. package/dist/product-editor/tabs/product-status-tab.js +1 -1
  247. package/dist/product-editor/tabs/product-status-tab.js.map +1 -1
  248. package/dist/product-editor/tabs/resources/awards-panel.js +2 -2
  249. package/dist/product-editor/tabs/resources/awards-panel.js.map +1 -1
  250. package/dist/profile/business-details.js +1 -1
  251. package/dist/profile/business-details.js.map +1 -1
  252. package/dist/profile/product-detail-drawer.js +2 -2
  253. package/dist/profile/product-detail-drawer.js.map +1 -1
  254. package/package.json +1 -1
  255. package/src/theme/tokens.css +7 -1
@@ -57,7 +57,7 @@ export function StepOpportunities({ items, onChange, onValidityChange, focusItem
57
57
  if (items.length >= VIRTUALIZE_THRESHOLD) {
58
58
  return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Opportunities", description: "Define each product request inside this tender. Producers respond to opportunities individually.", aside: _jsx(OpportunityCount, { count: items.length }) }), _jsx(WizardDomainSection, { title: "Requested products", description: "Keep each request specific enough for producers to judge fit.", children: _jsx(VirtualizedList, { items: items, expandedSet: expandedSet, onToggle: toggle, onUpdateItem: updateItem, onRemoveItem: removeItem, onAddItem: addItem, focusItemIndex: focusItemIndex }) })] }));
59
59
  }
60
- return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Opportunities", description: "Define each product request inside this tender. Producers respond to opportunities individually.", aside: _jsx(OpportunityCount, { count: items.length }) }), _jsx(WizardDomainSection, { title: "Requested products", description: "Keep each request specific enough for producers to judge fit.", action: items.length >= 3 ? (_jsx("button", { type: "button", className: "min-h-11 rounded-md px-3 text-sm/5 font-medium text-muted-foreground underline decoration-border underline-offset-4 transition-colors duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", onClick: () => setExpandedSet(new Set(items.map((i) => i.clientId))), children: "Expand all" })) : undefined, children: _jsxs("div", { className: "flex flex-col gap-3", children: [items.map((it, index) => (_jsx(OpportunityCard, { itemIndex: index, opp: it, expanded: expandedSet.has(it.clientId) || index === focusItemIndex, onToggle: () => toggle(it.clientId), onUpdate: (p) => updateItem(it.clientId, p), onRemove: items.length > 1 ? () => removeItem(it.clientId) : undefined }, it.clientId))), _jsxs("button", { type: "button", onClick: addItem, className: "inline-flex min-h-11 items-center gap-2 self-start rounded-md border border-dashed border-border px-3 text-sm/5 font-medium text-muted-foreground transition-[color,background-color,border-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:border-foreground/30 hover:bg-muted hover:text-foreground active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), " Add opportunity"] })] }) })] }));
60
+ return (_jsxs("div", { className: cn("flex max-w-5xl flex-col gap-8", className), children: [_jsx(WizardStepIntro, { title: "Opportunities", description: "Define each product request inside this tender. Producers respond to opportunities individually.", aside: _jsx(OpportunityCount, { count: items.length }) }), _jsx(WizardDomainSection, { title: "Requested products", description: "Keep each request specific enough for producers to judge fit.", action: items.length >= 3 ? (_jsx("button", { type: "button", className: "min-h-11 rounded-md px-3 text-sm/5 font-medium text-muted-foreground underline decoration-border underline-offset-4 transition-colors duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", onClick: () => setExpandedSet(new Set(items.map((i) => i.clientId))), children: "Expand all" })) : undefined, children: _jsxs("div", { className: "flex flex-col gap-3", children: [items.map((it, index) => (_jsx(OpportunityCard, { itemIndex: index, opp: it, expanded: expandedSet.has(it.clientId) || index === focusItemIndex, onToggle: () => toggle(it.clientId), onUpdate: (p) => updateItem(it.clientId, p), onRemove: items.length > 1 ? () => removeItem(it.clientId) : undefined }, it.clientId))), _jsxs("button", { type: "button", onClick: addItem, className: "inline-flex min-h-11 items-center gap-2 self-start rounded-md border border-dashed border-border px-3 text-sm/5 font-medium text-muted-foreground transition-[color,background-color,border-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:border-foreground/30 hover:bg-muted hover:text-foreground active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), " Add opportunity"] })] }) })] }));
61
61
  }
62
62
  function OpportunityCount({ count }) {
63
63
  return (_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: [count, " ", count === 1 ? "opportunity" : "opportunities"] }));
@@ -101,7 +101,7 @@ function VirtualizedList(props) {
101
101
  right: 0,
102
102
  transform: `translateY(${row.start}px)`,
103
103
  }, children: _jsx(OpportunityCard, { itemIndex: row.index, opp: it, expanded: props.expandedSet.has(it.clientId) || row.index === props.focusItemIndex, onToggle: () => props.onToggle(it.clientId), onUpdate: (p) => props.onUpdateItem(it.clientId, p), onRemove: props.items.length > 1 ? () => props.onRemoveItem(it.clientId) : undefined }) }, it.clientId));
104
- }) }) }), _jsxs("button", { type: "button", onClick: props.onAddItem, className: "inline-flex min-h-11 items-center gap-2 self-start rounded-md border border-dashed border-border px-3 text-sm/5 font-medium text-muted-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), " Add opportunity"] })] }));
104
+ }) }) }), _jsxs("button", { type: "button", onClick: props.onAddItem, className: "inline-flex min-h-11 items-center gap-2 self-start rounded-md border border-dashed border-border px-3 text-sm/5 font-medium text-muted-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(Plus, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), " Add opportunity"] })] }));
105
105
  }
106
106
  function OpportunityCard({ itemIndex, opp, expanded, onToggle, onUpdate, onRemove, }) {
107
107
  const fieldId = React.useId();
@@ -136,7 +136,7 @@ function OpportunityCard({ itemIndex, opp, expanded, onToggle, onUpdate, onRemov
136
136
  subtype: keepSubtype,
137
137
  });
138
138
  };
139
- return (_jsxs("article", { "data-opportunity-index": itemIndex, className: "overflow-hidden rounded-xl border border-border bg-card", children: [_jsxs("div", { className: "flex min-h-16 items-center gap-2 px-4 sm:px-5", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "min-w-0 flex-1 rounded-md py-3 text-left focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", "aria-expanded": expanded, children: [_jsx("div", { className: "truncate text-sm/5 font-semibold", children: opp.name?.trim() || `Opportunity ${itemIndex + 1}` }), _jsxs("div", { className: "mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs/4 text-muted-foreground", children: [_jsx("span", { children: categoryLabel }), _jsx("span", { "aria-hidden": true, children: "\u2022" }), _jsx("span", { children: originLabel }), _jsx("span", { "aria-hidden": true, children: "\u2022" }), _jsx("span", { children: quantityLabel })] })] }), onRemove ? (_jsx("button", { type: "button", onClick: onRemove, "aria-label": "Remove opportunity", className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-[var(--tone-danger-soft)] hover:text-[var(--tone-danger-fg)] active:scale-[0.97] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: _jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }) })) : null] }), expanded ? (_jsxs("div", { className: "flex flex-col gap-5 border-t border-border/70 px-4 py-5 sm:px-5", children: [_jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: _jsx(LabeledInput, { id: `${fieldId}-name`, fieldName: "name", label: "Name", value: opp.name ?? "", onChange: (v) => onUpdate({ name: v }), required: true, className: "md:col-span-2" }) }), _jsx(FieldGroup, { label: "Classification", children: _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx(ClassificationSelect, { id: `${fieldId}-category`, fieldName: "category", label: "Category", placeholder: "Select category", options: CATEGORY_OPTIONS, value: opp.category ?? null, onChange: onChangeCategory }), _jsx(ClassificationSelect, { id: `${fieldId}-subtype`, fieldName: "subtype", label: "Subtype", placeholder: opp.category ? "Select subtype" : "Select a category first", options: getSubtypeOptions(opp.category), value: opp.subtype ?? null, onChange: (v) => onUpdate({ subtype: v ?? undefined }), disabled: !opp.category,
139
+ return (_jsxs("article", { "data-opportunity-index": itemIndex, className: "overflow-hidden rounded-xl border border-border bg-card", children: [_jsxs("div", { className: "flex min-h-16 items-center gap-2 px-4 sm:px-5", children: [_jsxs("button", { type: "button", onClick: onToggle, className: "min-w-0 flex-1 rounded-md py-3 text-left focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", "aria-expanded": expanded, children: [_jsx("div", { className: "truncate text-sm/5 font-semibold", children: opp.name?.trim() || `Opportunity ${itemIndex + 1}` }), _jsxs("div", { className: "mt-1 flex flex-wrap gap-x-2 gap-y-1 text-xs/4 text-muted-foreground", children: [_jsx("span", { children: categoryLabel }), _jsx("span", { "aria-hidden": true, children: "\u2022" }), _jsx("span", { children: originLabel }), _jsx("span", { "aria-hidden": true, children: "\u2022" }), _jsx("span", { children: quantityLabel })] })] }), onRemove ? (_jsx("button", { type: "button", onClick: onRemove, "aria-label": "Remove opportunity", className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-[var(--tone-danger-soft)] hover:text-[var(--tone-danger-fg)] active:scale-[0.97] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: _jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }) })) : null] }), expanded ? (_jsxs("div", { className: "flex flex-col gap-5 border-t border-border/70 px-4 py-5 sm:px-5", children: [_jsx("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: _jsx(LabeledInput, { id: `${fieldId}-name`, fieldName: "name", label: "Name", value: opp.name ?? "", onChange: (v) => onUpdate({ name: v }), required: true, className: "md:col-span-2" }) }), _jsx(FieldGroup, { label: "Classification", children: _jsxs("div", { className: "grid grid-cols-1 gap-4 md:grid-cols-2", children: [_jsx(ClassificationSelect, { id: `${fieldId}-category`, fieldName: "category", label: "Category", placeholder: "Select category", options: CATEGORY_OPTIONS, value: opp.category ?? null, onChange: onChangeCategory }), _jsx(ClassificationSelect, { id: `${fieldId}-subtype`, fieldName: "subtype", label: "Subtype", placeholder: opp.category ? "Select subtype" : "Select a category first", options: getSubtypeOptions(opp.category), value: opp.subtype ?? null, onChange: (v) => onUpdate({ subtype: v ?? undefined }), disabled: !opp.category,
140
140
  // CEL-2105 — the backend stores classification as a
141
141
  // {category, subtype} pair, so a category on its own is not
142
142
  // saved to the draft. Say so instead of dropping it silently.
@@ -188,11 +188,11 @@ function LabeledInput({ id, fieldName, label, value, onChange, type = "text", re
188
188
  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) => {
189
189
  setInternal(e.target.value);
190
190
  onChange(e.target.value);
191
- }, required: required, min: min, max: max, step: step, className: "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/50 dark:bg-input/30" })] }));
191
+ }, required: required, min: min, max: max, step: step, className: "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-input/30" })] }));
192
192
  }
193
193
  /** Multi-line sibling of `<LabeledInput>` for longer free text (CEL-2090 `otherRequirements`, CEL-2102 `storageMethod`). */
194
194
  function LabeledTextarea({ id, fieldName, label, value, onChange, className, }) {
195
- return (_jsxs("div", { "data-wizard-field": fieldName, className: cn("flex flex-col gap-1.5", className), children: [_jsx("label", { htmlFor: id, className: "text-xs font-semibold text-foreground", children: label }), _jsx("textarea", { id: id, value: value, onChange: (e) => onChange(e.target.value), rows: 3, 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/50 dark:bg-input/30" })] }));
195
+ return (_jsxs("div", { "data-wizard-field": fieldName, className: cn("flex flex-col gap-1.5", className), children: [_jsx("label", { htmlFor: id, className: "text-xs font-semibold text-foreground", children: label }), _jsx("textarea", { id: id, value: value, onChange: (e) => onChange(e.target.value), rows: 3, 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-input/30" })] }));
196
196
  }
197
197
  /**
198
198
  * Accepted vintage years (CEL-2090 `vintages`), entered as a comma-separated
@@ -223,7 +223,7 @@ function VintagesInput({ id, value, onChange, }) {
223
223
  .map((part) => Number.parseInt(part.trim(), 10))
224
224
  .filter((year) => Number.isInteger(year) && year >= 1900 && year <= 2100);
225
225
  onChange(years.length > 0 ? years : undefined);
226
- }, className: "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/50 dark:bg-input/30" }), value && value.length > 0 ? (_jsx("div", { className: "flex flex-wrap gap-1.5", "aria-label": "Parsed vintage years", children: value.map((year) => (_jsx("span", { className: "inline-flex h-6 items-center rounded-full bg-muted px-2 text-xs font-medium text-muted-foreground", children: year }, year))) })) : null] }));
226
+ }, className: "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-input/30" }), value && value.length > 0 ? (_jsx("div", { className: "flex flex-wrap gap-1.5", "aria-label": "Parsed vintage years", children: value.map((year) => (_jsx("span", { className: "inline-flex h-6 items-center rounded-full bg-muted px-2 text-xs font-medium text-muted-foreground", children: year }, year))) })) : null] }));
227
227
  }
228
228
  /** Repeatable grape/amount rows (CEL-2090 `grapeBlend`) — mirrors the opportunity list's own add/remove affordance. */
229
229
  function GrapeBlendEditor({ id, value, onChange, }) {
@@ -255,7 +255,7 @@ function GrapeBlendEditor({ id, value, onChange, }) {
255
255
  setRowIds((prev) => [...prev, crypto.randomUUID()]);
256
256
  onChange([...rows, { grape: "" }]);
257
257
  };
258
- return (_jsxs("fieldset", { id: id, "data-wizard-field": "grapeBlend", className: "mt-4 flex flex-col gap-2 border-0 p-0", children: [_jsx("legend", { className: "text-xs font-semibold text-foreground", children: "Grape blend" }), rows.map((row, index) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "text", "aria-label": `Grape ${index + 1}`, placeholder: "Grape variety", value: row.grape, onChange: (e) => updateRow(index, { grape: e.target.value }), className: "h-11 w-full min-w-0 flex-1 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 dark:bg-input/30" }), _jsx("input", { type: "text", "aria-label": `Amount for grape ${index + 1}`, placeholder: "Amount (e.g. 60%)", value: row.amount ?? "", onChange: (e) => updateRow(index, { amount: e.target.value || undefined }), className: "h-11 w-40 shrink-0 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 dark:bg-input/30" }), _jsx("button", { type: "button", onClick: () => removeRow(index), "aria-label": `Remove grape ${index + 1}`, className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-[var(--tone-danger-soft)] hover:text-[var(--tone-danger-fg)] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: _jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }) })] }, rowIds[index] ?? index))), _jsxs("button", { type: "button", onClick: addRow, className: "inline-flex min-h-9 items-center gap-1.5 self-start rounded-md border border-dashed border-border px-2.5 text-xs font-medium text-muted-foreground hover:border-foreground/30 hover:bg-muted hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: [_jsx(Plus, { "aria-hidden": true, className: "size-3.5", strokeWidth: 1.75 }), " Add grape"] })] }));
258
+ return (_jsxs("fieldset", { id: id, "data-wizard-field": "grapeBlend", className: "mt-4 flex flex-col gap-2 border-0 p-0", children: [_jsx("legend", { className: "text-xs font-semibold text-foreground", children: "Grape blend" }), rows.map((row, index) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "text", "aria-label": `Grape ${index + 1}`, placeholder: "Grape variety", value: row.grape, onChange: (e) => updateRow(index, { grape: e.target.value }), className: "h-11 w-full min-w-0 flex-1 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-input/30" }), _jsx("input", { type: "text", "aria-label": `Amount for grape ${index + 1}`, placeholder: "Amount (e.g. 60%)", value: row.amount ?? "", onChange: (e) => updateRow(index, { amount: e.target.value || undefined }), className: "h-11 w-40 shrink-0 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/70 dark:bg-input/30" }), _jsx("button", { type: "button", onClick: () => removeRow(index), "aria-label": `Remove grape ${index + 1}`, className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-[var(--tone-danger-soft)] hover:text-[var(--tone-danger-fg)] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: _jsx(Trash2, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }) })] }, rowIds[index] ?? index))), _jsxs("button", { type: "button", onClick: addRow, className: "inline-flex min-h-9 items-center gap-1.5 self-start rounded-md border border-dashed border-border px-2.5 text-xs font-medium text-muted-foreground hover:border-foreground/30 hover:bg-muted hover:text-foreground focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(Plus, { "aria-hidden": true, className: "size-3.5", strokeWidth: 1.75 }), " Add grape"] })] }));
259
259
  }
260
260
  /** Organic / Fairtrade / Sustainable toggles (CEL-2090 `certifications`), sourced from the shared beverage-utils registry so the ids/labels stay in lockstep with every other dashboard's certification chips. */
261
261
  function CertificationsField({ id, value, onChange, }) {
@@ -267,7 +267,7 @@ function CertificationsField({ id, value, onChange, }) {
267
267
  return (_jsx("div", { "data-wizard-field": "certifications", className: "flex flex-wrap gap-4", children: CERTIFICATION_TYPES.map((type) => {
268
268
  const { fallback } = certificationLabelKey(type);
269
269
  const checkboxId = `${id}-${type}`;
270
- return (_jsxs("label", { htmlFor: checkboxId, className: "inline-flex min-h-9 items-center gap-2 text-sm/5 text-foreground", children: [_jsx("input", { id: checkboxId, type: "checkbox", checked: value?.[type] ?? false, onChange: (e) => toggle(type, e.target.checked), className: "size-4 rounded-xs border-input accent-primary focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50" }), fallback] }, type));
270
+ return (_jsxs("label", { htmlFor: checkboxId, className: "inline-flex min-h-9 items-center gap-2 text-sm/5 text-foreground", children: [_jsx("input", { id: checkboxId, type: "checkbox", checked: value?.[type] ?? false, onChange: (e) => toggle(type, e.target.checked), className: "size-4 rounded-xs border-input accent-primary focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70" }), fallback] }, type));
271
271
  }) }));
272
272
  }
273
273
  //# sourceMappingURL=step-opportunities.js.map
@@ -55,10 +55,10 @@ export function StepPricingTimeline({ items, onChange, onValidityChange, initial
55
55
  if (items.length === 0) {
56
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, commercial 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, commercial 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/50", 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/50", 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/50", 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) => {
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, commercial 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
- 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/50", children: [_jsx("span", { "aria-hidden": true, className: cn("size-2 rounded-full", complete
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
62
62
  ? "bg-[var(--tone-success-solid)]"
63
63
  : "bg-[var(--tone-warning-solid)]") }), title] }, it.clientId));
64
64
  }) }), items.map((it, index) => (_jsx(Tabs.Content, { value: it.clientId, className: "pt-5", children: _jsx(PricingFields, { itemIndex: index, opp: it, onUpdate: (p) => updateItem(it.clientId, p) }, it.clientId) }, it.clientId)))] }))] })] }));
@@ -73,10 +73,10 @@ function PricingFields({ itemIndex, opp, onUpdate, }) {
73
73
  setLocal((prev) => ({ ...prev, ...patch }));
74
74
  onUpdate(patch);
75
75
  };
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/50 dark:bg-input/30";
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-input/30";
77
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: "Commercial range" }), _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": "Price min", type: "number", min: "0", step: "0.01", value: merged.priceMin ?? "", onChange: (e) => update({ priceMin: e.target.value === "" ? undefined : Number(e.target.value) }), 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": "Price max", type: "number", min: "0", step: "0.01", value: merged.priceMax ?? "", onChange: (e) => update({ priceMax: e.target.value === "" ? undefined : Number(e.target.value) }), className: inputClass }), merged.priceMin != null &&
78
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/50 dark:bg-input/30" })] })] }), _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 &&
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-input/30" })] })] }), _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
80
  merged.submissionDeadline &&
81
81
  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
82
  merged.submissionDeadline &&
@@ -76,7 +76,7 @@ function formatDeliveryTermFallback(id) {
76
76
  function EditButton({ label, step, onEditStep, }) {
77
77
  if (!onEditStep)
78
78
  return null;
79
- return (_jsxs("button", { type: "button", onClick: () => onEditStep(step), className: "inline-flex min-h-11 items-center gap-2 rounded-md px-3 text-sm/5 font-medium text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted hover:text-foreground active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: [_jsx(Pencil, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), "Edit ", _jsx("span", { className: "sr-only", children: label })] }));
79
+ return (_jsxs("button", { type: "button", onClick: () => onEditStep(step), className: "inline-flex min-h-11 items-center gap-2 rounded-md px-3 text-sm/5 font-medium text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted hover:text-foreground active:scale-[0.98] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: [_jsx(Pencil, { "aria-hidden": true, className: "size-4", strokeWidth: 1.75 }), "Edit ", _jsx("span", { className: "sr-only", children: label })] }));
80
80
  }
81
81
  export function StepReview({ tender, priceTypes, onEditStep, className }) {
82
82
  const opps = tender.opportunities ?? [];
@@ -45,9 +45,9 @@ export function StepTenderBasics({ initialValues, onChange, onValidityChange, cl
45
45
  React.useEffect(() => {
46
46
  onValidityChange?.(formState.isValid);
47
47
  }, [formState.isValid, onValidityChange]);
48
- return (_jsxs("form", { className: cn("flex max-w-3xl flex-col gap-8", className), onSubmit: (e) => e.preventDefault(), children: [_jsx(WizardStepIntro, { title: "Tender details", description: "Name this procurement round, choose its market, and give producers shared submission guidance." }), _jsx(WizardDomainSection, { title: "Identity and market", description: "These details identify this tender wherever producers encounter it.", children: _jsxs("div", { className: "grid grid-cols-1 gap-5 md:grid-cols-2", children: [_jsxs("div", { className: "flex flex-col gap-1.5 md:col-span-2", children: [_jsx("label", { htmlFor: "tender-name", className: "text-sm/5 font-medium text-foreground", children: "Tender name" }), _jsx("input", { id: "tender-name", type: "text", ...register("name"), "aria-invalid": !!formState.errors.name || undefined, "aria-describedby": formState.errors.name ? "tender-name-err" : undefined, className: "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/50 dark:bg-input/30", placeholder: "Example: Sweden spring 2027 procurement" }), formState.errors.name ? (_jsx("p", { id: "tender-name-err", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: formState.errors.name.message })) : null] }), _jsx(Controller, { control: control, name: "targetCountry", render: ({ field }) => (_jsx(CountryCodeSelect, { id: "tender-country", label: "Target country", options: WIZARD_MARKET_COUNTRY_OPTIONS, value: field.value || null, onChange: (next) => {
48
+ return (_jsxs("form", { className: cn("flex max-w-3xl flex-col gap-8", className), onSubmit: (e) => e.preventDefault(), children: [_jsx(WizardStepIntro, { title: "Tender details", description: "Name this procurement round, choose its market, and give producers shared submission guidance." }), _jsx(WizardDomainSection, { title: "Identity and market", description: "These details identify this tender wherever producers encounter it.", children: _jsxs("div", { className: "grid grid-cols-1 gap-5 md:grid-cols-2", children: [_jsxs("div", { className: "flex flex-col gap-1.5 md:col-span-2", children: [_jsx("label", { htmlFor: "tender-name", className: "text-sm/5 font-medium text-foreground", children: "Tender name" }), _jsx("input", { id: "tender-name", type: "text", ...register("name"), "aria-invalid": !!formState.errors.name || undefined, "aria-describedby": formState.errors.name ? "tender-name-err" : undefined, className: "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-input/30", placeholder: "Example: Sweden spring 2027 procurement" }), formState.errors.name ? (_jsx("p", { id: "tender-name-err", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: formState.errors.name.message })) : null] }), _jsx(Controller, { control: control, name: "targetCountry", render: ({ field }) => (_jsx(CountryCodeSelect, { id: "tender-country", label: "Target country", options: WIZARD_MARKET_COUNTRY_OPTIONS, value: field.value || null, onChange: (next) => {
49
49
  field.onChange(next ?? "");
50
50
  void trigger("targetCountry");
51
- }, renderOrphanBanner: (orphan) => (_jsx(OrphanValueBanner, { value: orphan, kind: "country", options: COUNTRY_ORPHAN_OPTIONS })), error: formState.errors.targetCountry?.message, helperText: formState.errors.targetCountry ? undefined : "Market where producers will sell." })) })] }) }), _jsx(WizardDomainSection, { title: "Submission guidance", description: "Optional shared context for every opportunity in this tender.", children: _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("label", { htmlFor: "tender-instructions", className: "text-sm/5 font-medium text-foreground", children: "Instructions (optional)" }), _jsx("textarea", { id: "tender-instructions", rows: 6, ...register("instructions"), "aria-invalid": !!formState.errors.instructions || undefined, "aria-describedby": formState.errors.instructions ? "tender-instructions-err" : "tender-instructions-help", 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/50 dark:bg-input/30", placeholder: "Add submission expectations, contacts, or requirements shared across this tender." }), formState.errors.instructions ? (_jsx("p", { id: "tender-instructions-err", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: formState.errors.instructions.message })) : (_jsx("p", { id: "tender-instructions-help", className: "text-xs/4 text-muted-foreground", children: "Up to 2,000 characters. Plain text." }))] }) })] }));
51
+ }, renderOrphanBanner: (orphan) => (_jsx(OrphanValueBanner, { value: orphan, kind: "country", options: COUNTRY_ORPHAN_OPTIONS })), error: formState.errors.targetCountry?.message, helperText: formState.errors.targetCountry ? undefined : "Market where producers will sell." })) })] }) }), _jsx(WizardDomainSection, { title: "Submission guidance", description: "Optional shared context for every opportunity in this tender.", children: _jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("label", { htmlFor: "tender-instructions", className: "text-sm/5 font-medium text-foreground", children: "Instructions (optional)" }), _jsx("textarea", { id: "tender-instructions", rows: 6, ...register("instructions"), "aria-invalid": !!formState.errors.instructions || undefined, "aria-describedby": formState.errors.instructions ? "tender-instructions-err" : "tender-instructions-help", 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-input/30", placeholder: "Add submission expectations, contacts, or requirements shared across this tender." }), formState.errors.instructions ? (_jsx("p", { id: "tender-instructions-err", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: formState.errors.instructions.message })) : (_jsx("p", { id: "tender-instructions-help", className: "text-xs/4 text-muted-foreground", children: "Up to 2,000 characters. Plain text." }))] }) })] }));
52
52
  }
53
53
  //# sourceMappingURL=step-tender-basics.js.map
@@ -24,7 +24,7 @@ function WizardStepperBase({ steps, currentIndex, completedIndexes, activeSubSta
24
24
  }, className: "h-full w-full bg-[color:var(--color-wizard-connector-done,var(--tone-success-solid))] transition-transform duration-[var(--duration-celebratory)] ease-[var(--ease-emphasized)] motion-reduce:transition-none" }) })) : null, _jsxs("div", { className: "relative flex min-w-0 flex-col items-center", children: [_jsxs("button", { type: "button", "aria-label": labelText, "aria-current": isActive ? "step" : undefined, "aria-disabled": isPending ? "true" : undefined, onClick: () => {
25
25
  if (isComplete)
26
26
  onJumpBack(i);
27
- }, className: cn("inline-flex min-h-11 min-w-11 max-w-full items-center justify-center gap-2 rounded-md px-2 text-sm/5 font-medium transition-[color,background-color,transform,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50 sm:px-3", isComplete &&
27
+ }, className: cn("inline-flex min-h-11 min-w-11 max-w-full items-center justify-center gap-2 rounded-md px-2 text-sm/5 font-medium transition-[color,background-color,transform,box-shadow] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70 sm:px-3", isComplete &&
28
28
  "cursor-pointer bg-[var(--tone-success-soft)] text-[var(--tone-success-fg)] hover:bg-[var(--tone-success-surface)] active:scale-[0.98]", isActive &&
29
29
  "bg-foreground text-background shadow-[var(--shadow-soft)] motion-safe:animate-[wizard-stepper-active-glow_1200ms_var(--ease-emphasized)_forwards]", isPending && "cursor-not-allowed bg-muted/60 text-muted-foreground"), "data-wizard-stepper-active": isActive || undefined, "data-wizard-stepper-complete": isComplete || undefined, children: [_jsx("span", { "aria-hidden": true, className: cn("inline-flex size-6 shrink-0 items-center justify-center rounded-full text-xs/4 tabular-nums", isComplete &&
30
30
  "bg-[var(--tone-success-solid)] text-[var(--tone-success-solid-fg)]", isActive && "bg-background/15 text-background", isPending && "bg-background text-muted-foreground"), children: isComplete ? (_jsx(Check, { "aria-hidden": true, "data-wizard-checkmark": true, className: "size-3.5" })) : (i + 1) }), _jsx("span", { className: "hidden min-w-0 truncate sm:block", children: step.label })] }, isActive ? "active" : "idle"), isActive && activeSubStatus ? (_jsx("span", { className: "mt-1 hidden text-xs/4 text-muted-foreground sm:block", children: activeSubStatus })) : null] })] }, step.id));
@@ -108,7 +108,7 @@ export function WizardTaskFrame({ title, currentStep, stepCount, onClose, childr
108
108
  // clear both bars — must be on the ROOT (`**:`, not just inside
109
109
  // `children`) so the stepper buttons, which render outside the
110
110
  // wizard body when tab order wraps, also clear the sticky header.
111
- "w-full bg-background text-foreground **:scroll-mt-28 **:scroll-mb-24", className), children: [_jsxs("header", { ref: headerRef, className: "sticky top-0 z-20 border-b border-border bg-background", children: [_jsxs("div", { className: "flex min-h-16 items-center gap-3 px-4 sm:px-6", children: [_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close wizard", className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted hover:text-foreground active:scale-[0.97] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: _jsx(X, { "aria-hidden": true, className: "size-5", strokeWidth: 1.75 }) }), _jsx("span", { "aria-hidden": true, className: "h-6 w-px shrink-0 bg-border" }), _jsx("h1", { className: "min-w-0 flex-1 truncate font-display text-2xl/8 font-semibold tracking-tight", children: title }), _jsxs("p", { className: "shrink-0 text-sm/5 tabular-nums text-muted-foreground", children: ["Step ", currentStep, " of ", stepCount] })] }), _jsx("div", { role: "progressbar", "aria-label": "Wizard progress", "aria-valuemin": 1, "aria-valuemax": stepCount, "aria-valuenow": currentStep, className: "h-1 overflow-hidden bg-muted", children: _jsx("div", { style: { transform: `scaleX(${progress})`, transformOrigin: "left center" }, className: "h-full w-full bg-[var(--tone-success-solid)] transition-transform duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] motion-reduce:transition-none" }) })] }), children, _jsx("footer", { ref: footerRef, className: "sticky bottom-0 z-20 border-t border-border bg-muted px-4 py-3 sm:px-6", children: footer })] }));
111
+ "w-full bg-background text-foreground **:scroll-mt-28 **:scroll-mb-24", className), children: [_jsxs("header", { ref: headerRef, className: "sticky top-0 z-20 border-b border-border bg-background", children: [_jsxs("div", { className: "flex min-h-16 items-center gap-3 px-4 sm:px-6", children: [_jsx("button", { type: "button", onClick: onClose, "aria-label": "Close wizard", className: "inline-flex size-11 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-[color,background-color,transform] duration-[var(--duration-micro)] ease-[var(--ease-emphasized)] hover:bg-muted hover:text-foreground active:scale-[0.97] focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: _jsx(X, { "aria-hidden": true, className: "size-5", strokeWidth: 1.75 }) }), _jsx("span", { "aria-hidden": true, className: "h-6 w-px shrink-0 bg-border" }), _jsx("h1", { className: "min-w-0 flex-1 truncate font-display text-2xl/8 font-semibold tracking-tight", children: title }), _jsxs("p", { className: "shrink-0 text-sm/5 tabular-nums text-muted-foreground", children: ["Step ", currentStep, " of ", stepCount] })] }), _jsx("div", { role: "progressbar", "aria-label": "Wizard progress", "aria-valuemin": 1, "aria-valuemax": stepCount, "aria-valuenow": currentStep, className: "h-1 overflow-hidden bg-muted", children: _jsx("div", { style: { transform: `scaleX(${progress})`, transformOrigin: "left center" }, className: "h-full w-full bg-[var(--tone-success-solid)] transition-transform duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] motion-reduce:transition-none" }) })] }), children, _jsx("footer", { ref: footerRef, className: "sticky bottom-0 z-20 border-t border-border bg-muted px-4 py-3 sm:px-6", children: footer })] }));
112
112
  }
113
113
  export function WizardSaveStatusIndicator({ status }) {
114
114
  const Icon = status.kind === "pending"
@@ -5,7 +5,7 @@ import { cn } from "../lib/utils.js";
5
5
  import { BILLING_ADDRESS_SOURCES, defaultTranslate } from "./address-types.js";
6
6
  import { PostalAddressDisplay } from "./postal-address-display.js";
7
7
  import { PostalAddressFields } from "./postal-address-fields.js";
8
- const OPTION_BASE = "flex min-h-11 flex-1 items-center gap-2.5 rounded-xl border border-border bg-card px-3.5 py-2.5 text-left text-sm/5 font-medium text-foreground hover:bg-muted/50 focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50";
8
+ const OPTION_BASE = "flex min-h-11 flex-1 items-center gap-2.5 rounded-xl border border-border bg-card px-3.5 py-2.5 text-left text-sm/5 font-medium text-foreground hover:bg-muted/50 focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70";
9
9
  const OPTION_SELECTED = "border-primary bg-primary/5";
10
10
  function SourceOption({ selected, onSelect, onKeyDown, optionRef, tabIndex, disabled, label, }) {
11
11
  return (_jsxs("button", { type: "button", role: "radio", "aria-checked": selected, ref: optionRef, tabIndex: tabIndex, disabled: disabled, onClick: onSelect, onKeyDown: onKeyDown, className: cn(OPTION_BASE, selected && OPTION_SELECTED, disabled && "cursor-not-allowed opacity-70"), children: [_jsx("span", { "aria-hidden": "true", className: cn("grid size-4 shrink-0 place-items-center rounded-full border", selected ? "border-primary bg-primary text-primary-foreground" : "border-border"), children: selected ? _jsx(CheckIcon, { className: "size-3" }) : null }), label] }));
@@ -80,6 +80,6 @@ export function BillingAddressSourceControl({ billingAddressSource, billingAddre
80
80
  }, tabIndex: isCustom ? 0 : -1, disabled: disabled || isPending, label: t("org.billing.useCustom", "Use different billing address") })] }), sourceSaveStatus === "pending" ? (_jsx("p", { role: "status", className: "text-sm/5 text-muted-foreground", children: t("org.billing.sourceSaving", "Saving billing preference…") })) : null, sourceSaveStatus === "saved" ? (_jsx("p", { role: "status", className: "text-sm/5 text-[var(--tone-success-fg)]", children: t("org.billing.sourceSaved", "Billing preference saved") })) : null, sourceSaveStatus === "error" ? (_jsx("p", { role: "alert", className: "text-sm/5 text-[var(--tone-danger-fg)]", children: sourceSaveErrorMessage ??
81
81
  t("org.billing.sourceSaveError", "Couldn't save your billing preference. Try again.") })) : null, !isCustom ? (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx("p", { className: "text-xs/5 text-muted-foreground", children: billingAddressStatus === "organisation"
82
82
  ? t("org.billing.effectiveIsOrganisation", "Same as your organisation address:")
83
- : t("org.billing.effectiveAddress", "Effective billing address:") }), _jsx(PostalAddressDisplay, { address: effectiveBillingAddress, countryOptions: countryOptions, t: t, emptyLabel: t("org.billing.noEffectiveAddress", "No billing address on file yet.") })] })) : editingCustomAddress ? (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(PostalAddressFields, { value: customAddressFormValue, onChange: onCustomAddressFormChange, countryOptions: countryOptions, idPrefix: `${idPrefix}-custom`, t: t, disabled: disabled, errors: customAddressErrors, saveStatus: customAddressSaveStatus, saveErrorMessage: customAddressSaveErrorMessage }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", onClick: onSaveCustomAddress, disabled: disabled || customAddressSaveStatus === "pending", className: "min-h-11 rounded-lg bg-primary px-3.5 py-2 text-sm/5 font-medium text-primary-foreground hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-60", children: t("org.billing.saveCustomAddress", "Save billing address") }), _jsx("button", { type: "button", onClick: onCancelEditCustomAddress, disabled: disabled, className: "min-h-11 rounded-lg border border-border bg-background px-3.5 py-2 text-sm/5 font-medium text-foreground hover:bg-muted", children: t("org.billing.cancelEditCustomAddress", "Cancel") })] })] })) : billingAddressStatus === "incomplete" ? (_jsxs("div", { className: "flex flex-col items-start gap-2 rounded-xl border border-dashed border-border/70 bg-muted/20 p-4", children: [_jsx("p", { className: "text-sm/6 text-muted-foreground", children: t("org.billing.incomplete", "You chose a different billing address but haven't added one yet.") }), _jsx("button", { ref: editTriggerRef, type: "button", onClick: onStartEditCustomAddress, disabled: disabled, className: "min-h-11 rounded-lg bg-primary px-3.5 py-2 text-sm/5 font-medium text-primary-foreground hover:bg-primary/90", children: t("org.billing.addCustomAddress", "Add billing address") })] })) : (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(PostalAddressDisplay, { address: effectiveBillingAddress, countryOptions: countryOptions, t: t }), _jsx("button", { ref: editTriggerRef, type: "button", onClick: onStartEditCustomAddress, disabled: disabled, className: "min-h-11 self-start rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: t("org.billing.editCustomAddress", "Edit address") })] }))] }));
83
+ : t("org.billing.effectiveAddress", "Effective billing address:") }), _jsx(PostalAddressDisplay, { address: effectiveBillingAddress, countryOptions: countryOptions, t: t, emptyLabel: t("org.billing.noEffectiveAddress", "No billing address on file yet.") })] })) : editingCustomAddress ? (_jsxs("div", { className: "flex flex-col gap-3", children: [_jsx(PostalAddressFields, { value: customAddressFormValue, onChange: onCustomAddressFormChange, countryOptions: countryOptions, idPrefix: `${idPrefix}-custom`, t: t, disabled: disabled, errors: customAddressErrors, saveStatus: customAddressSaveStatus, saveErrorMessage: customAddressSaveErrorMessage }), _jsxs("div", { className: "flex gap-2", children: [_jsx("button", { type: "button", onClick: onSaveCustomAddress, disabled: disabled || customAddressSaveStatus === "pending", className: "min-h-11 rounded-lg bg-primary px-3.5 py-2 text-sm/5 font-medium text-primary-foreground hover:bg-primary/90 disabled:cursor-not-allowed disabled:opacity-60", children: t("org.billing.saveCustomAddress", "Save billing address") }), _jsx("button", { type: "button", onClick: onCancelEditCustomAddress, disabled: disabled, className: "min-h-11 rounded-lg border border-border bg-background px-3.5 py-2 text-sm/5 font-medium text-foreground hover:bg-muted", children: t("org.billing.cancelEditCustomAddress", "Cancel") })] })] })) : billingAddressStatus === "incomplete" ? (_jsxs("div", { className: "flex flex-col items-start gap-2 rounded-xl border border-dashed border-border/70 bg-muted/20 p-4", children: [_jsx("p", { className: "text-sm/6 text-muted-foreground", children: t("org.billing.incomplete", "You chose a different billing address but haven't added one yet.") }), _jsx("button", { ref: editTriggerRef, type: "button", onClick: onStartEditCustomAddress, disabled: disabled, className: "min-h-11 rounded-lg bg-primary px-3.5 py-2 text-sm/5 font-medium text-primary-foreground hover:bg-primary/90", children: t("org.billing.addCustomAddress", "Add billing address") })] })) : (_jsxs("div", { className: "flex flex-col gap-1.5", children: [_jsx(PostalAddressDisplay, { address: effectiveBillingAddress, countryOptions: countryOptions, t: t }), _jsx("button", { ref: editTriggerRef, type: "button", onClick: onStartEditCustomAddress, disabled: disabled, className: "min-h-11 self-start rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: t("org.billing.editCustomAddress", "Edit address") })] }))] }));
84
84
  }
85
85
  //# sourceMappingURL=billing-address-source.js.map
@@ -50,11 +50,11 @@ export function PublicLocationNotice({ publicLocation, postalCity, onUsePostalCi
50
50
  ? `flex items-start gap-3 rounded-xl border border-border bg-[var(--tone-info-soft)] p-4 ${className}`
51
51
  : "flex items-start gap-3 rounded-xl border border-border bg-[var(--tone-info-soft)] p-4", children: [_jsx(MapPinIcon, { className: "mt-0.5 size-5 shrink-0 text-[var(--tone-info-fg)]", "aria-hidden": "true" }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-3", children: [cityMode ? (_jsxs("div", { children: [_jsx("p", { className: "text-sm/6 text-[var(--tone-info-fg)]", children: cityMode === "differs"
52
52
  ? t("org.address.publicLocationDiffers", `Your public profile shows "${publicLocation?.city ?? ""}" as your location, which differs from your postal address city.`, { city: publicLocation?.city ?? null })
53
- : t("org.address.publicLocationSuggested", `No public location is set yet. Use your postal address's city ("${cityActionValue ?? ""}") as your public location?`, { city: cityActionValue }) }), onUsePostalCity && cityActionValue ? (_jsx("button", { type: "button", onClick: () => onUsePostalCity(cityActionValue), className: "mt-2 min-h-11 rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: t("org.address.usePostalCity", `Use postal city ("${cityActionValue}")`, {
53
+ : t("org.address.publicLocationSuggested", `No public location is set yet. Use your postal address's city ("${cityActionValue ?? ""}") as your public location?`, { city: cityActionValue }) }), onUsePostalCity && cityActionValue ? (_jsx("button", { type: "button", onClick: () => onUsePostalCity(cityActionValue), className: "mt-2 min-h-11 rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: t("org.address.usePostalCity", `Use postal city ("${cityActionValue}")`, {
54
54
  city: cityActionValue,
55
55
  }) })) : null] })) : null, regionMode ? (_jsxs("div", { children: [_jsx("p", { className: "text-sm/6 text-[var(--tone-info-fg)]", children: regionMode === "differs"
56
56
  ? t("org.address.publicRegionDiffers", `Your public profile shows "${publicLocation?.region ?? ""}" as your region, which differs from your postal address region.`, { region: publicLocation?.region ?? null })
57
- : t("org.address.publicRegionSuggested", `No public region is set yet. Use your postal address's region ("${regionActionValue ?? ""}") as your public region?`, { region: regionActionValue }) }), onUsePostalRegion && regionActionValue ? (_jsx("button", { type: "button", onClick: () => onUsePostalRegion(regionActionValue), className: "mt-2 min-h-11 rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/50", children: t("org.address.usePostalRegion", `Use postal region ("${regionActionValue}")`, {
57
+ : t("org.address.publicRegionSuggested", `No public region is set yet. Use your postal address's region ("${regionActionValue ?? ""}") as your public region?`, { region: regionActionValue }) }), onUsePostalRegion && regionActionValue ? (_jsx("button", { type: "button", onClick: () => onUsePostalRegion(regionActionValue), className: "mt-2 min-h-11 rounded-lg border border-border bg-background px-3 py-1.5 text-sm/5 font-medium text-foreground hover:bg-muted focus-visible:outline-hidden focus-visible:ring-3 focus-visible:ring-ring/70", children: t("org.address.usePostalRegion", `Use postal region ("${regionActionValue}")`, {
58
58
  region: regionActionValue,
59
59
  }) })) : null] })) : null] })] }));
60
60
  }
@@ -35,7 +35,7 @@ export function PdfLabelLayer({ pageIndex, localUserId, onLabelClick, className,
35
35
  const width = `${(entry.width * 100).toFixed(2)}%`;
36
36
  const height = `${(entry.height * 100).toFixed(2)}%`;
37
37
  const tooltip = isMine ? `${entry.authorName} (you)` : `${entry.authorName}`;
38
- return (_jsxs("button", { type: "button", "data-slot": "pdf-label", "data-label-id": id, "data-self": isMine ? "true" : undefined, className: cn("absolute pointer-events-auto", "rounded-sm border-2 cursor-pointer", "bg-[color:var(--tone-brand-soft)]", "border-[color:var(--tone-brand-border)]", "hover:border-[color:var(--tone-brand-solid)]", "focus-visible:outline-2 focus-visible:outline-[color:var(--tone-brand-ring)]"), style: { left, top, width, height }, onClick: () => onLabelClick?.(id), "aria-label": `Label by ${tooltip}`, title: tooltip, children: [_jsx("span", { "data-slot": "pdf-label-badge", className: cn("absolute -top-5 left-0 inline-block max-w-[160px]", "rounded-sm px-1.5 py-0.5 truncate", "bg-[color:var(--tone-brand-solid)]", "text-xs font-medium", "text-[color:var(--tone-brand-solid-fg,white)]"), children: tooltip }), entry.text ? (_jsx("span", { "data-slot": "pdf-label-text", className: "sr-only", children: entry.text })) : null] }, id));
38
+ return (_jsxs("button", { type: "button", "data-slot": "pdf-label", "data-label-id": id, "data-self": isMine ? "true" : undefined, className: cn("absolute pointer-events-auto", "rounded-sm border-2 cursor-pointer", "bg-[color:var(--tone-brand-soft)]", "border-[color:var(--tone-brand-border)]", "hover:border-[color:var(--tone-brand-solid)]", "focus-visible:outline-2 focus-visible:outline-ring"), style: { left, top, width, height }, onClick: () => onLabelClick?.(id), "aria-label": `Label by ${tooltip}`, title: tooltip, children: [_jsx("span", { "data-slot": "pdf-label-badge", className: cn("absolute -top-5 left-0 inline-block max-w-[160px]", "rounded-sm px-1.5 py-0.5 truncate", "bg-[color:var(--tone-brand-solid)]", "text-xs font-medium", "text-[color:var(--tone-brand-solid-fg,white)]"), children: tooltip }), entry.text ? (_jsx("span", { "data-slot": "pdf-label-text", className: "sr-only", children: entry.text })) : null] }, id));
39
39
  }) }));
40
40
  }
41
41
  //# sourceMappingURL=pdf-label-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-label-layer.js","sourceRoot":"","sources":["../../../src/pdf-tool/live/pdf-label-layer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-label-layer.js","sourceRoot":"","sources":["../../../src/pdf-tool/live/pdf-label-layer.tsx"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ export function PortfolioFolderCard({ portfolio, href, onOpen, onAction, kebabSl
62
62
  const isLink = typeof href === "string" && href.length > 0;
63
63
  // Stretched primary action: covers the whole card via after:inset-0 at z-10;
64
64
  // the kebab layer sits at z-20 above it.
65
- const primaryActionClassName = "text-left outline-hidden after:absolute after:inset-0 after:z-10 after:rounded-[28px] focus-visible:after:outline-2 focus-visible:after:outline-offset-2 focus-visible:after:outline-[var(--ring)]";
65
+ const primaryActionClassName = "text-left outline-hidden after:absolute after:inset-0 after:z-10 after:rounded-[28px] focus-visible:after:outline-2 focus-visible:after:outline-offset-2 focus-visible:after:outline-ring";
66
66
  const title = isLink ? (_jsx("a", { href: href, className: primaryActionClassName, children: portfolio.name })) : typeof onOpen === "function" ? (_jsx("button", { type: "button", onClick: onOpen, className: primaryActionClassName, children: portfolio.name })) : (portfolio.name);
67
67
  const kebab = kebabSlot ??
68
68
  (onAction ? (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(CardActionsTrigger, { size: 32, className: "border border-white/20 bg-white/95 shadow-md backdrop-blur-md hover:bg-white", "aria-label": tt("folderCard.actionsLabel", "Portfolio actions") }) }), _jsxs(DropdownMenuContent, { align: "end", children: [_jsx(DropdownMenuItem, { onSelect: () => onAction("edit"), children: tt("folderCard.edit", "Edit details") }), _jsx(DropdownMenuItem, { onSelect: () => onAction(portfolio.isDefault ? "remove-default" : "set-default"), children: portfolio.isDefault
@@ -1 +1 @@
1
- {"version":3,"file":"portfolio-folder-card.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-folder-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portfolio-folder-card.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-folder-card.tsx"],"names":[],"mappings":"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"}
@@ -169,7 +169,7 @@ export function BeverageComparisonModal(props) {
169
169
  // Outer bezel — Soft Structuralism: airy shell with a diffused
170
170
  // ambient shadow and a hairline outer ring (semantic tokens
171
171
  // auto-swap light/dark, CEL-133).
172
- "rounded-[2rem] p-1.5", "bg-card/70 ring-1 ring-border/40", "shadow-[0_30px_80px_-20px_rgba(15,23,42,0.25),0_8px_24px_-12px_rgba(15,23,42,0.12)]", "dark:shadow-[0_30px_80px_-20px_rgba(0,0,0,0.7),0_8px_24px_-12px_rgba(0,0,0,0.45)]", "motion-safe:animate-[bcm-surface-in_700ms_cubic-bezier(0.32,0.72,0,1)_both]", "will-change-transform", className), children: _jsxs("div", { className: cn("relative flex min-h-0 flex-1 flex-col overflow-hidden", "rounded-[calc(2rem-0.375rem)] bg-card text-foreground", "ring-1 ring-border/30", "shadow-[inset_0_1px_1px_rgba(255,255,255,0.6)]", "dark:shadow-[inset_0_1px_1px_rgba(255,255,255,0.05)]"), children: [_jsx(Dialog.Close, { "aria-label": t("comparison.action.close"), disabled: loading, className: cn("group absolute right-5 top-5 z-10", "inline-flex size-9 items-center justify-center rounded-full", "bg-[var(--tone-neutral-soft)] text-muted-foreground ring-1 ring-inset ring-border/40", "transition-[transform,background-color] duration-300 ease-[cubic-bezier(0.32,0.72,0,1)]", "hover:bg-[var(--tone-neutral-surface-strong)] hover:text-foreground hover:scale-[1.04]", "active:scale-[0.96]", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-[var(--tone-success-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-card",
172
+ "rounded-[2rem] p-1.5", "bg-card/70 ring-1 ring-border/40", "shadow-[0_30px_80px_-20px_rgba(15,23,42,0.25),0_8px_24px_-12px_rgba(15,23,42,0.12)]", "dark:shadow-[0_30px_80px_-20px_rgba(0,0,0,0.7),0_8px_24px_-12px_rgba(0,0,0,0.45)]", "motion-safe:animate-[bcm-surface-in_700ms_cubic-bezier(0.32,0.72,0,1)_both]", "will-change-transform", className), children: _jsxs("div", { className: cn("relative flex min-h-0 flex-1 flex-col overflow-hidden", "rounded-[calc(2rem-0.375rem)] bg-card text-foreground", "ring-1 ring-border/30", "shadow-[inset_0_1px_1px_rgba(255,255,255,0.6)]", "dark:shadow-[inset_0_1px_1px_rgba(255,255,255,0.05)]"), children: [_jsx(Dialog.Close, { "aria-label": t("comparison.action.close"), disabled: loading, className: cn("group absolute right-5 top-5 z-10", "inline-flex size-9 items-center justify-center rounded-full", "bg-[var(--tone-neutral-soft)] text-muted-foreground ring-1 ring-inset ring-border/40", "transition-[transform,background-color] duration-300 ease-[cubic-bezier(0.32,0.72,0,1)]", "hover:bg-[var(--tone-neutral-surface-strong)] hover:text-foreground hover:scale-[1.04]", "active:scale-[0.96]", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-offset-2 focus-visible:ring-offset-card",
173
173
  // While a mutation is in flight, surface the disabled state
174
174
  // visually instead of silently dropping the click — keeps the
175
175
  // modal from feeling "broken" mid-merge.
@@ -190,7 +190,7 @@ export function BeverageComparisonModal(props) {
190
190
  })
191
191
  : t("comparison.section.all_match") }), hasBlocking && (_jsxs("span", { className: cn("inline-flex items-center gap-1.5 rounded-full px-2.5 py-1", "text-xs font-medium uppercase tracking-[0.18em]", "bg-[var(--tone-warning-soft)] text-[var(--tone-warning-fg)] ring-1 ring-inset ring-[var(--tone-warning-border)]/40"), children: [_jsx(AlertTriangle, { "aria-hidden": "true", className: "size-3 stroke-[1.6]" }), t("comparison.blocking_marker")] }))] }), hiddenFieldCount > 0 && rows.length > 0 && (_jsx("p", { className: "-mt-1 text-xs/4 text-muted-foreground", children: t("comparison.section.suppressed", {
192
192
  count: hiddenFieldCount,
193
- }) })), differingRows.length === 0 ? (_jsx("div", { className: cn("rounded-2xl p-4 text-sm", "bg-[var(--tone-success-soft)]/60 text-[var(--tone-success-fg)] ring-1 ring-inset ring-[var(--tone-success-border)]/30"), children: _jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(CheckCircle2, { "aria-hidden": "true", className: "size-4 stroke-[1.6] text-[var(--tone-success-solid)]" }), t("comparison.section.empty_match_helper")] }) })) : (_jsx("ul", { className: "grid gap-2", children: differingRows.map((row, idx) => (_jsx(FieldDiffRow, { row: row, beverageAName: beverageA.name, beverageBName: beverageB.name, index: idx, t: t }, row.key))) })), matchingRows.length > 0 && (_jsxs("div", { className: "mt-1", children: [_jsxs("button", { type: "button", onClick: () => setShowIdentical((s) => !s), "aria-expanded": showIdentical, "aria-controls": liveRegionId, className: cn("group inline-flex items-center gap-1.5 rounded-full px-3 py-1.5", "text-xs font-medium text-muted-foreground", "ring-1 ring-inset ring-border/40", "transition-[background-color,color] duration-200", "hover:bg-[var(--tone-neutral-soft)] hover:text-foreground", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-[var(--tone-success-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-card"), children: [showIdentical ? (_jsx(ChevronUp, { "aria-hidden": "true", className: "size-3.5" })) : (_jsx(ChevronDown, { "aria-hidden": "true", className: "size-3.5" })), showIdentical
193
+ }) })), differingRows.length === 0 ? (_jsx("div", { className: cn("rounded-2xl p-4 text-sm", "bg-[var(--tone-success-soft)]/60 text-[var(--tone-success-fg)] ring-1 ring-inset ring-[var(--tone-success-border)]/30"), children: _jsxs("span", { className: "inline-flex items-center gap-2", children: [_jsx(CheckCircle2, { "aria-hidden": "true", className: "size-4 stroke-[1.6] text-[var(--tone-success-solid)]" }), t("comparison.section.empty_match_helper")] }) })) : (_jsx("ul", { className: "grid gap-2", children: differingRows.map((row, idx) => (_jsx(FieldDiffRow, { row: row, beverageAName: beverageA.name, beverageBName: beverageB.name, index: idx, t: t }, row.key))) })), matchingRows.length > 0 && (_jsxs("div", { className: "mt-1", children: [_jsxs("button", { type: "button", onClick: () => setShowIdentical((s) => !s), "aria-expanded": showIdentical, "aria-controls": liveRegionId, className: cn("group inline-flex items-center gap-1.5 rounded-full px-3 py-1.5", "text-xs font-medium text-muted-foreground", "ring-1 ring-inset ring-border/40", "transition-[background-color,color] duration-200", "hover:bg-[var(--tone-neutral-soft)] hover:text-foreground", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-offset-2 focus-visible:ring-offset-card"), children: [showIdentical ? (_jsx(ChevronUp, { "aria-hidden": "true", className: "size-3.5" })) : (_jsx(ChevronDown, { "aria-hidden": "true", className: "size-3.5" })), showIdentical
194
194
  ? t("comparison.matching_toggle.hide", {
195
195
  count: matchingRows.length,
196
196
  })
@@ -202,7 +202,7 @@ export function BeverageComparisonModal(props) {
202
202
  name: beverageA.name,
203
203
  }), variants: variantsA, t: t }), _jsx(VariantsCard, { title: t("comparison.variants.title", {
204
204
  name: beverageB.name,
205
- }), variants: variantsB, t: t })] }))] }), _jsx("div", { className: cn("shrink-0 border-t border-border/40 px-7 py-5 sm:px-10", "bg-linear-to-b from-card to-muted/40"), children: _jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between", children: [_jsx("button", { type: "button", disabled: loading, onClick: onDismiss, className: cn("inline-flex items-center justify-center rounded-full px-5 py-2.5", "text-sm font-semibold text-foreground", "ring-1 ring-inset ring-border/60", "transition-[transform,background-color,box-shadow] duration-200", "hover:bg-[var(--tone-neutral-soft)] hover:ring-border", "active:scale-[0.98]", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-[var(--tone-success-ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-card", "disabled:cursor-not-allowed disabled:opacity-60"), children: t("comparison.action.dismiss") }), _jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [_jsx(KeepDetailsButton, { label: t("comparison.action.keep_from", {
205
+ }), variants: variantsB, t: t })] }))] }), _jsx("div", { className: cn("shrink-0 border-t border-border/40 px-7 py-5 sm:px-10", "bg-linear-to-b from-card to-muted/40"), children: _jsxs("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between", children: [_jsx("button", { type: "button", disabled: loading, onClick: onDismiss, className: cn("inline-flex items-center justify-center rounded-full px-5 py-2.5", "text-sm font-semibold text-foreground", "ring-1 ring-inset ring-border/60", "transition-[transform,background-color,box-shadow] duration-200", "hover:bg-[var(--tone-neutral-soft)] hover:ring-border", "active:scale-[0.98]", "focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-offset-2 focus-visible:ring-offset-card", "disabled:cursor-not-allowed disabled:opacity-60"), children: t("comparison.action.dismiss") }), _jsxs("div", { className: "flex flex-col gap-2 sm:flex-row sm:items-center", children: [_jsx(KeepDetailsButton, { label: t("comparison.action.keep_from", {
206
206
  name: beverageB.name,
207
207
  }), onClick: onKeepDetailsFromB, disabled: loading, variant: "secondary" }), _jsx(KeepDetailsButton, { label: t("comparison.action.keep_from", {
208
208
  name: beverageA.name,
@@ -264,12 +264,12 @@ function KeepDetailsButton({ label, onClick, disabled, variant }) {
264
264
  "bg-[var(--tone-success-solid)] text-[var(--tone-success-solid-fg)] ring-1 ring-[var(--tone-success-border)]/40",
265
265
  "shadow-[0_8px_20px_-8px_rgba(5,150,105,0.55)]",
266
266
  "hover:-translate-y-[1px] hover:bg-[var(--tone-success-solid)] hover:shadow-[0_14px_28px_-10px_rgba(5,150,105,0.65)]",
267
- "focus-visible:ring-[var(--tone-success-ring)]",
267
+ "focus-visible:ring-ring/70",
268
268
  ], !isPrimary && [
269
269
  "bg-card text-foreground ring-1 ring-inset ring-border/60",
270
270
  "shadow-[0_4px_12px_-6px_rgba(15,23,42,0.12)]",
271
271
  "hover:-translate-y-[1px] hover:bg-[var(--tone-neutral-soft)] hover:ring-border",
272
- "focus-visible:ring-[var(--tone-neutral-ring)]/60",
272
+ "focus-visible:ring-ring/70",
273
273
  ]), children: [_jsx("span", { className: "truncate max-w-[18ch] sm:max-w-none", children: label }), _jsx("span", { "aria-hidden": "true", className: cn("inline-flex size-6 shrink-0 items-center justify-center rounded-full", "transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)]", "group-hover/keep:translate-x-0.5 group-hover/keep:-translate-y-[1px]", isPrimary
274
274
  ? "bg-white/15 ring-1 ring-inset ring-white/30"
275
275
  : "bg-[var(--tone-neutral-soft)] ring-1 ring-inset ring-border/40"), children: _jsx(ArrowRight, { className: "size-3.5 stroke-[1.8]" }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"beverage-comparison-modal.js","sourceRoot":"","sources":["../../src/portfolio-import/beverage-comparison-modal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beverage-comparison-modal.js","sourceRoot":"","sources":["../../src/portfolio-import/beverage-comparison-modal.tsx"],"names":[],"mappings":"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"}
@@ -148,7 +148,7 @@ function StateBody({ state, t, bottlePhotosHref, onNavigate, }) {
148
148
  case "done":
149
149
  return (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-sm/6 font-medium text-foreground", children: t("bottlePhotos.done_title", "Bottle photos are ready") }), _jsxs("p", { className: "mt-0.5 text-xs text-muted-foreground", children: [state.verdict.eligibleCount > 0
150
150
  ? plural(t, "bottlePhotos.done_note", state.verdict.eligibleCount, "We extracted photos for {{count}} product.", "We extracted photos for {{count}} products.")
151
- : t("bottlePhotos.done_note_plain", "Find them in your product galleries."), state.verdict.skippedCount > 0 ? (_jsxs(_Fragment, { children: [" ", plural(t, "bottlePhotos.done_partial", state.verdict.skippedCount, "{{count}} product didn't get photos this time.", "{{count}} products didn't get photos this time.")] })) : null] }), bottlePhotosHref ? (_jsxs("a", { href: bottlePhotosHref, onClick: onNavigate, className: "mt-2 inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1 text-xs font-medium text-foreground/80 transition hover:bg-muted active:scale-[0.98]", children: [_jsx(Camera, { className: "size-3.5", "aria-hidden": "true" }), t("bottlePhotos.done_cta", "View your product galleries")] })) : null] }));
151
+ : t("bottlePhotos.done_note_plain", "Find them in your product galleries."), state.verdict.skippedCount > 0 ? (_jsxs(_Fragment, { children: [" ", plural(t, "bottlePhotos.done_partial", state.verdict.skippedCount, "{{count}} product didn't get photos this time.", "{{count}} products didn't get photos this time.")] })) : null] }), bottlePhotosHref ? (_jsxs("a", { href: bottlePhotosHref, onClick: onNavigate, className: "mt-2 inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1 text-xs font-medium text-foreground/80 transition hover:bg-muted active:scale-[0.98] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring", children: [_jsx(Camera, { className: "size-3.5", "aria-hidden": "true" }), t("bottlePhotos.done_cta", "View your product galleries")] })) : null] }));
152
152
  case "skipped": {
153
153
  const breakdown = groupSkippedProducts(state.verdict);
154
154
  const reasonKey = skippedReasonKey(state.verdict.reason);
@@ -1 +1 @@
1
- {"version":3,"file":"bottle-photos-status.js","sourceRoot":"","sources":["../../src/portfolio-import/bottle-photos-status.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bottle-photos-status.js","sourceRoot":"","sources":["../../src/portfolio-import/bottle-photos-status.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAI3B,MAAM,SAAS,CAAC;AAEjB,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAE1E,SAAS,sBAAsB,CAAC,MAAe,EAAE,UAAsB;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAChF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,YAAY,IAAI,CAAC;YAAE,OAAO;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACnC,UAAU,EAAE,CAAC;YACb,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IACvC,OAAO,MAAM,IAAI,YAAY,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,6EAA6E;AAE7E,MAAM,QAAQ,GAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC;AAEjE;;;;GAIG;AACH,SAAS,MAAM,CACb,CAAc,EACd,OAAe,EACf,KAAa,EACb,WAAmB,EACnB,aAAqB;IAErB,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,QAAQ,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3D,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,MAAM,wBAAwB,GAA2B;IACvD,kDAAkD,EAChD,kEAAkE;IACpE,2CAA2C,EACzC,iFAAiF;IACnF,yCAAyC,EACvC,6DAA6D;IAC/D,+DAA+D,EAC7D,oDAAoD;IACtD,qCAAqC,EAAE,uDAAuD;CAC/F,CAAC;AAEF,6EAA6E;AAC7E,MAAM,wBAAwB,GAAyD;IACrF,mBAAmB,EAAE;QACnB,oDAAoD;QACpD,sDAAsD;KACvD;IACD,mBAAmB,EAAE;QACnB,oDAAoD;QACpD,qDAAqD;KACtD;IACD,YAAY,EAAE;QACZ,oEAAoE;QACpE,qEAAqE;KACtE;IACD,aAAa,EAAE;QACb,kDAAkD;QAClD,mDAAmD;KACpD;CACF,CAAC;AAqCF,MAAM,UAAU,kBAAkB,CAAC,EACjC,GAAG,EACH,UAAU,EACV,CAAC,GAAG,QAAQ,EACZ,MAAM,GAAG,IAAI,EACb,gBAAgB,EAChB,UAAU,GACc;IACxB,MAAM,SAAS,GAAG,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC;IACxE,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,uBAAuB,CAAC;QACpC,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,SAAS;QACT,OAAO;QACP,SAAS,EAAE,MAAM,IAAI,IAAI;QACzB,qBAAqB;KACtB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,KAAK,MAAM;QACnB,CAAC,CAAC,wCAAwC;QAC1C,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,wCAAwC;YAC1C,CAAC,CAAC,kBAAkB,CAAC;IAE3B,OAAO,CACL,iCACc,CAAC,CAAC,yBAAyB,EAAE,eAAe,CAAC,EACzD,IAAI,EAAC,QAAQ,eACH,QAAQ,gBACN,KAAK,CAAC,IAAI,EACtB,SAAS,EAAE,+CAA+C,UAAU,EAAE,aAEtE,YAAG,SAAS,EAAC,0CAA0C,YACpD,CAAC,CAAC,sBAAsB,EAAE,eAAe,CAAC,GACzC,EACJ,eAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAC,SAAS,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,EAC/B,cAAK,SAAS,EAAC,gBAAgB,YAC7B,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,CAAC,EAAE,CAAC,EACJ,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,GACtB,GACE,IACF,IACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,IAAI,EAA0D;IACjF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,CACL,KAAC,YAAY,IACX,SAAS,EAAC,sDAAsD,iBACpD,MAAM,GAClB,CACH,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,CACL,KAAC,aAAa,IACZ,SAAS,EAAC,sDAAsD,iBACpD,MAAM,GAClB,CACH,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,CACL,KAAC,SAAS,IACR,SAAS,EAAC,2DAA2D,iBACzD,MAAM,GAClB,CACH,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAC,KAAK,IAAC,SAAS,EAAC,8CAA8C,iBAAa,MAAM,GAAG,CAAC;IAC/F,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACjD,OAAO,KAAC,IAAI,IAAC,SAAS,EAAC,8CAA8C,iBAAa,MAAM,GAAG,CAAC;IAC9F,CAAC;IACD,OAAO,KAAC,MAAM,IAAC,SAAS,EAAC,8CAA8C,iBAAa,MAAM,GAAG,CAAC;AAChG,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,KAAK,EACL,CAAC,EACD,gBAAgB,EAChB,UAAU,GAMX;IACC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,CACL,YAAG,SAAS,EAAC,2BAA2B,YACrC,CAAC,CACA,wBAAwB,EACxB,sFAAsF,CACvF,GACC,CACL,CAAC;QACJ,KAAK,UAAU;YACb,OAAO,CACL,YAAG,SAAS,EAAC,2BAA2B,YACrC,CAAC,CAAC,uBAAuB,EAAE,iCAAiC,CAAC,GAC5D,CACL,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,2BAA2B,YACrC,CAAC,CACA,gCAAgC,EAChC,0DAA0D,CAC3D,GACC,EACJ,YAAG,SAAS,EAAC,sCAAsC,YAChD,CAAC,CAAC,+BAA+B,EAAE,gDAAgD,CAAC,GACnF,IACH,CACJ,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO,CACL,YAAG,SAAS,EAAC,2BAA2B,YACrC,CAAC,CAAC,qBAAqB,EAAE,6DAA6D,CAAC,GACtF,CACL,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,2BAA2B,YACrC,CAAC,CAAC,sBAAsB,EAAE,8CAA8C,CAAC,GACxE,EACH,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChB,YAAG,SAAS,EAAC,mDAAmD,YAC7D,WAAW,CACV,CAAC,CAAC,+BAA+B,EAAE,0CAA0C,CAAC,EAC9E;4BACE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;4BACnC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;yBAC5B,CACF,GACC,CACL,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,uCAAuC,YACjD,CAAC,CAAC,yBAAyB,EAAE,yBAAyB,CAAC,GACtD,EACJ,aAAG,SAAS,EAAC,sCAAsC,aAChD,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC;gCAC9B,CAAC,CAAC,MAAM,CACJ,CAAC,EACD,wBAAwB,EACxB,KAAK,CAAC,OAAO,CAAC,aAAa,EAC3B,4CAA4C,EAC5C,6CAA6C,CAC9C;gCACH,CAAC,CAAC,CAAC,CAAC,8BAA8B,EAAE,sCAAsC,CAAC,EAC5E,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAChC,8BACG,GAAG,EACH,MAAM,CACL,CAAC,EACD,2BAA2B,EAC3B,KAAK,CAAC,OAAO,CAAC,YAAY,EAC1B,gDAAgD,EAChD,iDAAiD,CAClD,IACA,CACJ,CAAC,CAAC,CAAC,IAAI,IACN,EACH,gBAAgB,CAAC,CAAC,CAAC,CAClB,aACE,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAC,kQAAkQ,aAE5Q,KAAC,MAAM,IAAC,SAAS,EAAC,UAAU,iBAAa,MAAM,GAAG,EACjD,CAAC,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,IACxD,CACL,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,uCAAuC,YACjD,CAAC,CAAC,4BAA4B,EAAE,4BAA4B,CAAC,GAC5D,EACJ,YAAG,SAAS,EAAC,sCAAsC,YAChD,CAAC,CACA,SAAS,EACT,wBAAwB,CAAC,SAAS,CAAC;4BACjC,uDAAuD,CAC1D,GACC,EACH,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,aAAI,SAAS,EAAC,0DAA0D,YACrE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACpC,aAAiB,SAAS,EAAC,cAAc,YACtC,MAAM,CACL,CAAC,EACD,+BAA+B,MAAM,EAAE,EACvC,KAAK,EACL,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACnC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACpC,IAPM,MAAM,CAQV,CACN,CAAC,GACC,CACN,CAAC,CAAC,CAAC,IAAI,EACR,YAAG,SAAS,EAAC,oCAAoC,YAC9C,CAAC,CACA,2BAA2B,EAC3B,oFAAoF,CACrF,GACC,IACH,CACJ,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ;YACX,OAAO,CACL,8BACE,YAAG,SAAS,EAAC,uCAAuC,YACjD,CAAC,CAAC,2BAA2B,EAAE,uCAAuC,CAAC,GACtE,EACJ,YAAG,SAAS,EAAC,sCAAsC,YAChD,CAAC,CACA,0BAA0B,EAC1B,6FAA6F,CAC9F,GACC,IACH,CACJ,CAAC;QACJ;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}