@topconsultnpm/sdkui-react 6.20.0-dev1.111 → 6.20.0-dev1.113
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/NewComponents/ContextMenu/styles.js +2 -0
- package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +76 -3
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +4 -0
- package/lib/components/NewComponents/FloatingMenuBar/styles.js +4 -1
- package/lib/components/NewComponents/FloatingMenuBar/types.d.ts +1 -0
- package/lib/components/base/TMButton.js +6 -0
- package/lib/components/base/TMClosableList.js +4 -0
- package/lib/components/base/TMDropDownMenu.js +2 -0
- package/lib/components/base/TMPanel.js +2 -0
- package/lib/components/base/TMPopUp.js +6 -0
- package/lib/components/base/TMToolbarCard.js +2 -0
- package/lib/components/editors/TMCheckBox.js +2 -0
- package/lib/components/editors/TMEditorStyled.js +4 -0
- package/lib/components/editors/TMRadioButton.js +2 -0
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +2 -0
- package/lib/components/features/documents/TMDcmtBlog.js +1 -1
- package/lib/components/features/documents/TMDcmtPreview.js +1 -1
- package/lib/components/features/search/TMSearchQueryPanel.js +2 -0
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +2 -0
- package/lib/components/grids/TMValidationItemsList.js +6 -0
- package/lib/components/query/TMQueryEditor.js +2 -0
- package/lib/components/sidebar/TMHeader.js +4 -0
- package/lib/components/sidebar/TMSidebarItem.js +2 -0
- package/lib/helper/TMToppyMessage.js +4 -0
- package/package.json +1 -1
|
@@ -103,6 +103,8 @@ export const MenuItem = styled.div `
|
|
|
103
103
|
transition: all 0.15s ease;
|
|
104
104
|
position: relative;
|
|
105
105
|
user-select: none;
|
|
106
|
+
-webkit-touch-callout: none;
|
|
107
|
+
-webkit-user-select: none;
|
|
106
108
|
font-size: var(--base-font-size, 13px);
|
|
107
109
|
color: ${props => props.$disabled ? '#999' : '#1a1a1a'};
|
|
108
110
|
font-weight: 500;
|
|
@@ -131,6 +131,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
131
131
|
isDragging: false,
|
|
132
132
|
isConfigMode: false,
|
|
133
133
|
orientation: initialConfig.orientation,
|
|
134
|
+
verticalDirection: 'down',
|
|
134
135
|
items: [],
|
|
135
136
|
draggedItemIndex: null,
|
|
136
137
|
});
|
|
@@ -138,8 +139,10 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
138
139
|
const dragOffset = useRef({ x: 0, y: 0 });
|
|
139
140
|
const [dragOverIndex, setDragOverIndex] = useState(null);
|
|
140
141
|
const [pixelPosition, setPixelPosition] = useState({ x: 0, y: 0 }); // Calculated pixel position
|
|
142
|
+
const [isOrientationChanging, setIsOrientationChanging] = useState(false); // Hide bar during orientation transition
|
|
141
143
|
const containerSizeRef = useRef({ width: 0, height: 0 });
|
|
142
144
|
const stateSnapshot = useRef(null);
|
|
145
|
+
const positionBeforeOrientationChange = useRef(null);
|
|
143
146
|
const floatingBarItemIds = useRef(new Set());
|
|
144
147
|
const floatingBarItemNames = useRef(new Set());
|
|
145
148
|
useEffect(() => {
|
|
@@ -549,6 +552,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
549
552
|
stateSnapshot.current = {
|
|
550
553
|
items: [...s.items],
|
|
551
554
|
orientation: s.orientation,
|
|
555
|
+
verticalDirection: s.verticalDirection,
|
|
552
556
|
position: { ...s.position },
|
|
553
557
|
};
|
|
554
558
|
return { ...s, isConfigMode: true };
|
|
@@ -617,6 +621,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
617
621
|
...s,
|
|
618
622
|
items: [...stateSnapshot.current.items],
|
|
619
623
|
orientation: stateSnapshot.current.orientation,
|
|
624
|
+
verticalDirection: stateSnapshot.current.verticalDirection,
|
|
620
625
|
position: { ...stateSnapshot.current.position },
|
|
621
626
|
isConfigMode: true,
|
|
622
627
|
}));
|
|
@@ -638,6 +643,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
638
643
|
...s,
|
|
639
644
|
items: [...stateSnapshot.current.items],
|
|
640
645
|
orientation: stateSnapshot.current.orientation,
|
|
646
|
+
verticalDirection: stateSnapshot.current.verticalDirection,
|
|
641
647
|
position: { ...stateSnapshot.current.position },
|
|
642
648
|
isConfigMode: false,
|
|
643
649
|
}));
|
|
@@ -662,6 +668,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
662
668
|
...s,
|
|
663
669
|
items: [...stateSnapshot.current.items],
|
|
664
670
|
orientation: stateSnapshot.current.orientation,
|
|
671
|
+
verticalDirection: stateSnapshot.current.verticalDirection,
|
|
665
672
|
position: { ...stateSnapshot.current.position },
|
|
666
673
|
isConfigMode: false,
|
|
667
674
|
}));
|
|
@@ -672,24 +679,89 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
672
679
|
};
|
|
673
680
|
const toggleOrientation = () => {
|
|
674
681
|
const newOrientation = state.orientation === 'horizontal' ? 'vertical' : 'horizontal';
|
|
682
|
+
// Hide the bar during transition to prevent flicker
|
|
683
|
+
setIsOrientationChanging(true);
|
|
684
|
+
// When switching from vertical back to horizontal, restore the original position
|
|
685
|
+
if (state.orientation === 'vertical' && newOrientation === 'horizontal') {
|
|
686
|
+
if (positionBeforeOrientationChange.current) {
|
|
687
|
+
const savedPosition = positionBeforeOrientationChange.current.position;
|
|
688
|
+
const savedPixelPosition = positionBeforeOrientationChange.current.pixelPosition;
|
|
689
|
+
setPixelPosition(savedPixelPosition);
|
|
690
|
+
setState(s => ({
|
|
691
|
+
...s,
|
|
692
|
+
orientation: newOrientation,
|
|
693
|
+
verticalDirection: 'down',
|
|
694
|
+
position: savedPosition,
|
|
695
|
+
}));
|
|
696
|
+
positionBeforeOrientationChange.current = null;
|
|
697
|
+
// Show the bar after the state has been applied
|
|
698
|
+
requestAnimationFrame(() => {
|
|
699
|
+
setIsOrientationChanging(false);
|
|
700
|
+
});
|
|
701
|
+
return;
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
// When switching to vertical, save current position and check if we need to expand upward
|
|
675
705
|
if (state.orientation === 'horizontal' && newOrientation === 'vertical') {
|
|
706
|
+
// Save the current position before changing orientation
|
|
707
|
+
positionBeforeOrientationChange.current = {
|
|
708
|
+
position: { ...state.position },
|
|
709
|
+
pixelPosition: { ...pixelPosition },
|
|
710
|
+
};
|
|
676
711
|
if (floatingRef.current) {
|
|
677
712
|
const floating = floatingRef.current.getBoundingClientRect();
|
|
678
|
-
const
|
|
679
|
-
|
|
713
|
+
const containerHeight = isConstrained && containerRef.current
|
|
714
|
+
? containerRef.current.getBoundingClientRect().height
|
|
715
|
+
: window.innerHeight;
|
|
716
|
+
// Estimate vertical height (horizontal width becomes vertical height)
|
|
717
|
+
const estimatedVerticalHeight = floating.width;
|
|
718
|
+
if (estimatedVerticalHeight > containerHeight - 70) {
|
|
680
719
|
ShowAlert({
|
|
681
720
|
mode: 'warning',
|
|
682
721
|
title: 'Troppi elementi',
|
|
683
722
|
message: 'Ci sono troppi elementi nella barra mobile per la modalità verticale.',
|
|
684
723
|
duration: 4000,
|
|
685
724
|
});
|
|
725
|
+
positionBeforeOrientationChange.current = null; // Clear saved position since we're not changing
|
|
726
|
+
setIsOrientationChanging(false); // Show bar again since we're not changing
|
|
727
|
+
return;
|
|
728
|
+
}
|
|
729
|
+
// Check if we're in the bottom part of the screen and don't have enough space below
|
|
730
|
+
const spaceBelow = containerHeight - floating.bottom;
|
|
731
|
+
const spaceAbove = floating.top;
|
|
732
|
+
const needsVerticalSpace = estimatedVerticalHeight - floating.height; // Additional space needed
|
|
733
|
+
// If not enough space below but enough space above, expand upward
|
|
734
|
+
if (spaceBelow < needsVerticalSpace && spaceAbove >= needsVerticalSpace) {
|
|
735
|
+
// Calculate the new Y position so the bottom of the bar stays at the same place
|
|
736
|
+
const currentBottom = pixelPosition.y + floating.height;
|
|
737
|
+
const newPixelY = currentBottom - estimatedVerticalHeight;
|
|
738
|
+
setState(s => ({
|
|
739
|
+
...s,
|
|
740
|
+
orientation: newOrientation,
|
|
741
|
+
verticalDirection: 'up',
|
|
742
|
+
}));
|
|
743
|
+
// Update pixel position and percentage after orientation change
|
|
744
|
+
requestAnimationFrame(() => {
|
|
745
|
+
requestAnimationFrame(() => {
|
|
746
|
+
const newY = Math.max(0, newPixelY);
|
|
747
|
+
setPixelPosition(prev => ({ ...prev, y: newY }));
|
|
748
|
+
const newPercentY = pixelsToPercent(newY, containerHeight);
|
|
749
|
+
setState(s => ({
|
|
750
|
+
...s,
|
|
751
|
+
position: { ...s.position, y: newPercentY },
|
|
752
|
+
}));
|
|
753
|
+
setIsOrientationChanging(false); // Show bar after position is set
|
|
754
|
+
});
|
|
755
|
+
});
|
|
686
756
|
return;
|
|
687
757
|
}
|
|
688
758
|
}
|
|
689
759
|
}
|
|
760
|
+
// Default case: just change orientation without special positioning
|
|
690
761
|
setState(s => ({
|
|
691
762
|
...s,
|
|
692
763
|
orientation: newOrientation,
|
|
764
|
+
verticalDirection: 'down',
|
|
693
765
|
}));
|
|
694
766
|
requestAnimationFrame(() => {
|
|
695
767
|
requestAnimationFrame(() => {
|
|
@@ -715,6 +787,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
715
787
|
}));
|
|
716
788
|
}
|
|
717
789
|
}
|
|
790
|
+
setIsOrientationChanging(false); // Show bar after position is set
|
|
718
791
|
});
|
|
719
792
|
});
|
|
720
793
|
};
|
|
@@ -778,7 +851,7 @@ const TMFloatingMenuBar = ({ containerRef, contextMenuItems = [], isConstrained
|
|
|
778
851
|
setState(s => ({ ...s, draggedItemIndex: null }));
|
|
779
852
|
setDragOverIndex(null);
|
|
780
853
|
};
|
|
781
|
-
return (_jsxs(_Fragment, { children: [_jsx(S.Overlay, { "$visible": state.isConfigMode }), _jsxs(S.FloatingContainer, { ref: floatingRef, "$x": pixelPosition.x, "$y": pixelPosition.y, "$orientation": state.orientation, "$isDragging": state.isDragging, "$isConfigMode": state.isConfigMode, "$isConstrained": isConstrained, "$bgColor": bgColor, onContextMenu: (e) => e.preventDefault(), children: [!state.isConfigMode ? (_jsx(ContextMenu, { items: [
|
|
854
|
+
return (_jsxs(_Fragment, { children: [_jsx(S.Overlay, { "$visible": state.isConfigMode }), _jsxs(S.FloatingContainer, { ref: floatingRef, "$x": pixelPosition.x, "$y": pixelPosition.y, "$orientation": state.orientation, "$verticalDirection": state.verticalDirection, "$isDragging": state.isDragging, "$isConfigMode": state.isConfigMode, "$isConstrained": isConstrained, "$isHidden": isOrientationChanging, "$bgColor": bgColor, onContextMenu: (e) => e.preventDefault(), children: [!state.isConfigMode ? (_jsx(ContextMenu, { items: [
|
|
782
855
|
...(!disbaleConfigMode ? [{
|
|
783
856
|
name: SDKUI_Localizator.Configure,
|
|
784
857
|
onClick: () => {
|
|
@@ -7,17 +7,21 @@ export declare const FloatingContainer: import("styled-components/dist/types").I
|
|
|
7
7
|
$x: number;
|
|
8
8
|
$y: number;
|
|
9
9
|
$orientation: "horizontal" | "vertical";
|
|
10
|
+
$verticalDirection: "down" | "up";
|
|
10
11
|
$isDragging: boolean;
|
|
11
12
|
$isConfigMode: boolean;
|
|
12
13
|
$isConstrained?: boolean;
|
|
14
|
+
$isHidden?: boolean;
|
|
13
15
|
$bgColor?: string;
|
|
14
16
|
}>, {
|
|
15
17
|
$x: number;
|
|
16
18
|
$y: number;
|
|
17
19
|
$orientation: "horizontal" | "vertical";
|
|
20
|
+
$verticalDirection: "down" | "up";
|
|
18
21
|
$isDragging: boolean;
|
|
19
22
|
$isConfigMode: boolean;
|
|
20
23
|
$isConstrained?: boolean;
|
|
24
|
+
$isHidden?: boolean;
|
|
21
25
|
$bgColor?: string;
|
|
22
26
|
}>> & string;
|
|
23
27
|
export declare const GripHandle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
@@ -39,7 +39,8 @@ export const FloatingContainer = styled.div.attrs(props => ({
|
|
|
39
39
|
position: ${props => props.$isConstrained ? 'absolute' : 'fixed'};
|
|
40
40
|
z-index: ${props => props.$isConfigMode ? 9999 : 1500};
|
|
41
41
|
display: flex;
|
|
42
|
-
|
|
42
|
+
visibility: ${props => props.$isHidden ? 'hidden' : 'visible'};
|
|
43
|
+
flex-direction: ${props => props.$orientation === 'horizontal' ? 'row' : (props.$verticalDirection === 'up' ? 'column-reverse' : 'column')};
|
|
43
44
|
align-items: center;
|
|
44
45
|
background: ${props => props.$bgColor || 'linear-gradient(135deg, #0071BC 0%, #1B1464 100%)'};
|
|
45
46
|
border: 1px solid #667eea;
|
|
@@ -50,6 +51,8 @@ export const FloatingContainer = styled.div.attrs(props => ({
|
|
|
50
51
|
0 6px 16px rgba(0, 0, 0, 0.2);
|
|
51
52
|
cursor: ${props => props.$isDragging ? 'grabbing' : 'default'};
|
|
52
53
|
user-select: none;
|
|
54
|
+
-webkit-touch-callout: none;
|
|
55
|
+
-webkit-user-select: none;
|
|
53
56
|
animation: ${props => props.$isConfigMode && css `${shake} 0.3s ease-in-out`};
|
|
54
57
|
transition: none;
|
|
55
58
|
|
|
@@ -61,6 +61,8 @@ const StyledIconButton = styled.button.withConfig({ shouldForwardProp: prop => !
|
|
|
61
61
|
background-color: transparent;
|
|
62
62
|
color: ${props => !props.disabled ? getColor(props.color) : 'rgb(180, 180, 180)'};
|
|
63
63
|
user-select: none;
|
|
64
|
+
-webkit-touch-callout: none;
|
|
65
|
+
-webkit-user-select: none;
|
|
64
66
|
`;
|
|
65
67
|
const StyledTextButton = styled.button.withConfig({ shouldForwardProp: prop => !['text'].includes(prop) }) `
|
|
66
68
|
font-size: ${props => props.fontSize};
|
|
@@ -79,6 +81,8 @@ const StyledTextButton = styled.button.withConfig({ shouldForwardProp: prop => !
|
|
|
79
81
|
background-color: transparent;
|
|
80
82
|
color: ${props => !props.disabled ? getColor(props.color) : 'rgb(231, 231, 231)'};
|
|
81
83
|
user-select: none;
|
|
84
|
+
-webkit-touch-callout: none;
|
|
85
|
+
-webkit-user-select: none;
|
|
82
86
|
transition: ease 200ms;
|
|
83
87
|
&:hover {
|
|
84
88
|
background-color: rgb(241, 241, 241);
|
|
@@ -118,6 +122,8 @@ const StyledAdvancedButton = styled.button `
|
|
|
118
122
|
overflow: hidden;
|
|
119
123
|
color: ${({ $isPrimaryOutline }) => $isPrimaryOutline ? TMColors.primaryColor : 'white'};
|
|
120
124
|
user-select: none;
|
|
125
|
+
-webkit-touch-callout: none;
|
|
126
|
+
-webkit-user-select: none;
|
|
121
127
|
border: ${({ $isPrimaryOutline }) => $isPrimaryOutline ? `1px solid ${TMColors.primaryColor}` : 'none'};
|
|
122
128
|
background: ${({ $isPrimaryOutline }) => $isPrimaryOutline ? 'white' : 'unset'};
|
|
123
129
|
`;
|
|
@@ -49,6 +49,8 @@ const StyledClosabelIcon = styled.div `
|
|
|
49
49
|
justify-content: flex-start;
|
|
50
50
|
padding: 2px;
|
|
51
51
|
user-select: none;
|
|
52
|
+
-webkit-touch-callout: none;
|
|
53
|
+
-webkit-user-select: none;
|
|
52
54
|
`;
|
|
53
55
|
const StyledClosableItemsCount = styled.div `
|
|
54
56
|
/* color: ${Colors.primary}; */
|
|
@@ -56,6 +58,8 @@ const StyledClosableItemsCount = styled.div `
|
|
|
56
58
|
cursor: pointer;
|
|
57
59
|
margin-right: 5px;
|
|
58
60
|
user-select: none;
|
|
61
|
+
-webkit-touch-callout: none;
|
|
62
|
+
-webkit-user-select: none;
|
|
59
63
|
`;
|
|
60
64
|
const TMClosableList = ({ dataSource, visibility = false, label, inline = false, hasPadding = true }) => {
|
|
61
65
|
const [status, setStatus] = useState(visibility);
|
|
@@ -12,6 +12,8 @@ const StyledContent = styled.div `
|
|
|
12
12
|
opacity: ${props => props.$disabled ? 0.4 : 1};
|
|
13
13
|
pointer-events: ${props => props.$disabled ? 'none' : ''};
|
|
14
14
|
user-select: none;
|
|
15
|
+
-webkit-touch-callout: none;
|
|
16
|
+
-webkit-user-select: none;
|
|
15
17
|
display: flex;
|
|
16
18
|
align-items: center;
|
|
17
19
|
|
|
@@ -31,6 +31,8 @@ const StyledExeptionToolbar = styled.div `
|
|
|
31
31
|
gap: 5px;
|
|
32
32
|
padding: 5px;
|
|
33
33
|
user-select: none;
|
|
34
|
+
-webkit-touch-callout: none;
|
|
35
|
+
-webkit-user-select: none;
|
|
34
36
|
border-top: 1px solid #f3f3f3;
|
|
35
37
|
/* background-color: ${TMColors.primary_container}; */
|
|
36
38
|
background-color: white;
|
|
@@ -45,6 +47,8 @@ const StyledMessageToolbar = styled.div `
|
|
|
45
47
|
gap: clamp(2px, 1vw, 5px);
|
|
46
48
|
padding: clamp(3px, 1vw, 5px);
|
|
47
49
|
user-select: none;
|
|
50
|
+
-webkit-touch-callout: none;
|
|
51
|
+
-webkit-user-select: none;
|
|
48
52
|
border-top: 1px solid #f3f3f3;
|
|
49
53
|
background-color: #ffffff;
|
|
50
54
|
z-index: 1;
|
|
@@ -69,6 +73,8 @@ const TabContextContainer = styled.div `
|
|
|
69
73
|
border-radius: 5px;
|
|
70
74
|
overflow: auto;
|
|
71
75
|
user-select: none;
|
|
76
|
+
-webkit-touch-callout: none;
|
|
77
|
+
-webkit-user-select: none;
|
|
72
78
|
position: relative;
|
|
73
79
|
`;
|
|
74
80
|
const StyledAppVersionText = styled.p `
|
|
@@ -42,6 +42,8 @@ const StyledSearchCardContent = styled.div `
|
|
|
42
42
|
|
|
43
43
|
position: relative;
|
|
44
44
|
user-select: none;
|
|
45
|
+
-webkit-touch-callout: none;
|
|
46
|
+
-webkit-user-select: none;
|
|
45
47
|
`;
|
|
46
48
|
const TMToolbarCard = ({ items = [], onItemClick, selectedItem, showPanel, color = TMColors.colorHeader, backgroundColor = TMColors.backgroundColorHeader, backgroundColorContainer, children, showHeader = true, title, totalItems, displayedItemsCount, toolbar, padding = '3px', onBack, onClose, onHeaderDoubleClick }) => {
|
|
47
49
|
return (_jsxs(StyledSearchCard, { children: [showHeader && _jsx(StyledSearchCardHeader, { "$backgroundColor": backgroundColor, "$color": color, onDoubleClick: () => { if (onHeaderDoubleClick)
|
|
@@ -16,6 +16,8 @@ const StyledCheckBoxLabel = styled.div `
|
|
|
16
16
|
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : props.$labelColor ? props.$labelColor : TMColors.text_normal : TMColors.disabled};
|
|
17
17
|
font-size: ${props => props.$fontSize};
|
|
18
18
|
user-select: none;
|
|
19
|
+
-webkit-touch-callout: none;
|
|
20
|
+
-webkit-user-select: none;
|
|
19
21
|
&:focus{
|
|
20
22
|
outline: none;
|
|
21
23
|
background-image: linear-gradient(white, #E4E9F7);
|
|
@@ -48,6 +48,8 @@ export const StyledEditorIcon = styled.div `
|
|
|
48
48
|
margin-right: 2px;
|
|
49
49
|
font-size: 18px;
|
|
50
50
|
user-select: none;
|
|
51
|
+
-webkit-touch-callout: none;
|
|
52
|
+
-webkit-user-select: none;
|
|
51
53
|
transform: translateY(18px);
|
|
52
54
|
`;
|
|
53
55
|
export const StyledEditorLabel = styled.div `
|
|
@@ -55,6 +57,8 @@ export const StyledEditorLabel = styled.div `
|
|
|
55
57
|
color:${props => !props.$disabled ? props.$isFocused ? TMColors.primary : props.$color ? props.$color : TMColors.label_normal : TMColors.disabled};
|
|
56
58
|
padding: 0 3px;
|
|
57
59
|
user-select: none;
|
|
60
|
+
-webkit-touch-callout: none;
|
|
61
|
+
-webkit-user-select: none;
|
|
58
62
|
transform: ${props => props.$labelPosition === 'left' && 'translateY(5px)'};
|
|
59
63
|
width: max-content;
|
|
60
64
|
transform: translate(10px, 6px);
|
|
@@ -39,6 +39,8 @@ const StyledradioButtonLabel = styled.label `
|
|
|
39
39
|
font-size: ${props => props.$fontSize};
|
|
40
40
|
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.text_normal : TMColors.disabled};
|
|
41
41
|
user-select: none;
|
|
42
|
+
-webkit-touch-callout: none;
|
|
43
|
+
-webkit-user-select: none;
|
|
42
44
|
width: 100%;
|
|
43
45
|
cursor: ${props => !props.$disabled && 'pointer'};
|
|
44
46
|
&:focus{
|
|
@@ -67,6 +67,8 @@ const TMToppyButton = styled.div.attrs((props) => ({
|
|
|
67
67
|
padding: 0;
|
|
68
68
|
outline: none;
|
|
69
69
|
user-select: none;
|
|
70
|
+
-webkit-touch-callout: none;
|
|
71
|
+
-webkit-user-select: none;
|
|
70
72
|
transition: background-color 0.3s ease, border 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease, width 0.3s ease, height 0.3s ease;
|
|
71
73
|
|
|
72
74
|
img {
|
|
@@ -87,6 +87,6 @@ const TMDcmtBlog = ({ tid, did, isVisible, fetchBlogDataTrigger, allTasks = [],
|
|
|
87
87
|
}, externalBlogPost: externalBlogPost, resetExternalBlogPost: resetExternalBlogPost, allTasks: allTasks, getAllTasks: getAllTasks, deleteTaskByIdsCallback: deleteTaskByIdsCallback, addTaskCallback: addTaskCallback, editTaskCallback: editTaskCallback, handleNavigateToWGs: handleNavigateToWGs, handleNavigateToDossiers: handleNavigateToDossiers, afterTaskSaved: refreshCallback }) }) }) }), (showCommentForm && tid && did) && _jsx(TMBlogCommentForm, { context: { engine: 'SearchEngine', object: { tid, did } }, onClose: () => setShowCommentForm(false), refreshCallback: refreshCallback, participants: [], showAttachmentsSection: false, allArchivedDocumentsFileItems: [], onFilterCreated: handleFilterCreated })] }));
|
|
88
88
|
};
|
|
89
89
|
export default TMDcmtBlog;
|
|
90
|
-
const StyledContainer = styled.div ` user-select: none; overflow: hidden; background-color: #ffffff; width: calc(100%); height: calc(100%); display: flex; gap: 10px; `;
|
|
90
|
+
const StyledContainer = styled.div ` user-select: none; -webkit-touch-callout: none; -webkit-user-select: none; overflow: hidden; background-color: #ffffff; width: calc(100%); height: calc(100%); display: flex; gap: 10px; `;
|
|
91
91
|
const StyledSectionContainer = styled.div ` width: 100%; height: 100%; display:flex; flex-direction: column; `;
|
|
92
92
|
const StyledBoardContainer = styled.div `width: 100%; height: 100%;`;
|
|
@@ -405,7 +405,7 @@ const StyledPreviewContainer = styled.div `display: flex; justify-content: cente
|
|
|
405
405
|
export const StyledHeaderIcon = styled.div ` color: ${props => props.$color}; cursor: pointer; display: flex; align-items: center; justify-content: center; &:hover{ color: white ; transition: 200ms ease; } `;
|
|
406
406
|
export const StyledPanelStatusContainer = styled.div ` width: 100%; height: 100%; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; `;
|
|
407
407
|
const StyledPreviewNotAvailable = styled.div ` display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; `;
|
|
408
|
-
const ImageContainer = styled.div ` width: calc(100% - 20px); height: 100%; left:10px; position: absolute; top:50px; overflow: hidden; background: #f5f5f5; touch-action: none; user-select: none; cursor: ${({ $cursor }) => $cursor ?? 'default'}; `;
|
|
408
|
+
const ImageContainer = styled.div ` width: calc(100% - 20px); height: 100%; left:10px; position: absolute; top:50px; overflow: hidden; background: #f5f5f5; touch-action: none; user-select: none; -webkit-touch-callout: none; -webkit-user-select: none; cursor: ${({ $cursor }) => $cursor ?? 'default'}; `;
|
|
409
409
|
const TopToolbar = styled.div ` position: absolute; top: 0; width: 100%; height: 40px; background-color: #e4e4e4; display: flex; justify-content: center; align-items: center; z-index: 10; `;
|
|
410
410
|
const ToolbarCenter = styled.div ` display: flex; align-items: center; gap: 12px;`;
|
|
411
411
|
const ToolbarIconButton = styled.button ` background: #f0f0f0; border: none; color: #313131; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; height: 32px; width: 32px; padding: 0; border-radius: 50px; &:hover{ background-color: #c4c4c4; } &:disabled { color: #c2c2c2; cursor: not-allowed; } `;
|
|
@@ -14,6 +14,8 @@ const StyledValidationItemsTabs = styled.div `
|
|
|
14
14
|
border-bottom: 1px solid $primary;
|
|
15
15
|
width: 100%;
|
|
16
16
|
user-select: none;
|
|
17
|
+
-webkit-touch-callout: none;
|
|
18
|
+
-webkit-user-select: none;
|
|
17
19
|
background-color: ${TMColors.primary};
|
|
18
20
|
z-index: 20;
|
|
19
21
|
border-top: 1px solid #122C4C;
|
|
@@ -44,12 +46,16 @@ const StyledMessageIcon = styled.div `
|
|
|
44
46
|
const StyledMessageResultType = styled.div `
|
|
45
47
|
width: 50px;
|
|
46
48
|
user-select: none;
|
|
49
|
+
-webkit-touch-callout: none;
|
|
50
|
+
-webkit-user-select: none;
|
|
47
51
|
margin-right: 20px;
|
|
48
52
|
`;
|
|
49
53
|
const StyledMessageElement = styled.div `
|
|
50
54
|
width: 150px;
|
|
51
55
|
text-align: left;
|
|
52
56
|
user-select: none;
|
|
57
|
+
-webkit-touch-callout: none;
|
|
58
|
+
-webkit-user-select: none;
|
|
53
59
|
margin-right: 20px;
|
|
54
60
|
`;
|
|
55
61
|
const StyledMessageText = styled.div `
|
|
@@ -985,6 +985,8 @@ const StyledContent = styled.div `
|
|
|
985
985
|
opacity: ${props => props.$disabled ? 0.4 : 1};
|
|
986
986
|
pointer-events: ${props => props.$disabled ? 'none' : ''};
|
|
987
987
|
user-select: none;
|
|
988
|
+
-webkit-touch-callout: none;
|
|
989
|
+
-webkit-user-select: none;
|
|
988
990
|
display: flex;
|
|
989
991
|
align-items: center;
|
|
990
992
|
|
|
@@ -400,6 +400,8 @@ const AppMenuButton = styled.div `
|
|
|
400
400
|
cursor: pointer;
|
|
401
401
|
box-shadow: 0 2px 8px #2459a41a;
|
|
402
402
|
user-select: none;
|
|
403
|
+
-webkit-touch-callout: none;
|
|
404
|
+
-webkit-user-select: none;
|
|
403
405
|
gap: 5px;
|
|
404
406
|
transition:
|
|
405
407
|
transform 0.18s cubic-bezier(.4,0,.2,1),
|
|
@@ -445,6 +447,8 @@ const UserAvatar = styled.div `
|
|
|
445
447
|
font-weight: 600;
|
|
446
448
|
letter-spacing: 0.5px;
|
|
447
449
|
user-select: none;
|
|
450
|
+
-webkit-touch-callout: none;
|
|
451
|
+
-webkit-user-select: none;
|
|
448
452
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
449
453
|
`;
|
|
450
454
|
const UserAvatarLarge = styled(UserAvatar) `
|
|
@@ -21,6 +21,8 @@ const StyledTMSidebarItemContainer = styled.div `
|
|
|
21
21
|
position: relative;
|
|
22
22
|
transition: background-color 200ms ease;
|
|
23
23
|
user-select: none;
|
|
24
|
+
-webkit-touch-callout: none;
|
|
25
|
+
-webkit-user-select: none;
|
|
24
26
|
background-color: ${props => props.$isSelected ? 'rgba(255,255,255,0.35)' : 'transparent'};
|
|
25
27
|
|
|
26
28
|
p {
|
|
@@ -19,6 +19,8 @@ const StyledToppyText = styled.div `
|
|
|
19
19
|
color: #2559A5;
|
|
20
20
|
font-size: 1rem;
|
|
21
21
|
user-select: none;
|
|
22
|
+
-webkit-touch-callout: none;
|
|
23
|
+
-webkit-user-select: none;
|
|
22
24
|
margin: 0;
|
|
23
25
|
display: -webkit-box;
|
|
24
26
|
-webkit-box-orient: vertical;
|
|
@@ -35,6 +37,8 @@ const StyledToppyImage = styled.img `
|
|
|
35
37
|
height: auto;
|
|
36
38
|
display: block;
|
|
37
39
|
user-select: none;
|
|
40
|
+
-webkit-touch-callout: none;
|
|
41
|
+
-webkit-user-select: none;
|
|
38
42
|
`;
|
|
39
43
|
const TMToppyMessage = (props) => {
|
|
40
44
|
const { message, titleTooltip, maxWidth } = props;
|