@dropins/storefront-purchase-order 1.0.0-beta2 → 1.0.0-beta3
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.js +5 -5
- package/api.js.map +1 -1
- package/chunks/addPurchaseOrderComment.js +2 -2
- package/chunks/addPurchaseOrderComment.js.map +1 -1
- package/chunks/currencyInfo.js +5 -5
- package/chunks/currencyInfo.js.map +1 -1
- package/chunks/fetch-graphql.js +1 -1
- package/chunks/fetch-graphql.js.map +1 -1
- package/chunks/getPurchaseOrderApprovalRule.js +2 -2
- package/chunks/getPurchaseOrderApprovalRule.js.map +1 -1
- package/chunks/getPurchaseOrderApprovalRules.js +3 -3
- package/chunks/getPurchaseOrderApprovalRules.js.map +1 -1
- package/chunks/getPurchaseOrders.js +3 -3
- package/chunks/getPurchaseOrders.js.map +1 -1
- package/chunks/placeOrderForPurchaseOrder.js +3 -3
- package/chunks/placeOrderForPurchaseOrder.js.map +1 -1
- package/chunks/rejectPurchaseOrders.js +4 -4
- package/chunks/rejectPurchaseOrders.js.map +1 -1
- 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/PurchaseOrderCommentForm.js +1 -1
- package/containers/PurchaseOrderCommentForm.js.map +1 -1
- 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/package.json +1 -1
- package/render.js +1 -1
- package/chunks/fetch-error.js +0 -4
- package/chunks/fetch-error.js.map +0 -1
|
@@ -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, useEffect, useMemo, useState } from 'preact/hooks';\nimport { events } from '@adobe-commerce/event-bus';\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 // Refetch data on the purchase-order/refresh event\n useEffect(() => {\n const event = events.on(\n 'purchase-order/refresh',\n () => {\n setShouldRefetch(true);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\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 events.emit('purchase-order/refresh', 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","useEffect","event","events","currentPage","totalPages","totalCount","handlePageChange","useCallback","page","prev","handleChangePageSize","size","option","toggleExpandedRow","rowIndex","newSet","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 { events } from '@adobe-commerce/event-bus';\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 // Refetch data on the purchase-order/refresh event\n useEffect(() => {\n const event = events.on(\n 'purchase-order/refresh',\n () => {\n setShouldRefetch(true);\n },\n { eager: true }\n );\n\n return () => {\n event?.off();\n };\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 events.emit('purchase-order/refresh', true);\n })\n .finally(() => {\n setExpandedRowIndices(new Set());\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","useEffect","event","events","currentPage","totalPages","totalCount","handlePageChange","useCallback","page","prev","handleChangePageSize","size","option","toggleExpandedRow","rowIndex","newSet","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":"q8BAmBO,MAAMA,GAAwC,CACnD,CAAE,IAAK,WAAY,MAAO,WAAA,EAC1B,CAAE,IAAK,SAAU,MAAO,QAAA,EACxB,CACE,IAAK,YACL,MAAO,YAAA,EAET,CAAE,IAAK,SAAU,MAAO,SAAA,CAC1B,ECMMC,GAAoB,GAEbC,GAAuB,CAAC,CACnC,yBAAAC,EACA,wBAAAC,EACA,sBAAAC,EACA,WAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,mBAAAC,EACA,EAAAC,CACF,IAAwD,CACtD,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAExC,CAAA,CAAE,EACE,CAACC,EAAeC,CAAgB,EAAIF,EAAS,EAAI,EACjD,CAACG,EAASC,CAAU,EAAIJ,EAAkB,EAAI,EAC9C,CAACK,EAAqBC,CAAsB,EAChDN,EAASN,CAAe,EACpB,CAACa,EAAYC,CAAa,EAAIR,EAAS,CAC3C,YAAa,EACb,WAAY,EACZ,WAAY,CAAA,CACb,EACK,CAACS,EAAoBC,CAAqB,EAAIV,MAC9C,GAAI,EAIVW,EAAU,IAAM,CACd,MAAMC,EAAQC,EAAO,GACnB,yBACA,IAAM,CACJX,EAAiB,EAAI,CACvB,EACA,CAAE,MAAO,EAAA,CAAK,EAGhB,MAAO,IAAM,CACXU,GAAA,MAAAA,EAAO,KACT,CACF,EAAG,CAAA,CAAE,EAGL,KAAM,CAAE,YAAAE,EAAa,WAAAC,EAAY,WAAAC,EAAA,EAAeT,EAE1CU,EAAmBC,EAAaC,GAAiB,CACrDX,EAAeY,IACN,CAAE,GAAGA,EAAM,YAAaD,CAAA,EAChC,EAEDT,EAAsB,IAAI,GAAK,EAC/BR,EAAiB,EAAI,CACvB,EAAG,CAAA,CAAE,EAECmB,GAAuBH,EAC1BN,GAAiB,CAChB,MAAMU,EAAQV,EAAM,OAA6B,MAEjDN,EAAwBc,GACfA,EAAK,IAAKG,IAAY,CAC3B,GAAGA,EACH,SAAUA,EAAO,QAAUD,CAAA,EAC3B,CACH,EAGDL,EAAiB,CAAC,EAElBP,EAAsB,IAAI,GAAK,EAC/BR,EAAiB,EAAI,CACvB,EACA,CAACe,CAAgB,CAAA,EAGbO,EAAoBN,EAAaO,GAAqB,CAC1Df,EAAuBU,GAAS,CAC9B,MAAMM,EAAS,IAAI,IAAIN,CAAI,EAC3B,OAAIM,EAAO,IAAID,CAAQ,EACrBC,EAAO,OAAOD,CAAQ,EAEtBC,EAAO,IAAID,CAAQ,EAEdC,CACT,CAAC,CACH,EAAG,CAAA,CAAE,EAELf,EAAU,IAAM,OAOd,GALI,CAACV,GAKDL,EACF,OAGFQ,EAAW,EAAI,EACf,MAAMuB,GAAWC,EAAAvB,GAAA,YAAAA,EAAqB,KACnCkB,GAAWA,EAAO,YADJ,YAAAK,EAEd,MACGC,EAAmB,SACvBF,GAAYxC,GAAkB,SAAA,EAC9B,EAAA,EAGF2C,GAA8BhB,EAAae,CAAgB,EACxD,KAAME,GAAS,SACd,MAAMC,GAAwBD,GAAA,YAAAA,EAAM,QAAS,CAAA,EACvCE,GAAsBL,EAAAG,GAAA,YAAAA,EAAM,WAAN,YAAAH,EAAgB,YACtCM,GAAqBC,EAAAJ,GAAA,YAAAA,EAAM,WAAN,YAAAI,EAAgB,WACrCC,EAAqBL,GAAA,YAAAA,EAAM,WAEjCvB,EAAc,CACZ,YACEyB,EAAsBC,EAClBA,GAAsB,EACtBD,EACN,WAAYC,EACZ,WAAYE,CAAA,CACb,EACDrC,EAAiBiC,CAAqB,CACxC,CAAC,EACA,MAAOK,GAAU,CAChB,QAAQ,MAAM,iCAAkCA,CAAK,EACrDtC,EAAiB,CAAA,CAAE,CACrB,CAAC,EACA,QAAQ,IAAM,CACbK,EAAW,EAAK,EAChBF,EAAiB,EAAK,CACxB,CAAC,CACL,EAAG,CACDD,EACAa,EACAT,EACAU,EACAnB,CAAA,CACD,EAED,MAAM0C,EAAkBpB,EACtB,CAACqB,EAAYC,IAA0C,CACrD,IAAIC,EAAM,GAEV,OAAQD,EAAA,CACN,IAAK,MAAO,CACVC,EAAMnD,GAAA,YAAAA,EAA0BiD,GAChC,KACF,CACA,IAAK,OAAQ,CACXE,EAAMlD,GAAA,YAAAA,EAAwBgD,GAC9B,KACF,CACA,IAAK,OAAQ,CACXE,EAAMpD,GAAA,YAAAA,EAA2BkD,GACjC,KACF,CAAA,CAGF,OAAKG,GAAWD,GAAO,EAAE,EAElBA,EAF4B,GAGrC,EACA,CAACnD,EAAyBC,EAAuBF,CAAwB,CAAA,EAGrEsD,GAAUC,EAAQ,KAEpBpD,GAAA,YAAAA,EAAaN,MACbA,GAA4B,IAAK2D,IAAS,CACxC,GAAGA,EACH,MAAOhD,EAAEgD,EAAI,GAAqB,GAAKA,EAAI,KAAA,EAC3C,EAEH,CAACrD,EAAYK,CAAC,CAAC,EAEZiD,EAAmB5B,EAAY,CAAC6B,EAAUR,IAAe,CAC7DQ,EAAE,eAAA,EACF3C,EAAW,EAAI,EACf4C,GAAgCT,CAAE,EAC/B,KAAK,IAAM,CACV1B,EAAO,KAAK,yBAA0B,EAAI,CAC5C,CAAC,EACA,QAAQ,IAAM,CACbH,EAAsB,IAAI,GAAK,CACjC,CAAC,CACL,EAAG,CAAA,CAAE,EAECuC,GAAOL,EAAQ,IAAM,CACzB,MAAMM,EAAwBpD,GAAA,YAAAA,EAAe,IAAI,CAACqD,EAAI1B,IAAa,iBACjE,KAAM,CACJ,QAAA2B,EACA,YAAa,CAAE,oBAAAC,CAAA,CAAoB,EACjC1D,EAEE2D,EAAa7C,EAAmB,IAAIgB,CAAQ,EAC5C8B,EAAYH,GAAWC,EAGvBG,EACJC,EAACC,EAAA,CAAa,QAAS,IAAMlC,EAAkBC,CAAQ,EACrD,SAAAgC,EAACE,EAAA,CACC,GAAI,8CACFL,EAAa,iBAAmB,cAClC,EAAA,CAAA,EAEJ,EAIIM,EACJC,EAAC,MAAA,CAAI,UAAU,wDACb,SAAA,CAAAA,EAAC,MAAA,CAAI,UAAU,gEACb,SAAA,CAAAA,EAAC,IAAA,CACC,SAAA,CAAAJ,EAAC,OAAA,CACC,SAAAA,EAACE,EAAA,CAAK,GAAG,gEAAgE,EAC3E,EAAQ,IACRF,EAACE,EAAA,CACC,GAAI,iDAAgDxB,GAAAP,EAAAuB,EAAG,YAAH,YAAAvB,EAAc,YAAd,YAAAO,EAAyB,mBAAmB,EAAA,CAAA,CAClG,EACF,EACAsB,EAAC,KACC,SAAAA,EAAC,OAAA,CACC,WAACE,EAAA,CAAK,GAAG,gEAAA,CAAiE,CAAA,CAC5E,CAAA,CACF,EACAF,EAAC,MACE,WAAAK,EAAAX,GAAA,YAAAA,EAAI,iBAAJ,YAAAW,EAAoB,SAAU,EAC7BL,EAAC,KAAA,CAAI,SAAA5D,EAAE,YAAA,CAAa,GAEpBkE,EAAAZ,GAAA,YAAAA,EAAI,iBAAJ,YAAAY,EAAoB,IAAI,CAACC,EAAMC,IAC7BR,EAAC,MAAc,SAAAO,EAAK,IAAA,EAAXC,CAAgB,EAC1B,CAEL,EACAR,EAAC,KACC,SAAAA,EAAC,OAAA,CACC,WAACE,EAAA,CAAK,GAAG,+DAAA,CAAgE,CAAA,CAC3E,CAAA,CACF,EACAF,EAAC,KAAA,CACE,UAAAS,EAAAf,GAAA,YAAAA,EAAI,gBAAJ,YAAAe,EAAmB,IAAI,CAACF,EAAMC,IAC7BR,EAAC,KAAA,CAAc,SAAAO,GAAA,YAAAA,EAAM,IAAA,EAAZC,CAAiB,EAC3B,CACH,CAAA,EACF,EACCV,IACE,MAAA,CAAI,UAAU,+DACb,SAAAM,EAAC,MAAA,CAAI,UAAU,6EACb,SAAA,CAAAJ,EAACC,EAAA,CACC,QAAS,IAAM,CACb,OAAO,SAAS,KAAOpB,EAAgBa,EAAG,IAAK,MAAM,CACvD,EACA,aAAYtD,EAAE,kBAAkB,QAC9B,eACAsD,EAAG,IAAA,EAEL,cAAa,sBAAsBA,EAAG,GAAG,GAExC,SAAAtD,EAAE,UAAA,CAAA,EAEL4D,EAACC,EAAA,CACC,QAAUX,GAAMD,EAAiBC,EAAGI,EAAG,GAAG,EAC1C,aAAYtD,EAAE,oBAAoB,QAChC,eACAsD,EAAG,IAAA,EAEL,cAAa,wBAAwBA,EAAG,GAAG,GAE1C,SAAAtD,EAAE,YAAA,CAAA,CACL,EACF,CAAA,CACF,EAEA4D,EAAC,MAAA,CAAI,UAAU,+DACb,SAAAA,EAACC,EAAA,CACC,QAAS,IAAM,CACb,OAAO,SAAS,KAAOpB,EAAgBa,EAAG,IAAK,MAAM,CACvD,EACA,aAAYtD,EAAE,kBAAkB,QAC9B,eACAsD,EAAG,IAAA,EAEL,cAAa,sBAAsBA,EAAG,GAAG,GAExC,SAAAtD,EAAE,UAAA,CAAA,CACL,CACF,CAAA,EAEJ,EAGF,MAAO,CACL,SAAUsD,EAAG,KACb,OACEM,EAACU,GAAA,CACC,UAAW,sGAAsGC,GAC/GjB,EAAG,MAAA,CACJ,GAED,SAAAM,EAACE,EAAA,CACC,GAAI,mDAAkDU,EAAAlB,EAAG,SAAH,YAAAkB,EAAW,mBAAmB,EAAA,CAAA,CACtF,CAAA,EAGJ,UAAWlB,EAAG,UACd,OAAAK,EACA,YAAAI,CAAA,CAEJ,GAEA,IAAIU,EAAYpB,EAEhB,GAAIzD,EAAa,CACf,MAAM8E,EAAa9E,EAAYyD,CAAqB,EAEhDqB,IAAe,QAAa,MAAM,QAAQA,CAAU,IACtDD,EAAYC,EAEhB,CAEA,OAAOD,CACT,EAAG,CACDxE,EACAW,EACAd,EACAF,EACAI,EACAyC,EACAQ,EACAtB,CAAA,CACD,EAED,MAAO,CACL,YAAa,CACX,QAAAmB,GACA,KAAAM,GACA,aAAcxC,CAAA,EAEhB,iBAAkB,CAChB,YAAAK,EACA,WAAAC,EACA,iBAAAE,CAAA,EAEF,eAAgB,CACd,oBAAAZ,EACA,SAAUgB,EAAA,EAEZ,WAAAL,GACA,QAAAb,EACA,gBAAAmC,CAAA,CAEJ,EC/VakC,GAAuD,CAAC,CACnE,wBAAAlF,EACA,sBAAAC,EACA,yBAAAF,EACA,WAAAG,EACA,YAAAC,EACA,UAAAgF,EAAY,GACZ,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,iBAAAC,EAAmB,EACnB,gBAAAlF,EAAkBmF,EACpB,IAAM,CACJ,MAAMhF,EAAIiF,GAAQ,CAChB,WAAY,kDACZ,SAAU,2DACV,SAAU,2DACV,UAAW,4DACX,SAAU,2DACV,UAAW,4DACX,OAAQ,yDACR,WAAY,gDACZ,aAAc,kDACd,WAAY,mDACZ,WAAY,gDACZ,aAAc,kDACd,WAAY,8CACZ,kBAAmB,sDACnB,oBACE,wDACF,kBAAmB,qDAAA,CACpB,EAEK,CAAE,YAAAnF,EAAa,mBAAAC,CAAA,EAAuBmF,GAAA,EACtC,CACJ,QAAA5E,EACA,YAAA6E,EACA,iBAAAC,EACA,WAAAjE,EACA,eAAAkE,EACA,gBAAA5C,CAAA,EACElD,GAAqB,CACvB,wBAAAE,EACA,sBAAAC,EACA,yBAAAF,EACA,WAAAG,EACA,YAAAC,EACA,YAAAE,EACA,gBAAAD,EACA,mBAAAE,EACA,EAAAC,CAAA,CACD,EAEK,CACJ,QAAAuD,EACA,YAAa,CAAE,oBAAAC,CAAA,CAAoB,EACjC1D,EAEEwF,EACJ/B,GAAWC,EACTI,EAAC2B,GAAA,CACC,QAAQ,UACR,QAAS,IAAM,CACb,OAAO,SAAS,KAAO9C,EAAgB,GAAI,KAAK,CAClD,EACA,cAAY,sBAEX,SAAAzC,EAAE,UAAA,CAAA,EAEH,KAEAwF,EACJlF,GAAWP,EACT6D,EAAC6B,IAAS,cAAY,0BACpB,SAAA7B,EAAC8B,GAAA,CAAY,QAAQ,MAAM,KAAK,OAAA,CAAQ,EAC1C,EAEAJ,EAGJ,OACEtB,EAAC,MAAA,CACC,UAAW2B,GAAQ,CAAC,kBAAmBf,CAAS,CAAC,EACjD,cAAY,4BAEX,SAAA,CAAAC,EAAajB,EAACgC,GAAA,CAAqB,WAAY5F,EAAE,WAAY,EAAK,KACnE4D,EAACiC,GAAA,CACC,WAAA1E,EACA,QAASgE,EAAY,QACrB,KAAMA,EAAY,KAClB,aAAcA,EAAY,aAC1B,iBAAAC,EACA,QAAS9E,GAAWP,EACpB,iBAAAgF,EACA,eAAAM,EACA,WAAYrF,EAAE,WACd,YAAA8E,EACA,OAAQU,CAAA,CAAA,CACV,CAAA,CAAA,CAGN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
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/
|
|
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/getPurchaseOrders.js";import"../chunks/case-converter.js";import"../chunks/permissions.js";const $=({initialPageSize:t=R,routePurchaseOrderDetails:o,setColumns:d,setRowsData:u,className:c="",withHeader:l=!0,withWrapper:n=!0,skeletonRowCount:i=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:i,pageSizeConfig:b,emptyTitle:e.noPurchaseOrders,alertMessageConfig:x,withWrapper:n})]})};export{$ as CompanyPurchaseOrders,$ 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 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":"
|
|
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":"44BAgCO,MAAMA,EAA+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/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/
|
|
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/getPurchaseOrders.js";import"../chunks/case-converter.js";import"../chunks/permissions.js";const L=({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,e=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:r,totalCount:b,alertMessageConfig:C}=D({view:l,routePurchaseOrderDetails:t,setColumns:o,setRowsData:u,initialPageSize:a,permissions:n,loadingPermissions:p,t:e});return T("div",{className:f(["purchase-orders",d]),"data-testid":"purchase-orders-container",children:[c?s(w,{headerText:e.headerText}):null,s(g,{totalCount:b,columns:r.columns,rows:r.rows,expandedRows:r.expandedRows,paginationConfig:P,loading:O,skeletonRowCount:m,pageSizeConfig:h,emptyTitle:e.noPurchaseOrders,alertMessageConfig:C,withWrapper:i})]})};export{L as CustomerPurchaseOrders,L 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 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":"
|
|
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":"g1BA+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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as l,jsx as o,Fragment as v}from"@dropins/tools/preact-jsx-runtime.js";import{classes as b}from"@dropins/tools/lib.js";import{TextArea as T,Button as y,Skeleton as F,SkeletonRow as f,Card as A}from"@dropins/tools/components.js";import{events as S}from"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{P as h}from"../chunks/PurchaseOrdersHeader.js";import{useState as c,useMemo as k,useCallback as x}from"@dropins/tools/preact-hooks.js";import{u as
|
|
3
|
+
import{jsxs as l,jsx as o,Fragment as v}from"@dropins/tools/preact-jsx-runtime.js";import{classes as b}from"@dropins/tools/lib.js";import{TextArea as T,Button as y,Skeleton as F,SkeletonRow as f,Card as A}from"@dropins/tools/components.js";import{events as S}from"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{P as h}from"../chunks/PurchaseOrdersHeader.js";import{useState as c,useMemo as k,useCallback as x}from"@dropins/tools/preact-hooks.js";import{u as M}from"../chunks/usePurchaseOrderData.js";import"@dropins/tools/preact.js";import{a as p}from"../chunks/addPurchaseOrderComment.js";import{useText as V}from"@dropins/tools/i18n.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const j=({t:r,purchaseOrderData:e})=>{const[s,i]=c(!1),[t,m]=c(""),[n,u]=c(""),g=k(()=>!t.trim().length||!(e!=null&&e.uid)||s,[t,e,s]),C=x(d=>{const a=d.target.value;m(a),n&&u("")},[n]),P=x(()=>{const d=(e==null?void 0:e.uid)??"";!d||!t.trim().length||(i(!0),p(d,t).then(a=>{a&&(e!=null&&e.uid)&&(S.emit("purchase-order/refresh",!0),m(""))}).catch(()=>{u(r.errorMessage||"Failed to add comment. Please try again.")}).finally(()=>{i(!1)}))},[e,t,r]);return l("div",{className:b(["b2b-purchase-order-comment-form-content"]),children:[o(T,{errorMessage:n,disabled:s,value:t,label:r.textAreaPlaceholder,onChange:C}),o(y,{variant:"primary",disabled:g,onClick:P,children:r.buttonText})]})},K=({withHeader:r=!0,withWrapper:e=!0,className:s})=>{const{poDataLoading:i,purchaseOrderData:t}=M(),m=V({headerText:"PurchaseOrders.comments.add.headerText",buttonText:"PurchaseOrders.comments.add.submit",textAreaPlaceholder:"PurchaseOrders.comments.add.placeholder"}),n=l(v,{children:[r&&e?o(h,{headerText:m.headerText,divider:!0}):null,i?l(F,{rowGap:"medium","data-testid":"comment-form-loader",children:[o(f,{size:"xlarge",variant:"row",fullWidth:!0,lines:2,style:{maxWidth:500}}),o(f,{size:"medium",variant:"row",lines:1})]}):o(j,{purchaseOrderData:t,t:m})]});return l("div",{className:b(["b2b-purchase-order-comment-form",s]),"data-testid":"order-history-log-container",children:[r&&!e?o(h,{headerText:m.headerText}):null,e?o(A,{variant:"secondary","data-testid":"orderCommentFormCard",children:n}):n]})};export{K as PurchaseOrderCommentForm,K as default};
|
|
4
4
|
//# sourceMappingURL=PurchaseOrderCommentForm.js.map
|
|
@@ -1 +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 events.emit('purchase-order/refresh', true);\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 = (\n <>\n {withHeader && withWrapper ? (\n <PurchaseOrdersHeader headerText={t.headerText} divider={true} />\n ) : null}\n {!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={2}\n style={{ maxWidth: 500 }}\n />\n <SkeletonRow size=\"medium\" variant=\"row\" lines={1} />\n </Skeleton>\n )}\n </>\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 && !withWrapper ? (\n <PurchaseOrdersHeader headerText={t.headerText} />\n ) : 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","events","classes","jsx","TextArea","Button","PurchaseOrderCommentForm","withHeader","withWrapper","className","poDataLoading","usePurchaseOrderData","useText","renderCommentForm","jsxs","Fragment","PurchaseOrdersHeader","Skeleton","SkeletonRow","Card"],"mappings":"
|
|
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 events.emit('purchase-order/refresh', true);\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 = (\n <>\n {withHeader && withWrapper ? (\n <PurchaseOrdersHeader headerText={t.headerText} divider={true} />\n ) : null}\n {!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={2}\n style={{ maxWidth: 500 }}\n />\n <SkeletonRow size=\"medium\" variant=\"row\" lines={1} />\n </Skeleton>\n )}\n </>\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 && !withWrapper ? (\n <PurchaseOrdersHeader headerText={t.headerText} />\n ) : 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","events","classes","jsx","TextArea","Button","PurchaseOrderCommentForm","withHeader","withWrapper","className","poDataLoading","usePurchaseOrderData","useText","renderCommentForm","jsxs","Fragment","PurchaseOrdersHeader","Skeleton","SkeletonRow","Card"],"mappings":"mvBA0BO,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,CACVA,IAAQjB,GAAA,MAAAA,EAAmB,OAC7BkB,EAAO,KAAK,yBAA0B,EAAI,EAC1Cb,EAAiB,EAAE,EAEvB,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,UAAWoB,EAAQ,CAAC,yCAAyC,CAAC,EACjE,SAAA,CAAAC,EAACC,EAAA,CACC,aAAAf,EACA,SAAUL,EACV,MAAOG,EACP,MAAOL,EAAE,oBACT,SAAUW,CAAA,CAAA,EAEZU,EAACE,EAAA,CACC,QAAQ,UACR,SAAUd,EACV,QAASM,EAER,SAAAf,EAAE,UAAA,CAAA,CACL,EACF,CAEJ,ECjEawB,EAET,CAAC,CAAE,WAAAC,EAAa,GAAM,YAAAC,EAAc,GAAM,UAAAC,KAAgB,CAC5D,KAAM,CAAE,cAAAC,EAAe,kBAAA3B,CAAA,EAAsB4B,EAAA,EAEvC7B,EAAI8B,EAAQ,CAChB,WAAY,yCACZ,WAAY,qCACZ,oBAAqB,yCAAA,CACtB,EAEKC,EACJC,EAAAC,EAAA,CACG,SAAA,CAAAR,GAAcC,IACZQ,EAAA,CAAqB,WAAYlC,EAAE,WAAY,QAAS,GAAM,EAC7D,KACF4B,EAMAI,EAACG,EAAA,CAAS,OAAO,SAAS,cAAY,sBACpC,SAAA,CAAAd,EAACe,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,CAAA,CACrD,EAdAf,EAACtB,EAAA,CACC,kBAAAE,EACA,EAAAD,CAAA,CAAA,CAYF,EAEJ,EAGF,OACEgC,EAAC,MAAA,CACC,UAAWZ,EAAQ,CAAC,kCAAmCO,CAAS,CAAC,EACjE,cAAY,8BAEX,SAAA,CAAAF,GAAc,CAACC,EACdL,EAACa,GAAqB,WAAYlC,EAAE,WAAY,EAC9C,KACH0B,IACEW,EAAA,CAAK,QAAS,YAAa,cAAY,uBACrC,WACH,EAEAN,CAAA,CAAA,CAAA,CAIR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsx as r,jsxs as C,Fragment as B}from"@dropins/tools/preact-jsx-runtime.js";import{classes as k,Slot as N}from"@dropins/tools/lib.js";import{Button as M,Skeleton as _,SkeletonRow as y,InLineAlert as D,Card as w}from"@dropins/tools/components.js";import{useState as v,useCallback as h}from"@dropins/tools/preact-hooks.js";import{events as I}from"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{a as J,r as V}from"../chunks/rejectPurchaseOrders.js";import{c as z,p as H}from"../chunks/placeOrderForPurchaseOrder.js";import{u as F}from"../chunks/usePurchaseOrderData.js";import{useText as L,Text as $}from"@dropins/tools/i18n.js";import{P as R}from"../chunks/PurchaseOrdersHeader.js";import"@dropins/tools/preact.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";
|
|
3
|
+
import{jsx as r,jsxs as C,Fragment as B}from"@dropins/tools/preact-jsx-runtime.js";import{classes as k,Slot as N}from"@dropins/tools/lib.js";import{Button as M,Skeleton as _,SkeletonRow as y,InLineAlert as D,Card as w}from"@dropins/tools/components.js";import{useState as v,useCallback as h}from"@dropins/tools/preact-hooks.js";import{events as I}from"@dropins/tools/event-bus.js";import"../chunks/PurchaseOrderHistoryLogContent.js";import{a as J,r as V}from"../chunks/rejectPurchaseOrders.js";import{c as z,p as H}from"../chunks/placeOrderForPurchaseOrder.js";import{u as F}from"../chunks/usePurchaseOrderData.js";import{useText as L,Text as $}from"@dropins/tools/i18n.js";import{P as R}from"../chunks/PurchaseOrdersHeader.js";import"@dropins/tools/preact.js";import"../chunks/fetch-graphql.js";import"@dropins/tools/fetch-graphql.js";const G=()=>{const{poDataLoading:o,purchaseOrderData:s}=F(),e=L({approvalSuccessMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.success.approval",rejectSuccessMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.success.reject",cancelSuccessMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.success.cancel",placeOrderSuccessMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.success.placeOrder",approvalErrorMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.errors.approval",rejectErrorMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.errors.reject",cancelErrorMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.errors.cancel",placeOrderErrorMessage:"PurchaseOrders.purchaseOrderStatus.alertMessages.errors.placeOrder"}),u=(s==null?void 0:s.uid)??null,i=(s==null?void 0:s.status)??"PENDING",d=(s==null?void 0:s.availableActions)??[],[l,n]=v("success"),[p,O]=v(""),[a,m]=v(!1),[A,S]=v(!0),f=()=>{S(!0)},P=h((T,E)=>{let c="";if(T){switch(E){case"APPROVE":c=e.approvalSuccessMessage;break;case"REJECT":c=e.rejectSuccessMessage;break;case"CANCEL":c=e.cancelSuccessMessage;break;case"PLACE_ORDER":c=e.placeOrderSuccessMessage;break}n("success")}else{switch(E){case"APPROVE":c=e.approvalErrorMessage;break;case"REJECT":c=e.rejectErrorMessage;break;case"CANCEL":c=e.cancelErrorMessage;break;case"PLACE_ORDER":c=e.placeOrderErrorMessage;break}n("error")}O(c),S(!1)},[e]),t=h(async(T,E)=>{if(u){m(!0);try{await T(u),P(!0,E)}catch{P(!1,E)}finally{m(!1),I.emit("purchase-order/refresh",!0)}}},[u,P]),g=h(()=>t(J,"APPROVE"),[t]),x=h(()=>t(V,"REJECT"),[t]),b=h(()=>t(z,"CANCEL"),[t]),j=h(()=>t(H,"PLACE_ORDER"),[t]);return{poId:u,status:i,availableActions:d,alertType:l,loading:a,poDataLoading:o,isDismissed:A,alertMessage:p,handleOnDismiss:f,handleApprove:g,handleReject:x,handleCancel:b,handlePlaceOrder:j}},W=({slots:o,t:s,loading:e,children:u,availableActions:i=[],handleApprove:d,handleReject:l,handleCancel:n,handlePlaceOrder:p})=>{const O=i.map(a=>{switch(a){case"APPROVE":return r(M,{variant:"secondary",disabled:e,type:"button",onClick:d,children:s.approveButtonText},a);case"PLACE_ORDER":return r(M,{variant:"secondary",disabled:e,type:"button",onClick:p,children:s.placeOrderButtonText},a);case"REJECT":return r(M,{variant:"secondary",disabled:e,type:"button",onClick:l,children:s.rejectButtonText},a);case"CANCEL":return r(M,{variant:"secondary",disabled:e,type:"button",onClick:n,children:s.cancelButtonText},a);default:return null}});return C("div",{className:k(["b2b-purchase-order-status-content"]),children:[r("div",{className:"b2b-purchase-order-status-content__message",children:s.statusMessageText}),u,r("div",{className:"b2b-purchase-order-status-content__actions",children:r(N,{"data-testid":"PurchaseOrderActions",name:"PurchaseOrderActions",slot:o==null?void 0:o.PurchaseOrderActions,context:{loading:e,availableActions:i,handleApprove:d,handleReject:l,handleCancel:n,handlePlaceOrder:p},children:O})})]})},ne=({className:o,withHeader:s=!0,withWrapper:e=!0,slots:u})=>{const{poId:i,status:d,availableActions:l,alertType:n,loading:p,poDataLoading:O,isDismissed:a,alertMessage:m,handleOnDismiss:A,handleApprove:S,handleReject:f,handleCancel:P,handlePlaceOrder:t}=G(),g=L({statusHeadingText:`PurchaseOrders.purchaseOrderStatus.status.${d.toLowerCase()}.title`,statusMessageText:`PurchaseOrders.purchaseOrderStatus.status.${d.toLowerCase()}.message`,approveButtonText:"PurchaseOrders.purchaseOrderStatus.buttons.approve",cancelButtonText:"PurchaseOrders.purchaseOrderStatus.buttons.cancel",rejectButtonText:"PurchaseOrders.purchaseOrderStatus.buttons.reject",placeOrderButtonText:"PurchaseOrders.purchaseOrderStatus.buttons.placeOrder"}),x=l.length>0;if(!i)return null;const b=C(B,{children:[s&&e?r(R,{headerText:g.statusHeadingText,divider:!0}):null,O?C(_,{"data-testid":"status-content-loader-skeleton-test-id",children:[r(y,{size:"small",variant:"row",fullWidth:!0,lines:1,style:{maxWidth:300}}),r(y,{size:"medium",variant:"row",fullWidth:!0,lines:1})]}):x?r(W,{t:g,loading:p,handleApprove:S,handleReject:f,handleCancel:P,handlePlaceOrder:t,availableActions:l,slots:u}):r("div",{className:"purchase-order-status__empty",children:r($,{id:"PurchaseOrders.purchaseOrderStatus.emptyText"})})]});return C("div",{className:k(["purchase-order-status",o]),children:[!a&&m?r(D,{style:{marginBottom:"1rem",textTransform:"capitalize"},heading:n,onDismiss:A,description:m,type:n}):null,s&&!e?r(R,{headerText:g.statusHeadingText}):null,e?r(w,{variant:"secondary",children:b}):b]})};export{ne as PurchaseOrderStatus,ne as default};
|
|
4
4
|
//# sourceMappingURL=PurchaseOrderStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseOrderStatus.js","sources":["/@dropins/storefront-purchase-order/src/hooks/usePurchaseOrderStatus.tsx","/@dropins/storefront-purchase-order/src/components/PurchaseOrderStatusContent/PurchaseOrderStatusContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderStatus/PurchaseOrderStatus.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, useCallback } from 'preact/hooks';\nimport {\n approvePurchaseOrders,\n cancelPurchaseOrders,\n placeOrderForPurchaseOrder,\n rejectPurchaseOrders,\n} from '@/b2b-purchase-order/api';\nimport { InLineAlertProps } from '@adobe-commerce/elsie/components';\nimport {\n UsePurchaseOrderStatusReturn,\n PURCHASE_ORDER_ACTION,\n PURCHASE_ORDER_STATUS,\n} from '@/b2b-purchase-order/types/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { usePurchaseOrderData } from './usePurchaseOrderData';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const usePurchaseOrderStatus = (): UsePurchaseOrderStatusReturn => {\n const { poDataLoading, purchaseOrderData } = usePurchaseOrderData();\n\n const t = useText({\n approvalSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.approval',\n rejectSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.reject',\n cancelSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.cancel',\n placeOrderSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.placeOrder',\n approvalErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.approval',\n rejectErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.reject',\n cancelErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.cancel',\n placeOrderErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.placeOrder',\n });\n\n const poId = purchaseOrderData?.uid ?? null;\n const status =\n (purchaseOrderData?.status as PURCHASE_ORDER_STATUS) ?? 'PENDING';\n const availableActions =\n (purchaseOrderData?.availableActions as PURCHASE_ORDER_ACTION[]) ?? [];\n\n const [alertType, setAlertType] =\n useState<NonNullable<InLineAlertProps['type']>>('success');\n const [alertMessage, setAlertMessage] = useState('');\n const [loading, setLoading] = useState(false);\n const [isDismissed, setIsDismissed] = useState(true);\n const handleOnDismiss = () => {\n setIsDismissed(true);\n };\n\n const showAlert = useCallback(\n (isSuccess: boolean, actionType: PURCHASE_ORDER_ACTION) => {\n let message = '';\n if (isSuccess) {\n switch (actionType) {\n case 'APPROVE':\n message = t.approvalSuccessMessage;\n break;\n case 'REJECT':\n message = t.rejectSuccessMessage;\n break;\n case 'CANCEL':\n message = t.cancelSuccessMessage;\n break;\n case 'PLACE_ORDER':\n message = t.placeOrderSuccessMessage;\n break;\n }\n setAlertType('success');\n } else {\n switch (actionType) {\n case 'APPROVE':\n message = t.approvalErrorMessage;\n break;\n case 'REJECT':\n message = t.rejectErrorMessage;\n break;\n case 'CANCEL':\n message = t.cancelErrorMessage;\n break;\n case 'PLACE_ORDER':\n message = t.placeOrderErrorMessage;\n break;\n }\n setAlertType('error');\n }\n\n setAlertMessage(message);\n setIsDismissed(false);\n },\n [t]\n );\n\n const handleAction = useCallback(\n async (\n apiFn: (id: string) => Promise<any>,\n actionType: PURCHASE_ORDER_ACTION\n ) => {\n if (!poId) return;\n setLoading(true);\n try {\n await apiFn(poId);\n showAlert(true, actionType);\n } catch {\n showAlert(false, actionType);\n } finally {\n setLoading(false);\n events.emit('purchase-order/refresh', true);\n }\n },\n [poId, showAlert]\n );\n\n const handleApprove = useCallback(\n () => handleAction(approvePurchaseOrders, 'APPROVE'),\n [handleAction]\n );\n const handleReject = useCallback(\n () => handleAction(rejectPurchaseOrders, 'REJECT'),\n [handleAction]\n );\n const handleCancel = useCallback(\n () => handleAction(cancelPurchaseOrders, 'CANCEL'),\n [handleAction]\n );\n const handlePlaceOrder = useCallback(\n () => handleAction(placeOrderForPurchaseOrder, 'PLACE_ORDER'),\n [handleAction]\n );\n\n return {\n poId,\n status,\n availableActions,\n alertType,\n loading,\n poDataLoading,\n isDismissed,\n alertMessage,\n handleOnDismiss,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrderStatusContent/PurchaseOrderStatusContent.css';\nimport { PurchaseOrderStatusContentProps } from '@/b2b-purchase-order/types/components';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { PURCHASE_ORDER_ACTION } from '@/b2b-purchase-order/types/hooks';\n\nexport const PurchaseOrderStatusContent: FunctionComponent<\n PurchaseOrderStatusContentProps\n> = ({\n slots,\n t,\n loading,\n children,\n availableActions = [],\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n}) => {\n const renderButtons = availableActions.map((action) => {\n switch (action as PURCHASE_ORDER_ACTION) {\n case 'APPROVE':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleApprove}\n >\n {t.approveButtonText}\n </Button>\n );\n case 'PLACE_ORDER':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handlePlaceOrder}\n >\n {t.placeOrderButtonText}\n </Button>\n );\n case 'REJECT':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleReject}\n >\n {t.rejectButtonText}\n </Button>\n );\n case 'CANCEL':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleCancel}\n >\n {t.cancelButtonText}\n </Button>\n );\n default:\n return null;\n }\n });\n\n return (\n <div className={classes(['b2b-purchase-order-status-content'])}>\n <div className={'b2b-purchase-order-status-content__message'}>\n {t.statusMessageText}\n </div>\n {children}\n <div className={'b2b-purchase-order-status-content__actions'}>\n <Slot\n data-testid=\"PurchaseOrderActions\"\n name=\"PurchaseOrderActions\"\n slot={slots?.PurchaseOrderActions}\n context={{\n loading,\n availableActions,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n }}\n >\n {renderButtons}\n </Slot>\n </div>\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 { useText, Text } from '@adobe-commerce/elsie/i18n';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n Card,\n InLineAlert,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { usePurchaseOrderStatus } from '@/b2b-purchase-order/hooks';\nimport { PurchaseOrderStatusProps } from '@/b2b-purchase-order/types/containers';\nimport {\n PurchaseOrderStatusContent,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\n\nexport const PurchaseOrderStatus: Container<PurchaseOrderStatusProps> = ({\n className,\n withHeader = true,\n withWrapper = true,\n slots,\n}) => {\n const {\n poId,\n status,\n availableActions,\n alertType,\n loading,\n poDataLoading,\n isDismissed,\n alertMessage,\n handleOnDismiss,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n } = usePurchaseOrderStatus();\n\n const t = useText({\n statusHeadingText: `PurchaseOrders.purchaseOrderStatus.status.${status.toLowerCase()}.title`,\n statusMessageText: `PurchaseOrders.purchaseOrderStatus.status.${status.toLowerCase()}.message`,\n approveButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.approve',\n cancelButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.cancel',\n rejectButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.reject',\n placeOrderButtonText:\n 'PurchaseOrders.purchaseOrderStatus.buttons.placeOrder',\n });\n\n const isActionAvailable = availableActions.length > 0;\n\n if (!poId) return null;\n\n const renderStatusContent = (\n <>\n {withHeader && withWrapper ? (\n <PurchaseOrdersHeader headerText={t.statusHeadingText} divider={true} />\n ) : null}\n {poDataLoading ? (\n <Skeleton data-testid={'status-content-loader-skeleton-test-id'}>\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 ) : isActionAvailable ? (\n <PurchaseOrderStatusContent\n t={t}\n loading={loading}\n handleApprove={handleApprove}\n handleReject={handleReject}\n handleCancel={handleCancel}\n handlePlaceOrder={handlePlaceOrder}\n availableActions={availableActions}\n slots={slots}\n />\n ) : (\n <div className={'purchase-order-status__empty'}>\n <Text id=\"PurchaseOrders.purchaseOrderStatus.emptyText\" />\n </div>\n )}\n </>\n );\n\n return (\n <div className={classes(['purchase-order-status', className])}>\n {!isDismissed && alertMessage ? (\n <InLineAlert\n style={{ marginBottom: '1rem', textTransform: 'capitalize' }}\n heading={alertType}\n onDismiss={handleOnDismiss}\n description={alertMessage}\n type={alertType}\n />\n ) : null}\n {withHeader && !withWrapper ? (\n <PurchaseOrdersHeader headerText={t.statusHeadingText} />\n ) : null}\n {withWrapper ? (\n <Card variant=\"secondary\">{renderStatusContent}</Card>\n ) : (\n renderStatusContent\n )}\n </div>\n );\n};\n"],"names":["usePurchaseOrderStatus","poDataLoading","purchaseOrderData","usePurchaseOrderData","t","useText","poId","status","availableActions","alertType","setAlertType","useState","alertMessage","setAlertMessage","loading","setLoading","isDismissed","setIsDismissed","handleOnDismiss","showAlert","useCallback","isSuccess","actionType","message","handleAction","apiFn","events","handleApprove","approvePurchaseOrders","handleReject","rejectPurchaseOrders","handleCancel","cancelPurchaseOrders","handlePlaceOrder","placeOrderForPurchaseOrder","PurchaseOrderStatusContent","slots","children","renderButtons","action","jsx","Button","classes","Slot","PurchaseOrderStatus","className","withHeader","withWrapper","isActionAvailable","renderStatusContent","jsxs","Fragment","PurchaseOrdersHeader","Skeleton","SkeletonRow","Text","InLineAlert","Card"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PurchaseOrderStatus.js","sources":["/@dropins/storefront-purchase-order/src/hooks/usePurchaseOrderStatus.tsx","/@dropins/storefront-purchase-order/src/components/PurchaseOrderStatusContent/PurchaseOrderStatusContent.tsx","/@dropins/storefront-purchase-order/src/containers/PurchaseOrderStatus/PurchaseOrderStatus.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, useCallback } from 'preact/hooks';\nimport {\n approvePurchaseOrders,\n cancelPurchaseOrders,\n placeOrderForPurchaseOrder,\n rejectPurchaseOrders,\n} from '@/b2b-purchase-order/api';\nimport { InLineAlertProps } from '@adobe-commerce/elsie/components';\nimport {\n UsePurchaseOrderStatusReturn,\n PURCHASE_ORDER_ACTION,\n PURCHASE_ORDER_STATUS,\n} from '@/b2b-purchase-order/types/hooks';\nimport { useText } from '@adobe-commerce/elsie/i18n';\nimport { usePurchaseOrderData } from './usePurchaseOrderData';\nimport { events } from '@adobe-commerce/event-bus';\n\nexport const usePurchaseOrderStatus = (): UsePurchaseOrderStatusReturn => {\n const { poDataLoading, purchaseOrderData } = usePurchaseOrderData();\n\n const t = useText({\n approvalSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.approval',\n rejectSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.reject',\n cancelSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.cancel',\n placeOrderSuccessMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.success.placeOrder',\n approvalErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.approval',\n rejectErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.reject',\n cancelErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.cancel',\n placeOrderErrorMessage:\n 'PurchaseOrders.purchaseOrderStatus.alertMessages.errors.placeOrder',\n });\n\n const poId = purchaseOrderData?.uid ?? null;\n const status =\n (purchaseOrderData?.status as PURCHASE_ORDER_STATUS) ?? 'PENDING';\n const availableActions =\n (purchaseOrderData?.availableActions as PURCHASE_ORDER_ACTION[]) ?? [];\n\n const [alertType, setAlertType] =\n useState<NonNullable<InLineAlertProps['type']>>('success');\n const [alertMessage, setAlertMessage] = useState('');\n const [loading, setLoading] = useState(false);\n const [isDismissed, setIsDismissed] = useState(true);\n const handleOnDismiss = () => {\n setIsDismissed(true);\n };\n\n const showAlert = useCallback(\n (isSuccess: boolean, actionType: PURCHASE_ORDER_ACTION) => {\n let message = '';\n if (isSuccess) {\n switch (actionType) {\n case 'APPROVE':\n message = t.approvalSuccessMessage;\n break;\n case 'REJECT':\n message = t.rejectSuccessMessage;\n break;\n case 'CANCEL':\n message = t.cancelSuccessMessage;\n break;\n case 'PLACE_ORDER':\n message = t.placeOrderSuccessMessage;\n break;\n }\n setAlertType('success');\n } else {\n switch (actionType) {\n case 'APPROVE':\n message = t.approvalErrorMessage;\n break;\n case 'REJECT':\n message = t.rejectErrorMessage;\n break;\n case 'CANCEL':\n message = t.cancelErrorMessage;\n break;\n case 'PLACE_ORDER':\n message = t.placeOrderErrorMessage;\n break;\n }\n setAlertType('error');\n }\n\n setAlertMessage(message);\n setIsDismissed(false);\n },\n [t]\n );\n\n const handleAction = useCallback(\n async (\n apiFn: (id: string) => Promise<any>,\n actionType: PURCHASE_ORDER_ACTION\n ) => {\n if (!poId) return;\n setLoading(true);\n try {\n await apiFn(poId);\n showAlert(true, actionType);\n } catch {\n showAlert(false, actionType);\n } finally {\n setLoading(false);\n events.emit('purchase-order/refresh', true);\n }\n },\n [poId, showAlert]\n );\n\n const handleApprove = useCallback(\n () => handleAction(approvePurchaseOrders, 'APPROVE'),\n [handleAction]\n );\n const handleReject = useCallback(\n () => handleAction(rejectPurchaseOrders, 'REJECT'),\n [handleAction]\n );\n const handleCancel = useCallback(\n () => handleAction(cancelPurchaseOrders, 'CANCEL'),\n [handleAction]\n );\n const handlePlaceOrder = useCallback(\n () => handleAction(placeOrderForPurchaseOrder, 'PLACE_ORDER'),\n [handleAction]\n );\n\n return {\n poId,\n status,\n availableActions,\n alertType,\n loading,\n poDataLoading,\n isDismissed,\n alertMessage,\n handleOnDismiss,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n };\n};\n","/********************************************************************\n * ADOBE CONFIDENTIAL\n * __________________\n *\n * Copyright 2025 Adobe\n * All Rights Reserved.\n *\n * NOTICE: All information contained herein is, and remains\n * the property of Adobe and its suppliers, if any. The intellectual\n * and technical concepts contained herein are proprietary to Adobe\n * and its suppliers and are protected by all applicable intellectual\n * property laws, including trade secret and copyright laws.\n * Dissemination of this information or reproduction of this material\n * is strictly forbidden unless prior written permission is obtained\n * from Adobe.\n *******************************************************************/\n\nimport { FunctionComponent } from 'preact';\nimport { classes, Slot } from '@adobe-commerce/elsie/lib';\nimport '@/b2b-purchase-order/components/PurchaseOrderStatusContent/PurchaseOrderStatusContent.css';\nimport { PurchaseOrderStatusContentProps } from '@/b2b-purchase-order/types/components';\nimport { Button } from '@adobe-commerce/elsie/components';\nimport { PURCHASE_ORDER_ACTION } from '@/b2b-purchase-order/types/hooks';\n\nexport const PurchaseOrderStatusContent: FunctionComponent<\n PurchaseOrderStatusContentProps\n> = ({\n slots,\n t,\n loading,\n children,\n availableActions = [],\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n}) => {\n const renderButtons = availableActions.map((action) => {\n switch (action as PURCHASE_ORDER_ACTION) {\n case 'APPROVE':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleApprove}\n >\n {t.approveButtonText}\n </Button>\n );\n case 'PLACE_ORDER':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handlePlaceOrder}\n >\n {t.placeOrderButtonText}\n </Button>\n );\n case 'REJECT':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleReject}\n >\n {t.rejectButtonText}\n </Button>\n );\n case 'CANCEL':\n return (\n <Button\n variant=\"secondary\"\n disabled={loading}\n type=\"button\"\n key={action}\n onClick={handleCancel}\n >\n {t.cancelButtonText}\n </Button>\n );\n default:\n return null;\n }\n });\n\n return (\n <div className={classes(['b2b-purchase-order-status-content'])}>\n <div className={'b2b-purchase-order-status-content__message'}>\n {t.statusMessageText}\n </div>\n {children}\n <div className={'b2b-purchase-order-status-content__actions'}>\n <Slot\n data-testid=\"PurchaseOrderActions\"\n name=\"PurchaseOrderActions\"\n slot={slots?.PurchaseOrderActions}\n context={{\n loading,\n availableActions,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n }}\n >\n {renderButtons}\n </Slot>\n </div>\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 { useText, Text } from '@adobe-commerce/elsie/i18n';\nimport { classes, Container } from '@adobe-commerce/elsie/lib';\nimport {\n Card,\n InLineAlert,\n Skeleton,\n SkeletonRow,\n} from '@adobe-commerce/elsie/components';\nimport { usePurchaseOrderStatus } from '@/b2b-purchase-order/hooks';\nimport { PurchaseOrderStatusProps } from '@/b2b-purchase-order/types/containers';\nimport {\n PurchaseOrderStatusContent,\n PurchaseOrdersHeader,\n} from '@/b2b-purchase-order/components';\n\nexport const PurchaseOrderStatus: Container<PurchaseOrderStatusProps> = ({\n className,\n withHeader = true,\n withWrapper = true,\n slots,\n}) => {\n const {\n poId,\n status,\n availableActions,\n alertType,\n loading,\n poDataLoading,\n isDismissed,\n alertMessage,\n handleOnDismiss,\n handleApprove,\n handleReject,\n handleCancel,\n handlePlaceOrder,\n } = usePurchaseOrderStatus();\n\n const t = useText({\n statusHeadingText: `PurchaseOrders.purchaseOrderStatus.status.${status.toLowerCase()}.title`,\n statusMessageText: `PurchaseOrders.purchaseOrderStatus.status.${status.toLowerCase()}.message`,\n approveButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.approve',\n cancelButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.cancel',\n rejectButtonText: 'PurchaseOrders.purchaseOrderStatus.buttons.reject',\n placeOrderButtonText:\n 'PurchaseOrders.purchaseOrderStatus.buttons.placeOrder',\n });\n\n const isActionAvailable = availableActions.length > 0;\n\n if (!poId) return null;\n\n const renderStatusContent = (\n <>\n {withHeader && withWrapper ? (\n <PurchaseOrdersHeader headerText={t.statusHeadingText} divider={true} />\n ) : null}\n {poDataLoading ? (\n <Skeleton data-testid={'status-content-loader-skeleton-test-id'}>\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 ) : isActionAvailable ? (\n <PurchaseOrderStatusContent\n t={t}\n loading={loading}\n handleApprove={handleApprove}\n handleReject={handleReject}\n handleCancel={handleCancel}\n handlePlaceOrder={handlePlaceOrder}\n availableActions={availableActions}\n slots={slots}\n />\n ) : (\n <div className={'purchase-order-status__empty'}>\n <Text id=\"PurchaseOrders.purchaseOrderStatus.emptyText\" />\n </div>\n )}\n </>\n );\n\n return (\n <div className={classes(['purchase-order-status', className])}>\n {!isDismissed && alertMessage ? (\n <InLineAlert\n style={{ marginBottom: '1rem', textTransform: 'capitalize' }}\n heading={alertType}\n onDismiss={handleOnDismiss}\n description={alertMessage}\n type={alertType}\n />\n ) : null}\n {withHeader && !withWrapper ? (\n <PurchaseOrdersHeader headerText={t.statusHeadingText} />\n ) : null}\n {withWrapper ? (\n <Card variant=\"secondary\">{renderStatusContent}</Card>\n ) : (\n renderStatusContent\n )}\n </div>\n );\n};\n"],"names":["usePurchaseOrderStatus","poDataLoading","purchaseOrderData","usePurchaseOrderData","t","useText","poId","status","availableActions","alertType","setAlertType","useState","alertMessage","setAlertMessage","loading","setLoading","isDismissed","setIsDismissed","handleOnDismiss","showAlert","useCallback","isSuccess","actionType","message","handleAction","apiFn","events","handleApprove","approvePurchaseOrders","handleReject","rejectPurchaseOrders","handleCancel","cancelPurchaseOrders","handlePlaceOrder","placeOrderForPurchaseOrder","PurchaseOrderStatusContent","slots","children","renderButtons","action","jsx","Button","classes","Slot","PurchaseOrderStatus","className","withHeader","withWrapper","isActionAvailable","renderStatusContent","jsxs","Fragment","PurchaseOrdersHeader","Skeleton","SkeletonRow","Text","InLineAlert","Card"],"mappings":"o0BAkCO,MAAMA,EAAyB,IAAoC,CACxE,KAAM,CAAE,cAAAC,EAAe,kBAAAC,CAAA,EAAsBC,EAAA,EAEvCC,EAAIC,EAAQ,CAChB,uBACE,oEACF,qBACE,kEACF,qBACE,kEACF,yBACE,sEACF,qBACE,mEACF,mBACE,iEACF,mBACE,iEACF,uBACE,oEAAA,CACH,EAEKC,GAAOJ,GAAA,YAAAA,EAAmB,MAAO,KACjCK,GACHL,GAAA,YAAAA,EAAmB,SAAoC,UACpDM,GACHN,GAAA,YAAAA,EAAmB,mBAAgD,CAAA,EAEhE,CAACO,EAAWC,CAAY,EAC5BC,EAAgD,SAAS,EACrD,CAACC,EAAcC,CAAe,EAAIF,EAAS,EAAE,EAC7C,CAACG,EAASC,CAAU,EAAIJ,EAAS,EAAK,EACtC,CAACK,EAAaC,CAAc,EAAIN,EAAS,EAAI,EAC7CO,EAAkB,IAAM,CAC5BD,EAAe,EAAI,CACrB,EAEME,EAAYC,EAChB,CAACC,EAAoBC,IAAsC,CACzD,IAAIC,EAAU,GACd,GAAIF,EAAW,CACb,OAAQC,EAAA,CACN,IAAK,UACHC,EAAUnB,EAAE,uBACZ,MACF,IAAK,SACHmB,EAAUnB,EAAE,qBACZ,MACF,IAAK,SACHmB,EAAUnB,EAAE,qBACZ,MACF,IAAK,cACHmB,EAAUnB,EAAE,yBACZ,KAAA,CAEJM,EAAa,SAAS,CACxB,KAAO,CACL,OAAQY,EAAA,CACN,IAAK,UACHC,EAAUnB,EAAE,qBACZ,MACF,IAAK,SACHmB,EAAUnB,EAAE,mBACZ,MACF,IAAK,SACHmB,EAAUnB,EAAE,mBACZ,MACF,IAAK,cACHmB,EAAUnB,EAAE,uBACZ,KAAA,CAEJM,EAAa,OAAO,CACtB,CAEAG,EAAgBU,CAAO,EACvBN,EAAe,EAAK,CACtB,EACA,CAACb,CAAC,CAAA,EAGEoB,EAAeJ,EACnB,MACEK,EACAH,IACG,CACH,GAAKhB,EACL,CAAAS,EAAW,EAAI,EACf,GAAI,CACF,MAAMU,EAAMnB,CAAI,EAChBa,EAAU,GAAMG,CAAU,CAC5B,MAAQ,CACNH,EAAU,GAAOG,CAAU,CAC7B,QAAA,CACEP,EAAW,EAAK,EAChBW,EAAO,KAAK,yBAA0B,EAAI,CAC5C,EACF,EACA,CAACpB,EAAMa,CAAS,CAAA,EAGZQ,EAAgBP,EACpB,IAAMI,EAAaI,EAAuB,SAAS,EACnD,CAACJ,CAAY,CAAA,EAETK,EAAeT,EACnB,IAAMI,EAAaM,EAAsB,QAAQ,EACjD,CAACN,CAAY,CAAA,EAETO,EAAeX,EACnB,IAAMI,EAAaQ,EAAsB,QAAQ,EACjD,CAACR,CAAY,CAAA,EAETS,EAAmBb,EACvB,IAAMI,EAAaU,EAA4B,aAAa,EAC5D,CAACV,CAAY,CAAA,EAGf,MAAO,CACL,KAAAlB,EACA,OAAAC,EACA,iBAAAC,EACA,UAAAC,EACA,QAAAK,EACA,cAAAb,EACA,YAAAe,EACA,aAAAJ,EACA,gBAAAM,EACA,cAAAS,EACA,aAAAE,EACA,aAAAE,EACA,iBAAAE,CAAA,CAEJ,EC9IaE,EAET,CAAC,CACH,MAAAC,EACA,EAAAhC,EACA,QAAAU,EACA,SAAAuB,EACA,iBAAA7B,EAAmB,CAAA,EACnB,cAAAmB,EACA,aAAAE,EACA,aAAAE,EACA,iBAAAE,CACF,IAAM,CACJ,MAAMK,EAAgB9B,EAAiB,IAAK+B,GAAW,CACrD,OAAQA,EAAA,CACN,IAAK,UACH,OACEC,EAACC,EAAA,CACC,QAAQ,YACR,SAAU3B,EACV,KAAK,SAEL,QAASa,EAER,SAAAvB,EAAE,iBAAA,EAHEmC,CAAA,EAMX,IAAK,cACH,OACEC,EAACC,EAAA,CACC,QAAQ,YACR,SAAU3B,EACV,KAAK,SAEL,QAASmB,EAER,SAAA7B,EAAE,oBAAA,EAHEmC,CAAA,EAMX,IAAK,SACH,OACEC,EAACC,EAAA,CACC,QAAQ,YACR,SAAU3B,EACV,KAAK,SAEL,QAASe,EAER,SAAAzB,EAAE,gBAAA,EAHEmC,CAAA,EAMX,IAAK,SACH,OACEC,EAACC,EAAA,CACC,QAAQ,YACR,SAAU3B,EACV,KAAK,SAEL,QAASiB,EAER,SAAA3B,EAAE,gBAAA,EAHEmC,CAAA,EAMX,QACE,OAAO,IAAA,CAEb,CAAC,EAED,SACG,MAAA,CAAI,UAAWG,EAAQ,CAAC,mCAAmC,CAAC,EAC3D,SAAA,CAAAF,EAAC,MAAA,CAAI,UAAW,6CACb,SAAApC,EAAE,kBACL,EACCiC,EACDG,EAAC,MAAA,CAAI,UAAW,6CACd,SAAAA,EAACG,EAAA,CACC,cAAY,uBACZ,KAAK,uBACL,KAAMP,GAAA,YAAAA,EAAO,qBACb,QAAS,CACP,QAAAtB,EACA,iBAAAN,EACA,cAAAmB,EACA,aAAAE,EACA,aAAAE,EACA,iBAAAE,CAAA,EAGD,SAAAK,CAAA,CAAA,CACH,CACF,CAAA,EACF,CAEJ,ECrFaM,GAA2D,CAAC,CACvE,UAAAC,EACA,WAAAC,EAAa,GACb,YAAAC,EAAc,GACd,MAAAX,CACF,IAAM,CACJ,KAAM,CACJ,KAAA9B,EACA,OAAAC,EACA,iBAAAC,EACA,UAAAC,EACA,QAAAK,EACA,cAAAb,EACA,YAAAe,EACA,aAAAJ,EACA,gBAAAM,EACA,cAAAS,EACA,aAAAE,EACA,aAAAE,EACA,iBAAAE,CAAA,EACEjC,EAAA,EAEEI,EAAIC,EAAQ,CAChB,kBAAmB,6CAA6CE,EAAO,YAAA,CAAa,SACpF,kBAAmB,6CAA6CA,EAAO,YAAA,CAAa,WACpF,kBAAmB,qDACnB,iBAAkB,oDAClB,iBAAkB,oDAClB,qBACE,uDAAA,CACH,EAEKyC,EAAoBxC,EAAiB,OAAS,EAEpD,GAAI,CAACF,EAAM,OAAO,KAElB,MAAM2C,EACJC,EAAAC,EAAA,CACG,SAAA,CAAAL,GAAcC,IACZK,EAAA,CAAqB,WAAYhD,EAAE,kBAAmB,QAAS,GAAM,EACpE,KACHH,EACCiD,EAACG,EAAA,CAAS,cAAa,yCACrB,SAAA,CAAAb,EAACc,EAAA,CACC,KAAK,QACL,QAAQ,MACR,UAAS,GACT,MAAO,EACP,MAAO,CAAE,SAAU,GAAA,CAAI,CAAA,EAEzBd,EAACc,GAAY,KAAK,SAAS,QAAQ,MAAM,UAAS,GAAC,MAAO,CAAA,CAAG,CAAA,CAAA,CAC/D,EACEN,EACFR,EAACL,EAAA,CACC,EAAA/B,EACA,QAAAU,EACA,cAAAa,EACA,aAAAE,EACA,aAAAE,EACA,iBAAAE,EACA,iBAAAzB,EACA,MAAA4B,CAAA,CAAA,IAGD,MAAA,CAAI,UAAW,+BACd,SAAAI,EAACe,EAAA,CAAK,GAAG,8CAAA,CAA+C,CAAA,CAC1D,CAAA,EAEJ,EAGF,OACEL,EAAC,OAAI,UAAWR,EAAQ,CAAC,wBAAyBG,CAAS,CAAC,EACzD,SAAA,CAAA,CAAC7B,GAAeJ,EACf4B,EAACgB,EAAA,CACC,MAAO,CAAE,aAAc,OAAQ,cAAe,YAAA,EAC9C,QAAS/C,EACT,UAAWS,EACX,YAAaN,EACb,KAAMH,CAAA,CAAA,EAEN,KACHqC,GAAc,CAACC,EACdP,EAACY,GAAqB,WAAYhD,EAAE,kBAAmB,EACrD,KACH2C,EACCP,EAACiB,EAAA,CAAK,QAAQ,YAAa,WAAoB,EAE/CR,CAAA,EAEJ,CAEJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*! Copyright 2025 Adobe
|
|
2
2
|
All Rights Reserved. */
|
|
3
|
-
import{jsxs as v,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as R}from"@dropins/tools/lib.js";import{P as w,d as x}from"../chunks/pageSize.config.js";import{P as D}from"../chunks/PurchaseOrdersHeader.js";import{P as M}from"../chunks/PurchaseOrdersTableActions.js";import"@dropins/tools/components.js";import{E as j,u as E}from"../chunks/usePurchaseOrders.js";import{u as S}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 q}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/
|
|
3
|
+
import{jsxs as v,jsx as s}from"@dropins/tools/preact-jsx-runtime.js";import{classes as R}from"@dropins/tools/lib.js";import{P as w,d as x}from"../chunks/pageSize.config.js";import{P as D}from"../chunks/PurchaseOrdersHeader.js";import{P as M}from"../chunks/PurchaseOrdersTableActions.js";import"@dropins/tools/components.js";import{E as j,u as E}from"../chunks/usePurchaseOrders.js";import{u as S}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 q}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/getPurchaseOrders.js";import"../chunks/case-converter.js";import"../chunks/permissions.js";const $=({initialPageSize:o=x,routePurchaseOrderDetails:d,setColumns:l,setRowsData:u,className:c="",withHeader:i=!0,withWrapper:p=!0,skeletonRowCount:n=5})=>{const h=j.CUSTOMER_APPROVAL_PURCHASE_ORDERS,e=q({headerText:"PurchaseOrders.requireApprovalPurchaseOrders.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.requireApprovalPurchaseOrders.noPurchaseOrders",alertHeaderApprove:"PurchaseOrders.alertMessages.header.approve",alertHeaderReject:"PurchaseOrders.alertMessages.header.reject",alertHeaderError:"PurchaseOrders.alertMessages.header.error",alertDescriptionApprove:"PurchaseOrders.alertMessages.description.approve",alertDescriptionReject:"PurchaseOrders.alertMessages.description.reject",alertDescriptionError:"PurchaseOrders.alertMessages.description.error"}),{permissions:m,loadingPermissions:O}=S(),{totalCount:a,loading:t,tableConfig:r,paginationConfig:P,pageSizeConfig:b,selectedOrderIds:C,handleRejectSelected:T,handleApproveSelected:g,isRequireApprovalPOsView:f,alertMessageConfig:A}=E({view:h,routePurchaseOrderDetails:d,setColumns:l,setRowsData:u,initialPageSize:o,permissions:m,loadingPermissions:O,t:e});return v("div",{className:R(["require-approval-purchase-orders",c]),"data-testid":"require-approval-purchase-orders-container",children:[i?s(D,{headerText:e.headerText}):null,s(w,{header:f&&a>0?s(M,{loading:t,selectedCount:C.length,handleRejectSelected:T,handleApproveSelected:g}):null,totalCount:a,columns:r.columns,rows:r.rows,expandedRows:r.expandedRows,paginationConfig:P,loading:t,skeletonRowCount:n,pageSizeConfig:b,emptyTitle:e.noPurchaseOrders,alertMessageConfig:A,withWrapper:p})]})};export{$ as RequireApprovalPurchaseOrders,$ as default};
|
|
4
4
|
//# sourceMappingURL=RequireApprovalPurchaseOrders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequireApprovalPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/RequireApprovalPurchaseOrders/RequireApprovalPurchaseOrders.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 { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { RequireApprovalPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\n\nexport const RequireApprovalPurchaseOrders: Container<\n RequireApprovalPurchaseOrdersProps\n> = ({\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_APPROVAL_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.requireApprovalPurchaseOrders.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:\n 'PurchaseOrders.requireApprovalPurchaseOrders.noPurchaseOrders',\n alertHeaderApprove: 'PurchaseOrders.alertMessages.header.approve',\n alertHeaderReject: 'PurchaseOrders.alertMessages.header.reject',\n alertHeaderError: 'PurchaseOrders.alertMessages.header.error',\n alertDescriptionApprove: 'PurchaseOrders.alertMessages.description.approve',\n alertDescriptionReject: 'PurchaseOrders.alertMessages.description.reject',\n alertDescriptionError: 'PurchaseOrders.alertMessages.description.error',\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 isRequireApprovalPOsView,\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(['require-approval-purchase-orders', className])}\n data-testid=\"require-approval-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isRequireApprovalPOsView && totalCount > 0 ? (\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":["RequireApprovalPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isRequireApprovalPOsView","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RequireApprovalPurchaseOrders.js","sources":["/@dropins/storefront-purchase-order/src/containers/RequireApprovalPurchaseOrders/RequireApprovalPurchaseOrders.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 { useText } from '@adobe-commerce/elsie/i18n';\nimport { defaultPageSizeConfig } from '@/b2b-purchase-order/configs';\nimport { EnumPurchaseOrdersView } from '@/b2b-purchase-order/types/api';\nimport { RequireApprovalPurchaseOrdersProps } from '@/b2b-purchase-order/types/containers';\n\nexport const RequireApprovalPurchaseOrders: Container<\n RequireApprovalPurchaseOrdersProps\n> = ({\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_APPROVAL_PURCHASE_ORDERS;\n\n const t = useText({\n headerText: 'PurchaseOrders.requireApprovalPurchaseOrders.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:\n 'PurchaseOrders.requireApprovalPurchaseOrders.noPurchaseOrders',\n alertHeaderApprove: 'PurchaseOrders.alertMessages.header.approve',\n alertHeaderReject: 'PurchaseOrders.alertMessages.header.reject',\n alertHeaderError: 'PurchaseOrders.alertMessages.header.error',\n alertDescriptionApprove: 'PurchaseOrders.alertMessages.description.approve',\n alertDescriptionReject: 'PurchaseOrders.alertMessages.description.reject',\n alertDescriptionError: 'PurchaseOrders.alertMessages.description.error',\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 isRequireApprovalPOsView,\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(['require-approval-purchase-orders', className])}\n data-testid=\"require-approval-purchase-orders-container\"\n >\n {withHeader ? <PurchaseOrdersHeader headerText={t.headerText} /> : null}\n <PurchaseOrdersTable\n header={\n isRequireApprovalPOsView && totalCount > 0 ? (\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":["RequireApprovalPurchaseOrders","initialPageSize","defaultPageSizeConfig","routePurchaseOrderDetails","setColumns","setRowsData","className","withHeader","withWrapper","skeletonRowCount","view","EnumPurchaseOrdersView","t","useText","permissions","loadingPermissions","useCustomerRolePermissions","totalCount","loading","tableConfig","paginationConfig","pageSizeConfig","selectedOrderIds","handleRejectSelected","handleApproveSelected","isRequireApprovalPOsView","alertMessageConfig","usePurchaseOrders","jsxs","classes","jsx","PurchaseOrdersHeader","PurchaseOrdersTable","PurchaseOrdersTableActions"],"mappings":"44BAgCO,MAAMA,EAET,CAAC,CACH,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,kCAE9BC,EAAIC,EAAQ,CAChB,WAAY,8DACZ,WAAY,gDACZ,SAAU,2DACV,YAAa,8DACb,YAAa,8DACb,YAAa,8DACb,UAAW,4DACX,OAAQ,yDACR,MAAO,wDACP,OAAQ,yDACR,mBACE,qEACF,iBACE,gEACF,mBAAoB,8CACpB,kBAAmB,6CACnB,iBAAkB,4CAClB,wBAAyB,mDACzB,uBAAwB,kDACxB,sBAAuB,gDAAA,CACxB,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,yBAAAC,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,mCAAoCvB,CAAS,CAAC,EAClE,cAAY,6CAEX,SAAA,CAAAC,EAAauB,EAACC,EAAA,CAAqB,WAAYnB,EAAE,WAAY,EAAK,KACnEkB,EAACE,EAAA,CACC,OACEP,GAA4BR,EAAa,EACvCa,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"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name": "@dropins/storefront-purchase-order", "version": "1.0.0-
|
|
1
|
+
{"name": "@dropins/storefront-purchase-order", "version": "1.0.0-beta3", "@dropins/tools": "1.6.0-beta3", "license": "SEE LICENSE IN LICENSE.md"}
|