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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/api/currencyInfo/currencyInfo.d.ts +24 -0
  2. package/api/currencyInfo/graphql/currencyInfo.graphql.d.ts +18 -0
  3. package/api/currencyInfo/index.d.ts +18 -0
  4. package/api/getPurchaseOrderApprovalRule/getPurchaseOrderApprovalRule.d.ts +4 -0
  5. package/api/getPurchaseOrderApprovalRule/graphql/getPurchaseOrderApprovalRule.graphql.d.ts +18 -0
  6. package/api/getPurchaseOrderApprovalRule/index.d.ts +18 -0
  7. package/api/getPurchaseOrderApprovalRules/getPurchaseOrderApprovalRules.d.ts +12 -0
  8. package/api/getPurchaseOrderApprovalRules/graphql/getPurchaseOrderApprovalRules.graphql.d.ts +18 -0
  9. package/api/getPurchaseOrderApprovalRules/index.d.ts +18 -0
  10. package/api/index.d.ts +3 -0
  11. package/api.js +11 -135
  12. package/api.js.map +1 -1
  13. package/chunks/FormLoader.js +4 -0
  14. package/chunks/FormLoader.js.map +1 -0
  15. package/chunks/FormLoader2.js +4 -0
  16. package/chunks/FormLoader2.js.map +1 -0
  17. package/chunks/PurchaseOrdersHeader.js +4 -0
  18. package/chunks/PurchaseOrdersHeader.js.map +1 -0
  19. package/chunks/PurchaseOrdersTableActions.js +1 -1
  20. package/chunks/PurchaseOrdersTableActions.js.map +1 -1
  21. package/chunks/case-converter.js +4 -0
  22. package/chunks/case-converter.js.map +1 -0
  23. package/chunks/currencyInfo.js +124 -0
  24. package/chunks/currencyInfo.js.map +1 -0
  25. package/chunks/fetch-error.js +4 -0
  26. package/chunks/fetch-error.js.map +1 -0
  27. package/chunks/fetch-graphql.js +4 -0
  28. package/chunks/fetch-graphql.js.map +1 -0
  29. package/chunks/getPurchaseOrderApprovalRule.js +45 -0
  30. package/chunks/getPurchaseOrderApprovalRule.js.map +1 -0
  31. package/chunks/getPurchaseOrderApprovalRules.js +75 -0
  32. package/chunks/getPurchaseOrderApprovalRules.js.map +1 -0
  33. package/chunks/getPurchaseOrders.js +5 -5
  34. package/chunks/getPurchaseOrders.js.map +1 -1
  35. package/chunks/pageSize.config.js +4 -0
  36. package/chunks/pageSize.config.js.map +1 -0
  37. package/chunks/transform-purchase-order-approval-rule.js +4 -0
  38. package/chunks/transform-purchase-order-approval-rule.js.map +1 -0
  39. package/chunks/useCustomerRolePermissions.js +1 -1
  40. package/chunks/useCustomerRolePermissions.js.map +1 -1
  41. package/chunks/usePurchaseOrders.js +4 -0
  42. package/chunks/usePurchaseOrders.js.map +1 -0
  43. package/components/ApprovalRuleDetailsContent/ApprovalRuleDetailsContent.d.ts +5 -0
  44. package/components/ApprovalRuleDetailsContent/index.d.ts +11 -0
  45. package/components/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  46. package/components/ApprovalRuleForm/blocks/ErrorMessage.d.ts +9 -0
  47. package/components/ApprovalRuleForm/blocks/Form.d.ts +40 -0
  48. package/components/ApprovalRuleForm/blocks/index.d.ts +19 -0
  49. package/components/ApprovalRuleForm/index.d.ts +11 -0
  50. package/components/FormLoader/FormLoader.d.ts +8 -0
  51. package/components/FormLoader/index.d.ts +19 -0
  52. package/components/index.d.ts +3 -0
  53. package/configs/approvalRuleForm.config.d.ts +74 -0
  54. package/configs/index.d.ts +2 -0
  55. package/containers/ApprovalRuleDetails/ApprovalRuleDetails.d.ts +5 -0
  56. package/containers/ApprovalRuleDetails/index.d.ts +11 -0
  57. package/containers/ApprovalRuleDetails.d.ts +3 -0
  58. package/containers/ApprovalRuleDetails.js +4 -0
  59. package/containers/ApprovalRuleDetails.js.map +1 -0
  60. package/containers/ApprovalRuleForm/ApprovalRuleForm.d.ts +5 -0
  61. package/containers/ApprovalRuleForm/index.d.ts +11 -0
  62. package/containers/ApprovalRuleForm.d.ts +3 -0
  63. package/containers/ApprovalRuleForm.js +4 -0
  64. package/containers/ApprovalRuleForm.js.map +1 -0
  65. package/containers/ApprovalRulesList/ApprovalRulesList.d.ts +5 -0
  66. package/containers/ApprovalRulesList/index.d.ts +19 -0
  67. package/containers/ApprovalRulesList.d.ts +3 -0
  68. package/containers/ApprovalRulesList.js +4 -0
  69. package/containers/ApprovalRulesList.js.map +1 -0
  70. package/containers/CompanyPurchaseOrders.js +1 -1
  71. package/containers/CompanyPurchaseOrders.js.map +1 -1
  72. package/containers/CustomerPurchaseOrders.js +1 -1
  73. package/containers/CustomerPurchaseOrders.js.map +1 -1
  74. package/containers/PurchaseOrderConfirmation.js +1 -1
  75. package/containers/PurchaseOrderConfirmation.js.map +1 -1
  76. package/containers/RequireApprovalPurchaseOrders.js +1 -1
  77. package/containers/RequireApprovalPurchaseOrders.js.map +1 -1
  78. package/containers/index.d.ts +3 -0
  79. package/data/models/purchase-order-approval-rule-model.d.ts +5 -0
  80. package/hooks/index.d.ts +3 -0
  81. package/hooks/useApprovalRuleDetails.d.ts +14 -0
  82. package/hooks/useApprovalRuleForm.d.ts +4 -0
  83. package/hooks/useApprovalRulesList.d.ts +4 -0
  84. package/i18n/en_US.json.d.ts +91 -1
  85. package/lib/cleanAndDeep.d.ts +8 -0
  86. package/lib/formValidation.d.ts +22 -0
  87. package/lib/index.d.ts +4 -0
  88. package/lib/transformToFormValues.d.ts +9 -0
  89. package/lib/updateFormFieldValue.d.ts +4 -0
  90. package/mocks/index.d.ts +191 -0
  91. package/mocks/storybook/events-data.d.ts +12 -0
  92. package/mocks/storybook/index.d.ts +3 -0
  93. package/package.json +1 -1
  94. package/render.js +3 -2
  95. package/render.js.map +1 -1
  96. package/types/components/approvalRuleDetailsContentProps.types.d.ts +9 -0
  97. package/types/components/approvalRuleForm.types.d.ts +12 -0
  98. package/types/components/index.d.ts +2 -0
  99. package/types/components/purchaseOrdersTable.types.d.ts +6 -1
  100. package/types/containers/approvalRuleDetailsProps.types.d.ts +8 -0
  101. package/types/containers/approvalRuleForm.types.d.ts +12 -0
  102. package/types/containers/approvalRulesList.types.d.ts +15 -0
  103. package/types/containers/index.d.ts +3 -0
  104. package/types/hooks/index.d.ts +3 -0
  105. package/types/hooks/useApprovalRuleDetails.types.d.ts +5 -0
  106. package/types/hooks/useApprovalRuleForm.types.d.ts +121 -0
  107. package/types/hooks/useApprovalRulesList.types.d.ts +29 -0
