@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.
Files changed (130) hide show
  1. package/README.md +78 -27
  2. package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js +10 -5
  3. package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
  4. package/lib/commonjs/components/DrawCore/CurrentAnimatedText.js.map +1 -1
  5. package/lib/commonjs/components/DrawCore/DrawContext.js +18 -0
  6. package/lib/commonjs/components/DrawCore/DrawContext.js.map +1 -0
  7. package/lib/commonjs/components/DrawCore/DrawPad.js.map +1 -1
  8. package/lib/commonjs/components/DrawCore/DrawProvider.js +103 -0
  9. package/lib/commonjs/components/DrawCore/DrawProvider.js.map +1 -0
  10. package/lib/commonjs/components/DrawCore/Item.js.map +1 -1
  11. package/lib/commonjs/components/DrawCore/index.js +41 -168
  12. package/lib/commonjs/components/DrawCore/index.js.map +1 -1
  13. package/lib/commonjs/components/DrawCore/useDrawHook.js +76 -0
  14. package/lib/commonjs/components/DrawCore/useDrawHook.js.map +1 -0
  15. package/lib/commonjs/components/DrawWithOptions/ArrowSvg.js.map +1 -1
  16. package/lib/commonjs/components/DrawWithOptions/CancelSvg.js.map +1 -1
  17. package/lib/commonjs/components/DrawWithOptions/CircleSvg.js.map +1 -1
  18. package/lib/commonjs/components/DrawWithOptions/CloseSvg.js.map +1 -1
  19. package/lib/commonjs/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
  20. package/lib/commonjs/components/DrawWithOptions/PenSvg.js.map +1 -1
  21. package/lib/commonjs/components/DrawWithOptions/SendSvg.js.map +1 -1
  22. package/lib/commonjs/components/DrawWithOptions/SliderSvg.js +31 -0
  23. package/lib/commonjs/components/DrawWithOptions/SliderSvg.js.map +1 -0
  24. package/lib/commonjs/components/DrawWithOptions/SquareSvg.js.map +1 -1
  25. package/lib/commonjs/components/DrawWithOptions/TextSvg.js.map +1 -1
  26. package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js +27 -2
  27. package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js.map +1 -1
  28. package/lib/commonjs/components/DrawWithOptions/index.js +128 -68
  29. package/lib/commonjs/components/DrawWithOptions/index.js.map +1 -1
  30. package/lib/commonjs/components/{DrawCore → Slider}/ColorSlider.js +45 -62
  31. package/lib/commonjs/components/Slider/ColorSlider.js.map +1 -0
  32. package/lib/commonjs/components/Slider/Sliders.js +88 -0
  33. package/lib/commonjs/components/Slider/Sliders.js.map +1 -0
  34. package/lib/commonjs/components/{DrawCore → Slider}/StrokeSlider.js +38 -47
  35. package/lib/commonjs/components/Slider/StrokeSlider.js.map +1 -0
  36. package/lib/commonjs/components/Slider/sliderStyle.js +37 -0
  37. package/lib/commonjs/components/Slider/sliderStyle.js.map +1 -0
  38. package/lib/commonjs/index.js +7 -0
  39. package/lib/commonjs/index.js.map +1 -1
  40. package/lib/module/components/DrawCore/CurrentAnimatedItem.js +10 -5
  41. package/lib/module/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
  42. package/lib/module/components/DrawCore/CurrentAnimatedText.js.map +1 -1
  43. package/lib/module/components/DrawCore/DrawContext.js +11 -0
  44. package/lib/module/components/DrawCore/DrawContext.js.map +1 -0
  45. package/lib/module/components/DrawCore/DrawPad.js.map +1 -1
  46. package/lib/module/components/DrawCore/DrawProvider.js +94 -0
  47. package/lib/module/components/DrawCore/DrawProvider.js.map +1 -0
  48. package/lib/module/components/DrawCore/Item.js.map +1 -1
  49. package/lib/module/components/DrawCore/index.js +43 -170
  50. package/lib/module/components/DrawCore/index.js.map +1 -1
  51. package/lib/module/components/DrawCore/useDrawHook.js +69 -0
  52. package/lib/module/components/DrawCore/useDrawHook.js.map +1 -0
  53. package/lib/module/components/DrawWithOptions/ArrowSvg.js.map +1 -1
  54. package/lib/module/components/DrawWithOptions/CancelSvg.js.map +1 -1
  55. package/lib/module/components/DrawWithOptions/CircleSvg.js.map +1 -1
  56. package/lib/module/components/DrawWithOptions/CloseSvg.js.map +1 -1
  57. package/lib/module/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
  58. package/lib/module/components/DrawWithOptions/PenSvg.js.map +1 -1
  59. package/lib/module/components/DrawWithOptions/SendSvg.js.map +1 -1
  60. package/lib/module/components/DrawWithOptions/SliderSvg.js +22 -0
  61. package/lib/module/components/DrawWithOptions/SliderSvg.js.map +1 -0
  62. package/lib/module/components/DrawWithOptions/SquareSvg.js.map +1 -1
  63. package/lib/module/components/DrawWithOptions/TextSvg.js.map +1 -1
  64. package/lib/module/components/DrawWithOptions/ThrashSvg.js +27 -2
  65. package/lib/module/components/DrawWithOptions/ThrashSvg.js.map +1 -1
  66. package/lib/module/components/DrawWithOptions/index.js +129 -69
  67. package/lib/module/components/DrawWithOptions/index.js.map +1 -1
  68. package/lib/module/components/Slider/ColorSlider.js +95 -0
  69. package/lib/module/components/Slider/ColorSlider.js.map +1 -0
  70. package/lib/module/components/Slider/Sliders.js +79 -0
  71. package/lib/module/components/Slider/Sliders.js.map +1 -0
  72. package/lib/module/components/Slider/StrokeSlider.js +82 -0
  73. package/lib/module/components/Slider/StrokeSlider.js.map +1 -0
  74. package/lib/module/components/Slider/sliderStyle.js +29 -0
  75. package/lib/module/components/Slider/sliderStyle.js.map +1 -0
  76. package/lib/module/index.js +1 -0
  77. package/lib/module/index.js.map +1 -1
  78. package/lib/typescript/components/DrawCore/CurrentAnimatedItem.d.ts.map +1 -1
  79. package/lib/typescript/components/DrawCore/DrawContext.d.ts +14 -0
  80. package/lib/typescript/components/DrawCore/DrawContext.d.ts.map +1 -0
  81. package/lib/typescript/components/DrawCore/DrawPad.d.ts.map +1 -1
  82. package/lib/typescript/components/DrawCore/DrawProvider.d.ts +6 -0
  83. package/lib/typescript/components/DrawCore/DrawProvider.d.ts.map +1 -0
  84. package/lib/typescript/components/DrawCore/index.d.ts +3 -11
  85. package/lib/typescript/components/DrawCore/index.d.ts.map +1 -1
  86. package/lib/typescript/components/DrawCore/useDrawHook.d.ts +18 -0
  87. package/lib/typescript/components/DrawCore/useDrawHook.d.ts.map +1 -0
  88. package/lib/typescript/components/DrawWithOptions/SliderSvg.d.ts +4 -0
  89. package/lib/typescript/components/DrawWithOptions/SliderSvg.d.ts.map +1 -0
  90. package/lib/typescript/components/DrawWithOptions/ThrashSvg.d.ts.map +1 -1
  91. package/lib/typescript/components/DrawWithOptions/index.d.ts +7 -6
  92. package/lib/typescript/components/DrawWithOptions/index.d.ts.map +1 -1
  93. package/lib/typescript/components/Slider/ColorSlider.d.ts +8 -0
  94. package/lib/typescript/components/Slider/ColorSlider.d.ts.map +1 -0
  95. package/lib/typescript/components/Slider/Sliders.d.ts +8 -0
  96. package/lib/typescript/components/Slider/Sliders.d.ts.map +1 -0
  97. package/lib/typescript/components/Slider/StrokeSlider.d.ts +6 -0
  98. package/lib/typescript/components/Slider/StrokeSlider.d.ts.map +1 -0
  99. package/lib/typescript/components/Slider/sliderStyle.d.ts +28 -0
  100. package/lib/typescript/components/Slider/sliderStyle.d.ts.map +1 -0
  101. package/lib/typescript/index.d.ts +1 -0
  102. package/lib/typescript/index.d.ts.map +1 -1
  103. package/package.json +22 -22
  104. package/src/components/DrawCore/CurrentAnimatedItem.tsx +10 -5
  105. package/src/components/DrawCore/DrawContext.tsx +22 -0
  106. package/src/components/DrawCore/DrawPad.tsx +0 -1
  107. package/src/components/DrawCore/DrawProvider.tsx +122 -0
  108. package/src/components/DrawCore/index.tsx +938 -1139
  109. package/src/components/DrawCore/useDrawHook.tsx +70 -0
  110. package/src/components/DrawWithOptions/SliderSvg.tsx +24 -0
  111. package/src/components/DrawWithOptions/ThrashSvg.tsx +29 -2
  112. package/src/components/DrawWithOptions/index.tsx +215 -149
  113. package/src/components/Slider/ColorSlider.tsx +144 -0
  114. package/src/components/Slider/Sliders.tsx +75 -0
  115. package/src/components/Slider/StrokeSlider.tsx +104 -0
  116. package/src/components/Slider/sliderStyle.tsx +28 -0
  117. package/src/index.tsx +1 -0
  118. package/src/types.d.ts +35 -1
  119. package/lib/commonjs/components/DrawCore/ColorSlider.js.map +0 -1
  120. package/lib/commonjs/components/DrawCore/StrokeSlider.js.map +0 -1
  121. package/lib/module/components/DrawCore/ColorSlider.js +0 -113
  122. package/lib/module/components/DrawCore/ColorSlider.js.map +0 -1
  123. package/lib/module/components/DrawCore/StrokeSlider.js +0 -91
  124. package/lib/module/components/DrawCore/StrokeSlider.js.map +0 -1
  125. package/lib/typescript/components/DrawCore/ColorSlider.d.ts +0 -13
  126. package/lib/typescript/components/DrawCore/ColorSlider.d.ts.map +0 -1
  127. package/lib/typescript/components/DrawCore/StrokeSlider.d.ts +0 -9
  128. package/lib/typescript/components/DrawCore/StrokeSlider.d.ts.map +0 -1
  129. package/src/components/DrawCore/ColorSlider.tsx +0 -169
  130. package/src/components/DrawCore/StrokeSlider.tsx +0 -117
