@topconsultnpm/sdkui-react 6.21.0-dev5.1 → 6.21.0-dev5.10

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 (93) hide show
  1. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +4 -4
  2. package/lib/components/base/Styled.d.ts +1 -1
  3. package/lib/components/base/TMCounterBar.d.ts +2 -2
  4. package/lib/components/base/TMCounterContainer.d.ts +1 -2
  5. package/lib/components/base/TMCustomButton.d.ts +1 -1
  6. package/lib/components/base/TMDataGridExportForm.d.ts +1 -2
  7. package/lib/components/base/TMFileManager.d.ts +1 -2
  8. package/lib/components/base/TMFileManagerDataGridView.d.ts +1 -2
  9. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +1 -1
  10. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +1 -1
  11. package/lib/components/base/TMLayout.d.ts +4 -4
  12. package/lib/components/base/TMList.d.ts +1 -2
  13. package/lib/components/base/TMListView.d.ts +1 -1
  14. package/lib/components/base/TMSpinner.d.ts +1 -2
  15. package/lib/components/base/TMTab.d.ts +3 -4
  16. package/lib/components/base/TMTooltip.d.ts +1 -1
  17. package/lib/components/base/TMTreeView.d.ts +1 -1
  18. package/lib/components/base/TMUserAvatar.d.ts +1 -2
  19. package/lib/components/base/TMVilViewer.d.ts +1 -2
  20. package/lib/components/base/TMWaitPanel.d.ts +2 -3
  21. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +1 -1
  22. package/lib/components/choosers/TMInvoiceRetrieveFormats.d.ts +1 -2
  23. package/lib/components/choosers/TMOrderRetrieveFormats.d.ts +1 -2
  24. package/lib/components/choosers/TMRelationChooser.d.ts +3 -3
  25. package/lib/components/choosers/TMUserChooser.d.ts +2 -2
  26. package/lib/components/editors/TMFormulaEditor.d.ts +1 -1
  27. package/lib/components/editors/TMHtmlContentDisplay.d.ts +1 -2
  28. package/lib/components/editors/TMHtmlEditor.d.ts +1 -2
  29. package/lib/components/editors/TMTreeDropDown.d.ts +1 -1
  30. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +1 -1
  31. package/lib/components/features/blog/TMBlogCommentForm.d.ts +1 -2
  32. package/lib/components/features/documents/TMDcmtFormActionButtons.d.ts +1 -1
  33. package/lib/components/features/documents/TMDcmtIcon.d.ts +1 -2
  34. package/lib/components/features/documents/TMDcmtPreview.d.ts +1 -1
  35. package/lib/components/features/documents/TMDcmtTasks.d.ts +1 -2
  36. package/lib/components/features/documents/TMDragDropOverlay.d.ts +1 -1
  37. package/lib/components/features/documents/TMMasterDetailDcmts.js +117 -2
  38. package/lib/components/features/documents/TMMergeToPdfForm.d.ts +1 -2
  39. package/lib/components/features/documents/TMMergeToPdfForm.js +6 -3
  40. package/lib/components/features/documents/TMRelationViewer.d.ts +3 -0
  41. package/lib/components/features/documents/TMRelationViewer.js +147 -98
  42. package/lib/components/features/documents/copyAndMergeDcmtsShared.js +0 -1
  43. package/lib/components/features/documents/mergePdfUtils.js +21 -11
  44. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +1 -2
  45. package/lib/components/features/search/TMMetadataOutputForm.d.ts +1 -2
  46. package/lib/components/features/search/TMMetadataSorterForm.d.ts +1 -2
  47. package/lib/components/features/search/TMSavedQuerySelector.d.ts +2 -2
  48. package/lib/components/features/search/TMSearchResultFloatingActionButton.d.ts +1 -1
  49. package/lib/components/features/search/TMSignatureInfoContent.d.ts +1 -2
  50. package/lib/components/features/search/TMViewHistoryDcmt.d.ts +1 -2
  51. package/lib/components/features/tasks/TMTaskForm.d.ts +1 -1
  52. package/lib/components/features/tasks/TMTaskFormUtils.d.ts +10 -10
  53. package/lib/components/features/tasks/TMTasksAgenda.d.ts +1 -1
  54. package/lib/components/features/tasks/TMTasksCalendar.d.ts +1 -1
  55. package/lib/components/features/tasks/TMTasksHeader.d.ts +1 -1
  56. package/lib/components/features/tasks/TMTasksPanelContent.d.ts +1 -1
  57. package/lib/components/features/tasks/TMTasksUtilsView.d.ts +5 -5
  58. package/lib/components/features/tasks/TMTasksView.d.ts +1 -1
  59. package/lib/components/features/wg/TMWGsCopyMoveForm.d.ts +2 -3
  60. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +7 -8
  61. package/lib/components/forms/Login/Chooser.d.ts +2 -2
  62. package/lib/components/forms/TMChooserForm.d.ts +1 -2
  63. package/lib/components/forms/TMSaveForm.d.ts +4 -4
  64. package/lib/components/grids/TMBlogAttachments.d.ts +1 -2
  65. package/lib/components/grids/TMBlogHeader.d.ts +1 -1
  66. package/lib/components/grids/TMBlogsPost.d.ts +1 -1
  67. package/lib/components/grids/TMBlogsPostUtils.d.ts +9 -9
  68. package/lib/components/grids/TMValidationItemsList.d.ts +1 -2
  69. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -2
  70. package/lib/components/layout/panelManager/TMPanelManagerContext.d.ts +2 -2
  71. package/lib/components/layout/panelManager/TMPanelManagerToolbar.d.ts +1 -1
  72. package/lib/components/layout/panelManager/TMPanelManagerWithPersistenceProvider.d.ts +2 -2
  73. package/lib/components/layout/panelManager/TMPanelWrapper.d.ts +2 -2
  74. package/lib/components/pages/TMPage.d.ts +1 -1
  75. package/lib/components/settings/SettingsAppearance.d.ts +1 -2
  76. package/lib/components/sidebar/TMAboutApp.d.ts +1 -2
  77. package/lib/components/sidebar/TMHeader.d.ts +3 -3
  78. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -3
  79. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +2 -3
  80. package/lib/components/viewers/TMMidViewer.d.ts +2 -2
  81. package/lib/components/viewers/TMTidViewer.d.ts +2 -2
  82. package/lib/helper/TMCommandsContextMenu.d.ts +1 -1
  83. package/lib/helper/TMIcons.d.ts +279 -278
  84. package/lib/helper/TMIcons.js +3 -0
  85. package/lib/helper/TMPdfViewer.d.ts +1 -2
  86. package/lib/helper/TMToppyMessage.d.ts +2 -2
  87. package/lib/helper/TMUtils.d.ts +1 -1
  88. package/lib/helper/helpers.d.ts +4 -1
  89. package/lib/helper/helpers.js +20 -1
  90. package/lib/hooks/useDocumentOperations.js +2 -2
  91. package/lib/hooks/useInputDialog.d.ts +1 -2
  92. package/lib/services/platform_services.d.ts +2 -3
  93. package/package.json +2 -2
