@dropins/storefront-purchase-order 0.0.3-alpha2 → 0.0.4-alpha2

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 (107) hide show
  1. package/api/currencyInfo/currencyInfo.d.ts +24 -0
  2. package/api/currencyInfo/graphql/currencyInfo.graphql.d.ts +18 -0
  3. package/api/currencyInfo/index.d.ts +18 -0
  4. package/api/getPurchaseOrderApprovalRule/getPurchaseOrderApprovalRule.d.ts +4 -0
  5. package/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql.d.ts +18 -0
  6. package/api/getPurchaseOrderApprovalRule/index.d.ts +18 -0
  7. package/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.d.ts +12 -0
  8. package/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.d.ts +18 -0
  9. package/api/getPurchaseOrderApprovalRules/index.d.ts +18 -0
  10. package/api/index.d.ts +3 -0
  11. package/api.js +11 -135
  12. package/api.js.map +1 -1
  13. package/chunks/FormLoader.js +4 -0
  14. package/chunks/FormLoader.js.map +1 -0
  15. package/chunks/FormLoader2.js +4 -0
  16. package/chunks/FormLoader2.js.map +1 -0
  17. package/chunks/PurchaseOrdersHeader.js +4 -0
  18. package/chunks/PurchaseOrdersHeader.js.map +1 -0
  19. package/chunks/PurchaseOrdersTableActions.js +1 -1
  20. package/chunks/PurchaseOrdersTableActions.js.map +1 -1
  21. package/chunks/case-converter.js +4 -0
  22. package/chunks/case-converter.js.map +1 -0
  23. package/chunks/currencyInfo.js +124 -0
  24. package/chunks/currencyInfo.js.map +1 -0
  25. package/chunks/fetch-error.js +4 -0
  26. package/chunks/fetch-error.js.map +1 -0
  27. package/chunks/fetch-graphql.js +4 -0
  28. package/chunks/fetch-graphql.js.map +1 -0
  29. package/chunks/getPurchaseOrderApprovalRule.js +45 -0
  30. package/chunks/getPurchaseOrderApprovalRule.js.map +1 -0
  31. package/chunks/getPurchaseOrderApprovalRules.js +75 -0
  32. package/chunks/getPurchaseOrderApprovalRules.js.map +1 -0
  33. package/chunks/getPurchaseOrders.js +5 -5
  34. package/chunks/getPurchaseOrders.js.map +1 -1
  35. package/chunks/pageSize.config.js +4 -0
  36. package/chunks/pageSize.config.js.map +1 -0
  37. package/chunks/transform-purchase-order-approval-rule.js +4 -0
  38. package/chunks/transform-purchase-order-approval-rule.js.map +1 -0
  39. package/chunks/useCustomerRolePermissions.js +1 -1
  40. package/chunks/useCustomerRolePermissions.js.map +1 -1
  41. package/chunks/usePurchaseOrders.js +4 -0
  42. package/chunks/usePurchaseOrders.js.map +1 -0
  43. package/components/ApprovalRuleDetailsContent/ApprovalRuleDetailsContent.d.ts +5 -0
  44. package/components/ApprovalRuleDetailsContent/index.d.ts +11 -0
  45. package/components/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  46. package/components/ApprovalRuleForm/blocks/ErrorMessage.d.ts +9 -0
  47. package/components/ApprovalRuleForm/blocks/Form.d.ts +40 -0
  48. package/components/ApprovalRuleForm/blocks/index.d.ts +19 -0
  49. package/components/ApprovalRuleForm/index.d.ts +11 -0
  50. package/components/FormLoader/FormLoader.d.ts +8 -0
  51. package/components/FormLoader/index.d.ts +19 -0
  52. package/components/index.d.ts +3 -0
  53. package/configs/approvalRuleForm.config.d.ts +74 -0
  54. package/configs/index.d.ts +2 -0
  55. package/containers/ApprovalRuleDetails/ApprovalRuleDetails.d.ts +5 -0
  56. package/containers/ApprovalRuleDetails/index.d.ts +11 -0
  57. package/containers/ApprovalRuleDetails.d.ts +3 -0
  58. package/containers/ApprovalRuleDetails.js +4 -0
  59. package/containers/ApprovalRuleDetails.js.map +1 -0
  60. package/containers/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  61. package/containers/ApprovalRuleForm/index.d.ts +11 -0
  62. package/containers/ApprovalRuleForm.d.ts +3 -0
  63. package/containers/ApprovalRuleForm.js +4 -0
  64. package/containers/ApprovalRuleForm.js.map +1 -0
  65. package/containers/ApprovalRulesList/ApprovalRulesList.d.ts +5 -0
  66. package/containers/ApprovalRulesList/index.d.ts +19 -0
  67. package/containers/ApprovalRulesList.d.ts +3 -0
  68. package/containers/ApprovalRulesList.js +4 -0
  69. package/containers/ApprovalRulesList.js.map +1 -0
  70. package/containers/CompanyPurchaseOrders.js +1 -1
  71. package/containers/CompanyPurchaseOrders.js.map +1 -1
  72. package/containers/CustomerPurchaseOrders.js +1 -1
  73. package/containers/CustomerPurchaseOrders.js.map +1 -1
  74. package/containers/PurchaseOrderConfirmation.js +1 -1
  75. package/containers/PurchaseOrderConfirmation.js.map +1 -1
  76. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  77. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  78. package/containers/index.d.ts +3 -0
  79. package/data/models/purchase-order-approval-rule-model.d.ts +5 -0
  80. package/hooks/index.d.ts +3 -0
  81. package/hooks/useApprovalRuleDetails.d.ts +14 -0
  82. package/hooks/useApprovalRuleForm.d.ts +4 -0
  83. package/hooks/useApprovalRulesList.d.ts +4 -0
  84. package/i18n/en_US.json.d.ts +91 -1
  85. package/lib/cleanAndDeep.d.ts +8 -0
  86. package/lib/formValidation.d.ts +22 -0
  87. package/lib/index.d.ts +4 -0
  88. package/lib/transformToFormValues.d.ts +9 -0
  89. package/lib/updateFormFieldValue.d.ts +4 -0
  90. package/mocks/index.d.ts +191 -0
  91. package/mocks/storybook/events-data.d.ts +12 -0
  92. package/mocks/storybook/index.d.ts +3 -0
  93. package/package.json +1 -1
  94. package/render.js +3 -2
  95. package/render.js.map +1 -1
  96. package/types/components/approvalRuleDetailsContentProps.types.d.ts +9 -0
  97. package/types/components/approvalRuleForm.types.d.ts +12 -0
  98. package/types/components/index.d.ts +2 -0
  99. package/types/components/purchaseOrdersTable.types.d.ts +6 -1
  100. package/types/containers/approvalRuleDetailsProps.types.d.ts +8 -0
  101. package/types/containers/approvalRuleForm.types.d.ts +12 -0
  102. package/types/containers/approvalRulesList.types.d.ts +15 -0
  103. package/types/containers/index.d.ts +3 -0
  104. package/types/hooks/index.d.ts +3 -0
  105. package/types/hooks/useApprovalRuleDetails.types.d.ts +5 -0
  106. package/types/hooks/useApprovalRuleForm.types.d.ts +121 -0
  107. package/types/hooks/useApprovalRulesList.types.d.ts +29 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-error.js","sources":["/@dropins/storefront-purchase-order/src/lib/fetch-error.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n"],"names":["handleFetchError","errors","errorMessage","e"],"mappings":"AAkBO,MAAMA,EAAoBC,GAAuC,CACtE,MAAMC,EAAeD,EAAO,IAAKE,GAAWA,EAAE,OAAO,EAAE,KAAK,GAAG,EAE/D,MAAM,MAAMD,CAAY,CAC1B"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{events as o}from"@dropins/tools/event-bus.js";import{FetchGraphQL as s}from"@dropins/tools/fetch-graphql.js";const h=e=>{const r=e instanceof DOMException&&e.name==="AbortError",t=e.name==="PlaceOrderError";throw!r&&!t&&o.emit("purchase-order/error",{source:"purchase-order",type:"network",error:e.message}),e},{setEndpoint:n,setFetchGraphQlHeader:p,removeFetchGraphQlHeader:d,setFetchGraphQlHeaders:i,fetchGraphQl:m,getConfig:f}=new s().getMethods();export{p as a,i as b,m as f,f as g,h,d as r,n as s};
