@cellarnode/ui 0.17.4 → 0.19.2

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 (375) 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/components/journey-card.d.ts +9 -1
  5. package/dist/components/journey-card.d.ts.map +1 -1
  6. package/dist/components/journey-card.js +13 -6
  7. package/dist/components/journey-card.js.map +1 -1
  8. package/dist/components/journey-card.stories.d.ts +2 -0
  9. package/dist/components/journey-card.stories.d.ts.map +1 -1
  10. package/dist/components/journey-card.stories.js +43 -0
  11. package/dist/components/journey-card.stories.js.map +1 -1
  12. package/dist/components/sortable-card-context.d.ts +18 -0
  13. package/dist/components/sortable-card-context.d.ts.map +1 -0
  14. package/dist/components/sortable-card-context.js +18 -0
  15. package/dist/components/sortable-card-context.js.map +1 -0
  16. package/dist/components/sortable-card-shell.d.ts +40 -21
  17. package/dist/components/sortable-card-shell.d.ts.map +1 -1
  18. package/dist/components/sortable-card-shell.js +46 -39
  19. package/dist/components/sortable-card-shell.js.map +1 -1
  20. package/dist/components/sortable-card-shell.stories.d.ts +1 -1
  21. package/dist/components/sortable-card-shell.stories.d.ts.map +1 -1
  22. package/dist/components/sortable-card-shell.stories.js +28 -15
  23. package/dist/components/sortable-card-shell.stories.js.map +1 -1
  24. package/dist/components/sortable-card-shell.test.js +57 -16
  25. package/dist/components/sortable-card-shell.test.js.map +1 -1
  26. package/dist/index.d.ts +8 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +6 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/offer/attachments-card.d.ts +9 -0
  31. package/dist/offer/attachments-card.d.ts.map +1 -0
  32. package/dist/offer/attachments-card.js +16 -0
  33. package/dist/offer/attachments-card.js.map +1 -0
  34. package/dist/offer/attachments-card.stories.d.ts +17 -0
  35. package/dist/offer/attachments-card.stories.d.ts.map +1 -0
  36. package/dist/offer/attachments-card.stories.js +24 -0
  37. package/dist/offer/attachments-card.stories.js.map +1 -0
  38. package/dist/offer/buyer-notes-card.d.ts +7 -0
  39. package/dist/offer/buyer-notes-card.d.ts.map +1 -0
  40. package/dist/offer/buyer-notes-card.js +6 -0
  41. package/dist/offer/buyer-notes-card.js.map +1 -0
  42. package/dist/offer/buyer-notes-card.stories.d.ts +16 -0
  43. package/dist/offer/buyer-notes-card.stories.d.ts.map +1 -0
  44. package/dist/offer/buyer-notes-card.stories.js +25 -0
  45. package/dist/offer/buyer-notes-card.stories.js.map +1 -0
  46. package/dist/offer/counter-slide-over.d.ts +44 -0
  47. package/dist/offer/counter-slide-over.d.ts.map +1 -0
  48. package/dist/offer/counter-slide-over.js +81 -0
  49. package/dist/offer/counter-slide-over.js.map +1 -0
  50. package/dist/offer/counter-slide-over.stories.d.ts +23 -0
  51. package/dist/offer/counter-slide-over.stories.d.ts.map +1 -0
  52. package/dist/offer/counter-slide-over.stories.js +235 -0
  53. package/dist/offer/counter-slide-over.stories.js.map +1 -0
  54. package/dist/offer/facts-card.d.ts +32 -0
  55. package/dist/offer/facts-card.d.ts.map +1 -0
  56. package/dist/offer/facts-card.js +87 -0
  57. package/dist/offer/facts-card.js.map +1 -0
  58. package/dist/offer/facts-card.stories.d.ts +25 -0
  59. package/dist/offer/facts-card.stories.d.ts.map +1 -0
  60. package/dist/offer/facts-card.stories.js +177 -0
  61. package/dist/offer/facts-card.stories.js.map +1 -0
  62. package/dist/offer/index.d.ts +39 -0
  63. package/dist/offer/index.d.ts.map +1 -1
  64. package/dist/offer/index.js +21 -0
  65. package/dist/offer/index.js.map +1 -1
  66. package/dist/offer/inline-counter-form.d.ts +16 -0
  67. package/dist/offer/inline-counter-form.d.ts.map +1 -1
  68. package/dist/offer/inline-counter-form.js +8 -0
  69. package/dist/offer/inline-counter-form.js.map +1 -1
  70. package/dist/offer/match-compatibility-card.d.ts +16 -0
  71. package/dist/offer/match-compatibility-card.d.ts.map +1 -0
  72. package/dist/offer/match-compatibility-card.js +27 -0
  73. package/dist/offer/match-compatibility-card.js.map +1 -0
  74. package/dist/offer/match-compatibility-card.stories.d.ts +19 -0
  75. package/dist/offer/match-compatibility-card.stories.d.ts.map +1 -0
  76. package/dist/offer/match-compatibility-card.stories.js +111 -0
  77. package/dist/offer/match-compatibility-card.stories.js.map +1 -0
  78. package/dist/offer/match-glyph.d.ts +14 -0
  79. package/dist/offer/match-glyph.d.ts.map +1 -0
  80. package/dist/offer/match-glyph.js +40 -0
  81. package/dist/offer/match-glyph.js.map +1 -0
  82. package/dist/offer/match-glyph.stories.d.ts +26 -0
  83. package/dist/offer/match-glyph.stories.d.ts.map +1 -0
  84. package/dist/offer/match-glyph.stories.js +26 -0
  85. package/dist/offer/match-glyph.stories.js.map +1 -0
  86. package/dist/offer/match-headline-bar.d.ts +11 -0
  87. package/dist/offer/match-headline-bar.d.ts.map +1 -0
  88. package/dist/offer/match-headline-bar.js +28 -0
  89. package/dist/offer/match-headline-bar.js.map +1 -0
  90. package/dist/offer/match-headline-bar.stories.d.ts +17 -0
  91. package/dist/offer/match-headline-bar.stories.d.ts.map +1 -0
  92. package/dist/offer/match-headline-bar.stories.js +39 -0
  93. package/dist/offer/match-headline-bar.stories.js.map +1 -0
  94. package/dist/offer/match-preview.d.ts +18 -0
  95. package/dist/offer/match-preview.d.ts.map +1 -0
  96. package/dist/offer/match-preview.js +13 -0
  97. package/dist/offer/match-preview.js.map +1 -0
  98. package/dist/offer/match-preview.stories.d.ts +18 -0
  99. package/dist/offer/match-preview.stories.d.ts.map +1 -0
  100. package/dist/offer/match-preview.stories.js +103 -0
  101. package/dist/offer/match-preview.stories.js.map +1 -0
  102. package/dist/offer/negotiation-section.d.ts +11 -0
  103. package/dist/offer/negotiation-section.d.ts.map +1 -0
  104. package/dist/offer/negotiation-section.js +99 -0
  105. package/dist/offer/negotiation-section.js.map +1 -0
  106. package/dist/offer/negotiation-section.stories.d.ts +18 -0
  107. package/dist/offer/negotiation-section.stories.d.ts.map +1 -0
  108. package/dist/offer/negotiation-section.stories.js +156 -0
  109. package/dist/offer/negotiation-section.stories.js.map +1 -0
  110. package/dist/offer/new-activity-pill.d.ts +7 -0
  111. package/dist/offer/new-activity-pill.d.ts.map +1 -0
  112. package/dist/offer/new-activity-pill.js +8 -0
  113. package/dist/offer/new-activity-pill.js.map +1 -0
  114. package/dist/offer/new-activity-pill.stories.d.ts +17 -0
  115. package/dist/offer/new-activity-pill.stories.d.ts.map +1 -0
  116. package/dist/offer/new-activity-pill.stories.js +22 -0
  117. package/dist/offer/new-activity-pill.stories.js.map +1 -0
  118. package/dist/offer/offer-document.d.ts +33 -0
  119. package/dist/offer/offer-document.d.ts.map +1 -0
  120. package/dist/offer/offer-document.js +125 -0
  121. package/dist/offer/offer-document.js.map +1 -0
  122. package/dist/offer/offer-document.stories.d.ts +25 -0
  123. package/dist/offer/offer-document.stories.d.ts.map +1 -0
  124. package/dist/offer/offer-document.stories.js +168 -0
  125. package/dist/offer/offer-document.stories.js.map +1 -0
  126. package/dist/offer/offer-export-button.d.ts +8 -0
  127. package/dist/offer/offer-export-button.d.ts.map +1 -0
  128. package/dist/offer/offer-export-button.js +11 -0
  129. package/dist/offer/offer-export-button.js.map +1 -0
  130. package/dist/offer/offer-export-button.stories.d.ts +15 -0
  131. package/dist/offer/offer-export-button.stories.d.ts.map +1 -0
  132. package/dist/offer/offer-export-button.stories.js +11 -0
  133. package/dist/offer/offer-export-button.stories.js.map +1 -0
  134. package/dist/offer/offer-product-card.d.ts +32 -0
  135. package/dist/offer/offer-product-card.d.ts.map +1 -0
  136. package/dist/offer/offer-product-card.js +10 -0
  137. package/dist/offer/offer-product-card.js.map +1 -0
  138. package/dist/offer/offer-product-card.stories.d.ts +16 -0
  139. package/dist/offer/offer-product-card.stories.d.ts.map +1 -0
  140. package/dist/offer/offer-product-card.stories.js +40 -0
  141. package/dist/offer/offer-product-card.stories.js.map +1 -0
  142. package/dist/offer/opportunity-card.d.ts +16 -0
  143. package/dist/offer/opportunity-card.d.ts.map +1 -0
  144. package/dist/offer/opportunity-card.js +9 -0
  145. package/dist/offer/opportunity-card.js.map +1 -0
  146. package/dist/offer/opportunity-card.stories.d.ts +16 -0
  147. package/dist/offer/opportunity-card.stories.d.ts.map +1 -0
  148. package/dist/offer/opportunity-card.stories.js +33 -0
  149. package/dist/offer/opportunity-card.stories.js.map +1 -0
  150. package/dist/offer/parties-card.d.ts +11 -0
  151. package/dist/offer/parties-card.d.ts.map +1 -0
  152. package/dist/offer/parties-card.js +14 -0
  153. package/dist/offer/parties-card.js.map +1 -0
  154. package/dist/offer/parties-card.stories.d.ts +17 -0
  155. package/dist/offer/parties-card.stories.d.ts.map +1 -0
  156. package/dist/offer/parties-card.stories.js +37 -0
  157. package/dist/offer/parties-card.stories.js.map +1 -0
  158. package/dist/offer/terms-card.d.ts +17 -0
  159. package/dist/offer/terms-card.d.ts.map +1 -0
  160. package/dist/offer/terms-card.js +50 -0
  161. package/dist/offer/terms-card.js.map +1 -0
  162. package/dist/offer/terms-card.stories.d.ts +17 -0
  163. package/dist/offer/terms-card.stories.d.ts.map +1 -0
  164. package/dist/offer/terms-card.stories.js +42 -0
  165. package/dist/offer/terms-card.stories.js.map +1 -0
  166. package/dist/offer/timeline-event.d.ts +12 -0
  167. package/dist/offer/timeline-event.d.ts.map +1 -0
  168. package/dist/offer/timeline-event.js +57 -0
  169. package/dist/offer/timeline-event.js.map +1 -0
  170. package/dist/offer/timeline-event.stories.d.ts +21 -0
  171. package/dist/offer/timeline-event.stories.d.ts.map +1 -0
  172. package/dist/offer/timeline-event.stories.js +57 -0
  173. package/dist/offer/timeline-event.stories.js.map +1 -0
  174. package/dist/offer/types.d.ts +118 -0
  175. package/dist/offer/types.d.ts.map +1 -1
  176. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.d.ts +2 -0
  177. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.d.ts.map +1 -0
  178. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.js +40 -0
  179. package/dist/opportunities/__a11y__/opportunity-card-actions-menu.a11y.test.js.map +1 -0
  180. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.d.ts +2 -0
  181. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.d.ts.map +1 -0
  182. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.js +31 -0
  183. package/dist/opportunities/__a11y__/opportunity-celebration.a11y.test.js.map +1 -0
  184. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.d.ts +2 -0
  185. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.d.ts.map +1 -0
  186. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.js +42 -0
  187. package/dist/opportunities/__a11y__/opportunity-detail-panel.a11y.test.js.map +1 -0
  188. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.d.ts +2 -0
  189. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.d.ts.map +1 -0
  190. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.js +59 -0
  191. package/dist/opportunities/__a11y__/opportunity-filter-bar.a11y.test.js.map +1 -0
  192. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.d.ts +2 -0
  193. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.d.ts.map +1 -0
  194. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.js +54 -0
  195. package/dist/opportunities/__a11y__/opportunity-stacked-card.a11y.test.js.map +1 -0
  196. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.d.ts +2 -0
  197. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.d.ts.map +1 -0
  198. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.js +40 -0
  199. package/dist/opportunities/__a11y__/opportunity-stacked-list.a11y.test.js.map +1 -0
  200. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.d.ts +2 -0
  201. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.d.ts.map +1 -0
  202. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.js +40 -0
  203. package/dist/opportunities/__tests__/opportunity-add-to-journey-button.test.js.map +1 -0
  204. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.d.ts +2 -0
  205. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.d.ts.map +1 -0
  206. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.js +74 -0
  207. package/dist/opportunities/__tests__/opportunity-card-actions-menu.test.js.map +1 -0
  208. package/dist/opportunities/__tests__/opportunity-celebration.test.d.ts +2 -0
  209. package/dist/opportunities/__tests__/opportunity-celebration.test.d.ts.map +1 -0
  210. package/dist/opportunities/__tests__/opportunity-celebration.test.js +46 -0
  211. package/dist/opportunities/__tests__/opportunity-celebration.test.js.map +1 -0
  212. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.d.ts +2 -0
  213. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.d.ts.map +1 -0
  214. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.js +77 -0
  215. package/dist/opportunities/__tests__/opportunity-filter-bar-drawer.test.js.map +1 -0
  216. package/dist/opportunities/__tests__/opportunity-filter-bar.test.d.ts +2 -0
  217. package/dist/opportunities/__tests__/opportunity-filter-bar.test.d.ts.map +1 -0
  218. package/dist/opportunities/__tests__/opportunity-filter-bar.test.js +107 -0
  219. package/dist/opportunities/__tests__/opportunity-filter-bar.test.js.map +1 -0
  220. package/dist/opportunities/__tests__/opportunity-reopen-button.test.d.ts +2 -0
  221. package/dist/opportunities/__tests__/opportunity-reopen-button.test.d.ts.map +1 -0
  222. package/dist/opportunities/__tests__/opportunity-reopen-button.test.js +29 -0
  223. package/dist/opportunities/__tests__/opportunity-reopen-button.test.js.map +1 -0
  224. package/dist/opportunities/__tests__/opportunity-republish-button.test.d.ts +2 -0
  225. package/dist/opportunities/__tests__/opportunity-republish-button.test.d.ts.map +1 -0
  226. package/dist/opportunities/__tests__/opportunity-republish-button.test.js +29 -0
  227. package/dist/opportunities/__tests__/opportunity-republish-button.test.js.map +1 -0
  228. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.d.ts +2 -0
  229. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.d.ts.map +1 -0
  230. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.js +19 -0
  231. package/dist/opportunities/__tests__/opportunity-resume-draft-button.test.js.map +1 -0
  232. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.d.ts +2 -0
  233. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.d.ts.map +1 -0
  234. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.js +23 -0
  235. package/dist/opportunities/__tests__/opportunity-view-offers-button.test.js.map +1 -0
  236. package/dist/opportunities/index.d.ts +51 -1
  237. package/dist/opportunities/index.d.ts.map +1 -1
  238. package/dist/opportunities/index.js +35 -0
  239. package/dist/opportunities/index.js.map +1 -1
  240. package/dist/opportunities/opportunities-table.d.ts +4 -0
  241. package/dist/opportunities/opportunities-table.d.ts.map +1 -1
  242. package/dist/opportunities/opportunities-table.js +4 -0
  243. package/dist/opportunities/opportunities-table.js.map +1 -1
  244. package/dist/opportunities/opportunity-add-to-journey-button.d.ts +12 -0
  245. package/dist/opportunities/opportunity-add-to-journey-button.d.ts.map +1 -0
  246. package/dist/opportunities/opportunity-add-to-journey-button.js +42 -0
  247. package/dist/opportunities/opportunity-add-to-journey-button.js.map +1 -0
  248. package/dist/opportunities/opportunity-card-actions-menu.d.ts +9 -0
  249. package/dist/opportunities/opportunity-card-actions-menu.d.ts.map +1 -0
  250. package/dist/opportunities/opportunity-card-actions-menu.js +33 -0
  251. package/dist/opportunities/opportunity-card-actions-menu.js.map +1 -0
  252. package/dist/opportunities/opportunity-card-actions-menu.stories.d.ts +14 -0
  253. package/dist/opportunities/opportunity-card-actions-menu.stories.d.ts.map +1 -0
  254. package/dist/opportunities/opportunity-card-actions-menu.stories.js +12 -0
  255. package/dist/opportunities/opportunity-card-actions-menu.stories.js.map +1 -0
  256. package/dist/opportunities/opportunity-celebration.d.ts +8 -0
  257. package/dist/opportunities/opportunity-celebration.d.ts.map +1 -0
  258. package/dist/opportunities/opportunity-celebration.js +17 -0
  259. package/dist/opportunities/opportunity-celebration.js.map +1 -0
  260. package/dist/opportunities/opportunity-celebration.stories.d.ts +17 -0
  261. package/dist/opportunities/opportunity-celebration.stories.d.ts.map +1 -0
  262. package/dist/opportunities/opportunity-celebration.stories.js +30 -0
  263. package/dist/opportunities/opportunity-celebration.stories.js.map +1 -0
  264. package/dist/opportunities/opportunity-filter-bar-drawer.d.ts +10 -0
  265. package/dist/opportunities/opportunity-filter-bar-drawer.d.ts.map +1 -0
  266. package/dist/opportunities/opportunity-filter-bar-drawer.js +54 -0
  267. package/dist/opportunities/opportunity-filter-bar-drawer.js.map +1 -0
  268. package/dist/opportunities/opportunity-filter-bar.d.ts +14 -0
  269. package/dist/opportunities/opportunity-filter-bar.d.ts.map +1 -0
  270. package/dist/opportunities/opportunity-filter-bar.js +65 -0
  271. package/dist/opportunities/opportunity-filter-bar.js.map +1 -0
  272. package/dist/opportunities/opportunity-filter-bar.stories.d.ts +25 -0
  273. package/dist/opportunities/opportunity-filter-bar.stories.d.ts.map +1 -0
  274. package/dist/opportunities/opportunity-filter-bar.stories.js +63 -0
  275. package/dist/opportunities/opportunity-filter-bar.stories.js.map +1 -0
  276. package/dist/opportunities/opportunity-reopen-button.d.ts +11 -0
  277. package/dist/opportunities/opportunity-reopen-button.d.ts.map +1 -0
  278. package/dist/opportunities/opportunity-reopen-button.js +20 -0
  279. package/dist/opportunities/opportunity-reopen-button.js.map +1 -0
  280. package/dist/opportunities/opportunity-republish-button.d.ts +7 -0
  281. package/dist/opportunities/opportunity-republish-button.d.ts.map +1 -0
  282. package/dist/opportunities/opportunity-republish-button.js +14 -0
  283. package/dist/opportunities/opportunity-republish-button.js.map +1 -0
  284. package/dist/opportunities/opportunity-resume-draft-button.d.ts +7 -0
  285. package/dist/opportunities/opportunity-resume-draft-button.d.ts.map +1 -0
  286. package/dist/opportunities/opportunity-resume-draft-button.js +7 -0
  287. package/dist/opportunities/opportunity-resume-draft-button.js.map +1 -0
  288. package/dist/opportunities/opportunity-stacked-list.d.ts.map +1 -1
  289. package/dist/opportunities/opportunity-stacked-list.js +3 -1
  290. package/dist/opportunities/opportunity-stacked-list.js.map +1 -1
  291. package/dist/opportunities/opportunity-view-offers-button.d.ts +7 -0
  292. package/dist/opportunities/opportunity-view-offers-button.d.ts.map +1 -0
  293. package/dist/opportunities/opportunity-view-offers-button.js +8 -0
  294. package/dist/opportunities/opportunity-view-offers-button.js.map +1 -0
  295. package/dist/opportunities/two-column-section.d.ts.map +1 -1
  296. package/dist/opportunities/two-column-section.js +4 -3
  297. package/dist/opportunities/two-column-section.js.map +1 -1
  298. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.d.ts +2 -0
  299. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.d.ts.map +1 -0
  300. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.js +53 -0
  301. package/dist/opportunities/wizard/__a11y__/opportunity-wizard.a11y.test.js.map +1 -0
  302. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.d.ts +2 -0
  303. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.d.ts.map +1 -0
  304. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.js +32 -0
  305. package/dist/opportunities/wizard/__a11y__/wizard-stepper.a11y.test.js.map +1 -0
  306. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.d.ts +2 -0
  307. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.d.ts.map +1 -0
  308. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.js +127 -0
  309. package/dist/opportunities/wizard/__tests__/opportunity-wizard.test.js.map +1 -0
  310. package/dist/opportunities/wizard/__tests__/step-opportunities.test.d.ts +2 -0
  311. package/dist/opportunities/wizard/__tests__/step-opportunities.test.d.ts.map +1 -0
  312. package/dist/opportunities/wizard/__tests__/step-opportunities.test.js +93 -0
  313. package/dist/opportunities/wizard/__tests__/step-opportunities.test.js.map +1 -0
  314. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.d.ts +2 -0
  315. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.d.ts.map +1 -0
  316. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.js +141 -0
  317. package/dist/opportunities/wizard/__tests__/step-pricing-timeline.test.js.map +1 -0
  318. package/dist/opportunities/wizard/__tests__/step-review.test.d.ts +2 -0
  319. package/dist/opportunities/wizard/__tests__/step-review.test.d.ts.map +1 -0
  320. package/dist/opportunities/wizard/__tests__/step-review.test.js +80 -0
  321. package/dist/opportunities/wizard/__tests__/step-review.test.js.map +1 -0
  322. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.d.ts +2 -0
  323. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.d.ts.map +1 -0
  324. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.js +76 -0
  325. package/dist/opportunities/wizard/__tests__/step-tender-basics.test.js.map +1 -0
  326. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.d.ts +2 -0
  327. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.d.ts.map +1 -0
  328. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.js +192 -0
  329. package/dist/opportunities/wizard/__tests__/use-wizard-draft.test.js.map +1 -0
  330. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.d.ts +2 -0
  331. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.d.ts.map +1 -0
  332. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.js +61 -0
  333. package/dist/opportunities/wizard/__tests__/wizard-stepper.test.js.map +1 -0
  334. package/dist/opportunities/wizard/opportunity-wizard.d.ts +29 -0
  335. package/dist/opportunities/wizard/opportunity-wizard.d.ts.map +1 -0
  336. package/dist/opportunities/wizard/opportunity-wizard.js +196 -0
  337. package/dist/opportunities/wizard/opportunity-wizard.js.map +1 -0
  338. package/dist/opportunities/wizard/opportunity-wizard.stories.d.ts +12 -0
  339. package/dist/opportunities/wizard/opportunity-wizard.stories.d.ts.map +1 -0
  340. package/dist/opportunities/wizard/opportunity-wizard.stories.js +49 -0
  341. package/dist/opportunities/wizard/opportunity-wizard.stories.js.map +1 -0
  342. package/dist/opportunities/wizard/step-opportunities.d.ts +9 -0
  343. package/dist/opportunities/wizard/step-opportunities.d.ts.map +1 -0
  344. package/dist/opportunities/wizard/step-opportunities.js +80 -0
  345. package/dist/opportunities/wizard/step-opportunities.js.map +1 -0
  346. package/dist/opportunities/wizard/step-pricing-timeline.d.ts +9 -0
  347. package/dist/opportunities/wizard/step-pricing-timeline.d.ts.map +1 -0
  348. package/dist/opportunities/wizard/step-pricing-timeline.js +64 -0
  349. package/dist/opportunities/wizard/step-pricing-timeline.js.map +1 -0
  350. package/dist/opportunities/wizard/step-review.d.ts +9 -0
  351. package/dist/opportunities/wizard/step-review.d.ts.map +1 -0
  352. package/dist/opportunities/wizard/step-review.js +34 -0
  353. package/dist/opportunities/wizard/step-review.js.map +1 -0
  354. package/dist/opportunities/wizard/step-tender-basics.d.ts +16 -0
  355. package/dist/opportunities/wizard/step-tender-basics.d.ts.map +1 -0
  356. package/dist/opportunities/wizard/step-tender-basics.js +39 -0
  357. package/dist/opportunities/wizard/step-tender-basics.js.map +1 -0
  358. package/dist/opportunities/wizard/use-wizard-draft.d.ts +41 -0
  359. package/dist/opportunities/wizard/use-wizard-draft.d.ts.map +1 -0
  360. package/dist/opportunities/wizard/use-wizard-draft.js +214 -0
  361. package/dist/opportunities/wizard/use-wizard-draft.js.map +1 -0
  362. package/dist/opportunities/wizard/wizard-stepper.d.ts +20 -0
  363. package/dist/opportunities/wizard/wizard-stepper.d.ts.map +1 -0
  364. package/dist/opportunities/wizard/wizard-stepper.js +26 -0
  365. package/dist/opportunities/wizard/wizard-stepper.js.map +1 -0
  366. package/dist/opportunities/wizard/wizard-stepper.stories.d.ts +22 -0
  367. package/dist/opportunities/wizard/wizard-stepper.stories.d.ts.map +1 -0
  368. package/dist/opportunities/wizard/wizard-stepper.stories.js +47 -0
  369. package/dist/opportunities/wizard/wizard-stepper.stories.js.map +1 -0
  370. package/dist/opportunities/wizard/wizard.types.d.ts +176 -0
  371. package/dist/opportunities/wizard/wizard.types.d.ts.map +1 -0
  372. package/dist/opportunities/wizard/wizard.types.js +62 -0
  373. package/dist/opportunities/wizard/wizard.types.js.map +1 -0
  374. package/package.json +13 -4
  375. package/src/offer/offer-document.print.css +72 -0
