@dropins/storefront-quote-management 0.0.1-alpha3 → 0.0.1-alpha31

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 (316) hide show
  1. package/api/acceptQuoteTemplate/acceptQuoteTemplate.d.ts +13 -0
  2. package/api/{getCustomerData/getCustomerData.d.ts → acceptQuoteTemplate/graphql/acceptQuoteTemplate.d.ts} +2 -2
  3. package/{data/transforms/__fixtures__/customerData.d.ts → api/acceptQuoteTemplate/index.d.ts} +2 -2
  4. package/api/addQuoteTemplateLineItemNote/addQuoteTemplateLineItemNote.d.ts +15 -0
  5. package/api/addQuoteTemplateLineItemNote/graphql/setQuoteTemplateLineItemNote.d.ts +10 -0
  6. package/api/addQuoteTemplateLineItemNote/index.d.ts +10 -0
  7. package/api/addQuoteTemplateShippingAddress/addQuoteTemplateShippingAddress.d.ts +37 -0
  8. package/api/addQuoteTemplateShippingAddress/graphql/setNegotiableQuoteTemplateShippingAddress.d.ts +10 -0
  9. package/api/addQuoteTemplateShippingAddress/index.d.ts +10 -0
  10. package/api/cancelQuoteTemplate/cancelQuoteTemplate.d.ts +14 -0
  11. package/api/cancelQuoteTemplate/graphql/cancelQuoteTemplate.d.ts +10 -0
  12. package/api/cancelQuoteTemplate/index.d.ts +10 -0
  13. package/api/closeNegotiableQuote/closeNegotiableQuote.d.ts +31 -0
  14. package/api/closeNegotiableQuote/graphql/CloseNegotiableQuoteMutation.d.ts +2 -0
  15. package/api/closeNegotiableQuote/index.d.ts +10 -0
  16. package/api/createQuoteTemplate/createQuoteTemplate.d.ts +4 -0
  17. package/api/createQuoteTemplate/graphql/createQuoteTemplate.d.ts +10 -0
  18. package/api/createQuoteTemplate/index.d.ts +10 -0
  19. package/api/deleteQuote/deleteQuote.d.ts +28 -0
  20. package/api/deleteQuote/graphql/DeleteQuoteMutation.d.ts +10 -0
  21. package/api/{getCustomerData → deleteQuote}/index.d.ts +1 -1
  22. package/{data/models/customer-model.d.ts → api/deleteQuoteTemplate/deleteQuoteTemplate.d.ts} +6 -8
  23. package/api/deleteQuoteTemplate/graphql/deleteQuoteTemplate.d.ts +10 -0
  24. package/api/deleteQuoteTemplate/index.d.ts +10 -0
  25. package/api/duplicateNegotiableQuote/duplicateNegotiableQuote.d.ts +9 -0
  26. package/api/duplicateNegotiableQuote/graphql/duplicateNegotiableQuoteMutation.d.ts +10 -0
  27. package/api/duplicateNegotiableQuote/index.d.ts +10 -0
  28. package/api/generateQuoteFromTemplate/generateQuoteFromTemplate.d.ts +15 -0
  29. package/api/generateQuoteFromTemplate/graphql/generateNegotiableQuoteFromTemplate.d.ts +10 -0
  30. package/api/generateQuoteFromTemplate/index.d.ts +10 -0
  31. package/api/getQuoteData/getQuoteData.d.ts +10 -0
  32. package/api/getQuoteData/graphql/QuoteDataQuery.d.ts +2 -0
  33. package/api/getQuoteData/index.d.ts +10 -0
  34. package/api/getQuoteTemplateData/getQuoteTemplateData.d.ts +4 -0
  35. package/api/getQuoteTemplateData/graphql/getQuoteTemplateData.d.ts +10 -0
  36. package/api/getQuoteTemplateData/index.d.ts +10 -0
  37. package/api/getQuoteTemplates/getQuoteTemplates.d.ts +34 -0
  38. package/api/getQuoteTemplates/graphql/getQuoteTemplates.d.ts +10 -0
  39. package/api/getQuoteTemplates/index.d.ts +10 -0
  40. package/api/getStoreConfig/getStoreConfig.d.ts +4 -0
  41. package/api/getStoreConfig/graphql/StoreConfigQuery.d.ts +10 -0
  42. package/api/getStoreConfig/index.d.ts +10 -0
  43. package/api/graphql/NegotiableQuoteAddressFragment.d.ts +10 -0
  44. package/api/graphql/NegotiableQuoteFragment.d.ts +5 -13
  45. package/api/graphql/NegotiableQuoteListFragment.d.ts +10 -0
  46. package/api/graphql/NegotiableQuoteTemplateFragment.d.ts +10 -0
  47. package/api/graphql/SearchResultPageInfoFragment.d.ts +10 -0
  48. package/api/graphql/ShippingMethodFragment.d.ts +10 -0
  49. package/api/graphql/SortFieldsFragment.d.ts +10 -0
  50. package/api/index.d.ts +34 -1
  51. package/api/initialize/initialize.d.ts +2 -0
  52. package/api/negotiableQuotes/graphql/NegotiableQuotesQuery.d.ts +10 -0
  53. package/api/negotiableQuotes/index.d.ts +10 -0
  54. package/api/negotiableQuotes/negotiableQuotes.d.ts +39 -0
  55. package/api/openQuoteTemplate/graphql/openQuoteTemplate.d.ts +10 -0
  56. package/api/openQuoteTemplate/index.d.ts +10 -0
  57. package/api/openQuoteTemplate/openQuoteTemplate.d.ts +13 -0
  58. package/api/removeNegotiableQuoteItems/graphql/RemoveNegotiableQuoteItemsMutation.d.ts +10 -0
  59. package/api/removeNegotiableQuoteItems/index.d.ts +10 -0
  60. package/api/removeNegotiableQuoteItems/removeNegotiableQuoteItems.d.ts +8 -0
  61. package/api/removeQuoteTemplateItems/graphql/removeNegotiableQuoteTemplateItems.d.ts +10 -0
  62. package/api/removeQuoteTemplateItems/index.d.ts +10 -0
  63. package/api/removeQuoteTemplateItems/removeQuoteTemplateItems.d.ts +14 -0
  64. package/api/renameNegotiableQuote/graphql/RenameNegotiableQuoteMutation.d.ts +10 -0
  65. package/api/renameNegotiableQuote/index.d.ts +10 -0
  66. package/api/renameNegotiableQuote/renameNegotiableQuote.d.ts +9 -0
  67. package/api/requestNegotiableQuote/graphql/RequestNegotiableQuoteMutation.d.ts +4 -12
  68. package/api/requestNegotiableQuote/requestNegotiableQuote.d.ts +3 -0
  69. package/api/sendForReview/graphql/SendNegotiableQuoteForReviewMutation.d.ts +10 -0
  70. package/api/sendForReview/index.d.ts +10 -0
  71. package/api/sendForReview/sendForReview.d.ts +11 -0
  72. package/api/sendQuoteTemplateForReview/graphql/sendQuoteTemplateForReview.d.ts +10 -0
  73. package/api/sendQuoteTemplateForReview/index.d.ts +10 -0
  74. package/api/sendQuoteTemplateForReview/sendQuoteTemplateForReview.d.ts +22 -0
  75. package/api/setLineItemNote/graphql/SetLineItemNoteMutation.d.ts +10 -0
  76. package/api/setLineItemNote/index.d.ts +10 -0
  77. package/api/setLineItemNote/setLineItemNote.d.ts +10 -0
  78. package/api/setShippingAddress/graphql/SetNegotiableQuoteShippingAddressMutation.d.ts +10 -0
  79. package/api/setShippingAddress/index.d.ts +2 -0
  80. package/api/setShippingAddress/setShippingAddress.d.ts +110 -0
  81. package/api/updateQuantities/graphql/UpdateNegotiableQuoteQuantitiesMutation.d.ts +10 -0
  82. package/api/updateQuantities/index.d.ts +10 -0
  83. package/api/updateQuantities/updateQuantities.d.ts +36 -0
  84. package/api/updateQuoteTemplateItemQuantities/graphql/updateNegotiableQuoteTemplateQuantities.d.ts +10 -0
  85. package/api/updateQuoteTemplateItemQuantities/index.d.ts +10 -0
  86. package/api/updateQuoteTemplateItemQuantities/updateQuoteTemplateItemQuantities.d.ts +20 -0
  87. package/api/uploadFile/graphql/FinishUploadMutation.d.ts +10 -0
  88. package/api/uploadFile/graphql/InitiateUploadMutation.d.ts +10 -0
  89. package/api/uploadFile/index.d.ts +10 -0
  90. package/api/uploadFile/uploadFile.d.ts +12 -0
  91. package/api.js +56 -22
  92. package/api.js.map +1 -1
  93. package/chunks/AttachedFilesList.js +4 -0
  94. package/chunks/AttachedFilesList.js.map +1 -0
  95. package/chunks/CheckWithCircle.js +4 -0
  96. package/chunks/CheckWithCircle.js.map +1 -0
  97. package/chunks/ChevronDown.js +4 -0
  98. package/chunks/ChevronDown.js.map +1 -0
  99. package/chunks/ConfirmationModal.js +4 -0
  100. package/chunks/ConfirmationModal.js.map +1 -0
  101. package/chunks/ItemsQuoted.js +4 -0
  102. package/chunks/ItemsQuoted.js.map +1 -0
  103. package/chunks/ItemsQuotedTemplate.js +4 -0
  104. package/chunks/ItemsQuotedTemplate.js.map +1 -0
  105. package/chunks/LineItemNoteModal.js +4 -0
  106. package/chunks/LineItemNoteModal.js.map +1 -0
  107. package/chunks/NegotiableQuoteFragment.js +391 -0
  108. package/chunks/NegotiableQuoteFragment.js.map +1 -0
  109. package/chunks/NegotiableQuoteTemplateFragment.js +338 -0
  110. package/chunks/NegotiableQuoteTemplateFragment.js.map +1 -0
  111. package/chunks/OrderSummaryLine.js +4 -0
  112. package/chunks/OrderSummaryLine.js.map +1 -0
  113. package/chunks/QuoteCommentsList.js +4 -0
  114. package/chunks/QuoteCommentsList.js.map +1 -0
  115. package/chunks/QuoteCommentsList3.js +4 -0
  116. package/chunks/QuoteCommentsList3.js.map +1 -0
  117. package/chunks/QuoteHistoryLog.js +4 -0
  118. package/chunks/QuoteHistoryLog.js.map +1 -0
  119. package/chunks/QuoteHistoryLog3.js +4 -0
  120. package/chunks/QuoteHistoryLog3.js.map +1 -0
  121. package/chunks/QuoteTemplateCommentsList.js +4 -0
  122. package/chunks/QuoteTemplateCommentsList.js.map +1 -0
  123. package/chunks/QuoteTemplateHistoryLog.js +4 -0
  124. package/chunks/QuoteTemplateHistoryLog.js.map +1 -0
  125. package/chunks/RenameQuoteModal.js +4 -0
  126. package/chunks/RenameQuoteModal.js.map +1 -0
  127. package/chunks/ShippingAddressDisplay.js +4 -0
  128. package/chunks/ShippingAddressDisplay.js.map +1 -0
  129. package/chunks/WarningFilled.js +4 -0
  130. package/chunks/WarningFilled.js.map +1 -0
  131. package/chunks/addQuoteTemplateLineItemNote.js +33 -0
  132. package/chunks/addQuoteTemplateLineItemNote.js.map +1 -0
  133. package/chunks/dateUtils.js +4 -0
  134. package/chunks/dateUtils.js.map +1 -0
  135. package/chunks/duplicateNegotiableQuote.js +121 -0
  136. package/chunks/duplicateNegotiableQuote.js.map +1 -0
  137. package/chunks/generateQuoteFromTemplate.js +12 -0
  138. package/chunks/generateQuoteFromTemplate.js.map +1 -0
  139. package/chunks/getQuoteTemplates.js +52 -0
  140. package/chunks/getQuoteTemplates.js.map +1 -0
  141. package/chunks/negotiableQuotes.js +77 -0
  142. package/chunks/negotiableQuotes.js.map +1 -0
  143. package/chunks/openQuoteTemplate.js +51 -0
  144. package/chunks/openQuoteTemplate.js.map +1 -0
  145. package/chunks/requestNegotiableQuote.js +6 -53
  146. package/chunks/requestNegotiableQuote.js.map +1 -1
  147. package/chunks/setLineItemNote.js +47 -0
  148. package/chunks/setLineItemNote.js.map +1 -0
  149. package/chunks/state.js +4 -0
  150. package/chunks/state.js.map +1 -0
  151. package/chunks/transform-quote-template.js +4 -0
  152. package/chunks/transform-quote-template.js.map +1 -0
  153. package/chunks/transform-quote.js +4 -0
  154. package/chunks/transform-quote.js.map +1 -0
  155. package/chunks/uploadFile.js +20 -0
  156. package/chunks/uploadFile.js.map +1 -0
  157. package/components/ActionsBar/ActionsBar.d.ts +15 -0
  158. package/components/ActionsBar/index.d.ts +11 -0
  159. package/components/AttachedFilesList/AttachedFilesList.d.ts +16 -0
  160. package/components/AttachedFilesList/index.d.ts +11 -0
  161. package/components/ConfirmationModal/ConfirmationModal.d.ts +17 -0
  162. package/components/ConfirmationModal/index.d.ts +11 -0
  163. package/components/ItemsQuoted/ItemsQuoted.d.ts +11 -0
  164. package/components/ItemsQuoted/index.d.ts +11 -0
  165. package/components/LineItemNoteModal/LineItemNoteModal.d.ts +17 -0
  166. package/components/LineItemNoteModal/index.d.ts +11 -0
  167. package/components/ManageNegotiableQuote/ManageNegotiableQuote.d.ts +22 -0
  168. package/components/ManageNegotiableQuote/__fixtures__/ManageNegotiableQuoteProps.d.ts +4 -0
  169. package/components/ManageNegotiableQuote/index.d.ts +11 -0
  170. package/components/ManageNegotiableQuoteTemplate/ManageNegotiableQuoteTemplate.d.ts +21 -0
  171. package/components/ManageNegotiableQuoteTemplate/__fixtures__/ManageNegotiableQuoteTemplateProps.d.ts +4 -0
  172. package/components/ManageNegotiableQuoteTemplate/index.d.ts +11 -0
  173. package/components/OrderSummary/OrderSummary.d.ts +48 -0
  174. package/components/OrderSummary/index.d.ts +11 -0
  175. package/components/OrderSummaryLine/OrderSummaryLine.d.ts +13 -0
  176. package/components/OrderSummaryLine/index.d.ts +11 -0
  177. package/components/ProductListTable/ProductListTable.d.ts +17 -0
  178. package/components/ProductListTable/index.d.ts +11 -0
  179. package/components/QuoteCommentsList/QuoteCommentsList.d.ts +17 -0
  180. package/components/QuoteCommentsList/index.d.ts +11 -0
  181. package/components/QuoteHistoryLog/QuoteHistoryLog.d.ts +77 -0
  182. package/components/QuoteHistoryLog/index.d.ts +11 -0
  183. package/components/QuotePricesSummary/QuotePricesSummary.d.ts +16 -0
  184. package/components/QuotePricesSummary/index.d.ts +11 -0
  185. package/components/QuoteSummaryList/QuoteSummaryList.d.ts +13 -0
  186. package/components/QuoteSummaryList/index.d.ts +11 -0
  187. package/components/QuoteTemplatesListTable/QuoteTemplatesListTable.d.ts +29 -0
  188. package/components/QuoteTemplatesListTable/index.d.ts +10 -0
  189. package/components/QuotesListTable/QuotesListTable.d.ts +29 -0
  190. package/components/QuotesListTable/index.d.ts +11 -0
  191. package/components/ReferenceDocumentFormModal/ReferenceDocumentFormModal.d.ts +30 -0
  192. package/components/ReferenceDocumentFormModal/index.d.ts +11 -0
  193. package/components/ReferenceDocumentsList/ReferenceDocumentsList.d.ts +18 -0
  194. package/components/ReferenceDocumentsList/index.d.ts +11 -0
  195. package/components/RenameQuoteModal/RenameQuoteModal.d.ts +18 -0
  196. package/components/RenameQuoteModal/index.d.ts +11 -0
  197. package/components/RequestNegotiableQuoteForm/RequestNegotiableQuoteForm.d.ts +1 -0
  198. package/components/ShippingAddressDisplay/ShippingAddressDisplay.d.ts +12 -0
  199. package/components/ShippingAddressDisplay/index.d.ts +11 -0
  200. package/components/TabbedContent/TabbedContent.d.ts +10 -0
  201. package/components/TabbedContent/index.d.ts +11 -0
  202. package/components/index.d.ts +30 -0
  203. package/containers/ItemsQuoted/ItemsQuoted.d.ts +30 -0
  204. package/containers/ItemsQuoted/index.d.ts +11 -0
  205. package/containers/ItemsQuoted.d.ts +3 -0
  206. package/containers/ItemsQuoted.js +4 -0
  207. package/containers/ItemsQuoted.js.map +1 -0
  208. package/containers/ItemsQuotedTemplate/ItemsQuotedTemplate.d.ts +25 -0
  209. package/containers/ItemsQuotedTemplate/index.d.ts +11 -0
  210. package/containers/ItemsQuotedTemplate.d.ts +3 -0
  211. package/containers/ItemsQuotedTemplate.js +4 -0
  212. package/containers/ItemsQuotedTemplate.js.map +1 -0
  213. package/containers/ManageNegotiableQuote/ManageNegotiableQuote.d.ts +90 -0
  214. package/containers/ManageNegotiableQuote/index.d.ts +11 -0
  215. package/containers/ManageNegotiableQuote.d.ts +3 -0
  216. package/containers/ManageNegotiableQuote.js +4 -0
  217. package/containers/ManageNegotiableQuote.js.map +1 -0
  218. package/containers/ManageNegotiableQuoteTemplate/ManageNegotiableQuoteTemplate.d.ts +90 -0
  219. package/containers/ManageNegotiableQuoteTemplate/index.d.ts +11 -0
  220. package/containers/ManageNegotiableQuoteTemplate.d.ts +3 -0
  221. package/containers/ManageNegotiableQuoteTemplate.js +6 -0
  222. package/containers/ManageNegotiableQuoteTemplate.js.map +1 -0
  223. package/containers/OrderSummary/OrderSummary.d.ts +11 -0
  224. package/containers/OrderSummary/index.d.ts +11 -0
  225. package/containers/OrderSummary.d.ts +3 -0
  226. package/containers/OrderSummary.js +4 -0
  227. package/containers/OrderSummary.js.map +1 -0
  228. package/containers/OrderSummaryLine/OrderSummaryLine.d.ts +14 -0
  229. package/containers/OrderSummaryLine/index.d.ts +11 -0
  230. package/containers/OrderSummaryLine.d.ts +3 -0
  231. package/containers/OrderSummaryLine.js +4 -0
  232. package/containers/OrderSummaryLine.js.map +1 -0
  233. package/containers/QuoteCommentsList/QuoteCommentsList.d.ts +9 -0
  234. package/containers/QuoteCommentsList/index.d.ts +11 -0
  235. package/containers/QuoteCommentsList.d.ts +3 -0
  236. package/containers/QuoteCommentsList.js +4 -0
  237. package/containers/QuoteCommentsList.js.map +1 -0
  238. package/containers/QuoteHistoryLog/QuoteHistoryLog.d.ts +9 -0
  239. package/containers/QuoteHistoryLog/index.d.ts +11 -0
  240. package/containers/QuoteHistoryLog.d.ts +3 -0
  241. package/containers/QuoteHistoryLog.js +4 -0
  242. package/containers/QuoteHistoryLog.js.map +1 -0
  243. package/containers/QuoteSummaryList/QuoteSummaryList.d.ts +51 -0
  244. package/containers/QuoteSummaryList/index.d.ts +11 -0
  245. package/containers/QuoteSummaryList.d.ts +3 -0
  246. package/containers/QuoteSummaryList.js +4 -0
  247. package/containers/QuoteSummaryList.js.map +1 -0
  248. package/containers/QuoteTemplateCommentsList/QuoteTemplateCommentsList.d.ts +9 -0
  249. package/containers/QuoteTemplateCommentsList/index.d.ts +11 -0
  250. package/containers/QuoteTemplateCommentsList.d.ts +3 -0
  251. package/containers/QuoteTemplateCommentsList.js +4 -0
  252. package/containers/QuoteTemplateCommentsList.js.map +1 -0
  253. package/containers/QuoteTemplateHistoryLog/QuoteTemplateHistoryLog.d.ts +9 -0
  254. package/containers/QuoteTemplateHistoryLog/index.d.ts +11 -0
  255. package/containers/QuoteTemplateHistoryLog.d.ts +3 -0
  256. package/containers/QuoteTemplateHistoryLog.js +4 -0
  257. package/containers/QuoteTemplateHistoryLog.js.map +1 -0
  258. package/containers/QuoteTemplatesListTable/QuoteTemplatesListTable.d.ts +74 -0
  259. package/containers/QuoteTemplatesListTable/index.d.ts +11 -0
  260. package/containers/QuoteTemplatesListTable.d.ts +3 -0
  261. package/containers/QuoteTemplatesListTable.js +4 -0
  262. package/containers/QuoteTemplatesListTable.js.map +1 -0
  263. package/containers/QuotesListTable/QuotesListTable.d.ts +72 -0
  264. package/containers/QuotesListTable/index.d.ts +11 -0
  265. package/containers/QuotesListTable.d.ts +3 -0
  266. package/containers/QuotesListTable.js +4 -0
  267. package/containers/QuotesListTable.js.map +1 -0
  268. package/containers/RequestNegotiableQuoteForm/RequestNegotiableQuoteForm.d.ts +10 -0
  269. package/containers/RequestNegotiableQuoteForm.js +1 -1
  270. package/containers/RequestNegotiableQuoteForm.js.map +1 -1
  271. package/containers/ShippingAddressDisplay/ShippingAddressDisplay.d.ts +10 -0
  272. package/containers/ShippingAddressDisplay/index.d.ts +11 -0
  273. package/containers/ShippingAddressDisplay.d.ts +1 -0
  274. package/containers/ShippingAddressDisplay.js +4 -0
  275. package/containers/ShippingAddressDisplay.js.map +1 -0
  276. package/containers/index.d.ts +22 -0
  277. package/data/models/__fixtures__/negotiableQuoteModel.d.ts +8 -0
  278. package/data/models/__fixtures__/negotiableQuoteTemplateModel.d.ts +4 -0
  279. package/data/models/__fixtures__/negotiableQuoteTemplatesListModel.d.ts +5 -0
  280. package/data/models/__fixtures__/negotiableQuotesListModel.d.ts +5 -0
  281. package/data/models/__fixtures__/storeConfigModel.d.ts +5 -0
  282. package/data/models/index.d.ts +11 -1
  283. package/data/models/negotiable-quote-model.d.ts +266 -27
  284. package/data/models/negotiable-quote-template-model.d.ts +112 -0
  285. package/data/models/store-config-model.d.ts +27 -0
  286. package/data/transforms/__fixtures__/negotiableQuoteData.d.ts +670 -2
  287. package/data/transforms/__fixtures__/negotiableQuoteTemplateData.d.ts +2151 -0
  288. package/data/transforms/__fixtures__/storeConfigData.d.ts +31 -0
  289. package/data/transforms/index.d.ts +6 -13
  290. package/data/transforms/transform-history.d.ts +15 -0
  291. package/data/transforms/transform-quote-items.d.ts +15 -0
  292. package/data/transforms/transform-quote-template.d.ts +5 -0
  293. package/data/transforms/transform-quote.d.ts +13 -2
  294. package/data/transforms/transform-store-config.d.ts +4 -0
  295. package/hooks/useItemsQuotedTemplate.d.ts +15 -0
  296. package/hooks/useQuoteSummaryData.d.ts +10 -0
  297. package/hooks/useReferenceDocumentLinks.d.ts +34 -0
  298. package/hooks/useRemoveTemplateItems.d.ts +25 -0
  299. package/hooks/useRenameTemplate.d.ts +71 -0
  300. package/hooks/useUpdateTemplateQuantities.d.ts +27 -0
  301. package/i18n/en_US.json.d.ts +457 -1
  302. package/lib/configurationTransformers.d.ts +27 -0
  303. package/lib/itemFormatters.d.ts +47 -0
  304. package/lib/priceCalculators.d.ts +41 -0
  305. package/lib/state.d.ts +6 -0
  306. package/package.json +1 -1
  307. package/render.js +6 -2
  308. package/render.js.map +1 -1
  309. package/types/state.types.d.ts +13 -0
  310. package/utils/dateUtils.d.ts +26 -0
  311. package/utils/fileUtils.d.ts +46 -0
  312. package/utils/mapAuthPermissions.d.ts +39 -0
  313. package/api/getCustomerData/graphql/CustomerQuery.d.ts +0 -2
  314. package/api/graphql/CustomerFragment.d.ts +0 -2
  315. package/data/models/__fixtures__/customerModel.d.ts +0 -4
  316. package/data/transforms/transform-customer.d.ts +0 -15
