@tap-payments/os-micro-frontend-shared 0.1.218-test.3 → 0.1.218-test.5

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,3 +1,27 @@
1
- import { RangeCalendarProps } from './type';
2
- declare function RangeCalender({ defaultDate, onDateChange, mode, onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, onChangeTimezone, defaultTimezone, browserTimezone, renderCalendarButton, mainSx, popperProps, rangeDatePickerProps, defaultCountryTimezone, }: RangeCalendarProps): import("react/jsx-runtime").JSX.Element;
1
+ import { MouseEvent } from 'react';
2
+ import { PopperProps } from '@mui/material/Popper';
3
+ import { SxProps } from '@mui/system';
4
+ import type { CalenderMode, Timezone } from '../../types/index.js';
5
+ import { RangeDatepickerProps } from './components/RangeDatepicker';
6
+ interface RangeCalendarProps {
7
+ defaultDate: [Date, Date];
8
+ onDateChange: (date: [Date, Date]) => void;
9
+ mode?: CalenderMode;
10
+ onCalendarModeSwitch?: (mode: CalenderMode) => void;
11
+ numberOfMonths?: number;
12
+ noTimezone?: boolean;
13
+ noQuickFilter?: boolean;
14
+ maxDateRange?: number;
15
+ onCalendarGroupChange?: (value: string) => void;
16
+ groupBy?: string;
17
+ timezone: Timezone | null;
18
+ onChangeTimezone?: (timezone: Timezone) => void;
19
+ defaultTimezone: Timezone;
20
+ browserTimezone: string;
21
+ renderCalendarButton?: (open: boolean, onOpenCalender: (event: MouseEvent<HTMLElement>) => void) => React.ReactNode;
22
+ mainSx?: SxProps;
23
+ popperProps?: Partial<PopperProps>;
24
+ rangeDatePickerProps?: Partial<RangeDatepickerProps>;
25
+ }
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;
3
27
  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, defaultCountryTimezone, }) {
18
+ function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalendarModeSwitch, numberOfMonths, noTimezone, noQuickFilter, maxDateRange, onCalendarGroupChange, groupBy, timezone, 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);
@@ -64,7 +64,7 @@ function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalend
64
64
  };