@@ -1,4 +1,19 @@
1
1
  import type { ConversationEvent, TranslationFn } from "./types";
2
+ /**
3
+ * Chat-scoped timeline for message + negotiation-event rendering in the
4
+ * chat surface.
5
+ *
6
+ * Deviation from the unified offer page spec (§10.2): the spec proposed
7
+ * extending this component with an offer-event kind registry so the offer
8
+ * page's negotiation timeline would reuse it. We instead ship a dedicated
9
+ * `NegotiationSection` wrapper in `ui/src/offer/` that renders offer-scoped
10
+ * `TimelineEvent` rows directly and reuses this file's scroll / virtualize
11
+ * / jump-to-latest UX pattern. See `ui/src/offer/negotiation-section.tsx`.
12
+ * Rationale: avoids cross-leaking offer data structures (`offer_responses`
13
+ * vs `chat_messages`) into the chat feature.
14
+ *
15
+ * @see {@link ../offer/negotiation-section.tsx}
16
+ */
2
17
  interface UnifiedTimelineProps {
3
18
  items: ConversationEvent[];
4
19
  currentOrgId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"unified-timeline.d.ts","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhE,UAAU,oBAAoB;IAC5B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAkID,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,CAAY,GACb,EAAE,oBAAoB,2CAwMtB"}
