@dropins/storefront-purchase-order 0.0.5-alpha9 → 0.0.6-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 (122) hide show
  1. package/api/fetch-graphql/fetch-graphql.d.ts +16 -0
  2. package/api/fetch-graphql/index.d.ts +16 -0
  3. package/api/graphql/PurchaseOrdersFragment.graphql.d.ts +1 -1
  4. package/api/initialize/index.d.ts +16 -0
  5. package/api/permissions.d.ts +16 -0
  6. package/api.js +9 -435
  7. package/api.js.map +1 -1
  8. package/chunks/FormLoader.js +1 -1
  9. package/chunks/FormLoader.js.map +1 -1
  10. package/chunks/PurchaseOrderHistoryLogContent.js +4 -0
  11. package/chunks/PurchaseOrderHistoryLogContent.js.map +1 -0
  12. package/chunks/PurchaseOrdersHeader.js +1 -1
  13. package/chunks/PurchaseOrdersHeader.js.map +1 -1
  14. package/chunks/PurchaseOrdersTableActions.js +1 -1
  15. package/chunks/PurchaseOrdersTableActions.js.map +1 -1
  16. package/chunks/addPurchaseOrderComment.js +36 -0
  17. package/chunks/addPurchaseOrderComment.js.map +1 -0
  18. package/chunks/fetch-graphql.js.map +1 -1
  19. package/chunks/formatDate.js +4 -0
  20. package/chunks/formatDate.js.map +1 -0
  21. package/chunks/getPurchaseOrders.js +3 -3
  22. package/chunks/getPurchaseOrders.js.map +1 -1
  23. package/chunks/pageSize.config.js +1 -1
  24. package/chunks/pageSize.config.js.map +1 -1
  25. package/chunks/permissions.js.map +1 -1
  26. package/chunks/rejectPurchaseOrders.js +392 -21
  27. package/chunks/rejectPurchaseOrders.js.map +1 -1
  28. package/chunks/transform-purchase-order-approval-rule.js.map +1 -1
  29. package/chunks/usePurchaseOrderData.js +4 -0
  30. package/chunks/usePurchaseOrderData.js.map +1 -0
  31. package/chunks/usePurchaseOrders.js +1 -1
  32. package/chunks/usePurchaseOrders.js.map +1 -1
  33. package/components/ApprovalRuleDetailsContent/index.d.ts +11 -3
  34. package/components/ApprovalRuleForm/index.d.ts +11 -3
  35. package/components/PurchaseOrderApprovalFlowContent/PurchaseOrderApprovalFlowContent.d.ts +5 -0
  36. package/components/PurchaseOrderApprovalFlowContent/index.d.ts +19 -0
  37. package/components/PurchaseOrderCommentFormContent/PurchaseOrderCommentFormContent.d.ts +5 -0
  38. package/components/PurchaseOrderCommentFormContent/index.d.ts +19 -0
  39. package/components/PurchaseOrderCommentsListContent/PurchaseOrderCommentsListContent.d.ts +5 -0
  40. package/components/PurchaseOrderCommentsListContent/index.d.ts +19 -0
  41. package/components/PurchaseOrderHistoryLogContent/PurchaseOrderHistoryLogContent.d.ts +5 -0
  42. package/components/PurchaseOrderHistoryLogContent/index.d.ts +19 -0
  43. package/components/index.d.ts +4 -0
  44. package/containers/ApprovalRuleDetails/index.d.ts +11 -3
  45. package/containers/ApprovalRuleDetails.js +1 -1
  46. package/containers/ApprovalRuleDetails.js.map +1 -1
  47. package/containers/ApprovalRuleForm/index.d.ts +11 -3
  48. package/containers/ApprovalRuleForm.js +1 -1
  49. package/containers/ApprovalRuleForm.js.map +1 -1
  50. package/containers/ApprovalRulesList.js +1 -1
  51. package/containers/ApprovalRulesList.js.map +1 -1
  52. package/containers/CompanyPurchaseOrders.js +1 -1
  53. package/containers/CompanyPurchaseOrders.js.map +1 -1
  54. package/containers/CustomerPurchaseOrders.js +1 -1
  55. package/containers/CustomerPurchaseOrders.js.map +1 -1
  56. package/containers/PurchaseOrderApprovalFlow/PurchaseOrderApprovalFlow.d.ts +5 -0
  57. package/containers/PurchaseOrderApprovalFlow/index.d.ts +19 -0
  58. package/containers/PurchaseOrderApprovalFlow.d.ts +3 -0
  59. package/containers/PurchaseOrderApprovalFlow.js +4 -0
  60. package/containers/PurchaseOrderApprovalFlow.js.map +1 -0
  61. package/containers/PurchaseOrderCommentForm/PurchaseOrderCommentForm.d.ts +5 -0
  62. package/containers/PurchaseOrderCommentForm/index.d.ts +19 -0
  63. package/containers/PurchaseOrderCommentForm.d.ts +3 -0
  64. package/containers/PurchaseOrderCommentForm.js +4 -0
  65. package/containers/PurchaseOrderCommentForm.js.map +1 -0
  66. package/containers/PurchaseOrderCommentsList/PurchaseOrderCommentsList.d.ts +5 -0
  67. package/containers/PurchaseOrderCommentsList/index.d.ts +19 -0
  68. package/containers/PurchaseOrderCommentsList.d.ts +3 -0
  69. package/containers/PurchaseOrderCommentsList.js +4 -0
  70. package/containers/PurchaseOrderCommentsList.js.map +1 -0
  71. package/containers/PurchaseOrderConfirmation.js +1 -1
  72. package/containers/PurchaseOrderConfirmation.js.map +1 -1
  73. package/containers/PurchaseOrderHistoryLog/PurchaseOrderHistoryLog.d.ts +5 -0
  74. package/containers/PurchaseOrderHistoryLog/index.d.ts +19 -0
  75. package/containers/PurchaseOrderHistoryLog.d.ts +3 -0
  76. package/containers/PurchaseOrderHistoryLog.js +4 -0
  77. package/containers/PurchaseOrderHistoryLog.js.map +1 -0
  78. package/containers/PurchaseOrderStatus.js +1 -1
  79. package/containers/PurchaseOrderStatus.js.map +1 -1
  80. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  81. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  82. package/containers/index.d.ts +4 -0
  83. package/data/models/purchase-order-model.d.ts +2 -1
  84. package/hooks/index.d.ts +2 -0
  85. package/hooks/useApprovalRulesList.d.ts +1 -1
  86. package/hooks/usePurchaseOrderData.d.ts +7 -0
  87. package/i18n/en_US.json.d.ts +65 -7
  88. package/lib/cleanAndDeep.d.ts +16 -0
  89. package/lib/formatDate.d.ts +5 -0
  90. package/lib/getRange.d.ts +16 -0
  91. package/lib/getStatusVariant.d.ts +2 -0
  92. package/lib/index.d.ts +17 -0
  93. package/lib/isValidUrl.d.ts +16 -0
  94. package/mocks/index.d.ts +16 -0
  95. package/mocks/storybook/events-data.d.ts +16 -0
  96. package/package.json +1 -1
  97. package/render/index.d.ts +16 -0
  98. package/render.js +3 -3
  99. package/render.js.map +1 -1
  100. package/types/api/api.enums.types.d.ts +16 -0
  101. package/types/api/index.d.ts +16 -0
  102. package/types/components/approvalFlowContent.types.d.ts +6 -0
  103. package/types/components/historyLogContent.types.d.ts +7 -0
  104. package/types/components/index.d.ts +20 -0
  105. package/types/components/purchaseOrderCommentFormContent.types.d.ts +7 -0
  106. package/types/components/purchaseOrderCommentsListContent.types.d.ts +7 -0
  107. package/types/components/purchaseOrderHistoryLogContent.types.d.ts +7 -0
  108. package/types/components/purchaseOrdersTable.types.d.ts +1 -0
  109. package/types/components/purchaseOrdersTableActions.d.ts +16 -0
  110. package/types/containers/approvalRuleDetailsProps.types.d.ts +16 -0
  111. package/types/containers/historyLog.types.d.ts +7 -0
  112. package/types/containers/index.d.ts +20 -0
  113. package/types/containers/purchaseOrderApprovalFlow.types.d.ts +6 -0
  114. package/types/containers/purchaseOrderCommentForm.types.d.ts +6 -0
  115. package/types/containers/purchaseOrderCommentsList.types.d.ts +7 -0
  116. package/types/containers/purchaseOrderHistoryLog.types.d.ts +23 -0
  117. package/types/hooks/index.d.ts +16 -0
  118. package/types/hooks/useApprovalRuleDetails.types.d.ts +16 -0
  119. package/types/hooks/useApprovalRulesList.types.d.ts +2 -0
  120. package/types/hooks/usePurchaseOrders.types.d.ts +1 -0
  121. package/chunks/FormLoader2.js +0 -4
  122. package/chunks/FormLoader2.js.map +0 -1