@@ -408,6 +408,9 @@ function IconFastSearch(props) {
408
408
  function IconUserGroup(props) {
409
409
  return (_jsxs("svg", { fontSize: props.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 0 640 512", fill: "currentColor", height: "1em", width: "1em", ...props, children: [" ", _jsx("path", { d: "M352 128c0 70.7-57.3 128-128 128S96 198.7 96 128 153.3 0 224 0s128 57.3 128 128zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c98.5 0 178.3 79.8 178.3 178.3 0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8 2.4-.1 4.7-.2 7.1-.2h61.4c89.1 0 161.3 72.2 161.3 161.3 0 17-13.8 30.7-30.7 30.7zM432 256c-31 0-59-12.6-79.3-32.9 19.7-26.6 31.3-59.5 31.3-95.1 0-26.8-6.6-52.1-18.3-74.3C384.3 40.1 407.2 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112z" }), " "] }));
410
410
  }
411
+ export function IconCertificateBadge(props) {
412
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fontSize: props.fontSize ? props.fontSize : FONTSIZE, viewBox: "0 -960 960 960", fill: "currentColor", height: "1em", width: "1em", ...props, children: _jsx("path", { d: "M395-475q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35ZM240-40v-309q-38-42-59-96t-21-115q0-134 93-227t227-93q134 0 227 93t93 227q0 61-21 115t-59 96v309l-240-80-240 80Zm410-350q70-70 70-170t-70-170q-70-70-170-70t-170 70q-70 70-70 170t70 170q70 70 170 70t170-70ZM320-159l160-41 160 41v-124q-35 20-75.5 31.5T480-240q-44 0-84.5-11.5T320-283v124Zm160-62Z" }) }));
413
+ }
411
414
  export function IconShowAllUsers(props) {
412
415
  return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "1em", height: "1em", fontSize: props.fontSize ? props.fontSize : FONTSIZE, ...props, children: _jsx("path", { fill: "currentColor", d: "M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3s1.34 3 3 3m-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5S5 6.34 5 8s1.34 3 3 3m0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5m8 0c-.29 0-.62.02-.97.05c1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5" }) }));
