react-svg
Version:
A React component that injects SVG into the DOM.
1 lines • 17.4 kB
Source Map (JSON)
{"version":3,"file":"react-svg.esm.js","sources":["../compiled/owner-window.js","../compiled/shallow-differs.js","../compiled/ReactSVG.js"],"sourcesContent":["// Hat-tip: https://github.com/mui/material-ui/tree/master/packages/mui-utils/src.\nconst ownerWindow = (node) => {\n const doc = node?.ownerDocument || document;\n return doc.defaultView || window;\n};\nexport default ownerWindow;\n","// Hat-tip: https://github.com/developit/preact-compat/blob/master/src/index.js#L402.\nconst shallowDiffers = (a, b) => {\n for (const i in a) {\n if (!(i in b)) {\n return true;\n }\n }\n for (const i in b) {\n if (a[i] !== b[i]) {\n return true;\n }\n }\n return false;\n};\nexport default shallowDiffers;\n","import { SVGInjector } from '@tanem/svg-injector';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nimport ownerWindow from './owner-window';\nimport shallowDiffers from './shallow-differs';\nconst svgNamespace = 'http://www.w3.org/2000/svg';\nconst xlinkNamespace = 'http://www.w3.org/1999/xlink';\nexport class ReactSVG extends React.Component {\n static defaultProps = {\n afterInjection: () => undefined,\n beforeInjection: () => undefined,\n desc: '',\n evalScripts: 'never',\n fallback: null,\n httpRequestWithCredentials: false,\n loading: null,\n onError: () => undefined,\n renumerateIRIElements: true,\n title: '',\n useRequestCache: true,\n wrapper: 'div',\n };\n static propTypes = {\n afterInjection: PropTypes.func,\n beforeInjection: PropTypes.func,\n desc: PropTypes.string,\n evalScripts: PropTypes.oneOf(['always', 'once', 'never']),\n fallback: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.string,\n ]),\n httpRequestWithCredentials: PropTypes.bool,\n loading: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.string,\n ]),\n onError: PropTypes.func,\n renumerateIRIElements: PropTypes.bool,\n src: PropTypes.string.isRequired,\n title: PropTypes.string,\n useRequestCache: PropTypes.bool,\n wrapper: PropTypes.oneOf(['div', 'span', 'svg']),\n };\n initialState = {\n hasError: false,\n isLoading: true,\n };\n state = this.initialState;\n _isMounted = false;\n reactWrapper;\n nonReactWrapper;\n refCallback = (reactWrapper) => {\n this.reactWrapper = reactWrapper;\n };\n renderSVG() {\n /* istanbul ignore else */\n if (this.reactWrapper instanceof ownerWindow(this.reactWrapper).Node) {\n const { desc, evalScripts, httpRequestWithCredentials, renumerateIRIElements, src, title, useRequestCache, } = this.props;\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n const onError = this.props.onError;\n const beforeInjection = this.props.beforeInjection;\n const afterInjection = this.props.afterInjection;\n const wrapper = this.props.wrapper;\n let nonReactWrapper;\n let nonReactTarget;\n if (wrapper === 'svg') {\n nonReactWrapper = document.createElementNS(svgNamespace, wrapper);\n nonReactWrapper.setAttribute('xmlns', svgNamespace);\n nonReactWrapper.setAttribute('xmlns:xlink', xlinkNamespace);\n nonReactTarget = document.createElementNS(svgNamespace, wrapper);\n }\n else {\n nonReactWrapper = document.createElement(wrapper);\n nonReactTarget = document.createElement(wrapper);\n }\n nonReactWrapper.appendChild(nonReactTarget);\n nonReactTarget.dataset.src = src;\n this.nonReactWrapper = this.reactWrapper.appendChild(nonReactWrapper);\n const handleError = (error) => {\n this.removeSVG();\n if (!this._isMounted) {\n onError(error);\n return;\n }\n this.setState(() => ({\n hasError: true,\n isLoading: false,\n }), () => {\n onError(error);\n });\n };\n const afterEach = (error, svg) => {\n if (error) {\n handleError(error);\n return;\n }\n // TODO (Tane): It'd be better to cleanly unsubscribe from SVGInjector\n // callbacks instead of tracking a property like this.\n if (this._isMounted) {\n this.setState(() => ({\n isLoading: false,\n }), () => {\n try {\n afterInjection(svg);\n }\n catch (afterInjectionError) {\n handleError(afterInjectionError);\n }\n });\n }\n };\n const beforeEach = (svg) => {\n svg.setAttribute('role', 'img');\n if (desc) {\n const originalDesc = svg.querySelector(':scope > desc');\n if (originalDesc) {\n svg.removeChild(originalDesc);\n }\n const newDesc = document.createElement('desc');\n newDesc.innerHTML = desc;\n svg.prepend(newDesc);\n }\n if (title) {\n const originalTitle = svg.querySelector(':scope > title');\n if (originalTitle) {\n svg.removeChild(originalTitle);\n }\n const newTitle = document.createElement('title');\n newTitle.innerHTML = title;\n svg.prepend(newTitle);\n }\n try {\n beforeInjection(svg);\n }\n catch (error) {\n handleError(error);\n }\n };\n SVGInjector(nonReactTarget, {\n afterEach,\n beforeEach,\n cacheRequests: useRequestCache,\n evalScripts,\n httpRequestWithCredentials,\n renumerateIRIElements,\n });\n }\n }\n removeSVG() {\n if (this.nonReactWrapper?.parentNode) {\n this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper);\n this.nonReactWrapper = null;\n }\n }\n componentDidMount() {\n this._isMounted = true;\n this.renderSVG();\n }\n componentDidUpdate(prevProps) {\n if (shallowDiffers({ ...prevProps }, this.props)) {\n this.setState(() => this.initialState, () => {\n this.removeSVG();\n this.renderSVG();\n });\n }\n }\n componentWillUnmount() {\n this._isMounted = false;\n this.removeSVG();\n }\n render() {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const { afterInjection, beforeInjection, desc, evalScripts, fallback: Fallback, httpRequestWithCredentials, loading: Loading, renumerateIRIElements, src, title, useRequestCache, wrapper, ...rest } = this.props;\n /* eslint-enable @typescript-eslint/no-unused-vars */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const Wrapper = wrapper;\n return (React.createElement(Wrapper, { ...rest, ref: this.refCallback, ...(wrapper === 'svg'\n ? {\n xmlns: svgNamespace,\n xmlnsXlink: xlinkNamespace,\n }\n : {}) },\n this.state.isLoading && Loading && React.createElement(Loading, null),\n this.state.hasError && Fallback && React.createElement(Fallback, null)));\n }\n}\n"],"names":["ownerWindow","node","doc","ownerDocument","document","defaultView","window","shallowDiffers","a","b","i","svgNamespace","xlinkNamespace","ReactSVG","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","initialState","hasError","isLoading","state","_isMounted","reactWrapper","nonReactWrapper","refCallback","_inheritsLoose","_proto","prototype","renderSVG","_this2","Node","_this$props","props","desc","evalScripts","httpRequestWithCredentials","renumerateIRIElements","src","title","useRequestCache","onError","beforeInjection","afterInjection","wrapper","nonReactTarget","createElementNS","setAttribute","createElement","appendChild","dataset","handleError","error","removeSVG","setState","afterEach","svg","afterInjectionError","beforeEach","originalDesc","querySelector","removeChild","newDesc","innerHTML","prepend","originalTitle","newTitle","SVGInjector","cacheRequests","_this$nonReactWrapper","parentNode","componentDidMount","componentDidUpdate","prevProps","_this3","_extends","componentWillUnmount","render","_this$props2","Fallback","fallback","Loading","loading","rest","_objectWithoutPropertiesLoose","_excluded","Wrapper","React","ref","xmlns","xmlnsXlink","Component","defaultProps","undefined","propTypes","PropTypes","func","string","oneOf","oneOfType","object","bool","isRequired"],"mappings":"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"}