@dropins/storefront-purchase-order 0.0.4-alpha3 → 0.0.5-alpha10

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 (59) hide show
  1. package/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql.d.ts +1 -1
  2. package/api/graphql/PurchaseOrderQuoteFragment.d.ts +22 -0
  3. package/api/index.d.ts +1 -0
  4. package/api/initialize/initialize.d.ts +1 -0
  5. package/api/permissions.d.ts +11 -0
  6. package/api.js +406 -74
  7. package/api.js.map +1 -1
  8. package/chunks/currencyInfo.js +1 -1
  9. package/chunks/currencyInfo.js.map +1 -1
  10. package/chunks/getPurchaseOrders.js +3 -77
  11. package/chunks/getPurchaseOrders.js.map +1 -1
  12. package/chunks/pageSize.config.js +1 -1
  13. package/chunks/pageSize.config.js.map +1 -1
  14. package/chunks/permissions.js +4 -0
  15. package/chunks/permissions.js.map +1 -0
  16. package/chunks/placeOrderForPurchaseOrder.js +39 -0
  17. package/chunks/placeOrderForPurchaseOrder.js.map +1 -0
  18. package/chunks/rejectPurchaseOrders.js +78 -0
  19. package/chunks/rejectPurchaseOrders.js.map +1 -0
  20. package/chunks/useCustomerRolePermissions.js +1 -1
  21. package/chunks/useCustomerRolePermissions.js.map +1 -1
  22. package/chunks/usePurchaseOrders.js +1 -1
  23. package/chunks/usePurchaseOrders.js.map +1 -1
  24. package/components/PurchaseOrderStatusContent/PurchaseOrderStatusContent.d.ts +5 -0
  25. package/components/PurchaseOrderStatusContent/index.d.ts +19 -0
  26. package/components/index.d.ts +1 -0
  27. package/containers/ApprovalRuleDetails.js +1 -1
  28. package/containers/ApprovalRuleDetails.js.map +1 -1
  29. package/containers/ApprovalRuleForm.js +1 -1
  30. package/containers/ApprovalRuleForm.js.map +1 -1
  31. package/containers/ApprovalRulesList.js +1 -1
  32. package/containers/ApprovalRulesList.js.map +1 -1
  33. package/containers/CompanyPurchaseOrders.js +1 -1
  34. package/containers/CompanyPurchaseOrders.js.map +1 -1
  35. package/containers/CustomerPurchaseOrders.js +1 -1
  36. package/containers/CustomerPurchaseOrders.js.map +1 -1
  37. package/containers/PurchaseOrderStatus/PurchaseOrderStatus.d.ts +5 -0
  38. package/containers/PurchaseOrderStatus/index.d.ts +19 -0
  39. package/containers/PurchaseOrderStatus.d.ts +3 -0
  40. package/containers/PurchaseOrderStatus.js +4 -0
  41. package/containers/PurchaseOrderStatus.js.map +1 -0
  42. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  43. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  44. package/containers/index.d.ts +1 -0
  45. package/data/models/customer-order-model.d.ts +0 -1
  46. package/data/models/purchase-order-model.d.ts +228 -14
  47. package/hooks/index.d.ts +1 -0
  48. package/hooks/usePurchaseOrderStatus.d.ts +4 -0
  49. package/i18n/en_US.json.d.ts +64 -4
  50. package/mocks/storybook/events-data.d.ts +1 -5
  51. package/package.json +1 -1
  52. package/render.js +2 -2
  53. package/render.js.map +1 -1
  54. package/types/components/index.d.ts +1 -0
  55. package/types/components/purchaseOrderStatusContent.types.d.ts +17 -0
  56. package/types/containers/index.d.ts +1 -0
  57. package/types/containers/purchaseOrderStatus.types.d.ts +18 -0
  58. package/types/hooks/index.d.ts +1 -0
  59. package/types/hooks/usePurchaseOrderStatus.types.d.ts +19 -0
@@ -52,24 +52,238 @@ export interface PurchaseOrderModel {
52
52
  message: string;
53
53
  uid: string;
54
54
  }>;
55
+ quote: QuoteProps | null;
55
56
  order: {
56
57
  orderNumber: string;
57
58
  id: string;
58
59
  };
