{"version":3,"sources":["jsdelivr-header.js","/npm/react-native-markdown-renderer-bruhversion@3.2.9/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCFO,OAAS,cAAiB,eAC1B,cAAe,oBACb,SAAY,sBACd,WAAY,sBACZ,eAAgB,+BAChB,gBAAiB,gCACjB,eAAgB,+BAChB,YAAa,4BACb,gBAAiB,gCACjB,gBAAiB,2BACjB,gBAAiB,2BACjB,eAAgB,qBAChB,oBAAqB,sCACrB,gBAAiB,kCACf,WAAc,sBACd,mBAAsB,mCAK7B,WACA,YACA,QACA,WACA,YACA,YACA,OACA,eACA,YACA,WACA,gBACA,YACA,uBAMa,MAAM,iBAAiB,UAIpC,iBAAmB,CACjB,SAAU,UAAU,KAAK,WACzB,SAAU,UAAU,UAAU,CAAC,UAAU,KAAM,UAAU,WAAW,eACpE,MAAO,CAAC,EAAO,EAAU,KACvB,IAAI,EAAe,GACnB,MAAM,EAAO,EAAM,GAEnB,GAAK,EAQL,MAJoB,iBAAT,IACT,EAAe,OAAO,KAAK,GAAM,QAAO,GAA4B,mBAAd,EAAK,MAGzC,iBAAT,EACF,IAAI,MACT,kBAAkB,qBAA4B,oDAEvC,EAAa,OAAS,EACxB,IAAI,MACT,kBAAkB,qBAA4B,+CACR,EAAa,KAAK,iBAHrD,CAKP,EAEF,WAAY,UAAU,WAAW,YACjC,QAAS,UAAU,QAAQ,UAAU,WAAW,kBAChD,MAAO,UAAU,KAMnB,oBAAsB,CACpB,SAAU,KACV,MAAO,KACP,QAAS,GACT,MAAO,KACP,WAAY,WAAW,CACrB,aAAa,KAIjB,KAAO,GACP,SAAW,KACX,eAAiB,KAQjB,qBAAA,CAAsB,EAAW,GAC/B,MAAM,EAAO,KAAK,oBAAoB,EAAU,UAEhD,OAAI,IAAS,KAAK,MAChB,KAAK,KAAO,GACL,GAIP,EAAU,WAAa,KAAK,MAAM,UAClC,EAAU,QAAU,KAAK,MAAM,OAC/B,EAAU,UAAY,KAAK,MAAM,SACjC,EAAU,QAAU,KAAK,MAAM,OAC/B,EAAU,aAAe,KAAK,MAAM,UAMxC,CAMA,cAAA,CAAe,EAAQ,KAAK,OAC1B,MAAM,SAAE,EAAQ,MAAE,EAAK,MAAE,EAAK,QAAE,EAAO,WAAE,GAAe,EAexD,GAbI,GAAY,GACd,QAAQ,KACN,kIAIA,GAAY,GACd,QAAQ,KACN,kIAKA,EACF,GAAwB,mBAAb,EACJ,KAAK,UAAY,KAAK,SAAS,SAAW,IAC7C,KAAK,SAAW,CACd,OAAQ,QAGP,MAAI,aAAoB,aAK7B,MAAM,IAAI,MAAM,mFAJZ,KAAK,WAAa,IACpB,KAAK,SAAW,EAIpB,MAEK,KAAK,WAAY,KAAK,MAAM,UAAY,KAAK,MAAM,QAAU,GAAS,KAAK,MAAM,QAAU,IAC9F,KAAK,SAAW,IAAI,YAClB,IACK,eACC,GAAS,CAAC,GAEhB,IACK,UACA,KAMX,IAAK,KAAK,gBAAkB,KAAK,MAAM,aAAe,GAAc,IAAY,KAAK,MAAM,QAAS,CAClG,IAAI,EAAK,EACL,GAAW,EAAQ,OAAS,GAC9B,EAAQ,SAAQ,IACd,EAAK,EAAG,IAAI,MAAM,EAAI,EAAO,UAAU,IAI3C,KAAK,eAAiB,CACxB,CACF,CAKA,kBAAA,GACE,KAAK,eAAe,KAAK,MAC3B,CAMA,yBAAA,CAA0B,GACxB,KAAK,eAAe,EACtB,CAOA,mBAAA,CAAoB,EAAW,KAAK,MAAM,UACxC,OAAO,aAAoB,MAAQ,EAAS,KAAK,IAAM,CACzD,CAMA,MAAA,GACE,MAAM,EAAQ,KAAK,KAAO,KAAK,sBAC/B,OAAO,OAAO,EAAM,KAAK,SAAS,OAAQ,KAAK,eACjD","file":"/npm/react-native-markdown-renderer-bruhversion@3.2.9/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-native-markdown-renderer-bruhversion@3.2.9/src/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Base Markdown component\n * @author Mient-jan Stelling\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { View } from 'react-native';\nimport parser from './lib/parser';\nimport applyStyle from './lib/util/applyStyle';\nimport getUniqueID from './lib/util/getUniqueID';\nimport hasParents from './lib/util/hasParents';\nimport openUrl from './lib/util/openUrl';\nimport tokensToAST from './lib/util/tokensToAST';\nimport renderRules from './lib/renderRules';\nimport AstRenderer from './lib/AstRenderer';\nimport MarkdownIt from 'markdown-it';\nimport PluginContainer from './lib/plugin/PluginContainer';\nimport blockPlugin from './lib/plugin/blockPlugin';\nimport { styles } from './lib/styles';\nimport { stringToTokens } from './lib/util/stringToTokens';\n/**\n *\n */\nexport {\n  applyStyle,\n  getUniqueID,\n  openUrl,\n  hasParents,\n  renderRules,\n  AstRenderer,\n  parser,\n  stringToTokens,\n  tokensToAST,\n  MarkdownIt,\n  PluginContainer,\n  blockPlugin,\n  styles,\n};\n\n/**\n * react-native-markdown-renderer\n */\nexport default class Markdown extends Component {\n  /**\n   * Definition of the prop types\n   */\n  static propTypes = {\n    children: PropTypes.node.isRequired,\n    renderer: PropTypes.oneOfType([PropTypes.func, PropTypes.instanceOf(AstRenderer)]),\n    rules: (props, propName, componentName) => {\n      let invalidProps = [];\n      const prop = props[propName];\n\n      if (!prop) {\n        return;\n      }\n\n      if (typeof prop === 'object') {\n        invalidProps = Object.keys(prop).filter(key => typeof prop[key] !== 'function');\n      }\n\n      if (typeof prop !== 'object') {\n        return new Error(\n          `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Must be of shape {[index:string]:function} `\n        );\n      } else if (invalidProps.length > 0) {\n        return new Error(\n          `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. These ` +\n            `props are not of type function \\`${invalidProps.join(', ')}\\` `\n        );\n      }\n    },\n    markdownit: PropTypes.instanceOf(MarkdownIt),\n    plugins: PropTypes.arrayOf(PropTypes.instanceOf(PluginContainer)),\n    style: PropTypes.any,\n  };\n\n  /**\n   * Default Props\n   */\n  static defaultProps = {\n    renderer: null,\n    rules: null,\n    plugins: [],\n    style: null,\n    markdownit: MarkdownIt({\n      typographer: true,\n    }),\n  };\n\n  copy = '';\n  renderer = null;\n  markdownParser = null;\n\n  /**\n   * Only when the copy changes will the markdown render again.\n   * @param nextProps\n   * @param nextState\n   * @return {boolean}\n   */\n  shouldComponentUpdate(nextProps, nextState) {\n    const copy = this.getCopyFromChildren(nextProps.children);\n\n    if (copy !== this.copy) {\n      this.copy = copy;\n      return true;\n    }\n\n    if (\n      nextProps.renderer !== this.props.renderer ||\n      nextProps.style !== this.props.style ||\n      nextProps.plugins !== this.props.plugins ||\n      nextProps.rules !== this.props.rules ||\n      nextProps.markdownit !== this.props.markdownit\n    ) {\n      return true;\n    }\n\n    return false;\n  }\n\n  /**\n   *\n   * @param props\n   */\n  updateSettings(props = this.props) {\n    const { renderer, rules, style, plugins, markdownit } = props;\n\n    if (renderer && rules) {\n      console.warn(\n        'react-native-markdown-renderer you are using renderer and rules at the same time. This is not possible, props.rules is ignored'\n      );\n    }\n\n    if (renderer && style) {\n      console.warn(\n        'react-native-markdown-renderer you are using renderer and style at the same time. This is not possible, props.style is ignored'\n      );\n    }\n\n    // these checks are here to prevent extra overhead.\n    if (renderer) {\n      if (typeof renderer === 'function') {\n        if (!this.renderer || this.renderer.render !== renderer) {\n          this.renderer = {\n            render: renderer,\n          };\n        }\n      } else if (renderer instanceof AstRenderer) {\n        if (this.renderer !== renderer) {\n          this.renderer = renderer;\n        }\n      } else {\n        throw new Error('Provided renderer is not compatible with function or AstRenderer. please change');\n      }\n    } else {\n      if (!this.renderer || this.props.renderer || this.props.rules !== rules || this.props.style !== style) {\n        this.renderer = new AstRenderer(\n          {\n            ...renderRules,\n            ...(rules || {}),\n          },\n          {\n            ...styles,\n            ...style,\n          }\n        );\n      }\n    }\n\n    if (!this.markdownParser || this.props.markdownit !== markdownit || plugins !== this.props.plugins) {\n      let md = markdownit;\n      if (plugins && plugins.length > 0) {\n        plugins.forEach(plugin => {\n          md = md.use.apply(md, plugin.toArray());\n        });\n      }\n\n      this.markdownParser = md;\n    }\n  }\n\n  /**\n   *\n   */\n  componentWillMount() {\n    this.updateSettings(this.props);\n  }\n\n  /**\n   *\n   * @param nextProps\n   */\n  componentWillReceiveProps(nextProps) {\n    this.updateSettings(nextProps);\n  }\n\n  /**\n   *\n   * @param children\n   * @return {string}\n   */\n  getCopyFromChildren(children = this.props.children) {\n    return children instanceof Array ? children.join('') : children;\n  }\n\n  /**\n   *\n   * @return {View}\n   */\n  render() {\n    const copy = (this.copy = this.getCopyFromChildren());\n    return parser(copy, this.renderer.render, this.markdownParser);\n  }\n}\n"]}