@@ -13,7 +13,13 @@ declare const _default: {
13
13
  "noPurchaseOrders": "No purchase orders requiring my approval found."
14
14
  },
15
15
  "approvalRulesList": {
16
- "containerTitle": "Approval Rules",
16
+ "containerTitle": "Approval rules",
17
+ "emptyTitle": "No approval rules found",
18
+ "ariaLabel": {
19
+ "editRule": "Edit approval rule {{ruleName}}",
20
+ "deleteRule": "Delete approval rule {{ruleName}}",
21
+ "viewRule": "View approval rule {{ruleName}}"
22
+ },
17
23
  "buttons": {
18
24
  "newRule": "Add New Rule"
19
25
  }
@@ -87,6 +93,90 @@ declare const _default: {
87
93
  "title": "Your Purchase Order has been submitted for approval.",
88
94
  "messagePrefix": "Your Purchase Order request number is",
89
95
  "messageSuffix": "A copy of this Purchase Order will be emailed to you shortly."
96
+ },
97
+ "approvalRuleForm": {
98
+ "headerText": "Purchase Order Approval Rule",
99
+ "titleAppliesTo": "Applies to",
100
+ "titleRuleType": "Rule Type",
101
+ "titleRequiresApprovalRole": "Requires Approval From",
102
+ "fields": {
103
+ "enabled": "Enabled",
104
+ "disabled": "Disabled",
105
+ "inputRuleName": {
106
+ "floatingLabel": "Rule Name",
107
+ "placeholder": "Rule Name"
108
+ },
109
+ "textAreaDescription": {
110
+ "label": "Description"
111
+ },
112
+ "appliesTo": {
113
+ "allUsers": "All Users",
114
+ "specificRoles": "Specific Roles"
115
+ },
116
+ "ruleTypeOptions": {
117
+ "grandTotal": "Grand Total",
118
+ "shippingInclTax": "Shipping Cost",
119
+ "numberOfSkus": "Number of SKUs"
120
+ },
121
+ "conditionOperators": {
122
+ "moreThan": "is more than",
123
+ "lessThan": "is less than",
124
+ "moreThanOrEqualTo": "is more than or equal to",
125
+ "lessThanOrEqualTo": "is less than or equal to"
126
+ },
127
+ "inputQuantity": {
128
+ "floatingLabel": "Enter Amount",
129
+ "placeholder": "Enter Amount"
130
+ },
131
+ "inputAmount": {
132
+ "floatingLabel": "Enter Amount",
133
+ "placeholder": "Enter Amount"
134
+ },
135
+ "buttons": {
136
+ "cancel": "Cancel",
137
+ "save": "Save"
138
+ }
139
+ },
140
+ "errorsMessages": {
141
+ "required": "This field is required.",
142
+ "quantity": "Quantity must be greater than 0.",
143
+ "amount": "Amount must be greater than 0.",
144
+ "approvers": "Please select at least one approver."
145
+ }
146
+ },
147
+ "approvalRuleDetails": {
148
+ "containerTitle": "View Approval Rule",
149
+ "buttons": {
150
+ "back": "Back to Rules List"
151
+ },
152
+ "fields": {
153
+ "ruleName": "Rule Name:",
154
+ "status": "Status:",
155
+ "description": "Description:",
156
+ "appliesTo": "Applies To:",
157
+ "requiresApprovalFrom": "Requires Approval From:",
158
+ "ruleType": "Rule Type:",
159
+ "amount": {
160
+ "label": " amount {{currency}} {{value}}"
161
+ },
162
+ "statusView": {
163
+ "enabled": "Enabled",
164
+ "disabled": "Disabled"
165
+ },
166
+ "condition": {
167
+ "attribute": {
168
+ "grand_total": "Grand Total",
169
+ "shipping_incl_tax": "Shipping Cost",
170
+ "number_of_skus": "Number of SKUs"
171
+ },
172
+ "operator": {
173
+ "more_than": "Is more than",
174
+ "less_than": "Is less than",
175
+ "more_than_or_equal_to": "Is more than or equal to",
176
+ "less_than_or_equal_to": "Is less than or equal to"
177
+ }
178
+ }
179
+ }
90
180
  }
91
181
  }
