@tap-payments/os-micro-frontend-shared 0.0.90 → 0.0.92-multi-select-status-button-v1

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 (86) 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 +99 -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 +36 -0
  11. package/build/components/MultiSelectStatusButton/style.js +59 -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/StatusBar/example.d.ts +2 -0
  67. package/build/components/StatusBar/example.js +72 -0
  68. package/build/components/StatusBar/index.d.ts +1 -0
  69. package/build/components/StatusBar/index.js +1 -0
  70. package/build/components/TableCells/CustomCells/ActionCell/constant.d.ts +3 -0
  71. package/build/components/TableCells/CustomCells/ActionCell/constant.js +4 -1
  72. package/build/components/TableCells/CustomCells/ActionCell/hooks/useActionCell.d.ts +1 -1
  73. package/build/components/TableCells/CustomCells/ActionCell/style.d.ts +1 -1
  74. package/build/components/TableHeader_V2/components/StatusButtons/ChevronIcon.d.ts +1 -1
  75. package/build/components/TableHeader_V2/components/StatusButtons/ChevronIcon.js +4 -2
  76. package/build/components/TableHeader_V2/components/StatusButtons/type.d.ts +3 -0
  77. package/build/components/VirtualTable/SheetView/SheetViewVirtualTable.js +3 -1
  78. package/build/components/VirtualTable/SheetView/style.js +1 -0
  79. package/build/components/VirtualTable/components/virtualScroll/ListItemWrapper.js +2 -7
  80. package/build/components/VirtualTable/style.d.ts +1 -0
  81. package/build/components/VirtualTable/style.js +20 -2
  82. package/build/components/index.d.ts +2 -0
  83. package/build/components/index.js +2 -0
  84. package/build/constants/assets.d.ts +2 -0
  85. package/build/constants/assets.js +2 -0
  86. 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);
@@ -0,0 +1,2 @@
1
+ declare function StatusBarExample(): import("react/jsx-runtime").JSX.Element;
2
+ export default StatusBarExample;
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box } from '@mui/material';
4
+ import StatusBar from './StatusBar';
5
+ function StatusBarExample() {
6
+ const [selectedStatus, setSelectedStatus] = useState('all');
7
+ const [selectedCurrencies, setSelectedCurrencies] = useState([]);
8
+ const currencyOptions = [
9
+ {
10
+ code: 'SAR',
11
+ name: 'SAR',
12
+ flagCode: 'SA',
13
+ status: 'SAR',
14
+ },
15
+ {
16
+ code: 'USD',
17
+ name: 'USD',
18
+ flagCode: 'US',
19
+ status: 'USD',
20
+ },
21
+ {
22
+ code: 'EUR',
23
+ name: 'Euro',
24
+ flagCode: 'EU',
25
+ status: 'eur',
26
+ },
27
+ {
28
+ code: 'GBP',
29
+ name: 'GBP',
30
+ flagCode: 'GB',
31
+ status: 'gbp',
32
+ },
33
+ {
34
+ code: 'JPY',
35
+ name: 'JPY',
36
+ flagCode: 'JP',
37
+ status: 'jpy',
38
+ },
39
+ ];
40
+ const availableStatuses = [
41
+ {
42
+ status: 'all',
43
+ label: 'All',
44
+ badgeCount: 150,
45
+ },
46
+ {
47
+ status: 'completed',
48
+ label: 'Completed',
49
+ badgeCount: 85,
50
+ },
51
+ {
52
+ status: 'pending',
53
+ label: 'Pending',
54
+ badgeCount: 45,
55
+ },
56
+ {
57
+ status: ['initiated', 'captured', 'authorized'],
58
+ label: 'Processing',
59
+ badgeCount: 20,
60
+ },
61
+ ];
62
+ const handleStatusChange = (status) => {
63
+ console.log('Status changing from:', selectedStatus, 'to:', status);
64
+ setSelectedStatus(status);
65
+ };
66
+ const handleMultiSelectChange = (currencies) => {
67
+ setSelectedCurrencies(currencies);
68
+ console.log('Selected currencies:', currencies);
69
+ };
70
+ return (_jsxs(Box, Object.assign({ sx: { padding: 2 } }, { children: [_jsxs(Box, Object.assign({ sx: { marginBottom: 2 } }, { children: [_jsx("h3", { children: "Enhanced StatusBar with Multiselect Currency Dropdown" }), _jsx("p", { children: "This example demonstrates the enhanced StatusBar component with multiselect currency functionality. The currency dropdown shows checkboxes with currency flags and names." }), _jsxs("p", { children: [_jsx("strong", { children: "Features:" }), _jsxs("ul", { children: [_jsx("li", { children: "Button body click behavior same as existing StatusButton" }), _jsx("li", { children: "Dropdown opens only when clicking the chevron icon" }), _jsx("li", { children: "Count badge shows number of selected currencies" }), _jsx("li", { children: "Active state styling matches existing StatusButton" })] })] })] })), _jsx(Box, Object.assign({ sx: { display: 'flex', gap: 1, flexWrap: 'wrap' } }, { children: _jsx(StatusBar, { status: selectedStatus, availableStatuses: availableStatuses, isFilteredIdsShown: false, onStatusChange: handleStatusChange, onMultiSelectChange: handleMultiSelectChange, enableMultiSelectCurrency: true, currencyOptions: currencyOptions, selectedCurrencies: selectedCurrencies }) })), _jsxs(Box, Object.assign({ sx: { marginTop: 2 } }, { children: [_jsx("h4", { children: "Current State:" }), _jsxs("p", { children: [_jsx("strong", { children: "Selected Status:" }), " ", _jsx("code", { children: selectedStatus })] }), _jsxs("p", { children: [_jsx("strong", { children: "Selected Currencies:" }), " ", selectedCurrencies.length > 0 ? selectedCurrencies.join(', ') : 'None'] }), _jsxs("p", { children: [_jsx("strong", { children: "Note:" }), " Only one status button should be active at a time. The active button will have a blue background."] })] }))] })));
71
+ }
72
+ export default StatusBarExample;
@@ -1,2 +1,3 @@
1
1
  import StatusBar from './StatusBar';
