@topconsultnpm/sdkui-react 6.22.0-dev3.10 → 6.22.0-dev3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/NewComponents/ContextMenu/styles.d.ts +45 -43
- package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +67 -60
- package/lib/components/base/Styled.d.ts +93 -77
- package/lib/components/base/TMCounterBar.d.ts +2 -2
- package/lib/components/base/TMCounterContainer.d.ts +2 -1
- package/lib/components/base/TMCustomButton.d.ts +1 -1
- package/lib/components/base/TMDataGrid.js +219 -219
- package/lib/components/base/TMDataGridExportForm.d.ts +2 -1
- package/lib/components/base/TMFileManager.d.ts +2 -1
- package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -1
- package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
- package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
- package/lib/components/base/TMFileManagerUtils.d.ts +4 -6
- package/lib/components/base/TMLayout.d.ts +4 -4
- package/lib/components/base/TMList.d.ts +2 -1
- package/lib/components/base/TMListView.d.ts +1 -1
- package/lib/components/base/TMPanel.js +167 -167
- package/lib/components/base/TMSpinner.d.ts +2 -1
- package/lib/components/base/TMTab.d.ts +4 -3
- package/lib/components/base/TMTabControl.js +201 -201
- package/lib/components/base/TMTooltip.d.ts +1 -1
- package/lib/components/base/TMTreeView.d.ts +14 -8
- package/lib/components/base/TMUserAvatar.d.ts +2 -1
- package/lib/components/base/TMVilViewer.d.ts +2 -1
- package/lib/components/base/TMWaitPanel.d.ts +3 -2
- package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
- package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +2 -1
- package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +2 -1
- package/lib/components/choosers/TMQuickSearchInfo.d.ts +2 -1
- package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
- package/lib/components/choosers/TMUserChooser.d.ts +2 -2
- package/lib/components/editors/TMEditorStyled.d.ts +20 -42
- package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
- package/lib/components/editors/TMHtmlContentDisplay.d.ts +2 -1
- package/lib/components/editors/TMHtmlEditor.d.ts +2 -1
- package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
- package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
- package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -1
- package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
- package/lib/components/features/documents/TMDcmtIcon.d.ts +2 -1
- package/lib/components/features/documents/TMDcmtPreview.d.ts +8 -6
- package/lib/components/features/documents/TMDcmtTasks.d.ts +2 -1
- package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
- package/lib/components/features/documents/TMFileUploader.js +26 -26
- package/lib/components/features/documents/TMMasterInfoFields.d.ts +2 -1
- package/lib/components/features/documents/TMMergeToPdfForm.d.ts +2 -1
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsForm.d.ts +2 -1
- package/lib/components/features/documents/TMMultiMasterDetailDcmtsUtils.d.ts +4 -4
- package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +2 -1
- package/lib/components/features/search/TMMetadataOutputForm.d.ts +2 -1
- package/lib/components/features/search/TMMetadataSorterForm.d.ts +2 -1
- package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
- package/lib/components/features/search/TMSearch.d.ts +2 -1
- package/lib/components/features/search/TMSearchQueryPanel.d.ts +9 -3
- package/lib/components/features/search/TMSearchResult.js +78 -78
- package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
- package/lib/components/features/search/TMSignatureInfoContent.d.ts +2 -1
- package/lib/components/features/search/TMViewHistoryDcmt.d.ts +2 -1
- package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
- package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
- package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
- package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
- package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
- package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +3 -2
- package/lib/components/features/workflow/TMWorkflowPopup.d.ts +8 -7
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.d.ts +3 -1
- package/lib/components/forms/Login/ChangePasswordInputs.d.ts +3 -1
- package/lib/components/forms/Login/Chooser.d.ts +2 -2
- package/lib/components/forms/TMChooserForm.d.ts +2 -1
- package/lib/components/forms/TMSaveForm.d.ts +4 -4
- package/lib/components/grids/TMBlogAttachments.d.ts +2 -1
- package/lib/components/grids/TMBlogHeader.d.ts +1 -1
- package/lib/components/grids/TMBlogsPost.d.ts +1 -1
- package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
- package/lib/components/grids/TMValidationItemsList.d.ts +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +2 -1
- package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +5 -6
- package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
- package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
- package/lib/components/pages/TMPage.d.ts +1 -1
- package/lib/components/query/TMQueryEditor.d.ts +14 -10
- package/lib/components/settings/SettingsAppearance.d.ts +2 -1
- package/lib/components/sidebar/TMAboutApp.d.ts +2 -1
- package/lib/components/sidebar/TMCommandsPanel.d.ts +4 -4
- package/lib/components/sidebar/TMHeader.d.ts +3 -3
- package/lib/components/viewers/TMDataListItemViewer.d.ts +3 -2
- package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +3 -2
- package/lib/components/viewers/TMMidViewer.d.ts +2 -2
- package/lib/components/viewers/TMTidViewer.d.ts +2 -2
- package/lib/helper/Enum_Localizator.js +1 -0
- package/lib/helper/TMAppUpdatedModal.d.ts +2 -1
- package/lib/helper/TMAppUpdatedModal.js +93 -93
- package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
- package/lib/helper/TMIcons.d.ts +280 -280
- package/lib/helper/TMPdfViewer.d.ts +2 -1
- package/lib/helper/TMToppyMessage.d.ts +2 -2
- package/lib/helper/TMUtils.d.ts +10 -4
- package/lib/helper/helpers.d.ts +1 -1
- package/lib/hooks/useInputDialog.d.ts +2 -1
- package/lib/services/platform_services.d.ts +3 -2
- package/package.json +1 -1
|
@@ -91,96 +91,96 @@ const VARIANTS = {
|
|
|
91
91
|
})
|
|
92
92
|
};
|
|
93
93
|
/** Contenitore della barra: frecce ai lati e striscia dei tab in mezzo. */
|
|
94
|
-
const TabsHeader = styled.div `
|
|
95
|
-
display: flex;
|
|
96
|
-
align-items: flex-end;
|
|
97
|
-
width: 100%;
|
|
98
|
-
flex-shrink: 0;
|
|
99
|
-
padding: 4px 4px 0 4px;
|
|
100
|
-
background: ${({ $v }) => $v.stripBg};
|
|
94
|
+
const TabsHeader = styled.div `
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: flex-end;
|
|
97
|
+
width: 100%;
|
|
98
|
+
flex-shrink: 0;
|
|
99
|
+
padding: 4px 4px 0 4px;
|
|
100
|
+
background: ${({ $v }) => $v.stripBg};
|
|
101
101
|
`;
|
|
102
102
|
/** Striscia scorrevole dei tab: la scrollbar resta nascosta, si scorre con le frecce. */
|
|
103
|
-
const TabsStrip = styled.div `
|
|
104
|
-
display: flex;
|
|
105
|
-
align-items: flex-end;
|
|
106
|
-
flex: 1;
|
|
107
|
-
min-width: 0;
|
|
108
|
-
gap: ${({ $v }) => $v.tabGap};
|
|
109
|
-
padding: ${({ $v }) => $v.stripPadding};
|
|
110
|
-
overflow-x: auto;
|
|
111
|
-
scroll-behavior: smooth;
|
|
112
|
-
scrollbar-width: none;
|
|
113
|
-
-ms-overflow-style: none;
|
|
114
|
-
&::-webkit-scrollbar { display: none; }
|
|
103
|
+
const TabsStrip = styled.div `
|
|
104
|
+
display: flex;
|
|
105
|
+
align-items: flex-end;
|
|
106
|
+
flex: 1;
|
|
107
|
+
min-width: 0;
|
|
108
|
+
gap: ${({ $v }) => $v.tabGap};
|
|
109
|
+
padding: ${({ $v }) => $v.stripPadding};
|
|
110
|
+
overflow-x: auto;
|
|
111
|
+
scroll-behavior: smooth;
|
|
112
|
+
scrollbar-width: none;
|
|
113
|
+
-ms-overflow-style: none;
|
|
114
|
+
&::-webkit-scrollbar { display: none; }
|
|
115
115
|
`;
|
|
116
116
|
/** Freccia di scorrimento: compare solo se i tab non entrano nella barra. */
|
|
117
|
-
const NavButton = styled.button `
|
|
118
|
-
display: flex;
|
|
119
|
-
align-items: center;
|
|
120
|
-
justify-content: center;
|
|
121
|
-
width: 26px;
|
|
122
|
-
height: 28px;
|
|
123
|
-
margin-bottom: 3px;
|
|
124
|
-
flex-shrink: 0;
|
|
125
|
-
padding: 0;
|
|
126
|
-
border: none;
|
|
127
|
-
border-radius: 50%;
|
|
128
|
-
background: transparent;
|
|
129
|
-
color: ${({ $v }) => $v.idleTextColor};
|
|
130
|
-
cursor: pointer;
|
|
131
|
-
transition: background 0.18s ease-out, color 0.18s ease-out;
|
|
132
|
-
&:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
|
|
133
|
-
&:focus, &:focus-visible { outline: none; }
|
|
117
|
+
const NavButton = styled.button `
|
|
118
|
+
display: flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
justify-content: center;
|
|
121
|
+
width: 26px;
|
|
122
|
+
height: 28px;
|
|
123
|
+
margin-bottom: 3px;
|
|
124
|
+
flex-shrink: 0;
|
|
125
|
+
padding: 0;
|
|
126
|
+
border: none;
|
|
127
|
+
border-radius: 50%;
|
|
128
|
+
background: transparent;
|
|
129
|
+
color: ${({ $v }) => $v.idleTextColor};
|
|
130
|
+
cursor: pointer;
|
|
131
|
+
transition: background 0.18s ease-out, color 0.18s ease-out;
|
|
132
|
+
&:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
|
|
133
|
+
&:focus, &:focus-visible { outline: none; }
|
|
134
134
|
`;
|
|
135
135
|
/** Pulsante '+' subito dopo l'ultimo tab, come il nuovo tab del browser. */
|
|
136
|
-
const AddButton = styled.button `
|
|
137
|
-
display: flex;
|
|
138
|
-
align-items: center;
|
|
139
|
-
justify-content: center;
|
|
140
|
-
width: 28px;
|
|
141
|
-
height: 28px;
|
|
142
|
-
margin: 0 0 3px 4px;
|
|
143
|
-
flex-shrink: 0;
|
|
144
|
-
padding: 0;
|
|
145
|
-
border: none;
|
|
146
|
-
border-radius: 50%;
|
|
147
|
-
background: transparent;
|
|
148
|
-
color: ${({ $v }) => $v.idleTextColor};
|
|
149
|
-
cursor: pointer;
|
|
150
|
-
transition: background 0.18s ease-out, color 0.18s ease-out;
|
|
151
|
-
&:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
|
|
152
|
-
&:active { background: ${({ $v }) => $v.buttonActive}; }
|
|
153
|
-
&:focus, &:focus-visible { outline: none; }
|
|
136
|
+
const AddButton = styled.button `
|
|
137
|
+
display: flex;
|
|
138
|
+
align-items: center;
|
|
139
|
+
justify-content: center;
|
|
140
|
+
width: 28px;
|
|
141
|
+
height: 28px;
|
|
142
|
+
margin: 0 0 3px 4px;
|
|
143
|
+
flex-shrink: 0;
|
|
144
|
+
padding: 0;
|
|
145
|
+
border: none;
|
|
146
|
+
border-radius: 50%;
|
|
147
|
+
background: transparent;
|
|
148
|
+
color: ${({ $v }) => $v.idleTextColor};
|
|
149
|
+
cursor: pointer;
|
|
150
|
+
transition: background 0.18s ease-out, color 0.18s ease-out;
|
|
151
|
+
&:hover { background: ${({ $v }) => $v.buttonHover}; color: ${TEXT_ACTIVE}; }
|
|
152
|
+
&:active { background: ${({ $v }) => $v.buttonActive}; }
|
|
153
|
+
&:focus, &:focus-visible { outline: none; }
|
|
154
154
|
`;
|
|
155
155
|
/** Area del contenuto: fa da riferimento ai pannelli nascosti, che restano montati ma non impaginati. */
|
|
156
|
-
const ContentArea = styled.div `
|
|
157
|
-
position: relative;
|
|
158
|
-
display: flex;
|
|
159
|
-
flex-direction: column;
|
|
160
|
-
flex: 1;
|
|
161
|
-
min-height: 0;
|
|
156
|
+
const ContentArea = styled.div `
|
|
157
|
+
position: relative;
|
|
158
|
+
display: flex;
|
|
159
|
+
flex-direction: column;
|
|
160
|
+
flex: 1;
|
|
161
|
+
min-height: 0;
|
|
162
162
|
`;
|
|
163
|
-
const ANIM_FADE = keyframes `
|
|
164
|
-
from { opacity: 0; transform: translate3d(0, 10px, 0); }
|
|
165
|
-
50% { opacity: 1; }
|
|
166
|
-
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
163
|
+
const ANIM_FADE = keyframes `
|
|
164
|
+
from { opacity: 0; transform: translate3d(0, 10px, 0); }
|
|
165
|
+
50% { opacity: 1; }
|
|
166
|
+
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
167
167
|
`;
|
|
168
168
|
// Entra appena piu piccolo e leggermente piu in basso: sembra posarsi al suo posto invece di comparire
|
|
169
|
-
const ANIM_ZOOM = keyframes `
|
|
170
|
-
from { opacity: 0; transform: translate3d(0, 6px, 0) scale3d(0.985, 0.985, 1); }
|
|
171
|
-
50% { opacity: 1; }
|
|
172
|
-
to { opacity: 1; transform: translate3d(0, 0, 0) scale3d(1, 1, 1); }
|
|
169
|
+
const ANIM_ZOOM = keyframes `
|
|
170
|
+
from { opacity: 0; transform: translate3d(0, 6px, 0) scale3d(0.985, 0.985, 1); }
|
|
171
|
+
50% { opacity: 1; }
|
|
172
|
+
to { opacity: 1; transform: translate3d(0, 0, 0) scale3d(1, 1, 1); }
|
|
173
173
|
`;
|
|
174
174
|
// Lo scorrimento segue il verso dello spostamento: da destra andando avanti, da sinistra tornando indietro
|
|
175
|
-
const ANIM_SLIDE_FORWARD = keyframes `
|
|
176
|
-
from { opacity: 0; transform: translate3d(24px, 0, 0); }
|
|
177
|
-
50% { opacity: 1; }
|
|
178
|
-
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
175
|
+
const ANIM_SLIDE_FORWARD = keyframes `
|
|
176
|
+
from { opacity: 0; transform: translate3d(24px, 0, 0); }
|
|
177
|
+
50% { opacity: 1; }
|
|
178
|
+
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
179
179
|
`;
|
|
180
|
-
const ANIM_SLIDE_BACK = keyframes `
|
|
181
|
-
from { opacity: 0; transform: translate3d(-24px, 0, 0); }
|
|
182
|
-
50% { opacity: 1; }
|
|
183
|
-
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
180
|
+
const ANIM_SLIDE_BACK = keyframes `
|
|
181
|
+
from { opacity: 0; transform: translate3d(-24px, 0, 0); }
|
|
182
|
+
50% { opacity: 1; }
|
|
183
|
+
to { opacity: 1; transform: translate3d(0, 0, 0); }
|
|
184
184
|
`;
|
|
185
185
|
const pickAnimation = (animation, forward) => {
|
|
186
186
|
switch (animation) {
|
|
@@ -191,141 +191,141 @@ const pickAnimation = (animation, forward) => {
|
|
|
191
191
|
}
|
|
192
192
|
};
|
|
193
193
|
/** Contenitore di un singolo tab: l'animazione parte da sola perche il pannello inattivo non ne ha nessuna. */
|
|
194
|
-
const ContentPane = styled.div `
|
|
195
|
-
${({ $active, $anim, $duration, $phase }) => $active && $anim && $phase !== 'done' && css `
|
|
196
|
-
/* Livello grafico dedicato creato subito, mentre il pannello e ancora trasparente: quando il
|
|
197
|
-
movimento parte non resta nulla da ridisegnare e l'effetto scorre senza perdere fotogrammi */
|
|
198
|
-
will-change: opacity, transform;
|
|
199
|
-
backface-visibility: hidden;
|
|
200
|
-
transform: translateZ(0);
|
|
201
|
-
opacity: 0;
|
|
202
|
-
|
|
203
|
-
/* Decelerazione lunga e continua: parte deciso e si posa, senza strappi ne rimbalzi */
|
|
204
|
-
${$phase === 'run' && css `animation: ${$anim} ${$duration}ms cubic-bezier(0.32, 0.72, 0, 1) both;`}
|
|
205
|
-
|
|
206
|
-
/* Chi ha chiesto meno animazioni nel sistema vede il cambio tab immediato */
|
|
207
|
-
@media (prefers-reduced-motion: reduce) { animation: none; opacity: 1; transform: none; }
|
|
208
|
-
`}
|
|
194
|
+
const ContentPane = styled.div `
|
|
195
|
+
${({ $active, $anim, $duration, $phase }) => $active && $anim && $phase !== 'done' && css `
|
|
196
|
+
/* Livello grafico dedicato creato subito, mentre il pannello e ancora trasparente: quando il
|
|
197
|
+
movimento parte non resta nulla da ridisegnare e l'effetto scorre senza perdere fotogrammi */
|
|
198
|
+
will-change: opacity, transform;
|
|
199
|
+
backface-visibility: hidden;
|
|
200
|
+
transform: translateZ(0);
|
|
201
|
+
opacity: 0;
|
|
202
|
+
|
|
203
|
+
/* Decelerazione lunga e continua: parte deciso e si posa, senza strappi ne rimbalzi */
|
|
204
|
+
${$phase === 'run' && css `animation: ${$anim} ${$duration}ms cubic-bezier(0.32, 0.72, 0, 1) both;`}
|
|
205
|
+
|
|
206
|
+
/* Chi ha chiesto meno animazioni nel sistema vede il cambio tab immediato */
|
|
207
|
+
@media (prefers-reduced-motion: reduce) { animation: none; opacity: 1; transform: none; }
|
|
208
|
+
`}
|
|
209
209
|
`;
|
|
210
|
-
const TabSeparator = styled.div `
|
|
211
|
-
width: 1px;
|
|
212
|
-
height: 18px;
|
|
213
|
-
margin-bottom: 8px;
|
|
214
|
-
flex-shrink: 0;
|
|
215
|
-
background: ${({ $v }) => $v.divider};
|
|
210
|
+
const TabSeparator = styled.div `
|
|
211
|
+
width: 1px;
|
|
212
|
+
height: 18px;
|
|
213
|
+
margin-bottom: 8px;
|
|
214
|
+
flex-shrink: 0;
|
|
215
|
+
background: ${({ $v }) => $v.divider};
|
|
216
216
|
`;
|
|
217
|
-
const DropMark = styled.div `
|
|
218
|
-
position: absolute;
|
|
219
|
-
top: 2px;
|
|
220
|
-
bottom: 0;
|
|
221
|
-
width: 3px;
|
|
222
|
-
border-radius: 2px;
|
|
223
|
-
background: ${ACCENT};
|
|
224
|
-
left: ${({ $side }) => ($side === 'left' ? '-2px' : 'auto')};
|
|
225
|
-
right: ${({ $side }) => ($side === 'right' ? '-2px' : 'auto')};
|
|
217
|
+
const DropMark = styled.div `
|
|
218
|
+
position: absolute;
|
|
219
|
+
top: 2px;
|
|
220
|
+
bottom: 0;
|
|
221
|
+
width: 3px;
|
|
222
|
+
border-radius: 2px;
|
|
223
|
+
background: ${ACCENT};
|
|
224
|
+
left: ${({ $side }) => ($side === 'left' ? '-2px' : 'auto')};
|
|
225
|
+
right: ${({ $side }) => ($side === 'right' ? '-2px' : 'auto')};
|
|
226
226
|
`;
|
|
227
|
-
const TabItem = styled.div `
|
|
228
|
-
position: relative;
|
|
229
|
-
display: inline-flex;
|
|
230
|
-
align-items: center;
|
|
231
|
-
gap: 2px;
|
|
232
|
-
height: 32px;
|
|
233
|
-
padding: 0 6px 0 12px;
|
|
234
|
-
max-width: 330px;
|
|
235
|
-
user-select: none;
|
|
236
|
-
border-radius: ${({ $v }) => $v.tabRadius};
|
|
237
|
-
background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.idleTabBg)};
|
|
238
|
-
/* Stile card: ombra verso l'alto, sotto il tab poggia sul contenuto */
|
|
239
|
-
box-shadow: ${({ $active, $v }) => ($active ? $v.tabShadow : 'none')};
|
|
240
|
-
opacity: ${({ $dragging }) => ($dragging ? 0.4 : 1)};
|
|
241
|
-
z-index: ${({ $active }) => ($active ? 2 : 1)};
|
|
242
|
-
transition: background 0.18s ease-out, box-shadow 0.18s ease-out, opacity 0.18s ease-out;
|
|
243
|
-
&:hover { background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.tabHover)}; }
|
|
244
|
-
&::before, &::after {
|
|
245
|
-
content: '';
|
|
246
|
-
position: absolute;
|
|
247
|
-
bottom: 0;
|
|
248
|
-
width: ${TAB_RADIUS}px;
|
|
249
|
-
height: ${TAB_RADIUS}px;
|
|
250
|
-
display: ${({ $active, $v }) => ($active && $v.joins ? 'block' : 'none')};
|
|
251
|
-
}
|
|
252
|
-
&::before {
|
|
253
|
-
left: -${TAB_RADIUS}px;
|
|
254
|
-
background: ${({ $v }) => $v.joins ? `radial-gradient(circle at 0 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
|
|
255
|
-
}
|
|
256
|
-
&::after {
|
|
257
|
-
right: -${TAB_RADIUS}px;
|
|
258
|
-
background: ${({ $v }) => $v.joins ? `radial-gradient(circle at ${TAB_RADIUS}px 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
|
|
259
|
-
}
|
|
227
|
+
const TabItem = styled.div `
|
|
228
|
+
position: relative;
|
|
229
|
+
display: inline-flex;
|
|
230
|
+
align-items: center;
|
|
231
|
+
gap: 2px;
|
|
232
|
+
height: 32px;
|
|
233
|
+
padding: 0 6px 0 12px;
|
|
234
|
+
max-width: 330px;
|
|
235
|
+
user-select: none;
|
|
236
|
+
border-radius: ${({ $v }) => $v.tabRadius};
|
|
237
|
+
background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.idleTabBg)};
|
|
238
|
+
/* Stile card: ombra verso l'alto, sotto il tab poggia sul contenuto */
|
|
239
|
+
box-shadow: ${({ $active, $v }) => ($active ? $v.tabShadow : 'none')};
|
|
240
|
+
opacity: ${({ $dragging }) => ($dragging ? 0.4 : 1)};
|
|
241
|
+
z-index: ${({ $active }) => ($active ? 2 : 1)};
|
|
242
|
+
transition: background 0.18s ease-out, box-shadow 0.18s ease-out, opacity 0.18s ease-out;
|
|
243
|
+
&:hover { background: ${({ $active, $v }) => ($active ? $v.tabBg : $v.tabHover)}; }
|
|
244
|
+
&::before, &::after {
|
|
245
|
+
content: '';
|
|
246
|
+
position: absolute;
|
|
247
|
+
bottom: 0;
|
|
248
|
+
width: ${TAB_RADIUS}px;
|
|
249
|
+
height: ${TAB_RADIUS}px;
|
|
250
|
+
display: ${({ $active, $v }) => ($active && $v.joins ? 'block' : 'none')};
|
|
251
|
+
}
|
|
252
|
+
&::before {
|
|
253
|
+
left: -${TAB_RADIUS}px;
|
|
254
|
+
background: ${({ $v }) => $v.joins ? `radial-gradient(circle at 0 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
|
|
255
|
+
}
|
|
256
|
+
&::after {
|
|
257
|
+
right: -${TAB_RADIUS}px;
|
|
258
|
+
background: ${({ $v }) => $v.joins ? `radial-gradient(circle at ${TAB_RADIUS}px 0, transparent ${TAB_RADIUS - 0.5}px, ${$v.tabBg} ${TAB_RADIUS}px)` : 'none'};
|
|
259
|
+
}
|
|
260
260
|
`;
|
|
261
|
-
const TabButton = styled.button `
|
|
262
|
-
display: inline-flex;
|
|
263
|
-
align-items: center;
|
|
264
|
-
gap: 6px;
|
|
265
|
-
max-width: 290px;
|
|
266
|
-
height: 100%;
|
|
267
|
-
padding: 0 8px 0 0;
|
|
268
|
-
border: none;
|
|
269
|
-
background: none;
|
|
270
|
-
font-family: inherit;
|
|
271
|
-
font-size: 13px;
|
|
272
|
-
font-weight: ${({ $active }) => ($active ? 600 : 500)};
|
|
273
|
-
/* !important perche contenitori come l'intestazione del TMPanel impongono il proprio colore
|
|
274
|
-
a tutti i discendenti con '*, & { color: ... !important }': senza, il titolo lo eredita da li */
|
|
275
|
-
color: ${({ $active, $textColor, $idleColor }) => ($active ? $textColor : $idleColor)} !important;
|
|
276
|
-
white-space: nowrap;
|
|
277
|
-
overflow: hidden;
|
|
278
|
-
text-overflow: ellipsis;
|
|
279
|
-
cursor: pointer;
|
|
280
|
-
&:disabled { color: #BDBDBD !important; cursor: default; }
|
|
281
|
-
&:focus, &:focus-visible { outline: none; }
|
|
261
|
+
const TabButton = styled.button `
|
|
262
|
+
display: inline-flex;
|
|
263
|
+
align-items: center;
|
|
264
|
+
gap: 6px;
|
|
265
|
+
max-width: 290px;
|
|
266
|
+
height: 100%;
|
|
267
|
+
padding: 0 8px 0 0;
|
|
268
|
+
border: none;
|
|
269
|
+
background: none;
|
|
270
|
+
font-family: inherit;
|
|
271
|
+
font-size: 13px;
|
|
272
|
+
font-weight: ${({ $active }) => ($active ? 600 : 500)};
|
|
273
|
+
/* !important perche contenitori come l'intestazione del TMPanel impongono il proprio colore
|
|
274
|
+
a tutti i discendenti con '*, & { color: ... !important }': senza, il titolo lo eredita da li */
|
|
275
|
+
color: ${({ $active, $textColor, $idleColor }) => ($active ? $textColor : $idleColor)} !important;
|
|
276
|
+
white-space: nowrap;
|
|
277
|
+
overflow: hidden;
|
|
278
|
+
text-overflow: ellipsis;
|
|
279
|
+
cursor: pointer;
|
|
280
|
+
&:disabled { color: #BDBDBD !important; cursor: default; }
|
|
281
|
+
&:focus, &:focus-visible { outline: none; }
|
|
282
282
|
`;
|
|
283
283
|
/** Pulsante 'x' per chiudere il tab: stesso colore del titolo accanto. */
|
|
284
|
-
const CloseButton = styled.button `
|
|
285
|
-
display: flex;
|
|
286
|
-
align-items: center;
|
|
287
|
-
justify-content: center;
|
|
288
|
-
width: 18px;
|
|
289
|
-
height: 18px;
|
|
290
|
-
flex-shrink: 0;
|
|
291
|
-
padding: 0;
|
|
292
|
-
border: none;
|
|
293
|
-
border-radius: 4px;
|
|
294
|
-
background: none;
|
|
295
|
-
color: ${({ $color }) => $color} !important;
|
|
296
|
-
font-size: 14px;
|
|
297
|
-
line-height: 1;
|
|
298
|
-
font-family: inherit;
|
|
299
|
-
cursor: pointer;
|
|
300
|
-
|
|
301
|
-
&:hover { background: rgba(0, 0, 0, 0.15); }
|
|
302
|
-
&:focus, &:focus-visible { outline: none; }
|
|
284
|
+
const CloseButton = styled.button `
|
|
285
|
+
display: flex;
|
|
286
|
+
align-items: center;
|
|
287
|
+
justify-content: center;
|
|
288
|
+
width: 18px;
|
|
289
|
+
height: 18px;
|
|
290
|
+
flex-shrink: 0;
|
|
291
|
+
padding: 0;
|
|
292
|
+
border: none;
|
|
293
|
+
border-radius: 4px;
|
|
294
|
+
background: none;
|
|
295
|
+
color: ${({ $color }) => $color} !important;
|
|
296
|
+
font-size: 14px;
|
|
297
|
+
line-height: 1;
|
|
298
|
+
font-family: inherit;
|
|
299
|
+
cursor: pointer;
|
|
300
|
+
|
|
301
|
+
&:hover { background: rgba(0, 0, 0, 0.15); }
|
|
302
|
+
&:focus, &:focus-visible { outline: none; }
|
|
303
303
|
`;
|
|
304
304
|
/** Casella di testo mostrata al posto del titolo durante la rinomina. */
|
|
305
|
-
const RenameInput = styled.input `
|
|
306
|
-
margin: 4px 2px 4px 10px;
|
|
307
|
-
padding: 2px 4px;
|
|
308
|
-
width: 130px;
|
|
309
|
-
font-family: inherit;
|
|
310
|
-
font-size: 13px;
|
|
311
|
-
font-weight: 600;
|
|
312
|
-
color: ${TEXT_ACTIVE};
|
|
313
|
-
background: ${TAB_BG};
|
|
314
|
-
border: 1px solid ${ACCENT};
|
|
315
|
-
border-radius: 4px;
|
|
316
|
-
outline: none;
|
|
305
|
+
const RenameInput = styled.input `
|
|
306
|
+
margin: 4px 2px 4px 10px;
|
|
307
|
+
padding: 2px 4px;
|
|
308
|
+
width: 130px;
|
|
309
|
+
font-family: inherit;
|
|
310
|
+
font-size: 13px;
|
|
311
|
+
font-weight: 600;
|
|
312
|
+
color: ${TEXT_ACTIVE};
|
|
313
|
+
background: ${TAB_BG};
|
|
314
|
+
border: 1px solid ${ACCENT};
|
|
315
|
+
border-radius: 4px;
|
|
316
|
+
outline: none;
|
|
317
317
|
`;
|
|
318
318
|
/** Badge numerico a pillola accanto al titolo (es. conteggio errori). */
|
|
319
|
-
const TabBadge = styled.span `
|
|
320
|
-
background: ${({ $color }) => $color};
|
|
321
|
-
color: #fff !important;
|
|
322
|
-
font-size: 11px;
|
|
323
|
-
font-weight: 700;
|
|
324
|
-
line-height: 16px;
|
|
325
|
-
min-width: 16px;
|
|
326
|
-
padding: 0 5px;
|
|
327
|
-
border-radius: 999em;
|
|
328
|
-
text-align: center;
|
|
319
|
+
const TabBadge = styled.span `
|
|
320
|
+
background: ${({ $color }) => $color};
|
|
321
|
+
color: #fff !important;
|
|
322
|
+
font-size: 11px;
|
|
323
|
+
font-weight: 700;
|
|
324
|
+
line-height: 16px;
|
|
325
|
+
min-width: 16px;
|
|
326
|
+
padding: 0 5px;
|
|
327
|
+
border-radius: 999em;
|
|
328
|
+
text-align: center;
|
|
329
329
|
`;
|
|
330
330
|
const MAX_LABEL_CHARS = 30;
|
|
331
331
|
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) =>
|
|
14
|
+
declare const TMTooltip: ({ children, position, content, hideAfterDelay, parentStyle, childStyle, allowContentInteraction }: ITMTooltipProps) => React.JSX.Element;
|
|
15
15
|
export default TMTooltip;
|
|
@@ -29,13 +29,19 @@ 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) =>
|
|
32
|
+
declare const TMTreeView: ({ dataSource, focusedItem, selectedItems, allowMultipleSelection, onDataChanged, calculateItemsForNode, itemRender, onNodeUpdate, onFocusedItemChanged, onSelectionChanged, shouldDelayFocusOnEvent, onItemContextMenu, autoSelectChildren, itemsPerPage, showLoadMoreButton, enableVirtualization }: ITMTreeViewProps) => React.JSX.Element;
|
|
33
33
|
export default TMTreeView;
|
|
34
|
-
export declare const StyledTreeContainer: import("styled-components/dist/types").IStyledComponentBase<"web",
|
|
35
|
-
|
|
36
|
-
|
|
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
|
+
}, {
|
|
37
43
|
$isSelected?: boolean;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
interface TMUserAvatarProps {
|
|
2
3
|
displayName: string;
|
|
3
4
|
nameForColorCalculation: string;
|
|
4
5
|
tooltipName?: string;
|
|
5
6
|
returnType?: 'jsx' | 'svg';
|
|
6
7
|
}
|
|
7
|
-
declare const TMUserAvatar: (props: TMUserAvatarProps) => string |
|
|
8
|
+
declare const TMUserAvatar: (props: TMUserAvatarProps) => string | React.JSX.Element;
|
|
8
9
|
export default TMUserAvatar;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ValidationItem } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
declare const TMVilViewer: ({ vil }: {
|
|
3
4
|
vil?: ValidationItem[];
|
|
4
|
-
}) =>
|
|
5
|
+
}) => React.JSX.Element | null;
|
|
5
6
|
export default TMVilViewer;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ITMLayoutContainerProps } from './TMLayout';
|
|
2
3
|
interface ITMWaitPanelProps {
|
|
3
4
|
title?: string;
|
|
@@ -14,7 +15,7 @@ interface ITMWaitPanelProps {
|
|
|
14
15
|
onAbortClick?: (abortController: AbortController | undefined) => void;
|
|
15
16
|
useHighZIndex?: boolean;
|
|
16
17
|
}
|
|
17
|
-
export declare const TMWaitPanel: (props: ITMWaitPanelProps) =>
|
|
18
|
+
export declare const TMWaitPanel: (props: ITMWaitPanelProps) => React.JSX.Element;
|
|
18
19
|
interface ITMLayoutWaitingContainerProps extends ITMLayoutContainerProps {
|
|
19
20
|
showWaitPanel?: boolean;
|
|
20
21
|
waitPanelTitle?: string;
|
|
@@ -30,5 +31,5 @@ interface ITMLayoutWaitingContainerProps extends ITMLayoutContainerProps {
|
|
|
30
31
|
abortController?: AbortController;
|
|
31
32
|
usePortal?: boolean;
|
|
32
33
|
}
|
|
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) =>
|
|
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;
|
|
34
35
|
export {};
|
|
@@ -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) =>
|
|
44
|
+
export declare const TMDynDataListItemChooserForm: (props: ITMDynDataListItemChooserFormProps) => React.JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { InvoiceRetrieveFormats } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
import { ITMEnumDataBinding } from '../../ts';
|
|
3
|
-
declare const TMInvoiceRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<InvoiceRetrieveFormats>) =>
|
|
4
|
+
declare const TMInvoiceRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<InvoiceRetrieveFormats>) => React.JSX.Element;
|
|
4
5
|
export default TMInvoiceRetrieveFormats;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { OrderRetrieveFormats } from '@topconsultnpm/sdk-ts';
|
|
2
3
|
import { ITMEnumDataBinding } from '../../ts';
|
|
3
|
-
declare const TMOrderRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<OrderRetrieveFormats>) =>
|
|
4
|
+
declare const TMOrderRetrieveFormats: ({ value, valueOrig, onValueChanged, valuesToExclude, label, width }: ITMEnumDataBinding<OrderRetrieveFormats>) => React.JSX.Element;
|
|
4
5
|
export default TMOrderRetrieveFormats;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { TMEditorButtonData } from '../base/TMEditorBase';
|
|
2
3
|
interface ITMQuickSearchInfo {
|
|
3
4
|
/** Tipo documento della ricerca rapida: serve a ricostruire la ricerca di sistema con tutti i documenti */
|
|
@@ -7,6 +8,6 @@ interface ITMQuickSearchInfo {
|
|
|
7
8
|
}
|
|
8
9
|
export declare const useTMQuickSearchInfo: ({ tid, sqdId }: ITMQuickSearchInfo) => {
|
|
9
10
|
infoButton: TMEditorButtonData | undefined;
|
|
10
|
-
detailForm:
|
|
11
|
+
detailForm: React.JSX.Element | null;
|
|
11
12
|
};
|
|
12
13
|
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
|
-
}) =>
|
|
22
|
+
}) => React.JSX.Element;
|
|
23
23
|
export declare const TMRelationIcon: ({ rd, relationType }: {
|
|
24
24
|
rd: RelationDescriptor | undefined;
|
|
25
25
|
relationType?: RelationTypes;
|
|
26
|
-
}) =>
|
|
26
|
+
}) => React.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
|
-
}) =>
|
|
31
|
+
}) => React.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
|
-
}) =>
|
|
41
|
+
}) => React.JSX.Element | null;
|
|
42
42
|
export declare const TMUserTooltip: ({ ud, children }: {
|
|
43
43
|
ud?: UserDescriptor;
|
|
44
44
|
children: React.ReactNode;
|
|
45
|
-
}) =>
|
|
45
|
+
}) => React.JSX.Element;
|