@dropins/storefront-quote-management 0.0.1-alpha5 → 0.0.1-alpha8

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 (63) hide show
  1. package/api/graphql/NegotiableQuoteFragment.d.ts +1 -1
  2. package/api/graphql/SearchResultPageInfoFragment.d.ts +10 -0
  3. package/api/{getQuoteData/getQuoteData.d.ts → graphql/SortFieldsFragment.d.ts} +2 -2
  4. package/api/index.d.ts +1 -1
  5. package/api/initialize/initialize.d.ts +0 -1
  6. package/{components/ActionsBar/index.d.ts → api/negotiableQuotes/graphql/NegotiableQuotesQuery.d.ts} +2 -3
  7. package/api/{getQuoteData → negotiableQuotes}/index.d.ts +1 -1
  8. package/api/negotiableQuotes/negotiableQuotes.d.ts +39 -0
  9. package/api.js +4 -16
  10. package/api.js.map +1 -1
  11. package/chunks/NegotiableQuoteFragment.js +56 -0
  12. package/chunks/NegotiableQuoteFragment.js.map +1 -0
  13. package/chunks/negotiableQuotes.js +47 -0
  14. package/chunks/negotiableQuotes.js.map +1 -0
  15. package/chunks/requestNegotiableQuote.js +3 -111
  16. package/chunks/requestNegotiableQuote.js.map +1 -1
  17. package/components/QuotesListTable/QuotesListTable.d.ts +29 -0
  18. package/components/{TabbedContent → QuotesListTable}/index.d.ts +2 -2
  19. package/components/index.d.ts +1 -6
  20. package/containers/QuotesListTable/QuotesListTable.d.ts +72 -0
  21. package/{components/ItemsQuoted → containers/QuotesListTable}/index.d.ts +2 -2
  22. package/containers/QuotesListTable.d.ts +3 -0
  23. package/containers/QuotesListTable.js +4 -0
  24. package/containers/QuotesListTable.js.map +1 -0
  25. package/containers/RequestNegotiableQuoteForm.js +1 -1
  26. package/containers/RequestNegotiableQuoteForm.js.map +1 -1
  27. package/containers/index.d.ts +1 -2
  28. package/data/models/__fixtures__/negotiableQuotesListModel.d.ts +5 -0
  29. package/data/models/customer-model.d.ts +0 -1
  30. package/data/models/index.d.ts +1 -0
  31. package/data/models/negotiable-quote-model.d.ts +61 -27
  32. package/data/transforms/__fixtures__/negotiableQuoteData.d.ts +117 -94
  33. package/data/transforms/transform-quote.d.ts +4 -1
  34. package/i18n/en_US.json.d.ts +14 -55
  35. package/lib/state.d.ts +0 -1
  36. package/package.json +1 -1
  37. package/render.js +3 -4
  38. package/render.js.map +1 -1
  39. package/types/state.types.d.ts +0 -1
  40. package/api/getQuoteData/graphql/QuoteDataQuery.d.ts +0 -2
  41. package/chunks/RequestNegotiableQuoteForm.js +0 -4
  42. package/chunks/RequestNegotiableQuoteForm.js.map +0 -1
  43. package/components/ActionsBar/ActionsBar.d.ts +0 -14
  44. package/components/ItemsQuoted/ItemsQuoted.d.ts +0 -9
  45. package/components/ManageNegotiableQuote/ManageNegotiableQuote.d.ts +0 -18
  46. package/components/ManageNegotiableQuote/__fixtures__/ManageNegotiableQuoteProps.d.ts +0 -4
  47. package/components/ManageNegotiableQuote/index.d.ts +0 -11
  48. package/components/ProductListTable/ProductListTable.d.ts +0 -13
  49. package/components/ProductListTable/index.d.ts +0 -11
  50. package/components/QuotePricesSummary/QuotePricesSummary.d.ts +0 -16
  51. package/components/QuotePricesSummary/index.d.ts +0 -11
  52. package/components/TabbedContent/TabbedContent.d.ts +0 -10
  53. package/containers/ItemsQuoted/ItemsQuoted.d.ts +0 -25
  54. package/containers/ItemsQuoted/index.d.ts +0 -11
  55. package/containers/ItemsQuoted.d.ts +0 -3
  56. package/containers/ItemsQuoted.js +0 -4
  57. package/containers/ItemsQuoted.js.map +0 -1
  58. package/containers/ManageNegotiableQuote/ManageNegotiableQuote.d.ts +0 -48
  59. package/containers/ManageNegotiableQuote/index.d.ts +0 -11
  60. package/containers/ManageNegotiableQuote.d.ts +0 -3
  61. package/containers/ManageNegotiableQuote.js +0 -4
  62. package/containers/ManageNegotiableQuote.js.map +0 -1
  63. package/data/models/__fixtures__/negotiableQuoteModel.d.ts +0 -4
