@topconsultnpm/sdkui-react 6.22.0-dev4.3 → 6.22.0-dev4.4

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 (110) hide show
  1. package/lib/components/NewComponents/ContextMenu/styles.d.ts +43 -45
  2. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +60 -67
  3. package/lib/components/base/Styled.d.ts +77 -93
  4. package/lib/components/base/TMCounterBar.d.ts +2 -2
  5. package/lib/components/base/TMCounterContainer.d.ts +1 -2
  6. package/lib/components/base/TMCustomButton.d.ts +1 -1
  7. package/lib/components/base/TMDataGridExportForm.d.ts +1 -2
  8. package/lib/components/base/TMFileManager.d.ts +1 -2
  9. package/lib/components/base/TMFileManagerDataGridView.d.ts +1 -2
  10. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  11. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  12. package/lib/components/base/TMFileManagerUtils.d.ts +6 -4
  13. package/lib/components/base/TMLayout.d.ts +4 -4
  14. package/lib/components/base/TMList.d.ts +1 -2
  15. package/lib/components/base/TMListView.d.ts +1 -1
  16. package/lib/components/base/TMSpinner.d.ts +2 -3
  17. package/lib/components/base/TMTab.d.ts +3 -4
  18. package/lib/components/base/TMTabControl.js +208 -208
  19. package/lib/components/base/TMTooltip.d.ts +1 -1
  20. package/lib/components/base/TMTreeView.d.ts +8 -14
  21. package/lib/components/base/TMUserAvatar.d.ts +1 -2
  22. package/lib/components/base/TMVilViewer.d.ts +1 -2
  23. package/lib/components/base/TMWaitPanel.d.ts +2 -3
  24. package/lib/components/base/waitPanel/TMWaitPanelView.d.ts +1 -2
  25. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  26. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +1 -2
  27. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +1 -2
  28. package/lib/components/choosers/TMQuickSearchInfo.d.ts +1 -2
  29. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  30. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  31. package/lib/components/editors/TMEditorStyled.d.ts +42 -20
  32. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  33. package/lib/components/editors/TMHtmlContentDisplay.d.ts +1 -2
  34. package/lib/components/editors/TMHtmlEditor.d.ts +1 -2
  35. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  36. package/lib/components/features/assistant/TMHelpOnLineChat.d.ts +0 -1
  37. package/lib/components/features/assistant/TMHelpOnLineChat.js +8 -161
  38. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  39. package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
  40. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  41. package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -2
  42. package/lib/components/features/documents/TMDcmtPreview.d.ts +6 -8
  43. package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -2
  44. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  45. package/lib/components/features/documents/TMFileUploader.js +21 -21
  46. package/lib/components/features/documents/TMMasterInfoFields.d.ts +1 -2
  47. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
  48. package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +1 -2
  49. package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +4 -4
  50. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +1 -2
  51. package/lib/components/features/search/TMMetadataOutputForm.d.ts +1 -2
  52. package/lib/components/features/search/TMMetadataSorterForm.d.ts +1 -2
  53. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  54. package/lib/components/features/search/TMSearch.d.ts +1 -2
  55. package/lib/components/features/search/TMSearchQueryPanel.d.ts +3 -9
  56. package/lib/components/features/search/TMSearchResult.js +78 -78
  57. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  58. package/lib/components/features/search/TMSignatureInfoContent.d.ts +1 -2
  59. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +1 -2
  60. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  61. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  62. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  63. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  64. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  65. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  66. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  67. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  68. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +2 -3
  69. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +7 -8
  70. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +1 -3
  71. package/lib/components/forms/Login/ChangePasswordInputs.d.ts +1 -3
  72. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  73. package/lib/components/forms/TMChooserForm.d.ts +1 -2
  74. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  75. package/lib/components/grids/TMBlogAttachments.d.ts +1 -2
  76. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  77. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  78. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  79. package/lib/components/grids/TMValidationItemsList.d.ts +1 -2
  80. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -2
  81. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
  82. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  83. package/lib/components/layout/panelManager/TMPanelManagerLoader.d.ts +1 -2
  84. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +6 -5
  85. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  86. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  87. package/lib/components/pages/TMPage.d.ts +1 -1
  88. package/lib/components/query/TMQueryEditor.d.ts +10 -14
  89. package/lib/components/settings/SettingsAppearance.d.ts +1 -2
  90. package/lib/components/sidebar/TMAboutApp.d.ts +1 -2
  91. package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
  92. package/lib/components/sidebar/TMHeader.d.ts +3 -3
  93. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -3
  94. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +2 -3
  95. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  96. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  97. package/lib/helper/TMAppUpdatedModal.d.ts +1 -2
  98. package/lib/helper/TMAppUpdatedModal.js +93 -93
  99. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  100. package/lib/helper/TMIcons.d.ts +280 -280
  101. package/lib/helper/TMPdfViewer.d.ts +1 -2
  102. package/lib/helper/TMToppyMessage.d.ts +2 -2
  103. package/lib/helper/TMUtils.d.ts +4 -10
  104. package/lib/helper/helpers.d.ts +1 -1
  105. package/lib/hooks/useInputDialog.d.ts +1 -2
  106. package/lib/services/platform_services.d.ts +2 -3
  107. package/package.json +1 -1
  108. package/lib/components/features/assistant/dataset/Designer-Suggested-Questions.json +0 -102
  109. package/lib/components/features/assistant/dataset/Login-Suggested-Questions.json +0 -32
  110. package/lib/components/features/assistant/dataset/Surfer-Suggested-Questions.json +0 -102
