UNPKG

27.6 kBSource Map (JSON)View Raw
1{"version":3,"sources":["xml.tsx"],"names":["React","Component","useEffect","useMemo","useState","Rect","Circle","Ellipse","Polygon","Polyline","Line","Svg","Path","G","Text","TSpan","TextPath","Use","Image","Symbol","Defs","LinearGradient","RadialGradient","Stop","ClipPath","Pattern","Mask","Marker","tags","svg","circle","ellipse","g","text","tspan","textPath","path","polygon","polyline","line","rect","use","image","symbol","defs","linearGradient","radialGradient","stop","clipPath","pattern","mask","marker","missingTag","SvgAst","ast","override","props","children","SvgXml","xml","parse","fetchText","uri","fetch","response","err","console","error","bind","SvgUri","setXml","then","catch","SvgFromXml","state","prevProps","setState","e","SvgFromUri","upperCase","_match","letter","toUpperCase","camelCase","phrase","replace","getStyle","string","style","declarations","split","length","i","declaration","property","value","trim","astToReact","index","Tag","map","repeat","str","result","toSpaces","tabs","locate","source","lines","nLines","column","before","slice","beforeExec","exec","beforeLine","after","afterExec","afterLine","pad","snippet","validNameCharacters","whitespace","quotemarks","middleware","currentElement","metadata","root","stack","message","Error","test","neutral","char","push","openingTag","start","comment","end","cdata","closingTag","tag","getName","element","parent","getAttributes","styles","selfClosing","indexOf","pop","name","allowSpaces","getAttributeValue","isNaN","getQuotedAttributeValue","getUnquotedAttributeValue","quotemark","escaped","jsx"],"mappings":"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","sourcesContent":["import React, {\n Component,\n ComponentType,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport Rect from './elements/Rect';\nimport Circle from './elements/Circle';\nimport Ellipse from './elements/Ellipse';\nimport Polygon from './elements/Polygon';\nimport Polyline from './elements/Polyline';\nimport Line from './elements/Line';\nimport Svg from './elements/Svg';\nimport Path from './elements/Path';\nimport G from './elements/G';\nimport Text from './elements/Text';\nimport TSpan from './elements/TSpan';\nimport TextPath from './elements/TextPath';\nimport Use from './elements/Use';\nimport Image from './elements/Image';\nimport Symbol from './elements/Symbol';\nimport Defs from './elements/Defs';\nimport LinearGradient from './elements/LinearGradient';\nimport RadialGradient from './elements/RadialGradient';\nimport Stop from './elements/Stop';\nimport ClipPath from './elements/ClipPath';\nimport Pattern from './elements/Pattern';\nimport Mask from './elements/Mask';\nimport Marker from './elements/Marker';\n\nexport const tags: { [tag: string]: ComponentType } = {\n svg: Svg,\n circle: Circle,\n ellipse: Ellipse,\n g: G,\n text: Text,\n tspan: TSpan,\n textPath: TextPath,\n path: Path,\n polygon: Polygon,\n polyline: Polyline,\n line: Line,\n rect: Rect,\n use: Use,\n image: Image,\n symbol: Symbol,\n defs: Defs,\n linearGradient: LinearGradient,\n radialGradient: RadialGradient,\n stop: Stop,\n clipPath: ClipPath,\n pattern: Pattern,\n mask: Mask,\n marker: Marker,\n};\n\nfunction missingTag() {\n return null;\n}\n\nexport interface AST {\n tag: string;\n style?: Styles;\n styles?: string;\n priority?: Map<string, boolean | undefined>;\n parent: AST | null;\n children: (AST | string)[] | (JSX.Element | string)[];\n props: {\n [prop: string]: Styles | string | undefined;\n };\n Tag: ComponentType;\n}\n\nexport interface XmlAST extends AST {\n children: (XmlAST | string)[];\n parent: XmlAST | null;\n}\n\nexport interface JsxAST extends AST {\n children: (JSX.Element | string)[];\n}\n\nexport type UriProps = { uri: string | null; override?: Object };\nexport type UriState = { xml: string | null };\n\nexport type XmlProps = { xml: string | null; override?: Object };\nexport type XmlState = { ast: JsxAST | null };\n\nexport type AstProps = { ast: JsxAST | null; override?: Object };\n\nexport function SvgAst({ ast, override }: AstProps) {\n if (!ast) {\n return null;\n }\n const { props, children } = ast;\n return (\n <Svg {...props} {...override}>\n {children}\n </Svg>\n );\n}\n\nexport function SvgXml(props: XmlProps) {\n const { xml, override } = props;\n const ast = useMemo<JsxAST | null>(() => (xml !== null ? parse(xml) : null), [\n xml,\n ]);\n return <SvgAst ast={ast} override={override || props} />;\n}\n\nexport async function fetchText(uri: string) {\n const response = await fetch(uri);\n return await response.text();\n}\n\nexport const err = console.error.bind(console);\n\nexport function SvgUri(props: UriProps) {\n const { uri } = props;\n const [xml, setXml] = useState<string | null>(null);\n useEffect(() => {\n uri\n ? fetchText(uri)\n .then(setXml)\n .catch(err)\n : setXml(null);\n }, [uri]);\n return <SvgXml xml={xml} override={props} />;\n}\n\n// Extending Component is required for Animated support.\n\nexport class SvgFromXml extends Component<XmlProps, XmlState> {\n state = { ast: null };\n componentDidMount() {\n this.parse(this.props.xml);\n }\n componentDidUpdate(prevProps: { xml: string | null }) {\n const { xml } = this.props;\n if (xml !== prevProps.xml) {\n this.parse(xml);\n }\n }\n parse(xml: string | null) {\n try {\n this.setState({ ast: xml ? parse(xml) : null });\n } catch (e) {\n console.error(e);\n }\n }\n render() {\n const {\n props,\n state: { ast },\n } = this;\n return <SvgAst ast={ast} override={props.override || props} />;\n }\n}\n\nexport class SvgFromUri extends Component<UriProps, UriState> {\n state = { xml: null };\n componentDidMount() {\n this.fetch(this.props.uri);\n }\n componentDidUpdate(prevProps: { uri: string | null }) {\n const { uri } = this.props;\n if (uri !== prevProps.uri) {\n this.fetch(uri);\n }\n }\n async fetch(uri: string | null) {\n try {\n this.setState({ xml: uri ? await fetchText(uri) : null });\n } catch (e) {\n console.error(e);\n }\n }\n render() {\n const {\n props,\n state: { xml },\n } = this;\n return <SvgFromXml xml={xml} override={props} />;\n }\n}\n\nconst upperCase = (_match: string, letter: string) => letter.toUpperCase();\n\nexport const camelCase = (phrase: string) =>\n phrase.replace(/[:-]([a-z])/g, upperCase);\n\nexport type Styles = { [property: string]: string };\n\nexport function getStyle(string: string): Styles {\n const style: Styles = {};\n const declarations = string.split(';');\n const { length } = declarations;\n for (let i = 0; i < length; i++) {\n const declaration = declarations[i];\n if (declaration.length !== 0) {\n const split = declaration.split(':');\n const property = split[0];\n const value = split[1];\n style[camelCase(property.trim())] = value.trim();\n }\n }\n return style;\n}\n\nexport function astToReact(\n value: AST | string,\n index: number,\n): JSX.Element | string {\n if (typeof value === 'object') {\n const { Tag, props, children } = value;\n return (\n <Tag key={index} {...props}>\n {(children as (AST | string)[]).map(astToReact)}\n </Tag>\n );\n }\n return value;\n}\n\n// slimmed down parser based on https://github.com/Rich-Harris/svg-parser\n\nfunction repeat(str: string, i: number) {\n let result = '';\n while (i--) {\n result += str;\n }\n return result;\n}\n\nconst toSpaces = (tabs: string) => repeat(' ', tabs.length);\n\nfunction locate(source: string, i: number) {\n const lines = source.split('\\n');\n const nLines = lines.length;\n let column = i;\n let line = 0;\n for (; line < nLines; line++) {\n const { length } = lines[line];\n if (column >= length) {\n column -= length;\n } else {\n break;\n }\n }\n const before = source.slice(0, i).replace(/^\\t+/, toSpaces);\n const beforeExec = /(^|\\n).*$/.exec(before);\n const beforeLine = (beforeExec && beforeExec[0]) || '';\n const after = source.slice(i);\n const afterExec = /.*(\\n|$)/.exec(after);\n const afterLine = afterExec && afterExec[0];\n const pad = repeat(' ', beforeLine.length);\n const snippet = `${beforeLine}${afterLine}\\n${pad}^`;\n return { line, column, snippet };\n}\n\nconst validNameCharacters = /[a-zA-Z0-9:_-]/;\nconst whitespace = /[\\s\\t\\r\\n]/;\nconst quotemarks = /['\"]/;\n\nexport type Middleware = (ast: XmlAST) => XmlAST;\n\nexport function parse(source: string, middleware?: Middleware): JsxAST | null {\n const length = source.length;\n let currentElement: XmlAST | null = null;\n let state = metadata;\n let children = null;\n let root: XmlAST | undefined;\n let stack: XmlAST[] = [];\n\n function error(message: string) {\n const { line, column, snippet } = locate(source, i);\n throw new Error(\n `${message} (${line}:${column}). If this is valid SVG, it's probably a bug. Please raise an issue\\n\\n${snippet}`,\n );\n }\n\n function metadata() {\n while (\n i + 1 < length &&\n (source[i] !== '<' || !validNameCharacters.test(source[i + 1]))\n ) {\n i++;\n }\n\n return neutral();\n }\n\n function neutral() {\n let text = '';\n let char;\n while (i < length && (char = source[i]) !== '<') {\n text += char;\n i += 1;\n }\n\n if (/\\S/.test(text)) {\n children.push(text);\n }\n\n if (source[i] === '<') {\n return openingTag;\n }\n\n return neutral;\n }\n\n function openingTag() {\n const char = source[i];\n\n if (char === '?') {\n return neutral;\n } // <?xml...\n\n if (char === '!') {\n const start = i + 1;\n if (source.slice(start, i + 3) === '--') {\n return comment;\n }\n const end = i + 8;\n if (source.slice(start, end) === '[CDATA[') {\n return cdata;\n }\n if (/doctype/i.test(source.slice(start, end))) {\n return neutral;\n }\n }\n\n if (char === '/') {\n return closingTag;\n }\n\n const tag = getName();\n const props: { [prop: string]: Styles | string | undefined } = {};\n const element: XmlAST = {\n tag,\n props,\n children: [],\n parent: currentElement,\n Tag: tags[tag] || missingTag,\n };\n\n if (currentElement) {\n children.push(element);\n } else {\n root = element;\n }\n\n getAttributes(props);\n\n const { style } = props;\n if (typeof style === 'string') {\n element.styles = style;\n props.style = getStyle(style);\n }\n\n let selfClosing = false;\n\n if (source[i] === '/') {\n i += 1;\n selfClosing = true;\n }\n\n if (source[i] !== '>') {\n error('Expected >');\n }\n\n if (!selfClosing) {\n currentElement = element;\n ({ children } = element);\n stack.push(element);\n }\n\n return neutral;\n }\n\n function comment() {\n const index = source.indexOf('-->', i);\n if (!~index) {\n error('expected -->');\n }\n\n i = index + 2;\n return neutral;\n }\n\n function cdata() {\n const index = source.indexOf(']]>', i);\n if (!~index) {\n error('expected ]]>');\n }\n\n children.push(source.slice(i + 7, index));\n\n i = index + 2;\n return neutral;\n }\n\n function closingTag() {\n const tag = getName();\n\n if (!tag) {\n error('Expected tag name');\n }\n\n if (currentElement && tag !== currentElement.tag) {\n error(\n `Expected closing tag </${tag}> to match opening tag <${currentElement.tag}>`,\n );\n }\n\n if (source[i] !== '>') {\n error('Expected >');\n }\n\n stack.pop();\n currentElement = stack[stack.length - 1];\n if (currentElement) {\n ({ children } = currentElement);\n }\n\n return neutral;\n }\n\n function getName() {\n let name = '';\n let char;\n while (i < length && validNameCharacters.test((char = source[i]))) {\n name += char;\n i += 1;\n }\n\n return name;\n }\n\n function getAttributes(props: {\n [x: string]: Styles | string | number | boolean | undefined;\n style?: string | Styles | undefined;\n }) {\n while (i < length) {\n if (!whitespace.test(source[i])) {\n return;\n }\n allowSpaces();\n\n const name = getName();\n if (!name) {\n return;\n }\n\n let value: boolean | number | string = true;\n\n allowSpaces();\n if (source[i] === '=') {\n i += 1;\n allowSpaces();\n\n value = getAttributeValue();\n if (!isNaN(+value) && value.trim() !== '') {\n value = +value;\n }\n }\n\n props[camelCase(name)] = value;\n }\n }\n\n function getAttributeValue(): string {\n return quotemarks.test(source[i])\n ? getQuotedAttributeValue()\n : getUnquotedAttributeValue();\n }\n\n function getUnquotedAttributeValue() {\n let value = '';\n do {\n const char = source[i];\n if (char === ' ' || char === '>' || char === '/') {\n return value;\n }\n\n value += char;\n i += 1;\n } while (i < length);\n\n return value;\n }\n\n function getQuotedAttributeValue() {\n const quotemark = source[i++];\n\n let value = '';\n let escaped = false;\n\n while (i < length) {\n const char = source[i++];\n if (char === quotemark && !escaped) {\n return value;\n }\n\n if (char === '\\\\' && !escaped) {\n escaped = true;\n }\n\n value += escaped ? `\\\\${char}` : char;\n escaped = false;\n }\n\n return value;\n }\n\n function allowSpaces() {\n while (i < length && whitespace.test(source[i])) {\n i += 1;\n }\n }\n\n let i = 0;\n while (i < length) {\n if (!state) {\n error('Unexpected character');\n }\n state = state();\n i += 1;\n }\n\n if (state !== neutral) {\n error('Unexpected end of input');\n }\n\n if (root) {\n const xml: XmlAST = (middleware ? middleware(root) : root) || root;\n const ast: (JSX.Element | string)[] = xml.children.map(astToReact);\n const jsx: JsxAST = xml as JsxAST;\n jsx.children = ast;\n return jsx;\n }\n\n return null;\n}\n"]}
\No newline at end of file