@topconsultnpm/sdkui-react 6.19.0-dev2.2 → 6.19.0-test.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/assets/IconsS4t/add.svg +12 -12
- package/lib/assets/IconsS4t/aggiorna.svg +18 -18
- package/lib/assets/IconsS4t/bookmark.svg +42 -42
- package/lib/assets/IconsS4t/cancella.svg +15 -15
- package/lib/assets/IconsS4t/check-box.svg +19 -19
- package/lib/assets/IconsS4t/down-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/down.svg +28 -28
- package/lib/assets/IconsS4t/edit-file.svg +19 -19
- package/lib/assets/IconsS4t/edita.svg +32 -32
- package/lib/assets/IconsS4t/firma.svg +19 -19
- package/lib/assets/IconsS4t/icona_download.svg +16 -16
- package/lib/assets/IconsS4t/info.svg +51 -51
- package/lib/assets/IconsS4t/left.svg +20 -20
- package/lib/assets/IconsS4t/line.svg +40 -40
- package/lib/assets/IconsS4t/more.svg +19 -19
- package/lib/assets/IconsS4t/plus.svg +23 -23
- package/lib/assets/IconsS4t/printer.svg +49 -49
- package/lib/assets/IconsS4t/radio-on-button.svg +25 -25
- package/lib/assets/IconsS4t/rectangle.svg +41 -41
- package/lib/assets/IconsS4t/redo.svg +19 -19
- package/lib/assets/IconsS4t/right-arrow-signBook-finish.svg +40 -40
- package/lib/assets/IconsS4t/right-arrow-signBook.svg +40 -40
- package/lib/assets/IconsS4t/right.svg +22 -22
- package/lib/assets/IconsS4t/searchbar.svg +21 -21
- package/lib/assets/IconsS4t/text-box.svg +36 -36
- package/lib/assets/IconsS4t/tick.svg +8 -8
- package/lib/assets/IconsS4t/trash-white.svg +10 -10
- package/lib/assets/IconsS4t/undo.svg +19 -19
- package/lib/assets/IconsS4t/up.svg +32 -32
- package/lib/assets/IconsS4t/video-streaming.svg +2 -2
- package/lib/assets/IconsS4t/zoom-in.svg +58 -58
- package/lib/assets/IconsS4t/zoom-out.svg +56 -56
- package/lib/assets/icomoon.svg +96 -96
- package/lib/assets/italy.svg +16 -16
- package/lib/assets/six.svg +3 -3
- package/lib/assets/thumbnails/index.ts +39 -39
- package/lib/assets/topmedia-six.svg +65 -65
- package/lib/assets/topmeida-six-bianco.svg +65 -65
- package/lib/components/base/Styled.js +302 -302
- package/lib/components/base/TMAccordion.js +43 -43
- package/lib/components/base/TMAreaManager.js +23 -23
- package/lib/components/base/TMButton.js +130 -130
- package/lib/components/base/TMClosableList.js +46 -46
- package/lib/components/base/TMConfirm.js +20 -20
- package/lib/components/base/TMContextMenu.js +4 -4
- package/lib/components/base/TMContextMenuOLD.js +25 -25
- package/lib/components/base/TMCounterBar.js +32 -32
- package/lib/components/base/TMCounterContainer.js +30 -30
- package/lib/components/base/TMCustomButton.js +7 -7
- package/lib/components/base/TMDropDownMenu.js +24 -24
- package/lib/components/base/TMFileManagerUtils.js +19 -19
- package/lib/components/base/TMFloatingToolbar.js +34 -34
- package/lib/components/base/TMLayout.js +44 -44
- package/lib/components/base/TMList.js +34 -34
- package/lib/components/base/TMModal.js +31 -31
- package/lib/components/base/TMPanel.js +57 -57
- package/lib/components/base/TMPopUp.js +114 -114
- package/lib/components/base/TMProgressBar.js +20 -20
- package/lib/components/base/TMResizableMenu.js +28 -28
- package/lib/components/base/TMRightSidebar.js +40 -40
- package/lib/components/base/TMSpinner.js +121 -121
- package/lib/components/base/TMTab.js +11 -11
- package/lib/components/base/TMToggleButton.js +36 -36
- package/lib/components/base/TMToolbarCard.js +35 -35
- package/lib/components/base/TMTreeView.js +16 -16
- package/lib/components/base/TMUserAvatar.js +7 -7
- package/lib/components/base/TMWaitPanel.js +22 -22
- package/lib/components/choosers/TMCultureIDPicker.js +35 -35
- package/lib/components/choosers/TMDataListItemPicker.js +54 -54
- package/lib/components/editors/TMCheckBox.js +24 -24
- package/lib/components/editors/TMDropDown.js +43 -43
- package/lib/components/editors/TMEditorStyled.js +71 -71
- package/lib/components/editors/TMHtmlContentDisplay.js +16 -16
- package/lib/components/editors/TMLocalizedTextBox.js +31 -31
- package/lib/components/editors/TMMetadataValues.js +17 -17
- package/lib/components/editors/TMRadioButton.js +39 -39
- package/lib/components/editors/TMSummary.js +39 -39
- package/lib/components/editors/TMTextArea.js +12 -12
- package/lib/components/editors/TMTextBox.js +19 -19
- package/lib/components/features/assistant/ToppyHelpCenter.js +114 -114
- package/lib/components/features/blog/TMBlogCommentForm.js +3 -3
- package/lib/components/features/documents/TMDcmtIcon.js +8 -8
- package/lib/components/features/documents/TMDcmtPreview.js +30 -30
- package/lib/components/features/documents/TMFileUploader.js +21 -21
- package/lib/components/features/search/TMSavedQuerySelector.js +51 -51
- package/lib/components/features/search/TMSearchQueryEditor.js +13 -13
- package/lib/components/features/search/TMSearchQueryPanel.js +30 -30
- package/lib/components/features/search/TMSearchResult.js +3 -3
- package/lib/components/features/search/TMTreeSelector.js +66 -66
- package/lib/components/features/tasks/TMTaskForm.js +31 -31
- package/lib/components/features/wg/TMWGsCopyMoveForm.js +9 -9
- package/lib/components/features/workflow/TMWorkflowPopup.js +41 -41
- package/lib/components/features/workflow/diagram/ConnectionComponent.js +29 -29
- package/lib/components/features/workflow/diagram/ConnectionForm.js +10 -10
- package/lib/components/features/workflow/diagram/DiagramItemComponent.js +57 -57
- package/lib/components/features/workflow/diagram/DiagramItemForm.js +29 -29
- package/lib/components/features/workflow/diagram/DiagramItemSvgContent.js +12 -12
- package/lib/components/features/workflow/diagram/RecipientList.js +38 -38
- package/lib/components/features/workflow/diagram/WFDiagram.js +278 -278
- package/lib/components/features/workflow/diagram/WorkitemRecipientsEditor.js +4 -4
- package/lib/components/forms/Login/Chooser.js +35 -35
- package/lib/components/forms/Login/Menu.js +22 -22
- package/lib/components/forms/Login/SelectBox.js +46 -46
- package/lib/components/forms/Login/TMLoginForm.js +14 -14
- package/lib/components/forms/Login/TextBox.js +57 -57
- package/lib/components/grids/TMBlogsPostUtils.js +5 -5
- package/lib/components/grids/TMRecentsManager.js +50 -50
- package/lib/components/grids/TMValidationItemsList.js +48 -48
- package/lib/components/layout/panelManager/TMPanelManagerContainer.js +12 -12
- package/lib/components/layout/panelManager/TMPanelManagerToolbar.js +34 -34
- package/lib/components/query/TMQueryEditor.js +17 -17
- package/lib/components/query/TMQuerySummary.js +12 -12
- package/lib/components/settings/SettingsAppearance.js +0 -8
- package/lib/components/sidebar/TMCommandsPanel.js +10 -10
- package/lib/components/sidebar/TMHeader.js +307 -307
- package/lib/components/sidebar/TMSidebar.js +24 -24
- package/lib/components/sidebar/TMSidebarItem.js +21 -21
- package/lib/components/wizard/TMStepIndicator.js +102 -102
- package/lib/components/wizard/TMWizard.js +29 -29
- package/lib/helper/SDKUI_Globals.d.ts +0 -2
- package/lib/helper/SDKUI_Globals.js +1 -9
- package/lib/helper/TMIcons.js +1 -1
- package/lib/helper/TMToppyMessage.js +30 -30
- package/lib/helper/TMUtils.js +37 -37
- package/package.json +54 -54
|
@@ -2,51 +2,51 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { FontSize, TMColors } from '../../utils/theme';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
import { makeID } from '../../helper/helpers';
|
|
5
|
-
const StyledWrapper = styled.label `
|
|
6
|
-
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.text_normal : TMColors.disabled};
|
|
7
|
-
display: flex;
|
|
8
|
-
flex-direction: ${props => props.$direction};
|
|
9
|
-
align-items: ${props => props.$direction === 'row' ? 'center' : 'flex-start'};
|
|
10
|
-
font-size: ${props => props.$fontSize};
|
|
11
|
-
gap: ${props => props.$direction === 'row' ? '20px' : "10px"};
|
|
5
|
+
const StyledWrapper = styled.label `
|
|
6
|
+
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.text_normal : TMColors.disabled};
|
|
7
|
+
display: flex;
|
|
8
|
+
flex-direction: ${props => props.$direction};
|
|
9
|
+
align-items: ${props => props.$direction === 'row' ? 'center' : 'flex-start'};
|
|
10
|
+
font-size: ${props => props.$fontSize};
|
|
11
|
+
gap: ${props => props.$direction === 'row' ? '20px' : "10px"};
|
|
12
12
|
`;
|
|
13
|
-
const StyledRadioGroupLabel = styled.div `
|
|
14
|
-
flex: ${props => props.$flexBase};
|
|
13
|
+
const StyledRadioGroupLabel = styled.div `
|
|
14
|
+
flex: ${props => props.$flexBase};
|
|
15
15
|
`;
|
|
16
|
-
const StyledRadioGroupContainer = styled.div `
|
|
17
|
-
flex: ${props => 10 - props.$flexBase};
|
|
16
|
+
const StyledRadioGroupContainer = styled.div `
|
|
17
|
+
flex: ${props => 10 - props.$flexBase};
|
|
18
18
|
`;
|
|
19
|
-
const StyledRadioButtonWrapper = styled.div `
|
|
20
|
-
display: flex;
|
|
21
|
-
flex-direction: ${props => props.$direction};
|
|
22
|
-
align-items: ${props => props.$direction === 'row' ? 'center' : 'flex-start'};
|
|
23
|
-
justify-content: flex-start;
|
|
24
|
-
gap: ${props => props.$direction === 'row' ? '10px' : '5px'};
|
|
19
|
+
const StyledRadioButtonWrapper = styled.div `
|
|
20
|
+
display: flex;
|
|
21
|
+
flex-direction: ${props => props.$direction};
|
|
22
|
+
align-items: ${props => props.$direction === 'row' ? 'center' : 'flex-start'};
|
|
23
|
+
justify-content: flex-start;
|
|
24
|
+
gap: ${props => props.$direction === 'row' ? '10px' : '5px'};
|
|
25
25
|
`;
|
|
26
|
-
const StyledRadioButtoncontainer = styled.div `
|
|
27
|
-
display: flex;
|
|
28
|
-
flex-direction: row;
|
|
29
|
-
align-items: center;
|
|
30
|
-
justify-content: flex-start;
|
|
31
|
-
gap: 5px;
|
|
32
|
-
height: 18px;
|
|
26
|
+
const StyledRadioButtoncontainer = styled.div `
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: row;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: flex-start;
|
|
31
|
+
gap: 5px;
|
|
32
|
+
height: 18px;
|
|
33
33
|
`;
|
|
34
|
-
const StyledRadioButton = styled.input `
|
|
35
|
-
accent-color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.primary : TMColors.disabled};
|
|
36
|
-
cursor: ${props => !props.$disabled && 'pointer'};
|
|
34
|
+
const StyledRadioButton = styled.input `
|
|
35
|
+
accent-color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.primary : TMColors.disabled};
|
|
36
|
+
cursor: ${props => !props.$disabled && 'pointer'};
|
|
37
37
|
`;
|
|
38
|
-
const StyledradioButtonLabel = styled.label `
|
|
39
|
-
font-size: ${props => props.$fontSize};
|
|
40
|
-
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.text_normal : TMColors.disabled};
|
|
41
|
-
user-select: none;
|
|
42
|
-
width: 100%;
|
|
43
|
-
cursor: ${props => !props.$disabled && 'pointer'};
|
|
44
|
-
&:focus{
|
|
45
|
-
outline: none;
|
|
46
|
-
background-image: linear-gradient(white, #E4E9F7);
|
|
47
|
-
border-bottom: 2px solid ;
|
|
48
|
-
border-bottom-color: ${props => !props.$isModifiedWhen ? TMColors.primary : TMColors.isModified};
|
|
49
|
-
}
|
|
38
|
+
const StyledradioButtonLabel = styled.label `
|
|
39
|
+
font-size: ${props => props.$fontSize};
|
|
40
|
+
color: ${props => !props.$disabled ? props.$isModifiedWhen ? TMColors.isModified : TMColors.text_normal : TMColors.disabled};
|
|
41
|
+
user-select: none;
|
|
42
|
+
width: 100%;
|
|
43
|
+
cursor: ${props => !props.$disabled && 'pointer'};
|
|
44
|
+
&:focus{
|
|
45
|
+
outline: none;
|
|
46
|
+
background-image: linear-gradient(white, #E4E9F7);
|
|
47
|
+
border-bottom: 2px solid ;
|
|
48
|
+
border-bottom-color: ${props => !props.$isModifiedWhen ? TMColors.primary : TMColors.isModified};
|
|
49
|
+
}
|
|
50
50
|
`;
|
|
51
51
|
const TMRadioButton = ({ isModifiedWhen, flexBase = 1, elementStyle, label, value, fontSize = FontSize.defaultFontSize, dataSource = [], direction = 'row', onValueChanged, disabled = false }) => {
|
|
52
52
|
const renderedRadioButtons = () => {
|
|
@@ -7,46 +7,46 @@ import { IconClearButton, IconPencil, SDKUI_Localizator } from '../../helper';
|
|
|
7
7
|
import TMLayoutContainer, { TMLayoutItem } from '../base/TMLayout';
|
|
8
8
|
import TMVilViewer from '../base/TMVilViewer';
|
|
9
9
|
import TMTooltip from '../base/TMTooltip';
|
|
10
|
-
const StyledSummaryTemplateInput = styled.div `
|
|
11
|
-
width: ${props => props.$width};
|
|
12
|
-
height: ${props => props.$height};
|
|
13
|
-
padding: ${props => !props.$showBorder ? '4px 5px' : '5px 5px 5px 13px'};
|
|
14
|
-
border: ${props => !props.$showBorder ? '' : '1px solid'};
|
|
15
|
-
background: ${props => props.$readOnly ? 'linear-gradient(white 20%, #d6d6d6 80%)' : props.$backgroundColor};
|
|
16
|
-
border-color: ${props => props.$isModified ? TMColors.isModified : TMColors.border_normal};
|
|
17
|
-
border-bottom: ${props => !props.$showBorder ? '' : (props.$vil.length > 0) ? '3px solid' : '1px solid'} ;
|
|
18
|
-
border-bottom-color: ${props => (props.$vil.length === 0) ? !props.$isModified ? TMColors.border_normal : TMColors.isModified : editorColorManager(props.$vil)};
|
|
19
|
-
color: ${props => props.$readOnly ? '#525252' : !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? 'black' : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
20
|
-
border-radius: ${props => !props.$showBorder ? props.$borderRadius : TMEditorsDefaultBorderRadius};
|
|
21
|
-
display: flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
overflow: hidden;
|
|
24
|
-
|
|
25
|
-
&:focus{
|
|
26
|
-
outline: none;
|
|
27
|
-
background-image: ${props => !props.$showBorder ? '' : 'linear-gradient(white, #E4E9F7)'};
|
|
28
|
-
border: ${props => !props.$showBorder ? '' : props.$isModified ? `1px solid ${TMColors.isModified}` : '1px solid rgb(180,180,180)'};
|
|
29
|
-
border-bottom: ${props => !props.$showBorder ? '' : '2px solid'};
|
|
30
|
-
border-bottom-color: ${props => !props.$showBorder ? '' : (props.$vil.length === 0) ? !props.$isModified ? TMColors.primary : TMColors.isModified : editorColorManager(props.$vil)};
|
|
31
|
-
}
|
|
32
|
-
font-size: ${props => props.$fontSize};
|
|
33
|
-
&::placeholder {
|
|
34
|
-
/* color: ${props => (props.$vil.length === 0) ? 'gray' : editorColorManager(props.$vil)}; */
|
|
35
|
-
font-size: ${props => props.$fontSize};
|
|
36
|
-
}
|
|
10
|
+
const StyledSummaryTemplateInput = styled.div `
|
|
11
|
+
width: ${props => props.$width};
|
|
12
|
+
height: ${props => props.$height};
|
|
13
|
+
padding: ${props => !props.$showBorder ? '4px 5px' : '5px 5px 5px 13px'};
|
|
14
|
+
border: ${props => !props.$showBorder ? '' : '1px solid'};
|
|
15
|
+
background: ${props => props.$readOnly ? 'linear-gradient(white 20%, #d6d6d6 80%)' : props.$backgroundColor};
|
|
16
|
+
border-color: ${props => props.$isModified ? TMColors.isModified : TMColors.border_normal};
|
|
17
|
+
border-bottom: ${props => !props.$showBorder ? '' : (props.$vil.length > 0) ? '3px solid' : '1px solid'} ;
|
|
18
|
+
border-bottom-color: ${props => (props.$vil.length === 0) ? !props.$isModified ? TMColors.border_normal : TMColors.isModified : editorColorManager(props.$vil)};
|
|
19
|
+
color: ${props => props.$readOnly ? '#525252' : !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? 'black' : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
20
|
+
border-radius: ${props => !props.$showBorder ? props.$borderRadius : TMEditorsDefaultBorderRadius};
|
|
21
|
+
display: flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
overflow: hidden;
|
|
24
|
+
|
|
25
|
+
&:focus{
|
|
26
|
+
outline: none;
|
|
27
|
+
background-image: ${props => !props.$showBorder ? '' : 'linear-gradient(white, #E4E9F7)'};
|
|
28
|
+
border: ${props => !props.$showBorder ? '' : props.$isModified ? `1px solid ${TMColors.isModified}` : '1px solid rgb(180,180,180)'};
|
|
29
|
+
border-bottom: ${props => !props.$showBorder ? '' : '2px solid'};
|
|
30
|
+
border-bottom-color: ${props => !props.$showBorder ? '' : (props.$vil.length === 0) ? !props.$isModified ? TMColors.primary : TMColors.isModified : editorColorManager(props.$vil)};
|
|
31
|
+
}
|
|
32
|
+
font-size: ${props => props.$fontSize};
|
|
33
|
+
&::placeholder {
|
|
34
|
+
/* color: ${props => (props.$vil.length === 0) ? 'gray' : editorColorManager(props.$vil)}; */
|
|
35
|
+
font-size: ${props => props.$fontSize};
|
|
36
|
+
}
|
|
37
37
|
`;
|
|
38
|
-
const StyledEditorButtonIcon2 = styled.div `
|
|
39
|
-
color: ${TMColors.button_icon};
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
position: relative;
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
&:focus{
|
|
45
|
-
outline: none;
|
|
46
|
-
background-image: linear-gradient(white, #E4E9F7);
|
|
47
|
-
border-bottom: 2px solid;
|
|
48
|
-
border-bottom-color: ${TMColors.primary};
|
|
49
|
-
}
|
|
38
|
+
const StyledEditorButtonIcon2 = styled.div `
|
|
39
|
+
color: ${TMColors.button_icon};
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
position: relative;
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
&:focus{
|
|
45
|
+
outline: none;
|
|
46
|
+
background-image: linear-gradient(white, #E4E9F7);
|
|
47
|
+
border-bottom: 2px solid;
|
|
48
|
+
border-bottom-color: ${TMColors.primary};
|
|
49
|
+
}
|
|
50
50
|
`;
|
|
51
51
|
const TMSummary = forwardRef(({ placeHolder, readOnly, labelColor, hasValue, borderRadius = '4px', validationItems = [], buttons = [], label = '', onClearClick, openEditorOnSummaryClick = true, onEditorClick, backgroundColor = 'transparent', showBorder = true, isModifiedWhen, elementStyle, width = '100%', height = '100%', fontSize = FontSize.defaultFontSize, icon, showEditButton = true, showClearButton, iconEditButton, iconeEditTooltip, labelPosition = 'left', template, disabled = false, onValueChanged }, ref) => {
|
|
52
52
|
const summaryElementRef = useRef(null); // Ref all'elemento DOM div principale
|
|
@@ -10,18 +10,18 @@ import TMTooltip from '../base/TMTooltip';
|
|
|
10
10
|
import { DeviceType, useDeviceType } from '../base/TMDeviceProvider';
|
|
11
11
|
import { IconClearButton } from '../../helper';
|
|
12
12
|
import styled from 'styled-components';
|
|
13
|
-
const StyledTextAreaEditorButton = styled.div `
|
|
14
|
-
color: ${TMColors.button_icon};
|
|
15
|
-
display: flex;
|
|
16
|
-
align-items: center;
|
|
17
|
-
position: relative;
|
|
18
|
-
cursor: pointer;
|
|
19
|
-
&:focus{
|
|
20
|
-
outline: none;
|
|
21
|
-
background-image: linear-gradient(white, #E4E9F7);
|
|
22
|
-
border-bottom: 2px solid;
|
|
23
|
-
border-bottom-color: ${TMColors.primary};
|
|
24
|
-
}
|
|
13
|
+
const StyledTextAreaEditorButton = styled.div `
|
|
14
|
+
color: ${TMColors.button_icon};
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
position: relative;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
&:focus{
|
|
20
|
+
outline: none;
|
|
21
|
+
background-image: linear-gradient(white, #E4E9F7);
|
|
22
|
+
border-bottom: 2px solid;
|
|
23
|
+
border-bottom-color: ${TMColors.primary};
|
|
24
|
+
}
|
|
25
25
|
`;
|
|
26
26
|
// Define the TMTextArea component
|
|
27
27
|
const TMTextArea = (props) => {
|
|
@@ -11,26 +11,26 @@ import TMVilViewer from '../base/TMVilViewer';
|
|
|
11
11
|
import TMTooltip from '../base/TMTooltip';
|
|
12
12
|
import { ContextMenu } from 'devextreme-react';
|
|
13
13
|
import { DeviceType, useDeviceType } from '../base/TMDeviceProvider';
|
|
14
|
-
const StyledShowPasswordIcon = styled.div `
|
|
15
|
-
color: ${props => !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? TMColors.text_normal : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
16
|
-
position: absolute;
|
|
17
|
-
right: 10px;
|
|
18
|
-
font-size: 18px;
|
|
19
|
-
transform: translateY(-25px);
|
|
20
|
-
cursor: pointer;
|
|
14
|
+
const StyledShowPasswordIcon = styled.div `
|
|
15
|
+
color: ${props => !props.$disabled ? (props.$vil.length === 0) ? !props.$isModified ? TMColors.text_normal : TMColors.isModified : editorColorManager(props.$vil) : TMColors.disabled};
|
|
16
|
+
position: absolute;
|
|
17
|
+
right: 10px;
|
|
18
|
+
font-size: 18px;
|
|
19
|
+
transform: translateY(-25px);
|
|
20
|
+
cursor: pointer;
|
|
21
21
|
`;
|
|
22
|
-
const StyledTextBoxEditorButton = styled.div `
|
|
23
|
-
color: ${TMColors.button_icon};
|
|
24
|
-
display: flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
position: relative;
|
|
27
|
-
cursor: pointer;
|
|
28
|
-
&:focus{
|
|
29
|
-
outline: none;
|
|
30
|
-
background-image: linear-gradient(white, #E4E9F7);
|
|
31
|
-
border-bottom: 2px solid;
|
|
32
|
-
border-bottom-color: ${TMColors.primary};
|
|
33
|
-
}
|
|
22
|
+
const StyledTextBoxEditorButton = styled.div `
|
|
23
|
+
color: ${TMColors.button_icon};
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
position: relative;
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
&:focus{
|
|
29
|
+
outline: none;
|
|
30
|
+
background-image: linear-gradient(white, #E4E9F7);
|
|
31
|
+
border-bottom: 2px solid;
|
|
32
|
+
border-bottom-color: ${TMColors.primary};
|
|
33
|
+
}
|
|
34
34
|
`;
|
|
35
35
|
const TMTextBox = ({ autoFocus, maxLength, labelColor, precision, fromModal = false, scale, showClearButton, validationItems = [], label = '', readOnly = false, formulaItems = [], buttons = [], isModifiedWhen, placeHolder, elementStyle, width = '100%', maxValue, minValue, fontSize = FontSize.defaultFontSize, icon, labelPosition = 'left', value, disabled = false, type = 'text', onValueChanged, onBlur, borderRadius, allowedPattern }) => {
|
|
36
36
|
const [initialType, setInitialType] = useState(type);
|
|
@@ -4,138 +4,138 @@ import ReactDOM from 'react-dom';
|
|
|
4
4
|
import styled, { keyframes, css } from 'styled-components';
|
|
5
5
|
import Toppy from '../../../assets/Toppy-generico.png';
|
|
6
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; }
|
|
7
|
+
const toppyEntrance = keyframes `
|
|
8
|
+
0% { right: -200px; opacity: 0; }
|
|
9
|
+
60% { opacity: 1; }
|
|
10
|
+
100% { right: 10px; opacity: 1; }
|
|
11
11
|
`;
|
|
12
|
-
const pulseAnimation = keyframes `
|
|
13
|
-
0% { transform: scale(1); }
|
|
14
|
-
50% { transform: scale(1.05); }
|
|
15
|
-
100% { transform: scale(1); }
|
|
12
|
+
const pulseAnimation = keyframes `
|
|
13
|
+
0% { transform: scale(1); }
|
|
14
|
+
50% { transform: scale(1.05); }
|
|
15
|
+
100% { transform: scale(1); }
|
|
16
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
|
-
}
|
|
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
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); }
|
|
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
40
|
`;
|
|
41
|
-
const ToppyContainer = styled.div `
|
|
42
|
-
position: ${({ $fixed }) => ($fixed ? 'fixed' : 'absolute')};
|
|
43
|
-
bottom: ${({ $isCollapsed, $isMobile }) => $isMobile ? '5px' : $isCollapsed ? '5px' : '-20px'};
|
|
41
|
+
const ToppyContainer = styled.div `
|
|
42
|
+
position: ${({ $fixed }) => ($fixed ? 'fixed' : 'absolute')};
|
|
43
|
+
bottom: ${({ $isCollapsed, $isMobile }) => $isMobile ? '5px' : $isCollapsed ? '5px' : '-20px'};
|
|
44
44
|
${({ $align, $isCollapsed }) => $align === 'left'
|
|
45
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)};
|
|
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
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);
|
|
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
60
|
transform: ${({ $isCollapsed, $align }) => $isCollapsed
|
|
61
61
|
? 'none'
|
|
62
62
|
: $align === 'left'
|
|
63
63
|
? 'rotate(20deg)'
|
|
64
|
-
: 'rotate(-20deg)'};
|
|
65
|
-
|
|
64
|
+
: 'rotate(-20deg)'};
|
|
65
|
+
|
|
66
66
|
${({ $isCollapsed }) => $isCollapsed &&
|
|
67
|
-
css `
|
|
68
|
-
/* animation: ${bounceAnimation} 2s infinite; */
|
|
69
|
-
/* animation: ${pulseAnimation} 2s infinite; */
|
|
70
|
-
animation: ${wiggle} 4s infinite;
|
|
71
|
-
`}
|
|
67
|
+
css `
|
|
68
|
+
/* animation: ${bounceAnimation} 2s infinite; */
|
|
69
|
+
/* animation: ${pulseAnimation} 2s infinite; */
|
|
70
|
+
animation: ${wiggle} 4s infinite;
|
|
71
|
+
`}
|
|
72
72
|
`;
|
|
73
|
-
const ToppyContent = styled.div `
|
|
73
|
+
const ToppyContent = styled.div `
|
|
74
74
|
margin-bottom: ${({ $isMobile, $align }) => $align === 'left'
|
|
75
75
|
? '30px' // Spazio tra ToppyContent e ToppyImage
|
|
76
76
|
: $isMobile
|
|
77
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
|
-
|
|
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
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
|
-
}
|
|
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
139
|
`;
|
|
140
140
|
const ToppyHelpCenter = ({ content, deviceType, usePortal = true, align = 'right', initialIsCollapsed, onToppyImageClick }) => {
|
|
141
141
|
const [isCollapsed, setIsCollapsed] = useState(initialIsCollapsed ?? false);
|
|
@@ -89,9 +89,9 @@ const TMBlogCommentForm = (props) => {
|
|
|
89
89
|
displayExpr: 'text',
|
|
90
90
|
valueExpr: 'text',
|
|
91
91
|
itemTemplate: function (itemData) {
|
|
92
|
-
return `<div style="display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%;">
|
|
93
|
-
${itemData.icon}
|
|
94
|
-
<span>${itemData.text}</span>
|
|
92
|
+
return `<div style="display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%;">
|
|
93
|
+
${itemData.icon}
|
|
94
|
+
<span>${itemData.text}</span>
|
|
95
95
|
</div>`;
|
|
96
96
|
},
|
|
97
97
|
}];
|
|
@@ -7,13 +7,13 @@ import { DownloadTypes } from '../../../ts';
|
|
|
7
7
|
import { DeviceType, useDeviceType } from '../../base/TMDeviceProvider';
|
|
8
8
|
import { useDcmtOperations } from '../../../hooks/useDcmtOperations';
|
|
9
9
|
import { TMWaitPanel } from '../../base/TMWaitPanel';
|
|
10
|
-
const StyledCellRenderDcmtIcon = styled.div `
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: row;
|
|
13
|
-
align-items: center;
|
|
14
|
-
justify-content: center;
|
|
15
|
-
overflow: visible;
|
|
16
|
-
position: relative;
|
|
10
|
+
const StyledCellRenderDcmtIcon = styled.div `
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: row;
|
|
13
|
+
align-items: center;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
overflow: visible;
|
|
16
|
+
position: relative;
|
|
17
17
|
`;
|
|
18
18
|
const TMDcmtIcon = ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isShared, tid, did, downloadMode = "none", tooltipContent, openInOffice, onDownloadDcmtsAsync }) => {
|
|
19
19
|
const { downloadDcmtsAsync, showWaitPanel, waitPanelTitle, showSecondary, waitPanelTextSecondary, waitPanelValueSecondary, waitPanelMaxValueSecondary, abortController } = useDcmtOperations();
|
|
@@ -56,7 +56,7 @@ const TMDcmtIcon = ({ fileExtension, fileCount, isLexProt, isSigned, isMail, isS
|
|
|
56
56
|
};
|
|
57
57
|
export default TMDcmtIcon;
|
|
58
58
|
function IconLexProtLock(props) {
|
|
59
|
-
return (_jsxs("svg", { viewBox: "0 0 512 512", height: "1em", width: "1em", ...props, children: [_jsx("path", { fill: "#455A64", d: "M256,0c-76.544,0.094-138.573,62.122-138.667,138.667V224c0,5.891,4.776,10.667,10.667,10.667h42.667\
|
|
59
|
+
return (_jsxs("svg", { viewBox: "0 0 512 512", height: "1em", width: "1em", ...props, children: [_jsx("path", { fill: "#455A64", d: "M256,0c-76.544,0.094-138.573,62.122-138.667,138.667V224c0,5.891,4.776,10.667,10.667,10.667h42.667\n c5.891,0,10.667-4.776,10.667-10.667v-85.333C181.333,97.429,214.763,64,256,64s74.667,33.429,74.667,74.667V224\n c0,5.891,4.776,10.667,10.667,10.667H384c5.891,0,10.667-4.776,10.667-10.667v-85.333C394.573,62.122,332.544,0.094,256,0z" }), _jsx("path", { fill: "#FFC107", d: "M128,213.333h256c29.455,0,53.333,23.878,53.333,53.333v192C437.333,488.122,413.455,512,384,512H128\n c-29.455,0-53.333-23.878-53.333-53.333v-192C74.667,237.211,98.545,213.333,128,213.333z" }), _jsx("path", { fill: "#455A64", d: "M309.333,330.667c0.124-29.455-23.653-53.434-53.108-53.558\n c-29.455-0.124-53.434,23.653-53.558,53.108c-0.086,20.36,11.427,38.992,29.674,48.023l-8.235,57.6\n c-0.825,5.833,3.235,11.23,9.068,12.055c0.494,0.07,0.993,0.105,1.492,0.105h42.667c5.891,0.06,10.715-4.667,10.774-10.558\n c0.005-0.543-0.03-1.086-0.108-1.623l-8.235-57.6C297.788,369.199,309.216,350.82,309.333,330.667z" }), _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " }), " ", _jsx("g", { children: " " })] })
|
|
60
60
|
// <svg
|
|
61
61
|
// viewBox="0 0 24 24"
|
|
62
62
|
// fill="currentColor"
|
|
@@ -364,29 +364,29 @@ const ImageViewer = ({ fileBlob, alt = 'Image', className }) => {
|
|
|
364
364
|
if (!doc)
|
|
365
365
|
return;
|
|
366
366
|
doc.open();
|
|
367
|
-
doc.write(`
|
|
368
|
-
<html>
|
|
369
|
-
<head>
|
|
370
|
-
<title>Print Image</title>
|
|
371
|
-
<style>
|
|
372
|
-
body, html {
|
|
373
|
-
margin: 0;
|
|
374
|
-
padding: 0;
|
|
375
|
-
height: 100%;
|
|
376
|
-
display: flex;
|
|
377
|
-
justify-content: center;
|
|
378
|
-
align-items: center;
|
|
379
|
-
}
|
|
380
|
-
img {
|
|
381
|
-
max-width: 100%;
|
|
382
|
-
max-height: 100%;
|
|
383
|
-
}
|
|
384
|
-
</style>
|
|
385
|
-
</head>
|
|
386
|
-
<body>
|
|
387
|
-
<img src="${dataUrl}" onload="setTimeout(() => { window.print(); window.close(); }, 100);" />
|
|
388
|
-
</body>
|
|
389
|
-
</html>
|
|
367
|
+
doc.write(`
|
|
368
|
+
<html>
|
|
369
|
+
<head>
|
|
370
|
+
<title>Print Image</title>
|
|
371
|
+
<style>
|
|
372
|
+
body, html {
|
|
373
|
+
margin: 0;
|
|
374
|
+
padding: 0;
|
|
375
|
+
height: 100%;
|
|
376
|
+
display: flex;
|
|
377
|
+
justify-content: center;
|
|
378
|
+
align-items: center;
|
|
379
|
+
}
|
|
380
|
+
img {
|
|
381
|
+
max-width: 100%;
|
|
382
|
+
max-height: 100%;
|
|
383
|
+
}
|
|
384
|
+
</style>
|
|
385
|
+
</head>
|
|
386
|
+
<body>
|
|
387
|
+
<img src="${dataUrl}" onload="setTimeout(() => { window.print(); window.close(); }, 100);" />
|
|
388
|
+
</body>
|
|
389
|
+
</html>
|
|
390
390
|
`);
|
|
391
391
|
doc.close();
|
|
392
392
|
iframe.contentWindow?.addEventListener('afterprint', () => {
|
|
@@ -436,11 +436,11 @@ const StyledImage = styled.img.attrs(props => ({
|
|
|
436
436
|
style: {
|
|
437
437
|
transform: `translate(${props.$tx}px, ${props.$ty}px) scale(${props.$scale}) rotate(${props.$rotate}deg)`,
|
|
438
438
|
},
|
|
439
|
-
})) `
|
|
440
|
-
display: block;
|
|
441
|
-
max-width: none;
|
|
442
|
-
max-height: none;
|
|
443
|
-
transform-origin: top left;
|
|
444
|
-
pointer-events: none;
|
|
445
|
-
position: absolute;
|
|
439
|
+
})) `
|
|
440
|
+
display: block;
|
|
441
|
+
max-width: none;
|
|
442
|
+
max-height: none;
|
|
443
|
+
transform-origin: top left;
|
|
444
|
+
pointer-events: none;
|
|
445
|
+
position: absolute;
|
|
446
446
|
`;
|