{"version":3,"file":"ImageWithFallbacks.cjs","names":["_","require","_react","_interopRequireDefault","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ImageWithFallbacks","React","Component","constructor","props","state","src","fallbackIndex","fallbacks","split","loaded","componentDidUpdate","prevProps","setState","onError","onLoad","render","_this$props","alt","loader","loading","rest","_objectWithoutProperties2","jsxs","Fragment","children","jsx","onChange","LoadingIndicator","id","_propTypes","string","isRequired","bool","_default","exports"],"sources":["../../src/Image/ImageWithFallbacks.tsx"],"sourcesContent":["import { LoadingIndicator } from '..';\r\nimport React from 'react';\r\n\r\nexport interface ImageWithFallbacksProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'src' | 'alt' | 'onError' | 'onLoad' | 'onChange'>{\r\n  fallbacks?: string;\r\n  src: string;\r\n  alt?: string;\r\n  loader?: boolean;\r\n}\r\n\r\ntype ImageWithFallbacksState = {\r\n  src: string;\r\n  fallbackIndex: number;\r\n  fallbacks: string[];\r\n  loaded: boolean;\r\n};\r\n\r\nclass ImageWithFallbacks extends React.Component<ImageWithFallbacksProps, ImageWithFallbacksState> {\r\n  constructor(props: ImageWithFallbacksProps) {\r\n    super(props);\r\n    this.state = {\r\n      src: props.src,\r\n      fallbackIndex: 0,\r\n      fallbacks: this.props.fallbacks?.split('|') ?? [],\r\n      loaded: false,\r\n    };\r\n  }\r\n  componentDidUpdate(prevProps: ImageWithFallbacksProps) {\r\n    if (prevProps.src !== this.props.src && prevProps.fallbacks !== this.props.fallbacks) {\r\n      this.setState({\r\n        src: this.props.src,\r\n        fallbackIndex: 0,\r\n        fallbacks: this.props.fallbacks?.split('|') ?? [],\r\n        loaded: false,\r\n      });\r\n    }\r\n  }\r\n  onError() {\r\n    if (this.state.fallbackIndex > this.state.fallbacks.length) {\r\n      return;\r\n    }\r\n    this.setState({\r\n      src: this.state.fallbacks[this.state.fallbackIndex],\r\n      fallbackIndex: this.state.fallbackIndex + 1,\r\n      fallbacks: this.state.fallbacks,\r\n    });\r\n  }\r\n  onLoad() {\r\n    this.setState({ ...this.state, loaded: true });\r\n  }\r\n  render() {\r\n    const {src, alt, fallbacks, loader, loading, ...rest} = this.props;\r\n    return (\r\n      <>\r\n        <img src={this.state.src}\r\n             onError={() => this.onError()}\r\n             onChange={() => this.onLoad()}\r\n             onLoad={() => this.onLoad()}\r\n             alt={this.props.alt}\r\n             {...rest}/>\r\n        {this.props.loader && !this.state.loaded && <LoadingIndicator id=\"imgWithFallbackLoadingIndicator\"></LoadingIndicator>}\r\n      </>\r\n    );\r\n  }\r\n}\r\n\r\nexport default ImageWithFallbacks;\r\n"],"mappings":"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","ignoreList":[]}