@topconsultnpm/sdkui-react 6.19.0-dev2.1 → 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.
Files changed (122) hide show
  1. package/lib/assets/IconsS4t/add.svg +12 -12
  2. package/lib/assets/IconsS4t/aggiorna.svg +18 -18
  3. package/lib/assets/IconsS4t/bookmark.svg +42 -42
  4. package/lib/assets/IconsS4t/cancella.svg +15 -15
  5. package/lib/assets/IconsS4t/check-box.svg +19 -19
  6. package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -40
  7. package/lib/assets/IconsS4t/down.svg +28 -28
  8. package/lib/assets/IconsS4t/edit-file.svg +19 -19
  9. package/lib/assets/IconsS4t/edita.svg +32 -32
  10. package/lib/assets/IconsS4t/firma.svg +19 -19
  11. package/lib/assets/IconsS4t/icona_download.svg +16 -16
  12. package/lib/assets/IconsS4t/info.svg +51 -51
  13. package/lib/assets/IconsS4t/left.svg +20 -20
  14. package/lib/assets/IconsS4t/line.svg +40 -40
  15. package/lib/assets/IconsS4t/more.svg +19 -19
  16. package/lib/assets/IconsS4t/plus.svg +23 -23
  17. package/lib/assets/IconsS4t/printer.svg +49 -49
  18. package/lib/assets/IconsS4t/radio-on-button.svg +25 -25
  19. package/lib/assets/IconsS4t/rectangle.svg +41 -41
  20. package/lib/assets/IconsS4t/redo.svg +19 -19
  21. package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -40
  22. package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -40
  23. package/lib/assets/IconsS4t/right.svg +22 -22
  24. package/lib/assets/IconsS4t/searchbar.svg +21 -21
  25. package/lib/assets/IconsS4t/text-box.svg +36 -36
  26. package/lib/assets/IconsS4t/tick.svg +8 -8
  27. package/lib/assets/IconsS4t/trash-white.svg +10 -10
  28. package/lib/assets/IconsS4t/undo.svg +19 -19
  29. package/lib/assets/IconsS4t/up.svg +32 -32
  30. package/lib/assets/IconsS4t/video-streaming.svg +2 -2
  31. package/lib/assets/IconsS4t/zoom-in.svg +58 -58
  32. package/lib/assets/IconsS4t/zoom-out.svg +56 -56
  33. package/lib/assets/icomoon.svg +96 -96
  34. package/lib/assets/italy.svg +16 -16
  35. package/lib/assets/six.svg +3 -3
  36. package/lib/assets/thumbnails/index.ts +39 -39
  37. package/lib/assets/topmedia-six.svg +65 -65
  38. package/lib/assets/topmeida-six-bianco.svg +65 -65
  39. package/lib/components/base/Styled.js +302 -302
  40. package/lib/components/base/TMAccordion.js +43 -43
  41. package/lib/components/base/TMAreaManager.js +23 -23
  42. package/lib/components/base/TMButton.js +130 -130
  43. package/lib/components/base/TMClosableList.js +46 -46
  44. package/lib/components/base/TMConfirm.js +20 -20
  45. package/lib/components/base/TMContextMenu.js +4 -4
  46. package/lib/components/base/TMContextMenuOLD.js +25 -25
  47. package/lib/components/base/TMCounterBar.js +32 -32
  48. package/lib/components/base/TMCounterContainer.js +30 -30
  49. package/lib/components/base/TMCustomButton.js +7 -7
  50. package/lib/components/base/TMDropDownMenu.js +24 -24
  51. package/lib/components/base/TMFileManagerUtils.js +19 -19
  52. package/lib/components/base/TMFloatingToolbar.js +34 -34
  53. package/lib/components/base/TMLayout.js +44 -44
  54. package/lib/components/base/TMList.js +34 -34
  55. package/lib/components/base/TMModal.js +31 -31
  56. package/lib/components/base/TMPanel.js +57 -57
  57. package/lib/components/base/TMPopUp.js +114 -114
  58. package/lib/components/base/TMProgressBar.js +20 -20
  59. package/lib/components/base/TMResizableMenu.js +28 -28
  60. package/lib/components/base/TMRightSidebar.js +40 -40
  61. package/lib/components/base/TMSpinner.js +121 -121
  62. package/lib/components/base/TMTab.js +11 -11
  63. package/lib/components/base/TMToggleButton.js +36 -36
  64. package/lib/components/base/TMToolbarCard.js +35 -35
  65. package/lib/components/base/TMTreeView.js +16 -16
  66. package/lib/components/base/TMUserAvatar.js +7 -7
  67. package/lib/components/base/TMWaitPanel.js +22 -22
  68. package/lib/components/choosers/TMCultureIDPicker.js +35 -35
  69. package/lib/components/choosers/TMDataListItemPicker.js +54 -54
  70. package/lib/components/editors/TMCheckBox.js +24 -24
  71. package/lib/components/editors/TMDropDown.js +43 -43
  72. package/lib/components/editors/TMEditorStyled.js +71 -71
  73. package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
  74. package/lib/components/editors/TMLocalizedTextBox.js +31 -31
  75. package/lib/components/editors/TMMetadataValues.js +17 -17
  76. package/lib/components/editors/TMRadioButton.js +39 -39
  77. package/lib/components/editors/TMSummary.js +39 -39
  78. package/lib/components/editors/TMTextArea.js +12 -12
  79. package/lib/components/editors/TMTextBox.js +19 -19
  80. package/lib/components/features/assistant/ToppyHelpCenter.js +114 -114
  81. package/lib/components/features/blog/TMBlogCommentForm.js +3 -3
  82. package/lib/components/features/documents/TMDcmtIcon.js +8 -8
  83. package/lib/components/features/documents/TMDcmtPreview.js +30 -30
  84. package/lib/components/features/documents/TMFileUploader.js +21 -21
  85. package/lib/components/features/search/TMSavedQuerySelector.js +51 -51
  86. package/lib/components/features/search/TMSearchQueryEditor.js +13 -13
  87. package/lib/components/features/search/TMSearchQueryPanel.js +30 -30
  88. package/lib/components/features/search/TMSearchResult.js +3 -3
  89. package/lib/components/features/search/TMTreeSelector.js +66 -66
  90. package/lib/components/features/tasks/TMTaskForm.js +31 -31
  91. package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
  92. package/lib/components/features/workflow/TMWorkflowPopup.js +41 -41
  93. package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
  94. package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
  95. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
  96. package/lib/components/features/workflow/diagram/DiagramItemForm.js +29 -29
  97. package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
  98. package/lib/components/features/workflow/diagram/RecipientList.js +38 -38
  99. package/lib/components/features/workflow/diagram/WFDiagram.js +278 -278
  100. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
  101. package/lib/components/forms/Login/Chooser.js +35 -35
  102. package/lib/components/forms/Login/Menu.js +22 -22
  103. package/lib/components/forms/Login/SelectBox.js +46 -46
  104. package/lib/components/forms/Login/TMLoginForm.js +14 -14
  105. package/lib/components/forms/Login/TextBox.js +57 -57
  106. package/lib/components/grids/TMBlogsPostUtils.js +5 -5
  107. package/lib/components/grids/TMRecentsManager.js +50 -50
  108. package/lib/components/grids/TMValidationItemsList.js +48 -48
  109. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
  110. package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +34 -34
  111. package/lib/components/query/TMQueryEditor.js +17 -17
  112. package/lib/components/query/TMQuerySummary.js +12 -12
  113. package/lib/components/sidebar/TMCommandsPanel.js +10 -10
  114. package/lib/components/sidebar/TMHeader.js +307 -307
  115. package/lib/components/sidebar/TMSidebar.js +24 -24
  116. package/lib/components/sidebar/TMSidebarItem.js +21 -21
  117. package/lib/components/wizard/TMStepIndicator.js +102 -102
  118. package/lib/components/wizard/TMWizard.js +29 -29
  119. package/lib/helper/TMIcons.js +1 -1
  120. package/lib/helper/TMToppyMessage.js +30 -30
  121. package/lib/helper/TMUtils.js +37 -37
  122. package/package.json +54 -54
