@dropins/storefront-purchase-order 0.0.5-alpha9 → 0.0.6-alpha1
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.
- package/api/fetch-graphql/fetch-graphql.d.ts +16 -0
- package/api/fetch-graphql/index.d.ts +16 -0
- package/api/graphql/PurchaseOrdersFragment.graphql.d.ts +1 -1
- package/api/initialize/index.d.ts +16 -0
- package/api/permissions.d.ts +16 -0
- package/api.js +9 -435
- package/api.js.map +1 -1
- package/chunks/FormLoader.js +1 -1
- package/chunks/FormLoader.js.map +1 -1
- package/chunks/PurchaseOrderHistoryLogContent.js +4 -0
- package/chunks/PurchaseOrderHistoryLogContent.js.map +1 -0
- package/chunks/PurchaseOrdersHeader.js +1 -1
- package/chunks/PurchaseOrdersHeader.js.map +1 -1
- package/chunks/PurchaseOrdersTableActions.js +1 -1
- package/chunks/PurchaseOrdersTableActions.js.map +1 -1
- package/chunks/addPurchaseOrderComment.js +36 -0
- package/chunks/addPurchaseOrderComment.js.map +1 -0
- package/chunks/fetch-graphql.js.map +1 -1
- package/chunks/formatDate.js +4 -0
- package/chunks/formatDate.js.map +1 -0
- package/chunks/getPurchaseOrders.js +3 -3
- package/chunks/getPurchaseOrders.js.map +1 -1
- package/chunks/pageSize.config.js +1 -1
- package/chunks/pageSize.config.js.map +1 -1
- package/chunks/permissions.js.map +1 -1
- package/chunks/rejectPurchaseOrders.js +392 -21
- package/chunks/rejectPurchaseOrders.js.map +1 -1
- package/chunks/transform-purchase-order-approval-rule.js.map +1 -1
- package/chunks/usePurchaseOrderData.js +4 -0
- package/chunks/usePurchaseOrderData.js.map +1 -0
- package/chunks/usePurchaseOrders.js +1 -1
- package/chunks/usePurchaseOrders.js.map +1 -1
- package/components/ApprovalRuleDetailsContent/index.d.ts +11 -3
- package/components/ApprovalRuleForm/index.d.ts +11 -3
- package/components/PurchaseOrderApprovalFlowContent/PurchaseOrderApprovalFlowContent.d.ts +5 -0
- package/components/PurchaseOrderApprovalFlowContent/index.d.ts +19 -0
- package/components/PurchaseOrderCommentFormContent/PurchaseOrderCommentFormContent.d.ts +5 -0
- package/components/PurchaseOrderCommentFormContent/index.d.ts +19 -0
- package/components/PurchaseOrderCommentsListContent/PurchaseOrderCommentsListContent.d.ts +5 -0
- package/components/PurchaseOrderCommentsListContent/index.d.ts +19 -0
- package/components/PurchaseOrderHistoryLogContent/PurchaseOrderHistoryLogContent.d.ts +5 -0
- package/components/PurchaseOrderHistoryLogContent/index.d.ts +19 -0
- package/components/index.d.ts +4 -0
- package/containers/ApprovalRuleDetails/index.d.ts +11 -3
- package/containers/ApprovalRuleDetails.js +1 -1
- package/containers/ApprovalRuleDetails.js.map +1 -1
- package/containers/ApprovalRuleForm/index.d.ts +11 -3
- package/containers/ApprovalRuleForm.js +1 -1
- package/containers/ApprovalRuleForm.js.map +1 -1
- package/containers/ApprovalRulesList.js +1 -1
- package/containers/ApprovalRulesList.js.map +1 -1
- package/containers/CompanyPurchaseOrders.js +1 -1
- package/containers/CompanyPurchaseOrders.js.map +1 -1
- package/containers/CustomerPurchaseOrders.js +1 -1
- package/containers/CustomerPurchaseOrders.js.map +1 -1
- package/containers/PurchaseOrderApprovalFlow/PurchaseOrderApprovalFlow.d.ts +5 -0
- package/containers/PurchaseOrderApprovalFlow/index.d.ts +19 -0
- package/containers/PurchaseOrderApprovalFlow.d.ts +3 -0
- package/containers/PurchaseOrderApprovalFlow.js +4 -0
- package/containers/PurchaseOrderApprovalFlow.js.map +1 -0
- package/containers/PurchaseOrderCommentForm/PurchaseOrderCommentForm.d.ts +5 -0
- package/containers/PurchaseOrderCommentForm/index.d.ts +19 -0
- package/containers/PurchaseOrderCommentForm.d.ts +3 -0
- package/containers/PurchaseOrderCommentForm.js +4 -0
- package/containers/PurchaseOrderCommentForm.js.map +1 -0
- package/containers/PurchaseOrderCommentsList/PurchaseOrderCommentsList.d.ts +5 -0
- package/containers/PurchaseOrderCommentsList/index.d.ts +19 -0
- package/containers/PurchaseOrderCommentsList.d.ts +3 -0
- package/containers/PurchaseOrderCommentsList.js +4 -0
- package/containers/PurchaseOrderCommentsList.js.map +1 -0
- package/containers/PurchaseOrderConfirmation.js +1 -1
- package/containers/PurchaseOrderConfirmation.js.map +1 -1
- package/containers/PurchaseOrderHistoryLog/PurchaseOrderHistoryLog.d.ts +5 -0
- package/containers/PurchaseOrderHistoryLog/index.d.ts +19 -0
- package/containers/PurchaseOrderHistoryLog.d.ts +3 -0
- package/containers/PurchaseOrderHistoryLog.js +4 -0
- package/containers/PurchaseOrderHistoryLog.js.map +1 -0
- package/containers/PurchaseOrderStatus.js +1 -1
- package/containers/PurchaseOrderStatus.js.map +1 -1
- package/containers/RequireApprovalPurchaseOrders.js +1 -1
- package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
- package/containers/index.d.ts +4 -0
- package/data/models/purchase-order-model.d.ts +2 -1
- package/hooks/index.d.ts +2 -0
- package/hooks/useApprovalRulesList.d.ts +1 -1
- package/hooks/usePurchaseOrderData.d.ts +7 -0
- package/i18n/en_US.json.d.ts +65 -7
- package/lib/cleanAndDeep.d.ts +16 -0
- package/lib/formatDate.d.ts +5 -0
- package/lib/getRange.d.ts +16 -0
- package/lib/getStatusVariant.d.ts +2 -0
- package/lib/index.d.ts +17 -0
- package/lib/isValidUrl.d.ts +16 -0
- package/mocks/index.d.ts +16 -0
- package/mocks/storybook/events-data.d.ts +16 -0
- package/package.json +1 -1
- package/render/index.d.ts +16 -0
- package/render.js +3 -3
- package/render.js.map +1 -1
- package/types/api/api.enums.types.d.ts +16 -0
- package/types/api/index.d.ts +16 -0
- package/types/components/approvalFlowContent.types.d.ts +6 -0
- package/types/components/historyLogContent.types.d.ts +7 -0
- package/types/components/index.d.ts +20 -0
- package/types/components/purchaseOrderCommentFormContent.types.d.ts +7 -0
- package/types/components/purchaseOrderCommentsListContent.types.d.ts +7 -0
- package/types/components/purchaseOrderHistoryLogContent.types.d.ts +7 -0
- package/types/components/purchaseOrdersTable.types.d.ts +1 -0
- package/types/components/purchaseOrdersTableActions.d.ts +16 -0
- package/types/containers/approvalRuleDetailsProps.types.d.ts +16 -0
- package/types/containers/historyLog.types.d.ts +7 -0
- package/types/containers/index.d.ts +20 -0
- package/types/containers/purchaseOrderApprovalFlow.types.d.ts +6 -0
- package/types/containers/purchaseOrderCommentForm.types.d.ts +6 -0
- package/types/containers/purchaseOrderCommentsList.types.d.ts +7 -0
- package/types/containers/purchaseOrderHistoryLog.types.d.ts +23 -0
- package/types/hooks/index.d.ts +16 -0
- package/types/hooks/useApprovalRuleDetails.types.d.ts +16 -0
- package/types/hooks/useApprovalRulesList.types.d.ts +2 -0
- package/types/hooks/usePurchaseOrders.types.d.ts +1 -0
- package/chunks/FormLoader2.js +0 -4
- package/chunks/FormLoader2.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{
|
|
3
|
+
import{jsxs as L,jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{classes as ae}from"@dropins/tools/lib.js";import{i as te,g as le,P as ne,d as oe}from"../chunks/pageSize.config.js";import{P as ie}from"../chunks/PurchaseOrdersHeader.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{ActionButton as F,Tag as ce,Button as de,Skeleton as ue,SkeletonRow as pe}from"@dropins/tools/components.js";import{useState as g,useCallback as C,useEffect as he,useMemo as W}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{u as me}from"../chunks/useCustomerRolePermissions.js";import{g as be,d as ge}from"../chunks/getPurchaseOrderApprovalRules.js";import{Text as P,useText as Pe}from"@dropins/tools/i18n.js";import"@dropins/tools/preact.js";import"../chunks/permissions.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/fetch-error.js";import"../chunks/transform-purchase-order-approval-rule.js";const X=[{key:"ruleName",label:"Rule Name"},{key:"status",label:"Status"},{key:"createdBy",label:"Created By"},{key:"action",label:"Actions"}],fe=20,Te=({routeApprovalRuleDetails:u,routeCreateApprovalRule:p,routeEditApprovalRule:h,setColumns:m,setRowsData:f,initialPageSize:E,permissions:v,loadingPermissions:S,t:l})=>{const[b,c]=g([]),[T,o]=g(!0),[x,i]=g(!0),[d,A]=g(E),[$,k]=g({currentPage:1,totalPages:1,totalCount:0}),[O,w]=g(new Set),{currentPage:R,totalPages:N,totalCount:Y}=$,V=C(s=>{k(t=>({...t,currentPage:s})),w(new Set),o(!0)},[]),ee=C(s=>{const t=s.target.value;A(e=>e.map(a=>({...a,selected:a.value===t}))),V(1),w(new Set),o(!0)},[V]),H=C(s=>{w(t=>{const e=new Set(t);return e.has(s)?e.delete(s):e.add(s),e})},[]);he(()=>{var e;if(!T||S)return;i(!0);const s=(e=d==null?void 0:d.find(a=>a.selected))==null?void 0:e.value,t=parseInt(s??fe.toString(),10);be(R,t).then(a=>{var B,z;const I=(a==null?void 0:a.items)??[],_=(B=a==null?void 0:a.pageInfo)==null?void 0:B.currentPage,y=(z=a==null?void 0:a.pageInfo)==null?void 0:z.totalPages,j=a==null?void 0:a.totalCount;k({currentPage:_>y?y||1:_,totalPages:y,totalCount:j}),c(I)}).catch(a=>{console.error("Error fetching approval rules:",a),c([])}).finally(()=>{i(!1),o(!1)})},[T,R,d,N,S]);const U=C((s,t)=>{let e="";switch(t){case"new":{e=p==null?void 0:p(s);break}case"edit":{e=h==null?void 0:h(s);break}case"view":{e=u==null?void 0:u(s);break}}return te(e??"")?e:"#"},[p,h,u]),re=W(()=>(m==null?void 0:m(X))??X.map(s=>({...s,label:l[s.key]||s.label})),[m,l]),M=C((s,t)=>{s.preventDefault(),i(!0),ge(t).then(()=>{o(!0)}).finally(()=>{i(!1)})},[]),se=W(()=>{const s=b==null?void 0:b.map((e,a)=>{var G,Z,q,J,K,Q;const{isAdmin:I,permissions:{manageApprovalRules:_}}=v,y=O.has(a),j=I||_,B=r(F,{onClick:()=>H(a),children:r(P,{id:`PurchaseOrders.purchaseOrdersTable.buttons.${y?"expandedHidden":"expandedShow"}`})}),z=L("div",{className:"b2b-purchase-order-purchase-orders-table__row-details",children:[L("div",{className:"b2b-purchase-order-purchase-orders-table__row-details-content",children:[L("p",{children:[r("span",{children:r(P,{id:"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.ruleType"})})," ",r(P,{id:`PurchaseOrders.purchaseOrdersTable.ruleTypes.${(Z=(G=e.condition)==null?void 0:G.attribute)==null?void 0:Z.toLocaleLowerCase()}`})]}),r("p",{children:r("span",{children:r(P,{id:"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.appliesTo"})})}),r("ul",{children:((q=e==null?void 0:e.appliesToRoles)==null?void 0:q.length)<=0?r("li",{children:l.appliesToAll}):(J=e==null?void 0:e.appliesToRoles)==null?void 0:J.map((n,D)=>r("li",{children:n.name},D))}),r("p",{children:r("span",{children:r(P,{id:"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.approver"})})}),r("ul",{children:(K=e==null?void 0:e.approverRoles)==null?void 0:K.map((n,D)=>r("li",{children:n==null?void 0:n.name},D))})]}),j&&r("div",{className:"b2b-purchase-order-purchase-orders-table__row-details-action",children:L("div",{style:{display:"flex",gap:"8px"},children:[r(F,{onClick:()=>{const n=U(e.uid,"edit");window.location.href=n},"aria-label":l.ariaLabelEditRule.replace("{{ruleName}}",e.name),"data-testid":`edit-approval-rule-${e.uid}`,children:l.actionEdit}),r(F,{onClick:n=>M(n,e.uid),"aria-label":l.ariaLabelDeleteRule.replace("{{ruleName}}",e.name),"data-testid":`delete-approval-rule-${e.uid}`,children:l.actionDelete})]})})]});return{ruleName:e.name,status:r(ce,{className:`b2b-purchase-order-purchase-orders-table__status b2b-purchase-order-purchase-orders-table__status--${le(e.status)}`,children:r(P,{id:`PurchaseOrders.purchaseOrdersTable.rulesStatus.${(Q=e.status)==null?void 0:Q.toLocaleLowerCase()}`})}),createdBy:e.createdBy,action:B,_rowDetails:z}});let t=s;if(f){const e=f(s);e!==void 0&&Array.isArray(e)&&(t=e)}return t},[b,O,v,f,l,U,M,H]);return{tableConfig:{columns:re,rows:se,expandedRows:O},paginationConfig:{currentPage:R,totalPages:N,handlePageChange:V},pageSizeConfig:{pageSizeOptionsList:d,onChange:ee},totalCount:Y,loading:x,handleCreateUrl:U}},Ve=({routeCreateApprovalRule:u,routeEditApprovalRule:p,routeApprovalRuleDetails:h,setColumns:m,setRowsData:f,className:E="",withHeader:v=!0,withWrapper:S=!0,skeletonRowCount:l=5,initialPageSize:b=oe})=>{const c=Pe({headerText:"PurchaseOrders.approvalRulesList.containerTitle",ruleName:"PurchaseOrders.purchaseOrdersTable.tableColumns.ruleName",ruleType:"PurchaseOrders.purchaseOrdersTable.tableColumns.ruleType",appliesTo:"PurchaseOrders.purchaseOrdersTable.tableColumns.appliesTo",approver:"PurchaseOrders.purchaseOrdersTable.tableColumns.approver",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",actionEdit:"PurchaseOrders.purchaseOrdersTable.actionEdit",actionDelete:"PurchaseOrders.purchaseOrdersTable.actionDelete",addNewRule:"PurchaseOrders.approvalRulesList.buttons.newRule",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",appliesToAll:"PurchaseOrders.purchaseOrdersTable.appliesToAll",emptyTitle:"PurchaseOrders.approvalRulesList.emptyTitle",ariaLabelEditRule:"PurchaseOrders.approvalRulesList.ariaLabel.editRule",ariaLabelDeleteRule:"PurchaseOrders.approvalRulesList.ariaLabel.deleteRule",ariaLabelViewRule:"PurchaseOrders.approvalRulesList.ariaLabel.viewRule"}),{permissions:T,loadingPermissions:o}=me(),{loading:x,tableConfig:i,paginationConfig:d,totalCount:A,pageSizeConfig:$,handleCreateUrl:k}=Te({routeCreateApprovalRule:u,routeEditApprovalRule:p,routeApprovalRuleDetails:h,setColumns:m,setRowsData:f,permissions:T,initialPageSize:b,loadingPermissions:o,t:c}),{isAdmin:O,permissions:{manageApprovalRules:w}}=T,R=O||w?r(de,{variant:"primary",onClick:()=>{window.location.href=k("","new")},"data-testid":"add-new-rule-button",children:c.addNewRule}):null,N=x||o?r(ue,{"data-testid":"approval-rules-skeleton",children:r(pe,{variant:"row",size:"small"})}):R;return L("div",{className:ae(["purchase-orders",E]),"data-testid":"purchase-orders-container",children:[v?r(ie,{headerText:c.headerText}):null,r(ne,{totalCount:A,columns:i.columns,rows:i.rows,expandedRows:i.expandedRows,paginationConfig:d,loading:x||o,skeletonRowCount:l,pageSizeConfig:$,emptyTitle:c.emptyTitle,withWrapper:S,footer:N})]})};export{Ve as ApprovalRulesList,Ve as default};
|
|
4
4
|
//# sourceMappingURL=ApprovalRulesList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalRulesList.js","sources":["/@dropins/storefront-purchase-order/src/configs/purchaseOrderApprovalRules.config.ts","/@dropins/storefront-purchase-order/src/hooks/useApprovalRulesList.tsx","/@dropins/storefront-purchase-order/src/containers/ApprovalRulesList/ApprovalRulesList.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 { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultApprovalRulesColumns: Column[] = [\n { key: 'action', label: 'Action' },\n { key: 'ruleName', label: 'Rule Name' },\n { key: 'status', label: 'Status' },\n { key: 'ruleType', label: 'Rule Type' },\n {\n key: 'createdBy',\n label: 'Created By',\n },\n {\n key: 'appliesTo',\n label: 'Applies To',\n },\n { key: 'approver', label: 'Approver' },\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 {\n UseApprovalRulesList,\n UseApprovalRulesListReturn,\n} from '@/b2b-purchase-order/types/hooks';\nimport { useCallback, useState, useEffect, useMemo } from 'preact/hooks';\nimport { isValidUrl } from '@/b2b-purchase-order/lib';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { defaultApprovalRulesColumns } from '@/b2b-purchase-order/configs';\nimport {\n deletePurchaseOrderApprovalRule,\n getPurchaseOrderApprovalRules,\n} from '@/b2b-purchase-order/api';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\n\nconst DEFAULT_PAGE_SIZE = 20;\n\nexport const useApprovalRulesList = ({\n routeApprovalRuleDetails,\n routeCreateApprovalRule,\n routeEditApprovalRule,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n t,\n}: UseApprovalRulesList): UseApprovalRulesListReturn => {\n const [approvalRules, setApprovalRules] = useState<\n PurchaseOrderApprovalRuleModel[]\n >([]);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const [loading, setLoading] = useState<boolean>(true);\n const [pageSizeOptionsList, setPageSizeOptionsList] =\n useState(initialPageSize);\n const [pagination, setPagination] = useState({\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n });\n\n // Derive pagination values\n const { currentPage, totalPages, totalCount } = pagination;\n\n const handleChangePageSize = useCallback((event: Event) => {\n const size = (event.target as HTMLSelectElement).value;\n\n setPageSizeOptionsList((prev) => {\n return prev.map((option) => ({\n ...option,\n selected: option.value === size,\n }));\n });\n }, []);\n\n const handlePageChange = useCallback((page: number) => {\n setPagination((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n useEffect(() => {\n const pageSize = pageSizeOptionsList?.find(\n (option) => option.selected\n )?.value;\n const selectedPageSize = parseInt(\n pageSize ?? DEFAULT_PAGE_SIZE.toString(),\n 10\n );\n\n setLoading(true);\n getPurchaseOrderApprovalRules(currentPage, selectedPageSize)\n .then((data) => {\n if (data?.pageInfo) {\n setPagination({\n currentPage: data.pageInfo.currentPage,\n totalPages: data.pageInfo.totalPages,\n totalCount: data.totalCount,\n });\n }\n\n setApprovalRules(data?.items);\n })\n .catch((error) => {\n console.error('Error fetching approval rules:', error);\n setApprovalRules([]);\n })\n .finally(() => {\n setLoading(false);\n setShouldRefetch(false);\n });\n }, [\n shouldRefetch,\n currentPage,\n pageSizeOptionsList,\n pagination.totalPages,\n totalPages,\n ]);\n\n const handleCreateUrl = useCallback(\n (id: string, type: 'edit' | 'new' | 'view'): string => {\n let url = '';\n\n switch (type) {\n case 'new': {\n url = routeCreateApprovalRule?.(id) as string;\n break;\n }\n case 'edit': {\n url = routeEditApprovalRule?.(id) as string;\n break;\n }\n case 'view': {\n url = routeApprovalRuleDetails?.(id) as string;\n break;\n }\n }\n\n if (!isValidUrl(url ?? '')) return '#';\n\n return url;\n },\n [routeCreateApprovalRule, routeEditApprovalRule, routeApprovalRuleDetails]\n );\n\n const columns = useMemo(() => {\n return (\n setColumns?.(defaultApprovalRulesColumns) ??\n defaultApprovalRulesColumns.map((col) => ({\n ...col,\n label: t[col.key as keyof typeof t] || col.label,\n }))\n );\n }, [setColumns, t]);\n\n const handleDeleteRule = useCallback((e: Event, id: string) => {\n e.preventDefault();\n setLoading(true);\n deletePurchaseOrderApprovalRule(id)\n .then(() => {\n setShouldRefetch(true);\n })\n .finally(() => {\n setLoading(false);\n });\n }, []);\n\n const rows = useMemo(() => {\n const modifiedApprovalRules = approvalRules?.map((ar) => {\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n return {\n ruleName: ar.name,\n createdBy: ar.createdBy,\n ruleType: (\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.ruleTypes.${ar.condition?.attribute?.toLocaleLowerCase()}`}\n />\n ),\n status: (\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.rulesStatus.${ar.status?.toLocaleLowerCase()}`}\n />\n ),\n appliesTo:\n ar?.appliesToRoles?.length <= 0\n ? t.appliesToAll\n : ar?.appliesToRoles?.map((role) => role.name).join(', '),\n approver: (\n <>\n {ar?.approverRoles?.map((role, idx) => (\n <div key={idx}>{role?.name}</div>\n ))}\n </>\n ),\n action:\n isAdmin || manageApprovalRules ? (\n <>\n <div style={{ display: 'flex', gap: '8px' }}>\n <a\n href={handleCreateUrl(ar.uid, 'edit')}\n aria-label={t.ariaLabelEditRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n data-testid={`edit-approval-rule-${ar.uid}`}\n >\n {t.actionEdit}\n </a>\n <a\n data-testid={`delete-approval-rule-${ar.uid}`}\n href=\"#\"\n aria-label={t.ariaLabelDeleteRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n onClick={(e) => handleDeleteRule(e, ar.uid)}\n >\n {t.actionDelete}\n </a>\n </div>\n </>\n ) : (\n <a\n data-testid={`view-approval-rule-${ar.uid}`}\n href={handleCreateUrl(ar.uid, 'view')}\n aria-label={t.ariaLabelViewRule.replace('{{ruleName}}', ar.name)}\n >\n {t.actionView}\n </a>\n ),\n };\n });\n\n return setRowsData\n ? setRowsData(modifiedApprovalRules)\n : modifiedApprovalRules;\n }, [\n approvalRules,\n setRowsData,\n permissions,\n t,\n handleCreateUrl,\n handleDeleteRule,\n ]);\n\n return {\n tableConfig: {\n columns,\n rows,\n },\n paginationConfig: {\n currentPage,\n totalPages,\n handlePageChange,\n },\n pageSizeConfig: {\n pageSizeOptionsList,\n onChange: handleChangePageSize,\n },\n totalCount,\n loading,\n handleCreateUrl,\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport {\n PurchaseOrdersHeader,\n PurchaseOrdersTable,\n} from '@/b2b-purchase-order/components';\nimport { ApprovalRulesListProps } from '@/b2b-purchase-order/types/containers';\nimport {\n useApprovalRulesList,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport {\n Button,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const ApprovalRulesList: Container<ApprovalRulesListProps> = ({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n initialPageSize = defaultPageSizeConfig,\n}) => {\n const t = useText({\n headerText: 'PurchaseOrders.approvalRulesList.containerTitle',\n ruleName: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleName',\n ruleType: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleType',\n appliesTo: 'PurchaseOrders.purchaseOrdersTable.tableColumns.appliesTo',\n approver: 'PurchaseOrders.purchaseOrdersTable.tableColumns.approver',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n actionEdit: 'PurchaseOrders.purchaseOrdersTable.actionEdit',\n actionDelete: 'PurchaseOrders.purchaseOrdersTable.actionDelete',\n addNewRule: 'PurchaseOrders.approvalRulesList.buttons.newRule',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n appliesToAll: 'PurchaseOrders.purchaseOrdersTable.appliesToAll',\n emptyTitle: 'PurchaseOrders.approvalRulesList.emptyTitle',\n ariaLabelEditRule: 'PurchaseOrders.approvalRulesList.ariaLabel.editRule',\n ariaLabelDeleteRule:\n 'PurchaseOrders.approvalRulesList.ariaLabel.deleteRule',\n ariaLabelViewRule: 'PurchaseOrders.approvalRulesList.ariaLabel.viewRule',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n loading,\n tableConfig,\n paginationConfig,\n totalCount,\n pageSizeConfig,\n handleCreateUrl,\n } = useApprovalRulesList({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n permissions,\n initialPageSize,\n t,\n });\n\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n const renderFooterButton =\n isAdmin || manageApprovalRules ? (\n <Button\n variant=\"primary\"\n onClick={() => {\n window.location.href = handleCreateUrl('', 'new');\n }}\n data-testid=\"add-new-rule-button\"\n >\n {t.addNewRule}\n </Button>\n ) : null;\n\n const footerContent =\n loading || loadingPermissions ? (\n <Skeleton data-testid=\"approval-rules-skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n ) : (\n renderFooterButton\n );\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading || loadingPermissions}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.emptyTitle}\n withWrapper={withWrapper}\n footer={footerContent}\n />\n </div>\n );\n};\n"],"names":["defaultApprovalRulesColumns","DEFAULT_PAGE_SIZE","useApprovalRulesList","routeApprovalRuleDetails","routeCreateApprovalRule","routeEditApprovalRule","setColumns","setRowsData","initialPageSize","permissions","t","approvalRules","setApprovalRules","useState","shouldRefetch","setShouldRefetch","loading","setLoading","pageSizeOptionsList","setPageSizeOptionsList","pagination","setPagination","currentPage","totalPages","totalCount","handleChangePageSize","useCallback","event","size","prev","option","handlePageChange","page","useEffect","pageSize","_a","selectedPageSize","getPurchaseOrderApprovalRules","data","error","handleCreateUrl","id","type","url","isValidUrl","columns","useMemo","col","handleDeleteRule","e","deletePurchaseOrderApprovalRule","rows","modifiedApprovalRules","ar","isAdmin","manageApprovalRules","jsx","Text","_b","_c","_d","_e","role","Fragment","_f","idx","jsxs","ApprovalRulesList","className","withHeader","withWrapper","skeletonRowCount","defaultPageSizeConfig","useText","loadingPermissions","useCustomerRolePermissions","tableConfig","paginationConfig","pageSizeConfig","renderFooterButton","Button","footerContent","Skeleton","SkeletonRow","classes","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ApprovalRulesList.js","sources":["/@dropins/storefront-purchase-order/src/configs/purchaseOrderApprovalRules.config.ts","/@dropins/storefront-purchase-order/src/hooks/useApprovalRulesList.tsx","/@dropins/storefront-purchase-order/src/containers/ApprovalRulesList/ApprovalRulesList.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 { Column } from '@/b2b-purchase-order/types/components';\n\nexport const defaultApprovalRulesColumns: Column[] = [\n { key: 'ruleName', label: 'Rule Name' },\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 {\n UseApprovalRulesList,\n UseApprovalRulesListReturn,\n} from '@/b2b-purchase-order/types/hooks';\nimport { useCallback, useState, useEffect, useMemo } from 'preact/hooks';\nimport { getStatusVariant, isValidUrl } from '@/b2b-purchase-order/lib';\nimport { Text } from '@adobe-commerce/elsie/i18n';\nimport { defaultApprovalRulesColumns } from '@/b2b-purchase-order/configs';\nimport {\n deletePurchaseOrderApprovalRule,\n getPurchaseOrderApprovalRules,\n} from '@/b2b-purchase-order/api';\nimport { PurchaseOrderApprovalRuleModel } from '@/b2b-purchase-order/data/models';\nimport { ActionButton, Tag } from '@adobe-commerce/elsie/components';\n\nconst DEFAULT_PAGE_SIZE = 20;\n\nexport const useApprovalRulesList = ({\n routeApprovalRuleDetails,\n routeCreateApprovalRule,\n routeEditApprovalRule,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n}: UseApprovalRulesList): UseApprovalRulesListReturn => {\n const [approvalRules, setApprovalRules] = useState<\n PurchaseOrderApprovalRuleModel[]\n >([]);\n const [shouldRefetch, setShouldRefetch] = useState(true);\n const [loading, setLoading] = useState<boolean>(true);\n const [pageSizeOptionsList, setPageSizeOptionsList] =\n useState(initialPageSize);\n const [pagination, setPagination] = useState({\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n });\n const [expandedRowIndices, setExpandedRowIndices] = useState<Set<number>>(\n new Set()\n );\n\n // Derive pagination values\n const { currentPage, totalPages, totalCount } = pagination;\n\n const handlePageChange = useCallback((page: number) => {\n setPagination((prev) => {\n return { ...prev, currentPage: page };\n });\n\n setExpandedRowIndices(new Set());\n setShouldRefetch(true);\n }, []);\n\n const handleChangePageSize = useCallback(\n (event: Event) => {\n const size = (event.target as HTMLSelectElement).value;\n\n setPageSizeOptionsList((prev) => {\n return prev.map((option) => ({\n ...option,\n selected: option.value === size,\n }));\n });\n\n // Reset the current page to 1 on page size change\n handlePageChange(1);\n\n setExpandedRowIndices(new Set());\n setShouldRefetch(true);\n },\n [handlePageChange]\n );\n\n const toggleExpandedRow = useCallback((rowIndex: number) => {\n setExpandedRowIndices((prev) => {\n const newSet = new Set(prev);\n if (newSet.has(rowIndex)) {\n newSet.delete(rowIndex);\n } else {\n newSet.add(rowIndex);\n }\n return newSet;\n });\n }, []);\n\n useEffect(() => {\n // Re-fetch controlled by shouldRefetch flag\n if (!shouldRefetch) {\n return;\n }\n\n // Don't fetch approval rules until permissions are loaded\n if (loadingPermissions) {\n return;\n }\n\n setLoading(true);\n const pageSize = pageSizeOptionsList?.find(\n (option) => option.selected\n )?.value;\n const selectedPageSize = parseInt(\n pageSize ?? DEFAULT_PAGE_SIZE.toString(),\n 10\n );\n\n getPurchaseOrderApprovalRules(currentPage, selectedPageSize)\n .then((data) => {\n const responseApprovalRules = data?.items ?? [];\n const responseCurrentPage = data?.pageInfo?.currentPage;\n const responseTotalPages = data?.pageInfo?.totalPages;\n const responseTotalCount = data?.totalCount;\n\n setPagination({\n currentPage:\n responseCurrentPage > responseTotalPages\n ? responseTotalPages || 1\n : responseCurrentPage,\n totalPages: responseTotalPages,\n totalCount: responseTotalCount,\n });\n setApprovalRules(responseApprovalRules);\n })\n .catch((error) => {\n console.error('Error fetching approval rules:', error);\n setApprovalRules([]);\n })\n .finally(() => {\n setLoading(false);\n setShouldRefetch(false);\n });\n }, [\n shouldRefetch,\n currentPage,\n pageSizeOptionsList,\n totalPages,\n loadingPermissions,\n ]);\n\n const handleCreateUrl = useCallback(\n (id: string, type: 'edit' | 'new' | 'view'): string => {\n let url = '';\n\n switch (type) {\n case 'new': {\n url = routeCreateApprovalRule?.(id) as string;\n break;\n }\n case 'edit': {\n url = routeEditApprovalRule?.(id) as string;\n break;\n }\n case 'view': {\n url = routeApprovalRuleDetails?.(id) as string;\n break;\n }\n }\n\n if (!isValidUrl(url ?? '')) return '#';\n\n return url;\n },\n [routeCreateApprovalRule, routeEditApprovalRule, routeApprovalRuleDetails]\n );\n\n const columns = useMemo(() => {\n return (\n setColumns?.(defaultApprovalRulesColumns) ??\n defaultApprovalRulesColumns.map((col) => ({\n ...col,\n label: t[col.key as keyof typeof t] || col.label,\n }))\n );\n }, [setColumns, t]);\n\n const handleDeleteRule = useCallback((e: Event, id: string) => {\n e.preventDefault();\n setLoading(true);\n deletePurchaseOrderApprovalRule(id)\n .then(() => {\n setShouldRefetch(true);\n })\n .finally(() => {\n setLoading(false);\n });\n }, []);\n\n const rows = useMemo(() => {\n const modifiedApprovalRules = approvalRules?.map((ar, rowIndex) => {\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n const isExpanded = expandedRowIndices.has(rowIndex);\n const canManage = isAdmin || manageApprovalRules;\n\n // Main row action\n const action = (\n <ActionButton onClick={() => toggleExpandedRow(rowIndex)}>\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.buttons.${\n isExpanded ? 'expandedHidden' : 'expandedShow'\n }`}\n />\n </ActionButton>\n );\n\n // Expanded row details\n const _rowDetails = (\n <div className=\"b2b-purchase-order-purchase-orders-table__row-details\">\n <div className=\"b2b-purchase-order-purchase-orders-table__row-details-content\">\n <p>\n <span>\n <Text id=\"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.ruleType\" />\n </span>{' '}\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.ruleTypes.${ar.condition?.attribute?.toLocaleLowerCase()}`}\n />\n </p>\n <p>\n <span>\n <Text id=\"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.appliesTo\" />\n </span>\n </p>\n <ul>\n {ar?.appliesToRoles?.length <= 0 ? (\n <li>{t.appliesToAll}</li>\n ) : (\n ar?.appliesToRoles?.map((role, idx) => (\n <li key={idx}>{role.name}</li>\n ))\n )}\n </ul>\n <p>\n <span>\n <Text id=\"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.approver\" />\n </span>\n </p>\n <ul>\n {ar?.approverRoles?.map((role, idx) => (\n <li key={idx}>{role?.name}</li>\n ))}\n </ul>\n </div>\n {canManage && (\n <div className=\"b2b-purchase-order-purchase-orders-table__row-details-action\">\n <div style={{ display: 'flex', gap: '8px' }}>\n <ActionButton\n onClick={() => {\n const url = handleCreateUrl(ar.uid, 'edit');\n window.location.href = url;\n }}\n aria-label={t.ariaLabelEditRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n data-testid={`edit-approval-rule-${ar.uid}`}\n >\n {t.actionEdit}\n </ActionButton>\n <ActionButton\n onClick={(e) => handleDeleteRule(e, ar.uid)}\n aria-label={t.ariaLabelDeleteRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n data-testid={`delete-approval-rule-${ar.uid}`}\n >\n {t.actionDelete}\n </ActionButton>\n </div>\n </div>\n )}\n </div>\n );\n\n return {\n ruleName: ar.name,\n status: (\n <Tag\n className={`b2b-purchase-order-purchase-orders-table__status b2b-purchase-order-purchase-orders-table__status--${getStatusVariant(\n ar.status\n )}`}\n >\n <Text\n id={`PurchaseOrders.purchaseOrdersTable.rulesStatus.${ar.status?.toLocaleLowerCase()}`}\n />\n </Tag>\n ),\n createdBy: ar.createdBy,\n action,\n _rowDetails,\n };\n });\n\n let finalRows = modifiedApprovalRules;\n\n if (setRowsData) {\n const customRows = setRowsData(modifiedApprovalRules);\n // If setRowsData returns something, use it, otherwise keep original data\n if (customRows !== undefined && Array.isArray(customRows)) {\n finalRows = customRows as typeof modifiedApprovalRules;\n }\n }\n\n return finalRows;\n }, [\n approvalRules,\n expandedRowIndices,\n permissions,\n setRowsData,\n t,\n handleCreateUrl,\n handleDeleteRule,\n toggleExpandedRow,\n ]);\n\n return {\n tableConfig: {\n columns,\n rows,\n expandedRows: expandedRowIndices,\n },\n paginationConfig: {\n currentPage,\n totalPages,\n handlePageChange,\n },\n pageSizeConfig: {\n pageSizeOptionsList,\n onChange: handleChangePageSize,\n },\n totalCount,\n loading,\n handleCreateUrl,\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport {\n PurchaseOrdersHeader,\n PurchaseOrdersTable,\n} from '@/b2b-purchase-order/components';\nimport { ApprovalRulesListProps } from '@/b2b-purchase-order/types/containers';\nimport {\n useApprovalRulesList,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport {\n Button,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const ApprovalRulesList: Container<ApprovalRulesListProps> = ({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n initialPageSize = defaultPageSizeConfig,\n}) => {\n const t = useText({\n headerText: 'PurchaseOrders.approvalRulesList.containerTitle',\n ruleName: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleName',\n ruleType: 'PurchaseOrders.purchaseOrdersTable.tableColumns.ruleType',\n appliesTo: 'PurchaseOrders.purchaseOrdersTable.tableColumns.appliesTo',\n approver: 'PurchaseOrders.purchaseOrdersTable.tableColumns.approver',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n actionEdit: 'PurchaseOrders.purchaseOrdersTable.actionEdit',\n actionDelete: 'PurchaseOrders.purchaseOrdersTable.actionDelete',\n addNewRule: 'PurchaseOrders.approvalRulesList.buttons.newRule',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n appliesToAll: 'PurchaseOrders.purchaseOrdersTable.appliesToAll',\n emptyTitle: 'PurchaseOrders.approvalRulesList.emptyTitle',\n ariaLabelEditRule: 'PurchaseOrders.approvalRulesList.ariaLabel.editRule',\n ariaLabelDeleteRule:\n 'PurchaseOrders.approvalRulesList.ariaLabel.deleteRule',\n ariaLabelViewRule: 'PurchaseOrders.approvalRulesList.ariaLabel.viewRule',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n loading,\n tableConfig,\n paginationConfig,\n totalCount,\n pageSizeConfig,\n handleCreateUrl,\n } = useApprovalRulesList({\n routeCreateApprovalRule,\n routeEditApprovalRule,\n routeApprovalRuleDetails,\n setColumns,\n setRowsData,\n permissions,\n initialPageSize,\n loadingPermissions,\n t,\n });\n\n const {\n isAdmin,\n permissions: { manageApprovalRules },\n } = permissions;\n\n const renderFooterButton =\n isAdmin || manageApprovalRules ? (\n <Button\n variant=\"primary\"\n onClick={() => {\n window.location.href = handleCreateUrl('', 'new');\n }}\n data-testid=\"add-new-rule-button\"\n >\n {t.addNewRule}\n </Button>\n ) : null;\n\n const footerContent =\n loading || loadingPermissions ? (\n <Skeleton data-testid=\"approval-rules-skeleton\">\n <SkeletonRow variant=\"row\" size=\"small\" />\n </Skeleton>\n ) : (\n renderFooterButton\n );\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n expandedRows={tableConfig.expandedRows}\n paginationConfig={paginationConfig}\n loading={loading || loadingPermissions}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.emptyTitle}\n withWrapper={withWrapper}\n footer={footerContent}\n />\n </div>\n );\n};\n"],"names":["defaultApprovalRulesColumns","DEFAULT_PAGE_SIZE","useApprovalRulesList","routeApprovalRuleDetails","routeCreateApprovalRule","routeEditApprovalRule","setColumns","setRowsData","initialPageSize","permissions","loadingPermissions","t","approvalRules","setApprovalRules","useState","shouldRefetch","setShouldRefetch","loading","setLoading","pageSizeOptionsList","setPageSizeOptionsList","pagination","setPagination","expandedRowIndices","setExpandedRowIndices","currentPage","totalPages","totalCount","handlePageChange","useCallback","page","prev","handleChangePageSize","event","size","option","toggleExpandedRow","rowIndex","newSet","useEffect","pageSize","_a","selectedPageSize","getPurchaseOrderApprovalRules","data","responseApprovalRules","responseCurrentPage","responseTotalPages","_b","responseTotalCount","error","handleCreateUrl","id","type","url","isValidUrl","columns","useMemo","col","handleDeleteRule","e","deletePurchaseOrderApprovalRule","rows","modifiedApprovalRules","ar","isAdmin","manageApprovalRules","isExpanded","canManage","action","jsx","ActionButton","Text","_rowDetails","jsxs","_c","_d","role","idx","_e","Tag","getStatusVariant","_f","finalRows","customRows","ApprovalRulesList","className","withHeader","withWrapper","skeletonRowCount","defaultPageSizeConfig","useText","useCustomerRolePermissions","tableConfig","paginationConfig","pageSizeConfig","renderFooterButton","Button","footerContent","Skeleton","SkeletonRow","classes","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as
|
|
3
|
+
import{jsxs as A,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as w}from"@dropins/tools/lib.js";import{P as y,d as R}from"../chunks/pageSize.config.js";import{P as N}from"../chunks/PurchaseOrdersHeader.js";import{P as S}from"../chunks/PurchaseOrdersTableActions.js";import"@dropins/tools/components.js";import{E as D,u as E}from"../chunks/usePurchaseOrders.js";import{u as j}from"../chunks/useCustomerRolePermissions.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import"@dropins/tools/preact.js";import{useText as v}from"@dropins/tools/i18n.js";import"../chunks/formatDate.js";import"../chunks/rejectPurchaseOrders.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/fetch-error.js";import"../chunks/getPurchaseOrders.js";import"../chunks/case-converter.js";import"../chunks/permissions.js";const ee=({initialPageSize:t=R,routePurchaseOrderDetails:o,setColumns:d,setRowsData:u,className:c="",withHeader:l=!0,withWrapper:i=!0,skeletonRowCount:n=5})=>{const m=D.COMPANY_PURCHASE_ORDERS,e=v({headerText:"PurchaseOrders.companyPurchaseOrders.containerTitle",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",poNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber",orderNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber",createdDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate",updatedDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",total:"PurchaseOrders.purchaseOrdersTable.tableColumns.total",action:"PurchaseOrders.purchaseOrdersTable.tableColumns.action",selectAllAriaLabel:"PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel",noPurchaseOrders:"PurchaseOrders.companyPurchaseOrders.noPurchaseOrders"}),{permissions:p,loadingPermissions:h}=j(),{totalCount:O,loading:a,tableConfig:r,paginationConfig:P,pageSizeConfig:b,selectedOrderIds:C,handleRejectSelected:T,handleApproveSelected:f,isAdmin:g,alertMessageConfig:x}=E({view:m,routePurchaseOrderDetails:o,setColumns:d,setRowsData:u,initialPageSize:t,permissions:p,loadingPermissions:h,t:e});return A("div",{className:w(["company-purchase-orders",c]),"data-testid":"company-purchase-orders-container",children:[l?s(N,{headerText:e.headerText}):null,s(y,{header:g?s(S,{loading:a,selectedCount:C.length,handleRejectSelected:T,handleApproveSelected:f}):null,totalCount:O,columns:r.columns,rows:r.rows,expandedRows:r.expandedRows,paginationConfig:P,loading:a,skeletonRowCount:n,pageSizeConfig:b,emptyTitle:e.noPurchaseOrders,alertMessageConfig:x,withWrapper:i})]})};export{ee as CompanyPurchaseOrders,ee as default};
|
|
4
4
|
//# sourceMappingURL=CompanyPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompanyPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CompanyPurchaseOrders/CompanyPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CompanyPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const CompanyPurchaseOrders: Container<CompanyPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.COMPANY_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.companyPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders: 'PurchaseOrders.companyPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['company-purchase-orders', className])}\n data-testid=\"company-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isAdmin ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CompanyPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isAdmin","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompanyPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CompanyPurchaseOrders/CompanyPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n PurchaseOrdersTableActions,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CompanyPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\n\nexport const CompanyPurchaseOrders: Container<CompanyPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.COMPANY_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.companyPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n selectAllAriaLabel:\n 'PurchaseOrders.purchaseOrdersTable.tableColumns.selectAllAriaLabel',\n noPurchaseOrders: 'PurchaseOrders.companyPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n totalCount,\n loading,\n tableConfig,\n paginationConfig,\n pageSizeConfig,\n selectedOrderIds,\n handleRejectSelected,\n handleApproveSelected,\n isAdmin,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['company-purchase-orders', className])}\n data-testid=\"company-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isAdmin ? (\n <PurchaseOrdersTableActions\n loading={loading}\n selectedCount={selectedOrderIds.length}\n handleRejectSelected={handleRejectSelected}\n handleApproveSelected={handleApproveSelected}\n />\n ) : null\n }\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n expandedRows={tableConfig.expandedRows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CompanyPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isAdmin","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"66BAgCO,MAAMA,GAA+D,CAAC,CAC3E,gBAAAC,EAAkBC,EAClB,0BAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,CACrB,IAAM,CACJ,MAAMC,EAAOC,EAAuB,wBAE9BC,EAAIC,EAAQ,CAChB,WAAY,sDACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,mBACE,qEACF,iBAAkB,uDAAA,CACnB,EAEK,CAAE,YAAAC,EAAa,mBAAAC,CAAA,EAAuBC,EAAA,EACtC,CACJ,WAAAC,EACA,QAAAC,EACA,YAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,iBAAAC,EACA,qBAAAC,EACA,sBAAAC,EACA,QAAAC,EACA,mBAAAC,CAAA,EACEC,EAAkB,CACpB,KAAAjB,EACA,0BAAAP,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAJ,EACA,YAAAa,EACA,mBAAAC,EACA,EAAAH,CAAA,CACD,EAED,OACEgB,EAAC,MAAA,CACC,UAAWC,EAAQ,CAAC,0BAA2BvB,CAAS,CAAC,EACzD,cAAY,oCAEX,SAAA,CAAAC,EAAauB,EAACC,EAAA,CAAqB,WAAYnB,EAAE,WAAY,EAAK,KACnEkB,EAACE,EAAA,CACC,OACEP,EACEK,EAACG,EAAA,CACC,QAAAf,EACA,cAAeI,EAAiB,OAChC,qBAAAC,EACA,sBAAAC,CAAA,CAAA,EAEA,KAEN,WAAAP,EACA,QAASE,EAAY,QACrB,KAAMA,EAAY,KAClB,aAAcA,EAAY,aAC1B,iBAAAC,EACA,QAAAF,EACA,iBAAAT,EACA,eAAAY,EACA,WAAYT,EAAE,iBACd,mBAAAc,EACA,YAAAlB,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as T,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{P as g,d as x}from"../chunks/pageSize.config.js";import{P as w}from"../chunks/PurchaseOrdersHeader.js";import"../chunks/
|
|
3
|
+
import{jsxs as T,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{P as g,d as x}from"../chunks/pageSize.config.js";import{P as w}from"../chunks/PurchaseOrdersHeader.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import"@dropins/tools/components.js";import{E as R,u as D}from"../chunks/usePurchaseOrders.js";import{u as E}from"../chunks/useCustomerRolePermissions.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/preact.js";import{useText as N}from"@dropins/tools/i18n.js";import"../chunks/formatDate.js";import"../chunks/rejectPurchaseOrders.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/fetch-error.js";import"../chunks/getPurchaseOrders.js";import"../chunks/case-converter.js";import"../chunks/permissions.js";const Q=({initialPageSize:a=x,routePurchaseOrderDetails:t,setColumns:o,setRowsData:u,className:d="",withHeader:c=!0,withWrapper:i=!0,skeletonRowCount:m=5})=>{const l=R.CUSTOMER_PURCHASE_ORDERS,r=N({headerText:"PurchaseOrders.customerPurchaseOrders.containerTitle",actionView:"PurchaseOrders.purchaseOrdersTable.actionView",poNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber",orderNumber:"PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber",createdDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate",updatedDate:"PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate",createdBy:"PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy",status:"PurchaseOrders.purchaseOrdersTable.tableColumns.status",total:"PurchaseOrders.purchaseOrdersTable.tableColumns.total",action:"PurchaseOrders.purchaseOrdersTable.tableColumns.action",noPurchaseOrders:"PurchaseOrders.customerPurchaseOrders.noPurchaseOrders"}),{permissions:n,loadingPermissions:p}=E(),{pageSizeConfig:h,loading:O,paginationConfig:P,tableConfig:e,totalCount:b,alertMessageConfig:C}=D({view:l,routePurchaseOrderDetails:t,setColumns:o,setRowsData:u,initialPageSize:a,permissions:n,loadingPermissions:p,t:r});return T("div",{className:f(["purchase-orders",d]),"data-testid":"purchase-orders-container",children:[c?s(w,{headerText:r.headerText}):null,s(g,{totalCount:b,columns:e.columns,rows:e.rows,expandedRows:e.expandedRows,paginationConfig:P,loading:O,skeletonRowCount:m,pageSizeConfig:h,emptyTitle:r.noPurchaseOrders,alertMessageConfig:C,withWrapper:i})]})};export{Q as CustomerPurchaseOrders,Q as default};
|
|
4
4
|
//# sourceMappingURL=CustomerPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomerPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CustomerPurchaseOrders/CustomerPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CustomerPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\n\nexport const CustomerPurchaseOrders: Container<CustomerPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.customerPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n noPurchaseOrders: 'PurchaseOrders.customerPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n pageSizeConfig,\n loading,\n paginationConfig,\n tableConfig,\n totalCount,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CustomerPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","pageSizeConfig","loading","paginationConfig","tableConfig","totalCount","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomerPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/CustomerPurchaseOrders/CustomerPurchaseOrders.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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrdersTable,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport {\n usePurchaseOrders,\n useCustomerRolePermissions,\n} from '@/b2b-purchase-order/hooks';\nimport { CustomerPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\n\nexport const CustomerPurchaseOrders: Container<CustomerPurchaseOrdersProps> = ({\n initialPageSize = defaultPageSizeConfig,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n className = '',\n withHeader = true,\n withWrapper = true,\n skeletonRowCount = 5,\n}) => {\n const view = EnumPurchaseOrdersView.CUSTOMER_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.customerPurchaseOrders.containerTitle',\n actionView: 'PurchaseOrders.purchaseOrdersTable.actionView',\n poNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.poNumber',\n orderNumber: 'PurchaseOrders.purchaseOrdersTable.tableColumns.orderNumber',\n createdDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdDate',\n updatedDate: 'PurchaseOrders.purchaseOrdersTable.tableColumns.updatedDate',\n createdBy: 'PurchaseOrders.purchaseOrdersTable.tableColumns.createdBy',\n status: 'PurchaseOrders.purchaseOrdersTable.tableColumns.status',\n total: 'PurchaseOrders.purchaseOrdersTable.tableColumns.total',\n action: 'PurchaseOrders.purchaseOrdersTable.tableColumns.action',\n noPurchaseOrders: 'PurchaseOrders.customerPurchaseOrders.noPurchaseOrders',\n });\n\n const { permissions, loadingPermissions } = useCustomerRolePermissions();\n const {\n pageSizeConfig,\n loading,\n paginationConfig,\n tableConfig,\n totalCount,\n alertMessageConfig,\n } = usePurchaseOrders({\n view,\n routePurchaseOrderDetails,\n setColumns,\n setRowsData,\n initialPageSize,\n permissions,\n loadingPermissions,\n t,\n });\n\n return (\n <div\n className={classes(['purchase-orders', className])}\n data-testid=\"purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n totalCount={totalCount}\n columns={tableConfig.columns}\n rows={tableConfig.rows}\n expandedRows={tableConfig.expandedRows}\n paginationConfig={paginationConfig}\n loading={loading}\n skeletonRowCount={skeletonRowCount}\n pageSizeConfig={pageSizeConfig}\n emptyTitle={t.noPurchaseOrders}\n alertMessageConfig={alertMessageConfig}\n withWrapper={withWrapper}\n />\n </div>\n );\n};\n"],"names":["CustomerPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","pageSizeConfig","loading","paginationConfig","tableConfig","totalCount","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable"],"mappings":"i3BA+BO,MAAMA,EAAiE,CAAC,CAC7E,gBAAAC,EAAkBC,EAClB,0BAAAC,EACA,WAAAC,EACA,YAAAC,EACA,UAAAC,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,CACrB,IAAM,CACJ,MAAMC,EAAOC,EAAuB,yBAE9BC,EAAIC,EAAQ,CAChB,WAAY,uDACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,iBAAkB,wDAAA,CACnB,EAEK,CAAE,YAAAC,EAAa,mBAAAC,CAAA,EAAuBC,EAAA,EACtC,CACJ,eAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,WAAAC,EACA,mBAAAC,CAAA,EACEC,EAAkB,CACpB,KAAAb,EACA,0BAAAP,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAJ,EACA,YAAAa,EACA,mBAAAC,EACA,EAAAH,CAAA,CACD,EAED,OACEY,EAAC,MAAA,CACC,UAAWC,EAAQ,CAAC,kBAAmBnB,CAAS,CAAC,EACjD,cAAY,4BAEX,SAAA,CAAAC,EAAamB,EAACC,EAAA,CAAqB,WAAYf,EAAE,WAAY,EAAK,KACnEc,EAACE,EAAA,CACC,WAAAP,EACA,QAASD,EAAY,QACrB,KAAMA,EAAY,KAClB,aAAcA,EAAY,aAC1B,iBAAAD,EACA,QAAAD,EACA,iBAAAT,EACA,eAAAQ,EACA,WAAYL,EAAE,iBACd,mBAAAU,EACA,YAAAd,CAAA,CAAA,CACF,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
2
|
+
import { PurchaseOrderApprovalFlowProps } from '../../types/containers';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrderApprovalFlow: Container<PurchaseOrderApprovalFlowProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrderApprovalFlow.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrderApprovalFlow';
|
|
18
|
+
export { PurchaseOrderApprovalFlow as default } from './PurchaseOrderApprovalFlow';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as e,jsxs as n}from"@dropins/tools/preact-jsx-runtime.js";import{classes as p}from"@dropins/tools/lib.js";import{Skeleton as m,SkeletonRow as d,Card as u}from"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{P as v}from"../chunks/PurchaseOrdersHeader.js";import"@dropins/tools/preact-hooks.js";import{u as w}from"../chunks/usePurchaseOrderData.js";import{Fragment as f}from"@dropins/tools/preact.js";import*as t from"@dropins/tools/preact-compat.js";import{useText as h,Text as C}from"@dropins/tools/i18n.js";const g=r=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.75 12.762L10.2385 15.75L17.25 9",stroke:"currentColor"})),b=r=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},t.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z",fill:"currentColor"})),E=r=>t.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),t.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),x=({approvalFlow:r=[]})=>{const l=h({pending:"PurchaseOrders.approvalFlow.ariaLabels.icons.pending",approved:"PurchaseOrders.approvalFlow.ariaLabels.icons.approved",rejected:"PurchaseOrders.approvalFlow.ariaLabels.icons.rejected"});if(!(r!=null&&r.length))return e("div",{className:"b2b-purchase-order-approval-flow-content",children:e(C,{id:"PurchaseOrders.approvalFlow.emptyText"})});const i=a=>{switch(a){case"PENDING":return e(b,{className:"b2b-purchase-order-approval-flow-content__icon--pending","aria-label":l.pending,role:"img"});case"APPROVED":return e(g,{className:"b2b-purchase-order-approval-flow-content__icon--approved","aria-label":l.approved,role:"img"});case"REJECTED":return e(E,{className:"b2b-purchase-order-approval-flow-content__icon--rejected","aria-label":l.rejected,role:"img"});default:return null}};return e("div",{className:p(["b2b-purchase-order-approval-flow-content"]),children:e("ul",{className:"b2b-purchase-order-approval-flow-content__list",children:r.map((a,o)=>n(f,{children:[n("li",{className:"b2b-purchase-order-approval-flow-content__item",children:[e("div",{className:"b2b-purchase-order-approval-flow-content__title",children:a.ruleName}),a.events.map((s,c)=>n("div",{className:"b2b-purchase-order-approval-flow-content__description",children:[i(s.status),s.message]},c))]}),o<r.length-1&&e("hr",{className:"b2b-purchase-order-approval-flow-content__divider"})]},o))})})},F=({className:r,withHeader:l=!0,withWrapper:i=!0})=>{const{poDataLoading:a,purchaseOrderData:o}=w(),s=h({headerText:"PurchaseOrders.approvalFlow.headerText"}),c=a?n(m,{rowGap:"medium","data-testid":"approval-flow-loader",children:[e(d,{size:"small",variant:"row",fullWidth:!0,lines:1,style:{maxWidth:300}}),e(d,{size:"medium",variant:"row",fullWidth:!0,lines:1})]}):e(x,{approvalFlow:(o==null?void 0:o.approvalFlow)||[]});return n("div",{className:p(["b2b-purchase-order-approval-flow",r]),"data-testid":"order-approval-flow-container",children:[l?e(v,{headerText:s.headerText}):null,i?e(u,{variant:"secondary","data-testid":"orderApprovalFlowCard",children:c}):c]})};export{F as PurchaseOrderApprovalFlow,F as default};
|
|
4
|
+
//# sourceMappingURL=PurchaseOrderApprovalFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseOrderApprovalFlow.js","sources":["../../node_modules/@adobe-commerce/elsie/src/icons/CheckWithCircle.svg","../../node_modules/@adobe-commerce/elsie/src/icons/InfoFilled.svg","../../node_modules/@adobe-commerce/elsie/src/icons/WarningWithCircle.svg","/@dropins/storefront-purchase-order/src/components/PurchaseOrderApprovalFlowContent/PurchaseOrderApprovalFlowContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderApprovalFlow/PurchaseOrderApprovalFlow.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgCheckWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M6.75 12.762L10.2385 15.75L17.25 9\", stroke: \"currentColor\" }));\nexport default SvgCheckWithCircle;\n","import * as React from \"react\";\nconst SvgInfoFilled = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M0 12C0 5.37931 5.37931 0 12 0C18.6207 0 24 5.37931 24 12C24 18.6207 18.6207 24 12 24C5.37931 24 0 18.6207 0 12ZM11.8885 5.06101C11.1405 5.06101 10.5357 5.66579 10.5357 6.4138V6.57295C10.5835 7.27321 11.1882 7.81433 11.8885 7.76658H12.0795C12.7797 7.70292 13.289 7.09815 13.2413 6.4138C13.2413 5.66579 12.6365 5.06101 11.8885 5.06101ZM13.1935 16.8223H14.1007C14.2599 16.8223 14.4031 16.9655 14.4031 17.1247V17.7294C14.4031 17.9045 14.2599 18.0318 14.1007 18.0318H9.8832C9.70813 18.0318 9.58081 17.8886 9.58081 17.7294V17.1247C9.58081 16.9496 9.72405 16.8223 9.8832 16.8223H10.7904V10.7905H9.8832C9.70813 10.7905 9.58081 10.6472 9.58081 10.4881V9.88329C9.58081 9.70823 9.72405 9.58091 9.8832 9.58091H12.5888C12.923 9.58091 13.1935 9.85146 13.1935 10.1857V16.8223Z\", fill: \"currentColor\" }));\nexport default SvgInfoFilled;\n","import * as React from \"react\";\nconst SvgWarningWithCircle = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z\", stroke: \"currentColor\" }), /* @__PURE__ */ React.createElement(\"path\", { vectorEffect: \"non-scaling-stroke\", d: \"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z\", stroke: \"currentColor\" }));\nexport default SvgWarningWithCircle;\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 { Fragment, FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrderApprovalFlowContent/PurchaseOrderApprovalFlowContent.css';\nimport { PurchaseOrderApprovalFlowContentProps } from '@/b2b-purchase-order/types/components';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport {\n CheckWithCircle,\n InfoFilled,\n WarningWithCircle,\n} from '@adobe-commerce/elsie/icons';\n\nexport const PurchaseOrderApprovalFlowContent: FunctionComponent<\n PurchaseOrderApprovalFlowContentProps\n> = ({ approvalFlow = [] }) => {\n const t = useText({\n pending: 'PurchaseOrders.approvalFlow.ariaLabels.icons.pending',\n approved: 'PurchaseOrders.approvalFlow.ariaLabels.icons.approved',\n rejected: 'PurchaseOrders.approvalFlow.ariaLabels.icons.rejected',\n });\n if (!approvalFlow?.length) {\n return (\n <div className={'b2b-purchase-order-approval-flow-content'}>\n <Text id=\"PurchaseOrders.approvalFlow.emptyText\" />\n </div>\n );\n }\n\n const getIconWithAriaLabel = (\n type: 'PENDING' | 'APPROVED' | 'REJECTED' | string\n ) => {\n switch (type) {\n case 'PENDING': {\n return (\n <InfoFilled\n className={\n 'b2b-purchase-order-approval-flow-content__icon--pending'\n }\n aria-label={t.pending}\n role=\"img\"\n />\n );\n }\n case 'APPROVED': {\n return (\n <CheckWithCircle\n className={\n 'b2b-purchase-order-approval-flow-content__icon--approved'\n }\n aria-label={t.approved}\n role=\"img\"\n />\n );\n }\n case 'REJECTED': {\n return (\n <WarningWithCircle\n className={\n 'b2b-purchase-order-approval-flow-content__icon--rejected'\n }\n aria-label={t.rejected}\n role=\"img\"\n />\n );\n }\n\n default:\n return null;\n }\n };\n\n return (\n <div className={classes(['b2b-purchase-order-approval-flow-content'])}>\n <ul className={'b2b-purchase-order-approval-flow-content__list'}>\n {approvalFlow.map((item, index) => (\n <Fragment key={index}>\n <li className={'b2b-purchase-order-approval-flow-content__item'}>\n <div\n className={'b2b-purchase-order-approval-flow-content__title'}\n >\n {item.ruleName}\n </div>\n {item.events.map((event, evtIndex) => {\n return (\n <div\n key={evtIndex}\n className={\n 'b2b-purchase-order-approval-flow-content__description'\n }\n >\n {getIconWithAriaLabel(event.status)}\n {event.message}\n </div>\n );\n })}\n </li>\n {index < approvalFlow.length - 1 && (\n <hr\n className={'b2b-purchase-order-approval-flow-content__divider'}\n />\n )}\n </Fragment>\n ))}\n </ul>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrderApprovalFlowContent,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport { Card, Skeleton, SkeletonRow } from '@adobe-commerce/elsie/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { usePurchaseOrderData } from '@/b2b-purchase-order/hooks';\nimport { PurchaseOrderApprovalFlowProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderApprovalFlow: Container<\n PurchaseOrderApprovalFlowProps\n> = ({ className, withHeader = true, withWrapper = true }) => {\n const { poDataLoading, purchaseOrderData } = usePurchaseOrderData();\n const t = useText({\n headerText: 'PurchaseOrders.approvalFlow.headerText',\n });\n\n const renderApprovalFlow = !poDataLoading ? (\n <PurchaseOrderApprovalFlowContent\n approvalFlow={purchaseOrderData?.approvalFlow || []}\n />\n ) : (\n <Skeleton rowGap=\"medium\" data-testid=\"approval-flow-loader\">\n <SkeletonRow\n size=\"small\"\n variant=\"row\"\n fullWidth\n lines={1}\n style={{ maxWidth: 300 }}\n />\n <SkeletonRow size=\"medium\" variant=\"row\" fullWidth lines={1} />\n </Skeleton>\n );\n\n return (\n <div\n className={classes(['b2b-purchase-order-approval-flow', className])}\n data-testid=\"order-approval-flow-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n {withWrapper ? (\n <Card variant={'secondary'} data-testid=\"orderApprovalFlowCard\">\n {renderApprovalFlow}\n </Card>\n ) : (\n renderApprovalFlow\n )}\n </div>\n );\n};\n"],"names":["SvgCheckWithCircle","props","React","SvgInfoFilled","SvgWarningWithCircle","PurchaseOrderApprovalFlowContent","approvalFlow","t","useText","jsx","Text","getIconWithAriaLabel","type","InfoFilled","CheckWithCircle","WarningWithCircle","classes","item","index","Fragment","jsxs","event","evtIndex","PurchaseOrderApprovalFlow","className","withHeader","withWrapper","poDataLoading","purchaseOrderData","usePurchaseOrderData","renderApprovalFlow","Skeleton","SkeletonRow","PurchaseOrdersHeader","Card"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
2
|
+
import { PurchaseOrderCommentFormProps } from '../../types/containers';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrderCommentForm: Container<PurchaseOrderCommentFormProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrderCommentForm.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrderCommentForm';
|
|
18
|
+
export { PurchaseOrderCommentForm as default } from './PurchaseOrderCommentForm';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsxs as c,jsx as m}from"@dropins/tools/preact-jsx-runtime.js";import{classes as h}from"@dropins/tools/lib.js";import{TextArea as T,Button as A,Card as y,Skeleton as w,SkeletonRow as x}from"@dropins/tools/components.js";import{events as F}from"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{P as S}from"../chunks/PurchaseOrdersHeader.js";import{useState as a,useMemo as k,useCallback as b}from"@dropins/tools/preact-hooks.js";import{u as M}from"../chunks/usePurchaseOrderData.js";import"@dropins/tools/preact.js";import{a as V}from"../chunks/addPurchaseOrderComment.js";import{useText as j}from"@dropins/tools/i18n.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/fetch-error.js";const p=({t:n,purchaseOrderData:e})=>{const[i,l]=a(!1),[t,s]=a(""),[r,u]=a(""),C=k(()=>!t.trim().length||!(e!=null&&e.uid)||i,[t,e,i]),g=b(d=>{const o=d.target.value;s(o),r&&u("")},[r]),P=b(()=>{const d=(e==null?void 0:e.uid)??"";!d||!t.trim().length||(l(!0),V(d,t).then(o=>{var f;if(o&&(e!=null&&e.uid)){const v=[{uid:o.uid,createdAt:o.createdAt,author:o.author,text:o.text}];F.emit("purchase-order/data",{...e,comments:(f=e==null?void 0:e.comments)==null?void 0:f.concat(v)}),s("")}}).catch(()=>{u(n.errorMessage||"Failed to add comment. Please try again.")}).finally(()=>{l(!1)}))},[e,t,n]);return c("div",{className:h(["b2b-purchase-order-comment-form-content"]),children:[m(T,{errorMessage:r,disabled:i,value:t,label:n.textAreaPlaceholder,onChange:g}),m(A,{variant:"primary",disabled:C,onClick:P,children:n.buttonText})]})},Q=({withHeader:n=!0,withWrapper:e=!0,className:i})=>{const{poDataLoading:l,purchaseOrderData:t}=M(),s=j({headerText:"PurchaseOrders.comments.add.headerText",buttonText:"PurchaseOrders.comments.add.submit",textAreaPlaceholder:"PurchaseOrders.comments.add.placeholder"}),r=l?c(w,{rowGap:"medium","data-testid":"comment-form-loader",children:[m(x,{size:"xlarge",variant:"row",fullWidth:!0,lines:5,style:{maxWidth:500}}),m(x,{size:"medium",variant:"row",lines:1})]}):m(p,{purchaseOrderData:t,t:s});return c("div",{className:h(["b2b-purchase-order-comment-form",i]),"data-testid":"order-history-log-container",children:[n?m(S,{headerText:s.headerText}):null,e?m(y,{variant:"secondary","data-testid":"orderCommentFormCard",children:r}):r]})};export{Q as PurchaseOrderCommentForm,Q as default};
|
|
4
|
+
//# sourceMappingURL=PurchaseOrderCommentForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseOrderCommentForm.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderCommentFormContent/PurchaseOrderCommentFormContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderCommentForm/PurchaseOrderCommentForm.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 { useState, useMemo, useCallback } from 'preact/hooks';\nimport { FunctionComponent } from 'preact';\nimport { classes } from '@adobe-commerce/elsie/lib';\nimport { Button, TextArea } from '@adobe-commerce/elsie/components';\nimport { addPurchaseOrderComment } from '@/b2b-purchase-order/api';\nimport '@/b2b-purchase-order/components/PurchaseOrderCommentFormContent/PurchaseOrderCommentFormContent.css';\nimport { PurchaseOrderCommentFormContentProps } from '@/b2b-purchase-order/types/components';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const PurchaseOrderCommentFormContent: FunctionComponent<\n PurchaseOrderCommentFormContentProps\n> = ({ t, purchaseOrderData }) => {\n const [loading, setLoading] = useState(false);\n const [textAreaValue, setTextAreaValue] = useState('');\n const [errorMessage, setErrorMessage] = useState('');\n\n const isSubmitDisabled = useMemo(\n () => !textAreaValue.trim().length || !purchaseOrderData?.uid || loading,\n [textAreaValue, purchaseOrderData, loading]\n );\n\n const handleUpdateCommentValue = useCallback(\n (event: Event) => {\n const value = (event.target as HTMLTextAreaElement).value;\n setTextAreaValue(value);\n if (errorMessage) {\n setErrorMessage('');\n }\n },\n [errorMessage]\n );\n\n const handleSubmitComment = useCallback(() => {\n const uid = purchaseOrderData?.uid ?? '';\n if (!uid || !textAreaValue.trim().length) {\n return;\n }\n\n setLoading(true);\n\n addPurchaseOrderComment(uid, textAreaValue)\n .then((data) => {\n if (data && purchaseOrderData?.uid) {\n const newComment = [\n {\n uid: data.uid,\n createdAt: data.createdAt,\n author: data.author,\n text: data.text,\n },\n ];\n events.emit('purchase-order/data', {\n ...purchaseOrderData,\n comments: purchaseOrderData?.comments?.concat(newComment),\n });\n setTextAreaValue('');\n }\n })\n .catch(() => {\n setErrorMessage(\n t.errorMessage || 'Failed to add comment. Please try again.'\n );\n })\n .finally(() => {\n setLoading(false);\n });\n }, [purchaseOrderData, textAreaValue, t]);\n\n return (\n <div className={classes(['b2b-purchase-order-comment-form-content'])}>\n <TextArea\n errorMessage={errorMessage}\n disabled={loading}\n value={textAreaValue}\n label={t.textAreaPlaceholder}\n onChange={handleUpdateCommentValue}\n />\n <Button\n variant=\"primary\"\n disabled={isSubmitDisabled}\n onClick={handleSubmitComment}\n >\n {t.buttonText}\n </Button>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n PurchaseOrderCommentFormContent,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { Card, Skeleton, SkeletonRow } from '@adobe-commerce/elsie/components';\nimport { usePurchaseOrderData } from '@/b2b-purchase-order/hooks';\nimport { PurchaseOrderCommentFormProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderCommentForm: Container<\n PurchaseOrderCommentFormProps\n> = ({ withHeader = true, withWrapper = true, className }) => {\n const { poDataLoading, purchaseOrderData } = usePurchaseOrderData();\n\n const t = useText({\n headerText: 'PurchaseOrders.comments.add.headerText',\n buttonText: 'PurchaseOrders.comments.add.submit',\n textAreaPlaceholder: 'PurchaseOrders.comments.add.placeholder',\n });\n\n const renderCommentForm = !poDataLoading ? (\n <PurchaseOrderCommentFormContent\n purchaseOrderData={purchaseOrderData}\n t={t}\n />\n ) : (\n <Skeleton rowGap=\"medium\" data-testid=\"comment-form-loader\">\n <SkeletonRow\n size=\"xlarge\"\n variant=\"row\"\n fullWidth\n lines={5}\n style={{ maxWidth: 500 }}\n />\n <SkeletonRow size=\"medium\" variant=\"row\" lines={1} />\n </Skeleton>\n );\n\n return (\n <div\n className={classes(['b2b-purchase-order-comment-form', className])}\n data-testid=\"order-history-log-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n {withWrapper ? (\n <Card variant={'secondary'} data-testid=\"orderCommentFormCard\">\n {renderCommentForm}\n </Card>\n ) : (\n renderCommentForm\n )}\n </div>\n );\n};\n"],"names":["PurchaseOrderCommentFormContent","t","purchaseOrderData","loading","setLoading","useState","textAreaValue","setTextAreaValue","errorMessage","setErrorMessage","isSubmitDisabled","useMemo","handleUpdateCommentValue","useCallback","event","value","handleSubmitComment","uid","addPurchaseOrderComment","data","newComment","events","_a","classes","jsx","TextArea","Button","PurchaseOrderCommentForm","withHeader","withWrapper","className","poDataLoading","usePurchaseOrderData","useText","renderCommentForm","jsxs","Skeleton","SkeletonRow","PurchaseOrdersHeader","Card"],"mappings":"swBA0BO,MAAMA,EAET,CAAC,CAAE,EAAAC,EAAG,kBAAAC,KAAwB,CAChC,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAS,EAAK,EACtC,CAACC,EAAeC,CAAgB,EAAIF,EAAS,EAAE,EAC/C,CAACG,EAAcC,CAAe,EAAIJ,EAAS,EAAE,EAE7CK,EAAmBC,EACvB,IAAM,CAACL,EAAc,KAAA,EAAO,QAAU,EAACJ,GAAA,MAAAA,EAAmB,MAAOC,EACjE,CAACG,EAAeJ,EAAmBC,CAAO,CAAA,EAGtCS,EAA2BC,EAC9BC,GAAiB,CAChB,MAAMC,EAASD,EAAM,OAA+B,MACpDP,EAAiBQ,CAAK,EAClBP,GACFC,EAAgB,EAAE,CAEtB,EACA,CAACD,CAAY,CAAA,EAGTQ,EAAsBH,EAAY,IAAM,CAC5C,MAAMI,GAAMf,GAAA,YAAAA,EAAmB,MAAO,GAClC,CAACe,GAAO,CAACX,EAAc,KAAA,EAAO,SAIlCF,EAAW,EAAI,EAEfc,EAAwBD,EAAKX,CAAa,EACvC,KAAMa,GAAS,OACd,GAAIA,IAAQjB,GAAA,MAAAA,EAAmB,KAAK,CAClC,MAAMkB,EAAa,CACjB,CACE,IAAKD,EAAK,IACV,UAAWA,EAAK,UAChB,OAAQA,EAAK,OACb,KAAMA,EAAK,IAAA,CACb,EAEFE,EAAO,KAAK,sBAAuB,CACjC,GAAGnB,EACH,UAAUoB,EAAApB,GAAA,YAAAA,EAAmB,WAAnB,YAAAoB,EAA6B,OAAOF,EAAU,CACzD,EACDb,EAAiB,EAAE,CACrB,CACF,CAAC,EACA,MAAM,IAAM,CACXE,EACER,EAAE,cAAgB,0CAAA,CAEtB,CAAC,EACA,QAAQ,IAAM,CACbG,EAAW,EAAK,CAClB,CAAC,EACL,EAAG,CAACF,EAAmBI,EAAeL,CAAC,CAAC,EAExC,SACG,MAAA,CAAI,UAAWsB,EAAQ,CAAC,yCAAyC,CAAC,EACjE,SAAA,CAAAC,EAACC,EAAA,CACC,aAAAjB,EACA,SAAUL,EACV,MAAOG,EACP,MAAOL,EAAE,oBACT,SAAUW,CAAA,CAAA,EAEZY,EAACE,EAAA,CACC,QAAQ,UACR,SAAUhB,EACV,QAASM,EAER,SAAAf,EAAE,UAAA,CAAA,CACL,EACF,CAEJ,EC5Ea0B,EAET,CAAC,CAAE,WAAAC,EAAa,GAAM,YAAAC,EAAc,GAAM,UAAAC,KAAgB,CAC5D,KAAM,CAAE,cAAAC,EAAe,kBAAA7B,CAAA,EAAsB8B,EAAA,EAEvC/B,EAAIgC,EAAQ,CAChB,WAAY,yCACZ,WAAY,qCACZ,oBAAqB,yCAAA,CACtB,EAEKC,EAAqBH,EAMzBI,EAACC,EAAA,CAAS,OAAO,SAAS,cAAY,sBACpC,SAAA,CAAAZ,EAACa,EAAA,CACC,KAAK,SACL,QAAQ,MACR,UAAS,GACT,MAAO,EACP,MAAO,CAAE,SAAU,GAAA,CAAI,CAAA,IAExBA,EAAA,CAAY,KAAK,SAAS,QAAQ,MAAM,MAAO,CAAA,CAAG,CAAA,EACrD,EAdAb,EAACxB,EAAA,CACC,kBAAAE,EACA,EAAAD,CAAA,CAAA,EAeJ,OACEkC,EAAC,MAAA,CACC,UAAWZ,EAAQ,CAAC,kCAAmCO,CAAS,CAAC,EACjE,cAAY,8BAEX,SAAA,CAAAF,EAAaJ,EAACc,EAAA,CAAqB,WAAYrC,EAAE,WAAY,EAAK,KAClE4B,IACEU,EAAA,CAAK,QAAS,YAAa,cAAY,uBACrC,WACH,EAEAL,CAAA,CAAA,CAAA,CAIR"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
2
|
+
import { PurchaseOrderCommentsListProps } from '../../types/containers';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrderCommentsList: Container<PurchaseOrderCommentsListProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrderCommentsList.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrderCommentsList';
|
|
18
|
+
export { PurchaseOrderCommentsList as default } from './PurchaseOrderCommentsList';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*! Copyright 2025 Adobe
|
|
2
|
+
All Rights Reserved. */
|
|
3
|
+
import{jsx as e,jsxs as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as f}from"@dropins/tools/lib.js";import{useState as v}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{Button as x,Skeleton as L,SkeletonRow as u,Card as _}from"@dropins/tools/components.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{u as P}from"../chunks/usePurchaseOrderData.js";import{useText as b,Text as p}from"@dropins/tools/i18n.js";import{P as N}from"../chunks/PurchaseOrdersHeader.js";import{Fragment as g}from"@dropins/tools/preact.js";import{f as C}from"../chunks/formatDate.js";const O=({commentsList:t=[],visibleRecordsLimit:o=5})=>{const[n,d]=v(o),s=t.length>n,c=t.length<=o,i=b({showMoreLabel:"PurchaseOrders.comments.view.ariaLabel.showMore",showLessLabel:"PurchaseOrders.comments.view.ariaLabel.showLess"});return t.length?a("div",{className:"b2b-purchase-order-comment-list-content",children:[e("ul",{className:"b2b-purchase-order-comment-list-content__list",children:t.slice(0,n).map((r,m)=>{var l,h;const w=Math.min(n,t.length);return a(g,{children:[a("li",{className:"b2b-purchase-order-comment-list-content__item",children:[a("div",{className:"b2b-purchase-order-comment-list-content__title",children:[C(r.createdAt),(l=r.author)!=null&&l.firstname&&((h=r.author)!=null&&h.lastname)?` (${r.author.firstname} ${r.author.lastname})`:""]}),e("div",{className:"b2b-purchase-order-comment-list-content__description",children:r.text})]}),m<w-1&&e("hr",{className:"b2b-purchase-order-comment-list-content__divider"})]},r.uid)})}),!c&&e("div",{className:"b2b-purchase-order-comment-list-content__actions",children:e(x,{variant:"secondary","aria-expanded":!s,"aria-label":s?i.showMoreLabel:i.showLessLabel,onClick:()=>{d(s?t.length:o)},children:e(p,{id:`PurchaseOrders.comments.view.buttons.${s?"viewMore":"viewLess"}`})})})]}):e("div",{className:"b2b-purchase-order-comment-list-content",children:e(p,{id:"PurchaseOrders.comments.view.emptyText"})})},A=({withHeader:t=!0,withWrapper:o=!0,visibleRecordsLimit:n=5,className:d})=>{const{poDataLoading:s,purchaseOrderData:c}=P(),i=b({headerText:"PurchaseOrders.comments.view.headerText"}),r=(c==null?void 0:c.comments)||[],m=s?a(L,{rowGap:"medium","data-testid":"comment-list-loader",children:[e(u,{size:"small",variant:"row",fullWidth:!0,lines:1,style:{maxWidth:300}}),e(u,{size:"medium",variant:"row",fullWidth:!0,lines:1})]}):e(O,{commentsList:r.reverse(),visibleRecordsLimit:n});return a("div",{className:f(["b2b-purchase-order-comment-list",d]),"data-testid":"order-comment-list-container",children:[t?e(N,{headerText:i.headerText}):null,o?e(_,{variant:"secondary","data-testid":"orderCommentListCard",children:m}):m]})};export{A as PurchaseOrderCommentsList,A as default};
|
|
4
|
+
//# sourceMappingURL=PurchaseOrderCommentsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseOrderCommentsList.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderCommentsListContent/PurchaseOrderCommentsListContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderCommentsList/PurchaseOrderCommentsList.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 { Fragment, FunctionComponent } from 'preact';\nimport { Text, useText } from '@adobe-commerce/elsie/i18n';\nimport { formatDate } from '@/b2b-purchase-order/lib/formatDate';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { useState } from 'preact/hooks';\nimport '@/b2b-purchase-order/components/PurchaseOrderCommentsListContent/PurchaseOrderCommentsListContent.css';\nimport { PurchaseOrderCommentsListContentProps } from '@/b2b-purchase-order/types/components';\n\nexport const PurchaseOrderCommentsListContent: FunctionComponent<\n PurchaseOrderCommentsListContentProps\n> = ({ commentsList = [], visibleRecordsLimit = 5 }) => {\n const [recordsLimit, setRecordsLimit] = useState<number>(visibleRecordsLimit);\n const showMore = commentsList.length > recordsLimit;\n const buttonIsHidden = commentsList.length <= visibleRecordsLimit;\n\n const t = useText({\n showMoreLabel: 'PurchaseOrders.comments.view.ariaLabel.showMore',\n showLessLabel: 'PurchaseOrders.comments.view.ariaLabel.showLess',\n });\n\n if (!commentsList.length) {\n return (\n <div className={'b2b-purchase-order-comment-list-content'}>\n <Text id=\"PurchaseOrders.comments.view.emptyText\" />\n </div>\n );\n }\n\n return (\n <div className={'b2b-purchase-order-comment-list-content'}>\n <ul className={'b2b-purchase-order-comment-list-content__list'}>\n {commentsList.slice(0, recordsLimit).map((item, index) => {\n const slicedLength = Math.min(recordsLimit, commentsList.length);\n return (\n <Fragment key={item.uid}>\n <li className={'b2b-purchase-order-comment-list-content__item'}>\n <div\n className={'b2b-purchase-order-comment-list-content__title'}\n >\n {formatDate(item.createdAt)}\n {item.author?.firstname && item.author?.lastname\n ? ` (${item.author.firstname} ${item.author.lastname})`\n : ''}\n </div>\n <div\n className={\n 'b2b-purchase-order-comment-list-content__description'\n }\n >\n {item.text}\n </div>\n </li>\n {index < slicedLength - 1 && (\n <hr\n className={'b2b-purchase-order-comment-list-content__divider'}\n />\n )}\n </Fragment>\n );\n })}\n </ul>\n {!buttonIsHidden && (\n <div className={'b2b-purchase-order-comment-list-content__actions'}>\n <Button\n variant=\"secondary\"\n aria-expanded={!showMore}\n aria-label={showMore ? t.showMoreLabel : t.showLessLabel}\n onClick={() => {\n setRecordsLimit(\n showMore ? commentsList.length : visibleRecordsLimit\n );\n }}\n >\n <Text\n id={`PurchaseOrders.comments.view.buttons.${\n showMore ? 'viewMore' : 'viewLess'\n }`}\n />\n </Button>\n </div>\n )}\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { usePurchaseOrderData } from '@/b2b-purchase-order/hooks';\nimport { useText } from 'preact-i18n';\nimport { Card, Skeleton, SkeletonRow } from '@adobe-commerce/elsie/components';\nimport {\n PurchaseOrderCommentsListContent,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\nimport { PurchaseOrderCommentsListProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderCommentsList: Container<\n PurchaseOrderCommentsListProps\n> = ({\n withHeader = true,\n withWrapper = true,\n visibleRecordsLimit = 5,\n className,\n}) => {\n const { poDataLoading, purchaseOrderData } = usePurchaseOrderData();\n const t = useText({\n headerText: 'PurchaseOrders.comments.view.headerText',\n });\n\n const commentsList = purchaseOrderData?.comments || [];\n\n const renderCommentsList = !poDataLoading ? (\n <PurchaseOrderCommentsListContent\n commentsList={commentsList.reverse()}\n visibleRecordsLimit={visibleRecordsLimit}\n />\n ) : (\n <Skeleton rowGap=\"medium\" data-testid=\"comment-list-loader\">\n <SkeletonRow\n size=\"small\"\n variant=\"row\"\n fullWidth\n lines={1}\n style={{ maxWidth: 300 }}\n />\n <SkeletonRow size=\"medium\" variant=\"row\" fullWidth lines={1} />\n </Skeleton>\n );\n\n return (\n <div\n className={classes(['b2b-purchase-order-comment-list', className])}\n data-testid=\"order-comment-list-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n {withWrapper ? (\n <Card variant={'secondary'} data-testid=\"orderCommentListCard\">\n {renderCommentsList}\n </Card>\n ) : (\n renderCommentsList\n )}\n </div>\n );\n};\n"],"names":["PurchaseOrderCommentsListContent","commentsList","visibleRecordsLimit","recordsLimit","setRecordsLimit","useState","showMore","buttonIsHidden","t","useText","jsxs","jsx","item","index","slicedLength","Fragment","formatDate","_a","_b","Button","Text","PurchaseOrderCommentsList","withHeader","withWrapper","className","poDataLoading","purchaseOrderData","usePurchaseOrderData","renderCommentsList","Skeleton","SkeletonRow","classes","PurchaseOrdersHeader","Card"],"mappings":"6mBAyBO,MAAMA,EAET,CAAC,CAAE,aAAAC,EAAe,CAAA,EAAI,oBAAAC,EAAsB,KAAQ,CACtD,KAAM,CAACC,EAAcC,CAAe,EAAIC,EAAiBH,CAAmB,EACtEI,EAAWL,EAAa,OAASE,EACjCI,EAAiBN,EAAa,QAAUC,EAExCM,EAAIC,EAAQ,CAChB,cAAe,kDACf,cAAe,iDAAA,CAChB,EAED,OAAKR,EAAa,OAShBS,EAAC,MAAA,CAAI,UAAW,0CACd,SAAA,CAAAC,EAAC,KAAA,CAAG,UAAW,gDACZ,SAAAV,EAAa,MAAM,EAAGE,CAAY,EAAE,IAAI,CAACS,EAAMC,IAAU,SACxD,MAAMC,EAAe,KAAK,IAAIX,EAAcF,EAAa,MAAM,EAC/D,SACGc,EAAA,CACC,SAAA,CAAAL,EAAC,KAAA,CAAG,UAAW,gDACb,SAAA,CAAAA,EAAC,MAAA,CACC,UAAW,iDAEV,SAAA,CAAAM,EAAWJ,EAAK,SAAS,GACzBK,EAAAL,EAAK,SAAL,MAAAK,EAAa,aAAaC,EAAAN,EAAK,SAAL,MAAAM,EAAa,UACpC,KAAKN,EAAK,OAAO,SAAS,IAAIA,EAAK,OAAO,QAAQ,IAClD,EAAA,CAAA,CAAA,EAEND,EAAC,MAAA,CACC,UACE,uDAGD,SAAAC,EAAK,IAAA,CAAA,CACR,EACF,EACCC,EAAQC,EAAe,GACtBH,EAAC,KAAA,CACC,UAAW,kDAAA,CAAA,CACb,CAAA,EArBWC,EAAK,GAuBpB,CAEJ,CAAC,CAAA,CACH,EACC,CAACL,GACAI,EAAC,MAAA,CAAI,UAAW,mDACd,SAAAA,EAACQ,EAAA,CACC,QAAQ,YACR,gBAAe,CAACb,EAChB,aAAYA,EAAWE,EAAE,cAAgBA,EAAE,cAC3C,QAAS,IAAM,CACbJ,EACEE,EAAWL,EAAa,OAASC,CAAA,CAErC,EAEA,SAAAS,EAACS,EAAA,CACC,GAAI,wCACFd,EAAW,WAAa,UAC1B,EAAA,CAAA,CACF,CAAA,CACF,CACF,CAAA,EAEJ,EA3DEK,EAAC,OAAI,UAAW,0CACd,WAACS,EAAA,CAAK,GAAG,yCAAyC,CAAA,CACpD,CA2DN,ECzEaC,EAET,CAAC,CACH,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,oBAAArB,EAAsB,EACtB,UAAAsB,CACF,IAAM,CACJ,KAAM,CAAE,cAAAC,EAAe,kBAAAC,CAAA,EAAsBC,EAAA,EACvCnB,EAAIC,EAAQ,CAChB,WAAY,yCAAA,CACb,EAEKR,GAAeyB,GAAA,YAAAA,EAAmB,WAAY,CAAA,EAE9CE,EAAsBH,EAM1Bf,EAACmB,EAAA,CAAS,OAAO,SAAS,cAAY,sBACpC,SAAA,CAAAlB,EAACmB,EAAA,CACC,KAAK,QACL,QAAQ,MACR,UAAS,GACT,MAAO,EACP,MAAO,CAAE,SAAU,GAAA,CAAI,CAAA,EAEzBnB,EAACmB,GAAY,KAAK,SAAS,QAAQ,MAAM,UAAS,GAAC,MAAO,CAAA,CAAG,CAAA,EAC/D,EAdAnB,EAACX,EAAA,CACC,aAAcC,EAAa,QAAA,EAC3B,oBAAAC,CAAA,CAAA,EAeJ,OACEQ,EAAC,MAAA,CACC,UAAWqB,EAAQ,CAAC,kCAAmCP,CAAS,CAAC,EACjE,cAAY,+BAEX,SAAA,CAAAF,EAAaX,EAACqB,EAAA,CAAqB,WAAYxB,EAAE,WAAY,EAAK,KAClEe,IACEU,EAAA,CAAK,QAAS,YAAa,cAAY,uBACrC,WACH,EAEAL,CAAA,CAAA,CAAA,CAIR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as o,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as n}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";import"../chunks/
|
|
3
|
+
import{jsxs as o,jsx as a}from"@dropins/tools/preact-jsx-runtime.js";import{classes as n}from"@dropins/tools/lib.js";import"@dropins/tools/components.js";import"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import"@dropins/tools/preact-hooks.js";import{useText as c}from"@dropins/tools/i18n.js";import"@dropins/tools/preact.js";const m=({className:e,purchaseOrderNumber:r,routePurchaseOrderDetails:s,...i})=>{const t=c({title:"PurchaseOrders.purchaseOrderConfirmation.title",messagePrefix:"PurchaseOrders.purchaseOrderConfirmation.messagePrefix",messageSuffix:"PurchaseOrders.purchaseOrderConfirmation.messageSuffix"});return o("div",{...i,className:n(["purchase-orders-confirmation-content",e]),children:[a("h2",{className:"purchase-orders-confirmation-content__title",children:t.title}),o("p",{className:"purchase-orders-confirmation-content__message",children:[t.messagePrefix," ",o("a",{className:"purchase-orders-confirmation-content__link",href:s()??"",children:["#",r]}),". ",t.messageSuffix]})]})},g=({className:e,purchaseOrderNumber:r,routePurchaseOrderDetails:s,...i})=>r?a("div",{...i,className:n(["b2b-purchase-order-confirmation",e]),children:a(m,{purchaseOrderNumber:r,routePurchaseOrderDetails:s})}):null;export{g as PurchaseOrderConfirmation,g as default};
|
|
4
4
|
//# sourceMappingURL=PurchaseOrderConfirmation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseOrderConfirmation.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderConfirmation/PurchaseOrderConfirmation.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 { PurchaseOrderConfirmationContentProps } from '@/b2b-purchase-order/types/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/b2b-purchase-order/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.css';\n\nexport const PurchaseOrderConfirmationContent: FunctionComponent<\n PurchaseOrderConfirmationContentProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrderConfirmation.title',\n messagePrefix: 'PurchaseOrders.purchaseOrderConfirmation.messagePrefix',\n messageSuffix: 'PurchaseOrders.purchaseOrderConfirmation.messageSuffix',\n });\n\n return (\n <div\n {...props}\n className={classes(['purchase-orders-confirmation-content', className])}\n >\n <h2 className=\"purchase-orders-confirmation-content__title\">{t.title}</h2>\n <p className=\"purchase-orders-confirmation-content__message\">\n {t.messagePrefix}{' '}\n <a\n className=\"purchase-orders-confirmation-content__link\"\n href={routePurchaseOrderDetails() ?? ''}\n >\n #{purchaseOrderNumber}\n </a>\n . {t.messageSuffix}\n </p>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { PurchaseOrderConfirmationContent } from '@/b2b-purchase-order/components';\nimport { PurchaseOrderConfirmationProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderConfirmation: Container<\n PurchaseOrderConfirmationProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n if (!purchaseOrderNumber) return null;\n\n return (\n <div\n {...props}\n className={classes(['b2b-purchase-order-confirmation', className])}\n >\n <PurchaseOrderConfirmationContent\n purchaseOrderNumber={purchaseOrderNumber}\n routePurchaseOrderDetails={routePurchaseOrderDetails}\n />\n </div>\n );\n};\n"],"names":["PurchaseOrderConfirmationContent","className","purchaseOrderNumber","routePurchaseOrderDetails","props","useText","jsxs","classes","jsx","PurchaseOrderConfirmation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PurchaseOrderConfirmation.js","sources":["/@dropins/storefront-purchase-order/src/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderConfirmation/PurchaseOrderConfirmation.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 { PurchaseOrderConfirmationContentProps } from '@/b2b-purchase-order/types/components';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport '@/b2b-purchase-order/components/PurchaseOrderConfirmationContent/PurchaseOrderConfirmationContent.css';\n\nexport const PurchaseOrderConfirmationContent: FunctionComponent<\n PurchaseOrderConfirmationContentProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n const t = useText({\n title: 'PurchaseOrders.purchaseOrderConfirmation.title',\n messagePrefix: 'PurchaseOrders.purchaseOrderConfirmation.messagePrefix',\n messageSuffix: 'PurchaseOrders.purchaseOrderConfirmation.messageSuffix',\n });\n\n return (\n <div\n {...props}\n className={classes(['purchase-orders-confirmation-content', className])}\n >\n <h2 className=\"purchase-orders-confirmation-content__title\">{t.title}</h2>\n <p className=\"purchase-orders-confirmation-content__message\">\n {t.messagePrefix}{' '}\n <a\n className=\"purchase-orders-confirmation-content__link\"\n href={routePurchaseOrderDetails() ?? ''}\n >\n #{purchaseOrderNumber}\n </a>\n . {t.messageSuffix}\n </p>\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 { classes, Container } from '@adobe-commerce/elsie/lib';\nimport { PurchaseOrderConfirmationContent } from '@/b2b-purchase-order/components';\nimport { PurchaseOrderConfirmationProps } from '@/b2b-purchase-order/types/containers';\n\nexport const PurchaseOrderConfirmation: Container<\n PurchaseOrderConfirmationProps\n> = ({\n className,\n purchaseOrderNumber,\n routePurchaseOrderDetails,\n ...props\n}) => {\n if (!purchaseOrderNumber) return null;\n\n return (\n <div\n {...props}\n className={classes(['b2b-purchase-order-confirmation', className])}\n >\n <PurchaseOrderConfirmationContent\n purchaseOrderNumber={purchaseOrderNumber}\n routePurchaseOrderDetails={routePurchaseOrderDetails}\n />\n </div>\n );\n};\n"],"names":["PurchaseOrderConfirmationContent","className","purchaseOrderNumber","routePurchaseOrderDetails","props","useText","jsxs","classes","jsx","PurchaseOrderConfirmation"],"mappings":"2WAuBO,MAAMA,EAET,CAAC,CACH,UAAAC,EACA,oBAAAC,EACA,0BAAAC,EACA,GAAGC,CACL,IAAM,CACJ,MAAM,EAAIC,EAAQ,CAChB,MAAO,iDACP,cAAe,yDACf,cAAe,wDAAA,CAChB,EAED,OACEC,EAAC,MAAA,CACE,GAAGF,EACJ,UAAWG,EAAQ,CAAC,uCAAwCN,CAAS,CAAC,EAEtE,SAAA,CAAAO,EAAC,KAAA,CAAG,UAAU,8CAA+C,SAAA,EAAE,MAAM,EACrEF,EAAC,IAAA,CAAE,UAAU,gDACV,SAAA,CAAA,EAAE,cAAe,IAClBA,EAAC,IAAA,CACC,UAAU,6CACV,KAAMH,KAA+B,GACtC,SAAA,CAAA,IACGD,CAAA,CAAA,CAAA,EACA,KACD,EAAE,aAAA,CAAA,CACP,CAAA,CAAA,CAAA,CAGN,EClCaO,EAET,CAAC,CACH,UAAAR,EACA,oBAAAC,EACA,0BAAAC,EACA,GAAGC,CACL,IACOF,EAGHM,EAAC,MAAA,CACE,GAAGJ,EACJ,UAAWG,EAAQ,CAAC,kCAAmCN,CAAS,CAAC,EAEjE,SAAAO,EAACR,EAAA,CACC,oBAAAE,EACA,0BAAAC,CAAA,CAAA,CACF,CAAA,EAV6B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Container } from '@dropins/tools/types/elsie/src/lib';
|
|
2
|
+
import { PurchaseOrderHistoryLogProps } from '../../types/containers';
|
|
3
|
+
|
|
4
|
+
export declare const PurchaseOrderHistoryLog: Container<PurchaseOrderHistoryLogProps>;
|
|
5
|
+
//# sourceMappingURL=PurchaseOrderHistoryLog.d.ts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/********************************************************************
|
|
2
|
+
* ADOBE CONFIDENTIAL
|
|
3
|
+
* __________________
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2025 Adobe
|
|
6
|
+
* All Rights Reserved.
|
|
7
|
+
*
|
|
8
|
+
* NOTICE: All information contained herein is, and remains
|
|
9
|
+
* the property of Adobe and its suppliers, if any. The intellectual
|
|
10
|
+
* and technical concepts contained herein are proprietary to Adobe
|
|
11
|
+
* and its suppliers and are protected by all applicable intellectual
|
|
12
|
+
* property laws, including trade secret and copyright laws.
|
|
13
|
+
* Dissemination of this information or reproduction of this material
|
|
14
|
+
* is strictly forbidden unless prior written permission is obtained
|
|
15
|
+
* from Adobe.
|
|
16
|
+
*******************************************************************/
|
|
17
|
+
export * from './PurchaseOrderHistoryLog';
|
|
18
|
+
export { PurchaseOrderHistoryLog as default } from './PurchaseOrderHistoryLog';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|