@topconsultnpm/sdkui-react 6.19.0-dev2.2 → 6.19.0-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.
- package/lib/assets/IconsS4t/add.svg +12 -12
- package/lib/assets/IconsS4t/aggiorna.svg +18 -18
- package/lib/assets/IconsS4t/bookmark.svg +42 -42
- package/lib/assets/IconsS4t/cancella.svg +15 -15
- package/lib/assets/IconsS4t/check-box.svg +19 -19
- package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/down.svg +28 -28
- package/lib/assets/IconsS4t/edit-file.svg +19 -19
- package/lib/assets/IconsS4t/edita.svg +32 -32
- package/lib/assets/IconsS4t/firma.svg +19 -19
- package/lib/assets/IconsS4t/icona_download.svg +16 -16
- package/lib/assets/IconsS4t/info.svg +51 -51
- package/lib/assets/IconsS4t/left.svg +20 -20
- package/lib/assets/IconsS4t/line.svg +40 -40
- package/lib/assets/IconsS4t/more.svg +19 -19
- package/lib/assets/IconsS4t/plus.svg +23 -23
- package/lib/assets/IconsS4t/printer.svg +49 -49
- package/lib/assets/IconsS4t/radio-on-button.svg +25 -25
- package/lib/assets/IconsS4t/rectangle.svg +41 -41
- package/lib/assets/IconsS4t/redo.svg +19 -19
- package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -40
- package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/right.svg +22 -22
- package/lib/assets/IconsS4t/searchbar.svg +21 -21
- package/lib/assets/IconsS4t/text-box.svg +36 -36
- package/lib/assets/IconsS4t/tick.svg +8 -8
- package/lib/assets/IconsS4t/trash-white.svg +10 -10
- package/lib/assets/IconsS4t/undo.svg +19 -19
- package/lib/assets/IconsS4t/up.svg +32 -32
- package/lib/assets/IconsS4t/video-streaming.svg +2 -2
- package/lib/assets/IconsS4t/zoom-in.svg +58 -58
- package/lib/assets/IconsS4t/zoom-out.svg +56 -56
- package/lib/assets/icomoon.svg +96 -96
- package/lib/assets/italy.svg +16 -16
- package/lib/assets/six.svg +3 -3
- package/lib/assets/thumbnails/index.ts +39 -39
- package/lib/assets/topmedia-six.svg +65 -65
- package/lib/assets/topmeida-six-bianco.svg +65 -65
- package/lib/components/base/Styled.js +302 -302
- package/lib/components/base/TMAccordion.js +43 -43
- package/lib/components/base/TMAreaManager.js +23 -23
- package/lib/components/base/TMButton.js +130 -130
- package/lib/components/base/TMClosableList.js +46 -46
- package/lib/components/base/TMConfirm.js +20 -20
- package/lib/components/base/TMContextMenu.js +4 -4
- package/lib/components/base/TMContextMenuOLD.js +25 -25
- package/lib/components/base/TMCounterBar.js +32 -32
- package/lib/components/base/TMCounterContainer.js +30 -30
- package/lib/components/base/TMCustomButton.js +7 -7
- package/lib/components/base/TMDropDownMenu.js +24 -24
- package/lib/components/base/TMFileManagerUtils.js +19 -19
- package/lib/components/base/TMFloatingToolbar.js +34 -34
- package/lib/components/base/TMLayout.js +44 -44
- package/lib/components/base/TMList.js +34 -34
- package/lib/components/base/TMModal.js +31 -31
- package/lib/components/base/TMPanel.js +57 -57
- package/lib/components/base/TMPopUp.js +114 -114
- package/lib/components/base/TMProgressBar.js +20 -20
- package/lib/components/base/TMResizableMenu.js +28 -28
- package/lib/components/base/TMRightSidebar.js +40 -40
- package/lib/components/base/TMSpinner.js +121 -121
- package/lib/components/base/TMTab.js +11 -11
- package/lib/components/base/TMToggleButton.js +36 -36
- package/lib/components/base/TMToolbarCard.js +35 -35
- package/lib/components/base/TMTreeView.js +16 -16
- package/lib/components/base/TMUserAvatar.js +7 -7
- package/lib/components/base/TMWaitPanel.js +22 -22
- package/lib/components/choosers/TMCultureIDPicker.js +35 -35
- package/lib/components/choosers/TMDataListItemPicker.js +54 -54
- package/lib/components/editors/TMCheckBox.js +24 -24
- package/lib/components/editors/TMDropDown.js +43 -43
- package/lib/components/editors/TMEditorStyled.js +71 -71
- package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
- package/lib/components/editors/TMLocalizedTextBox.js +31 -31
- package/lib/components/editors/TMMetadataValues.js +17 -17
- package/lib/components/editors/TMRadioButton.js +39 -39
- package/lib/components/editors/TMSummary.js +39 -39
- package/lib/components/editors/TMTextArea.js +12 -12
- package/lib/components/editors/TMTextBox.js +19 -19
- package/lib/components/features/assistant/ToppyHelpCenter.js +114 -114
- package/lib/components/features/blog/TMBlogCommentForm.js +3 -3
- package/lib/components/features/documents/TMDcmtIcon.js +8 -8
- package/lib/components/features/documents/TMDcmtPreview.js +30 -30
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/search/TMSavedQuerySelector.js +51 -51
- package/lib/components/features/search/TMSearchQueryEditor.js +13 -13
- package/lib/components/features/search/TMSearchQueryPanel.js +30 -30
- package/lib/components/features/search/TMSearchResult.js +3 -3
- package/lib/components/features/search/TMTreeSelector.js +66 -66
- package/lib/components/features/tasks/TMTaskForm.js +31 -31
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
- package/lib/components/features/workflow/TMWorkflowPopup.js +41 -41
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
- package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +29 -29
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
- package/lib/components/features/workflow/diagram/RecipientList.js +38 -38
- package/lib/components/features/workflow/diagram/WFDiagram.js +278 -278
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
- package/lib/components/forms/Login/Chooser.js +35 -35
- package/lib/components/forms/Login/Menu.js +22 -22
- package/lib/components/forms/Login/SelectBox.js +46 -46
- package/lib/components/forms/Login/TMLoginForm.js +14 -14
- package/lib/components/forms/Login/TextBox.js +57 -57
- package/lib/components/grids/TMBlogsPostUtils.js +5 -5
- package/lib/components/grids/TMRecentsManager.js +50 -50
- package/lib/components/grids/TMValidationItemsList.js +48 -48
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +34 -34
- package/lib/components/query/TMQueryEditor.js +17 -17
- package/lib/components/query/TMQuerySummary.js +12 -12
- package/lib/components/settings/SettingsAppearance.js +0 -8
- package/lib/components/sidebar/TMCommandsPanel.js +10 -10
- package/lib/components/sidebar/TMHeader.js +307 -307
- package/lib/components/sidebar/TMSidebar.js +24 -24
- package/lib/components/sidebar/TMSidebarItem.js +21 -21
- package/lib/components/wizard/TMStepIndicator.js +102 -102
- package/lib/components/wizard/TMWizard.js +29 -29
- package/lib/helper/SDKUI_Globals.d.ts +0 -2
- package/lib/helper/SDKUI_Globals.js +1 -9
- package/lib/helper/TMIcons.js +1 -1
- package/lib/helper/TMToppyMessage.js +30 -30
- package/lib/helper/TMUtils.js +37 -37
- package/package.json +54 -54
|
@@ -6,31 +6,31 @@ import { ScrollView } from 'devextreme-react';
|
|
|
6
6
|
import { TMColors } from '../../utils/theme';
|
|
7
7
|
import TMSpinner from '../base/TMSpinner';
|
|
8
8
|
import { TMExceptionBoxManager } from '../base/TMPopUp';
|
|
9
|
-
const StyledTMSidebarContainer = styled.div `
|
|
10
|
-
top: ${props => props.$top || '53px'};
|
|
11
|
-
left: ${props => props.$left || '0px'};
|
|
12
|
-
width: ${props => props.$width || '50px'};
|
|
13
|
-
height: ${props => props.$height || 'calc(100% - 88px)'};
|
|
14
|
-
background: ${() => TMColors.primaryColor} 0% 0% no-repeat padding-box;
|
|
15
|
-
box-shadow: 0px 3px 6px #00000029;
|
|
16
|
-
border-radius: 0;
|
|
17
|
-
opacity: 1;
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
justify-content: space-between;
|
|
21
|
-
align-items: center;
|
|
22
|
-
padding: 10px 0px;
|
|
23
|
-
position: absolute;
|
|
24
|
-
border-top-right-radius: 10px;
|
|
25
|
-
border-bottom-right-radius: 10px;
|
|
26
|
-
overflow: hidden;
|
|
9
|
+
const StyledTMSidebarContainer = styled.div `
|
|
10
|
+
top: ${props => props.$top || '53px'};
|
|
11
|
+
left: ${props => props.$left || '0px'};
|
|
12
|
+
width: ${props => props.$width || '50px'};
|
|
13
|
+
height: ${props => props.$height || 'calc(100% - 88px)'};
|
|
14
|
+
background: ${() => TMColors.primaryColor} 0% 0% no-repeat padding-box;
|
|
15
|
+
box-shadow: 0px 3px 6px #00000029;
|
|
16
|
+
border-radius: 0;
|
|
17
|
+
opacity: 1;
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
justify-content: space-between;
|
|
21
|
+
align-items: center;
|
|
22
|
+
padding: 10px 0px;
|
|
23
|
+
position: absolute;
|
|
24
|
+
border-top-right-radius: 10px;
|
|
25
|
+
border-bottom-right-radius: 10px;
|
|
26
|
+
overflow: hidden;
|
|
27
27
|
`;
|
|
28
|
-
const FixedBottomContainer = styled.div `
|
|
29
|
-
display: flex;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
align-items: center;
|
|
32
|
-
position: relative;
|
|
33
|
-
bottom: 10px;
|
|
28
|
+
const FixedBottomContainer = styled.div `
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
align-items: center;
|
|
32
|
+
position: relative;
|
|
33
|
+
bottom: 10px;
|
|
34
34
|
`;
|
|
35
35
|
const TMSidebar = ({ items, height, borderRightRadius, left, top, width }) => {
|
|
36
36
|
const [canArchive, setCanArhive] = useState(false);
|
|
@@ -10,27 +10,27 @@ var ApplicationThemeColor;
|
|
|
10
10
|
// DESIGNER = '#6b173e'
|
|
11
11
|
ApplicationThemeColor["DESIGNER"] = "#482234";
|
|
12
12
|
})(ApplicationThemeColor || (ApplicationThemeColor = {}));
|
|
13
|
-
const StyledTMSidebarItemContainer = styled.div `
|
|
14
|
-
margin-bottom: 10px;
|
|
15
|
-
background-color: transparent;
|
|
16
|
-
padding: 5px 0 0 5px;
|
|
17
|
-
transition: all 200ms ease;
|
|
18
|
-
user-select: none;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
color: ${(props) => props.$isSelected ? TMColors.primaryColor : '#fff'};
|
|
21
|
-
background-color: ${props => props.$isSelected ? 'white' : 'transparent'} ;
|
|
22
|
-
border-radius: 3px;
|
|
23
|
-
width: 32px;
|
|
24
|
-
height: 32px;
|
|
25
|
-
|
|
26
|
-
p {
|
|
27
|
-
display: none;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&:hover {
|
|
31
|
-
background-color: ${props => !props.$isApp && 'white'};
|
|
32
|
-
color: ${props => !props.$isApp && TMColors.primaryColor};
|
|
33
|
-
}
|
|
13
|
+
const StyledTMSidebarItemContainer = styled.div `
|
|
14
|
+
margin-bottom: 10px;
|
|
15
|
+
background-color: transparent;
|
|
16
|
+
padding: 5px 0 0 5px;
|
|
17
|
+
transition: all 200ms ease;
|
|
18
|
+
user-select: none;
|
|
19
|
+
cursor: pointer;
|
|
20
|
+
color: ${(props) => props.$isSelected ? TMColors.primaryColor : '#fff'};
|
|
21
|
+
background-color: ${props => props.$isSelected ? 'white' : 'transparent'} ;
|
|
22
|
+
border-radius: 3px;
|
|
23
|
+
width: 32px;
|
|
24
|
+
height: 32px;
|
|
25
|
+
|
|
26
|
+
p {
|
|
27
|
+
display: none;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
background-color: ${props => !props.$isApp && 'white'};
|
|
32
|
+
color: ${props => !props.$isApp && TMColors.primaryColor};
|
|
33
|
+
}
|
|
34
34
|
`;
|
|
35
35
|
const TMSidebarItem = (props) => {
|
|
36
36
|
let app = SDK_Globals.appModule;
|
|
@@ -9,130 +9,130 @@ const COLOR_ERROR = '#d32f2f'; // Rosso per l'errore
|
|
|
9
9
|
const RHOMBUS_SIZE = 35;
|
|
10
10
|
const LINE_HEIGHT = 3;
|
|
11
11
|
// Contenitore principale, centrato orizzontalmente
|
|
12
|
-
const IndicatorContainer = styled.div `
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: column;
|
|
15
|
-
align-items: center;
|
|
16
|
-
padding: 20px 0 20px 0;
|
|
17
|
-
width: 100%;
|
|
18
|
-
flex-shrink: 0;
|
|
12
|
+
const IndicatorContainer = styled.div `
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
align-items: center;
|
|
16
|
+
padding: 20px 0 20px 0;
|
|
17
|
+
width: 100%;
|
|
18
|
+
flex-shrink: 0;
|
|
19
19
|
`;
|
|
20
20
|
// Titolo dello step corrente sotto la barra
|
|
21
21
|
// AGGIUNGIAMO STILE PER IL TITOLO CON ERRORE
|
|
22
|
-
const StepTitle = styled.div `
|
|
23
|
-
font-weight: bold;
|
|
24
|
-
text-align: center;
|
|
25
|
-
font-size: 1.3em;
|
|
26
|
-
padding-top: 15px;
|
|
27
|
-
|
|
28
|
-
// Cambia colore del titolo se lo step corrente ha un errore
|
|
29
|
-
color: ${props => (props.$isError ? COLOR_ERROR : COLOR_PRIMARY)};
|
|
30
|
-
|
|
31
|
-
// Styling per l'icona di errore accanto al titolo (se presente)
|
|
32
|
-
display: flex;
|
|
33
|
-
align-items: center;
|
|
34
|
-
justify-content: center;
|
|
35
|
-
|
|
36
|
-
.error-icon {
|
|
37
|
-
margin-left: 8px;
|
|
38
|
-
font-size: 1.1em;
|
|
39
|
-
}
|
|
22
|
+
const StepTitle = styled.div `
|
|
23
|
+
font-weight: bold;
|
|
24
|
+
text-align: center;
|
|
25
|
+
font-size: 1.3em;
|
|
26
|
+
padding-top: 15px;
|
|
27
|
+
|
|
28
|
+
// Cambia colore del titolo se lo step corrente ha un errore
|
|
29
|
+
color: ${props => (props.$isError ? COLOR_ERROR : COLOR_PRIMARY)};
|
|
30
|
+
|
|
31
|
+
// Styling per l'icona di errore accanto al titolo (se presente)
|
|
32
|
+
display: flex;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: center;
|
|
35
|
+
|
|
36
|
+
.error-icon {
|
|
37
|
+
margin-left: 8px;
|
|
38
|
+
font-size: 1.1em;
|
|
39
|
+
}
|
|
40
40
|
`;
|
|
41
|
-
const StepBar = styled.div `
|
|
42
|
-
display: flex;
|
|
43
|
-
justify-content: space-between;
|
|
44
|
-
align-items: center;
|
|
45
|
-
width: 80%;
|
|
46
|
-
max-width: 600px;
|
|
47
|
-
position: relative;
|
|
48
|
-
padding: 0;
|
|
41
|
+
const StepBar = styled.div `
|
|
42
|
+
display: flex;
|
|
43
|
+
justify-content: space-between;
|
|
44
|
+
align-items: center;
|
|
45
|
+
width: 80%;
|
|
46
|
+
max-width: 600px;
|
|
47
|
+
position: relative;
|
|
48
|
+
padding: 0;
|
|
49
49
|
`;
|
|
50
50
|
// Contenitore per le linee (omesso per brevità, rimane invariato)
|
|
51
|
-
const LineContainer = styled.div `
|
|
52
|
-
position: absolute;
|
|
53
|
-
top: 50%;
|
|
54
|
-
transform: translateY(-50%);
|
|
55
|
-
height: ${LINE_HEIGHT}px;
|
|
56
|
-
z-index: 1;
|
|
57
|
-
|
|
58
|
-
/* Calcoliamo il padding per escludere metà rombo da ogni lato */
|
|
59
|
-
left: ${RHOMBUS_SIZE / 2}px;
|
|
60
|
-
right: ${RHOMBUS_SIZE / 2}px;
|
|
61
|
-
width: ${props => props.$numSteps > 1 ? `calc(100% - ${RHOMBUS_SIZE}px)` : '0'};
|
|
51
|
+
const LineContainer = styled.div `
|
|
52
|
+
position: absolute;
|
|
53
|
+
top: 50%;
|
|
54
|
+
transform: translateY(-50%);
|
|
55
|
+
height: ${LINE_HEIGHT}px;
|
|
56
|
+
z-index: 1;
|
|
57
|
+
|
|
58
|
+
/* Calcoliamo il padding per escludere metà rombo da ogni lato */
|
|
59
|
+
left: ${RHOMBUS_SIZE / 2}px;
|
|
60
|
+
right: ${RHOMBUS_SIZE / 2}px;
|
|
61
|
+
width: ${props => props.$numSteps > 1 ? `calc(100% - ${RHOMBUS_SIZE}px)` : '0'};
|
|
62
62
|
`;
|
|
63
63
|
// Linea di connessione grigia (base) (omesso per brevità, rimane invariato)
|
|
64
|
-
const BaseLine = styled.div `
|
|
65
|
-
height: 100%;
|
|
66
|
-
background-color: ${COLOR_SECONDARY};
|
|
67
|
-
width: 100%;
|
|
68
|
-
position: absolute;
|
|
69
|
-
top: 0;
|
|
70
|
-
left: 0;
|
|
64
|
+
const BaseLine = styled.div `
|
|
65
|
+
height: 100%;
|
|
66
|
+
background-color: ${COLOR_SECONDARY};
|
|
67
|
+
width: 100%;
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 0;
|
|
70
|
+
left: 0;
|
|
71
71
|
`;
|
|
72
72
|
// Linea di avanzamento colorata (progress bar) (omesso per brevità, rimane invariato)
|
|
73
|
-
const ProgressLine = styled.div `
|
|
74
|
-
height: 100%;
|
|
75
|
-
background-color: ${COLOR_PRIMARY};
|
|
76
|
-
width: ${props => props.$widthPercentage}%;
|
|
77
|
-
transition: width 0.3s ease-in-out;
|
|
78
|
-
position: absolute;
|
|
79
|
-
left: 0;
|
|
80
|
-
top: 0;
|
|
81
|
-
z-index: 2;
|
|
73
|
+
const ProgressLine = styled.div `
|
|
74
|
+
height: 100%;
|
|
75
|
+
background-color: ${COLOR_PRIMARY};
|
|
76
|
+
width: ${props => props.$widthPercentage}%;
|
|
77
|
+
transition: width 0.3s ease-in-out;
|
|
78
|
+
position: absolute;
|
|
79
|
+
left: 0;
|
|
80
|
+
top: 0;
|
|
81
|
+
z-index: 2;
|
|
82
82
|
`;
|
|
83
83
|
// Stile per ogni singolo step (elemento flex) (omesso per brevità, rimane invariato)
|
|
84
|
-
const StepItem = styled.div `
|
|
85
|
-
display: flex;
|
|
86
|
-
justify-content: center;
|
|
87
|
-
align-items: center;
|
|
88
|
-
position: relative;
|
|
89
|
-
z-index: 2;
|
|
90
|
-
flex-basis: auto;
|
|
84
|
+
const StepItem = styled.div `
|
|
85
|
+
display: flex;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
align-items: center;
|
|
88
|
+
position: relative;
|
|
89
|
+
z-index: 2;
|
|
90
|
+
flex-basis: auto;
|
|
91
91
|
`;
|
|
92
92
|
// Il Rombo (il contenitore esterno ruotato)
|
|
93
93
|
// AGGIUNGIAMO $isError
|
|
94
|
-
const StepRhombusContainer = styled.div `
|
|
95
|
-
width: ${RHOMBUS_SIZE}px;
|
|
96
|
-
height: ${RHOMBUS_SIZE}px;
|
|
97
|
-
transform: rotate(45deg);
|
|
98
|
-
display: flex;
|
|
99
|
-
justify-content: center;
|
|
100
|
-
align-items: center;
|
|
101
|
-
flex-shrink: 0;
|
|
102
|
-
|
|
103
|
-
// Gestione colore/bordo in base allo stato di errore
|
|
104
|
-
background-color: ${props => (props.$isCurrent ? (props.$isError ? COLOR_ERROR : COLOR_PRIMARY) : 'white')};
|
|
105
|
-
|
|
106
|
-
// Bordo in caso di errore (se non completato e non corrente)
|
|
94
|
+
const StepRhombusContainer = styled.div `
|
|
95
|
+
width: ${RHOMBUS_SIZE}px;
|
|
96
|
+
height: ${RHOMBUS_SIZE}px;
|
|
97
|
+
transform: rotate(45deg);
|
|
98
|
+
display: flex;
|
|
99
|
+
justify-content: center;
|
|
100
|
+
align-items: center;
|
|
101
|
+
flex-shrink: 0;
|
|
102
|
+
|
|
103
|
+
// Gestione colore/bordo in base allo stato di errore
|
|
104
|
+
background-color: ${props => (props.$isCurrent ? (props.$isError ? COLOR_ERROR : COLOR_PRIMARY) : 'white')};
|
|
105
|
+
|
|
106
|
+
// Bordo in caso di errore (se non completato e non corrente)
|
|
107
107
|
border: 2px solid ${props => (props.$isCurrent ? 'transparent' :
|
|
108
108
|
props.$isError ? COLOR_ERROR :
|
|
109
|
-
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
110
|
-
|
|
111
|
-
box-shadow: ${props => (props.$isCompleted && !props.$isCurrent ? `0 0 0 1px ${COLOR_PRIMARY}` : 'none')};
|
|
112
|
-
|
|
113
|
-
${props => props.$isCurrent && `
|
|
114
|
-
border: none;
|
|
115
|
-
box-shadow: 0 0 0 1px ${props.$isError ? COLOR_ERROR : COLOR_PRIMARY};
|
|
116
|
-
`}
|
|
109
|
+
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
110
|
+
|
|
111
|
+
box-shadow: ${props => (props.$isCompleted && !props.$isCurrent ? `0 0 0 1px ${COLOR_PRIMARY}` : 'none')};
|
|
112
|
+
|
|
113
|
+
${props => props.$isCurrent && `
|
|
114
|
+
border: none;
|
|
115
|
+
box-shadow: 0 0 0 1px ${props.$isError ? COLOR_ERROR : COLOR_PRIMARY};
|
|
116
|
+
`}
|
|
117
117
|
`;
|
|
118
118
|
// Contenuto interno ruotato
|
|
119
119
|
// AGGIUNGIAMO $isError
|
|
120
|
-
const StepContent = styled.div `
|
|
121
|
-
transform: rotate(-45deg);
|
|
122
|
-
font-weight: bold;
|
|
123
|
-
font-size: 1em;
|
|
124
|
-
display: flex;
|
|
125
|
-
align-items: center;
|
|
126
|
-
|
|
127
|
-
// Colore del testo/icona
|
|
120
|
+
const StepContent = styled.div `
|
|
121
|
+
transform: rotate(-45deg);
|
|
122
|
+
font-weight: bold;
|
|
123
|
+
font-size: 1em;
|
|
124
|
+
display: flex;
|
|
125
|
+
align-items: center;
|
|
126
|
+
|
|
127
|
+
// Colore del testo/icona
|
|
128
128
|
color: ${props => (props.$isCurrent ? 'white' :
|
|
129
129
|
props.$isError ? COLOR_ERROR :
|
|
130
|
-
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
131
|
-
|
|
132
|
-
/* Regola la dimensione dell'icona Check per lo step completato */
|
|
133
|
-
.MuiSvgIcon-root {
|
|
134
|
-
font-size: 18px;
|
|
135
|
-
}
|
|
130
|
+
props.$isCompleted ? COLOR_PRIMARY : COLOR_SECONDARY)};
|
|
131
|
+
|
|
132
|
+
/* Regola la dimensione dell'icona Check per lo step completato */
|
|
133
|
+
.MuiSvgIcon-root {
|
|
134
|
+
font-size: 18px;
|
|
135
|
+
}
|
|
136
136
|
`;
|
|
137
137
|
const StepIndicator = ({ steps, currentStepIndex, stepValidityStatuses }) => {
|
|
138
138
|
const numberOfSections = steps.length - 1;
|
|
@@ -5,40 +5,40 @@ import styled from 'styled-components';
|
|
|
5
5
|
import { ResultTypes } from '@topconsultnpm/sdk-ts';
|
|
6
6
|
import TMButton from '../base/TMButton';
|
|
7
7
|
import StepIndicator from './TMStepIndicator';
|
|
8
|
-
const WizardContainer = styled.div `
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
height: 100%;
|
|
12
|
-
background-color: white;
|
|
13
|
-
padding: 8px;
|
|
8
|
+
const WizardContainer = styled.div `
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
height: 100%;
|
|
12
|
+
background-color: white;
|
|
13
|
+
padding: 8px;
|
|
14
14
|
`;
|
|
15
|
-
const WizardHeader = styled.div `
|
|
16
|
-
flex-shrink: 0;
|
|
17
|
-
padding: 0 20px 20px 20px;
|
|
15
|
+
const WizardHeader = styled.div `
|
|
16
|
+
flex-shrink: 0;
|
|
17
|
+
padding: 0 20px 20px 20px;
|
|
18
18
|
`;
|
|
19
|
-
const WizardTitle = styled.h2 `
|
|
20
|
-
font-size: 1.3em;
|
|
21
|
-
font-weight: bold;
|
|
22
|
-
margin: 0;
|
|
23
|
-
color: #333;
|
|
19
|
+
const WizardTitle = styled.h2 `
|
|
20
|
+
font-size: 1.3em;
|
|
21
|
+
font-weight: bold;
|
|
22
|
+
margin: 0;
|
|
23
|
+
color: #333;
|
|
24
24
|
`;
|
|
25
|
-
const WizardDescription = styled.p `
|
|
26
|
-
font-size: 1em;
|
|
27
|
-
margin-top: 5px;
|
|
28
|
-
color: #666;
|
|
25
|
+
const WizardDescription = styled.p `
|
|
26
|
+
font-size: 1em;
|
|
27
|
+
margin-top: 5px;
|
|
28
|
+
color: #666;
|
|
29
29
|
`;
|
|
30
|
-
const StepContent = styled.div `
|
|
31
|
-
flex-grow: 1;
|
|
32
|
-
overflow-y: auto;
|
|
33
|
-
padding: 20px;
|
|
30
|
+
const StepContent = styled.div `
|
|
31
|
+
flex-grow: 1;
|
|
32
|
+
overflow-y: auto;
|
|
33
|
+
padding: 20px;
|
|
34
34
|
`;
|
|
35
|
-
const ControlsContainer = styled.div `
|
|
36
|
-
flex-shrink: 0;
|
|
37
|
-
display: flex;
|
|
38
|
-
justify-content: flex-end;
|
|
39
|
-
gap: 15px;
|
|
40
|
-
padding: 15px 20px;
|
|
41
|
-
border-top: 1px solid #eee;
|
|
35
|
+
const ControlsContainer = styled.div `
|
|
36
|
+
flex-shrink: 0;
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: flex-end;
|
|
39
|
+
gap: 15px;
|
|
40
|
+
padding: 15px 20px;
|
|
41
|
+
border-top: 1px solid #eee;
|
|
42
42
|
`;
|
|
43
43
|
const TMWizard = ({ steps, validateOnlyCurrentStep = true, onClose, onFinish, initialData, title, description }) => {
|
|
44
44
|
const [currentStep, setCurrentStep] = useState(0);
|
|
@@ -32,7 +32,6 @@ export declare class DataGridSettings {
|
|
|
32
32
|
}
|
|
33
33
|
export declare class ThemeSettings {
|
|
34
34
|
fontSize: string;
|
|
35
|
-
fontFamily: string;
|
|
36
35
|
gridSettings: DataGridSettings;
|
|
37
36
|
constructor(skipCssUpdate?: boolean);
|
|
38
37
|
/**
|
|
@@ -41,7 +40,6 @@ export declare class ThemeSettings {
|
|
|
41
40
|
*/
|
|
42
41
|
toJSON(): {
|
|
43
42
|
fontSize: string;
|
|
44
|
-
fontFamily: string;
|
|
45
43
|
gridSettings: DataGridSettings;
|
|
46
44
|
};
|
|
47
45
|
}
|
|
@@ -36,9 +36,8 @@ export class UserSettings {
|
|
|
36
36
|
// Ensure userID and archiveID are set
|
|
37
37
|
settings.userID = userID;
|
|
38
38
|
settings.archiveID = archiveID;
|
|
39
|
-
// Update the CSS
|
|
39
|
+
// Update the CSS variable for font size
|
|
40
40
|
document.documentElement.style.setProperty('--base-font-size', settings.themeSettings.fontSize);
|
|
41
|
-
document.documentElement.style.setProperty('--base-font-family', settings.themeSettings.fontFamily);
|
|
42
41
|
// Wrap the settings object in a Proxy to intercept property updates
|
|
43
42
|
const proxiedSettings = createProxy(settings, UserSettings.SaveSettings);
|
|
44
43
|
// Automatically set the global userSettings
|
|
@@ -69,12 +68,10 @@ export class DataGridSettings {
|
|
|
69
68
|
export class ThemeSettings {
|
|
70
69
|
constructor(skipCssUpdate = false) {
|
|
71
70
|
this.fontSize = FontSize.defaultFontSizeInPixel;
|
|
72
|
-
this.fontFamily = 'Inter';
|
|
73
71
|
this.gridSettings = new DataGridSettings();
|
|
74
72
|
// Automatically update the CSS variable for font size
|
|
75
73
|
if (!skipCssUpdate) {
|
|
76
74
|
document.documentElement.style.setProperty('--base-font-size', this.fontSize);
|
|
77
|
-
document.documentElement.style.setProperty('--base-font-family', this.fontFamily);
|
|
78
75
|
}
|
|
79
76
|
}
|
|
80
77
|
/**
|
|
@@ -84,7 +81,6 @@ export class ThemeSettings {
|
|
|
84
81
|
toJSON() {
|
|
85
82
|
return {
|
|
86
83
|
fontSize: this.fontSize,
|
|
87
|
-
fontFamily: this.fontFamily,
|
|
88
84
|
gridSettings: this.gridSettings,
|
|
89
85
|
};
|
|
90
86
|
}
|
|
@@ -152,10 +148,6 @@ function createProxy(obj, saveCallback, rootObj) {
|
|
|
152
148
|
if (prop === 'fontSize' && root instanceof UserSettings) {
|
|
153
149
|
document.documentElement.style.setProperty('--base-font-size', value);
|
|
154
150
|
}
|
|
155
|
-
// Handle specific property (fontFamily) updates
|
|
156
|
-
if (prop === 'fontFamily' && root instanceof UserSettings) {
|
|
157
|
-
document.documentElement.style.setProperty('--base-font-family', value);
|
|
158
|
-
}
|
|
159
151
|
// Handle specific property (invoiceRetrieveFormat, orderRetrieveFormat) updates
|
|
160
152
|
if ((prop === 'invoiceRetrieveFormat' || prop === 'orderRetrieveFormat') && root instanceof UserSettings) {
|
|
161
153
|
clearDcmtsFileCache();
|
package/lib/helper/TMIcons.js
CHANGED
|
@@ -446,7 +446,7 @@ function IconRecursiveOps(props) { return (_jsxs("svg", { fontSize: props.fontSi
|
|
|
446
446
|
function IconSearchCheck(props) { return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, viewBox: "0 0 24 24", height: "1em", width: "1em", ...props, children: [" ", _jsx("path", { d: "M8 11l2 2 4-4" }), " ", _jsx("path", { d: "M19 11 A8 8 0 0 1 11 19 A8 8 0 0 1 3 11 A8 8 0 0 1 19 11 z" }), " ", _jsx("path", { d: "M21 21l-4.3-4.3" }), " "] })); }
|
|
447
447
|
function IconSignature(props) { return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, viewBox: "0 0 24 24", height: "1em", width: "1em", ...props, children: [" ", _jsx("path", { d: "M20 19.5v.5a2 2 0 01-2 2H6a2 2 0 01-2-2V4a2 2 0 012-2h8.5L18 5.5M8 18h1" }), " ", _jsx("path", { d: "M18.42 9.61a2.1 2.1 0 112.97 2.97L16.95 17 13 18l.99-3.95 4.43-4.44z" }), " "] })); }
|
|
448
448
|
function IconSignaturePencil(props) {
|
|
449
|
-
return (_jsx("svg", { fontSize: props?.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 40 40", fill: "currentColor", height: "1em", width: "1em", ...props, children: _jsx("path", { d: "M20,7.9l11.4,10.6l-8.7,13L1.1,39.9l10.2-9.6c1.7,0.6,4.2,0.1,5.5-1.4\
|
|
449
|
+
return (_jsx("svg", { fontSize: props?.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 40 40", fill: "currentColor", height: "1em", width: "1em", ...props, children: _jsx("path", { d: "M20,7.9l11.4,10.6l-8.7,13L1.1,39.9l10.2-9.6c1.7,0.6,4.2,0.1,5.5-1.4\n c1.7-1.9,1.6-4.9-0.3-6.6c-1.9-1.7-5-1.7-6.8,0.2c-1.3,1.4-1.7,3.9-1,5.6l0,0L0.5,39.2\n c1.5-6.5,5.8-23.3,5.8-23.3l0,0L20,7.9z\n M28.5,0l10.8,10.4l-5.9,6.1L22.3,5.8L28.5,0z" }) }));
|
|
450
450
|
}
|
|
451
451
|
function IconSavedQuery(props) { return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 24 24", fill: "currentColor", height: "1em", width: "1em", ...props, children: [" ", _jsx("path", { d: "M19 4 A2 2 0 0 1 17 6 A2 2 0 0 1 15 4 A2 2 0 0 1 19 4 z" }), " ", _jsx("path", { d: "M15.777 10.969a2.007 2.007 0 002.148.83l3.316-.829-.483-1.94-3.316.829-1.379-2.067a2.01 2.01 0 00-1.272-.854l-3.846-.77a1.998 1.998 0 00-2.181 1.067l-1.658 3.316 1.789.895 1.658-3.317 1.967.394L7.434 17H3v2h4.434c.698 0 1.355-.372 1.715-.971l1.918-3.196 5.169 1.034 1.816 5.449 1.896-.633-1.815-5.448a2.007 2.007 0 00-1.506-1.33l-3.039-.607 1.772-2.954.417.625z" }), " "] })); }
|
|
452
452
|
function IconSync(props) { return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 24 24", fill: "currentColor", height: "1em", width: "1em", ...props, children: [" ", _jsx("path", { d: "M12 18a6 6 0 01-6-6c0-1 .25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 004 12a8 8 0 008 8v3l4-4-4-4m0-11V1L8 5l4 4V6a6 6 0 016 6c0 1-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0020 12a8 8 0 00-8-8z" }), " "] })); }
|
|
@@ -2,38 +2,38 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import styled from 'styled-components';
|
|
3
3
|
import Toppy from '../assets/Toppy-generico.png';
|
|
4
4
|
import TMLayoutContainer from '../components/base/TMLayout';
|
|
5
|
-
const StyledToppyTextContainer = styled.div `
|
|
6
|
-
padding: 22px 8px;
|
|
7
|
-
width: 100%;
|
|
8
|
-
max-width: 300px;
|
|
9
|
-
border: 1px solid #2559A5;
|
|
10
|
-
border-radius: 30px;
|
|
11
|
-
display: flex;
|
|
12
|
-
align-items: center;
|
|
13
|
-
justify-content: center;
|
|
14
|
-
box-sizing: border-box;
|
|
15
|
-
min-height: 100px;
|
|
5
|
+
const StyledToppyTextContainer = styled.div `
|
|
6
|
+
padding: 22px 8px;
|
|
7
|
+
width: 100%;
|
|
8
|
+
max-width: 300px;
|
|
9
|
+
border: 1px solid #2559A5;
|
|
10
|
+
border-radius: 30px;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
min-height: 100px;
|
|
16
16
|
`;
|
|
17
|
-
const StyledToppyText = styled.div `
|
|
18
|
-
text-align: center;
|
|
19
|
-
color: #2559A5;
|
|
20
|
-
font-size: 1rem;
|
|
21
|
-
user-select: none;
|
|
22
|
-
margin: 0;
|
|
23
|
-
display: -webkit-box;
|
|
24
|
-
-webkit-box-orient: vertical;
|
|
25
|
-
-webkit-line-clamp: 3;
|
|
26
|
-
overflow: hidden;
|
|
27
|
-
text-overflow: ellipsis;
|
|
28
|
-
white-space: normal;
|
|
29
|
-
word-break: break-word;
|
|
30
|
-
line-height: 1.2;
|
|
17
|
+
const StyledToppyText = styled.div `
|
|
18
|
+
text-align: center;
|
|
19
|
+
color: #2559A5;
|
|
20
|
+
font-size: 1rem;
|
|
21
|
+
user-select: none;
|
|
22
|
+
margin: 0;
|
|
23
|
+
display: -webkit-box;
|
|
24
|
+
-webkit-box-orient: vertical;
|
|
25
|
+
-webkit-line-clamp: 3;
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
text-overflow: ellipsis;
|
|
28
|
+
white-space: normal;
|
|
29
|
+
word-break: break-word;
|
|
30
|
+
line-height: 1.2;
|
|
31
31
|
`;
|
|
32
|
-
const StyledToppyImage = styled.img `
|
|
33
|
-
width: 100%;
|
|
34
|
-
max-width: 120px;
|
|
35
|
-
height: auto;
|
|
36
|
-
display: block;
|
|
32
|
+
const StyledToppyImage = styled.img `
|
|
33
|
+
width: 100%;
|
|
34
|
+
max-width: 120px;
|
|
35
|
+
height: auto;
|
|
36
|
+
display: block;
|
|
37
37
|
`;
|
|
38
38
|
const TMToppyMessage = (props) => {
|
|
39
39
|
const { message, titleTooltip } = props;
|
package/lib/helper/TMUtils.js
CHANGED
|
@@ -4,26 +4,26 @@ import { TMTooltip } from '../components';
|
|
|
4
4
|
import { IconKey } from './TMIcons';
|
|
5
5
|
import { DataListCacheService, MetadataDataDomains, PdGs } from '@topconsultnpm/sdk-ts';
|
|
6
6
|
import { SDKUI_Localizator } from './SDKUI_Localizator';
|
|
7
|
-
const StyledIconFileContainer = styled.div `
|
|
8
|
-
height: 22px;
|
|
9
|
-
width: 18px;
|
|
10
|
-
border-radius: 5px;
|
|
11
|
-
background-color: #d2dae2;
|
|
12
|
-
position: relative;
|
|
7
|
+
const StyledIconFileContainer = styled.div `
|
|
8
|
+
height: 22px;
|
|
9
|
+
width: 18px;
|
|
10
|
+
border-radius: 5px;
|
|
11
|
+
background-color: #d2dae2;
|
|
12
|
+
position: relative;
|
|
13
13
|
`;
|
|
14
|
-
const StyledIconFileExt = styled.div `
|
|
15
|
-
top: 25%;
|
|
16
|
-
width: 30px;
|
|
17
|
-
left: -6px;
|
|
18
|
-
border-radius: 5px;
|
|
19
|
-
background-color: ${props => props.$backgroundColor};
|
|
20
|
-
color: ${props => props.$color};
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
font-size: 0.7rem;
|
|
25
|
-
position: absolute;
|
|
26
|
-
height: 12px;
|
|
14
|
+
const StyledIconFileExt = styled.div `
|
|
15
|
+
top: 25%;
|
|
16
|
+
width: 30px;
|
|
17
|
+
left: -6px;
|
|
18
|
+
border-radius: 5px;
|
|
19
|
+
background-color: ${props => props.$backgroundColor};
|
|
20
|
+
color: ${props => props.$color};
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
font-size: 0.7rem;
|
|
25
|
+
position: absolute;
|
|
26
|
+
height: 12px;
|
|
27
27
|
`;
|
|
28
28
|
export const getFileIcon = (fileExtension, fileCount, tooltipContent) => {
|
|
29
29
|
if (!fileExtension)
|
|
@@ -174,27 +174,27 @@ export const isCreateCertificateEnabled = (widgetsString) => {
|
|
|
174
174
|
export const isPdfEditorEnabled = (widgetsString) => {
|
|
175
175
|
return isWidgetEnabled(PDF_EDITOR_ID, widgetsString);
|
|
176
176
|
};
|
|
177
|
-
export const StyledTabItem = styled.div `
|
|
178
|
-
display: flex;
|
|
179
|
-
align-items: center;
|
|
180
|
-
padding: 6px 12px;
|
|
181
|
-
border-radius: 8px;
|
|
182
|
-
font-weight: ${({ $isSelected }) => ($isSelected ? 'bold' : 'normal')};
|
|
183
|
-
color: ${({ $isSelected }) => ($isSelected ? '#fff' : '#000')};
|
|
177
|
+
export const StyledTabItem = styled.div `
|
|
178
|
+
display: flex;
|
|
179
|
+
align-items: center;
|
|
180
|
+
padding: 6px 12px;
|
|
181
|
+
border-radius: 8px;
|
|
182
|
+
font-weight: ${({ $isSelected }) => ($isSelected ? 'bold' : 'normal')};
|
|
183
|
+
color: ${({ $isSelected }) => ($isSelected ? '#fff' : '#000')};
|
|
184
184
|
background: ${({ $isSelected }) => $isSelected
|
|
185
185
|
? 'linear-gradient(270deg, #46B5A2 16%, #3BAABC 34%, #3BAABC 34%, #3681AD 54%, #3368A5 72%, #2F549D 88%, #304F99 100%)'
|
|
186
|
-
: 'transparent'};
|
|
187
|
-
transition: background-color 0.2s ease;
|
|
188
|
-
font-size: 1rem;
|
|
189
|
-
&:hover {
|
|
190
|
-
background: ${({ $isSelected }) => ($isSelected ? null : 'rgba(0, 0, 0, 0.05)')};
|
|
191
|
-
}
|
|
186
|
+
: 'transparent'};
|
|
187
|
+
transition: background-color 0.2s ease;
|
|
188
|
+
font-size: 1rem;
|
|
189
|
+
&:hover {
|
|
190
|
+
background: ${({ $isSelected }) => ($isSelected ? null : 'rgba(0, 0, 0, 0.05)')};
|
|
191
|
+
}
|
|
192
192
|
`;
|
|
193
|
-
export const StyledTabIcon = styled.i `
|
|
194
|
-
cursor: pointer;
|
|
195
|
-
font-size: 16px;
|
|
196
|
-
color: ${({ $isSelected }) => ($isSelected ? '#fff !important' : '#000 !important')};
|
|
197
|
-
transition: color 0.2s ease;
|
|
193
|
+
export const StyledTabIcon = styled.i `
|
|
194
|
+
cursor: pointer;
|
|
195
|
+
font-size: 16px;
|
|
196
|
+
color: ${({ $isSelected }) => ($isSelected ? '#fff !important' : '#000 !important')};
|
|
197
|
+
transition: color 0.2s ease;
|
|
198
198
|
`;
|
|
199
199
|
export const TMCountBadge = styled.div ` background-color: #ff5252; color: white; border-radius: 999px; margin-left: 8px; font-size: 0.7rem; line-height: 1; min-height: 20px; min-width: 20px; display: flex ; align-items: center; justify-content: center; `;
|
|
200
200
|
const taskPdgsIconClassMap = () => {
|