@@ -92,106 +92,106 @@ const VARIANTS = {
92
92
  })
93
93
  };
94
94
  /** Contenitore della barra: frecce ai lati, striscia dei tab in mezzo ed eventuale toolbar in coda. */
95
- const TabsHeader = styled.div `
96
- display: flex;
97
- align-items: flex-end;
98
- width: 100%;
99
- flex-shrink: 0;
100
- padding: 4px 4px 0 4px;
101
- background: ${({ $v }) => $v.stripBg};
95
+ const TabsHeader = styled.div `
96
+ display: flex;
97
+ align-items: flex-end;
98
+ width: 100%;
99
+ flex-shrink: 0;
100
+ padding: 4px 4px 0 4px;
101
+ background: ${({ $v }) => $v.stripBg};
102
102
  `;
103
103
  /** Striscia scorrevole dei tab: la scrollbar resta nascosta, si scorre con le frecce. */
104
- const TabsStrip = styled.div `
105
- display: flex;
106
- align-items: flex-end;
107
- flex: 1;
108
- min-width: 0;
109
- gap: ${({ $v }) => $v.tabGap};
110
- padding: ${({ $v }) => $v.stripPadding};
111
- overflow-x: auto;
112
- scroll-behavior: smooth;
113
- scrollbar-width: none;
114
- -ms-overflow-style: none;
115
- &::-webkit-scrollbar { display: none; }
104
+ const TabsStrip = styled.div `
105
+ display: flex;
106
+ align-items: flex-end;
107
+ flex: 1;
108
+ min-width: 0;
109
+ gap: ${({ $v }) => $v.tabGap};
110
+ padding: ${({ $v }) => $v.stripPadding};
111
+ overflow-x: auto;
112
+ scroll-behavior: smooth;
113
+ scrollbar-width: none;
114
+ -ms-overflow-style: none;
115
+ &::-webkit-scrollbar { display: none; }
116
116
  `;
117
117
  /** Freccia di scorrimento: compare solo se i tab non entrano nella barra. */
118
- const NavButton = styled.button `
119
- display: flex;
120
- align-items: center;
121
- justify-content: center;
122
- width: 26px;
123
- height: 28px;
124
- margin-bottom: 3px;
125
- flex-shrink: 0;
126
- padding: 0;
127
- border: none;
128
- border-radius: 50%;
129
- background: transparent;
130
- color: ${({ $v }) => $v.idleTextColor};
131
- cursor: pointer;
132
- transition: background 0.18s ease-out, color 0.18s ease-out;
133
- &:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
134
- &:focus, &:focus-visible { outline: none; }
118
+ const NavButton = styled.button `
119
+ display: flex;
120
+ align-items: center;
121
+ justify-content: center;
122
+ width: 26px;
123
+ height: 28px;
124
+ margin-bottom: 3px;
125
+ flex-shrink: 0;
126
+ padding: 0;
127
+ border: none;
128
+ border-radius: 50%;
129
+ background: transparent;
130
+ color: ${({ $v }) => $v.idleTextColor};
131
+ cursor: pointer;
132
+ transition: background 0.18s ease-out, color 0.18s ease-out;
133
+ &:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
134
+ &:focus, &:focus-visible { outline: none; }
135
135
  `;
136
136
  /** Pulsante '+' subito dopo l'ultimo tab, come il nuovo tab del browser. */
137
- const AddButton = styled.button `
138
- display: flex;
139
- align-items: center;
140
- justify-content: center;
141
- width: 28px;
142
- height: 28px;
143
- margin: 0 0 3px 4px;
144
- flex-shrink: 0;
145
- padding: 0;
146
- border: none;
147
- border-radius: 50%;
148
- background: transparent;
149
- color: ${({ $v }) => $v.idleTextColor};
150
- cursor: pointer;
151
- transition: background 0.18s ease-out, color 0.18s ease-out;
152
- &:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
153
- &:active { background: ${({ $v }) => $v.buttonActive}; }
154
- &:focus, &:focus-visible { outline: none; }
137
+ const AddButton = styled.button `
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ width: 28px;
142
+ height: 28px;
143
+ margin: 0 0 3px 4px;
144
+ flex-shrink: 0;
145
+ padding: 0;
146
+ border: none;
147
+ border-radius: 50%;
148
+ background: transparent;
149
+ color: ${({ $v }) => $v.idleTextColor};
150
+ cursor: pointer;
151
+ transition: background 0.18s ease-out, color 0.18s ease-out;
152
+ &:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
153
+ &:active { background: ${({ $v }) => $v.buttonActive}; }
154
+ &:focus, &:focus-visible { outline: none; }
155
155
  `;