package/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sources":["/@dropins/storefront-purchase-order/src/api/graphql/PurchaseOrderQuoteFragment.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/getPurchaseOrder.ts","/@dropins/storefront-purchase-order/src/api/initialize/initialize.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/validatePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-cart.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-comment.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/addPurchaseOrderComment.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/addPurchaseOrderItemsToCart.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/placePurchaseOrder.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/**\n * Limited Quote fragment for Purchase Order context\n * Some fields from full Cart type may not be available in purchase_order.quote\n */\nexport const PURCHASE_ORDER_QUOTE_FRAGMENT = /* GraphQL */ `\n fragment PURCHASE_ORDER_QUOTE_FRAGMENT on Cart {\n __typename\n id\n email\n is_virtual\n total_quantity\n applied_coupons {\n code\n }\n applied_gift_cards {\n code\n applied_balance {\n value\n currency\n }\n current_balance {\n value\n currency\n }\n expiration_date\n }\n applied_reward_points {\n money {\n value\n currency\n }\n points\n }\n applied_store_credit {\n applied_balance {\n value\n currency\n }\n current_balance {\n value\n currency\n }\n }\n available_gift_wrappings {\n uid\n design\n price {\n value\n currency\n }\n image {\n url\n label\n }\n }\n gift_message {\n from\n to\n message\n }\n gift_receipt_included\n gift_wrapping {\n uid\n design\n price {\n value\n currency\n }\n image {\n url\n label\n }\n }\n printed_card_included\n available_payment_methods {\n code\n title\n is_deferred\n }\n selected_payment_method {\n code\n title\n }\n billing_address {\n city\n company\n country {\n code\n label\n }\n firstname\n lastname\n postcode\n region {\n code\n label\n }\n street\n telephone\n custom_attributes {\n code\n }\n fax\n id\n middlename\n prefix\n suffix\n uid\n vat_id\n }\n shipping_addresses {\n city\n company\n country {\n code\n label\n }\n firstname\n lastname\n postcode\n region {\n code\n label\n }\n street\n telephone\n custom_attributes {\n code\n }\n fax\n id\n middlename\n prefix\n suffix\n uid\n vat_id\n available_shipping_methods {\n amount {\n value\n currency\n }\n carrier_code\n carrier_title\n method_code\n method_title\n }\n selected_shipping_method {\n amount {\n value\n currency\n }\n carrier_code\n carrier_title\n method_code\n method_title\n }\n }\n rules {\n uid\n }\n itemsV2(pageSize: 100, currentPage: 1) {\n items {\n uid\n quantity\n product {\n __typename\n uid\n name\n sku\n url_key\n canonical_url\n stock_status\n only_x_left_in_stock\n image {\n url\n label\n }\n small_image {\n url\n label\n }\n thumbnail {\n url\n label\n }\n price_range {\n maximum_price {\n regular_price {\n value\n currency\n }\n final_price {\n value\n currency\n }\n }\n }\n }\n prices {\n price {\n value\n currency\n }\n price_including_tax {\n value\n currency\n }\n original_item_price {\n value\n currency\n }\n original_row_total {\n value\n currency\n }\n row_total {\n value\n currency\n }\n row_total_including_tax {\n value\n currency\n }\n total_item_discount {\n value\n currency\n }\n discounts {\n label\n amount {\n value\n currency\n }\n }\n fixed_product_taxes {\n label\n amount {\n value\n currency\n }\n }\n }\n ... on SimpleCartItem {\n customizable_options {\n label\n values {\n label\n value\n }\n }\n }\n ... on ConfigurableCartItem {\n configurable_options {\n option_label\n value_label\n }\n }\n ... on BundleCartItem {\n bundle_options {\n uid\n label\n type\n values {\n uid\n label\n quantity\n }\n }\n }\n ... on DownloadableCartItem {\n links {\n uid\n title\n }\n }\n ... on GiftCardCartItem {\n sender_name\n sender_email\n recipient_name\n recipient_email\n message\n amount {\n value\n currency\n }\n }\n errors {\n code\n message\n }\n is_available\n max_qty\n min_qty\n not_available_message\n note_from_buyer {\n note_uid\n note\n created_at\n }\n note_from_seller {\n note_uid\n note\n created_at\n }\n }\n page_info {\n current_page\n page_size\n total_pages\n }\n total_count\n }\n prices {\n grand_total {\n value\n currency\n }\n grand_total_excluding_tax {\n value\n currency\n }\n subtotal_excluding_tax {\n value\n currency\n }\n subtotal_including_tax {\n value\n currency\n }\n subtotal_with_discount_excluding_tax {\n value\n currency\n }\n applied_taxes {\n label\n amount {\n value\n currency\n }\n }\n discounts {\n label\n amount {\n value\n currency\n }\n }\n gift_options {\n gift_wrapping_for_items {\n value\n currency\n }\n gift_wrapping_for_items_incl_tax {\n value\n currency\n }\n gift_wrapping_for_order {\n value\n currency\n }\n gift_wrapping_for_order_incl_tax {\n value\n currency\n }\n printed_card {\n value\n currency\n }\n printed_card_incl_tax {\n value\n currency\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_ORDER_QUOTE_FRAGMENT } from '../../graphql/PurchaseOrderQuoteFragment';\n\nexport const GET_PURCHASE_ORDER = /* GraphQL */ `\n query GET_PURCHASE_ORDER($uid: ID!) {\n customer {\n purchase_order(uid: $uid) {\n uid\n number\n created_at\n updated_at\n status\n available_actions\n created_by {\n firstname\n lastname\n email\n }\n order {\n id\n number\n total {\n grand_total {\n value\n currency\n }\n }\n }\n quote {\n ...PURCHASE_ORDER_QUOTE_FRAGMENT\n }\n }\n }\n }\n ${PURCHASE_ORDER_QUOTE_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_ORDER } from '@/b2b-purchase-order/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrder = async (\n uid: string\n): Promise<{\n purchaseOrder: PurchaseOrderModel;\n}> => {\n if (!uid || uid.trim() === '') {\n throw new Error('Purchase Order UID is required');\n }\n\n return fetchGraphQl(GET_PURCHASE_ORDER, {\n variables: { uid },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.customer?.purchase_order;\n if (!result) {\n throw new Error('Failed to get purchase order');\n }\n\n return {\n purchaseOrder: transformPurchaseOrder(result),\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 { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { getPurchaseOrder } from '../getPurchaseOrder';\nimport { events } from '@adobe-commerce/event-bus';\n\ntype ConfigProps = {\n langDefinitions?: Lang;\n poRef?: string;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n\n const isValidPoRef =\n typeof config?.poRef === 'string' && config.poRef.trim() !== '';\n\n if (isValidPoRef) {\n const result = await getPurchaseOrder(config!.poRef!);\n\n if (result?.purchaseOrder?.quote) {\n events.emit('order/data', {\n ...result.purchaseOrder.quote,\n // @ts-ignore\n poNumber: result?.purchaseOrder?.number,\n });\n }\n }\n },\n\n listeners: () => [],\n});\n\nexport const config = initialize.config;\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 VALIDATE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation VALIDATE_PURCHASE_ORDERS($input: ValidatePurchaseOrdersInput!) {\n validatePurchaseOrders(input: $input) {\n errors {\n message\n type\n }\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\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 { VALIDATE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\n\nexport const validatePurchaseOrders = 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(VALIDATE_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?.validatePurchaseOrders;\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\nexport const ADD_PURCHASE_ORDER_COMMENT = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_COMMENT(\n $purchaseOrderUid: ID!\n $comment: String!\n ) {\n addPurchaseOrderComment(\n input: { purchase_order_uid: $purchaseOrderUid, comment: $comment }\n ) {\n comment {\n created_at\n text\n uid\n author {\n allow_remote_shopping_assistance\n confirmation_status\n created_at\n date_of_birth\n email\n firstname\n gender\n job_title\n lastname\n middlename\n prefix\n status\n structure_id\n suffix\n telephone\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 { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformCart = (data: any): CartModel => {\n const cartItems = data?.cart?.itemsV2?.items ?? [];\n\n return {\n cart: {\n id: data?.cart?.id ?? '',\n items: cartItems.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n product: {\n uid: item?.product?.uid ?? '',\n name: item?.product?.name ?? '',\n sku: item?.product?.sku ?? '',\n },\n })),\n pagination: {\n currentPage: data?.cart?.itemsV2?.page_info?.current_page ?? 1,\n pageSize: data?.cart?.itemsV2?.page_info?.page_size ?? 20,\n totalPages: data?.cart?.itemsV2?.page_info?.total_pages ?? 0,\n totalCount: data?.cart?.itemsV2?.total_count ?? 0,\n },\n },\n userErrors:\n data?.user_errors?.map((error: any) => ({\n message: error?.message ?? '',\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 { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrderComment = (\n comment: any\n): PurchaseOrderCommentModel => {\n return {\n createdAt: comment?.created_at ?? '',\n text: comment?.text ?? '',\n uid: comment?.uid ?? '',\n author: {\n allowRemoteShoppingAssistance:\n comment?.author?.allow_remote_shopping_assistance ?? false,\n confirmationStatus: comment?.author?.confirmation_status ?? '',\n createdAt: comment?.author?.created_at ?? '',\n dateOfBirth: comment?.author?.date_of_birth ?? '',\n email: comment?.author?.email ?? '',\n firstname: comment?.author?.firstname ?? '',\n gender: comment?.author?.gender ?? 0,\n jobTitle: comment?.author?.job_title ?? '',\n lastname: comment?.author?.lastname ?? '',\n middlename: comment?.author?.middlename ?? '',\n prefix: comment?.author?.prefix ?? '',\n status: comment?.author?.status ?? '',\n structureId: comment?.author?.structure_id ?? '',\n suffix: comment?.author?.suffix ?? '',\n telephone: comment?.author?.telephone ?? '',\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 { ADD_PURCHASE_ORDER_COMMENT } from '@/b2b-purchase-order/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql';\nimport { transformPurchaseOrderComment } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderComment = async (\n uid: string,\n comment: string\n): Promise<PurchaseOrderCommentModel> => {\n if (!uid) {\n throw new Error('Purchase Order ID is required');\n }\n\n if (!comment) {\n throw new Error('Comment text is required');\n }\n\n const variables = {\n purchaseOrderUid: uid,\n comment,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_COMMENT, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformPurchaseOrderComment(\n response.data?.addPurchaseOrderComment?.comment\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 ADD_PURCHASE_ORDER_ITEMS_TO_CART = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_ITEMS_TO_CART(\n $purchaseOrderUid: ID!\n $cartId: String!\n $replaceExistingCartItems: Boolean!\n ) {\n addPurchaseOrderItemsToCart(\n input: {\n purchase_order_uid: $purchaseOrderUid\n cart_id: $cartId\n replace_existing_cart_items: $replaceExistingCartItems\n }\n ) {\n cart {\n id\n itemsV2 {\n items {\n uid\n quantity\n product {\n uid\n name\n sku\n }\n }\n page_info {\n current_page\n page_size\n total_pages\n }\n total_count\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 { transformCart } from '@/b2b-purchase-order/data/transforms';\nimport { ADD_PURCHASE_ORDER_ITEMS_TO_CART } from '@/b2b-purchase-order/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql';\nimport { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderItemsToCart = async (\n purchaseOrderUid: string,\n cartId: string,\n replaceExistingCartItems: boolean = false\n): Promise<CartModel> => {\n if (!purchaseOrderUid) {\n throw new Error('Purchase Order UID is required');\n }\n\n if (!cartId) {\n throw new Error('Cart ID is required');\n }\n\n const variables = {\n purchaseOrderUid,\n cartId,\n replaceExistingCartItems,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_ITEMS_TO_CART, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const cartData = response.data?.addPurchaseOrderItemsToCart;\n if (!cartData?.cart) {\n throw new Error('Failed to add purchase order items to cart');\n }\n\n return transformCart(cartData);\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 PLACE_PURCHASE_ORDER = /* GraphQL */ `\n mutation PLACE_PURCHASE_ORDER($input: PlacePurchaseOrderInput!) {\n placePurchaseOrder(input: $input) {\n purchase_order {\n ...PURCHASE_ORDERS_FRAGMENT\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 { PLACE_PURCHASE_ORDER } from '@/b2b-purchase-order/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const placePurchaseOrder = async (\n cartId: string\n): Promise<{ purchaseOrder: PurchaseOrderModel }> => {\n if (!cartId || cartId.trim() === '') {\n throw new Error('Cart ID is required');\n }\n\n const input = {\n cart_id: cartId,\n };\n\n return fetchGraphQl(PLACE_PURCHASE_ORDER, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rawPurchaseOrder =\n response.data?.placePurchaseOrder?.purchase_order;\n\n const purchaseOrder = transformPurchaseOrder(rawPurchaseOrder);\n\n events.emit('purchase-order/placed', purchaseOrder);\n\n return {\n purchaseOrder,\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["PURCHASE_ORDER_QUOTE_FRAGMENT","GET_PURCHASE_ORDER","getPurchaseOrder","uid","fetchGraphQl","response","_a","handleFetchError","result","_c","_b","transformPurchaseOrder","handleNetworkError","initialize","Initializer","config","defaultConfig","events","VALIDATE_PURCHASE_ORDERS","PURCHASE_ORDERS_FRAGMENT","validatePurchaseOrders","uids","uidArray","data","error","ADD_PURCHASE_ORDER_COMMENT","transformCart","cartItems","item","_f","_e","_d","_i","_h","_g","_l","_k","_j","_n","_m","_o","transformPurchaseOrderComment","comment","addPurchaseOrderComment","ADD_PURCHASE_ORDER_ITEMS_TO_CART","addPurchaseOrderItemsToCart","purchaseOrderUid","cartId","replaceExistingCartItems","cartData","PLACE_PURCHASE_ORDER","placePurchaseOrder","rawPurchaseOrder","purchaseOrder"],"mappings":"u4BAqBO,MAAMA,EAA8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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"}
1
+ {"version":3,"file":"api.js","sources":["/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/getPurchaseOrder/getPurchaseOrder.ts","/@dropins/storefront-purchase-order/src/api/initialize/initialize.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql.ts","/@dropins/storefront-purchase-order/src/api/validatePurchaseOrders/validatePurchaseOrders.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-cart.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderItemsToCart/addPurchaseOrderItemsToCart.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql.ts","/@dropins/storefront-purchase-order/src/api/placePurchaseOrder/placePurchaseOrder.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 { PURCHASE_ORDERS_FRAGMENT } from '../../fragments';\n\nexport const GET_PURCHASE_ORDER = /* GraphQL */ `\n query GET_PURCHASE_ORDER($uid: ID!) {\n customer {\n purchase_order(uid: $uid) {\n ...PURCHASE_ORDERS_FRAGMENT\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_ORDER } from '@/b2b-purchase-order/api/getPurchaseOrder/graphql/getPurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\n\nexport const getPurchaseOrder = async (\n uid: string\n): Promise<{\n purchaseOrder: PurchaseOrderModel;\n}> => {\n if (!uid || uid.trim() === '') {\n throw new Error('Purchase Order UID is required');\n }\n\n return fetchGraphQl(GET_PURCHASE_ORDER, {\n variables: { uid },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const result = response.data?.customer?.purchase_order;\n if (!result) {\n throw new Error('Failed to get purchase order');\n }\n\n return {\n purchaseOrder: transformPurchaseOrder(result),\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 { Initializer } from '@adobe-commerce/elsie/lib';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { getPurchaseOrder } from '../getPurchaseOrder';\nimport { events } from '@adobe-commerce/event-bus';\n\ntype ConfigProps = {\n langDefinitions?: Lang;\n poRef?: string;\n};\n\nexport const initialize = new Initializer<ConfigProps>({\n init: async (config) => {\n const defaultConfig = {};\n\n initialize.config.setConfig({ ...defaultConfig, ...config });\n\n const isValidPoRef =\n typeof config?.poRef === 'string' && config.poRef.trim() !== '';\n\n if (isValidPoRef) {\n const result = await getPurchaseOrder(config!.poRef!);\n\n if (result?.purchaseOrder?.quote) {\n events.emit('order/data', {\n ...result.purchaseOrder.quote,\n // @ts-ignore\n poNumber: result?.purchaseOrder?.number,\n });\n }\n }\n },\n\n listeners: () => [],\n});\n\nexport const config = initialize.config;\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 VALIDATE_PURCHASE_ORDERS = /* GraphQL */ `\n mutation VALIDATE_PURCHASE_ORDERS($input: ValidatePurchaseOrdersInput!) {\n validatePurchaseOrders(input: $input) {\n errors {\n message\n type\n }\n purchase_orders {\n ...PURCHASE_ORDERS_FRAGMENT\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 { VALIDATE_PURCHASE_ORDERS } from '@/b2b-purchase-order/api/validatePurchaseOrders/graphql/validatePurchaseOrders.graphql';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\n\nexport const validatePurchaseOrders = 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(VALIDATE_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?.validatePurchaseOrders;\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 { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformCart = (data: any): CartModel => {\n const cartItems = data?.cart?.itemsV2?.items ?? [];\n\n return {\n cart: {\n id: data?.cart?.id ?? '',\n items: cartItems.map((item: any) => ({\n uid: item?.uid ?? '',\n quantity: item?.quantity ?? 0,\n product: {\n uid: item?.product?.uid ?? '',\n name: item?.product?.name ?? '',\n sku: item?.product?.sku ?? '',\n },\n })),\n pagination: {\n currentPage: data?.cart?.itemsV2?.page_info?.current_page ?? 1,\n pageSize: data?.cart?.itemsV2?.page_info?.page_size ?? 20,\n totalPages: data?.cart?.itemsV2?.page_info?.total_pages ?? 0,\n totalCount: data?.cart?.itemsV2?.total_count ?? 0,\n },\n },\n userErrors:\n data?.user_errors?.map((error: any) => ({\n message: error?.message ?? '',\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\nexport const ADD_PURCHASE_ORDER_ITEMS_TO_CART = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_ITEMS_TO_CART(\n $purchaseOrderUid: ID!\n $cartId: String!\n $replaceExistingCartItems: Boolean!\n ) {\n addPurchaseOrderItemsToCart(\n input: {\n purchase_order_uid: $purchaseOrderUid\n cart_id: $cartId\n replace_existing_cart_items: $replaceExistingCartItems\n }\n ) {\n cart {\n id\n itemsV2 {\n items {\n uid\n quantity\n product {\n uid\n name\n sku\n }\n }\n page_info {\n current_page\n page_size\n total_pages\n }\n total_count\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 { transformCart } from '@/b2b-purchase-order/data/transforms';\nimport { ADD_PURCHASE_ORDER_ITEMS_TO_CART } from '@/b2b-purchase-order/api/addPurchaseOrderItemsToCart/graphql/addPurchaseOrderItemsToCart.graphql';\nimport { CartModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderItemsToCart = async (\n purchaseOrderUid: string,\n cartId: string,\n replaceExistingCartItems: boolean = false\n): Promise<CartModel> => {\n if (!purchaseOrderUid) {\n throw new Error('Purchase Order UID is required');\n }\n\n if (!cartId) {\n throw new Error('Cart ID is required');\n }\n\n const variables = {\n purchaseOrderUid,\n cartId,\n replaceExistingCartItems,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_ITEMS_TO_CART, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const cartData = response.data?.addPurchaseOrderItemsToCart;\n if (!cartData?.cart) {\n throw new Error('Failed to add purchase order items to cart');\n }\n\n return transformCart(cartData);\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 PLACE_PURCHASE_ORDER = /* GraphQL */ `\n mutation PLACE_PURCHASE_ORDER($input: PlacePurchaseOrderInput!) {\n placePurchaseOrder(input: $input) {\n purchase_order {\n ...PURCHASE_ORDERS_FRAGMENT\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 { PLACE_PURCHASE_ORDER } from '@/b2b-purchase-order/api/placePurchaseOrder/graphql/placePurchaseOrder.graphql';\nimport { transformPurchaseOrder } from '@/b2b-purchase-order/data/transforms/transform-purchase-order';\nimport { PurchaseOrderModel } from '@/b2b-purchase-order/data/models';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const placePurchaseOrder = async (\n cartId: string\n): Promise<{ purchaseOrder: PurchaseOrderModel }> => {\n if (!cartId || cartId.trim() === '') {\n throw new Error('Cart ID is required');\n }\n\n const input = {\n cart_id: cartId,\n };\n\n return fetchGraphQl(PLACE_PURCHASE_ORDER, {\n variables: { input },\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n const rawPurchaseOrder =\n response.data?.placePurchaseOrder?.purchase_order;\n\n const purchaseOrder = transformPurchaseOrder(rawPurchaseOrder);\n\n events.emit('purchase-order/placed', purchaseOrder);\n\n return {\n purchaseOrder,\n };\n })\n .catch(handleNetworkError);\n};\n"],"names":["GET_PURCHASE_ORDER","PURCHASE_ORDERS_FRAGMENT","getPurchaseOrder","uid","fetchGraphQl","response","_a","handleFetchError","result","_c","_b","transformPurchaseOrder","handleNetworkError","initialize","Initializer","config","defaultConfig","events","VALIDATE_PURCHASE_ORDERS","validatePurchaseOrders","uids","uidArray","data","error","transformCart","cartItems","item","_f","_e","_d","_i","_h","_g","_l","_k","_j","_n","_m","_o","ADD_PURCHASE_ORDER_ITEMS_TO_CART","addPurchaseOrderItemsToCart","purchaseOrderUid","cartId","replaceExistingCartItems","cartData","PLACE_PURCHASE_ORDER","placePurchaseOrder","rawPurchaseOrder","purchaseOrder"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- const e=[{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"}],a=[{key:"checkboxView",label:""},...e];export{e as a,a as d};
3
+ import{jsx as e,jsxs as m}from"@dropins/tools/preact-jsx-runtime.js";import{classes as l}from"@dropins/tools/lib.js";import"./PurchaseOrderHistoryLogContent.js";const c=1,t=({className:r,fullWidth:o=!1,lines:i=c,size:a="small",variant:s="row",children:n=null,multilineGap:f="medium",...d})=>{const u=[[`dropin-skeleton-row__${s}`,s],[`dropin-skeleton-row__${s}-${a}`,s&&a]];if(!n&&s==="empty")return e("div",{className:l(["dropin-skeleton-row dropin-skeleton-row__empty",r])});if(n){const p=n.trim();return e("div",{...d,class:l(["dropin-skeleton-row",["dropin-skeleton-row--full",o],r]),dangerouslySetInnerHTML:{__html:p}})}return i>c===!1?e("div",{...d,class:l(["dropin-skeleton-row",["dropin-skeleton-row--full",o],"dropin-skeleton--row__content",...u,r])}):e("div",{...d,style:{"--multiline-gap-spacing":`var(--spacing-${f})`},class:l(["dropin-skeleton-row--multiline",["dropin-skeleton-row--full",o],r]),children:Array.from({length:i}).map((p,w)=>e("div",{class:l(["dropin-skeleton-row",["dropin-skeleton-row--full",o],"dropin-skeleton--row__content",...u])},w))})},v=({className:r,children:o,rowGap:i="medium",...a})=>e("div",{style:{"--row-gap-spacing":`var(--spacing-${i})`},...a,className:l(["dropin-skeleton",r]),role:"status","aria-label":"Loading...",children:o}),y=({testId:r="",className:o=""})=>e("div",{"data-testid":r,className:l(["b2b-purchase-order-form-loader",o]),children:m(v,{rowGap:"medium","data-testid":"form-loader-root",children:[e(t,{size:"small",variant:"row",fullWidth:!0,lines:1,style:{maxWidth:300},"data-testid":"form-loader-status-toggle"}),e(t,{size:"medium",variant:"row",fullWidth:!0,lines:1,"data-testid":"form-loader-name"}),e(t,{size:"medium",variant:"row",fullWidth:!0,lines:4,"data-testid":"form-loader-description"}),m("div",{className:"approval-rule-form-loader__section","data-testid":"form-loader-approval-role-section",children:[e(t,{size:"small",variant:"row",fullWidth:!0,lines:1,"data-testid":"form-loader-approval-role-label"}),e(t,{size:"small",variant:"row",fullWidth:!0,lines:1,"data-testid":"form-loader-approval-role-input"})]}),m("div",{className:"approval-rule-form-loader__buttons","data-testid":"form-loader-buttons",children:[e(t,{size:"medium",variant:"row",fullWidth:!0,lines:1,style:{width:120},"data-testid":"form-loader-button-save"}),e(t,{size:"medium",variant:"row",fullWidth:!0,lines:1,style:{width:120},"data-testid":"form-loader-button-cancel"})]})]})});export{y as F};
4
4
  //# sourceMappingURL=FormLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormLoader.js","sources":["/@dropins/storefront-purchase-order/src/configs/customerPurchaseOrders.config.ts","/@dropins/storefront-purchase-order/src/configs/companyPurchaseOrders.config.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 { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultColumns: Column[] = [\n { key: 'action', label: 'Action' },\n { key: 'poNumber', label: 'PO #' },\n { key: 'orderNumber', label: 'Order #' },\n { key: 'status', label: 'Status' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n { key: 'total', label: 'Total' },\n { key: 'createdDate', label: 'Created' },\n { key: 'updatedDate', label: 'Updated' },\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 { Column } from '@/b2b-purchase-order/types/components';\nimport { defaultColumns } from '@/b2b-purchase-order/configs/customerPurchaseOrders.config';\n\nexport const defaultCompanyColumns: Column[] = [\n {\n key: 'checkboxView',\n label: '',\n },\n ...defaultColumns,\n];\n"],"names":["defaultColumns","defaultCompanyColumns"],"mappings":"AAmBO,MAAMA,EAA2B,CACtC,CAAE,IAAK,SAAU,MAAO,QAAA,EACxB,CAAE,IAAK,WAAY,MAAO,MAAA,EAC1B,CAAE,IAAK,cAAe,MAAO,SAAA,EAC7B,CAAE,IAAK,SAAU,MAAO,QAAA,EACxB,CACE,IAAK,YACL,MAAO,YAAA,EAET,CAAE,IAAK,QAAS,MAAO,OAAA,EACvB,CAAE,IAAK,cAAe,MAAO,SAAA,EAC7B,CAAE,IAAK,cAAe,MAAO,SAAA,CAC/B,ECXaC,EAAkC,CAC7C,CACE,IAAK,eACL,MAAO,EAAA,EAET,GAAGD,CACL"}
1
+ {"version":3,"file":"FormLoader.js","sources":["../../node_modules/@adobe-commerce/elsie/src/components/Skeleton/Skeleton.tsx","/@dropins/storefront-purchase-order/src/components/FormLoader/FormLoader.tsx"],"sourcesContent":["/********************************************************************\n * Copyright 2024 Adobe\n * All Rights Reserved.\n *\n * NOTICE: Adobe permits you to use, modify, and distribute this \n * file in accordance with the terms of the Adobe license agreement \n * accompanying it. \n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { HTMLAttributes } from 'preact/compat';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport '@adobe-commerce/elsie/components/Skeleton/Skeleton.css';\n\nexport interface SkeletonRowProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'size'> {\n fullWidth?: boolean;\n lines?: number;\n size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';\n variant?: 'heading' | 'row' | 'empty';\n multilineGap?: 'xsmall' | 'small' | 'medium' | 'big' | 'xbig';\n children?: string;\n}\n\nconst SINGLELINE = 1;\n\nexport const SkeletonRow: FunctionComponent<SkeletonRowProps> = ({\n className,\n fullWidth = false,\n lines = SINGLELINE,\n size = 'small',\n variant = 'row',\n children = null,\n multilineGap = 'medium',\n ...props\n}) => {\n const sharedClasses = [\n [`dropin-skeleton-row__${variant}`, variant],\n [`dropin-skeleton-row__${variant}-${size}`, variant && size],\n ];\n\n if (!children && variant === 'empty') {\n return (\n <div\n className={classes([\n 'dropin-skeleton-row dropin-skeleton-row__empty',\n className,\n ])}\n />\n );\n }\n\n if (children) {\n const svg = children.trim();\n return (\n <div\n {...props}\n class={classes([\n 'dropin-skeleton-row',\n [`dropin-skeleton-row--full`, fullWidth],\n className,\n ])}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n\n const isMultiline = lines > SINGLELINE;\n\n if (isMultiline === false) {\n return (\n <div\n {...props}\n class={classes([\n 'dropin-skeleton-row',\n [`dropin-skeleton-row--full`, fullWidth],\n 'dropin-skeleton--row__content',\n ...sharedClasses,\n className,\n ])}\n />\n );\n }\n\n return (\n <div\n {...props}\n style={{ '--multiline-gap-spacing': `var(--spacing-${multilineGap})` }}\n class={classes([\n 'dropin-skeleton-row--multiline',\n [`dropin-skeleton-row--full`, fullWidth],\n className,\n ])}\n >\n {Array.from({ length: lines }).map((_, index) => (\n <div\n key={index}\n class={classes([\n 'dropin-skeleton-row',\n [`dropin-skeleton-row--full`, fullWidth],\n 'dropin-skeleton--row__content',\n ...sharedClasses,\n ])}\n />\n ))}\n </div>\n );\n};\n\nexport interface SkeletonProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'size'> {\n rowGap?: 'xsmall' | 'small' | 'medium' | 'big' | 'xbig';\n}\n\nexport const Skeleton: FunctionComponent<SkeletonProps> = ({\n className,\n children,\n rowGap = 'medium',\n ...props\n}) => {\n return (\n <div\n style={{ '--row-gap-spacing': `var(--spacing-${rowGap})` }}\n {...props}\n className={classes(['dropin-skeleton', className])}\n role=\"status\"\n aria-label=\"Loading...\"\n >\n {children}\n </div>\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 { FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport {\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components/Skeleton';\nimport '@/b2b-purchase-order/components/FormLoader/FormLoader.css';\n\nexport interface FormLoaderProps {\n className?: string;\n testId?: string;\n}\n\nexport const FormLoader: FunctionComponent<FormLoaderProps> = ({\n testId = '',\n className = '',\n}) => {\n return (\n <div\n data-testid={testId}\n className={classes(['b2b-purchase-order-form-loader', className])}\n >\n <Skeleton rowGap=\"medium\" data-testid=\"form-loader-root\">\n {/* Status toggle */}\n <SkeletonRow\n size=\"small\"\n variant=\"row\"\n fullWidth\n lines={1}\n style={{ maxWidth: 300 }}\n data-testid=\"form-loader-status-toggle\"\n />\n <SkeletonRow\n size=\"medium\"\n variant=\"row\"\n fullWidth\n lines={1}\n data-testid=\"form-loader-name\"\n />\n <SkeletonRow\n size=\"medium\"\n variant=\"row\"\n fullWidth\n lines={4}\n data-testid=\"form-loader-description\"\n />\n {/* Approval role section */}\n <div\n className=\"approval-rule-form-loader__section\"\n data-testid=\"form-loader-approval-role-section\"\n >\n <SkeletonRow\n size=\"small\"\n variant=\"row\"\n fullWidth\n lines={1}\n data-testid=\"form-loader-approval-role-label\"\n />\n <SkeletonRow\n size=\"small\"\n variant=\"row\"\n fullWidth\n lines={1}\n data-testid=\"form-loader-approval-role-input\"\n />\n </div>\n\n <div\n className=\"approval-rule-form-loader__buttons\"\n data-testid=\"form-loader-buttons\"\n >\n <SkeletonRow\n size=\"medium\"\n variant=\"row\"\n fullWidth\n lines={1}\n style={{ width: 120 }}\n data-testid=\"form-loader-button-save\"\n />\n <SkeletonRow\n size=\"medium\"\n variant=\"row\"\n fullWidth\n lines={1}\n style={{ width: 120 }}\n data-testid=\"form-loader-button-cancel\"\n />\n </div>\n </Skeleton>\n </div>\n );\n};\n"],"names":["SINGLELINE","SkeletonRow","className","fullWidth","lines","size","variant","children","multilineGap","props","sharedClasses","jsx","classes","svg","_","index","Skeleton","rowGap","FormLoader","testId","jsxs"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ const e=[{key:"poNumber",label:"PO #"},{key:"status",label:"Status"},{key:"createdBy",label:"Created By"},{key:"action",label:"Actions"}],a=[{key:"checkboxView",label:""},...e];export{e as a,a as d};
4
+ //# sourceMappingURL=PurchaseOrderHistoryLogContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseOrderHistoryLogContent.js","sources":["/@dropins/storefront-purchase-order/src/configs/customerPurchaseOrders.config.ts","/@dropins/storefront-purchase-order/src/configs/companyPurchaseOrders.config.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 { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultColumns: Column[] = [\n { key: 'poNumber', label: 'PO #' },\n { key: 'status', label: 'Status' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n { key: 'action', label: 'Actions' },\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 { Column } from '@/b2b-purchase-order/types/components';\nimport { defaultColumns } from '@/b2b-purchase-order/configs/customerPurchaseOrders.config';\n\nexport const defaultCompanyColumns: Column[] = [\n {\n key: 'checkboxView',\n label: '',\n },\n ...defaultColumns,\n];\n"],"names":["defaultColumns","defaultCompanyColumns"],"mappings":"AAmBO,MAAMA,EAA2B,CACtC,CAAE,IAAK,WAAY,MAAO,MAAA,EAC1B,CAAE,IAAK,SAAU,MAAO,QAAA,EACxB,CACE,IAAK,YACL,MAAO,YAAA,EAET,CAAE,IAAK,SAAU,MAAO,SAAA,CAC1B,ECPaC,EAAkC,CAC7C,CACE,IAAK,eACL,MAAO,EAAA,EAET,GAAGD,CACL"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{Header as a}from"@dropins/tools/components.js";import"./FormLoader.js";const o=({headerText:r})=>e(a,{title:r,divider:!1,className:"purchase-orders-header","data-testid":"purchase-orders-header"});export{o as P};
3
+ import{jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{Header as a}from"@dropins/tools/components.js";import"./PurchaseOrderHistoryLogContent.js";const o=({headerText:r})=>e(a,{title:r,divider:!1,className:"purchase-orders-header","data-testid":"purchase-orders-header"});export{o as P};
4
4
  //# sourceMappingURL=PurchaseOrdersHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PurchaseOrdersHeader.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrdersHeader/PurchaseOrdersHeader.tsx"],"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 { Header } from '@adobe-commerce/elsie/components';\nimport { FunctionComponent } from 'preact';\nimport '@/b2b-purchase-order/components/PurchaseOrdersHeader/PurchaseOrdersHeader.css';\n\nexport const PurchaseOrdersHeader: FunctionComponent<{\n headerText: string;\n}> = ({ headerText }) => {\n return (\n <Header\n title={headerText}\n divider={false}\n className={'purchase-orders-header'}\n data-testid=\"purchase-orders-header\"\n />\n );\n};\n"],"names":["PurchaseOrdersHeader","headerText","jsx","Header"],"mappings":"yIAqBO,MAAMA,EAER,CAAC,CAAE,WAAAC,KAEJC,EAACC,EAAA,CACC,MAAOF,EACP,QAAS,GACT,UAAW,yBACX,cAAY,wBAAA,CAAA"}
1
+ {"version":3,"file":"PurchaseOrdersHeader.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrdersHeader/PurchaseOrdersHeader.tsx"],"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 { Header } from '@adobe-commerce/elsie/components';\nimport { FunctionComponent } from 'preact';\nimport '@/b2b-purchase-order/components/PurchaseOrdersHeader/PurchaseOrdersHeader.css';\n\nexport const PurchaseOrdersHeader: FunctionComponent<{\n headerText: string;\n}> = ({ headerText }) => {\n return (\n <Header\n title={headerText}\n divider={false}\n className={'purchase-orders-header'}\n data-testid=\"purchase-orders-header\"\n />\n );\n};\n"],"names":["PurchaseOrdersHeader","headerText","jsx","Header"],"mappings":"6JAqBO,MAAMA,EAER,CAAC,CAAE,WAAAC,KAEJC,EAACC,EAAA,CACC,MAAOF,EACP,QAAS,GACT,UAAW,yBACX,cAAY,wBAAA,CAAA"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{jsxs as e,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as t}from"@dropins/tools/lib.js";import"./FormLoader.js";import{Button as c}from"@dropins/tools/components.js";const h=({loading:s,selectedCount:r,className:i,handleRejectSelected:o,handleApproveSelected:d})=>e("div",{className:t(["b2b-purchase-order-purchase-orders-table-actions",i]),children:[e("div",{children:["Selected ",r]}),e("div",{className:"b2b-purchase-order-purchase-orders-table-actions__buttons",children:[a(c,{variant:"secondary",onClick:o,disabled:s||r===0,children:"Reject selected"}),a(c,{variant:"primary",onClick:d,disabled:s||r===0,children:"Approve selected"})]})]});export{h as P};
3
+ import{jsxs as e,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as t}from"@dropins/tools/lib.js";import"./PurchaseOrderHistoryLogContent.js";import{Button as c}from"@dropins/tools/components.js";const h=({loading:s,selectedCount:r,className:i,handleRejectSelected:o,handleApproveSelected:d})=>e("div",{className:t(["b2b-purchase-order-purchase-orders-table-actions",i]),children:[e("div",{children:["Selected ",r]}),e("div",{className:"b2b-purchase-order-purchase-orders-table-actions__buttons",children:[a(c,{variant:"secondary",onClick:o,disabled:s||r===0,children:"Reject selected"}),a(c,{variant:"primary",onClick:d,disabled:s||r===0,children:"Approve selected"})]})]});export{h as P};
4
4
  //# sourceMappingURL=PurchaseOrdersTableActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PurchaseOrdersTableActions.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.tsx"],"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 { FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.css';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { PurchaseOrdersTableActionsProps } from '@/b2b-purchase-order/types/components';\n\nexport const PurchaseOrdersTableActions: FunctionComponent<\n PurchaseOrdersTableActionsProps\n> = ({\n loading,\n selectedCount,\n className,\n handleRejectSelected,\n handleApproveSelected,\n}) => {\n return (\n <div\n className={classes([\n 'b2b-purchase-order-purchase-orders-table-actions',\n className,\n ])}\n >\n <div>Selected {selectedCount}</div>\n <div\n className={'b2b-purchase-order-purchase-orders-table-actions__buttons'}\n >\n <Button\n variant=\"secondary\"\n onClick={handleRejectSelected}\n disabled={loading || selectedCount === 0}\n >\n Reject selected\n </Button>\n <Button\n variant=\"primary\"\n onClick={handleApproveSelected}\n disabled={loading || selectedCount === 0}\n >\n Approve selected\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["PurchaseOrdersTableActions","loading","selectedCount","className","handleRejectSelected","handleApproveSelected","jsxs","classes","jsx","Button"],"mappings":"mMAuBO,MAAMA,EAET,CAAC,CACH,QAAAC,EACA,cAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,sBAAAC,CACF,IAEIC,EAAC,MAAA,CACC,UAAWC,EAAQ,CACjB,mDACAJ,CAAA,CACD,EAED,SAAA,CAAAG,EAAC,MAAA,CAAI,SAAA,CAAA,YAAUJ,CAAA,EAAc,EAC7BI,EAAC,MAAA,CACC,UAAW,4DAEX,SAAA,CAAAE,EAACC,EAAA,CACC,QAAQ,YACR,QAASL,EACT,SAAUH,GAAWC,IAAkB,EACxC,SAAA,iBAAA,CAAA,EAGDM,EAACC,EAAA,CACC,QAAQ,UACR,QAASJ,EACT,SAAUJ,GAAWC,IAAkB,EACxC,SAAA,kBAAA,CAAA,CAED,CAAA,CAAA,CACF,CAAA,CAAA"}
1
+ {"version":3,"file":"PurchaseOrdersTableActions.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.tsx"],"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 { FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrdersTableActions/PurchaseOrdersTableActions.css';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { PurchaseOrdersTableActionsProps } from '@/b2b-purchase-order/types/components';\n\nexport const PurchaseOrdersTableActions: FunctionComponent<\n PurchaseOrdersTableActionsProps\n> = ({\n loading,\n selectedCount,\n className,\n handleRejectSelected,\n handleApproveSelected,\n}) => {\n return (\n <div\n className={classes([\n 'b2b-purchase-order-purchase-orders-table-actions',\n className,\n ])}\n >\n <div>Selected {selectedCount}</div>\n <div\n className={'b2b-purchase-order-purchase-orders-table-actions__buttons'}\n >\n <Button\n variant=\"secondary\"\n onClick={handleRejectSelected}\n disabled={loading || selectedCount === 0}\n >\n Reject selected\n </Button>\n <Button\n variant=\"primary\"\n onClick={handleApproveSelected}\n disabled={loading || selectedCount === 0}\n >\n Approve selected\n </Button>\n </div>\n </div>\n );\n};\n"],"names":["PurchaseOrdersTableActions","loading","selectedCount","className","handleRejectSelected","handleApproveSelected","jsxs","classes","jsx","Button"],"mappings":"uNAuBO,MAAMA,EAET,CAAC,CACH,QAAAC,EACA,cAAAC,EACA,UAAAC,EACA,qBAAAC,EACA,sBAAAC,CACF,IAEIC,EAAC,MAAA,CACC,UAAWC,EAAQ,CACjB,mDACAJ,CAAA,CACD,EAED,SAAA,CAAAG,EAAC,MAAA,CAAI,SAAA,CAAA,YAAUJ,CAAA,EAAc,EAC7BI,EAAC,MAAA,CACC,UAAW,4DAEX,SAAA,CAAAE,EAACC,EAAA,CACC,QAAQ,YACR,QAASL,EACT,SAAUH,GAAWC,IAAkB,EACxC,SAAA,iBAAA,CAAA,EAGDM,EAACC,EAAA,CACC,QAAQ,UACR,QAASJ,EACT,SAAUJ,GAAWC,IAAkB,EACxC,SAAA,kBAAA,CAAA,CAED,CAAA,CAAA,CACF,CAAA,CAAA"}
@@ -0,0 +1,36 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{f as C,h as g}from"./fetch-graphql.js";import{h as w}from"./fetch-error.js";const D=`
4
+ mutation ADD_PURCHASE_ORDER_COMMENT(
5
+ $purchaseOrderUid: ID!
6
+ $comment: String!
7
+ ) {
8
+ addPurchaseOrderComment(
9
+ input: { purchase_order_uid: $purchaseOrderUid, comment: $comment }
10
+ ) {
11
+ comment {
12
+ created_at
13
+ text
14
+ uid
15
+ author {
16
+ allow_remote_shopping_assistance
17
+ confirmation_status
18
+ created_at
19
+ date_of_birth
20
+ email
21
+ firstname
22
+ gender
23
+ job_title
24
+ lastname
25
+ middlename
26
+ prefix
27
+ status
28
+ structure_id
29
+ suffix
30
+ telephone
31
+ }
32
+ }
33
+ }
34
+ }
35
+ `,b=r=>{var s,h,a,i,u,d,l,t,_,f,e,p,O,x,E;return{createdAt:(r==null?void 0:r.created_at)??"",text:(r==null?void 0:r.text)??"",uid:(r==null?void 0:r.uid)??"",author:{allowRemoteShoppingAssistance:((s=r==null?void 0:r.author)==null?void 0:s.allow_remote_shopping_assistance)??!1,confirmationStatus:((h=r==null?void 0:r.author)==null?void 0:h.confirmation_status)??"",createdAt:((a=r==null?void 0:r.author)==null?void 0:a.created_at)??"",dateOfBirth:((i=r==null?void 0:r.author)==null?void 0:i.date_of_birth)??"",email:((u=r==null?void 0:r.author)==null?void 0:u.email)??"",firstname:((d=r==null?void 0:r.author)==null?void 0:d.firstname)??"",gender:((l=r==null?void 0:r.author)==null?void 0:l.gender)??0,jobTitle:((t=r==null?void 0:r.author)==null?void 0:t.job_title)??"",lastname:((_=r==null?void 0:r.author)==null?void 0:_.lastname)??"",middlename:((f=r==null?void 0:r.author)==null?void 0:f.middlename)??"",prefix:((e=r==null?void 0:r.author)==null?void 0:e.prefix)??"",status:((p=r==null?void 0:r.author)==null?void 0:p.status)??"",structureId:((O=r==null?void 0:r.author)==null?void 0:O.structure_id)??"",suffix:((x=r==null?void 0:r.author)==null?void 0:x.suffix)??"",telephone:((E=r==null?void 0:r.author)==null?void 0:E.telephone)??""}}},R=async(r,s)=>{if(!r)throw new Error("Purchase Order ID is required");if(!s)throw new Error("Comment text is required");return C(D,{variables:{purchaseOrderUid:r,comment:s}}).then(a=>{var i,u,d;return(i=a.errors)!=null&&i.length&&w(a.errors),b((d=(u=a.data)==null?void 0:u.addPurchaseOrderComment)==null?void 0:d.comment)}).catch(g)};export{R as a};
36
+ //# sourceMappingURL=addPurchaseOrderComment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addPurchaseOrderComment.js","sources":["/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql.ts","/@dropins/storefront-purchase-order/src/data/transforms/transform-purchase-order-comment.ts","/@dropins/storefront-purchase-order/src/api/addPurchaseOrderComment/addPurchaseOrderComment.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 ADD_PURCHASE_ORDER_COMMENT = /* GraphQL */ `\n mutation ADD_PURCHASE_ORDER_COMMENT(\n $purchaseOrderUid: ID!\n $comment: String!\n ) {\n addPurchaseOrderComment(\n input: { purchase_order_uid: $purchaseOrderUid, comment: $comment }\n ) {\n comment {\n created_at\n text\n uid\n author {\n allow_remote_shopping_assistance\n confirmation_status\n created_at\n date_of_birth\n email\n firstname\n gender\n job_title\n lastname\n middlename\n prefix\n status\n structure_id\n suffix\n telephone\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 { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const transformPurchaseOrderComment = (\n comment: any\n): PurchaseOrderCommentModel => {\n return {\n createdAt: comment?.created_at ?? '',\n text: comment?.text ?? '',\n uid: comment?.uid ?? '',\n author: {\n allowRemoteShoppingAssistance:\n comment?.author?.allow_remote_shopping_assistance ?? false,\n confirmationStatus: comment?.author?.confirmation_status ?? '',\n createdAt: comment?.author?.created_at ?? '',\n dateOfBirth: comment?.author?.date_of_birth ?? '',\n email: comment?.author?.email ?? '',\n firstname: comment?.author?.firstname ?? '',\n gender: comment?.author?.gender ?? 0,\n jobTitle: comment?.author?.job_title ?? '',\n lastname: comment?.author?.lastname ?? '',\n middlename: comment?.author?.middlename ?? '',\n prefix: comment?.author?.prefix ?? '',\n status: comment?.author?.status ?? '',\n structureId: comment?.author?.structure_id ?? '',\n suffix: comment?.author?.suffix ?? '',\n telephone: comment?.author?.telephone ?? '',\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 { ADD_PURCHASE_ORDER_COMMENT } from '@/b2b-purchase-order/api/addPurchaseOrderComment/graphql/addPurchaseOrderComment.graphql';\nimport { transformPurchaseOrderComment } from '@/b2b-purchase-order/data/transforms';\nimport { PurchaseOrderCommentModel } from '@/b2b-purchase-order/data/models';\n\nexport const addPurchaseOrderComment = async (\n uid: string,\n comment: string\n): Promise<PurchaseOrderCommentModel> => {\n if (!uid) {\n throw new Error('Purchase Order ID is required');\n }\n\n if (!comment) {\n throw new Error('Comment text is required');\n }\n\n const variables = {\n purchaseOrderUid: uid,\n comment,\n };\n\n return fetchGraphQl(ADD_PURCHASE_ORDER_COMMENT, {\n variables,\n })\n .then((response: any) => {\n if (response.errors?.length) {\n handleFetchError(response.errors);\n }\n\n return transformPurchaseOrderComment(\n response.data?.addPurchaseOrderComment?.comment\n );\n })\n .catch(handleNetworkError);\n};\n"],"names":["ADD_PURCHASE_ORDER_COMMENT","transformPurchaseOrderComment","comment","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","addPurchaseOrderComment","uid","fetchGraphQl","response","handleFetchError","handleNetworkError"],"mappings":"mFAiBO,MAAMA,EAA2C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,ECE3CC,EACXC,GAC8B,mCAC9B,MAAO,CACL,WAAWA,GAAA,YAAAA,EAAS,aAAc,GAClC,MAAMA,GAAA,YAAAA,EAAS,OAAQ,GACvB,KAAKA,GAAA,YAAAA,EAAS,MAAO,GACrB,OAAQ,CACN,gCACEC,EAAAD,GAAA,YAAAA,EAAS,SAAT,YAAAC,EAAiB,mCAAoC,GACvD,qBAAoBC,EAAAF,GAAA,YAAAA,EAAS,SAAT,YAAAE,EAAiB,sBAAuB,GAC5D,YAAWC,EAAAH,GAAA,YAAAA,EAAS,SAAT,YAAAG,EAAiB,aAAc,GAC1C,cAAaC,EAAAJ,GAAA,YAAAA,EAAS,SAAT,YAAAI,EAAiB,gBAAiB,GAC/C,QAAOC,EAAAL,GAAA,YAAAA,EAAS,SAAT,YAAAK,EAAiB,QAAS,GACjC,YAAWC,EAAAN,GAAA,YAAAA,EAAS,SAAT,YAAAM,EAAiB,YAAa,GACzC,SAAQC,EAAAP,GAAA,YAAAA,EAAS,SAAT,YAAAO,EAAiB,SAAU,EACnC,WAAUC,EAAAR,GAAA,YAAAA,EAAS,SAAT,YAAAQ,EAAiB,YAAa,GACxC,WAAUC,EAAAT,GAAA,YAAAA,EAAS,SAAT,YAAAS,EAAiB,WAAY,GACvC,aAAYC,EAAAV,GAAA,YAAAA,EAAS,SAAT,YAAAU,EAAiB,aAAc,GAC3C,SAAQC,EAAAX,GAAA,YAAAA,EAAS,SAAT,YAAAW,EAAiB,SAAU,GACnC,SAAQC,EAAAZ,GAAA,YAAAA,EAAS,SAAT,YAAAY,EAAiB,SAAU,GACnC,cAAaC,EAAAb,GAAA,YAAAA,EAAS,SAAT,YAAAa,EAAiB,eAAgB,GAC9C,SAAQC,EAAAd,GAAA,YAAAA,EAAS,SAAT,YAAAc,EAAiB,SAAU,GACnC,YAAWC,EAAAf,GAAA,YAAAA,EAAS,SAAT,YAAAe,EAAiB,YAAa,EAAA,CAC3C,CAEJ,ECrBaC,EAA0B,MACrCC,EACAjB,IACuC,CACvC,GAAI,CAACiB,EACH,MAAM,IAAI,MAAM,+BAA+B,EAGjD,GAAI,CAACjB,EACH,MAAM,IAAI,MAAM,0BAA0B,EAQ5C,OAAOkB,EAAapB,EAA4B,CAC9C,UANgB,CAChB,iBAAkBmB,EAClB,QAAAjB,CAAA,CAIA,CACD,EACE,KAAMmB,GAAkB,WACvB,OAAIlB,EAAAkB,EAAS,SAAT,MAAAlB,EAAiB,QACnBmB,EAAiBD,EAAS,MAAM,EAG3BpB,GACLI,GAAAD,EAAAiB,EAAS,OAAT,YAAAjB,EAAe,0BAAf,YAAAC,EAAwC,OAAA,CAE5C,CAAC,EACA,MAAMkB,CAAkB,CAC7B"}
@@ -1 +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"}
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","/********************************************************************\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 '@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,EClBa,CACX,YAAAI,EACA,sBAAAC,EACA,yBAAAC,EACA,uBAAAC,EACA,aAAAC,EACA,UAAAC,CACF,EAAI,IAAIC,EAAA,EAAe,WAAA"}
@@ -0,0 +1,4 @@
1
+ /*! Copyright 2025 Adobe
2
+ All Rights Reserved. */
3
+ import{getGlobalLocale as c}from"@dropins/tools/lib.js";var n={};function i(e){if(e)return e;const r=c();return r||(n.LOCALE&&n.LOCALE!=="undefined"?n.LOCALE:"en-US")}const a=(e,r="en-US")=>{try{const t=new Date(e);if(isNaN(t.getTime()))return e;const o=i(r);return t.toLocaleString(o,{year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0})}catch{return e}};export{a as f};
4
+ //# sourceMappingURL=formatDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatDate.js","sources":["/@dropins/storefront-purchase-order/src/lib/formatDate.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 { getGlobalLocale } from '@adobe-commerce/elsie/lib';\n\n/**\n * Determines the effective locale to use for price formatting\n * Priority: prop locale > global locale > browser locale > default 'en-US'\n */\nexport function getEffectiveLocale(locale?: string): string {\n if (locale) {\n return locale;\n }\n const globalLocale = getGlobalLocale();\n if (globalLocale) {\n return globalLocale;\n }\n // Fallback to browser locale or default\n return process.env.LOCALE && process.env.LOCALE !== 'undefined'\n ? process.env.LOCALE\n : 'en-US';\n}\n\n/**\n * Format a date string to a localized format like \"Sep 8, 2025 6:32:13 AM\"\n * @param dateString - ISO date string or date string\n * @param locale - Locale for formatting (defaults to 'en-US')\n * @returns Formatted date string\n */\nexport const formatDate = (\n dateString: string,\n locale: string = 'en-US'\n): string => {\n try {\n const date = new Date(dateString);\n\n if (isNaN(date.getTime())) {\n return dateString; // Return original if invalid\n }\n\n const effectiveLocale = getEffectiveLocale(locale);\n\n return date.toLocaleString(effectiveLocale, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n second: '2-digit',\n hour12: true,\n });\n } catch (error) {\n return dateString; // Return original on error\n }\n};\n"],"names":["getEffectiveLocale","locale","globalLocale","getGlobalLocale","define_process_env_default","formatDate","dateString","date","effectiveLocale"],"mappings":"iEAuBO,SAASA,EAAmBC,EAAyB,CAC1D,GAAIA,EACF,OAAOA,EAET,MAAMC,EAAeC,EAAA,EACrB,OAAID,IAIGE,EAAY,QAAUA,EAAY,SAAW,YAChDA,EAAY,OACZ,QACN,CAQO,MAAMC,EAAa,CACxBC,EACAL,EAAiB,UACN,CACX,GAAI,CACF,MAAMM,EAAO,IAAI,KAAKD,CAAU,EAEhC,GAAI,MAAMC,EAAK,QAAA,CAAS,EACtB,OAAOD,EAGT,MAAME,EAAkBR,EAAmBC,CAAM,EAEjD,OAAOM,EAAK,eAAeC,EAAiB,CAC1C,KAAM,UACN,MAAO,QACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,UACR,OAAQ,EAAA,CACT,CACH,MAAgB,CACd,OAAOF,CACT,CACF"}
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- import{f as R,h as P}from"./fetch-graphql.js";import{h as S}from"./fetch-error.js";import{P as p,t as s}from"./rejectPurchaseOrders.js";import{t as h}from"./case-converter.js";const $=`
3
+ import{f as R,h as p}from"./fetch-graphql.js";import{h as P}from"./fetch-error.js";import{P as S,t as s}from"./rejectPurchaseOrders.js";import"@dropins/tools/lib.js";import{t as h}from"./case-converter.js";const $=`
4
4
  query GET_PURCHASE_ORDERS(
5
5
  $filter: PurchaseOrdersFilterInput
6
6
  $pageSize: Int
@@ -24,6 +24,6 @@ import{f as R,h as P}from"./fetch-graphql.js";import{h as S}from"./fetch-error.j
24
24
  }
25
25
  }
26
26
  }
27
- ${p}
28
- `,G=async(f,l=20,m=1)=>R($,{variables:{filter:h(f),pageSize:l,currentPage:m}}).then(e=>{var r,o,a,i,n,g,_,c;if((r=e.errors)!=null&&r.length&&S(e.errors),!((a=(o=e.data)==null?void 0:o.customer)!=null&&a.purchase_orders))throw new Error("Failed to get purchase orders");const t=(n=(i=e==null?void 0:e.data)==null?void 0:i.customer)==null?void 0:n.purchase_orders,u=(t==null?void 0:t.total_count)??0,E={currentPage:((g=t==null?void 0:t.page_info)==null?void 0:g.current_page)??1,pageSize:((_=t==null?void 0:t.page_info)==null?void 0:_.page_size)??20,totalPages:((c=t==null?void 0:t.page_info)==null?void 0:c.total_pages)??1};return{totalCount:u,pageInfo:E,purchaseOrderItems:((t==null?void 0:t.items)||[]).map(s)}}).catch(P);export{G as g};
27
+ ${S}
28
+ `,I=async(f,l=20,m=1)=>R($,{variables:{filter:h(f),pageSize:l,currentPage:m}}).then(e=>{var r,o,a,i,n,g,_,c;if((r=e.errors)!=null&&r.length&&P(e.errors),!((a=(o=e.data)==null?void 0:o.customer)!=null&&a.purchase_orders))throw new Error("Failed to get purchase orders");const t=(n=(i=e==null?void 0:e.data)==null?void 0:i.customer)==null?void 0:n.purchase_orders,u=(t==null?void 0:t.total_count)??0,E={currentPage:((g=t==null?void 0:t.page_info)==null?void 0:g.current_page)??1,pageSize:((_=t==null?void 0:t.page_info)==null?void 0:_.page_size)??20,totalPages:((c=t==null?void 0:t.page_info)==null?void 0:c.total_pages)??1};return{totalCount:u,pageInfo:E,purchaseOrderItems:((t==null?void 0:t.items)||[]).map(s)}}).catch(p);export{I as g};
29
29
  //# sourceMappingURL=getPurchaseOrders.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPurchaseOrders.js","sources":["/@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\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":["GET_PURCHASE_ORDERS","PURCHASE_ORDERS_FRAGMENT","getPurchaseOrders","filter","pageSize","currentPage","fetchGraphQl","toSnakeCase","response","_a","handleFetchError","_c","_b","purchaseOrdersData","_e","_d","totalCount","pageInfo","_f","_g","_h","transformPurchaseOrder","handleNetworkError"],"mappings":"gLAmBO,MAAMA,EAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwB7CC,CAAwB;AAAA,EClBfC,EAAoB,MAC/BC,EACAC,EAAmB,GACnBC,EAAsB,IAUfC,EAAaN,EAAqB,CACvC,UAAW,CACT,OAAQO,EAAYJ,CAAM,EAC1B,SAAAC,EACA,YAAAC,CAAA,CACF,CACD,EACE,KAAMG,GAAkB,qBAKvB,IAJIC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAG9B,GAACG,GAAAC,EAAAJ,EAAS,OAAT,YAAAI,EAAe,WAAf,MAAAD,EAAyB,iBAC5B,MAAM,IAAI,MAAM,+BAA+B,EAGjD,MAAME,GAAqBC,GAAAC,EAAAP,GAAA,YAAAA,EAAU,OAAV,YAAAO,EAAgB,WAAhB,YAAAD,EAA0B,gBAC/CE,GAAaH,GAAA,YAAAA,EAAoB,cAAe,EAChDI,EAAW,CACf,cAAaC,EAAAL,GAAA,YAAAA,EAAoB,YAApB,YAAAK,EAA+B,eAAgB,EAC5D,WAAUC,EAAAN,GAAA,YAAAA,EAAoB,YAApB,YAAAM,EAA+B,YAAa,GACtD,aAAYC,EAAAP,GAAA,YAAAA,EAAoB,YAApB,YAAAO,EAA+B,cAAe,CAAA,EAG5D,MAAO,CACL,WAAAJ,EACA,SAAAC,EACA,qBAAqBJ,GAAA,YAAAA,EAAoB,QAAS,CAAA,GAAI,IACpDQ,CAAA,CACF,CAEJ,CAAC,EACA,MAAMC,CAAkB"}
1
+ {"version":3,"file":"getPurchaseOrders.js","sources":["/@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\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":["GET_PURCHASE_ORDERS","PURCHASE_ORDERS_FRAGMENT","getPurchaseOrders","filter","pageSize","currentPage","fetchGraphQl","toSnakeCase","response","_a","handleFetchError","_c","_b","purchaseOrdersData","_e","_d","totalCount","pageInfo","_f","_g","_h","transformPurchaseOrder","handleNetworkError"],"mappings":"8MAmBO,MAAMA,EAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwB7CC,CAAwB;AAAA,EClBfC,EAAoB,MAC/BC,EACAC,EAAmB,GACnBC,EAAsB,IAUfC,EAAaN,EAAqB,CACvC,UAAW,CACT,OAAQO,EAAYJ,CAAM,EAC1B,SAAAC,EACA,YAAAC,CAAA,CACF,CACD,EACE,KAAMG,GAAkB,qBAKvB,IAJIC,EAAAD,EAAS,SAAT,MAAAC,EAAiB,QACnBC,EAAiBF,EAAS,MAAM,EAG9B,GAACG,GAAAC,EAAAJ,EAAS,OAAT,YAAAI,EAAe,WAAf,MAAAD,EAAyB,iBAC5B,MAAM,IAAI,MAAM,+BAA+B,EAGjD,MAAME,GAAqBC,GAAAC,EAAAP,GAAA,YAAAA,EAAU,OAAV,YAAAO,EAAgB,WAAhB,YAAAD,EAA0B,gBAC/CE,GAAaH,GAAA,YAAAA,EAAoB,cAAe,EAChDI,EAAW,CACf,cAAaC,EAAAL,GAAA,YAAAA,EAAoB,YAApB,YAAAK,EAA+B,eAAgB,EAC5D,WAAUC,EAAAN,GAAA,YAAAA,EAAoB,YAApB,YAAAM,EAA+B,YAAa,GACtD,aAAYC,EAAAP,GAAA,YAAAA,EAAoB,YAApB,YAAAO,EAA+B,cAAe,CAAA,EAG5D,MAAO,CACL,WAAAJ,EACA,SAAAC,EACA,qBAAqBJ,GAAA,YAAAA,EAAoB,QAAS,CAAA,GAAI,IACpDQ,CAAA,CACF,CAEJ,CAAC,EACA,MAAMC,CAAkB"}
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
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};
3
+ import{jsxs as p,Fragment as k,jsx as e}from"@dropins/tools/preact-jsx-runtime.js";import{InLineAlert as W,Table as j,Pagination as B,Picker as F,Card as S}from"@dropins/tools/components.js";import{classes as h}from"@dropins/tools/lib.js";import"@dropins/tools/event-bus.js";import"./PurchaseOrderHistoryLogContent.js";import{useText as G,Text as D}from"@dropins/tools/i18n.js";const X=r=>{try{return new URL(r,window.location.origin).origin===window.location.origin}catch{return r.startsWith("/")||r.startsWith("./")||r.startsWith("../")}},H=(r,a,s)=>{if(s<=0)return{from:0,to:0,total:0};const i=Math.max(1,Math.ceil(s/a)),c=Math.min(Math.max(r,1),i),l=(c-1)*a+1,n=Math.min(c*a,s);return{from:l,to:n,total:s}},Z=r=>{const a=r.toUpperCase();return["APPROVED","ORDER_PLACED","APPROVED_PENDING_PAYMENT","ENABLED"].includes(a)?"positive":["REJECTED","CANCELED","ORDER_FAILED","DISABLED"].includes(a)?"negative":"waiting"},$=({pageSizeConfig:r,totalCount:a=0,columns:s=[],rows:i=[],paginationConfig:c,alertMessageConfig:l={heading:"",description:"",type:"success"},loading:n=!1,className:m="",variant:x="secondary",skeletonRowCount:O=10,emptyTitle:T,header:b,footer:g,withWrapper:y,expandedRows:R})=>{var N;const w=G({title:"PurchaseOrders.purchaseOrdersTable.noPurchaseOrders.default"}),{heading:_,description:f,type:A}=l,{currentPage:P,totalPages:v,handlePageChange:C}=c,{pageSizeOptionsList:t,onChange:M}=r,o=t==null?void 0:t.find(u=>u.selected),L=o&&o.value!==void 0?Number(o.value):10,{from:I,to:U,total:V}=H(P,L,a),d=!n&&i.length===0,E=p(k,{children:[_||f?e(W,{heading:_,description:f,type:A}):null,b?e("div",{className:"purchase-orders-table__header",children:b}):null,e(j,{className:"purchase-orders-table__table-wrapper",mobileLayout:"stacked",columns:s,rowData:i,expandedRows:R,loading:n,skeletonRowCount:+O}),d&&e("div",{className:"purchase-orders-table__empty-state",role:"status","aria-live":"polite",children:e("p",{children:T||w.title})}),a>0?p("div",{className:"purchase-orders-table__pagination-wrapper",children:[e("div",{className:"purchase-orders-table__pagination-counter",children:e(D,{id:"PurchaseOrders.purchaseOrdersTable.pagination.status",fields:{from:I,to:U,total:V}})}),v>1&&e(B,{className:h(["purchase-orders-table__pagination",["purchase-orders-table__pagination--loading",n]]),currentPage:P,totalPages:v,onChange:C}),a>0&&t.length?p("div",{className:"purchase-orders-table__pagination-page-size",children:[e(D,{id:"PurchaseOrders.purchaseOrdersTable.pagination.pageSizeLabel.start"}),e(F,{disabled:n,handleSelect:M,options:t,value:((N=t==null?void 0:t.find(u=>u.selected))==null?void 0:N.value)||""})]}):null]}):null,g?e("div",{className:"purchase-orders-table__footer",children:g}):null]});return y?e(S,{variant:x,"data-testid":"purchaseOrdersTable",className:h(["b2b-purchase-order-purchase-orders-table",["b2b-purchase-order-purchase-orders-table--empty-state",d],m]),children:E}):e("div",{"data-testid":"purchaseOrdersTable",className:h(["b2b-purchase-order-purchase-orders-table",["b2b-purchase-order-purchase-orders-table--empty-state",d],m]),children:E})},ee=[{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{$ as P,ee as d,Z as g,X as i};
4
4
  //# sourceMappingURL=pageSize.config.js.map
@@ -1 +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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"}
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/lib/getStatusVariant.ts","/@dropins/storefront-purchase-order/src/components/PurchaseOrdersTable/PurchaseOrdersTable.tsx","/@dropins/storefront-purchase-order/src/configs/pageSize.config.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 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","/********************************************************************\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 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","export const getStatusVariant = (status: string): string => {\n const statusUpper = status.toUpperCase();\n\n // Positive statuses\n if (\n [\n 'APPROVED',\n 'ORDER_PLACED',\n 'APPROVED_PENDING_PAYMENT',\n 'ENABLED',\n ].includes(statusUpper)\n ) {\n return 'positive';\n }\n\n // Negative statuses\n if (\n ['REJECTED', 'CANCELED', 'ORDER_FAILED', 'DISABLED'].includes(statusUpper)\n ) {\n return 'negative';\n }\n\n // Waiting statuses (default)\n return 'waiting';\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 expandedRows,\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 : 10;\n const { from, to, total } = getRange(currentPage, pageSize, totalCount);\n const isEmpty = !loading && rows.length === 0;\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 expandedRows={expandedRows}\n loading={loading}\n skeletonRowCount={+skeletonRowCount}\n />\n {isEmpty && (\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={classes([\n 'purchase-orders-table__pagination',\n ['purchase-orders-table__pagination--loading', loading],\n ])}\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 </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 ['b2b-purchase-order-purchase-orders-table--empty-state', isEmpty],\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 ['b2b-purchase-order-purchase-orders-table--empty-state', isEmpty],\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","getStatusVariant","status","statusUpper","PurchaseOrdersTable","pageSizeConfig","totalCount","columns","rows","paginationConfig","alertMessageConfig","loading","className","variant","skeletonRowCount","emptyTitle","header","footer","withWrapper","expandedRows","t","useText","alertMessageHeading","alertMessageDescription","alertMessageType","totalPages","handlePageChange","pageSizeOptionsList","onChange","selectedPageSizeOption","option","isEmpty","content","jsxs","Fragment","jsx","InLineAlert","Table","Text","Pagination","classes","Picker","_a","Card","defaultPageSizeConfig"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sources":["/@dropins/storefront-purchase-order/src/api/permissions.ts"],"sourcesContent":["export const PO_PERMISSIONS = {\n PO_ALL: 'Magento_PurchaseOrder::all',\n VIEW_CUSTOMER: 'Magento_PurchaseOrder::view_purchase_orders',\n VIEW_SUBORDINATES:\n 'Magento_PurchaseOrder::view_purchase_orders_for_subordinates',\n VIEW_COMPANY: 'Magento_PurchaseOrder::view_purchase_orders_for_company',\n AUTO_APPROVE: 'Magento_PurchaseOrder::autoapprove_purchase_order',\n SUPER_APPROVE: 'Magento_PurchaseOrderRule::super_approve_purchase_order',\n VIEW_RULES: 'Magento_PurchaseOrderRule::view_approval_rules',\n MANAGE_RULES: 'Magento_PurchaseOrderRule::manage_approval_rules',\n};\n"],"names":["PO_PERMISSIONS"],"mappings":"AAAO,MAAMA,EAAiB,CAC5B,OAAQ,6BACR,cAAe,8CACf,kBACE,+DACF,aAAc,0DACd,aAAc,oDACd,cAAe,0DACf,WAAY,iDACZ,aAAc,kDAChB"}
1
+ {"version":3,"file":"permissions.js","sources":["/@dropins/storefront-purchase-order/src/api/permissions.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 PO_PERMISSIONS = {\n PO_ALL: 'Magento_PurchaseOrder::all',\n VIEW_CUSTOMER: 'Magento_PurchaseOrder::view_purchase_orders',\n VIEW_SUBORDINATES:\n 'Magento_PurchaseOrder::view_purchase_orders_for_subordinates',\n VIEW_COMPANY: 'Magento_PurchaseOrder::view_purchase_orders_for_company',\n AUTO_APPROVE: 'Magento_PurchaseOrder::autoapprove_purchase_order',\n SUPER_APPROVE: 'Magento_PurchaseOrderRule::super_approve_purchase_order',\n VIEW_RULES: 'Magento_PurchaseOrderRule::view_approval_rules',\n MANAGE_RULES: 'Magento_PurchaseOrderRule::manage_approval_rules',\n};\n"],"names":["PO_PERMISSIONS"],"mappings":"AAiBO,MAAMA,EAAiB,CAC5B,OAAQ,6BACR,cAAe,8CACf,kBACE,+DACF,aAAc,0DACd,aAAc,oDACd,cAAe,0DACf,WAAY,iDACZ,aAAc,kDAChB"}