@archireport/react-native-svg-draw 1.4.0 → 2.1.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/README.md +78 -27
- package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js +10 -5
- package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
- package/lib/commonjs/components/DrawCore/CurrentAnimatedText.js.map +1 -1
- package/lib/commonjs/components/DrawCore/DrawContext.js +18 -0
- package/lib/commonjs/components/DrawCore/DrawContext.js.map +1 -0
- package/lib/commonjs/components/DrawCore/DrawPad.js.map +1 -1
- package/lib/commonjs/components/DrawCore/DrawProvider.js +103 -0
- package/lib/commonjs/components/DrawCore/DrawProvider.js.map +1 -0
- package/lib/commonjs/components/DrawCore/Item.js.map +1 -1
- package/lib/commonjs/components/DrawCore/index.js +41 -168
- package/lib/commonjs/components/DrawCore/index.js.map +1 -1
- package/lib/commonjs/components/DrawCore/useDrawHook.js +76 -0
- package/lib/commonjs/components/DrawCore/useDrawHook.js.map +1 -0
- package/lib/commonjs/components/DrawWithOptions/ArrowSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/CancelSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/CircleSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/CloseSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/PenSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/SendSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/SliderSvg.js +31 -0
- package/lib/commonjs/components/DrawWithOptions/SliderSvg.js.map +1 -0
- package/lib/commonjs/components/DrawWithOptions/SquareSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/TextSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js +27 -2
- package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/index.js +128 -68
- package/lib/commonjs/components/DrawWithOptions/index.js.map +1 -1
- package/lib/commonjs/components/{DrawCore → Slider}/ColorSlider.js +45 -62
- package/lib/commonjs/components/Slider/ColorSlider.js.map +1 -0
- package/lib/commonjs/components/Slider/Sliders.js +88 -0
- package/lib/commonjs/components/Slider/Sliders.js.map +1 -0
- package/lib/commonjs/components/{DrawCore → Slider}/StrokeSlider.js +38 -47
- package/lib/commonjs/components/Slider/StrokeSlider.js.map +1 -0
- package/lib/commonjs/components/Slider/sliderStyle.js +37 -0
- package/lib/commonjs/components/Slider/sliderStyle.js.map +1 -0
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/components/DrawCore/CurrentAnimatedItem.js +10 -5
- package/lib/module/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
- package/lib/module/components/DrawCore/CurrentAnimatedText.js.map +1 -1
- package/lib/module/components/DrawCore/DrawContext.js +11 -0
- package/lib/module/components/DrawCore/DrawContext.js.map +1 -0
- package/lib/module/components/DrawCore/DrawPad.js.map +1 -1
- package/lib/module/components/DrawCore/DrawProvider.js +94 -0
- package/lib/module/components/DrawCore/DrawProvider.js.map +1 -0
- package/lib/module/components/DrawCore/Item.js.map +1 -1
- package/lib/module/components/DrawCore/index.js +43 -170
- package/lib/module/components/DrawCore/index.js.map +1 -1
- package/lib/module/components/DrawCore/useDrawHook.js +69 -0
- package/lib/module/components/DrawCore/useDrawHook.js.map +1 -0
- package/lib/module/components/DrawWithOptions/ArrowSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/CancelSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/CircleSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/CloseSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/PenSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/SendSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/SliderSvg.js +22 -0
- package/lib/module/components/DrawWithOptions/SliderSvg.js.map +1 -0
- package/lib/module/components/DrawWithOptions/SquareSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/TextSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/ThrashSvg.js +27 -2
- package/lib/module/components/DrawWithOptions/ThrashSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/index.js +129 -69
- package/lib/module/components/DrawWithOptions/index.js.map +1 -1
- package/lib/module/components/Slider/ColorSlider.js +95 -0
- package/lib/module/components/Slider/ColorSlider.js.map +1 -0
- package/lib/module/components/Slider/Sliders.js +79 -0
- package/lib/module/components/Slider/Sliders.js.map +1 -0
- package/lib/module/components/Slider/StrokeSlider.js +82 -0
- package/lib/module/components/Slider/StrokeSlider.js.map +1 -0
- package/lib/module/components/Slider/sliderStyle.js +29 -0
- package/lib/module/components/Slider/sliderStyle.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/components/DrawCore/CurrentAnimatedItem.d.ts.map +1 -1
- package/lib/typescript/components/DrawCore/DrawContext.d.ts +14 -0
- package/lib/typescript/components/DrawCore/DrawContext.d.ts.map +1 -0
- package/lib/typescript/components/DrawCore/DrawPad.d.ts.map +1 -1
- package/lib/typescript/components/DrawCore/DrawProvider.d.ts +6 -0
- package/lib/typescript/components/DrawCore/DrawProvider.d.ts.map +1 -0
- package/lib/typescript/components/DrawCore/index.d.ts +3 -11
- package/lib/typescript/components/DrawCore/index.d.ts.map +1 -1
- package/lib/typescript/components/DrawCore/useDrawHook.d.ts +18 -0
- package/lib/typescript/components/DrawCore/useDrawHook.d.ts.map +1 -0
- package/lib/typescript/components/DrawWithOptions/SliderSvg.d.ts +4 -0
- package/lib/typescript/components/DrawWithOptions/SliderSvg.d.ts.map +1 -0
- package/lib/typescript/components/DrawWithOptions/ThrashSvg.d.ts.map +1 -1
- package/lib/typescript/components/DrawWithOptions/index.d.ts +7 -6
- package/lib/typescript/components/DrawWithOptions/index.d.ts.map +1 -1
- package/lib/typescript/components/Slider/ColorSlider.d.ts +8 -0
- package/lib/typescript/components/Slider/ColorSlider.d.ts.map +1 -0
- package/lib/typescript/components/Slider/Sliders.d.ts +8 -0
- package/lib/typescript/components/Slider/Sliders.d.ts.map +1 -0
- package/lib/typescript/components/Slider/StrokeSlider.d.ts +6 -0
- package/lib/typescript/components/Slider/StrokeSlider.d.ts.map +1 -0
- package/lib/typescript/components/Slider/sliderStyle.d.ts +28 -0
- package/lib/typescript/components/Slider/sliderStyle.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +22 -22
- package/src/components/DrawCore/CurrentAnimatedItem.tsx +10 -5
- package/src/components/DrawCore/DrawContext.tsx +22 -0
- package/src/components/DrawCore/DrawPad.tsx +0 -1
- package/src/components/DrawCore/DrawProvider.tsx +122 -0
- package/src/components/DrawCore/index.tsx +938 -1139
- package/src/components/DrawCore/useDrawHook.tsx +70 -0
- package/src/components/DrawWithOptions/SliderSvg.tsx +24 -0
- package/src/components/DrawWithOptions/ThrashSvg.tsx +29 -2
- package/src/components/DrawWithOptions/index.tsx +215 -149
- package/src/components/Slider/ColorSlider.tsx +144 -0
- package/src/components/Slider/Sliders.tsx +75 -0
- package/src/components/Slider/StrokeSlider.tsx +104 -0
- package/src/components/Slider/sliderStyle.tsx +28 -0
- package/src/index.tsx +1 -0
- package/src/types.d.ts +35 -1
- package/lib/commonjs/components/DrawCore/ColorSlider.js.map +0 -1
- package/lib/commonjs/components/DrawCore/StrokeSlider.js.map +0 -1
- package/lib/module/components/DrawCore/ColorSlider.js +0 -113
- package/lib/module/components/DrawCore/ColorSlider.js.map +0 -1
- package/lib/module/components/DrawCore/StrokeSlider.js +0 -91
- package/lib/module/components/DrawCore/StrokeSlider.js.map +0 -1
- package/lib/typescript/components/DrawCore/ColorSlider.d.ts +0 -13
- package/lib/typescript/components/DrawCore/ColorSlider.d.ts.map +0 -1
- package/lib/typescript/components/DrawCore/StrokeSlider.d.ts +0 -9
- package/lib/typescript/components/DrawCore/StrokeSlider.d.ts.map +0 -1
- package/src/components/DrawCore/ColorSlider.tsx +0 -169
- package/src/components/DrawCore/StrokeSlider.tsx +0 -117
|
@@ -1,39 +1,50 @@
|
|
|
1
|
-
import React, { useCallback, useEffect,
|
|
1
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import { Pressable, View, StyleSheet, Keyboard } from 'react-native';
|
|
3
|
-
import DrawCore from '../DrawCore';
|
|
4
|
-
import PenSvg from './PenSvg';
|
|
5
3
|
import DoubleHeadSvg from './DoubleHeadSvg';
|
|
6
4
|
import CircleSvg from './CircleSvg';
|
|
7
5
|
import SquareSvg from './SquareSvg';
|
|
8
6
|
import ArrowSvg from './ArrowSvg';
|
|
9
7
|
import TextSvg from './TextSvg';
|
|
10
8
|
import CloseSvg from './CloseSvg';
|
|
9
|
+
import PenSvg from './PenSvg';
|
|
10
|
+
import useDrawHook from '../DrawCore/useDrawHook';
|
|
11
|
+
import Sliders from '../Slider/Sliders';
|
|
12
|
+
import DrawCore from '../DrawCore';
|
|
11
13
|
import ThrashSvg from './ThrashSvg';
|
|
12
|
-
import SendSvg from './SendSvg';
|
|
13
14
|
import CancelSvg from './CancelSvg';
|
|
15
|
+
import SendSvg from './SendSvg';
|
|
16
|
+
import DrawProvider from '../DrawCore/DrawProvider';
|
|
14
17
|
const styles = StyleSheet.create({
|
|
15
18
|
container: {
|
|
16
|
-
flex: 1
|
|
17
|
-
|
|
19
|
+
flex: 1
|
|
20
|
+
},
|
|
21
|
+
actionButton: {
|
|
22
|
+
backgroundColor: 'grey',
|
|
23
|
+
padding: 10,
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignContent: 'center',
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
height: 40,
|
|
28
|
+
borderRadius: 20,
|
|
29
|
+
width: 40
|
|
18
30
|
},
|
|
19
31
|
option: {
|
|
20
|
-
width:
|
|
21
|
-
height:
|
|
32
|
+
width: 22,
|
|
33
|
+
height: 20,
|
|
22
34
|
justifyContent: 'center',
|
|
23
35
|
alignItems: 'center',
|
|
24
|
-
marginHorizontal:
|
|
36
|
+
marginHorizontal: 8
|
|
25
37
|
},
|
|
26
38
|
toolbar: {
|
|
27
39
|
flexDirection: 'row',
|
|
28
|
-
alignItems: 'center',
|
|
29
40
|
justifyContent: 'space-between',
|
|
30
41
|
paddingBottom: 30,
|
|
31
42
|
paddingTop: 15,
|
|
32
43
|
paddingHorizontal: 15
|
|
33
44
|
},
|
|
34
45
|
drawOptions: {
|
|
35
|
-
|
|
36
|
-
|
|
46
|
+
flex: 1,
|
|
47
|
+
paddingHorizontal: 10
|
|
37
48
|
},
|
|
38
49
|
sendButton: {
|
|
39
50
|
backgroundColor: '#3a6cff',
|
|
@@ -53,23 +64,22 @@ const styles = StyleSheet.create({
|
|
|
53
64
|
paddingHorizontal: 20
|
|
54
65
|
}
|
|
55
66
|
});
|
|
56
|
-
|
|
67
|
+
function DrawWithOptionsCore(_ref) {
|
|
57
68
|
let {
|
|
58
|
-
close,
|
|
59
|
-
takeSnapshot,
|
|
60
69
|
linearGradient,
|
|
61
70
|
image,
|
|
62
|
-
|
|
71
|
+
close,
|
|
72
|
+
takeSnapshot,
|
|
73
|
+
backgroundColor
|
|
63
74
|
} = _ref;
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}, [takeSnapshot]);
|
|
75
|
+
const {
|
|
76
|
+
itemIsSelected,
|
|
77
|
+
cancelLastAction,
|
|
78
|
+
takeSnapshot: takeSnapshotAction,
|
|
79
|
+
deleteSelectedItem,
|
|
80
|
+
dispatchDrawStates,
|
|
81
|
+
drawState
|
|
82
|
+
} = useDrawHook();
|
|
73
83
|
const [showToolbar, setShowToolbar] = useState(true);
|
|
74
84
|
useEffect(() => {
|
|
75
85
|
const sudDidHide = Keyboard.addListener('keyboardDidHide', () => {
|
|
@@ -88,117 +98,167 @@ export default function DrawWithOptions(_ref) {
|
|
|
88
98
|
sudDidHide.remove();
|
|
89
99
|
};
|
|
90
100
|
}, []);
|
|
101
|
+
const takeSnapshotAndGetUri = useCallback(async () => {
|
|
102
|
+
if (takeSnapshot) {
|
|
103
|
+
takeSnapshot(takeSnapshotAction());
|
|
104
|
+
}
|
|
105
|
+
}, [takeSnapshot, takeSnapshotAction]);
|
|
91
106
|
return /*#__PURE__*/React.createElement(View, {
|
|
92
107
|
style: styles.container
|
|
93
108
|
}, /*#__PURE__*/React.createElement(View, {
|
|
94
109
|
style: styles.toolbar
|
|
110
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
111
|
+
style: styles.actionButton
|
|
95
112
|
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
96
|
-
style: styles.option,
|
|
97
113
|
onPress: close
|
|
98
114
|
}, /*#__PURE__*/React.createElement(CloseSvg, {
|
|
99
115
|
height: 20,
|
|
100
116
|
width: 20,
|
|
101
117
|
fill: "#ffffff"
|
|
102
|
-
})), /*#__PURE__*/React.createElement(View, {
|
|
118
|
+
}))), /*#__PURE__*/React.createElement(View, {
|
|
103
119
|
style: styles.drawOptions
|
|
120
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
121
|
+
style: {
|
|
122
|
+
flexDirection: 'row',
|
|
123
|
+
alignSelf: 'center',
|
|
124
|
+
borderWidth: 1,
|
|
125
|
+
borderColor: 'grey',
|
|
126
|
+
borderRadius: 25,
|
|
127
|
+
height: 40,
|
|
128
|
+
paddingHorizontal: 10,
|
|
129
|
+
paddingVertical: 10
|
|
130
|
+
}
|
|
104
131
|
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
105
132
|
style: styles.option,
|
|
106
133
|
onPress: () => {
|
|
107
|
-
|
|
134
|
+
dispatchDrawStates({
|
|
135
|
+
type: 'SET_DRAWING_MODE',
|
|
136
|
+
drawingMode: 'pen'
|
|
137
|
+
});
|
|
108
138
|
}
|
|
109
139
|
}, /*#__PURE__*/React.createElement(PenSvg, {
|
|
110
140
|
height: 23,
|
|
111
141
|
width: 22,
|
|
112
142
|
stroke: "#ffffff",
|
|
113
143
|
strokeWidth: "2",
|
|
114
|
-
opacity: drawingMode === 'pen' ? 1 : 0.5
|
|
144
|
+
opacity: drawState.drawingMode === 'pen' ? 1 : 0.5
|
|
115
145
|
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
116
146
|
style: styles.option,
|
|
117
147
|
onPress: () => {
|
|
118
|
-
|
|
148
|
+
dispatchDrawStates({
|
|
149
|
+
type: 'SET_DRAWING_MODE',
|
|
150
|
+
drawingMode: 'doubleHead'
|
|
151
|
+
});
|
|
119
152
|
}
|
|
120
153
|
}, /*#__PURE__*/React.createElement(DoubleHeadSvg, {
|
|
121
154
|
height: 20,
|
|
122
155
|
width: 20,
|
|
123
156
|
fill: "#ffffff",
|
|
124
|
-
opacity: drawingMode === 'doubleHead' ? 1 : 0.5
|
|
157
|
+
opacity: drawState.drawingMode === 'doubleHead' ? 1 : 0.5
|
|
125
158
|
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
126
159
|
style: styles.option,
|
|
127
160
|
onPress: () => {
|
|
128
|
-
|
|
161
|
+
dispatchDrawStates({
|
|
162
|
+
type: 'SET_DRAWING_MODE',
|
|
163
|
+
drawingMode: 'singleHead'
|
|
164
|
+
});
|
|
129
165
|
}
|
|
130
166
|
}, /*#__PURE__*/React.createElement(ArrowSvg, {
|
|
131
167
|
height: 23,
|
|
132
168
|
width: 23,
|
|
133
169
|
fill: "#ffffff",
|
|
134
|
-
opacity: drawingMode === 'singleHead' ? 1 : 0.5
|
|
170
|
+
opacity: drawState.drawingMode === 'singleHead' ? 1 : 0.5
|
|
135
171
|
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
136
172
|
style: styles.option,
|
|
137
173
|
onPress: () => {
|
|
138
|
-
|
|
174
|
+
dispatchDrawStates({
|
|
175
|
+
type: 'SET_DRAWING_MODE',
|
|
176
|
+
drawingMode: 'rectangle'
|
|
177
|
+
});
|
|
139
178
|
}
|
|
140
179
|
}, /*#__PURE__*/React.createElement(SquareSvg, {
|
|
141
180
|
height: 27,
|
|
142
181
|
width: 27,
|
|
143
182
|
fill: "#ffffff",
|
|
144
|
-
opacity: drawingMode === 'rectangle' ? 1 : 0.5
|
|
183
|
+
opacity: drawState.drawingMode === 'rectangle' ? 1 : 0.5
|
|
145
184
|
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
146
185
|
style: styles.option,
|
|
147
186
|
onPress: () => {
|
|
148
|
-
|
|
187
|
+
dispatchDrawStates({
|
|
188
|
+
type: 'SET_DRAWING_MODE',
|
|
189
|
+
drawingMode: 'ellipse'
|
|
190
|
+
});
|
|
149
191
|
}
|
|
150
192
|
}, /*#__PURE__*/React.createElement(CircleSvg, {
|
|
151
193
|
fill: "#ffffff",
|
|
152
194
|
height: 26,
|
|
153
195
|
width: 26,
|
|
154
|
-
opacity: drawingMode === 'ellipse' ? 1 : 0.5
|
|
196
|
+
opacity: drawState.drawingMode === 'ellipse' ? 1 : 0.5
|
|
155
197
|
})), /*#__PURE__*/React.createElement(Pressable, {
|
|
156
198
|
style: styles.option,
|
|
157
199
|
onPress: () => {
|
|
158
|
-
|
|
200
|
+
dispatchDrawStates({
|
|
201
|
+
type: 'SET_DRAWING_MODE',
|
|
202
|
+
drawingMode: 'text'
|
|
203
|
+
});
|
|
159
204
|
}
|
|
160
205
|
}, /*#__PURE__*/React.createElement(TextSvg, {
|
|
161
206
|
height: 28,
|
|
162
207
|
width: 28,
|
|
163
|
-
|
|
164
|
-
opacity: drawingMode === 'text' ? 1 : 0.5
|
|
165
|
-
})))), /*#__PURE__*/React.createElement(
|
|
166
|
-
|
|
167
|
-
|
|
208
|
+
color: 'grey',
|
|
209
|
+
opacity: drawState.drawingMode === 'text' ? 1 : 0.5
|
|
210
|
+
})))), /*#__PURE__*/React.createElement(View, {
|
|
211
|
+
style: styles.actionButton
|
|
212
|
+
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
213
|
+
onPress: takeSnapshotAndGetUri
|
|
214
|
+
}, /*#__PURE__*/React.createElement(SendSvg, {
|
|
215
|
+
height: 20,
|
|
216
|
+
width: 20,
|
|
217
|
+
fill: "#ffffff"
|
|
218
|
+
})))), /*#__PURE__*/React.createElement(View, {
|
|
219
|
+
style: {
|
|
220
|
+
marginHorizontal: 0,
|
|
221
|
+
flex: 1
|
|
222
|
+
}
|
|
223
|
+
}, /*#__PURE__*/React.createElement(DrawCore, {
|
|
168
224
|
image: image,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}),
|
|
225
|
+
backgroundColor: backgroundColor
|
|
226
|
+
})), /*#__PURE__*/React.createElement(Sliders, {
|
|
227
|
+
linearGradient: linearGradient
|
|
228
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
229
|
+
style: {
|
|
230
|
+
height: 70
|
|
231
|
+
}
|
|
232
|
+
}, showToolbar ? /*#__PURE__*/React.createElement(View, {
|
|
173
233
|
style: styles.bottomToolBar
|
|
174
|
-
},
|
|
175
|
-
style:
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
(_drawRef$current = drawRef.current) === null || _drawRef$current === void 0 ? void 0 : _drawRef$current.deleteSelectedItem();
|
|
234
|
+
}, itemIsSelected.value ? /*#__PURE__*/React.createElement(View, {
|
|
235
|
+
style: {
|
|
236
|
+
...styles.actionButton,
|
|
237
|
+
marginRight: 10
|
|
179
238
|
}
|
|
239
|
+
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
240
|
+
style: styles.option,
|
|
241
|
+
onPress: deleteSelectedItem
|
|
180
242
|
}, /*#__PURE__*/React.createElement(ThrashSvg, {
|
|
181
243
|
width: 28,
|
|
182
244
|
height: 28,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
(_drawRef$current2 = drawRef.current) === null || _drawRef$current2 === void 0 ? void 0 : _drawRef$current2.cancelLastAction();
|
|
245
|
+
color: "white",
|
|
246
|
+
strokeWidth: 2
|
|
247
|
+
}))) : null, drawState.cancelEnabled ? /*#__PURE__*/React.createElement(View, {
|
|
248
|
+
style: {
|
|
249
|
+
...styles.actionButton
|
|
189
250
|
}
|
|
251
|
+
}, /*#__PURE__*/React.createElement(Pressable, {
|
|
252
|
+
style: styles.option,
|
|
253
|
+
onPress: cancelLastAction
|
|
190
254
|
}, /*#__PURE__*/React.createElement(CancelSvg, {
|
|
191
|
-
width:
|
|
192
|
-
height:
|
|
193
|
-
|
|
255
|
+
width: 28,
|
|
256
|
+
height: 28,
|
|
257
|
+
color: 'grey',
|
|
194
258
|
strokeWidth: 2
|
|
195
|
-
})) : null
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
fill: "#fff",
|
|
200
|
-
width: 20,
|
|
201
|
-
height: 20
|
|
202
|
-
}))) : null);
|
|
259
|
+
}))) : null) : null));
|
|
260
|
+
}
|
|
261
|
+
export default function DrawWithOptions(props) {
|
|
262
|
+
return /*#__PURE__*/React.createElement(DrawProvider, null, /*#__PURE__*/React.createElement(DrawWithOptionsCore, props));
|
|
203
263
|
}
|
|
204
264
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useState","Pressable","View","StyleSheet","Keyboard","DoubleHeadSvg","CircleSvg","SquareSvg","ArrowSvg","TextSvg","CloseSvg","PenSvg","useDrawHook","Sliders","DrawCore","ThrashSvg","CancelSvg","SendSvg","DrawProvider","styles","create","container","flex","actionButton","backgroundColor","padding","justifyContent","alignContent","alignItems","height","borderRadius","width","option","marginHorizontal","toolbar","flexDirection","paddingBottom","paddingTop","paddingHorizontal","drawOptions","sendButton","marginLeft","bottomToolBar","DrawWithOptionsCore","linearGradient","image","close","takeSnapshot","itemIsSelected","cancelLastAction","takeSnapshotAction","deleteSelectedItem","dispatchDrawStates","drawState","showToolbar","setShowToolbar","sudDidHide","addListener","sudDidShow","event","endCoordinates","remove","takeSnapshotAndGetUri","alignSelf","borderWidth","borderColor","paddingVertical","type","drawingMode","value","marginRight","cancelEnabled","DrawWithOptions","props"],"sourceRoot":"../../../../src","sources":["components/DrawWithOptions/index.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { sliderStyle, TRACK_R } from './sliderStyle';
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { PanGestureHandler } from 'react-native-gesture-handler';
|
|
5
|
+
import Animated, { runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
6
|
+
import useDrawHook from '../DrawCore/useDrawHook';
|
|
7
|
+
const gradientColors = ['hsl(0, 100%, 100%) 00%', 'hsl(0, 100%, 50%) 10%', 'hsl(45, 100%, 50%) 20%', 'hsl(90, 100%, 50%) 30%', 'hsl(135, 100%, 50%) 40%', 'hsl(180, 100%, 50%) 50%', 'hsl(225, 100%, 50%) 60%', 'hsl(270, 100%, 50%) 70%', 'hsl(315, 100%, 50%) 80%', 'hsl(360, 100%, 50%) 90%', 'hsl(0, 100%, 0%) 100% '];
|
|
8
|
+
const gradientStart = {
|
|
9
|
+
x: 0,
|
|
10
|
+
y: 0
|
|
11
|
+
};
|
|
12
|
+
const gradientEnd = {
|
|
13
|
+
x: 1,
|
|
14
|
+
y: 0
|
|
15
|
+
};
|
|
16
|
+
const ColorSlider = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
linearGradient: LinearGradient
|
|
19
|
+
} = _ref;
|
|
20
|
+
const {
|
|
21
|
+
onColorStrokeChange,
|
|
22
|
+
color
|
|
23
|
+
} = useDrawHook();
|
|
24
|
+
const sliderWidth = useSharedValue(0);
|
|
25
|
+
const position = useDerivedValue(() => {
|
|
26
|
+
const hslRegExp = new RegExp(/hsl\(([\d.]+),\s*(\d+)%,\s*([\d.]+)%\)/);
|
|
27
|
+
const res = hslRegExp.exec(color.value);
|
|
28
|
+
const lum = res ? parseFloat(res[3] ?? '0') : 0;
|
|
29
|
+
const tint = res ? parseFloat(res[1] ?? '0') : 0;
|
|
30
|
+
if (lum > 50) {
|
|
31
|
+
return sliderWidth.value * 0.1 / 50 * (100 - lum);
|
|
32
|
+
}
|
|
33
|
+
if (lum < 50) {
|
|
34
|
+
return sliderWidth.value - sliderWidth.value * 0.1 / 50 * lum;
|
|
35
|
+
}
|
|
36
|
+
return Math.min(sliderWidth.value, Math.max(0, sliderWidth.value * 0.1 + tint * ((sliderWidth.value - sliderWidth.value * 0.2) / 360)));
|
|
37
|
+
}, [sliderWidth.value]);
|
|
38
|
+
const wrapperOnColorChange = () => {
|
|
39
|
+
onColorStrokeChange();
|
|
40
|
+
};
|
|
41
|
+
const onGestureEvent = useAnimatedGestureHandler({
|
|
42
|
+
onStart: (_ref2, ctx) => {
|
|
43
|
+
let {
|
|
44
|
+
x
|
|
45
|
+
} = _ref2;
|
|
46
|
+
ctx.startX = x;
|
|
47
|
+
},
|
|
48
|
+
onActive: (_ref3, _ref4) => {
|
|
49
|
+
let {
|
|
50
|
+
translationX
|
|
51
|
+
} = _ref3;
|
|
52
|
+
let {
|
|
53
|
+
startX
|
|
54
|
+
} = _ref4;
|
|
55
|
+
const slidePos = Math.min(sliderWidth.value, startX + translationX);
|
|
56
|
+
if (slidePos < 0.1 * sliderWidth.value) {
|
|
57
|
+
color.value = `hsl(0, 100%, ${Math.min(100, 100 - slidePos / (0.1 * sliderWidth.value) * 50).toFixed(10)}%)`;
|
|
58
|
+
} else if (slidePos > 0.9 * sliderWidth.value) {
|
|
59
|
+
color.value = `hsl(0, 100%, ${Math.max(50 - (slidePos - 0.9 * sliderWidth.value) / (0.1 * sliderWidth.value) * 50, 0).toFixed(10)}%)`;
|
|
60
|
+
} else {
|
|
61
|
+
color.value = `hsl(${(slidePos - sliderWidth.value * 0.1) / (sliderWidth.value - sliderWidth.value * 0.2) * 360}, 100%, 50%)`;
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
onEnd: () => {
|
|
65
|
+
runOnJS(wrapperOnColorChange)();
|
|
66
|
+
}
|
|
67
|
+
}, []);
|
|
68
|
+
const style = useAnimatedStyle(() => {
|
|
69
|
+
return {
|
|
70
|
+
transform: [{
|
|
71
|
+
translateX: position.value - TRACK_R
|
|
72
|
+
}]
|
|
73
|
+
};
|
|
74
|
+
}, [position.value]);
|
|
75
|
+
const onLayout = useCallback(event => {
|
|
76
|
+
sliderWidth.value = event.nativeEvent.layout.width;
|
|
77
|
+
}, [sliderWidth]);
|
|
78
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
79
|
+
style: sliderStyle.container
|
|
80
|
+
}, /*#__PURE__*/React.createElement(PanGestureHandler, {
|
|
81
|
+
onGestureEvent: onGestureEvent
|
|
82
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
83
|
+
style: sliderStyle.container
|
|
84
|
+
}, /*#__PURE__*/React.createElement(LinearGradient, {
|
|
85
|
+
start: gradientStart,
|
|
86
|
+
end: gradientEnd,
|
|
87
|
+
colors: gradientColors,
|
|
88
|
+
onLayout: onLayout,
|
|
89
|
+
style: sliderStyle.track
|
|
90
|
+
}), /*#__PURE__*/React.createElement(Animated.View, {
|
|
91
|
+
style: [sliderStyle.thumb, style]
|
|
92
|
+
}))));
|
|
93
|
+
};
|
|
94
|
+
export default ColorSlider;
|
|
95
|
+
//# sourceMappingURL=ColorSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["sliderStyle","TRACK_R","React","useCallback","View","PanGestureHandler","Animated","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","useDrawHook","gradientColors","gradientStart","x","y","gradientEnd","ColorSlider","linearGradient","LinearGradient","onColorStrokeChange","color","sliderWidth","position","hslRegExp","RegExp","res","exec","value","lum","parseFloat","tint","Math","min","max","wrapperOnColorChange","onGestureEvent","onStart","ctx","startX","onActive","translationX","slidePos","toFixed","onEnd","style","transform","translateX","onLayout","event","nativeEvent","layout","width","container","track","thumb"],"sourceRoot":"../../../../src","sources":["components/Slider/ColorSlider.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import Animated, { useAnimatedStyle } from 'react-native-reanimated';
|
|
4
|
+
import StrokeSlider from './StrokeSlider';
|
|
5
|
+
import ColorSlider from './ColorSlider';
|
|
6
|
+
import useDrawHook from '../DrawCore/useDrawHook';
|
|
7
|
+
import { StyleSheet } from 'react-native';
|
|
8
|
+
const styles = StyleSheet.create({
|
|
9
|
+
strokeContainer: {
|
|
10
|
+
flexDirection: 'row',
|
|
11
|
+
marginTop: 20,
|
|
12
|
+
borderColor: 'grey',
|
|
13
|
+
borderRadius: 20,
|
|
14
|
+
height: 40,
|
|
15
|
+
borderWidth: 1,
|
|
16
|
+
marginHorizontal: 20,
|
|
17
|
+
maxWidth: 500,
|
|
18
|
+
alignSelf: 'center'
|
|
19
|
+
},
|
|
20
|
+
strokeWrapper: {
|
|
21
|
+
flex: 1,
|
|
22
|
+
height: 40,
|
|
23
|
+
marginHorizontal: 20,
|
|
24
|
+
justifyContent: 'center'
|
|
25
|
+
},
|
|
26
|
+
currentColorContainer: {
|
|
27
|
+
borderRadius: 20,
|
|
28
|
+
borderWidth: 1,
|
|
29
|
+
borderColor: '#E5E5E5',
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
alignContent: 'center',
|
|
32
|
+
alignSelf: 'center',
|
|
33
|
+
padding: 4
|
|
34
|
+
},
|
|
35
|
+
currentColor: {
|
|
36
|
+
width: 20,
|
|
37
|
+
height: 20,
|
|
38
|
+
borderRadius: 10
|
|
39
|
+
},
|
|
40
|
+
colorContainer: {
|
|
41
|
+
flex: 1,
|
|
42
|
+
height: 40,
|
|
43
|
+
marginHorizontal: 20,
|
|
44
|
+
justifyContent: 'center'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const Sliders = _ref => {
|
|
48
|
+
let {
|
|
49
|
+
linearGradient
|
|
50
|
+
} = _ref;
|
|
51
|
+
const {
|
|
52
|
+
strokeWidth,
|
|
53
|
+
color
|
|
54
|
+
} = useDrawHook();
|
|
55
|
+
const styleStrokeColor = useAnimatedStyle(() => {
|
|
56
|
+
return {
|
|
57
|
+
borderWidth: strokeWidth.value,
|
|
58
|
+
borderColor: color.value
|
|
59
|
+
};
|
|
60
|
+
}, [strokeWidth, color]);
|
|
61
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
62
|
+
style: styles.strokeContainer
|
|
63
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
64
|
+
style: styles.strokeWrapper
|
|
65
|
+
}, /*#__PURE__*/React.createElement(StrokeSlider, {
|
|
66
|
+
minValue: 2,
|
|
67
|
+
maxValue: 10
|
|
68
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
69
|
+
style: styles.currentColorContainer
|
|
70
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
71
|
+
style: [styles.currentColor, styleStrokeColor]
|
|
72
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
73
|
+
style: styles.colorContainer
|
|
74
|
+
}, /*#__PURE__*/React.createElement(ColorSlider, {
|
|
75
|
+
linearGradient: linearGradient
|
|
76
|
+
})));
|
|
77
|
+
};
|
|
78
|
+
export default Sliders;
|
|
79
|
+
//# sourceMappingURL=Sliders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Animated","useAnimatedStyle","StrokeSlider","ColorSlider","useDrawHook","StyleSheet","styles","create","strokeContainer","flexDirection","marginTop","borderColor","borderRadius","height","borderWidth","marginHorizontal","maxWidth","alignSelf","strokeWrapper","flex","justifyContent","currentColorContainer","alignContent","padding","currentColor","width","colorContainer","Sliders","linearGradient","strokeWidth","color","styleStrokeColor","value"],"sourceRoot":"../../../../src","sources":["components/Slider/Sliders.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAmB,cAAc;AAC9C,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AACpE,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,WAAW,MAAM,eAAe;AAEvC,OAAOC,WAAW,MAAM,yBAAyB;AACjD,SAASC,UAAU,QAAQ,cAAc;AAEzC,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAC;EAC/BC,eAAe,EAAE;IACfC,aAAa,EAAE,KAAK;IACpBC,SAAS,EAAE,EAAE;IACbC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,EAAE;IACVC,WAAW,EAAE,CAAC;IACdC,gBAAgB,EAAE,EAAE;IACpBC,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAE;EACb,CAAC;EACDC,aAAa,EAAE;IACbC,IAAI,EAAE,CAAC;IACPN,MAAM,EAAE,EAAE;IACVE,gBAAgB,EAAE,EAAE;IACpBK,cAAc,EAAE;EAClB,CAAC;EACDC,qBAAqB,EAAE;IACrBT,YAAY,EAAE,EAAE;IAChBE,WAAW,EAAE,CAAC;IACdH,WAAW,EAAE,SAAS;IACtBS,cAAc,EAAE,QAAQ;IACxBE,YAAY,EAAE,QAAQ;IACtBL,SAAS,EAAE,QAAQ;IACnBM,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IAAEC,KAAK,EAAE,EAAE;IAAEZ,MAAM,EAAE,EAAE;IAAED,YAAY,EAAE;EAAG,CAAC;EACzDc,cAAc,EAAE;IACdP,IAAI,EAAE,CAAC;IACPN,MAAM,EAAE,EAAE;IACVE,gBAAgB,EAAE,EAAE;IACpBK,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;AAEF,MAAMO,OAAO,GAAG,QAIV;EAAA,IAJW;IACfC;EAGF,CAAC;EACC,MAAM;IAAEC,WAAW;IAAEC;EAAM,CAAC,GAAG1B,WAAW,EAAE;EAE5C,MAAM2B,gBAAgB,GAAG9B,gBAAgB,CAAC,MAAM;IAC9C,OAAO;MACLa,WAAW,EAAEe,WAAW,CAAEG,KAAK;MAC/BrB,WAAW,EAAEmB,KAAK,CAAEE;IACtB,CAAC;EACH,CAAC,EAAE,CAACH,WAAW,EAAEC,KAAK,CAAC,CAAC;EAExB,oBACE,oBAAC,IAAI;IAAC,KAAK,EAAExB,MAAM,CAACE;EAAgB,gBAClC,oBAAC,IAAI;IAAC,KAAK,EAAEF,MAAM,CAACY;EAAc,gBAChC,oBAAC,YAAY;IAAC,QAAQ,EAAE,CAAE;IAAC,QAAQ,EAAE;EAAG,EAAG,CACtC,eACP,oBAAC,IAAI;IAAC,KAAK,EAAEZ,MAAM,CAACe;EAAsB,gBACxC,oBAAC,QAAQ,CAAC,IAAI;IAAC,KAAK,EAAE,CAACf,MAAM,CAACkB,YAAY,EAAEO,gBAAgB;EAAE,EAAG,CAC5D,eACP,oBAAC,IAAI;IAAC,KAAK,EAAEzB,MAAM,CAACoB;EAAe,gBACjC,oBAAC,WAAW;IAAC,cAAc,EAAEE;EAAe,EAAG,CAC1C,CACF;AAEX,CAAC;AAED,eAAeD,OAAO"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PanGestureHandler } from 'react-native-gesture-handler';
|
|
3
|
+
import Animated, { runOnJS, useAnimatedGestureHandler, useAnimatedStyle, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { sliderStyle, TRACK_R } from './sliderStyle';
|
|
6
|
+
import useDrawHook from '../DrawCore/useDrawHook';
|
|
7
|
+
import SliderSvg from '../DrawWithOptions/SliderSvg';
|
|
8
|
+
import { StyleSheet } from 'react-native';
|
|
9
|
+
const styles = StyleSheet.create({
|
|
10
|
+
container: {
|
|
11
|
+
height: 38,
|
|
12
|
+
width: '100%',
|
|
13
|
+
justifyContent: 'center'
|
|
14
|
+
},
|
|
15
|
+
sliderBackground: {
|
|
16
|
+
maxHeight: 15
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const StrokeSlider = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
minValue,
|
|
22
|
+
maxValue
|
|
23
|
+
} = _ref;
|
|
24
|
+
const {
|
|
25
|
+
onColorStrokeChange,
|
|
26
|
+
strokeWidth
|
|
27
|
+
} = useDrawHook();
|
|
28
|
+
const sliderWidth = useSharedValue(0);
|
|
29
|
+
const position = useDerivedValue(() => {
|
|
30
|
+
return sliderWidth.value / (maxValue - minValue) * (strokeWidth.value - minValue);
|
|
31
|
+
});
|
|
32
|
+
const wrapperOnColorStrokeChange = () => {
|
|
33
|
+
onColorStrokeChange();
|
|
34
|
+
};
|
|
35
|
+
const onGestureEvent = useAnimatedGestureHandler({
|
|
36
|
+
onStart: (_ref2, ctx) => {
|
|
37
|
+
let {
|
|
38
|
+
x
|
|
39
|
+
} = _ref2;
|
|
40
|
+
ctx.startX = x;
|
|
41
|
+
},
|
|
42
|
+
onActive: (_ref3, _ref4) => {
|
|
43
|
+
let {
|
|
44
|
+
translationX
|
|
45
|
+
} = _ref3;
|
|
46
|
+
let {
|
|
47
|
+
startX
|
|
48
|
+
} = _ref4;
|
|
49
|
+
strokeWidth.value = Math.min(maxValue, Math.max(minValue, (startX + translationX) / sliderWidth.value * (maxValue - minValue) + minValue));
|
|
50
|
+
},
|
|
51
|
+
onEnd: () => {
|
|
52
|
+
runOnJS(wrapperOnColorStrokeChange)();
|
|
53
|
+
}
|
|
54
|
+
}, []);
|
|
55
|
+
const style = useAnimatedStyle(() => {
|
|
56
|
+
return {
|
|
57
|
+
transform: [{
|
|
58
|
+
translateX: position.value - TRACK_R
|
|
59
|
+
}]
|
|
60
|
+
};
|
|
61
|
+
}, [position.value]);
|
|
62
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
63
|
+
style: sliderStyle.container
|
|
64
|
+
}, /*#__PURE__*/React.createElement(PanGestureHandler, {
|
|
65
|
+
onGestureEvent: onGestureEvent
|
|
66
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
67
|
+
style: sliderStyle.container
|
|
68
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
69
|
+
onLayout: event => {
|
|
70
|
+
sliderWidth.value = event.nativeEvent.layout.width;
|
|
71
|
+
},
|
|
72
|
+
style: styles.container
|
|
73
|
+
}, /*#__PURE__*/React.createElement(SliderSvg, {
|
|
74
|
+
color: "grey",
|
|
75
|
+
preserveAspectRatio: "none",
|
|
76
|
+
style: styles.sliderBackground
|
|
77
|
+
})), /*#__PURE__*/React.createElement(Animated.View, {
|
|
78
|
+
style: [sliderStyle.thumb, style]
|
|
79
|
+
}))));
|
|
80
|
+
};
|
|
81
|
+
export default StrokeSlider;
|
|
82
|
+
//# sourceMappingURL=StrokeSlider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","PanGestureHandler","Animated","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","View","sliderStyle","TRACK_R","useDrawHook","SliderSvg","StyleSheet","styles","create","container","height","width","justifyContent","sliderBackground","maxHeight","StrokeSlider","minValue","maxValue","onColorStrokeChange","strokeWidth","sliderWidth","position","value","wrapperOnColorStrokeChange","onGestureEvent","onStart","ctx","x","startX","onActive","translationX","Math","min","max","onEnd","style","transform","translateX","event","nativeEvent","layout","thumb"],"sourceRoot":"../../../../src","sources":["components/Slider/StrokeSlider.tsx"],"mappings":"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"}
|