156
156
  /** Contenuto libero del chiamante in coda alla barra: azioni di pagina allineate a destra dei tab.
157
157
  E' position: relative cosi un menu a tendina del chiamante puo posizionarsi rispetto a quest'area. */
158
- const TabsToolbar = styled.div `
159
- display: flex;
160
- align-items: center;
161
- flex-shrink: 0;
162
- margin-bottom: 3px;
163
- padding-left: 8px;
164
- position: relative;
158
+ const TabsToolbar = styled.div `
159
+ display: flex;
160
+ align-items: center;
161
+ flex-shrink: 0;
162
+ margin-bottom: 3px;
163
+ padding-left: 8px;
164
+ position: relative;
165
165
  `;
166
166
  /** Area del contenuto: fa da riferimento ai pannelli nascosti, che restano montati ma non impaginati. */
167
- const ContentArea = styled.div `
168
- position: relative;
169
- display: flex;
170
- flex-direction: column;
171
- flex: 1;
172
- min-height: 0;
167
+ const ContentArea = styled.div `
168
+ position: relative;
169
+ display: flex;
170
+ flex-direction: column;
171
+ flex: 1;
172
+ min-height: 0;
173
173
  `;
174
- const ANIM_FADE = keyframes `
175
- from { opacity: 0; transform: translate3d(0, 10px, 0); }
176
- 50% { opacity: 1; }
177
- to { opacity: 1; transform: translate3d(0, 0, 0); }
174
+ const ANIM_FADE = keyframes `
175
+ from { opacity: 0; transform: translate3d(0, 10px, 0); }
176
+ 50% { opacity: 1; }
177
+ to { opacity: 1; transform: translate3d(0, 0, 0); }
178
178
  `;
179
179
  // Entra appena piu piccolo e leggermente piu in basso: sembra posarsi al suo posto invece di comparire
180
- const ANIM_ZOOM = keyframes `
181
- from { opacity: 0; transform: translate3d(0, 6px, 0) scale3d(0.985, 0.985, 1); }
182
- 50% { opacity: 1; }
183
- to { opacity: 1; transform: translate3d(0, 0, 0) scale3d(1, 1, 1); }
180
+ const ANIM_ZOOM = keyframes `
181
+ from { opacity: 0; transform: translate3d(0, 6px, 0) scale3d(0.985, 0.985, 1); }
182
+ 50% { opacity: 1; }
183
+ to { opacity: 1; transform: translate3d(0, 0, 0) scale3d(1, 1, 1); }
184
184
  `;
185
185
  // Lo scorrimento segue il verso dello spostamento: da destra andando avanti, da sinistra tornando indietro
186
- const ANIM_SLIDE_FORWARD = keyframes `
187
- from { opacity: 0; transform: translate3d(24px, 0, 0); }
188
- 50% { opacity: 1; }
189
- to { opacity: 1; transform: translate3d(0, 0, 0); }
186
+ const ANIM_SLIDE_FORWARD = keyframes `
187
+ from { opacity: 0; transform: translate3d(24px, 0, 0); }
188
+ 50% { opacity: 1; }
189
+ to { opacity: 1; transform: translate3d(0, 0, 0); }
190
190
  `;
191
- const ANIM_SLIDE_BACK = keyframes `
192
- from { opacity: 0; transform: translate3d(-24px, 0, 0); }
193
- 50% { opacity: 1; }
194
- to { opacity: 1; transform: translate3d(0, 0, 0); }
191
+ const ANIM_SLIDE_BACK = keyframes `
192
+ from { opacity: 0; transform: translate3d(-24px, 0, 0); }
193
+ 50% { opacity: 1; }
194
+ to { opacity: 1; transform: translate3d(0, 0, 0); }
195
195
  `;
