{"version":3,"file":"pages/Resources/BundleDiff/DiffContainer/changes.mjs","sources":["../../../../../src/pages/Resources/BundleDiff/DiffContainer/changes.tsx"],"sourcesContent":["import { DiffOutlined } from '@ant-design/icons';\nimport { Col, Row, Segmented, Typography } from 'antd';\nimport React, { useState } from 'react';\nimport { DiffViewer } from 'src/components/base';\nimport { TextDrawer } from '../../../../components/TextDrawer';\nimport { Size } from '../../../../constants';\n\ninterface ViewChangesContentProps {\n  file: string;\n  data: {\n    baseline?: string | void;\n    current: string | void;\n    baselineTitle?: string;\n    currentTitle?: string;\n    group: string;\n  }[];\n}\n\nconst ViewChangesContent: React.FC<ViewChangesContentProps> = ({\n  file,\n  data,\n}) => {\n  const [group, setGroup] = useState(data[0].group);\n\n  const match = data.find((e) => e.group === group);\n\n  return (\n    <Row\n      wrap\n      gutter={[Size.BasePadding, Size.BasePadding]}\n      style={{ height: '100%', alignContent: 'flex-start' }}\n    >\n      {data.length > 1 ? (\n        <Col span={24}>\n          <Segmented\n            value={group}\n            options={data.map((e) => e.group)}\n            onChange={(e) => setGroup(e as string)}\n          />\n        </Col>\n      ) : null}\n      {match ? (\n        <React.Fragment key={group}>\n          <Col span={24}>\n            <Typography.Text strong>\n              {match.baselineTitle || 'Baseline'} ⟷{' '}\n              {match.currentTitle || 'Current'}\n            </Typography.Text>\n          </Col>\n          <Col span={24}>\n            <DiffViewer\n              originalFilePath={file}\n              modifiedFilePath={file}\n              original={match.baseline || ''}\n              modified={match.current || ''}\n            />\n          </Col>\n        </React.Fragment>\n      ) : null}\n    </Row>\n  );\n};\n\nexport const ViewChanges: React.FC<\n  ViewChangesContentProps & { text?: string }\n> = ({ text = 'View Changes', ...props }) => {\n  return (\n    <TextDrawer\n      text={text}\n      buttonProps={{\n        size: 'small',\n        icon: <DiffOutlined />,\n      }}\n      drawerProps={{\n        destroyOnClose: true,\n        title: `Content diff for \"${props.file}\"`,\n      }}\n    >\n      <ViewChangesContent {...props} />\n    </TextDrawer>\n  );\n};\n"],"names":["ViewChangesContent","file","data","group","setGroup","useState","match","e","Row","Size","Col","Segmented","React","Typography","DiffViewer","ViewChanges","text","props","TextDrawer","DiffOutlined"],"mappings":";;;;;;;AAkBA,MAAMA,qBAAwD,CAAC,EAC7DC,IAAI,EACJC,IAAI,EACL;IACC,MAAM,CAACC,OAAOC,SAAS,GAAGC,SAASH,IAAI,CAAC,EAAE,CAAC,KAAK;IAEhD,MAAMI,QAAQJ,KAAK,IAAI,CAAC,CAACK,IAAMA,EAAE,KAAK,KAAKJ;IAE3C,OAAO,WAAP,GACE,KAACK,KAAGA;QACF,MAAI;QACJ,QAAQ;YAACC,KAAK,WAAW;YAAEA,KAAK,WAAW;SAAC;QAC5C,OAAO;YAAE,QAAQ;YAAQ,cAAc;QAAa;;YAEnDP,KAAK,MAAM,GAAG,IAAI,WAAJ,GACb,IAACQ,KAAGA;gBAAC,MAAM;0BACT,kBAACC,WAASA;oBACR,OAAOR;oBACP,SAASD,KAAK,GAAG,CAAC,CAACK,IAAMA,EAAE,KAAK;oBAChC,UAAU,CAACA,IAAMH,SAASG;;iBAG5B;YACHD,QAAQ,WAARA,GACC,KAACM,MAAAA,QAAc;;kCACb,IAACF,KAAGA;wBAAC,MAAM;kCACT,mBAACG,WAAW,IAAI;4BAAC,QAAM;;gCACpBP,MAAM,aAAa,IAAI;gCAAW;gCAAG;gCACrCA,MAAM,YAAY,IAAI;;;;kCAG3B,IAACI,KAAGA;wBAAC,MAAM;kCACT,kBAACI,YAAUA;4BACT,kBAAkBb;4BAClB,kBAAkBA;4BAClB,UAAUK,MAAM,QAAQ,IAAI;4BAC5B,UAAUA,MAAM,OAAO,IAAI;;;;eAZZH,SAgBnB;;;AAGV;AAEO,MAAMY,cAET,CAAC,EAAEC,OAAO,cAAc,EAAE,GAAGC,OAAO,GAC/B,WAAP,GACE,IAACC,YAAUA;QACT,MAAMF;QACN,aAAa;YACX,MAAM;YACN,MAAM,WAAN,GAAM,IAACG,cAAYA,CAAAA;QACrB;QACA,aAAa;YACX,gBAAgB;YAChB,OAAO,CAAC,kBAAkB,EAAEF,MAAM,IAAI,CAAC,CAAC,CAAC;QAC3C;kBAEA,kBAACjB,oBAAkBA;YAAE,GAAGiB,KAAK"}