@tap-payments/os-micro-frontend-shared 0.1.209-test.18 → 0.1.210-datafix

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.
@@ -5,7 +5,7 @@ import type { CalenderMode, Timezone } from '../../types/index.js';
5
5
  import { RangeDatepickerProps } from './components/RangeDatepicker';
6
6
  interface RangeCalendarProps {
7
7
  defaultDate: [Date, Date];
8
- onDateChange: (date: [Date, Date]) => void;
8
+ onDateChange: (date: [Date, Date], timezoneOffset?: number) => void;
9
9
  mode?: CalenderMode;
10
10
  onCalendarModeSwitch?: (mode: CalenderMode) => void;
11
11
  numberOfMonths?: number;
@@ -15,6 +15,7 @@ interface RangeCalendarProps {
15
15
  onCalendarGroupChange?: (value: string) => void;
16
16
  groupBy?: string;
17
17
  timezone: Timezone | null;
18
+ onChangeTimezoneHistory?: (timezone: Timezone) => void;
18
19
  onChangeTimezone?: (timezone: Timezone) => void;
19
20
  defaultTimezone: Timezone;
20
21
  browserTimezone: string;
@@ -23,5 +24,5 @@ interface RangeCalendarProps {
23
24
  popperProps?: Partial<PopperProps>;
24
25
  rangeDatePickerProps?: Partial<RangeDatepickerProps>;
25
26
  }
26
- declare function RangeCalender({ defaultDate, onDateChange, mode, onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, onChangeTimezone, defaultTimezone, browserTimezone, renderCalendarButton, mainSx, popperProps, rangeDatePickerProps, }: RangeCalendarProps): import("react/jsx-runtime").JSX.Element;
27
+ declare function RangeCalender({ defaultDate, onDateChange, mode, onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, onChangeTimezoneHistory, onChangeTimezone, defaultTimezone, browserTimezone, renderCalendarButton, mainSx, popperProps, rangeDatePickerProps, }: RangeCalendarProps): import("react/jsx-runtime").JSX.Element;
27
28
  export default RangeCalender;
@@ -15,7 +15,7 @@ import CustomTimezone from './components/Timezone';
15
15
  import { ButtonsWrapper, CalenderWrapper, CancelButton, FiltersArea, Footer, Main, OkayButton, SelectedDate, TimeZone, Settings } from './style';
16
16
  import CustomTimePicker from './components/CustomTimepicker';
17
17
  import { getDateRange, getEndOfDate, getStartOfDate } from './utils';
18
- function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, onChangeTimezone, defaultTimezone, browserTimezone, renderCalendarButton, mainSx, popperProps, rangeDatePickerProps, }) {
18
+ function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, onChangeTimezoneHistory, onChangeTimezone, defaultTimezone, browserTimezone, renderCalendarButton, mainSx, popperProps, rangeDatePickerProps, }) {
19
19
  const [dates, setDates] = useState(getDateRange(defaultDate));
20
20
  const [values, setValues] = useState(dates);
21
21
  const [selectedTimezone, setSelectedTimezone] = useState(timezone);
@@ -43,19 +43,26 @@ function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalend
43
43
  useEffect(() => {
44
44
  setSelectedTimezone(timezone);
45
45
  }, [timezone, open]);
46
+ const updateTimezone = (newTimezone) => {
47
+ onChangeTimezone === null || onChangeTimezone === void 0 ? void 0 : onChangeTimezone(newTimezone);
48
+ onChangeTimezoneHistory === null || onChangeTimezoneHistory === void 0 ? void 0 : onChangeTimezoneHistory(newTimezone);
49
+ };
50
+ const formatDate = (date) => new Date(date.toDate().toLocaleString('en-us', {
51
+ timeZone: selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.timezone,
52
+ }));
46
53
  const submitDate = () => {
47
54
  setDates(values);
48
55
  onCloseCalender();
49
56
  let newDates;
50
57
  if (values[0].dayOfYear === values[1].dayOfYear) {
51
- newDates = [values[0], values[1]];
58
+ newDates = [formatDate(values[0]), formatDate(values[1])];
52
59
  }
53
60
  else {
54
- newDates = [getStartOfDate(values[0]), getEndOfDate(values[1])];
61
+ newDates = [formatDate(getStartOfDate(values[0])), formatDate(getEndOfDate(values[1]))];
55
62
  }
56
- onDateChange([newDates[0].toDate(), newDates[1].toDate()]);
63
+ onDateChange([newDates[0], newDates[1]], timezone === null || timezone === void 0 ? void 0 : timezone.offset);
57
64
  onCalendarGroupChange === null || onCalendarGroupChange === void 0 ? void 0 : onCalendarGroupChange(selectedGroupBy || 'day');
58
- onChangeTimezone === null || onChangeTimezone === void 0 ? void 0 : onChangeTimezone(selectedTimezone);
65
+ updateTimezone(selectedTimezone);
59
66
  };
60
67
  const getSelectedDate = () => {
61
68
  const startSelectedTime = dates[0].format('MMM D');
@@ -7,6 +7,7 @@ import TimePicker, { convertTo12Hour, maxHour } from '../../../Timepicker';
7
7
  import { AllDayStyled, TimeArea, TimePickerWrapper, TimeAreaInner } from './style';
8
8
  import { getEndOfDate, getStartOfDate } from '../../utils';
9
9
  function CustomTimePicker({ values, setValues }) {
10
+ var _a, _b;
10
11
  const { t } = useTranslation();
11
12
  const startDate = new DateObject(values[0]);
12
13
  const endDate = new DateObject(values[1]);
@@ -30,10 +31,10 @@ function CustomTimePicker({ values, setValues }) {
30
31
  hour: convertTo12Hour(startDate.hour),
31
32
  minute: startDate.minute,
32
33
  period: startDate.hour >= maxHour ? 'PM' : 'AM',
33
- }, size: "small", onChange: onChangeStartTime, enableRealTimeChange: true }, `${values[0].toString()}-start`), _jsx(TimePicker, { defaultTime: {
34
+ }, size: "small", onChange: onChangeStartTime, enableRealTimeChange: true }, `${(_a = values[0]) === null || _a === void 0 ? void 0 : _a.toString()}-start`), _jsx(TimePicker, { defaultTime: {
34
35
  hour: convertTo12Hour(endDate.hour),
35
36
  minute: endDate.minute,
36
37
  period: endDate.hour >= maxHour ? 'PM' : 'AM',
37
- }, size: "small", onChange: onChangeEndTime, enableRealTimeChange: true }, `${values[1].toString()}-end`)] }))] }) }));
38
+ }, size: "small", onChange: onChangeEndTime, enableRealTimeChange: true }, `${(_b = values[1]) === null || _b === void 0 ? void 0 : _b.toString()}-end`)] }))] }) }));
38
39
  }
