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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.d.ts +12 -0
  2. package/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.d.ts +18 -0
  3. package/api/getPurchaseOrderApprovalRules/index.d.ts +18 -0
  4. package/api/index.d.ts +1 -0
  5. package/api.js +14 -25
  6. package/api.js.map +1 -1
  7. package/chunks/fetch-graphql.js +4 -0
  8. package/chunks/fetch-graphql.js.map +1 -0
  9. package/chunks/getPurchaseOrderApprovalRules.js +75 -0
  10. package/chunks/getPurchaseOrderApprovalRules.js.map +1 -0
  11. package/chunks/getPurchaseOrders.js +8 -8
  12. package/chunks/getPurchaseOrders.js.map +1 -1
  13. package/chunks/useCustomerRolePermissions.js +1 -1
  14. package/chunks/useCustomerRolePermissions.js.map +1 -1
  15. package/chunks/usePurchaseOrders.js +4 -0
  16. package/chunks/usePurchaseOrders.js.map +1 -0
  17. package/containers/CompanyPurchaseOrders.js +1 -1
  18. package/containers/CompanyPurchaseOrders.js.map +1 -1
  19. package/containers/CustomerPurchaseOrders.js +1 -1
  20. package/containers/CustomerPurchaseOrders.js.map +1 -1
  21. package/containers/PurchaseOrderApprovalRulesList/PurchaseOrderApprovalRulesList.d.ts +5 -0
  22. package/containers/PurchaseOrderApprovalRulesList/index.d.ts +19 -0
  23. package/containers/PurchaseOrderApprovalRulesList.d.ts +3 -0
  24. package/containers/PurchaseOrderApprovalRulesList.js +4 -0
  25. package/containers/PurchaseOrderApprovalRulesList.js.map +1 -0
  26. package/containers/PurchaseOrderConfirmation.js +1 -1
  27. package/containers/PurchaseOrderConfirmation.js.map +1 -1
  28. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  29. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  30. package/containers/index.d.ts +1 -0
  31. package/hooks/index.d.ts +1 -0
  32. package/hooks/useApprovalRulesList.d.ts +4 -0
  33. package/i18n/en_US.json.d.ts +96 -90
  34. package/mocks/index.d.ts +124 -0
  35. package/mocks/storybook/index.d.ts +1 -0
  36. package/package.json +1 -1
  37. package/render.js +2 -2
  38. package/render.js.map +1 -1
  39. package/types/components/purchaseOrdersTable.types.d.ts +6 -1
  40. package/types/containers/index.d.ts +1 -0
  41. package/types/containers/purchaseOrderApprovalRulesList.types.d.ts +15 -0
  42. package/types/hooks/index.d.ts +1 -0
  43. package/types/hooks/useApprovalRulesList.types.d.ts +29 -0
package/mocks/index.d.ts CHANGED
@@ -2829,4 +2829,128 @@ export declare const mockGetPurchaseOrdersFullDataSnakeCase: {
2829
2829
  };
2830
2830
  };
2831
2831
  };
