@tap-payments/os-micro-frontend-shared 0.1.324 → 0.1.326

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.
@@ -1,14 +1,14 @@
1
1
  import { type SxProps } from '@mui/material/styles';
2
2
  type ColorPickerProps = {
3
- id: string;
4
3
  value?: string;
5
4
  onChange: (value: string) => void;
6
5
  onReset?: () => void;
7
6
  sx?: SxProps;
7
+ disabled?: boolean;
8
8
  options?: {
9
9
  hideReset?: boolean;
10
10
  disableAlpha?: boolean;
11
11
  };
12
12
  };
13
- declare const ColorPicker: ({ id, value, onChange, onReset, sx, options }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const ColorPicker: ({ value, onChange, onReset, sx, options, disabled }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
14
14
  export default ColorPicker;
@@ -4,7 +4,7 @@ import Box from '@mui/material/Box';
4
4
  import ClickAwayListener from '@mui/material/ClickAwayListener';
5
5
  import Stack from '@mui/material/Stack';
6
6
  import Typography from '@mui/material/Typography';
7
- import { StyledCloseButtonWrapper } from './style';
7
+ import { EditButton, StyledCloseButtonWrapper } from './style';
8
8
  import { closeXIcon } from '../../constants/index.js';
9
9
  import ColorPickerPanel from './ColorPickerPanel';
10
10
  import { Popper } from '@mui/material';
@@ -12,20 +12,24 @@ const DEFAULT_OPTIONS = {
12
12
  hideReset: false,
13
13
  disableAlpha: false,
14
14
  };
15
- const ColorPicker = ({ id, value = '#ffffff', onChange, onReset, sx, options = DEFAULT_OPTIONS }) => {
15
+ const ColorPicker = ({ value = '#ffffff', onChange, onReset, sx, options = DEFAULT_OPTIONS, disabled = false }) => {
16
16
  const [anchorEl, setAnchorEl] = useState(null);
17
17
  const { disableAlpha = false, hideReset = false } = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
18
18
  const rootRef = useRef(null);
19
19
  const handleOpen = useCallback(() => {
20
+ if (disabled)
21
+ return;
20
22
  setAnchorEl(rootRef.current);
21
- }, []);
23
+ }, [disabled]);
22
24
  const handleCancel = useCallback(() => {
25
+ if (disabled)
26
+ return;
23
27
  setAnchorEl(null);
24
- }, []);
28
+ }, [disabled]);
25
29
  const handleConfirm = useCallback((newValue) => {
26
30
  onChange(disableAlpha ? newValue.substring(0, 7) : newValue);
27
31
  setAnchorEl(null);
28
32
  }, [onChange, disableAlpha]);