413
416
  }
@@ -1,9 +1,8 @@
1
- import React from "react";
2
1
  interface TMPdfViewerProps {
3
2
  pdfBlob: Blob;
4
3
  title?: string;
5
4
  isResizingActive?: boolean;
6
5
  enableFitToWidth?: boolean;
7
6
  }
8
- declare const TMPdfViewer: (props: TMPdfViewerProps) => React.JSX.Element;
7
+ declare const TMPdfViewer: (props: TMPdfViewerProps) => import("react/jsx-runtime").JSX.Element;
9
8
  export default TMPdfViewer;
@@ -1,8 +1,8 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  interface TMToppyMessageProps {
3
3
  message: ReactNode;
4
4
  titleTooltip?: string;
5
5
  maxWidth?: string;
6
6
  }
7
- declare const TMToppyMessage: (props: TMToppyMessageProps) => React.JSX.Element;
7
+ declare const TMToppyMessage: (props: TMToppyMessageProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export default TMToppyMessage;
@@ -24,7 +24,7 @@ export declare const getFullFileExtension: (fileName: string, depth?: number) =>
24
24
  * Es: pdf.p7m.tsd → pdf, pdf.p7m → pdf, pdf → pdf
25
25
  */
26
26
  export declare const getBaseExtension: (ext: string) => string;
27
- export declare const getFileIcon: (fileExtension: string | undefined, fileCount: number | undefined, tooltipContent?: JSX.Element | string) => React.JSX.Element;
27
+ export declare const getFileIcon: (fileExtension: string | undefined, fileCount: number | undefined, tooltipContent?: JSX.Element | string) => import("react/jsx-runtime").JSX.Element;
28
28
  export declare function formatBytes(bytes: number | undefined, decimalPlaces?: number): string;
29
29
  export interface RowData {
30
30
  [key: string]: string | number | null;
@@ -16,6 +16,9 @@ declare const getColor: (color: ColorsType) => string;
16
16
  /**
17
17
  * Genera un Universally Unique Identifier (UUID) versione 4.
18
18
  * Simile a Guid.NewGuid() in C#.
19
+ * Usa crypto.randomUUID() quando disponibile (HTTPS / localhost) e ricade
20
+ * su crypto.getRandomValues() — disponibile anche in contesti non sicuri (HTTP) —
21
+ * cosi funziona indipendentemente dal protocollo, senza dipendenze esterne.
19
22
  * @returns {string} Un UUID in formato stringa.
20
23
  */
21
24
  export declare const generateUUID: () => string;
@@ -52,7 +55,7 @@ export { openApps, calcResponsiveDirection, calcResponsiveSizes, taskModalSizes,
52
55
  export declare function moduleVersion(module: moduleTypes): string;
53
56
  export declare function buildtype(module: moduleTypes): string;
54
57
  export declare const highlightText: (text: string, searchValue: string) => JSX.Element;
55
- export declare const renderHighlightedText: (text: string, searchText: string, isSelected: boolean) => string | (string | import("react").JSX.Element)[];
58
+ export declare const renderHighlightedText: (text: string, searchText: string, isSelected: boolean) => string | (string | import("react/jsx-runtime").JSX.Element)[];
56
59
  export declare function versionAndBuildtypeInfo(module: moduleTypes): string;
57
60
  export declare const getListMaxItems: (deviceType: DeviceType | undefined) => number;
58
61
  export declare const svgToString: (icon: React.ReactElement) => string;
@@ -103,10 +103,29 @@ const getColor = (color) => {
103
103
  /**
104
104
  * Genera un Universally Unique Identifier (UUID) versione 4.
105
105
  * Simile a Guid.NewGuid() in C#.
106
+ * Usa crypto.randomUUID() quando disponibile (HTTPS / localhost) e ricade
107
+ * su crypto.getRandomValues() — disponibile anche in contesti non sicuri (HTTP) —
108
+ * cosi funziona indipendentemente dal protocollo, senza dipendenze esterne.
106
109
  * @returns {string} Un UUID in formato stringa.
107
110
  */
108
111
  export const generateUUID = () => {
109
- return crypto.randomUUID();
112
+ // 1) Nativo: disponibile solo in secure context (HTTPS o localhost)
113
+ if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
114
+ return crypto.randomUUID();
115
+ }
116
+ // 2) Fallback crittografico, funziona anche in HTTP
117
+ if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {
118
+ const b = crypto.getRandomValues(new Uint8Array(16));
119
+ b[6] = (b[6] & 0x0f) | 0x40; // versione 4
120
+ b[8] = (b[8] & 0x3f) | 0x80; // variante 10xx
121
+ const h = Array.from(b, x => x.toString(16).padStart(2, '0'));
122
+ return `${h[0]}${h[1]}${h[2]}${h[3]}-${h[4]}${h[5]}-${h[6]}${h[7]}-${h[8]}${h[9]}-${h.slice(10).join('')}`;
123
+ }
124
+ // 3) Ultima spiaggia (ambienti senza Web Crypto)
125
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
126
+ const r = (Math.random() * 16) | 0;
127
+ return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
128
+ });
110
129
  };
111
130
  const makeID = (length) => {
112
131
  let result = '';
@@ -21,7 +21,7 @@ import { useDcmtOperations } from "./useDcmtOperations";
21
21
  import useFloatingBarPinnedItems from "./useFloatingBarPinnedItems";
22
22
  import { useInputAttachmentsDialog, useInputCvtFormatDialog } from "./useInputDialog";
23
23
  import { useRelatedDocuments } from "./useRelatedDocuments";
24
- import { convertSearchResultDescriptorToFileItems, dcmtsFileCachePreview, getDcmtCicoStatus, getMoreInfoTasksForDocument, IconActivity, IconArchiveDetail, IconArchiveDoc, IconArchiveMaster, IconBatchUpdate, IconCheck, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconCopy, IconCustom, IconDelete, IconDetailDcmts, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconImport, IconInfo, IconMenuCAArchive, IconMoveToFolder, IconPair, IconPin, IconPlatform, IconPreview, IconRelation, IconSearch, IconShare, IconSharedDcmt, IconShow, IconSignaturePencil, IconStar, IconSubstFile, IconUndo, IconUnpair, IconUserGroupOutline, isConvertibleToPdfExt, isPdfEditorAvailable, S4T_USER_REGISTRY_MASTER, SDKUI_Globals, SDKUI_Localizator, searchResultToMetadataValues, TMImageLibrary } from '../helper';
24
+ import { convertSearchResultDescriptorToFileItems, dcmtsFileCachePreview, getDcmtCicoStatus, getMoreInfoTasksForDocument, IconActivity, IconArchiveDetail, IconArchiveDoc, IconArchiveMaster, IconBatchUpdate, IconCheck, IconCheckFile, IconCheckIn, IconCircleInfo, IconCloseCircle, IconConvertFilePdf, IconCopy, IconCustom, IconDelete, IconDetailDcmts, IconDotsVerticalCircleOutline, IconDownload, IconEdit, IconExportTo, IconFileDots, IconHide, IconInfo, IconMenuCAArchive, IconMoveToFolder, IconPair, IconPin, IconPlatform, IconPreview, IconRelation, IconSearch, IconShare, IconSharedDcmt, IconShow, IconSignaturePencil, IconStar, IconSubstFile, IconUndo, IconUnpair, IconUserGroupOutline, isConvertibleToPdfExt, isPdfEditorAvailable, S4T_USER_REGISTRY_MASTER, SDKUI_Globals, SDKUI_Localizator, searchResultToMetadataValues, TMImageLibrary, IconCertificateBadge } from '../helper';
25
25
  import { isXMLFileExt } from "../helper/dcmtsHelper";
26
26
  import TMCopyToFolderForm from "../components/features/documents/TMCopyToFolderForm";
27
27
  import TMMergeToPdfForm from "../components/features/documents/TMMergeToPdfForm";
@@ -620,7 +620,7 @@ export const useDocumentOperations = (props) => {
620
620
  },
621
621
  {
622
622
  id: 'sign-sync',
623
- icon: _jsx(IconImport, {}),
623
+ icon: _jsx(IconCertificateBadge, {}),
624
624
  name: SDKUI_Localizator.ImportCertificates,
625
625
  operationType: 'multiRow',
626
626
  // Visibile solo per tipo documento 'S4T_certificate_registry' con metadato 'email' e se la callback fetchRemoteCertificates è definita
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { FileDescriptor, FileFormats } from '@topconsultnpm/sdk-ts';
3
2
  export declare const useInputCvtFormatDialog: () => [() => Promise<FileFormats>, () => JSX.Element];
4
3
  export declare const useFileDialog: () => {
@@ -6,7 +5,7 @@ export declare const useFileDialog: () => {
6
5
  };
7
6
  export declare const useInputAttachmentsDialog: () => {
8
7
  openConfirmAttachmentsDialog: (list: FileDescriptor[]) => Promise<string[] | undefined>;
9
- ConfirmAttachmentsDialog: () => React.JSX.Element | null;
8
+ ConfirmAttachmentsDialog: () => import("react/jsx-runtime").JSX.Element | null;
10
9
  };
11
10
  export type FileSourceType = 'filesystem' | 'scanner-new' | 'scanner-edit' | undefined;
12
11
  export declare const useFileSourceDialog: () => [(hasExistingFile?: boolean) => Promise<FileSourceType>, () => JSX.Element];
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import { JobTypes, ObjectClasses, ProcessDescriptor, DcmtTypeDescriptor } from "@topconsultnpm/sdk-ts";
3
2
  export declare class PlatformObjectService {
4
3
  static readonly retrieveAllAsync: (objClass: ObjectClasses, refreshCache?: boolean) => Promise<import("@topconsultnpm/sdk-ts").RelationDescriptor[] | import("@topconsultnpm/sdk-ts").AreaDescriptor[] | import("@topconsultnpm/sdk-ts").NotificationDescriptor[] | import("@topconsultnpm/sdk-ts").TaskDescriptor[] | import("@topconsultnpm/sdk-ts").WorkingGroupDescriptor[] | undefined>;
@@ -14,6 +13,6 @@ export declare class PlatformObjectService {
14
13
  static readonly createAsync: (objClass: ObjectClasses, jobType: JobTypes, d: any) => Promise<number | undefined>;
15
14
  static readonly deleteAsync: (objClass: ObjectClasses, id: number) => Promise<number | undefined>;
16
15
  static readonly getName: (objClass: ObjectClasses, jobType?: JobTypes, isPlural?: boolean) => string;
17
- static readonly getIcon: (objClass: ObjectClasses, d: any) => React.JSX.Element;
18
- static readonly getTooltip: (objClass: ObjectClasses, d: any) => React.JSX.Element | null;
16
+ static readonly getIcon: (objClass: ObjectClasses, d: any) => import("react/jsx-runtime").JSX.Element;
17
+ static readonly getTooltip: (objClass: ObjectClasses, d: any) => import("react/jsx-runtime").JSX.Element | null;
19
18
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.21.0-dev5.1",
3
+ "version": "6.21.0-dev5.10",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -39,7 +39,7 @@
39
39
  "lib"
40
40
  ],
41
41
  "dependencies": {
42
- "@topconsultnpm/sdk-ts": "6.21.0-dev5.1",
42
+ "@topconsultnpm/sdk-ts": "file:../tm-sdk-ts",
43
43
  "@zip.js/zip.js": "2.8.26",
44
44
  "buffer": "^6.0.3",
45
45
  "devextreme": "^25.2.6",