39
40
  export default CustomTimePicker;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useMemo, useState } from 'react';
3
3
  import Popper from '@mui/material/Popper';
4
- import { COUNTRIES_TIMEZONES, entityTimezoneIcon, smallBlueCheckIcon } from '../../../../../constants/index.js';
4
+ import { entityTimezoneIcon, smallBlueCheckIcon } from '../../../../../constants/index.js';
5
5
  import { CountryFlag } from '../../../../index.js';
6
6
  import { Label, Space, TimezoneDropdown, TimezoneElement } from '../style';
7
7
  export default function EntitiesTimezone({ selectedTimezone, onChange, defaultTimezone, getTimezoneByCountryCode, segmentCountries, }) {
@@ -19,7 +19,7 @@ export default function EntitiesTimezone({ selectedTimezone, onChange, defaultTi
19
19
  onChange(tz);
20
20
  };
21
21
  const availableTimezones = useMemo(() => segmentCountries === null || segmentCountries === void 0 ? void 0 : segmentCountries.map(({ code }) => getTimezoneByCountryCode === null || getTimezoneByCountryCode === void 0 ? void 0 : getTimezoneByCountryCode(code)), [segmentCountries]);
22
- const isSelectedTimezoneOneOFTheAvailable = useMemo(() => availableTimezones === null || availableTimezones === void 0 ? void 0 : availableTimezones.some((item) => (selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.timezone) === (item === null || item === void 0 ? void 0 : item.timezone)), [availableTimezones, selectedTimezone]);
22
+ const isSelectedTimezoneOneOFTheAvailable = useMemo(() => availableTimezones === null || availableTimezones === void 0 ? void 0 : availableTimezones.find((item) => (selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.timezone) === (item === null || item === void 0 ? void 0 : item.timezone)), [availableTimezones, selectedTimezone]);
23
23
  const entityTimezone = useMemo(() => {
24
24
  if (!selectedTimezone)
25
25
  return defaultTimezone;
@@ -28,10 +28,10 @@ export default function EntitiesTimezone({ selectedTimezone, onChange, defaultTi
28
28
  return (_jsxs(TimezoneElement, Object.assign({ onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onClick: () => {
29
29
  if (selectedTimezone)
30
30
  onChange(entityTimezone);
31
- } }, { children: [isSelectedTimezoneOneOFTheAvailable ? _jsx("img", { src: smallBlueCheckIcon, alt: "icon" }) : _jsx(Space, {}), _jsx("img", { src: entityTimezoneIcon, alt: "entity-timezone" }), _jsx(CountryFlag, { code: entityTimezone === null || entityTimezone === void 0 ? void 0 : entityTimezone.countryCode }), _jsx(Label, Object.assign({ className: isSelectedTimezoneOneOFTheAvailable ? 'selected' : '' }, { children: isSelectedTimezoneOneOFTheAvailable ? selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.label : defaultTimezone.label })), _jsx(Popper, Object.assign({ open: Boolean(entitiesEl), anchorEl: entitiesEl, placement: "right-start", sx: { zIndex: 3 }, disablePortal: true }, { children: _jsx(TimezoneDropdown, Object.assign({ sx: { maxHeight: 300 } }, { children: COUNTRIES_TIMEZONES === null || COUNTRIES_TIMEZONES === void 0 ? void 0 : COUNTRIES_TIMEZONES.map((timeZone, idx) => {
31
+ } }, { children: [isSelectedTimezoneOneOFTheAvailable ? _jsx("img", { src: smallBlueCheckIcon, alt: "icon" }) : _jsx(Space, {}), _jsx("img", { src: entityTimezoneIcon, alt: "entity-timezone" }), _jsx(CountryFlag, { code: entityTimezone === null || entityTimezone === void 0 ? void 0 : entityTimezone.countryCode }), _jsx(Label, Object.assign({ className: isSelectedTimezoneOneOFTheAvailable ? 'selected' : '' }, { children: isSelectedTimezoneOneOFTheAvailable ? selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.label : defaultTimezone.label })), _jsx(Popper, Object.assign({ open: Boolean(entitiesEl), anchorEl: entitiesEl, placement: "right-start", sx: { zIndex: 3 }, disablePortal: true }, { children: _jsx(TimezoneDropdown, { children: availableTimezones === null || availableTimezones === void 0 ? void 0 : availableTimezones.map((timeZone, idx) => {
32
32
  const isActive = (timeZone === null || timeZone === void 0 ? void 0 : timeZone.timezone) === (selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.timezone);
33
33
  return (_jsxs(TimezoneElement, Object.assign({ onClick: (e) => {
34
34
  onSelectTimezone(e, timeZone);
35
35
  }, sx: { gap: '4px' } }, { children: [isActive ? _jsx("img", { src: smallBlueCheckIcon, alt: "icon" }) : _jsx(Space, {}), _jsx(CountryFlag, { code: timeZone === null || timeZone === void 0 ? void 0 : timeZone.countryCode }), _jsx(Label, Object.assign({ className: isActive ? 'selected' : '' }, { children: timeZone === null || timeZone === void 0 ? void 0 : timeZone.label }))] }), `timezone-item-${idx}`));
36
- }) })) }))] })));
36
+ }) }) }))] })));
37
37
  }