59
- quote: {
60
- id: string;
61
- prices: {
62
- grandTotal: {
63
- value: number;
64
- currency: string;
65
- };
66
- };
67
- itemsV2: {
68
- items?: Array<{
69
- uid: string;
70
- quantity: number;
71
- }>;
60
+ }
61
+ type MoneyProps = {
62
+ value: number;
63
+ currency: string;
64
+ };
65
+ type OrderAddressProps = {
66
+ firstName: string;
67
+ lastName: string;
68
+ middleName: string;
69
+ city: string;
70
+ company: string;
71
+ country: string;
72
+ countryCode: string;
73
+ fax: string;
74
+ postCode: string;
75
+ prefix: string;
76
+ region: string;
77
+ regionId: string;
78
+ street: string[];
79
+ suffix: string;
80
+ telephone: string;
81
+ vatId: string;
82
+ customAttributes: any[];
83
+ };
84
+ type OrderItemProductProps = {
85
+ __typename: string;
86
+ uid: string;
87
+ onlyXLeftInStock: number;
88
+ stockStatus: string;
89
+ priceRange: {
90
+ maximumPrice: {
91
+ regularPrice: MoneyProps;
72
92
  };
93
+ };
94
+ canonicalUrl: string;
95
+ urlKey: string;
96
+ id: string;
97
+ name: string;
98
+ sku: string;
99
+ image: string;
100
+ imageAlt: string;
101
+ productType: string;
102
+ thumbnail: {
103
+ label: string;
104
+ url: string;
105
+ };
106
+ };
107
+ type GiftMessageProps = {
108
+ senderName: string;
109
+ recipientName: string;
110
+ message: string;
111
+ };
112
+ type GiftWrappingProps = {
113
+ design: string;
114
+ uid: string;
115
+ selected: boolean;
116
+ image: {
117
+ url: string;
118
+ label: string;
119
+ };
120
+ price: MoneyProps;
121
+ };
122
+ type TaxCalculationsProps = {
123
+ includeAndExcludeTax: {
124
+ originalPrice: MoneyProps;
125
+ baseOriginalPrice: MoneyProps;
126
+ baseDiscountedPrice: MoneyProps;
127
+ baseExcludingTax: MoneyProps;
128
+ };
129
+ excludeTax: {
130
+ originalPrice: MoneyProps;
131
+ baseOriginalPrice: MoneyProps;
132
+ baseDiscountedPrice: MoneyProps;
133
+ baseExcludingTax: MoneyProps;
134
+ };
135
+ includeTax: {
136
+ singleItemPrice: MoneyProps;
137
+ baseOriginalPrice: MoneyProps;
138
+ baseDiscountedPrice: MoneyProps;
139
+ };
140
+ };
141
+ type ItemPricesProps = {
142
+ price: MoneyProps;
143
+ priceIncludingTax: MoneyProps;
144
+ originalPrice: MoneyProps;
145
+ originalPriceIncludingTax: MoneyProps;
146
+ discounts: any[];
147
+ };
148
+ type OrderItemProps = {
149
+ giftMessage: GiftMessageProps;
150
+ giftWrappingPrice: MoneyProps;
151
+ productGiftWrapping: GiftWrappingProps[];
152
+ taxCalculations: TaxCalculationsProps;
153
+ productSalePrice: MoneyProps;
154
+ status: string;
155
+ currentReturnOrderQuantity: number;
156
+ eligibleForReturn: boolean;
157
+ productSku: string;
158
+ type: string;
159
+ discounted: boolean;
160
+ id: string;
161
+ productName: string;
162
+ productUrlKey: string;
163
+ regularPrice: MoneyProps;
164
+ price: MoneyProps;
165
+ product: OrderItemProductProps;
166
+ selectedOptions: any[];
167
+ thumbnail: {
168
+ label: string;
169
+ url: string;
170
+ };
171
+ downloadableLinks: {
172
+ count: number;
173
+ result: string;
73
174
  } | null;
74
- }
175
+ prices: ItemPricesProps;
176
+ itemPrices: ItemPricesProps;
177
+ bundleOptions: Record<string, any> | null;
178
+ totalInclTax: MoneyProps;
179
+ priceInclTax: MoneyProps;
180
+ total: MoneyProps;
181
+ configurableOptions: Record<string, string> | undefined;
182
+ giftCard?: {
183
+ senderName: string;
184
+ senderEmail: string;
185
+ recipientEmail: string;
186
+ recipientName: string;
187
+ message: string;
188
+ };
189
+ quantityCanceled: number;
190
+ quantityInvoiced: number;
191
+ quantityOrdered: number;
192
+ quantityRefunded: number;
193
+ quantityReturned: number;
194
+ quantityShipped: number;
195
+ requestQuantity: number;
196
+ totalQuantity: number;
197
+ returnableQuantity: number;
198
+ quantityReturnRequested: number;
199
+ };
200
+ type PaymentMethodProps = {
201
+ code: string;
202
+ name: string;
203
+ };
204
+ type ShippingProps = {
205
+ code: string;
206
+ amount: number;
207
+ currency: string;
208
+ };
209
+ type TaxProps = {
210
+ amount: MoneyProps;
211
+ rate: number;
212
+ title: string;
213
+ };
214
+ type AppliedGiftCardProps = {
215
+ code: string;
216
+ appliedBalance: MoneyProps;
217
+ };
218
+ type GiftOptionsProps = {
219
+ giftWrappingForItems: MoneyProps;
220
+ giftWrappingForItemsInclTax: MoneyProps;
221
+ giftWrappingForOrder: MoneyProps;
222
+ giftWrappingForOrderInclTax: MoneyProps;
223
+ printedCard: MoneyProps;
224
+ printedCardInclTax: MoneyProps;
225
+ };
226
+ type ShipmentItemProps = {
227
+ id: string;
228
+ productName: string;
229
+ productSku: string;
230
+ quantityShipped: number;
231
+ orderItem: OrderItemProps;
232
+ };
233
+ type ShipmentTrackingProps = {
234
+ carrier: string;
235
+ number: string;
236
+ title: string;
237
+ };
238
+ type ShipmentProps = {
239
+ id: string;
240
+ number: string;
241
+ tracking: ShipmentTrackingProps[];
242
+ comments: {
243
+ message: string;
244
+ timestamp: string;
245
+ }[];
246
+ items: ShipmentItemProps[];
247
+ };
248
+ type QuoteProps = {
249
+ giftReceiptIncluded: boolean;
250
+ printedCardIncluded: boolean;
251
+ giftWrappingOrder: {
252
+ price: MoneyProps;
253
+ uid: string;
254
+ };
255
+ placeholderImage: string;
256
+ returnNumber: string | undefined;
257
+ id: string;
258
+ orderStatusChangeDate: string | undefined;
259
+ number: string;
260
+ email: string;
261
+ token: string | undefined;
262
+ status: string;
263
+ isVirtual: boolean;
264
+ totalQuantity: number;
265
+ shippingMethod: string;
266
+ carrier: string;
267
+ orderDate: string;
268
+ returns: any[];
269
+ discounts: any[];
270
+ coupons: any[];
271
+ payments: PaymentMethodProps[];
272
+ shipping: ShippingProps;
273
+ shipments: ShipmentProps[];
274
+ items: OrderItemProps[];
275
+ totalGiftCard: MoneyProps;
276
+ grandTotal: MoneyProps;
277
+ totalShipping: MoneyProps;
278
+ subtotalExclTax: MoneyProps;
279
+ subtotalInclTax: MoneyProps;
280
+ totalTax: MoneyProps;
281
+ shippingAddress: OrderAddressProps | null;
282
+ totalGiftOptions: GiftOptionsProps;
283
+ billingAddress: OrderAddressProps | null;
284
+ availableActions: string[];
285
+ taxes: TaxProps[];
286
+ appliedGiftCards: AppliedGiftCardProps[];
287
+ };
288
+ export {};
75
289
  //# sourceMappingURL=purchase-order-model.d.ts.map
