@tap-payments/os-micro-frontend-shared 0.1.364-test.2 → 0.1.365-test.1

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.
@@ -76,7 +76,6 @@ export declare const closeIcon: string;
76
76
  export declare const dashedCheckIcon: string;
77
77
  export declare const deactivatedIcon: string;
78
78
  export declare const topUpIcon: string;
79
- export declare const AIOverviewIcon: string;
80
79
  export declare const deMaximizeIcon: string;
81
80
  export declare const pendingFlag: string;
82
81
  export declare const ibanIcon: string;
@@ -81,7 +81,6 @@ export const closeIcon = `${lightUrl}/close.svg`;
81
81
  export const dashedCheckIcon = `${lightUrl}/dashedCheckIcon.svg`;
82
82
  export const deactivatedIcon = `${lightUrl}/deactivatedIcon.svg`;
83
83
  export const topUpIcon = `${lightUrl}/topup.svg`;
84
- export const AIOverviewIcon = `${lightUrl}/AIOverviewIcon.svg`;
85
84
  export const deMaximizeIcon = `${appBaseUrl}/demaximize.svg`;
86
85
  export const pendingFlag = `${lightUrl}/pendingFlag.svg`;
87
86
  export const ibanIcon = `${lightUrl}/ibanIcon.svg`;