2
2
  export default StatusBar;
3
+ export { default as StatusBarExample } from './example';
@@ -1,2 +1,3 @@
1
1
  import StatusBar from './StatusBar';
2
2
  export default StatusBar;
3
+ export { default as StatusBarExample } from './example';
@@ -25,4 +25,7 @@ export declare const actionIcons: {
25
25
  reverse: string;
26
26
  destination: string;
27
27
  invoice: string;
28
+ users: string;
29
+ brand: string;
30
+ clipboard: string;
28
31
  };
@@ -1,5 +1,5 @@
1
1
  import { BadgeVariants } from '../../../CountBadge';
2
- import { flagIcon, clockIcon, disputeIcon, redFlagIcon, cancelledIcon, closedFlagIcon, orangeFlagIcon, refundInitiatedIcon, viewInvoiceIcon, reverseActionIcon, voidedIcon, capturedDropdownIcon, destinationReversedTableIcon, } from '../../../../constants/index.js';
2
+ import { flagIcon, clockIcon, disputeIcon, redFlagIcon, cancelledIcon, closedFlagIcon, orangeFlagIcon, refundInitiatedIcon, viewInvoiceIcon, reverseActionIcon, voidedIcon, capturedDropdownIcon, destinationReversedTableIcon, brandPlaceholderIcon, usersIcon, clipboardIcon, } from '../../../../constants/index.js';
3
3
  export const flags = {
4
4
  GRAY: { icon: closedFlagIcon, color: '#CFCFCF' },
5
5
  ORANGE: { icon: orangeFlagIcon, color: '#FFD503' },
@@ -21,4 +21,7 @@ export const actionIcons = {
21
21
  reverse: reverseActionIcon,
22
22
  destination: destinationReversedTableIcon,
23
23
  invoice: viewInvoiceIcon,
24
+ users: usersIcon,
25
+ brand: brandPlaceholderIcon,
26
+ clipboard: clipboardIcon,
24
27
  };
@@ -12,7 +12,7 @@ export declare function useActionCell({ actions, isDropdownShown, onCloseDropdow
12
12
  label: string;
13
13
  onClick: (e: React.MouseEvent<HTMLLIElement, MouseEvent>) => void;
14
14
  onRightClick?: ((e: React.MouseEvent<HTMLLIElement, MouseEvent>) => void) | undefined;
15
- icon: "reverse" | "refund" | "destination" | "cancel" | "capture" | "flag" | "dispute" | "void" | "clock" | "invoice";
15
+ icon: "brand" | "users" | "reverse" | "refund" | "destination" | "cancel" | "capture" | "flag" | "dispute" | "void" | "clock" | "invoice" | "clipboard";
16
16
  isLoading?: boolean | undefined;
17
17
  isError?: boolean | undefined;
18
18
  isSuccess?: boolean | undefined;
@@ -280,5 +280,5 @@ export declare const ActionIcon: import("@emotion/styled").StyledComponent<{
280
280
  sizes?: string | undefined;
281
281
  srcSet?: string | undefined;
282
282
  } & import("framer-motion").MotionProps & import("react").RefAttributes<HTMLImageElement> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
283
- icon?: "reverse" | "refund" | "destination" | "cancel" | "capture" | "flag" | "dispute" | "void" | "clock" | "invoice" | undefined;
283
+ icon?: "brand" | "users" | "reverse" | "refund" | "destination" | "cancel" | "capture" | "flag" | "dispute" | "void" | "clock" | "invoice" | "clipboard" | undefined;
284
284
  }, {}, {}>;
@@ -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);