@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
@@ -0,0 +1,121 @@
1
+ import { CompanyRole, CustomerRolePermissionsModel } from '../../data/models';
2
+
3
+ export interface FormState {
4
+ formValues: FormValuesParams;
5
+ isLoading: boolean;
6
+ submitError: string | null;
7
+ availableAppliesTo: CompanyRole[];
8
+ availableRequiresApprovalFrom: CompanyRole[];
9
+ errors: ValidationApprovalFormError;
10
+ touched: {
11
+ [key: string]: boolean;
12
+ };
13
+ currencyCodesList: Array<{
14
+ text: string;
15
+ value: string;
16
+ }>;
17
+ }
18
+ export type FormAction = {
19
+ type: 'SET_LOADING';
20
+ payload: boolean;
21
+ } | {
22
+ type: 'SET_SUBMIT_ERROR';
23
+ payload: string | null;
24
+ } | {
25
+ type: 'SET_FORM_VALUES';
26
+ payload: FormValuesParams;
27
+ } | {
28
+ type: 'SET_AVAILABLE_APPLIES_TO';
29
+ payload: CompanyRole[];
30
+ } | {
31
+ type: 'SET_AVAILABLE_APPROVERS';
32
+ payload: CompanyRole[];
33
+ } | {
34
+ type: 'SET_ERRORS';
35
+ payload: ValidationApprovalFormError;
36
+ } | {
37
+ type: 'SET_TOUCHED';
38
+ payload: {
39
+ [key: string]: boolean;
40
+ };
41
+ } | {
42
+ type: 'SET_CURRENCIES';
43
+ payload: Array<{
44
+ text: string;
45
+ value: string;
46
+ }>;
47
+ } | {
48
+ type: 'UPDATE_FIELD';
49
+ payload: {
50
+ key: string;
51
+ value: string | number | boolean | string[];
52
+ };
53
+ } | {
54
+ type: 'TOUCH_FIELD';
55
+ payload: string;
56
+ } | {
57
+ type: 'MARK_FIELDS_TOUCHED';
58
+ payload: {
59
+ [key: string]: boolean;
60
+ };
61
+ };
62
+ export type ValidationApprovalFormError = {
63
+ [key: string]: string;
64
+ };
65
+ export type ConditionAttributeType = 'GRAND_TOTAL' | 'SHIPPING_INCL_TAX' | 'NUMBER_OF_SKUS';
66
+ export type OperatorType = 'MORE_THAN' | 'LESS_THAN' | 'MORE_THAN_OR_EQUAL_TO' | 'LESS_THAN_OR_EQUAL_TO';
67
+ export type ConditionOperatorType = 'MORE_THAN' | 'LESS_THAN' | 'MORE_THAN_OR_EQUAL_TO' | 'LESS_THAN_OR_EQUAL_TO';
68
+ export type StatusType = 'ENABLED' | 'DISABLED';
69
+ export type MoneyParams = {
70
+ currency: string;
71
+ value: number | string;
72
+ };
73
+ export type FormValuesParams = {
74
+ status: StatusType;
75
+ name: string;
76
+ description: string;
77
+ roleType: string;
78
+ appliesTo: string[];
79
+ condition: {
80
+ quantity: number | string;
81
+ amount: MoneyParams;
82
+ attribute: ConditionAttributeType;
83
+ operator: ConditionOperatorType;
84
+ };
85
+ approvers: string[];
86
+ };
87
+ export interface UseApprovalRuleFormProps {
88
+ t: Record<string, string>;
89
+ approvalRuleID?: string;
90
+ routeApprovalRulesList?: () => string;
91
+ onSubmit?: (formValues: FormValuesParams) => Promise<void>;
92
+ onChange?: (formValues: FormValuesParams) => void;
93
+ permissions?: CustomerRolePermissionsModel;
94
+ loadingPermissions?: boolean;
95
+ }
96
+ export type PickerOption = {
97
+ text: string;
98
+ value: string;
99
+ };
100
+ export interface UseApprovalRuleFormReturn {
101
+ formValues: FormValuesParams;
102
+ ruleTypeOptions: PickerOption[];
103
+ conditionOperators: PickerOption[];
104
+ currencies: PickerOption[];
105
+ appliesToOptions: PickerOption[];
106
+ handleSetFormValues: (key: string, value: string | number | boolean | string[]) => void;
107
+ handleSubmit: () => void;
108
+ availableAppliesTo: CompanyRole[];
109
+ availableRequiresApprovalFrom: CompanyRole[];
110
+ errors: {
111
+ [key: string]: string;
112
+ };
113
+ touched: {
114
+ [key: string]: boolean;
115
+ };
116
+ handleFieldTouch: (fieldName: string) => void;
117
+ isLoading: boolean;
118
+ submitError: string | null;
119
+ formLoading: boolean;
120
+ }
121
+ //# sourceMappingURL=useApprovalRuleForm.types.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