@cellarnode/ui 0.17.4 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/chat/unified-timeline.d.ts +15 -0
  2. package/dist/chat/unified-timeline.d.ts.map +1 -1
  3. package/dist/chat/unified-timeline.js.map +1 -1
  4. package/dist/index.d.ts +8 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +6 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/offer/attachments-card.d.ts +9 -0
  9. package/dist/offer/attachments-card.d.ts.map +1 -0
  10. package/dist/offer/attachments-card.js +16 -0
  11. package/dist/offer/attachments-card.js.map +1 -0
  12. package/dist/offer/attachments-card.stories.d.ts +17 -0
  13. package/dist/offer/attachments-card.stories.d.ts.map +1 -0
  14. package/dist/offer/attachments-card.stories.js +24 -0
  15. package/dist/offer/attachments-card.stories.js.map +1 -0
  16. package/dist/offer/buyer-notes-card.d.ts +7 -0
  17. package/dist/offer/buyer-notes-card.d.ts.map +1 -0
  18. package/dist/offer/buyer-notes-card.js +6 -0
  19. package/dist/offer/buyer-notes-card.js.map +1 -0
  20. package/dist/offer/buyer-notes-card.stories.d.ts +16 -0
  21. package/dist/offer/buyer-notes-card.stories.d.ts.map +1 -0
  22. package/dist/offer/buyer-notes-card.stories.js +25 -0
  23. package/dist/offer/buyer-notes-card.stories.js.map +1 -0
  24. package/dist/offer/counter-slide-over.d.ts +44 -0
  25. package/dist/offer/counter-slide-over.d.ts.map +1 -0
  26. package/dist/offer/counter-slide-over.js +81 -0
  27. package/dist/offer/counter-slide-over.js.map +1 -0
  28. package/dist/offer/counter-slide-over.stories.d.ts +23 -0
  29. package/dist/offer/counter-slide-over.stories.d.ts.map +1 -0
  30. package/dist/offer/counter-slide-over.stories.js +235 -0
  31. package/dist/offer/counter-slide-over.stories.js.map +1 -0
  32. package/dist/offer/facts-card.d.ts +32 -0
  33. package/dist/offer/facts-card.d.ts.map +1 -0
  34. package/dist/offer/facts-card.js +87 -0
  35. package/dist/offer/facts-card.js.map +1 -0
  36. package/dist/offer/facts-card.stories.d.ts +25 -0
  37. package/dist/offer/facts-card.stories.d.ts.map +1 -0
  38. package/dist/offer/facts-card.stories.js +177 -0
  39. package/dist/offer/facts-card.stories.js.map +1 -0
  40. package/dist/offer/index.d.ts +39 -0
  41. package/dist/offer/index.d.ts.map +1 -1
  42. package/dist/offer/index.js +21 -0
  43. package/dist/offer/index.js.map +1 -1
  44. package/dist/offer/inline-counter-form.d.ts +16 -0
  45. package/dist/offer/inline-counter-form.d.ts.map +1 -1
  46. package/dist/offer/inline-counter-form.js +8 -0
  47. package/dist/offer/inline-counter-form.js.map +1 -1
  48. package/dist/offer/match-compatibility-card.d.ts +16 -0
  49. package/dist/offer/match-compatibility-card.d.ts.map +1 -0
  50. package/dist/offer/match-compatibility-card.js +27 -0
  51. package/dist/offer/match-compatibility-card.js.map +1 -0
  52. package/dist/offer/match-compatibility-card.stories.d.ts +19 -0
  53. package/dist/offer/match-compatibility-card.stories.d.ts.map +1 -0
  54. package/dist/offer/match-compatibility-card.stories.js +111 -0
  55. package/dist/offer/match-compatibility-card.stories.js.map +1 -0
  56. package/dist/offer/match-glyph.d.ts +14 -0
  57. package/dist/offer/match-glyph.d.ts.map +1 -0
  58. package/dist/offer/match-glyph.js +40 -0
  59. package/dist/offer/match-glyph.js.map +1 -0
  60. package/dist/offer/match-glyph.stories.d.ts +26 -0
  61. package/dist/offer/match-glyph.stories.d.ts.map +1 -0
  62. package/dist/offer/match-glyph.stories.js +26 -0
  63. package/dist/offer/match-glyph.stories.js.map +1 -0
  64. package/dist/offer/match-headline-bar.d.ts +11 -0
  65. package/dist/offer/match-headline-bar.d.ts.map +1 -0
  66. package/dist/offer/match-headline-bar.js +28 -0
  67. package/dist/offer/match-headline-bar.js.map +1 -0
  68. package/dist/offer/match-headline-bar.stories.d.ts +17 -0
  69. package/dist/offer/match-headline-bar.stories.d.ts.map +1 -0
  70. package/dist/offer/match-headline-bar.stories.js +39 -0
  71. package/dist/offer/match-headline-bar.stories.js.map +1 -0
  72. package/dist/offer/match-preview.d.ts +18 -0
  73. package/dist/offer/match-preview.d.ts.map +1 -0
  74. package/dist/offer/match-preview.js +13 -0
  75. package/dist/offer/match-preview.js.map +1 -0
  76. package/dist/offer/match-preview.stories.d.ts +18 -0
  77. package/dist/offer/match-preview.stories.d.ts.map +1 -0
  78. package/dist/offer/match-preview.stories.js +103 -0
  79. package/dist/offer/match-preview.stories.js.map +1 -0
  80. package/dist/offer/negotiation-section.d.ts +11 -0
  81. package/dist/offer/negotiation-section.d.ts.map +1 -0
  82. package/dist/offer/negotiation-section.js +99 -0
  83. package/dist/offer/negotiation-section.js.map +1 -0
  84. package/dist/offer/negotiation-section.stories.d.ts +18 -0
  85. package/dist/offer/negotiation-section.stories.d.ts.map +1 -0
  86. package/dist/offer/negotiation-section.stories.js +156 -0
  87. package/dist/offer/negotiation-section.stories.js.map +1 -0
  88. package/dist/offer/new-activity-pill.d.ts +7 -0
  89. package/dist/offer/new-activity-pill.d.ts.map +1 -0
  90. package/dist/offer/new-activity-pill.js +8 -0
  91. package/dist/offer/new-activity-pill.js.map +1 -0
  92. package/dist/offer/new-activity-pill.stories.d.ts +17 -0
  93. package/dist/offer/new-activity-pill.stories.d.ts.map +1 -0
  94. package/dist/offer/new-activity-pill.stories.js +22 -0
  95. package/dist/offer/new-activity-pill.stories.js.map +1 -0
  96. package/dist/offer/offer-document.d.ts +33 -0
  97. package/dist/offer/offer-document.d.ts.map +1 -0
  98. package/dist/offer/offer-document.js +125 -0
  99. package/dist/offer/offer-document.js.map +1 -0
  100. package/dist/offer/offer-document.stories.d.ts +25 -0
  101. package/dist/offer/offer-document.stories.d.ts.map +1 -0
  102. package/dist/offer/offer-document.stories.js +168 -0
  103. package/dist/offer/offer-document.stories.js.map +1 -0
  104. package/dist/offer/offer-export-button.d.ts +8 -0
  105. package/dist/offer/offer-export-button.d.ts.map +1 -0
  106. package/dist/offer/offer-export-button.js +11 -0
  107. package/dist/offer/offer-export-button.js.map +1 -0
  108. package/dist/offer/offer-export-button.stories.d.ts +15 -0
  109. package/dist/offer/offer-export-button.stories.d.ts.map +1 -0
  110. package/dist/offer/offer-export-button.stories.js +11 -0
  111. package/dist/offer/offer-export-button.stories.js.map +1 -0
  112. package/dist/offer/offer-product-card.d.ts +32 -0
  113. package/dist/offer/offer-product-card.d.ts.map +1 -0
  114. package/dist/offer/offer-product-card.js +10 -0
  115. package/dist/offer/offer-product-card.js.map +1 -0
  116. package/dist/offer/offer-product-card.stories.d.ts +16 -0
  117. package/dist/offer/offer-product-card.stories.d.ts.map +1 -0
  118. package/dist/offer/offer-product-card.stories.js +40 -0
  119. package/dist/offer/offer-product-card.stories.js.map +1 -0
  120. package/dist/offer/opportunity-card.d.ts +16 -0
  121. package/dist/offer/opportunity-card.d.ts.map +1 -0
  122. package/dist/offer/opportunity-card.js +9 -0
  123. package/dist/offer/opportunity-card.js.map +1 -0
  124. package/dist/offer/opportunity-card.stories.d.ts +16 -0
  125. package/dist/offer/opportunity-card.stories.d.ts.map +1 -0
  126. package/dist/offer/opportunity-card.stories.js +33 -0
  127. package/dist/offer/opportunity-card.stories.js.map +1 -0
  128. package/dist/offer/parties-card.d.ts +11 -0
  129. package/dist/offer/parties-card.d.ts.map +1 -0
  130. package/dist/offer/parties-card.js +14 -0
  131. package/dist/offer/parties-card.js.map +1 -0
  132. package/dist/offer/parties-card.stories.d.ts +17 -0
  133. package/dist/offer/parties-card.stories.d.ts.map +1 -0
  134. package/dist/offer/parties-card.stories.js +37 -0
  135. package/dist/offer/parties-card.stories.js.map +1 -0
  136. package/dist/offer/terms-card.d.ts +17 -0
  137. package/dist/offer/terms-card.d.ts.map +1 -0
  138. package/dist/offer/terms-card.js +50 -0
  139. package/dist/offer/terms-card.js.map +1 -0
  140. package/dist/offer/terms-card.stories.d.ts +17 -0
  141. package/dist/offer/terms-card.stories.d.ts.map +1 -0
  142. package/dist/offer/terms-card.stories.js +42 -0
  143. package/dist/offer/terms-card.stories.js.map +1 -0
  144. package/dist/offer/timeline-event.d.ts +12 -0
  145. package/dist/offer/timeline-event.d.ts.map +1 -0
  146. package/dist/offer/timeline-event.js +57 -0
  147. package/dist/offer/timeline-event.js.map +1 -0
  148. package/dist/offer/timeline-event.stories.d.ts +21 -0
  149. package/dist/offer/timeline-event.stories.d.ts.map +1 -0
  150. package/dist/offer/timeline-event.stories.js +57 -0
  151. package/dist/offer/timeline-event.stories.js.map +1 -0
  152. package/dist/offer/types.d.ts +118 -0
  153. package/dist/offer/types.d.ts.map +1 -1
  154. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.d.ts +2 -0
  155. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.d.ts.map +1 -0
  156. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.js +40 -0
  157. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.js.map +1 -0
  158. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.d.ts +2 -0
  159. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.d.ts.map +1 -0
  160. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.js +31 -0
  161. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.js.map +1 -0
  162. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.d.ts +2 -0
  163. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.d.ts.map +1 -0
  164. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.js +42 -0
  165. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.js.map +1 -0
  166. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.d.ts +2 -0
  167. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.d.ts.map +1 -0
  168. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.js +59 -0
  169. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.js.map +1 -0
  170. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.d.ts +2 -0
  171. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.d.ts.map +1 -0
  172. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.js +54 -0
  173. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.js.map +1 -0
  174. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.d.ts +2 -0
  175. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.d.ts.map +1 -0
  176. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.js +40 -0
  177. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.js.map +1 -0
  178. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.d.ts +2 -0
  179. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.d.ts.map +1 -0
  180. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.js +40 -0
  181. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.js.map +1 -0
  182. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.d.ts +2 -0
  183. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.d.ts.map +1 -0
  184. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.js +74 -0
  185. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.js.map +1 -0
  186. package/dist/opportunities/__tests__/opportunity-celebration.test.d.ts +2 -0
  187. package/dist/opportunities/__tests__/opportunity-celebration.test.d.ts.map +1 -0
  188. package/dist/opportunities/__tests__/opportunity-celebration.test.js +46 -0
  189. package/dist/opportunities/__tests__/opportunity-celebration.test.js.map +1 -0
  190. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.d.ts +2 -0
  191. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.d.ts.map +1 -0
  192. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.js +77 -0
  193. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.js.map +1 -0
  194. package/dist/opportunities/__tests__/opportunity-filter-bar.test.d.ts +2 -0
  195. package/dist/opportunities/__tests__/opportunity-filter-bar.test.d.ts.map +1 -0
  196. package/dist/opportunities/__tests__/opportunity-filter-bar.test.js +107 -0
  197. package/dist/opportunities/__tests__/opportunity-filter-bar.test.js.map +1 -0
  198. package/dist/opportunities/__tests__/opportunity-reopen-button.test.d.ts +2 -0
  199. package/dist/opportunities/__tests__/opportunity-reopen-button.test.d.ts.map +1 -0
  200. package/dist/opportunities/__tests__/opportunity-reopen-button.test.js +29 -0
  201. package/dist/opportunities/__tests__/opportunity-reopen-button.test.js.map +1 -0
  202. package/dist/opportunities/__tests__/opportunity-republish-button.test.d.ts +2 -0
  203. package/dist/opportunities/__tests__/opportunity-republish-button.test.d.ts.map +1 -0
  204. package/dist/opportunities/__tests__/opportunity-republish-button.test.js +29 -0
  205. package/dist/opportunities/__tests__/opportunity-republish-button.test.js.map +1 -0
  206. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.d.ts +2 -0
  207. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.d.ts.map +1 -0
  208. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.js +19 -0
  209. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.js.map +1 -0
  210. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.d.ts +2 -0
  211. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.d.ts.map +1 -0
  212. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.js +23 -0
  213. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.js.map +1 -0
  214. package/dist/opportunities/index.d.ts +51 -1
  215. package/dist/opportunities/index.d.ts.map +1 -1
  216. package/dist/opportunities/index.js +35 -0
  217. package/dist/opportunities/index.js.map +1 -1
  218. package/dist/opportunities/opportunities-table.d.ts +4 -0
  219. package/dist/opportunities/opportunities-table.d.ts.map +1 -1
  220. package/dist/opportunities/opportunities-table.js +4 -0
  221. package/dist/opportunities/opportunities-table.js.map +1 -1
  222. package/dist/opportunities/opportunity-add-to-journey-button.d.ts +12 -0
  223. package/dist/opportunities/opportunity-add-to-journey-button.d.ts.map +1 -0
  224. package/dist/opportunities/opportunity-add-to-journey-button.js +42 -0
  225. package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -0
  226. package/dist/opportunities/opportunity-card-actions-menu.d.ts +9 -0
  227. package/dist/opportunities/opportunity-card-actions-menu.d.ts.map +1 -0
  228. package/dist/opportunities/opportunity-card-actions-menu.js +33 -0
  229. package/dist/opportunities/opportunity-card-actions-menu.js.map +1 -0
  230. package/dist/opportunities/opportunity-card-actions-menu.stories.d.ts +14 -0
  231. package/dist/opportunities/opportunity-card-actions-menu.stories.d.ts.map +1 -0
  232. package/dist/opportunities/opportunity-card-actions-menu.stories.js +12 -0
  233. package/dist/opportunities/opportunity-card-actions-menu.stories.js.map +1 -0
  234. package/dist/opportunities/opportunity-celebration.d.ts +8 -0
  235. package/dist/opportunities/opportunity-celebration.d.ts.map +1 -0
  236. package/dist/opportunities/opportunity-celebration.js +17 -0
  237. package/dist/opportunities/opportunity-celebration.js.map +1 -0
  238. package/dist/opportunities/opportunity-celebration.stories.d.ts +17 -0
  239. package/dist/opportunities/opportunity-celebration.stories.d.ts.map +1 -0
  240. package/dist/opportunities/opportunity-celebration.stories.js +30 -0
  241. package/dist/opportunities/opportunity-celebration.stories.js.map +1 -0
  242. package/dist/opportunities/opportunity-filter-bar-drawer.d.ts +10 -0
  243. package/dist/opportunities/opportunity-filter-bar-drawer.d.ts.map +1 -0
  244. package/dist/opportunities/opportunity-filter-bar-drawer.js +54 -0
  245. package/dist/opportunities/opportunity-filter-bar-drawer.js.map +1 -0
  246. package/dist/opportunities/opportunity-filter-bar.d.ts +14 -0
  247. package/dist/opportunities/opportunity-filter-bar.d.ts.map +1 -0
  248. package/dist/opportunities/opportunity-filter-bar.js +65 -0
  249. package/dist/opportunities/opportunity-filter-bar.js.map +1 -0
  250. package/dist/opportunities/opportunity-filter-bar.stories.d.ts +25 -0
  251. package/dist/opportunities/opportunity-filter-bar.stories.d.ts.map +1 -0
  252. package/dist/opportunities/opportunity-filter-bar.stories.js +63 -0
  253. package/dist/opportunities/opportunity-filter-bar.stories.js.map +1 -0
  254. package/dist/opportunities/opportunity-reopen-button.d.ts +11 -0
  255. package/dist/opportunities/opportunity-reopen-button.d.ts.map +1 -0
  256. package/dist/opportunities/opportunity-reopen-button.js +20 -0
  257. package/dist/opportunities/opportunity-reopen-button.js.map +1 -0
  258. package/dist/opportunities/opportunity-republish-button.d.ts +7 -0
  259. package/dist/opportunities/opportunity-republish-button.d.ts.map +1 -0
  260. package/dist/opportunities/opportunity-republish-button.js +14 -0
  261. package/dist/opportunities/opportunity-republish-button.js.map +1 -0
  262. package/dist/opportunities/opportunity-resume-draft-button.d.ts +7 -0
  263. package/dist/opportunities/opportunity-resume-draft-button.d.ts.map +1 -0
  264. package/dist/opportunities/opportunity-resume-draft-button.js +7 -0
  265. package/dist/opportunities/opportunity-resume-draft-button.js.map +1 -0
  266. package/dist/opportunities/opportunity-stacked-list.d.ts.map +1 -1
  267. package/dist/opportunities/opportunity-stacked-list.js +3 -1
  268. package/dist/opportunities/opportunity-stacked-list.js.map +1 -1
  269. package/dist/opportunities/opportunity-view-offers-button.d.ts +7 -0
  270. package/dist/opportunities/opportunity-view-offers-button.d.ts.map +1 -0
  271. package/dist/opportunities/opportunity-view-offers-button.js +8 -0
  272. package/dist/opportunities/opportunity-view-offers-button.js.map +1 -0
  273. package/dist/opportunities/two-column-section.d.ts.map +1 -1
  274. package/dist/opportunities/two-column-section.js +4 -3
  275. package/dist/opportunities/two-column-section.js.map +1 -1
  276. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.d.ts +2 -0
  277. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.d.ts.map +1 -0
  278. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.js +53 -0
  279. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.js.map +1 -0
  280. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.d.ts +2 -0
  281. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.d.ts.map +1 -0
  282. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.js +32 -0
  283. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.js.map +1 -0
  284. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.d.ts +2 -0
  285. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.d.ts.map +1 -0
  286. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.js +127 -0
  287. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.js.map +1 -0
  288. package/dist/opportunities/wizard/__tests__/step-opportunities.test.d.ts +2 -0
  289. package/dist/opportunities/wizard/__tests__/step-opportunities.test.d.ts.map +1 -0
  290. package/dist/opportunities/wizard/__tests__/step-opportunities.test.js +93 -0
  291. package/dist/opportunities/wizard/__tests__/step-opportunities.test.js.map +1 -0
  292. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.d.ts +2 -0
  293. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.d.ts.map +1 -0
  294. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.js +141 -0
  295. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.js.map +1 -0
  296. package/dist/opportunities/wizard/__tests__/step-review.test.d.ts +2 -0
  297. package/dist/opportunities/wizard/__tests__/step-review.test.d.ts.map +1 -0
  298. package/dist/opportunities/wizard/__tests__/step-review.test.js +80 -0
  299. package/dist/opportunities/wizard/__tests__/step-review.test.js.map +1 -0
  300. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.d.ts +2 -0
  301. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.d.ts.map +1 -0
  302. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.js +76 -0
  303. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.js.map +1 -0
  304. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.d.ts +2 -0
  305. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.d.ts.map +1 -0
  306. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.js +192 -0
  307. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.js.map +1 -0
  308. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.d.ts +2 -0
  309. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.d.ts.map +1 -0
  310. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.js +61 -0
  311. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.js.map +1 -0
  312. package/dist/opportunities/wizard/opportunity-wizard.d.ts +29 -0
  313. package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -0
  314. package/dist/opportunities/wizard/opportunity-wizard.js +196 -0
  315. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -0
  316. package/dist/opportunities/wizard/opportunity-wizard.stories.d.ts +12 -0
  317. package/dist/opportunities/wizard/opportunity-wizard.stories.d.ts.map +1 -0
  318. package/dist/opportunities/wizard/opportunity-wizard.stories.js +49 -0
  319. package/dist/opportunities/wizard/opportunity-wizard.stories.js.map +1 -0
  320. package/dist/opportunities/wizard/step-opportunities.d.ts +9 -0
  321. package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -0
  322. package/dist/opportunities/wizard/step-opportunities.js +80 -0
  323. package/dist/opportunities/wizard/step-opportunities.js.map +1 -0
  324. package/dist/opportunities/wizard/step-pricing-timeline.d.ts +9 -0
  325. package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -0
  326. package/dist/opportunities/wizard/step-pricing-timeline.js +64 -0
  327. package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -0
  328. package/dist/opportunities/wizard/step-review.d.ts +9 -0
  329. package/dist/opportunities/wizard/step-review.d.ts.map +1 -0
  330. package/dist/opportunities/wizard/step-review.js +34 -0
  331. package/dist/opportunities/wizard/step-review.js.map +1 -0
  332. package/dist/opportunities/wizard/step-tender-basics.d.ts +16 -0
  333. package/dist/opportunities/wizard/step-tender-basics.d.ts.map +1 -0
  334. package/dist/opportunities/wizard/step-tender-basics.js +39 -0
  335. package/dist/opportunities/wizard/step-tender-basics.js.map +1 -0
  336. package/dist/opportunities/wizard/use-wizard-draft.d.ts +41 -0
  337. package/dist/opportunities/wizard/use-wizard-draft.d.ts.map +1 -0
  338. package/dist/opportunities/wizard/use-wizard-draft.js +214 -0
  339. package/dist/opportunities/wizard/use-wizard-draft.js.map +1 -0
  340. package/dist/opportunities/wizard/wizard-stepper.d.ts +20 -0
  341. package/dist/opportunities/wizard/wizard-stepper.d.ts.map +1 -0
  342. package/dist/opportunities/wizard/wizard-stepper.js +26 -0
  343. package/dist/opportunities/wizard/wizard-stepper.js.map +1 -0
  344. package/dist/opportunities/wizard/wizard-stepper.stories.d.ts +22 -0
  345. package/dist/opportunities/wizard/wizard-stepper.stories.d.ts.map +1 -0
  346. package/dist/opportunities/wizard/wizard-stepper.stories.js +47 -0
  347. package/dist/opportunities/wizard/wizard-stepper.stories.js.map +1 -0
  348. package/dist/opportunities/wizard/wizard.types.d.ts +176 -0
  349. package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -0
  350. package/dist/opportunities/wizard/wizard.types.js +62 -0
  351. package/dist/opportunities/wizard/wizard.types.js.map +1 -0
  352. package/package.json +13 -4
  353. package/src/offer/offer-document.print.css +72 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,37 @@