65
65
  const onChange = (newDate) => {
66
66
  if (newDate.length < 2 || !maxDateRange) {
67
- setValues(newDate);
67
+ setValues((prev) => { var _a, _b; return [(_a = newDate === null || newDate === void 0 ? void 0 : newDate[0]) !== null && _a !== void 0 ? _a : prev === null || prev === void 0 ? void 0 : prev[0], (_b = newDate === null || newDate === void 0 ? void 0 : newDate[1]) !== null && _b !== void 0 ? _b : prev === null || prev === void 0 ? void 0 : prev[1]]; });
68
68
  return;
69
69
  }
70
70
  const startDate = getStartOfDate(newDate[0]).toDate();
@@ -90,6 +90,6 @@ function RangeCalender({ defaultDate, onDateChange, mode = 'gregorian', onCalend
90
90
  onCloseCalender();
91
91
  } })), _jsx(Popper, Object.assign({ open: open, anchorEl: anchorEl, placement: "bottom-end" }, popperProps, { children: _jsxs(CalenderWrapper, { children: [!noQuickFilter && (_jsxs(FiltersArea, { children: [_jsx(QuickFilters, { onChange: onChangeQuickFilter, isHijri: isHijri }), _jsxs(Settings, { children: [groupBy && (_jsx(GroupBy, { groupBy: selectedGroupBy, isCalenderOpen: open, onUpdate: (group) => {
92
92
  setSelectedGroupBy(group);
93
- } })), _jsx(Hijri, { isHijri: isHijri, onCalendarModeSwitch: onCalendarModeSwitch })] })] })), _jsxs(Box, Object.assign({ sx: { display: 'flex', flexDirection: 'column', justifyContent: 'space-between' } }, { children: [_jsx(RangeDatePicker, Object.assign({ values: values, onChange: onChange, isHijri: isHijri, ref: calendarRef, numberOfMonths: numberOfMonths }, rangeDatePickerProps)), _jsx(Collapse, Object.assign({ in: isError && Boolean(maxDateRange) }, { children: _jsx(Error, { error: t('dateRangeError', { number: maxDateRange }), sx: { marginInline: '16px', marginBottom: '16px' } }) })), _jsxs(Footer, Object.assign({ sx: { borderBottomLeftRadius: '8px' } }, { children: [!noTimezone ? (_jsx(TimeZone, { children: _jsx(CustomTimezone, { onChange: setSelectedTimezone, selectedTimezone: selectedTimezone, defaultTimezone: defaultTimezone, browserTimezone: browserTimezone, defaultCountryTimezone: defaultCountryTimezone }, String(open)) })) : (_jsx("div", {})), new DateObject(values[0]).dayOfYear === new DateObject(values[1]).dayOfYear && (_jsx(CustomTimePicker, { values: values, setValues: setValues })), _jsxs(ButtonsWrapper, { children: [_jsx(CancelButton, Object.assign({ variant: "contained", onClick: onCloseCalender }, { children: t('cancel') })), _jsx(OkayButton, Object.assign({ variant: "contained", onClick: submitDate }, { children: t('okay') }))] })] }))] }))] }) }))] })));
93
+ } })), _jsx(Hijri, { isHijri: isHijri, onCalendarModeSwitch: onCalendarModeSwitch })] })] })), _jsxs(Box, Object.assign({ sx: { display: 'flex', flexDirection: 'column', justifyContent: 'space-between' } }, { children: [_jsx(RangeDatePicker, Object.assign({ values: values, onChange: onChange, isHijri: isHijri, ref: calendarRef, numberOfMonths: numberOfMonths }, rangeDatePickerProps)), _jsx(Collapse, Object.assign({ in: isError && Boolean(maxDateRange) }, { children: _jsx(Error, { error: t('dateRangeError', { number: maxDateRange }), sx: { marginInline: '16px', marginBottom: '16px' } }) })), _jsxs(Footer, Object.assign({ sx: { borderBottomLeftRadius: '8px' } }, { children: [!noTimezone ? (_jsx(TimeZone, { children: _jsx(CustomTimezone, { onChange: setSelectedTimezone, selectedTimezone: selectedTimezone, defaultTimezone: defaultTimezone, browserTimezone: browserTimezone }, String(open)) })) : (_jsx("div", {})), new DateObject(values[0]).dayOfYear === new DateObject(values[1]).dayOfYear && (_jsx(CustomTimePicker, { values: values, setValues: setValues })), _jsxs(ButtonsWrapper, { children: [_jsx(CancelButton, Object.assign({ variant: "contained", onClick: onCloseCalender }, { children: t('cancel') })), _jsx(OkayButton, Object.assign({ variant: "contained", onClick: submitDate }, { children: t('okay') }))] })] }))] }))] }) }))] })));
94
94
  }
95
95
  export default RangeCalender;
@@ -7,7 +7,6 @@ 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;
11
10
  const { t } = useTranslation();
12
11
  const startDate = new DateObject(values[0]);
13
12
  const endDate = new DateObject(values[1]);
@@ -31,10 +30,10 @@ function CustomTimePicker({ values, setValues }) {
31
30
  hour: convertTo12Hour(startDate.hour),
32
31
  minute: startDate.minute,
33
32
  period: startDate.hour >= maxHour ? 'PM' : 'AM',
34
- }, size: "small", onChange: onChangeStartTime, enableRealTimeChange: true }, `${(_a = values[0]) === null || _a === void 0 ? void 0 : _a.toString()}-start`), _jsx(TimePicker, { defaultTime: {
33
+ }, size: "small", onChange: onChangeStartTime, enableRealTimeChange: true }, `${values[0].toString()}-start`), _jsx(TimePicker, { defaultTime: {
35
34
  hour: convertTo12Hour(endDate.hour),
36
35
  minute: endDate.minute,
37
36
  period: endDate.hour >= maxHour ? 'PM' : 'AM',
38
- }, size: "small", onChange: onChangeEndTime, enableRealTimeChange: true }, `${(_b = values[1]) === null || _b === void 0 ? void 0 : _b.toString()}-end`)] }))] }) }));
37
+ }, size: "small", onChange: onChangeEndTime, enableRealTimeChange: true }, `${values[1].toString()}-end`)] }))] }) }));
39
38
  }
40
39
  export default CustomTimePicker;