2832
+ export declare const mockGetPurchaseOrderApprovalRulesSuccessSnakeCase: {
2833
+ data: {
2834
+ customer: {
2835
+ email: string;
2836
+ purchase_order_approval_rules: {
2837
+ total_count: number;
2838
+ page_info: {
2839
+ page_size: number;
2840
+ current_page: number;
2841
+ total_pages: number;
2842
+ };
2843
+ items: {
2844
+ uid: string;
2845
+ name: string;
2846
+ description: string;
2847
+ status: string;
2848
+ created_at: string;
2849
+ updated_at: string;
2850
+ created_by: string;
2851
+ applies_to_roles: {
2852
+ id: string;
2853
+ name: string;
2854
+ users_count: number;
2855
+ permissions: {
2856
+ id: string;
2857
+ sort_order: number;
2858
+ text: string;
2859
+ children: never[];
2860
+ }[];
2861
+ }[];
2862
+ approver_roles: {
2863
+ id: string;
2864
+ name: string;
2865
+ users_count: number;
2866
+ permissions: {
2867
+ id: string;
2868
+ sort_order: number;
2869
+ text: string;
2870
+ children: never[];
2871
+ }[];
2872
+ }[];
2873
+ condition: {
2874
+ attribute: string;
2875
+ operator: string;
2876
+ };
2877
+ }[];
2878
+ };
2879
+ };
2880
+ };
2881
+ };
2882
+ export declare const mockGetPurchaseOrderApprovalRulesErrorSnakeCase: {
2883
+ errors: {
2884
+ message: string;
2885
+ extensions: {
2886
+ category: string;
2887
+ };
2888
+ }[];
2889
+ };
2890
+ export declare const mockGetPurchaseOrderApprovalRulesEmptyDataSnakeCase: {
2891
+ data: {
2892
+ customer: {
2893
+ email: string;
2894
+ purchase_order_approval_rules: {
2895
+ total_count: number;
2896
+ page_info: {
2897
+ page_size: number;
2898
+ current_page: number;
2899
+ total_pages: number;
2900
+ };
2901
+ items: never[];
2902
+ };
2903
+ };
2904
+ };
2905
+ };
2906
+ export declare const mockGetPurchaseOrderApprovalRulesIncompleteDataSnakeCase: {
2907
+ data: {
2908
+ customer: {
2909
+ email: string;
2910
+ purchase_order_approval_rules: {
2911
+ total_count: number;
2912
+ page_info: {
2913
+ page_size: number;
2914
+ current_page: number;
2915
+ total_pages: number;
2916
+ };
2917
+ items: {
2918
+ uid: string;
2919
+ name: string;
2920
+ description: null;
2921
+ status: string;
2922
+ created_at: string;
2923
+ updated_at: string;
2924
+ created_by: null;
2925
+ applies_to_roles: never[];
2926
+ approver_roles: never[];
2927
+ condition: null;
2928
+ }[];
2929
+ };
2930
+ };
2931
+ };
2932
+ };
2933
+ export declare const mockGetPurchaseOrderApprovalRulesNullDataSnakeCase: {
2934
+ data: {
2935
+ customer: {
2936
+ email: string;
2937
+ purchase_order_approval_rules: null;
2938
+ };
2939
+ };
2940
+ };
2941
+ export declare const mockGetPurchaseOrderApprovalRulesMissingRulesSnakeCase: {
2942
+ data: {
2943
+ customer: {
2944
+ email: string;
2945
+ purchase_order_approval_rules: {
2946
+ total_count: number;
2947
+ page_info: {
2948
+ page_size: number;
2949
+ current_page: number;
2950
+ total_pages: number;
2951
+ };
2952
+ };
2953
+ };
2954
+ };
2955
+ };
2832
2956
  //# sourceMappingURL=index.d.ts.map
@@ -26,4 +26,5 @@
26
26
  * realistic mock responses for different scenarios.
27
27
  */
28
28
  export * from './purchase-orders';
29
+ export * from './approval-rules';
29
30
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-purchase-order", "version": "0.0.3-alpha1", "@dropins/tools": "1.5.1", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-purchase-order", "version": "0.0.4-alpha1", "@dropins/tools": "^1.6.0-alpha2", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*! Copyright 2025 Adobe
2
2
  All Rights Reserved. */