1
+ // --- Layout + empty state (Tasks 5, 6) ---
2
+ export { TwoColumnSection } from "./two-column-section";
3
+ export { SectionField } from "./section-field";
4
+ export { OpportunityEmptyState } from "./opportunity-empty-state";
5
+ // --- Detail panel (Task 7) ---
6
+ export { OpportunityDetailPanel } from "./opportunity-detail-panel";
7
+ // --- Card + list (Tasks 8, 9, 10) ---
8
+ export { OpportunityStackedCard } from "./opportunity-stacked-card";
9
+ export { OpportunityStackedList } from "./opportunity-stacked-list";
10
+ // --- Filter bar (Tasks 11, 12) ---
11
+ export { OpportunityFilterBar } from "./opportunity-filter-bar";
12
+ export { OpportunityFilterBarDrawer } from "./opportunity-filter-bar-drawer";
13
+ // --- Badges / chips (Task 4) ---
14
+ export { ChannelBadge } from "./opportunity-channel-badge";
15
+ export { OffersCountChip } from "./opportunity-offers-count-chip";
16
+ // --- Action buttons + celebration (Tasks 13, 14) ---
17
+ export { OpportunityCelebration } from "./opportunity-celebration";
18
+ export { AddToJourneyButton } from "./opportunity-add-to-journey-button";
19
+ export { ViewOffersButton } from "./opportunity-view-offers-button";
20
+ export { ReopenButton } from "./opportunity-reopen-button";
21
+ export { RepublishButton } from "./opportunity-republish-button";
22
+ export { ResumeDraftButton } from "./opportunity-resume-draft-button";
23
+ // --- Card actions menu (Task 15) ---
24
+ export { OpportunityCardActionsMenu } from "./opportunity-card-actions-menu";
25
+ // --- Wizard (Tasks 16-23) ---
26
+ export { OpportunityWizard } from "./wizard/opportunity-wizard";
27
+ export { WizardStepper } from "./wizard/wizard-stepper";
28
+ export { StepTenderBasics } from "./wizard/step-tender-basics";
29
+ export { StepOpportunities } from "./wizard/step-opportunities";
30
+ export { StepPricingTimeline } from "./wizard/step-pricing-timeline";
31
+ export { StepReview, draftToView } from "./wizard/step-review";
32
+ export { useWizardDraft } from "./wizard/use-wizard-draft";
33
+ export * from "./wizard/wizard.types";
34
+ // --- Deprecated (scheduled for removal in 0.20.0) ---
35
+ /** @deprecated Since 0.19.0. Use `OpportunityStackedList` with `OpportunityStackedCard` slots instead. Scheduled for removal in 0.20.0. */
1
36
  export { OpportunitiesTable } from "./opportunities-table";