@@ -507,6 +507,167 @@ export declare const APP_CODES: {
507
507
  };
508
508
  };
509
509
  };
510
+ financialInstitution: {
511
+ code: string;
512
+ functions: {
513
+ statement: {
514
+ code: string;
515
+ };
516
+ summary: {
517
+ code: string;
518
+ };
519
+ view: {
520
+ code: string;
521
+ };
522
+ sandbox: {
523
+ code: string;
524
+ };
525
+ jsonApi: {
526
+ code: string;
527
+ };
528
+ reports: {
529
+ code: string;
530
+ };
531
+ };
532
+ };
533
+ retailCommerce: {
534
+ code: string;
535
+ functions: {
536
+ statement: {
537
+ code: string;
538
+ };
539
+ summary: {
540
+ code: string;
541
+ };
542
+ view: {
543
+ code: string;
544
+ };
545
+ sandbox: {
546
+ code: string;
547
+ };
548
+ jsonApi: {
549
+ code: string;
550
+ };
551
+ reports: {
552
+ code: string;
553
+ };
554
+ };
555
+ };
556
+ app: {
557
+ code: string;
558
+ functions: {
559
+ statement: {
560
+ code: string;
561
+ };
562
+ summary: {
563
+ code: string;
564
+ };
565
+ view: {
566
+ code: string;
567
+ };
568
+ sandbox: {
569
+ code: string;
570
+ };
571
+ jsonApi: {
572
+ code: string;
573
+ };
574
+ reports: {
575
+ code: string;
576
+ };
577
+ };
578
+ };
579
+ billing: {
580
+ code: string;
581
+ functions: {
582
+ statement: {
583
+ code: string;
584
+ };
585
+ summary: {
586
+ code: string;
587
+ };
588
+ view: {
589
+ code: string;
590
+ };
591
+ sandbox: {
592
+ code: string;
593
+ };
594
+ jsonApi: {
595
+ code: string;
596
+ };
597
+ reports: {
598
+ code: string;
599
+ };
600
+ };
601
+ };
602
+ onlineCommerce: {
603
+ code: string;
604
+ functions: {
605
+ statement: {
606
+ code: string;
607
+ };
608
+ summary: {
609
+ code: string;
610
+ };
611
+ view: {
612
+ code: string;
613
+ };
614
+ sandbox: {
615
+ code: string;
616
+ };
617
+ jsonApi: {
618
+ code: string;
619
+ };
620
+ reports: {
621
+ code: string;
622
+ };
623
+ };
624
+ };
625
+ paymentFacilitator: {
626
+ code: string;
627
+ functions: {
628
+ statement: {
629
+ code: string;
630
+ };
631
+ summary: {
632
+ code: string;
633
+ };
634
+ view: {
635
+ code: string;
636
+ };
637
+ sandbox: {
638
+ code: string;
639
+ };
640
+ jsonApi: {
641
+ code: string;
642
+ };
643
+ reports: {
644
+ code: string;
645
+ };
646
+ };
647
+ };
648
+ development: {
649
+ code: string;
650
+ functions: {
651
+ statement: {
652
+ code: string;
653
+ };
654
+ summary: {
655
+ code: string;
656
+ };
657
+ view: {
658
+ code: string;
659
+ };
660
+ sandbox: {
661
+ code: string;
662
+ };
663
+ jsonApi: {
664
+ code: string;
665
+ };
666
+ reports: {
667
+ code: string;
668
+ };
669
+ };
670
+ };
510
671
  };
