@topconsultnpm/sdkui-react 6.19.0-test.1 → 6.19.0

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 (216) 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/TMAccordionNew.d.ts +28 -0
  42. package/lib/components/base/TMAccordionNew.js +326 -0
  43. package/lib/components/base/TMAreaManager.js +23 -23
  44. package/lib/components/base/TMButton.d.ts +1 -0
  45. package/lib/components/base/TMButton.js +136 -136
  46. package/lib/components/base/TMClosableList.js +46 -46
  47. package/lib/components/base/TMConfirm.js +20 -20
  48. package/lib/components/base/TMContextMenu.js +4 -4
  49. package/lib/components/base/TMContextMenuOLD.js +25 -25
  50. package/lib/components/base/TMCounterBar.js +32 -32
  51. package/lib/components/base/TMCounterContainer.js +30 -30
  52. package/lib/components/base/TMCustomButton.d.ts +1 -1
  53. package/lib/components/base/TMCustomButton.js +90 -35
  54. package/lib/components/base/TMDataGridExportForm.d.ts +1 -1
  55. package/lib/components/base/TMDataGridExportForm.js +9 -3
  56. package/lib/components/base/TMDropDownMenu.js +24 -24
  57. package/lib/components/base/TMFileManager.js +12 -3
  58. package/lib/components/base/TMFileManagerDataGridView.d.ts +2 -0
  59. package/lib/components/base/TMFileManagerDataGridView.js +12 -3
  60. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +2 -0
  61. package/lib/components/base/TMFileManagerThumbnailItems.js +12 -2
  62. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +2 -0
  63. package/lib/components/base/TMFileManagerThumbnailsView.js +2 -2
  64. package/lib/components/base/TMFileManagerUtils.js +19 -19
  65. package/lib/components/base/TMFloatingToolbar.js +34 -34
  66. package/lib/components/base/TMLayout.js +44 -44
  67. package/lib/components/base/TMList.js +34 -34
  68. package/lib/components/base/TMModal.d.ts +2 -0
  69. package/lib/components/base/TMModal.js +79 -34
  70. package/lib/components/base/TMPanel.js +57 -57
  71. package/lib/components/base/TMPopUp.js +186 -117
  72. package/lib/components/base/TMProgressBar.js +20 -20
  73. package/lib/components/base/TMResizableMenu.js +28 -28
  74. package/lib/components/base/TMRightSidebar.js +40 -40
  75. package/lib/components/base/TMSpinner.js +121 -121
  76. package/lib/components/base/TMTab.js +11 -11
  77. package/lib/components/base/TMToggleButton.js +36 -36
  78. package/lib/components/base/TMToolbarCard.js +35 -35
  79. package/lib/components/base/TMTooltip.d.ts +1 -1
  80. package/lib/components/base/TMTooltip.js +1 -1
  81. package/lib/components/base/TMTreeView.js +16 -16
  82. package/lib/components/base/TMUserAvatar.js +7 -7
  83. package/lib/components/base/TMWaitPanel.js +30 -24
  84. package/lib/components/choosers/TMCultureIDPicker.js +35 -35
  85. package/lib/components/choosers/TMDataListItemChooser.js +1 -1
  86. package/lib/components/choosers/TMDataListItemPicker.js +54 -54
  87. package/lib/components/choosers/TMDcmtTypeChooser.js +2 -2
  88. package/lib/components/choosers/TMDynDataListItemChooser.js +5 -4
  89. package/lib/components/choosers/TMMetadataChooser.d.ts +4 -1
  90. package/lib/components/choosers/TMMetadataChooser.js +31 -8
  91. package/lib/components/choosers/TMUserChooser.d.ts +4 -0
  92. package/lib/components/choosers/TMUserChooser.js +21 -5
  93. package/lib/components/editors/TMCheckBox.js +24 -24
  94. package/lib/components/editors/TMDateBox.d.ts +1 -1
  95. package/lib/components/editors/TMDropDown.js +43 -43
  96. package/lib/components/editors/TMEditorStyled.js +71 -71
  97. package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
  98. package/lib/components/editors/TMLocalizedTextBox.js +31 -31
  99. package/lib/components/editors/TMMetadataValues.js +71 -22
  100. package/lib/components/editors/TMRadioButton.js +39 -39
  101. package/lib/components/editors/TMSummary.js +39 -39
  102. package/lib/components/editors/TMTextArea.d.ts +1 -0
  103. package/lib/components/editors/TMTextArea.js +56 -22
  104. package/lib/components/editors/TMTextBox.js +53 -23
  105. package/lib/components/editors/TMTextExpression.js +36 -28
  106. package/lib/components/features/assistant/ToppyDraggableHelpCenter.d.ts +30 -0
  107. package/lib/components/features/assistant/ToppyDraggableHelpCenter.js +482 -0
  108. package/lib/components/features/assistant/ToppySpeechBubble.d.ts +9 -0
  109. package/lib/components/features/assistant/ToppySpeechBubble.js +117 -0
  110. package/lib/components/features/blog/TMBlogCommentForm.d.ts +2 -0
  111. package/lib/components/features/blog/TMBlogCommentForm.js +21 -9
  112. package/lib/components/features/documents/TMDcmtBlog.js +1 -1
  113. package/lib/components/features/documents/TMDcmtForm.d.ts +1 -0
  114. package/lib/components/features/documents/TMDcmtForm.js +331 -65
  115. package/lib/components/features/documents/TMDcmtIcon.js +17 -12
  116. package/lib/components/features/documents/TMDcmtPreview.js +75 -38
  117. package/lib/components/features/documents/TMFileUploader.js +21 -21
  118. package/lib/components/features/documents/TMRelationViewer.js +56 -23
  119. package/lib/components/features/search/TMSavedQuerySelector.js +53 -53
  120. package/lib/components/features/search/TMSearch.js +2 -2
  121. package/lib/components/features/search/TMSearchQueryEditor.js +14 -14
  122. package/lib/components/features/search/TMSearchQueryPanel.js +41 -59
  123. package/lib/components/features/search/TMSearchResult.js +256 -51
  124. package/lib/components/features/search/TMSearchResultCheckoutInfoForm.d.ts +8 -0
  125. package/lib/components/features/search/TMSearchResultCheckoutInfoForm.js +134 -0
  126. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +3 -2
  127. package/lib/components/features/search/TMSearchResultsMenuItems.js +94 -59
  128. package/lib/components/features/search/TMSignSettingsForm.d.ts +9 -0
  129. package/lib/components/features/search/TMSignSettingsForm.js +621 -0
  130. package/lib/components/features/search/TMTreeSelector.js +67 -67
  131. package/lib/components/features/search/TMViewHistoryDcmtForm.d.ts +18 -0
  132. package/lib/components/features/search/TMViewHistoryDcmtForm.js +215 -0
  133. package/lib/components/features/tasks/TMTaskForm.js +42 -36
  134. package/lib/components/features/tasks/TMTasksAgenda.js +4 -4
  135. package/lib/components/features/tasks/TMTasksCalendar.js +2 -2
  136. package/lib/components/features/tasks/TMTasksHeader.js +1 -1
  137. package/lib/components/features/tasks/TMTasksUtils.d.ts +2 -1
  138. package/lib/components/features/tasks/TMTasksUtils.js +18 -3
  139. package/lib/components/features/tasks/TMTasksUtilsView.js +26 -4
  140. package/lib/components/features/tasks/TMTasksView.js +12 -6
  141. package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
  142. package/lib/components/features/workflow/TMWorkflowPopup.js +44 -44
  143. package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
  144. package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
  145. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
  146. package/lib/components/features/workflow/diagram/DiagramItemForm.js +40 -35
  147. package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
  148. package/lib/components/features/workflow/diagram/RecipientList.js +39 -39
  149. package/lib/components/features/workflow/diagram/WFDiagram.js +317 -285
  150. package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
  151. package/lib/components/forms/Login/Chooser.js +35 -35
  152. package/lib/components/forms/Login/Menu.js +22 -22
  153. package/lib/components/forms/Login/SelectBox.js +46 -46
  154. package/lib/components/forms/Login/TMLoginForm.js +14 -14
  155. package/lib/components/forms/Login/TextBox.js +57 -57
  156. package/lib/components/forms/TMResultDialog.js +8 -2
  157. package/lib/components/forms/TMSaveForm.js +3 -11
  158. package/lib/components/grids/TMBlogAttachments.d.ts +0 -14
  159. package/lib/components/grids/TMBlogAttachments.js +10 -5
  160. package/lib/components/grids/TMBlogsPost.d.ts +8 -3
  161. package/lib/components/grids/TMBlogsPost.js +100 -39
  162. package/lib/components/grids/TMBlogsPostUtils.d.ts +1 -0
  163. package/lib/components/grids/TMBlogsPostUtils.js +32 -11
  164. package/lib/components/grids/TMRecentsManager.js +52 -52
  165. package/lib/components/grids/TMValidationItemsList.js +48 -48
  166. package/lib/components/index.d.ts +2 -1
  167. package/lib/components/index.js +2 -1
  168. package/lib/components/layout/panelManager/TMPanelManagerContainer.d.ts +1 -0
  169. package/lib/components/layout/panelManager/TMPanelManagerContainer.js +14 -14
  170. package/lib/components/layout/panelManager/TMPanelManagerContext.js +0 -1
  171. package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +36 -35
  172. package/lib/components/layout/panelManager/types.d.ts +1 -0
  173. package/lib/components/pages/TMPage.js +1 -1
  174. package/lib/components/query/TMQueryEditor.js +17 -17
  175. package/lib/components/query/TMQuerySummary.d.ts +1 -0
  176. package/lib/components/query/TMQuerySummary.js +15 -15
  177. package/lib/components/settings/SettingsAppearance.js +9 -1
  178. package/lib/components/sidebar/TMCommandsPanel.js +10 -10
  179. package/lib/components/sidebar/TMHeader.js +307 -307
  180. package/lib/components/sidebar/TMSidebar.js +24 -24
  181. package/lib/components/sidebar/TMSidebarItem.js +21 -21
  182. package/lib/components/viewers/TMDataListItemViewer.d.ts +1 -1
  183. package/lib/components/viewers/TMMidViewer.d.ts +1 -1
  184. package/lib/components/viewers/TMTidViewer.d.ts +1 -1
  185. package/lib/components/wizard/TMStepIndicator.js +102 -102
  186. package/lib/components/wizard/TMWizard.js +29 -29
  187. package/lib/helper/GlobalStyles.d.ts +2 -0
  188. package/lib/helper/GlobalStyles.js +10 -0
  189. package/lib/helper/Globalization.d.ts +1 -0
  190. package/lib/helper/Globalization.js +30 -0
  191. package/lib/helper/SDKUI_Globals.d.ts +9 -0
  192. package/lib/helper/SDKUI_Globals.js +10 -1
  193. package/lib/helper/SDKUI_Localizator.d.ts +59 -2
  194. package/lib/helper/SDKUI_Localizator.js +617 -22
  195. package/lib/helper/TMCustomSearchBar.js +1 -1
  196. package/lib/helper/TMIcons.d.ts +6 -1
  197. package/lib/helper/TMIcons.js +22 -2
  198. package/lib/helper/TMToppyMessage.d.ts +1 -0
  199. package/lib/helper/TMToppyMessage.js +33 -32
  200. package/lib/helper/TMUtils.d.ts +42 -4
  201. package/lib/helper/TMUtils.js +227 -60
  202. package/lib/helper/cicoHelper.d.ts +31 -0
  203. package/lib/helper/cicoHelper.js +155 -0
  204. package/lib/helper/dcmtsHelper.d.ts +2 -1
  205. package/lib/helper/dcmtsHelper.js +56 -17
  206. package/lib/helper/helpers.d.ts +8 -1
  207. package/lib/helper/helpers.js +43 -21
  208. package/lib/helper/index.d.ts +1 -0
  209. package/lib/helper/index.js +1 -0
  210. package/lib/hooks/useDcmtOperations.d.ts +1 -1
  211. package/lib/hooks/useDcmtOperations.js +10 -6
  212. package/lib/hooks/useRelatedDocuments.js +35 -26
  213. package/lib/ts/types.d.ts +3 -1
  214. package/package.json +54 -54
  215. package/lib/components/features/assistant/ToppyHelpCenter.d.ts +0 -12
  216. package/lib/components/features/assistant/ToppyHelpCenter.js +0 -173
