@dropins/storefront-purchase-order 0.0.6-alpha1 → 0.0.6-alpha3

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.
@@ -1,4 +1,4 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
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};
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 V,Tag as ce,Button as de,Skeleton as ue,SkeletonRow as pe}from"@dropins/tools/components.js";import{useState as g,useCallback as v,useEffect as he,useMemo as W}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import{u as be}from"../chunks/useCustomerRolePermissions.js";import{g as me,d as ge}from"../chunks/getPurchaseOrderApprovalRules.js";import{Text as w,useText as we}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"}],Pe=20,fe=({routeApprovalRuleDetails:u,routeCreateApprovalRule:p,routeEditApprovalRule:h,setColumns:b,setRowsData:P,initialPageSize:$,permissions:y,loadingPermissions:S,t:l})=>{const[m,i]=g([]),[f,n]=g(!0),[k,o]=g(!0),[c,A]=g($),[U,x]=g({currentPage:1,totalPages:1,totalCount:0}),[T,O]=g(new Set),{currentPage:R,totalPages:N,totalCount:Y}=U,I=v(s=>{x(t=>({...t,currentPage:s})),O(new Set),n(!0)},[]),ee=v(s=>{const t=s.target.value;A(e=>e.map(a=>({...a,selected:a.value===t}))),I(1),O(new Set),n(!0)},[I]),H=v(s=>{O(t=>{const e=new Set(t);return e.has(s)?e.delete(s):e.add(s),e})},[]);he(()=>{var e;if(!f||S)return;o(!0);const s=(e=c==null?void 0:c.find(a=>a.selected))==null?void 0:e.value,t=parseInt(s??Pe.toString(),10);me(R,t).then(a=>{var z,E;const j=(a==null?void 0:a.items)??[],B=(z=a==null?void 0:a.pageInfo)==null?void 0:z.currentPage,C=(E=a==null?void 0:a.pageInfo)==null?void 0:E.totalPages,D=a==null?void 0:a.totalCount;x({currentPage:B>C?C||1:B,totalPages:C,totalCount:D}),i(j)}).catch(a=>{console.error("Error fetching approval rules:",a),i([])}).finally(()=>{o(!1),n(!1)})},[f,R,c,N,S]);const _=v((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(()=>(b==null?void 0:b(X))??X.map(s=>({...s,label:l[s.key]||s.label})),[b,l]),M=v((s,t)=>{s.preventDefault(),o(!0),ge(t).then(()=>{n(!0)}).finally(()=>{o(!1)})},[]),se=W(()=>{const s=m==null?void 0:m.map((e,a)=>{var G,Z,q,J,K,Q;const{isAdmin:j,permissions:{manageApprovalRules:B}}=y,C=T.has(a),D=j||B,z=r(V,{onClick:()=>H(a),children:r(w,{id:`PurchaseOrders.purchaseOrdersTable.buttons.${C?"expandedHidden":"expandedShow"}`})}),E=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(w,{id:"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.ruleType"})})," ",r(w,{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(w,{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((d,F)=>r("li",{children:d.name},F))}),r("p",{children:r("span",{children:r(w,{id:"PurchaseOrders.purchaseOrdersTable.expandedRowLabels.approver"})})}),r("ul",{children:(K=e==null?void 0:e.approverRoles)==null?void 0:K.map((d,F)=>r("li",{children:d==null?void 0:d.name},F))})]}),D?r("div",{className:"b2b-purchase-order-purchase-orders-table__row-details-action",children:L("div",{className:"b2b-purchase-order-purchase-orders-table__row-details-action-inner-wrapper",children:[r(V,{onClick:()=>{window.location.href=_(e.uid,"edit")},"aria-label":l.ariaLabelEditRule.replace("{{ruleName}}",e.name),"data-testid":`edit-approval-rule-${e.uid}`,children:l.actionEdit}),r(V,{onClick:d=>M(d,e.uid),"aria-label":l.ariaLabelDeleteRule.replace("{{ruleName}}",e.name),"data-testid":`delete-approval-rule-${e.uid}`,children:l.actionDelete})]})}):r("div",{className:"b2b-purchase-order-purchase-orders-table__row-details-action",children:r(V,{onClick:()=>{window.location.href=_(e.uid,"view")},"aria-label":l.ariaLabelViewRule.replace("{{ruleName}}",e.name),"data-testid":`view-approval-rule-${e.uid}`,children:l.actionView})})]});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(w,{id:`PurchaseOrders.purchaseOrdersTable.rulesStatus.${(Q=e.status)==null?void 0:Q.toLocaleLowerCase()}`})}),createdBy:e.createdBy,action:z,_rowDetails:E}});let t=s;if(P){const e=P(s);e!==void 0&&Array.isArray(e)&&(t=e)}return t},[m,T,y,P,l,_,M,H]);return{tableConfig:{columns:re,rows:se,expandedRows:T},paginationConfig:{currentPage:R,totalPages:N,handlePageChange:I},pageSizeConfig:{pageSizeOptionsList:c,onChange:ee},totalCount:Y,loading:k,handleCreateUrl:_}},Ae=({routeCreateApprovalRule:u,routeEditApprovalRule:p,routeApprovalRuleDetails:h,setColumns:b,setRowsData:P,className:$="",withHeader:y=!0,withWrapper:S=!0,skeletonRowCount:l=5,initialPageSize:m=oe})=>{const i=we({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:f,loadingPermissions:n}=be(),{loading:k,tableConfig:o,paginationConfig:c,totalCount:A,pageSizeConfig:U,handleCreateUrl:x}=fe({routeCreateApprovalRule:u,routeEditApprovalRule:p,routeApprovalRuleDetails:h,setColumns:b,setRowsData:P,permissions:f,initialPageSize:m,loadingPermissions:n,t:i}),{isAdmin:T,permissions:{manageApprovalRules:O}}=f,R=T||O?r(de,{variant:"primary",onClick:()=>{window.location.href=x("","new")},"data-testid":"add-new-rule-button",children:i.addNewRule}):null,N=k||n?r(ue,{"data-testid":"approval-rules-skeleton",children:r(pe,{variant:"row",size:"small"})}):R;return L("div",{className:ae(["purchase-orders",$]),"data-testid":"purchase-orders-container",children:[y?r(ie,{headerText:i.headerText}):null,r(ne,{totalCount:A,columns:o.columns,rows:o.rows,expandedRows:o.expandedRows,paginationConfig:c,loading:k||n,skeletonRowCount:l,pageSizeConfig:U,emptyTitle:i.emptyTitle,withWrapper:S,footer:N})]})};export{Ae as ApprovalRulesList,Ae 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: '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
+ {"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, useEffect, useMemo, useState } 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 className=\"b2b-purchase-order-purchase-orders-table__row-details-action-inner-wrapper\">\n <ActionButton\n onClick={() => {\n window.location.href = handleCreateUrl(ar.uid, 'edit');\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 className=\"b2b-purchase-order-purchase-orders-table__row-details-action\">\n <ActionButton\n onClick={() => {\n window.location.href = handleCreateUrl(ar.uid, 'view');\n }}\n aria-label={t.ariaLabelViewRule.replace(\n '{{ruleName}}',\n ar.name\n )}\n data-testid={`view-approval-rule-${ar.uid}`}\n >\n {t.actionView}\n </ActionButton>\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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"}
@@ -60,7 +60,7 @@ declare const _default: {
60
60
  "any_item": "Any Item",
61
61
  "all_items": "All Items"
62
62
  },