2
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"AAaA,4CAA4C;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,gCAAgC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAOpE,oCAAoC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,sDAAsD;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,sCAAsC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAG7E,+BAA+B;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,cAAc,uBAAuB,CAAC;AAEtC,uDAAuD;AACvD,2IAA2I;AAC3I,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -19,5 +19,9 @@ export interface OpportunitiesTableProps {
19
19
  emptyMessage?: string;
20
20
  pageSize?: number;
21
21
  }
22
+ /**
23
+ * @deprecated Since 0.19.0. Use `OpportunityStackedList` with `OpportunityStackedCard` slots instead.
24
+ * Scheduled for removal in 0.20.0. See `docs/superpowers/specs/2026-04-20-opportunity-experience-redesign-design.md`.
25
+ */
22
26
  export declare function OpportunitiesTable({ data, isLoading, renderLink, getRowHref, emptyMessage, pageSize, }: OpportunitiesTableProps): import("react/jsx-runtime").JSX.Element;
23
27
  //# sourceMappingURL=opportunities-table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities-table.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiRD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAwC,EACxC,QAAa,GACd,EAAE,uBAAuB,2CAyHzB"}
1
+ {"version":3,"file":"opportunities-table.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAiRD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAwC,EACxC,QAAa,GACd,EAAE,uBAAuB,2CAyHzB"}
@@ -89,6 +89,10 @@ const DUMMY_COLUMNS = [
89
89
  { accessorKey: "status" },
90
90
  { accessorKey: "submissionDeadline" },
91
91
  ];
