@tap-payments/os-micro-frontend-shared 0.1.299-test.10 → 0.1.300-test.1

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.
@@ -0,0 +1,16 @@
1
+ import { CustomColumnFilterProps } from '../VirtualTables';
2
+ export interface ListColumnFilterProps extends CustomColumnFilterProps {
3
+ apiKey: string;
4
+ placeholder: string;
5
+ onConfirm: () => void;
6
+ onClear: () => void;
7
+ inputValue: string;
8
+ onInputValueChange: (val: string) => void;
9
+ list: {
10
+ id: string;
11
+ name: string;
12
+ }[];
13
+ onClickItem: (id: string) => void;
14
+ selectedListItems: string[];
15
+ }
16
+ export default function ListColumnFilter({ anchorEl, onCloseDropdown, list, apiKey, placeholder, onConfirm, onClear, onClickItem, inputValue, onInputValueChange, selectedListItems, }: ListColumnFilterProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTranslation } from 'react-i18next';
3
+ import { useMemo } from 'react';
4
+ import { Box } from '@mui/material';
5
+ import { SearchListInput, FilterTitle, FilterOkayButton, FilterFooter, FilterCancelButton } from '../index.js';
6
+ import { FilterMenu, Container, ListColumnFilterID, ListColumnFilterMenuItem, ListColumnFilterName, ListColumnFilterWrapper } from './style';
7
+ export default function ListColumnFilter({ anchorEl, onCloseDropdown, list, apiKey, placeholder, onConfirm, onClear, onClickItem, inputValue, onInputValueChange, selectedListItems, }) {
8
+ const { t } = useTranslation();
9
+ const handleOkButtonClick = (e) => {
10
+ onConfirm();
11
+ onCloseDropdown(e);
12
+ };
13
+ const onCancel = (e) => {
14
+ onClear();
15
+ onCloseDropdown(e);
16
+ };
17
+ const isInputHasValue = !!inputValue.trim().length;
18
+ const onClickResetInput = () => {
19
+ if (isInputHasValue)
20
+ onInputValueChange('');
21
+ };
22
+ const onChangeInput = (value) => {
23
+ onInputValueChange(value);
24
+ };
25
+ // filter the list based on input value
26
+ const filteredList = useMemo(() => {
27
+ if (!isInputHasValue)
28
+ return list;
29
+ return list === null || list === void 0 ? void 0 : list.filter((item) => item.name.toLowerCase().includes(inputValue.trim().toLowerCase()));
30
+ }, [inputValue, isInputHasValue, list]);
31
+ const noListDataAvailable = (isInputHasValue && !filteredList.length) || !list.length;
32
+ const selectedSet = useMemo(() => new Set(selectedListItems), [selectedListItems]);
33
+ return (_jsxs(FilterMenu, Object.assign({ open: !!anchorEl, anchorEl: anchorEl }, { children: [_jsx(FilterTitle, Object.assign({ component: "span" }, { children: t('filterBy') })), _jsx(SearchListInput, { value: inputValue, name: apiKey, placeholder: placeholder, onSearchChange: onChangeInput, onSearchReset: onClickResetInput }), _jsx(Container, { children: !noListDataAvailable ? (filteredList === null || filteredList === void 0 ? void 0 : filteredList.map((item, index) => (_jsx(ListColumnFilterMenuItem, Object.assign({ isSelected: selectedSet.has(item === null || item === void 0 ? void 0 : item.id), onClick: () => {
34
+ onClickItem(item === null || item === void 0 ? void 0 : item.id);
35
+ } }, { children: _jsxs(ListColumnFilterWrapper, { children: [_jsx(ListColumnFilterName, { children: item.name }), _jsx(ListColumnFilterID, Object.assign({ component: "span" }, { children: item.id }))] }) }), `${item.id}-${index}`)))) : (_jsx(Box, Object.assign({ sx: { p: 1, textAlign: 'center', fontSize: '11px' } }, { children: "No data available" }))) }), _jsxs(FilterFooter, { children: [_jsx(FilterCancelButton, Object.assign({ onClick: onCancel }, { children: t('cancel') })), _jsx(FilterOkayButton, Object.assign({ onClick: handleOkButtonClick }, { children: t('okay') }))] })] })));
36
+ }
@@ -0,0 +1 @@
1
+ export { default as ListColumnFilter, type ListColumnFilterProps } from './ListColumnFilter';
@@ -0,0 +1 @@
1
+ export { default as ListColumnFilter } from './ListColumnFilter';
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ export declare const Container: 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 ListColumnFilterMenuItem: import("@emotion/styled").StyledComponent<import("../MenuItem/MenuItem").MenuItemProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
6
+ export declare const ListColumnFilterWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
7
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
8
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
9
+ export declare const ListColumnFilterID: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
10
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
11
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
12
+ export declare const ListColumnFilterName: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
13
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
14
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
15
+ export declare const FilterMenu: import("@emotion/styled").StyledComponent<Omit<import("../Menu/Menu").MenuProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
@@ -0,0 +1,35 @@
1
+ import { styled, alpha } from '@mui/material/styles';
2
+ import Box from '@mui/material/Box';
3
+ import { Menu, MenuItem } from '../index.js';
4
+ export const Container = styled(Box)(() => ({
5
+ maxHeight: '210px',
6
+ maxWidth: '177px',
7
+ overflowY: 'auto',
8
+ padding: 0,
9
+ }));
10
+ export const ListColumnFilterMenuItem = styled(MenuItem)(() => ({
11
+ padding: '12px 16px',
12
+ border: 'none !important',
13
+ '&:hover': { boxShadow: '0px 0px 16px 0px #00000021' },
14
+ maxHeight: 35,
15
+ minHeight: 35,
16
+ }));
17
+ export const ListColumnFilterWrapper = styled(Box)(() => ({
18
+ display: 'flex',
19
+ flexDirection: 'column',
20
+ gap: '2px',
21
+ }));
22
+ export const ListColumnFilterID = styled(Box)(({ theme }) => ({
23
+ color: alpha(theme.palette.text.primary, 0.5),
24
+ fontSize: '9px',
25
+ }));
26
+ export const ListColumnFilterName = styled(Box)(() => ({
27
+ fontSize: '11px',
28
+ overflow: 'hidden',
29
+ textOverflow: 'ellipsis',
30
+ whiteSpace: 'nowrap',
31
+ maxWidth: '120px',
32
+ }));
33
+ export const FilterMenu = styled(Menu)(() => ({
34
+ marginBottom: '8px',
35
+ }));
@@ -0,0 +1,5 @@
1
+ type UserVerificationProps = {
2
+ status: string;
3
+ };
4
+ export declare const VerificationIcon: ({ status }: UserVerificationProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import startCase from 'lodash/startCase';
3
+ import { Tooltip } from '../index.js';
4
+ import { statusIcon } from './constant';
5
+ export const VerificationIcon = ({ status }) => {
6
+ return (_jsx(Tooltip, Object.assign({ title: startCase(status) }, { children: _jsx("img", { loading: "lazy", src: statusIcon[((status === null || status === void 0 ? void 0 : status.toLowerCase()) || '')] || statusIcon.default, alt: status, width: 10.5, height: 10.5 }) })));
7
+ };
@@ -0,0 +1,5 @@
1
+ type Props = {
2
+ status: string;
3
+ };
4
+ export declare const VerificationIconWithBg: ({ status }: Props) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import startCase from 'lodash/startCase';
3
+ import { Box, Tooltip } from '@mui/material';
4
+ import { statusIcon, statusIconBG } from './constant';
5
+ export const VerificationIconWithBg = ({ status }) => {
6
+ return (_jsx(Tooltip, Object.assign({ title: startCase(status) }, { children: _jsx(Box, Object.assign({ component: 'li', sx: {
7
+ display: 'flex',
8
+ alignItems: 'center',
9
+ justifyContent: 'center',
10
+ width: '24px',
11
+ height: '24px',
12
+ borderRadius: '50%',
13
+ backgroundColor: statusIconBG[status]
14
+ } }, { children: _jsx("img", { loading: 'lazy', src: statusIcon[((status === null || status === void 0 ? void 0 : status.toLowerCase()) || '')] || statusIcon.default, alt: status, width: 10.5, height: 10.5 }) })) })));
15
+ };
@@ -0,0 +1,2 @@
1
+ export declare const statusIcon: Record<string, string>;
2
+ export declare const statusIconBG: Record<string, string>;
@@ -0,0 +1,18 @@
1
+ import { blueVerifyIcon, grayVerifyIcon, greenVerifyIcon, redVerifyIcon } from '../../constants/index.js';
2
+ export const statusIcon = {
3
+ verified: greenVerifyIcon,
4
+ reviewed: blueVerifyIcon,
5
+ completed: blueVerifyIcon,
6
+ incomplete: grayVerifyIcon,
7
+ complete: blueVerifyIcon,
8
+ rejected: redVerifyIcon,
9
+ default: grayVerifyIcon,
10
+ };
11
+ export const statusIconBG = {
12
+ incomplete: '#D9D9D929',
13
+ completed: '#11D0FA29',
14
+ complete: '#11D0FA29',
15
+ reviewed: '#11D0FA29',
16
+ verified: '#2ACE0029',
17
+ rejected: '#FF3D0029',
18
+ };
@@ -0,0 +1,4 @@
1
+ export { VerificationIcon } from './VerificationIcon';
2
+ export { VerificationIconWithBg } from './VerificationIconWithBg';
3
+ export * from './constant';
4
+ export * from './type';
@@ -0,0 +1,4 @@
1
+ export { VerificationIcon } from './VerificationIcon';
2
+ export { VerificationIconWithBg } from './VerificationIconWithBg';
3
+ export * from './constant';
4
+ export * from './type';
@@ -0,0 +1,2 @@
1
+ import { statusIcon } from './constant';
2
+ export type VerificationStatus = keyof typeof statusIcon;
@@ -0,0 +1 @@
1
+ export {};
@@ -151,3 +151,4 @@ export * from './AmountConversionFilter';
151
151
  export * from './PartnersFilter';
152
152
  export * from './SalesChannelFilter';
153
153
  export * from './ReferenceTypeFilter';
154
+ export * from './ListColumnFilter';
@@ -151,3 +151,4 @@ export * from './AmountConversionFilter';
151
151
  export * from './PartnersFilter';
152
152
  export * from './SalesChannelFilter';
153
153
  export * from './ReferenceTypeFilter';
154
+ export * from './ListColumnFilter';
@@ -3,8 +3,6 @@ export declare const PAYMENT_TYPES: {
3
3
  label: string;
4
4
  icon: string;
5
5
  }[];
6
- export declare const PAYMENT_INITIATED_CUSTOMER_KEY = "customer";
7
- export declare const PAYMENT_INITIATED_MERCHANT_KEY = "merchant";
8
6
  export declare const PAYMENT_INITIATED_OPTIONS: {
9
7
  key: string;
10
8
  value: string;
@@ -36,9 +36,7 @@ export const PAYMENT_TYPES = [
36
36
  icon: `${lightUrl}/cash.svg`,
37
37
  },
38
38
  ];
39
- export const PAYMENT_INITIATED_CUSTOMER_KEY = 'customer';
40
- export const PAYMENT_INITIATED_MERCHANT_KEY = 'merchant';
41
39
  export const PAYMENT_INITIATED_OPTIONS = [
42
- { key: PAYMENT_INITIATED_CUSTOMER_KEY, value: 'true', label: 'Customer' },
43
- { key: PAYMENT_INITIATED_MERCHANT_KEY, value: 'false', label: 'Merchant' },
40
+ { key: 'customer', value: 'true', label: 'Customer' },
41
+ { key: 'merchant', value: 'false', label: 'Merchant' },
44
42
  ];
@@ -4,12 +4,3 @@ export interface SegmentData extends Segment {
4
4
  defaultCountry?: SegmentCountry;
5
5
  defaultEntity?: Entity;
6
6
  }
7
- export declare enum SEGMENTS_IDS {
8
- BUSINESS = "BUSINESS",
9
- PLATFORM = "PLATFORM",
10
- DEVELOPMENT = "DEVELOPMENT",
11
- PAYMENT_TECHNOLOGY = "PAYMENT_TECHNOLOGY",
12
- PAYMENT_FACILITATOR = "PAYMENT_FACILITATOR",
13
- PAYMENT_ACQUIRER = "PAYMENT_ACQUIRER",
14
- PAYMENT_GATEWAY = "PAYMENT_GATEWAY"
15
- }
@@ -1,10 +1 @@
1
- export var SEGMENTS_IDS;
2
- (function (SEGMENTS_IDS) {
3
- SEGMENTS_IDS["BUSINESS"] = "BUSINESS";
4
- SEGMENTS_IDS["PLATFORM"] = "PLATFORM";
5
- SEGMENTS_IDS["DEVELOPMENT"] = "DEVELOPMENT";
6
- SEGMENTS_IDS["PAYMENT_TECHNOLOGY"] = "PAYMENT_TECHNOLOGY";
7
- SEGMENTS_IDS["PAYMENT_FACILITATOR"] = "PAYMENT_FACILITATOR";
8
- SEGMENTS_IDS["PAYMENT_ACQUIRER"] = "PAYMENT_ACQUIRER";
9
- SEGMENTS_IDS["PAYMENT_GATEWAY"] = "PAYMENT_GATEWAY";
10
- })(SEGMENTS_IDS || (SEGMENTS_IDS = {}));
1
+ export {};
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.299-test.10",
5
- "testVersion": 10,
4
+ "version": "0.1.300-test.1",
5
+ "testVersion": 1,
6
6
  "type": "module",
7
7
  "main": "build/index.js",
8
8
  "module": "build/index.js",