nzk-react-components 0.3.7 → 0.4.0-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/Button.d.ts +2 -1
- package/dist/components/DatePicker/DatePicker.d.ts +16 -0
- package/dist/components/DatePicker/DatePicker.js +60 -0
- package/dist/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/DatePicker/DatePicker.stories.d.ts +6 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/index.js +8 -0
- package/dist/components/{DrawingTool/components/CropChoicePopup → DatePicker}/index.js.map +0 -0
- package/dist/components/DrawingTool/DrawingTool.d.ts +0 -3
- package/dist/components/DrawingTool/DrawingTool.js +45 -83
- package/dist/components/DrawingTool/DrawingTool.js.map +1 -1
- package/dist/components/DrawingTool/DrawingTool.styles.d.ts +1 -7
- package/dist/components/DrawingTool/DrawingTool.styles.js +5 -6
- package/dist/components/DrawingTool/DrawingTool.styles.js.map +1 -1
- package/dist/components/DrawingTool/DrawingToolProvider.d.ts +4 -5
- package/dist/components/DrawingTool/DrawingToolProvider.js +9 -15
- package/dist/components/DrawingTool/DrawingToolProvider.js.map +1 -1
- package/dist/components/DrawingTool/components/Header/Header.js +2 -2
- package/dist/components/DrawingTool/lib/Sketch.js +5 -2
- package/dist/components/DrawingTool/lib/Sketch.js.map +1 -1
- package/dist/components/Input/Input.d.ts +7 -0
- package/dist/components/Input/Input.js +19 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.stories.d.ts +6 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.js +8 -0
- package/dist/components/{DrawingTool/components/ImageInputPopup → Input}/index.js.map +0 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -5
- package/dist/.DS_Store +0 -0
- package/dist/assets/.DS_Store +0 -0
- package/dist/assets/icons/.DS_Store +0 -0
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.d.ts +0 -8
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.js +0 -27
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.js.map +0 -1
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.styles.d.ts +0 -5
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.styles.js +0 -20
- package/dist/components/DrawingTool/components/CropChoicePopup/CropChoicePopup.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/CropChoicePopup/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/CropChoicePopup/index.js +0 -8
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.d.ts +0 -9
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.js +0 -83
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.js.map +0 -1
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.styles.d.ts +0 -4
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.styles.js +0 -22
- package/dist/components/DrawingTool/components/ImageInputPopup/ImageInputPopup.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/ImageInputPopup/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/ImageInputPopup/index.js +0 -8
- package/dist/components/DrawingTool/components/Loader.d.ts +0 -19
- package/dist/components/DrawingTool/components/Loader.js +0 -35
- package/dist/components/DrawingTool/components/Loader.js.map +0 -1
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.d.ts +0 -8
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.js +0 -82
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.js.map +0 -1
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.styles.d.ts +0 -8
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.styles.js +0 -26
- package/dist/components/DrawingTool/components/MagicCropPopup/MagicCropPopup.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/MagicCropPopup/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/MagicCropPopup/index.js +0 -8
- package/dist/components/DrawingTool/components/MagicCropPopup/index.js.map +0 -1
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.d.ts +0 -7
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.js +0 -25
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.js.map +0 -1
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.styles.d.ts +0 -4
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.styles.js +0 -18
- package/dist/components/DrawingTool/components/ManualCropPopup/ManualCropPopup.styles.js.map +0 -1
- package/dist/components/DrawingTool/components/ManualCropPopup/index.d.ts +0 -2
- package/dist/components/DrawingTool/components/ManualCropPopup/index.js +0 -8
- package/dist/components/DrawingTool/components/ManualCropPopup/index.js.map +0 -1
- package/dist/components/DrawingTool/components/Popup.d.ts +0 -13
- package/dist/components/DrawingTool/components/Popup.js +0 -34
- package/dist/components/DrawingTool/components/Popup.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
2
|
export interface BaseProps {
|
|
3
3
|
backgroundColor: string;
|
|
4
4
|
height: number;
|
|
@@ -21,6 +21,7 @@ export interface ButtonProps extends BaseProps {
|
|
|
21
21
|
children?: any;
|
|
22
22
|
disabled?: boolean;
|
|
23
23
|
onClick?: () => void;
|
|
24
|
+
ref?: ((instance: any | null) => void) | RefObject<any> | null;
|
|
24
25
|
}
|
|
25
26
|
declare const Button: (props: ButtonProps) => JSX.Element;
|
|
26
27
|
export default Button;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export interface DatePickerProps {
|
|
3
|
+
primary: string;
|
|
4
|
+
autoFocus?: boolean;
|
|
5
|
+
onChange?: (date: Date) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const DatePicker: {
|
|
8
|
+
(props: DatePickerProps): JSX.Element;
|
|
9
|
+
defaultProps: {
|
|
10
|
+
primary: string;
|
|
11
|
+
autoFocus: boolean;
|
|
12
|
+
onChange: null;
|
|
13
|
+
range: boolean;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default DatePicker;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var styled = require('styled-components');
|
|
6
|
+
var ReactDatePicker = require('react-datepicker');
|
|
7
|
+
var polished = require('polished');
|
|
8
|
+
var Button = require('../Button/Button.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
14
|
+
var ReactDatePicker__default = /*#__PURE__*/_interopDefaultLegacy(ReactDatePicker);
|
|
15
|
+
|
|
16
|
+
var getColors = function (props) {
|
|
17
|
+
var primary = props.primary;
|
|
18
|
+
var lum = polished.getLuminance(primary);
|
|
19
|
+
var light = lum >= 0.5;
|
|
20
|
+
var secondary = light ? polished.darken(0.2, primary) : polished.lighten(0.2, primary);
|
|
21
|
+
return {
|
|
22
|
+
primary: primary,
|
|
23
|
+
secondary: secondary,
|
|
24
|
+
color: light ? '#000' : '#fff'
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
var Wrapper = styled__default['default'].div(templateObject_2 || (templateObject_2 = tslib.__makeTemplateObject(["\n ", "\n .react-datepicker {\n position: relative;\n width: 300px;\n }\n .react-datepicker__navigation {\n align-items: center;\n background: none;\n display: flex;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 2px;\n padding: 0;\n border: none;\n z-index: 1;\n height: 32px;\n width: 32px;\n text-indent: -999em;\n overflow: hidden;\n }\n .react-datepicker__navigation-icon::before {\n border-color: var(--color);\n border-style: solid;\n border-width: 5px 5px 0 0;\n content: \"\";\n display: block;\n height: 12px;\n position: absolute;\n top: 10px;\n width: 10px;\n }\n .react-datepicker__navigation-icon--previous::before {\n transform: rotate(225deg);\n right: -7px;\n }\n\n .react-datepicker__navigation-icon--next::before {\n transform: rotate(45deg);\n left: -7px;\n }\n .react-datepicker__navigation--next {\n right: 2px;\n }\n .react-datepicker__month-container {\n text-align: center;\n border-radius: 9px;\n overflow: hidden;\n box-shadow: 0 3px 9px 1px rgba(0,0,0,0.3);\n margin-top: 8px;\n }\n .react-datepicker__current-month {\n padding: 5px 0;\n font-family: 'Rammetto One';\n color: var(--color);\n background: var(--primary);\n }\n .react-datepicker__day-names {\n width: 100%;\n display: flex;\n font-weight: bold;\n color: var(--primary);\n > * { flex: 1; padding: 10px 0; }\n }\n .react-datepicker__day {\n position: relative;\n background-color: var(--primary);\n color: var(--color);\n transition: background-color 0.2s ease-in-out;\n cursor: pointer;\n :hover {\n background-color: var(--secondary);\n transition: background-color 0.2s ease-in-out;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background-color: var(--secondary);\n transition: background-color 0.2s ease-in-out;\n }\n .react-datepicker__day--outside-month {\n background-color: #ffffffff;\n color: var(--primary);\n }\n .react-datepicker__week {\n width: 100%;\n display: flex;\n > * { flex: 1; padding: 10px; }\n }\n"], ["\n ", "\n .react-datepicker {\n position: relative;\n width: 300px;\n }\n .react-datepicker__navigation {\n align-items: center;\n background: none;\n display: flex;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 2px;\n padding: 0;\n border: none;\n z-index: 1;\n height: 32px;\n width: 32px;\n text-indent: -999em;\n overflow: hidden;\n }\n .react-datepicker__navigation-icon::before {\n border-color: var(--color);\n border-style: solid;\n border-width: 5px 5px 0 0;\n content: \"\";\n display: block;\n height: 12px;\n position: absolute;\n top: 10px;\n width: 10px;\n }\n .react-datepicker__navigation-icon--previous::before {\n transform: rotate(225deg);\n right: -7px;\n }\n\n .react-datepicker__navigation-icon--next::before {\n transform: rotate(45deg);\n left: -7px;\n }\n .react-datepicker__navigation--next {\n right: 2px;\n }\n .react-datepicker__month-container {\n text-align: center;\n border-radius: 9px;\n overflow: hidden;\n box-shadow: 0 3px 9px 1px rgba(0,0,0,0.3);\n margin-top: 8px;\n }\n .react-datepicker__current-month {\n padding: 5px 0;\n font-family: 'Rammetto One';\n color: var(--color);\n background: var(--primary);\n }\n .react-datepicker__day-names {\n width: 100%;\n display: flex;\n font-weight: bold;\n color: var(--primary);\n > * { flex: 1; padding: 10px 0; }\n }\n .react-datepicker__day {\n position: relative;\n background-color: var(--primary);\n color: var(--color);\n transition: background-color 0.2s ease-in-out;\n cursor: pointer;\n :hover {\n background-color: var(--secondary);\n transition: background-color 0.2s ease-in-out;\n }\n }\n .react-datepicker__day--keyboard-selected {\n background-color: var(--secondary);\n transition: background-color 0.2s ease-in-out;\n }\n .react-datepicker__day--outside-month {\n background-color: #ffffffff;\n color: var(--primary);\n }\n .react-datepicker__week {\n width: 100%;\n display: flex;\n > * { flex: 1; padding: 10px; }\n }\n"])), function (props) {
|
|
28
|
+
var colors = getColors(props);
|
|
29
|
+
return styled.css(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n --primary: ", ";\n --secondary: ", ";\n --color: ", ";\n "], ["\n --primary: ", ";\n --secondary: ", ";\n --color: ", ";\n "])), colors.primary, colors.secondary, colors.color);
|
|
30
|
+
});
|
|
31
|
+
var DatePicker = function (props) {
|
|
32
|
+
var datePickerRef = React.useRef(null);
|
|
33
|
+
var _a = React.useState(new Date()), startDate = _a[0], setStartDate = _a[1];
|
|
34
|
+
React.useEffect(function () {
|
|
35
|
+
if (props.autoFocus && datePickerRef.current && datePickerRef.current.input) {
|
|
36
|
+
datePickerRef.current.input.focus();
|
|
37
|
+
}
|
|
38
|
+
}, []);
|
|
39
|
+
var ButtonInput = React.forwardRef(function (_a, ref) {
|
|
40
|
+
var value = _a.value, onClick = _a.onClick;
|
|
41
|
+
return React__default['default'].createElement(Button, { onClick: onClick, ref: ref, theme: 'primary', size: 'small' }, value);
|
|
42
|
+
});
|
|
43
|
+
React.useEffect(function () {
|
|
44
|
+
if (props.onChange) {
|
|
45
|
+
props.onChange(startDate);
|
|
46
|
+
}
|
|
47
|
+
}, [startDate]);
|
|
48
|
+
return React__default['default'].createElement(Wrapper, { primary: props.primary },
|
|
49
|
+
React__default['default'].createElement(ReactDatePicker__default['default'], { ref: datePickerRef, dateFormat: "d MMMM yyyy", withPortal: true, selected: startDate, onChange: function (date) { return setStartDate(date); }, customInput: React__default['default'].createElement(ButtonInput, null) }));
|
|
50
|
+
};
|
|
51
|
+
DatePicker.defaultProps = {
|
|
52
|
+
primary: '#1EA7FD',
|
|
53
|
+
autoFocus: false,
|
|
54
|
+
onChange: null,
|
|
55
|
+
range: false
|
|
56
|
+
};
|
|
57
|
+
var templateObject_1, templateObject_2;
|
|
58
|
+
|
|
59
|
+
module.exports = DatePicker;
|
|
60
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Story } from "@storybook/react";
|
|
2
|
+
import { Meta } from "@storybook/react/types-6-0";
|
|
3
|
+
import { DatePickerProps } from "./DatePicker";
|
|
4
|
+
declare const _default: Meta<import("@storybook/react").Args>;
|
|
5
|
+
export default _default;
|
|
6
|
+
export declare const Primary: Story<DatePickerProps>;
|
|
File without changes
|
|
@@ -9,8 +9,6 @@ export interface Props {
|
|
|
9
9
|
minImageUploadSize?: number;
|
|
10
10
|
disableAutoCache?: boolean;
|
|
11
11
|
openUploadPopupOnStart?: boolean;
|
|
12
|
-
enableMagicCrop?: boolean;
|
|
13
|
-
magicCropUploadPreset?: string;
|
|
14
12
|
cacheKey?: string;
|
|
15
13
|
}
|
|
16
14
|
export declare type Orientation = 'LANDSCAPE' | 'PORTRAIT';
|
|
@@ -26,7 +24,6 @@ declare const Drawing: {
|
|
|
26
24
|
disableAutoCache: boolean;
|
|
27
25
|
cacheKey: string;
|
|
28
26
|
openUploadPopupOnStart: boolean;
|
|
29
|
-
enableMagicCrop: boolean;
|
|
30
27
|
};
|
|
31
28
|
};
|
|
32
29
|
export default Drawing;
|
|
@@ -15,14 +15,10 @@ var IconButton = require('../IconButton/IconButton.js');
|
|
|
15
15
|
var ColourToolbar = require('./components/ColourToolbar/ColourToolbar.js');
|
|
16
16
|
var Modal = require('../Modal/Modal.js');
|
|
17
17
|
var DrawingToolProvider = require('./DrawingToolProvider.js');
|
|
18
|
-
var
|
|
18
|
+
var FileInput = require('./components/FileInput/FileInput.js');
|
|
19
19
|
var index = require('./components/Placeable/index.js');
|
|
20
20
|
var OpacityToggle = require('./components/OpacityToggle/OpacityToggle.js');
|
|
21
21
|
var Header = require('./components/Header/Header.js');
|
|
22
|
-
var CropChoicePopup = require('./components/CropChoicePopup/CropChoicePopup.js');
|
|
23
|
-
var ManualCropPopup = require('./components/ManualCropPopup/ManualCropPopup.js');
|
|
24
|
-
var MagicCropPopup = require('./components/MagicCropPopup/MagicCropPopup.js');
|
|
25
|
-
var Loader = require('./components/Loader.js');
|
|
26
22
|
|
|
27
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
28
24
|
|
|
@@ -51,14 +47,13 @@ var Drawing = function (props) {
|
|
|
51
47
|
var _g = React.useState(50), buttonSize = _g[0], setButtonSize = _g[1];
|
|
52
48
|
var _h = React.useState(false), isMobile = _h[0], setIsMobile = _h[1];
|
|
53
49
|
var _j = React.useState(true), resizing = _j[0], setResizing = _j[1];
|
|
54
|
-
var _k = React.useState(false),
|
|
55
|
-
var _l = React.useState(props.openUploadPopupOnStart),
|
|
56
|
-
var _m = React.useState(
|
|
57
|
-
var _o = React.useState(
|
|
58
|
-
var _p = React.useState(false),
|
|
59
|
-
var _q = React.useState(
|
|
60
|
-
var _r =
|
|
61
|
-
var _s = DrawingToolProvider.useDrawingTool(), initSketch = _s.initSketch, initSketchCut = _s.initSketchCut, sketchLoading = _s.sketchLoading, exportSketchCut = _s.exportSketchCut, currentColour = _s.currentColour, brushSize = _s.brushSize, setBrushSize = _s.setBrushSize, brushType = _s.brushType, setBrushType = _s.setBrushType, undo = _s.undo, redo = _s.redo, restart = _s.restart, setCacheKey = _s.setCacheKey, setAutoCache = _s.setAutoCache, resetCut = _s.resetCut, mergeImage = _s.mergeImage, imageToCrop = _s.imageToCrop, setImageToCrop = _s.setImageToCrop, imageToPlace = _s.imageToPlace, setImageToPlace = _s.setImageToPlace;
|
|
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;
|
|
62
57
|
React.useEffect(function () {
|
|
63
58
|
if (typeof props.disableAutoCache === 'boolean') {
|
|
64
59
|
setAutoCache(!props.disableAutoCache);
|
|
@@ -101,33 +96,27 @@ var Drawing = function (props) {
|
|
|
101
96
|
}
|
|
102
97
|
}, [containerWidth, containerHeight]);
|
|
103
98
|
React.useEffect(function () {
|
|
104
|
-
if (!
|
|
99
|
+
if (!imageToCut && !resizing && sketchInnerRef.current) {
|
|
105
100
|
initSketch(sketchInnerRef.current);
|
|
106
101
|
}
|
|
107
|
-
}, [resizing, sketchInnerRef,
|
|
102
|
+
}, [resizing, sketchInnerRef, imageToCut]);
|
|
108
103
|
React.useEffect(function () {
|
|
109
|
-
if (!resizing && sketchCutInnerRef.current &&
|
|
110
|
-
initSketchCut(sketchCutInnerRef.current,
|
|
111
|
-
|
|
104
|
+
if (!resizing && sketchCutInnerRef.current && imageToCut) {
|
|
105
|
+
initSketchCut(sketchCutInnerRef.current, imageToCut, function () {
|
|
106
|
+
setShowSaveCutAction(true);
|
|
112
107
|
});
|
|
113
108
|
}
|
|
114
|
-
}, [resizing, sketchCutInnerRef,
|
|
109
|
+
}, [resizing, sketchCutInnerRef, imageToCut]);
|
|
115
110
|
var onClickRestart = function () {
|
|
116
|
-
|
|
111
|
+
setShowRestartConfirmModal(true);
|
|
117
112
|
};
|
|
118
113
|
var onClickCamera = function () {
|
|
119
|
-
|
|
114
|
+
setShowFileInput(true);
|
|
120
115
|
};
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
var scale = Math.min(1, Math.min(containerWidth / img.width, containerHeight / img.height)) * ratio;
|
|
127
|
-
return {
|
|
128
|
-
width: img.width * scale,
|
|
129
|
-
height: img.height * scale
|
|
130
|
-
};
|
|
116
|
+
var onImageUploaded = function (image) {
|
|
117
|
+
setShowFileInput(false);
|
|
118
|
+
setImageToCut(image);
|
|
119
|
+
setToolMode("CUT");
|
|
131
120
|
};
|
|
132
121
|
var strokeBrushColour = polished.getLuminance(currentColour.hex) > 0.05 ? polished.darken(0.15, currentColour.hex) : polished.lighten(0.1, currentColour.hex);
|
|
133
122
|
var deselectedButtonColourProps = {
|
|
@@ -155,25 +144,25 @@ var Drawing = function (props) {
|
|
|
155
144
|
left: '0px'
|
|
156
145
|
};
|
|
157
146
|
}
|
|
158
|
-
var disableToolbars = (
|
|
147
|
+
var disableToolbars = (showFileInput || showRestartConfirmModal || imageToCut || imageToPlace);
|
|
159
148
|
var inSketchActions = [];
|
|
160
|
-
if (
|
|
149
|
+
if (showSaveCutAction) {
|
|
161
150
|
inSketchActions.push({
|
|
162
151
|
key: 'retry-cut',
|
|
163
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 () {
|
|
164
|
-
|
|
165
|
-
|
|
153
|
+
setShowSaveCutAction(false);
|
|
154
|
+
setShowCutTutorial(true);
|
|
166
155
|
resetCut();
|
|
167
156
|
} }, "Retry")
|
|
168
157
|
}, {
|
|
169
158
|
key: 'save-cut',
|
|
170
159
|
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "tick" }), theme: 'confirm', size: isMobile ? "small" : "regular", onClick: function () {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
setImageToCrop(undefined);
|
|
160
|
+
setShowSaveCutAction(false);
|
|
161
|
+
setImageToCut(undefined);
|
|
174
162
|
var newImage = new Image;
|
|
175
163
|
newImage.onload = function () {
|
|
176
164
|
setImageToPlace(newImage);
|
|
165
|
+
setToolMode('PLACE');
|
|
177
166
|
};
|
|
178
167
|
newImage.src = exportSketchCut();
|
|
179
168
|
} }, "Save")
|
|
@@ -184,6 +173,7 @@ var Drawing = function (props) {
|
|
|
184
173
|
key: 'cancel-place',
|
|
185
174
|
component: React__default['default'].createElement(IconButton, { icon: React__default['default'].createElement(Icon, { name: "close" }), theme: 'red', size: isMobile ? "small" : "regular", onClick: function () {
|
|
186
175
|
setImageToPlace(undefined);
|
|
176
|
+
setToolMode('DRAW');
|
|
187
177
|
} }, "Cancel")
|
|
188
178
|
}, {
|
|
189
179
|
key: 'save-place',
|
|
@@ -199,6 +189,7 @@ var Drawing = function (props) {
|
|
|
199
189
|
height: Math.hypot(rect.pos3[0] - rect.pos2[0], rect.pos3[1] - rect.pos2[1]),
|
|
200
190
|
rotation: rect.rotation
|
|
201
191
|
});
|
|
192
|
+
setToolMode('DRAW');
|
|
202
193
|
setImageToPlace(undefined);
|
|
203
194
|
}
|
|
204
195
|
} }, "Save")
|
|
@@ -239,64 +230,36 @@ var Drawing = function (props) {
|
|
|
239
230
|
React__default['default'].createElement(Button, tslib.__assign({ height: buttonSize, round: true }, largeLineColourProps, { onClick: function () { return setBrushSize(DrawingToolProvider.BrushSize.large); } }),
|
|
240
231
|
React__default['default'].createElement(Icon, { fill: brushSize === DrawingToolProvider.BrushSize.large ? 'white' : currentColour.hex, name: 'drawing-tool-large-line' })))),
|
|
241
232
|
React__default['default'].createElement(DrawingTool_styles.SketchContainer, { orientation: orientation, ref: sketchOuterRef },
|
|
242
|
-
props.showPaperBackground && React__default['default'].createElement(DrawingTool_styles.PaperBackground, { cutMode:
|
|
243
|
-
!
|
|
244
|
-
|
|
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 }),
|
|
245
236
|
imageToPlace && sketchStyles && (React__default['default'].createElement("div", { style: tslib.__assign(tslib.__assign({}, sketchStyles), { zIndex: '101' }) },
|
|
246
237
|
React__default['default'].createElement(DrawingTool_styles.ImageToPlaceContainer, null,
|
|
247
|
-
React__default['default'].createElement(DrawingTool_styles.ImageToPlace, {
|
|
238
|
+
React__default['default'].createElement(DrawingTool_styles.ImageToPlace, { ref: imageToPlaceContainerRef, src: imageToPlace.src })),
|
|
248
239
|
React__default['default'].createElement(Moveable__default['default'], { ref: moveableRef, target: imageToPlaceContainerRef, ables: [index], props: {
|
|
249
240
|
placeable: true,
|
|
250
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 }))),
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
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")))),
|
|
254
248
|
React__default['default'].createElement(DrawingTool_styles.RightToolbarContainer, { orientation: orientation, buttonSize: buttonSize, disabled: disableToolbars },
|
|
255
249
|
React__default['default'].createElement(ColourToolbar, { orientation: orientation, size: buttonSize, currentColour: currentColour }),
|
|
256
250
|
React__default['default'].createElement(OpacityToggle, { orientation: orientation, buttonSize: buttonSize }))),
|
|
257
|
-
|
|
251
|
+
showRestartConfirmModal && React__default['default'].createElement(DrawingTool_styles.ModalOverlay, null,
|
|
258
252
|
React__default['default'].createElement(Modal, { title: "Are you sure?", actions: [
|
|
259
253
|
React__default['default'].createElement(Button, { key: 'cancel', size: isMobile ? "small" : "regular", theme: "red", onClick: function () {
|
|
260
|
-
|
|
254
|
+
setShowRestartConfirmModal(false);
|
|
261
255
|
} }, "No"),
|
|
262
256
|
React__default['default'].createElement(Button, { key: 'confirm', size: isMobile ? "small" : "regular", theme: "confirm", onClick: function () {
|
|
263
257
|
restart();
|
|
264
|
-
|
|
258
|
+
setShowRestartConfirmModal(false);
|
|
265
259
|
} }, "Yes"),
|
|
266
260
|
] })),
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
if (props.enableMagicCrop) {
|
|
270
|
-
setShowCropChoicePopup(true);
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
setShowManualCropTool(true);
|
|
274
|
-
setShowManualCropPopup(true);
|
|
275
|
-
}
|
|
276
|
-
} }),
|
|
277
|
-
showCropChoicePopup && React__default['default'].createElement(CropChoicePopup, { onDismiss: function () {
|
|
278
|
-
setShowCropChoicePopup(false);
|
|
279
|
-
setImageToCrop(undefined);
|
|
280
|
-
}, onMagicCrop: function () {
|
|
281
|
-
setShowCropChoicePopup(false);
|
|
282
|
-
setShowMagicCropPopup(true);
|
|
283
|
-
}, onManualCrop: function () {
|
|
284
|
-
setShowCropChoicePopup(false);
|
|
285
|
-
setShowManualCropPopup(true);
|
|
286
|
-
setShowManualCropTool(true);
|
|
287
|
-
} }),
|
|
288
|
-
showMagicCropPopup && props.magicCropUploadPreset && React__default['default'].createElement(MagicCropPopup, { cloudinaryUploadPreset: props.magicCropUploadPreset, onManual: function () {
|
|
289
|
-
setShowMagicCropPopup(false);
|
|
290
|
-
setShowManualCropPopup(true);
|
|
291
|
-
setShowManualCropTool(true);
|
|
292
|
-
}, onDismiss: function () {
|
|
293
|
-
setImageToCrop(undefined);
|
|
294
|
-
setShowMagicCropPopup(false);
|
|
295
|
-
} }),
|
|
296
|
-
showManualCropPopup && React__default['default'].createElement(ManualCropPopup, { onNext: function () { return setShowManualCropPopup(false); }, onDismiss: function () {
|
|
297
|
-
setShowManualCropPopup(false);
|
|
298
|
-
setImageToCrop(undefined);
|
|
299
|
-
} }));
|
|
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 })));
|
|
300
263
|
};
|
|
301
264
|
Drawing.defaultProps = {
|
|
302
265
|
prompt: 'Draw your Animal',
|
|
@@ -307,8 +270,7 @@ Drawing.defaultProps = {
|
|
|
307
270
|
disableCameraUpload: false,
|
|
308
271
|
disableAutoCache: false,
|
|
309
272
|
cacheKey: 'nzk-sketch-cache',
|
|
310
|
-
openUploadPopupOnStart: false
|
|
311
|
-
enableMagicCrop: false
|
|
273
|
+
openUploadPopupOnStart: false
|
|
312
274
|
};
|
|
313
275
|
|
|
314
276
|
module.exports = Drawing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingTool.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawingTool.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -37,11 +37,5 @@ export declare const InSketchActions: import("styled-components").StyledComponen
|
|
|
37
37
|
export declare const InSketchAction: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
38
38
|
export declare const ModalOverlay: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
39
39
|
export declare const ImageToPlaceContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
40
|
-
export declare const ImageToPlace: import("styled-components").StyledComponent<"img", any, {
|
|
41
|
-
size: {
|
|
42
|
-
width: number;
|
|
43
|
-
height: number;
|
|
44
|
-
};
|
|
45
|
-
}, never>;
|
|
40
|
+
export declare const ImageToPlace: import("styled-components").StyledComponent<"img", any, {}, never>;
|
|
46
41
|
export declare const CutImageTutorial: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
47
|
-
export declare const LoaderOverlay: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -32,21 +32,20 @@ var PaperBackground = styled__default['default'].div(templateObject_9 || (templa
|
|
|
32
32
|
: '#ebebeb'; });
|
|
33
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
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:
|
|
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
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:
|
|
38
|
-
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 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"])));
|
|
39
|
-
var
|
|
40
|
-
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, templateObject_16;
|
|
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;
|
|
41
40
|
|
|
42
41
|
exports.ButtonGroup = ButtonGroup;
|
|
43
42
|
exports.Container = Container;
|
|
43
|
+
exports.CutImageTutorial = CutImageTutorial;
|
|
44
44
|
exports.ImageToPlace = ImageToPlace;
|
|
45
45
|
exports.ImageToPlaceContainer = ImageToPlaceContainer;
|
|
46
46
|
exports.InSketchAction = InSketchAction;
|
|
47
47
|
exports.InSketchActions = InSketchActions;
|
|
48
48
|
exports.LeftToolbarContainer = LeftToolbarContainer;
|
|
49
|
-
exports.LoaderOverlay = LoaderOverlay;
|
|
50
49
|
exports.ModalOverlay = ModalOverlay;
|
|
51
50
|
exports.PaperBackground = PaperBackground;
|
|
52
51
|
exports.RightToolbarContainer = RightToolbarContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingTool.styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawingTool.styles.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -14,6 +14,7 @@ export interface Colour {
|
|
|
14
14
|
rgb: number[];
|
|
15
15
|
hex: string;
|
|
16
16
|
}
|
|
17
|
+
declare type ToolMode = 'LOADING' | 'DRAW' | 'CUT' | 'PLACE';
|
|
17
18
|
export interface Props {
|
|
18
19
|
cache?: string;
|
|
19
20
|
}
|
|
@@ -21,7 +22,6 @@ export declare const DrawingToolProvider: import("react").ComponentType<import("
|
|
|
21
22
|
export declare const useDrawingTool: () => {
|
|
22
23
|
initSketch: (containerEl: any) => void;
|
|
23
24
|
initSketchCut: (containerEl: any, imageToCut: HTMLImageElement, onImageCut: () => void) => void;
|
|
24
|
-
sketchLoading: boolean;
|
|
25
25
|
exportSketch: (options?: {
|
|
26
26
|
crop: boolean;
|
|
27
27
|
}) => string;
|
|
@@ -49,9 +49,8 @@ export declare const useDrawingTool: () => {
|
|
|
49
49
|
clearCache: () => void;
|
|
50
50
|
resetCut: () => void;
|
|
51
51
|
mergeImage: (data: SketchActionMergeData) => void | null;
|
|
52
|
+
setToolMode: import("react").Dispatch<import("react").SetStateAction<ToolMode>>;
|
|
53
|
+
toolMode: ToolMode;
|
|
52
54
|
exportCache: () => string | null;
|
|
53
|
-
imageToCrop: HTMLImageElement | undefined;
|
|
54
|
-
setImageToCrop: import("react").Dispatch<import("react").SetStateAction<HTMLImageElement | undefined>>;
|
|
55
|
-
imageToPlace: HTMLImageElement | undefined;
|
|
56
|
-
setImageToPlace: import("react").Dispatch<import("react").SetStateAction<HTMLImageElement | undefined>>;
|
|
57
55
|
};
|
|
56
|
+
export {};
|
|
@@ -34,13 +34,11 @@ var DrawingToolState = function (props) {
|
|
|
34
34
|
var sketchCutRef = React.useRef();
|
|
35
35
|
var _a = React.useState(true), autoCache = _a[0], setAutoCache = _a[1];
|
|
36
36
|
var _b = React.useState('nzk-sketch-cache'), cacheKey = _b[0], setCacheKey = _b[1];
|
|
37
|
-
var _c = React.useState(
|
|
38
|
-
var _d = React.useState(
|
|
39
|
-
var _e = React.useState(
|
|
40
|
-
var _f = React.useState(
|
|
41
|
-
var _g = React.useState(
|
|
42
|
-
var _h = React.useState(), imageToCrop = _h[0], setImageToCrop = _h[1];
|
|
43
|
-
var _j = React.useState(), imageToPlace = _j[0], setImageToPlace = _j[1];
|
|
37
|
+
var _c = React.useState(BrushSize.small), brushSize = _c[0], setBrushSize = _c[1];
|
|
38
|
+
var _d = React.useState('line'), brushType = _d[0], setBrushType = _d[1];
|
|
39
|
+
var _e = React.useState(Colours[0]), currentColour = _e[0], setCurrentColour = _e[1];
|
|
40
|
+
var _f = React.useState(1), brushOpacity = _f[0], setBruchOpacity = _f[1];
|
|
41
|
+
var _g = React.useState('LOADING'), toolMode = _g[0], setToolMode = _g[1];
|
|
44
42
|
var setSketchRef = React.useCallback(function (node) {
|
|
45
43
|
sketchRef.current = node;
|
|
46
44
|
if (sketchRef.current) {
|
|
@@ -79,7 +77,6 @@ var DrawingToolState = function (props) {
|
|
|
79
77
|
};
|
|
80
78
|
var initSketch = function (containerEl) {
|
|
81
79
|
var data;
|
|
82
|
-
setSketchLoading(true);
|
|
83
80
|
if (sketchRef.current) {
|
|
84
81
|
data = sketchRef.current.serialize();
|
|
85
82
|
}
|
|
@@ -94,7 +91,7 @@ var DrawingToolState = function (props) {
|
|
|
94
91
|
sketchData: data,
|
|
95
92
|
onChange: onSketchChange,
|
|
96
93
|
onReady: function () {
|
|
97
|
-
|
|
94
|
+
setToolMode('DRAW');
|
|
98
95
|
}
|
|
99
96
|
}));
|
|
100
97
|
};
|
|
@@ -150,7 +147,6 @@ var DrawingToolState = function (props) {
|
|
|
150
147
|
return {
|
|
151
148
|
initSketch: initSketch,
|
|
152
149
|
initSketchCut: initSketchCut,
|
|
153
|
-
sketchLoading: sketchLoading,
|
|
154
150
|
exportSketch: exportSketch,
|
|
155
151
|
exportSketchCut: exportSketchCut,
|
|
156
152
|
currentColour: currentColour,
|
|
@@ -170,11 +166,9 @@ var DrawingToolState = function (props) {
|
|
|
170
166
|
clearCache: clearCache,
|
|
171
167
|
resetCut: resetCut,
|
|
172
168
|
mergeImage: mergeImage,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
imageToPlace: imageToPlace,
|
|
177
|
-
setImageToPlace: setImageToPlace
|
|
169
|
+
setToolMode: setToolMode,
|
|
170
|
+
toolMode: toolMode,
|
|
171
|
+
exportCache: exportCache
|
|
178
172
|
};
|
|
179
173
|
};
|
|
180
174
|
var DrawingToolProviderContainer = unstatedNext.createContainer(DrawingToolState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingToolProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawingToolProvider.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -21,8 +21,8 @@ var getButtonSizeForHeight = function (height) {
|
|
|
21
21
|
return 'regular';
|
|
22
22
|
};
|
|
23
23
|
var Header = (function (props) {
|
|
24
|
-
var
|
|
25
|
-
var disableButtons =
|
|
24
|
+
var toolMode = DrawingToolProvider.useDrawingTool().toolMode;
|
|
25
|
+
var disableButtons = toolMode !== 'DRAW';
|
|
26
26
|
var onSave = function () {
|
|
27
27
|
if (!disableButtons)
|
|
28
28
|
props.onSave();
|
|
@@ -124,7 +124,6 @@ var Sketch = (function () {
|
|
|
124
124
|
}
|
|
125
125
|
else if (data.imageSrc) {
|
|
126
126
|
var img_1 = new Image;
|
|
127
|
-
img_1.crossOrigin = "Anonymous";
|
|
128
127
|
img_1.onload = function () { doMerge(img_1); };
|
|
129
128
|
img_1.src = data.imageSrc;
|
|
130
129
|
}
|
|
@@ -142,11 +141,15 @@ var Sketch = (function () {
|
|
|
142
141
|
return;
|
|
143
142
|
this.model.lastActionIndex -= 1;
|
|
144
143
|
this.drawingLayer.clear();
|
|
144
|
+
console.log('Last action Index before undo', this.model.lastActionIndex);
|
|
145
145
|
for (var i = 0; i <= this.model.lastActionIndex; i += 1) {
|
|
146
|
+
console.log('I=', i);
|
|
146
147
|
if (this.model.actions[i].type === 'STROKE' && this.model.actions[i].model) {
|
|
148
|
+
console.log('draw stroke');
|
|
147
149
|
this.drawUndoStroke(this.model.actions[i].model);
|
|
148
150
|
}
|
|
149
151
|
else if (this.model.actions[i].type === 'IMAGE_MERGE' && this.model.actions[i]) {
|
|
152
|
+
console.log('merge image');
|
|
150
153
|
this.mergeImage(this.model.actions[i].data, false);
|
|
151
154
|
}
|
|
152
155
|
}
|
|
@@ -260,7 +263,7 @@ var Sketch = (function () {
|
|
|
260
263
|
callback();
|
|
261
264
|
return;
|
|
262
265
|
}
|
|
263
|
-
var done = after__default['default'](Math.min(this.model.lastActionIndex
|
|
266
|
+
var done = after__default['default'](Math.min(this.model.lastActionIndex, this.model.actions.length), function () {
|
|
264
267
|
if (callback)
|
|
265
268
|
callback();
|
|
266
269
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sketch.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Sketch.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var styled = require('styled-components');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
9
|
+
|
|
10
|
+
var Input = styled__default['default'].input(templateObject_2 || (templateObject_2 = tslib.__makeTemplateObject(["\n outline: none;\n padding: 6px 10px;\n font-size: 17px;\n font-family: 'Libre Baskerville';\n ", "\n"], ["\n outline: none;\n padding: 6px 10px;\n font-size: 17px;\n font-family: 'Libre Baskerville';\n ", "\n"])), function (props) { return styled.css(templateObject_1 || (templateObject_1 = tslib.__makeTemplateObject(["\n border-radius: ", ";\n border: ", " solid ", ";\n "], ["\n border-radius: ", ";\n border: ", " solid ", ";\n "])), props.borderRadius, props.borderWidth, props.borderColor); });
|
|
11
|
+
Input.defaultProps = {
|
|
12
|
+
borderRadius: '6px',
|
|
13
|
+
borderColor: '#000',
|
|
14
|
+
borderWidth: '2px'
|
|
15
|
+
};
|
|
16
|
+
var templateObject_1, templateObject_2;
|
|
17
|
+
|
|
18
|
+
module.exports = Input;
|
|
19
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
|