@@ -1,6 +1,23 @@
1
- export declare const filtersTypeMap: {
1
+ /**
2
+ * Maps report **source codes** (app or service)
3
+ * to the corresponding **backend report filter types**.
4
+ *
5
+ * Used as a translation layer between UI report grouping
6
+ * and backend report filtering.
7
+ *
8
+ * - Key: App code or service code
9
+ * - Value: One or more backend filter types
10
+ */
11
+ export declare const reportFilterTypesMap: {
2
12
  [x: string]: string[];
3
13
  };
14
+ /**
15
+ * Reports apps
16
+ *
17
+ * Defines apps shown in the reports app, with each service linked
18
+ * to its backend filter type (REPORT_FILTER_TYPES).
19
+ *
20
+ */
4
21
  export declare const REPORTS_APPS: {
5
22
  code: string;
6
23
  name: string;
@@ -1,39 +1,89 @@
1
1
  import { APP_CODES } from './apps';
2
2
  import { acceptanceAppIcon, billingAppIcon, payoutsAppIcon, walletAppIcon } from './assets';
3
- export const filtersTypeMap = {
4
- [APP_CODES.acceptance.services.charges.code]: ['CHARGE'],
5
- [APP_CODES.acceptance.services.authorization.code]: ['AUTHORIZE'],
6
- [APP_CODES.acceptance.services.refunds.code]: ['REFUND'],
7
- [APP_CODES.acceptance.services.chargeback.code]: ['CHARGEBACKS'],
8
- [APP_CODES.acceptance.services.destinations.code]: ['DESTINATIONS'],
9
- [APP_CODES.acceptance.code]: ['CHARGE', 'AUTHORIZE', 'REFUND', 'CHARGEBACKS', 'DESTINATIONS'],
10
- [APP_CODES.payouts.code]: ['PAYOUT', 'RETAILER_PAYOUT', 'MERCHANT_PAYOUT'],
11
- [APP_CODES.wallet.code]: ['STATEMENT', 'STATEMENT_SUMMARY'],
12
- [APP_CODES.billing.code]: ['INVOICE'],
13
- [APP_CODES.payouts.services.payouts.code]: ['PAYOUT'],
14
- [APP_CODES.wallet.services.merchants.functions.statement.code]: ['STATEMENT'],
15
- [APP_CODES.wallet.services.merchants.functions.summary.code]: ['STATEMENT_SUMMARY'],
16
- [APP_CODES.billing.services.invoices.code]: ['INVOICE'],
17
- [APP_CODES.payouts.services.merchantPayout.code]: ['MERCHANT_PAYOUT'],
18
- [APP_CODES.payouts.services.retailerPayout.code]: ['RETAILER_PAYOUT'],
3
+ /**
4
+ * Backend report filter types (used by reports APIs)
5
+ *
6
+ * Maps frontend report identifiers to the backend API filter types.
7
+ * Acts as the source of truth for all report types across apps/services
8
+ */
9
+ const REPORT_FILTER_TYPES = {
10
+ // Acceptance
11
+ CHARGE: 'CHARGE',
12
+ AUTHORIZE: 'AUTHORIZE',
13
+ REFUND: 'REFUND',
14
+ CHARGEBACKS: 'CHARGEBACKS',
15
+ DESTINATIONS: 'DESTINATIONS',
16
+ // Wallet
17
+ STATEMENT: 'STATEMENT',
18
+ STATEMENT_SUMMARY: 'STATEMENT_SUMMARY',
19
+ // Billing
20
+ INVOICE: 'INVOICE',
21
+ // Payouts
22
+ PAYOUT: 'PAYOUT',
23
+ MERCHANT_PAYOUT: 'MERCHANT_PAYOUT',
24
+ RETAILER_PAYOUT: 'RETAILER_PAYOUT',
19
25
  };
26
+ /**
27
+ * Maps report **source codes** (app or service)
28
+ * to the corresponding **backend report filter types**.
29
+ *
30
+ * Used as a translation layer between UI report grouping
31
+ * and backend report filtering.
32
+ *
33
+ * - Key: App code or service code
34
+ * - Value: One or more backend filter types
35
+ */
36
+ export const reportFilterTypesMap = {
37
+ // Acceptance
38
+ [APP_CODES.acceptance.services.charges.code]: [REPORT_FILTER_TYPES.CHARGE],
39
+ [APP_CODES.acceptance.services.authorization.code]: [REPORT_FILTER_TYPES.AUTHORIZE],
40
+ [APP_CODES.acceptance.services.refunds.code]: [REPORT_FILTER_TYPES.REFUND],
41
+ [APP_CODES.acceptance.services.chargeback.code]: [REPORT_FILTER_TYPES.CHARGEBACKS],
42
+ [APP_CODES.acceptance.services.destinations.code]: [REPORT_FILTER_TYPES.DESTINATIONS],
43
+ [APP_CODES.acceptance.code]: [
44
+ REPORT_FILTER_TYPES.CHARGE,
45
+ REPORT_FILTER_TYPES.AUTHORIZE,
46
+ REPORT_FILTER_TYPES.REFUND,
47
+ REPORT_FILTER_TYPES.CHARGEBACKS,
48
+ REPORT_FILTER_TYPES.DESTINATIONS,
49
+ ],
50
+ // Wallet
51
+ [APP_CODES.wallet.services.merchants.functions.statement.code]: [REPORT_FILTER_TYPES.STATEMENT],
52
+ [APP_CODES.wallet.services.merchants.functions.summary.code]: [REPORT_FILTER_TYPES.STATEMENT_SUMMARY],
53
+ [APP_CODES.wallet.code]: [REPORT_FILTER_TYPES.STATEMENT, REPORT_FILTER_TYPES.STATEMENT_SUMMARY],
54
+ // Billing
55
+ [APP_CODES.billing.services.invoices.code]: [REPORT_FILTER_TYPES.INVOICE],
56
+ [APP_CODES.billing.code]: [REPORT_FILTER_TYPES.INVOICE],
57
+ // Payouts
58
+ [APP_CODES.payouts.services.payouts.code]: [REPORT_FILTER_TYPES.PAYOUT],
59
+ [APP_CODES.payouts.services.merchantPayout.code]: [REPORT_FILTER_TYPES.MERCHANT_PAYOUT],
60
+ [APP_CODES.payouts.services.retailerPayout.code]: [REPORT_FILTER_TYPES.RETAILER_PAYOUT],
61
+ [APP_CODES.payouts.code]: [REPORT_FILTER_TYPES.PAYOUT, REPORT_FILTER_TYPES.MERCHANT_PAYOUT, REPORT_FILTER_TYPES.RETAILER_PAYOUT],
62
+ };
63
+ /**
64
+ * Reports apps
65
+ *
66
+ * Defines apps shown in the reports app, with each service linked
67
+ * to its backend filter type (REPORT_FILTER_TYPES).
68
+ *
69
+ */
20
70
  export const REPORTS_APPS = [
21
71
  {
22
72
  code: APP_CODES.billing.code,
23
73
  name: 'Billing',
24
74
  icon: billingAppIcon,
25
- services: [{ name: 'Invoices', code: 'INVOICE' }],
75
+ services: [{ name: 'Invoices', code: REPORT_FILTER_TYPES.INVOICE }],
26
76
  },
27
77
  {
28
78
  code: APP_CODES.acceptance.code,
29
79
  name: 'Acceptance',
30
80
  icon: acceptanceAppIcon,
31
81
  services: [
32
- { name: 'Authorisations', code: 'AUTHORIZE' },
33
- { name: 'Charges', code: 'CHARGE' },
34
- { name: 'Refunds', code: 'REFUND' },
35
- { name: 'Chargebacks', code: 'CHARGEBACKS' },
36
- { name: 'Destinations', code: 'DESTINATIONS' },
82
+ { name: 'Authorisations', code: REPORT_FILTER_TYPES.AUTHORIZE },
83
+ { name: 'Charges', code: REPORT_FILTER_TYPES.CHARGE },
84
+ { name: 'Refunds', code: REPORT_FILTER_TYPES.REFUND },
85
+ { name: 'Chargebacks', code: REPORT_FILTER_TYPES.CHARGEBACKS },
86
+ { name: 'Destinations', code: REPORT_FILTER_TYPES.DESTINATIONS },
37
87
  ],
38
88
  },
39
89
  {
@@ -41,8 +91,8 @@ export const REPORTS_APPS = [
41
91
  name: 'Wallet',
42
92
  icon: walletAppIcon,
43
93
  services: [
44
- { name: 'Aggregated Statement', code: 'STATEMENT_SUMMARY' },
45
- { name: 'Detailed Statement', code: 'STATEMENT' },
94
+ { name: 'Aggregated Statement', code: REPORT_FILTER_TYPES.STATEMENT_SUMMARY },
95
+ { name: 'Detailed Statement', code: REPORT_FILTER_TYPES.STATEMENT },
46
96
  ],
47
97
  },
48
98
  {
@@ -50,9 +100,9 @@ export const REPORTS_APPS = [
50
100
  name: 'Payouts',
51
101
  icon: payoutsAppIcon,
52
102
  services: [
53
- { name: 'Payouts', code: 'PAYOUT' },
54
- { name: 'Merchant Payouts', code: 'MERCHANT_PAYOUT' },
55
- { name: 'Retailer Payouts', code: 'RETAILER_PAYOUT' },
103
+ { name: 'Payouts', code: REPORT_FILTER_TYPES.PAYOUT },
104
+ { name: 'Merchant Payouts', code: REPORT_FILTER_TYPES.MERCHANT_PAYOUT },
105
+ { name: 'Retailer Payouts', code: REPORT_FILTER_TYPES.RETAILER_PAYOUT },
56
106
  ],
57
107
  },
58
108
  ];
@@ -1,18 +1,16 @@
1
1
  import { ColumnsView } from './column';
2
2
  import { Segment, SegmentCountry, SegmentUser, SelectedBrand, SelectedCountry, User } from './user';
3
- import { BusinessMerchant } from './merchant';
4
3
  import type { i18n } from 'i18next';
5
4
  import { Theme } from '@mui/material';
6
5
  import { CalenderMode } from './theme';
7
6
  import { Timezone } from './appConfig';
8
7
  import { Brand, Entity, TableMode } from './index.js';
9
8
  import { TextAndLang } from './common';
10
- export interface AccountAppPayload {
11
- disabledAccountDataFetching?: boolean;
12
- isAccountDetailsOpen: boolean;
13
- selectedMerchant?: BusinessMerchant;
9
+ export interface AppPayload {
10
+ selectedService: string;
11
+ services: Record<string, ServicePayload>;
14
12
  }
15
- export interface AppPayload extends Partial<AccountAppPayload> {
13
+ export interface ServicePayload {
16
14
  columnFilters?: Record<string, any>;
17
15
  filteredIds?: string[];
18
16
  dateRange?: [Date, Date];
@@ -21,6 +19,7 @@ export interface AppPayload extends Partial<AccountAppPayload> {
21
19
  isTextShown?: boolean;
22
20
  tableViews?: ColumnsView[];
23
21
  calendarTimezone?: number;
22
+ reportTypes?: string[];
24
23
  }
25
24
  export interface AppDetails {
26
25
  id: string;
@@ -43,7 +42,7 @@ export interface AppDetails {
43
42
  minWidth: number | string;
44
43
  minHeight: number | string;
45
44
  };
46
- payload?: Record<string, any> & AppPayload;
45
+ payload?: Record<string, any> & ServicePayload;
47
46
  toolbarIconUrl?: string;
48
47
  hideMaximizedApp?: boolean;
49
48
  hideMinimizeApp?: boolean;
@@ -99,7 +98,7 @@ export type MFWidgetBaseProps = {
99
98
  hasHeader: boolean;
100
99
  sandboxMode: boolean;
101
100
  initialServiceCode?: string;
102
- initialPayload?: Record<string, any> & AppPayload;
101
+ initialPayload?: Record<string, any> & ServicePayload;
103
102
  };
104
103
  user: User;
105
104
  segment: {
@@ -6,7 +6,7 @@ export declare const openNewAppAttrs: ({ appCode, serviceCode, sandboxMode, payl
6
6
  numberOfOpenedApps: number;
7
7
  segmentId: string;
8
8
  }) => {
9
- payload?: (Record<string, any> & import("../types/index.js").AppPayload) | undefined;
9
+ payload?: (Record<string, any> & import("../types/index.js").ServicePayload) | undefined;
10
10
  segmentId: string;
11
11
  appCode: string;
12
12
  serviceCode: string;
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@tap-payments/os-micro-frontend-shared",
3
3
  "description": "Shared components and utilities for Tap Payments micro frontends",
4
- "version": "0.1.364-test.2",
5
- "testVersion": 2,
4
+ "version": "0.1.365-test.1",
5
+ "testVersion": 1,
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "module": "build/index.js",
@@ -63,7 +63,7 @@
63
63
  "ts:build": "rm -rf build && tsc -p tsconfig.npm.json && tsc-alias -p tsconfig.npm.json",
64
64
  "push:local": "yarn ts:build && yalc publish --push",
65
65
  "push": "npm run ts:build && npm publish --access public",
66
- "push:test": "node scripts/increment-test-version.cjs && npm run ts:build && npm publish --access public --tag test && node scripts/restore-version.cjs",
66
+ "push:test": " npm publish --access public --tag test && node scripts/restore-version.cjs",
67
67
  "dev": "vite",
68
68
  "build": "tsc -b && vite build ",
69
69
  "prettier": "prettier --list-different \"src/**/*.{md,mdx,ts,js,tsx,jsx,json}\"",
@@ -164,4 +164,4 @@
164
164
  "publishConfig": {
165
165
  "registry": "https://registry.npmjs.org/"
166
166
  }
167
- }
167
+ }