196
196
  const pickAnimation = (animation, forward) => {
197
197
  switch (animation) {
@@ -202,141 +202,141 @@ const pickAnimation = (animation, forward) => {
202
202
  }
203
203
  };
204
204
  /** Contenitore di un singolo tab: l'animazione parte da sola perche il pannello inattivo non ne ha nessuna. */
205
- const ContentPane = styled.div `
206
- ${({ $active, $anim, $duration, $phase }) => $active && $anim && $phase !== 'done' && css `
207
- /* Livello grafico dedicato creato subito, mentre il pannello e ancora trasparente: quando il
208
- movimento parte non resta nulla da ridisegnare e l'effetto scorre senza perdere fotogrammi */
209
- will-change: opacity, transform;
210
- backface-visibility: hidden;
211
- transform: translateZ(0);
212
- opacity: 0;
213
-
214
- /* Decelerazione lunga e continua: parte deciso e si posa, senza strappi ne rimbalzi */
215
- ${$phase === 'run' && css `animation: ${$anim} ${$duration}ms cubic-bezier(0.32, 0.72, 0, 1) both;`}
216
-
217
- /* Chi ha chiesto meno animazioni nel sistema vede il cambio tab immediato */
218
- @media (prefers-reduced-motion: reduce) { animation: none; opacity: 1; transform: none; }
219
- `}
205
+ const ContentPane = styled.div `
206
+ ${({ $active, $anim, $duration, $phase }) => $active && $anim && $phase !== 'done' && css `
207
+ /* Livello grafico dedicato creato subito, mentre il pannello e ancora trasparente: quando il
208
+ movimento parte non resta nulla da ridisegnare e l'effetto scorre senza perdere fotogrammi */
209
+ will-change: opacity, transform;
210
+ backface-visibility: hidden;
211
+ transform: translateZ(0);
212
+ opacity: 0;
213
+
214
+ /* Decelerazione lunga e continua: parte deciso e si posa, senza strappi ne rimbalzi */
215
+ ${$phase === 'run' && css `animation: ${$anim} ${$duration}ms cubic-bezier(0.32, 0.72, 0, 1) both;`}
216
+
217
+ /* Chi ha chiesto meno animazioni nel sistema vede il cambio tab immediato */
218
+ @media (prefers-reduced-motion: reduce) { animation: none; opacity: 1; transform: none; }
219
+ `}
220
220
  `;
221
- const TabSeparator = styled.div `
222
- width: 1px;
223
- height: 18px;
224
- margin-bottom: 8px;
225
- flex-shrink: 0;
226
- background: ${({ $v }) => $v.divider};
221
+ const TabSeparator = styled.div `
222
+ width: 1px;
223
+ height: 18px;
224
+ margin-bottom: 8px;
225
+ flex-shrink: 0;
226
+ background: ${({ $v }) => $v.divider};
227
227
  `;
228
- const DropMark = styled.div `
229
- position: absolute;
230
- top: 2px;
231
- bottom: 0;
232
- width: 3px;
233
- border-radius: 2px;
234
- background: ${ACCENT};
235
- left: ${({ $side }) => ($side === 'left' ? '-2px' : 'auto')};
236
- right: ${({ $side }) => ($side === 'right' ? '-2px' : 'auto')};
228
+ const DropMark = styled.div `
229
+ position: absolute;
230
+ top: 2px;
231
+ bottom: 0;
232
+ width: 3px;
233
+ border-radius: 2px;
234
+ background: ${ACCENT};
235
+ left: ${({ $side }) => ($side === 'left' ? '-2px' : 'auto')};
236
+ right: ${({ $side }) => ($side === 'right' ? '-2px' : 'auto')};
237
237
  `;
238
- const TabItem = styled.div `
239
- position: relative;
240
- display: inline-flex;
241
- align-items: center;
242
- gap: 2px;
243
- height: 32px;
244
- padding: 0 6px 0 12px;
245
- max-width: 330px;
246
- user-select: none;
247
- border-radius: ${({ $v }) => $v.tabRadius};
248
- background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.idleTabBg)};
249
- /* Stile card: ombra verso l'alto, sotto il tab poggia sul contenuto */
250
- box-shadow: ${({ $active, $v }) => ($active ? $v.tabShadow : 'none')};
251
- opacity: ${({ $dragging }) => ($dragging ? 0.4 : 1)};
252
- z-index: ${({ $active }) => ($active ? 2 : 1)};
253
- transition: background 0.18s ease-out, box-shadow 0.18s ease-out, opacity 0.18s ease-out;
254
- &:hover { background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.tabHover)}; }
255
- &::before, &::after {
256
- content: '';
257
- position: absolute;
258
- bottom: 0;
259
- width: ${TAB_RADIUS}px;
260
- height: ${TAB_RADIUS}px;
261
- display: ${({ $active, $v }) => ($active && $v.joins ? 'block' : 'none')};
262
- }
263
- &::before {
264
- left: -${TAB_RADIUS}px;
265
- background: ${({ $v }) => $v.joins ? `radial-gradient(circle at 0 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
266
- }
267
- &::after {
268
- right: -${TAB_RADIUS}px;
269
- background: ${({ $v }) => $v.joins ? `radial-gradient(circle at ${TAB_RADIUS}px 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
270
- }
238
+ const TabItem = styled.div `
239
+ position: relative;
240
+ display: inline-flex;
241
+ align-items: center;
242
+ gap: 2px;
243
+ height: 32px;
244
+ padding: 0 6px 0 12px;
245
+ max-width: 330px;
246
+ user-select: none;
247
+ border-radius: ${({ $v }) => $v.tabRadius};
248
+ background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.idleTabBg)};
249
+ /* Stile card: ombra verso l'alto, sotto il tab poggia sul contenuto */
250
+ box-shadow: ${({ $active, $v }) => ($active ? $v.tabShadow : 'none')};
251
+ opacity: ${({ $dragging }) => ($dragging ? 0.4 : 1)};
252
+ z-index: ${({ $active }) => ($active ? 2 : 1)};
253
+ transition: background 0.18s ease-out, box-shadow 0.18s ease-out, opacity 0.18s ease-out;
254
+ &:hover { background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.tabHover)}; }
255
+ &::before, &::after {
256
+ content: '';
257
+ position: absolute;
258
+ bottom: 0;
259
+ width: ${TAB_RADIUS}px;
260
+ height: ${TAB_RADIUS}px;
261
+ display: ${({ $active, $v }) => ($active && $v.joins ? 'block' : 'none')};
262
+ }
263
+ &::before {
264
+ left: -${TAB_RADIUS}px;
265
+ background: ${({ $v }) => $v.joins ? `radial-gradient(circle at 0 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
266
+ }
267
+ &::after {
268
+ right: -${TAB_RADIUS}px;
269
+ background: ${({ $v }) => $v.joins ? `radial-gradient(circle at ${TAB_RADIUS}px 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
270
+ }
271
271
  `;
272
- const TabButton = styled.button `
273
- display: inline-flex;
274
- align-items: center;
275
- gap: 6px;
276
- max-width: 290px;
277
- height: 100%;
278
- padding: 0 8px 0 0;
279
- border: none;
280
- background: none;
281
- font-family: inherit;
282
- font-size: 13px;
283
- font-weight: ${({ $active }) => ($active ? 600 : 500)};
284
- /* !important perche contenitori come l'intestazione del TMPanel impongono il proprio colore
285
- a tutti i discendenti con '*, & { color: ... !important }': senza, il titolo lo eredita da li */
286
- color: ${({ $active, $textColor, $idleColor }) => ($active ? $textColor : $idleColor)} !important;
287
- white-space: nowrap;
288
- overflow: hidden;
289
- text-overflow: ellipsis;
290
- cursor: pointer;
291
- &:disabled { color: #BDBDBD !important; cursor: default; }
292
- &:focus, &:focus-visible { outline: none; }
272
+ const TabButton = styled.button `
273
+ display: inline-flex;
274
+ align-items: center;
275
+ gap: 6px;
276
+ max-width: 290px;
277
+ height: 100%;
278
+ padding: 0 8px 0 0;
279
+ border: none;
280
+ background: none;
281
+ font-family: inherit;
282
+ font-size: 13px;
283
+ font-weight: ${({ $active }) => ($active ? 600 : 500)};
284
+ /* !important perche contenitori come l'intestazione del TMPanel impongono il proprio colore
285
+ a tutti i discendenti con '*, & { color: ... !important }': senza, il titolo lo eredita da li */
286
+ color: ${({ $active, $textColor, $idleColor }) => ($active ? $textColor : $idleColor)} !important;
287
+ white-space: nowrap;
288
+ overflow: hidden;
289
+ text-overflow: ellipsis;
290
+ cursor: pointer;
291
+ &:disabled { color: #BDBDBD !important; cursor: default; }
292
+ &:focus, &:focus-visible { outline: none; }
293
293
  `;
294
294
  /** Pulsante 'x' per chiudere il tab: stesso colore del titolo accanto. */
295
- const CloseButton = styled.button `
296
- display: flex;
297
- align-items: center;
298
- justify-content: center;
299
- width: 18px;
300
- height: 18px;
301
- flex-shrink: 0;
302
- padding: 0;
303
- border: none;
304
- border-radius: 4px;
305
- background: none;
306
- color: ${({ $color }) => $color} !important;
307
- font-size: 14px;
308
- line-height: 1;
309
- font-family: inherit;
310
- cursor: pointer;
311
-
312
- &:hover { background: rgba(0, 0, 0, 0.15); }
313
- &:focus, &:focus-visible { outline: none; }
295
+ const CloseButton = styled.button `
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: center;
299
+ width: 18px;
300
+ height: 18px;
301
+ flex-shrink: 0;
302
+ padding: 0;
303
+ border: none;
304
+ border-radius: 4px;
305
+ background: none;
306
+ color: ${({ $color }) => $color} !important;
307
+ font-size: 14px;
308
+ line-height: 1;
309
+ font-family: inherit;
310
+ cursor: pointer;
311
+
312
+ &:hover { background: rgba(0, 0, 0, 0.15); }
313
+ &:focus, &:focus-visible { outline: none; }
314
314
  `;
315
315
  /** Casella di testo mostrata al posto del titolo durante la rinomina. */
316
- const RenameInput = styled.input `
317
- margin: 4px 2px 4px 10px;
318
- padding: 2px 4px;
319
- width: 130px;
320
- font-family: inherit;
321
- font-size: 13px;
322
- font-weight: 600;
323
- color: ${TEXT_ACTIVE};
324
- background: ${TAB_BG};
325
- border: 1px solid ${ACCENT};
326
- border-radius: 4px;
327
- outline: none;
316
+ const RenameInput = styled.input `
317
+ margin: 4px 2px 4px 10px;
318
+ padding: 2px 4px;
319
+ width: 130px;
320
+ font-family: inherit;
321
+ font-size: 13px;
322
+ font-weight: 600;
323
+ color: ${TEXT_ACTIVE};
324
+ background: ${TAB_BG};
325
+ border: 1px solid ${ACCENT};
326
+ border-radius: 4px;
327
+ outline: none;
328
328
  `;
329
329
  /** Badge numerico a pillola accanto al titolo (es. conteggio errori). */
330
- const TabBadge = styled.span `
331
- background: ${({ $color }) => $color};
332
- color: #fff !important;
333
- font-size: 11px;
334
- font-weight: 700;
335
- line-height: 16px;
336
- min-width: 16px;
337
- padding: 0 5px;
338
- border-radius: 999em;
339
- text-align: center;
330
+ const TabBadge = styled.span `
331
+ background: ${({ $color }) => $color};
332
+ color: #fff !important;
333
+ font-size: 11px;
334
+ font-weight: 700;
335
+ line-height: 16px;
336
+ min-width: 16px;
337
+ padding: 0 5px;
338
+ border-radius: 999em;
339
+ text-align: center;
340
340
  `;
341
341
  const MAX_LABEL_CHARS = 30;
342
342
  const LABEL_COUNTER = /\s*\(\d+\)$/;
@@ -11,5 +11,5 @@ interface ITMTooltipProps extends ITooltipOptions {
11
11
  childStyle?: React.CSSProperties;
12
12
  allowContentInteraction?: boolean;
13
13
  }
14
- declare const TMTooltip: ({ children, position, content, hideAfterDelay, parentStyle, childStyle, allowContentInteraction }: ITMTooltipProps) => React.JSX.Element;
14
+ declare const TMTooltip: ({ children, position, content, hideAfterDelay, parentStyle, childStyle, allowContentInteraction }: ITMTooltipProps) => import("react/jsx-runtime").JSX.Element;
15
15
  export default TMTooltip;
@@ -29,19 +29,13 @@ interface ITMTreeViewProps {
29
29
  showLoadMoreButton?: boolean;
30
30
  enableVirtualization?: boolean;
31
31
  }
32
- declare const TMTreeView: ({ dataSource, focusedItem, selectedItems, allowMultipleSelection, onDataChanged, calculateItemsForNode, itemRender, onNodeUpdate, onFocusedItemChanged, onSelectionChanged, shouldDelayFocusOnEvent, onItemContextMenu, autoSelectChildren, itemsPerPage, showLoadMoreButton, enableVirtualization }: ITMTreeViewProps) => React.JSX.Element;
32
+ declare const TMTreeView: ({ dataSource, focusedItem, selectedItems, allowMultipleSelection, onDataChanged, calculateItemsForNode, itemRender, onNodeUpdate, onFocusedItemChanged, onSelectionChanged, shouldDelayFocusOnEvent, onItemContextMenu, autoSelectChildren, itemsPerPage, showLoadMoreButton, enableVirtualization }: ITMTreeViewProps) => import("react/jsx-runtime").JSX.Element;
33
33
  export default TMTreeView;
34
- export declare const StyledTreeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
35
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
36
- }> & string;
37
- export declare const StyledItemContent: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
38
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
39
- }> & string;
40
- export declare const StyledTreeNode: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Merged<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
41
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
42
- }, {
34
+ export declare const StyledTreeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
35
+ export declare const StyledItemContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
36
+ export declare const StyledTreeNode: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isSelected"> & {
43
37
  $isSelected?: boolean;
44
- }>> & string;
45
- export declare const StyledStickyPaginator: import("styled-components/dist/types").IStyledComponentBase<"web", Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "style"> & {
46
- style?: React.CSSProperties | import("styled-components/dist/types").CSSPropertiesWithVars | undefined;
47
- }> & string;
38
+ }, never> & Partial<Pick<import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$isSelected"> & {
39
+ $isSelected?: boolean;
40
+ }, never>>> & string;
41
+ export declare const StyledStickyPaginator: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  interface TMUserAvatarProps {
3
2
  displayName: string;
4
3
  nameForColorCalculation: string;
5
4
  tooltipName?: string;
6
5
  returnType?: 'jsx' | 'svg';
7
6
  }
