@archireport/react-native-svg-draw 1.0.2 → 1.2.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/lib/commonjs/components/DrawCore/ColorSlider.js +23 -16
- package/lib/commonjs/components/DrawCore/ColorSlider.js.map +1 -1
- package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js +60 -9
- package/lib/commonjs/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
- package/lib/commonjs/components/DrawCore/CurrentAnimatedText.js +5 -4
- package/lib/commonjs/components/DrawCore/CurrentAnimatedText.js.map +1 -1
- package/lib/commonjs/components/DrawCore/DrawPad.js +11 -10
- package/lib/commonjs/components/DrawCore/DrawPad.js.map +1 -1
- package/lib/commonjs/components/DrawCore/Item.js +10 -10
- package/lib/commonjs/components/DrawCore/Item.js.map +1 -1
- package/lib/commonjs/components/DrawCore/StrokeSlider.js +21 -14
- package/lib/commonjs/components/DrawCore/StrokeSlider.js.map +1 -1
- package/lib/commonjs/components/DrawCore/index.js +156 -63
- package/lib/commonjs/components/DrawCore/index.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/ArrowSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/ArrowSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/CancelSvg.js +35 -0
- package/lib/commonjs/components/DrawWithOptions/CancelSvg.js.map +1 -0
- package/lib/commonjs/components/DrawWithOptions/CircleSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/CircleSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/CloseSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/CloseSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/DoubleHeadSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/PenSvg.js +27 -0
- package/lib/commonjs/components/DrawWithOptions/PenSvg.js.map +1 -0
- package/lib/commonjs/components/DrawWithOptions/SendSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/SendSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/SquareSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/SquareSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/TextSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/TextSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js +1 -1
- package/lib/commonjs/components/DrawWithOptions/ThrashSvg.js.map +1 -1
- package/lib/commonjs/components/DrawWithOptions/index.js +39 -8
- package/lib/commonjs/components/DrawWithOptions/index.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.d.js +4 -0
- package/lib/commonjs/types.d.js.map +1 -1
- package/lib/module/components/DrawCore/ColorSlider.js +24 -17
- package/lib/module/components/DrawCore/ColorSlider.js.map +1 -1
- package/lib/module/components/DrawCore/CurrentAnimatedItem.js +57 -10
- package/lib/module/components/DrawCore/CurrentAnimatedItem.js.map +1 -1
- package/lib/module/components/DrawCore/CurrentAnimatedText.js +5 -4
- package/lib/module/components/DrawCore/CurrentAnimatedText.js.map +1 -1
- package/lib/module/components/DrawCore/DrawPad.js +11 -10
- package/lib/module/components/DrawCore/DrawPad.js.map +1 -1
- package/lib/module/components/DrawCore/Item.js +9 -11
- package/lib/module/components/DrawCore/Item.js.map +1 -1
- package/lib/module/components/DrawCore/StrokeSlider.js +21 -14
- package/lib/module/components/DrawCore/StrokeSlider.js.map +1 -1
- package/lib/module/components/DrawCore/index.js +157 -64
- package/lib/module/components/DrawCore/index.js.map +1 -1
- package/lib/module/components/DrawWithOptions/ArrowSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/ArrowSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/CancelSvg.js +22 -0
- package/lib/module/components/DrawWithOptions/CancelSvg.js.map +1 -0
- package/lib/module/components/DrawWithOptions/CircleSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/CircleSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/CloseSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/CloseSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/DoubleHeadSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/DoubleHeadSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/PenSvg.js +14 -0
- package/lib/module/components/DrawWithOptions/PenSvg.js.map +1 -0
- package/lib/module/components/DrawWithOptions/SendSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/SendSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/SquareSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/SquareSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/TextSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/TextSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/ThrashSvg.js +1 -1
- package/lib/module/components/DrawWithOptions/ThrashSvg.js.map +1 -1
- package/lib/module/components/DrawWithOptions/index.js +37 -8
- package/lib/module/components/DrawWithOptions/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.d.js +1 -1
- package/lib/module/types.d.js.map +1 -1
- package/lib/typescript/components/DrawCore/ColorSlider.d.ts +2 -1
- package/lib/typescript/components/DrawCore/CurrentAnimatedItem.d.ts +3 -1
- package/lib/typescript/components/DrawCore/CurrentAnimatedText.d.ts +1 -0
- package/lib/typescript/components/DrawCore/DrawPad.d.ts +1 -0
- package/lib/typescript/components/DrawCore/Item.d.ts +1 -0
- package/lib/typescript/components/DrawCore/StrokeSlider.d.ts +3 -1
- package/lib/typescript/components/DrawCore/index.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/ArrowSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/CancelSvg.d.ts +3 -0
- package/lib/typescript/components/DrawWithOptions/CircleSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/CloseSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/DoubleHeadSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/PenSvg.d.ts +3 -0
- package/lib/typescript/components/DrawWithOptions/SendSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/SquareSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/TextSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/ThrashSvg.d.ts +1 -0
- package/lib/typescript/components/DrawWithOptions/index.d.ts +3 -1
- package/package.json +5 -5
- package/src/components/DrawCore/ColorSlider.tsx +11 -6
- package/src/components/DrawCore/CurrentAnimatedItem.tsx +59 -8
- package/src/components/DrawCore/DrawPad.tsx +2 -2
- package/src/components/DrawCore/Item.tsx +3 -11
- package/src/components/DrawCore/StrokeSlider.tsx +5 -1
- package/src/components/DrawCore/index.tsx +1105 -970
- package/src/components/DrawWithOptions/CancelSvg.tsx +23 -0
- package/src/components/DrawWithOptions/PenSvg.tsx +14 -0
- package/src/components/DrawWithOptions/index.tsx +38 -1
- package/src/types.d.ts +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","useState","StyleSheet","View","Animated","runOnJS","useAnimatedStyle","useDerivedValue","styles","create","textBackground","marginHorizontal","backgroundColor","borderRadius","paddingVertical","paddingHorizontal","markerContainerLeft","position","left","height","justifyContent","markerContainerRight","right","marker","width","borderWidth","borderColor","CurrentAnimatedText","currentItem","onHeightChange","text","setText","value","type","textAnimatedStyle","fontSize","strokeWidth","color","containerStyle","opacity","data","parseFloat","top","transform","translateX","x","translateY","y","event","nativeEvent","layout"],"sources":["CurrentAnimatedText.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport Animated, {\n runOnJS,\n useAnimatedStyle,\n useDerivedValue,\n} from 'react-native-reanimated';\nimport type { DrawItem } from '../../types';\n\nconst styles = StyleSheet.create({\n textBackground: {\n marginHorizontal: 10,\n backgroundColor: 'rgba(0, 0, 0, 0.6)',\n borderRadius: 10,\n paddingVertical: 13,\n paddingHorizontal: 18,\n },\n markerContainerLeft: {\n position: 'absolute',\n left: 5,\n height: '100%',\n justifyContent: 'center',\n },\n markerContainerRight: {\n position: 'absolute',\n right: 5,\n height: '100%',\n justifyContent: 'center',\n },\n marker: {\n width: 10,\n height: 10,\n borderRadius: 10,\n backgroundColor: '#3a6cff',\n borderWidth: 1,\n borderColor: 'white',\n },\n});\n\n/**\n * There is an issue on re-render for ForeignObject (see https://github.com/react-native-svg/react-native-svg/issues/1357)\n * So we cannot embed this component directly in the Svg\n */\nexport default function CurrentAnimatedText({\n currentItem,\n onHeightChange,\n}: {\n currentItem: Animated.SharedValue<DrawItem | null>;\n onHeightChange: (height: number) => void;\n}) {\n const [text, setText] = useState(\n currentItem.value?.type === 'text' ? currentItem.value.text || '' : ''\n );\n\n useDerivedValue(() => {\n runOnJS(setText)(\n currentItem.value?.type === 'text' ? currentItem.value.text || '' : ''\n );\n }, [currentItem.value]);\n\n const textAnimatedStyle = useAnimatedStyle(() => {\n return {\n fontSize: 16 + (currentItem.value?.strokeWidth ?? 0),\n color: 'white',\n };\n }, [currentItem.value?.strokeWidth]);\n\n const containerStyle = useAnimatedStyle(() => {\n return {\n opacity: currentItem.value?.type === 'text' ? 1 : 0,\n height: currentItem.value?.type === 'text' ? 'auto' : -10,\n width:\n (currentItem.value?.type === 'text' &&\n (typeof currentItem.value.data.width === 'string'\n ? parseFloat(currentItem.value.data.width)\n : currentItem.value.data.width)) ||\n 0,\n position: 'absolute',\n top: 0,\n left: 0,\n transform: [\n {\n translateX:\n (currentItem.value?.type === 'text' &&\n (typeof currentItem.value.data.x === 'string'\n ? parseFloat(currentItem.value.data.x)\n : currentItem.value.data.x)) ||\n 0,\n },\n {\n translateY:\n (currentItem.value?.type === 'text' &&\n (typeof currentItem.value.data.y === 'string'\n ? parseFloat(currentItem.value.data.y)\n : currentItem.value.data.y)) ||\n 0,\n },\n ],\n };\n }, [currentItem.value]);\n\n return (\n <Animated.View style={containerStyle}>\n <View\n style={styles.textBackground}\n onLayout={(event) => {\n onHeightChange(event.nativeEvent.layout.height);\n }}\n >\n <Animated.Text style={textAnimatedStyle}>{text}</Animated.Text>\n </View>\n <View style={styles.markerContainerLeft}>\n <View style={styles.marker} />\n </View>\n <View style={styles.markerContainerRight}>\n <View style={styles.marker} />\n </View>\n </Animated.View>\n );\n}\n"],"mappings":"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"}
|
|
@@ -4,12 +4,13 @@ import CurrentAnimatedItem from './CurrentAnimatedItem';
|
|
|
4
4
|
import CurrentAnimatedText from './CurrentAnimatedText';
|
|
5
5
|
import Item from './Item';
|
|
6
6
|
|
|
7
|
-
const DrawPad =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const DrawPad = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
currentItem,
|
|
10
|
+
doneItems,
|
|
11
|
+
onPressItem,
|
|
12
|
+
onTextHeightChange
|
|
13
|
+
} = _ref;
|
|
13
14
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Svg, {
|
|
14
15
|
fillRule: "evenodd"
|
|
15
16
|
}, /*#__PURE__*/React.createElement(Defs, null, /*#__PURE__*/React.createElement(Circle, {
|
|
@@ -50,13 +51,13 @@ const DrawPad = ({
|
|
|
50
51
|
orient: "auto"
|
|
51
52
|
}, /*#__PURE__*/React.createElement(Use, {
|
|
52
53
|
href: "#selectionIndicator"
|
|
53
|
-
}))), /*#__PURE__*/React.createElement(
|
|
54
|
-
currentItem: currentItem
|
|
55
|
-
}), doneItems.map((item, index) => /*#__PURE__*/React.createElement(Item, {
|
|
54
|
+
}))), doneItems.map((item, index) => /*#__PURE__*/React.createElement(Item, {
|
|
56
55
|
key: index,
|
|
57
56
|
item: item,
|
|
58
57
|
onPress: onPressItem(item, index)
|
|
59
|
-
}))
|
|
58
|
+
})), /*#__PURE__*/React.createElement(CurrentAnimatedItem, {
|
|
59
|
+
currentItem: currentItem
|
|
60
|
+
})), /*#__PURE__*/React.createElement(CurrentAnimatedText, {
|
|
60
61
|
currentItem: currentItem,
|
|
61
62
|
onHeightChange: onTextHeightChange
|
|
62
63
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Svg","Circle","Defs","Marker","Polyline","Use","CurrentAnimatedItem","CurrentAnimatedText","Item","DrawPad","currentItem","doneItems","onPressItem","onTextHeightChange","map","item","index"],"sources":["DrawPad.tsx"],"sourcesContent":["import React from 'react';\nimport type Animated from 'react-native-reanimated';\nimport Svg, {\n Circle,\n Defs,\n Marker,\n MarkerUnits,\n Polyline,\n Use,\n} from 'react-native-svg';\nimport CurrentAnimatedItem from './CurrentAnimatedItem';\nimport CurrentAnimatedText from './CurrentAnimatedText';\nimport Item from './Item';\nimport type { DrawItem } from '../../types';\n\nconst DrawPad = ({\n currentItem,\n doneItems,\n onPressItem,\n onTextHeightChange,\n}: {\n currentItem: Animated.SharedValue<DrawItem | null>;\n doneItems: Array<DrawItem>;\n onPressItem: (item: DrawItem, index: number) => () => void;\n onTextHeightChange: (height: number) => void;\n}) => {\n return (\n <>\n <Svg fillRule=\"evenodd\">\n <Defs>\n <Circle\n id=\"selectionIndicator\"\n fill=\"#3a6cff\"\n r={5}\n cx={0}\n cy={0}\n strokeWidth={1}\n stroke=\"white\"\n />\n <Marker\n id=\"arrowhead\"\n markerUnits={'strokeWidth' as MarkerUnits}\n refX=\"0\"\n refY=\"0\"\n orient=\"auto\"\n >\n <Polyline\n points=\"-2,-2 0,0 -2,2 0,0\"\n stroke=\"context-stroke\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Marker>\n\n <Marker\n id=\"side\"\n markerUnits={'strokeWidth' as MarkerUnits}\n refX=\"0\"\n refY=\"0\"\n orient=\"auto\"\n >\n <Polyline\n stroke=\"context-stroke\"\n points=\"0,-2 0,2 0,0\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Marker>\n\n <Marker\n id=\"selection\"\n markerUnits={'userSpaceOnUse' as MarkerUnits}\n refX=\"0\"\n refY=\"0\"\n orient=\"auto\"\n >\n <Use href=\"#selectionIndicator\" />\n </Marker>\n </Defs>\n\n {doneItems.map((item, index) => (\n <Item key={index} item={item} onPress={onPressItem(item, index)} />\n ))}\n\n <CurrentAnimatedItem currentItem={currentItem} />\n </Svg>\n\n <CurrentAnimatedText\n currentItem={currentItem}\n onHeightChange={onTextHeightChange}\n />\n </>\n );\n};\n\nexport default DrawPad;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,GAAP,IACEC,MADF,EAEEC,IAFF,EAGEC,MAHF,EAKEC,QALF,EAMEC,GANF,QAOO,kBAPP;AAQA,OAAOC,mBAAP,MAAgC,uBAAhC;AACA,OAAOC,mBAAP,MAAgC,uBAAhC;AACA,OAAOC,IAAP,MAAiB,QAAjB;;AAGA,MAAMC,OAAO,GAAG,QAUV;EAAA,IAVW;IACfC,WADe;IAEfC,SAFe;IAGfC,WAHe;IAIfC;EAJe,CAUX;EACJ,oBACE,uDACE,oBAAC,GAAD;IAAK,QAAQ,EAAC;EAAd,gBACE,oBAAC,IAAD,qBACE,oBAAC,MAAD;IACE,EAAE,EAAC,oBADL;IAEE,IAAI,EAAC,SAFP;IAGE,CAAC,EAAE,CAHL;IAIE,EAAE,EAAE,CAJN;IAKE,EAAE,EAAE,CALN;IAME,WAAW,EAAE,CANf;IAOE,MAAM,EAAC;EAPT,EADF,eAUE,oBAAC,MAAD;IACE,EAAE,EAAC,WADL;IAEE,WAAW,EAAE,aAFf;IAGE,IAAI,EAAC,GAHP;IAIE,IAAI,EAAC,GAJP;IAKE,MAAM,EAAC;EALT,gBAOE,oBAAC,QAAD;IACE,MAAM,EAAC,oBADT;IAEE,MAAM,EAAC,gBAFT;IAGE,aAAa,EAAC,OAHhB;IAIE,cAAc,EAAC;EAJjB,EAPF,CAVF,eAyBE,oBAAC,MAAD;IACE,EAAE,EAAC,MADL;IAEE,WAAW,EAAE,aAFf;IAGE,IAAI,EAAC,GAHP;IAIE,IAAI,EAAC,GAJP;IAKE,MAAM,EAAC;EALT,gBAOE,oBAAC,QAAD;IACE,MAAM,EAAC,gBADT;IAEE,MAAM,EAAC,cAFT;IAGE,aAAa,EAAC,OAHhB;IAIE,cAAc,EAAC;EAJjB,EAPF,CAzBF,eAwCE,oBAAC,MAAD;IACE,EAAE,EAAC,WADL;IAEE,WAAW,EAAE,gBAFf;IAGE,IAAI,EAAC,GAHP;IAIE,IAAI,EAAC,GAJP;IAKE,MAAM,EAAC;EALT,gBAOE,oBAAC,GAAD;IAAK,IAAI,EAAC;EAAV,EAPF,CAxCF,CADF,EAoDGF,SAAS,CAACG,GAAV,CAAc,CAACC,IAAD,EAAOC,KAAP,kBACb,oBAAC,IAAD;IAAM,GAAG,EAAEA,KAAX;IAAkB,IAAI,EAAED,IAAxB;IAA8B,OAAO,EAAEH,WAAW,CAACG,IAAD,EAAOC,KAAP;EAAlD,EADD,CApDH,eAwDE,oBAAC,mBAAD;IAAqB,WAAW,EAAEN;EAAlC,EAxDF,CADF,eA4DE,oBAAC,mBAAD;IACE,WAAW,EAAEA,WADf;IAEE,cAAc,EAAEG;EAFlB,EA5DF,CADF;AAmED,CA9ED;;AAgFA,eAAeJ,OAAf"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { View, Text, StyleSheet } from 'react-native';
|
|
5
5
|
import { G, Line, Ellipse, Rect, Path, ForeignObject } from 'react-native-svg';
|
|
6
|
-
|
|
7
|
-
const transformPointsToPath = points => {
|
|
8
|
-
return points.length > 0 ? points.reduce((acc, point) => `${acc} L ${point.x},${point.y}`, `M ${points[0].x},${points[0].y}`) : '';
|
|
9
|
-
};
|
|
10
|
-
|
|
6
|
+
import { pointsToPath } from './CurrentAnimatedItem';
|
|
11
7
|
const styles = StyleSheet.create({
|
|
12
8
|
textZone: {
|
|
13
9
|
paddingHorizontal: 10
|
|
@@ -22,10 +18,12 @@ const styles = StyleSheet.create({
|
|
|
22
18
|
color: 'white'
|
|
23
19
|
}
|
|
24
20
|
});
|
|
25
|
-
export default function Item({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
export default function Item(_ref) {
|
|
22
|
+
let {
|
|
23
|
+
item,
|
|
24
|
+
onPress
|
|
25
|
+
} = _ref;
|
|
26
|
+
|
|
29
27
|
switch (item.type) {
|
|
30
28
|
case 'singleHead':
|
|
31
29
|
return /*#__PURE__*/React.createElement(G, {
|
|
@@ -66,7 +64,7 @@ export default function Item({
|
|
|
66
64
|
|
|
67
65
|
case 'pen':
|
|
68
66
|
return /*#__PURE__*/React.createElement(Path, {
|
|
69
|
-
d:
|
|
67
|
+
d: pointsToPath(item.data),
|
|
70
68
|
stroke: item.color,
|
|
71
69
|
fill: "none",
|
|
72
70
|
strokeWidth: item.strokeWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","View","Text","StyleSheet","G","Line","Ellipse","Rect","Path","ForeignObject","pointsToPath","styles","create","textZone","paddingHorizontal","textContainer","backgroundColor","borderRadius","paddingVertical","text","color","Item","item","onPress","type","data","strokeWidth","x","y","width","fontSize"],"sources":["Item.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, StyleSheet } from 'react-native';\nimport { G, Line, Ellipse, Rect, Path, ForeignObject } from 'react-native-svg';\nimport type { DrawItem } from '../../types';\nimport { pointsToPath } from './CurrentAnimatedItem';\n\nconst styles = StyleSheet.create({\n textZone: {\n paddingHorizontal: 10,\n },\n textContainer: {\n backgroundColor: 'rgba(0, 0, 0, 0.6)',\n borderRadius: 10,\n paddingVertical: 13,\n paddingHorizontal: 18,\n },\n text: {\n color: 'white',\n },\n});\n\nexport default function Item({\n item,\n onPress,\n}: {\n item: DrawItem;\n onPress: () => void;\n}) {\n switch (item.type) {\n case 'singleHead':\n return (\n <G onPressIn={onPress}>\n <Line\n {...item.data}\n fill=\"none\"\n stroke={item.color}\n strokeWidth={item.strokeWidth}\n markerEnd=\"url(#arrowhead)\"\n />\n </G>\n );\n case 'doubleHead':\n return (\n <G onPressIn={onPress}>\n <Line\n {...item.data}\n fill=\"none\"\n stroke={item.color}\n strokeWidth={item.strokeWidth}\n markerStart=\"url(#side)\"\n markerEnd=\"url(#side)\"\n />\n </G>\n );\n case 'ellipse':\n return (\n <Ellipse\n {...item.data}\n fill=\"none\"\n stroke={item.color}\n strokeWidth={item.strokeWidth}\n onPress={onPress}\n />\n );\n case 'rectangle':\n return (\n <Rect\n {...item.data}\n fill=\"none\"\n stroke={item.color}\n strokeWidth={item.strokeWidth}\n onPress={onPress}\n />\n );\n case 'pen':\n return (\n <Path\n d={pointsToPath(item.data)}\n stroke={item.color}\n fill=\"none\"\n strokeWidth={item.strokeWidth}\n onPress={onPress}\n />\n );\n case 'text':\n return (\n <G onPress={onPress}>\n <Rect {...item.data} onPress={onPress} />\n <ForeignObject\n x={item.data.x}\n y={item.data.y}\n width={item.data.width}\n key={item.text}\n >\n <View\n style={[\n styles.textZone,\n {\n width: item.data.width,\n },\n ]}\n >\n <View style={styles.textContainer}>\n <Text\n style={[\n styles.text,\n {\n fontSize: 14 + item.strokeWidth,\n },\n ]}\n >\n {item.text}\n </Text>\n </View>\n </View>\n </ForeignObject>\n </G>\n );\n\n default:\n return null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -31,11 +31,13 @@ const styles = StyleSheet.create({
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
const StrokeSlider =
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
const StrokeSlider = _ref => {
|
|
35
|
+
let {
|
|
36
|
+
minValue,
|
|
37
|
+
maxValue,
|
|
38
|
+
stroke,
|
|
39
|
+
onStrokeChange
|
|
40
|
+
} = _ref;
|
|
39
41
|
const sliderHeight = useSharedValue(0);
|
|
40
42
|
const [text, setText] = useState(stroke.value);
|
|
41
43
|
const position = useDerivedValue(() => {
|
|
@@ -43,19 +45,24 @@ const StrokeSlider = ({
|
|
|
43
45
|
return sliderHeight.value / (maxValue - minValue) * (stroke.value - minValue);
|
|
44
46
|
});
|
|
45
47
|
const onGestureEvent = useAnimatedGestureHandler({
|
|
46
|
-
onStart: ({
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
onStart: (_ref2, ctx) => {
|
|
49
|
+
let {
|
|
50
|
+
y
|
|
51
|
+
} = _ref2;
|
|
49
52
|
ctx.startY = y;
|
|
50
53
|
},
|
|
51
|
-
onActive: ({
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
onActive: (_ref3, _ref4) => {
|
|
55
|
+
let {
|
|
56
|
+
translationY
|
|
57
|
+
} = _ref3;
|
|
58
|
+
let {
|
|
59
|
+
startY
|
|
60
|
+
} = _ref4;
|
|
56
61
|
stroke.value = Math.min(maxValue, Math.max(minValue, (startY + translationY) / sliderHeight.value * (maxValue - minValue) + minValue));
|
|
57
62
|
},
|
|
58
|
-
onEnd: () => {
|
|
63
|
+
onEnd: () => {
|
|
64
|
+
runOnJS(onStrokeChange)();
|
|
65
|
+
}
|
|
59
66
|
}, []);
|
|
60
67
|
const style = useAnimatedStyle(() => {
|
|
61
68
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","useState","PanGestureHandler","Animated","runOnJS","useAnimatedGestureHandler","useAnimatedStyle","useDerivedValue","useSharedValue","View","StyleSheet","Text","TRACK_R","styles","create","container","flex","alignItems","width","thumb","position","height","borderRadius","top","backgroundColor","track","textIndicator","color","fontSize","marginTop","fontWeight","StrokeSlider","minValue","maxValue","stroke","onStrokeChange","sliderHeight","text","setText","value","Math","round","onGestureEvent","onStart","ctx","y","startY","onActive","translationY","min","max","onEnd","style","transform","translateY","event","nativeEvent","layout"],"sources":["StrokeSlider.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n PanGestureHandler,\n PanGestureHandlerGestureEvent,\n} from 'react-native-gesture-handler';\nimport Animated, {\n runOnJS,\n useAnimatedGestureHandler,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n} from 'react-native-reanimated';\nimport { View, StyleSheet, Text } from 'react-native';\n\nconst TRACK_R = 10;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n width: '100%',\n },\n thumb: {\n position: 'absolute',\n width: TRACK_R * 2,\n height: TRACK_R * 2,\n borderRadius: TRACK_R,\n top: 0,\n backgroundColor: 'white',\n },\n track: {\n width: 10,\n flex: 1,\n borderRadius: 5,\n backgroundColor: 'black',\n },\n textIndicator: {\n color: 'white',\n fontSize: 14,\n marginTop: 10,\n fontWeight: 'bold',\n },\n});\n\nconst StrokeSlider = ({\n minValue,\n maxValue,\n stroke,\n onStrokeChange,\n}: {\n minValue: number;\n maxValue: number;\n stroke: Animated.SharedValue<number>;\n onStrokeChange: () => void;\n}) => {\n const sliderHeight = useSharedValue(0);\n\n const [text, setText] = useState(stroke.value);\n\n const position = useDerivedValue(() => {\n runOnJS(setText)(Math.round(stroke.value));\n return (\n (sliderHeight.value / (maxValue - minValue)) * (stroke.value - minValue)\n );\n });\n\n const onGestureEvent = useAnimatedGestureHandler<\n PanGestureHandlerGestureEvent,\n { startY: number }\n >(\n {\n onStart: ({ y }, ctx) => {\n ctx.startY = y;\n },\n onActive: ({ translationY }, { startY }) => {\n stroke.value = Math.min(\n maxValue,\n Math.max(\n minValue,\n ((startY + translationY) / sliderHeight.value) *\n (maxValue - minValue) +\n minValue\n )\n );\n },\n onEnd: () => {\n runOnJS(onStrokeChange)();\n },\n },\n []\n );\n\n const style = useAnimatedStyle(() => {\n return {\n transform: [{ translateY: position.value - TRACK_R }],\n };\n }, [position.value]);\n\n return (\n <View style={styles.container}>\n <PanGestureHandler onGestureEvent={onGestureEvent}>\n <Animated.View style={styles.container}>\n <View\n onLayout={(event) => {\n sliderHeight.value = event.nativeEvent.layout.height;\n }}\n style={styles.track}\n />\n <Animated.View style={[styles.thumb, style]} />\n </Animated.View>\n </PanGestureHandler>\n <Text style={styles.textIndicator}>{text}</Text>\n </View>\n );\n};\n\nexport default StrokeSlider;\n"],"mappings":"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"}
|