92
182
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Cleans form values and converts to snake_case for API submission
3
+ * - Handles role type logic (all_users vs specific_roles)
4
+ * - Removes empty condition values (amount or quantity)
5
+ * - Converts camelCase keys to snake_case
6
+ */
7
+ export declare function cleanAndDeep(formValues: Record<string, any>): any;
8
+ //# sourceMappingURL=cleanAndDeep.d.ts.map
@@ -0,0 +1,22 @@
1
+ import { FormValuesParams, ValidationApprovalFormError } from '../types/hooks';
2
+
3
+ /**
4
+ * Validates all form fields and returns validation errors
5
+ * This function contains the core validation logic for the approval rule form
6
+ */
7
+ export declare const validateFormFields: (values: FormValuesParams) => ValidationApprovalFormError;
8
+ /**
9
+ * Returns only the errors for fields that have been touched by the user
10
+ * This prevents showing validation errors for fields the user hasn't interacted with yet
11
+ */
12
+ export declare const getVisibleErrors: (allErrors: ValidationApprovalFormError, touchedFields: {
13
+ [key: string]: boolean;
14
+ }) => ValidationApprovalFormError;
15
+ /**
16
+ * Updates errors based on new validation results and touched fields
17
+ * This is used for incremental validation as the user fills out the form
18
+ */
19
+ export declare const updateValidationErrors: (newErrors: ValidationApprovalFormError, currentErrors: ValidationApprovalFormError, touchedFields: {
20
+ [key: string]: boolean;
21
+ }) => ValidationApprovalFormError;
22
+ //# sourceMappingURL=formValidation.d.ts.map
package/lib/index.d.ts CHANGED
@@ -4,4 +4,8 @@ export * from './isValidUrl';
4
4
  export * from './formatDate';
