@tap-payments/os-micro-frontend-shared 0.0.91 → 0.0.92-multi-select-status-button-v2

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 (72) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +12 -12
  3. package/build/components/DropdownMenu/DropdownMenu.d.ts +1 -1
  4. package/build/components/DropdownMenu/DropdownMenu.js +3 -3
  5. package/build/components/DropdownMenu/type.d.ts +1 -0
  6. package/build/components/MultiSelectStatusButton/MultiSelectStatusButton.d.ts +5 -0
  7. package/build/components/MultiSelectStatusButton/MultiSelectStatusButton.js +97 -0
  8. package/build/components/MultiSelectStatusButton/index.d.ts +3 -0
  9. package/build/components/MultiSelectStatusButton/index.js +2 -0
  10. package/build/components/MultiSelectStatusButton/style.d.ts +41 -0
  11. package/build/components/MultiSelectStatusButton/style.js +72 -0
  12. package/build/components/MultiSelectStatusButton/type.d.ts +14 -0
  13. package/build/components/MultiSelectStatusButton/type.js +1 -0
  14. package/build/components/RangeCalender/RangeCalender.d.ts +20 -0
  15. package/build/components/RangeCalender/RangeCalender.js +92 -0
  16. package/build/components/RangeCalender/components/CustomTimepicker/CustomTimepicker.d.ts +11 -0
  17. package/build/components/RangeCalender/components/CustomTimepicker/CustomTimepicker.js +33 -0
  18. package/build/components/RangeCalender/components/CustomTimepicker/index.d.ts +2 -0
  19. package/build/components/RangeCalender/components/CustomTimepicker/index.js +2 -0
  20. package/build/components/RangeCalender/components/CustomTimepicker/style.d.ts +15 -0
  21. package/build/components/RangeCalender/components/CustomTimepicker/style.js +132 -0
  22. package/build/components/RangeCalender/components/GroupBy/GroupBy.d.ts +10 -0
  23. package/build/components/RangeCalender/components/GroupBy/GroupBy.js +33 -0
  24. package/build/components/RangeCalender/components/GroupBy/index.d.ts +2 -0
  25. package/build/components/RangeCalender/components/GroupBy/index.js +2 -0
  26. package/build/components/RangeCalender/components/GroupBy/style.d.ts +15 -0
  27. package/build/components/RangeCalender/components/GroupBy/style.js +39 -0
  28. package/build/components/RangeCalender/components/Hijri/Hijri.d.ts +7 -0
  29. package/build/components/RangeCalender/components/Hijri/Hijri.js +13 -0
  30. package/build/components/RangeCalender/components/Hijri/index.d.ts +2 -0
  31. package/build/components/RangeCalender/components/Hijri/index.js +2 -0
  32. package/build/components/RangeCalender/components/Hijri/style.d.ts +4 -0
  33. package/build/components/RangeCalender/components/Hijri/style.js +25 -0
  34. package/build/components/RangeCalender/components/QuickFilters/QuickFilters.d.ts +8 -0
  35. package/build/components/RangeCalender/components/QuickFilters/QuickFilters.js +47 -0
  36. package/build/components/RangeCalender/components/QuickFilters/index.d.ts +2 -0
  37. package/build/components/RangeCalender/components/QuickFilters/index.js +2 -0
  38. package/build/components/RangeCalender/components/QuickFilters/style.d.ts +7 -0
  39. package/build/components/RangeCalender/components/QuickFilters/style.js +27 -0
  40. package/build/components/RangeCalender/components/RangeDatepicker/RangeDatepicker.d.ts +12 -0
  41. package/build/components/RangeCalender/components/RangeDatepicker/RangeDatepicker.js +29 -0
  42. package/build/components/RangeCalender/components/RangeDatepicker/index.d.ts +2 -0
  43. package/build/components/RangeCalender/components/RangeDatepicker/index.js +2 -0
  44. package/build/components/RangeCalender/components/RangeDatepicker/style.d.ts +4 -0
  45. package/build/components/RangeCalender/components/RangeDatepicker/style.js +9 -0
  46. package/build/components/RangeCalender/components/Timezone/Timezone.d.ts +11 -0
  47. package/build/components/RangeCalender/components/Timezone/Timezone.js +32 -0
  48. package/build/components/RangeCalender/components/Timezone/components/EntitiesTimezone.d.ts +12 -0
  49. package/build/components/RangeCalender/components/Timezone/components/EntitiesTimezone.js +37 -0
  50. package/build/components/RangeCalender/components/Timezone/components/UserTimezone.d.ts +8 -0
  51. package/build/components/RangeCalender/components/Timezone/components/UserTimezone.js +14 -0
  52. package/build/components/RangeCalender/components/Timezone/index.d.ts +2 -0
  53. package/build/components/RangeCalender/components/Timezone/index.js +2 -0
  54. package/build/components/RangeCalender/components/Timezone/style.d.ts +21 -0
  55. package/build/components/RangeCalender/components/Timezone/style.js +61 -0
  56. package/build/components/RangeCalender/index.d.ts +2 -0
  57. package/build/components/RangeCalender/index.js +2 -0
  58. package/build/components/RangeCalender/style.d.ts +33 -0
  59. package/build/components/RangeCalender/style.js +189 -0
  60. package/build/components/RangeCalender/type.d.ts +2 -0
  61. package/build/components/RangeCalender/type.js +1 -0
  62. package/build/components/RangeCalender/utils.d.ts +6 -0
  63. package/build/components/RangeCalender/utils.js +15 -0
  64. package/build/components/StatusBar/StatusBar.d.ts +6 -1
  65. package/build/components/StatusBar/StatusBar.js +62 -26
  66. package/build/components/TableHeader_V2/components/StatusButtons/ChevronIcon.d.ts +1 -1
  67. package/build/components/TableHeader_V2/components/StatusButtons/ChevronIcon.js +4 -2
  68. package/build/components/TableHeader_V2/components/StatusButtons/style.js +1 -0
  69. package/build/components/TableHeader_V2/components/StatusButtons/type.d.ts +3 -0
  70. package/build/components/index.d.ts +2 -0
  71. package/build/components/index.js +2 -0
  72. package/package.json +132 -132
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ export declare const TimezoneWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
5
+ export declare const TimezoneDropdown: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
6
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
7
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
8
+ export declare const SelectedTimezone: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
9
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
10
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
11
+ open: boolean;
12
+ }, {}, {}>;
13
+ export declare const TimezoneElement: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
15
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
16
+ export declare const Space: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
17
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
18
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
19
+ export declare const Label: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
20
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
21
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
@@ -0,0 +1,61 @@
1
+ import Box from '@mui/material/Box';
2
+ import { styled } from '@mui/material/styles';
3
+ export const TimezoneWrapper = styled(Box)(() => ({
4
+ '[class$="-IndicatorsContainer2"]': {
5
+ display: 'none',
6
+ },
7
+ '#react-select-2-listbox': {
8
+ width: 300,
9
+ },
10
+ }));
11
+ export const TimezoneDropdown = styled(Box)(({ theme }) => ({
12
+ borderRadius: theme.spacing(0.5),
13
+ border: `1px solid ${theme.palette.divider}`,
14
+ background: theme.palette.common.white,
15
+ boxShadow: theme.shadows[10],
16
+ minWidth: 200,
17
+ width: 'max-content',
18
+ overflow: 'auto',
19
+ }));
20
+ export const SelectedTimezone = styled(Box, { shouldForwardProp: (props) => props !== 'open' })(({ theme, open }) => (Object.assign(Object.assign({ width: 156, fontSize: '11px', color: theme.palette.text.primary, border: '1px solid', borderColor: theme.palette.divider, minHeight: 32, borderRadius: '4px', padding: theme.spacing(1), whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', cursor: 'pointer', display: 'flex', alignItems: 'center', gap: theme.spacing(1), fontWeight: 500 }, (open && {
21
+ borderRadius: '4px',
22
+ boxShadow: theme.shadows[7],
23
+ border: '1px solid',
24
+ borderColor: theme.palette.info.dark,
25
+ background: theme.palette.common.white,
26
+ })), { span: { textOverflow: 'ellipsis', whiteSpace: 'nowrap', overflow: 'hidden' } })));
27
+ export const TimezoneElement = styled(Box)(({ theme }) => ({
28
+ padding: theme.spacing(1),
29
+ color: theme.palette.text.primary,
30
+ fontSize: '11px',
31
+ display: 'flex',
32
+ alignItems: 'center',
33
+ gap: theme.spacing(1),
34
+ height: 33,
35
+ cursor: 'pointer',
36
+ '&:hover': {
37
+ boxShadow: '0px 0px 16px 0px #00000021',
38
+ },
39
+ '&+&': {
40
+ borderTop: '1px solid',
41
+ borderColor: theme.palette.divider,
42
+ },
43
+ '&.active span': {
44
+ fontWeight: 500,
45
+ },
46
+ span: {
47
+ whiteSpace: 'nowrap',
48
+ overflow: 'hidden',
49
+ textOverflow: 'ellipsis',
50
+ },
51
+ }));
52
+ export const Space = styled(Box)(() => ({
53
+ width: 12,
54
+ height: 12,
55
+ }));
56
+ export const Label = styled(Box)(({ theme }) => ({
57
+ fontSize: '11px',
58
+ color: theme.palette.text.secondary,
59
+ lineHeight: '15.03px',
60
+ '&.selected': { color: theme.palette.info.dark },
61
+ }));
@@ -0,0 +1,2 @@
1
+ import RangeCalender from './RangeCalender';
2
+ export default RangeCalender;
@@ -0,0 +1,2 @@
1
+ import RangeCalender from './RangeCalender';
2
+ export default RangeCalender;
@@ -0,0 +1,33 @@
1
+ /// <reference types="react" />
2
+ export declare const CalenderWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
5
+ export declare const CancelButton: 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"> & {
6
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
7
+ }, "disabled" | "className" | "style" | "classes" | "color" | "children" | "sx" | "tabIndex" | "size" | "variant" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "href" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "startIcon"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
8
+ export declare const OkayButton: 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"> & {
9
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
10
+ }, "disabled" | "className" | "style" | "classes" | "color" | "children" | "sx" | "tabIndex" | "size" | "variant" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "href" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "startIcon"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
11
+ export declare const ButtonsWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
12
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
13
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
14
+ export declare const SelectedDate: 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"> & {
15
+ ref?: ((instance: HTMLButtonElement | null) => void) | import("react").RefObject<HTMLButtonElement> | null | undefined;
16
+ }, "disabled" | "className" | "style" | "classes" | "color" | "children" | "sx" | "tabIndex" | "size" | "variant" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "href" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "startIcon"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
17
+ open: boolean;
18
+ }, {}, {}>;
19
+ 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"> & {
20
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
21
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
22
+ export declare const FiltersArea: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
23
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
24
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
25
+ export declare const TimeZone: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
26
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
27
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
28
+ export declare const Main: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
29
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
30
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
31
+ export declare const Settings: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
32
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
33
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
@@ -0,0 +1,189 @@
1
+ import Box from '@mui/material/Box';
2
+ import Button from '@mui/material/Button';
3
+ import { styled } from '@mui/material/styles';
4
+ export const CalenderWrapper = styled(Box)(({ theme }) => ({
5
+ display: 'flex',
6
+ marginTop: '8px',
7
+ background: theme.palette.common.white,
8
+ boxShadow: theme.shadows[9],
9
+ borderRadius: theme.spacing(1),
10
+ color: theme.palette.text.primary,
11
+ fontSize: '11px',
12
+ '.rmdp-calendar': {
13
+ padding: '8px 16px 16px',
14
+ },
15
+ '.rmdp-rtl *': {
16
+ fontFamily: 'Tajawal',
17
+ },
18
+ '.rmdp-rtl .sd': {
19
+ paddingTop: '4px',
20
+ },
21
+ '.rmdp-wrapper': {
22
+ position: 'relative',
23
+ borderRadius: '8px',
24
+ boxShadow: 'none',
25
+ },
26
+ '.rmdp-day span': {
27
+ fontSize: '11px',
28
+ fontWeight: 500,
29
+ },
30
+ '.rmdp-day, .rmdp-week-day': {
31
+ width: 40,
32
+ height: 40,
33
+ marginBottom: '2px',
34
+ padding: '4px',
35
+ fontSize: '11px',
36
+ color: theme.palette.grey[900],
37
+ },
38
+ '.rmdp-day-picker': {
39
+ padding: 0,
40
+ },
41
+ '.rmdp-day.rmdp-today span': {
42
+ backgroundColor: 'transparent',
43
+ color: theme.palette.info.dark,
44
+ },
45
+ '.rmdp-day.rmdp-today.end span, .rmdp-day.rmdp-today.end span': {
46
+ color: theme.palette.common.white,
47
+ },
48
+ '.rmdp-range, .rmdp-day:not(.rmdp-disabled):not(.rmdp-day-hidden) span:hover': {
49
+ background: theme.palette.info.light,
50
+ boxShadow: 'none',
51
+ color: theme.palette.grey[900],
52
+ },
53
+ '.rmdp-range-hover.start, .rmdp-range.start, .rmdp-range-hover.end, .rmdp-range.end, .rmdp-rtl .rmdp-range-hover.start, .rmdp-rtl .rmdp-range.start, .rmdp-rtl .rmdp-range-hover.end, .rmdp-rtl .rmdp-range.end': {
54
+ borderRadius: '50%',
55
+ background: theme.palette.background.gradient.darkShadedBlue,
56
+ color: theme.palette.common.white,
57
+ },
58
+ '.rmdp-range.start:after': {
59
+ content: '""',
60
+ position: 'absolute',
61
+ background: theme.palette.info.light,
62
+ height: '100%',
63
+ width: '50%',
64
+ right: 0,
65
+ top: 0,
66
+ zIndex: -1,
67
+ },
68
+ '.rmdp-rtl .rmdp-range.start:after': {
69
+ right: 'unset',
70
+ left: 0,
71
+ },
72
+ '.rmdp-range.end:after': {
73
+ content: '""',
74
+ position: 'absolute',
75
+ background: theme.palette.info.light,
76
+ height: '100%',
77
+ width: '50%',
78
+ left: 0,
79
+ top: 0,
80
+ zIndex: -1,
81
+ },
82
+ '.rmdp-rtl .rmdp-range.end:after': {
83
+ left: 'unset',
84
+ right: 0,
85
+ },
86
+ '.rmdp-week-day': {
87
+ color: theme.palette.grey[700],
88
+ marginBottom: '4px',
89
+ fontSize: '11px',
90
+ padding: '4px',
91
+ },
92
+ '.rmdp-header-values': {
93
+ color: theme.palette.grey[900],
94
+ fontSize: '12px',
95
+ fontWeight: 500,
96
+ lineHeight: '20px',
97
+ letterSpacing: '0.1px',
98
+ },
99
+ '.rmdp-header-values span:nth-of-type(2)': {
100
+ display: 'none',
101
+ },
102
+ '.rmdp-header': {
103
+ padding: '4px 0',
104
+ margin: 0,
105
+ fontSize: '12px',
106
+ },
107
+ '.rmdp-top-class': {
108
+ display: 'block !important',
109
+ },
110
+ '.rmdp-day.rmdp-selected span:not(.highlight)': {
111
+ background: theme.palette.info.dark,
112
+ },
113
+ '.rmdp-day.start.end': {
114
+ overflow: 'hidden',
115
+ },
116
+ }));
117
+ export const CancelButton = styled(Button)(({ theme }) => ({
118
+ textTransform: 'capitalize',
119
+ padding: '8px 24px',
120
+ width: 75,
121
+ height: 32,
122
+ fontSize: '11px',
123
+ background: 'transparent',
124
+ color: theme.palette.text.primary,
125
+ border: '1px solid',
126
+ borderColor: theme.palette.divider,
127
+ fontWeight: 500,
128
+ borderRadius: '4px',
129
+ '&:hover': {
130
+ background: 'transparent',
131
+ color: theme.palette.text.primary,
132
+ },
133
+ }));
134
+ export const OkayButton = styled(Button)(({ theme }) => ({
135
+ textTransform: 'capitalize',
136
+ padding: '8px 24px',
137
+ width: 75,
138
+ height: 32,
139
+ fontSize: '11px',
140
+ borderRadius: '4px',
141
+ fontWeight: 700,
142
+ background: theme.palette.info.dark,
143
+ '&:hover': {
144
+ background: theme.palette.info.dark,
145
+ },
146
+ }));
147
+ export const ButtonsWrapper = styled(Box)(() => ({
148
+ display: 'flex',
149
+ gap: 8,
150
+ }));
151
+ export const SelectedDate = styled(Button, { shouldForwardProp: (props) => props !== 'open' })(({ open, theme }) => (Object.assign({ color: theme.palette.text.primary, fontSize: '11px', fontWeight: 500, padding: theme.spacing(1), borderRadius: '4px', border: '1px solid', borderColor: theme.palette.divider, background: theme.palette.common.white, textTransform: 'none', height: 32 }, (open && { border: '1px solid', borderColor: theme.palette.info.dark, boxShadow: theme.shadows[7] }))));
152
+ export const Footer = styled(Box)(({ theme }) => ({
153
+ background: theme.palette.common.white,
154
+ display: 'flex',
155
+ justifyContent: 'space-between',
156
+ alignItems: 'center',
157
+ gap: 10,
158
+ padding: '16px',
159
+ borderTop: '1px solid',
160
+ borderColor: theme.palette.divider,
161
+ borderBottomRightRadius: '8px',
162
+ }));
163
+ export const FiltersArea = styled(Box)(({ theme }) => ({
164
+ padding: 16,
165
+ paddingInlineEnd: '23px',
166
+ borderRight: '1px solid',
167
+ borderColor: theme.palette.divider,
168
+ background: theme.palette.common.white,
169
+ width: 'max-content',
170
+ borderTopLeftRadius: '8px',
171
+ borderBottomLeftRadius: '8px',
172
+ display: 'flex',
173
+ flexDirection: 'column',
174
+ gap: 10,
175
+ justifyContent: 'space-between',
176
+ }));
177
+ export const TimeZone = styled(Box)(() => ({
178
+ display: 'flex',
179
+ alignItems: 'center',
180
+ gap: '10px',
181
+ }));
182
+ export const Main = styled(Box)(() => ({
183
+ position: 'relative',
184
+ }));
185
+ export const Settings = styled(Box)(() => ({
186
+ display: 'flex',
187
+ flexDirection: 'column',
188
+ gap: '24px',
189
+ }));
@@ -0,0 +1,2 @@
1
+ import type { DateObject } from 'react-multi-date-picker';
2
+ export type Dates = [DateObject, DateObject];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ /// <reference types="react-date-object" />
2
+ export declare const getLocale: ({ isHijri, isAr }: {
3
+ isHijri: boolean;
4
+ isAr?: boolean | undefined;
5
+ }) => import("react-date-object").Locale;
6
+ export declare const getCalender: (isHijri: boolean) => import("react-date-object").Calendar;
@@ -0,0 +1,15 @@
1
+ import arabic from 'react-date-object/calendars/arabic';
2
+ import gregorian from 'react-date-object/calendars/gregorian';
3
+ import arabicAr from 'react-date-object/locales/arabic_ar';
4
+ import arabicEn from 'react-date-object/locales/arabic_en';
5
+ import gregorianAr from 'react-date-object/locales/gregorian_ar';
6
+ import gregorianEn from 'react-date-object/locales/gregorian_en';
7
+ export const getLocale = ({ isHijri, isAr = false }) => {
8
+ if (isHijri) {
9
+ return isAr ? arabicAr : arabicEn;
10
+ }
11
+ return isAr ? gregorianAr : gregorianEn;
12
+ };
13
+ export const getCalender = (isHijri) => {
14
+ return isHijri ? arabic : gregorian;
15
+ };
@@ -1,12 +1,17 @@
1
1
  /// <reference types="react" />