4
+ //# sourceMappingURL=fetch-graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-graphql.js","sources":["/@dropins/storefront-purchase-order/src/lib/network-error.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('purchase-order/error', {\n source: 'purchase-order',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","import { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n"],"names":["handleNetworkError","error","isAbortError","isPlaceOrderError","events","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL"],"mappings":"oHAuBO,MAAMA,EAAsBC,GAAiB,CAClD,MAAMC,EACJD,aAAiB,cAAgBA,EAAM,OAAS,aAE5CE,EAAoBF,EAAM,OAAS,kBAEzC,KAAI,CAACC,GAAgB,CAACC,GACpBC,EAAO,KAAK,uBAAwB,CAClC,OAAQ,iBACR,KAAM,UACN,MAAOH,EAAM,OAAA,CACd,EAEGA,CACR,ECnCa,CACX,YAAAI,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAA,EAAe,WAAA"}
@@ -0,0 +1,45 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{f as u,h as i}from"./fetch-graphql.js";import{t as n}from"./transform-purchase-order-approval-rule.js";const c=`
4
+ query GET_PURCHASE_ORDER_APPROVAL_RULE($uid: ID!) {
5
+ customer {
6
+ purchase_order_approval_rule(uid: $uid) {
7
+ created_at
8
+ created_by
9
+ description
10
+ name
11
+ status
12
+ uid
13
+ updated_at
14
+ applies_to_roles {
15
+ id
16
+ name
17
+ users_count
18
+ }
19
+ approver_roles {
20
+ id
21
+ name
22
+ users_count
23
+ }
24
+ condition {
25
+ attribute
26
+ operator
27
+ ... on PurchaseOrderApprovalRuleConditionAmount {
28
+ attribute
29
+ operator
30
+ amount {
31
+ currency
32
+ value
33
+ }
34
+ }
35
+ ... on PurchaseOrderApprovalRuleConditionQuantity {
36
+ attribute
37
+ operator
38
+ quantity
39
+ }
40
+ }
41
+ }
42
+ }
43
+ }
44
+ `,_=async e=>u(c,{variables:{uid:e}}).then(r=>{var t,a;const o=(a=(t=r==null?void 0:r.data)==null?void 0:t.customer)==null?void 0:a.purchase_order_approval_rule;return n(o)}).catch(i);export{_ as g};
45
+ //# sourceMappingURL=getPurchaseOrderApprovalRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPurchaseOrderApprovalRule.js","sources":["/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRule/getPurchaseOrderApprovalRule.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULE($uid: ID!) {\n customer {\n purchase_order_approval_rule(uid: $uid) {\n created_at\n created_by\n description\n name\n status\n uid\n updated_at\n applies_to_roles {\n id\n name\n users_count\n }\n approver_roles {\n id\n name\n users_count\n }\n condition {\n attribute\n operator\n ... on PurchaseOrderApprovalRuleConditionAmount {\n attribute\n operator\n amount {\n currency\n value\n }\n }\n ... on PurchaseOrderApprovalRuleConditionQuantity {\n attribute\n operator\n quantity\n }\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { GET_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrderApprovalRule = async (\n id: string\n): Promise<PurchaseOrderApprovalRuleModel> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { uid: id },\n })\n .then((response: any) => {\n const rulesData = response?.data?.customer?.purchase_order_approval_rule;\n\n return transformPurchaseOrderApprovalRule(rulesData);\n })\n .catch(handleNetworkError);\n};\n"],"names":["GET_PURCHASE_ORDER_APPROVAL_RULE","getPurchaseOrderApprovalRule","id","fetchGraphQl","response","rulesData","_b","_a","transformPurchaseOrderApprovalRule","handleNetworkError"],"mappings":"8GAiBO,MAAMA,EAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECMjDC,EAA+B,MAC1CC,GAEOC,EAAaH,EAAkC,CACpD,UAAW,CAAE,IAAKE,CAAA,CAAG,CACtB,EACE,KAAME,GAAkB,SACvB,MAAMC,GAAYC,GAAAC,EAAAH,GAAA,YAAAA,EAAU,OAAV,YAAAG,EAAgB,WAAhB,YAAAD,EAA0B,6BAE5C,OAAOE,EAAmCH,CAAS,CACrD,CAAC,EACA,MAAMI,CAAkB"}
@@ -0,0 +1,75 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{f as d,h as g}from"./fetch-graphql.js";import{h as P}from"./fetch-error.js";import{t as h}from"./transform-purchase-order-approval-rule.js";const R=`
4
+ mutation DELETE_PURCHASE_ORDER_APPROVAL_RULE(
5
+ $input: DeletePurchaseOrderApprovalRuleInput!
6
+ ) {
7
+ deletePurchaseOrderApprovalRule(input: $input) {
8
+ errors {
9
+ message
10
+ type
11
+ }
12
+ }
13
+ }
14
+ `,O=async o=>{const t=Array.isArray(o)?o:[o];if(!t||t.length===0)throw new Error("Approval Rule UID(s) are required");if(t.some(e=>!e||e.trim()===""))throw new Error("All Approval Rule UIDs must be valid");return d(R,{variables:{input:{approval_rule_uids:t}}}).then(e=>{var i,l,n;if((i=e.errors)!=null&&i.length&&P(e.errors),!((l=e.data)==null?void 0:l.deletePurchaseOrderApprovalRule))throw new Error("Failed to delete purchase order approval rule");const p=(n=e==null?void 0:e.data)==null?void 0:n.deletePurchaseOrderApprovalRule;return{deletePurchaseOrderApprovalRule:{errors:((p==null?void 0:p.errors)??[]).map(r=>({message:r==null?void 0:r.message,type:r==null?void 0:r.type}))}}}).catch(g)},A=`
15
+ query GET_PURCHASE_ORDER_APPROVAL_RULES($currentPage: Int!, $pageSize: Int!) {
16
+ customer {
17
+ email
18
+ purchase_order_approval_rules(
19
+ currentPage: $currentPage
20
+ pageSize: $pageSize
21
+ ) {
22
+ items {
23
+ applies_to_roles {
24
+ id
25
+ name
26
+ users_count
27
+ permissions {
28
+ id
29
+ sort_order
30
+ text
31
+ children {
32
+ id
33
+ sort_order
34
+ text
35
+ }
36
+ }
37
+ }
38
+ approver_roles {
39
+ id
40
+ name
41
+ users_count
42
+ permissions {
43
+ id
44
+ sort_order
45
+ text
46
+ children {
47
+ id
48
+ sort_order
49
+ text
50
+ }
51
+ }
52
+ }
53
+ condition {
54
+ attribute
55
+ operator
56
+ }
57
+ created_at
58
+ created_by
59
+ description
60
+ name
61
+ status
62
+ uid
63
+ updated_at
64
+ }
65
+ total_count
66
+ page_info {
67
+ page_size
68
+ current_page
69
+ total_pages
70
+ }
71
+ }
72
+ }
73
+ }
74
+ `,s={currentPage:1,pageSize:20,totalPages:1},f=async(o=s.currentPage,t=s.pageSize)=>d(A,{variables:{currentPage:o,pageSize:t}}).then(a=>{var i,l,n,r,c,_;(i=a.errors)!=null&&i.length&&P(a.errors);const e=(n=(l=a==null?void 0:a.data)==null?void 0:l.customer)==null?void 0:n.purchase_order_approval_rules,u=(e==null?void 0:e.total_count)??0,p={currentPage:((r=e==null?void 0:e.page_info)==null?void 0:r.current_page)??s.currentPage,pageSize:((c=e==null?void 0:e.page_info)==null?void 0:c.page_size)??s.pageSize,totalPages:((_=e==null?void 0:e.page_info)==null?void 0:_.total_pages)??s.totalPages};return{totalCount:u,pageInfo:p,items:((e==null?void 0:e.items)||[]).map(h)}}).catch(g);export{O as d,f as g};
75
+ //# sourceMappingURL=getPurchaseOrderApprovalRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPurchaseOrderApprovalRules.js","sources":["/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql.ts","/@dropins/storefront-purchase-order/src/api/deletePurchaseOrderApprovalRule/deletePurchaseOrderApprovalRule.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const DELETE_PURCHASE_ORDER_APPROVAL_RULE = /* GraphQL */ `\n mutation DELETE_PURCHASE_ORDER_APPROVAL_RULE(\n $input: DeletePurchaseOrderApprovalRuleInput!\n ) {\n deletePurchaseOrderApprovalRule(input: $input) {\n errors {\n message\n type\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { DELETE_PURCHASE_ORDER_APPROVAL_RULE } from '@/b2b-purchase-order/api/deletePurchaseOrderApprovalRule/graphql/deletePurchaseOrderApprovalRule.graphql';\n\nexport const deletePurchaseOrderApprovalRule = async (\n uids: string | string[]\n): Promise<{\n deletePurchaseOrderApprovalRule: {\n errors: { message?: string; type?: string }[];\n };\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Approval Rule UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Approval Rule UIDs must be valid');\n }\n\n const input = {\n approval_rule_uids: uidArray,\n };\n\n return fetchGraphQl(DELETE_PURCHASE_ORDER_APPROVAL_RULE, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.deletePurchaseOrderApprovalRule;\n if (!result) {\n throw new Error('Failed to delete purchase order approval rule');\n }\n\n const data = response?.data?.deletePurchaseOrderApprovalRule;\n\n return {\n deletePurchaseOrderApprovalRule: {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message,\n type: error?.type,\n })),\n },\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const GET_PURCHASE_ORDER_APPROVAL_RULES = /* GraphQL */ `\n query GET_PURCHASE_ORDER_APPROVAL_RULES($currentPage: Int!, $pageSize: Int!) {\n customer {\n email\n purchase_order_approval_rules(\n currentPage: $currentPage\n pageSize: $pageSize\n ) {\n items {\n applies_to_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n approver_roles {\n id\n name\n users_count\n permissions {\n id\n sort_order\n text\n children {\n id\n sort_order\n text\n }\n }\n }\n condition {\n attribute\n operator\n }\n created_at\n created_by\n description\n name\n status\n uid\n updated_at\n }\n total_count\n page_info {\n page_size\n current_page\n total_pages\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDER_APPROVAL_RULES } from '@/b2b-purchase-order/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql';\nimport { transformPurchaseOrderApprovalRule } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nconst DEFAULT_PAGE_INFO = {\n currentPage: 1,\n pageSize: 20,\n totalPages: 1,\n};\n\nexport const getPurchaseOrderApprovalRules = async (\n currentPage: number = DEFAULT_PAGE_INFO.currentPage,\n pageSize: number = DEFAULT_PAGE_INFO.pageSize\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n items: PurchaseOrderApprovalRuleModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDER_APPROVAL_RULES, {\n variables: {\n currentPage,\n pageSize,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rulesData = response?.data?.customer?.purchase_order_approval_rules;\n const totalCount = rulesData?.total_count ?? 0;\n const pageInfo = {\n currentPage:\n rulesData?.page_info?.current_page ?? DEFAULT_PAGE_INFO.currentPage,\n pageSize: rulesData?.page_info?.page_size ?? DEFAULT_PAGE_INFO.pageSize,\n totalPages:\n rulesData?.page_info?.total_pages ?? DEFAULT_PAGE_INFO.totalPages,\n };\n\n return {\n totalCount,\n pageInfo,\n items: (rulesData?.items || []).map(transformPurchaseOrderApprovalRule),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["DELETE_PURCHASE_ORDER_APPROVAL_RULE","deletePurchaseOrderApprovalRule","uids","uidArray","uid","fetchGraphQl","response","_a","handleFetchError","_b","data","_c","error","handleNetworkError","GET_PURCHASE_ORDER_APPROVAL_RULES","DEFAULT_PAGE_INFO","getPurchaseOrderApprovalRules","currentPage","pageSize","rulesData","totalCount","pageInfo","_d","_e","_f","transformPurchaseOrderApprovalRule"],"mappings":"mJAiBO,MAAMA,EAAoD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECIpDC,EAAkC,MAC7CC,GAKI,CACJ,MAAMC,EAAW,MAAM,QAAQD,CAAI,EAAIA,EAAO,CAACA,CAAI,EAEnD,GAAI,CAACC,GAAYA,EAAS,SAAW,EACnC,MAAM,IAAI,MAAM,mCAAmC,EAGrD,GAAIA,EAAS,KAAMC,GAAQ,CAACA,GAAOA,EAAI,SAAW,EAAE,EAClD,MAAM,IAAI,MAAM,sCAAsC,EAOxD,OAAOC,EAAaL,EAAqC,CACvD,UAAW,CAAE,MALD,CACZ,mBAAoBG,CAAA,CAIP,CAAM,CACpB,EACE,KAAMG,GAAkB,WAMvB,IALIC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAI9B,GADWG,EAAAH,EAAS,OAAT,YAAAG,EAAe,iCAE5B,MAAM,IAAI,MAAM,+CAA+C,EAGjE,MAAMC,GAAOC,EAAAL,GAAA,YAAAA,EAAU,OAAV,YAAAK,EAAgB,gCAE7B,MAAO,CACL,gCAAiC,CAC/B,SAASD,GAAA,YAAAA,EAAM,SAAU,CAAA,GAAI,IAAKE,IAAgB,CAChD,QAASA,GAAA,YAAAA,EAAO,QAChB,KAAMA,GAAA,YAAAA,EAAO,IAAA,EACb,CAAA,CACJ,CAEJ,CAAC,EACA,MAAMC,CAAkB,CAC7B,EClDaC,EAAkD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECOzDC,EAAoB,CACxB,YAAa,EACb,SAAU,GACV,WAAY,CACd,EAEaC,EAAgC,MAC3CC,EAAsBF,EAAkB,YACxCG,EAAmBH,EAAkB,WAU9BV,EAAaS,EAAmC,CACrD,UAAW,CACT,YAAAG,EACA,SAAAC,CAAA,CACF,CACD,EACE,KAAMZ,GAAkB,kBACnBC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAGlC,MAAMa,GAAYR,GAAAF,EAAAH,GAAA,YAAAA,EAAU,OAAV,YAAAG,EAAgB,WAAhB,YAAAE,EAA0B,8BACtCS,GAAaD,GAAA,YAAAA,EAAW,cAAe,EACvCE,EAAW,CACf,cACEC,EAAAH,GAAA,YAAAA,EAAW,YAAX,YAAAG,EAAsB,eAAgBP,EAAkB,YAC1D,WAAUQ,EAAAJ,GAAA,YAAAA,EAAW,YAAX,YAAAI,EAAsB,YAAaR,EAAkB,SAC/D,aACES,EAAAL,GAAA,YAAAA,EAAW,YAAX,YAAAK,EAAsB,cAAeT,EAAkB,UAAA,EAG3D,MAAO,CACL,WAAAK,EACA,SAAAC,EACA,QAAQF,GAAA,YAAAA,EAAW,QAAS,CAAA,GAAI,IAAIM,CAAkC,CAAA,CAE1E,CAAC,EACA,MAAMZ,CAAkB"}
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as D}from"@dropins/tools/event-bus.js";const S=t=>{const n=t.map(l=>l.message).join(" ");throw Error(n)},w=t=>{const n=t instanceof DOMException&&t.name==="AbortError",l=t.name==="PlaceOrderError";throw!n&&!l&&D.emit("purchase-order/error",{source:"purchase-order",type:"network",error:t.message}),t},e=t=>{if(t==null||typeof t!="object")return t;if(Array.isArray(t))return t.map(e);const n={};for(const[l,o]of Object.entries(t)){const i=l.replace(/[A-Z]/g,E=>`_${E.toLowerCase()}`);n[i]=e(o)}return n},{setEndpoint:V,setFetchGraphQlHeader:L,removeFetchGraphQlHeader:J,setFetchGraphQlHeaders:B,fetchGraphQl:b,getConfig:K}=new N().getMethods(),C=`
3
+ import{f as S,h as b}from"./fetch-graphql.js";import{h as w}from"./fetch-error.js";import{t as D}from"./case-converter.js";const C=`
4
4
  fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {
5
5
  __typename
6
6
  uid
@@ -58,7 +58,7 @@ import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as
58
58
  }