5
5
  export * from './case-converter';
6
6
  export * from './getRange';
7
+ export * from './updateFormFieldValue';
8
+ export * from './formValidation';
9
+ export * from './transformToFormValues';
10
+ export * from './cleanAndDeep';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { PurchaseOrderApprovalRuleModel } from '../data/models';
2
+ import { FormValuesParams } from '../types/hooks';
3
+
4
+ /**
5
+ * Transforms API response data to form values format
6
+ * Handles all the necessary data conversions and provides safe defaults
7
+ */
8
+ export declare const transformToFormValues: (data: PurchaseOrderApprovalRuleModel) => FormValuesParams;
9
+ //# sourceMappingURL=transformToFormValues.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { FormValuesParams } from '../types/hooks';
2
+
3
+ export declare const updateFormFieldValue: (formValues: FormValuesParams, key: string, value: string | number | boolean | string[]) => FormValuesParams;
4
+ //# sourceMappingURL=updateFormFieldValue.d.ts.map
package/mocks/index.d.ts CHANGED
@@ -2829,4 +2829,195 @@ export declare const mockGetPurchaseOrdersFullDataSnakeCase: {
2829
2829
  };
2830
2830
  };
2831
2831
  };
2832
+ export declare const mockCurrencyInfoSuccessResponse: {
2833
+ data: {
2834
+ currency: {
2835
+ base_currency_code: string;
2836
+ available_currency_codes: string[];
2837
+ };
2838
+ };
2839
+ errors: undefined;
2840
+ };
2841
+ export declare const mockCurrencyInfoEmptyCodesResponse: {
2842
+ data: {
2843
+ currency: {
2844
+ base_currency_code: string;
2845
+ available_currency_codes: never[];
2846
+ };
2847
+ };
2848
+ errors: undefined;
2849
+ };
2850
+ export declare const mockCurrencyInfoNullBaseResponse: {
2851
+ data: {
2852
+ currency: {
2853
+ base_currency_code: null;
2854
+ available_currency_codes: string[];
2855
+ };
2856
+ };
2857
+ errors: undefined;
2858
+ };
2859
+ export declare const mockCurrencyInfoMissingDataResponse: {
2860
+ data: {
2861
+ currency: {
2862
+ base_currency_code: string;
2863
+ available_currency_codes: undefined;
2864
+ };
2865
+ };
2866
+ errors: undefined;
2867
+ };
2868
+ export declare const mockCurrencyInfoErrorResponse: {
2869
+ data: {
2870
+ currency: {
2871
+ base_currency_code: string;
2872
+ available_currency_codes: never[];
2873
+ };
2874
+ };
2875
+ errors: {
2876
+ message: string;
2877
+ extensions: {
2878
+ category: string;
2879
+ };
2880
+ }[];
2881
+ };
2882
+ export declare const mockGetPurchaseOrderApprovalRulesSuccessSnakeCase: {
2883
+ data: {
2884
+ customer: {
2885
+ email: string;
2886
+ purchase_order_approval_rules: {
2887
+ total_count: number;
2888
+ page_info: {
2889
+ page_size: number;
2890
+ current_page: number;
2891
+ total_pages: number;
2892
+ };
2893
+ items: {
2894
+ uid: string;
2895
+ name: string;
2896
+ description: string;
2897
+ status: string;
2898
+ created_at: string;
2899
+ updated_at: string;
2900
+ created_by: string;
2901
+ applies_to_roles: {
2902
+ id: string;
2903
+ name: string;
2904
+ users_count: number;
2905
+ permissions: {
2906
+ id: string;
2907
+ sort_order: number;
2908
+ text: string;
2909
+ children: never[];
2910
+ }[];
2911
+ }[];
2912
+ approver_roles: {
2913
+ id: string;
2914
+ name: string;
2915
+ users_count: number;
2916
+ permissions: {
2917
+ id: string;
2918
+ sort_order: number;
2919
+ text: string;
2920
+ children: never[];
2921
+ }[];
2922
+ }[];
2923
+ condition: {
2924
+ attribute: string;
2925
+ operator: string;
2926
+ };
2927
+ }[];
2928
+ };
2929
+ };
2930
+ };
2931
+ };
2932
+ export declare const mockGetPurchaseOrderApprovalRulesErrorSnakeCase: {
2933
+ errors: {
2934
+ message: string;
2935
+ extensions: {
2936
+ category: string;
2937
+ };
2938
+ }[];
2939
+ };
2940
+ export declare const mockCurrencyInfoNoDataResponse: {
2941
+ data: null;
2942
+ errors: undefined;
2943
+ };
2944
+ export declare const mockCurrencyInfoNoCurrencyResponse: {
2945
+ data: {};
2946
+ errors: undefined;
2947
+ };
2948
+ export declare const mockCurrencyInfoPartialResponse: {
2949
+ data: {
2950
+ currency: {
2951
+ base_currency_code: string;
2952
+ available_currency_codes: undefined;
2953
+ };
2954
+ };
2955
+ errors: undefined;
2956
+ };
2957
+ export declare const mockGetPurchaseOrderApprovalRulesEmptyDataSnakeCase: {
2958
+ data: {
2959
+ customer: {
2960
+ email: string;
2961
+ purchase_order_approval_rules: {
2962
+ total_count: number;
2963
+ page_info: {
2964
+ page_size: number;
2965
+ current_page: number;
2966
+ total_pages: number;
2967
+ };
2968
+ items: never[];
2969
+ };
2970
+ };
2971
+ };
2972
+ };
2973
+ export declare const mockGetPurchaseOrderApprovalRulesIncompleteDataSnakeCase: {
2974
+ data: {
2975
+ customer: {
2976
+ email: string;
2977
+ purchase_order_approval_rules: {
2978
+ total_count: number;
2979
+ page_info: {
2980
+ page_size: number;
2981
+ current_page: number;
2982
+ total_pages: number;
2983
+ };
2984
+ items: {
2985
+ uid: string;
2986
+ name: string;
2987
+ description: null;
2988
+ status: string;
2989
+ created_at: string;
2990
+ updated_at: string;
2991
+ created_by: null;
2992
+ applies_to_roles: never[];
2993
+ approver_roles: never[];
2994
+ condition: null;
2995
+ }[];
2996
+ };
2997
+ };
2998
+ };
2999
+ };
3000
+ export declare const mockGetPurchaseOrderApprovalRulesNullDataSnakeCase: {
3001
+ data: {
3002
+ customer: {
3003
+ email: string;
3004
+ purchase_order_approval_rules: null;
3005
+ };
3006
+ };
3007
+ };
3008
+ export declare const mockGetPurchaseOrderApprovalRulesMissingRulesSnakeCase: {
3009
+ data: {
3010
+ customer: {
3011
+ email: string;
3012
+ purchase_order_approval_rules: {
3013
+ total_count: number;
3014
+ page_info: {
3015
+ page_size: number;
3016
+ current_page: number;
3017
+ total_pages: number;
3018
+ };
3019
+ };
3020
+ };
3021
+ };
3022
+ };
2832
3023
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,12 @@
1
+ export declare const mockPermissions: {
2
+ all: boolean;
3
+ 'Magento_Company::index': boolean;
4
+ 'Magento_Sales::all': boolean;
5
+ 'Magento_PurchaseOrder::all': boolean;
6
+ 'Magento_PurchaseOrder::view_purchase_orders': boolean;
7
+ 'Magento_PurchaseOrderRule::super_approve_purchase_order': boolean;
8
+ 'Magento_Company::user_management': boolean;
9
+ 'Magento_PurchaseOrderRule::view_approval_rules': boolean;
10
+ 'Magento_PurchaseOrderRule::manage_approval_rules': boolean;
11
+ };
12
+ //# sourceMappingURL=events-data.d.ts.map
@@ -25,5 +25,8 @@
25
25
  * These handlers intercept actual GraphQL requests and return