@@ -89,27 +89,27 @@ const TMFileUploader = ({ deviceType = DeviceType.DESKTOP, onClose, onFileUpload
89
89
  const innerContent = (_jsxs("div", { style: { width: '100%', height: '100%', padding: '2px', display: 'flex', flexDirection: 'column', gap: 10 }, children: [enableDragDropOverlay && _jsx(TMDragDropOverlay, { handleFile: handleFile, refocusAfterFileInput: refocusAfterFileInput }), content] }));
90
90
  return showTMPanel ? (_jsx(TMPanel, { ref: fileUploaderPanelRef, panelID: 'file-uploader-panel', title: SDKUI_Localizator.FileUpload, onBack: deviceType === DeviceType.MOBILE ? () => onClose?.() : undefined, toolbar: deviceType !== DeviceType.MOBILE ? (_jsx(StyledHeaderIcon, { onClick: onClose, "$color": 'white', children: _jsx(TMTooltip, { content: SDKUI_Localizator.Close, children: _jsx(IconCloseOutline, {}) }) })) : undefined, children: innerContent })) : (innerContent);
91
91
  };
92
- const UploadContainer = styled.div `
93
- position: relative;
94
- display: flex;
95
- align-items: center;
96
- justify-content: center;
97
- flex-direction: column;
98
- gap: 5px;
99
- border: 2px dashed ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
100
- /* max-height: 100px; */
101
- width: 100%;
102
- height: 100%;
103
- border-radius: 8px;
104
- padding: 30px;
105
- text-align: center;
106
- color: ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
107
- transition: background-color 0.3s;
108
- &:hover {
109
- background-color: #658cab;
110
- }
92
+ const UploadContainer = styled.div `
93
+ position: relative;
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ flex-direction: column;
98
+ gap: 5px;
99
+ border: 2px dashed ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
100
+ /* max-height: 100px; */
101
+ width: 100%;
102
+ height: 100%;
103
+ border-radius: 8px;
104
+ padding: 30px;
105
+ text-align: center;
106
+ color: ${props => props.$isRequired ? () => TMColors.error : () => TMColors.primaryColor};
107
+ transition: background-color 0.3s;
108
+ &:hover {
109
+ background-color: #658cab;
110
+ }
111
111
  `;
112
- const HiddenInput = styled.input `
113
- display: none;
112
+ const HiddenInput = styled.input `
113
+ display: none;
114
114
  `;
115
115
  export default TMFileUploader;
@@ -15,57 +15,57 @@ import { DeviceType, useDeviceType } from '../../base/TMDeviceProvider';
15
15
  import { StyledDivHorizontal, StyledOffCanvasPanel } from '../../base/Styled';
16
16
  import { useOutsideClick } from '../../../hooks/useOutsideClick';
17
17
  import TMShowAllOrMaxItemsButton from '../../base/TMShowAllOrMaxItemsButton';
18
- const StyledSqdItem = styled.div `
19
- display: flex;
20
- flex-direction: column;
21
- align-items: stretch;
22
- min-width: 0;
23
- padding: 10px;
24
- position: relative;
25
- white-space: nowrap;
26
- text-overflow: ellipsis;
27
-
28
- &:hover {
29
- cursor: pointer;
30
- background: linear-gradient(
31
- 270deg,
32
- rgba(70, 181, 162, 0.15) 16%,
33
- rgba(59, 170, 188, 0.15) 34%,
34
- rgba(59, 170, 188, 0.15) 34%,
35
- rgba(54, 129, 173, 0.15) 54%,
36
- rgba(51, 104, 165, 0.15) 72%,
37
- rgba(47, 84, 157, 0.15) 88%,
38
- rgba(48, 79, 153, 0.15) 100%
39
- );
40
- }
41
-
42
- .info-icon {
43
- opacity: 0;
44
- pointer-events: none;
45
- transition: opacity 0.2s;
46
- ${({ $isMobile }) => $isMobile && `
47
- display: none !important;
48
- `}
49
- }
50
-
51
- &:hover .info-icon {
52
- opacity: 1;
53
- pointer-events: auto;
54
- }
55
-
56
- &::after {
57
- content: '';
58
- display: block;
59
- width: 90%;
60
- margin: 0 auto;
61
- border-bottom: 1px solid #00A99D;
62
- margin-top: 8px;
63
- }
64
-
65
- &:last-child {
66
- border-bottom: none; // remove border for last item
67
- margin-bottom: 0;
68
- }
18
+ const StyledSqdItem = styled.div `
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: stretch;
22
+ min-width: 0;
23
+ padding: 10px;
24
+ position: relative;
25
+ white-space: nowrap;
26
+ text-overflow: ellipsis;
27
+
28
+ &:hover {
29
+ cursor: pointer;
30
+ background: linear-gradient(
31
+ 270deg,
32
+ rgba(70, 181, 162, 0.15) 16%,
33
+ rgba(59, 170, 188, 0.15) 34%,
34
+ rgba(59, 170, 188, 0.15) 34%,
35
+ rgba(54, 129, 173, 0.15) 54%,
36
+ rgba(51, 104, 165, 0.15) 72%,
37
+ rgba(47, 84, 157, 0.15) 88%,
38
+ rgba(48, 79, 153, 0.15) 100%
39
+ );
40
+ }
41
+
42
+ .info-icon {
43
+ opacity: 0;
44
+ pointer-events: none;
45
+ transition: opacity 0.2s;
46
+ ${({ $isMobile }) => $isMobile && `
47
+ display: none !important;
48
+ `}
49
+ }
50
+
51
+ &:hover .info-icon {
52
+ opacity: 1;
53
+ pointer-events: auto;
54
+ }
55
+
56
+ &::after {
57
+ content: '';
58
+ display: block;
59
+ width: 90%;
60
+ margin: 0 auto;
61
+ border-bottom: 1px solid #00A99D;
62
+ margin-top: 8px;
63
+ }
64
+
65
+ &:last-child {
66
+ border-bottom: none; // remove border for last item
67
+ margin-bottom: 0;
68
+ }
69
69
  `;
70
70
  const getSharingModeColor = (sharingMode) => {
71
71
  switch (sharingMode) {
@@ -15,19 +15,19 @@ import { colorOperator, StyledItemWrapper, StyledRowItem } from '../../query/TMQ
15
15
  import { TMMidViewer } from '../../viewers/TMMidViewer';
16
16
  import { AdvancedMenuButtons } from '../../editors/TMMetadataValues';
17
17
  import { useResizeObserver } from '../../../hooks/useResizeObserver';
18
- const StyledMetadataListItem = styled.div `
19
- padding: 5px;
20
- border-radius: 8px;
21
- height: max-content;
22
- width: 100%;
23
- /* box-shadow: 1px 1px 7px rgba(0,0,0,0.15); */
24
- /* font-size: ${(props) => props.$isSelected ? '1.2rem' : '1rem'}; */
25
- background: ${(props) => props.$isSelected ? props.$selectedColor : props.$backgroundColor};
26
-
27
- &:hover {
28
- background: ${(props) => props.$isSelected ? props.$selectedColor : props.$hoverColor};
29
- cursor: pointer;
30
- }
18
+ const StyledMetadataListItem = styled.div `
19
+ padding: 5px;
20
+ border-radius: 8px;
21
+ height: max-content;
22
+ width: 100%;
23
+ /* box-shadow: 1px 1px 7px rgba(0,0,0,0.15); */
24
+ /* font-size: ${(props) => props.$isSelected ? '1.2rem' : '1rem'}; */
25
+ background: ${(props) => props.$isSelected ? props.$selectedColor : props.$backgroundColor};
26
+
27
+ &:hover {
28
+ background: ${(props) => props.$isSelected ? props.$selectedColor : props.$hoverColor};
29
+ cursor: pointer;
30
+ }
31
31
  `;
32
32
  const TMSearchQueryEditor = ({ qd, dcmtTypesList = [], isExpertMode = SDKUI_Globals.userSettings.advancedSettings.expertMode === 1, showAllMdWhere, onQdChanged, onFocusedMetadataChanged, onAdvancedMenuClick }) => {
33
33
  const [dynDataListsToBeRefreshed, setDynDataListsToBeRefreshed] = useState([]);
@@ -420,36 +420,36 @@ export const refreshLastSearch = async (qd) => {
420
420
  }
421
421
  return searchResults;
422
422
  };
423
- export const StyledToppyTextContainer = styled.div `
424
- padding: 22px 8px;
425
- width: 100%;
426
- max-width: 300px;
427
- border: 1px solid #2559A5;
428
- border-radius: 30px;
429
- display: flex;
430
- align-items: center;
431
- justify-content: center;
432
- box-sizing: border-box;
433
- min-height: 100px;
423
+ export const StyledToppyTextContainer = styled.div `
424
+ padding: 22px 8px;
425
+ width: 100%;
426
+ max-width: 300px;
427
+ border: 1px solid #2559A5;
428
+ border-radius: 30px;
429
+ display: flex;
430
+ align-items: center;
431
+ justify-content: center;
432
+ box-sizing: border-box;
433
+ min-height: 100px;
434
434
  `;
435
- export const StyledToppyText = styled.p `
436
- text-align: center;
437
- color: #2559A5;
438
- font-size: 1rem;
439
- user-select: none;
440
- margin: 0;
441
- display: -webkit-box;
442
- -webkit-box-orient: vertical;
443
- -webkit-line-clamp: 3; /* non è una proprietà standard ma è così diffusa e ben supportata che è considerata una "best practice pragmatica" */
444
- overflow: hidden;
445
- text-overflow: ellipsis;
446
- white-space: normal;
447
- word-break: break-word;
448
- line-height: 1.2;
435
+ export const StyledToppyText = styled.p `
436
+ text-align: center;
437
+ color: #2559A5;
438
+ font-size: 1rem;
439
+ user-select: none;
440
+ margin: 0;
441
+ display: -webkit-box;
442
+ -webkit-box-orient: vertical;
443
+ -webkit-line-clamp: 3; /* non è una proprietà standard ma è così diffusa e ben supportata che è considerata una "best practice pragmatica" */
444
+ overflow: hidden;
445
+ text-overflow: ellipsis;
446
+ white-space: normal;
447
+ word-break: break-word;
448
+ line-height: 1.2;
449
449
  `;
450
- export const StyledToppyImage = styled.img `
451
- width: 100%;
452
- max-width: 120px;
453
- height: auto;
454
- display: block;
450
+ export const StyledToppyImage = styled.img `
451
+ width: 100%;
452
+ max-width: 120px;
453
+ height: auto;
454
+ display: block;
455
455
  `;
@@ -923,9 +923,9 @@ const TMSearchResultGrid = ({ openInOffice, inputFocusedItem, showSearch, allowM
923
923
  return _jsxs("div", { style: { width: "100%", height: "100%" }, children: [_jsx(TMDataGrid, { id: "tm-search-result", keyExpr: "rowIndex", dataColumns: dataColumns, dataSource: dataSource, repaintChangesOnly: true, selectedRowKeys: selectedRowKeys, focusedRowKey: Number(focusedItem?.rowIndex ?? 0), showSearchPanel: showSearch, showFilterPanel: true, sorting: { mode: "multiple" }, selection: { mode: allowMultipleSelection ? 'multiple' : 'single' }, pageSize: TMDataGridPageSize.Small, onSelectionChanged: handleSelectionChange, onFocusedRowChanged: handleFocusedRowChange, onRowDblClick: onRowDblClick, onContentReady: onContentReady, onContextMenuPreparing: onContextMenuPreparing, onKeyDown: onKeyDown, counterConfig: { show: true } }), (showExportForm && searchResult && onCloseExportForm) && _jsx(TMDataGridExportForm, { dataColumns: dataColumns, dataSource: dataSource, selectedRowKeys: selectedRowKeys, onCloseExportForm: onCloseExportForm, searchResult: searchResult })] });
924
924
  };
925
925
  //#region TMSearchResultSelector
926
- const StyledItemTemplate = styled.div `
927
- background: ${(props) => props.$isSelected ? 'oklch(from var(--dx-color-primary) l c h / .2) !important' : 'transparent'};
928
- cursor: pointer;
926
+ const StyledItemTemplate = styled.div `
927
+ background: ${(props) => props.$isSelected ? 'oklch(from var(--dx-color-primary) l c h / .2) !important' : 'transparent'};
928
+ cursor: pointer;
929
929
  `;
930
930
  const MemoizedStyledItemTemplate = React.memo(StyledItemTemplate);
931
931
  const TMSearchResultSelector = ({ searchResults = [], disableAccordionIfSingleCategory = false, selectedTID, onSelectionChanged }) => {
@@ -201,70 +201,70 @@ const TMTreeSelector = ({ layoutMode = LayoutModes.Update, isVisible, onSelected
201
201
  : _jsx("div", { style: { display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', height: '100%', width: '100%', fontSize: '1.5rem' }, children: SDKUI_Localizator.TreesNoAvailable }) }));
202
202
  };
203
203
  export default TMTreeSelector;
204
- const StyledTreeListWrapper = styled.div `
205
- width: 100%;
206
- height: 100%;
207
- min-height: 0;
208
- flex: 1;
209
- display: flex;
210
- flex-direction: column;
211
-
212
- .dx-treelist,
213
- .dx-treelist-rowsview,
214
- .dx-scrollable,
215
- .dx-scrollable-wrapper,
216
- .dx-scrollable-container,
217
- .dx-scrollable-content {
218
- height: 100% !important;
219
- min-height: 0 !important;
220
- max-height: 100% !important;
221
- box-sizing: border-box;
222
- }
223
-
224
- .dx-scrollable-scrollbar.dx-scrollbar-vertical {
225
- /* Mostra solo quando serve */
226
- opacity: 1 !important;
227
- }
228
-
229
- .dx-scrollable-scrollbar.dx-scrollbar-horizontal {
230
- display: none !important;
231
- }
232
-
233
- .dx-treelist-container>.dx-treelist-headers,
234
- .dx-treelist-container>.dx-treelist-rowsview {
235
- background-color: transparent;
236
- }
237
-
238
- .dx-treelist-rowsview .dx-treelist-empty-space {
239
- position: relative;
240
- top: 4px;
241
- display: inline-block;
242
- width: 16px;
243
- }
244
-
245
- .dx-row > td {
246
- padding: 10px 4px;
247
- font-size: 1rem;
248
- white-space: nowrap;
249
- overflow: hidden;
250
- text-overflow: ellipsis;
251
- }
252
-
253
- .dx-selection td {
254
- background: oklch(from var(--dx-color-primary) l c h / .2) !important;
255
- }
256
-
257
- .dx-data-row:hover {
258
- cursor: pointer;
259
- background: linear-gradient(
260
- 270deg,
261
- rgba(70, 181, 162, 0.15) 16%,
262
- rgba(59, 170, 188, 0.15) 34%,
263
- rgba(59, 170, 188, 0.15) 34%,
264
- rgba(54, 129, 173, 0.15) 54%,
265
- rgba(51, 104, 165, 0.15) 72%,
266
- rgba(47, 84, 157, 0.15) 88%,
267
- rgba(48, 79, 153, 0.15) 100%
268
- );
269
- }
204
+ const StyledTreeListWrapper = styled.div `
205
+ width: 100%;
206
+ height: 100%;
207
+ min-height: 0;
208
+ flex: 1;
209
+ display: flex;
210
+ flex-direction: column;
211
+
212
+ .dx-treelist,
213
+ .dx-treelist-rowsview,
214
+ .dx-scrollable,
215
+ .dx-scrollable-wrapper,
216
+ .dx-scrollable-container,
217
+ .dx-scrollable-content {
218
+ height: 100% !important;
219
+ min-height: 0 !important;
220
+ max-height: 100% !important;
221
+ box-sizing: border-box;
222
+ }
223
+
224
+ .dx-scrollable-scrollbar.dx-scrollbar-vertical {
225
+ /* Mostra solo quando serve */
226
+ opacity: 1 !important;
227
+ }
228
+
229
+ .dx-scrollable-scrollbar.dx-scrollbar-horizontal {
230
+ display: none !important;
231
+ }
232
+
233
+ .dx-treelist-container>.dx-treelist-headers,
234
+ .dx-treelist-container>.dx-treelist-rowsview {
235
+ background-color: transparent;
236
+ }
237
+
238
+ .dx-treelist-rowsview .dx-treelist-empty-space {
239
+ position: relative;
240
+ top: 4px;
241
+ display: inline-block;
242
+ width: 16px;
243
+ }
244
+
245
+ .dx-row > td {
246
+ padding: 10px 4px;
247
+ font-size: 1rem;
248
+ white-space: nowrap;
249
+ overflow: hidden;
250
+ text-overflow: ellipsis;
251
+ }
252
+
253
+ .dx-selection td {
254
+ background: oklch(from var(--dx-color-primary) l c h / .2) !important;
255
+ }
256
+
257
+ .dx-data-row:hover {
258
+ cursor: pointer;
259
+ background: linear-gradient(
260
+ 270deg,
261
+ rgba(70, 181, 162, 0.15) 16%,
262
+ rgba(59, 170, 188, 0.15) 34%,
263
+ rgba(59, 170, 188, 0.15) 34%,
264
+ rgba(54, 129, 173, 0.15) 54%,
265
+ rgba(51, 104, 165, 0.15) 72%,
266
+ rgba(47, 84, 157, 0.15) 88%,
267
+ rgba(48, 79, 153, 0.15) 100%
268
+ );
269
+ }
270
270
  `;
@@ -21,42 +21,42 @@ import TMDcmtForm from '../documents/TMDcmtForm';
21
21
  import styled from 'styled-components';
22
22
  import { TMColors } from '../../../utils/theme';
23
23
  import { renderContextBlock } from './TMTasksUtilsView';
24
- const ResponseCommentWrapper = styled.div `
25
- position: relative;
26
- width: 100%;
24
+ const ResponseCommentWrapper = styled.div `
25
+ position: relative;
26
+ width: 100%;
27
27
  `;
28
- const ResponseCommentLabel = styled.label `
29
- position: absolute;
30
- top: -8px;
31
- left: 12px;
32
- background-color: white;
33
- padding: 0 4px;
34
- font-size: 0.9rem;
35
- color: rgb(80,80,80);
36
- display: inline-flex;
37
- align-items: center;
38
- gap: 4px;
28
+ const ResponseCommentLabel = styled.label `
29
+ position: absolute;
30
+ top: -8px;
31
+ left: 12px;
32
+ background-color: white;
33
+ padding: 0 4px;
34
+ font-size: 0.9rem;
35
+ color: rgb(80,80,80);
36
+ display: inline-flex;
37
+ align-items: center;
38
+ gap: 4px;
39
39
  `;
40
40
  const ResponseCommentTextArea = styled.textarea.attrs({
41
41
  maxLength: 500,
42
- }) `
43
- width: 100%;
44
- height: 100px;
45
- border: 1px solid ${props => props.$isValid ? (props.$isModifiedWhen ? "#E29000" : '#b4b4b4') : TMColors.error};
46
- border-radius: 10px;
47
- padding: 10px;
48
- resize: none;
49
- cursor: ${props => props.disabled ? 'not-allowed' : 'text'};
50
- &:focus {
51
- outline: none;
52
- border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
53
- }
42
+ }) `
43
+ width: 100%;
44
+ height: 100px;
45
+ border: 1px solid ${props => props.$isValid ? (props.$isModifiedWhen ? "#E29000" : '#b4b4b4') : TMColors.error};
46
+ border-radius: 10px;
47
+ padding: 10px;
48
+ resize: none;
49
+ cursor: ${props => props.disabled ? 'not-allowed' : 'text'};
50
+ &:focus {
51
+ outline: none;
52
+ border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
53
+ }
54
54
  `;
55
- const ResponseCommentCharacterCounter = styled.div `
56
- text-align: right;
57
- font-size: 0.8rem;
58
- color: #6c757d;
59
- margin-top: 4px;
55
+ const ResponseCommentCharacterCounter = styled.div `
56
+ text-align: right;
57
+ font-size: 0.8rem;
58
+ color: #6c757d;
59
+ margin-top: 4px;
60
60
  `;
61
61
  const TMTaskForm = (props) => {
62
62
  // Custom hook to manage workflow approval data
@@ -419,15 +419,15 @@ const TMWGsCopyMoveForm = (props) => {
419
419
  }, children: SDKUI_Localizator.Cancel })] })] }) });
420
420
  };
421
421
  export default TMWGsCopyMoveForm;
422
- const StepSpan = styled.span `
423
- color: ${({ $isCurrent, $isPast }) => ($isCurrent ? TMColors.primary : $isPast ? '#555' : '#888')};
424
- font-weight: ${({ $isCurrent }) => ($isCurrent ? 600 : 400)};
425
- cursor: ${({ $isPast }) => ($isPast ? 'pointer' : 'default')};
426
- transition: color 0.3s ease;
427
- &:hover {
428
- color: ${({ $isPast }) => ($isPast ? '#007bff' : undefined)};
429
- text-decoration: ${({ $isPast }) => ($isPast ? 'underline' : 'none')};
430
- }
422
+ const StepSpan = styled.span `
423
+ color: ${({ $isCurrent, $isPast }) => ($isCurrent ? TMColors.primary : $isPast ? '#555' : '#888')};
424
+ font-weight: ${({ $isCurrent }) => ($isCurrent ? 600 : 400)};
425
+ cursor: ${({ $isPast }) => ($isPast ? 'pointer' : 'default')};
426
+ transition: color 0.3s ease;
427
+ &:hover {
428
+ color: ${({ $isPast }) => ($isPast ? '#007bff' : undefined)};
429
+ text-decoration: ${({ $isPast }) => ($isPast ? 'underline' : 'none')};
430
+ }
431
431
  `;
432
432
  export const TMStepNavigator = (props) => {
433
433
  const { steps, currentStep, onStepChange } = props;
@@ -15,55 +15,55 @@ import TMTextArea from "../../editors/TMTextArea";
15
15
  import TMDropDown from "../../editors/TMDropDown";
16
16
  import TMDateBox from "../../editors/TMDateBox";
17
17
  import ShowAlert from "../../base/TMAlert";
18
- const StyledWorkFlowOperationButtonsContainer = styled.div `
19
- display: flex;
20
- align-items: center;
21
- gap: 10px;
22
- flex-direction: column;
18
+ const StyledWorkFlowOperationButtonsContainer = styled.div `
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 10px;
22
+ flex-direction: column;
23
23
  `;
24
24
  const StyledTextArea = styled.textarea.attrs({
25
25
  maxLength: 200
26
- }) `
27
- width: 100%;
28
- height: 100%;
29
- border: 1px solid ${props => props.$isValid ? '#b4b4b4' : TMColors.error};
30
- border-radius: 10px;
31
- padding: 10px;
32
- &:focus{
33
- outline: none;
34
- border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
35
- }
26
+ }) `
27
+ width: 100%;
28
+ height: 100%;
29
+ border: 1px solid ${props => props.$isValid ? '#b4b4b4' : TMColors.error};
30
+ border-radius: 10px;
31
+ padding: 10px;
32
+ &:focus{
33
+ outline: none;
34
+ border-bottom: 4px solid ${props => props.$isValid ? TMColors.primaryColor : TMColors.error};
35
+ }
36
36
  `;
37
- const CharacterCounter = styled.div `
38
- text-align: right;
39
- font-size: 0.8rem;
40
- color: #6c757d;
41
- margin-top: 2px;
37
+ const CharacterCounter = styled.div `
38
+ text-align: right;
39
+ font-size: 0.8rem;
40
+ color: #6c757d;
41
+ margin-top: 2px;
42
42
  `;
43
- const StyledModalBodyWrapper = styled.div `
44
- display: flex;
45
- flex-direction: column;
46
- height: 100%;
43
+ const StyledModalBodyWrapper = styled.div `
44
+ display: flex;
45
+ flex-direction: column;
46
+ height: 100%;
47
47
  `;
48
- const StyledModalFooter = styled.div `
49
- padding: 16px 0 12px 0;
50
- height: 60px;
51
- display: flex;
52
- justify-content: center;
48
+ const StyledModalFooter = styled.div `
49
+ padding: 16px 0 12px 0;
50
+ height: 60px;
51
+ display: flex;
52
+ justify-content: center;
53
53
  `;
54
- const StyledModalContentContainer = styled.div `
55
- width: 100%;
56
- padding: 10px;
57
- flex: 1; /* Questo fa sì che prenda tutto lo spazio verticale disponibile */
58
- overflow-y: auto;
59
- display: flex;
60
- flex-direction: column;
61
- gap: 5px;
54
+ const StyledModalContentContainer = styled.div `
55
+ width: 100%;
56
+ padding: 10px;
57
+ flex: 1; /* Questo fa sì che prenda tutto lo spazio verticale disponibile */
58
+ overflow-y: auto;
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: 5px;
62
62
  `;
63
- const StyledHorizontalContainer = styled.div `
64
- display: flex;
65
- gap: 10px;
66
- /* align-items: flex-end; */
63
+ const StyledHorizontalContainer = styled.div `
64
+ display: flex;
65
+ gap: 10px;
66
+ /* align-items: flex-end; */
67
67
  `;
68
68
  export const WorkFlowOperationButtons = (props) => {
69
69
  const { dtd = undefined, deviceType = DeviceType.DESKTOP, approveDisable = false, signApproveDisable = false, rejectDisable = false, reassignDisable = false, infoDisable = false, onApprove, onSignApprove, onReject, onReAssign, onMoreInfo } = props;