1
+ {"version":3,"file":"unified-timeline.d.ts","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;GAcG;AACH,UAAU,oBAAoB;IAC5B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAkID,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,CAAY,GACb,EAAE,oBAAoB,2CAwMtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"unified-timeline.js","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-timeline.js","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA6B/E,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAgB7D,SAAS,YAAY,CAAC,EACpB,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,CAAC,GACiB;IAClB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAE7C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,CACL,eAAK,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,aAC/D,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,gHAAgH,YAC7H,YAAY,GACR,GACH,CACP,EACD,KAAC,oBAAoB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAI,IACnD,CACP,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CACL,eAAK,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,aAC/D,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,gHAAgH,YAC7H,YAAY,GACR,GACH,CACP,EACD,cAAK,SAAS,EAAC,8DAA8D,YAC1E,IAAI,CAAC,OAAO,CAAC,OAAO,GACjB,IACF,CACP,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,CAAE,GAAG,CAAC,QAAuD,EAAE,MAAM,CAAC;IACxF,MAAM,cAAc,GAAG,IAAI;QACzB,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,MAAC,MAAM,CAAC,GAAG,IACT,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,EAC7D,OAAO,EACL,eAAe;YACb,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACzC,CAAC,CAAC,KAAK,EAEX,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACnC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,aAEtD,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,gHAAgH,YAC7H,YAAY,GACR,GACH,CACP,EACD,eACE,SAAS,EAAE,qCACT,IAAI;oBACF,CAAC,CAAC,uHAAuH;oBACzH,CAAC,CAAC,yDACN,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,aAElC,YAAG,SAAS,EAAC,WAAW,YAAE,GAAG,CAAC,OAAO,GAAK,EAC1C,eACE,SAAS,EAAE,8CACT,IAAI;4BACF,CAAC,CAAC,wCAAwC;4BAC1C,CAAC,CAAC,uBACN,EAAE,aAEF,yBAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAQ,EAC9C,IAAI,IAAI,cAAc,IAAI,CAAC,QAAQ,IAAI,CACtC,KAAC,iBAAiB,IAAC,MAAM,EAAE,cAAc,GAAI,CAC9C,IACG,IACF,EACL,QAAQ,IAAI,cAAc,IAAI,CAC7B,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EACrC,SAAS,EAAC,oFAAoF,aAE9F,KAAC,WAAW,IAAC,SAAS,EAAC,QAAQ,GAAG,EACjC,CAAC,CAAC,cAAc,EAAE,yBAAyB,CAAC,IACtC,CACV,IACU,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,cAAc,EACd,CAAC,GAAG,QAAQ,GACS;IACrB,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,gBAAgB,CAAC,OAAO;YACtB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/D,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAC3E,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/D,CAAC;gBACD,yEAAyE;gBACzE,qBAAqB,CAAC,GAAG,EAAE;oBACzB,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,+CAA+C;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAClF,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/D,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,oDAAoD;IACpD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAC,WAAW,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,gBAAgB,GACpB,CAAC,QAAQ;YACT,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,gBAAgB;YACnC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;YACjC,CAAC,CAAC,EAAE,CAAC;QAEP,uDAAuD;QACvD,MAAM,YAAY,GAChB,QAAQ;YACR,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,QAAQ,CAAC,IAAI,KAAK,MAAM;YACxB,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;YACzC,CAAC,gBAAgB,CAAC;QAEpB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAChE,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;IAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC;QACrC,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO;QACzC,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;QACtB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,KAAK,UAAU,cAAc;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,UAAU,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC;QAC9C,MAAM,UAAU,EAAE,CAAC;QACnB,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC;YAC1C,SAAS,CAAC,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,eACE,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,2DAA2D,aAEpE,OAAO,IAAI,CACV,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,cAAc,EAAE,CAAC;gBACxB,CAAC,YAEA,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,GACtB,CACV,EAEA,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CACrB,YAAG,SAAS,EAAC,2CAA2C,YACrD,CAAC,CAAC,eAAe,EAAE,0CAA0C,CAAC,GAC7D,CACL,EAEA,gBAAgB,CAAC,CAAC,CAAC,CAClB,cACE,KAAK,EAAE;oBACL,MAAM,EAAE,WAAW,CAAC,YAAY,EAAE;oBAClC,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,UAAU;iBACrB,YAEA,WAAW,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAChD,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC1F,OAAO,CACL,4BAEc,UAAU,CAAC,KAAK,EAC5B,GAAG,EAAE,WAAW,CAAC,cAAc,EAC/B,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,GAAG,EAAE,CAAC;4BACN,IAAI,EAAE,CAAC;4BACP,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,cAAc,UAAU,CAAC,KAAK,KAAK;yBAC/C,YAED,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,CAAC,EAAE,CAAC,GACJ,IArBG,IAAI,CAAC,EAAE,CAsBR,CACP,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,CAAC,CAAC,CAAC,CACF,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CACvE,KAAC,YAAY,IAEX,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,CAAC,EAAE,CAAC,IATC,IAAI,CAAC,EAAE,CAUZ,CACH,CAAC,CACH,EAEA,QAAQ,IAAI,KAAC,eAAe,KAAG,EAE/B,gBAAgB,IAAI,CACnB,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,SAAS,CAAC,OAAO;wBAAE,OAAO;oBAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC7D,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;oBAChC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,YAEA,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAC7B,CACV,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -42,8 +42,16 @@ export interface JourneyCardProps {
42
42
  animate?: boolean;
43
43
  /** Disable hover lift (used inside drag overlay) */
44
44
  disableHover?: boolean;
45
+ /**
46
+ * Force-show the drag grip in the top-left corner. Normally the card
47
+ * auto-detects whether it is rendered inside a `SortableCardShell` via
48
+ * `SortableCardContext`. Set to `false` to suppress the grip even when
49
+ * nested in a shell (e.g. inside a drag overlay preview). Set to `true`
50
+ * to show it outside of a shell (rare).
51
+ */
52
+ showGrip?: boolean;
45
53
  onClick?: () => void;
46
54
  className?: string;
47
55
  }
48
- export declare function JourneyCard({ productImage, productInitials, title, subtitle, modified, activityDot, matchScore, progress, metaRight, metaRightTone, participants, titleIcon, actionsSlot, variant, animate, disableHover, onClick, className, }: JourneyCardProps): import("react/jsx-runtime").JSX.Element;
56
+ export declare function JourneyCard({ productImage, productInitials, title, subtitle, modified, activityDot, matchScore, progress, metaRight, metaRightTone, participants, titleIcon, actionsSlot, variant, animate, disableHover, showGrip, onClick, className, }: JourneyCardProps): import("react/jsx-runtime").JSX.Element;
49
57
  //# sourceMappingURL=journey-card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-card.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,iGAAiG;IACjG,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,OAAmB,EACnB,OAAe,EACf,YAAoB,EACpB,OAAO,EACP,SAAS,GACV,EAAE,gBAAgB,2CAqLlB"}
1
+ {"version":3,"file":"journey-card.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG9D,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,iGAAiG;IACjG,YAAY,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACxD,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,+BAA+B;IAC/B,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,2CAA2C;IAC3C,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,6FAA6F;IAC7F,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD,wBAAgB,WAAW,CAAC,EAC1B,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,SAAS,EACT,aAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,OAAmB,EACnB,OAAe,EACf,YAAoB,EACpB,QAAQ,EACR,OAAO,EACP,SAAS,GACV,EAAE,gBAAgB,2CAyMlB"}
@@ -1,32 +1,39 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { motion } from "motion/react";
3
+ import * as React from "react";
4
+ import { Grip } from "lucide-react";
3
5
  import { cn } from "../lib/utils";
4
6
  import { AvatarStack } from "./avatar-stack";
7
+ import { SortableCardContext } from "./sortable-card-context";
5
8
  const VARIANT_BG = {
6
9
  default: "bg-[var(--card)]",
7
10
  sent: "bg-[color-mix(in_oklab,white_96%,var(--primary)_4%)]",
8
11
  won: "bg-[var(--tone-success-surface)] border-[color-mix(in_oklab,white_72%,var(--success)_28%)]",
9
12
  lost: "bg-[color-mix(in_oklab,white_97%,var(--foreground)_3%)] opacity-90",
10
13
  };
11
- export function JourneyCard({ productImage, productInitials, title, subtitle, modified = false, activityDot, matchScore, progress, metaRight, metaRightTone = "default", participants, titleIcon, actionsSlot, variant = "default", animate = false, disableHover = false, onClick, className, }) {
14
+ export function JourneyCard({ productImage, productInitials, title, subtitle, modified = false, activityDot, matchScore, progress, metaRight, metaRightTone = "default", participants, titleIcon, actionsSlot, variant = "default", animate = false, disableHover = false, showGrip, onClick, className, }) {
12
15
  const showInitials = !productImage && !!productInitials;
16
+ const { isDraggable } = React.use(SortableCardContext);
17
+ // Default: show grip whenever the card is nested in a SortableCardShell.
18
+ // Consumers can override either direction via `showGrip`.
19
+ const renderGrip = showGrip ?? isDraggable;
13
20
  const shell = (_jsxs("div", { role: onClick ? "button" : undefined, tabIndex: onClick ? 0 : undefined, onClick: onClick, onKeyDown: (e) => {
14
21
  if (onClick && (e.key === "Enter" || e.key === " ")) {
15
22
  e.preventDefault();
16
23
  onClick();
17
24
  }
18
- }, className: cn("group relative rounded-xl border border-[color-mix(in_oklab,var(--border)_60%,transparent)] p-3", "backdrop-blur-[14px] backdrop-saturate-[120%]", "shadow-[0_1px_2px_oklch(0.2_0.005_230/0.04),0_8px_24px_-18px_oklch(0.2_0.005_230/0.08),inset_0_1px_0_oklch(1_0_0/0.35)]", !disableHover &&
25
+ }, className: cn("group relative rounded-xl border border-[color-mix(in_oklab,var(--border)_60%,transparent)] p-3.5", "backdrop-blur-[14px] backdrop-saturate-[120%]", "shadow-[0_1px_2px_oklch(0.2_0.005_230/0.04),0_8px_24px_-18px_oklch(0.2_0.005_230/0.08),inset_0_1px_0_oklch(1_0_0/0.35)]", !disableHover &&
19
26
  "transition-[transform,border-color,box-shadow] duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] will-change-transform", !disableHover &&
20
- "hover:-translate-y-1 hover:border-[color-mix(in_oklab,var(--primary)_22%,var(--border))] hover:shadow-[0_8px_20px_-12px_oklch(0.2_0.005_230/0.08),0_20px_50px_-30px_oklch(0.40_0.062_178/0.28),inset_0_1px_0_oklch(1_0_0/0.45)] hover:z-10 focus-within:z-10 has-[[data-open]]:z-50", VARIANT_BG[variant], onClick && "cursor-pointer", className), children: [_jsxs("div", { className: "flex items-start gap-[10px]", children: [productImage ? (_jsx("img", { src: productImage.url, alt: productImage.altText ?? "", width: 44, height: 44, loading: "lazy", className: "size-11 shrink-0 rounded-lg object-cover shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]" })) : showInitials ? (_jsx("div", { className: "flex size-11 shrink-0 items-center justify-center rounded-lg text-sm font-bold tracking-tight text-white shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]", style: {
27
+ "hover:-translate-y-1 hover:border-[color-mix(in_oklab,var(--primary)_22%,var(--border))] hover:shadow-[0_8px_20px_-12px_oklch(0.2_0.005_230/0.08),0_20px_50px_-30px_oklch(0.40_0.062_178/0.28),inset_0_1px_0_oklch(1_0_0/0.45)] hover:z-10 focus-within:z-10 has-[[data-open]]:z-50", VARIANT_BG[variant], onClick && "cursor-pointer", className), children: [renderGrip && (_jsx("span", { "aria-hidden": "true", title: "Drag to reorder", className: "pointer-events-none absolute left-1.5 top-1.5 z-10 flex size-5 items-center justify-center rounded text-[var(--muted-foreground)] opacity-30 transition-opacity duration-[var(--duration-standard)] ease-[var(--ease-emphasized)] group-hover:opacity-100", children: _jsx(Grip, { className: "size-3.5" }) })), _jsxs("div", { className: cn("flex items-start gap-[10px]", renderGrip && "pl-5"), children: [productImage ? (_jsx("img", { src: productImage.url, alt: productImage.altText ?? "", width: 48, height: 48, loading: "lazy", className: "size-12 shrink-0 rounded-lg object-cover shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]" })) : showInitials ? (_jsx("div", { className: "flex size-12 shrink-0 items-center justify-center rounded-lg text-sm font-bold tracking-tight text-white shadow-[0_2px_8px_-2px_oklch(0_0_0/0.15),inset_0_1px_0_oklch(1_0_0/0.2)]", style: {
21
28
  background: "linear-gradient(135deg, color-mix(in oklab, var(--primary) 60%, white) 0%, color-mix(in oklab, var(--accent-secondary) 60%, white) 100%)",
22
29
  fontFamily: "Sora, sans-serif",
23
- }, "aria-hidden": "true", children: productInitials })) : (_jsx("div", { className: "flex size-11 shrink-0 items-center justify-center rounded-lg text-lg", style: {
30
+ }, "aria-hidden": "true", children: productInitials })) : (_jsx("div", { className: "flex size-12 shrink-0 items-center justify-center rounded-lg text-lg", style: {
24
31
  background: "color-mix(in oklab, white 94%, var(--primary) 6%)",
25
32
  border: "1.5px dashed color-mix(in oklab, var(--primary) 30%, white)",
26
33
  color: "color-mix(in oklab, var(--primary) 60%, var(--muted-foreground))",
27
- }, "aria-hidden": "true", children: "+" })), _jsxs("div", { className: "min-w-0 flex-1 pt-0.5", children: [_jsxs("div", { className: "mb-[3px] flex items-center gap-1.5", children: [_jsx("div", { className: "min-w-0 flex-1 truncate font-display text-[13px]/tight font-semibold tracking-tight text-foreground", children: title }), modified && (_jsx("span", { title: "Modified for this offer", "aria-label": "Modified for this offer", className: "size-[7px] shrink-0 rounded-full bg-[var(--accent-secondary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--accent-secondary)_15%,transparent)]" })), activityDot && !modified && (_jsx("span", { title: "Recent activity", "aria-label": "Recent activity", className: "size-[7px] shrink-0 rounded-full bg-[var(--primary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--primary)_15%,transparent)]" })), titleIcon && (_jsx("span", { className: "shrink-0 text-[var(--accent-secondary)]", children: titleIcon })), typeof matchScore === "number" && (_jsxs("span", { className: cn("shrink-0 rounded-md px-1.5 py-[1px] text-[10px] font-semibold tabular-nums", matchScore >= 80
34
+ }, "aria-hidden": "true", children: "+" })), _jsxs("div", { className: "min-w-0 flex-1 pt-0.5", children: [_jsxs("div", { className: "mb-[3px] flex items-center gap-1.5", children: [_jsx("div", { className: "min-w-0 flex-1 truncate font-display text-sm/tight font-semibold tracking-tight text-foreground", children: title }), modified && (_jsx("span", { title: "Modified for this offer", "aria-label": "Modified for this offer", className: "size-[7px] shrink-0 rounded-full bg-[var(--accent-secondary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--accent-secondary)_15%,transparent)]" })), activityDot && !modified && (_jsx("span", { title: "Recent activity", "aria-label": "Recent activity", className: "size-[7px] shrink-0 rounded-full bg-[var(--primary)] shadow-[0_0_0_3px_color-mix(in_oklab,var(--primary)_15%,transparent)]" })), titleIcon && (_jsx("span", { className: "shrink-0 text-[var(--accent-secondary)]", children: titleIcon })), typeof matchScore === "number" && (_jsxs("span", { className: cn("shrink-0 rounded-md px-1.5 py-[1px] text-[10px] font-semibold tabular-nums", matchScore >= 80
28
35
  ? "bg-[color-mix(in_oklab,var(--primary)_10%,transparent)] text-[color-mix(in_oklab,black_30%,var(--primary)_70%)]"
29
- : "bg-[color-mix(in_oklab,var(--primary)_6%,transparent)] text-[var(--muted-foreground)]"), children: [matchScore, "%"] }))] }), subtitle && (_jsx("div", { className: "truncate text-[11.5px]/snug text-[var(--muted-foreground)]", children: subtitle }))] })] }), typeof progress === "number" && (_jsx("div", { className: "mt-[10px] h-1 overflow-hidden rounded-full bg-[color-mix(in_oklab,var(--primary)_8%,transparent)]", role: "progressbar", "aria-valuenow": Math.round(progress * 100), "aria-valuemin": 0, "aria-valuemax": 100, children: _jsx("div", { className: "h-full transition-[width] duration-[var(--duration-hero)] ease-[var(--ease-emphasized)]", style: {
36
+ : "bg-[color-mix(in_oklab,var(--primary)_6%,transparent)] text-[var(--muted-foreground)]"), children: [matchScore, "%"] }))] }), subtitle && (_jsx("div", { className: "truncate text-xs/snug text-[var(--muted-foreground)]", children: subtitle }))] })] }), typeof progress === "number" && (_jsx("div", { className: "mt-[10px] h-1 overflow-hidden rounded-full bg-[color-mix(in_oklab,var(--primary)_8%,transparent)]", role: "progressbar", "aria-valuenow": Math.round(progress * 100), "aria-valuemin": 0, "aria-valuemax": 100, children: _jsx("div", { className: "h-full transition-[width] duration-[var(--duration-hero)] ease-[var(--ease-emphasized)]", style: {
30
37
  width: `${Math.max(0, Math.min(1, progress)) * 100}%`,
31
38
  background: "linear-gradient(90deg, var(--primary), color-mix(in oklab, var(--primary) 70%, var(--accent-secondary)))",
32
39
  } }) })), ((participants && participants.length > 0) || metaRight || actionsSlot) && (_jsx("div", { className: "mx-0 my-[10px] h-px bg-linear-to-r from-transparent via-[color-mix(in_oklab,var(--primary)_15%,transparent)] to-transparent" })), ((participants && participants.length > 0) || metaRight || actionsSlot) && (_jsxs("div", { className: "flex items-center gap-2", children: [participants && participants.length > 0 ? (_jsx(AvatarStack, { orgs: participants, size: "sm" })) : (_jsx("span", {})), _jsx("span", { className: "flex-1" }), metaRight && (_jsx("span", { className: cn("text-right font-display text-xs tabular-nums tracking-tight", metaRightTone === "success" &&
@@ -1 +1 @@
1
- {"version":3,"file":"journey-card.js","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey-card.js","sourceRoot":"","sources":["../../src/components/journey-card.tsx"],"names":[],"mappings":"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"}
@@ -11,5 +11,7 @@ export declare const Sent: Story;
11
11
  export declare const Won: Story;
12
12
  export declare const WithAnimation: Story;
13
13
  export declare const WithActivityDot: Story;
14
+ export declare const WithDragGrip: Story;
15
+ export declare const WithDragGripForceShown: Story;
14
16
  export declare const WithActionsSlot: Story;
15
17
  //# sourceMappingURL=journey-card.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"journey-card.stories.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEpE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAYhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAUxC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAclB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,KAejB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA2B7B,CAAC"}
1
+ {"version":3,"file":"journey-card.stories.d.ts","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAYhC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAUxC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAclB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,KAejB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA0B1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAoBpC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KA2B7B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Award, MoreHorizontal } from "lucide-react";
3
3
  import { JourneyCard } from "./journey-card";
4
+ import { SortableCardContext } from "./sortable-card-shell";
4
5
  const meta = {
5
6
  title: "Components/JourneyCard",
6
7
  component: JourneyCard,
@@ -105,6 +106,48 @@ export const WithActivityDot = {
105
106
  metaRightTone: "muted",
106
107
  },
107
108
  };
109
+ export const WithDragGrip = {
110
+ name: "With drag grip (inside SortableCardShell)",
111
+ decorators: [
112
+ (Story) => (_jsx(SortableCardContext, { value: { isDraggable: true }, children: _jsx(Story, {}) })),
113
+ ],
114
+ args: {
115
+ productInitials: "CR",
116
+ title: "Chardonnay Reserve 2021",
117
+ subtitle: "Nordic Wines · Organic whites",
118
+ participants: [{ id: "nw", name: "Nordic Wines" }],
119
+ metaRight: "2d ago",
120
+ metaRightTone: "muted",
121
+ onClick: () => { },
122
+ },
123
+ parameters: {
124
+ docs: {
125
+ description: {
126
+ story: "Cards rendered inside a `SortableCardShell` show a top-left grip affordance (6-dot grid, opacity 30% idle / 100% on hover). The grip is purely visual — `pointer-events-none` — so the whole card remains the drag activation surface. Toggle the story in isolation (not inside a shell) via the `Selected` story to verify the grip disappears outside a drag context.",
127
+ },
128
+ },
129
+ },
130
+ };
131
+ export const WithDragGripForceShown = {
132
+ name: "With drag grip (showGrip={true})",
133
+ args: {
134
+ showGrip: true,
135
+ productInitials: "CR",
136
+ title: "Chardonnay Reserve 2021",
137
+ subtitle: "Nordic Wines · Organic whites",
138
+ participants: [{ id: "nw", name: "Nordic Wines" }],
139
+ metaRight: "2d ago",
140
+ metaRightTone: "muted",
141
+ onClick: () => { },
142
+ },
143
+ parameters: {
144
+ docs: {
145
+ description: {
146
+ story: "`showGrip` overrides auto-detection. Use `true` to force the grip outside a `SortableCardShell` context, or `false` to suppress it inside one (e.g. in a drag-overlay preview).",
147
+ },
148
+ },
149
+ },
150
+ };
108
151
  export const WithActionsSlot = {
109
152
  args: {
110
153
  productInitials: "CR",
@@ -1 +1 @@
1
- {"version":3,"file":"journey-card.stories.js","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey-card.stories.js","sourceRoot":"","sources":["../../src/components/journey-card.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SortableCardContext — minimal leaf module.
3
+ *
4
+ * Extracted from `sortable-card-shell.tsx` so card components (e.g.
5
+ * `JourneyCard`) can read the context to decide whether to render a
6
+ * drag affordance WITHOUT transitively importing `@dnd-kit/dom` at
7
+ * module load. `@dnd-kit/dom` touches `ResizeObserver` when imported,
8
+ * which breaks jsdom-based tests that don't polyfill it.
9
+ *
10
+ * The shell itself re-exports this via `sortable-card-shell.tsx` for
11
+ * back-compat, so `import { SortableCardContext } from "./sortable-card-shell"`
12
+ * still works for existing consumers and tests.
13
+ */
14
+ export interface SortableCardContextValue {
15
+ isDraggable: boolean;
16
+ }
17
+ export declare const SortableCardContext: import("react").Context<SortableCardContextValue>;
18
+ //# sourceMappingURL=sortable-card-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable-card-context.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,mDAE9B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SortableCardContext — minimal leaf module.
3
+ *
4
+ * Extracted from `sortable-card-shell.tsx` so card components (e.g.
5
+ * `JourneyCard`) can read the context to decide whether to render a
6
+ * drag affordance WITHOUT transitively importing `@dnd-kit/dom` at
7
+ * module load. `@dnd-kit/dom` touches `ResizeObserver` when imported,
8
+ * which breaks jsdom-based tests that don't polyfill it.
9
+ *
10
+ * The shell itself re-exports this via `sortable-card-shell.tsx` for
11
+ * back-compat, so `import { SortableCardContext } from "./sortable-card-shell"`
12
+ * still works for existing consumers and tests.
13
+ */
14
+ import { createContext } from "react";
15
+ export const SortableCardContext = createContext({
16
+ isDraggable: false,
17
+ });
18
+ //# sourceMappingURL=sortable-card-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable-card-context.js","sourceRoot":"","sources":["../../src/components/sortable-card-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAA2B;IACzE,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC"}
@@ -1,32 +1,43 @@
1
1
  /**
2
- * SortableCardShell — shared whole-card drag wrapper with a grip affordance.
2
+ * SortableCardShell — whole-card drag wrapper.
3
3
  *
4
- * Journey/kanban board cards want three things:
5
- * 1. The whole card is the drag activation surface (not just the grip).
6
- * 2. A visible grip icon on the left hints that the card is draggable.
7
- * 3. Clicks on `<button>`/`<a>`/menus/etc. inside the card must still work —
8
- * they must NOT start a drag.
9
- *
10
- * This shell wraps children in a div whose ref is dnd-kit's activation region.
11
- * The grip icon is purely visual (`pointer-events-none` + `aria-hidden`) and
12
- * is NOT used as the drag handle — it's an affordance hint only.
4
+ * Journey/kanban cards want two things:
5
+ * 1. The whole card is the drag activation surface.
6
+ * 2. Clicks on `<button>`/`<a>`/menus/etc. inside the card must still
7
+ * work — they must NOT start a drag.
13
8
  *
14
9
  * To keep clicks on interactive descendants from activating a drag, we
15
10
  * configure `PointerSensor` per-draggable with a `preventActivation` hook
16
- * that inspects the pointer target with `Element.closest(...)`. Any element
17
- * matching a known interactive selector — or carrying a `data-no-drag`
18
- * attribute — cancels activation before the drag starts.
11
+ * that inspects the pointer target with `Element.closest(...)`. Any
12
+ * element matching a known interactive selector — or carrying a
13
+ * `data-no-drag` attribute — cancels activation before the drag starts.
14
+ *
15
+ * This shell does NOT render a grip affordance. Consumers that want one
16
+ * (e.g. JourneyCard) can read the exported `SortableCardContext` to
17
+ * detect they are inside a drag shell and render their own grip in a
18
+ * layout-appropriate position.
19
19
  *
20
20
  * Requires the optional peer dependencies `@dnd-kit/react` and `@dnd-kit/dom`.
21
21
  * Not exported from the main barrel — import directly from
22
22
  * `@cellarnode/ui/sortable-card-shell`.
23
23
  */
24
24
  import { type ReactNode } from "react";
25
+ import { SortableCardContext, type SortableCardContextValue } from "./sortable-card-context";
26
+ export { SortableCardContext };
27
+ export type { SortableCardContextValue };
25
28
  /**
26
29
  * CSS selector for elements inside a draggable card that should NOT
27
30
  * activate a drag when clicked. Consumers can opt any element out by
28
31
  * adding the `data-no-drag` attribute.
29
32
  *
33
+ * Notable exclusion: `[role='button']` and `[role='link']` are NOT in
34
+ * this list. JourneyCard (and similar card wrappers) set `role='button'`
35
+ * on their root div for keyboard a11y. If we matched those, `closest()`
36
+ * would resolve to the card wrapper itself and drag would never activate.
37
+ * `@dnd-kit/dom`'s own activation constraints (5px distance, 200ms delay)
38
+ * already prevent tap-clicks from starting accidental drags, so dropping
39
+ * these roles is safe.
40
+ *
30
41
  * Exported so consumers can extend or reuse it in custom sensor configs.
31
42
  */
32
43
  export declare const SORTABLE_CARD_NO_DRAG_SELECTOR: string;
@@ -47,14 +58,20 @@ interface SortableCardShellCommonProps {
47
58
  isShaking?: boolean;
48
59
  /** Extra classes for the wrapper element. */
49
60
  className?: string;
50
- /** Override classes for the grip icon container. */
61
+ /**
62
+ * @deprecated The shell no longer renders a grip. Card components
63
+ * render their own grip internally (see `JourneyCard`). Retained as
64
+ * a no-op for backwards compatibility with older consumer code.
65
+ */
51
66
  gripClassName?: string;
52
- /** Hide the grip affordance entirely (rare — whole card is still draggable). */
67
+ /**
68
+ * @deprecated The shell no longer renders a grip. Card components
69
+ * render their own grip internally. No-op.
70
+ */
53
71
  hideGrip?: boolean;
54
72
  /**
55
- * Browser tooltip (`title` attribute) shown on hover for the grip icon.
56
- * Purely visual — NOT an a11y label (the grip is `aria-hidden` +
57
- * `pointer-events-none`). Defaults to "Drag to reorder".
73
+ * @deprecated The shell no longer renders a grip. Card components
74
+ * render their own grip internally. No-op.
58
75
  */
59
76
  gripTitle?: string;
60
77
  children: ReactNode;
@@ -86,13 +103,15 @@ interface SortableCardShellDraggableProps {
86
103
  */
87
104
  export type SortableCardShellProps = SortableCardShellCommonProps & (SortableCardShellSortableProps | SortableCardShellDraggableProps);
88
105
  /**
89
- * Shared whole-card drag wrapper used by producer + importer journey boards.
106
+ * Whole-card drag wrapper used by producer + importer journey boards.
90
107
  *
91
- * Visual states:
108
+ * Visual states applied to the wrapper:
92
109
  * - `isDragSource` / `isDragging`: wrapper dims to `opacity-40`.
93
110
  * - `isDropTarget` (sortable only): 2px primary line above the card.
94
111
  * - `isShaking`: applies `card-shake` class (consumer-defined keyframes).
112
+ *
113
+ * The shell exposes `SortableCardContext` so children can render their
114
+ * own drag affordance (e.g. a grip icon in `JourneyCard`).
95
115
  */
96
116
  export declare function SortableCardShell(props: SortableCardShellProps): import("react/jsx-runtime").JSX.Element;
97
- export {};
98
117
  //# sourceMappingURL=sortable-card-shell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sortable-card-shell.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAQ1D;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,QAwB9B,CAAC;AAcd,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D;;GAEG;AACH,UAAU,4BAA4B;IACpC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,UAAU,8BAA8B;IACtC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,UAAU,+BAA+B;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAC/D,CAAC,8BAA8B,GAAG,+BAA+B,CAAC,CAAC;AAIrE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CA6D9D"}
1
+ {"version":3,"file":"sortable-card-shell.d.ts","sourceRoot":"","sources":["../../src/components/sortable-card-shell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAI1D,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAIzC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,8BAA8B,QAsB9B,CAAC;AAcd,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE7D;;GAEG;AACH,UAAU,4BAA4B;IACpC,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,UAAU,8BAA8B;IACtC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,UAAU,+BAA+B;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAC/D,CAAC,8BAA8B,GAAG,+BAA+B,CAAC,CAAC;AAIrE;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,2CAsD9D"}
@@ -1,22 +1,22 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
- * SortableCardShell — shared whole-card drag wrapper with a grip affordance.
3
+ * SortableCardShell — whole-card drag wrapper.
4
4
  *
5
- * Journey/kanban board cards want three things:
6
- * 1. The whole card is the drag activation surface (not just the grip).
7
- * 2. A visible grip icon on the left hints that the card is draggable.
8
- * 3. Clicks on `<button>`/`<a>`/menus/etc. inside the card must still work —
9
- * they must NOT start a drag.
10
- *
11
- * This shell wraps children in a div whose ref is dnd-kit's activation region.
12
- * The grip icon is purely visual (`pointer-events-none` + `aria-hidden`) and
13
- * is NOT used as the drag handle — it's an affordance hint only.
5
+ * Journey/kanban cards want two things:
6
+ * 1. The whole card is the drag activation surface.
7
+ * 2. Clicks on `<button>`/`<a>`/menus/etc. inside the card must still
8
+ * work — they must NOT start a drag.
14
9
  *
15
10
  * To keep clicks on interactive descendants from activating a drag, we
16
11
  * configure `PointerSensor` per-draggable with a `preventActivation` hook
17
- * that inspects the pointer target with `Element.closest(...)`. Any element
18
- * matching a known interactive selector — or carrying a `data-no-drag`
19
- * attribute — cancels activation before the drag starts.
12
+ * that inspects the pointer target with `Element.closest(...)`. Any
13
+ * element matching a known interactive selector — or carrying a
14
+ * `data-no-drag` attribute — cancels activation before the drag starts.
15
+ *
16
+ * This shell does NOT render a grip affordance. Consumers that want one
17
+ * (e.g. JourneyCard) can read the exported `SortableCardContext` to
18
+ * detect they are inside a drag shell and render their own grip in a
19
+ * layout-appropriate position.
20
20
  *
21
21
  * Requires the optional peer dependencies `@dnd-kit/react` and `@dnd-kit/dom`.
22
22
  * Not exported from the main barrel — import directly from
@@ -24,15 +24,28 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  */
25
25
  import { useMemo } from "react";
26
26
  import { PointerSensor } from "@dnd-kit/dom";
27
- import { GripVertical } from "lucide-react";
28
27
  import { cn } from "../lib/utils";
29
28
  import { useDraggableCard, useSortableCard } from "../hooks/use-kanban-dnd";
29
+ import { SortableCardContext, } from "./sortable-card-context";
30
+ // Re-export for backwards compatibility: consumers that imported the
31
+ // context + type from `./sortable-card-shell` should keep working without
32
+ // changes. New code should import directly from `./sortable-card-context`
33
+ // to avoid pulling in `@dnd-kit/dom` at module load.
34
+ export { SortableCardContext };
30
35
  // ─── Interactive-element guard ──────────────────────────────────────────────
31
36
  /**
32
37
  * CSS selector for elements inside a draggable card that should NOT
33
38
  * activate a drag when clicked. Consumers can opt any element out by
34
39
  * adding the `data-no-drag` attribute.
35
40
  *
41
+ * Notable exclusion: `[role='button']` and `[role='link']` are NOT in
42
+ * this list. JourneyCard (and similar card wrappers) set `role='button'`
43
+ * on their root div for keyboard a11y. If we matched those, `closest()`
44
+ * would resolve to the card wrapper itself and drag would never activate.
45
+ * `@dnd-kit/dom`'s own activation constraints (5px distance, 200ms delay)
46
+ * already prevent tap-clicks from starting accidental drags, so dropping
47
+ * these roles is safe.
48
+ *
36
49
  * Exported so consumers can extend or reuse it in custom sensor configs.
37
50
  */
38
51
  export const SORTABLE_CARD_NO_DRAG_SELECTOR = [
@@ -44,8 +57,6 @@ export const SORTABLE_CARD_NO_DRAG_SELECTOR = [
44
57
  "select",
45
58
  "label",
46
59
  "summary",
47
- "[role='button']",
48
- "[role='link']",
49
60
  "[role='menuitem']",
50
61
  "[role='menu']",
51
62
  "[role='menubar']",
@@ -71,15 +82,18 @@ function shouldPreventDragActivation(event) {
71
82
  }
72
83
  // ─── Component ──────────────────────────────────────────────────────────────
73
84
  /**
74
- * Shared whole-card drag wrapper used by producer + importer journey boards.
85
+ * Whole-card drag wrapper used by producer + importer journey boards.
75
86
  *
76
- * Visual states:
87
+ * Visual states applied to the wrapper:
77
88
  * - `isDragSource` / `isDragging`: wrapper dims to `opacity-40`.
78
89
  * - `isDropTarget` (sortable only): 2px primary line above the card.
79
90
  * - `isShaking`: applies `card-shake` class (consumer-defined keyframes).
91
+ *
92
+ * The shell exposes `SortableCardContext` so children can render their
93
+ * own drag affordance (e.g. a grip icon in `JourneyCard`).
80
94
  */
81
95
  export function SortableCardShell(props) {
82
- const { id, data, disabled, isShaking, className, gripClassName, hideGrip, gripTitle = "Drag to reorder", children, } = props;
96
+ const { id, data, disabled, isShaking, className, children } = props;
83
97
  // Per-draggable PointerSensor with an interactive-element guard. Stable
84
98
  // across renders — the sensor constructor doesn't depend on props.
85
99
  const sensors = useMemo(() => [
@@ -87,14 +101,15 @@ export function SortableCardShell(props) {
87
101
  preventActivation: (event) => shouldPreventDragActivation(event),
88
102
  }),
89
103
  ], []);
104
+ const contextValue = useMemo(() => ({ isDraggable: !disabled }), [disabled]);
90
105
  if (props.mode === "draggable") {
91
- return (_jsx(DraggableShell, { id: id, data: data, disabled: disabled, isShaking: isShaking, className: className, gripClassName: gripClassName, hideGrip: hideGrip, gripTitle: gripTitle, sensors: sensors, children: children }));
106
+ return (_jsx(SortableCardContext, { value: contextValue, children: _jsx(DraggableShell, { id: id, data: data, disabled: disabled, isShaking: isShaking, className: className, sensors: sensors, children: children }) }));
92
107
  }
93
- // Sortable mode (default). TS narrows `props` so `index` and `group` are
94
- // guaranteed to be `number` + `string` — no casts needed.
95
- return (_jsx(SortableShell, { id: id, index: props.index, group: props.group, data: data, disabled: disabled, isShaking: isShaking, className: className, gripClassName: gripClassName, hideGrip: hideGrip, gripTitle: gripTitle, sensors: sensors, children: children }));
108
+ // Sortable mode (default). TS narrows `props` so `index` and `group`
109
+ // are guaranteed to be `number` + `string` — no casts needed.
110
+ return (_jsx(SortableCardContext, { value: contextValue, children: _jsx(SortableShell, { id: id, index: props.index, group: props.group, data: data, disabled: disabled, isShaking: isShaking, className: className, sensors: sensors, children: children }) }));
96
111
  }
97
- function SortableShell({ id, index, group, data, disabled, isShaking, className, gripClassName, hideGrip, gripTitle, sensors, children, }) {
112
+ function SortableShell({ id, index, group, data, disabled, isShaking, className, sensors, children, }) {
98
113
  const { ref, isDragSource, isDropTarget } = useSortableCard({
99
114
  id,
100
115
  index,
@@ -103,32 +118,24 @@ function SortableShell({ id, index, group, data, disabled, isShaking, className,
103
118
  disabled,
104
119
  sensors,
105
120
  });
106
- return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragSource, isDropTarget: isDropTarget, showDropTargetLine: true, isShaking: isShaking, className: className, gripClassName: gripClassName, hideGrip: hideGrip, gripTitle: gripTitle, children: children }));
121
+ return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragSource, isDropTarget: isDropTarget, showDropTargetLine: true, isShaking: isShaking, className: className, children: children }));
107
122
  }
108
- function DraggableShell({ id, data, disabled, isShaking, className, gripClassName, hideGrip, gripTitle, sensors, children, }) {
123
+ function DraggableShell({ id, data, disabled, isShaking, className, sensors, children, }) {
109
124
  const { ref, isDragging } = useDraggableCard({
110
125
  id,
111
126
  data,
112
127
  disabled,
113
128
  sensors,
114
129
  });
115
- return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragging, isDropTarget: false, showDropTargetLine: false, isShaking: isShaking, className: className, gripClassName: gripClassName, hideGrip: hideGrip, gripTitle: gripTitle, children: children }));
130
+ return (_jsx(Wrapper, { innerRef: ref, isDragSource: isDragging, isDropTarget: false, showDropTargetLine: false, isShaking: isShaking, className: className, children: children }));
116
131
  }
117
- function Wrapper({ innerRef, isDragSource, isDropTarget, showDropTargetLine, isShaking, className, gripClassName, hideGrip, gripTitle, children, }) {
118
- return (_jsxs("div", { ref: innerRef,
119
- // No ARIA role — let the consumer's card content own semantics.
120
- className: cn("relative group flex cursor-grab select-none items-stretch gap-1 transition-all hover:z-10 has-[[data-open]]:z-50 active:cursor-grabbing",
132
+ function Wrapper({ innerRef, isDragSource, isDropTarget, showDropTargetLine, isShaking, className, children, }) {
133
+ return (_jsx("div", { ref: innerRef, className: cn("relative cursor-grab select-none transition-all hover:z-10 has-[[data-open]]:z-50 active:cursor-grabbing",
121
134
  // Unified drag-source dim (producer used 30, importer 50, standardizing on 40)
122
135
  isDragSource && "opacity-40",
123
136
  // Drop-target insertion line (sortable only)
124
137
  showDropTargetLine &&
125
138
  isDropTarget &&
126
- "before:absolute before:-top-1 before:left-0 before:right-0 before:h-0.5 before:rounded-full before:bg-primary", isShaking && "card-shake", className), "data-drag-source": isDragSource ? "true" : undefined, "data-drop-target": isDropTarget ? "true" : undefined, children: [!hideGrip ? (_jsx("span", { "aria-hidden": "true", title: gripTitle, className: cn(
127
- // Pointer-events off — grip is purely visual. The wrapper is the
128
- // drag activation surface.
129
- "pointer-events-none flex shrink-0 items-center justify-center p-1 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-60",
130
- // While dragging, keep the grip visible (parent wrapper already
131
- // dims to 40%, so this gives a ~40% grip which reads correctly).
132
- isDragSource && "opacity-100", gripClassName), children: _jsx(GripVertical, { className: "size-3.5" }) })) : null, _jsx("div", { className: "min-w-0 flex-1", children: children })] }));
139
+ "before:absolute before:-top-1 before:left-0 before:right-0 before:h-0.5 before:rounded-full before:bg-primary", isShaking && "card-shake", className), "data-drag-source": isDragSource ? "true" : undefined, "data-drop-target": isDropTarget ? "true" : undefined, children: children }));
133
140
  }
134
141
  //# sourceMappingURL=sortable-card-shell.js.map