package/hooks/index.d.ts CHANGED
@@ -19,4 +19,5 @@ export * from './useCustomerRolePermissions';
19
19
  export * from './useApprovalRuleForm';
20
20
  export * from './useApprovalRuleDetails';
21
21
  export * from './useApprovalRulesList';
22
+ export * from './usePurchaseOrderStatus';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { UsePurchaseOrderStatusReturn } from '../types/hooks';
2
+
3
+ export declare const usePurchaseOrderStatus: () => UsePurchaseOrderStatusReturn;
4
+ //# sourceMappingURL=usePurchaseOrderStatus.d.ts.map
@@ -94,20 +94,80 @@ declare const _default: {
94
94
  "messagePrefix": "Your Purchase Order request number is",
95
95
  "messageSuffix": "A copy of this Purchase Order will be emailed to you shortly."
96
96
  },
97
+ "purchaseOrderStatus": {
98
+ "status": {
99
+ "pending": {
100
+ "title": "Pending Approval",
101
+ "message": "Purchase order is awaiting approval."
102
+ },
103
+ "approval_required": {
104
+ "title": "Approval Required",
105
+ "message": "Purchase order requires approval before it can be processed."
106
+ },
107
+ "approved": {
108
+ "title": "Approved",
109
+ "message": "Purchase order has been approved."
110
+ },
111
+ "order_in_progress": {
112
+ "title": "Processing in Progress",
113
+ "message": "Purchase order is currently being processed."
114
+ },
115
+ "order_placed": {
116
+ "title": "Placed",
117
+ "message": "Purchase order has been placed successfully."
118
+ },
119
+ "order_failed": {
120
+ "title": "Failed",
121
+ "message": "Purchase order processing has failed."
122
+ },
123
+ "rejected": {
124
+ "title": "Rejected",
125
+ "message": "Purchase order has been rejected."
126
+ },
127
+ "canceled": {
128
+ "title": "Canceled",
129
+ "message": "Purchase order has been canceled."
130
+ },
131
+ "approved_pending_payment": {
132
+ "title": "Approved - Pending Payment",
133
+ "message": "Purchase order has been approved and is awaiting payment."
134
+ }
135
+ },
136
+ "alertMessages": {
137
+ "success": {
138
+ "approval": "The purchase order was approved successfully.",
139
+ "reject": "The purchase order was rejected successfully.",
140
+ "cancel": "The purchase order was canceled successfully.",
141
+ "placeOrder": "The sales order was placed successfully."
142
+ },
143
+ "errors": {
144
+ "approval": "An error occurred while approving the purchase order. Please try again.",
145
+ "reject": "An error occurred while rejecting the purchase order. Please try again.",
146
+ "cancel": "An error occurred while canceling the purchase order. Please try again.",
147
+ "placeOrder": "An error occurred while placing the sales order. Please try again."
148
+ }
149
+ },
150
+ "buttons": {
151
+ "approve": "Approve",
152
+ "reject": "Reject",
153
+ "cancel": "Cancel",
154
+ "placeOrder": "Place Order"
155
+ }
156
+ },
97
157
  "approvalRuleForm": {
98
158
  "headerText": "Purchase Order Approval Rule",
99
- "titleAppliesTo": "Applies to",
159
+ "titleAppliesTo": "Applies To",
100
160
  "titleRuleType": "Rule Type",
101
161
  "titleRequiresApprovalRole": "Requires Approval From",
102
162
  "fields": {
103
- "enabled": "Enabled",
104
- "disabled": "Disabled",
163
+ "enabled": "Rule Enabled",
164
+ "disabled": "Rule Disabled",
105
165
  "inputRuleName": {
106
166
  "floatingLabel": "Rule Name",
107
167
  "placeholder": "Rule Name"
108
168
  },
109
169
  "textAreaDescription": {
110
- "label": "Description"
170
+ "label": "Rule Description"
111
171
  },
112
172
  "appliesTo": {
113
173
  "allUsers": "All Users",
@@ -1,12 +1,8 @@
1
1
  export declare const mockPermissions: {
2
+ [x: string]: boolean;
2
3
  all: boolean;
3
4
  'Magento_Company::index': boolean;
4
5
  'Magento_Sales::all': boolean;
5
- 'Magento_PurchaseOrder::all': boolean;
6
- 'Magento_PurchaseOrder::view_purchase_orders': boolean;
7
- 'Magento_PurchaseOrderRule::super_approve_purchase_order': boolean;
8
6
  'Magento_Company::user_management': boolean;
9
- 'Magento_PurchaseOrderRule::view_approval_rules': boolean;
10
- 'Magento_PurchaseOrderRule::manage_approval_rules': boolean;
11
7
  };
12
8
  //# sourceMappingURL=events-data.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-purchase-order", "version": "0.0.4-alpha3", "@dropins/tools": "^1.6.0-alpha2", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-purchase-order", "version": "0.0.5-alpha10", "@dropins/tools": "1.6.0-beta2", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  (function(t,a){try{if(typeof document<"u"){const e=document.createElement("style"),i=a.styleId;for(const r in a.attributes)e.setAttribute(r,a.attributes[r]);e.setAttribute("data-dropin",i),e.appendChild(document.createTextNode(t));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.after(e);else{const r=document.querySelector('link[rel="stylesheet"], style');r?r.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})(`.dropin-skeleton{--row-gap-spacing: var(--spacing-medium);display:grid;grid-template-columns:1fr 1fr;gap:var(--row-gap-spacing)}.dropin-skeleton .dropin-skeleton--row__content{background:var(--color-neutral-300) linear-gradient(to right,var(--color-neutral-300) 0%,var(--color-neutral-100) 20%,var(--color-neutral-300) 40%,var(--color-neutral-300) 100%) no-repeat;animation:skeletonShimmer infinite 1.2s linear;border-radius:var(--shape-border-radius-2)}.dropin-skeleton__empty{background:none}.dropin-skeleton-row--multiline{--multiline-gap-spacing: var(--spacing-medium);display:grid;grid-auto-rows:max-content;gap:var(--multiline-gap-spacing)}.dropin-skeleton-row--full{grid-column:1 / -1}.dropin-skeleton-row svg{fill:var(--color-neutral-400);fill-opacity:.5;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear}.dropin-skeleton-row__row-xsmall{height:32px}.dropin-skeleton-row__row-small{height:40px}.dropin-skeleton-row__row-medium{height:48px}.dropin-skeleton-row__row-large{height:56px}.dropin-skeleton-row__row-xlarge{height:72px}.dropin-skeleton-row__heading-xsmall{height:20px}.dropin-skeleton-row__heading-small{height:24px}.dropin-skeleton-row__heading-medium{height:32px}.dropin-skeleton-row__heading-large{height:40px}.dropin-skeleton-row__heading-xlarge{height:48px}@keyframes skeletonShimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes placeholderShimmer{0%{fill-opacity:.5}50%{fill-opacity:1}to{fill-opacity:.5}}@media only screen and (max-width: 600px){.dropin-skeleton{grid-template-columns:1fr}}
4
- .b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.b2b-purchase-order-approval-rule-form form{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-approval-rule-form__rule-condition,.b2b-purchase-order-approval-rule-form__approval-role,.b2b-purchase-order-approval-rule-form__rule-type,.b2b-purchase-order-approval-rule-form__applies-to,.b2b-purchase-order-approval-rule-form__rule-condition-container,.b2b-purchase-order-approval-rule-form__buttons{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form form>label.dropin-checkbox{align-items:center}.b2b-purchase-order-approval-rule-form__rule-type select,.b2b-purchase-order-approval-rule-form__rule-condition-container select{min-height:56px}.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:row;position:relative;margin-bottom:var( --spacing-medium )}.b2b-purchase-order-approval-rule-form__rule-condition-container>div{position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:absolute;top:100%;left:0;right:0;z-index:10}.b2b-purchase-order-approval-rule-form__buttons{justify-content:flex-start;flex-direction:row}@media (max-width: 600px){.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:column;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:static}.b2b-purchase-order-approval-rule-form form .dropin-multi-select{min-width:100%}}.error-message{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);padding-top:var(--spacing-xsmall);text-align:left;color:var(--color-alert-800)}.b2b-purchase-order-approval-rule-form .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:8px}.approval-rule-form-loader__section{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.approval-rule-form-loader__buttons{display:flex;gap:16px}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__item{margin-bottom:var(--spacing-medium);display:grid;grid-template-columns:1fr;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-details-content__label{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__value{display:block}.b2b-purchase-order-approval-rule-details-content__value ul{margin:0;padding-left:var(--spacing-medium)}.b2b-purchase-order-approval-rule-details-content__value>div{display:inline-flex;flex-wrap:wrap;align-items:center;margin-right:var(--spacing-small);gap:var(--spacing-xsmall)}.b2b-purchase-order-form-loader .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:8px}.b2b-purchase-order-form-loader .approval-rule-form-loader__section{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.b2b-purchase-order-form-loader .approval-rule-form-loader__buttons{display:flex;gap:16px}`,{styleId:"b2b-purchase-order"});
5
- import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as l}from"@dropins/tools/lib.js";import{useState as n,useEffect as p}from"@dropins/tools/preact-hooks.js";import{UIProvider as u}from"@dropins/tools/components.js";import{events as i}from"@dropins/tools/event-bus.js";const d={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval rules",emptyTitle:"No approval rules found",ariaLabel:{editRule:"Edit approval rule {{ruleName}}",deleteRule:"Delete approval rule {{ruleName}}",viewRule:"View approval rule {{ruleName}}"},buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}} to {{to}} of {{total}} total",pageSizeLabel:{start:"Show",end:"per page"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",ruleType:"Rule Type",appliesTo:"Applies To",approver:"Approver",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."},approvalRuleForm:{headerText:"Purchase Order Approval Rule",titleAppliesTo:"Applies to",titleRuleType:"Rule Type",titleRequiresApprovalRole:"Requires Approval From",fields:{enabled:"Enabled",disabled:"Disabled",inputRuleName:{floatingLabel:"Rule Name",placeholder:"Rule Name"},textAreaDescription:{label:"Description"},appliesTo:{allUsers:"All Users",specificRoles:"Specific Roles"},ruleTypeOptions:{grandTotal:"Grand Total",shippingInclTax:"Shipping Cost",numberOfSkus:"Number of SKUs"},conditionOperators:{moreThan:"is more than",lessThan:"is less than",moreThanOrEqualTo:"is more than or equal to",lessThanOrEqualTo:"is less than or equal to"},inputQuantity:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},inputAmount:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},buttons:{cancel:"Cancel",save:"Save"}},errorsMessages:{required:"This field is required.",quantity:"Quantity must be greater than 0.",amount:"Amount must be greater than 0.",approvers:"Please select at least one approver."}},approvalRuleDetails:{containerTitle:"View Approval Rule",buttons:{back:"Back to Rules List"},fields:{ruleName:"Rule Name:",status:"Status:",description:"Description:",appliesTo:"Applies To:",requiresApprovalFrom:"Requires Approval From:",ruleType:"Rule Type:",amount:{label:" amount "},statusView:{enabled:"Enabled",disabled:"Disabled"},condition:{attribute:{grand_total:"Grand Total",shipping_incl_tax:"Shipping Cost",number_of_skus:"Number of SKUs"},operator:{more_than:"Is more than",less_than:"Is less than",more_than_or_equal_to:"Is more than or equal to",less_than_or_equal_to:"Is less than or equal to"}}}}},c={PurchaseOrders:d},m={default:c},h=({children:a})=>{const[o,t]=n("en_US");return p(()=>{const e=i.on("locale",s=>{t(s)},{eager:!0});return()=>{e==null||e.off()}},[]),r(u,{lang:o,langDefinitions:m,children:a})},g=new l(r(h,{}));export{g as render};
4
+ .b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table--empty-state{gap:0}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-top:none}.purchase-orders-table__empty-state:not(:last-child){margin-bottom:var(--spacing-medium)}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.b2b-purchase-order-approval-rule-form form{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-approval-rule-form__rule-condition,.b2b-purchase-order-approval-rule-form__approval-role,.b2b-purchase-order-approval-rule-form__rule-type,.b2b-purchase-order-approval-rule-form__applies-to,.b2b-purchase-order-approval-rule-form__rule-condition-container,.b2b-purchase-order-approval-rule-form__buttons{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form form>label.dropin-checkbox{align-items:center}.b2b-purchase-order-approval-rule-form__rule-type select,.b2b-purchase-order-approval-rule-form__rule-condition-container select{min-height:56px}.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:row;position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container--error{margin-bottom:var( --spacing-xsmall )}.b2b-purchase-order-approval-rule-form__rule-condition-container>div{position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:absolute;top:100%;left:0;right:0;z-index:10}.b2b-purchase-order-approval-rule-form__buttons{justify-content:flex-start;flex-direction:row}@media (max-width: 600px){.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:column;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:static}.b2b-purchase-order-approval-rule-form form .dropin-multi-select{min-width:100%}}.error-message{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);padding-top:var(--spacing-xsmall);text-align:left;color:var(--color-alert-800)}.b2b-purchase-order-approval-rule-form .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.b2b-purchase-order-status-content__message{padding:0;margin:0;box-sizing:border-box;font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin-bottom:var(--spacing-small)}.b2b-purchase-order-status-content__actions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-xsmall)}.purchase-order-status .dropin-card__content{gap:0}.b2b-purchase-order-approval-rule-details-content__item{margin-bottom:var(--spacing-medium);display:grid;grid-template-columns:1fr;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-details-content__label{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__value{display:block}.b2b-purchase-order-approval-rule-details-content__value ul{margin:0;padding-left:var(--spacing-medium)}.b2b-purchase-order-approval-rule-details-content__value>div{display:inline-flex;flex-wrap:wrap;align-items:center;margin-right:var(--spacing-small);gap:var(--spacing-xsmall)}.approval-rule-details__button{max-width:max-content}.b2b-purchase-order-form-loader .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-form-loader .approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.b2b-purchase-order-form-loader .approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}`,{styleId:"b2b-purchase-order"});
5
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as l}from"@dropins/tools/lib.js";import{useState as p,useEffect as n}from"@dropins/tools/preact-hooks.js";import{UIProvider as u}from"@dropins/tools/components.js";import{events as i}from"@dropins/tools/event-bus.js";const d={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval rules",emptyTitle:"No approval rules found",ariaLabel:{editRule:"Edit approval rule {{ruleName}}",deleteRule:"Delete approval rule {{ruleName}}",viewRule:"View approval rule {{ruleName}}"},buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}} to {{to}} of {{total}} total",pageSizeLabel:{start:"Show",end:"per page"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",ruleType:"Rule Type",appliesTo:"Applies To",approver:"Approver",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."},purchaseOrderStatus:{status:{pending:{title:"Pending Approval",message:"Purchase order is awaiting approval."},approval_required:{title:"Approval Required",message:"Purchase order requires approval before it can be processed."},approved:{title:"Approved",message:"Purchase order has been approved."},order_in_progress:{title:"Processing in Progress",message:"Purchase order is currently being processed."},order_placed:{title:"Placed",message:"Purchase order has been placed successfully."},order_failed:{title:"Failed",message:"Purchase order processing has failed."},rejected:{title:"Rejected",message:"Purchase order has been rejected."},canceled:{title:"Canceled",message:"Purchase order has been canceled."},approved_pending_payment:{title:"Approved - Pending Payment",message:"Purchase order has been approved and is awaiting payment."}},alertMessages:{success:{approval:"The purchase order was approved successfully.",reject:"The purchase order was rejected successfully.",cancel:"The purchase order was canceled successfully.",placeOrder:"The sales order was placed successfully."},errors:{approval:"An error occurred while approving the purchase order. Please try again.",reject:"An error occurred while rejecting the purchase order. Please try again.",cancel:"An error occurred while canceling the purchase order. Please try again.",placeOrder:"An error occurred while placing the sales order. Please try again."}},buttons:{approve:"Approve",reject:"Reject",cancel:"Cancel",placeOrder:"Place Order"}},approvalRuleForm:{headerText:"Purchase Order Approval Rule",titleAppliesTo:"Applies To",titleRuleType:"Rule Type",titleRequiresApprovalRole:"Requires Approval From",fields:{enabled:"Rule Enabled",disabled:"Rule Disabled",inputRuleName:{floatingLabel:"Rule Name",placeholder:"Rule Name"},textAreaDescription:{label:"Rule Description"},appliesTo:{allUsers:"All Users",specificRoles:"Specific Roles"},ruleTypeOptions:{grandTotal:"Grand Total",shippingInclTax:"Shipping Cost",numberOfSkus:"Number of SKUs"},conditionOperators:{moreThan:"is more than",lessThan:"is less than",moreThanOrEqualTo:"is more than or equal to",lessThanOrEqualTo:"is less than or equal to"},inputQuantity:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},inputAmount:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},buttons:{cancel:"Cancel",save:"Save"}},errorsMessages:{required:"This field is required.",quantity:"Quantity must be greater than 0.",amount:"Amount must be greater than 0.",approvers:"Please select at least one approver."}},approvalRuleDetails:{containerTitle:"View Approval Rule",buttons:{back:"Back to Rules List"},fields:{ruleName:"Rule Name:",status:"Status:",description:"Description:",appliesTo:"Applies To:",requiresApprovalFrom:"Requires Approval From:",ruleType:"Rule Type:",amount:{label:" amount "},statusView:{enabled:"Enabled",disabled:"Disabled"},condition:{attribute:{grand_total:"Grand Total",shipping_incl_tax:"Shipping Cost",number_of_skus:"Number of SKUs"},operator:{more_than:"Is more than",less_than:"Is less than",more_than_or_equal_to:"Is more than or equal to",less_than_or_equal_to:"Is less than or equal to"}}}}},c={PurchaseOrders:d},h={default:c},m=({children:a})=>{const[s,o]=p("en_US");return n(()=>{const e=i.on("locale",t=>{o(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(u,{lang:s,langDefinitions:h,children:a})},y=new l(r(m,{}));export{y as render};
6
6
  //# sourceMappingURL=render.js.map
package/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sources":["/@dropins/storefront-purchase-order/src/render/Provider.tsx","/@dropins/storefront-purchase-order/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":"gkIASMA,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-purchase-order/src/render/Provider.tsx","/@dropins/storefront-purchase-order/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":"sjLASMA,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"}
@@ -3,5 +3,6 @@ export * from './pagination.types';
3
3
  export * from './purchaseOrdersTableActions';
4
4
  export * from './approvalRuleForm.types';
5
5
  export * from './purchaseOrderConfirmationContent.types';
6
+ export * from './purchaseOrderStatusContent.types';
6
7
  export * from './approvalRuleDetailsContentProps.types';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { PurchaseOrderStatusSlotContext } from '../containers';
3
+ import { PURCHASE_ORDER_ACTION } from '../hooks';
4
+
5
+ export interface PurchaseOrderStatusContentProps {
6
+ t: Record<string, string>;
7
+ loading: boolean;
8
+ availableActions?: PURCHASE_ORDER_ACTION[];
9
+ handleApprove: () => void;
10
+ handleReject: () => void;
11
+ handleCancel: () => void;
12
+ handlePlaceOrder: () => void;
13
+ slots?: {
14
+ PurchaseOrderActions: SlotProps<PurchaseOrderStatusSlotContext>;
15
+ };
16
+ }
17
+ //# sourceMappingURL=purchaseOrderStatusContent.types.d.ts.map
@@ -4,5 +4,6 @@ export * from './requireApprovalPurchaseOrders.types';
4
4
  export * from './approvalRuleForm.types';
5
5
  export * from './approvalRulesList.types';
6
6
  export * from './purchaseOrderConfirmationProps.types';
7
+ export * from './purchaseOrderStatus.types';
7
8
  export * from './approvalRuleDetailsProps.types';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,18 @@
1
+ import { SlotProps } from '@dropins/tools/types/elsie/src/lib';
2
+ import { PURCHASE_ORDER_ACTION } from '../hooks';
3
+
4
+ export type PurchaseOrderStatusSlotContext = {
5
+ loading: boolean;
6
+ availableActions?: PURCHASE_ORDER_ACTION[];
7
+ handleApprove: () => void;
8
+ handleReject: () => void;
9
+ handleCancel: () => void;
10
+ handlePlaceOrder: () => void;
11
+ };
12
+ export interface PurchaseOrderStatusProps {
13
+ className?: string;
14
+ slots?: {
15
+ PurchaseOrderActions: SlotProps<PurchaseOrderStatusSlotContext>;
16
+ };
17
+ }
18
+ //# sourceMappingURL=purchaseOrderStatus.types.d.ts.map
@@ -2,4 +2,5 @@ export * from './useApprovalRuleForm.types';
2
2
  export * from './usePurchaseOrders.types';
3
3
  export * from './useApprovalRuleDetails.types';
4
4
  export * from './useApprovalRulesList.types';
5
+ export * from './usePurchaseOrderStatus.types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { InLineAlertProps } from '@dropins/tools/types/elsie/src/components';
2
+
3
+ export type PURCHASE_ORDER_STATUS = 'PENDING' | 'APPROVAL_REQUIRED' | 'APPROVED' | 'ORDER_IN_PROGRESS' | 'ORDER_PLACED' | 'ORDER_FAILED' | 'REJECTED' | 'CANCELED' | 'APPROVED_PENDING_PAYMENT';
4
+ export type PURCHASE_ORDER_ACTION = 'REJECT' | 'CANCEL' | 'APPROVE' | 'PLACE_ORDER';
5
+ export interface UsePurchaseOrderStatusReturn {
6
+ alertType: NonNullable<InLineAlertProps['type']>;
7
+ poId: string | null;
8
+ status: PURCHASE_ORDER_STATUS;
9
+ availableActions: PURCHASE_ORDER_ACTION[] | [];
10
+ loading: boolean;
11
+ isDismissed: boolean;
12
+ alertMessage: string;
13
+ handleOnDismiss: () => void;
14
+ handleApprove: () => Promise<void>;
15
+ handleReject: () => Promise<void>;
16
+ handleCancel: () => Promise<void>;
17
+ handlePlaceOrder: () => Promise<void>;
18
+ }
19
+ //# sourceMappingURL=usePurchaseOrderStatus.types.d.ts.map