511
672
  };
512
673
  payouts: {
@@ -202,6 +202,62 @@ export const APP_CODES = {
202
202
  code: 'SUMMARY',
203
203
  } }),
204
204
  },
205
+ financialInstitution: {
206
+ code: 'FINANCIAL_INSTITUTION_WALLET',
207
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
208
+ code: 'STATEMENT',
209
+ }, summary: {
210
+ code: 'SUMMARY',
211
+ } }),
212
+ },
213
+ retailCommerce: {
214
+ code: 'RETAIL_COMMERCE_WALLET',
215
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
216
+ code: 'STATEMENT',
217
+ }, summary: {
218
+ code: 'SUMMARY',
219
+ } }),
220
+ },
221
+ app: {
222
+ code: 'APP_WALLET',
223
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
224
+ code: 'STATEMENT',
225
+ }, summary: {
226
+ code: 'SUMMARY',
227
+ } }),
228
+ },
229
+ billing: {
230
+ code: 'BILLING_WALLET',
231
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
232
+ code: 'STATEMENT',
233
+ }, summary: {
234
+ code: 'SUMMARY',
235
+ } }),
236
+ },
237
+ onlineCommerce: {
238
+ code: 'ONLINE_COMMERCE_WALLET',
239
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
240
+ code: 'STATEMENT',
241
+ }, summary: {
242
+ code: 'SUMMARY',
243
+ } }),
244
+ },
245
+ paymentFacilitator: {
246
+ code: 'PAYMENT_FACILITATOR_WALLET',
247
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
248
+ code: 'STATEMENT',
249
+ }, summary: {
250
+ code: 'SUMMARY',
251
+ } }),
252
+ },
253
+ development: {
254
+ code: 'DEVELOPMENT_WALLET',
255
+ functions: Object.assign(Object.assign({}, SERVICE_COMMON_FUNCTIONS), { statement: {
256
+ code: 'STATEMENT',
257
+ }, summary: {
258
+ code: 'SUMMARY',
259
+ } }),
260
+ },
205
261
  },
206
262
  },
207
263
  payouts: {
@@ -26,7 +26,7 @@ export const ACCEPTANCE_TIMEZONE = TIMEZONES.UTC;
26
26
  export const COUNTRIES_TIMEZONES = [
27
27
  { countryCode: 'SA', label: '(GMT:+0300) Saudi Arabia', timezone: 'Asia/Riyadh', offset: 3 },
28
28
  { countryCode: 'BH', label: '(GMT:+0300) Bahrain', timezone: 'Asia/Bahrain', offset: 3 },
29
- { countryCode: 'EG', label: '(GMT:+0300) Egypt', timezone: 'Africa/Cairo', offset: 3 },
29
+ { countryCode: 'EG', label: '(GMT:+0200) Egypt', timezone: 'Africa/Cairo', offset: 2 },
30
30
  { countryCode: 'LB', label: '(GMT:+0200) Lebanon', timezone: 'Asia/Beirut', offset: 2 },
31
31
  { countryCode: 'JO', label: '(GMT:+0300) Jordan', timezone: 'Asia/Amman', offset: 3 },
32
32
  { countryCode: 'KW', label: '(GMT:+0300) Kuwait', timezone: 'Asia/Kuwait', offset: 3 },
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.209-test.18",
5
- "testVersion": 18,
4
+ "version": "0.1.210-datafix",
5
+ "testVersion": 11,
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "module": "build/index.js",
@@ -163,4 +163,4 @@
163
163
  "publishConfig": {
164
164
  "registry": "https://registry.npmjs.org/"
165
165
  }
166
- }
166
+ }