29
- return (_jsx(ClickAwayListener, Object.assign({ onClickAway: () => setAnchorEl(null) }, { children: _jsxs(Stack, Object.assign({ ref: rootRef, bgcolor: "grey.400", borderRadius: "4px", p: "4px", pr: "12px", direction: "row", justifyContent: "space-between", spacing: 1, alignItems: "center", className: "color-picker", sx: sx }, { children: [_jsxs(Stack, Object.assign({ direction: "row", spacing: 1, alignItems: "center", className: "color-picker__controls-wrapper" }, { children: [_jsx(Box, { borderRadius: "5px", width: 32, height: 32, sx: { backgroundColor: value }, className: "color-picker__viewer" }), _jsxs(Box, Object.assign({ className: "color-picker__actions-wrapper" }, { children: [_jsx(Typography, Object.assign({ className: "color-picker__label", fontWeight: 500, fontSize: 9, color: "text.primary", textTransform: "uppercase" }, { children: value })), _jsx(Typography, Object.assign({ className: "color-picker__edit-btn", role: "button", onClick: handleOpen, htmlFor: id, fontWeight: 500, fontSize: 9, color: "info.dark", component: "label", sx: { textDecoration: 'underline', cursor: 'pointer' } }, { children: "Edit" }))] }))] })), !hideReset ? (_jsx(StyledCloseButtonWrapper, Object.assign({ className: "color-picker__close-btn", type: "button", onClick: onReset }, { children: _jsx(Box, { component: "img", src: closeXIcon, width: 10, height: 10 }) }))) : (_jsx("div", {})), _jsx(Popper, Object.assign({ anchorEl: anchorEl, open: !!anchorEl, placement: "top" }, { children: _jsx(ColorPickerPanel, { initialValue: value, onCancel: handleCancel, onConfirm: handleConfirm, disableAlpha: disableAlpha }) }))] })) })));
33
+ return (_jsx(ClickAwayListener, Object.assign({ onClickAway: () => setAnchorEl(null) }, { children: _jsxs(Stack, Object.assign({ ref: rootRef, bgcolor: "grey.400", borderRadius: "4px", p: "4px", pr: "12px", direction: "row", justifyContent: "space-between", spacing: 1, alignItems: "center", className: "color-picker", sx: sx }, { children: [_jsxs(Stack, Object.assign({ direction: "row", spacing: 1, alignItems: "center", className: "color-picker__controls-wrapper" }, { children: [_jsx(Box, { borderRadius: "5px", width: 32, height: 32, sx: { backgroundColor: value }, className: "color-picker__viewer" }), _jsxs(Box, Object.assign({ className: "color-picker__actions-wrapper" }, { children: [_jsx(Typography, Object.assign({ className: "color-picker__label", fontWeight: 500, fontSize: 9, color: "text.primary", textTransform: "uppercase" }, { children: value })), _jsx(EditButton, Object.assign({ className: "color-picker__edit-btn", onClick: handleOpen, disabled: disabled }, { children: "Edit" }))] }))] })), !hideReset ? (_jsx(StyledCloseButtonWrapper, Object.assign({ className: "color-picker__close-btn", type: "button", disabled: disabled, onClick: onReset }, { children: _jsx(Box, { component: "img", src: closeXIcon, width: 10, height: 10 }) }))) : (_jsx("div", {})), _jsx(Popper, Object.assign({ anchorEl: anchorEl, open: !!anchorEl, placement: "top" }, { children: _jsx(ColorPickerPanel, { initialValue: value, onCancel: handleCancel, onConfirm: handleConfirm, disableAlpha: disableAlpha }) }))] })) })));
30
34
  };
31
35
  export default ColorPicker;
@@ -6,6 +6,11 @@ export declare const StyledColorWidgetWrapper: import("@emotion/styled").StyledC
6
6
  export declare const Footer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
7
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
8
8
  }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
9
+ export declare const EditButton: import("@emotion/styled").StyledComponent<import("@mui/material/Typography").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
10
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
11
+ }, "width" | "minHeight" | "height" | "bottom" | "left" | "right" | "top" | "border" | "boxShadow" | "fontWeight" | "zIndex" | "alignContent" | "alignItems" | "alignSelf" | "boxSizing" | "color" | "columnGap" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontFamily" | "fontSize" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "justifyContent" | "justifyItems" | "justifySelf" | "letterSpacing" | "lineHeight" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "rowGap" | "textAlign" | "textOverflow" | "textTransform" | "visibility" | "whiteSpace" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "flex" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "typography" | "displayPrint" | "classes" | "align" | "className" | "style" | "children" | "gutterBottom" | "noWrap" | "paragraph" | "sx" | "variant" | "variantMapping"> & {
12
+ component?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
13
+ } & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
9
14
  export declare const ConfirmButton: import("@emotion/styled").StyledComponent<import("@mui/material/Button").ButtonOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & {
10
15
  ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
11
16
  }, "color" | "disabled" | "classes" | "className" | "style" | "tabIndex" | "children" | "sx" | "variant" | "size" | "fullWidth" | "href" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "startIcon"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
