@tap-payments/os-micro-frontend-shared 0.1.48-test.7 → 0.1.49
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.
- package/LICENSE +21 -21
- package/README.md +12 -12
- package/build/components/AccountDropdown/style.d.ts +1 -1
- package/build/components/ActivityAreaChart/styles.d.ts +3 -3
- package/build/components/AppServices/style.d.ts +1 -1
- package/build/components/CircularProgressWithLabel/style.d.ts +1 -1
- package/build/components/DockButton/style.d.ts +1 -1
- package/build/components/FileUpload/style.d.ts +2 -2
- package/build/components/FileUploader/style.d.ts +1 -1
- package/build/components/IconWithLabel/style.d.ts +1 -1
- package/build/components/IconsDropdown/style.d.ts +2 -2
- package/build/components/JSONViewer/style.d.ts +1 -1
- package/build/components/LabeledIconDropdown/style.d.ts +3 -3
- package/build/components/MultiSelectWithSearch/style.d.ts +3 -3
- package/build/components/NestedDropdown/styles.d.ts +1 -1
- package/build/components/ProgressBar/style.d.ts +1 -1
- package/build/components/ProgressRing/style.d.ts +2 -2
- package/build/components/RFH/Inputs/SelectWithAccordion/style.d.ts +3 -3
- package/build/components/SelectDropdown/style.d.ts +1 -1
- package/build/components/SelectWithSearch/style.d.ts +3 -3
- package/build/components/StatusChipWithCopy/utils.d.ts +1 -1
- package/build/components/StatusLabel/style.d.ts +1 -1
- package/build/components/TableHeader/style.d.ts +1 -1
- package/build/components/Timepicker/style.d.ts +2 -2
- package/build/components/ToolbarIcon/ExpandButton/style.d.ts +1 -1
- package/build/components/Tooltip/Tooltip.d.ts +1 -2
- package/build/components/Tooltip/Tooltip.js +2 -22
- package/build/components/VirtualTables/SheetViewVirtualTable/SheetViewVirtualTable.js +2 -1
- package/build/components/VirtualTables/SheetViewVirtualTable/components/SheetViewTableHeaderCell.js +10 -3
- package/build/components/VirtualTables/SheetViewVirtualTable/components/VirtualTable.d.ts +1 -0
- package/build/components/VirtualTables/SheetViewVirtualTable/hooks/useTableState.d.ts +2 -0
- package/build/components/VirtualTables/SheetViewVirtualTable/hooks/useTableState.js +15 -2
- package/build/components/VirtualTables/SheetViewVirtualTable/hooks/useVirtualTableContainer.d.ts +3 -1
- package/build/components/VirtualTables/SheetViewVirtualTable/hooks/useVirtualTableContainer.js +4 -3
- package/build/components/VirtualTables/components/TableFooter/style.d.ts +2 -2
- package/build/components/VirtualTables/components/TableRow.d.ts +2 -1
- package/build/components/VirtualTables/components/TableRow.js +20 -7
- package/build/components/VirtualTables/components/style.d.ts +3 -0
- package/build/components/VirtualTables/components/style.js +7 -3
- package/build/components/Widget/Widget.d.ts +2 -1
- package/build/components/Widget/Widget.js +4 -4
- package/build/components/Widget/style.d.ts +1 -1
- package/build/components/WindowAppIcon/style.d.ts +1 -1
- package/build/utils/style.d.ts +10 -1
- package/build/utils/style.js +30 -5
- package/package.json +3 -3
|
@@ -13,11 +13,12 @@ interface ITableRowProps<R = any> {
|
|
|
13
13
|
isSheetView?: boolean;
|
|
14
14
|
selectedCell?: string | null;
|
|
15
15
|
selectedColumn?: string | null;
|
|
16
|
+
selectedRow?: number | null;
|
|
16
17
|
selectedChip?: string | null;
|
|
17
18
|
onCellClick?: (rowIndex: number, columnIndex: number, event: React.MouseEvent, pinnedType?: 'start' | 'end') => void;
|
|
18
19
|
onChipClick?: (rowIndex: number, columnIndex: number, event: React.MouseEvent, chipIndex: number, pinnedType?: 'start' | 'end') => void;
|
|
19
20
|
isLastRow?: boolean;
|
|
20
21
|
}
|
|
21
|
-
declare function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell, selectedColumn, selectedChip, onCellClick, isLastRow, onChipClick, }: Readonly<ITableRowProps>): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
declare function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell, selectedColumn, selectedRow, selectedChip, onCellClick, isLastRow, onChipClick, }: Readonly<ITableRowProps>): import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
declare const _default: import("react").MemoExoticComponent<typeof TableRow>;
|
|
23
24
|
export default _default;
|
|
@@ -4,8 +4,8 @@ import { memo, useMemo } from 'react';
|
|
|
4
4
|
import { Box } from '@mui/material';
|
|
5
5
|
import { areEqual } from 'react-window';
|
|
6
6
|
import { StyledCell, StyledTableRow } from './style';
|
|
7
|
-
import { getSelectionStyles } from '../../../utils/index.js';
|
|
8
|
-
function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell = null, selectedColumn = null, selectedChip = null, onCellClick, isLastRow = false, onChipClick, }) {
|
|
7
|
+
import { getSelectionStyles, getRowSelectionBorderStyles } from '../../../utils/index.js';
|
|
8
|
+
function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell = null, selectedColumn = null, selectedRow = null, selectedChip = null, onCellClick, isLastRow = false, onChipClick, }) {
|
|
9
9
|
const renderCell = (column, rowIndex, colIndex) => {
|
|
10
10
|
const { render, format, selector } = column;
|
|
11
11
|
const handleChipClick = (event, chipIndex) => {
|
|
@@ -24,16 +24,20 @@ function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell = n
|
|
|
24
24
|
})) : (_jsx(_Fragment, { children: formattedValue }));
|
|
25
25
|
};
|
|
26
26
|
const content = useMemo(() => (_jsx(_Fragment, { children: columns.map((column, colIndex) => {
|
|
27
|
-
var _a, _b;
|
|
27
|
+
var _a, _b, _c;
|
|
28
28
|
const cellKey = `${(_a = column.pinned) !== null && _a !== void 0 ? _a : 'default'}-${index}-${colIndex}`;
|
|
29
29
|
const isCellSelected = selectedCell === cellKey;
|
|
30
30
|
const columnKey = `${(_b = column.pinned) !== null && _b !== void 0 ? _b : 'default'}-${colIndex}`;
|
|
31
31
|
const isColumnSelected = selectedColumn === columnKey;
|
|
32
|
-
const
|
|
32
|
+
const isRowSelected = selectedRow === index;
|
|
33
|
+
const isSelected = isCellSelected || isColumnSelected || isRowSelected;
|
|
34
|
+
const nextCellKey = colIndex < columns.length - 1 ? `${(_c = column.pinned) !== null && _c !== void 0 ? _c : 'default'}-${index}-${colIndex + 1}` : null;
|
|
35
|
+
const isNextCellSelected = nextCellKey ? selectedCell === nextCellKey : false;
|
|
33
36
|
const selectionStyles = getSelectionStyles({
|
|
34
37
|
isSelected,
|
|
35
38
|
isCellSelected,
|
|
36
39
|
isColumnSelected,
|
|
40
|
+
isRowSelected,
|
|
37
41
|
isLastRow,
|
|
38
42
|
});
|
|
39
43
|
const isFirstColumn = column.id === columns[0].id;
|
|
@@ -44,10 +48,19 @@ function TableRow({ row, columns, index, rowProps, isSheetView, selectedCell = n
|
|
|
44
48
|
effectiveFirst = isFirstColumn && column.pinned !== 'start';
|
|
45
49
|
effectiveLast = isLastColumn && column.pinned !== 'end';
|
|
46
50
|
}
|
|
51
|
+
const rowSelectionBorderStyles = isRowSelected
|
|
52
|
+
? getRowSelectionBorderStyles({
|
|
53
|
+
isCellSelected,
|
|
54
|
+
isNextCellSelected,
|
|
55
|
+
effectiveLast,
|
|
56
|
+
isPinnedEnd: column.pinned === 'end',
|
|
57
|
+
colIndex,
|
|
58
|
+
})
|
|
59
|
+
: {};
|
|
47
60
|
return (_jsx(StyledCell, Object.assign({ component: "div", "data-testid": "TableRow_TableCell", "data-column-id": column.id, "data-column-width": column.width, "data-column-width-used": column.width, "data-column-align": column.align, "data-column-order": column.order, "data-column-header": typeof column.header === 'string' ? column.header : 'component', "data-column-sortable": !!column.sortable, "data-column-filterable": !!column.filter, isFirst: effectiveFirst, isLast: effectiveLast, onClick: (event) => {
|
|
48
61
|
onCellClick === null || onCellClick === void 0 ? void 0 : onCellClick(index, colIndex, event, column.pinned);
|
|
49
|
-
}, sx: Object.assign(Object.assign({ width: column.width, minWidth: column.width, textAlign: column.align, justifyContent: column.align === 'right' ? 'flex-end' : 'flex-start', cursor: onCellClick ? 'pointer' : 'default' }, selectionStyles), column.cellStyle), isSheetView: isSheetView, isSelected: isCellSelected }, { children: _jsx(Box, Object.assign({ sx: Object.assign({}, (isSheetView && { position: 'relative', zIndex: 1 })) }, { children: renderCell(column, index, colIndex) })) }), `${column.id}-${colIndex}`));
|
|
50
|
-
}) })), [columns, row, index, selectedCell, selectedColumn, onCellClick, isLastRow, selectedChip, isSheetView]);
|
|
51
|
-
return (_createElement(StyledTableRow, Object.assign({ "data-testid": "TableRow", onClick: rowProps === null || rowProps === void 0 ? void 0 : rowProps.onRowClick, showShadowHighlight: rowProps === null || rowProps === void 0 ? void 0 : rowProps.showShadowHighlight, showLoadedStyle: rowProps === null || rowProps === void 0 ? void 0 : rowProps.showLoadedStyle, component: "article" }, rowProps, { key: index, isSheetView: isSheetView }), content));
|
|
62
|
+
}, sx: Object.assign(Object.assign(Object.assign({ width: column.width, minWidth: column.width, textAlign: column.align, justifyContent: column.align === 'right' ? 'flex-end' : 'flex-start', cursor: onCellClick ? 'pointer' : 'default' }, selectionStyles), rowSelectionBorderStyles), column.cellStyle), isSheetView: isSheetView, isSelected: isCellSelected }, { children: _jsx(Box, Object.assign({ sx: Object.assign({}, (isSheetView && { position: 'relative', zIndex: 1 })) }, { children: renderCell(column, index, colIndex) })) }), `${column.id}-${colIndex}`));
|
|
63
|
+
}) })), [columns, row, index, selectedCell, selectedColumn, selectedRow, onCellClick, isLastRow, selectedChip, isSheetView]);
|
|
64
|
+
return (_createElement(StyledTableRow, Object.assign({ "data-testid": "TableRow", onClick: rowProps === null || rowProps === void 0 ? void 0 : rowProps.onRowClick, showShadowHighlight: rowProps === null || rowProps === void 0 ? void 0 : rowProps.showShadowHighlight, showLoadedStyle: rowProps === null || rowProps === void 0 ? void 0 : rowProps.showLoadedStyle, component: "article" }, rowProps, { key: index, isSheetView: isSheetView, selectedRow: selectedRow, index: index }), content));
|
|
52
65
|
}
|
|
53
66
|
export default memo(TableRow, areEqual);
|
|
@@ -38,6 +38,9 @@ export declare const StyledTableRow: import("@emotion/styled").StyledComponent<i
|
|
|
38
38
|
showShadowHighlight?: boolean | undefined;
|
|
39
39
|
showLoadedStyle?: boolean | undefined;
|
|
40
40
|
isSheetView?: boolean | undefined;
|
|
41
|
+
selectedRow?: number | null | undefined;
|
|
42
|
+
isSelected?: boolean | undefined;
|
|
43
|
+
index?: number | undefined;
|
|
41
44
|
}, {}, {}>;
|
|
42
45
|
export declare const StyledTableBox: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
43
46
|
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
@@ -5,6 +5,7 @@ import MUITableRow from '@mui/material/TableRow';
|
|
|
5
5
|
import { motion } from 'framer-motion';
|
|
6
6
|
import { TABLE_FOOTER_HEIGHT } from './TableFooter/style';
|
|
7
7
|
import VirtualScrollList from './virtualScroll/VirtualScrollList';
|
|
8
|
+
import { SELECTION_COLORS } from '../../../utils/index.js';
|
|
8
9
|
export const TableWrapper = styled(Box, {
|
|
9
10
|
shouldForwardProp: (prop) => prop !== 'showNoDataView',
|
|
10
11
|
})(({ showNoDataView }) => ({
|
|
@@ -63,8 +64,8 @@ export const StyledVirtualList = styled(VirtualScrollList, {
|
|
|
63
64
|
backgroundColor: theme.palette.common.white,
|
|
64
65
|
}))));
|
|
65
66
|
export const StyledTableRow = styled(MUITableRow, {
|
|
66
|
-
shouldForwardProp: (props) => !['showShadowHighlight', 'showLoadedStyle', 'isSheetView'].includes(props),
|
|
67
|
-
})(({ theme, showShadowHighlight, showLoadedStyle, isSheetView }) => (Object.assign({ display: 'flex', borderBottom: `1px solid ${theme === null || theme === void 0 ? void 0 : theme.palette.divider}`, position: 'relative', height: '100%', width: '100%' }, (!isSheetView && Object.assign(Object.assign({ paddingInline: '32px', '&:hover': {
|
|
67
|
+
shouldForwardProp: (props) => !['showShadowHighlight', 'showLoadedStyle', 'isSheetView', 'selectedRow', 'isSelected'].includes(props),
|
|
68
|
+
})(({ theme, showShadowHighlight, showLoadedStyle, isSheetView, selectedRow, index }) => (Object.assign(Object.assign({ display: 'flex', borderBottom: `1px solid ${theme === null || theme === void 0 ? void 0 : theme.palette.divider}`, position: 'relative', height: '100%', width: '100%' }, (!isSheetView && Object.assign(Object.assign({ paddingInline: '32px', '&:hover': {
|
|
68
69
|
boxShadow: theme.shadows[12],
|
|
69
70
|
zIndex: 1,
|
|
70
71
|
'.payment-sources-container': {
|
|
@@ -101,7 +102,10 @@ export const StyledTableRow = styled(MUITableRow, {
|
|
|
101
102
|
position: 'absolute',
|
|
102
103
|
left: 0,
|
|
103
104
|
},
|
|
104
|
-
}))))
|
|
105
|
+
})))), (isSheetView &&
|
|
106
|
+
selectedRow === index && {
|
|
107
|
+
border: `1.5px solid ${SELECTION_COLORS.primary}`,
|
|
108
|
+
}))));
|
|
105
109
|
export const StyledTableBox = styled(Box, {
|
|
106
110
|
shouldForwardProp: (prop) => prop !== 'showNoDataView' && prop !== 'scrollable',
|
|
107
111
|
})(({ theme, showNoDataView, scrollable }) => ({
|
|
@@ -3,5 +3,6 @@ import { BoxProps } from '@mui/material/Box';
|
|
|
3
3
|
interface WidgetI extends BoxProps {
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
}
|
|
6
|
-
declare
|
|
6
|
+
declare function Widget({ children, ...props }: WidgetI): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare const _default: import("react").MemoExoticComponent<typeof Widget>;
|
|
7
8
|
export default _default;
|
|
@@ -10,10 +10,10 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { memo
|
|
13
|
+
import { memo } from 'react';
|
|
14
14
|
import { WidgetStyled } from './style';
|
|
15
|
-
|
|
15
|
+
function Widget(_a) {
|
|
16
16
|
var { children } = _a, props = __rest(_a, ["children"]);
|
|
17
|
-
return (_jsx(WidgetStyled, Object.assign({
|
|
18
|
-
}
|
|
17
|
+
return (_jsx(WidgetStyled, Object.assign({ component: "article", "data-testid": "Widget" }, props, { children: children })));
|
|
18
|
+
}
|
|
19
19
|
export default memo(Widget);
|
|
@@ -13,7 +13,7 @@ export declare const ListItemStyled: import("@emotion/styled").StyledComponent<i
|
|
|
13
13
|
}, keyof import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
14
14
|
export declare const ItemText: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
15
15
|
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
16
|
-
}, "width" | "minHeight" | "height" | "bottom" | "left" | "right" | "top" | "m" | "order" | "p" | "style" | "color" | "border" | "borderColor" | "borderBottom" | "flex" | "display" | "alignItems" | "
|
|
16
|
+
}, "width" | "minHeight" | "height" | "bottom" | "left" | "right" | "top" | "m" | "order" | "p" | "style" | "color" | "border" | "borderRadius" | "borderColor" | "borderBottom" | "flex" | "display" | "alignItems" | "borderRight" | "borderLeft" | "className" | "classes" | "children" | "borderTop" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignContent" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "zIndex" | "position" | "boxShadow" | "maxWidth" | "minWidth" | "maxHeight" | "boxSizing" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "marginInline" | "marginInlineStart" | "marginInlineEnd" | "marginBlock" | "marginBlockStart" | "marginBlockEnd" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "sx" | "variant" | "variantMapping"> & {
|
|
17
17
|
component?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
18
18
|
} & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
19
19
|
export declare const ItemTextWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material/styles").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const TitleStyled: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
|
|
3
3
|
ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
|
|
4
|
-
}, "width" | "minHeight" | "height" | "bottom" | "left" | "right" | "top" | "m" | "order" | "p" | "style" | "color" | "border" | "borderColor" | "borderBottom" | "flex" | "display" | "alignItems" | "
|
|
4
|
+
}, "width" | "minHeight" | "height" | "bottom" | "left" | "right" | "top" | "m" | "order" | "p" | "style" | "color" | "border" | "borderRadius" | "borderColor" | "borderBottom" | "flex" | "display" | "alignItems" | "borderRight" | "borderLeft" | "className" | "classes" | "children" | "borderTop" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignContent" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "zIndex" | "position" | "boxShadow" | "maxWidth" | "minWidth" | "maxHeight" | "boxSizing" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "marginInline" | "marginInlineStart" | "marginInlineEnd" | "marginBlock" | "marginBlockStart" | "marginBlockEnd" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "paddingInline" | "paddingInlineStart" | "paddingInlineEnd" | "paddingBlock" | "paddingBlockStart" | "paddingBlockEnd" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform" | "align" | "gutterBottom" | "noWrap" | "paragraph" | "sx" | "variant" | "variantMapping"> & {
|
|
5
5
|
component?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
6
6
|
} & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
7
7
|
export declare const StyledWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
package/build/utils/style.d.ts
CHANGED
|
@@ -8,8 +8,17 @@ interface GetSelectionStylesParams {
|
|
|
8
8
|
isSelected: boolean;
|
|
9
9
|
isCellSelected: boolean;
|
|
10
10
|
isColumnSelected: boolean;
|
|
11
|
+
isRowSelected?: boolean;
|
|
11
12
|
isLastRow: boolean;
|
|
12
13
|
}
|
|
13
14
|
type SelectionStyles = Record<string, string | Record<string, string>>;
|
|
14
|
-
export declare const getSelectionStyles: ({ isSelected, isCellSelected, isColumnSelected, isLastRow }: GetSelectionStylesParams) => SelectionStyles;
|
|
15
|
+
export declare const getSelectionStyles: ({ isSelected, isCellSelected, isColumnSelected, isRowSelected, isLastRow, }: GetSelectionStylesParams) => SelectionStyles;
|
|
16
|
+
interface GetRowSelectionBorderStylesParams {
|
|
17
|
+
isCellSelected: boolean;
|
|
18
|
+
isNextCellSelected: boolean;
|
|
19
|
+
effectiveLast: boolean;
|
|
20
|
+
isPinnedEnd: boolean;
|
|
21
|
+
colIndex: number;
|
|
22
|
+
}
|
|
23
|
+
export declare const getRowSelectionBorderStyles: ({ isCellSelected, isNextCellSelected, effectiveLast, isPinnedEnd, colIndex, }: GetRowSelectionBorderStylesParams) => SelectionStyles;
|
|
15
24
|
export {};
|
package/build/utils/style.js
CHANGED
|
@@ -5,18 +5,21 @@ export const SELECTION_COLORS = {
|
|
|
5
5
|
transparent: 'transparent',
|
|
6
6
|
};
|
|
7
7
|
const BORDER_STYLES = {
|
|
8
|
-
thin: '
|
|
9
|
-
thick: '
|
|
8
|
+
thin: '0.5px',
|
|
9
|
+
thick: '1px',
|
|
10
10
|
none: '0px',
|
|
11
11
|
};
|
|
12
12
|
const CELL_DIMENSIONS = {
|
|
13
13
|
minHeight: '28px',
|
|
14
14
|
fullHeight: '100%',
|
|
15
15
|
};
|
|
16
|
-
export const getSelectionStyles = ({ isSelected, isCellSelected, isColumnSelected, isLastRow }) => {
|
|
16
|
+
export const getSelectionStyles = ({ isSelected, isCellSelected, isColumnSelected, isRowSelected, isLastRow, }) => {
|
|
17
17
|
if (!isSelected) {
|
|
18
18
|
return {};
|
|
19
19
|
}
|
|
20
|
+
if (isRowSelected) {
|
|
21
|
+
return getRowSelectionStyles();
|
|
22
|
+
}
|
|
20
23
|
if (isCellSelected && !isColumnSelected) {
|
|
21
24
|
return getSingleCellSelectionStyles();
|
|
22
25
|
}
|
|
@@ -25,12 +28,21 @@ export const getSelectionStyles = ({ isSelected, isCellSelected, isColumnSelecte
|
|
|
25
28
|
}
|
|
26
29
|
return {};
|
|
27
30
|
};
|
|
31
|
+
const getRowSelectionStyles = () => ({
|
|
32
|
+
backgroundColor: SELECTION_COLORS.background,
|
|
33
|
+
color: SELECTION_COLORS.primary,
|
|
34
|
+
border: 'none',
|
|
35
|
+
'&:before': {
|
|
36
|
+
border: 'none',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
28
39
|
const getSingleCellSelectionStyles = () => ({
|
|
29
|
-
border:
|
|
40
|
+
border: `1.5px solid ${SELECTION_COLORS.primary}`,
|
|
30
41
|
backgroundColor: SELECTION_COLORS.background,
|
|
31
42
|
color: SELECTION_COLORS.primary,
|
|
43
|
+
borderRadius: '2px',
|
|
32
44
|
'&:before': {
|
|
33
|
-
border:
|
|
45
|
+
border: `1.5px solid ${SELECTION_COLORS.primary}`,
|
|
34
46
|
},
|
|
35
47
|
});
|
|
36
48
|
const getColumnSelectionStyles = (isLastRow) => {
|
|
@@ -60,3 +72,16 @@ const getBorderWidthForColumn = (isLastRow) => {
|
|
|
60
72
|
const getBorderBottomForColumn = (isLastRow) => {
|
|
61
73
|
return isLastRow ? `${BORDER_STYLES.thick} solid ${SELECTION_COLORS.primary}` : `${BORDER_STYLES.thin} solid ${SELECTION_COLORS.border}`;
|
|
62
74
|
};
|
|
75
|
+
export const getRowSelectionBorderStyles = ({ isCellSelected, isNextCellSelected, effectiveLast, isPinnedEnd, colIndex, }) => (Object.assign(Object.assign(Object.assign({ borderRadius: '0px', '&:before': {
|
|
76
|
+
border: 'none',
|
|
77
|
+
}, '&:after': {
|
|
78
|
+
border: 'none',
|
|
79
|
+
}, border: `1.5px solid ${SELECTION_COLORS.primary}` }, (isCellSelected && Object.assign({ border: `1.5px solid ${SELECTION_COLORS.primary}` }, (isNextCellSelected && {
|
|
80
|
+
borderRight: `1.5px solid ${SELECTION_COLORS.primary}`,
|
|
81
|
+
})))), (isCellSelected &&
|
|
82
|
+
colIndex > 0 && {
|
|
83
|
+
borderLeft: `1.5px solid ${SELECTION_COLORS.primary}`,
|
|
84
|
+
})), (effectiveLast &&
|
|
85
|
+
isPinnedEnd && {
|
|
86
|
+
borderRight: `2.5px solid ${SELECTION_COLORS.primary}`,
|
|
87
|
+
})));
|
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.
|
|
5
|
-
"testVersion":
|
|
4
|
+
"version": "0.1.49",
|
|
5
|
+
"testVersion": 0,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "build/index.js",
|
|
8
8
|
"module": "build/index.js",
|
|
@@ -131,4 +131,4 @@
|
|
|
131
131
|
"publishConfig": {
|
|
132
132
|
"registry": "https://registry.npmjs.org/"
|
|
133
133
|
}
|
|
134
|
-
}
|
|
134
|
+
}
|