92
+ /**
93
+ * @deprecated Since 0.19.0. Use `OpportunityStackedList` with `OpportunityStackedCard` slots instead.
94
+ * Scheduled for removal in 0.20.0. See `docs/superpowers/specs/2026-04-20-opportunity-experience-redesign-design.md`.
95
+ */
92
96
  export function OpportunitiesTable({ data, isLoading = false, renderLink, getRowHref, emptyMessage = "No opportunities found.", pageSize = 10, }) {
93
97
  const [globalFilter, setGlobalFilter] = React.useState("");
94
98
  const [density, setDensity] = React.useState("comfortable");
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities-table.js","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunities-table.js","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface AddToJourneyButtonProps {
2
+ /** Is the opportunity already in the producer's journey (from a prior session)? */
3
+ inJourney: boolean;
4
+ /** Mutation handler. Should resolve on success or reject on error. Errors with `code === "OFFER_CAPACITY_EXCEEDED"`
5
+ * trigger the capacity-exceeded celebration variant. */
6
+ onAdd: () => Promise<void>;
7
+ /** Click handler when already in journey (library doesn't navigate; consumer decides). */
8
+ onClickWhenAdded?: () => void;
9
+ className?: string;
10
+ }
11
+ export declare function AddToJourneyButton({ inJourney: inJourneyProp, onAdd, onClickWhenAdded, className }: AddToJourneyButtonProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=opportunity-add-to-journey-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-add-to-journey-button.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-add-to-journey-button.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACtC,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB;6DACyD;IACzD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAwD3H"}
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Check, Plus } from "lucide-react";
4
+ import { OpportunityCelebration } from "./opportunity-celebration";
5
+ import { cn } from "../lib/utils";
6
+ export function AddToJourneyButton({ inJourney: inJourneyProp, onAdd, onClickWhenAdded, className }) {
7
+ const [busy, setBusy] = React.useState(false);
8
+ const [justAdded, setJustAdded] = React.useState(false);
9
+ const [celebration, setCelebration] = React.useState(null);
10
+ // Effective state: inJourney prop OR internal success latch. Button morphs immediately on success
11
+ // — it does NOT wait for the consumer to re-fetch and flip the prop.
12
+ const inJourney = inJourneyProp || justAdded;
13
+ const label = inJourney ? "In Journey" : "Add to Journey";
14
+ const ariaLabel = inJourney
15
+ ? "In Journey - open Producer Journey"
16
+ : "Add this opportunity to the Producer Journey";
17
+ const handle = async () => {
18
+ if (inJourney) {
19
+ onClickWhenAdded?.();
20
+ return;
21
+ }
22
+ setBusy(true);
23
+ setCelebration(null);
24
+ try {
25
+ await onAdd();
26
+ setCelebration("success");
27
+ // Morph at 700ms (matches celebration timeline).
28
+ setTimeout(() => setJustAdded(true), 700);
29
+ }
30
+ catch (e) {
31
+ const err = e;
32
+ setCelebration(err?.code === "OFFER_CAPACITY_EXCEEDED" ? "capacity-exceeded" : "error");
33
+ }
34
+ finally {
35
+ setBusy(false);
36
+ }
37
+ };
38
+ return (_jsxs("span", { className: "relative inline-flex", children: [_jsxs("button", { type: "button", onClick: handle, disabled: busy, "aria-busy": busy || undefined, "aria-label": ariaLabel, className: cn("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors", inJourney
39
+ ? "bg-emerald-100 text-emerald-800 hover:bg-emerald-100/80"
40
+ : "bg-emerald-700 text-white hover:bg-emerald-800", className), children: [inJourney ? _jsx(Check, { "aria-hidden": true, className: "size-3.5" }) : _jsx(Plus, { "aria-hidden": true, className: "size-3.5" }), label] }), _jsx(OpportunityCelebration, { play: celebration })] }));
41
+ }
42
+ //# sourceMappingURL=opportunity-add-to-journey-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-add-to-journey-button.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-add-to-journey-button.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAalC,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAA2B;IAC1H,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA4B,IAAI,CAAC,CAAC;IAEtF,kGAAkG;IAClG,qEAAqE;IACrE,MAAM,SAAS,GAAG,aAAa,IAAI,SAAS,CAAC;IAE7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC1D,MAAM,SAAS,GAAG,SAAS;QACzB,CAAC,CAAC,oCAAoC;QACtC,CAAC,CAAC,8CAA8C,CAAC;IAEnD,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,gBAAgB,EAAE,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,KAAK,EAAE,CAAC;YACd,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,iDAAiD;YACjD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAsB,CAAC;YACnC,cAAc,CAAC,GAAG,EAAE,IAAI,KAAK,yBAAyB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,gBAAM,SAAS,EAAC,sBAAsB,aACpC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,IAAI,eACH,IAAI,IAAI,SAAS,gBAChB,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,SAAS;oBACP,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,gDAAgD,EACpD,SAAS,CACV,aAEA,SAAS,CAAC,CAAC,CAAC,KAAC,KAAK,yBAAa,SAAS,EAAC,UAAU,GAAG,CAAC,CAAC,CAAC,KAAC,IAAI,yBAAa,SAAS,EAAC,UAAU,GAAG,EAClG,KAAK,IACC,EACT,KAAC,sBAAsB,IAAC,IAAI,EAAE,WAAW,GAAI,IACxC,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { OpportunityLifecycleStatus } from "./types";
2
+ export type OpportunityMenuActionId = "edit" | "duplicate" | "close" | "delete" | "share-link";
3
+ export interface OpportunityCardActionsMenuProps {
4
+ status: OpportunityLifecycleStatus;
5
+ onSelect: (id: OpportunityMenuActionId) => void;
6
+ className?: string;
7
+ }
8
+ export declare function OpportunityCardActionsMenu({ status, onSelect, className, }: OpportunityCardActionsMenuProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=opportunity-card-actions-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-card-actions-menu.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-card-actions-menu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAG1D,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/F,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,EAAE,CAAC,EAAE,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,0BAA0B,CAAC,EACzC,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE,+BAA+B,2CA8BjC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
3
+ import { CardActionsTrigger } from "../components/card-actions-trigger";
4
+ import { cn } from "../lib/utils";
5
+ function itemsForStatus(status) {
6
+ switch (status) {
7
+ case "draft":
8
+ return [
9
+ { id: "edit", label: "Edit" },
10
+ { id: "duplicate", label: "Duplicate" },
11
+ { id: "delete", label: "Delete", destructive: true },
12
+ ];
13
+ case "open":
14
+ return [
15
+ { id: "edit", label: "Edit" },
16
+ { id: "duplicate", label: "Duplicate" },
17
+ { id: "close", label: "Close" },
18
+ { id: "share-link", label: "Share link" },
19
+ ];
20
+ case "closed":
21
+ case "expired":
22
+ return [
23
+ { id: "edit", label: "Edit" },
24
+ { id: "duplicate", label: "Duplicate" },
25
+ { id: "share-link", label: "Share link" },
26
+ ];
27
+ }
28
+ }
29
+ export function OpportunityCardActionsMenu({ status, onSelect, className, }) {
30
+ const items = itemsForStatus(status);
31
+ return (_jsxs(DropdownMenu.Root, { children: [_jsx(DropdownMenu.Trigger, { asChild: true, children: _jsx(CardActionsTrigger, { "aria-label": "More actions", className: className }) }), _jsx(DropdownMenu.Portal, { children: _jsx(DropdownMenu.Content, { align: "end", sideOffset: 6, className: "z-50 min-w-[180px] overflow-hidden rounded-sm border border-border bg-popover p-1 shadow-sm", children: items.map((it) => (_jsx(DropdownMenu.Item, { onSelect: () => onSelect(it.id), className: cn("cursor-pointer rounded-xs px-2 py-1.5 text-sm data-[highlighted]:bg-accent data-[highlighted]:outline-hidden focus-visible:outline-hidden", it.destructive && "text-red-700 data-[highlighted]:bg-red-50"), children: it.label }, it.id))) }) })] }));
32
+ }
33
+ //# sourceMappingURL=opportunity-card-actions-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-card-actions-menu.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-card-actions-menu.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAUlC,SAAS,cAAc,CACrB,MAAkC;IAElC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO;gBACL,EAAE,EAAE,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,EAAE;gBACnC,EAAE,EAAE,EAAE,WAAW,EAAG,KAAK,EAAE,WAAW,EAAE;gBACxC,EAAE,EAAE,EAAE,QAAQ,EAAM,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE;aACzD,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,EAAE,EAAE,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,EAAE;gBACnC,EAAE,EAAE,EAAE,WAAW,EAAG,KAAK,EAAE,WAAW,EAAE;gBACxC,EAAE,EAAE,EAAE,OAAO,EAAO,KAAK,EAAE,OAAO,EAAE;gBACpC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC1C,CAAC;QACJ,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO;gBACL,EAAE,EAAE,EAAE,MAAM,EAAQ,KAAK,EAAE,MAAM,EAAE;gBACnC,EAAE,EAAE,EAAE,WAAW,EAAG,KAAK,EAAE,WAAW,EAAE;gBACxC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;aAC1C,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,EACzC,MAAM,EACN,QAAQ,EACR,SAAS,GACuB;IAChC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CACL,MAAC,YAAY,CAAC,IAAI,eAChB,KAAC,YAAY,CAAC,OAAO,IAAC,OAAO,kBAC3B,KAAC,kBAAkB,kBAAY,cAAc,EAAC,SAAS,EAAE,SAAS,GAAI,GACjD,EACvB,KAAC,YAAY,CAAC,MAAM,cAClB,KAAC,YAAY,CAAC,OAAO,IACnB,KAAK,EAAC,KAAK,EACX,UAAU,EAAE,CAAC,EACb,SAAS,EAAC,6FAA6F,YAEtG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACjB,KAAC,YAAY,CAAC,IAAI,IAEhB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/B,SAAS,EAAE,EAAE,CACX,2IAA2I,EAC3I,EAAE,CAAC,WAAW,IAAI,2CAA2C,CAC9D,YAEA,EAAE,CAAC,KAAK,IAPJ,EAAE,CAAC,EAAE,CAQQ,CACrB,CAAC,GACmB,GACH,IACJ,CACrB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { OpportunityCardActionsMenu } from "./opportunity-card-actions-menu";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof OpportunityCardActionsMenu;
6
+ tags: string[];
7
+ };
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ export declare const StatusOpen: Story;
11
+ export declare const StatusClosed: Story;
12
+ export declare const StatusExpired: Story;
13
+ export declare const StatusDraft: Story;
14
+ //# sourceMappingURL=opportunity-card-actions-menu.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-card-actions-menu.stories.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-card-actions-menu.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,QAAA,MAAM,IAAI;;;;CAIyC,CAAC;AACpD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAK,KAAwF,CAAC;AACrH,eAAO,MAAM,YAAY,EAAG,KAAwF,CAAC;AACrH,eAAO,MAAM,aAAa,EAAE,KAAwF,CAAC;AACrH,eAAO,MAAM,WAAW,EAAI,KAAwF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { OpportunityCardActionsMenu } from "./opportunity-card-actions-menu";
2
+ const meta = {
3
+ title: "Opportunities/CardActionsMenu",
4
+ component: OpportunityCardActionsMenu,
5
+ tags: ["autodocs"],
6
+ };
7
+ export default meta;
8
+ export const StatusOpen = { args: { status: "open", onSelect: (id) => console.warn("selected:", id) } };
9
+ export const StatusClosed = { args: { status: "closed", onSelect: (id) => console.warn("selected:", id) } };
10
+ export const StatusExpired = { args: { status: "expired", onSelect: (id) => console.warn("selected:", id) } };
11
+ export const StatusDraft = { args: { status: "draft", onSelect: (id) => console.warn("selected:", id) } };
12
+ //# sourceMappingURL=opportunity-card-actions-menu.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-card-actions-menu.stories.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-card-actions-menu.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,+BAA+B;IACtC,SAAS,EAAE,0BAA0B;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC;CAC+B,CAAC;AACpD,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,UAAU,GAAa,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAK,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACrH,MAAM,CAAC,MAAM,YAAY,GAAW,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACrH,MAAM,CAAC,MAAM,aAAa,GAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACrH,MAAM,CAAC,MAAM,WAAW,GAAY,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type CelebrationVariant = "success" | "capacity-exceeded" | "error";
2
+ export interface OpportunityCelebrationProps {
3
+ /** Set to a variant key to play the animation; null to render nothing. */
4
+ play: CelebrationVariant | null;
5
+ className?: string;
6
+ }
7
+ export declare function OpportunityCelebration({ play, className }: OpportunityCelebrationProps): import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=opportunity-celebration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-celebration.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-celebration.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,2BAA2B;IAC1C,0EAA0E;IAC1E,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,2BAA2B,kDA6CtF"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Check, TriangleAlert } from "lucide-react";
3
+ import { cn } from "../lib/utils";
4
+ export function OpportunityCelebration({ play, className }) {
5
+ if (!play)
6
+ return null;
7
+ const tint = play === "success" ? "from-amber-300/60"
8
+ : "from-red-400/60";
9
+ const badgeIcon = play === "success"
10
+ ? _jsx(Check, { className: "size-3.5", "aria-hidden": true })
11
+ : _jsx(TriangleAlert, { className: "size-3.5", "aria-hidden": true });
12
+ const badgeBg = play === "success"
13
+ ? "bg-emerald-700 text-white"
14
+ : "bg-amber-500 text-amber-50";
15
+ return (_jsxs("div", { "data-opportunity-celebration-wrap": true, "data-variant": play, className: cn("pointer-events-none absolute inset-0 overflow-hidden rounded-lg", className), "aria-hidden": "true", children: [_jsx("div", { "data-opportunity-celebration-sweep": true, "data-variant": play, className: cn("absolute inset-y-0 -left-full w-full bg-linear-to-r", tint, "to-transparent", "motion-safe:animate-[opportunity-celebration-sweep_900ms_ease-out_forwards]") }), _jsx("div", { "data-opportunity-check-badge": true, "data-variant": play, className: cn("absolute right-3 top-1/2 -translate-y-1/2 scale-0 rounded-full p-1 shadow-sm", badgeBg, "motion-safe:animate-[opportunity-check-badge-pop_350ms_cubic-bezier(0.34,1.56,0.64,1)_400ms_forwards]"), children: badgeIcon })] }));
16
+ }
17
+ //# sourceMappingURL=opportunity-celebration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-celebration.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-celebration.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAUlC,MAAM,UAAU,sBAAsB,CAAC,EAAE,IAAI,EAAE,SAAS,EAA+B;IACrF,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,IAAI,GACR,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB;QACxC,CAAC,CAAC,iBAAiB,CAAC;IAEtB,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS;QAClC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,UAAU,wBAAe;QAC5C,CAAC,CAAC,KAAC,aAAa,IAAC,SAAS,EAAC,UAAU,wBAAe,CAAC;IAEvD,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS;QAChC,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,4BAA4B,CAAC;IAEjC,OAAO,CACL,0EAEgB,IAAI,EAClB,SAAS,EAAE,EAAE,CAAC,iEAAiE,EAAE,SAAS,CAAC,iBAC/E,MAAM,aAElB,0EAEgB,IAAI,EAClB,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,IAAI,EACJ,gBAAgB,EAChB,6EAA6E,CAC9E,GACD,EACF,oEAEgB,IAAI,EAClB,SAAS,EAAE,EAAE,CACX,8EAA8E,EAC9E,OAAO,EACP,uGAAuG,CACxG,YAEA,SAAS,GACN,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { OpportunityCelebration } from "./opportunity-celebration";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof OpportunityCelebration;
6
+ tags: string[];
7
+ args: {
8
+ play: null;
9
+ };
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Success: Story;
14
+ export declare const CapacityExceeded: Story;
15
+ export declare const GenericError: Story;
16
+ export declare const ReducedMotion: Story;
17
+ //# sourceMappingURL=opportunity-celebration.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-celebration.stories.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-celebration.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAE5F,QAAA,MAAM,IAAI;;;;;;;CAKqC,CAAC;AAChD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAwCnC,eAAO,MAAM,OAAO,EAAE,KAAoD,CAAC;AAC3E,eAAO,MAAM,gBAAgB,EAAE,KAA8D,CAAC;AAC9F,eAAO,MAAM,YAAY,EAAE,KAAkD,CAAC;AAC9E,eAAO,MAAM,aAAa,EAAE,KAAiE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { OpportunityCelebration } from "./opportunity-celebration";
4
+ const meta = {
5
+ title: "Opportunities/OpportunityCelebration",
6
+ component: OpportunityCelebration,
7
+ tags: ["autodocs"],
8
+ args: { play: null },
9
+ };
10
+ export default meta;
11
+ function Demo({ variant }) {
12
+ const [play, setPlay] = React.useState(null);
13
+ return (_jsxs("div", { className: "relative rounded-lg border border-border bg-card p-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { children: "Demo card" }), _jsx("button", { className: "rounded-md bg-emerald-700 px-3 py-1.5 text-xs text-white", onClick: () => { setPlay(null); setTimeout(() => setPlay(variant), 20); }, children: "Play" })] }), _jsx(OpportunityCelebration, { play: play })] }));
14
+ }
15
+ /**
16
+ * ReducedMotion demo: wraps the component in a parent with a `data-force-reduced-motion`
17
+ * marker. Actual reduced motion is a user OS/browser preference — this story is a placeholder
18
+ * to remind reviewers to test with `prefers-reduced-motion: reduce` enabled in DevTools.
19
+ *
20
+ * The expected behavior is: `motion-safe:animate-*` classes become inert, so the sweep + check
21
+ * badge render in their settled final state (opacity 1, scale 1) without animating.
22
+ */
23
+ function ReducedMotionDemo({ variant }) {
24
+ return (_jsxs("div", { className: "space-y-2", children: [_jsxs("p", { className: "text-xs text-muted-foreground", children: ["To verify: enable ", _jsx("code", { children: "Rendering \u2192 Emulate CSS media feature prefers-reduced-motion: reduce" }), " in DevTools, then click Play. Sweep + badge should render in final state without animating."] }), _jsx(Demo, { variant: variant })] }));
25
+ }
26
+ export const Success = { render: () => _jsx(Demo, { variant: "success" }) };
27
+ export const CapacityExceeded = { render: () => _jsx(Demo, { variant: "capacity-exceeded" }) };
28
+ export const GenericError = { render: () => _jsx(Demo, { variant: "error" }) };
29
+ export const ReducedMotion = { render: () => _jsx(ReducedMotionDemo, { variant: "success" }) };
30
+ //# sourceMappingURL=opportunity-celebration.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-celebration.stories.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-celebration.stories.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAA2B,MAAM,2BAA2B,CAAC;AAE5F,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,sCAAsC;IAC7C,SAAS,EAAE,sBAAsB;IACjC,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;CACyB,CAAC;AAChD,eAAe,IAAI,CAAC;AAGpB,SAAS,IAAI,CAAC,EAAE,OAAO,EAAmC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA4B,IAAI,CAAC,CAAC;IACxE,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aACnE,eAAK,SAAS,EAAC,mCAAmC,aAChD,uCAAsB,EACtB,iBACE,SAAS,EAAC,0DAA0D,EACpE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,qBAGlE,IACL,EACN,KAAC,sBAAsB,IAAC,IAAI,EAAE,IAAI,GAAI,IAClC,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAAmC;IACrE,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aACxB,aAAG,SAAS,EAAC,+BAA+B,mCACxB,uGAAiF,oGAEjG,EACJ,KAAC,IAAI,IAAC,OAAO,EAAE,OAAO,GAAI,IACtB,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,IAAI,IAAC,OAAO,EAAC,SAAS,GAAG,EAAE,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,IAAI,IAAC,OAAO,EAAC,mBAAmB,GAAG,EAAE,CAAC;AAC9F,MAAM,CAAC,MAAM,YAAY,GAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,IAAI,IAAC,OAAO,EAAC,OAAO,GAAG,EAAE,CAAC;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,iBAAiB,IAAC,OAAO,EAAC,SAAS,GAAG,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { AdvancedFilterConfig } from "./types";
2
+ export interface OpportunityFilterBarDrawerProps {
3
+ open: boolean;
4
+ onOpenChange: (o: boolean) => void;
5
+ filters: AdvancedFilterConfig[];
6
+ values: Record<string, unknown>;
7
+ onApply: (next: Record<string, unknown>) => void;
8
+ }
9
+ export declare function OpportunityFilterBarDrawer({ open, onOpenChange, filters, values, onApply }: OpportunityFilterBarDrawerProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=opportunity-filter-bar-drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-filter-bar-drawer.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-filter-bar-drawer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,0BAA0B,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,+BAA+B,2CA4D3H"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as Dialog from "@radix-ui/react-dialog";
4
+ import { X } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ export function OpportunityFilterBarDrawer({ open, onOpenChange, filters, values, onApply }) {
7
+ const [local, setLocal] = React.useState(values);
8
+ // Re-sync from props whenever the drawer re-opens (so cancel + re-open shows the current filters).
9
+ React.useEffect(() => {
10
+ if (open) {
11
+ // eslint-disable-next-line @eslint-react/set-state-in-effect -- idempotent: functional updater returns prev unchanged when already equal
12
+ setLocal((prev) => (prev === values ? prev : values));
13
+ }
14
+ }, [open, values]);
15
+ const set = (key, v) => setLocal(prev => {
16
+ const next = { ...prev };
17
+ if (v === undefined || v === null || v === "" || (Array.isArray(v) && v.length === 0)) {
18
+ delete next[key];
19
+ }
20
+ else {
21
+ next[key] = v;
22
+ }
23
+ return next;
24
+ });
25
+ return (_jsx(Dialog.Root, { open: open, onOpenChange: onOpenChange, children: _jsxs(Dialog.Portal, { children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 bg-black/30 backdrop-blur-xs data-[state=open]:animate-in data-[state=open]:fade-in z-40" }), _jsxs(Dialog.Content, { "aria-label": "Advanced filters", className: "fixed right-0 top-0 z-50 flex h-full w-full max-w-md flex-col bg-background p-6 shadow-xl data-[state=open]:animate-in data-[state=open]:slide-in-from-right-[30%]", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx(Dialog.Title, { className: "text-lg font-semibold", children: "Advanced filters" }), _jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", "aria-label": "Close", className: "rounded-sm p-1 hover:bg-accent", children: _jsx(X, { "aria-hidden": true, className: "size-4" }) }) })] }), _jsx(Dialog.Description, { className: "sr-only", children: "Refine opportunities by additional criteria." }), _jsx("div", { className: "mt-6 flex flex-col gap-6 overflow-y-auto", children: filters.map(f => (_jsx(FilterControl, { config: f, value: local[f.key], onChange: (v) => set(f.key, v) }, f.key))) }), _jsxs("div", { className: "mt-8 flex justify-end gap-2", children: [_jsx(Dialog.Close, { asChild: true, children: _jsx("button", { type: "button", className: "rounded-md border border-border bg-background px-3 py-1.5 text-sm", children: "Cancel" }) }), _jsx("button", { type: "button", className: "rounded-md bg-emerald-700 px-3 py-1.5 text-sm text-white hover:bg-emerald-800", onClick: () => onApply(local), children: "Apply filters" })] })] })] }) }));
26
+ }
27
+ function FilterControl({ config, value, onChange }) {
28
+ switch (config.kind) {
29
+ case "select": {
30
+ if (config.multi) {
31
+ const selected = Array.isArray(value) ? value : [];
32
+ return (_jsxs("fieldset", { children: [_jsx("legend", { className: "mb-2 text-sm font-medium", children: config.label }), _jsx("div", { className: "flex flex-wrap gap-2", children: config.options.map(o => {
33
+ const isOn = selected.includes(o.value);
34
+ return (_jsx("button", { type: "button", "aria-pressed": isOn, onClick: () => onChange(isOn ? selected.filter(x => x !== o.value) : [...selected, o.value]), className: cn("rounded-full border px-3 py-1 text-xs", isOn ? "bg-emerald-700 text-white border-emerald-700" : "border-border"), children: o.label }, o.value));
35
+ }) })] }));
36
+ }
37
+ return (_jsxs("div", { children: [_jsx("label", { htmlFor: `adv-${config.key}`, className: "block text-sm font-medium", children: config.label }), _jsxs("select", { id: `adv-${config.key}`, className: "mt-1 w-full rounded-md border border-border bg-background px-3 py-1.5 text-sm", value: value ?? "", onChange: (e) => onChange(e.target.value || undefined), children: [_jsx("option", { value: "", children: "Any" }), config.options.map(o => _jsx("option", { value: o.value, children: o.label }, o.value))] })] }));
38
+ }
39
+ case "dateRange": {
40
+ const v = value ?? {};
41
+ const fromId = `adv-${config.key}-from`;
42
+ const toId = `adv-${config.key}-to`;
43
+ return (_jsxs("div", { children: [_jsx("span", { className: "block text-sm font-medium", children: config.label }), _jsxs("div", { className: "mt-1 flex gap-2", children: [_jsxs("label", { htmlFor: fromId, className: "sr-only", children: [config.label, " from"] }), _jsx("input", { id: fromId, type: "date", "aria-label": `${config.label} from`, value: v.from ?? "", min: config.min?.toISOString().slice(0, 10), max: config.max?.toISOString().slice(0, 10), onChange: (e) => onChange({ ...v, from: e.target.value || undefined }), className: "rounded-md border border-border bg-background px-2 py-1 text-sm" }), _jsxs("label", { htmlFor: toId, className: "sr-only", children: [config.label, " to"] }), _jsx("input", { id: toId, type: "date", "aria-label": `${config.label} to`, value: v.to ?? "", min: config.min?.toISOString().slice(0, 10), max: config.max?.toISOString().slice(0, 10), onChange: (e) => onChange({ ...v, to: e.target.value || undefined }), className: "rounded-md border border-border bg-background px-2 py-1 text-sm" })] })] }));
44
+ }
45
+ case "numberRange": {
46
+ const v = value ?? {};
47
+ const fmt = config.format ?? ((n) => n.toString());
48
+ const minId = `adv-${config.key}-min`;
49
+ const maxId = `adv-${config.key}-max`;
50
+ return (_jsxs("div", { children: [_jsx("span", { className: "block text-sm font-medium", children: config.label }), _jsxs("div", { className: "mt-2 flex items-center gap-3", children: [_jsxs("label", { htmlFor: minId, className: "sr-only", children: [config.label, " minimum"] }), _jsx("input", { id: minId, type: "number", "aria-label": `${config.label} minimum`, min: config.min, max: config.max, step: config.step, value: v.min ?? "", onChange: (e) => onChange({ ...v, min: e.target.value === "" ? undefined : Number(e.target.value) }), className: "w-24 rounded-md border border-border bg-background px-2 py-1 text-sm" }), _jsx("span", { className: "text-sm text-muted-foreground", children: "to" }), _jsxs("label", { htmlFor: maxId, className: "sr-only", children: [config.label, " maximum"] }), _jsx("input", { id: maxId, type: "number", "aria-label": `${config.label} maximum`, min: config.min, max: config.max, step: config.step, value: v.max ?? "", onChange: (e) => onChange({ ...v, max: e.target.value === "" ? undefined : Number(e.target.value) }), className: "w-24 rounded-md border border-border bg-background px-2 py-1 text-sm" }), _jsxs("span", { className: "text-xs text-muted-foreground", children: ["(range ", fmt(config.min), "\u2013", fmt(config.max), ")"] })] })] }));
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=opportunity-filter-bar-drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-filter-bar-drawer.js","sourceRoot":"","sources":["../../src/opportunities/opportunity-filter-bar-drawer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ChipFilterConfig, AdvancedFilterConfig, SortOption } from "./types";
2
+ export interface OpportunityFilterBarProps {
3
+ chipFilters: ChipFilterConfig[];
4
+ advancedFilters: AdvancedFilterConfig[];
5
+ sortOptions: SortOption[];
6
+ searchValue: string;
7
+ onSearchChange: (value: string) => void;
8
+ activeFilters: Record<string, unknown>;
9
+ onFiltersChange: (next: Record<string, unknown>) => void;
10
+ totalCount: number;
11
+ className?: string;
12
+ }
13
+ export declare function OpportunityFilterBar(props: OpportunityFilterBarProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=opportunity-filter-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-filter-bar.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunity-filter-bar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGlF,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,eAAe,EAAE,oBAAoB,EAAE,CAAC;IACxC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CA0IpE"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import * as Select from "@radix-ui/react-select";
4
+ import { ChevronDown, Search, SlidersHorizontal, X } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ import { OpportunityFilterBarDrawer } from "./opportunity-filter-bar-drawer";
7
+ // Stable debouncer: stores the latest `fn` in a ref so consumers don't have to memoize it.
8
+ // Without this, every parent re-render creates a new `fn` identity, which — if `fn` were a useCallback dep —
9
+ // would reset the debounce timer on every keystroke in production.
10
+ function useDebouncedCallback(fn, delayMs) {
11
+ const fnRef = React.useRef(fn);
12
+ React.useEffect(() => { fnRef.current = fn; }, [fn]);
13
+ const timerRef = React.useRef(null);
14
+ return React.useCallback((...args) => {
15
+ if (timerRef.current)
16
+ clearTimeout(timerRef.current);
17
+ timerRef.current = setTimeout(() => fnRef.current(...args), delayMs);
18
+ }, [delayMs]);
19
+ }
20
+ export function OpportunityFilterBar(props) {
21
+ const { chipFilters, advancedFilters, sortOptions, searchValue, onSearchChange, activeFilters, onFiltersChange, totalCount, className, } = props;
22
+ const [localSearch, setLocalSearch] = React.useState(searchValue);
23
+ React.useEffect(() => {
24
+ // eslint-disable-next-line @eslint-react/set-state-in-effect -- idempotent: functional updater returns prev unchanged when already equal
25
+ setLocalSearch((prev) => (prev === searchValue ? prev : searchValue));
26
+ }, [searchValue]);
27
+ const debouncedSearch = useDebouncedCallback((v) => onSearchChange(v), 300);
28
+ const [drawerOpen, setDrawerOpen] = React.useState(false);
29
+ const currentSort = activeFilters._sort ?? sortOptions[0]?.key;
30
+ const hasActive = Object.entries(activeFilters).some(([k, v]) => k !== "_sort" && v !== undefined && v !== null && v !== "" && !(Array.isArray(v) && v.length === 0));
31
+ const setFilter = (key, value) => {
32
+ const next = { ...activeFilters, [key]: value };
33
+ if (value === undefined || value === null || value === "" || (Array.isArray(value) && value.length === 0)) {
34
+ delete next[key];
35
+ }
36
+ onFiltersChange(next);
37
+ };
38
+ const clearAll = () => onFiltersChange(currentSort ? { _sort: currentSort } : {});
39
+ return (_jsxs("div", { className: cn("flex flex-col gap-3", className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [chipFilters.map(chip => (_jsx(ChipGroup, { config: chip, value: activeFilters[chip.key], onChange: (next) => setFilter(chip.key, next) }, chip.key))), _jsxs("div", { className: "ml-auto flex items-center gap-2", children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { "aria-hidden": true, className: "absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground" }), _jsx("label", { htmlFor: "opportunity-filter-search", className: "sr-only", children: "Search opportunities" }), _jsx("input", { id: "opportunity-filter-search", type: "text", className: "w-56 rounded-sm border border-border bg-background pl-8 pr-3 py-1.5 text-sm", placeholder: "Search...", value: localSearch, onChange: (e) => { setLocalSearch(e.target.value); debouncedSearch(e.target.value); } })] }), _jsxs(Select.Root, { value: currentSort, onValueChange: (v) => setFilter("_sort", v), children: [_jsxs(Select.Trigger, { className: "inline-flex items-center gap-1 rounded-md border border-border bg-background px-3 py-1.5 text-sm focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-emerald-500", "aria-label": "Sort order", children: [_jsx(Select.Value, {}), _jsx(Select.Icon, { children: _jsx(ChevronDown, { "aria-hidden": true, className: "size-4" }) })] }), _jsx(Select.Portal, { children: _jsx(Select.Content, { className: "overflow-hidden rounded-md border border-border bg-popover shadow-md z-50", position: "popper", sideOffset: 4, children: _jsx(Select.Viewport, { className: "p-1", children: sortOptions.map(opt => (_jsx(Select.Item, { value: opt.key, className: "cursor-pointer rounded-sm px-2 py-1 text-sm data-[highlighted]:bg-accent data-[highlighted]:outline-hidden focus-visible:outline-hidden", children: _jsx(Select.ItemText, { children: opt.label }) }, opt.key))) }) }) })] }), advancedFilters.length > 0 ? (_jsxs("button", { type: "button", className: "inline-flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm", onClick: () => setDrawerOpen(true), children: [_jsx(SlidersHorizontal, { "aria-hidden": true, className: "size-4" }), " Advanced"] })) : null] })] }), hasActive ? (_jsxs("div", { className: "flex flex-wrap items-center gap-2 text-xs", children: [Object.entries(activeFilters).map(([key, value]) => {
40
+ if (key === "_sort")
41
+ return null;
42
+ if (value == null || value === "" || (Array.isArray(value) && value.length === 0))
43
+ return null;
44
+ const displayValue = Array.isArray(value) ? value.join(", ") : String(value);
45
+ return (_jsxs("button", { className: "inline-flex items-center gap-1 rounded-full bg-accent px-2 py-0.5 hover:bg-accent/80", onClick: () => setFilter(key, Array.isArray(value) ? [] : undefined), "aria-label": `Remove filter: ${key}`, children: [_jsxs("span", { children: [key, ": ", displayValue] }), _jsx(X, { "aria-hidden": true, className: "size-3" })] }, key));
46
+ }), _jsx("button", { type: "button", className: "text-muted-foreground underline underline-offset-2", onClick: clearAll, children: "Clear all" })] })) : null, _jsxs("div", { role: "status", "aria-live": "polite", className: "sr-only", children: [totalCount, " opportunities shown"] }), _jsx(OpportunityFilterBarDrawer, { open: drawerOpen, onOpenChange: setDrawerOpen, filters: advancedFilters, values: activeFilters, onApply: (next) => { onFiltersChange(next); setDrawerOpen(false); } })] }));
47
+ }
48
+ function ChipGroup({ config, value, onChange }) {
49
+ if (config.multi) {
50
+ const selected = Array.isArray(value) ? value : [];
51
+ return (_jsx("div", { role: "group", "aria-label": config.label, className: "flex flex-wrap items-center gap-1", children: config.options.map(opt => {
52
+ const isOn = selected.includes(opt.value);
53
+ return (_jsxs("button", { type: "button", "aria-pressed": isOn, onClick: () => onChange(isOn ? selected.filter(x => x !== opt.value) : [...selected, opt.value]), className: cn("rounded-full border px-3 py-1 text-xs font-medium", isOn
54
+ ? "bg-emerald-700 text-white border-emerald-700"
55
+ : "bg-background text-foreground border-border hover:bg-accent"), children: [opt.label, opt.count != null ? ` (${opt.count})` : ""] }, opt.value));
56
+ }) }));
57
+ }
58
+ return (_jsx("div", { role: "radiogroup", "aria-label": config.label, className: "flex flex-wrap items-center gap-1", children: config.options.map(opt => {
59
+ const isOn = value === opt.value;
60
+ return (_jsxs("button", { type: "button", role: "radio", "aria-checked": isOn, onClick: () => onChange(opt.value), className: cn("rounded-full border px-3 py-1 text-xs font-medium", isOn
61
+ ? "bg-emerald-700 text-white border-emerald-700"
62
+ : "bg-background text-foreground border-border hover:bg-accent"), children: [opt.label, opt.count != null ? ` (${opt.count})` : ""] }, opt.value));
63
+ }) }));
64
+ }
65
+ //# sourceMappingURL=opportunity-filter-bar.js.map