mirror of
https://github.com/zoriya/react-native-svg.git
synced 2026-06-03 07:06:04 +00:00
Run Prettier, configure ESLint.
This commit is contained in:
+82
-26
@@ -1,8 +1,11 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import {PanResponder} from 'react-native';
|
||||
import PropTypes from "prop-types";
|
||||
import { PanResponder } from "react-native";
|
||||
|
||||
const numberProp = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);
|
||||
const numberArrayProp = PropTypes.oneOfType([PropTypes.arrayOf(numberProp), numberProp]);
|
||||
const numberArrayProp = PropTypes.oneOfType([
|
||||
PropTypes.arrayOf(numberProp),
|
||||
numberProp
|
||||
]);
|
||||
|
||||
const touchableProps = {
|
||||
disabled: PropTypes.bool,
|
||||
@@ -15,9 +18,9 @@ const touchableProps = {
|
||||
delayLongPress: PropTypes.number
|
||||
};
|
||||
|
||||
const responderProps = [
|
||||
const responderProps = [
|
||||
...Object.keys(PanResponder.create({}).panHandlers),
|
||||
'pointerEvents'
|
||||
"pointerEvents"
|
||||
].reduce((props, name) => {
|
||||
props[name] = PropTypes.func;
|
||||
return props;
|
||||
@@ -26,11 +29,11 @@ const responderProps = [
|
||||
const fillProps = {
|
||||
fill: PropTypes.string,
|
||||
fillOpacity: numberProp,
|
||||
fillRule: PropTypes.oneOf(['evenodd', 'nonzero'])
|
||||
fillRule: PropTypes.oneOf(["evenodd", "nonzero"])
|
||||
};
|
||||
|
||||
const clipProps = {
|
||||
clipRule: PropTypes.oneOf(['evenodd', 'nonzero']),
|
||||
clipRule: PropTypes.oneOf(["evenodd", "nonzero"]),
|
||||
clipPath: PropTypes.string
|
||||
};
|
||||
|
||||
@@ -44,8 +47,8 @@ const strokeProps = {
|
||||
strokeOpacity: numberProp,
|
||||
strokeDasharray: numberArrayProp,
|
||||
strokeDashoffset: numberProp,
|
||||
strokeLinecap: PropTypes.oneOf(['butt', 'square', 'round']),
|
||||
strokeLinejoin: PropTypes.oneOf(['miter', 'bevel', 'round']),
|
||||
strokeLinecap: PropTypes.oneOf(["butt", "square", "round"]),
|
||||
strokeLinejoin: PropTypes.oneOf(["miter", "bevel", "round"]),
|
||||
strokeMiterlimit: numberProp
|
||||
};
|
||||
|
||||
@@ -81,19 +84,45 @@ const pathProps = {
|
||||
|
||||
// normal | italic | oblique | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-style
|
||||
const fontStyle = PropTypes.oneOf(['normal', 'italic', 'oblique']);
|
||||
const fontStyle = PropTypes.oneOf(["normal", "italic", "oblique"]);
|
||||
|
||||
// normal | small-caps | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant
|
||||
const fontVariant = PropTypes.oneOf(['normal', 'small-caps']);
|
||||
const fontVariant = PropTypes.oneOf(["normal", "small-caps"]);
|
||||
|
||||
// normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-weight
|
||||
const fontWeight = PropTypes.oneOf(['normal', 'bold', 'bolder', 'lighter', '100', '200', '300', '400', '500', '600', '700', '800', '900']);
|
||||
const fontWeight = PropTypes.oneOf([
|
||||
"normal",
|
||||
"bold",
|
||||
"bolder",
|
||||
"lighter",
|
||||
"100",
|
||||
"200",
|
||||
"300",
|
||||
"400",
|
||||
"500",
|
||||
"600",
|
||||
"700",
|
||||
"800",
|
||||
"900"
|
||||
]);
|
||||
|
||||
// normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-stretch
|
||||
const fontStretch = PropTypes.oneOf(['normal', 'wider', 'narrower', 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded']);
|
||||
const fontStretch = PropTypes.oneOf([
|
||||
"normal",
|
||||
"wider",
|
||||
"narrower",
|
||||
"ultra-condensed",
|
||||
"extra-condensed",
|
||||
"condensed",
|
||||
"semi-condensed",
|
||||
"semi-expanded",
|
||||
"expanded",
|
||||
"extra-expanded",
|
||||
"ultra-expanded"
|
||||
]);
|
||||
|
||||
// <absolute-size> | <relative-size> | <length> | <percentage> | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size
|
||||
@@ -125,11 +154,17 @@ const font = PropTypes.object;
|
||||
|
||||
// start | middle | end | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor
|
||||
const textAnchor = PropTypes.oneOf(['start', 'middle', 'end']);
|
||||
const textAnchor = PropTypes.oneOf(["start", "middle", "end"]);
|
||||
|
||||
// none | underline | overline | line-through | blink | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-decoration
|
||||
const textDecoration = PropTypes.oneOf(['none', 'underline', 'overline', 'line-through', 'blink']);
|
||||
const textDecoration = PropTypes.oneOf([
|
||||
"none",
|
||||
"underline",
|
||||
"overline",
|
||||
"line-through",
|
||||
"blink"
|
||||
]);
|
||||
|
||||
// normal | <length> | inherit
|
||||
// https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing
|
||||
@@ -164,7 +199,7 @@ Value: normal | none | [ <common-lig-values> || <discretionary-lig-values> || <h
|
||||
https://developer.mozilla.org/en/docs/Web/CSS/font-variant-ligatures
|
||||
https://www.w3.org/TR/css-fonts-3/#font-variant-ligatures-prop
|
||||
*/
|
||||
const fontVariantLigatures = PropTypes.oneOf(['normal', 'none']);
|
||||
const fontVariantLigatures = PropTypes.oneOf(["normal", "none"]);
|
||||
|
||||
const fontProps = {
|
||||
fontStyle,
|
||||
@@ -188,7 +223,7 @@ const fontProps = {
|
||||
https://svgwg.org/svg2-draft/text.html#TextElementLengthAdjustAttribute
|
||||
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust
|
||||
*/
|
||||
const lengthAdjust = PropTypes.oneOf(['spacing', 'spacingAndGlyphs']);
|
||||
const lengthAdjust = PropTypes.oneOf(["spacing", "spacingAndGlyphs"]);
|
||||
|
||||
/*
|
||||
Name Value Initial value Animatable
|
||||
@@ -239,7 +274,24 @@ const verticalAlign = numberProp;
|
||||
https://svgwg.org/svg2-draft/text.html#AlignmentBaselineProperty
|
||||
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline
|
||||
*/
|
||||
const alignmentBaseline = PropTypes.oneOf(['baseline', 'text-bottom', 'alphabetic', 'ideographic', 'middle', 'central', 'mathematical', 'text-top', 'bottom', 'center', 'top', 'text-before-edge', 'text-after-edge', 'before-edge', 'after-edge', 'hanging']);
|
||||
const alignmentBaseline = PropTypes.oneOf([
|
||||
"baseline",
|
||||
"text-bottom",
|
||||
"alphabetic",
|
||||
"ideographic",
|
||||
"middle",
|
||||
"central",
|
||||
"mathematical",
|
||||
"text-top",
|
||||
"bottom",
|
||||
"center",
|
||||
"top",
|
||||
"text-before-edge",
|
||||
"text-after-edge",
|
||||
"before-edge",
|
||||
"after-edge",
|
||||
"hanging"
|
||||
]);
|
||||
|
||||
/*
|
||||
2.2.2. Alignment Shift: baseline-shift longhand
|
||||
@@ -259,7 +311,11 @@ const alignmentBaseline = PropTypes.oneOf(['baseline', 'text-bottom', 'alphabeti
|
||||
|
||||
https://www.w3.org/TR/css-inline-3/#propdef-baseline-shift
|
||||
*/
|
||||
const baselineShift = PropTypes.oneOfType([PropTypes.oneOf(['sub', 'super', 'baseline']), PropTypes.arrayOf(numberProp), numberProp]);
|
||||
const baselineShift = PropTypes.oneOfType([
|
||||
PropTypes.oneOf(["sub", "super", "baseline"]),
|
||||
PropTypes.arrayOf(numberProp),
|
||||
numberProp
|
||||
]);
|
||||
|
||||
/*
|
||||
6.12. Low-level font feature settings control: the font-feature-settings property
|
||||
@@ -370,14 +426,14 @@ const textSpecificProps = {
|
||||
lengthAdjust,
|
||||
textLength,
|
||||
fontData: PropTypes.object,
|
||||
fontFeatureSettings,
|
||||
fontFeatureSettings
|
||||
};
|
||||
|
||||
// https://svgwg.org/svg2-draft/text.html#TSpanAttributes
|
||||
const textProps = {
|
||||
...textSpecificProps,
|
||||
dx: numberArrayProp,
|
||||
dy: numberArrayProp,
|
||||
dy: numberArrayProp
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -391,7 +447,7 @@ const textProps = {
|
||||
yes
|
||||
https://svgwg.org/svg2-draft/text.html#TextPathElementSideAttribute
|
||||
*/
|
||||
const side = PropTypes.oneOf(['left', 'right']);
|
||||
const side = PropTypes.oneOf(["left", "right"]);
|
||||
|
||||
/*
|
||||
Name
|
||||
@@ -419,7 +475,7 @@ const startOffset = numberProp;
|
||||
https://svgwg.org/svg2-draft/text.html#TextPathElementMethodAttribute
|
||||
https://developer.mozilla.org/en/docs/Web/SVG/Element/textPath
|
||||
*/
|
||||
const method = PropTypes.oneOf(['align', 'stretch']);
|
||||
const method = PropTypes.oneOf(["align", "stretch"]);
|
||||
|
||||
/*
|
||||
Name
|
||||
@@ -433,7 +489,7 @@ const method = PropTypes.oneOf(['align', 'stretch']);
|
||||
https://svgwg.org/svg2-draft/text.html#TextPathElementSpacingAttribute
|
||||
https://developer.mozilla.org/en/docs/Web/SVG/Element/textPath
|
||||
*/
|
||||
const spacing = PropTypes.oneOf(['auto', 'exact']);
|
||||
const spacing = PropTypes.oneOf(["auto", "exact"]);
|
||||
|
||||
/*
|
||||
Name
|
||||
@@ -445,7 +501,7 @@ const spacing = PropTypes.oneOf(['auto', 'exact']);
|
||||
Animatable
|
||||
yes
|
||||
*/
|
||||
const midLine = PropTypes.oneOf(['sharp', 'smooth']);
|
||||
const midLine = PropTypes.oneOf(["sharp", "smooth"]);
|
||||
|
||||
// https://svgwg.org/svg2-draft/text.html#TextPathAttributes
|
||||
// https://developer.mozilla.org/en/docs/Web/SVG/Element/textPath
|
||||
@@ -456,7 +512,7 @@ const textPathProps = {
|
||||
method,
|
||||
spacing,
|
||||
side,
|
||||
midLine,
|
||||
midLine
|
||||
};
|
||||
|
||||
export {
|
||||
|
||||
Reference in New Issue
Block a user