@@ -5,8 +5,7 @@ interface CustomTimezoneProps {
5
5
  selectedTimezone: Timezone | null;
6
6
  defaultTimezone: Timezone;
7
7
  browserTimezone: string;
8
- defaultCountryTimezone: Timezone;
9
8
  }
10
- declare function CustomTimezone({ onChange, selectedTimezone, defaultTimezone, browserTimezone, defaultCountryTimezone }: CustomTimezoneProps): import("react/jsx-runtime").JSX.Element;
9
+ declare function CustomTimezone({ onChange, selectedTimezone, defaultTimezone, browserTimezone }: CustomTimezoneProps): import("react/jsx-runtime").JSX.Element;
11
10
  declare const _default: import("react").MemoExoticComponent<typeof CustomTimezone>;
12
11
  export default _default;
@@ -7,7 +7,7 @@ import { CountryFlag } from '../../../index.js';
7
7
  import { TimezoneWrapper, TimezoneDropdown, SelectedTimezone } from './style';
8
8
  import EntitiesTimezone from './components/EntitiesTimezone';
9
9
  import UserTimezone from './components/UserTimezone';
10
- function CustomTimezone({ onChange, selectedTimezone, defaultTimezone, browserTimezone, defaultCountryTimezone }) {
10
+ function CustomTimezone({ onChange, selectedTimezone, defaultTimezone, browserTimezone }) {
11
11
  const [anchorEl, setAnchorEl] = useState(null);
12
12
  const open = Boolean(anchorEl);
13
13
  const onClose = () => {
@@ -27,6 +27,6 @@ function CustomTimezone({ onChange, selectedTimezone, defaultTimezone, browserTi
27
27
  return entityTimezoneIcon;
28
28
  return savedTimezoneIcon;
29
29
  }, [browserTimezone, defaultTimezone.timezone, selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.timezone]);
30
- return (_jsx(ClickAwayListener, Object.assign({ onClickAway: onClose }, { children: _jsxs(TimezoneWrapper, Object.assign({ "data-testid": "CustomTimezone" }, { children: [_jsxs(SelectedTimezone, Object.assign({ open: open, onClick: onOpen }, { children: [_jsx("img", { src: selectedTimezoneIcon, alt: "timezone-icon" }), _jsx(CountryFlag, { code: selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.countryCode }), _jsx("span", { children: selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.label })] })), _jsx(Popper, Object.assign({ open: open, anchorEl: anchorEl, placement: "top-start", sx: { zIndex: 1400 } }, { children: _jsxs(TimezoneDropdown, Object.assign({ "data-testid": "CustomTimezone_dropdown" }, { children: [_jsx(EntitiesTimezone, { onChange: updateTimezone, selectedTimezone: selectedTimezone, defaultCountryTimezone: defaultCountryTimezone }), _jsx(UserTimezone, { onChange: updateTimezone, selectedTimezone: selectedTimezone, browserTimezone: browserTimezone })] })) }))] })) })));
30
+ return (_jsx(ClickAwayListener, Object.assign({ onClickAway: onClose }, { children: _jsxs(TimezoneWrapper, Object.assign({ "data-testid": "CustomTimezone" }, { children: [_jsxs(SelectedTimezone, Object.assign({ open: open, onClick: onOpen }, { children: [_jsx("img", { src: selectedTimezoneIcon, alt: "timezone-icon" }), _jsx(CountryFlag, { code: selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.countryCode }), _jsx("span", { children: selectedTimezone === null || selectedTimezone === void 0 ? void 0 : selectedTimezone.label })] })), _jsx(Popper, Object.assign({ open: open, anchorEl: anchorEl, placement: "top-start", sx: { zIndex: 1400 } }, { children: _jsxs(TimezoneDropdown, Object.assign({ "data-testid": "CustomTimezone_dropdown" }, { children: [_jsx(EntitiesTimezone, { onChange: updateTimezone, selectedTimezone: selectedTimezone, defaultTimezone: defaultTimezone }), _jsx(UserTimezone, { onChange: updateTimezone, selectedTimezone: selectedTimezone, browserTimezone: browserTimezone })] })) }))] })) })));
31
31
  }
32
32
  export default memo(CustomTimezone);
@@ -2,11 +2,11 @@ import type { Timezone } from '../../../../../types/index.js';
2
2
  interface EntitiesTimezoneProps {
3
3
  selectedTimezone: Timezone | null;
4
4
  onChange: (selected: Timezone) => void;
5
+ defaultTimezone: Timezone;
5
6
  getTimezoneByCountryCode?: (countryCode: string) => Timezone;
6
7
  segmentCountries?: {
7
8
  code: string;
8
9
  }[];
9
- defaultCountryTimezone: Timezone;
10
10
  }
11
- export default function EntitiesTimezone({ selectedTimezone, onChange, getTimezoneByCountryCode, segmentCountries, defaultCountryTimezone, }: EntitiesTimezoneProps): import("react/jsx-runtime").JSX.Element;
11
+ export default function EntitiesTimezone({ selectedTimezone, onChange, defaultTimezone, getTimezoneByCountryCode, segmentCountries, }: EntitiesTimezoneProps): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -4,7 +4,7 @@ import Popper from '@mui/material/Popper';
4
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
- export default function EntitiesTimezone({ selectedTimezone, onChange, getTimezoneByCountryCode, segmentCountries, defaultCountryTimezone, }) {
7
+ export default function EntitiesTimezone({ selectedTimezone, onChange, defaultTimezone, getTimezoneByCountryCode, segmentCountries, }) {
8
8
  const [entitiesEl, setEntitiesEl] = useState(null);
9
9
  const onMouseEnter = (e) => {
10
10
  if (!entitiesEl)
@@ -22,13 +22,13 @@ export default function EntitiesTimezone({ selectedTimezone, onChange, getTimezo
22
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]);
23
23
  const entityTimezone = useMemo(() => {
24
24
  if (!selectedTimezone)
25
- return defaultCountryTimezone;
26
- return isSelectedTimezoneOneOFTheAvailable ? selectedTimezone : defaultCountryTimezone;
27
- }, [selectedTimezone, defaultCountryTimezone, isSelectedTimezoneOneOFTheAvailable]);
25
+ return defaultTimezone;
26
+ return isSelectedTimezoneOneOFTheAvailable ? selectedTimezone : defaultTimezone;
27
+ }, [selectedTimezone, defaultTimezone, isSelectedTimezoneOneOFTheAvailable]);
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 : defaultCountryTimezone === null || defaultCountryTimezone === void 0 ? void 0 : defaultCountryTimezone.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: availableTimezones === null || availableTimezones === void 0 ? void 0 : availableTimezones.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, Object.assign({ sx: { maxHeight: 300 } }, { 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);
@@ -1,28 +1,2 @@
1
- import { MouseEvent } from 'react';
2
- import { PopperProps } from '@mui/material/Popper';
3
- import { SxProps } from '@mui/system';
4
1
  import type { DateObject } from 'react-multi-date-picker';
5
- import type { CalenderMode, Timezone } from '../../types/index.js';
6
- import { RangeDatepickerProps } from './components/RangeDatepicker';
7
2
  export type Dates = [DateObject, DateObject];
8
- export interface RangeCalendarProps {
9
- defaultDate: [Date, Date];
10
- onDateChange: (date: [Date, Date]) => void;
11
- mode?: CalenderMode;
12
- onCalendarModeSwitch?: (mode: CalenderMode) => void;
13
- numberOfMonths?: number;
14
- noTimezone?: boolean;
15
- noQuickFilter?: boolean;
16
- maxDateRange?: number;
17
- onCalendarGroupChange?: (value: string) => void;
18
- groupBy?: string;
19
- timezone: Timezone | null;
20
- onChangeTimezone?: (timezone: Timezone) => void;
21
- defaultTimezone: Timezone;
22
- defaultCountryTimezone: Timezone;
23
- browserTimezone: string;
24
- renderCalendarButton?: (open: boolean, onOpenCalender: (event: MouseEvent<HTMLElement>) => void) => React.ReactNode;
25
- mainSx?: SxProps;
26
- popperProps?: Partial<PopperProps>;
27
- rangeDatePickerProps?: Partial<RangeDatepickerProps>;
28
- }
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.218-test.3",
5
- "testVersion": 3,
4
+ "version": "0.1.218-test.5",
5
+ "testVersion": 5,
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "module": "build/index.js",