@@ -1,8 +1,10 @@
1
- import { styled } from '@mui/material/styles';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { styled, alpha } from '@mui/material/styles';
2
3
  import Box from '@mui/material/Box';
3
4
  import Button from '@mui/material/Button';
4
5
  import TextField from '@mui/material/TextField';
5
6
  import MenuList from '@mui/material/MenuList';
7
+ import Typography from '@mui/material/Typography';
6
8
  export const StyledCloseButtonWrapper = styled('button')({
7
9
  background: 'transparent',
8
10
  border: 'none',
@@ -14,6 +16,10 @@ export const StyledCloseButtonWrapper = styled('button')({
14
16
  display: 'flex',
15
17
  justifyContent: 'center',
16
18
  alignItems: 'center',
19
+ '&:disabled, &.Mui-disabled': {
20
+ opacity: 0.5,
21
+ cursor: 'not-allowed',
22
+ },
17
23
  });
18
24
  export const StyledColorWidgetWrapper = styled(Box)(({ theme }) => ({
19
25
  boxShadow: '0px 8px 30px rgba(0, 0, 0, 0.16)',
@@ -59,6 +65,24 @@ export const Footer = styled(Box)(() => ({
59
65
  gap: '8px',
60
66
  justifyContent: 'flex-end',
61
67
  }));
68
+ export const EditButton = styled((props) => _jsx(Typography, Object.assign({}, props, { component: "button" })))(({ theme }) => ({
69
+ fontWeight: 500,
70
+ fontSize: '9px',
71
+ color: theme.palette.info.dark,
72
+ textDecoration: 'underline',
73
+ cursor: 'pointer',
74
+ background: 'transparent',
75
+ border: 'none',
76
+ padding: 0,
77
+ margin: 0,
78
+ '&:disabled, &.Mui-disabled': {
79
+ color: alpha(theme.palette.info.dark, 0.5),
80
+ textDecoration: 'none',
81
+ },
82
+ '&:hover': {
83
+ textDecoration: 'none',
84
+ },
85
+ }));
62
86
  export const ConfirmButton = styled(Button)(({ theme }) => ({
63
87
  textTransform: 'capitalize',
64
88
  minWidth: 'auto',
@@ -997,9 +997,4 @@ export declare const APP_ICONS: {
997
997
  toolbarIconUrl: string;
998
998
  }[];
999
999
  export declare const excludedApps: string[];
1000
- export declare const MF_APPS_MAPPER: Readonly<{
1001
- TERMINALS: "TERMINALS";
1002
- BILLING: "BILLING";
1003
- ACCOUNT: "ACCOUNT";
1004
- BUSINESS: "BUSINESS";
1005
- }>;
1000
+ export declare const MF_APPS_MAPPER: ReadonlySet<string>;
@@ -481,9 +481,10 @@ export const APP_ICONS = [
481
481
  },
482
482
  ];
483
483
  export const excludedApps = ['login'];
484
- export const MF_APPS_MAPPER = Object.freeze({
485
- TERMINALS: 'TERMINALS',
486
- BILLING: 'BILLING',
487
- ACCOUNT: 'ACCOUNT',
488
- BUSINESS: 'BUSINESS',
489
- });
484
+ export const MF_APPS_MAPPER = new Set([
485
+ APP_CODES.terminals.code,
486
+ APP_CODES.billing.code,
487
+ APP_CODES.account.code,
488
+ APP_CODES.business.code,
489
+ APP_CODES.payouts.code,
490
+ ]);
@@ -1,5 +1,445 @@
1
+ import { AuthenticationStatus } from './index.js';
1
2
  export type RefundOptions = Array<{
2
3
  name: string;
3
4
  value?: number;
4
5
  currency?: string;
5
6
  }>;
7
+ export interface Refund {
8
+ id: string;
9
+ object: string;
10
+ live_mode: boolean;
11
+ customer_initiated: boolean;
12
+ api_version: string;
13
+ method: string;
14
+ created: number;
15
+ date: number;
16
+ status: 'REFUNDED' | 'PENDING' | 'IN_PROGRESS' | 'CANCELLED' | 'FAILED' | 'DECLINED' | 'RESTRICTED' | 'TIMEDOUT' | 'UNKNOWN' | 'ACCEPTED';
17
+ amount: number;
18
+ currency: string;
19
+ threeDSecure: boolean;
20
+ card_threeDSecure: boolean;
21
+ save_card: boolean;
22
+ merchant_id: string;
23
+ product: string;
24
+ statement_descriptor: string;
25
+ description: string;
26
+ metadata: Record<string, string>;
27
+ transaction: {
28
+ authorization_id: string;
29
+ timezone: string;
30
+ date: {
31
+ created: number;
32
+ completed: number;
33
+ };
34
+ };
35
+ reference: {
36
+ id: string;
37
+ track: string;
38
+ payment: string;
39
+ gateway: string;
40
+ acquirer: string;
41
+ transaction: string;
42
+ order: string;
43
+ invoice?: string;
44
+ trace_id?: string;
45
+ };
46
+ response: {
47
+ code: string;
48
+ message: string;
49
+ };
50
+ receipt: {
51
+ id: string;
52
+ email: boolean;
53
+ sms: boolean;
54
+ };
55
+ acquirer: {
56
+ id: string;
57
+ response: {
58
+ code: string;
59
+ message: string;
60
+ };
61
+ name: string;
62
+ mid: string;
63
+ };
64
+ gateway: {
65
+ id: string;
66
+ name: string;
67
+ response: {
68
+ code: string;
69
+ message: string;
70
+ };
71
+ };
72
+ redirect: {
73
+ status: string;
74
+ url: string;
75
+ };
76
+ post: {
77
+ status: string;
78
+ };
79
+ payouts: {
80
+ amount: number;
81
+ currency: string;
82
+ count: number;
83
+ payout: Array<{
84
+ date: number;
85
+ by: string;
86
+ reference_id: string;
87
+ id: string;
88
+ amount: number;
89
+ created: number;
90
+ }>;
91
+ };
92
+ net: {
93
+ transaction_currency: string;
94
+ transaction_amount: number;
95
+ currency: string;
96
+ currency_rate: number;
97
+ fee: number;
98
+ amount: number;
99
+ };
100
+ fees: {
101
+ amount: number;
102
+ currency: string;
103
+ count: number;
104
+ fee: Array<{
105
+ id: string;
106
+ type: string;
107
+ by: string;
108
+ on: string;
109
+ amount: number;
110
+ currency: string;
111
+ }>;
112
+ };
113
+ auto_reversed: boolean;
114
+ security: {
115
+ threeDSecure: {
116
+ id: string;
117
+ status: string;
118
+ };
119
+ };
120
+ destinations: {
121
+ reverse_destinations: boolean;
122
+ amount: number;
123
+ currency: string;
124
+ count: number;
125
+ destination: Array<{
126
+ id: string;
127
+ amount: number;
128
+ currency: string;
129
+ reverse_transfer: {
130
+ id: string;
131
+ amount: number;
132
+ currency: string;
133
+ };
134
+ }>;
135
+ };
136
+ refunds: {
137
+ refund: Array<{
138
+ id: string;
139
+ amount: number;
140
+ currency: string;
141
+ created: number;
142
+ date: number;
143
+ status: 'REFUNDED' | 'PENDING';
144
+ }>;
145
+ };
146
+ topup: {
147
+ id: string;
148
+ amount: number;
149
+ currency: string;
150
+ };
151
+ authenticate: {
152
+ id: string;
153
+ object: string;
154
+ type: string;
155
+ value: string;
156
+ by: string;
157
+ status: string;
158
+ created: string;
159
+ authenticated: string;
160
+ count: number;
161
+ retry_attempt: number;
162
+ message: string;
163
+ };
164
+ summary?: {
165
+ charge_amount: number;
166
+ refund_amount: number;
167
+ refunded_count: number;
168
+ remaing_amount: number;
169
+ remaing_percentage: number;
170
+ };
171
+ balance: {
172
+ status?: 'PAID_OUT' | 'SETTLED' | 'PENDING';
173
+ payout: {
174
+ id: string;
175
+ scheduled: number;
176
+ activities: [
177
+ {
178
+ object: string;
179
+ status: 'PAID_OUT' | 'PENDING';
180
+ date: number;
181
+ }
182
+ ];
183
+ };
184
+ settlement: {
185
+ id: string;
186
+ scheduled: number;
187
+ activities: [
188
+ {
189
+ object: string;
190
+ status: 'SETTLED' | 'PENDING';
191
+ date: number;
192
+ }
193
+ ];
194
+ };
195
+ };
196
+ charge: {
197
+ id: string;
198
+ refunds: {
199
+ refund: Array<{
200
+ id: string;
201
+ amount: number;
202
+ currency: string;
203
+ created: number;
204
+ date: number;
205
+ status: 'REFUNDED' | 'PENDING';
206
+ }>;
207
+ };
208
+ authentication: {
209
+ acsEci: string;
210
+ status: AuthenticationStatus;
211
+ data: {
212
+ asc_eci: string;
213
+ type: string;
214
+ };
215
+ };
216
+ metadata: Record<string, string>;
217
+ receipt: {
218
+ id: string;
219
+ };
220
+ merchant: {
221
+ id: string;
222
+ legacy_id: string;
223
+ country: string;
224
+ name: string;
225
+ };
226
+ reference: {
227
+ id: string;
228
+ track: string;
229
+ payment: string;
230
+ gateway: string;
231
+ acquirer: string;
232
+ transaction: string;
233
+ order: string;
234
+ invoice?: string;
235
+ trace_id?: string;
236
+ };
237
+ flags: {
238
+ flag: Array<{
239
+ id: string;
240
+ status: 'OPEN' | 'CLEARED';
241
+ amount: number;
242
+ created: number;
243
+ note: string;
244
+ ishold: boolean;
245
+ }>;
246
+ };
247
+ amount: number;
248
+ currency: string;
249
+ customer_initiated: boolean;
250
+ source: {
251
+ object: string;
252
+ type: string;
253
+ payment_type: string;
254
+ payment_method: 'MASTERCARD' | 'VISA' | 'APPLE_PAY';
255
+ channel: string;
256
+ id: string;
257
+ region: 'Local' | 'Global' | 'Regional';
258
+ };
259
+ issuer?: {
260
+ id: string;
261
+ name: string;
262
+ country: string;
263
+ region: 'G' | 'L' | 'R';
264
+ issuer_region: {
265
+ code: string;
266
+ name: string;
267
+ };
268
+ };
269
+ device?: {
270
+ type: 'DESKTOP' | 'PHONE' | 'TABLET';
271
+ id: string;
272
+ timezone: string;
273
+ location: {
274
+ ip: string;
275
+ country: string;
276
+ region: {
277
+ code: 'G' | 'L' | 'R';
278
+ name: 'Global' | 'Local' | 'Regional';
279
+ };
280
+ };
281
+ };
282
+ exchange?: {
283
+ capture?: {
284
+ amount: number;
285
+ currency: string;
286
+ };
287
+ settlement?: {
288
+ amount: number;
289
+ currency: string;
290
+ rate: number;
291
+ };
292
+ };
293
+ balance: {
294
+ status?: 'PAID_OUT' | 'SETTLED' | 'PENDING';
295
+ payout: {
296
+ id: string;
297
+ scheduled: number;
298
+ activities: [
299
+ {
300
+ object: string;
301
+ status: 'PAID_OUT' | 'PENDING';
302
+ date: number;
303
+ }
304
+ ];
305
+ };
306
+ settlement: {
307
+ id: string;
308
+ scheduled: number;
309
+ activities: [
310
+ {
311
+ object: string;
312
+ status: 'SETTLED' | 'PENDING';
313
+ date: number;
314
+ }
315
+ ];
316
+ };
317
+ };
318
+ order: {
319
+ id: string;
320
+ currency: string;
321
+ amount: number;
322
+ items_count?: number;
323
+ items?: object[];
324
+ };
325
+ customer: {
326
+ country: {
327
+ code: string;
328
+ name: string;
329
+ };
330
+ id: string;
331
+ first_name: string;
332
+ last_name: string;
333
+ email: string;
334
+ phone: {
335
+ country_code: string;
336
+ number: string;
337
+ };
338
+ region: {
339
+ name: 'Local' | 'Global' | 'Regional';
340
+ code: 'R' | 'G' | 'L';
341
+ };
342
+ timezone: string;
343
+ };
344
+ payment_agreement?: {
345
+ id: string;
346
+ type: 'UNSCHEDULED' | 'SCHEDULED_INSTALLMENT' | 'SCHEDULED_SUBSCRIPTION' | 'SCHEDULED_BILLING';
347
+ contract?: {
348
+ id: string;
349
+ type: 'ORDER' | 'SAVED_CARD' | 'SUBSCRIPTION' | 'INSTALLMENT';
350
+ period: {
351
+ start_date: number;
352
+ end_date: number;
353
+ auto_renewal: boolean;
354
+ };
355
+ };
356
+ variable_amount?: {
357
+ id: string;
358
+ maximum_amount: number;
359
+ };
360
+ scheduled_payments?: {
361
+ id: string;
362
+ count: number;
363
+ frequency: {
364
+ period: 'MINUTES' | 'HOURS' | 'DAYS' | 'MONTHS';
365
+ count: number;
366
+ };
367
+ };
368
+ total_payments_count?: number;
369
+ };
370
+ payment: {
371
+ type: string;
372
+ account: string;
373
+ method: string;
374
+ scheme: string;
375
+ authentication?: '3DS' | 'Non-3DS';
376
+ card: string;
377
+ wallet: string;
378
+ };
379
+ card: {
380
+ object: string;
381
+ first_six: string;
382
+ first_eight: string;
383
+ scheme: string;
384
+ brand: string;
385
+ last_four: string;
386
+ name: string;
387
+ expiry: {
388
+ month: string;
389
+ year: string;
390
+ };
391
+ registered: boolean;
392
+ };
393
+ transaction: {
394
+ authorization_id: string;
395
+ timezone: string;
396
+ created: string | number;
397
+ expiry: {
398
+ period: number;
399
+ type: string;
400
+ };
401
+ asynchronous: boolean;
402
+ amount: number;
403
+ currency: string;
404
+ order: {
405
+ reference: string;
406
+ store_url: string;
407
+ };
408
+ };
409
+ };
410
+ merchant: {
411
+ id: string;
412
+ legacy_id: string;
413
+ retailer: {
414
+ id: string;
415
+ };
416
+ };
417
+ reason: string;
418
+ device?: {
419
+ type: 'DESKTOP' | 'PHONE' | 'TABLET';
420
+ id: string;
421
+ timezone: string;
422
+ location: {
423
+ ip: string;
424
+ country: string;
425
+ region: {
426
+ code: 'G' | 'L' | 'R';
427
+ name: 'Global' | 'Local' | 'Regional';
428
+ };
429
+ };
430
+ };
431
+ card: {
432
+ object: string;
433
+ first_six: string;
434
+ first_eight: string;
435
+ scheme: string;
436
+ brand: string;
437
+ last_four: string;
438
+ };
439
+ request_body?: Record<string, unknown>;
440
+ user?: {
441
+ id: string;
442
+ name: string;
443
+ channel: string;
444
+ };
445
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
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.324",
4
+ "version": "0.1.326",
5
5
  "testVersion": 0,
6
6
  "type": "module",
7
7
  "main": "build/index.js",