@@ -0,0 +1,338 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ const e=`
4
+ fragment NegotiableQuoteTemplateFragment on NegotiableQuoteTemplate {
5
+ uid
6
+ template_id
7
+ name
8
+ created_at
9
+ updated_at
10
+ status
11
+ sales_rep_name
12
+ expiration_date
13
+ buyer {
14
+ firstname
15
+ lastname
16
+ }
17
+ comments {
18
+ uid
19
+ created_at
20
+ author {
21
+ firstname
22
+ lastname
23
+ }
24
+ text
25
+ attachments {
26
+ name
27
+ url
28
+ }
29
+ }
30
+ items {
31
+ __typename
32
+ uid
33
+ product {
34
+ name
35
+ sku
36
+ uid
37
+ stock_status
38
+ quantity
39
+ thumbnail {
40
+ label
41
+ url
42
+ }
43
+ price_range {
44
+ minimum_price {
45
+ regular_price {
46
+ value
47
+ currency
48
+ }
49
+ final_price {
50
+ value
51
+ currency
52
+ }
53
+ discount {
54
+ percent_off
55
+ amount_off
56
+ }
57
+ }
58
+ maximum_price {
59
+ regular_price {
60
+ value
61
+ currency
62
+ }
63
+ final_price {
64
+ value
65
+ currency
66
+ }
67
+ discount {
68
+ percent_off
69
+ amount_off
70
+ }
71
+ }
72
+ }
73
+ price_tiers {
74
+ quantity
75
+ final_price {
76
+ value
77
+ }
78
+ discount {
79
+ amount_off
80
+ percent_off
81
+ }
82
+ }
83
+ }
84
+ prices {
85
+ price {
86
+ currency
87
+ value
88
+ }
89
+ price_including_tax {
90
+ value
91
+ currency
92
+ }
93
+ original_item_price {
94
+ currency
95
+ value
96
+ }
97
+ original_row_total {
98
+ currency
99
+ value
100
+ }
101
+ row_total {
102
+ currency
103
+ value
104
+ }
105
+ row_total_including_tax {
106
+ value
107
+ currency
108
+ }
109
+ catalog_discount {
110
+ amount_off
111
+ percent_off
112
+ }
113
+ discounts {
114
+ label
115
+ value
116
+ amount {
117
+ currency
118
+ value
119
+ }
120
+ }
121
+ }
122
+ quantity
123
+ is_available
124
+ note_from_buyer {
125
+ created_at
126
+ creator_id
127
+ creator_type
128
+ negotiable_quote_item_uid
129
+ note
130
+ note_uid
131
+ __typename
132
+ }
133
+ note_from_seller {
134
+ created_at
135
+ creator_id
136
+ creator_type
137
+ negotiable_quote_item_uid
138
+ note
139
+ note_uid
140
+ __typename
141
+ }
142
+ ... on SimpleCartItem {
143
+ customizable_options {
144
+ type
145
+ label
146
+ values {
147
+ label
148
+ value
149
+ }
150
+ }
151
+ }
152
+ ... on ConfigurableCartItem {
153
+ configurable_options {
154
+ option_label
155
+ value_label
156
+ }
157
+ configured_variant {
158
+ uid
159
+ sku
160
+ stock_status
161
+ thumbnail {
162
+ label
163
+ url
164
+ }
165
+ price_range {
166
+ minimum_price {
167
+ regular_price {
168
+ value
169
+ currency
170
+ }
171
+ final_price {
172
+ value
173
+ currency
174
+ }
175
+ discount {
176
+ percent_off
177
+ amount_off
178
+ }
179
+ }
180
+ maximum_price {
181
+ regular_price {
182
+ value
183
+ currency
184
+ }
185
+ final_price {
186
+ value
187
+ currency
188
+ }
189
+ discount {
190
+ percent_off
191
+ amount_off
192
+ }
193
+ }
194
+ }
195
+ price_tiers {
196
+ quantity
197
+ final_price {
198
+ value
199
+ }
200
+ discount {
201
+ amount_off
202
+ percent_off
203
+ }
204
+ }
205
+ }
206
+ customizable_options {
207
+ type
208
+ label
209
+ values {
210
+ label
211
+ value
212
+ }
213
+ }
214
+ }
215
+ ... on BundleCartItem {
216
+ bundle_options {
217
+ label
218
+ values {
219
+ label
220
+ quantity
221
+ original_price {
222
+ currency
223
+ value
224
+ }
225
+ priceV2 {
226
+ currency
227
+ value
228
+ }
229
+ }
230
+ }
231
+ }
232
+ ... on DownloadableCartItem {
233
+ links {
234
+ sort_order
235
+ title
236
+ }
237
+ customizable_options {
238
+ type
239
+ label
240
+ values {
241
+ label
242
+ value
243
+ }
244
+ }
245
+ }
246
+ }
247
+ history {
248
+ uid
249
+ created_at
250
+ author {
251
+ firstname
252
+ lastname
253
+ }
254
+ change_type
255
+ changes {
256
+ comment_added {
257
+ comment
258
+ }
259
+ custom_changes {
260
+ new_value
261
+ old_value
262
+ title
263
+ }
264
+ statuses {
265
+ changes {
266
+ new_status
267
+ old_status
268
+ }
269
+ }
270
+ expiration {
271
+ new_expiration
272
+ old_expiration
273
+ }
274
+ total {
275
+ new_price {
276
+ currency
277
+ value
278
+ }
279
+ old_price {
280
+ currency
281
+ value
282
+ }
283
+ }
284
+ }
285
+ }
286
+ prices {
287
+ subtotal_excluding_tax {
288
+ currency
289
+ value
290
+ }
291
+ subtotal_including_tax {
292
+ currency
293
+ value
294
+ }
295
+ subtotal_with_discount_excluding_tax {
296
+ currency
297
+ value
298
+ }
299
+ applied_taxes {
300
+ amount {
301
+ currency
302
+ value
303
+ }
304
+ label
305
+ }
306
+ grand_total {
307
+ currency
308
+ value
309
+ }
310
+ }
311
+ shipping_addresses {
312
+ uid
313
+ firstname
314
+ lastname
315
+ company
316
+ street
317
+ city
318
+ region {
319
+ code
320
+ label
321
+ region_id
322
+ }
323
+ postcode
324
+ country {
325
+ code
326
+ label
327
+ }
328
+ telephone
329
+ }
330
+ reference_document_links {
331
+ link_id
332
+ document_name
333
+ document_identifier
334
+ reference_document_url
335
+ }
336
+ }
337
+ `;export{e as N};
338
+ //# sourceMappingURL=NegotiableQuoteTemplateFragment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NegotiableQuoteTemplateFragment.js","sources":["/@dropins/storefront-quote-management/src/api/graphql/NegotiableQuoteTemplateFragment.ts"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nexport const NEGOTIABLE_QUOTE_TEMPLATE_FRAGMENT = /* GraphQL */ `\n fragment NegotiableQuoteTemplateFragment on NegotiableQuoteTemplate {\n uid\n template_id\n name\n created_at\n updated_at\n status\n sales_rep_name\n expiration_date\n buyer {\n firstname\n lastname\n }\n comments {\n uid\n created_at\n author {\n firstname\n lastname\n }\n text\n attachments {\n name\n url\n }\n }\n items {\n __typename\n uid\n product {\n name\n sku\n uid\n stock_status\n quantity\n thumbnail {\n label\n url\n }\n price_range {\n minimum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n maximum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n }\n price_tiers {\n quantity\n final_price {\n value\n }\n discount {\n amount_off\n percent_off\n }\n }\n }\n prices {\n price {\n currency\n value\n }\n price_including_tax {\n value\n currency\n }\n original_item_price {\n currency\n value\n }\n original_row_total {\n currency\n value\n }\n row_total {\n currency\n value\n }\n row_total_including_tax {\n value\n currency\n }\n catalog_discount {\n amount_off\n percent_off\n }\n discounts {\n label\n value\n amount {\n currency\n value\n }\n }\n }\n quantity\n is_available\n note_from_buyer {\n created_at\n creator_id\n creator_type\n negotiable_quote_item_uid\n note\n note_uid\n __typename\n }\n note_from_seller {\n created_at\n creator_id\n creator_type\n negotiable_quote_item_uid\n note\n note_uid\n __typename\n }\n ... on SimpleCartItem {\n customizable_options {\n type\n label\n values {\n label\n value\n }\n }\n }\n ... on ConfigurableCartItem {\n configurable_options {\n option_label\n value_label\n }\n configured_variant {\n uid\n sku\n stock_status\n thumbnail {\n label\n url\n }\n price_range {\n minimum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n maximum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n discount {\n percent_off\n amount_off\n }\n }\n }\n price_tiers {\n quantity\n final_price {\n value\n }\n discount {\n amount_off\n percent_off\n }\n }\n }\n customizable_options {\n type\n label\n values {\n label\n value\n }\n }\n }\n ... on BundleCartItem {\n bundle_options {\n label\n values {\n label\n quantity\n original_price {\n currency\n value\n }\n priceV2 {\n currency\n value\n }\n }\n }\n }\n ... on DownloadableCartItem {\n links {\n sort_order\n title\n }\n customizable_options {\n type\n label\n values {\n label\n value\n }\n }\n }\n }\n history {\n uid\n created_at\n author {\n firstname\n lastname\n }\n change_type\n changes {\n comment_added {\n comment\n }\n custom_changes {\n new_value\n old_value\n title\n }\n statuses {\n changes {\n new_status\n old_status\n }\n }\n expiration {\n new_expiration\n old_expiration\n }\n total {\n new_price {\n currency\n value\n }\n old_price {\n currency\n value\n }\n }\n }\n }\n prices {\n subtotal_excluding_tax {\n currency\n value\n }\n subtotal_including_tax {\n currency\n value\n }\n subtotal_with_discount_excluding_tax {\n currency\n value\n }\n applied_taxes {\n amount {\n currency\n value\n }\n label\n }\n grand_total {\n currency\n value\n }\n }\n shipping_addresses {\n uid\n firstname\n lastname\n company\n street\n city\n region {\n code\n label\n region_id\n }\n postcode\n country {\n code\n label\n }\n telephone\n }\n reference_document_links {\n link_id\n document_name\n document_identifier\n reference_document_url\n }\n }\n`;\n"],"names":["NEGOTIABLE_QUOTE_TEMPLATE_FRAGMENT"],"mappings":"AASO,MAAMA,EAAmD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as p,jsxs as u}from"@dropins/tools/preact-jsx-runtime.js";import{classes as n,VComponent as _}from"@dropins/tools/lib.js";/* empty css */import"@dropins/tools/components.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/preact.js";import"@dropins/tools/preact-hooks.js";/* empty css *//* empty css */const V=({label:o,price:e,classSuffixes:t=[],labelClassSuffix:r,testId:m,children:s,...a})=>p(y,{...a,label:o,price:e,classSuffixes:t,labelClassSuffix:r,testId:m,children:s}),y=({label:o,price:e,classSuffixes:t=[],labelClassSuffix:r,testId:m,children:s,...a})=>{const i="quote-order-summary__label",c="quote-order-summary__price";return u("div",{...a,...m?{"data-testid":m}:{},className:n(["quote-order-summary__entry",...t.map(d=>`quote-order-summary__${d}`)]),children:[p("span",{className:n([i,...r?[`${i}--${r}`]:[]]),children:o}),p(_,{node:e,className:n([c,...r?[`${c}--${r}`]:[]])}),s]})};export{V as O};
4
+ //# sourceMappingURL=OrderSummaryLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderSummaryLine.js","sources":["/@dropins/storefront-quote-management/src/containers/OrderSummaryLine/OrderSummaryLine.tsx","/@dropins/storefront-quote-management/src/components/OrderSummaryLine/OrderSummaryLine.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { HTMLAttributes } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { VNode } from 'preact';\nimport { OrderSummaryLine as OrderSummaryLineComponent } from '@/quote-management/components';\n\nexport interface OrderSummaryLineProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {\n label: VNode | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n classSuffixes?: Array<string>;\n labelClassSuffix?: string;\n testId?: string;\n children?: any;\n}\n\nexport const OrderSummaryLine: Container<OrderSummaryLineProps> = ({\n label,\n price,\n classSuffixes = [],\n labelClassSuffix,\n testId,\n children,\n ...props\n}) => {\n return (\n <OrderSummaryLineComponent\n {...props}\n label={label}\n price={price}\n classSuffixes={classSuffixes}\n labelClassSuffix={labelClassSuffix}\n testId={testId}\n >\n {children}\n </OrderSummaryLineComponent>\n );\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport '@/quote-management/components/OrderSummaryLine/OrderSummaryLine.css';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nexport interface OrderSummaryLineComponentProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'label'> {\n label: VNode | string;\n price: VNode<HTMLAttributes<HTMLSpanElement>>;\n classSuffixes?: Array<string>;\n labelClassSuffix?: string;\n testId?: string;\n children?: any;\n}\n\nexport const OrderSummaryLine: FunctionComponent<\n OrderSummaryLineComponentProps\n> = ({\n label,\n price,\n classSuffixes = [],\n labelClassSuffix,\n testId,\n children,\n ...props\n}) => {\n const labelClass = 'quote-order-summary__label';\n const priceClass = 'quote-order-summary__price';\n return (\n <div\n {...props}\n {...(testId ? { 'data-testid': testId } : {})}\n className={classes([\n 'quote-order-summary__entry',\n ...classSuffixes.map(\n (classSuffix) => `quote-order-summary__${classSuffix}`\n ),\n ])}\n >\n <span\n className={classes([\n labelClass,\n ...(labelClassSuffix ? [`${labelClass}--${labelClassSuffix}`] : []),\n ])}\n >\n {label}\n </span>\n\n <VComponent\n node={price}\n className={classes([\n priceClass,\n ...(labelClassSuffix ? [`${priceClass}--${labelClassSuffix}`] : []),\n ])}\n />\n\n {children}\n </div>\n );\n};\n"],"names":["OrderSummaryLine","label","price","classSuffixes","labelClassSuffix","testId","children","props","jsx","OrderSummaryLineComponent","labelClass","priceClass","jsxs","classes","classSuffix","VComponent"],"mappings":"4XAwBO,MAAMA,EAAqD,CAAC,CACjE,MAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAA,EAChB,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAEIC,EAACC,EAAA,CACE,GAAGF,EACJ,MAAAN,EACA,MAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,OAAAC,EAEC,SAAAC,CAAA,CAAA,ECnBMN,EAET,CAAC,CACH,MAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,CAAA,EAChB,iBAAAC,EACA,OAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAMG,EAAa,6BACbC,EAAa,6BACnB,OACEC,EAAC,MAAA,CACE,GAAGL,EACH,GAAIF,EAAS,CAAE,cAAeA,CAAA,EAAW,CAAA,EAC1C,UAAWQ,EAAQ,CACjB,6BACA,GAAGV,EAAc,IACdW,GAAgB,wBAAwBA,CAAW,EAAA,CACtD,CACD,EAED,SAAA,CAAAN,EAAC,OAAA,CACC,UAAWK,EAAQ,CACjBH,EACA,GAAIN,EAAmB,CAAC,GAAGM,CAAU,KAAKN,CAAgB,EAAE,EAAI,CAAA,CAAC,CAClE,EAEA,SAAAH,CAAA,CAAA,EAGHO,EAACO,EAAA,CACC,KAAMb,EACN,UAAWW,EAAQ,CACjBF,EACA,GAAIP,EAAmB,CAAC,GAAGO,CAAU,KAAKP,CAAgB,EAAE,EAAI,CAAA,CAAC,CAClE,CAAA,CAAA,EAGFE,CAAA,CAAA,CAAA,CAGP"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as e,jsxs as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as d,VComponent as n}from"@dropins/tools/lib.js";/* empty css */import{useText as c}from"@dropins/tools/i18n.js";const _=({className:o,comments:a,...u})=>{const m=c({emptyState:"NegotiableQuote.Manage.quoteComments.emptyState",by:"NegotiableQuote.Manage.quoteComments.by",attachments:"NegotiableQuote.Manage.quoteComments.attachments"});return!a||a.length===0?e("ul",{...u,className:d(["quote-management-quote-comments-list","quote-management-quote-comments-list--empty",o]),"data-testid":"quote-comments-list",children:e("li",{className:"quote-management-quote-comments-list__empty-state","data-testid":"quote-comments-empty-state",children:m.emptyState})}):e("ul",{...u,className:d(["quote-management-quote-comments-list",o]),"data-testid":"quote-comments-list",children:a.map(t=>s("li",{className:"quote-management-quote-comments-list__item","data-testid":`quote-comment-${t.uid}`,children:[s("div",{className:"quote-management-quote-comments-list__header",children:[e(n,{className:"quote-management-quote-comments-list__date",node:t.createdAt,"data-testid":`quote-comment-date-${t.uid}`}),e("span",{className:"quote-management-quote-comments-list__by",children:m.by}),e(n,{className:"quote-management-quote-comments-list__author",node:t.author,"data-testid":`quote-comment-author-${t.uid}`})]}),e(n,{className:"quote-management-quote-comments-list__text",node:t.text,"data-testid":`quote-comment-text-${t.uid}`}),t.attachments&&t.attachments.length>0&&s("div",{className:"quote-management-quote-comments-list__attachments","data-testid":`quote-comment-attachments-${t.uid}`,children:[e("span",{className:"quote-management-quote-comments-list__attachments-label",children:m.attachments}),t.attachments.map((i,l)=>e("a",{href:i.url,target:"_blank",rel:"noopener noreferrer",className:"quote-management-quote-comments-list__attachment-link","data-testid":`quote-comment-attachment-${t.uid}-${l}`,children:i.name},`${t.uid}-attachment-${l}`))]})]},t.uid))})};export{_ as Q};
4
+ //# sourceMappingURL=QuoteCommentsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteCommentsList.js","sources":["/@dropins/storefront-quote-management/src/components/QuoteCommentsList/QuoteCommentsList.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/quote-management/components/QuoteCommentsList/QuoteCommentsList.css';\n\nexport interface QuoteCommentsListProps\n extends HTMLAttributes<HTMLUListElement> {\n comments: Array<{\n uid: string;\n createdAt: VNode;\n author: VNode;\n text: VNode;\n attachments?: Array<{\n name: string;\n url: string;\n }>;\n }>;\n}\n\nexport const QuoteCommentsList: FunctionComponent<QuoteCommentsListProps> = ({\n className,\n comments,\n ...props\n}) => {\n const dictionary = useText({\n emptyState: 'NegotiableQuote.Manage.quoteComments.emptyState',\n by: 'NegotiableQuote.Manage.quoteComments.by',\n attachments: 'NegotiableQuote.Manage.quoteComments.attachments',\n });\n\n if (!comments || comments.length === 0) {\n return (\n <ul\n {...props}\n className={classes([\n 'quote-management-quote-comments-list',\n 'quote-management-quote-comments-list--empty',\n className,\n ])}\n data-testid=\"quote-comments-list\"\n >\n <li\n className=\"quote-management-quote-comments-list__empty-state\"\n data-testid=\"quote-comments-empty-state\"\n >\n {dictionary.emptyState}\n </li>\n </ul>\n );\n }\n\n return (\n <ul\n {...props}\n className={classes(['quote-management-quote-comments-list', className])}\n data-testid=\"quote-comments-list\"\n >\n {comments.map((comment) => (\n <li\n key={comment.uid}\n className=\"quote-management-quote-comments-list__item\"\n data-testid={`quote-comment-${comment.uid}`}\n >\n <div className=\"quote-management-quote-comments-list__header\">\n <VComponent\n className=\"quote-management-quote-comments-list__date\"\n node={comment.createdAt}\n data-testid={`quote-comment-date-${comment.uid}`}\n />\n <span className=\"quote-management-quote-comments-list__by\">\n {dictionary.by}\n </span>\n <VComponent\n className=\"quote-management-quote-comments-list__author\"\n node={comment.author}\n data-testid={`quote-comment-author-${comment.uid}`}\n />\n </div>\n <VComponent\n className=\"quote-management-quote-comments-list__text\"\n node={comment.text}\n data-testid={`quote-comment-text-${comment.uid}`}\n />\n {comment.attachments && comment.attachments.length > 0 && (\n <div\n className=\"quote-management-quote-comments-list__attachments\"\n data-testid={`quote-comment-attachments-${comment.uid}`}\n >\n <span className=\"quote-management-quote-comments-list__attachments-label\">\n {dictionary.attachments}\n </span>\n {comment.attachments.map((attachment, index) => (\n <a\n key={`${comment.uid}-attachment-${index}`}\n href={attachment.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"quote-management-quote-comments-list__attachment-link\"\n data-testid={`quote-comment-attachment-${comment.uid}-${index}`}\n >\n {attachment.name}\n </a>\n ))}\n </div>\n )}\n </li>\n ))}\n </ul>\n );\n};\n"],"names":["QuoteCommentsList","className","comments","props","dictionary","useText","jsx","classes","comment","jsxs","VComponent","attachment","index"],"mappings":"sNA6BO,MAAMA,EAA+D,CAAC,CAC3E,UAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAMC,EAAaC,EAAQ,CACzB,WAAY,kDACZ,GAAI,0CACJ,YAAa,kDAAA,CACd,EAED,MAAI,CAACH,GAAYA,EAAS,SAAW,EAEjCI,EAAC,KAAA,CACE,GAAGH,EACJ,UAAWI,EAAQ,CACjB,uCACA,8CACAN,CAAA,CACD,EACD,cAAY,sBAEZ,SAAAK,EAAC,KAAA,CACC,UAAU,oDACV,cAAY,6BAEX,SAAAF,EAAW,UAAA,CAAA,CACd,CAAA,EAMJE,EAAC,KAAA,CACE,GAAGH,EACJ,UAAWI,EAAQ,CAAC,uCAAwCN,CAAS,CAAC,EACtE,cAAY,sBAEX,SAAAC,EAAS,IAAKM,GACbC,EAAC,KAAA,CAEC,UAAU,6CACV,cAAa,iBAAiBD,EAAQ,GAAG,GAEzC,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAU,+CACb,SAAA,CAAAH,EAACI,EAAA,CACC,UAAU,6CACV,KAAMF,EAAQ,UACd,cAAa,sBAAsBA,EAAQ,GAAG,EAAA,CAAA,EAEhDF,EAAC,OAAA,CAAK,UAAU,2CACb,WAAW,GACd,EACAA,EAACI,EAAA,CACC,UAAU,+CACV,KAAMF,EAAQ,OACd,cAAa,wBAAwBA,EAAQ,GAAG,EAAA,CAAA,CAClD,EACF,EACAF,EAACI,EAAA,CACC,UAAU,6CACV,KAAMF,EAAQ,KACd,cAAa,sBAAsBA,EAAQ,GAAG,EAAA,CAAA,EAE/CA,EAAQ,aAAeA,EAAQ,YAAY,OAAS,GACnDC,EAAC,MAAA,CACC,UAAU,oDACV,cAAa,6BAA6BD,EAAQ,GAAG,GAErD,SAAA,CAAAF,EAAC,OAAA,CAAK,UAAU,0DACb,SAAAF,EAAW,YACd,EACCI,EAAQ,YAAY,IAAI,CAACG,EAAYC,IACpCN,EAAC,IAAA,CAEC,KAAMK,EAAW,IACjB,OAAO,SACP,IAAI,sBACJ,UAAU,wDACV,cAAa,4BAA4BH,EAAQ,GAAG,IAAII,CAAK,GAE5D,SAAAD,EAAW,IAAA,EAPP,GAAGH,EAAQ,GAAG,eAAeI,CAAK,EAAA,CAS1C,CAAA,CAAA,CAAA,CACH,CAAA,EA5CGJ,EAAQ,GAAA,CA+ChB,CAAA,CAAA,CAGP"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as o,jsxs as i}from"@dropins/tools/preact-jsx-runtime.js";import{useState as f,useEffect as d}from"@dropins/tools/preact-compat.js";import{Q as c}from"./QuoteCommentsList.js";import{events as p}from"@dropins/tools/event-bus.js";import{f as h}from"./dateUtils.js";const C=({quoteData:a,...s})=>{var r;const[e,n]=f(a);if(d(()=>{const t=p.on("quote-management/quote-data",u=>{n(u.quote)},{eager:!0});return()=>t==null?void 0:t.off()},[]),!e)return null;const m=(r=e==null?void 0:e.comments)==null?void 0:r.map(t=>({uid:t.uid,createdAt:o("span",{children:h(t.createdAt,"long")}),author:i("span",{children:[t.author.firstname," ",t.author.lastname]}),text:o("p",{children:t.text}),attachments:t.attachments}));return o(c,{"data-testid":"quote-comments-list-container",...s,comments:m||[]})};export{C as Q};
4
+ //# sourceMappingURL=QuoteCommentsList3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteCommentsList3.js","sources":["/@dropins/storefront-quote-management/src/containers/QuoteCommentsList/QuoteCommentsList.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { QuoteCommentsList as QuoteCommentsListComponent } from '@/quote-management/components/QuoteCommentsList';\nimport { NegotiableQuoteModel } from '@/quote-management/data/models/negotiable-quote-model';\nimport { events } from '@adobe-commerce/event-bus';\nimport { formattedDate } from '@/quote-management/utils/dateUtils';\n\nexport interface QuoteCommentsListProps\n extends HTMLAttributes<HTMLUListElement> {\n quoteData?: NegotiableQuoteModel;\n}\n\nexport const QuoteCommentsList: Container<QuoteCommentsListProps> = ({\n quoteData: initialData,\n ...props\n}) => {\n const [quoteData, setQuoteData] = useState<NegotiableQuoteModel | undefined>(\n initialData\n );\n\n useEffect(() => {\n const quoteDataEvent = events.on(\n 'quote-management/quote-data',\n (data: { quote: NegotiableQuoteModel }) => {\n setQuoteData(data.quote);\n },\n {\n eager: true,\n }\n );\n return () => quoteDataEvent?.off();\n }, []);\n\n if (!quoteData) {\n return null;\n }\n\n // Format comments data\n const formattedComments = quoteData?.comments?.map((comment) => ({\n uid: comment.uid,\n createdAt: <span>{formattedDate(comment.createdAt, 'long')}</span>,\n author: (\n <span>\n {comment.author.firstname} {comment.author.lastname}\n </span>\n ),\n text: <p>{comment.text}</p>,\n attachments: comment.attachments,\n }));\n\n return (\n <QuoteCommentsListComponent\n data-testid=\"quote-comments-list-container\"\n {...props}\n comments={formattedComments || []}\n />\n );\n};\n"],"names":["QuoteCommentsList","initialData","props","quoteData","setQuoteData","useState","useEffect","quoteDataEvent","events","data","formattedComments","_a","comment","jsx","QuoteCommentsListComponent"],"mappings":"kRAqBO,MAAMA,EAAuD,CAAC,CACnE,UAAWC,EACX,GAAGC,CACL,IAAM,OACJ,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAChCJ,CAAA,EAgBF,GAbAK,EAAU,IAAM,CACd,MAAMC,EAAiBC,EAAO,GAC5B,8BACCC,GAA0C,CACzCL,EAAaK,EAAK,KAAK,CACzB,EACA,CACE,MAAO,EAAA,CACT,EAEF,MAAO,IAAMF,GAAA,YAAAA,EAAgB,KAC/B,EAAG,CAAA,CAAE,EAED,CAACJ,EACH,OAAO,KAIT,MAAMO,GAAoBC,EAAAR,GAAA,YAAAA,EAAW,WAAX,YAAAQ,EAAqB,IAAKC,IAAa,CAC/D,IAAKA,EAAQ,IACb,UAAWC,EAAC,OAAA,CAAM,WAAcD,EAAQ,UAAW,MAAM,EAAE,EAC3D,SACG,OAAA,CACE,SAAA,CAAAA,EAAQ,OAAO,UAAU,IAAEA,EAAQ,OAAO,QAAA,EAC7C,EAEF,KAAMC,EAAC,IAAA,CAAG,SAAAD,EAAQ,KAAK,EACvB,YAAaA,EAAQ,WAAA,IAGvB,OACEC,EAACC,EAAA,CACC,cAAY,gCACX,GAAGZ,EACJ,SAAUQ,GAAqB,CAAA,CAAC,CAAA,CAGtC"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsxs as d,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as R}from"@dropins/tools/lib.js";import{f as c}from"./dateUtils.js";/* empty css */import{useText as $}from"@dropins/tools/i18n.js";const H=({className:g,children:q,history:x,items:y,buyer:n,salesRepName:D,...F})=>{const t=$({quoteCreated:"historyLog.changeTypes.created",quoteUpdated:"historyLog.changeTypes.updated",statusChanged:"historyLog.changeTypes.statusChanged",commentAdded:"historyLog.changeTypes.commentAdded",expirationChanged:"historyLog.changeTypes.expirationChanged",buyerNoteAdded:"historyLog.noteTypes.buyerNoteAdded",sellerNoteAdded:"historyLog.noteTypes.sellerNoteAdded",buyerLabel:"historyLog.authorLabels.buyer",sellerLabel:"historyLog.authorLabels.seller",commentDetail:"historyLog.changeDetails.comment",statusChangedFromTo:"historyLog.changeDetails.statusChangedFromTo",statusSetTo:"historyLog.changeDetails.statusSetTo",expirationChangedFromTo:"historyLog.changeDetails.expirationChangedFromTo",expirationSetTo:"historyLog.changeDetails.expirationSetTo",totalChangedFromTo:"historyLog.changeDetails.totalChangedFromTo",customChange:"historyLog.changeDetails.customChange",productsRemovedFromCatalog:"historyLog.changeDetails.productsRemovedFromCatalog",productsRemovedFromQuote:"historyLog.changeDetails.productsRemovedFromQuote",noDetailsAvailable:"historyLog.changeDetails.noDetailsAvailable",emptyState:"historyLog.emptyState",never:"dateUtils.never"}),w=e=>{switch(e){case"CREATED":return t.quoteCreated;case"UPDATED":return t.quoteUpdated;case"STATUS_CHANGED":return t.statusChanged;case"COMMENT_ADDED":return t.commentAdded;case"EXPIRATION_CHANGED":return t.expirationChanged;default:return e.replace(/_/g," ").toLowerCase().replace(/\b\w/g,o=>o.toUpperCase())}},E=e=>{var a,m,p,u,i,v,T,C,L,N,_,f;const o=[];if((a=e==null?void 0:e.commentAdded)!=null&&a.comment&&o.push(t.commentDetail.replace("{comment}",e.commentAdded.comment)),(m=e==null?void 0:e.statuses)!=null&&m.changes&&e.statuses.changes.forEach(r=>{r.oldStatus&&r.newStatus?o.push(t.statusChangedFromTo.replace("{oldStatus}",r.oldStatus).replace("{newStatus}",r.newStatus)):r.newStatus&&o.push(t.statusSetTo.replace("{newStatus}",r.newStatus))}),(p=e==null?void 0:e.expiration)!=null&&p.newExpiration&&((u=e==null?void 0:e.expiration)!=null&&u.oldExpiration)){const r=c(e.expiration.newExpiration),l=c(e.expiration.oldExpiration);o.push(t.expirationChangedFromTo.replace("{oldExpiration}",l).replace("{newExpiration}",r))}else if((i=e==null?void 0:e.expiration)!=null&&i.newExpiration){const r=c(e.expiration.newExpiration);o.push(t.expirationSetTo.replace("{newExpiration}",r))}if((v=e==null?void 0:e.total)!=null&&v.newPrice&&((T=e==null?void 0:e.total)!=null&&T.oldPrice)){const r=`${e.total.newPrice.currency} ${e.total.newPrice.value}`,l=`${e.total.oldPrice.currency} ${e.total.oldPrice.value}`;o.push(t.totalChangedFromTo.replace("{oldTotal}",l).replace("{newTotal}",r))}if((C=e==null?void 0:e.customChanges)!=null&&C.title&&((L=e==null?void 0:e.customChanges)!=null&&L.old_value)&&((N=e==null?void 0:e.customChanges)!=null&&N.new_value)&&o.push(t.customChange.replace("{title}",e.customChanges.title).replace("{oldValue}",e.customChanges.old_value).replace("{newValue}",e.customChanges.new_value)),(_=e==null?void 0:e.productsRemoved)!=null&&_.productsRemovedFromCatalog&&e.productsRemoved.productsRemovedFromCatalog.length>0&&o.push(t.productsRemovedFromCatalog.replace("{products}",e.productsRemoved.productsRemovedFromCatalog.join(", "))),(f=e==null?void 0:e.productsRemoved)!=null&&f.productsRemovedFromQuote&&e.productsRemoved.productsRemovedFromQuote.length>0){const r=e.productsRemoved.productsRemovedFromQuote.map(l=>l.name||l.sku||l.uid).join(", ");o.push(t.productsRemovedFromQuote.replace("{products}",r))}return o.length>0?o:[t.noDetailsAvailable]},S=(()=>{const e=[],o=(a,m,p,u)=>{a&&Array.isArray(a)&&a.forEach(i=>{i&&i.note&&i.note.trim()&&e.push({...i,type:m,productName:u.product.name,productSku:u.product.sku,authorName:p})})};return y&&y.forEach(a=>{o(a.noteFromBuyer,"buyer",`${n.firstname} ${n.lastname} ${t.buyerLabel}`,a),o(a.noteFromSeller,"seller",`${D} ${t.sellerLabel}`,a)}),e})(),A=(x||[]).map(e=>({...e,entryType:"history"})),b=S.map(e=>({...e,entryType:"note"})),h=[...A,...b];return d("div",{...F,className:R(["quote-management-quote-history-log",g]),children:[h.length>0?s("div",{className:"quote-management-quote-history-log__entries",children:h.map((e,o)=>d("div",{className:"quote-management-quote-history-log__entry",children:[d("div",{className:"quote-management-quote-history-log__entry-header",children:[d("div",{className:"quote-management-quote-history-log__entry-meta",children:[s("span",{className:"quote-management-quote-history-log__entry-date",children:c(e.createdAt,"long")}),s("span",{className:"quote-management-quote-history-log__entry-author",children:e.entryType==="history"?`by ${e.author.firstname} ${e.author.lastname} ${e.author.firstname===n.firstname&&e.author.lastname===n.lastname?t.buyerLabel:t.sellerLabel}`:`by ${e.authorName}`})]}),s("div",{className:"quote-management-quote-history-log__entry-type",children:e.entryType==="history"?w(e.changeType):e.type==="buyer"?t.buyerNoteAdded:t.sellerNoteAdded})]}),s("div",{className:"quote-management-quote-history-log__entry-changes",children:e.entryType==="history"?E(e.changes).map((a,m)=>s("div",{className:"quote-management-quote-history-log__entry-change",children:a},m)):d("div",{className:"quote-management-quote-history-log__entry-change",children:[d("div",{children:[e.productName,"(",e.productSku,")"]}),d("div",{children:['"',e.note,'"']})]})})]},e.entryType==="history"?e.uid:`${e.noteUid}-${o}`))}):s("div",{className:"quote-management-quote-history-log__empty",children:t.emptyState}),q]})};export{H as Q};
4
+ //# sourceMappingURL=QuoteHistoryLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteHistoryLog.js","sources":["/@dropins/storefront-quote-management/src/components/QuoteHistoryLog/QuoteHistoryLog.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { formattedDate } from '@/quote-management/utils/dateUtils';\nimport '@/quote-management/components/QuoteHistoryLog/QuoteHistoryLog.css';\n\nexport interface HistoryEntry {\n uid: string;\n createdAt: string;\n author: {\n firstname: string;\n lastname: string;\n };\n changeType: string;\n changes: {\n commentAdded?: { comment: string };\n statuses?: { changes: Array<{ oldStatus?: string; newStatus?: string }> };\n expiration?: { oldExpiration?: string; newExpiration?: string };\n total?: {\n oldPrice?: { value: number; currency: string };\n newPrice?: { value: number; currency: string };\n };\n customChanges?: { title: string; old_value: string; new_value: string };\n productsRemoved?: {\n productsRemovedFromCatalog?: string[];\n productsRemovedFromQuote?: Array<{ name?: string; sku?: string; uid: string }>;\n };\n };\n}\n\nexport interface ItemNote {\n createdAt: string;\n creatorId: number;\n creatorType: number;\n negotiableQuoteItemUid: string;\n note: string;\n noteUid: string;\n}\n\nexport interface QuoteItem {\n product: {\n name: string;\n sku: string;\n };\n noteFromBuyer?: ItemNote[];\n noteFromSeller?: ItemNote[];\n}\n\nexport interface QuoteHistoryLogProps extends HTMLAttributes<HTMLDivElement> {\n history?: HistoryEntry[];\n items?: QuoteItem[];\n buyer: {\n firstname: string;\n lastname: string;\n };\n salesRepName: string;\n}\n\nexport const QuoteHistoryLog: FunctionComponent<QuoteHistoryLogProps> = ({\n className,\n children,\n history,\n items,\n buyer,\n salesRepName,\n ...props\n}) => {\n const dictionary = useText({\n quoteCreated: 'historyLog.changeTypes.created',\n quoteUpdated: 'historyLog.changeTypes.updated',\n statusChanged: 'historyLog.changeTypes.statusChanged',\n commentAdded: 'historyLog.changeTypes.commentAdded',\n expirationChanged: 'historyLog.changeTypes.expirationChanged',\n buyerNoteAdded: 'historyLog.noteTypes.buyerNoteAdded',\n sellerNoteAdded: 'historyLog.noteTypes.sellerNoteAdded',\n buyerLabel: 'historyLog.authorLabels.buyer',\n sellerLabel: 'historyLog.authorLabels.seller',\n commentDetail: 'historyLog.changeDetails.comment',\n statusChangedFromTo: 'historyLog.changeDetails.statusChangedFromTo',\n statusSetTo: 'historyLog.changeDetails.statusSetTo',\n expirationChangedFromTo: 'historyLog.changeDetails.expirationChangedFromTo',\n expirationSetTo: 'historyLog.changeDetails.expirationSetTo',\n totalChangedFromTo: 'historyLog.changeDetails.totalChangedFromTo',\n customChange: 'historyLog.changeDetails.customChange',\n productsRemovedFromCatalog: 'historyLog.changeDetails.productsRemovedFromCatalog',\n productsRemovedFromQuote: 'historyLog.changeDetails.productsRemovedFromQuote',\n noDetailsAvailable: 'historyLog.changeDetails.noDetailsAvailable',\n emptyState: 'historyLog.emptyState',\n never: 'dateUtils.never',\n });\n\n\n const formatChangeType = (changeType: string) => {\n switch (changeType) {\n case 'CREATED':\n return dictionary.quoteCreated;\n case 'UPDATED':\n return dictionary.quoteUpdated;\n case 'STATUS_CHANGED':\n return dictionary.statusChanged;\n case 'COMMENT_ADDED':\n return dictionary.commentAdded;\n case 'EXPIRATION_CHANGED':\n return dictionary.expirationChanged;\n default:\n return changeType\n .replace(/_/g, ' ')\n .toLowerCase()\n .replace(/\\b\\w/g, (l) => l.toUpperCase());\n }\n };\n\n // Handle status or expiration changes\n const formatChanges = (changes: any) => {\n const changeDetails = [];\n\n if (changes?.commentAdded?.comment) {\n changeDetails.push(\n dictionary.commentDetail.replace(\n '{comment}',\n changes.commentAdded.comment\n )\n );\n }\n\n if (changes?.statuses?.changes) {\n changes.statuses.changes.forEach((statusChange: any) => {\n if (statusChange.oldStatus && statusChange.newStatus) {\n changeDetails.push(\n dictionary.statusChangedFromTo\n .replace('{oldStatus}', statusChange.oldStatus)\n .replace('{newStatus}', statusChange.newStatus)\n );\n } else if (statusChange.newStatus) {\n changeDetails.push(\n dictionary.statusSetTo.replace(\n '{newStatus}',\n statusChange.newStatus\n )\n );\n }\n });\n }\n\n if (\n changes?.expiration?.newExpiration &&\n changes?.expiration?.oldExpiration\n ) {\n const newDateFormatted = formattedDate(changes.expiration.newExpiration);\n const oldDateFormatted = formattedDate(changes.expiration.oldExpiration);\n changeDetails.push(\n dictionary.expirationChangedFromTo\n .replace('{oldExpiration}', oldDateFormatted)\n .replace('{newExpiration}', newDateFormatted)\n );\n } else if (changes?.expiration?.newExpiration) {\n const newDateFormatted = formattedDate(changes.expiration.newExpiration);\n changeDetails.push(\n dictionary.expirationSetTo.replace('{newExpiration}', newDateFormatted)\n );\n }\n\n if (changes?.total?.newPrice && changes?.total?.oldPrice) {\n const newTotal = `${changes.total.newPrice.currency} ${changes.total.newPrice.value}`;\n const oldTotal = `${changes.total.oldPrice.currency} ${changes.total.oldPrice.value}`;\n changeDetails.push(\n dictionary.totalChangedFromTo\n .replace('{oldTotal}', oldTotal)\n .replace('{newTotal}', newTotal)\n );\n }\n\n if (changes?.customChanges?.title && changes?.customChanges?.old_value && changes?.customChanges?.new_value) {\n changeDetails.push(\n dictionary.customChange\n .replace('{title}', changes.customChanges.title)\n .replace('{oldValue}', changes.customChanges.old_value)\n .replace('{newValue}', changes.customChanges.new_value)\n );\n }\n\n if (changes?.productsRemoved?.productsRemovedFromCatalog && changes.productsRemoved.productsRemovedFromCatalog.length > 0) {\n changeDetails.push(\n dictionary.productsRemovedFromCatalog.replace(\n '{products}',\n changes.productsRemoved.productsRemovedFromCatalog.join(', ')\n )\n );\n }\n\n if (changes?.productsRemoved?.productsRemovedFromQuote && changes.productsRemoved.productsRemovedFromQuote.length > 0) {\n const productNames = changes.productsRemoved.productsRemovedFromQuote.map((product: any) =>\n product.name || product.sku || product.uid\n ).join(', ');\n changeDetails.push(\n dictionary.productsRemovedFromQuote.replace('{products}', productNames)\n );\n }\n\n return changeDetails.length > 0\n ? changeDetails\n : [dictionary.noDetailsAvailable];\n };\n\n // Get item notes outside of history entries\n const getItemNotes = () => {\n const notes: Array<{\n createdAt: string;\n creatorId: number;\n creatorType: number;\n negotiableQuoteItemUid: string;\n note: string;\n noteUid: string;\n type: 'buyer' | 'seller';\n productName: string;\n productSku: string;\n authorName: string;\n }> = [];\n\n const processNotes = (\n noteArray: ItemNote[] | undefined,\n type: 'buyer' | 'seller',\n authorName: string,\n item: QuoteItem\n ) => {\n if (noteArray && Array.isArray(noteArray)) {\n noteArray.forEach((note) => {\n if (note && note.note && note.note.trim()) {\n notes.push({\n ...note,\n type,\n productName: item.product.name,\n productSku: item.product.sku,\n authorName,\n });\n }\n });\n }\n };\n\n if (items) {\n items.forEach((item) => {\n processNotes(\n item.noteFromBuyer,\n 'buyer',\n `${buyer.firstname} ${buyer.lastname} ${dictionary.buyerLabel}`,\n item\n );\n\n processNotes(\n item.noteFromSeller,\n 'seller',\n `${salesRepName} ${dictionary.sellerLabel}`,\n item\n );\n });\n }\n\n return notes;\n };\n\n const itemNotes = getItemNotes();\n\n // Get history entries\n const historyEntries = (history || []).map((entry) => ({\n ...entry,\n entryType: 'history' as const,\n }));\n const noteEntries = itemNotes.map((note) => ({\n ...note,\n entryType: 'note' as const,\n }));\n\n // Combine history and item notes without sorting\n const allEntries = [...historyEntries, ...noteEntries];\n\n return (\n <div\n {...props}\n className={classes(['quote-management-quote-history-log', className])}\n >\n {allEntries.length > 0 ? (\n <div className=\"quote-management-quote-history-log__entries\">\n {allEntries.map((entry, index) => (\n <div\n key={\n entry.entryType === 'history'\n ? entry.uid\n : `${entry.noteUid}-${index}`\n }\n className=\"quote-management-quote-history-log__entry\"\n >\n <div className=\"quote-management-quote-history-log__entry-header\">\n <div className=\"quote-management-quote-history-log__entry-meta\">\n <span className=\"quote-management-quote-history-log__entry-date\">\n {formattedDate(entry.createdAt, 'long')}\n </span>\n <span className=\"quote-management-quote-history-log__entry-author\">\n {entry.entryType === 'history'\n ? `by ${entry.author.firstname} ${entry.author.lastname\n } ${entry.author.firstname === buyer.firstname &&\n entry.author.lastname === buyer.lastname\n ? dictionary.buyerLabel\n : dictionary.sellerLabel\n }`\n : `by ${entry.authorName}`}\n </span>\n </div>\n <div className=\"quote-management-quote-history-log__entry-type\">\n {entry.entryType === 'history'\n ? formatChangeType(entry.changeType)\n : entry.type === 'buyer'\n ? dictionary.buyerNoteAdded\n : dictionary.sellerNoteAdded}\n </div>\n </div>\n <div className=\"quote-management-quote-history-log__entry-changes\">\n {entry.entryType === 'history' ? (\n formatChanges(entry.changes).map((change, changeIndex) => (\n <div\n key={changeIndex}\n className=\"quote-management-quote-history-log__entry-change\"\n >\n {change}\n </div>\n ))\n ) : (\n <div className=\"quote-management-quote-history-log__entry-change\">\n <div>\n {entry.productName}({entry.productSku})\n </div>\n <div>\"{entry.note}\"</div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"quote-management-quote-history-log__empty\">\n {dictionary.emptyState}\n </div>\n )}\n {children}\n </div>\n );\n};\n"],"names":["QuoteHistoryLog","className","children","history","items","buyer","salesRepName","props","dictionary","useText","formatChangeType","changeType","l","formatChanges","changes","changeDetails","_a","_b","statusChange","_c","_d","newDateFormatted","formattedDate","oldDateFormatted","_e","_f","_g","newTotal","oldTotal","_h","_i","_j","_k","_l","productNames","product","itemNotes","notes","processNotes","noteArray","type","authorName","item","note","historyEntries","entry","noteEntries","allEntries","jsxs","classes","jsx","index","change","changeIndex"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{useState as m,useEffect as i}from"@dropins/tools/preact-compat.js";import{events as n}from"@dropins/tools/event-bus.js";import{Q as f}from"./QuoteHistoryLog.js";const Q=({quoteData:r,...s})=>{const[e,a]=m(r);return i(()=>{const t=n.on("quote-management/quote-data",u=>{a(u.quote)},{eager:!0});return()=>t==null?void 0:t.off()},[]),e?o("div",{...s,children:o(f,{history:e.history,items:e.items,buyer:e.buyer,salesRepName:e.salesRepName})}):null};export{Q};
4
+ //# sourceMappingURL=QuoteHistoryLog3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteHistoryLog3.js","sources":["/@dropins/storefront-quote-management/src/containers/QuoteHistoryLog/QuoteHistoryLog.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n \nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { NegotiableQuoteModel } from '@/quote-management/data/models/negotiable-quote-model';\nimport { events } from '@adobe-commerce/event-bus';\nimport { QuoteHistoryLog as QuoteHistoryLogComponent } from '@/quote-management/components/QuoteHistoryLog';\n\nexport interface QuoteHistoryLogProps extends HTMLAttributes<HTMLDivElement> {\n quoteData?: NegotiableQuoteModel;\n}\n \nexport const QuoteHistoryLog: Container<QuoteHistoryLogProps> = ({ quoteData: initialData, ...props }) => {\n\n const [quoteData, setQuoteData] = useState<NegotiableQuoteModel | undefined>(\n initialData\n );\n\n useEffect(() => {\n const quoteDataEvent = events.on(\n 'quote-management/quote-data',\n (data: { quote: NegotiableQuoteModel }) => {\n setQuoteData(data.quote);\n },\n {\n eager: true,\n }\n );\n return () => quoteDataEvent?.off();\n }, []);\n\n if (!quoteData) {\n return null;\n }\n\n return (\n <div {...props}>\n <QuoteHistoryLogComponent \n history={quoteData.history}\n items={quoteData.items}\n buyer={quoteData.buyer}\n salesRepName={quoteData.salesRepName}\n />\n </div>\n );\n};\n"],"names":["QuoteHistoryLog","initialData","props","quoteData","setQuoteData","useState","useEffect","quoteDataEvent","events","data","jsx","QuoteHistoryLogComponent"],"mappings":"mOAmBO,MAAMA,EAAmD,CAAC,CAAE,UAAWC,EAAa,GAAGC,KAAY,CAExG,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAChCJ,CAAA,EAgBF,OAbAK,EAAU,IAAM,CACd,MAAMC,EAAiBC,EAAO,GAC5B,8BACCC,GAA0C,CACzCL,EAAaK,EAAK,KAAK,CACzB,EACA,CACE,MAAO,EAAA,CACT,EAEF,MAAO,IAAMF,GAAA,YAAAA,EAAgB,KAC/B,EAAG,CAAA,CAAE,EAEAJ,EAKHO,EAAC,MAAA,CAAK,GAAGR,EACP,SAAAQ,EAACC,EAAA,CACC,QAASR,EAAU,QACnB,MAAOA,EAAU,MACjB,MAAOA,EAAU,MACjB,aAAcA,EAAU,YAAA,CAAA,EAE5B,EAXO,IAaX"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as o,jsxs as i}from"@dropins/tools/preact-jsx-runtime.js";import{useState as f,useEffect as p}from"@dropins/tools/preact-compat.js";import{Q as d}from"./QuoteCommentsList.js";import{events as l}from"@dropins/tools/event-bus.js";import{f as c}from"./dateUtils.js";const C=({templateData:a,...s})=>{var r;const[e,m]=f(a);if(p(()=>{const t=l.on("quote-management/quote-template-data",u=>{m(u.quoteTemplate)},{eager:!0});return()=>t==null?void 0:t.off()},[]),!e)return null;const n=(r=e==null?void 0:e.comments)==null?void 0:r.map(t=>({uid:t.uid,createdAt:o("span",{children:c(t.createdAt,"long")}),author:i("span",{children:[t.author.firstname," ",t.author.lastname]}),text:o("p",{children:t.text})}));return o(d,{"data-testid":"quote-template-comments-list-container",...s,comments:n||[]})};export{C as Q};
4
+ //# sourceMappingURL=QuoteTemplateCommentsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteTemplateCommentsList.js","sources":["/@dropins/storefront-quote-management/src/containers/QuoteTemplateCommentsList/QuoteTemplateCommentsList.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { QuoteCommentsList as QuoteCommentsListComponent } from '@/quote-management/components/QuoteCommentsList';\nimport { NegotiableQuoteTemplateModel } from '@/quote-management/data/models/negotiable-quote-template-model';\nimport { events } from '@adobe-commerce/event-bus';\nimport { formattedDate } from '@/quote-management/utils/dateUtils';\n\nexport interface QuoteTemplateCommentsListProps extends HTMLAttributes<HTMLUListElement> {\n templateData?: NegotiableQuoteTemplateModel;\n}\n\nexport const QuoteTemplateCommentsList: Container<QuoteTemplateCommentsListProps> = ({\n templateData: initialData,\n ...props\n}) => {\n const [templateData, setTemplateData] = useState<NegotiableQuoteTemplateModel | undefined>(initialData);\n\n useEffect(() => {\n const templateDataEvent = events.on('quote-management/quote-template-data', (data: { quoteTemplate: NegotiableQuoteTemplateModel }) => {\n setTemplateData(data.quoteTemplate);\n }, { eager: true });\n return () => templateDataEvent?.off();\n }, []);\n\n if (!templateData) {\n return null;\n }\n\n // Format comments data\n const formattedComments = templateData?.comments?.map((comment) => ({\n uid: comment.uid,\n createdAt: <span>{formattedDate(comment.createdAt, 'long')}</span>,\n author: (\n <span>\n {comment.author.firstname} {comment.author.lastname}\n </span>\n ),\n text: <p>{comment.text}</p>,\n }));\n\n return (\n <QuoteCommentsListComponent\n data-testid=\"quote-template-comments-list-container\"\n {...props}\n comments={formattedComments || []}\n />\n );\n};\n"],"names":["QuoteTemplateCommentsList","initialData","props","templateData","setTemplateData","useState","useEffect","templateDataEvent","events","data","formattedComments","_a","comment","jsx","QuoteCommentsListComponent"],"mappings":"kRAoBO,MAAMA,EAAuE,CAAC,CACnF,aAAcC,EACd,GAAGC,CACL,IAAM,OACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmDJ,CAAW,EAStG,GAPAK,EAAU,IAAM,CACd,MAAMC,EAAoBC,EAAO,GAAG,uCAAyCC,GAA0D,CACrIL,EAAgBK,EAAK,aAAa,CACpC,EAAG,CAAE,MAAO,GAAM,EAClB,MAAO,IAAMF,GAAA,YAAAA,EAAmB,KAClC,EAAG,CAAA,CAAE,EAED,CAACJ,EACH,OAAO,KAIT,MAAMO,GAAoBC,EAAAR,GAAA,YAAAA,EAAc,WAAd,YAAAQ,EAAwB,IAAKC,IAAa,CAClE,IAAKA,EAAQ,IACb,UAAWC,EAAC,OAAA,CAAM,WAAcD,EAAQ,UAAW,MAAM,EAAE,EAC3D,SACG,OAAA,CACE,SAAA,CAAAA,EAAQ,OAAO,UAAU,IAAEA,EAAQ,OAAO,QAAA,EAC7C,EAEF,KAAMC,EAAC,IAAA,CAAG,SAAAD,EAAQ,IAAA,CAAK,CAAA,IAGzB,OACEC,EAACC,EAAA,CACC,cAAY,yCACX,GAAGZ,EACJ,SAAUQ,GAAqB,CAAA,CAAC,CAAA,CAGtC"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as o}from"@dropins/tools/preact-jsx-runtime.js";import{useState as u,useEffect as i}from"@dropins/tools/preact-compat.js";import{events as p}from"@dropins/tools/event-bus.js";import{Q as n}from"./QuoteHistoryLog.js";const g=({templateData:r,...a})=>{const[e,s]=u(r);return i(()=>{const t=p.on("quote-management/quote-template-data",m=>{s(m.quoteTemplate)},{eager:!0});return()=>t==null?void 0:t.off()},[]),e?o("div",{...a,children:o(n,{history:e.history,items:e.items,buyer:e.buyer,salesRepName:e.salesRepName})}):null};export{g as Q};
4
+ //# sourceMappingURL=QuoteTemplateHistoryLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteTemplateHistoryLog.js","sources":["/@dropins/storefront-quote-management/src/containers/QuoteTemplateHistoryLog/QuoteTemplateHistoryLog.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { NegotiableQuoteTemplateModel } from '@/quote-management/data/models/negotiable-quote-template-model';\nimport { events } from '@adobe-commerce/event-bus';\nimport { QuoteHistoryLog as QuoteHistoryLogComponent } from '@/quote-management/components/QuoteHistoryLog';\n\nexport interface QuoteTemplateHistoryLogProps extends HTMLAttributes<HTMLDivElement> {\n templateData?: NegotiableQuoteTemplateModel;\n}\n\nexport const QuoteTemplateHistoryLog: Container<QuoteTemplateHistoryLogProps> = ({\n templateData: initialData,\n ...props\n}) => {\n const [templateData, setTemplateData] = useState<NegotiableQuoteTemplateModel | undefined>(initialData);\n\n useEffect(() => {\n const templateDataEvent = events.on('quote-management/quote-template-data', (payload) => {\n setTemplateData(payload.quoteTemplate);\n }, { eager: true });\n\n return () => templateDataEvent?.off();\n }, []);\n\n if (!templateData) {\n return null;\n }\n\n return (\n <div {...props}>\n <QuoteHistoryLogComponent \n history={templateData.history}\n items={templateData.items}\n buyer={templateData.buyer}\n salesRepName={templateData.salesRepName}\n />\n </div>\n );\n};\n"],"names":["QuoteTemplateHistoryLog","initialData","props","templateData","setTemplateData","useState","useEffect","templateDataEvent","events","payload","jsx","QuoteHistoryLogComponent"],"mappings":"mOAmBO,MAAMA,EAAmE,CAAC,CAC/E,aAAcC,EACd,GAAGC,CACL,IAAM,CACJ,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAmDJ,CAAW,EAUtG,OARAK,EAAU,IAAM,CACd,MAAMC,EAAoBC,EAAO,GAAG,uCAAyCC,GAAY,CACvFL,EAAgBK,EAAQ,aAAa,CACvC,EAAG,CAAE,MAAO,GAAM,EAElB,MAAO,IAAMF,GAAA,YAAAA,EAAmB,KAClC,EAAG,CAAA,CAAE,EAEAJ,EAKHO,EAAC,MAAA,CAAK,GAAGR,EACP,SAAAQ,EAACC,EAAA,CACC,QAASR,EAAa,QACtB,MAAOA,EAAa,MACpB,MAAOA,EAAa,MACpB,aAAcA,EAAa,YAAA,CAAA,EAE/B,EAXO,IAaX"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import*as v from"@dropins/tools/preact-compat.js";import{useState as p,useMemo as f}from"@dropins/tools/preact-compat.js";import{jsx as e,jsxs as d,Fragment as k}from"@dropins/tools/preact-jsx-runtime.js";import{classes as a,VComponent as N}from"@dropins/tools/lib.js";/* empty css */import{Picker as x,Modal as L,Input as T,TextArea as M,Button as _}from"@dropins/tools/components.js";import{useText as y}from"@dropins/tools/i18n.js";const S=i=>v.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",className:"feather feather-edit-2",...i},v.createElement("path",{d:"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z"})),j=({className:i,dropdownPlaceholder:m,dropdownOptions:n,dropdownValue:c,handleDropdownChange:s,buttons:t,...l})=>{const b=n&&n.length>0,u=t&&t.length>0,o=(n==null?void 0:n.map(r=>({text:r.label,value:r.value})))||[];return o.unshift({text:m||"",value:""}),e("div",{className:"quote-management-actions-bar__container","data-testid":"actions-bar-container",children:d("div",{className:a(["quote-management-actions-bar",i]),"data-testid":"actions-bar",...l,children:[b&&e(x,{name:"dropdown",id:"dropdown",handleSelect:s,className:"quote-management-actions-bar__dropdown","data-testid":"dropdown",options:o,value:c||""},`actions-bar-picker-${c||"empty"}`),u&&e("div",{className:"quote-management-actions-bar__buttons","data-testid":"buttons-container",children:t==null?void 0:t.map((r,q)=>e(N,{node:r,className:a(["quote-management-actions-bar__button"])},q))})]})})},D=({className:i,tabs:m,tabsContent:n,defaultActiveTab:c,...s})=>{const[t,l]=p(c||Array.from(m.keys())[0]),b=o=>{l(o)},u=f(()=>n.get(t),[t,n]);return d("div",{...s,className:a(["quote-management-tabbed-content",i]),children:[m&&e("div",{"data-testid":"tabbed-content-tabs",className:a(["quote-management-tabbed-content__tabs"]),children:Array.from(m.entries()).map(([o,r])=>e("button",{className:a(["quote-management-tabbed-content__tab",["quote-management-tabbed-content__tab--active",o===t]]),onClick:()=>b(o),children:r},o))}),u&&e("div",{className:a(["quote-management-tabbed-content__active-tab-content"]),children:e(N,{node:u})})]})},I=({className:i,open:m,quoteName:n,renameReason:c,quoteNameError:s,errorBanner:t,successBanner:l,showCloseButton:b=!0,onQuoteNameChange:u,onRenameReasonChange:o,onSave:r,onClose:q})=>{const g=y({title:"NegotiableQuote.Manage.rename.title",quoteNameLabel:"NegotiableQuote.Manage.rename.quoteNameLabel",reasonLabel:"NegotiableQuote.Manage.rename.reasonLabel",renameButton:"NegotiableQuote.Manage.rename.renameButton",cancelButton:"NegotiableQuote.Manage.rename.cancelButton"});return m?d(L,{open:m,size:"medium",title:e(k,{children:g.title}),onClose:q,clickToDismiss:!0,escapeToDismiss:!0,showCloseButton:b,className:a(["quote-management-rename-quote-modal",i]),"data-testid":"rename-quote-modal",children:[t&&e("div",{className:a(["quote-management-rename-quote-modal__error-banner"]),"data-testid":"rename-quote-modal-error-banner",children:t}),l&&e("div",{className:a(["quote-management-rename-quote-modal__success-banner"]),"data-testid":"rename-quote-modal-success-banner",children:l}),d("div",{className:a(["quote-management-rename-quote-modal__content"]),children:[d("div",{children:[e(T,{name:"quoteName",type:"text",value:n,onInput:h=>u(h.target.value),floatingLabel:g.quoteNameLabel,required:!0,error:!!s}),s&&e("span",{className:a(["quote-management-rename-quote-modal__error-text"]),children:s})]}),e(M,{name:"quoteComment",value:c,onInput:h=>o(h.target.value),label:g.reasonLabel,rows:3})]}),d("div",{className:a(["quote-management-rename-quote-modal__actions"]),children:[e(_,{variant:"secondary",size:"medium",onClick:q,className:a(["quote-management-rename-quote-modal__cancel-button"]),children:g.cancelButton}),e(_,{variant:"primary",size:"medium",onClick:r,className:a(["quote-management-rename-quote-modal__save-button"]),children:g.renameButton})]})]}):null};export{j as A,I as R,S,D as T};
4
+ //# sourceMappingURL=RenameQuoteModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenameQuoteModal.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/Edit.svg","/@dropins/storefront-quote-management/src/components/ActionsBar/ActionsBar.tsx","/@dropins/storefront-quote-management/src/components/TabbedContent/TabbedContent.tsx","/@dropins/storefront-quote-management/src/components/RenameQuoteModal/RenameQuoteModal.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgEdit = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", stroke: \"currentColor\", strokeWidth: 1, strokeLinecap: \"round\", strokeLinejoin: \"round\", className: \"feather feather-edit-2\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\" }));\nexport default SvgEdit;\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport '@/quote-management/components/ActionsBar/ActionsBar.css';\nimport { Picker } from '@adobe-commerce/elsie/components';\n\nexport interface ActionsBarProps extends HTMLAttributes<HTMLDivElement> {\n dropdownPlaceholder?: string;\n dropdownOptions?: {\n label: string;\n value: string;\n }[];\n dropdownValue?: string;\n handleDropdownChange?: (event: Event) => void;\n buttons?: VNode[];\n}\n\nexport const ActionsBar: FunctionComponent<ActionsBarProps> = ({\n className,\n dropdownPlaceholder,\n dropdownOptions,\n dropdownValue,\n handleDropdownChange,\n buttons,\n ...props\n}) => {\n const hasDropdown = dropdownOptions && dropdownOptions.length > 0;\n const hasButtons = buttons && buttons.length > 0;\n\n const pickerOptions =\n dropdownOptions?.map((option) => ({\n text: option.label,\n value: option.value,\n })) || [];\n pickerOptions.unshift({\n text: dropdownPlaceholder || '',\n value: '',\n });\n\n return (\n <div\n className=\"quote-management-actions-bar__container\"\n data-testid=\"actions-bar-container\"\n >\n <div\n className={classes(['quote-management-actions-bar', className])}\n data-testid=\"actions-bar\"\n {...props}\n >\n {hasDropdown && (\n <Picker\n key={`actions-bar-picker-${dropdownValue || 'empty'}`}\n name=\"dropdown\"\n id=\"dropdown\"\n handleSelect={handleDropdownChange}\n className=\"quote-management-actions-bar__dropdown\"\n data-testid=\"dropdown\"\n options={pickerOptions}\n value={dropdownValue || ''}\n />\n )}\n {hasButtons && (\n <div\n className=\"quote-management-actions-bar__buttons\"\n data-testid=\"buttons-container\"\n >\n {buttons?.map((button, index) => (\n <VComponent\n node={button}\n className={classes(['quote-management-actions-bar__button'])}\n key={index}\n />\n ))}\n </div>\n )}\n </div>\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes, useMemo, useState } from 'preact/compat';\nimport { classes, VComponent } from '@adobe-commerce/elsie/lib';\nimport '@/quote-management/components/TabbedContent/TabbedContent.css';\n\nexport interface TabbedContentProps extends HTMLAttributes<HTMLDivElement> {\n tabs: Map<string, string>;\n tabsContent: Map<string, VNode>;\n defaultActiveTab?: string;\n}\n\nexport const TabbedContent: FunctionComponent<TabbedContentProps> = ({\n className,\n tabs,\n tabsContent,\n defaultActiveTab,\n ...props\n}) => {\n const [activeTabId, setActiveTabId] = useState<string>(\n defaultActiveTab || Array.from(tabs.keys())[0]\n );\n\n const handleTabClick = (tabId: string) => {\n setActiveTabId(tabId);\n };\n\n const activeTabContent = useMemo(() => {\n return tabsContent.get(activeTabId);\n }, [activeTabId, tabsContent]);\n\n return (\n <div {...props} className={classes(['quote-management-tabbed-content', className])}>\n {tabs &&\n <div data-testid=\"tabbed-content-tabs\" className={classes(['quote-management-tabbed-content__tabs'])}>\n {Array.from(tabs.entries()).map(([tabId, tabLabel]) => (\n <button\n className={\n classes([\n 'quote-management-tabbed-content__tab',\n ['quote-management-tabbed-content__tab--active', tabId === activeTabId]\n ])}\n key={tabId}\n onClick={() => handleTabClick(tabId)}\n >\n {tabLabel}\n </button>\n ))}\n </div>\n }\n {\n activeTabContent &&\n <div className={classes(['quote-management-tabbed-content__active-tab-content'])}>\n <VComponent\n node={activeTabContent as VNode}\n />\n </div>\n }\n </div>\n );\n};\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this\n * file in accordance with the terms of the Adobe license agreement\n * accompanying it.\n *******************************************************************/\n\nimport { FunctionComponent, VNode } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Button, Input, TextArea, Modal } from '@adobe-commerce/elsie/components';\nimport '@/quote-management/components/RenameQuoteModal/RenameQuoteModal.css';\n\nexport interface RenameQuoteModalProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n open: boolean;\n quoteName: string;\n renameReason: string;\n quoteNameError?: string;\n errorBanner?: VNode;\n successBanner?: VNode;\n showCloseButton?: boolean;\n onQuoteNameChange: (value: string) => void;\n onRenameReasonChange: (value: string) => void;\n onSave: () => void;\n onClose?: () => void;\n}\n\nexport const RenameQuoteModal: FunctionComponent<RenameQuoteModalProps> = ({\n className,\n open,\n quoteName,\n renameReason,\n quoteNameError,\n errorBanner,\n successBanner,\n showCloseButton = true,\n onQuoteNameChange,\n onRenameReasonChange,\n onSave,\n onClose,\n}) => {\n const dictionary = useText({\n title: 'NegotiableQuote.Manage.rename.title',\n quoteNameLabel: 'NegotiableQuote.Manage.rename.quoteNameLabel',\n reasonLabel: 'NegotiableQuote.Manage.rename.reasonLabel',\n renameButton: 'NegotiableQuote.Manage.rename.renameButton',\n cancelButton: 'NegotiableQuote.Manage.rename.cancelButton',\n });\n\n if (!open) {\n return null;\n }\n\n return (\n <Modal\n open={open}\n size=\"medium\"\n title={<>{dictionary.title}</>}\n onClose={onClose}\n clickToDismiss={true}\n escapeToDismiss={true}\n showCloseButton={showCloseButton}\n className={classes(['quote-management-rename-quote-modal', className])}\n data-testid=\"rename-quote-modal\"\n >\n {errorBanner && (\n <div className={classes(['quote-management-rename-quote-modal__error-banner'])} data-testid=\"rename-quote-modal-error-banner\">\n {errorBanner}\n </div>\n )}\n\n {successBanner && (\n <div className={classes(['quote-management-rename-quote-modal__success-banner'])} data-testid=\"rename-quote-modal-success-banner\">\n {successBanner}\n </div>\n )}\n\n <div className={classes(['quote-management-rename-quote-modal__content'])}>\n <div>\n <Input\n name=\"quoteName\"\n type=\"text\"\n value={quoteName}\n onInput={(e: any) => onQuoteNameChange(e.target.value)}\n floatingLabel={dictionary.quoteNameLabel}\n required\n error={!!quoteNameError}\n />\n {quoteNameError && (\n <span className={classes(['quote-management-rename-quote-modal__error-text'])}>\n {quoteNameError}\n </span>\n )}\n </div>\n\n <TextArea\n name=\"quoteComment\"\n value={renameReason}\n onInput={(e: any) => onRenameReasonChange(e.target.value)}\n label={dictionary.reasonLabel}\n rows={3}\n />\n </div>\n\n <div className={classes(['quote-management-rename-quote-modal__actions'])}>\n <Button \n variant=\"secondary\"\n size=\"medium\"\n onClick={onClose}\n className={classes(['quote-management-rename-quote-modal__cancel-button'])}\n >\n {dictionary.cancelButton}\n </Button>\n <Button \n variant=\"primary\"\n size=\"medium\"\n onClick={onSave}\n className={classes(['quote-management-rename-quote-modal__save-button'])}\n >\n {dictionary.renameButton}\n </Button>\n </div>\n </Modal>\n );\n};\n"],"names":["SvgEdit","props","React","ActionsBar","className","dropdownPlaceholder","dropdownOptions","dropdownValue","handleDropdownChange","buttons","hasDropdown","hasButtons","pickerOptions","option","jsx","jsxs","classes","Picker","button","index","VComponent","TabbedContent","tabs","tabsContent","defaultActiveTab","activeTabId","setActiveTabId","useState","handleTabClick","tabId","activeTabContent","useMemo","tabLabel","RenameQuoteModal","open","quoteName","renameReason","quoteNameError","errorBanner","successBanner","showCloseButton","onQuoteNameChange","onRenameReasonChange","onSave","onClose","dictionary","useText","Modal","Fragment","Input","e","TextArea","Button"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsx as a,jsxs as c}from"@dropins/tools/preact-jsx-runtime.js";import{useState as y,useEffect as l}from"@dropins/tools/preact-compat.js";import{classes as u}from"@dropins/tools/lib.js";import{InLineAlert as f,Skeleton as h,SkeletonRow as q}from"@dropins/tools/components.js";import{S as _}from"./WarningFilled.js";import{useText as v}from"@dropins/tools/i18n.js";import{events as g}from"@dropins/tools/event-bus.js";const N=({className:i,shippingAddress:e,loading:m,noAddressMessage:p,...r})=>{const s=v({noAddressHeading:"NegotiableQuote.Manage.shippingAddress.noAddressHeading",noAddressDescription:"NegotiableQuote.Manage.shippingAddress.noAddressDescription"});return m?a(S,{}):e?c("div",{className:u(["quote-management-shipping-address-display",i]),"data-testid":"shipping-address-display",...r,children:[a("div",{className:"quote-management-shipping-address-display__field","data-testid":"address-name",children:c("span",{className:"quote-management-shipping-address-display__name",children:[e.firstname," ",e.lastname]})}),e.company&&a("div",{className:"quote-management-shipping-address-display__field","data-testid":"address-company",children:e.company}),e.street.map((o,t)=>a("div",{className:"quote-management-shipping-address-display__field","data-testid":`address-street-${t}`,children:o},t)),c("div",{className:"quote-management-shipping-address-display__field","data-testid":"address-city-region",children:[e.city,e.region&&`, ${e.region.label}`," ",e.postcode]}),a("div",{className:"quote-management-shipping-address-display__field","data-testid":"address-country",children:e.country.label}),a("div",{className:"quote-management-shipping-address-display__field","data-testid":"address-telephone",children:e.telephone})]}):a("div",{className:u(["quote-management-shipping-address-display","quote-management-shipping-address-display--empty",i]),"data-testid":"shipping-address-display-empty",...r,children:a(f,{type:"warning",variant:"primary","data-testid":"shipping-address-display-empty-alert",icon:a(_,{}),heading:s.noAddressHeading,description:p||s.noAddressDescription})})},S=()=>a(h,{"data-testid":"shipping-address-display-skeleton",children:a(q,{variant:"row",fullWidth:!0,size:"small",lines:5,multilineGap:"xsmall"})}),$=({shippingAddress:i,loading:e,...m})=>{const[p,r]=y(i);return l(()=>{i!==void 0&&r(i)},[i]),l(()=>{const s=g.on("quote-management/quote-data",o=>{var d,n;const t=(n=(d=o.quote)==null?void 0:d.shippingAddresses)==null?void 0:n[0];r(t)},{eager:!0});return()=>s==null?void 0:s.off()},[]),l(()=>{const s=g.on("quote-management/shipping-address-set",o=>{var d,n;const t=(n=(d=o.quote)==null?void 0:d.shippingAddresses)==null?void 0:n[0];r(t)},{eager:!0});return()=>s==null?void 0:s.off()},[]),l(()=>{const s=g.on("quote-management/quote-template-data",o=>{var d,n;const t=(n=(d=o.quoteTemplate)==null?void 0:d.shippingAddresses)==null?void 0:n[0];r(t)},{eager:!0});return()=>s==null?void 0:s.off()},[]),a(N,{shippingAddress:p,loading:e,...m})};export{$ as S};
4
+ //# sourceMappingURL=ShippingAddressDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShippingAddressDisplay.js","sources":["/@dropins/storefront-quote-management/src/components/ShippingAddressDisplay/ShippingAddressDisplay.tsx","/@dropins/storefront-quote-management/src/containers/ShippingAddressDisplay/ShippingAddressDisplay.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { InLineAlert, Skeleton, SkeletonRow } from '@adobe-commerce/elsie/components';\nimport { ShippingAddress } from '@/quote-management/data/models/negotiable-quote-model';\nimport '@/quote-management/components/ShippingAddressDisplay/ShippingAddressDisplay.css';\nimport { WarningFilled } from '@adobe-commerce/elsie/icons';\n\nexport interface ShippingAddressDisplayProps extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n shippingAddress?: ShippingAddress;\n loading?: boolean;\n noAddressMessage?: string;\n}\n\nexport const ShippingAddressDisplay: FunctionComponent<ShippingAddressDisplayProps> = ({\n className,\n shippingAddress,\n loading,\n noAddressMessage,\n ...props\n}) => {\n const dictionary = useText({\n noAddressHeading: 'NegotiableQuote.Manage.shippingAddress.noAddressHeading',\n noAddressDescription: 'NegotiableQuote.Manage.shippingAddress.noAddressDescription',\n });\n\n if (loading) {\n return <ShippingAddressDisplaySkeleton />;\n }\n\n if (!shippingAddress) {\n return (\n <div \n className={classes(['quote-management-shipping-address-display', 'quote-management-shipping-address-display--empty', className])}\n data-testid=\"shipping-address-display-empty\"\n {...props}\n >\n <InLineAlert\n type=\"warning\"\n variant=\"primary\"\n data-testid=\"shipping-address-display-empty-alert\"\n icon={<WarningFilled />}\n heading={dictionary.noAddressHeading}\n description={noAddressMessage || dictionary.noAddressDescription}\n />\n </div>\n );\n }\n\n return (\n <div \n className={classes(['quote-management-shipping-address-display', className])}\n data-testid=\"shipping-address-display\"\n {...props}\n >\n <div className=\"quote-management-shipping-address-display__field\" data-testid=\"address-name\">\n <span className=\"quote-management-shipping-address-display__name\">\n {shippingAddress.firstname} {shippingAddress.lastname}\n </span>\n </div>\n \n {shippingAddress.company && (\n <div className=\"quote-management-shipping-address-display__field\" data-testid=\"address-company\">\n {shippingAddress.company}\n </div>\n )}\n \n {shippingAddress.street.map((line, index) => (\n <div \n key={index} \n className=\"quote-management-shipping-address-display__field\" \n data-testid={`address-street-${index}`}\n >\n {line}\n </div>\n ))}\n \n <div className=\"quote-management-shipping-address-display__field\" data-testid=\"address-city-region\">\n {shippingAddress.city}\n {shippingAddress.region && `, ${shippingAddress.region.label}`}\n {' '}\n {shippingAddress.postcode}\n </div>\n \n <div className=\"quote-management-shipping-address-display__field\" data-testid=\"address-country\">\n {shippingAddress.country.label}\n </div>\n \n <div className=\"quote-management-shipping-address-display__field\" data-testid=\"address-telephone\">\n {shippingAddress.telephone}\n </div>\n </div>\n );\n};\n\nexport const ShippingAddressDisplaySkeleton: FunctionComponent = () => {\n return (\n <Skeleton data-testid=\"shipping-address-display-skeleton\">\n <SkeletonRow variant=\"row\" fullWidth={true} size=\"small\" lines={5} multilineGap='xsmall' />\n </Skeleton>\n );\n};\n\n","/********************************************************************\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { HTMLAttributes, useEffect, useState } from 'preact/compat';\nimport { Container } from '@adobe-commerce/elsie/lib';\nimport { ShippingAddress } from '@/quote-management/data/models/negotiable-quote-model';\nimport { NegotiableQuoteTemplateModel } from '@/quote-management/data/models/negotiable-quote-template-model';\nimport { ShippingAddressDisplay as ShippingAddressDisplayComponent } from '@/quote-management/components/ShippingAddressDisplay';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport interface ShippingAddressDisplayProps extends Omit<HTMLAttributes<HTMLDivElement>, 'loading'> {\n shippingAddress?: ShippingAddress;\n loading?: boolean;\n}\n\nexport const ShippingAddressDisplay: Container<ShippingAddressDisplayProps> = ({\n shippingAddress: initialShippingAddress,\n loading,\n ...props\n}) => {\n const [shippingAddress, setShippingAddress] = useState<ShippingAddress | undefined>(initialShippingAddress);\n\n // Sync prop changes to internal state\n useEffect(() => {\n if (initialShippingAddress !== undefined) {\n setShippingAddress(initialShippingAddress);\n }\n }, [initialShippingAddress]);\n\n // Listen for quote-data events\n useEffect(() => {\n const quoteDataEvent = events.on('quote-management/quote-data', (data: { quote?: { shippingAddresses?: ShippingAddress[] } | null }) => {\n const address = data.quote?.shippingAddresses?.[0];\n setShippingAddress(address);\n }, {\n eager: true,\n });\n return () => quoteDataEvent?.off();\n }, []);\n\n // Listen for shipping-address-set events\n useEffect(() => {\n const shippingAddressSetEvent = events.on('quote-management/shipping-address-set', (data: { quote?: { shippingAddresses?: ShippingAddress[] } | null }) => {\n const address = data.quote?.shippingAddresses?.[0];\n setShippingAddress(address);\n }, {\n eager: true,\n });\n return () => shippingAddressSetEvent?.off();\n }, []);\n\n // Listen for quote-template-data events\n useEffect(() => {\n const quoteTemplateDataEvent = events.on('quote-management/quote-template-data', (data: { quoteTemplate?: NegotiableQuoteTemplateModel | null }) => {\n const address = data.quoteTemplate?.shippingAddresses?.[0];\n setShippingAddress(address);\n }, {\n eager: true,\n });\n return () => quoteTemplateDataEvent?.off();\n }, []);\n\n return (\n <ShippingAddressDisplayComponent\n shippingAddress={shippingAddress}\n loading={loading}\n {...props}\n />\n );\n};\n\n"],"names":["ShippingAddressDisplay","className","shippingAddress","loading","noAddressMessage","props","dictionary","useText","ShippingAddressDisplaySkeleton","jsxs","classes","jsx","line","index","InLineAlert","WarningFilled","Skeleton","SkeletonRow","initialShippingAddress","setShippingAddress","useState","useEffect","quoteDataEvent","events","data","address","_b","_a","shippingAddressSetEvent","quoteTemplateDataEvent","ShippingAddressDisplayComponent"],"mappings":"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"}