59
59
  }
60
60
  }
61
- `,v=`
61
+ `,u=`
62
62
  mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
63
63
  approvePurchaseOrders(input: $input) {
64
64
  purchase_orders {
@@ -71,7 +71,7 @@ import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as
71
71
  }
72
72
  }
73
73
  ${C}
74
- `,U=t=>{var n,l,o,i,E,f,s,_,y,R,A,P,m,g,u,F,H,$,q,G;return{typename:(t==null?void 0:t.__typename)??"",uid:(t==null?void 0:t.uid)??"",number:(t==null?void 0:t.number)??"",status:(t==null?void 0:t.status)??"",availableActions:(t==null?void 0:t.available_actions)??[],approvalFlow:t!=null&&t.approval_flow?{ruleName:((n=t==null?void 0:t.approval_flow)==null?void 0:n.rule_name)??"",events:((o=(l=t==null?void 0:t.approval_flow)==null?void 0:l.events)==null?void 0:o.map(a=>({message:(a==null?void 0:a.message)??"",name:(a==null?void 0:a.name)??"",role:(a==null?void 0:a.role)??"",status:(a==null?void 0:a.status)??"",updatedAt:(a==null?void 0:a.updated_at)??""})))??[]}:null,comments:((i=t==null?void 0:t.comments)==null?void 0:i.map(a=>{var I,T,M;return{createdAt:(a==null?void 0:a.created_at)??"",author:{firstname:((I=a==null?void 0:a.author)==null?void 0:I.firstname)??"",lastname:((T=a==null?void 0:a.author)==null?void 0:T.lastname)??"",email:((M=a==null?void 0:a.author)==null?void 0:M.email)??""},text:(a==null?void 0:a.text)??""}}))??[],createdAt:(t==null?void 0:t.created_at)??"",updatedAt:(t==null?void 0:t.updated_at)??"",createdBy:{firstname:((E=t==null?void 0:t.created_by)==null?void 0:E.firstname)??"",lastname:((f=t==null?void 0:t.created_by)==null?void 0:f.lastname)??"",email:((s=t==null?void 0:t.created_by)==null?void 0:s.email)??""},historyLog:((_=t==null?void 0:t.history_log)==null?void 0:_.map(a=>({activity:(a==null?void 0:a.activity)??"",createdAt:(a==null?void 0:a.created_at)??"",message:(a==null?void 0:a.message)??"",uid:(a==null?void 0:a.uid)??""})))??[],order:{orderNumber:((y=t==null?void 0:t.order)==null?void 0:y.number)??"",id:((R=t==null?void 0:t.order)==null?void 0:R.id)??""},quote:{id:((A=t==null?void 0:t.quote)==null?void 0:A.id)??"",prices:{grandTotal:{value:((g=(m=(P=t==null?void 0:t.quote)==null?void 0:P.prices)==null?void 0:m.grand_total)==null?void 0:g.value)??0,currency:((H=(F=(u=t==null?void 0:t.quote)==null?void 0:u.prices)==null?void 0:F.grand_total)==null?void 0:H.currency)??""}},itemsV2:{items:((G=(q=($=t==null?void 0:t.quote)==null?void 0:$.itemsV2)==null?void 0:q.items)==null?void 0:G.map(a=>({uid:(a==null?void 0:a.uid)??"",quantity:(a==null?void 0:a.quantity)??0})))??[]}}}},Z=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(o=>!o||o.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return b(v,{variables:{input:{purchase_order_uids:n}}}).then(o=>{var E,f,s;(E=o.errors)!=null&&E.length&&S(o.errors);const i=(f=o.data)==null?void 0:f.approvePurchaseOrders;if(!i)throw new Error("Failed to approve purchase orders");return{errors:((i==null?void 0:i.errors)??[]).map(_=>({message:(_==null?void 0:_.message)??"",type:(_==null?void 0:_.type)??""})),purchaseOrders:((s=i==null?void 0:i.purchase_orders)==null?void 0:s.map(_=>U(_)))??[]}}).catch(w)},z=`
74
+ `,U=t=>{var n,R,_,i,E,s,o,l,P,y,f,A,m,g,$,q,H,I,F,T;return{typename:(t==null?void 0:t.__typename)??"",uid:(t==null?void 0:t.uid)??"",number:(t==null?void 0:t.number)??"",status:(t==null?void 0:t.status)??"",availableActions:(t==null?void 0:t.available_actions)??[],approvalFlow:t!=null&&t.approval_flow?{ruleName:((n=t==null?void 0:t.approval_flow)==null?void 0:n.rule_name)??"",events:((_=(R=t==null?void 0:t.approval_flow)==null?void 0:R.events)==null?void 0:_.map(a=>({message:(a==null?void 0:a.message)??"",name:(a==null?void 0:a.name)??"",role:(a==null?void 0:a.role)??"",status:(a==null?void 0:a.status)??"",updatedAt:(a==null?void 0:a.updated_at)??""})))??[]}:null,comments:((i=t==null?void 0:t.comments)==null?void 0:i.map(a=>{var G,N,z;return{createdAt:(a==null?void 0:a.created_at)??"",author:{firstname:((G=a==null?void 0:a.author)==null?void 0:G.firstname)??"",lastname:((N=a==null?void 0:a.author)==null?void 0:N.lastname)??"",email:((z=a==null?void 0:a.author)==null?void 0:z.email)??""},text:(a==null?void 0:a.text)??""}}))??[],createdAt:(t==null?void 0:t.created_at)??"",updatedAt:(t==null?void 0:t.updated_at)??"",createdBy:{firstname:((E=t==null?void 0:t.created_by)==null?void 0:E.firstname)??"",lastname:((s=t==null?void 0:t.created_by)==null?void 0:s.lastname)??"",email:((o=t==null?void 0:t.created_by)==null?void 0:o.email)??""},historyLog:((l=t==null?void 0:t.history_log)==null?void 0:l.map(a=>({activity:(a==null?void 0:a.activity)??"",createdAt:(a==null?void 0:a.created_at)??"",message:(a==null?void 0:a.message)??"",uid:(a==null?void 0:a.uid)??""})))??[],order:{orderNumber:((P=t==null?void 0:t.order)==null?void 0:P.number)??"",id:((y=t==null?void 0:t.order)==null?void 0:y.id)??""},quote:{id:((f=t==null?void 0:t.quote)==null?void 0:f.id)??"",prices:{grandTotal:{value:((g=(m=(A=t==null?void 0:t.quote)==null?void 0:A.prices)==null?void 0:m.grand_total)==null?void 0:g.value)??0,currency:((H=(q=($=t==null?void 0:t.quote)==null?void 0:$.prices)==null?void 0:q.grand_total)==null?void 0:H.currency)??""}},itemsV2:{items:((T=(F=(I=t==null?void 0:t.quote)==null?void 0:I.itemsV2)==null?void 0:F.items)==null?void 0:T.map(a=>({uid:(a==null?void 0:a.uid)??"",quantity:(a==null?void 0:a.quantity)??0})))??[]}}}},v=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return S(u,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var E,s,o;(E=_.errors)!=null&&E.length&&w(_.errors);const i=(s=_.data)==null?void 0:s.approvePurchaseOrders;if(!i)throw new Error("Failed to approve purchase orders");return{errors:((i==null?void 0:i.errors)??[]).map(l=>({message:(l==null?void 0:l.message)??"",type:(l==null?void 0:l.type)??""})),purchaseOrders:((o=i==null?void 0:i.purchase_orders)==null?void 0:o.map(l=>U(l)))??[]}}).catch(b)},M=`
75
75
  mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {
76
76
  rejectPurchaseOrders(input: $input) {
77
77
  purchase_orders {
@@ -84,7 +84,7 @@ import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as
84
84
  }
85
85
  }
86
86
  ${C}
87
- `,j=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(o=>!o||o.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return b(z,{variables:{input:{purchase_order_uids:n}}}).then(o=>{var E,f;(E=o.errors)!=null&&E.length&&S(o.errors);const i=(f=o.data)==null?void 0:f.rejectPurchaseOrders;return{errors:((i==null?void 0:i.errors)??[]).map(s=>({message:(s==null?void 0:s.message)??"",type:(s==null?void 0:s.type)??""})),purchaseOrders:((i==null?void 0:i.purchase_orders)??[]).map(U)}}).catch(w)},k=`
87
+ `,J=async t=>{const n=Array.isArray(t)?t:[t];if(!n||n.length===0)throw new Error("Purchase Order UID(s) are required");if(n.some(_=>!_||_.trim()===""))throw new Error("All Purchase Order UIDs must be valid");return S(M,{variables:{input:{purchase_order_uids:n}}}).then(_=>{var E,s;(E=_.errors)!=null&&E.length&&w(_.errors);const i=(s=_.data)==null?void 0:s.rejectPurchaseOrders;return{errors:((i==null?void 0:i.errors)??[]).map(o=>({message:(o==null?void 0:o.message)??"",type:(o==null?void 0:o.type)??""})),purchaseOrders:((i==null?void 0:i.purchase_orders)??[]).map(U)}}).catch(b)},V=`
88
88
  query GET_PURCHASE_ORDERS(
89
89
  $filter: PurchaseOrdersFilterInput
90
90
  $pageSize: Int
@@ -109,5 +109,5 @@ import{FetchGraphQL as N}from"@dropins/tools/fetch-graphql.js";import{events as
109
109
  }
110
110
  }
111
111
  ${C}
112
- `,W=async(t,n=20,l=1)=>b(k,{variables:{filter:e(t),pageSize:n,currentPage:l}}).then(o=>{var s,_,y,R,A,P,m,g;if((s=o.errors)!=null&&s.length&&S(o.errors),!((y=(_=o.data)==null?void 0:_.customer)!=null&&y.purchase_orders))throw new Error("Failed to get purchase orders");const i=(A=(R=o==null?void 0:o.data)==null?void 0:R.customer)==null?void 0:A.purchase_orders,E=(i==null?void 0:i.total_count)??0,f={currentPage:((P=i==null?void 0:i.page_info)==null?void 0:P.current_page)??1,pageSize:((m=i==null?void 0:i.page_info)==null?void 0:m.page_size)??20,totalPages:((g=i==null?void 0:i.page_info)==null?void 0:g.total_pages)??1};return{totalCount:E,pageInfo:f,purchaseOrderItems:((i==null?void 0:i.items)||[]).map(U)}}).catch(w);export{C as P,Z as a,w as b,L as c,J as d,B as e,b as f,W as g,S as h,K as i,j as r,V as s,U as t};
112
+ `,B=async(t,n=20,R=1)=>S(V,{variables:{filter:D(t),pageSize:n,currentPage:R}}).then(_=>{var o,l,P,y,f,A,m,g;if((o=_.errors)!=null&&o.length&&w(_.errors),!((P=(l=_.data)==null?void 0:l.customer)!=null&&P.purchase_orders))throw new Error("Failed to get purchase orders");const i=(f=(y=_==null?void 0:_.data)==null?void 0:y.customer)==null?void 0:f.purchase_orders,E=(i==null?void 0:i.total_count)??0,s={currentPage:((A=i==null?void 0:i.page_info)==null?void 0:A.current_page)??1,pageSize:((m=i==null?void 0:i.page_info)==null?void 0:m.page_size)??20,totalPages:((g=i==null?void 0:i.page_info)==null?void 0:g.total_pages)??1};return{totalCount:E,pageInfo:s,purchaseOrderItems:((i==null?void 0:i.items)||[]).map(U)}}).catch(b);export{C as P,v as a,B as g,J as r,U as t};
113
113
  //# sourceMappingURL=getPurchaseOrders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/lib/fetch-error.ts","/@dropins/storefront-purchase-order/src/lib/network-error.ts","/@dropins/storefront-purchase-order/src/lib/case-converter.ts","/@dropins/storefront-purchase-order/src/api/fetch-graphql/fetch-graphql.ts","/@dropins/storefront-purchase-order/src/api/graphql/PurchaseOrdersFragment.graphql.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/approvePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/rejectPurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/getPurchaseOrders.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/** Actions */\nexport const handleFetchError = (errors: Array<{ message: string }>) => {\n const errorMessage = errors.map((e: any) => e.message).join(' ');\n\n throw Error(errorMessage);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { events } from '@adobe-commerce/event-bus';\n\n/**\n * A function which can be attached to fetchGraphQL to handle thrown errors in\n * a generic way.\n */\nexport const handleNetworkError = (error: Error) => {\n const isAbortError =\n error instanceof DOMException && error.name === 'AbortError';\n\n const isPlaceOrderError = error.name === 'PlaceOrderError';\n\n if (!isAbortError && !isPlaceOrderError) {\n events.emit('purchase-order/error', {\n source: 'purchase-order',\n type: 'network',\n error: error.message,\n });\n }\n throw error;\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\n/**\n * Converts camelCase object keys to snake_case recursively\n */\nexport const toSnakeCase = (obj: any): any => {\n if (obj === null || obj === undefined || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(toSnakeCase);\n }\n\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n const snakeKey = key.replace(\n /[A-Z]/g,\n (letter) => `_${letter.toLowerCase()}`\n );\n result[snakeKey] = toSnakeCase(value);\n }\n return result;\n};\n\n/**\n * Converts snake_case object keys to camelCase recursively\n */\nexport const toCamelCase = (obj: any): any => {\n if (obj === null || obj === undefined || typeof obj !== 'object') {\n return obj;\n }\n\n if (Array.isArray(obj)) {\n return obj.map(toCamelCase);\n }\n\n const result: any = {};\n for (const [key, value] of Object.entries(obj)) {\n const camelKey = key.replace(/_([a-z])/g, (_, letter) =>\n letter.toUpperCase()\n );\n result[camelKey] = toCamelCase(value);\n }\n return result;\n};\n","import { FetchGraphQL } from '@adobe-commerce/fetch-graphql';\n\nexport const {\n setEndpoint,\n setFetchGraphQlHeader,\n removeFetchGraphQlHeader,\n setFetchGraphQlHeaders,\n fetchGraphQl,\n getConfig,\n} = new FetchGraphQL().getMethods();\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const PURCHASE_ORDERS_FRAGMENT = /* GraphQL */ `\n fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {\n __typename\n uid\n number\n status\n available_actions\n approval_flow {\n rule_name\n events {\n message\n name\n role\n status\n updated_at\n }\n }\n comments {\n created_at\n author {\n firstname\n lastname\n email\n }\n text\n }\n created_at\n updated_at\n created_by {\n firstname\n lastname\n email\n }\n history_log {\n activity\n created_at\n message\n uid\n }\n order {\n number\n }\n quote {\n id\n prices {\n grand_total {\n value\n currency\n }\n }\n itemsV2 {\n items {\n uid\n quantity\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const APPROVE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n approvePurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrder = (\n purchaseOrder: any\n): PurchaseOrderModel => {\n return {\n typename: purchaseOrder?.__typename ?? '',\n uid: purchaseOrder?.uid ?? '',\n number: purchaseOrder?.number ?? '',\n status: purchaseOrder?.status ?? '',\n availableActions: purchaseOrder?.available_actions ?? [],\n approvalFlow: purchaseOrder?.approval_flow\n ? {\n ruleName: purchaseOrder?.approval_flow?.rule_name ?? '',\n events:\n purchaseOrder?.approval_flow?.events?.map((event: any) => ({\n message: event?.message ?? '',\n name: event?.name ?? '',\n role: event?.role ?? '',\n status: event?.status ?? '',\n updatedAt: event?.updated_at ?? '',\n })) ?? [],\n }\n : null,\n comments:\n purchaseOrder?.comments?.map((comment: any) => ({\n createdAt: comment?.created_at ?? '',\n author: {\n firstname: comment?.author?.firstname ?? '',\n lastname: comment?.author?.lastname ?? '',\n email: comment?.author?.email ?? '',\n },\n text: comment?.text ?? '',\n })) ?? [],\n createdAt: purchaseOrder?.created_at ?? '',\n updatedAt: purchaseOrder?.updated_at ?? '',\n createdBy: {\n firstname: purchaseOrder?.created_by?.firstname ?? '',\n lastname: purchaseOrder?.created_by?.lastname ?? '',\n email: purchaseOrder?.created_by?.email ?? '',\n },\n historyLog:\n purchaseOrder?.history_log?.map((log: any) => ({\n activity: log?.activity ?? '',\n createdAt: log?.created_at ?? '',\n message: log?.message ?? '',\n uid: log?.uid ?? '',\n })) ?? [],\n order: {\n orderNumber: purchaseOrder?.order?.number ?? '',\n id: purchaseOrder?.order?.id ?? '',\n },\n quote: {\n id: purchaseOrder?.quote?.id ?? '',\n prices: {\n grandTotal: {\n value: purchaseOrder?.quote?.prices?.grand_total?.value ?? 0,\n currency: purchaseOrder?.quote?.prices?.grand_total?.currency ?? '',\n },\n },\n itemsV2: {\n items:\n purchaseOrder?.quote?.itemsV2?.items?.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n })) ?? [],\n },\n },\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { APPROVE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const approvePurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(APPROVE_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.approvePurchaseOrders;\n if (!data) {\n throw new Error('Failed to approve purchase orders');\n }\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders:\n data?.purchase_orders?.map((order: any) =>\n transformPurchaseOrder(order)\n ) ?? [],\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const REJECT_PURCHASE_ORDERS = /* GraphQL */ `\n mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n rejectPurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { REJECT_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const rejectPurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(REJECT_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.rejectPurchaseOrders;\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders: (data?.purchase_orders ?? []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/fragments';\n\nexport const GET_PURCHASE_ORDERS = /* GraphQL */ `\n query GET_PURCHASE_ORDERS(\n $filter: PurchaseOrdersFilterInput\n $pageSize: Int\n $currentPage: Int\n ) {\n customer {\n purchase_orders(\n filter: $filter\n pageSize: $pageSize\n currentPage: $currentPage\n ) {\n total_count\n page_info {\n current_page\n page_size\n total_pages\n }\n items {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { toSnakeCase } from '@/b2b-purchase-order/lib';\n\nexport const getPurchaseOrders = async (\n filter?: any,\n pageSize: number = 20,\n currentPage: number = 1\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n purchaseOrderItems: PurchaseOrderModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDERS, {\n variables: {\n filter: toSnakeCase(filter),\n pageSize,\n currentPage,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (!response.data?.customer?.purchase_orders) {\n throw new Error('Failed to get purchase orders');\n }\n\n const purchaseOrdersData = response?.data?.customer?.purchase_orders;\n const totalCount = purchaseOrdersData?.total_count ?? 0;\n const pageInfo = {\n currentPage: purchaseOrdersData?.page_info?.current_page ?? 1,\n pageSize: purchaseOrdersData?.page_info?.page_size ?? 20,\n totalPages: purchaseOrdersData?.page_info?.total_pages ?? 1,\n };\n\n return {\n totalCount,\n pageInfo,\n purchaseOrderItems: (purchaseOrdersData?.items || []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["handleFetchError","errors","errorMessage","e","handleNetworkError","error","isAbortError","isPlaceOrderError","events","toSnakeCase","obj","result","key","value","snakeKey","letter","setEndpoint","setFetchGraphQlHeader","removeFetchGraphQlHeader","setFetchGraphQlHeaders","fetchGraphQl","getConfig","FetchGraphQL","PURCHASE_ORDERS_FRAGMENT","APPROVE_PURCHASE_ORDERS","transformPurchaseOrder","purchaseOrder","_a","_c","_b","event","_d","comment","_e","_f","_g","_h","log","_i","_j","_k","_n","_m","_l","_q","_p","_o","_t","_s","_r","item","approvePurchaseOrders","uids","uidArray","uid","response","data","order","REJECT_PURCHASE_ORDERS","rejectPurchaseOrders","GET_PURCHASE_ORDERS","getPurchaseOrders","filter","pageSize","currentPage","purchaseOrdersData","totalCount","pageInfo"],"mappings":"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"}
1
+ {"version":3,"file":"getPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/api/graphql/PurchaseOrdersFragment.graphql.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order.ts","/@dropins/storefront-purchase-order/src/api/approvePurchaseOrders/approvePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/rejectPurchaseOrders/rejectPurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrders/getPurchaseOrders.ts"],"sourcesContent":["/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const PURCHASE_ORDERS_FRAGMENT = /* GraphQL */ `\n fragment PURCHASE_ORDERS_FRAGMENT on PurchaseOrder {\n __typename\n uid\n number\n status\n available_actions\n approval_flow {\n rule_name\n events {\n message\n name\n role\n status\n updated_at\n }\n }\n comments {\n created_at\n author {\n firstname\n lastname\n email\n }\n text\n }\n created_at\n updated_at\n created_by {\n firstname\n lastname\n email\n }\n history_log {\n activity\n created_at\n message\n uid\n }\n order {\n number\n }\n quote {\n id\n prices {\n grand_total {\n value\n currency\n }\n }\n itemsV2 {\n items {\n uid\n quantity\n }\n }\n }\n }\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const APPROVE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation APPROVE_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n approvePurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrder = (\n purchaseOrder: any\n): PurchaseOrderModel => {\n return {\n typename: purchaseOrder?.__typename ?? '',\n uid: purchaseOrder?.uid ?? '',\n number: purchaseOrder?.number ?? '',\n status: purchaseOrder?.status ?? '',\n availableActions: purchaseOrder?.available_actions ?? [],\n approvalFlow: purchaseOrder?.approval_flow\n ? {\n ruleName: purchaseOrder?.approval_flow?.rule_name ?? '',\n events:\n purchaseOrder?.approval_flow?.events?.map((event: any) => ({\n message: event?.message ?? '',\n name: event?.name ?? '',\n role: event?.role ?? '',\n status: event?.status ?? '',\n updatedAt: event?.updated_at ?? '',\n })) ?? [],\n }\n : null,\n comments:\n purchaseOrder?.comments?.map((comment: any) => ({\n createdAt: comment?.created_at ?? '',\n author: {\n firstname: comment?.author?.firstname ?? '',\n lastname: comment?.author?.lastname ?? '',\n email: comment?.author?.email ?? '',\n },\n text: comment?.text ?? '',\n })) ?? [],\n createdAt: purchaseOrder?.created_at ?? '',\n updatedAt: purchaseOrder?.updated_at ?? '',\n createdBy: {\n firstname: purchaseOrder?.created_by?.firstname ?? '',\n lastname: purchaseOrder?.created_by?.lastname ?? '',\n email: purchaseOrder?.created_by?.email ?? '',\n },\n historyLog:\n purchaseOrder?.history_log?.map((log: any) => ({\n activity: log?.activity ?? '',\n createdAt: log?.created_at ?? '',\n message: log?.message ?? '',\n uid: log?.uid ?? '',\n })) ?? [],\n order: {\n orderNumber: purchaseOrder?.order?.number ?? '',\n id: purchaseOrder?.order?.id ?? '',\n },\n quote: {\n id: purchaseOrder?.quote?.id ?? '',\n prices: {\n grandTotal: {\n value: purchaseOrder?.quote?.prices?.grand_total?.value ?? 0,\n currency: purchaseOrder?.quote?.prices?.grand_total?.currency ?? '',\n },\n },\n itemsV2: {\n items:\n purchaseOrder?.quote?.itemsV2?.items?.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n })) ?? [],\n },\n },\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { APPROVE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/approvePurchaseOrders/graphql/approvePurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const approvePurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(APPROVE_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.approvePurchaseOrders;\n if (!data) {\n throw new Error('Failed to approve purchase orders');\n }\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders:\n data?.purchase_orders?.map((order: any) =>\n transformPurchaseOrder(order)\n ) ?? [],\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/graphql/PurchaseOrdersFragment.graphql';\n\nexport const REJECT_PURCHASE_ORDERS = /* GraphQL */ `\n mutation REJECT_PURCHASE_ORDERS($input: PurchaseOrdersActionInput!) {\n rejectPurchaseOrders(input: $input) {\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n errors {\n message\n type\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { REJECT_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/rejectPurchaseOrders/graphql/rejectPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const rejectPurchaseOrders = async (\n uids: string | string[]\n): Promise<{\n errors: { message: string; type: string }[];\n purchaseOrders: PurchaseOrderModel[];\n}> => {\n const uidArray = Array.isArray(uids) ? uids : [uids];\n\n if (!uidArray || uidArray.length === 0) {\n throw new Error('Purchase Order UID(s) are required');\n }\n\n if (uidArray.some((uid) => !uid || uid.trim() === '')) {\n throw new Error('All Purchase Order UIDs must be valid');\n }\n\n const input = {\n purchase_order_uids: uidArray,\n };\n\n return fetchGraphQl(REJECT_PURCHASE_ORDERS, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const data = response.data?.rejectPurchaseOrders;\n\n return {\n errors: (data?.errors ?? []).map((error: any) => ({\n message: error?.message ?? '',\n type: error?.type ?? '',\n })),\n purchaseOrders: (data?.purchase_orders ?? []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { PURCHASE_ORDERS_FRAGMENT } from '@/b2b-purchase-order/api/fragments';\n\nexport const GET_PURCHASE_ORDERS = /* GraphQL */ `\n query GET_PURCHASE_ORDERS(\n $filter: PurchaseOrdersFilterInput\n $pageSize: Int\n $currentPage: Int\n ) {\n customer {\n purchase_orders(\n filter: $filter\n pageSize: $pageSize\n currentPage: $currentPage\n ) {\n total_count\n page_info {\n current_page\n page_size\n total_pages\n }\n items {\n ...PURCHASE_ORDERS_FRAGMENT\n }\n }\n }\n }\n ${PURCHASE_ORDERS_FRAGMENT}\n`;\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { fetchGraphQl } from '@/b2b-purchase-order/api/fetch-graphql';\nimport { handleNetworkError } from '@/b2b-purchase-order/lib/network-error';\nimport { handleFetchError } from '@/b2b-purchase-order/lib/fetch-error';\nimport { GET_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/getPurchaseOrders/graphql/getPurchaseOrders.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { toSnakeCase } from '@/b2b-purchase-order/lib';\n\nexport const getPurchaseOrders = async (\n filter?: any,\n pageSize: number = 20,\n currentPage: number = 1\n): Promise<{\n totalCount: number;\n pageInfo: {\n currentPage: number;\n pageSize: number;\n totalPages: number;\n };\n purchaseOrderItems: PurchaseOrderModel[];\n}> => {\n return fetchGraphQl(GET_PURCHASE_ORDERS, {\n variables: {\n filter: toSnakeCase(filter),\n pageSize,\n currentPage,\n },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n if (!response.data?.customer?.purchase_orders) {\n throw new Error('Failed to get purchase orders');\n }\n\n const purchaseOrdersData = response?.data?.customer?.purchase_orders;\n const totalCount = purchaseOrdersData?.total_count ?? 0;\n const pageInfo = {\n currentPage: purchaseOrdersData?.page_info?.current_page ?? 1,\n pageSize: purchaseOrdersData?.page_info?.page_size ?? 20,\n totalPages: purchaseOrdersData?.page_info?.total_pages ?? 1,\n };\n\n return {\n totalCount,\n pageInfo,\n purchaseOrderItems: (purchaseOrdersData?.items || []).map(\n transformPurchaseOrder\n ),\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["PURCHASE_ORDERS_FRAGMENT","APPROVE_PURCHASE_ORDERS","transformPurchaseOrder","purchaseOrder","_a","_c","_b","event","_d","comment","_e","_f","_g","_h","log","_i","_j","_k","_n","_m","_l","_q","_p","_o","_t","_s","_r","item","approvePurchaseOrders","uids","uidArray","uid","fetchGraphQl","response","handleFetchError","data","error","order","handleNetworkError","REJECT_PURCHASE_ORDERS","rejectPurchaseOrders","GET_PURCHASE_ORDERS","getPurchaseOrders","filter","pageSize","currentPage","toSnakeCase","purchaseOrdersData","totalCount","pageInfo"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{jsxs as h,Fragment as U,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{InLineAlert as z,Table as A,Pagination as F,Picker as H,Card as I}from"@dropins/tools/components.js";import{classes as T}from"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"./FormLoader.js";import{useText as S,Text as u}from"@dropins/tools/i18n.js";const Q=a=>{try{return new URL(a,window.location.origin).origin===window.location.origin}catch{return a.startsWith("/")||a.startsWith("./")||a.startsWith("../")}},V=(a,r,t)=>{if(t<=0)return{from:0,to:0,total:0};const l=Math.max(1,Math.ceil(t/r)),c=Math.min(Math.max(a,1),l),i=(c-1)*r+1,n=Math.min(c*r,t);return{from:i,to:n,total:t}},X=({pageSizeConfig:a,totalCount:r=0,columns:t=[],rows:l=[],paginationConfig:c,alertMessageConfig:i={heading:"",description:"",type:"success"},loading:n=!1,className:p="",variant:N="secondary",skeletonRowCount:O=10,emptyTitle:w,header:m,footer:g,withWrapper:y})=>{var x;const M=S({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:b,description:f,type:C}=i,{currentPage:v,totalPages:_,handlePageChange:k}=c,{pageSizeOptionsList:s,onChange:R}=a,d=s==null?void 0:s.find(o=>o.selected),W=d&&d.value!==void 0?Number(d.value):0,{from:j,to:D,total:L}=V(v,W,r),P=h(U,{children:[b||f?e(z,{heading:b,description:f,type:C}):null,m?e("div",{className:"purchase-orders-table__header",children:m}):null,e(A,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:t,rowData:l,loading:n,skeletonRowCount:+O}),!n&&l.length===0&&e("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:e("p",{children:w||M.title})}),r>0?h("div",{className:"purchase-orders-table__pagination-wrapper",children:[e("div",{className:"purchase-orders-table__pagination-counter",children:e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:j,to:D,total:L}})}),_>1&&e(F,{className:"purchase-orders-table__pagination",currentPage:v,totalPages:_,onChange:k}),r>0&&s.length?h("div",{className:"purchase-orders-table__pagination-page-size",children:[e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),e(H,{disabled:n,handleSelect:R,options:s,value:((x=s==null?void 0:s.find(o=>o.selected))==null?void 0:x.value)||""}),e(u,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end"})]}):null]}):null,g?e("div",{className:"purchase-orders-table__footer",children:g}):null]});return y?e(I,{variant:N,"data-testid":"purchaseOrdersTable",className:T(["b2b-purchase-order-purchase-orders-table",p]),children:P}):e("div",{"data-testid":"purchaseOrdersTable",className:T(["b2b-purchase-order-purchase-orders-table",p]),children:P})},Y=[{text:"10",value:"10",selected:!1},{text:"20",value:"20",selected:!0},{text:"30",value:"30",selected:!1},{text:"50",value:"50",selected:!1}];export{X as P,Y as d,Q as i};
4
+ //# sourceMappingURL=pageSize.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageSize.config.js","sources":["/@dropins/storefront-purchase-order/src/lib/isValidUrl.ts","/@dropins/storefront-purchase-order/src/lib/getRange.ts","/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTable/PurchaseOrdersTable.tsx","/@dropins/storefront-purchase-order/src/configs/pageSize.config.ts"],"sourcesContent":["export const isValidUrl = (url: string): boolean => {\n try {\n const parsed = new URL(url, window.location.origin);\n // Only allow relative paths or same-origin URLs\n return parsed.origin === window.location.origin;\n } catch {\n // If it's not a valid URL, check if it's a relative path\n return url.startsWith('/') || url.startsWith('./') || url.startsWith('../');\n }\n};\n","export const getRange = (\n currentPage: number,\n pageSize: number,\n total: number\n) => {\n if (total <= 0) return { from: 0, to: 0, total: 0 };\n const maxPage = Math.max(1, Math.ceil(total / pageSize));\n const p = Math.min(Math.max(currentPage, 1), maxPage);\n const from = (p - 1) * pageSize + 1;\n const to = Math.min(p * pageSize, total);\n\n return { from, to, total };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport {\n Table,\n Pagination,\n Card,\n Picker,\n InLineAlert,\n} from '@adobe-commerce/elsie/components';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTableProps,\n TableColumn,\n} from '@/b2b-purchase-order/types/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { getRange } from '@/b2b-purchase-order/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTable/PurchaseOrdersTable.css';\n\nexport const PurchaseOrdersTable: FunctionComponent<\n PurchaseOrdersTableProps\n> = ({\n pageSizeConfig,\n totalCount = 0,\n columns = [],\n rows = [],\n paginationConfig,\n alertMessageConfig = {\n heading: '',\n description: '',\n type: 'success',\n },\n loading = false,\n className = '',\n variant = 'secondary',\n skeletonRowCount = 10,\n emptyTitle,\n header,\n footer,\n withWrapper,\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default',\n });\n\n const {\n heading: alertMessageHeading,\n description: alertMessageDescription,\n type: alertMessageType,\n } = alertMessageConfig;\n\n const { currentPage, totalPages, handlePageChange } = paginationConfig;\n const { pageSizeOptionsList, onChange } = pageSizeConfig;\n\n // Extract pageSize value safely\n const selectedPageSizeOption = pageSizeOptionsList?.find(\n (option) => option.selected\n );\n const pageSize =\n selectedPageSizeOption && selectedPageSizeOption.value !== undefined\n ? Number(selectedPageSizeOption.value)\n : 0;\n const { from, to, total } = getRange(currentPage, pageSize, totalCount);\n\n const content = (\n <>\n {alertMessageHeading || alertMessageDescription ? (\n <InLineAlert\n heading={alertMessageHeading}\n description={alertMessageDescription}\n type={alertMessageType}\n />\n ) : null}\n\n {header ? (\n <div className=\"purchase-orders-table__header\">{header}</div>\n ) : null}\n\n <Table\n className=\"purchase-orders-table__table-wrapper\"\n mobileLayout=\"stacked\"\n columns={columns as TableColumn[]}\n rowData={rows}\n loading={loading}\n skeletonRowCount={+skeletonRowCount}\n />\n {!loading && rows.length === 0 && (\n <div\n className=\"purchase-orders-table__empty-state\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <p>{emptyTitle || t.title}</p>\n </div>\n )}\n\n {totalCount > 0 ? (\n <div className=\"purchase-orders-table__pagination-wrapper\">\n <div className=\"purchase-orders-table__pagination-counter\">\n <Text\n id=\"PurchaseOrders.purchaseOrdersTable.pagination.status\"\n fields={{\n from,\n to,\n total,\n }}\n />\n </div>\n {totalPages > 1 && (\n <Pagination\n className=\"purchase-orders-table__pagination\"\n currentPage={currentPage}\n totalPages={totalPages}\n onChange={handlePageChange}\n />\n )}\n {totalCount > 0 && pageSizeOptionsList.length ? (\n <div className=\"purchase-orders-table__pagination-page-size\">\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start\" />\n <Picker\n disabled={loading}\n handleSelect={onChange}\n options={pageSizeOptionsList}\n value={\n pageSizeOptionsList?.find((option) => option.selected)\n ?.value || ''\n }\n />\n <Text id=\"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end\" />\n </div>\n ) : null}\n </div>\n ) : null}\n\n {footer ? (\n <div className=\"purchase-orders-table__footer\">{footer}</div>\n ) : null}\n </>\n );\n\n if (!withWrapper) {\n return (\n <div\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </div>\n );\n }\n\n return (\n <Card\n variant={variant}\n data-testid=\"purchaseOrdersTable\"\n className={classes([\n 'b2b-purchase-order-purchase-orders-table',\n className,\n ])}\n >\n {content}\n </Card>\n );\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nexport const defaultPageSizeConfig = [\n {\n text: '10',\n value: '10',\n selected: false,\n },\n {\n text: '20',\n value: '20',\n selected: true,\n },\n {\n text: '30',\n value: '30',\n selected: false,\n },\n {\n text: '50',\n value: '50',\n selected: false,\n },\n];\n"],"names":["isValidUrl","url","getRange","currentPage","pageSize","total","maxPage","p","from","to","PurchaseOrdersTable","pageSizeConfig","totalCount","columns","rows","paginationConfig","alertMessageConfig","loading","className","variant","skeletonRowCount","emptyTitle","header","footer","withWrapper","t","useText","alertMessageHeading","alertMessageDescription","alertMessageType","totalPages","handlePageChange","pageSizeOptionsList","onChange","selectedPageSizeOption","option","content","jsxs","Fragment","jsx","InLineAlert","Table","Text","Pagination","Picker","_a","Card","classes","defaultPageSizeConfig"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ const x=t=>{const s=_=>({id:(_==null?void 0:_.id)||"",name:(_==null?void 0:_.name)||"",usersCount:(_==null?void 0:_.users_count)||0,permissions:((_==null?void 0:_.permissions)||[]).map(y=>({id:(y==null?void 0:y.id)||"",sortOrder:(y==null?void 0:y.sort_order)||0,text:(y==null?void 0:y.text)||""}))}),f=_=>{var y,b;return{attribute:_==null?void 0:_.attribute,operator:_==null?void 0:_.operator,quantity:(_==null?void 0:_.quantity)||0,amount:{currency:((y=_==null?void 0:_.amount)==null?void 0:y.currency)||"USD",value:((b=_==null?void 0:_.amount)==null?void 0:b.value)||0}}};return{uid:(t==null?void 0:t.uid)||"",name:(t==null?void 0:t.name)||"",description:(t==null?void 0:t.description)||"",status:t==null?void 0:t.status,createdAt:(t==null?void 0:t.created_at)||"",updatedAt:(t==null?void 0:t.updated_at)||"",createdBy:t==null?void 0:t.created_by,appliesToRoles:((t==null?void 0:t.applies_to_roles)||[]).map(s),approverRoles:((t==null?void 0:t.approver_roles)||[]).map(s),condition:f((t==null?void 0:t.condition)||{})}};export{x as t};
4
+ //# sourceMappingURL=transform-purchase-order-approval-rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-purchase-order-approval-rule.js","sources":["/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-approval-rule.ts"],"sourcesContent":["import { PurchaseOrderApprovalRuleModel } from '../models/purchase-order-approval-rule-model';\n\nexport const transformPurchaseOrderApprovalRule = (\n approvalRule: any\n): PurchaseOrderApprovalRuleModel => {\n // Transform company role helper function\n const transformCompanyRole = (role: any) => ({\n id: role?.id || '',\n name: role?.name || '',\n usersCount: role?.users_count || 0,\n permissions: (role?.permissions || []).map((permission: any) => ({\n id: permission?.id || '',\n sortOrder: permission?.sort_order || 0,\n text: permission?.text || '',\n })),\n });\n\n // Transform condition helper function\n const transformCondition = (condition: any) => ({\n attribute: condition?.attribute,\n operator: condition?.operator,\n quantity: condition?.quantity || 0,\n amount: {\n currency: condition?.amount?.currency || 'USD',\n value: condition?.amount?.value || 0,\n },\n });\n\n return {\n uid: approvalRule?.uid || '',\n name: approvalRule?.name || '',\n description: approvalRule?.description || '',\n status: approvalRule?.status,\n createdAt: approvalRule?.created_at || '',\n updatedAt: approvalRule?.updated_at || '',\n createdBy: approvalRule?.created_by,\n appliesToRoles: (approvalRule?.applies_to_roles || []).map(\n transformCompanyRole\n ),\n approverRoles: (approvalRule?.approver_roles || []).map(\n transformCompanyRole\n ),\n condition: transformCondition(approvalRule?.condition || {}),\n };\n};\n"],"names":["transformPurchaseOrderApprovalRule","approvalRule","transformCompanyRole","role","permission","transformCondition","condition","_a","_b"],"mappings":"AAEO,MAAMA,EACXC,GACmC,CAEnC,MAAMC,EAAwBC,IAAe,CAC3C,IAAIA,GAAA,YAAAA,EAAM,KAAM,GAChB,MAAMA,GAAA,YAAAA,EAAM,OAAQ,GACpB,YAAYA,GAAA,YAAAA,EAAM,cAAe,EACjC,cAAcA,GAAA,YAAAA,EAAM,cAAe,CAAA,GAAI,IAAKC,IAAqB,CAC/D,IAAIA,GAAA,YAAAA,EAAY,KAAM,GACtB,WAAWA,GAAA,YAAAA,EAAY,aAAc,EACrC,MAAMA,GAAA,YAAAA,EAAY,OAAQ,EAAA,EAC1B,CAAA,GAIEC,EAAsBC,GAAA,CAhBvB,IAAAC,EAAAC,EAgB2C,OAC9C,UAAWF,GAAA,YAAAA,EAAW,UACtB,SAAUA,GAAA,YAAAA,EAAW,SACrB,UAAUA,GAAA,YAAAA,EAAW,WAAY,EACjC,OAAQ,CACN,WAAUC,EAAAD,GAAA,YAAAA,EAAW,SAAX,YAAAC,EAAmB,WAAY,MACzC,QAAOC,EAAAF,GAAA,YAAAA,EAAW,SAAX,YAAAE,EAAmB,QAAS,CAAA,CACrC,GAGF,MAAO,CACL,KAAKP,GAAA,YAAAA,EAAc,MAAO,GAC1B,MAAMA,GAAA,YAAAA,EAAc,OAAQ,GAC5B,aAAaA,GAAA,YAAAA,EAAc,cAAe,GAC1C,OAAQA,GAAA,YAAAA,EAAc,OACtB,WAAWA,GAAA,YAAAA,EAAc,aAAc,GACvC,WAAWA,GAAA,YAAAA,EAAc,aAAc,GACvC,UAAWA,GAAA,YAAAA,EAAc,WACzB,iBAAiBA,GAAA,YAAAA,EAAc,mBAAoB,CAAA,GAAI,IACrDC,CAAA,EAEF,gBAAgBD,GAAA,YAAAA,EAAc,iBAAkB,CAAA,GAAI,IAClDC,CAAA,EAEF,UAAWG,GAAmBJ,GAAA,YAAAA,EAAc,YAAa,CAAA,CAAE,CAAA,CAE/D"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as q,Fragment as ce,jsx as i}from"@dropins/tools/preact-jsx-runtime.js";import{InLineAlert as oe,Table as ie,Pagination as le,Picker as de,Card as ue,Header as pe}from"@dropins/tools/components.js";import{classes as K}from"@dropins/tools/lib.js";import{events as X}from"@dropins/tools/event-bus.js";/* empty css */import{useText as he,Text as j}from"@dropins/tools/i18n.js";import{useState as C,useEffect as G,useCallback as R,useMemo as z}from"@dropins/tools/preact-hooks.js";import{g as ge,r as me,a as Pe}from"./getPurchaseOrders.js";const fe=a=>{try{return new URL(a,window.location.origin).origin===window.location.origin}catch{return a.startsWith("/")||a.startsWith("./")||a.startsWith("../")}},ee=(a,o="en-US")=>{try{const t=new Date(a);return isNaN(t.getTime())?a:t.toLocaleString(o,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0})}catch{return a}},Oe=(a,o,t)=>{if(t<=0)return{from:0,to:0,total:0};const d=Math.max(1,Math.ceil(t/o)),u=Math.min(Math.max(a,1),d),c=(u-1)*o+1,l=Math.min(u*o,t);return{from:c,to:l,total:t}},Me=({pageSizeConfig:a,totalCount:o=0,columns:t=[],rows:d=[],paginationConfig:u,alertMessageConfig:c={heading:"",description:"",type:"success"},loading:l=!1,className:P="",variant:E="secondary",skeletonRowCount:p=10,emptyTitle:g,header:_,footer:m,withWrapper:S})=>{var M,N;const v=he({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:L,description:I,type:y}=c,{currentPage:U,totalPages:w,handlePageChange:A}=u,{pageSizeOptionsList:h,onChange:k}=a,{from:F,to:$,total:B}=Oe(U,+((M=h.find(T=>T.selected))==null?void 0:M.value)||0,o),f=q(ce,{children:[L||I?i(oe,{heading:L,description:I,type:y}):null,_?i("div",{className:"purchase-orders-table__header",children:_}):null,i(ie,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:t,rowData:d,loading:l,skeletonRowCount:+p}),!l&&d.length===0&&i("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:i("p",{children:g||v.title})}),o>0?q("div",{className:"purchase-orders-table__pagination-wrapper",children:[o?i("div",{className:"purchase-orders-table__pagination-counter",children:i(j,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:F,to:$,total:B}})}):null,w>1&&i(le,{className:"purchase-orders-table__pagination",currentPage:U,totalPages:w,onChange:A}),o>0&&h.length?q("div",{className:"purchase-orders-table__pagination-page-size",children:[i(j,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),i(de,{disabled:l,handleSelect:k,options:h,value:((N=h.find(T=>T.selected))==null?void 0:N.value)||""}),i(j,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.end"})]}):null]}):null,m?i("div",{className:"purchase-orders-table__footer",children:m}):null]});return S?i(ue,{variant:E,"data-testid":"addressCard",className:K(["b2b-purchase-order-purchase-orders-table",P]),children:f}):i("div",{"data-testid":"addressCard",className:K(["b2b-purchase-order-purchase-orders-table",P]),children:f})},Ne=({headerText:a})=>i(pe,{title:a,divider:!1,className:"purchase-orders-header","data-testid":"purchase-orders-header"});var Q=(a=>(a.CUSTOMER_PURCHASE_ORDERS="customerPurchaseOrders",a.COMPANY_PURCHASE_ORDERS="companyPurchaseOrders",a.CUSTOMER_APPROVAL_PURCHASE_ORDERS="customerApprovalPurchaseOrders",a))(Q||{});const Te=[{text:"10",value:"10",selected:!1},{text:"20",value:"20",selected:!0},{text:"30",value:"30",selected:!1},{text:"50",value:"50",selected:!1}],re=[{key:"action",label:"Action"},{key:"poNumber",label:"PO #"},{key:"orderNumber",label:"Order #"},{key:"status",label:"Status"},{key:"createdBy",label:"Created By"},{key:"total",label:"Total"},{key:"createdDate",label:"Created"},{key:"updatedDate",label:"Updated"}],be=[{key:"checkboxView",label:""},...re],_e=20,De=({view:a,initialPageSize:o,routePurchaseOrderDetails:t,setColumns:d,setRowsData:u,t:c,permissions:l,loadingPermissions:P})=>{const E=a===Q.COMPANY_PURCHASE_ORDERS,p=a===Q.CUSTOMER_APPROVAL_PURCHASE_ORDERS,[g,_]=C([]),[m,S]=C([]),[v,L]=C(o),[I,y]=C(!0),[U,w]=C({currentPage:1,totalPages:1,totalCount:0}),[A,h]=C({heading:"",description:"",type:"success"});G(()=>{if(A.heading||A.description){const r=setTimeout(()=>{h({heading:"",description:"",type:"success"})},7e3);return()=>clearTimeout(r)}},[A.heading,A.description]);const{currentPage:k,totalPages:F,totalCount:$}=U,B=R(r=>{const n=r.target.value;L(e=>e.map(s=>({...s,selected:s.value===n})))},[]),f=(l==null?void 0:l.isAdmin)??!1,M=z(()=>{let r={};return E&&(r={companyPurchaseOrders:!0}),p&&(r={requireMyApproval:!0}),r},[E,p]);G(()=>{var e;if(P)return;y(!0);const r=(e=v==null?void 0:v.find(s=>s.selected))==null?void 0:e.value,n=parseInt(r??_e.toString(),10);ge(M,n,k).then(s=>{var D,x;const O=(s==null?void 0:s.purchaseOrderItems)??[],b=(D=s==null?void 0:s.pageInfo)==null?void 0:D.currentPage,V=(x=s==null?void 0:s.pageInfo)==null?void 0:x.totalPages,H=s==null?void 0:s.totalCount;w({currentPage:b,totalPages:V,totalCount:H}),S(O)}).catch(s=>{console.error("Failed to fetch purchase orders:",s)}).finally(()=>{y(!1)})},[k,v,M,P]);const N=R(r=>{const n=t==null?void 0:t(r);return fe(n??"")?n:"#"},[t]),T=R(r=>{w(n=>({...n,currentPage:r}))},[]),W=R(r=>{const n=r.target.value,e=r.target.checked;_(s=>e?[...s,n]:s.filter(O=>O!==n))},[]),Y=R(r=>{const n=r.target.checked;_(()=>n?m.filter(e=>["PENDING","APPROVAL_REQUIRED"].includes(e.status)).map(e=>e.uid??""):[])},[m]),se=R(()=>{me(g).then(r=>{const n=(r==null?void 0:r.purchaseOrders)??[];S(e=>e.map(s=>n.find(b=>b.uid===s.uid)??s)),h({heading:c.alertHeaderReject,description:c.alertDescriptionReject,type:"success"}),_([])}).catch(r=>{h({heading:c.alertHeaderError,description:c.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{y(!1)})},[g,c]),ae=R(()=>{y(!0),Pe(g).then(r=>{const n=(r==null?void 0:r.purchaseOrders)??[];S(e=>e.map(s=>n.find(b=>b.uid===s.uid)??s)),h({heading:c.alertHeaderApprove,description:c.alertDescriptionApprove,type:"success"}),_([])}).catch(r=>{h({heading:c.alertHeaderError,description:c.alertDescriptionError,type:"error"}),console.error(r)}).finally(()=>{y(!1)})},[g,c]),te=z(()=>{const r=E||p?be:re;return(d==null?void 0:d(r))??r.map(n=>n.key==="checkboxView"&&(f||p)?{key:n.key,label:i("input",{type:"checkbox",name:"selectAll",disabled:m.every(e=>!["PENDING","APPROVAL_REQUIRED"].includes(e.status)),onChange:Y}),ariaLabel:c.selectAllAriaLabel}:{...n,label:c[n.key]||n.label})},[c,f,E,p,d,m,Y]),ne=z(()=>{const r=m.map(e=>{var O,b,V,H,D,x,Z,J;const s=e.number??"";return{...f||p?{checkboxView:i("input",{type:"checkbox",name:s,value:e.uid,checked:g.includes(e.uid),onChange:W,disabled:!["PENDING","APPROVAL_REQUIRED"].includes(e.status)})}:{},poNumber:s,orderNumber:e.order.orderNumber,createdDate:ee(e.createdAt),updatedDate:ee(e.updatedAt),createdBy:`${((O=e.createdBy)==null?void 0:O.firstname)??""} ${((b=e.createdBy)==null?void 0:b.lastname)??""}`.trim(),status:i(j,{id:`PurchaseOrders.purchaseOrdersTable.statusOrder.${e.status.toLowerCase()}`}),total:`${(D=(H=(V=e==null?void 0:e.quote)==null?void 0:V.prices)==null?void 0:H.grandTotal)==null?void 0:D.value} ${(J=(Z=(x=e==null?void 0:e.quote)==null?void 0:x.prices)==null?void 0:Z.grandTotal)==null?void 0:J.currency}`,action:i("a",{href:N(s),"aria-label":`View purchase order ${s}`,children:c.actionView})}});let n=r;if(u){const e=u(r);e!==void 0&&Array.isArray(e)&&(n=e)}return n},[m,u,f,p,g,W,N,c.actionView]);return{totalCount:$,loading:I,tableConfig:{columns:te,rows:ne},paginationConfig:{currentPage:k,totalPages:F,handlePageChange:T},pageSizeConfig:{pageSizeOptionsList:v,onChange:B},selectedOrderIds:g,handleRejectSelected:se,handleApproveSelected:ae,isAdmin:f,isRequireApprovalPOsView:p,alertMessageConfig:A}},ve=a=>{if(!a)return{isAdmin:!1,purchaseOrderEnabled:!1,role:{id:"",name:""},permissions:{purchaseOrderAll:!1,viewPurchaseOrders:!1,viewPurchaseOrdersForSubordinates:!1,viewPurchaseOrdersForCompany:!1,autoApprovePurchaseOrder:!1,superApprovePurchaseOrder:!1,viewApprovalRules:!1,manageApprovalRules:!1}};const o=a.admin===!0,t=l=>{const P=a[l];return P===!1?!1:P===!0?!0:o},d={purchaseOrderAll:t("Magento_PurchaseOrder::all"),viewPurchaseOrders:t("Magento_PurchaseOrder::view_purchase_orders"),viewPurchaseOrdersForSubordinates:t("Magento_PurchaseOrder::view_purchase_orders_for_subordinates"),viewPurchaseOrdersForCompany:t("Magento_PurchaseOrder::view_purchase_orders_for_company"),autoApprovePurchaseOrder:t("Magento_PurchaseOrder::autoapprove_purchase_order"),superApprovePurchaseOrder:t("Magento_PurchaseOrderRule::super_approve_purchase_order"),viewApprovalRules:t("Magento_PurchaseOrderRule::view_approval_rules"),manageApprovalRules:t("Magento_PurchaseOrderRule::manage_approval_rules")},c=Object.values(a).some(l=>l===!1)?!1:Object.values(d).some(l=>l===!0);return{isAdmin:o,purchaseOrderEnabled:c,role:{id:"",name:o?"Company Administrator":""},permissions:d}},xe=()=>{const a=X.lastPayload("auth/permissions"),[o,t]=C(a);G(()=>{const c=X.on("auth/permissions",l=>{t(l)},{eager:!0});return()=>{c==null||c.off()}},[]);const d=!o;return{permissions:z(()=>ve(o),[o]),loadingPermissions:d}};export{Q as E,Ne as P,De as a,Me as b,Te as d,xe as u};
3
+ import{useState as l,useEffect as p,useMemo as c}from"@dropins/tools/preact-hooks.js";import{events as i}from"@dropins/tools/event-bus.js";const d=a=>{if(!a)return{isAdmin:!1,purchaseOrderEnabled:!1,role:{id:"",name:""},permissions:{purchaseOrderAll:!1,viewPurchaseOrders:!1,viewPurchaseOrdersForSubordinates:!1,viewPurchaseOrdersForCompany:!1,autoApprovePurchaseOrder:!1,superApprovePurchaseOrder:!1,viewApprovalRules:!1,manageApprovalRules:!1}};const r=a.admin===!0,e=s=>{const n=a[s];return n===!1?!1:n===!0?!0:r},u={purchaseOrderAll:e("Magento_PurchaseOrder::all"),viewPurchaseOrders:e("Magento_PurchaseOrder::view_purchase_orders"),viewPurchaseOrdersForSubordinates:e("Magento_PurchaseOrder::view_purchase_orders_for_subordinates"),viewPurchaseOrdersForCompany:e("Magento_PurchaseOrder::view_purchase_orders_for_company"),autoApprovePurchaseOrder:e("Magento_PurchaseOrder::autoapprove_purchase_order"),superApprovePurchaseOrder:e("Magento_PurchaseOrderRule::super_approve_purchase_order"),viewApprovalRules:e("Magento_PurchaseOrderRule::view_approval_rules"),manageApprovalRules:e("Magento_PurchaseOrderRule::manage_approval_rules")},o=Object.values(a).some(s=>s===!1)?!1:Object.values(u).some(s=>s===!0);return{isAdmin:r,purchaseOrderEnabled:o,role:{id:"",name:r?"Company Administrator":""},permissions:u}},v=()=>{const a=i.lastPayload("auth/permissions"),[r,e]=l(a);p(()=>{const o=i.on("auth/permissions",s=>{e(s)},{eager:!0});return()=>{o==null||o.off()}},[]);const u=!r;return{permissions:c(()=>d(r),[r]),loadingPermissions:u}};export{v as u};
4
4
  //# sourceMappingURL=useCustomerRolePermissions.js.map