@@ -1,108 +1,131 @@
1
- export declare const mockQuoteData: {
2
- uid: string;
3
- name: string;
4
- created_at: string;
5
- status: string;
6
- buyer: {
7
- firstname: string;
8
- lastname: string;
9
- };
10
- comments: {
11
- uid: string;
12
- created_at: string;
13
- author: {
14
- firstname: string;
15
- lastname: string;
16
- };
17
- text: string;
18
- }[];
19
- items: {
20
- product: {
21
- name: string;
22
- sku: string;
23
- uid: string;
24
- stock_status: string;
25
- quantity: null;
26
- price_range: {
27
- maximum_price: {
28
- regular_price: {
1
+ import { NegotiableQuoteModel, NegotiableQuoteStatus } from '../../models/negotiable-quote-model';
2
+
3
+ export declare const mockGraphQLResponse: {
4
+ data: {
5
+ requestNegotiableQuote: {
6
+ quote: {
7
+ uid: string;
8
+ name: string;
9
+ created_at: string;
10
+ updated_at: string;
11
+ status: string;
12
+ buyer: {
13
+ firstname: string;
14
+ lastname: string;
15
+ };
16
+ comments: {
17
+ uid: string;
18
+ created_at: string;
19
+ author: {
20
+ firstname: string;
21
+ lastname: string;
22
+ };
23
+ }[];
24
+ items: {
25
+ product: {
26
+ uid: string;
27
+ sku: string;
28
+ name: string;
29
+ price_range: {
30
+ maximum_price: {
31
+ regular_price: {
32
+ value: number;
33
+ };
34
+ };
35
+ };
36
+ };
37
+ quantity: number;
38
+ }[];
39
+ prices: {
40
+ subtotal_excluding_tax: {
41
+ value: number;
42
+ };
43
+ subtotal_including_tax: {
44
+ value: number;
45
+ };
46
+ subtotal_with_discount_excluding_tax: {
29
47
  value: number;
30
48
  };
49
+ grand_total: {
50
+ value: number;
51
+ currency: string;
52
+ };
31
53
  };
32
54
  };
33
55
  };
34
- prices: {
35
- price: {
36
- currency: string;
37
- value: number;
38
- };
39
- original_item_price: {
40
- currency: string;
41
- value: number;
42
- };
43
- original_row_total: {
44
- currency: string;
45
- value: number;
46
- };
47
- row_total: {
48
- currency: string;
49
- value: number;
50
- };
51
- catalog_discount: {
52
- amount_off: number;
53
- percent_off: number;
54
- };
55
- discounts: {
56
- label: string;
57
- value: number;
58
- amount: {
59
- value: number;
60
- currency: string;
56
+ };
57
+ };
58
+ export declare const expectedTransformedQuote: NegotiableQuoteModel;
59
+ export declare const mockNegotiableQuotesResponse: {
60
+ data: {
61
+ negotiableQuotes: {
62
+ items: {
63
+ uid: string;
64
+ name: string;
65
+ created_at: string;
66
+ updated_at: string;
67
+ status: NegotiableQuoteStatus;
68
+ buyer: {
69
+ firstname: string;
70
+ lastname: string;
61
71
  };
62
- }[];
63
- };
64
- quantity: number;
65
- }[];
66
- history: {
67
- uid: string;
68
- created_at: string;
69
- author: {
70
- firstname: string;
71
- lastname: string;
72
- };
73
- change_type: string;
74
- changes: {
75
- comment_added: {
76
- comment: string;
77
- };
78
- statuses: {
79
- changes: {
80
- new_status: string;
81
- old_status: null;
72
+ items: {
73
+ product: {
74
+ uid: string;
75
+ sku: string;
76
+ name: string;
77
+ template_id: string;
78
+ template_name: string;
79
+ price_range: {
80
+ maximum_price: {
81
+ regular_price: {
82
+ value: number;
83
+ };
84
+ };
85
+ };
86
+ };
87
+ quantity: number;
82
88
  }[];
89
+ prices: {
90
+ subtotal_excluding_tax: {
91
+ value: number;
92
+ };
93
+ subtotal_including_tax: {
94
+ value: number;
95
+ };
96
+ subtotal_with_discount_excluding_tax: {
97
+ value: number;
98
+ };
99
+ grand_total: {
100
+ value: number;
101
+ };
102
+ };
103
+ }[];
104
+ page_info: {
105
+ current_page: number;
106
+ page_size: number;
107
+ total_pages: number;
83
108
  };
84
- expiration: {
85
- new_expiration: null;
86
- old_expiration: null;
87
- };
109
+ total_count: number;
88
110
  };
89
- }[];
90
- prices: {
91
- subtotal_excluding_tax: {
92
- currency: string;
93
- value: number;
94
- };
95
- applied_taxes: {
96
- amount: {
97
- value: number;
98
- currency: string;
111
+ };
112
+ };
113
+ export declare const mockEmptyNegotiableQuotesResponse: {
114
+ data: {
115
+ negotiableQuotes: {
116
+ items: never[];
117
+ page_info: {
118
+ current_page: number;
119
+ page_size: number;
120
+ total_pages: number;
99
121
  };
100
- label: string;
101
- }[];
102
- grand_total: {
103
- currency: string;
104
- value: number;
122
+ total_count: number;
105
123
  };
106
124
  };
107
125
  };
126
+ export declare const mockNullNegotiableQuotesResponse: {
127
+ data: {
128
+ negotiableQuotes: null;
129
+ };
130
+ };
108
131
  //# sourceMappingURL=negotiableQuoteData.d.ts.map
@@ -1,4 +1,7 @@
1
- import { NegotiableQuoteModel } from '../models/negotiable-quote-model';
1
+ import { NegotiableQuoteModel, NegotiableQuotesListModel, PaginationInfo } from '../models/negotiable-quote-model';
2
2
 
3
3
  export declare function transformQuote(quoteData: any): NegotiableQuoteModel | null;
4
+ export declare function transformNegotiableQuotesList(quotesData: any): NegotiableQuotesListModel | null;
5
+ export declare function transformPaginationInfo(quotesData: NegotiableQuotesListModel | null): PaginationInfo | null;
6
+ export declare const getDefaultPageSizeOptions: () => number[];
4
7
  //# sourceMappingURL=transform-quote.d.ts.map
@@ -20,62 +20,21 @@ declare const _default: {
20
20
  "submitted": "Quote request submitted successfully!",
21
21
  "draftSaved": "Quote saved as draft successfully!"
22
22
  }
23
- },
24
- "Manage": {
25
- "createdLabel": "Created:",
26
- "salesRepLabel": "Sales Rep:",
27
- "expiresLabel": "Expires:",
28
- "actionsLabel": "Actions",
29
- "actions": {
30
- "remove": "Remove"
31
- },
32
- "bannerTitle": "Alert",
33
- "bannerStatusMessages": {
34
- "pending": "This quote is currently locked for editing. It will become available once released by the Merchant.",
35
- "expired": "Your quote has expired and the product prices have been updated as per the latest prices in your catalog. You can either re-submit the quote to seller for further negotiation or go to checkout."
36
- },
37
- "actionButtons": {
38
- "close": "Close quote",
39
- "delete": "Delete quote",
40
- "print": "Print quote",
41
- "createTemplate": "Create quote template",
42
- "createCopy": "Create copy",
43
- "sendForReview": "Send for review"
44
- },
45
- "shippingInformation": {
46
- "title": "Shipping Information"
47
- },
48
- "quoteComments": {
49
- "title": "Quote Comments",
50
- "placeholder": "Add your comment"
51
- },
52
- "productListTable": {
53
- "headers": {
54
- "productName": "Product name",
55
- "sku": "SKU",
56
- "price": "Price",
57
- "quantity": "Quantity",
58
- "discount": "Discount",
59
- "subtotal": "Subtotal",
60
- "actions": "Actions"
61
- },
62
- "submitButton": "Update",
63
- "actions": {
64
- "editNoteToSeller": "Edit note to seller",
65
- "remove": "Remove"
66
- }
67
- },
68
- "quotePricesSummary": {
69
- "subtotal": {
70
- "excludingTax": "Quote Subtotal (excluding tax)"
71
- },
72
- "appliedTaxes": "Applied Taxes",
73
- "grandTotal": {
74
- "includingTax": "Quote Grand Total (including tax)"
75
- }
76
- }
23
+ }
24
+ },
25
+ "QuoteManagement": {
26
+ "QuotesListTable": {
27
+ "quoteName": "Quote Name",
28
+ "created": "Created",
29
+ "createdBy": "Created By",
30
+ "status": "Status",
31
+ "lastUpdated": "Last Updated",
32
+ "quoteTemplate": "Quote Template",
33
+ "quoteTotal": "Quote Total",
34
+ "actions": "Action"
77
35
  }
78
36
  }
79
- };
37
+ }
38
+ ;
80
39
 
81
40
  export default _default;
package/lib/state.d.ts CHANGED
@@ -4,7 +4,6 @@ export declare const DEFAULT_PERMISSIONS: {
4
4
  requestQuote: boolean;
5
5
  editQuote: boolean;
6
6
  deleteQuote: boolean;
7
- checkoutQuote: boolean;
8
7
  };
9
8
  export declare const state: State;
10
9
  //# sourceMappingURL=state.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-quote-management", "version": "0.0.1-alpha5", "@dropins/tools": "1.5.0-alpha3001", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-quote-management", "version": "0.0.1-alpha8", "@dropins/tools": "1.5.0-alpha3002", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,7 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- (function(o,a){try{if(typeof document<"u"){const e=document.createElement("style"),r=a.styleId;for(const t in a.attributes)e.setAttribute(t,a.attributes[t]);e.setAttribute("data-dropin",r),e.appendChild(document.createTextNode(o));const n=document.querySelector('style[data-dropin="sdk"]');if(n)n.after(e);else{const t=document.querySelector('link[rel="stylesheet"], style');t?t.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})(`.quote-management-manage-negotiable-quote{display:grid;gap:var(--spacing-small);color:var(--color-neutral-800);width:100%;container-type:inline-size}.quote-management-manage-negotiable-quote__header{display:flex;gap:var(--spacing-big);align-items:center}.quote-management-manage-negotiable-quote__quote-name>*{font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing);margin:0}.quote-management-manage-negotiable-quote__quote-status>*{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);border:2px solid var(--color-neutral-300);padding:var(--spacing-xxsmall)}.quote-management-manage-negotiable-quote__banner{width:100%}.quote-management-manage-negotiable-quote__details{display:flex;flex-direction:row;gap:var(--spacing-xsmall);justify-content:space-between;align-items:center;flex-wrap:wrap}.quote-management-manage-negotiable-quote__detail{display:flex;flex-wrap:wrap;gap:var(--spacing-xxsmall);align-items:baseline}.quote-management-manage-negotiable-quote__detail-title{font:var(--type-body-2-emphasized-font);letter-spacing:var(--type-body-2-emphasized-letter-spacing)}.quote-management-manage-negotiable-quote__detail-content{font:var(--type-body-2-font);letter-spacing:var(--type-body-2-letter-spacing)}.quote-management-manage-negotiable-quote__item-actions{justify-content:flex-start}.quote-management-manage-negotiable-quote__quote-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-xsmall)}.quote-management-manage-negotiable-quote__shipping-information-container{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.quote-management-manage-negotiable-quote__shipping-information-title>*{font:var(--type-body-2-emphasized-font);letter-spacing:var(--type-body-2-emphasized-letter-spacing);margin:0}.quote-management-manage-negotiable-quote__quote-comments-container{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.quote-management-manage-negotiable-quote__quote-comments-title>*{font:var(--type-body-2-emphasized-font);letter-spacing:var(--type-body-2-emphasized-letter-spacing);margin:0}.quote-management-manage-negotiable-quote__footer{display:flex;gap:var(--spacing-small);justify-content:flex-start}@container (max-width: 768px){.quote-management-manage-negotiable-quote__header{flex-direction:column}.quote-management-manage-negotiable-quote__action-bar{flex-direction:column;align-items:flex-start}.quote-management-manage-negotiable-quote__quote-actions{justify-content:flex-start}}.quote-management-tabbed-content{width:100%}.quote-management-tabbed-content__tabs{display:flex;margin-bottom:-1px}.quote-management-tabbed-content__tab{background:var(--color-neutral-100);color:var(--color-neutral-700);border:solid 1px var(--color-neutral-400);padding:var(--spacing-xsmall) var(--spacing-medium);margin-left:-1px;cursor:pointer;font:var(--type-body-2-font);letter-spacing:var(--type-body-2-letter-spacing)}.quote-management-tabbed-content__tab:first-child{margin-left:unset}.quote-management-tabbed-content__tab:hover{background:var(--color-neutral-300);color:var(--color-neutral-700)}.quote-management-tabbed-content__tab--active{background:var(--color-neutral-50);color:var(--color-neutral-800);border-bottom:none}.quote-management-tabbed-content__tab--active:hover{background:var(--color-neutral-50);color:var(--color-neutral-800)}.quote-management-tabbed-content__active-tab-content{background:var(--color-neutral-50);padding:var(--spacing-small);border:solid 1px var(--color-neutral-400)}.quote-management-actions-bar__container{container-type:inline-size;container-name:actions-bar-container}.quote-management-actions-bar{background:var(--color-neutral-200);padding:var(--spacing-xsmall);display:flex;gap:var(--spacing-small);justify-content:space-between;align-items:center}.quote-management-actions-bar__dropdown{padding:var(--spacing-xxsmall) var(--spacing-xsmall);min-width:150px}.quote-management-actions-bar__buttons{display:flex}.quote-management-actions-bar__button>span{font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@container actions-bar-container (max-width: 768px){.quote-management-actions-bar{flex-direction:column;align-items:flex-start;gap:var(--spacing-xsmall)}.quote-management-actions-bar__dropdown{width:100%}.quote-management-actions-bar__buttons{flex-direction:column;align-items:flex-start;gap:var(--spacing-xsmall);width:100%}.quote-management-actions-bar__button{width:100%}}
4
- .request-negotiable-quote-form{display:grid;gap:var(--spacing-small);align-items:flex-end;color:var(--color-neutral-800);width:100%}.request-negotiable-quote-form input:user-invalid,.request-negotiable-quote-form textarea:user-invalid{border-color:var(--color-alert-800)}.request-negotiable-quote-form__title{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.request-negotiable-quote-form__actions,.request-negotiable-quote-form [data-slot=AttachFileField]{display:flex;gap:var(--spacing-small)}.request-negotiable-quote-form__actions{justify-content:flex-start}.request-negotiable-quote-form__attach-file-field{justify-content:end}.request-negotiable-quote-form__attach-file-field label{background:none;color:var(--color-brand-500);font:var(--type-body-1-strong-font)}.request-negotiable-quote-form__attach-file-field label:hover{background:none}.request-negotiable-quote-form__error-banner svg{color:var(--color-alert-800)}
5
- .quote-management-product-list-table-container{display:flex;flex-direction:column;gap:var(--spacing-small)}.quote-management-product-list-table__checkbox{align-self:center;justify-self:center}.quote-management-product-list-table__product-name{font:var(--type-body-1-font);letter-spacing:var(--type-body-1-letter-spacing)}.quote-management-product-list-table__sku{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing)}.quote-management-product-list-table__quantity{font:var(--type-body-1-font);letter-spacing:var(--type-body-1-letter-spacing);display:block;justify-self:center}.quote-management-product-list-table__discount-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xxsmall);align-items:baseline}.quote-management-product-list-table-container__submit-container{display:flex;justify-content:flex-end}.quote-management-quote-prices-summary{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.quote-management-quote-prices-summary__entry{display:flex;flex-direction:row;justify-content:space-between;gap:10px;width:100%}.quote-management-quote-prices-summary__accordion,.quote-management-quote-prices-summary__label{flex-grow:1}.quote-management-quote-prices-summary__label--strong{font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.quote-management-quote-prices-summary__value{flex-grow:1;text-align:right}.quote-management-items-quoted{display:flex;flex-direction:column;gap:var(--spacing-big)}`,{styleId:"quote-management"});
6
- import{jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import{Render as s}from"@dropins/tools/lib.js";import{useState as u,useEffect as i}from"@dropins/tools/preact-hooks.js";import{UIProvider as l}from"@dropins/tools/components.js";import{events as c}from"@dropins/tools/event-bus.js";const d={Request:{title:"Request a Quote",comment:"Comment",commentError:"Please add your comment",quoteName:"Quote name",quoteNameError:"Please add a quote name",attachmentsError:"Error uploading attachments",requestCta:"Request a Quote",saveDraftCta:"Save as draft",error:{header:"Error",unauthenticated:"Please sign in to request a quote.",unauthorized:"You are not authorized to request a quote.",missingCart:"Could not find a valid cart."},success:{header:"Success",submitted:"Quote request submitted successfully!",draftSaved:"Quote saved as draft successfully!"}},Manage:{createdLabel:"Created:",salesRepLabel:"Sales Rep:",expiresLabel:"Expires:",actionsLabel:"Actions",actions:{remove:"Remove"},bannerTitle:"Alert",bannerStatusMessages:{pending:"This quote is currently locked for editing. It will become available once released by the Merchant.",expired:"Your quote has expired and the product prices have been updated as per the latest prices in your catalog. You can either re-submit the quote to seller for further negotiation or go to checkout."},actionButtons:{close:"Close quote",delete:"Delete quote",print:"Print quote",createTemplate:"Create quote template",createCopy:"Create copy",sendForReview:"Send for review"},shippingInformation:{title:"Shipping Information"},quoteComments:{title:"Quote Comments",placeholder:"Add your comment"},productListTable:{headers:{productName:"Product name",sku:"SKU",price:"Price",quantity:"Quantity",discount:"Discount",subtotal:"Subtotal",actions:"Actions"},submitButton:"Update",actions:{editNoteToSeller:"Edit note to seller",remove:"Remove"}},quotePricesSummary:{subtotal:{excludingTax:"Quote Subtotal (excluding tax)"},appliedTaxes:"Applied Taxes",grandTotal:{includingTax:"Quote Grand Total (including tax)"}}}},m={NegotiableQuote:d},p={default:m},f=({children:o})=>{const[a,r]=u("en_US");return i(()=>{const e=c.on("locale",n=>{r(n)},{eager:!0});return()=>{e==null||e.off()}},[]),t(l,{lang:a,langDefinitions:p,children:o})},S=new s(t(f,{}));export{S as render};
3
+ (function(r,a){try{if(typeof document<"u"){const e=document.createElement("style"),l=a.styleId;for(const t in a.attributes)e.setAttribute(t,a.attributes[t]);e.setAttribute("data-dropin",l),e.appendChild(document.createTextNode(r));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.after(e);else{const t=document.querySelector('link[rel="stylesheet"], style');t?t.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})(`.quotes-list-table__empty-state{padding:var(--spacing-large);text-align:center;color:var(--color-neutral-600);border-top:var(--shape-border-width-1) solid var(--color-neutral-200)}.quotes-list-table__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-medium);border-top:var(--shape-border-width-1) solid var(--color-neutral-200);gap:var(--spacing-medium)}.quotes-list-table__item-range{flex:1;color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.quotes-list-table__pagination{flex:0 0 auto;display:flex;justify-content:center}.quotes-list-table__page-size-picker{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-small);color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}.quotes-list-table__page-size-picker>span{display:inline-flex;align-items:baseline}.quotes-list-table__page-size-picker .dropin-picker{display:inline-flex;align-items:center;margin:0 var(--spacing-xsmall);vertical-align:center}.quotes-list-table__page-size-picker .dropin-picker__select{height:auto;min-height:var(--sizing-medium);line-height:1.2;vertical-align:baseline}
4
+ .request-negotiable-quote-form{display:grid;gap:var(--spacing-small);align-items:flex-end;color:var(--color-neutral-800);width:100%}.request-negotiable-quote-form input:user-invalid,.request-negotiable-quote-form textarea:user-invalid{border-color:var(--color-alert-800)}.request-negotiable-quote-form__title{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.request-negotiable-quote-form__actions,.request-negotiable-quote-form [data-slot=AttachFileField]{display:flex;gap:var(--spacing-small)}.request-negotiable-quote-form__actions{justify-content:flex-start}.request-negotiable-quote-form__attach-file-field{justify-content:end}.request-negotiable-quote-form__attach-file-field label{background:none;color:var(--color-brand-500);font:var(--type-body-1-strong-font)}.request-negotiable-quote-form__attach-file-field label:hover{background:none}.request-negotiable-quote-form__error-banner svg{color:var(--color-alert-800)}`,{styleId:"quote-management"});
5
+ import{jsx as t}from"@dropins/tools/preact-jsx-runtime.js";import{Render as u}from"@dropins/tools/lib.js";import{useState as n,useEffect as d}from"@dropins/tools/preact-hooks.js";import{UIProvider as m}from"@dropins/tools/components.js";import{events as c}from"@dropins/tools/event-bus.js";const i={Request:{title:"Request a Quote",comment:"Comment",commentError:"Please add your comment",quoteName:"Quote name",quoteNameError:"Please add a quote name",attachmentsError:"Error uploading attachments",requestCta:"Request a Quote",saveDraftCta:"Save as draft",error:{header:"Error",unauthenticated:"Please sign in to request a quote.",unauthorized:"You are not authorized to request a quote.",missingCart:"Could not find a valid cart."},success:{header:"Success",submitted:"Quote request submitted successfully!",draftSaved:"Quote saved as draft successfully!"}}},l={QuotesListTable:{quoteName:"Quote Name",created:"Created",createdBy:"Created By",status:"Status",lastUpdated:"Last Updated",quoteTemplate:"Quote Template",quoteTotal:"Quote Total",actions:"Action"}},f={NegotiableQuote:i,QuoteManagement:l},q={default:f},Q=({children:a})=>{const[o,r]=n("en_US");return d(()=>{const e=c.on("locale",s=>{r(s)},{eager:!0});return()=>{e==null||e.off()}},[]),t(m,{lang:o,langDefinitions:q,children:a})},S=new u(t(Q,{}));export{S as render};
7
6
  //# sourceMappingURL=render.js.map
package/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sources":["/@dropins/storefront-quote-management/src/render/Provider.tsx","/@dropins/storefront-quote-management/src/render/render.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { UIProvider } from '@adobe-commerce/elsie/components';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport en_US from '../i18n/en_US.json';\n\n// Langs\nconst langDefinitions = {\n default: en_US,\n};\n\ninterface CartProviderProps {\n children?: any;\n}\n\nexport const Provider: FunctionComponent<CartProviderProps> = ({\n children,\n}) => {\n const [lang, setLang] = useState<Lang>('en_US');\n\n // Events\n useEffect(() => {\n const localeEvent = events.on(\n 'locale',\n (locale: string) => {\n setLang(locale as Lang);\n },\n { eager: true }\n );\n return () => {\n localeEvent?.off();\n };\n }, []);\n\n return (\n <UIProvider lang={lang} langDefinitions={langDefinitions}>\n {children}\n </UIProvider>\n );\n};\n","import { Render } from '@adobe-commerce/elsie/lib';\nimport { Provider } from './Provider';\n\nexport const render = new Render(<Provider />);\n"],"names":["langDefinitions","en_US","Provider","children","lang","setLang","useState","useEffect","localeEvent","events","locale","jsx","UIProvider","render","Render"],"mappings":"miEASMA,EAAkB,CACtB,QAASC,CACX,EAMaC,EAAiD,CAAC,CAC7D,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAe,OAAO,EAG9C,OAAAC,EAAU,IAAM,CACd,MAAMC,EAAcC,EAAO,GACzB,SACCC,GAAmB,CAClBL,EAAQK,CAAc,CACxB,EACA,CAAE,MAAO,EAAA,CAAK,EAEhB,MAAO,IAAM,CACXF,GAAA,MAAAA,EAAa,KACf,CACF,EAAG,CAAA,CAAE,EAGHG,EAACC,EAAA,CAAW,KAAAR,EAAY,gBAAAJ,EACrB,SAAAG,CAAA,CACH,CAEJ,ECtCaU,EAAS,IAAIC,EAAOH,EAACT,IAAS,CAAE"}
1
+ {"version":3,"file":"render.js","sources":["/@dropins/storefront-quote-management/src/render/Provider.tsx","/@dropins/storefront-quote-management/src/render/render.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { UIProvider } from '@adobe-commerce/elsie/components';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport en_US from '../i18n/en_US.json';\n\n// Langs\nconst langDefinitions = {\n default: en_US,\n};\n\ninterface CartProviderProps {\n children?: any;\n}\n\nexport const Provider: FunctionComponent<CartProviderProps> = ({\n children,\n}) => {\n const [lang, setLang] = useState<Lang>('en_US');\n\n // Events\n useEffect(() => {\n const localeEvent = events.on(\n 'locale',\n (locale: string) => {\n setLang(locale as Lang);\n },\n { eager: true }\n );\n return () => {\n localeEvent?.off();\n };\n }, []);\n\n return (\n <UIProvider lang={lang} langDefinitions={langDefinitions}>\n {children}\n </UIProvider>\n );\n};\n","import { Render } from '@adobe-commerce/elsie/lib';\nimport { Provider } from './Provider';\n\nexport const render = new Render(<Provider />);\n"],"names":["langDefinitions","en_US","Provider","children","lang","setLang","useState","useEffect","localeEvent","events","locale","jsx","UIProvider","render","Render"],"mappings":"glCASMA,EAAkB,CACtB,QAASC,CACX,EAMaC,EAAiD,CAAC,CAC7D,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAe,OAAO,EAG9C,OAAAC,EAAU,IAAM,CACd,MAAMC,EAAcC,EAAO,GACzB,SACCC,GAAmB,CAClBL,EAAQK,CAAc,CACxB,EACA,CAAE,MAAO,EAAA,CAAK,EAEhB,MAAO,IAAM,CACXF,GAAA,MAAAA,EAAa,KACf,CACF,EAAG,CAAA,CAAE,EAGHG,EAACC,EAAA,CAAW,KAAAR,EAAY,gBAAAJ,EACrB,SAAAG,CAAA,CACH,CAEJ,ECtCaU,EAAS,IAAIC,EAAOH,EAACT,IAAS,CAAE"}
@@ -4,7 +4,6 @@ export type State = {
4
4
  requestQuote: boolean;
5
5
  editQuote: boolean;
6
6
  deleteQuote: boolean;
7
- checkoutQuote: boolean;
8
7
  };
9
8
  };
10
9
  //# sourceMappingURL=state.types.d.ts.map
@@ -1,2 +0,0 @@
1
- export declare const QUOTE_DATA_QUERY: string;
2
- //# sourceMappingURL=QuoteDataQuery.d.ts.map
@@ -1,4 +0,0 @@
1
- /*! Copyright 2025 Adobe
2
- All Rights Reserved. */
3
- import*as e from"@dropins/tools/preact-compat.js";const l=t=>e.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},e.createElement("path",{vectorEffect:"non-scaling-stroke",fillRule:"evenodd",clipRule:"evenodd",d:"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z",fill:"currentColor"}));export{l as S};
4
- //# sourceMappingURL=RequestNegotiableQuoteForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RequestNegotiableQuoteForm.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/WarningFilled.svg"],"sourcesContent":["import * as React from \"react\";\nconst SvgWarningFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M1 20.8953L12.1922 1.5L23.395 20.8953H1ZM13.0278 13.9638L13.25 10.0377V9H11.25V10.0377L11.4722 13.9638H13.0278ZM11.2994 16V17.7509H13.2253V16H11.2994Z\", fill: \"currentColor\" }));\nexport default SvgWarningFilled;\n"],"names":["SvgWarningFilled","props","React"],"mappings":"kDACK,MAACA,EAAoBC,GAA0BC,EAAM,cAAc,MAAO,CAAE,MAAO,GAAI,OAAQ,GAAI,QAAS,YAAa,KAAM,OAAQ,MAAO,6BAA8B,GAAGD,CAAK,EAAoBC,EAAM,cAAc,OAAQ,CAAE,aAAc,qBAAsB,SAAU,UAAW,SAAU,UAAW,EAAG,yJAA0J,KAAM,eAAgB,CAAC","x_google_ignoreList":[0]}
@@ -1,14 +0,0 @@
1
- import { FunctionComponent, VNode } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
-
4
- export interface ActionsBarProps extends HTMLAttributes<HTMLDivElement> {
5
- dropdownPlaceholder?: string;
6
- dropdownOptions?: {
7
- label: string;
8
- value: string;
9
- }[];
10
- handleDropdownChange?: (event: Event) => void;
11
- buttons?: VNode[];
12
- }
13
- export declare const ActionsBar: FunctionComponent<ActionsBarProps>;
14
- //# sourceMappingURL=ActionsBar.d.ts.map
@@ -1,9 +0,0 @@
1
- import { FunctionComponent, VNode } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
-
4
- export interface ItemsQuotedProps extends HTMLAttributes<HTMLDivElement> {
5
- table?: VNode;
6
- pricesSummary?: VNode;
7
- }
8
- export declare const ItemsQuoted: FunctionComponent<ItemsQuotedProps>;
9
- //# sourceMappingURL=ItemsQuoted.d.ts.map
@@ -1,18 +0,0 @@
1
- import { FunctionComponent, VNode } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
-
4
- export interface ManageNegotiableQuoteProps extends HTMLAttributes<HTMLDivElement> {
5
- quoteName: VNode;
6
- quoteStatus: VNode;
7
- banner?: VNode;
8
- details: VNode;
9
- actionBar?: VNode;
10
- quoteContent: VNode;
11
- shippingInformationTitle: VNode;
12
- shippingInformation: VNode;
13
- quoteCommentsTitle: VNode;
14
- quoteComments: VNode;
15
- footer: VNode;
16
- }
17
- export declare const ManageNegotiableQuote: FunctionComponent<ManageNegotiableQuoteProps>;
18
- //# sourceMappingURL=ManageNegotiableQuote.d.ts.map
@@ -1,4 +0,0 @@
1
- import { ManageNegotiableQuoteProps } from '../ManageNegotiableQuote';
2
-
3
- export declare const baseProps: ManageNegotiableQuoteProps;
4
- //# sourceMappingURL=ManageNegotiableQuoteProps.d.ts.map
@@ -1,11 +0,0 @@
1
- /********************************************************************
2
- * Copyright 2025 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this
6
- * file in accordance with the terms of the Adobe license agreement
7
- * accompanying it.
8
- *******************************************************************/
9
- export * from './ManageNegotiableQuote';
10
- export { ManageNegotiableQuote as default } from './ManageNegotiableQuote';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1,13 +0,0 @@
1
- import { FunctionComponent } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
- import { NegotiableQuoteModel } from '../../data/models/negotiable-quote-model';
4
-
5
- export interface ProductListTableProps extends HTMLAttributes<HTMLDivElement | HTMLFormElement> {
6
- items: NegotiableQuoteModel['items'];
7
- canEdit: boolean;
8
- onItemCheckboxChange?: (item: NegotiableQuoteModel['items'][number], isSelected: boolean) => void;
9
- onItemDropdownChange?: (item: NegotiableQuoteModel['items'][number], action: string) => void;
10
- onUpdate?: (e: SubmitEvent) => void;
11
- }
12
- export declare const ProductListTable: FunctionComponent<ProductListTableProps>;
13
- //# sourceMappingURL=ProductListTable.d.ts.map
@@ -1,11 +0,0 @@
1
- /********************************************************************
2
- * Copyright 2025 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this
6
- * file in accordance with the terms of the Adobe license agreement
7
- * accompanying it.
8
- *******************************************************************/
9
- export * from './ProductListTable';
10
- export { ProductListTable as default } from './ProductListTable';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1,16 +0,0 @@
1
- import { FunctionComponent, VNode } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
-
4
- interface Entry {
5
- label: string;
6
- id: string;
7
- value: VNode;
8
- strong?: boolean;
9
- children?: Entry[];
10
- }
11
- export interface QuotePricesSummaryProps extends HTMLAttributes<HTMLDivElement> {
12
- entries?: Entry[];
13
- }
14
- export declare const QuotePricesSummary: FunctionComponent<QuotePricesSummaryProps>;
15
- export {};
16
- //# sourceMappingURL=QuotePricesSummary.d.ts.map
@@ -1,11 +0,0 @@
1
- /********************************************************************
2
- * Copyright 2025 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this
6
- * file in accordance with the terms of the Adobe license agreement
7
- * accompanying it.
8
- *******************************************************************/
9
- export * from './QuotePricesSummary';
10
- export { QuotePricesSummary as default } from './QuotePricesSummary';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1,10 +0,0 @@
1
- import { FunctionComponent, VNode } from 'preact';
2
- import { HTMLAttributes } from 'preact/compat';
3
-
4
- export interface TabbedContentProps extends HTMLAttributes<HTMLDivElement> {
5
- tabs: Map<string, string>;
6
- tabsContent: Map<string, VNode>;
7
- defaultActiveTab?: string;
8
- }
9
- export declare const TabbedContent: FunctionComponent<TabbedContentProps>;
10
- //# sourceMappingURL=TabbedContent.d.ts.map
@@ -1,25 +0,0 @@
1
- import { HTMLAttributes } from 'preact/compat';
2
- import { Container, SlotProps } from '@dropins/tools/types/elsie/src/lib';
3
- import { NegotiableQuoteModel } from '../../data/models/negotiable-quote-model';
4
-
5
- export interface ItemsQuotedProps extends HTMLAttributes<HTMLDivElement> {
6
- quoteData?: NegotiableQuoteModel;
7
- onItemCheckboxChange?: (item: NegotiableQuoteModel['items'][number], isSelected: boolean) => void;
8
- onItemDropdownChange?: (item: NegotiableQuoteModel['items'][number], action: string) => void;
9
- onUpdate?: (e: SubmitEvent) => void;
10
- slots?: {
11
- ProductListTable?: SlotProps<{
12
- items: NegotiableQuoteModel['items'];
13
- canEdit: boolean;
14
- onItemCheckboxChange?: (item: NegotiableQuoteModel['items'][number], isSelected: boolean) => void;
15
- onItemDropdownChange?: (item: NegotiableQuoteModel['items'][number], action: string) => void;
16
- onUpdate?: (e: SubmitEvent) => void;
17
- }>;
18
- QuotePricesSummary?: SlotProps<{
19
- items: NegotiableQuoteModel['items'];
20
- prices: NegotiableQuoteModel['prices'];
21
- }>;
22
- };
23
- }
24
- export declare const ItemsQuoted: Container<ItemsQuotedProps>;
25
- //# sourceMappingURL=ItemsQuoted.d.ts.map
@@ -1,11 +0,0 @@
1
- /********************************************************************
2
- * Copyright 2025 Adobe
3
- * All Rights Reserved.
4
- *
5
- * NOTICE: Adobe permits you to use, modify, and distribute this
6
- * file in accordance with the terms of the Adobe license agreement
7
- * accompanying it.
8
- *******************************************************************/
9
- export * from './ItemsQuoted';
10
- export { ItemsQuoted as default } from './ItemsQuoted';
11
- //# sourceMappingURL=index.d.ts.map
@@ -1,3 +0,0 @@
1
- export * from './ItemsQuoted/index'
2
- import _default from './ItemsQuoted/index'
3
- export default _default
@@ -1,4 +0,0 @@
1
- /*! Copyright 2025 Adobe
2
- All Rights Reserved. */
3
- import{jsx as e,jsxs as m,Fragment as P}from"@dropins/tools/preact-jsx-runtime.js";import{useState as H,useEffect as M}from"@dropins/tools/preact-compat.js";import{VComponent as _,classes as p,Slot as T}from"@dropins/tools/lib.js";import{h}from"@dropins/tools/preact.js";import{Picker as $,Price as g,Checkbox as B,Button as w,Table as E,Accordion as j,AccordionSection as A}from"@dropins/tools/components.js";/* empty css */import{useText as v}from"@dropins/tools/i18n.js";import{events as D}from"@dropins/tools/event-bus.js";const F=({className:l,items:s,canEdit:r,onItemCheckboxChange:c,onItemDropdownChange:a,onUpdate:n,...o})=>{const u=v({updateButton:"NegotiableQuote.Manage.productListTable.submitButton",productNameHeader:"NegotiableQuote.Manage.productListTable.headers.productName",skuHeader:"NegotiableQuote.Manage.productListTable.headers.sku",priceHeader:"NegotiableQuote.Manage.productListTable.headers.price",quantityHeader:"NegotiableQuote.Manage.productListTable.headers.quantity",discountHeader:"NegotiableQuote.Manage.productListTable.headers.discount",subtotalHeader:"NegotiableQuote.Manage.productListTable.headers.subtotal",actionsHeader:"NegotiableQuote.Manage.productListTable.headers.actions",editNoteToSeller:"NegotiableQuote.Manage.productListTable.actions.editNoteToSeller",remove:"NegotiableQuote.Manage.productListTable.actions.remove"}),d=[{label:u.productNameHeader,key:"productName"},{label:u.skuHeader,key:"sku"},{label:u.priceHeader,key:"price"},{label:u.quantityHeader,key:"quantity"},{label:u.discountHeader,key:"discount"},{label:u.subtotalHeader,key:"subtotal"}];r&&(d.unshift({label:"",key:"checkbox"}),d.push({label:u.actionsHeader,key:"actions"}));const q=(t,i)=>{const N=t.target.checked;c==null||c(i,N)},b=(t,i)=>{const N=t.target.value;a==null||a(i,N)},y=t=>{t.preventDefault(),n==null||n(t)},k=(t,i)=>t>0?m("div",{className:"quote-management-product-list-table__discount-container",children:[m("span",{className:"quote-management-product-list-table__discount-percent",children:[i,"%"]}),m("span",{className:"quote-management-product-list-table__discount-price",children:["(",e(g,{amount:t}),")"]})]}):void 0,f=s.map(t=>({checkbox:e(B,{className:"quote-management-product-list-table__checkbox",name:"itemSelected","data-testid":`item-checkbox-${t.product.sku}`,onChange:i=>q(i,t),value:t.product.sku}),productName:e("span",{className:"quote-management-product-list-table__product-name",children:t.product.name}),sku:e("span",{className:"quote-management-product-list-table__sku",children:t.product.sku}),price:e(g,{className:"quote-management-product-list-table__price",amount:t.prices.originalItemPrice.value,currency:t.prices.originalItemPrice.currency}),quantity:e("span",{className:"quote-management-product-list-table__quantity",children:t.quantity}),discount:k(t.catalogDiscount.amountOff,t.catalogDiscount.percentOff),subtotal:e(g,{className:"quote-management-product-list-table__subtotal",amount:t.prices.rowTotal.value,currency:t.prices.rowTotal.currency}),actions:e($,{className:"quote-management-product-list-table__actions","data-testid":`item-dropdown-${t.product.sku}`,name:"item-dropdown",onChange:i=>b(i,t),placeholder:"Select",options:[{text:u.editNoteToSeller,value:"edit"},{text:u.remove,value:"remove"}],value:t.product.sku})})),x=e(E,{columns:d,rowData:f,"data-testid":"product-list-table",mobileLayout:"stacked"}),Q=r?h("form",{}):h("div",{}),S=r?{onSubmit:y,...o}:o,L=r?e(w,{type:"submit","data-testid":"product-list-table-submit-button",children:u.updateButton}):void 0;return m(_,{node:Q,className:p(["quote-management-product-list-table-container",l]),"data-testid":"product-list-table-container",...S,children:[x,e("div",{className:"quote-management-product-list-table-container__submit-container",children:L})]})},O=({className:l,entries:s,...r})=>{const c=a=>{var o;const n=(o=a.children)==null?void 0:o.map(c);return e("div",{className:"quote-management-quote-prices-summary__entry","data-testid":`quote-prices-summary-entry-${a.id}`,children:n?e(j,{className:"quote-management-quote-prices-summary__accordion","data-testid":`quote-prices-summary-entry-accordion-${a.id}`,children:e(A,{className:"quote-management-quote-prices-summary__accordion-section",title:a.label,ariaLabelTitle:a.label,secondaryText:a.value,children:n})}):m(P,{children:[e("span",{className:p(["quote-management-quote-prices-summary__label",["quote-management-quote-prices-summary__label--strong",a.strong]]),"data-testid":`quote-prices-summary-entry-label-${a.id}`,children:a.label}),e("span",{className:"quote-management-quote-prices-summary__value","data-testid":`quote-prices-summary-entry-value-${a.id}`,children:a.value})]})},a.id)};return e("div",{className:p(["quote-management-quote-prices-summary",l]),"data-testid":"quote-prices-summary",...r,children:s==null?void 0:s.map(c)})},V=({className:l,table:s,pricesSummary:r,...c})=>m("div",{className:p(["quote-management-items-quoted",l]),...c,children:[s&&e(_,{node:s,className:p(["quote-management-items-quoted__table"]),"data-testid":"quote-management-items-quoted__table"}),r&&e(_,{node:r,className:p(["quote-management-items-quoted__prices-summary"]),"data-testid":"quote-management-items-quoted__prices-summary"})]}),Z=({quoteData:l,onItemCheckboxChange:s,onItemDropdownChange:r,onUpdate:c,slots:a,...n})=>{const[o,u]=H(l),d=v({subtotal:"NegotiableQuote.Manage.quotePricesSummary.subtotal.excludingTax",grandTotal:"NegotiableQuote.Manage.quotePricesSummary.grandTotal.includingTax",appliedTaxes:"NegotiableQuote.Manage.quotePricesSummary.appliedTaxes"});if(M(()=>{const b=D.on("quote-management/quote-data",y=>{u(y.quote)},{eager:!0});return()=>b==null?void 0:b.off()},[o]),!o)return e("div",{children:"Loading..."});const q=[{label:d.subtotal,id:"subtotal",value:e(g,{amount:o.prices.subtotalExcludingTax.value,currency:o.prices.subtotalExcludingTax.currency,weight:"normal"})},{label:d.grandTotal,id:"total",value:e(g,{amount:o.prices.grandTotal.value,currency:o.prices.grandTotal.currency}),strong:!0}];return e(V,{"data-testid":"items-quoted-container",...n,table:e(T,{name:"ProductListTable",slot:a==null?void 0:a.ProductListTable,context:{items:o.items,canEdit:!0,onItemCheckboxChange:s,onItemDropdownChange:r,onUpdate:c},children:e(F,{items:o.items,canEdit:!0,onItemCheckboxChange:s,onItemDropdownChange:r,onUpdate:c})}),pricesSummary:e(T,{name:"QuotePricesSummary",slot:a==null?void 0:a.QuotePricesSummary,context:{items:o.items,prices:o.prices},children:e(O,{entries:q})})})};export{Z as ItemsQuoted,Z as default};
4
- //# sourceMappingURL=ItemsQuoted.js.map