nzk-react-components 0.4.2-1 → 0.4.2
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/dist/hooks/useCloudinary/index.d.ts +1 -0
- package/dist/hooks/useCloudinary/index.js +43 -1
- package/dist/hooks/useCloudinary/index.js.map +1 -1
- package/dist/hooks/useCloudinary/useCloudinary.stories.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/DrawingTool/DrawingTool.d.ts +0 -29
- package/dist/components/DrawingTool/DrawingTool.js +0 -277
- package/dist/components/DrawingTool/DrawingTool.js.map +0 -1
- package/dist/components/DrawingTool/DrawingTool.stories.d.ts +0 -6
- package/dist/components/DrawingTool/DrawingTool.styles.d.ts +0 -41
- package/dist/components/DrawingTool/DrawingTool.styles.js +0 -54
- package/dist/components/DrawingTool/DrawingTool.styles.js.map +0 -1
- package/dist/components/DrawingTool/DrawingToolProvider.d.ts +0 -56
- package/dist/components/DrawingTool/DrawingToolProvider.js +0 -182
- package/dist/components/DrawingTool/DrawingToolProvider.js.map +0 -1
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.d.ts +0 -21
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.js +0 -89
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.js.map +0 -1
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.d.ts +0 -9
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.js +0 -18
- package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/ColourToolbar/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/ColourToolbar/index.js +0 -8
- package/dist/components/DrawingTool/components/ColourToolbar/index.js.map +0 -1
- package/dist/components/DrawingTool/components/FileInput/FileInput.d.ts +0 -9
- package/dist/components/DrawingTool/components/FileInput/FileInput.js +0 -88
- package/dist/components/DrawingTool/components/FileInput/FileInput.js.map +0 -1
- package/dist/components/DrawingTool/components/FileInput/FileInput.styles.d.ts +0 -4
- package/dist/components/DrawingTool/components/FileInput/FileInput.styles.js +0 -22
- package/dist/components/DrawingTool/components/FileInput/FileInput.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/FileInput/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/FileInput/index.js +0 -8
- package/dist/components/DrawingTool/components/FileInput/index.js.map +0 -1
- package/dist/components/DrawingTool/components/Header/Header.d.ts +0 -9
- package/dist/components/DrawingTool/components/Header/Header.js +0 -38
- package/dist/components/DrawingTool/components/Header/Header.js.map +0 -1
- package/dist/components/DrawingTool/components/Header/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/Header/index.js +0 -8
- package/dist/components/DrawingTool/components/Header/index.js.map +0 -1
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.d.ts +0 -8
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.js +0 -31
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.js.map +0 -1
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.d.ts +0 -9
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.js +0 -18
- package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/OpacityToggle/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/OpacityToggle/index.js +0 -8
- package/dist/components/DrawingTool/components/OpacityToggle/index.js.map +0 -1
- package/dist/components/DrawingTool/components/Placeable/index.d.ts +0 -9
- package/dist/components/DrawingTool/components/Placeable/index.js +0 -22
- package/dist/components/DrawingTool/components/Placeable/index.js.map +0 -1
- package/dist/components/DrawingTool/index.d.ts +0 -2
- package/dist/components/DrawingTool/lib/Sketch.d.ts +0 -90
- package/dist/components/DrawingTool/lib/Sketch.js +0 -414
- package/dist/components/DrawingTool/lib/Sketch.js.map +0 -1
- package/dist/components/DrawingTool/lib/SketchCut.d.ts +0 -22
- package/dist/components/DrawingTool/lib/SketchCut.js +0 -98
- package/dist/components/DrawingTool/lib/SketchCut.js.map +0 -1
- package/dist/components/DrawingTool/lib/SketchCutModel.d.ts +0 -6
- package/dist/components/DrawingTool/lib/SketchCutModel.js +0 -20
- package/dist/components/DrawingTool/lib/SketchCutModel.js.map +0 -1
- package/dist/components/DrawingTool/lib/SketchLayer.d.ts +0 -27
- package/dist/components/DrawingTool/lib/SketchLayer.js +0 -59
- package/dist/components/DrawingTool/lib/SketchLayer.js.map +0 -1
- package/dist/components/DrawingTool/lib/SketchModel.d.ts +0 -65
- package/dist/components/DrawingTool/lib/SketchModel.js +0 -137
- package/dist/components/DrawingTool/lib/SketchModel.js.map +0 -1
- package/dist/components/DrawingTool/lib/SketchStrokeModel.d.ts +0 -33
- package/dist/components/DrawingTool/lib/SketchStrokeModel.js +0 -48
- package/dist/components/DrawingTool/lib/SketchStrokeModel.js.map +0 -1
- package/dist/components/DrawingTool/lib/createInteractionSurface.d.ts +0 -16
- package/dist/components/DrawingTool/lib/createInteractionSurface.js +0 -56
- package/dist/components/DrawingTool/lib/createInteractionSurface.js.map +0 -1
- package/dist/components/DrawingTool/lib/trace.d.ts +0 -3
- package/dist/components/DrawingTool/lib/trace.js +0 -24
- package/dist/components/DrawingTool/lib/trace.js.map +0 -1
- package/dist/components/DrawingTool/lib/trimCanvas.d.ts +0 -2
- package/dist/components/DrawingTool/lib/trimCanvas.js +0 -42
- package/dist/components/DrawingTool/lib/trimCanvas.js.map +0 -1
|
@@ -5,5 +5,6 @@ export interface Props {
|
|
|
5
5
|
}
|
|
6
6
|
declare const useCloudinary: (props?: Props | undefined) => {
|
|
7
7
|
uploadImage: (file: Blob | string, onComplete?: ((imageUrl: string) => void) | undefined) => void;
|
|
8
|
+
promiseUploadImage: (file: Blob | string) => Promise<unknown>;
|
|
8
9
|
};
|
|
9
10
|
export default useCloudinary;
|
|
@@ -38,8 +38,50 @@ var useCloudinary = function (props) {
|
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
+
var promiseUploadImage = function (file) {
|
|
42
|
+
return new Promise(function (resolve, reject) {
|
|
43
|
+
var url = "https://api.cloudinary.com/v1_1/" + cloudName + "/upload";
|
|
44
|
+
var xhr = new XMLHttpRequest();
|
|
45
|
+
var fd = new FormData();
|
|
46
|
+
xhr.addEventListener('error', function () {
|
|
47
|
+
reject(new Error("Couldn't reach cloudinary to upload image"));
|
|
48
|
+
});
|
|
49
|
+
xhr.open('POST', url, true);
|
|
50
|
+
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
|
|
51
|
+
xhr.onreadystatechange = function () {
|
|
52
|
+
if (xhr.readyState === 4 && xhr.status < 300) {
|
|
53
|
+
var response = JSON.parse(xhr.responseText);
|
|
54
|
+
if (response.secure_url) {
|
|
55
|
+
resolve(response.secure_url);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
reject(new Error("No secure_url returned by cloudinary"));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (xhr.readyState === 4 && xhr.status >= 300) {
|
|
62
|
+
reject(new Error("Cloudinary returned error code: " + xhr.status));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
fd.append('upload_preset', unsignedUploadPreset);
|
|
66
|
+
if (uploadTag)
|
|
67
|
+
fd.append('tags', uploadTag);
|
|
68
|
+
if (file instanceof Blob) {
|
|
69
|
+
fd.append('file', file);
|
|
70
|
+
xhr.send(fd);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
fetch(file).then(function (response) {
|
|
74
|
+
response.blob().then(function (blobFile) {
|
|
75
|
+
fd.append('file', blobFile);
|
|
76
|
+
xhr.send(fd);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
};
|
|
41
82
|
return {
|
|
42
|
-
uploadImage: uploadImage
|
|
83
|
+
uploadImage: uploadImage,
|
|
84
|
+
promiseUploadImage: promiseUploadImage
|
|
43
85
|
};
|
|
44
86
|
};
|
|
45
87
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface Props {
|
|
3
|
-
prompt: string;
|
|
4
|
-
showHeader: boolean;
|
|
5
|
-
onBack: () => void;
|
|
6
|
-
onSave: () => void;
|
|
7
|
-
showPaperBackground?: boolean;
|
|
8
|
-
disableCameraUpload?: boolean;
|
|
9
|
-
minImageUploadSize?: number;
|
|
10
|
-
disableAutoCache?: boolean;
|
|
11
|
-
openUploadPopupOnStart?: boolean;
|
|
12
|
-
cacheKey?: string;
|
|
13
|
-
}
|
|
14
|
-
export declare type Orientation = 'LANDSCAPE' | 'PORTRAIT';
|
|
15
|
-
declare const Drawing: {
|
|
16
|
-
(props: Props): JSX.Element;
|
|
17
|
-
defaultProps: {
|
|
18
|
-
prompt: string;
|
|
19
|
-
showHeader: boolean;
|
|
20
|
-
onBack: () => void;
|
|
21
|
-
onSave: () => void;
|
|
22
|
-
showPaperBackground: boolean;
|
|
23
|
-
disableCameraUpload: boolean;
|
|
24
|
-
disableAutoCache: boolean;
|
|
25
|
-
cacheKey: string;
|
|
26
|
-
openUploadPopupOnStart: boolean;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
export default Drawing;
|
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var polished = require('polished');
|
|
6
|
-
var Moveable = require('react-moveable');
|
|
7
|
-
var MoveableHelper = require('moveable-helper');
|
|
8
|
-
var ReactTooltip = require('react-tooltip');
|
|
9
|
-
var DrawingTool_styles = require('./DrawingTool.styles.js');
|
|
10
|
-
var useDebounce = require('../../hooks/useDebounce.js');
|
|
11
|
-
var useElementSize = require('../../hooks/useElementSize.js');
|
|
12
|
-
var Button = require('../Button/Button.js');
|
|
13
|
-
var Icon = require('../Icon/Icon.js');
|
|
14
|
-
var IconButton = require('../IconButton/IconButton.js');
|
|
15
|
-
var ColourToolbar = require('./components/ColourToolbar/ColourToolbar.js');
|
|
16
|
-
var Modal = require('../Modal/Modal.js');
|
|
17
|
-
var DrawingToolProvider = require('./DrawingToolProvider.js');
|
|
18
|
-
var FileInput = require('./components/FileInput/FileInput.js');
|
|
19
|
-
var index = require('./components/Placeable/index.js');
|
|
20
|
-
var OpacityToggle = require('./components/OpacityToggle/OpacityToggle.js');
|
|
21
|
-
var Header = require('./components/Header/Header.js');
|
|
22
|
-
|
|
23
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
24
|
-
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
|
-
var Moveable__default = /*#__PURE__*/_interopDefaultLegacy(Moveable);
|
|
27
|
-
var MoveableHelper__default = /*#__PURE__*/_interopDefaultLegacy(MoveableHelper);
|
|
28
|
-
var ReactTooltip__default = /*#__PURE__*/_interopDefaultLegacy(ReactTooltip);
|
|
29
|
-
|
|
30
|
-
var Drawing = function (props) {
|
|
31
|
-
var _a, _b;
|
|
32
|
-
var containerRef = React.useRef(null);
|
|
33
|
-
var sketchOuterRef = React.useRef(null);
|
|
34
|
-
var sketchInnerRef = React.useRef(null);
|
|
35
|
-
var sketchCutInnerRef = React.useRef(null);
|
|
36
|
-
var imageToPlaceContainerRef = React.useRef(null);
|
|
37
|
-
var moveableRef = React.useRef(null);
|
|
38
|
-
var helper = React.useState(function () {
|
|
39
|
-
return new MoveableHelper__default['default']();
|
|
40
|
-
})[0];
|
|
41
|
-
var _c = useElementSize(containerRef), containerWidth = _c.width, containerHeight = _c.height;
|
|
42
|
-
var debouncedContainerWidth = useDebounce(containerWidth, 1000);
|
|
43
|
-
var debouncedContainerHeight = useDebounce(containerHeight, 1000);
|
|
44
|
-
var _d = React.useState('LANDSCAPE'), orientation = _d[0], setOrientation = _d[1];
|
|
45
|
-
var _e = React.useState(1280), maxContainerWidth = _e[0], setMaxContainerWidth = _e[1];
|
|
46
|
-
var _f = React.useState(960), maxContainerHeight = _f[0], setMaxContainerHeight = _f[1];
|
|
47
|
-
var _g = React.useState(50), buttonSize = _g[0], setButtonSize = _g[1];
|
|
48
|
-
var _h = React.useState(false), isMobile = _h[0], setIsMobile = _h[1];
|
|
49
|
-
var _j = React.useState(true), resizing = _j[0], setResizing = _j[1];
|
|
50
|
-
var _k = React.useState(false), showRestartConfirmModal = _k[0], setShowRestartConfirmModal = _k[1];
|
|
51
|
-
var _l = React.useState(props.openUploadPopupOnStart), showFileInput = _l[0], setShowFileInput = _l[1];
|
|
52
|
-
var _m = React.useState(), imageToCut = _m[0], setImageToCut = _m[1];
|
|
53
|
-
var _o = React.useState(true), showCutTutorial = _o[0], setShowCutTutorial = _o[1];
|
|
54
|
-
var _p = React.useState(false), showSaveCutAction = _p[0], setShowSaveCutAction = _p[1];
|
|
55
|
-
var _q = React.useState(), imageToPlace = _q[0], setImageToPlace = _q[1];
|
|
56
|
-
var _r = DrawingToolProvider.useDrawingTool(), initSketch = _r.initSketch, initSketchCut = _r.initSketchCut, exportSketchCut = _r.exportSketchCut, currentColour = _r.currentColour, brushSize = _r.brushSize, setBrushSize = _r.setBrushSize, brushType = _r.brushType, setBrushType = _r.setBrushType, undo = _r.undo, redo = _r.redo, restart = _r.restart, setCacheKey = _r.setCacheKey, setAutoCache = _r.setAutoCache, resetCut = _r.resetCut, mergeImage = _r.mergeImage, setToolMode = _r.setToolMode;
|
|
57
|
-
React.useEffect(function () {
|
|
58
|
-
if (typeof props.disableAutoCache === 'boolean') {
|
|
59
|
-
setAutoCache(!props.disableAutoCache);
|
|
60
|
-
}
|
|
61
|
-
if (props.cacheKey)
|
|
62
|
-
setCacheKey(props.cacheKey);
|
|
63
|
-
}, []);
|
|
64
|
-
React.useLayoutEffect(function () {
|
|
65
|
-
if (debouncedContainerHeight !== containerHeight || debouncedContainerWidth !== containerWidth) {
|
|
66
|
-
setResizing(true);
|
|
67
|
-
}
|
|
68
|
-
else if (containerWidth > 0 && containerHeight > 0) {
|
|
69
|
-
setResizing(false);
|
|
70
|
-
if (containerWidth < 768) {
|
|
71
|
-
setIsMobile(true);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
setIsMobile(false);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}, [debouncedContainerWidth, debouncedContainerHeight, containerWidth, containerHeight]);
|
|
78
|
-
React.useLayoutEffect(function () {
|
|
79
|
-
setMaxContainerHeight(containerWidth * 1.4);
|
|
80
|
-
setMaxContainerWidth(containerHeight * 1.4);
|
|
81
|
-
if (containerWidth < containerHeight && containerWidth < 1024) {
|
|
82
|
-
setButtonSize(Math.floor(containerWidth / 11) * 0.85);
|
|
83
|
-
setOrientation('PORTRAIT');
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
if (containerHeight < 420) {
|
|
87
|
-
setButtonSize(Math.floor(containerHeight / 13) * 0.85);
|
|
88
|
-
}
|
|
89
|
-
else if (containerHeight < 1024) {
|
|
90
|
-
setButtonSize(Math.floor(containerHeight / 12) * 0.85);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
setButtonSize(Math.floor(containerHeight / 11) * 0.85);
|
|
94
|
-
}
|
|
95
|
-
setOrientation('LANDSCAPE');
|
|
96
|
-
}
|
|
97
|
-
}, [containerWidth, containerHeight]);
|
|
98
|
-
React.useEffect(function () {
|
|
99
|
-
if (!imageToCut && !resizing && sketchInnerRef.current) {
|
|
100
|
-
initSketch(sketchInnerRef.current);
|
|
101
|
-
}
|
|
102
|
-
}, [resizing, sketchInnerRef, imageToCut]);
|
|
103
|
-
React.useEffect(function () {
|
|
104
|
-
if (!resizing && sketchCutInnerRef.current && imageToCut) {
|
|
105
|
-
initSketchCut(sketchCutInnerRef.current, imageToCut, function () {
|
|
106
|
-
setShowSaveCutAction(true);
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}, [resizing, sketchCutInnerRef, imageToCut]);
|
|
110
|
-
var onClickRestart = function () {
|
|
111
|
-
setShowRestartConfirmModal(true);
|
|
112
|
-
};
|
|
113
|
-
var onClickCamera = function () {
|
|
114
|
-
setShowFileInput(true);
|
|
115
|
-
};
|
|
116
|
-
var onImageUploaded = function (image) {
|
|
117
|
-
setShowFileInput(false);
|
|
118
|
-
setImageToCut(image);
|
|
119
|
-
setToolMode("CUT");
|
|
120
|
-
};
|
|
121
|
-
var strokeBrushColour = polished.getLuminance(currentColour.hex) > 0.05 ? polished.darken(0.15, currentColour.hex) : polished.lighten(0.1, currentColour.hex);
|
|
122
|
-
var deselectedButtonColourProps = {
|
|
123
|
-
theme: 'white'
|
|
124
|
-
};
|
|
125
|
-
var selectedButtonColourProps = {
|
|
126
|
-
backgroundColor: currentColour.hex,
|
|
127
|
-
strokeColor: strokeBrushColour,
|
|
128
|
-
dropShadowColor: 'rgba(0,0,0,.3)',
|
|
129
|
-
shadowColor: 'rgba(0,0,0,.5)'
|
|
130
|
-
};
|
|
131
|
-
var eraserBrushColourProps = (brushType === 'eraser' ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
132
|
-
var fillBrushColourProps = (brushType === 'fill' ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
133
|
-
var lineBrushColourProps = (brushType === 'line' ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
134
|
-
var smallLineColourProps = (brushSize === DrawingToolProvider.BrushSize.small ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
135
|
-
var mediumLineColourProps = (brushSize === DrawingToolProvider.BrushSize.medium ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
136
|
-
var largeLineColourProps = (brushSize === DrawingToolProvider.BrushSize.large ? selectedButtonColourProps : deselectedButtonColourProps);
|
|
137
|
-
var sketchStyles;
|
|
138
|
-
if (!resizing && sketchOuterRef && sketchOuterRef.current) {
|
|
139
|
-
sketchStyles = {
|
|
140
|
-
width: sketchOuterRef.current.offsetWidth + "px",
|
|
141
|
-
height: sketchOuterRef.current.offsetHeight + "px",
|
|
142
|
-
position: 'absolute',
|
|
143
|
-
top: '0px',
|
|
144
|
-
left: '0px'
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
var disableToolbars = (showFileInput || showRestartConfirmModal || imageToCut || imageToPlace);
|
|
148
|
-
var inSketchActions = [];
|
|
149
|
-
if (showSaveCutAction) {
|
|
150
|
-
inSketchActions.push({
|
|
151
|
-
key: 'retry-cut',
|
|
152
|
-
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "drawing-tool-undo", fill: "white" }), theme: 'orange', size: isMobile ? "small" : "regular", onClick: function () {
|
|
153
|
-
setShowSaveCutAction(false);
|
|
154
|
-
setShowCutTutorial(true);
|
|
155
|
-
resetCut();
|
|
156
|
-
} }, "Retry")
|
|
157
|
-
}, {
|
|
158
|
-
key: 'save-cut',
|
|
159
|
-
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "tick" }), theme: 'confirm', size: isMobile ? "small" : "regular", onClick: function () {
|
|
160
|
-
setShowSaveCutAction(false);
|
|
161
|
-
setImageToCut(undefined);
|
|
162
|
-
var newImage = new Image;
|
|
163
|
-
newImage.onload = function () {
|
|
164
|
-
setImageToPlace(newImage);
|
|
165
|
-
setToolMode('PLACE');
|
|
166
|
-
};
|
|
167
|
-
newImage.src = exportSketchCut();
|
|
168
|
-
} }, "Save")
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
else if (imageToPlace) {
|
|
172
|
-
inSketchActions.push({
|
|
173
|
-
key: 'cancel-place',
|
|
174
|
-
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "close" }), theme: 'red', size: isMobile ? "small" : "regular", onClick: function () {
|
|
175
|
-
setImageToPlace(undefined);
|
|
176
|
-
setToolMode('DRAW');
|
|
177
|
-
} }, "Cancel")
|
|
178
|
-
}, {
|
|
179
|
-
key: 'save-place',
|
|
180
|
-
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "tick" }), theme: 'confirm', size: isMobile ? "small" : "regular", onClick: function () {
|
|
181
|
-
if (moveableRef.current) {
|
|
182
|
-
var rect = moveableRef.current.getRect();
|
|
183
|
-
mergeImage({
|
|
184
|
-
image: imageToPlace,
|
|
185
|
-
x: rect.left,
|
|
186
|
-
y: rect.top,
|
|
187
|
-
origin: rect.origin,
|
|
188
|
-
width: Math.hypot(rect.pos2[0] - rect.pos1[0], rect.pos2[1] - rect.pos1[1]),
|
|
189
|
-
height: Math.hypot(rect.pos3[0] - rect.pos2[0], rect.pos3[1] - rect.pos2[1]),
|
|
190
|
-
rotation: rect.rotation
|
|
191
|
-
});
|
|
192
|
-
setToolMode('DRAW');
|
|
193
|
-
setImageToPlace(undefined);
|
|
194
|
-
}
|
|
195
|
-
} }, "Save")
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
var headerHeight = 90;
|
|
199
|
-
if (containerHeight < 800 || containerWidth < 728)
|
|
200
|
-
headerHeight = 70;
|
|
201
|
-
if (containerHeight < 500 || containerWidth < 500)
|
|
202
|
-
headerHeight = 50;
|
|
203
|
-
return React__default['default'].createElement(DrawingTool_styles.Container, { ref: containerRef, maxWidth: maxContainerWidth, maxHeight: maxContainerHeight },
|
|
204
|
-
props.showHeader && React__default['default'].createElement(Header, { height: headerHeight, prompt: props.prompt, onBack: props.onBack, onSave: props.onSave }),
|
|
205
|
-
React__default['default'].createElement(DrawingTool_styles.Tool, { hasHeader: props.showHeader, headerHeight: headerHeight, orientation: orientation },
|
|
206
|
-
React__default['default'].createElement(ReactTooltip__default['default'], { effect: "solid", delayShow: 750, multiline: true }),
|
|
207
|
-
React__default['default'].createElement(DrawingTool_styles.LeftToolbarContainer, { orientation: orientation, buttonSize: buttonSize, disabled: disableToolbars },
|
|
208
|
-
React__default['default'].createElement(DrawingTool_styles.ButtonGroup, { orientation: orientation, buttonSize: buttonSize },
|
|
209
|
-
React__default['default'].createElement(Button, { "data-tip": "Start again?", height: buttonSize, round: true, theme: 'red', onClick: onClickRestart },
|
|
210
|
-
React__default['default'].createElement(Icon, { name: 'trash-white' }))),
|
|
211
|
-
React__default['default'].createElement(DrawingTool_styles.ButtonGroup, { orientation: orientation, buttonSize: buttonSize },
|
|
212
|
-
React__default['default'].createElement(Button, { height: buttonSize, round: true, theme: "white", onClick: undo },
|
|
213
|
-
React__default['default'].createElement(Icon, { fill: currentColour.hex, name: 'drawing-tool-undo' })),
|
|
214
|
-
React__default['default'].createElement(Button, { height: buttonSize, round: true, theme: "white", onClick: redo },
|
|
215
|
-
React__default['default'].createElement(Icon, { fill: currentColour.hex, name: 'drawing-tool-redo' }))),
|
|
216
|
-
!props.disableCameraUpload && React__default['default'].createElement(DrawingTool_styles.ButtonGroup, { orientation: orientation, buttonSize: buttonSize },
|
|
217
|
-
React__default['default'].createElement(Button, { "data-tip": "Upload a drawing", height: buttonSize, round: true, theme: 'purple', onClick: onClickCamera },
|
|
218
|
-
React__default['default'].createElement(Icon, { name: 'drawing-tool-camera' }))),
|
|
219
|
-
React__default['default'].createElement(DrawingTool_styles.ButtonGroup, { orientation: orientation, buttonSize: buttonSize },
|
|
220
|
-
React__default['default'].createElement(Button, tslib.__assign({ height: buttonSize, round: true }, eraserBrushColourProps, { onClick: function () { return setBrushType('eraser'); } }),
|
|
221
|
-
React__default['default'].createElement(Icon, { "data-tip": "Eraser", fill: brushType === 'eraser' ? 'white' : currentColour.hex, name: 'drawing-tool-eraser' })),
|
|
222
|
-
React__default['default'].createElement(Button, tslib.__assign({ "data-tip": "Fill brush", height: buttonSize, round: true }, fillBrushColourProps, { onClick: function () { return setBrushType('fill'); } }),
|
|
223
|
-
React__default['default'].createElement(Icon, { fill: brushType === 'fill' ? 'white' : currentColour.hex, name: 'drawing-tool-fill-brush' })),
|
|
224
|
-
React__default['default'].createElement(Button, tslib.__assign({ "data-tip": "Line brush", height: buttonSize, round: true }, lineBrushColourProps, { onClick: function () { return setBrushType('line'); } }),
|
|
225
|
-
React__default['default'].createElement(Icon, { fill: brushType === 'line' ? 'white' : currentColour.hex, name: 'drawing-tool-line-brush' })),
|
|
226
|
-
React__default['default'].createElement(Button, tslib.__assign({ height: buttonSize, round: true }, smallLineColourProps, { onClick: function () { return setBrushSize(DrawingToolProvider.BrushSize.small); } }),
|
|
227
|
-
React__default['default'].createElement(Icon, { fill: brushSize === DrawingToolProvider.BrushSize.small ? 'white' : currentColour.hex, name: 'drawing-tool-small-line' })),
|
|
228
|
-
React__default['default'].createElement(Button, tslib.__assign({ height: buttonSize, round: true }, mediumLineColourProps, { onClick: function () { return setBrushSize(DrawingToolProvider.BrushSize.medium); } }),
|
|
229
|
-
React__default['default'].createElement(Icon, { fill: brushSize === DrawingToolProvider.BrushSize.medium ? 'white' : currentColour.hex, name: 'drawing-tool-medium-line' })),
|
|
230
|
-
React__default['default'].createElement(Button, tslib.__assign({ height: buttonSize, round: true }, largeLineColourProps, { onClick: function () { return setBrushSize(DrawingToolProvider.BrushSize.large); } }),
|
|
231
|
-
React__default['default'].createElement(Icon, { fill: brushSize === DrawingToolProvider.BrushSize.large ? 'white' : currentColour.hex, name: 'drawing-tool-large-line' })))),
|
|
232
|
-
React__default['default'].createElement(DrawingTool_styles.SketchContainer, { orientation: orientation, ref: sketchOuterRef },
|
|
233
|
-
props.showPaperBackground && React__default['default'].createElement(DrawingTool_styles.PaperBackground, { cutMode: imageToCut && true }),
|
|
234
|
-
!imageToCut && sketchStyles && React__default['default'].createElement("div", { style: sketchStyles, ref: sketchInnerRef }),
|
|
235
|
-
imageToCut && sketchStyles && React__default['default'].createElement("div", { style: sketchStyles, ref: sketchCutInnerRef }),
|
|
236
|
-
imageToPlace && sketchStyles && (React__default['default'].createElement("div", { style: tslib.__assign(tslib.__assign({}, sketchStyles), { zIndex: '101' }) },
|
|
237
|
-
React__default['default'].createElement(DrawingTool_styles.ImageToPlaceContainer, null,
|
|
238
|
-
React__default['default'].createElement(DrawingTool_styles.ImageToPlace, { ref: imageToPlaceContainerRef, src: imageToPlace.src })),
|
|
239
|
-
React__default['default'].createElement(Moveable__default['default'], { ref: moveableRef, target: imageToPlaceContainerRef, ables: [index], props: {
|
|
240
|
-
placeable: true,
|
|
241
|
-
}, snappable: true, bounds: { left: 0, top: 0, bottom: (_a = sketchOuterRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight, right: (_b = sketchOuterRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth }, draggable: true, scalable: true, keepRatio: true, rotatable: true, onDragStart: helper.onDragStart, onDrag: helper.onDrag, onScaleStart: helper.onScaleStart, onScale: helper.onScale, onRotateStart: helper.onRotateStart, onRotate: helper.onRotate }))),
|
|
242
|
-
inSketchActions.length && (React__default['default'].createElement(DrawingTool_styles.InSketchActions, null, inSketchActions.map(function (action) { return (React__default['default'].createElement(DrawingTool_styles.InSketchAction, { key: action.key }, action.component)); }))),
|
|
243
|
-
imageToCut && showCutTutorial && React__default['default'].createElement(DrawingTool_styles.CutImageTutorial, { onClick: function () { return setShowCutTutorial(false); } },
|
|
244
|
-
React__default['default'].createElement("div", null, "Now cut out your animal: Click, hold and make sure you draw around it."),
|
|
245
|
-
React__default['default'].createElement("img", { alt: "crop example", src: "https://cdn.nightzookeeper.com/nzk-assets/crop-tutorial.png" }),
|
|
246
|
-
React__default['default'].createElement("div", null,
|
|
247
|
-
React__default['default'].createElement(Button, { size: isMobile ? "small" : "regular", theme: "primary" }, "Ok")))),
|
|
248
|
-
React__default['default'].createElement(DrawingTool_styles.RightToolbarContainer, { orientation: orientation, buttonSize: buttonSize, disabled: disableToolbars },
|
|
249
|
-
React__default['default'].createElement(ColourToolbar, { orientation: orientation, size: buttonSize, currentColour: currentColour }),
|
|
250
|
-
React__default['default'].createElement(OpacityToggle, { orientation: orientation, buttonSize: buttonSize }))),
|
|
251
|
-
showRestartConfirmModal && React__default['default'].createElement(DrawingTool_styles.ModalOverlay, null,
|
|
252
|
-
React__default['default'].createElement(Modal, { title: "Are you sure?", actions: [
|
|
253
|
-
React__default['default'].createElement(Button, { key: 'cancel', size: isMobile ? "small" : "regular", theme: "red", onClick: function () {
|
|
254
|
-
setShowRestartConfirmModal(false);
|
|
255
|
-
} }, "No"),
|
|
256
|
-
React__default['default'].createElement(Button, { key: 'confirm', size: isMobile ? "small" : "regular", theme: "confirm", onClick: function () {
|
|
257
|
-
restart();
|
|
258
|
-
setShowRestartConfirmModal(false);
|
|
259
|
-
} }, "Yes"),
|
|
260
|
-
] })),
|
|
261
|
-
showFileInput && React__default['default'].createElement(DrawingTool_styles.ModalOverlay, null,
|
|
262
|
-
React__default['default'].createElement(FileInput, { isMobile: isMobile, dismiss: function () { return setShowFileInput(false); }, onImageUploaded: onImageUploaded, minImageSize: props.minImageUploadSize })));
|
|
263
|
-
};
|
|
264
|
-
Drawing.defaultProps = {
|
|
265
|
-
prompt: 'Draw your Animal',
|
|
266
|
-
showHeader: true,
|
|
267
|
-
onBack: function () { },
|
|
268
|
-
onSave: function () { },
|
|
269
|
-
showPaperBackground: true,
|
|
270
|
-
disableCameraUpload: false,
|
|
271
|
-
disableAutoCache: false,
|
|
272
|
-
cacheKey: 'nzk-sketch-cache',
|
|
273
|
-
openUploadPopupOnStart: false
|
|
274
|
-
};
|
|
275
|
-
|
|
276
|
-
module.exports = Drawing;
|
|
277
|
-
//# sourceMappingURL=DrawingTool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingTool.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Story } from "@storybook/react";
|
|
2
|
-
import { Meta } from "@storybook/react/types-6-0";
|
|
3
|
-
import { Props as DrawingToolProps } from "./DrawingTool";
|
|
4
|
-
declare const _default: Meta<import("@storybook/react").Args>;
|
|
5
|
-
export default _default;
|
|
6
|
-
export declare const Primary: Story<DrawingToolProps>;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Orientation } from './DrawingTool';
|
|
2
|
-
export declare const Container: import("styled-components").StyledComponent<"div", any, {
|
|
3
|
-
maxWidth: number;
|
|
4
|
-
maxHeight: number;
|
|
5
|
-
}, never>;
|
|
6
|
-
export declare const Tool: import("styled-components").StyledComponent<"div", any, {
|
|
7
|
-
orientation: Orientation;
|
|
8
|
-
hasHeader: boolean;
|
|
9
|
-
headerHeight: number;
|
|
10
|
-
}, never>;
|
|
11
|
-
export declare const ButtonGroup: import("styled-components").StyledComponent<"div", any, {
|
|
12
|
-
orientation: Orientation;
|
|
13
|
-
buttonSize: number;
|
|
14
|
-
}, never>;
|
|
15
|
-
export declare const ColourButtonGroup: import("styled-components").StyledComponent<"div", any, {
|
|
16
|
-
orientation: Orientation;
|
|
17
|
-
buttonSize: number;
|
|
18
|
-
}, never>;
|
|
19
|
-
export declare const ScrollableColours: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
20
|
-
export declare const LeftToolbarContainer: import("styled-components").StyledComponent<"div", any, {
|
|
21
|
-
orientation: Orientation;
|
|
22
|
-
buttonSize: number;
|
|
23
|
-
disabled: boolean;
|
|
24
|
-
}, never>;
|
|
25
|
-
export declare const RightToolbarContainer: import("styled-components").StyledComponent<"div", any, {
|
|
26
|
-
orientation: Orientation;
|
|
27
|
-
buttonSize: number;
|
|
28
|
-
disabled: boolean;
|
|
29
|
-
}, never>;
|
|
30
|
-
export declare const SketchContainer: import("styled-components").StyledComponent<"div", any, {
|
|
31
|
-
orientation: Orientation;
|
|
32
|
-
}, never>;
|
|
33
|
-
export declare const PaperBackground: import("styled-components").StyledComponent<"div", any, {
|
|
34
|
-
cutMode?: boolean | undefined;
|
|
35
|
-
}, never>;
|
|
36
|
-
export declare const InSketchActions: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
37
|
-
export declare const InSketchAction: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
38
|
-
export declare const ModalOverlay: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
39
|
-
export declare const ImageToPlaceContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
40
|
-
export declare const ImageToPlace: import("styled-components").StyledComponent<"img", any, {}, never>;
|
|
41
|
-
export declare const CutImageTutorial: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
var styled = require('styled-components');
|
|
7
|
-
|
|
8
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
-
|
|
10
|
-
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
11
|
-
|
|
12
|
-
var getToolbarWidth = function (props) {
|
|
13
|
-
if (props.orientation === 'PORTRAIT')
|
|
14
|
-
return '100%';
|
|
15
|
-
return props.buttonSize + 10 + "px";
|
|
16
|
-
};
|
|
17
|
-
var getToolbarHeight = function (props) {
|
|
18
|
-
if (props.orientation === 'LANDSCAPE')
|
|
19
|
-
return '100%';
|
|
20
|
-
return props.buttonSize + 10 + "px";
|
|
21
|
-
};
|
|
22
|
-
var Container = styled__default['default'].div(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n position: relative;\n width: calc(100% - 40px);\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n max-width: ", "px;\n max-height: ", "px;\n * {\n box-sizing: border-box;\n }\n"], ["\n position: relative;\n width: calc(100% - 40px);\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n max-width: ", "px;\n max-height: ", "px;\n * {\n box-sizing: border-box;\n }\n"])), function (props) { return props.maxWidth; }, function (props) { return props.maxHeight; });
|
|
23
|
-
var Tool = styled__default['default'].div(templateObject_2 || (templateObject_2 = tslib.__makeTemplateObject(["\n position: absolute;\n top: ", "px;\n height: ", ";\n width: 100%;\n display: flex;\n flex-shrink: none;\n flex-direction: ", ";\n"], ["\n position: absolute;\n top: ", "px;\n height: ", ";\n width: 100%;\n display: flex;\n flex-shrink: none;\n flex-direction: ", ";\n"])), function (props) { return props.hasHeader ? props.headerHeight : 0; }, function (props) { return props.hasHeader ? "calc(100% - " + (props.headerHeight + 20) + "px)" : 'calc(100% - 20px)'; }, function (props) { return props.orientation === 'LANDSCAPE' ? 'row' : 'column'; });
|
|
24
|
-
var ButtonGroup = styled__default['default'].div(templateObject_3 || (templateObject_3 = tslib.__makeTemplateObject(["\n display: flex;\n flex-shrink: none;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n > div {\n user-select: none;\n margin-bottom: ", ";\n margin-right: ", ";\n }\n"], ["\n display: flex;\n flex-shrink: none;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n > div {\n user-select: none;\n margin-bottom: ", ";\n margin-right: ", ";\n }\n"])), function (props) { return props.orientation === 'LANDSCAPE' ? Math.floor(props.buttonSize / 5) + "px" : 0; }, function (props) { return props.orientation === 'PORTRAIT' ? Math.floor(props.buttonSize / 5) + "px" : 0; });
|
|
25
|
-
styled__default['default'].div(templateObject_4 || (templateObject_4 = tslib.__makeTemplateObject(["\n background-color: rgba(255, 255, 255, .5);\n border-radius: ", "px;\n padding-top: 8px;\n padding-bottom: 8px;\n padding-left: ", ";\n padding-right: ", ";\n display: flex;\n height: 70%;\n flex-wrap: ", ";\n justify-content: center;\n align-items: center;\n overflow: hidden;\n > div {\n margin-bottom: ", ";\n margin-right: ", ";\n }\n"], ["\n background-color: rgba(255, 255, 255, .5);\n border-radius: ", "px;\n padding-top: 8px;\n padding-bottom: 8px;\n padding-left: ", ";\n padding-right: ", ";\n display: flex;\n height: 70%;\n flex-wrap: ", ";\n justify-content: center;\n align-items: center;\n overflow: hidden;\n > div {\n margin-bottom: ", ";\n margin-right: ", ";\n }\n"])), function (props) { return props.buttonSize; }, function (props) { return props.orientation === 'PORTRAIT' ? '8px' : 0; }, function (props) { return props.orientation === 'PORTRAIT' ? '8px' : 0; }, function (props) { return props.orientation === 'LANDSCAPE' ? 'wrap' : 'no-wrap'; }, function (props) { return props.orientation === 'LANDSCAPE' ? Math.floor(props.buttonSize / 5) + "px" : 0; }, function (props) { return props.orientation === 'PORTRAIT' ? Math.floor(props.buttonSize / 5) + "px" : 0; });
|
|
26
|
-
styled__default['default'].div(templateObject_5 || (templateObject_5 = tslib.__makeTemplateObject(["\n overflow: hidden;\n"], ["\n overflow: hidden;\n"])));
|
|
27
|
-
var LeftToolbarContainer = styled__default['default'].div(templateObject_6 || (templateObject_6 = tslib.__makeTemplateObject(["\n position: relative;\n pointer-events: ", ";\n opacity: ", ";\n filter: ", ";\n width: ", ";\n height: ", ";\n order: ", ";\n display: flex;\n flex-direction: ", ";\n justify-content: space-between;\n align-items: center;\n"], ["\n position: relative;\n pointer-events: ", ";\n opacity: ", ";\n filter: ", ";\n width: ", ";\n height: ", ";\n order: ", ";\n display: flex;\n flex-direction: ", ";\n justify-content: space-between;\n align-items: center;\n"])), function (props) { return props.disabled ? 'none' : 'all'; }, function (props) { return props.disabled ? 0.5 : 1; }, function (props) { return props.disabled ? 'grayscale(100%)' : 'none'; }, function (props) { return getToolbarWidth(props); }, function (props) { return getToolbarHeight(props); }, function (props) { return props.orientation === 'LANDSCAPE' ? 1 : 2; }, function (props) { return props.orientation === 'LANDSCAPE' ? 'column' : 'row'; });
|
|
28
|
-
var RightToolbarContainer = styled__default['default'].div(templateObject_7 || (templateObject_7 = tslib.__makeTemplateObject(["\n position: relative;\n width: ", ";\n max-height: ", ";\n opacity: ", ";\n pointer-events: ", ";\n filter: ", ";\n order: 3;\n justify-content: space-between;\n display: flex;\n flex-direction: ", ";\n margin-top: ", ";\n align-items: center;\n"], ["\n position: relative;\n width: ", ";\n max-height: ", ";\n opacity: ", ";\n pointer-events: ", ";\n filter: ", ";\n order: 3;\n justify-content: space-between;\n display: flex;\n flex-direction: ", ";\n margin-top: ", ";\n align-items: center;\n"])), function (props) { return getToolbarWidth(props); }, function (props) { return getToolbarHeight(props); }, function (props) { return props.disabled ? 0.5 : 1; }, function (props) { return props.disabled ? 'none' : 'all'; }, function (props) { return props.disabled ? 'grayscale(100%)' : 'none'; }, function (props) { return props.orientation === 'LANDSCAPE' ? 'column' : 'row'; }, function (props) { return props.orientation === 'PORTRAIT' ? '10px' : '0px'; });
|
|
29
|
-
var SketchContainer = styled__default['default'].div(templateObject_8 || (templateObject_8 = tslib.__makeTemplateObject(["\n position: relative;\n flex: 1 1 auto;\n margin-left: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n order: ", ";\n\n .moveable-rotation .moveable-control.moveable-rotation-control {\n border: none !important;\n width: 24px !important;\n height: 24px !important;\n margin-top: -12px !important;\n margin-left: -12px !important;\n cursor: alias;\n opacity: 0;\n }\n\n .moveable-control {\n width: 24px !important;\n height: 24px !important;\n margin-top: -12px !important;\n margin-left: -12px !important;\n border: none !important;\n }\n\n .moveable-line.moveable-rotation-line {\n width: 4px !important;\n height: 40px !important;\n margin-left: -1px;\n }\n\n .moveable-line {\n height: 4px !important;\n }\n\n .moveable-origin {\n display: none !important;\n }\n}"], ["\n position: relative;\n flex: 1 1 auto;\n margin-left: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n order: ", ";\n\n .moveable-rotation .moveable-control.moveable-rotation-control {\n border: none !important;\n width: 24px !important;\n height: 24px !important;\n margin-top: -12px !important;\n margin-left: -12px !important;\n cursor: alias;\n opacity: 0;\n }\n\n .moveable-control {\n width: 24px !important;\n height: 24px !important;\n margin-top: -12px !important;\n margin-left: -12px !important;\n border: none !important;\n }\n\n .moveable-line.moveable-rotation-line {\n width: 4px !important;\n height: 40px !important;\n margin-left: -1px;\n }\n\n .moveable-line {\n height: 4px !important;\n }\n\n .moveable-origin {\n display: none !important;\n }\n}"])), function (props) { return props.orientation === 'LANDSCAPE' ? '10px' : '0px'; }, function (props) { return props.orientation === 'LANDSCAPE' ? '20px' : '0px'; }, function (props) { return props.orientation === 'LANDSCAPE' ? '0px' : '10px'; }, function (props) { return props.orientation === 'LANDSCAPE' ? 2 : 1; });
|
|
30
|
-
var PaperBackground = styled__default['default'].div(templateObject_9 || (templateObject_9 = tslib.__makeTemplateObject(["\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n box-shadow: 0px 4px 0px #C7C7C6;\n background: ", ";\n\n &:before, &:after {\n z-index: -1;\n position: absolute;\n content: \"\";\n bottom: 7px;\n left: 10px;\n width: 50%;\n top: 80%;\n max-width: 300px;\n background: rgba(0,0,0,.3);\n box-shadow: 0 15px 0px rgba(0,0,0,.3);\n transform: rotate(-3deg);\n }\n &:after {\n transform: rotate(3deg);\n right: 10px;\n left: auto;\n }\n"], ["\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n box-shadow: 0px 4px 0px #C7C7C6;\n background: ", ";\n\n &:before, &:after {\n z-index: -1;\n position: absolute;\n content: \"\";\n bottom: 7px;\n left: 10px;\n width: 50%;\n top: 80%;\n max-width: 300px;\n background: rgba(0,0,0,.3);\n box-shadow: 0 15px 0px rgba(0,0,0,.3);\n transform: rotate(-3deg);\n }\n &:after {\n transform: rotate(3deg);\n right: 10px;\n left: auto;\n }\n"])), function (props) { return props.cutMode
|
|
31
|
-
? 'repeating-linear-gradient(-45deg, #ebebeb, #ebebeb 20px, #dfdfdf 20px, #dfdfdf 40px)'
|
|
32
|
-
: '#ebebeb'; });
|
|
33
|
-
var InSketchActions = styled__default['default'].div(templateObject_10 || (templateObject_10 = tslib.__makeTemplateObject(["\n position: absolute;\n width: 100%;\n bottom: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 102;\n @media (max-width: 768px) {\n bottom: 10px;\n }\n @media (max-height: 500px) {\n bottom: 10px;\n }\n"], ["\n position: absolute;\n width: 100%;\n bottom: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 102;\n @media (max-width: 768px) {\n bottom: 10px;\n }\n @media (max-height: 500px) {\n bottom: 10px;\n }\n"])));
|
|
34
|
-
var InSketchAction = styled__default['default'].div(templateObject_11 || (templateObject_11 = tslib.__makeTemplateObject(["\n position: relative;\n margin-right: 20px;\n"], ["\n position: relative;\n margin-right: 20px;\n"])));
|
|
35
|
-
var ModalOverlay = styled__default['default'].div(templateObject_12 || (templateObject_12 = tslib.__makeTemplateObject(["\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n z-index: 100;\n display: flex;\n justify-content: center;\n align-items: center;\n"], ["\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n z-index: 100;\n display: flex;\n justify-content: center;\n align-items: center;\n"])));
|
|
36
|
-
var ImageToPlaceContainer = styled__default['default'].div(templateObject_13 || (templateObject_13 = tslib.__makeTemplateObject(["\n position: absolute;\n left: 0;\n top: 0;\n z-index: 101;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}"], ["\n position: absolute;\n left: 0;\n top: 0;\n z-index: 101;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}"])));
|
|
37
|
-
var ImageToPlace = styled__default['default'].img(templateObject_14 || (templateObject_14 = tslib.__makeTemplateObject(["\n position: absolute;\n width: 80%;\n max-width: 400px;\n @media (max-width: 768px) {\n max-width: 200px;\n }\n @media (max-height: 600px) {\n width: auto;\n height: 80%;\n max-width: none;\n max-height: 200px;\n }\n}\n"], ["\n position: absolute;\n width: 80%;\n max-width: 400px;\n @media (max-width: 768px) {\n max-width: 200px;\n }\n @media (max-height: 600px) {\n width: auto;\n height: 80%;\n max-width: none;\n max-height: 200px;\n }\n}\n"])));
|
|
38
|
-
var CutImageTutorial = styled__default['default'].div(templateObject_15 || (templateObject_15 = tslib.__makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n left: 50%;\n top: 50%;\n width: 90%;\n height: 90%;\n transform: translate(-50%, -50%);\n max-width: 800px;\n max-height: 600px;\n background-color: white;\n z-index: 101;\n border-radius: 50px;\n padding: 40px;\n background-color: #341644;\n box-shadow: 0 -5px 0 #531D75, 0 10px 0 #1C042B, 0 14px 0 rgba(0,0,0,0.3);\n box-sizing: border-box;\n color: white;\n font-size: 30px;\n text-align: center;\n\n @media (max-width: 960px) {\n font-size: 24px;\n }\n\n @media (max-width: 760px), (max-height: 600px) {\n font-size: 16px;\n width: 95%;\n padding: 30px;\n }\n\n img {\n width: 100%;\n max-width: 350px;\n @media (max-width: 960px) {\n max-width: 250px;\n }\n @media (max-width: 760px), (max-height: 600px) {\n max-width: 120px;\n }\n }\n > :last-child {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n\n"], ["\n position: absolute;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n left: 50%;\n top: 50%;\n width: 90%;\n height: 90%;\n transform: translate(-50%, -50%);\n max-width: 800px;\n max-height: 600px;\n background-color: white;\n z-index: 101;\n border-radius: 50px;\n padding: 40px;\n background-color: #341644;\n box-shadow: 0 -5px 0 #531D75, 0 10px 0 #1C042B, 0 14px 0 rgba(0,0,0,0.3);\n box-sizing: border-box;\n color: white;\n font-size: 30px;\n text-align: center;\n\n @media (max-width: 960px) {\n font-size: 24px;\n }\n\n @media (max-width: 760px), (max-height: 600px) {\n font-size: 16px;\n width: 95%;\n padding: 30px;\n }\n\n img {\n width: 100%;\n max-width: 350px;\n @media (max-width: 960px) {\n max-width: 250px;\n }\n @media (max-width: 760px), (max-height: 600px) {\n max-width: 120px;\n }\n }\n > :last-child {\n width: 100%;\n display: flex;\n justify-content: center;\n }\n\n"])));
|
|
39
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
|
|
40
|
-
|
|
41
|
-
exports.ButtonGroup = ButtonGroup;
|
|
42
|
-
exports.Container = Container;
|
|
43
|
-
exports.CutImageTutorial = CutImageTutorial;
|
|
44
|
-
exports.ImageToPlace = ImageToPlace;
|
|
45
|
-
exports.ImageToPlaceContainer = ImageToPlaceContainer;
|
|
46
|
-
exports.InSketchAction = InSketchAction;
|
|
47
|
-
exports.InSketchActions = InSketchActions;
|
|
48
|
-
exports.LeftToolbarContainer = LeftToolbarContainer;
|
|
49
|
-
exports.ModalOverlay = ModalOverlay;
|
|
50
|
-
exports.PaperBackground = PaperBackground;
|
|
51
|
-
exports.RightToolbarContainer = RightToolbarContainer;
|
|
52
|
-
exports.SketchContainer = SketchContainer;
|
|
53
|
-
exports.Tool = Tool;
|
|
54
|
-
//# sourceMappingURL=DrawingTool.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingTool.styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { SketchActionMergeData } from './lib/SketchModel';
|
|
3
|
-
export declare const BrushSize: {
|
|
4
|
-
small: number;
|
|
5
|
-
medium: number;
|
|
6
|
-
large: number;
|
|
7
|
-
};
|
|
8
|
-
export declare type BrushType = 'fill' | 'line' | 'eraser';
|
|
9
|
-
export declare const Colours: {
|
|
10
|
-
rgb: number[];
|
|
11
|
-
hex: string;
|
|
12
|
-
}[];
|
|
13
|
-
export interface Colour {
|
|
14
|
-
rgb: number[];
|
|
15
|
-
hex: string;
|
|
16
|
-
}
|
|
17
|
-
declare type ToolMode = 'LOADING' | 'DRAW' | 'CUT' | 'PLACE';
|
|
18
|
-
export interface Props {
|
|
19
|
-
cache?: string;
|
|
20
|
-
}
|
|
21
|
-
export declare const DrawingToolProvider: import("react").ComponentType<import("unstated-next").ContainerProviderProps<Props>>;
|
|
22
|
-
export declare const useDrawingTool: () => {
|
|
23
|
-
initSketch: (containerEl: any) => void;
|
|
24
|
-
initSketchCut: (containerEl: any, imageToCut: HTMLImageElement, onImageCut: () => void) => void;
|
|
25
|
-
exportSketch: (options?: {
|
|
26
|
-
crop: boolean;
|
|
27
|
-
}) => string;
|
|
28
|
-
exportSketchCut: () => string;
|
|
29
|
-
currentColour: {
|
|
30
|
-
rgb: number[];
|
|
31
|
-
hex: string;
|
|
32
|
-
};
|
|
33
|
-
setCurrentColour: import("react").Dispatch<import("react").SetStateAction<{
|
|
34
|
-
rgb: number[];
|
|
35
|
-
hex: string;
|
|
36
|
-
}>>;
|
|
37
|
-
brushOpacity: number;
|
|
38
|
-
setBruchOpacity: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
39
|
-
brushSize: number;
|
|
40
|
-
setBrushSize: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
41
|
-
brushType: string;
|
|
42
|
-
setBrushType: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
43
|
-
undo: () => void;
|
|
44
|
-
redo: () => void;
|
|
45
|
-
restart: () => void;
|
|
46
|
-
onSketchChange: () => void;
|
|
47
|
-
setCacheKey: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
48
|
-
setAutoCache: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
49
|
-
clearCache: () => void;
|
|
50
|
-
resetCut: () => void;
|
|
51
|
-
mergeImage: (data: SketchActionMergeData) => void | null;
|
|
52
|
-
setToolMode: import("react").Dispatch<import("react").SetStateAction<ToolMode>>;
|
|
53
|
-
toolMode: ToolMode;
|
|
54
|
-
exportCache: () => string | null;
|
|
55
|
-
};
|
|
56
|
-
export {};
|