26
26
  * realistic mock responses for different scenarios.
27
27
  */
28
+ export { storybookHandlers, purchaseOrderHandlers, purchaseOrderLoadingHandlers, purchaseOrderEmptyHandlers, purchaseOrderErrorHandlers, purchaseOrderPaginationHandlers, companyPurchaseOrderPaginationHandlers, } from './purchase-orders';
29
+ export * from './events-data';
28
30
  export * from './purchase-orders';
31
+ export * from './approval-rules';
29
32
  //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-purchase-order", "version": "0.0.3-alpha2", "@dropins/tools": "1.5.1", "license": "SEE LICENSE IN LICENSE.md"}
1
+ {"name": "@dropins/storefront-purchase-order", "version": "0.0.4-alpha2", "@dropins/tools": "^1.6.0-alpha2", "license": "SEE LICENSE IN LICENSE.md"}
package/render.js CHANGED
@@ -1,5 +1,6 @@
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-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 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.",messagePrefix:"Your Purchase Order request number is",messageSuffix:"A copy of this Purchase Order will be emailed to you shortly."}},i={PurchaseOrders:c},m={default:i},h=({children:a})=>{const[o,s]=p("en_US");return n(()=>{const e=u.on("locale",t=>{s(t)},{eager:!0});return()=>{e==null||e.off()}},[]),r(l,{lang:o,langDefinitions:m,children:a})},P=new d(r(h,{}));export{P as render};
3
+ (function(t,a){try{if(typeof document<"u"){const e=document.createElement("style"),i=a.styleId;for(const r in a.attributes)e.setAttribute(r,a.attributes[r]);e.setAttribute("data-dropin",i),e.appendChild(document.createTextNode(t));const o=document.querySelector('style[data-dropin="sdk"]');if(o)o.after(e);else{const r=document.querySelector('link[rel="stylesheet"], style');r?r.before(e):document.head.append(e)}}}catch(e){console.error("dropin-styles (injectCodeFunction)",e)}})(`.dropin-skeleton{--row-gap-spacing: var(--spacing-medium);display:grid;grid-template-columns:1fr 1fr;gap:var(--row-gap-spacing)}.dropin-skeleton .dropin-skeleton--row__content{background:var(--color-neutral-300) linear-gradient(to right,var(--color-neutral-300) 0%,var(--color-neutral-100) 20%,var(--color-neutral-300) 40%,var(--color-neutral-300) 100%) no-repeat;animation:skeletonShimmer infinite 1.2s linear;border-radius:var(--shape-border-radius-2)}.dropin-skeleton__empty{background:none}.dropin-skeleton-row--multiline{--multiline-gap-spacing: var(--spacing-medium);display:grid;grid-auto-rows:max-content;gap:var(--multiline-gap-spacing)}.dropin-skeleton-row--full{grid-column:1 / -1}.dropin-skeleton-row svg{fill:var(--color-neutral-400);fill-opacity:.5;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:placeholderShimmer;animation-timing-function:linear}.dropin-skeleton-row__row-xsmall{height:32px}.dropin-skeleton-row__row-small{height:40px}.dropin-skeleton-row__row-medium{height:48px}.dropin-skeleton-row__row-large{height:56px}.dropin-skeleton-row__row-xlarge{height:72px}.dropin-skeleton-row__heading-xsmall{height:20px}.dropin-skeleton-row__heading-small{height:24px}.dropin-skeleton-row__heading-medium{height:32px}.dropin-skeleton-row__heading-large{height:40px}.dropin-skeleton-row__heading-xlarge{height:48px}@keyframes skeletonShimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes placeholderShimmer{0%{fill-opacity:.5}50%{fill-opacity:1}to{fill-opacity:.5}}@media only screen and (max-width: 600px){.dropin-skeleton{grid-template-columns:1fr}}
4
+ .b2b-purchase-order-purchase-orders-table{display:flex;flex-direction:column;gap:var(--spacing-medium)}.b2b-purchase-order-purchase-orders-table 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}.b2b-purchase-order-approval-rule-form form{display:flex;flex-direction:column;gap:var(--spacing-small)}.b2b-purchase-order-approval-rule-form__rule-condition,.b2b-purchase-order-approval-rule-form__approval-role,.b2b-purchase-order-approval-rule-form__rule-type,.b2b-purchase-order-approval-rule-form__applies-to,.b2b-purchase-order-approval-rule-form__rule-condition-container,.b2b-purchase-order-approval-rule-form__buttons{display:flex;flex-direction:column;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form form>label.dropin-checkbox{align-items:center}.b2b-purchase-order-approval-rule-form__rule-type select,.b2b-purchase-order-approval-rule-form__rule-condition-container select{min-height:56px}.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:row;position:relative;margin-bottom:var( --spacing-medium )}.b2b-purchase-order-approval-rule-form__rule-condition-container>div{position:relative}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:absolute;top:100%;left:0;right:0;z-index:10}.b2b-purchase-order-approval-rule-form__buttons{justify-content:flex-start;flex-direction:row}@media (max-width: 600px){.b2b-purchase-order-approval-rule-form__rule-condition-container{flex-direction:column;margin-bottom:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-form__rule-condition-container .error-message{position:static}.b2b-purchase-order-approval-rule-form form .dropin-multi-select{min-width:100%}}.error-message{font:var(--type-details-caption-2-font);letter-spacing:var(--type-details-caption-2-letter-spacing);padding-top:var(--spacing-xsmall);text-align:left;color:var(--color-alert-800)}.b2b-purchase-order-approval-rule-form .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:8px}.approval-rule-form-loader__section{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.approval-rule-form-loader__buttons{display:flex;gap:16px}.purchase-orders-confirmation-content__title{color:var(--color-neutral-800);font:var(--type-headline-1-font);letter-spacing:var(--type-headline-1-letter-spacing)}.purchase-orders-confirmation-content__message{font:var(--type-body-1-default-font);letter-spacing:var(--type-body-1-default-letter-spacing)}.purchase-orders-confirmation-content__link{color:var(--color-brand-500);font:var(--type-body-1-strong-font);letter-spacing:var(--type-body-1-strong-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__item{margin-bottom:var(--spacing-medium);display:grid;grid-template-columns:1fr;gap:var(--spacing-xsmall)}.b2b-purchase-order-approval-rule-details-content__label{font:var(--type-body-1-emphasized-font);letter-spacing:var(--type-body-1-emphasized-letter-spacing)}.b2b-purchase-order-approval-rule-details-content__value{display:block}.b2b-purchase-order-approval-rule-details-content__value ul{margin:0;padding-left:var(--spacing-medium)}.b2b-purchase-order-form-loader .dropin-skeleton{width:100%;display:flex;flex-direction:column;gap:8px}.b2b-purchase-order-form-loader .approval-rule-form-loader__section{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.b2b-purchase-order-form-loader .approval-rule-form-loader__buttons{display:flex;gap:16px}`,{styleId:"b2b-purchase-order"});
5
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{Render as l}from"@dropins/tools/lib.js";import{useState as n,useEffect as p}from"@dropins/tools/preact-hooks.js";import{UIProvider as u}from"@dropins/tools/components.js";import{events as i}from"@dropins/tools/event-bus.js";const d={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."},approvalRuleForm:{headerText:"Purchase Order Approval Rule",titleAppliesTo:"Applies to",titleRuleType:"Rule Type",titleRequiresApprovalRole:"Requires Approval From",fields:{enabled:"Enabled",disabled:"Disabled",inputRuleName:{floatingLabel:"Rule Name",placeholder:"Rule Name"},textAreaDescription:{label:"Description"},appliesTo:{allUsers:"All Users",specificRoles:"Specific Roles"},ruleTypeOptions:{grandTotal:"Grand Total",shippingInclTax:"Shipping Cost",numberOfSkus:"Number of SKUs"},conditionOperators:{moreThan:"is more than",lessThan:"is less than",moreThanOrEqualTo:"is more than or equal to",lessThanOrEqualTo:"is less than or equal to"},inputQuantity:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},inputAmount:{floatingLabel:"Enter Amount",placeholder:"Enter Amount"},buttons:{cancel:"Cancel",save:"Save"}},errorsMessages:{required:"This field is required.",quantity:"Quantity must be greater than 0.",amount:"Amount must be greater than 0.",approvers:"Please select at least one approver."}},approvalRuleDetails:{containerTitle:"View Approval Rule",buttons:{back:"Back to Rules List"},fields:{ruleName:"Rule Name:",status:"Status:",description:"Description:",appliesTo:"Applies To:",requiresApprovalFrom:"Requires Approval From:",ruleType:"Rule Type:",amount:{label:" amount {{currency}} {{value}}"},statusView:{enabled:"Enabled",disabled:"Disabled"},condition:{attribute:{grand_total:"Grand Total",shipping_incl_tax:"Shipping Cost",number_of_skus:"Number of SKUs"},operator:{more_than:"Is more than",less_than:"Is less than",more_than_or_equal_to:"Is more than or equal to",less_than_or_equal_to:"Is less than or equal to"}}}}},c={PurchaseOrders:d},m={default:c},h=({children:a})=>{const[o,t]=n("en_US");return p(()=>{const e=i.on("locale",s=>{t(s)},{eager:!0});return()=>{e==null||e.off()}},[]),r(u,{lang:o,langDefinitions:m,children:a})},g=new l(r(h,{}));export{g as render};
5
6
  //# 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":"8yEASMA,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":"slIASMA,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"}
@@ -0,0 +1,9 @@
1
+ import { VNode } from 'preact';
2
+
3
+ export interface ApprovalRuleDetailsContentProps {
4
+ formValues: {
5
+ label: string | VNode;
6
+ value: string | VNode;
7
+ }[];
8
+ }
9
+ //# sourceMappingURL=approvalRuleDetailsContentProps.types.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { FormValuesParams } from '../hooks';
2
+
3
+ export interface ApprovalRuleFormProps {
4
+ className?: string;
5
+ withHeader?: boolean;
6
+ withWrapper?: boolean;
7
+ approvalRuleID?: string;
8
+ routeApprovalRulesList?: () => string;
9
+ onSubmit?: (formValues: FormValuesParams) => Promise<void>;
10
+ onChange?: (formValues: FormValuesParams) => void;
11
+ }
12
+ //# sourceMappingURL=approvalRuleForm.types.d.ts.map
@@ -1,5 +1,7 @@
1
1
  export * from './purchaseOrdersTable.types';
2
2
  export * from './pagination.types';
3
3
  export * from './purchaseOrdersTableActions';
4
+ export * from './approvalRuleForm.types';
4
5
  export * from './purchaseOrderConfirmationContent.types';
6
+ export * from './approvalRuleDetailsContentProps.types';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -0,0 +1,8 @@
1
+ export interface ApprovalRuleDetailsProps {
2
+ withHeader?: boolean;
3
+ withWrapper?: boolean;
4
+ className?: string;
5
+ approvalRuleID?: string;
6
+ routeApprovalRulesList: () => string;
7
+ }
8
+ //# sourceMappingURL=approvalRuleDetailsProps.types.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { FormValuesParams } from '../hooks';
2
+
3
+ export interface ApprovalRuleFormProps {
4
+ withHeader?: boolean;
5
+ withWrapper?: boolean;
6
+ className?: string;
7
+ approvalRuleID?: string;
8
+ routeApprovalRulesList: () => string;
9
+ onSubmit?: (formValues: FormValuesParams) => Promise<void>;
10
+ onChange?: (formValues: FormValuesParams) => void;
11
+ }
12
+ //# sourceMappingURL=approvalRuleForm.types.d.ts.map
@@ -0,0 +1,15 @@
1
+ import { Column, PageSizeListProps, Row } from '../components';
2
+
3
+ export interface ApprovalRulesListProps {
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=approvalRulesList.types.d.ts.map
@@ -1,5 +1,8 @@
1
1
  export * from './customerPurchaseOrders.types';
2
2
  export * from './companyPurchaseOrders.types';
3
3
  export * from './requireApprovalPurchaseOrders.types';
4
+ export * from './approvalRuleForm.types';
5
+ export * from './approvalRulesList.types';
4
6
  export * from './purchaseOrderConfirmationProps.types';
7
+ export * from './approvalRuleDetailsProps.types';
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,5 @@
1
+ export * from './useApprovalRuleForm.types';
1
2
  export * from './usePurchaseOrders.types';
3
+ export * from './useApprovalRuleDetails.types';
4
+ export * from './useApprovalRulesList.types';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ export interface UseApprovalRuleDetailsProps {
2
+ approvalRuleID?: string;
3
+ routeApprovalRulesList: () => string;
4
+ }
5
+ //# sourceMappingURL=useApprovalRuleDetails.types.d.ts.map