@@ -1,39 +1,50 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
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
- backgroundColor: '#000000'
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: 30,
21
- height: 30,
32
+ width: 22,
33
+ height: 20,
22
34
  justifyContent: 'center',
23
35
  alignItems: 'center',
24
- marginHorizontal: 4
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
- flexDirection: 'row',
36
- alignItems: 'center'
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
- export default function DrawWithOptions(_ref) {
67
+ function DrawWithOptionsCore(_ref) {
57
68
  let {
58
- close,
59
- takeSnapshot,
60
69
  linearGradient,
61
70
  image,
62
- defaultDrawingMode = 'ellipse'
71
+ close,
72
+ takeSnapshot,
73
+ backgroundColor
63
74
  } = _ref;
64
- const drawRef = useRef(null);
65
- const [drawingMode, setDrawingMode] = useState(defaultDrawingMode);
66
- const [selectedItem, setSelectedItem] = useState(false);
67
- const [cancelEnabled, setCancelEnabled] = useState(false);
68
- const onPressSend = useCallback(() => {
69
- if (drawRef.current) {
70
- takeSnapshot === null || takeSnapshot === void 0 ? void 0 : takeSnapshot(drawRef.current.takeSnapshot());
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
- setDrawingMode('pen');
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
- setDrawingMode('doubleHead');
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
- setDrawingMode('singleHead');
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
- setDrawingMode('rectangle');
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
- setDrawingMode('ellipse');
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
- setDrawingMode('text');
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
- fill: "#ffffff",
164
- opacity: drawingMode === 'text' ? 1 : 0.5
165
- })))), /*#__PURE__*/React.createElement(DrawCore, {
166
- ref: drawRef,
167
- drawingMode: drawingMode,
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
- linearGradient: linearGradient,
170
- onSelectionChange: setSelectedItem,
171
- onCancelChange: setCancelEnabled
172
- }), showToolbar ? /*#__PURE__*/React.createElement(View, {
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
- }, selectedItem ? /*#__PURE__*/React.createElement(Pressable, {
175
- style: styles.option,
176
- onPress: () => {
177
- var _drawRef$current;
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
- fill: "white"
184
- })) : null, cancelEnabled ? /*#__PURE__*/React.createElement(Pressable, {
185
- style: styles.option,
186
- onPress: () => {
187
- var _drawRef$current2;
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: 27,
192
- height: 27,
193
- stroke: "#ffffff",
255
+ width: 28,
256
+ height: 28,
257
+ color: 'grey',
194
258
  strokeWidth: 2
195
- })) : null, /*#__PURE__*/React.createElement(Pressable, {
196
- style: styles.sendButton,
197
- onPress: onPressSend
198
- }, /*#__PURE__*/React.createElement(SendSvg, {
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","useRef","useState","Pressable","View","StyleSheet","Keyboard","DrawCore","PenSvg","DoubleHeadSvg","CircleSvg","SquareSvg","ArrowSvg","TextSvg","CloseSvg","ThrashSvg","SendSvg","CancelSvg","styles","create","container","flex","backgroundColor","option","width","height","justifyContent","alignItems","marginHorizontal","toolbar","flexDirection","paddingBottom","paddingTop","paddingHorizontal","drawOptions","sendButton","borderRadius","marginLeft","bottomToolBar","DrawWithOptions","close","takeSnapshot","linearGradient","image","defaultDrawingMode","drawRef","drawingMode","setDrawingMode","selectedItem","setSelectedItem","cancelEnabled","setCancelEnabled","onPressSend","current","showToolbar","setShowToolbar","sudDidHide","addListener","sudDidShow","event","endCoordinates","remove","deleteSelectedItem","cancelLastAction"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
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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"}