63
- "buttons":{
63
+ "buttons": {
64
64
  "expandedHidden": "Hide",
65
65
  "expandedShow": "Show"
66
66
  },
@@ -164,7 +164,7 @@ declare const _default: {
164
164
  }
165
165
  },
166
166
  "approvalRuleForm": {
167
- "headerText": "Purchase Order Approval Rule",
167
+ "headerText": "Purchase order approval rule",
168
168
  "titleAppliesTo": "Applies To",
169
169
  "titleRuleType": "Rule Type",
170
170
  "titleRequiresApprovalRole": "Requires Approval From",
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-purchase-order", "version": "0.0.6-alpha1", "@dropins/tools": "1.6.0-beta2", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-purchase-order", "version": "0.0.6-alpha3", "@dropins/tools": "1.6.0-beta2", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
3
  (function(t,a){try{if(typeof document<"u"){const e=document.createElement("style"),n=a.styleId;for(const r in a.attributes)e.setAttribute(r,a.attributes[r]);e.setAttribute("data-dropin",n),e.appendChild(document.createTextNode(t));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.after(e);else{const r=document.querySelector('link[rel="stylesheet"], style');r?r.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})(`.dropin-skeleton{--row-gap-spacing: var(--spacing-medium);display:grid;grid-template-columns:1fr 1fr;gap:var(--row-gap-spacing)}.dropin-skeleton .dropin-skeleton--row__content{background:var(--color-neutral-300) linear-gradient(to right,var(--color-neutral-300) 0%,var(--color-neutral-100) 20%,var(--color-neutral-300) 40%,var(--color-neutral-300) 100%) no-repeat;animation:skeletonShimmer infinite 1.2s linear;border-radius:var(--shape-border-radius-2)}.dropin-skeleton__empty{background:none}.dropin-skeleton-row--multiline{--multiline-gap-spacing: var(--spacing-medium);display:grid;grid-auto-rows:max-content;gap:var(--multiline-gap-spacing)}.dropin-skeleton-row--full{grid-column:1 / -1}.dropin-skeleton-row svg{fill:var(--color-neutral-400);fill-opacity:.5;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear}.dropin-skeleton-row__row-xsmall{height:32px}.dropin-skeleton-row__row-small{height:40px}.dropin-skeleton-row__row-medium{height:48px}.dropin-skeleton-row__row-large{height:56px}.dropin-skeleton-row__row-xlarge{height:72px}.dropin-skeleton-row__heading-xsmall{height:20px}.dropin-skeleton-row__heading-small{height:24px}.dropin-skeleton-row__heading-medium{height:32px}.dropin-skeleton-row__heading-large{height:40px}.dropin-skeleton-row__heading-xlarge{height:48px}@keyframes skeletonShimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes placeholderShimmer{0%{fill-opacity:.5}50%{fill-opacity:1}to{fill-opacity:.5}}@media only screen and (max-width: 600px){.dropin-skeleton{grid-template-columns:1fr}}
4
- .b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table--empty-state,.b2b-purchase-order-purchase-orders-table--empty-state>.dropin-card__content{gap:0}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-top:none}.purchase-orders-table__empty-state:not(:last-child){margin-bottom:var(--spacing-medium)}.purchase-orders-table__pagination--loading{pointer-events:none;opacity:.5;cursor:not-allowed}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.b2b-purchase-order-purchase-orders-table__row-details{display:flex;justify-content:space-between;align-items:flex-end}.b2b-purchase-order-purchase-orders-table__row-details-content{flex:1;text-align:left}.b2b-purchase-order-purchase-orders-table__row-details-content p,.b2b-purchase-order-purchase-orders-table__row-details-content ul{margin:0 var(--spacing-xsmall) var(--spacing-xsmall) 0}.b2b-purchase-order-purchase-orders-table__row-details-content span:first-child{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-purchase-orders-table__status{max-width:max-content}.b2b-purchase-order-purchase-orders-table__status--positive{background-color:var(--color-positive-200)}.b2b-purchase-order-purchase-orders-table__status--negative{background-color:var(--color-alert-200)}.b2b-purchase-order-purchase-orders-table__status--waiting{background-color:var(--color-informational-200)}.b2b-purchase-order-purchase-orders-table .dropin-table__body td:last-child{text-align:center}.b2b-purchase-order-purchase-orders-table .dropin-table__header__row th:last-child{text-align:center}.dropin-table__body__cell .dropin-action-button{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.b2b-purchase-order-approval-rule-form form{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-approval-rule-form__rule-condition,.b2b-purchase-order-approval-rule-form__approval-role,.b2b-purchase-order-approval-rule-form__rule-type,.b2b-purchase-order-approval-rule-form__applies-to,.b2b-purchase-order-approval-rule-form__rule-condition-container,.b2b-purchase-order-approval-rule-form__buttons{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form form>label.dropin-checkbox{align-items:center}.b2b-purchase-order-approval-rule-form__rule-type select,.b2b-purchase-order-approval-rule-form__rule-condition-container select{min-height:56px}.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:row;position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container--error{margin-bottom:var( --spacing-xsmall )}.b2b-purchase-order-approval-rule-form__rule-condition-container>div{position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:absolute;top:100%;left:0;right:0;z-index:10}.b2b-purchase-order-approval-rule-form__buttons{justify-content:flex-start;flex-direction:row}@media (max-width: 600px){.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:column;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:static}.b2b-purchase-order-approval-rule-form form .dropin-multi-select{min-width:100%}}.error-message{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);padding-top:var(--spacing-xsmall);text-align:left;color:var(--color-alert-800)}.b2b-purchase-order-approval-rule-form .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.b2b-purchase-order-status-content__message{padding:0;margin:0;box-sizing:border-box;font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin-bottom:var(--spacing-small)}.b2b-purchase-order-status-content__actions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-xsmall)}.purchase-order-status .dropin-card__content{gap:0}.b2b-purchase-order-approval-rule-details-content__item{margin-bottom:var(--spacing-medium);display:grid;grid-template-columns:1fr;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-details-content__label{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__value{display:block}.b2b-purchase-order-approval-rule-details-content__value ul{margin:0;padding-left:var(--spacing-medium)}.b2b-purchase-order-approval-rule-details-content__value>div{display:inline-flex;flex-wrap:wrap;align-items:center;margin-right:var(--spacing-small);gap:var(--spacing-xsmall)}.approval-rule-details__button{max-width:max-content}.b2b-purchase-order-form-loader .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-form-loader .approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.b2b-purchase-order-form-loader .approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}.b2b-purchase-order-comment-list-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-comment-list-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-comment-list-content__item:first-child{padding-top:0}.b2b-purchase-order-comment-list-content__item:last-child{padding-bottom:0}.b2b-purchase-order-comment-list-content__title{font:var(--type-body-1-emphasized-font);margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-comment-list-content__description{color:var(--color-neutral-700)}.b2b-purchase-order-comment-list-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-comment-list-content__actions{display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-small)}.b2b-purchase-order-comment-form-content{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-comment-form-content button{align-self:flex-end}.b2b-purchase-order-comment-form-content .dropin-textarea:not(:placeholder-shown)+.dropin-textarea__label--floating{background-color:transparent}.b2b-purchase-order-approval-flow-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-approval-flow-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-approval-flow-content__item:first-child{padding-top:0}.b2b-purchase-order-approval-flow-content__item:last-child{padding-bottom:0}.b2b-purchase-order-approval-flow-content__title{font-weight:600;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-flow-content__description{color:var(--color-neutral-700);display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-flow-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-approval-flow-content__icon--pending{color:var(--color-neutral-50);background-color:var(--color-informational-500);border-radius:50%;border:1px solid var(--color-informational-500)}.b2b-purchase-order-approval-flow-content__icon--approved{color:var(--color-positive-500)}.b2b-purchase-order-approval-flow-content__icon--rejected{color:var(--color-alert-500)}.b2b-purchase-order-history-log-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-history-log-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-history-log-content__item:first-child{padding-top:0}.b2b-purchase-order-history-log-content__item:last-child{padding-bottom:0}.b2b-purchase-order-history-log-content__title{font:var(--type-body-1-emphasized-font);margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-history-log-content__description{color:var(--color-neutral-700)}.b2b-purchase-order-history-log-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-history-log-content__actions{margin-top:var(--spacing-small);display:flex;justify-content:center;align-items:center}`,{styleId:"b2b-purchase-order"});
5
- import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as l}from"@dropins/tools/lib.js";import{useState as p,useEffect as d}from"@dropins/tools/preact-hooks.js";import{UIProvider as n}from"@dropins/tools/components.js";import{events as i}from"@dropins/tools/event-bus.js";const u={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval rules",emptyTitle:"No approval rules found",ariaLabel:{editRule:"Edit approval rule {{ruleName}}",deleteRule:"Delete approval rule {{ruleName}}",viewRule:"View approval rule {{ruleName}}"},buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}}-{{to}} of {{total}}",pageSizeLabel:{start:"Show"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},buttons:{expandedHidden:"Hide",expandedShow:"Show"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},expandedRowLabels:{orderNumber:"Order Number:",createdDate:"Created Date:",updatedDate:"Updated Date:",total:"Total:",ruleType:"Rule Type:",appliesTo:"Applies To:",approver:"Approver:"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."},purchaseOrderStatus:{status:{pending:{title:"Pending Approval",message:"Purchase order is awaiting approval."},approval_required:{title:"Approval Required",message:"Purchase order requires approval before it can be processed."},approved:{title:"Approved",message:"Purchase order has been approved."},order_in_progress:{title:"Processing in Progress",message:"Purchase order is currently being processed."},order_placed:{title:"Placed",message:"Purchase order has been placed successfully."},order_failed:{title:"Failed",message:"Purchase order processing has failed."},rejected:{title:"Rejected",message:"Purchase order has been rejected."},canceled:{title:"Canceled",message:"Purchase order has been canceled."},approved_pending_payment:{title:"Approved - Pending Payment",message:"Purchase order has been approved and is awaiting payment."}},alertMessages:{success:{approval:"The purchase order was approved successfully.",reject:"The purchase order was rejected successfully.",cancel:"The purchase order was canceled successfully.",placeOrder:"The sales order was placed successfully."},errors:{approval:"An error occurred while approving the purchase order. Please try again.",reject:"An error occurred while rejecting the purchase order. Please try again.",cancel:"An error occurred while canceling the purchase order. Please try again.",placeOrder:"An error occurred while placing the sales order. Please try again."}},buttons:{approve:"Approve",reject:"Reject",cancel:"Cancel",placeOrder:"Place Order"}},approvalRuleForm:{headerText:"Purchase Order Approval Rule",titleAppliesTo:"Applies To",titleRuleType:"Rule Type",titleRequiresApprovalRole:"Requires Approval From",fields:{enabled:"Rule Enabled",disabled:"Rule Disabled",inputRuleName:{floatingLabel:"Rule Name",placeholder:"Rule Name"},textAreaDescription:{label:"Rule Description"},appliesTo:{allUsers:"All Users",specificRoles:"Specific Roles"},ruleTypeOptions:{grandTotal:"Grand Total",shippingInclTax:"Shipping Cost",numberOfSkus:"Number of SKUs"},conditionOperators:{moreThan:"is more than",lessThan:"is less than",moreThanOrEqualTo:"is more than or equal to",lessThanOrEqualTo:"is less than or equal to"},inputQuantity:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},inputAmount:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},buttons:{cancel:"Cancel",save:"Save"}},errorsMessages:{required:"This field is required.",quantity:"Quantity must be greater than 0.",amount:"Amount must be greater than 0.",approvers:"Please select at least one approver."}},approvalRuleDetails:{containerTitle:"Approval rule details",buttons:{back:"Back to Rules List"},fields:{ruleName:"Rule Name:",status:"Status:",description:"Description:",appliesTo:"Applies To:",requiresApprovalFrom:"Requires Approval From:",ruleType:"Rule Type:",amount:{label:" amount "},statusView:{enabled:"Enabled",disabled:"Disabled"},condition:{attribute:{grand_total:"Grand Total",shipping_incl_tax:"Shipping Cost",number_of_skus:"Number of SKUs"},operator:{more_than:"Is more than",less_than:"Is less than",more_than_or_equal_to:"Is more than or equal to",less_than_or_equal_to:"Is less than or equal to"}}}},historyLog:{headerText:"Purchase order history log",statusTitle:"Status Changes",emptyText:"No history log available.",status:{place_order:"Order placed on {{date}}",auto_approve:"Auto approved on {{date}}",submit:"Submitted for approval on {{date}}"},buttons:{viewMore:"View More",viewLess:"View Less"},ariaLabel:{showMore:"Show more history items",showLess:"Show fewer history items"}},comments:{view:{headerText:"Purchase order comments",emptyText:"No comments available.",buttons:{viewMore:"View More",viewLess:"View Less"},ariaLabel:{showMore:"Show more comments",showLess:"Show fewer comments"}},add:{headerText:"Add purchase order comment",placeholder:"Add your comment",submit:"Add Comment",errorMessage:"Something went wrong while adding your comment. Please try again."}},approvalFlow:{headerText:"Purchase order approval flow",emptyText:"No approval flow is available for this purchase order.",ariaLabels:{icons:{approved:"Status approved",rejected:"Status rejected",pending:"Status pending approval"}}}},c={PurchaseOrders:u},h={default:c},m=({children:a})=>{const[s,o]=p("en_US");return d(()=>{const e=i.on("locale",t=>{o(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(n,{lang:s,langDefinitions:h,children:a})},T=new l(r(m,{}));export{T as render};
4
+ .b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table__row-details-action-inner-wrapper{display:flex;gap:var(--spacing-xsmall)}.b2b-purchase-order-purchase-orders-table--empty-state,.b2b-purchase-order-purchase-orders-table--empty-state>.dropin-card__content{gap:0}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);border:var(--shape-border-width-1) solid var(--color-neutral-400);border-top:none}.purchase-orders-table__empty-state:not(:last-child){margin-bottom:var(--spacing-medium)}.purchase-orders-table__pagination--loading{pointer-events:none;opacity:.5;cursor:not-allowed}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.b2b-purchase-order-purchase-orders-table__row-details{display:flex;justify-content:space-between;align-items:flex-end}.b2b-purchase-order-purchase-orders-table__row-details-content{flex:1;text-align:left}.b2b-purchase-order-purchase-orders-table__row-details-content p,.b2b-purchase-order-purchase-orders-table__row-details-content ul{margin:0 var(--spacing-xsmall) var(--spacing-xsmall) 0}.b2b-purchase-order-purchase-orders-table__row-details-content span:first-child{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-purchase-orders-table__status{max-width:max-content}.b2b-purchase-order-purchase-orders-table__status--positive{background-color:var(--color-positive-200)}.b2b-purchase-order-purchase-orders-table__status--negative{background-color:var(--color-alert-200)}.b2b-purchase-order-purchase-orders-table__status--waiting{background-color:var(--color-informational-200)}.b2b-purchase-order-purchase-orders-table .dropin-table__body td:last-child,.b2b-purchase-order-purchase-orders-table .dropin-table__header__row th:last-child{text-align:center}@container (max-width: 600px){.b2b-purchase-order-purchase-orders-table .dropin-table__body td:last-child,.b2b-purchase-order-purchase-orders-table .dropin-table__header__row th:last-child{text-align:left}}.dropin-table__body__cell .dropin-action-button{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.b2b-purchase-order-approval-rule-form form{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-approval-rule-form__rule-condition,.b2b-purchase-order-approval-rule-form__approval-role,.b2b-purchase-order-approval-rule-form__rule-type,.b2b-purchase-order-approval-rule-form__applies-to,.b2b-purchase-order-approval-rule-form__rule-condition-container,.b2b-purchase-order-approval-rule-form__buttons{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form form>label.dropin-checkbox{align-items:center}.b2b-purchase-order-approval-rule-form__rule-type select,.b2b-purchase-order-approval-rule-form__rule-condition-container select{min-height:56px}.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:row;position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container--error{margin-bottom:var( --spacing-xsmall )}.b2b-purchase-order-approval-rule-form__rule-condition-container>div{position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:absolute;top:100%;left:0;right:0;z-index:10}.b2b-purchase-order-approval-rule-form__buttons{justify-content:flex-start;flex-direction:row}@media (max-width: 600px){.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:column;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:static}.b2b-purchase-order-approval-rule-form form .dropin-multi-select{min-width:100%}}.error-message{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);padding-top:var(--spacing-xsmall);text-align:left;color:var(--color-alert-800)}.b2b-purchase-order-approval-rule-form .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.b2b-purchase-order-status-content__message{padding:0;margin:0;box-sizing:border-box;font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing);margin-bottom:var(--spacing-small)}.b2b-purchase-order-status-content__actions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-xsmall)}.purchase-order-status .dropin-card__content{gap:0}.b2b-purchase-order-approval-rule-details-content__item{margin-bottom:var(--spacing-medium);display:grid;grid-template-columns:1fr;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-details-content__label{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__value{display:block}.b2b-purchase-order-approval-rule-details-content__value ul{margin:0;padding-left:var(--spacing-medium)}.b2b-purchase-order-approval-rule-details-content__value>div{display:inline-flex;flex-wrap:wrap;align-items:center;margin-right:var(--spacing-small);gap:var(--spacing-xsmall)}.approval-rule-details__button{max-width:max-content}.b2b-purchase-order-form-loader .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-form-loader .approval-rule-form-loader__section{display:flex;flex-direction:column;gap:var(--spacing-xsmall);margin-bottom:var(--spacing-medium)}.b2b-purchase-order-form-loader .approval-rule-form-loader__buttons{display:flex;gap:var(--spacing-small)}.b2b-purchase-order-comment-list-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-comment-list-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-comment-list-content__item:first-child{padding-top:0}.b2b-purchase-order-comment-list-content__item:last-child{padding-bottom:0}.b2b-purchase-order-comment-list-content__title{font:var(--type-body-1-emphasized-font);margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-comment-list-content__description{color:var(--color-neutral-700)}.b2b-purchase-order-comment-list-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-comment-list-content__actions{display:flex;justify-content:center;align-items:center;margin-top:var(--spacing-small)}.b2b-purchase-order-comment-form-content{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-comment-form-content button{align-self:flex-end}.b2b-purchase-order-comment-form-content .dropin-textarea:not(:placeholder-shown)+.dropin-textarea__label--floating{background-color:transparent}.b2b-purchase-order-approval-flow-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-approval-flow-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-approval-flow-content__item:first-child{padding-top:0}.b2b-purchase-order-approval-flow-content__item:last-child{padding-bottom:0}.b2b-purchase-order-approval-flow-content__title{font-weight:600;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-flow-content__description{color:var(--color-neutral-700);display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-flow-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-approval-flow-content__icon--pending{color:var(--color-neutral-50);background-color:var(--color-informational-500);border-radius:50%;border:1px solid var(--color-informational-500)}.b2b-purchase-order-approval-flow-content__icon--approved{color:var(--color-positive-500)}.b2b-purchase-order-approval-flow-content__icon--rejected{color:var(--color-alert-500)}.b2b-purchase-order-history-log-content__list{list-style:none;margin:0;padding:0}.b2b-purchase-order-history-log-content__item{padding:var(--spacing-small) 0}.b2b-purchase-order-history-log-content__item:first-child{padding-top:0}.b2b-purchase-order-history-log-content__item:last-child{padding-bottom:0}.b2b-purchase-order-history-log-content__title{font:var(--type-body-1-emphasized-font);margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-history-log-content__description{color:var(--color-neutral-700)}.b2b-purchase-order-history-log-content__divider{border:none;border-top:var(--shape-border-width-1) solid var(--color-neutral-300);margin:0}.b2b-purchase-order-history-log-content__actions{margin-top:var(--spacing-small);display:flex;justify-content:center;align-items:center}`,{styleId:"b2b-purchase-order"});
5
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as l}from"@dropins/tools/lib.js";import{useState as p,useEffect as d}from"@dropins/tools/preact-hooks.js";import{UIProvider as n}from"@dropins/tools/components.js";import{events as i}from"@dropins/tools/event-bus.js";const u={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval rules",emptyTitle:"No approval rules found",ariaLabel:{editRule:"Edit approval rule {{ruleName}}",deleteRule:"Delete approval rule {{ruleName}}",viewRule:"View approval rule {{ruleName}}"},buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}}-{{to}} of {{total}}",pageSizeLabel:{start:"Show"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},buttons:{expandedHidden:"Hide",expandedShow:"Show"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},expandedRowLabels:{orderNumber:"Order Number:",createdDate:"Created Date:",updatedDate:"Updated Date:",total:"Total:",ruleType:"Rule Type:",appliesTo:"Applies To:",approver:"Approver:"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."},purchaseOrderStatus:{status:{pending:{title:"Pending Approval",message:"Purchase order is awaiting approval."},approval_required:{title:"Approval Required",message:"Purchase order requires approval before it can be processed."},approved:{title:"Approved",message:"Purchase order has been approved."},order_in_progress:{title:"Processing in Progress",message:"Purchase order is currently being processed."},order_placed:{title:"Placed",message:"Purchase order has been placed successfully."},order_failed:{title:"Failed",message:"Purchase order processing has failed."},rejected:{title:"Rejected",message:"Purchase order has been rejected."},canceled:{title:"Canceled",message:"Purchase order has been canceled."},approved_pending_payment:{title:"Approved - Pending Payment",message:"Purchase order has been approved and is awaiting payment."}},alertMessages:{success:{approval:"The purchase order was approved successfully.",reject:"The purchase order was rejected successfully.",cancel:"The purchase order was canceled successfully.",placeOrder:"The sales order was placed successfully."},errors:{approval:"An error occurred while approving the purchase order. Please try again.",reject:"An error occurred while rejecting the purchase order. Please try again.",cancel:"An error occurred while canceling the purchase order. Please try again.",placeOrder:"An error occurred while placing the sales order. Please try again."}},buttons:{approve:"Approve",reject:"Reject",cancel:"Cancel",placeOrder:"Place Order"}},approvalRuleForm:{headerText:"Purchase order approval rule",titleAppliesTo:"Applies To",titleRuleType:"Rule Type",titleRequiresApprovalRole:"Requires Approval From",fields:{enabled:"Rule Enabled",disabled:"Rule Disabled",inputRuleName:{floatingLabel:"Rule Name",placeholder:"Rule Name"},textAreaDescription:{label:"Rule Description"},appliesTo:{allUsers:"All Users",specificRoles:"Specific Roles"},ruleTypeOptions:{grandTotal:"Grand Total",shippingInclTax:"Shipping Cost",numberOfSkus:"Number of SKUs"},conditionOperators:{moreThan:"is more than",lessThan:"is less than",moreThanOrEqualTo:"is more than or equal to",lessThanOrEqualTo:"is less than or equal to"},inputQuantity:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},inputAmount:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},buttons:{cancel:"Cancel",save:"Save"}},errorsMessages:{required:"This field is required.",quantity:"Quantity must be greater than 0.",amount:"Amount must be greater than 0.",approvers:"Please select at least one approver."}},approvalRuleDetails:{containerTitle:"Approval rule details",buttons:{back:"Back to Rules List"},fields:{ruleName:"Rule Name:",status:"Status:",description:"Description:",appliesTo:"Applies To:",requiresApprovalFrom:"Requires Approval From:",ruleType:"Rule Type:",amount:{label:" amount "},statusView:{enabled:"Enabled",disabled:"Disabled"},condition:{attribute:{grand_total:"Grand Total",shipping_incl_tax:"Shipping Cost",number_of_skus:"Number of SKUs"},operator:{more_than:"Is more than",less_than:"Is less than",more_than_or_equal_to:"Is more than or equal to",less_than_or_equal_to:"Is less than or equal to"}}}},historyLog:{headerText:"Purchase order history log",statusTitle:"Status Changes",emptyText:"No history log available.",status:{place_order:"Order placed on {{date}}",auto_approve:"Auto approved on {{date}}",submit:"Submitted for approval on {{date}}"},buttons:{viewMore:"View More",viewLess:"View Less"},ariaLabel:{showMore:"Show more history items",showLess:"Show fewer history items"}},comments:{view:{headerText:"Purchase order comments",emptyText:"No comments available.",buttons:{viewMore:"View More",viewLess:"View Less"},ariaLabel:{showMore:"Show more comments",showLess:"Show fewer comments"}},add:{headerText:"Add purchase order comment",placeholder:"Add your comment",submit:"Add Comment",errorMessage:"Something went wrong while adding your comment. Please try again."}},approvalFlow:{headerText:"Purchase order approval flow",emptyText:"No approval flow is available for this purchase order.",ariaLabels:{icons:{approved:"Status approved",rejected:"Status rejected",pending:"Status pending approval"}}}},c={PurchaseOrders:u},h={default:c},m=({children:a})=>{const[s,o]=p("en_US");return d(()=>{const e=i.on("locale",t=>{o(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(n,{lang:s,langDefinitions:h,children:a})},T=new l(r(m,{}));export{T as render};
6
6
  //# sourceMappingURL=render.js.map