8
- declare const TMUserAvatar: (props: TMUserAvatarProps) => string | React.JSX.Element;
7
+ declare const TMUserAvatar: (props: TMUserAvatarProps) => string | import("react/jsx-runtime").JSX.Element;
9
8
  export default TMUserAvatar;
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { ValidationItem } from '@topconsultnpm/sdk-ts';
3
2
  declare const TMVilViewer: ({ vil }: {
4
3
  vil?: ValidationItem[];
5
- }) => React.JSX.Element | null;
4
+ }) => import("react/jsx-runtime").JSX.Element | null;
6
5
  export default TMVilViewer;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { ITMLayoutContainerProps } from './TMLayout';
3
2
  interface ITMWaitPanelProps {
4
3
  title?: string;
@@ -15,7 +14,7 @@ interface ITMWaitPanelProps {
15
14
  onAbortClick?: (abortController: AbortController | undefined) => void;
16
15
  useHighZIndex?: boolean;
17
16
  }
18
- export declare const TMWaitPanel: (props: ITMWaitPanelProps) => React.JSX.Element;
17
+ export declare const TMWaitPanel: (props: ITMWaitPanelProps) => import("react/jsx-runtime").JSX.Element;
19
18
  interface ITMLayoutWaitingContainerProps extends ITMLayoutContainerProps {
20
19
  showWaitPanel?: boolean;
21
20
  waitPanelTitle?: string;
@@ -31,5 +30,5 @@ interface ITMLayoutWaitingContainerProps extends ITMLayoutContainerProps {
31
30
  abortController?: AbortController;
32
31
  usePortal?: boolean;
33
32
  }
34
- export declare const TMLayoutWaitingContainer: ({ showWaitPanel, showWaitPanelPrimary, showWaitPanelSecondary, waitPanelTitle, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, isCancelable, abortController, usePortal, gap, onClick, justifyContent, alignItems, children, direction }: ITMLayoutWaitingContainerProps) => React.JSX.Element;
33
+ export declare const TMLayoutWaitingContainer: ({ showWaitPanel, showWaitPanelPrimary, showWaitPanelSecondary, waitPanelTitle, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, waitPanelTextPrimary, waitPanelValuePrimary, waitPanelMaxValuePrimary, isCancelable, abortController, usePortal, gap, onClick, justifyContent, alignItems, children, direction }: ITMLayoutWaitingContainerProps) => import("react/jsx-runtime").JSX.Element;
35
34
  export {};
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  /** Guscio statico del wait panel: montato una sola volta e mai ri-renderizzato, il manager lo aggiorna via DOM. Le props sono valori iniziali. */
3
2
  /** Nodi DOM mutabili di cui il manager ha bisogno per aggiornare il pannello senza React. */
4
3
  export interface ITMWaitPanelNodes {
@@ -49,5 +48,5 @@ export interface ITMWaitPanelViewProps {
49
48
  /** Invocato dopo il commit con i nodi DOM da aggiornare imperativamente. */
50
49
  onMount?: (nodes: ITMWaitPanelNodes) => void;
51
50
  }
52
- declare const TMWaitPanelView: ({ title, subtitle, cancelable, showEta, showCounters, showSecondary, secondaryText, primaryLabel, secondaryLabel, zIndex, onAbort, onConfirmYes, onConfirmNo, onMount }: ITMWaitPanelViewProps) => React.JSX.Element;
51
+ declare const TMWaitPanelView: ({ title, subtitle, cancelable, showEta, showCounters, showSecondary, secondaryText, primaryLabel, secondaryLabel, zIndex, onAbort, onConfirmYes, onConfirmNo, onMount }: ITMWaitPanelViewProps) => import("react/jsx-runtime").JSX.Element;
53
52
  export default TMWaitPanelView;
@@ -41,4 +41,4 @@ interface ITMDynDataListItemChooserFormProps extends ITMChooserFormProps<DataLis
41
41
  /** Se presente, sono i parametri da passare alla query per recuperare il dataSource */
42
42
  queryParamsDynDataList?: string[];
43
43
  }
44
- export declare const TMDynDataListItemChooserForm: (props: ITMDynDataListItemChooserFormProps) => React.JSX.Element;
44
+ export declare const TMDynDataListItemChooserForm: (props: ITMDynDataListItemChooserFormProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
1
  import { InvoiceRetrieveFormats } from '@topconsultnpm/sdk-ts';
3
2
  import { ITMEnumDataBinding } from '../../ts';
4
- declare const TMInvoiceRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<InvoiceRetrieveFormats>) => React.JSX.Element;
3
+ declare const TMInvoiceRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<InvoiceRetrieveFormats>) => import("react/jsx-runtime").JSX.Element;
5
4
  export default TMInvoiceRetrieveFormats;
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
1
  import { OrderRetrieveFormats } from '@topconsultnpm/sdk-ts';
3
2
  import { ITMEnumDataBinding } from '../../ts';
4
- declare const TMOrderRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<OrderRetrieveFormats>) => React.JSX.Element;
3
+ declare const TMOrderRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<OrderRetrieveFormats>) => import("react/jsx-runtime").JSX.Element;
5
4
  export default TMOrderRetrieveFormats;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { TMEditorButtonData } from '../base/TMEditorBase';