package/package.json CHANGED
@@ -1,54 +1,54 @@
1
- {
2
- "name": "@topconsultnpm/sdkui-react",
3
- "version": "6.19.0-test.1",
4
- "description": "",
5
- "scripts": {
6
- "test": "echo \"Error: no test specified\" && exit 1",
7
- "clean": "powershell Remove-Item lib/ -recurse",
8
- "copy-files": "copyfiles -u 1 src/assets/*.* src/assets/ImageLibrary/*.* src/assets/thumbnails/*.* src/assets/IconsS4t/*.* src/assets/Metadata/*.* src/css/tm-sdkui.css lib/",
9
- "tm-build": "npm run clean && tsc && npm run copy-files",
10
- "tm-watch": "tsc -w",
11
- "tm-publish": "npm publish --tag latest",
12
- "storybook": "storybook dev -p 6006",
13
- "build-storybook": "storybook build"
14
- },
15
- "author": "TopConsult",
16
- "license": "ISC",
17
- "devDependencies": {
18
- "@chromatic-com/storybook": "^4.1.3",
19
- "@storybook/addon-docs": "^10.1.0",
20
- "@storybook/addon-onboarding": "^10.1.0",
21
- "@storybook/react-vite": "^10.1.0",
22
- "@types/htmlparser2": "^3.10.7",
23
- "@types/node": "^20.2.5",
24
- "@types/react": "^18.2.7",
25
- "@types/react-dom": "^18.2.4",
26
- "copyfiles": "^2.4.1",
27
- "esbuild": "^0.25.0",
28
- "react": "^18.2.0",
29
- "react-dom": "^18.2.0",
30
- "storybook": "^10.1.0",
31
- "typescript": "^5.9.3",
32
- "vite": "^6.1.1"
33
- },
34
- "main": "dist/cjs/index.js",
35
- "types": "./index.d.ts",
36
- "module": "lib/esm/index.js",
37
- "files": [
38
- "dist",
39
- "lib"
40
- ],
41
- "dependencies": {
42
- "@topconsultnpm/sdk-ts": "6.19.0-test.1",
43
- "buffer": "^6.0.3",
44
- "devextreme": "25.1.4",
45
- "devextreme-react": "25.1.4",
46
- "exceljs": "^4.4.0",
47
- "htmlparser2": "^10.0.0",
48
- "react-router-dom": "^6.15.0",
49
- "styled-components": "^6.1.1"
50
- },
51
- "overrides": {
52
- "esbuild": "^0.25.0"
53
- }
54
- }
1
+ {
2
+ "name": "@topconsultnpm/sdkui-react",
3
+ "version": "6.19.0",
4
+ "description": "",
5
+ "scripts": {
6
+ "test": "echo \"Error: no test specified\" && exit 1",
7
+ "clean": "powershell Remove-Item lib/ -recurse",
8
+ "copy-files": "copyfiles -u 1 src/assets/*.* src/assets/ImageLibrary/*.* src/assets/thumbnails/*.* src/assets/IconsS4t/*.* src/assets/Metadata/*.* src/css/tm-sdkui.css lib/",
9
+ "tm-build": "npm run clean && tsc && npm run copy-files",
10
+ "tm-watch": "tsc -w",
11
+ "tm-publish": "npm publish --tag latest",
12
+ "storybook": "storybook dev -p 6006",
13
+ "build-storybook": "storybook build"
14
+ },
15
+ "author": "TopConsult",
16
+ "license": "ISC",
17
+ "devDependencies": {
18
+ "@chromatic-com/storybook": "^4.1.3",
19
+ "@storybook/addon-docs": "^10.1.0",
20
+ "@storybook/addon-onboarding": "^10.1.0",
21
+ "@storybook/react-vite": "^10.1.0",
22
+ "@types/htmlparser2": "^3.10.7",
23
+ "@types/node": "^20.2.5",
24
+ "@types/react": "^18.3.3",
25
+ "@types/react-dom": "^18.3.3",
26
+ "copyfiles": "^2.4.1",
27
+ "esbuild": "^0.25.0",
28
+ "react": "^18.3.1",
29
+ "react-dom": "^18.3.1",
30
+ "storybook": "^10.1.0",
31
+ "typescript": "^5.9.3",
32
+ "vite": "^6.1.1"
33
+ },
34
+ "main": "dist/cjs/index.js",
35
+ "types": "./index.d.ts",
36
+ "module": "lib/esm/index.js",
37
+ "files": [
38
+ "dist",
39
+ "lib"
40
+ ],
41
+ "dependencies": {
42
+ "@topconsultnpm/sdk-ts": "6.19.0",
43
+ "buffer": "^6.0.3",
44
+ "devextreme": "25.1.7",
45
+ "devextreme-react": "25.1.7",
46
+ "exceljs": "^4.4.0",
47
+ "htmlparser2": "^10.0.0",
48
+ "react-router-dom": "^6.15.0",
49
+ "styled-components": "^6.1.1"
50
+ },
51
+ "overrides": {
52
+ "esbuild": "^0.25.0"
53
+ }
54
+ }
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { DeviceType } from '../../base/TMDeviceProvider';
3
- interface ToppyHelpCenterProps {
4
- content?: React.ReactNode;
5
- deviceType?: DeviceType;
6
- usePortal?: boolean;
7
- align?: 'right' | 'left';
8
- initialIsCollapsed?: boolean;
9
- onToppyImageClick?: () => void;
10
- }
11
- declare const ToppyHelpCenter: React.FC<ToppyHelpCenterProps>;
12
- export default ToppyHelpCenter;
@@ -1,173 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import ReactDOM from 'react-dom';
4
- import styled, { keyframes, css } from 'styled-components';
5
- import Toppy from '../../../assets/Toppy-generico.png';
6
- import { DeviceType } from '../../base/TMDeviceProvider';
7
- const toppyEntrance = keyframes `
8
- 0% { right: -200px; opacity: 0; }
9
- 60% { opacity: 1; }
10
- 100% { right: 10px; opacity: 1; }
11
- `;
12
- const pulseAnimation = keyframes `
13
- 0% { transform: scale(1); }
14
- 50% { transform: scale(1.05); }
15
- 100% { transform: scale(1); }
16
- `;
17
- const bounceAnimation = keyframes `
18
- 0%, 20%, 50%, 80%, 100% {
19
- transform: translateY(0);
20
- }
21
- 40% {
22
- transform: translateY(-10px);
23
- }
24
- 60% {
25
- transform: translateY(-5px);
26
- }
27
- `;
28
- const wiggle = keyframes `
29
- 0% { transform: rotate(-5deg) scale(1.1); }
30
- 10% { transform: rotate(5deg) scale(0.95); }
31
- 20% { transform: rotate(-5deg) scale(1.1); }
32
- 30% { transform: rotate(5deg) scale(1.05); }
33
- 40% { transform: rotate(-5deg) scale(1); }
34
- 50% { transform: rotate(5deg) scale(0.96); }
35
- 60% { transform: rotate(-5deg) scale(1.15); }
36
- 70% { transform: rotate(5deg) scale(0.99); }
37
- 80% { transform: rotate(-5deg) scale(1.05); }
38
- 90% { transform: rotate(5deg) scale(1); }
39
- 100% { transform: rotate(-5deg) scale(1.08); }
40
- `;
41
- const ToppyContainer = styled.div `
42
- position: ${({ $fixed }) => ($fixed ? 'fixed' : 'absolute')};
43
- bottom: ${({ $isCollapsed, $isMobile }) => $isMobile ? '5px' : $isCollapsed ? '5px' : '-20px'};
44
- ${({ $align, $isCollapsed }) => $align === 'left'
45
- ? `left: ${$isCollapsed ? '5px' : '10px'}; right: auto;`
46
- : `right: ${$isCollapsed ? '5px' : '10px'}; left: auto;`}
47
- display: flex;
48
- flex-direction: column-reverse; /* Il contenuto è sopra l'immagine */
49
- align-items: ${({ $align }) => $align === 'left' ? 'flex-start' : 'flex-end'};
50
- animation: ${({ $fixed }) => $fixed && css `${toppyEntrance} 0.5s cubic-bezier(0.23, 1, 0.32, 1)`};
51
- z-index: ${({ $fixed }) => ($fixed ? 2147483647 : 10)};
52
- `;
53
- const ToppyImage = styled.img `
54
- width: ${({ $isMobile, $isCollapsed }) => $isCollapsed ? '60px' : $isMobile ? '90px' : '120px'};
55
- height: ${({ $isMobile, $isCollapsed }) => $isCollapsed ? '70px' : $isMobile ? '105px' : '140px'};
56
- cursor: pointer;
57
- object-fit: cover;
58
- object-position: top center;
59
- clip-path: inset(0 0 22% 0 round 10px);
60
- transform: ${({ $isCollapsed, $align }) => $isCollapsed
61
- ? 'none'
62
- : $align === 'left'
63
- ? 'rotate(20deg)'
64
- : 'rotate(-20deg)'};
65
-
66
- ${({ $isCollapsed }) => $isCollapsed &&
67
- css `
68
- /* animation: ${bounceAnimation} 2s infinite; */
69
- /* animation: ${pulseAnimation} 2s infinite; */
70
- animation: ${wiggle} 4s infinite;
71
- `}
72
- `;
73
- const ToppyContent = styled.div `
74
- margin-bottom: ${({ $isMobile, $align }) => $align === 'left'
75
- ? '30px' // Spazio tra ToppyContent e ToppyImage
76
- : $isMobile
77
- ? '30px'
78
- : '20px'};
79
-
80
-
81
- display: ${props => (props.$isCollapsed ? 'none' : 'block')};
82
- width: max-content;
83
- max-width: 250px;
84
- background: linear-gradient(
85
- 180deg,
86
- rgba(0, 113, 188, 0.45) 0%,
87
- rgba(27, 20, 100, 0.65) 100%
88
- );
89
- color: white;
90
- padding: 10px;
91
- border-radius: 10px;
92
- border: 1px solid #FFFFFF;
93
- opacity: ${props => (props.$isCollapsed ? 0 : 1)};
94
- transform: ${props => (props.$isCollapsed ? 'translateY(20px)' : 'translateY(0)')};
95
- transition: opacity 0.3s ease, transform 0.3s ease;
96
- pointer-events: ${props => (props.$isCollapsed ? 'none' : 'auto')};
97
- position: relative;
98
-
99
- ${({ $align, $isMobile }) => $align === 'left' &&
100
- css `
101
- position: absolute;
102
- left: 50px;
103
- right: auto;
104
- bottom: 100%;
105
- transform: translateY(-${$isMobile ? '10px' : '20px'});
106
- `}
107
-
108
- &::after {
109
- transform: ${({ $align }) => $align === 'left' ? 'skewX(15deg)' : 'skewX(-15deg)'};
110
- content: "";
111
- position: absolute;
112
- top: 100%;
113
-
114
- ${({ $align }) => $align === 'left' ? 'left: 20px; right: auto;' : 'right: 15px; left: auto;'}
115
- border-width: 32px 32px 0 0;
116
- border-style: solid;
117
- border-color: #FFFFFF transparent;
118
- display: block;
119
- width: 0;
120
- height: 0;
121
- z-index: 1;
122
- }
123
-
124
- &::before {
125
- transform: ${({ $align }) => $align === 'left' ? 'skewX(15deg)' : 'skewX(-15deg)'};
126
- content: "";
127
- position: absolute;
128
- top: 100%;
129
-
130
- ${({ $align }) => $align === 'left' ? 'left: 20px; right: auto;' : 'right: 15px; left: auto;'}
131
- border-width: 32px 32px 0 0;
132
- border-style: solid;
133
- border-color: rgba(27, 20, 100, 0.65) transparent;
134
- display: block;
135
- width: 0;
136
- height: 0;
137
- z-index: 2;
138
- }
139
- `;
140
- const ToppyHelpCenter = ({ content, deviceType, usePortal = true, align = 'right', initialIsCollapsed, onToppyImageClick }) => {
141
- const [isCollapsed, setIsCollapsed] = useState(initialIsCollapsed ?? false);
142
- const [portalContainer, setPortalContainer] = useState(null);
143
- useEffect(() => {
144
- if (initialIsCollapsed === undefined && deviceType === DeviceType.MOBILE) {
145
- setIsCollapsed(true);
146
- }
147
- }, [deviceType, initialIsCollapsed]);
148
- useEffect(() => {
149
- if (!usePortal)
150
- return;
151
- const portalRoot = document.createElement('div');
152
- portalRoot.setAttribute('id', 'toppy-portal-root');
153
- document.body.appendChild(portalRoot);
154
- setPortalContainer(portalRoot);
155
- return () => {
156
- document.body.removeChild(portalRoot);
157
- };
158
- }, [usePortal]);
159
- const toggleCollapse = (e) => {
160
- e.stopPropagation();
161
- setIsCollapsed(!isCollapsed);
162
- onToppyImageClick?.();
163
- };
164
- const isMobile = deviceType === DeviceType.MOBILE;
165
- const toppyComponent = (_jsxs(ToppyContainer, { "$isMobile": isMobile, "$isCollapsed": isCollapsed, "$fixed": usePortal, "$align": align, children: [_jsx(ToppyImage, { "$isMobile": isMobile, "$isCollapsed": isCollapsed, "$align": align, onClick: toggleCollapse, src: Toppy, alt: "Toppy" }), _jsx(ToppyContent, { "$isCollapsed": isCollapsed, "$isMobile": isMobile, "$align": align, children: content })] }));
166
- if (usePortal) {
167
- if (!portalContainer)
168
- return null;
169
- return ReactDOM.createPortal(toppyComponent, portalContainer);
170
- }
171
- return toppyComponent;
172
- };
173
- export default ToppyHelpCenter;