2
2
  import { AvailableStatus } from '../TableHeader_V2';
3
+ import { CurrencyOption } from '../MultiSelectStatusButton';
3
4
  import { TableHeaderStatus } from '../../types/index.js';
4
5
  interface StatusBarProps {
5
6
  status?: TableHeaderStatus;
6
7
  availableStatuses?: AvailableStatus[];
7
8
  isFilteredIdsShown?: boolean;
8
9
  onStatusChange?: (status: TableHeaderStatus) => void;
10
+ onMultiSelectChange?: (status: TableHeaderStatus[]) => void;
11
+ currencyOptions?: CurrencyOption[];
12
+ selectedCurrencies?: TableHeaderStatus[];
13
+ enableMultiSelectCurrency?: boolean;
9
14
  }
10
- declare function StatusBar({ isFilteredIdsShown, onStatusChange, availableStatuses, status }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function StatusBar({ isFilteredIdsShown, onStatusChange, availableStatuses, status, onMultiSelectChange, currencyOptions, selectedCurrencies, enableMultiSelectCurrency, }: StatusBarProps): import("react/jsx-runtime").JSX.Element;
11
16
  declare const _default: import("react").MemoExoticComponent<typeof StatusBar>;
12
17
  export default _default;
@@ -1,32 +1,68 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
1
  import { createElement as _createElement } from "react";
3
- import { memo, useCallback } from 'react';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useCallback, useState, useEffect } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { StatusButton } from '../TableHeader_V2';
6
- function StatusBar({ isFilteredIdsShown, onStatusChange, availableStatuses, status }) {
6
+ import MultiSelectStatusButton from '../MultiSelectStatusButton';
7
+ function StatusBar({ isFilteredIdsShown, onStatusChange, availableStatuses, status, onMultiSelectChange, currencyOptions, selectedCurrencies = [], enableMultiSelectCurrency = false, }) {
7
8
  const { t } = useTranslation();
8
- const getButtonStatus = useCallback((buttonStatus) => (buttonStatus === status && !isFilteredIdsShown ? 'active' : 'inActive'), [status, isFilteredIdsShown]);
9
- return (_jsx(_Fragment, { children: availableStatuses === null || availableStatuses === void 0 ? void 0 : availableStatuses.map((s) => {
10
- var _a, _b;
11
- if (!Array.isArray(s.status)) {
12
- return (_createElement(StatusButton, Object.assign({}, s, { key: `status-button-array-${s.status}`, variant: getButtonStatus(s.status), onClick: () => {
13
- if (!Array.isArray(s.status)) {
14
- onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(s.status);
15
- }
16
- } })));
17
- }
18
- const isCurrentStatusDropdown = (_a = s.status) === null || _a === void 0 ? void 0 : _a.includes(status || '');
19
- const variant = isCurrentStatusDropdown ? 'active' : 'inActive';
20
- const statusLabel = isCurrentStatusDropdown ? status : s.status[0];
21
- return (_jsx("div", { children: _jsx(StatusButton, Object.assign({}, s, { label: t(statusLabel || ''), variant: variant, onButtonBodyClick: (buttonStatus) => {
22
- onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(buttonStatus);
23
- }, dropdownOptions: s.status.map((stat) => ({
24
- label: t(stat || ''),
25
- onClick: () => {
26
- onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(stat);
27
- },
28
- status: stat,
29
- })) })) }, (_b = s === null || s === void 0 ? void 0 : s.status) === null || _b === void 0 ? void 0 : _b[0]));
30
- }) }));
9
+ const [multiSelectValues, setMultiSelectValues] = useState(selectedCurrencies);
10
+ useEffect(() => {
11
+ if (status && multiSelectValues.length > 0) {
12
+ setMultiSelectValues([]);
13
+ }
14
+ }, [status, multiSelectValues.length]);
15
+ useEffect(() => {
16
+ if (!status) {
17
+ setMultiSelectValues(selectedCurrencies);
18
+ }
19
+ }, [selectedCurrencies, status]);
20
+ const getButtonStatus = useCallback((buttonStatus) => {
21
+ if (multiSelectValues.length > 0) {
22
+ return 'inActive';
23
+ }
24
+ return buttonStatus === status && !isFilteredIdsShown ? 'active' : 'inActive';
25
+ }, [status, isFilteredIdsShown, multiSelectValues.length]);
26
+ const handleMultiSelectChange = useCallback((selected) => {
27
+ setMultiSelectValues(selected);
28
+ onMultiSelectChange === null || onMultiSelectChange === void 0 ? void 0 : onMultiSelectChange(selected);
29
+ if (selected.length > 0) {
30
+ onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange('');
31
+ }
32
+ }, [onMultiSelectChange, onStatusChange]);
33
+ const handleStatusChange = useCallback((newStatus) => {
34
+ if (multiSelectValues.length > 0) {
35
+ setMultiSelectValues([]);
36
+ onMultiSelectChange === null || onMultiSelectChange === void 0 ? void 0 : onMultiSelectChange([]);
37
+ }
38
+ onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(newStatus);
39
+ }, [multiSelectValues.length, onMultiSelectChange, onStatusChange]);
40
+ useEffect(() => {
41
+ if (enableMultiSelectCurrency && multiSelectValues.length === 0 && selectedCurrencies.length === 0 && !status) {
42
+ handleStatusChange('all');
43
+ }
44
+ }, [enableMultiSelectCurrency, multiSelectValues.length, selectedCurrencies.length, status, handleStatusChange]);
45
+ return (_jsxs(_Fragment, { children: [enableMultiSelectCurrency && currencyOptions && (_jsx(MultiSelectStatusButton, { options: currencyOptions, selectedValues: multiSelectValues, onSelectionChange: handleMultiSelectChange, label: t('Currencies') || 'Currencies', variant: multiSelectValues.length > 0 && !status ? 'active' : 'inActive' })), availableStatuses === null || availableStatuses === void 0 ? void 0 : availableStatuses.map((s) => {
46
+ var _a, _b;
47
+ if (!Array.isArray(s.status)) {
48
+ return (_createElement(StatusButton, Object.assign({}, s, { key: `status-button-array-${s.status}`, variant: getButtonStatus(s.status), onClick: () => {
49
+ if (!Array.isArray(s.status)) {
50
+ handleStatusChange(s.status);
51
+ }
52
+ } })));
53
+ }
54
+ const isCurrentStatusDropdown = (_a = s.status) === null || _a === void 0 ? void 0 : _a.includes(status || '');
55
+ const variant = multiSelectValues.length > 0 ? 'inActive' : isCurrentStatusDropdown ? 'active' : 'inActive';
56
+ const statusLabel = isCurrentStatusDropdown ? status : s.status[0];
57
+ return (_jsx("div", { children: _jsx(StatusButton, Object.assign({}, s, { label: t(statusLabel || ''), variant: variant, onButtonBodyClick: (buttonStatus) => {
58
+ handleStatusChange(buttonStatus);
59
+ }, dropdownOptions: s.status.map((stat) => ({
60
+ label: t(stat || ''),
61
+ onClick: () => {
62
+ handleStatusChange(stat);
63
+ },
64
+ status: stat,
65
+ })) })) }, (_b = s === null || s === void 0 ? void 0 : s.status) === null || _b === void 0 ? void 0 : _b[0]));
66
+ })] }));
31
67
  }
32
68
  export default memo(StatusBar);
@@ -1,2 +1,2 @@
1
1
  import { ChevronIconProps } from './type';
2
- export declare function ChevronIcon({ isActive }: ChevronIconProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ChevronIcon({ isActive, disableHover }: ChevronIconProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useTheme } from '@mui/material';
4
- export function ChevronIcon({ isActive }) {
4
+ export function ChevronIcon({ isActive, disableHover }) {
5
5
  const [isHovered, setIsHovered] = useState(false);
6
6
  const theme = useTheme();
7
7
  const handleMouseEnter = () => {
8
- setIsHovered(true);
8
+ if (!disableHover) {
9
+ setIsHovered(true);
10
+ }
9
11
  };
10
12
  const handleMouseLeave = () => {
11
13
  setIsHovered(false);
@@ -58,6 +58,7 @@ export const ChevronContainer = styled('span')(() => ({
58
58
  right: '0',
59
59
  bottom: '0',
60
60
  overflow: 'hidden',
61
+ transition: 'opacity 1s ease',
61
62
  }));
62
63
  export const Label = styled(Box)(({ variant }) => ({
63
64
  display: 'flex',
@@ -15,8 +15,11 @@ export interface StatusButtonProps extends Omit<ButtonProps, 'variant' | 'childr
15
15
  dropdownOptions?: Array<MenuItemI & {
16
16
  status: TableHeaderStatus;
17
17
  }>;
18
+ render?: (status: TableHeaderStatus) => ReactNode;
19
+ onMultiSelectChange?: (status: TableHeaderStatus[]) => void;
18
20
  }
19
21
  export interface ChevronIconProps {
20
22
  isActive?: boolean;
23
+ disableHover?: boolean;
21
24
  }
22
25
  export type StatusButtonIcon = keyof typeof statusButtonIcons;
@@ -86,5 +86,7 @@ export { default as FlagDetails } from './FlagDetails';
86
86
  export { default as TapLoader } from './Loaders';
87
87
  export { default as Error } from './Error';
88
88
  export { default as StatusBar } from './StatusBar';
89
+ export { default as MultiSelectStatusButton, type CurrencyOption, type MultiSelectStatusButtonProps } from './MultiSelectStatusButton';
89
90
  export * from './Chip';
90
91
  export * from './TableHeader_V2';
92
+ export { default as RangeCalender } from './RangeCalender';
@@ -86,5 +86,7 @@ export { default as FlagDetails } from './FlagDetails';
86
86
  export { default as TapLoader } from './Loaders';
87
87
  export { default as Error } from './Error';
88
88
  export { default as StatusBar } from './StatusBar';
89
+ export { default as MultiSelectStatusButton } from './MultiSelectStatusButton';
89
90
  export * from './Chip';
90
91
  export * from './TableHeader_V2';
92
+ export { default as RangeCalender } from './RangeCalender';