UNPKG

9.75 kBSource Map (JSON)View Raw
1{"version":3,"sources":["Svg.tsx"],"names":["React","requireNativeComponent","StyleSheet","findNodeHandle","NativeModules","extractResponder","extractViewBox","extractColor","Shape","G","RNSVGSvgViewManager","styles","create","svg","backgroundColor","borderWidth","Svg","measureInWindow","callback","root","measure","measureLayout","relativeToNativeNode","onSuccess","onFail","setNativeProps","props","width","height","bbWidth","bbHeight","toDataURL","options","handle","opacity","viewBox","preserveAspectRatio","style","children","onLayout","stylesAndProps","Array","isArray","Object","assign","color","focusable","font","transform","fill","fillOpacity","fillRule","stroke","strokeWidth","strokeOpacity","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","w","parseInt","h","doNotParseWidth","isNaN","length","doNotParseHeight","dimensions","flex","o","opacityStyle","tint","refMethod","Boolean","displayName","defaultProps","RNSVGSvg"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport {\n requireNativeComponent,\n StyleSheet,\n findNodeHandle,\n NativeModules,\n MeasureOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureInWindowOnSuccessCallback,\n} from 'react-native';\nimport {\n Color,\n ClipProps,\n FillProps,\n NumberProp,\n StrokeProps,\n ResponderProps,\n TransformProps,\n ResponderInstanceProps,\n} from '../lib/extract/types';\nimport extractResponder from '../lib/extract/extractResponder';\nimport extractViewBox from '../lib/extract/extractViewBox';\nimport extractColor from '../lib/extract/extractColor';\nimport Shape from './Shape';\nimport G from './G';\n\nconst RNSVGSvgViewManager = NativeModules.RNSVGSvgViewManager;\n\nconst styles = StyleSheet.create({\n svg: {\n backgroundColor: 'transparent',\n borderWidth: 0,\n },\n});\n\nexport default class Svg extends Shape<\n {\n color?: Color;\n style?: [] | {};\n viewBox?: string;\n opacity?: NumberProp;\n onLayout?: () => void;\n preserveAspectRatio?: string;\n } & TransformProps &\n ResponderProps &\n StrokeProps &\n FillProps &\n ClipProps\n> {\n static displayName = 'Svg';\n\n static defaultProps = {\n preserveAspectRatio: 'xMidYMid meet',\n };\n\n measureInWindow = (callback: MeasureInWindowOnSuccessCallback) => {\n this.root && this.root.measureInWindow(callback);\n };\n\n measure = (callback: MeasureOnSuccessCallback) => {\n this.root && this.root.measure(callback);\n };\n\n measureLayout = (\n relativeToNativeNode: number,\n onSuccess: MeasureLayoutOnSuccessCallback,\n onFail: () => void /* currently unused */,\n ) => {\n this.root &&\n this.root.measureLayout(relativeToNativeNode, onSuccess, onFail);\n };\n\n setNativeProps = (\n props: Object & {\n width?: NumberProp;\n height?: NumberProp;\n bbWidth?: NumberProp;\n bbHeight?: NumberProp;\n },\n ) => {\n const { width, height } = props;\n if (width) {\n props.bbWidth = width;\n }\n if (height) {\n props.bbHeight = height;\n }\n this.root && this.root.setNativeProps(props);\n };\n\n toDataURL = (callback: () => void, options?: Object) => {\n if (!callback) {\n return;\n }\n const handle = findNodeHandle(this.root as Component);\n RNSVGSvgViewManager.toDataURL(handle, options, callback);\n };\n\n render() {\n const {\n opacity = 1,\n viewBox,\n preserveAspectRatio,\n style,\n children,\n onLayout,\n ...props\n } = this.props;\n const stylesAndProps = {\n ...(Array.isArray(style) ? Object.assign({}, ...style) : style),\n ...props,\n };\n const {\n color,\n width,\n height,\n focusable,\n\n // Inherited G properties\n font,\n transform,\n fill,\n fillOpacity,\n fillRule,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeDasharray,\n strokeDashoffset,\n strokeLinecap,\n strokeLinejoin,\n strokeMiterlimit,\n } = stylesAndProps;\n\n const w = parseInt(width, 10);\n const h = parseInt(height, 10);\n const doNotParseWidth = isNaN(w) || width[width.length - 1] === '%';\n const doNotParseHeight = isNaN(h) || height[height.length - 1] === '%';\n const dimensions =\n width && height\n ? {\n width: doNotParseWidth ? width : w,\n height: doNotParseHeight ? height : h,\n flex: 0,\n }\n : null;\n\n const o = +opacity;\n const opacityStyle = !isNaN(o)\n ? {\n opacity: o,\n }\n : null;\n\n const tint = extractColor(color);\n return (\n <RNSVGSvg\n {...props}\n bbWidth={width}\n bbHeight={height}\n color={tint}\n tintColor={tint}\n onLayout={onLayout}\n ref={this.refMethod}\n style={[styles.svg, style, opacityStyle, dimensions]}\n focusable={Boolean(focusable) && focusable !== 'false'}\n {...extractResponder(props, this as ResponderInstanceProps)}\n {...extractViewBox({ viewBox, preserveAspectRatio })}\n >\n <G\n {...{\n children,\n style,\n font,\n transform,\n fill,\n fillOpacity,\n fillRule,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeDasharray,\n strokeDashoffset,\n strokeLinecap,\n strokeLinejoin,\n strokeMiterlimit,\n }}\n />\n </RNSVGSvg>\n );\n }\n}\n\nexport const RNSVGSvg = requireNativeComponent('RNSVGSvgView');\n"]}
\No newline at end of file