3
2
  interface ITMQuickSearchInfo {
4
3
  /** Tipo documento della ricerca rapida: serve a ricostruire la ricerca di sistema con tutti i documenti */
@@ -8,6 +7,6 @@ interface ITMQuickSearchInfo {
8
7
  }
9
8
  export declare const useTMQuickSearchInfo: ({ tid, sqdId }: ITMQuickSearchInfo) => {
10
9
  infoButton: TMEditorButtonData | undefined;
11
- detailForm: React.JSX.Element | null;
10
+ detailForm: import("react/jsx-runtime").JSX.Element | null;
12
11
  };
13
12
  export {};
@@ -19,13 +19,13 @@ export declare const TMRelationIdViewer: ({ relationType, relationId, showIcon,
19
19
  relationId?: number;
20
20
  showIcon?: boolean;
21
21
  noneSelectionText?: string;
22
- }) => React.JSX.Element;
22
+ }) => import("react/jsx-runtime").JSX.Element;
23
23
  export declare const TMRelationIcon: ({ rd, relationType }: {
24
24
  rd: RelationDescriptor | undefined;
25
25
  relationType?: RelationTypes;
26
- }) => React.JSX.Element;
26
+ }) => import("react/jsx-runtime").JSX.Element;
27
27
  export declare const TMRelationTooltip: ({ rd, relationType, children }: {
28
28
  rd?: RelationDescriptor;
29
29
  relationType: RelationTypes | undefined;
30
30
  children: React.ReactNode;
31
- }) => React.JSX.Element;
31
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -38,8 +38,8 @@ interface ITMUserChooserFormProps extends ITMChooserFormProps<UserDescriptor> {
38
38
  export declare const TMUserChooserForm: React.FunctionComponent<ITMUserChooserFormProps>;
39
39
  export declare const TMUserIcon: ({ ud }: {
40
40
  ud?: UserDescriptor;
41
- }) => React.JSX.Element | null;
41
+ }) => import("react/jsx-runtime").JSX.Element | null;
42
42
  export declare const TMUserTooltip: ({ ud, children }: {
43
43
  ud?: UserDescriptor;
44
44
  children: React.ReactNode;
45
- }) => React.JSX.Element;
45
+ }) => import("react/jsx-runtime").JSX.Element;