react-svg 16.1.34 → 16.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.
@@ -1 +1 @@
1
- {"version":3,"file":"react-svg.cjs.development.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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"}
1
+ {"version":3,"file":"react-svg.cjs.development.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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-svg.cjs.production.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","ownerDocument","document","defaultView","window","shallowDiffers","a","b","i","svgNamespace","xlinkNamespace","ReactSVG","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","initialState","hasError","isLoading","state","_isMounted","reactWrapper","nonReactWrapper","refCallback","_inheritsLoose","_proto","prototype","renderSVG","_this2","Node","nonReactTarget","_this$props","props","desc","evalScripts","httpRequestWithCredentials","renumerateIRIElements","src","title","useRequestCache","onError","beforeInjection","afterInjection","wrapper","createElementNS","setAttribute","createElement","appendChild","dataset","handleError","error","removeSVG","setState","SVGInjector","afterEach","svg","afterInjectionError","beforeEach","originalDesc","querySelector","removeChild","newDesc","innerHTML","prepend","originalTitle","newTitle","cacheRequests","_this$nonReactWrapper","parentNode","componentDidMount","componentDidUpdate","prevProps","_this3","_extends","componentWillUnmount","render","_this$props2","Fallback","fallback","Loading","loading","rest","_objectWithoutPropertiesLoose","_excluded","React","ref","xmlns","xmlnsXlink","Component","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"react-svg.cjs.production.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","ownerDocument","document","defaultView","window","shallowDiffers","a","b","i","svgNamespace","xlinkNamespace","ReactSVG","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","this","concat","initialState","hasError","isLoading","state","_isMounted","reactWrapper","nonReactWrapper","refCallback","_inheritsLoose","_proto","prototype","renderSVG","_this2","Node","nonReactTarget","_this$props","props","desc","evalScripts","httpRequestWithCredentials","renumerateIRIElements","src","title","useRequestCache","onError","beforeInjection","afterInjection","wrapper","createElementNS","setAttribute","createElement","appendChild","dataset","handleError","error","removeSVG","setState","SVGInjector","afterEach","svg","afterInjectionError","beforeEach","originalDesc","querySelector","removeChild","newDesc","innerHTML","prepend","originalTitle","newTitle","cacheRequests","_this$nonReactWrapper","parentNode","componentDidMount","componentDidUpdate","prevProps","_this3","_extends","componentWillUnmount","render","_this$props2","Fallback","fallback","Loading","loading","rest","_objectWithoutPropertiesLoose","_excluded","React","ref","xmlns","xmlnsXlink","Component","defaultProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"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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"}
1
+ {"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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"}