@topconsultnpm/sdkui-react-beta 6.7.19 → 6.7.21
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/lib/components/base/TMListView.d.ts +12 -2
- package/lib/components/base/TMListView.js +14 -5
- package/lib/components/editors/TMDropDown.js +3 -3
- package/lib/components/editors/TMEditorStyled.d.ts +4 -1
- package/lib/components/editors/TMEditorStyled.js +5 -3
- package/lib/components/editors/TMSummary.js +3 -3
- package/lib/components/editors/TMTextArea.js +1 -1
- package/lib/components/editors/TMTextBox.js +1 -1
- package/lib/components/index.d.ts +1 -1
- package/lib/components/index.js +2 -1
- package/package.json +1 -2
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
interface ITMListViewHeader {
|
|
3
|
+
headerIcon?: React.ReactNode;
|
|
4
|
+
headerTitle?: string;
|
|
5
|
+
firstCounter?: React.ReactNode;
|
|
6
|
+
secondCounter?: React.ReactNode;
|
|
7
|
+
}
|
|
2
8
|
interface ListProps<T> {
|
|
3
9
|
dataSource?: T[];
|
|
4
10
|
selectedItem?: T;
|
|
@@ -14,8 +20,11 @@ interface ListProps<T> {
|
|
|
14
20
|
orderBy?: string;
|
|
15
21
|
grouping?: string;
|
|
16
22
|
showId?: boolean;
|
|
17
|
-
setShowId?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
18
23
|
showSearch?: boolean;
|
|
24
|
+
header?: React.ReactNode;
|
|
25
|
+
headerBackGroundColor?: string;
|
|
26
|
+
customGroupingHeaders?: Array<React.ReactNode>;
|
|
27
|
+
setShowId?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
19
28
|
setShowSearch?: React.Dispatch<React.SetStateAction<boolean>>;
|
|
20
29
|
onScrollChange?: (e: {
|
|
21
30
|
x: number;
|
|
@@ -26,5 +35,6 @@ interface ListProps<T> {
|
|
|
26
35
|
onItemDblClick?: (item: T) => void;
|
|
27
36
|
itemTemplate?: (item: T) => JSX.Element;
|
|
28
37
|
}
|
|
29
|
-
declare const TMListView: <T>({ showId, setShowId, showSearch, setShowSearch, grouping, orderBy, id, onScrollChange, scroll, searchKeys, searchable, itemTemplate, customColor, dataSource, exprKey, onSelectionChanged, onItemClick, onItemDblClick, selectedItem }: ListProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
declare const TMListView: <T>({ customGroupingHeaders, headerBackGroundColor, header, showId, setShowId, showSearch, setShowSearch, grouping, orderBy, id, onScrollChange, scroll, searchKeys, searchable, itemTemplate, customColor, dataSource, exprKey, onSelectionChanged, onItemClick, onItemDblClick, selectedItem }: ListProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
30
39
|
export default TMListView;
|
|
40
|
+
export declare const CustomListViewHeader: React.FC<ITMListViewHeader>;
|
|
@@ -11,7 +11,7 @@ const StyledListItem = styled.div ` width: 100%; height: max-content; border-bot
|
|
|
11
11
|
const StyledListViewContainer = styled.div ` position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; width: 100%; height: 100%; `;
|
|
12
12
|
const StyledSearchContainer = styled.div ` width: 100%; height: max-content; padding: 5px; border-bottom: 1px solid #e5e5e5; display: flex; align-items: center; gap: 10px; `;
|
|
13
13
|
const StyledListViewFooter = styled.div ` background-color: ${props => props.$bgColor}; width: 100%; height: 25px; padding: 5px 15px; border-top: 1px solid #e5e5e5; display: flex; align-items: center; gap: 10px; `;
|
|
14
|
-
const TMListView = ({ showId, setShowId, showSearch, setShowSearch, grouping = '', orderBy, id, onScrollChange, scroll, searchKeys = [], searchable = false, itemTemplate, customColor, dataSource = [], exprKey = 'id', onSelectionChanged, onItemClick, onItemDblClick, selectedItem }) => {
|
|
14
|
+
const TMListView = ({ customGroupingHeaders, headerBackGroundColor, header, showId, setShowId, showSearch, setShowSearch, grouping = '', orderBy, id, onScrollChange, scroll, searchKeys = [], searchable = false, itemTemplate, customColor, dataSource = [], exprKey = 'id', onSelectionChanged, onItemClick, onItemDblClick, selectedItem }) => {
|
|
15
15
|
const listRef = useRef(null);
|
|
16
16
|
const contRef = useRef(null);
|
|
17
17
|
const orderRef = useRef(null);
|
|
@@ -20,7 +20,7 @@ const TMListView = ({ showId, setShowId, showSearch, setShowSearch, grouping = '
|
|
|
20
20
|
const [searchValue, setSearchValue] = useState('');
|
|
21
21
|
const [currentDataSource, setCurrentDataSource] = useState(dataSource);
|
|
22
22
|
const [keys, setKeys] = useState(searchKeys);
|
|
23
|
-
const [orderedBy, setOrderedBy] = useState(orderBy
|
|
23
|
+
const [orderedBy, setOrderedBy] = useState(orderBy ?? '');
|
|
24
24
|
const [orderDir, setOrderDir] = useState(true);
|
|
25
25
|
const [isFocused, setIsFocused] = useState(false);
|
|
26
26
|
const [showOrderMenu, setShowOrderMenu] = useState(false);
|
|
@@ -245,8 +245,14 @@ const TMListView = ({ showId, setShowId, showSearch, setShowSearch, grouping = '
|
|
|
245
245
|
return key;
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
|
-
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', height: 'max-content' }, children: [_jsx("div", { style: { borderBottom: `1px solid ${customColor}20`, display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '5px', width: '100%', backgroundColor: `${customColor}30` }, children: _jsxs("div", { style: { width: '100%', height: 'max-content', display: 'flex', flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between' }, children: [
|
|
249
|
-
|
|
248
|
+
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'flex-start', width: '100%', height: 'max-content' }, children: [_jsx("div", { style: { borderBottom: `1px solid ${customColor}20`, display: 'flex', alignItems: 'center', height: '40px', justifyContent: 'space-between', padding: '5px', width: '100%', backgroundColor: headerBackGroundColor ?? `${customColor}30` }, children: _jsxs("div", { style: { width: '100%', height: 'max-content', display: 'flex', flexDirection: 'row', alignItems: 'center', justifyContent: 'space-between' }, children: [customGroupingHeaders && customGroupingHeaders.length > 0 ?
|
|
249
|
+
customGroupingHeaders[index] ?
|
|
250
|
+
_jsx("div", { style: { width: '100%', height: '100%', display: 'flex', alignItems: 'center' }, children: customGroupingHeaders[index] })
|
|
251
|
+
:
|
|
252
|
+
_jsxs("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 10 }, children: [_jsx("p", { children: groupingText() }), _jsx("div", { style: { width: '16px', height: '16px', display: 'flex', alignItems: 'center', justifyContent: 'center', backgroundColor: customColor, color: 'white', boxShadow: '1px 1px 2px #00000020', borderRadius: '30px', fontWeight: 'bold' }, children: groupByKey(currentDataSource, grouping)[key].length })] })
|
|
253
|
+
:
|
|
254
|
+
_jsxs("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center', gap: 10 }, children: [_jsx("p", { children: groupingText() }), _jsx("div", { style: { width: '16px', height: '16px', display: 'flex', alignItems: 'center', justifyContent: 'center', backgroundColor: customColor, color: 'white', boxShadow: '1px 1px 2px #00000020', borderRadius: '30px', fontWeight: 'bold' }, children: groupByKey(currentDataSource, grouping)[key].length })] }), _jsxs("div", { style: { cursor: 'pointer' }, onClick: () => { let arr = [...openList]; arr[index] = !arr[index]; setOpenList(arr); }, children: [" ", openList[index] ? _jsx(IconUp, { fontSize: 12 }) : _jsx(IconDown, { fontSize: 12 }), " "] })] }) }), openList[index] && _jsx("div", { style: { width: '100%', height: '100%' }, children: groupByKey(currentDataSource, grouping)[key].map((data, index2) => (_jsx(StyledListItem, { "$isSelected": data === selectedItem, "$color": customColor, onClick: () => { onSelectionChanged && onSelectionChanged(data); onItemClick && onItemClick(data); }, onDoubleClick: () => { onItemDblClick && onItemDblClick(data); }, children: _jsxs("div", { style: { width: '100%', height: 'max-content', display: 'flex', flexDirection: 'column', padding: '5px 5px' }, children: [localShowId && _jsxs("p", { style: { color: data === selectedItem ? 'white' : 'black', backgroundColor: `${customColor}20`, width: '100%', padding: '2px 5px', borderRadius: '5px', height: 'max-content', textAlign: 'left' }, children: [" ", 'ID: ' + data.id, " "] }), _jsxs("div", { style: { width: '100%', height: '100%' }, children: [" ", itemTemplate ? itemTemplate(data) : _jsx("div", {})] })] }) }, index2))) })] }, index));
|
|
255
|
+
}), [currentDataSource, selectedItem, localShowId, customColor, openList, grouping, customGroupingHeaders]);
|
|
250
256
|
// List height
|
|
251
257
|
const listHeight = () => {
|
|
252
258
|
if (localShowSearch) {
|
|
@@ -314,7 +320,7 @@ const TMListView = ({ showId, setShowId, showSearch, setShowSearch, grouping = '
|
|
|
314
320
|
};
|
|
315
321
|
const contextMenuItems = generateContextMenuItems(localShowSearch, localShowId, showOrderMenu, grouping, searchKeys);
|
|
316
322
|
return (_jsxs(StyledListViewContainer, { ref: contRef, onContextMenu: openContextMenu, children: [(show && contextMenuItems.length > 0) && _jsx(TMContextMenu, { coords: coords, items: contextMenuItems }), showOrderOptions &&
|
|
317
|
-
_jsx(TMContextMenu, { items: orderMenuItems(), coords: { x: orderRef.current?.getBoundingClientRect().left, y: orderRef.current?.getBoundingClientRect().top - (searchKeys.length * 30) - 10 } }), localShowSearch &&
|
|
323
|
+
_jsx(TMContextMenu, { items: orderMenuItems(), coords: { x: orderRef.current?.getBoundingClientRect().left, y: orderRef.current?.getBoundingClientRect().top - (searchKeys.length * 30) - 10 } }), header && _jsx("div", { style: { width: '100%', height: '40px', backgroundColor: headerBackGroundColor ?? `${customColor}30`, marginBottom: '3px', display: 'flex', alignItems: 'center' }, children: header }), localShowSearch &&
|
|
318
324
|
_jsx(StyledSearchContainer, { children: _jsxs(StyledSearchContainer, { children: [_jsx(TMSearchBar, { marginLeft: '0px', maxWidth: '300px', searchValue: searchValue, onSearchValueChanged: (e) => setSearchValue(e) }), _jsx(TMTooltip, { content: 'Nascondi ricerca', children: _jsx(IconCloseCircle, { style: { cursor: 'pointer' }, color: 'red', fontSize: 14, onClick: () => { setSearchValue(''); setLocalShowSearch(false); } }) })] }) }), _jsx("div", { ref: listRef, onClick: () => setIsFocused(true), style: { width: '100%', overflow: 'auto', height: listHeight() }, children: currentDataSource.length > 0 ?
|
|
319
325
|
grouping.length === 0 ? memoList : groupedMemoList :
|
|
320
326
|
searchValue.length > 0 ? _jsx("div", { style: { width: '100%', height: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center' }, children: "No data found" }) :
|
|
@@ -323,3 +329,6 @@ const TMListView = ({ showId, setShowId, showSearch, setShowSearch, grouping = '
|
|
|
323
329
|
_jsxs("div", { style: { width: 'max-content', display: 'flex', alignItems: 'center', gap: 5 }, children: [_jsx("div", { style: { width: 'max-content' }, children: "Ordinato per" }), _jsx("div", { ref: orderRef, onClick: () => { setShowOrderOptions(!showOrderOptions); }, style: { cursor: 'pointer', fontWeight: 'bold' }, children: orderedBy.length > 0 ? orderedBy : 'Nulla' }), orderedBy.length > 0 && _jsxs(TMTooltip, { content: orderDir ? 'ASC' : 'DESC', children: [" ", orderDir ? _jsx(IconUp, { style: { cursor: 'pointer' }, onClick: () => setOrderDir(false), fontSize: 14 }) : _jsx(IconDown, { style: { cursor: 'pointer' }, onClick: () => setOrderDir(true), fontSize: 14 }), " "] }), _jsx(TMTooltip, { content: 'Annulla ordinamento', children: _jsx(IconCloseCircle, { style: { cursor: 'pointer' }, color: 'red', fontSize: 14, onClick: () => { setOrderedBy(''); setShowOrderMenu(false); setShowOrderOptions(false); } }) })] }), searchValue.length > 0 && _jsxs("div", { style: { display: 'flex', alignItems: 'center', width: '100%', justifyContent: 'flex-end', gap: 5 }, children: [_jsx(TMTooltip, { content: 'Visibili', children: _jsx(IconVisible, { fontSize: 14 }) }), currentDataSource.length] })] })] }));
|
|
324
330
|
};
|
|
325
331
|
export default TMListView;
|
|
332
|
+
export const CustomListViewHeader = (props) => {
|
|
333
|
+
return (_jsxs("div", { style: { display: 'flex', alignItems: 'center', padding: '0 5px', gap: 5 }, children: [props.headerIcon, _jsx("p", { children: props.headerTitle }), props.firstCounter, props.secondCounter] }));
|
|
334
|
+
};
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import styled from "styled-components";
|
|
4
4
|
import { FontSize, TMColors } from '../../utils/theme';
|
|
5
|
-
import { StyledEditorContainer, StyledEditorIcon, StyledEditorLabel, editorColorManager } from "./TMEditorStyled";
|
|
5
|
+
import { StyledEditorContainer, StyledEditorIcon, StyledEditorLabel, TMEditorsDefaultBorderRadius, editorColorManager } from "./TMEditorStyled";
|
|
6
6
|
import TMLayoutContainer, { TMLayoutItem } from "../base/TMLayout";
|
|
7
7
|
import TMVilViewer from "../base/TMVilViewer";
|
|
8
8
|
const StyledDropDown = styled.select `
|
|
@@ -13,7 +13,7 @@ const StyledDropDown = styled.select `
|
|
|
13
13
|
border-bottom: ${props => (props.$vil.length > 0) ? '3px' : '1px'} solid ;
|
|
14
14
|
border-bottom-color: ${props => (props.$vil.length === 0) ? !props.$isModified ? TMColors.border_normal : TMColors.isModified : editorColorManager(props.$vil)};
|
|
15
15
|
color: ${props => !props.disabled ? (props.$vil.length === 0) ? !props.$isModified ? TMColors.text_normal : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
16
|
-
border-radius:
|
|
16
|
+
border-radius: ${props => props.$borderRadius ?? TMEditorsDefaultBorderRadius};
|
|
17
17
|
min-width: 70px;
|
|
18
18
|
&:focus{
|
|
19
19
|
outline: none;
|
|
@@ -31,7 +31,7 @@ const StyledDropDown = styled.select `
|
|
|
31
31
|
const TMDropDown = ({ validationItems = [], disabled = false, elementStyle, isModifiedWhen, labelPosition = 'left', label, icon, width = '100%', fontSize = FontSize.defaultFontSize, dataSource, value, onValueChanged }) => {
|
|
32
32
|
const [isFocused, setIsfocused] = useState(false);
|
|
33
33
|
const renderedLeftLabelTextBox = () => {
|
|
34
|
-
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled,
|
|
34
|
+
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled, children: label }), _jsx(StyledDropDown, { value: value, onFocus: () => setIsfocused(true), onBlur: () => setIsfocused(false), "$disabled": disabled, disabled: disabled, "$fontSize": fontSize, "$width": width, "$isModified": isModifiedWhen, "$vil": validationItems, onChange: onValueChanged, children: dataSource?.map((data, index) => (_jsx("option", { value: data.value, children: data.display }, index))) }), _jsx(TMVilViewer, { vil: validationItems })] }) })] }));
|
|
35
35
|
};
|
|
36
36
|
return (_jsx("div", { style: elementStyle, children: renderedLeftLabelTextBox() }));
|
|
37
37
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ValidationItem } from '@topconsultnpm/sdk-ts-beta';
|
|
2
|
+
export declare const TMEditorsDefaultBorderRadius = "5px";
|
|
3
|
+
export declare const TMEditorsDefaultLabelFontSize = "0.85rem";
|
|
2
4
|
export declare const editorColorManager: (validationItems: ValidationItem[]) => string;
|
|
3
5
|
export declare const StyledEditorContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
4
6
|
$width: string;
|
|
@@ -23,7 +25,7 @@ export declare const StyledEditorLabel: import("styled-components/dist/types").I
|
|
|
23
25
|
$isFocused: boolean;
|
|
24
26
|
$labelPosition: "right" | "left" | "top";
|
|
25
27
|
$disabled: boolean;
|
|
26
|
-
$fontSize
|
|
28
|
+
$fontSize?: string;
|
|
27
29
|
$color?: string;
|
|
28
30
|
}>> & string;
|
|
29
31
|
export declare const StyledEditorButtonIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
@@ -38,4 +40,5 @@ export declare const StyledTextareaEditor: import("styled-components/dist/types"
|
|
|
38
40
|
$disabled: boolean;
|
|
39
41
|
$isMobile?: boolean;
|
|
40
42
|
$maxHeight?: string;
|
|
43
|
+
$borderRadius?: string;
|
|
41
44
|
}>> & string;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
import { ResultTypes } from '@topconsultnpm/sdk-ts-beta';
|
|
3
3
|
import { TMColors } from '../../utils/theme';
|
|
4
|
+
export const TMEditorsDefaultBorderRadius = '5px';
|
|
5
|
+
export const TMEditorsDefaultLabelFontSize = '0.85rem';
|
|
4
6
|
export const editorColorManager = (validationItems) => {
|
|
5
7
|
if (validationItems.find(item => item.ResultType === ResultTypes.ERROR))
|
|
6
8
|
return TMColors.error;
|
|
@@ -22,7 +24,7 @@ export const StyledEditor = styled.input `
|
|
|
22
24
|
border-bottom: ${props => (props.$vil.length > 0) ? '3px' : '1px'} solid ;
|
|
23
25
|
border-bottom-color: ${props => (props.$vil.length === 0) ? !props.$isModified ? TMColors.border_normal : TMColors.isModified : editorColorManager(props.$vil)};
|
|
24
26
|
color: ${props => !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? 'black' : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
25
|
-
border-radius: ${props => props.$borderRadius
|
|
27
|
+
border-radius: ${props => props.$borderRadius ?? TMEditorsDefaultBorderRadius};
|
|
26
28
|
min-width: ${props => props.$isMobile && '70px'};
|
|
27
29
|
&:focus{
|
|
28
30
|
outline: none;
|
|
@@ -48,7 +50,7 @@ export const StyledEditorIcon = styled.div `
|
|
|
48
50
|
transform: translateY(18px);
|
|
49
51
|
`;
|
|
50
52
|
export const StyledEditorLabel = styled.div `
|
|
51
|
-
font-size: ${props => props.$fontSize} ;
|
|
53
|
+
font-size: ${props => props.$fontSize ?? TMEditorsDefaultLabelFontSize} ;
|
|
52
54
|
color:${props => !props.$disabled ? props.$isFocused ? TMColors.primary : props.$color ? props.$color : TMColors.label_normal : TMColors.disabled};
|
|
53
55
|
padding: 0 3px;
|
|
54
56
|
user-select: none;
|
|
@@ -91,7 +93,7 @@ export const StyledTextareaEditor = styled.textarea `
|
|
|
91
93
|
: TMColors.isModified
|
|
92
94
|
: editorColorManager(props.$vil)
|
|
93
95
|
: TMColors.disabled};
|
|
94
|
-
border-radius:
|
|
96
|
+
border-radius: ${props => props.$borderRadius ?? TMEditorsDefaultBorderRadius}; /* Slightly increased radius for smoother corners */
|
|
95
97
|
min-width: ${props => (props.$isMobile ? '70px' : '100%')}; /* Adjust for mobile */
|
|
96
98
|
max-height: ${props => props.$maxHeight || 'auto'};
|
|
97
99
|
&:focus {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import { FontSize, TMColors } from '../../utils/theme';
|
|
4
|
-
import { StyledEditorContainer, StyledEditorIcon, StyledEditorLabel, editorColorManager } from './TMEditorStyled';
|
|
4
|
+
import { StyledEditorContainer, StyledEditorIcon, StyledEditorLabel, TMEditorsDefaultBorderRadius, editorColorManager } from './TMEditorStyled';
|
|
5
5
|
import { IconClearButton, IconPencil, SDKUI_Localizator } from '../../helper';
|
|
6
6
|
import TMLayoutContainer, { TMLayoutItem } from '../base/TMLayout';
|
|
7
7
|
import TMVilViewer from '../base/TMVilViewer';
|
|
@@ -16,7 +16,7 @@ const StyledSummaryTemplateInput = styled.div `
|
|
|
16
16
|
border-bottom: ${props => !props.$showBorder ? '' : (props.$vil.length > 0) ? '3px solid' : '1px solid'} ;
|
|
17
17
|
border-bottom-color: ${props => (props.$vil.length === 0) ? !props.$isModified ? TMColors.border_normal : TMColors.isModified : editorColorManager(props.$vil)};
|
|
18
18
|
color: ${props => !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? 'black' : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
19
|
-
border-radius: ${props => !props.$showBorder ? props.$borderRadius :
|
|
19
|
+
border-radius: ${props => !props.$showBorder ? props.$borderRadius : TMEditorsDefaultBorderRadius};
|
|
20
20
|
display: flex;
|
|
21
21
|
align-items: center;
|
|
22
22
|
/* min-width: 70px; */
|
|
@@ -55,7 +55,7 @@ const TMSummary = ({ labelColor, hasValue, borderRadius = '4px', validationItems
|
|
|
55
55
|
})] })] }) }));
|
|
56
56
|
};
|
|
57
57
|
const renderLabel = () => {
|
|
58
|
-
return (_jsx(StyledEditorLabel, { "$color": labelColor, "$isFocused": false, "$labelPosition": labelPosition, "$disabled": disabled,
|
|
58
|
+
return (_jsx(StyledEditorLabel, { "$color": labelColor, "$isFocused": false, "$labelPosition": labelPosition, "$disabled": disabled, children: _jsx("div", { style: { flexDirection: "row", display: "flex", alignItems: "start", justifyContent: "start" }, children: label }) }));
|
|
59
59
|
};
|
|
60
60
|
const renderSummary = () => {
|
|
61
61
|
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: icon && _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && renderLabel(), renderTemplateField(), _jsx(TMVilViewer, { vil: validationItems })] }) })] }));
|
|
@@ -64,7 +64,7 @@ const TMTextArea = (props) => {
|
|
|
64
64
|
}), formulaItems.length > 0 && clicked && (_jsx(TMContextMenu, { menuData: formulaMenuItems, top: points.y, left: points.x, onMenuItemClick: (formula) => insertText(formula) })), _jsx(TMVilViewer, { vil: validationItems })] });
|
|
65
65
|
};
|
|
66
66
|
const renderedLeftLabelTextArea = () => {
|
|
67
|
-
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled,
|
|
67
|
+
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled, children: label ?? '' }), renderTextArea()] }) })] }));
|
|
68
68
|
};
|
|
69
69
|
return (_jsx("div", { style: elementStyle, children: renderedLeftLabelTextArea() }));
|
|
70
70
|
};
|
|
@@ -151,7 +151,7 @@ const TMTextBox = ({ autoFocus, maxLength, labelColor, precision, scale, showCle
|
|
|
151
151
|
})] }), formulaItems.length > 0 && (_jsx(ContextMenu, { dataSource: formulaMenuItems, target: `#text-${id}`, onItemClick: (e) => { insertText(e.itemData?.text ?? ''); } })), _jsx(TMVilViewer, { vil: validationItems })] }));
|
|
152
152
|
};
|
|
153
153
|
const renderedLeftLabelTextBox = () => {
|
|
154
|
-
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$color": labelColor, "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled,
|
|
154
|
+
return (_jsxs(TMLayoutContainer, { direction: 'horizontal', children: [icon && _jsx(TMLayoutItem, { width: '20px', children: _jsx(StyledEditorIcon, { "$disabled": disabled, "$vil": validationItems, "$isModified": isModifiedWhen, children: icon }) }), _jsx(TMLayoutItem, { children: _jsxs(StyledEditorContainer, { "$width": width, children: [label && _jsx(StyledEditorLabel, { "$color": labelColor, "$isFocused": isFocused, "$labelPosition": labelPosition, "$disabled": disabled, children: label }), renderInputField()] }) })] }));
|
|
155
155
|
};
|
|
156
156
|
return (_jsx("div", { style: elementStyle, children: renderedLeftLabelTextBox() }));
|
|
157
157
|
};
|
|
@@ -3,7 +3,7 @@ export { default as TMButton, TMButtonNew } from './base/TMButton';
|
|
|
3
3
|
export { default as TMClosableList } from './base/TMClosableList';
|
|
4
4
|
export * from './base/TMContextMenu';
|
|
5
5
|
export { default as TMDropDownMenu } from './base/TMDropDownMenu';
|
|
6
|
-
export
|
|
6
|
+
export * from './base/TMListView';
|
|
7
7
|
export { default as TMList } from './base/TMList';
|
|
8
8
|
export { default as TMModal } from './base/TMModal';
|
|
9
9
|
export * from './base/TMPopUp';
|
package/lib/components/index.js
CHANGED
|
@@ -5,7 +5,8 @@ export { default as TMButton, TMButtonNew } from './base/TMButton';
|
|
|
5
5
|
export { default as TMClosableList } from './base/TMClosableList';
|
|
6
6
|
export * from './base/TMContextMenu';
|
|
7
7
|
export { default as TMDropDownMenu } from './base/TMDropDownMenu';
|
|
8
|
-
export
|
|
8
|
+
export * from './base/TMListView';
|
|
9
|
+
// export { default as TMListView } from './base/TMListView'
|
|
9
10
|
export { default as TMList } from './base/TMList';
|
|
10
11
|
export { default as TMModal } from './base/TMModal';
|
|
11
12
|
export * from './base/TMPopUp';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@topconsultnpm/sdkui-react-beta",
|
|
3
|
-
"version": "6.7.
|
|
3
|
+
"version": "6.7.21",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@topconsultnpm/sdk-ts-beta": "^6.7.17",
|
|
32
|
-
"@topconsultnpm/sdkui-react-beta": "^6.7.10",
|
|
33
32
|
"buffer": "^6.0.3",
|
|
34
33
|
"devextreme": "24.1.6",
|
|
35
34
|
"devextreme-react": "24.1.6",
|