@tap-payments/os-micro-frontend-shared 0.1.149 → 0.1.151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,12 +5,11 @@ interface AppServicesProps extends Pick<ServiceItemProps, 'onClickServiceItem'>
|
|
|
5
5
|
serviceCode: string;
|
|
6
6
|
services: AppService[];
|
|
7
7
|
isMaximized: boolean;
|
|
8
|
-
appCode: string;
|
|
9
8
|
dimensions: {
|
|
10
9
|
width: string | number;
|
|
11
10
|
};
|
|
12
11
|
onChangeServiceCode?: (serviceCode: string) => void;
|
|
13
12
|
}
|
|
14
|
-
declare function AppServices({ isMaximized, serviceCode, dimensions,
|
|
13
|
+
declare function AppServices({ isMaximized, serviceCode, dimensions, services, onChangeServiceCode, onClickServiceItem }: Readonly<AppServicesProps>): import("react/jsx-runtime").JSX.Element;
|
|
15
14
|
declare const _default: React.MemoExoticComponent<typeof AppServices>;
|
|
16
15
|
export default _default;
|
|
@@ -3,27 +3,20 @@ import React, { memo, useEffect, useRef, useState, useMemo } from 'react';
|
|
|
3
3
|
import { Box } from '@mui/material';
|
|
4
4
|
import { useTranslation } from 'react-i18next';
|
|
5
5
|
import { StyledIconForDropDown, StyledMenuTitle, StyledOption, StyledSelect, StyledSelectComponent } from '../index.js';
|
|
6
|
-
import {
|
|
6
|
+
import { blackHeadingDownArrow, blueHeadingDropdownArrow } from '../../constants/index.js';
|
|
7
7
|
import { getNameText } from '../../utils/index.js';
|
|
8
8
|
import ServiceItem from './ServiceItem';
|
|
9
9
|
import { Wrapper } from './style';
|
|
10
10
|
const selectedIcon = (props) => {
|
|
11
11
|
return (_jsx(StyledIconForDropDown, { src: props.className.includes('MuiSelect-iconOpen') ? blueHeadingDropdownArrow : blackHeadingDownArrow, alt: "dropdown" }));
|
|
12
12
|
};
|
|
13
|
-
function AppServices({ isMaximized, serviceCode, dimensions,
|
|
13
|
+
function AppServices({ isMaximized, serviceCode, dimensions, services, onChangeServiceCode, onClickServiceItem }) {
|
|
14
14
|
const [initServicesWidth, setInitServicesWidth] = useState(0);
|
|
15
15
|
const [isDropdown, setIsDropdown] = useState(false);
|
|
16
16
|
const [selectedOption, setSelectedOption] = useState('');
|
|
17
17
|
const servicesRef = useRef(null);
|
|
18
18
|
const [openDropdown, setOpenDropdown] = React.useState(false);
|
|
19
19
|
const { i18n } = useTranslation();
|
|
20
|
-
const servicesList = useMemo(() => {
|
|
21
|
-
var _a;
|
|
22
|
-
if (appCode === APP_CODES.account.code) {
|
|
23
|
-
return (_a = services.filter((service) => service.code === APP_CODES.account.services.account.code)) !== null && _a !== void 0 ? _a : [];
|
|
24
|
-
}
|
|
25
|
-
return services !== null && services !== void 0 ? services : [];
|
|
26
|
-
}, [appCode, services]);
|
|
27
20
|
const handleChange = (event) => {
|
|
28
21
|
setSelectedOption(event.target.value);
|
|
29
22
|
};
|
|
@@ -34,8 +27,8 @@ function AppServices({ isMaximized, serviceCode, dimensions, appCode, services,
|
|
|
34
27
|
// Revisit if issues arise with tab title updates during navigation.
|
|
35
28
|
const activeTabTitle = useMemo(() => {
|
|
36
29
|
var _a, _b;
|
|
37
|
-
return getNameText((_b = (_a =
|
|
38
|
-
}, [
|
|
30
|
+
return getNameText((_b = (_a = services.filter((service) => service.code.toLowerCase() === decodeURIComponent(serviceCode).toLowerCase())) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name, i18n.language);
|
|
31
|
+
}, [services, i18n.language, serviceCode]);
|
|
39
32
|
useEffect(() => {
|
|
40
33
|
setSelectedOption(activeTabTitle);
|
|
41
34
|
}, [activeTabTitle]);
|
|
@@ -54,7 +47,7 @@ function AppServices({ isMaximized, serviceCode, dimensions, appCode, services,
|
|
|
54
47
|
setOpenDropdown(false);
|
|
55
48
|
};
|
|
56
49
|
const renderValue = (selected) => _jsx(StyledSelectComponent, { children: selected });
|
|
57
|
-
return (_jsxs(Wrapper, Object.assign({ maximized: isMaximized }, { children: [!!(
|
|
50
|
+
return (_jsxs(Wrapper, Object.assign({ maximized: isMaximized }, { children: [!!(services === null || services === void 0 ? void 0 : services.length) && !isDropdown && (_jsx(Box, Object.assign({ ref: servicesRef, display: "flex", gap: "8px", flexDirection: "row", sx: { userSelect: 'none' } }, { children: services.map((service, idx) => (_jsx(ServiceItem, { activeCode: serviceCode, onClickServiceItem: onClickServiceItem, navigateToMenuItem: navigateToService, name: getNameText(service.name, i18n.language) || '', code: service.code }, `service-item-${service.code}-${idx}`))) }))), !!(services === null || services === void 0 ? void 0 : services.length) && isDropdown && (_jsx(StyledSelect, Object.assign({ open: openDropdown, onClick: handleOpenDropdown, displayEmpty: true, inputProps: { 'aria-label': 'Without label' }, MenuProps: {
|
|
58
51
|
anchorOrigin: {
|
|
59
52
|
vertical: 40,
|
|
60
53
|
horizontal: 83,
|
|
@@ -74,7 +67,7 @@ function AppServices({ isMaximized, serviceCode, dimensions, appCode, services,
|
|
|
74
67
|
paddingTop: '0px !important',
|
|
75
68
|
paddingBottom: '0px !important',
|
|
76
69
|
},
|
|
77
|
-
} }, { children:
|
|
70
|
+
} }, { children: services.map((service, idx) => {
|
|
78
71
|
var _a;
|
|
79
72
|
if (((_a = getNameText(service.name, i18n.language)) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.toLowerCase())) {
|
|
80
73
|
return null;
|
|
@@ -13,6 +13,6 @@ function AppServicesBar({ appCode, services, isMaximized, dimensions, serviceCod
|
|
|
13
13
|
};
|
|
14
14
|
if (!appCode || !(services === null || services === void 0 ? void 0 : services.length))
|
|
15
15
|
return null;
|
|
16
|
-
return (_jsx(StyledAppHeaderWrapper, Object.assign({ id: "app-header-wrapper", onPointerDown: onPointerDown, onPointerUp: onPointerUp, isDragging: isDragging, sx: sx }, { children: _jsx(AppServices, { onClickServiceItem: onClickServiceItem, dimensions: { width: dimensions.width }, serviceCode: serviceCode, services: services, isMaximized: isMaximized,
|
|
16
|
+
return (_jsx(StyledAppHeaderWrapper, Object.assign({ id: "app-header-wrapper", onPointerDown: onPointerDown, onPointerUp: onPointerUp, isDragging: isDragging, sx: sx }, { children: _jsx(AppServices, { onClickServiceItem: onClickServiceItem, dimensions: { width: dimensions.width }, serviceCode: serviceCode, services: services, isMaximized: isMaximized, onChangeServiceCode: onChangeServiceCode }) })));
|
|
17
17
|
}
|
|
18
18
|
export default memo(AppServicesBar);
|
package/package.json
CHANGED