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.
Files changed (79) hide show
  1. package/dist/hooks/useCloudinary/index.d.ts +1 -0
  2. package/dist/hooks/useCloudinary/index.js +43 -1
  3. package/dist/hooks/useCloudinary/index.js.map +1 -1
  4. package/dist/hooks/useCloudinary/useCloudinary.stories.d.ts +1 -0
  5. package/package.json +1 -1
  6. package/dist/components/DrawingTool/DrawingTool.d.ts +0 -29
  7. package/dist/components/DrawingTool/DrawingTool.js +0 -277
  8. package/dist/components/DrawingTool/DrawingTool.js.map +0 -1
  9. package/dist/components/DrawingTool/DrawingTool.stories.d.ts +0 -6
  10. package/dist/components/DrawingTool/DrawingTool.styles.d.ts +0 -41
  11. package/dist/components/DrawingTool/DrawingTool.styles.js +0 -54
  12. package/dist/components/DrawingTool/DrawingTool.styles.js.map +0 -1
  13. package/dist/components/DrawingTool/DrawingToolProvider.d.ts +0 -56
  14. package/dist/components/DrawingTool/DrawingToolProvider.js +0 -182
  15. package/dist/components/DrawingTool/DrawingToolProvider.js.map +0 -1
  16. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.d.ts +0 -21
  17. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.js +0 -89
  18. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.js.map +0 -1
  19. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.d.ts +0 -9
  20. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.js +0 -18
  21. package/dist/components/DrawingTool/components/ColourToolbar/ColourToolbar.styles.js.map +0 -1
  22. package/dist/components/DrawingTool/components/ColourToolbar/index.d.ts +0 -2
  23. package/dist/components/DrawingTool/components/ColourToolbar/index.js +0 -8
  24. package/dist/components/DrawingTool/components/ColourToolbar/index.js.map +0 -1
  25. package/dist/components/DrawingTool/components/FileInput/FileInput.d.ts +0 -9
  26. package/dist/components/DrawingTool/components/FileInput/FileInput.js +0 -88
  27. package/dist/components/DrawingTool/components/FileInput/FileInput.js.map +0 -1
  28. package/dist/components/DrawingTool/components/FileInput/FileInput.styles.d.ts +0 -4
  29. package/dist/components/DrawingTool/components/FileInput/FileInput.styles.js +0 -22
  30. package/dist/components/DrawingTool/components/FileInput/FileInput.styles.js.map +0 -1
  31. package/dist/components/DrawingTool/components/FileInput/index.d.ts +0 -2
  32. package/dist/components/DrawingTool/components/FileInput/index.js +0 -8
  33. package/dist/components/DrawingTool/components/FileInput/index.js.map +0 -1
  34. package/dist/components/DrawingTool/components/Header/Header.d.ts +0 -9
  35. package/dist/components/DrawingTool/components/Header/Header.js +0 -38
  36. package/dist/components/DrawingTool/components/Header/Header.js.map +0 -1
  37. package/dist/components/DrawingTool/components/Header/index.d.ts +0 -2
  38. package/dist/components/DrawingTool/components/Header/index.js +0 -8
  39. package/dist/components/DrawingTool/components/Header/index.js.map +0 -1
  40. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.d.ts +0 -8
  41. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.js +0 -31
  42. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.js.map +0 -1
  43. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.d.ts +0 -9
  44. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.js +0 -18
  45. package/dist/components/DrawingTool/components/OpacityToggle/OpacityToggle.styles.js.map +0 -1
  46. package/dist/components/DrawingTool/components/OpacityToggle/index.d.ts +0 -2
  47. package/dist/components/DrawingTool/components/OpacityToggle/index.js +0 -8
  48. package/dist/components/DrawingTool/components/OpacityToggle/index.js.map +0 -1
  49. package/dist/components/DrawingTool/components/Placeable/index.d.ts +0 -9
  50. package/dist/components/DrawingTool/components/Placeable/index.js +0 -22
  51. package/dist/components/DrawingTool/components/Placeable/index.js.map +0 -1
  52. package/dist/components/DrawingTool/index.d.ts +0 -2
  53. package/dist/components/DrawingTool/lib/Sketch.d.ts +0 -90
  54. package/dist/components/DrawingTool/lib/Sketch.js +0 -414
  55. package/dist/components/DrawingTool/lib/Sketch.js.map +0 -1
  56. package/dist/components/DrawingTool/lib/SketchCut.d.ts +0 -22
  57. package/dist/components/DrawingTool/lib/SketchCut.js +0 -98
  58. package/dist/components/DrawingTool/lib/SketchCut.js.map +0 -1
  59. package/dist/components/DrawingTool/lib/SketchCutModel.d.ts +0 -6
  60. package/dist/components/DrawingTool/lib/SketchCutModel.js +0 -20
  61. package/dist/components/DrawingTool/lib/SketchCutModel.js.map +0 -1
  62. package/dist/components/DrawingTool/lib/SketchLayer.d.ts +0 -27
  63. package/dist/components/DrawingTool/lib/SketchLayer.js +0 -59
  64. package/dist/components/DrawingTool/lib/SketchLayer.js.map +0 -1
  65. package/dist/components/DrawingTool/lib/SketchModel.d.ts +0 -65
  66. package/dist/components/DrawingTool/lib/SketchModel.js +0 -137
  67. package/dist/components/DrawingTool/lib/SketchModel.js.map +0 -1
  68. package/dist/components/DrawingTool/lib/SketchStrokeModel.d.ts +0 -33
  69. package/dist/components/DrawingTool/lib/SketchStrokeModel.js +0 -48
  70. package/dist/components/DrawingTool/lib/SketchStrokeModel.js.map +0 -1
  71. package/dist/components/DrawingTool/lib/createInteractionSurface.d.ts +0 -16
  72. package/dist/components/DrawingTool/lib/createInteractionSurface.js +0 -56
  73. package/dist/components/DrawingTool/lib/createInteractionSurface.js.map +0 -1
  74. package/dist/components/DrawingTool/lib/trace.d.ts +0 -3
  75. package/dist/components/DrawingTool/lib/trace.js +0 -24
  76. package/dist/components/DrawingTool/lib/trace.js.map +0 -1
  77. package/dist/components/DrawingTool/lib/trimCanvas.d.ts +0 -2
  78. package/dist/components/DrawingTool/lib/trimCanvas.js +0 -42
  79. 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,3 +3,4 @@ import { Meta } from "@storybook/react/types-6-0";
3
3
  declare const _default: Meta<import("@storybook/react").Args>;
4
4
  export default _default;
5
5
  export declare const base64ImageUpload: Story;
6
+ export declare const base64ImagePromiseUpload: Story;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nzk-react-components",
3
- "version": "0.4.2-1",
3
+ "version": "0.4.2",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -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 {};