{"version":3,"file":"JSONFormatter.mjs","sources":["../../../../src/components/JSONFormatter/JSONFormatter.tsx"],"sourcesContent":["import { PureComponent, createRef } from 'react';\n\nimport { JsonExplorer, JsonExplorerConfig } from './json_explorer/json_explorer'; // We have made some monkey-patching of json-formatter-js so we can't switch right now\n\ninterface Props {\n  className?: string;\n  json: {};\n  config?: JsonExplorerConfig;\n  open?: number;\n  onDidRender?: (formattedJson: {}) => void;\n}\n\nexport class JSONFormatter extends PureComponent<Props> {\n  private wrapperRef = createRef<HTMLDivElement>();\n\n  static defaultProps = {\n    open: 3,\n    config: {\n      animateOpen: true,\n    },\n  };\n\n  componentDidMount() {\n    this.renderJson();\n  }\n\n  componentDidUpdate() {\n    this.renderJson();\n  }\n\n  renderJson = () => {\n    const { json, config, open, onDidRender } = this.props;\n    const wrapperEl = this.wrapperRef.current;\n    const formatter = new JsonExplorer(json, open, config);\n    // @ts-ignore\n    const hasChildren: boolean = wrapperEl.hasChildNodes();\n    if (hasChildren) {\n      // @ts-ignore\n      wrapperEl.replaceChild(formatter.render(), wrapperEl.lastChild);\n    } else {\n      // @ts-ignore\n      wrapperEl.appendChild(formatter.render());\n    }\n\n    if (onDidRender) {\n      onDidRender(formatter.json);\n    }\n  };\n\n  render() {\n    const { className } = this.props;\n    return <div className={className} ref={this.wrapperRef} />;\n  }\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,sBAAsB,aAAqB,CAAA;AAAA,EAAjD,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA;AACL,IAAA,IAAA,CAAQ,aAAa,SAA0B,EAAA;AAiB/C,IAAA,IAAA,CAAA,UAAA,GAAa,MAAM;AACjB,MAAA,MAAM,EAAE,IAAM,EAAA,MAAA,EAAQ,IAAM,EAAA,WAAA,KAAgB,IAAK,CAAA,KAAA;AACjD,MAAM,MAAA,SAAA,GAAY,KAAK,UAAW,CAAA,OAAA;AAClC,MAAA,MAAM,SAAY,GAAA,IAAI,YAAa,CAAA,IAAA,EAAM,MAAM,MAAM,CAAA;AAErD,MAAM,MAAA,WAAA,GAAuB,UAAU,aAAc,EAAA;AACrD,MAAA,IAAI,WAAa,EAAA;AAEf,QAAA,SAAA,CAAU,YAAa,CAAA,SAAA,CAAU,MAAO,EAAA,EAAG,UAAU,SAAS,CAAA;AAAA,OACzD,MAAA;AAEL,QAAU,SAAA,CAAA,WAAA,CAAY,SAAU,CAAA,MAAA,EAAQ,CAAA;AAAA;AAG1C,MAAA,IAAI,WAAa,EAAA;AACf,QAAA,WAAA,CAAY,UAAU,IAAI,CAAA;AAAA;AAC5B,KACF;AAAA;AAAA,EAzBA,iBAAoB,GAAA;AAClB,IAAA,IAAA,CAAK,UAAW,EAAA;AAAA;AAClB,EAEA,kBAAqB,GAAA;AACnB,IAAA,IAAA,CAAK,UAAW,EAAA;AAAA;AAClB,EAqBA,MAAS,GAAA;AACP,IAAM,MAAA,EAAE,SAAU,EAAA,GAAI,IAAK,CAAA,KAAA;AAC3B,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAI,SAAsB,EAAA,GAAA,EAAK,KAAK,UAAY,EAAA,CAAA;AAAA;AAE5D;AAzCa,aAAA,CAGJ,YAAe,GAAA;AAAA,EACpB,IAAM,EAAA,CAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,WAAa,EAAA;AAAA;AAEjB,CAAA;;;;"}