3
- (function(n,t){try{if(typeof document<"u"){const e=document.createElement("style"),o=t.styleId;for(const a in t.attributes)e.setAttribute(a,t.attributes[a]);e.setAttribute("data-dropin",o),e.appendChild(document.createTextNode(n));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(e);else{const a=document.querySelector('link[rel="stylesheet"], style');a?a.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})('.b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-display-3-font);letter-spacing:var(--type-display-3-letter-spacing)}.purchase-orders-confirmation-content__description,.purchase-orders-confirmation-content__order-link,.purchase-orders-confirmation-content__help-text{font:var(--type-details-caption-1-font);letter-spacing:var(--type-details-caption-1-letter-spacing);margin-bottom:var(--spacing-small)}',{styleId:"b2b-purchase-order"});
4
- import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as d}from"@dropins/tools/lib.js";import{useState as p,useEffect as n}from"@dropins/tools/preact-hooks.js";import{UIProvider as l}from"@dropins/tools/components.js";import{events as u}from"@dropins/tools/event-bus.js";const c={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval Rules",buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}} to {{to}} of {{total}} total",pageSizeLabel:{start:"Show",end:"per page"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",ruleType:"Rule Type",appliesTo:"Applies To",approver:"Approver",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",description:"Your Purchase Order request number is ",helpText:"A copy of this Purchase Order will be emailed to you shortly.",button:"Continue Shopping"}},i={PurchaseOrders:c},h={default:i},m=({children:o})=>{const[a,s]=p("en_US");return n(()=>{const e=u.on("locale",t=>{s(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(l,{lang:a,langDefinitions:h,children:o})},P=new d(r(m,{}));export{P as render};
3
+ (function(n,t){try{if(typeof document<"u"){const e=document.createElement("style"),o=t.styleId;for(const a in t.attributes)e.setAttribute(a,t.attributes[a]);e.setAttribute("data-dropin",o),e.appendChild(document.createTextNode(n));const r=document.querySelector('style[data-dropin="sdk"]');if(r)r.after(e);else{const a=document.querySelector('link[rel="stylesheet"], style');a?a.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})('.b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table a{cursor:pointer}.b2b-purchase-order-purchase-orders-table .purchase-orders-table__item--skeleton{max-width:200px}.purchase-orders-table__empty-state{text-align:center;color:var(--color-neutral-600);font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-table__pagination-wrapper{display:flex;justify-content:space-between;align-items:center}.purchase-orders-table__pagination-page-size{display:flex;align-items:center;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter,.purchase-orders-table__pagination-page-size{color:var(--color-neutral-800);font:var(--type-body-2-default-font);letter-spacing:var(--type-body-2-default-letter-spacing)}@media (max-width: 783px){.purchase-orders-table__pagination-wrapper{display:grid;grid-template-areas:"counter page-size" "pagination pagination";grid-template-columns:auto auto;gap:var(--spacing-small)}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination;justify-self:center}}@media (max-width: 600px){.purchase-orders-table__pagination-wrapper{grid-template-areas:"counter" "page-size" "pagination";grid-template-columns:1fr;justify-items:center}.purchase-orders-table__pagination-counter{grid-area:counter}.purchase-orders-table__pagination-page-size{grid-area:page-size}.purchase-orders-table__pagination{grid-area:pagination}}.purchase-orders-header{margin-bottom:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table-actions{display:flex;justify-content:space-between;align-items:center}.b2b-purchase-order-purchase-orders-table-actions__buttons{display:flex;gap:10px;justify-content:space-between}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}',{styleId:"b2b-purchase-order"});
4
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as d}from"@dropins/tools/lib.js";import{useState as l,useEffect as p}from"@dropins/tools/preact-hooks.js";import{UIProvider as u}from"@dropins/tools/components.js";import{events as n}from"@dropins/tools/event-bus.js";const i={customerPurchaseOrders:{containerTitle:"My purchase orders",noPurchaseOrders:"No purchase orders found."},companyPurchaseOrders:{containerTitle:"Company purchase orders",noPurchaseOrders:"No company purchase orders found."},requireApprovalPurchaseOrders:{containerTitle:"Requires my approval",noPurchaseOrders:"No purchase orders requiring my approval found."},approvalRulesList:{containerTitle:"Approval rules",emptyTitle:"No approval rules found",ariaLabel:{editRule:"Edit approval rule {{ruleName}}",deleteRule:"Delete approval rule {{ruleName}}",viewRule:"View approval rule {{ruleName}}"},buttons:{newRule:"Add New Rule"}},alertMessages:{header:{approve:"Approve Purchase Orders",reject:"Reject Purchase Orders",error:"Error"},description:{approve:"The selected purchase orders were approved successfully.",reject:"The selected purchase orders were rejected successfully.",error:"An error occurred while processing your request."}},purchaseOrdersTable:{noPurchaseOrders:{default:"No purchase orders found."},pagination:{status:"Items {{from}} to {{to}} of {{total}} total",pageSizeLabel:{start:"Show",end:"per page"}},loading:"Loading purchase orders...",actionView:"View",actionEdit:"Edit",actionDelete:"Delete",rulesStatus:{enabled:"Enabled",disabled:"Disabled"},ruleTypes:{grand_total:"Grand Total",number_of_skus:"Number of SKUs",any_item:"Any Item",all_items:"All Items"},appliesToAll:"All",statusOrder:{order_placed:"Order placed",order_failed:"Order failed",pending:"Pending",approved:"Approved",rejected:"Rejected",canceled:"Canceled",order_in_progress:"Order in progress",approval_required:"Approval required",approved_pending_payment:"Approved pending Payment"},tableColumns:{poNumber:"PO #",orderNumber:"Order #",createdDate:"Created",updatedDate:"Updated",createdBy:"Created By",status:"Status",total:"Total",action:"Action",ruleName:"Rule Name",ruleType:"Rule Type",appliesTo:"Applies To",approver:"Approver",selectAllAriaLabel:"Select all not approved purchase orders"}},purchaseOrderConfirmation:{title:"Your Purchase Order has been submitted for approval.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."}},c={PurchaseOrders:i},m={default:c},h=({children:a})=>{const[o,s]=l("en_US");return p(()=>{const e=n.on("locale",t=>{s(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(u,{lang:o,langDefinitions:m,children:a})},P=new d(r(h,{}));export{P as render};
5
5
  //# sourceMappingURL=render.js.map
package/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sources":["/@dropins/storefront-purchase-order/src/render/Provider.tsx","/@dropins/storefront-purchase-order/src/render/render.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { UIProvider } from '@adobe-commerce/elsie/components';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport en_US from '../i18n/en_US.json';\n\n// Langs\nconst langDefinitions = {\n default: en_US,\n};\n\ninterface CartProviderProps {\n children?: any;\n}\n\nexport const Provider: FunctionComponent<CartProviderProps> = ({\n children,\n}) => {\n const [lang, setLang] = useState<Lang>('en_US');\n\n // Events\n useEffect(() => {\n const localeEvent = events.on(\n 'locale',\n (locale: string) => {\n setLang(locale as Lang);\n },\n { eager: true }\n );\n return () => {\n localeEvent?.off();\n };\n }, []);\n\n return (\n <UIProvider lang={lang} langDefinitions={langDefinitions}>\n {children}\n </UIProvider>\n );\n};\n","import { Render } from '@adobe-commerce/elsie/lib';\nimport { Provider } from './Provider';\n\nexport const render = new Render(<Provider />);\n"],"names":["langDefinitions","en_US","Provider","children","lang","setLang","useState","useEffect","localeEvent","events","locale","jsx","UIProvider","render","Render"],"mappings":"m0EASMA,EAAkB,CACtB,QAASC,CACX,EAMaC,EAAiD,CAAC,CAC7D,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAe,OAAO,EAG9C,OAAAC,EAAU,IAAM,CACd,MAAMC,EAAcC,EAAO,GACzB,SACCC,GAAmB,CAClBL,EAAQK,CAAc,CACxB,EACA,CAAE,MAAO,EAAA,CAAK,EAEhB,MAAO,IAAM,CACXF,GAAA,MAAAA,EAAa,KACf,CACF,EAAG,CAAA,CAAE,EAGHG,EAACC,EAAA,CAAW,KAAAR,EAAY,gBAAAJ,EACrB,SAAAG,CAAA,CACH,CAEJ,ECtCaU,EAAS,IAAIC,EAAOH,EAACT,IAAS,CAAE"}
1
+ {"version":3,"file":"render.js","sources":["/@dropins/storefront-purchase-order/src/render/Provider.tsx","/@dropins/storefront-purchase-order/src/render/render.tsx"],"sourcesContent":["import { FunctionComponent } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { UIProvider } from '@adobe-commerce/elsie/components';\nimport { Lang } from '@adobe-commerce/elsie/i18n';\nimport { events } from '@adobe-commerce/event-bus';\n\nimport en_US from '../i18n/en_US.json';\n\n// Langs\nconst langDefinitions = {\n default: en_US,\n};\n\ninterface CartProviderProps {\n children?: any;\n}\n\nexport const Provider: FunctionComponent<CartProviderProps> = ({\n children,\n}) => {\n const [lang, setLang] = useState<Lang>('en_US');\n\n // Events\n useEffect(() => {\n const localeEvent = events.on(\n 'locale',\n (locale: string) => {\n setLang(locale as Lang);\n },\n { eager: true }\n );\n return () => {\n localeEvent?.off();\n };\n }, []);\n\n return (\n <UIProvider lang={lang} langDefinitions={langDefinitions}>\n {children}\n </UIProvider>\n );\n};\n","import { Render } from '@adobe-commerce/elsie/lib';\nimport { Provider } from './Provider';\n\nexport const render = new Render(<Provider />);\n"],"names":["langDefinitions","en_US","Provider","children","lang","setLang","useState","useEffect","localeEvent","events","locale","jsx","UIProvider","render","Render"],"mappings":"o+EASMA,EAAkB,CACtB,QAASC,CACX,EAMaC,EAAiD,CAAC,CAC7D,SAAAC,CACF,IAAM,CACJ,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAe,OAAO,EAG9C,OAAAC,EAAU,IAAM,CACd,MAAMC,EAAcC,EAAO,GACzB,SACCC,GAAmB,CAClBL,EAAQK,CAAc,CACxB,EACA,CAAE,MAAO,EAAA,CAAK,EAEhB,MAAO,IAAM,CACXF,GAAA,MAAAA,EAAa,KACf,CACF,EAAG,CAAA,CAAE,EAGHG,EAACC,EAAA,CAAW,KAAAR,EAAY,gBAAAJ,EACrB,SAAAG,CAAA,CACH,CAEJ,ECtCaU,EAAS,IAAIC,EAAOH,EAACT,IAAS,CAAE"}
@@ -4,6 +4,11 @@ import { PageSizeListProps, PaginationState } from '.';
4
4
  import { AlertMessageConfigType } from '../hooks';
5
5
 
6
6
  export type Column = {
7
+ label: string | VNode<HTMLAttributes<HTMLElement>>;
8
+ key: string;
9
+ ariaLabel?: string;
10
+ };
11
+ export type TableColumn = {
7
12
  label: string;
8
13
  key: string;
9
14
  ariaLabel?: string;
@@ -32,7 +37,7 @@ export interface PurchaseOrdersTableProps {
32
37
  skeletonRowCount?: number | string;
33
38
  footer?: VNode | string | null;
34
39
  header?: VNode | string | null;
35
- alertMessageConfig: AlertMessageConfigType;
40
+ alertMessageConfig?: AlertMessageConfigType;
36
41
  withWrapper?: boolean;
37
42
  }
38
43
  //# sourceMappingURL=purchaseOrdersTable.types.d.ts.map
@@ -1,5 +1,6 @@
1
1
  export * from './customerPurchaseOrders.types';
2
2
  export * from './companyPurchaseOrders.types';
3
3
  export * from './requireApprovalPurchaseOrders.types';
4
+ export * from './purchaseOrderApprovalRulesList.types';
4
5
  export * from './purchaseOrderConfirmationProps.types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { Column, PageSizeListProps, Row } from '../components';
2
+
3
+ export interface PurchaseOrderApprovalRulesListProps {
4
+ initialPageSize?: PageSizeListProps[];
5
+ routeCreateApprovalRule?: (id: string) => string;
6
+ routeEditApprovalRule?: (id: string) => string;
7
+ routeApprovalRuleDetails?: (id: string) => string;
8
+ setColumns?: (defaultColumns: Column[]) => Column[];
9
+ setRowsData?: (defaultRows: Row[]) => Row[];
10
+ className?: string;
11
+ withHeader?: boolean;
12
+ withWrapper?: boolean;
13
+ skeletonRowCount?: number;
14
+ }
15
+ //# sourceMappingURL=purchaseOrderApprovalRulesList.types.d.ts.map
@@ -1,2 +1,3 @@
1
1
  export * from './usePurchaseOrders.types';
2
+ export * from './useApprovalRulesList.types';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { CustomerRolePermissionsModel } from '../../data/models';
2
+ import { PageSizeListProps, PaginationState } from '../components/pagination.types';
3
+ import { Column, Row } from '../components/purchaseOrdersTable.types';
4
+
5
+ export interface UseApprovalRulesList {
6
+ initialPageSize: PageSizeListProps[];
7
+ permissions: CustomerRolePermissionsModel;
8
+ routeCreateApprovalRule?: (id: string) => string;
9
+ routeEditApprovalRule?: (id: string) => string;
10
+ routeApprovalRuleDetails?: (id: string) => string;
11
+ setColumns?: (defaultColumns: Column[]) => Column[];
12
+ setRowsData?: (defaultRows: Row[]) => Row[];
13
+ t: Record<string, string>;
14
+ }
15
+ export interface UseApprovalRulesListReturn {
16
+ loading: boolean;
17
+ totalCount: number;
18
+ tableConfig: {
19
+ columns: Column[];
20
+ rows: Row[];
21
+ };
22
+ paginationConfig: PaginationState;
23
+ pageSizeConfig: {
24
+ pageSizeOptionsList: PageSizeListProps[];
25
+ onChange: (event: Event) => void;
26
+ };
27
+ handleCreateUrl: (id: string, type: 'edit' | 'new' | 'view') => string;
28
+ }
29
+ //# sourceMappingURL=useApprovalRulesList.types.d.ts.map