{"version":3,"file":"components/Alerts/bundle.mjs","sources":["../../../src/components/Alerts/bundle.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Rule, SDK } from '@rsdoctor/types';\nimport { hasViewModeFromStorage, useViewMode, useI18n } from '../../utils';\nimport { BundleAlert } from './bundle-alert';\nimport { withServerAPI } from '../Manifest';\nimport { ViewMode } from '../../constants';\nimport { PackageRelationReasonsWithServer } from '../Alert/package-relation';\nimport { ConfigProvider } from 'antd';\n\ninterface BundleAlertsProps {\n  filter?(alert: Rule.RuleStoreDataItem): boolean;\n  project: SDK.ServerAPI.InferResponseType<SDK.ServerAPI.API.GetProjectInfo>;\n}\n\nexport const BundleAlertsBase: React.FC<BundleAlertsProps> = ({\n  filter,\n  project,\n}) => {\n  const { errors, root: cwd } = project;\n  const bundleAlerts = errors;\n  const { setBundleAlertsViewMode, viewMode, setViewMode } = useViewMode();\n  const { t } = useI18n();\n\n  const dataSource = filter ? bundleAlerts.filter(filter) : bundleAlerts;\n\n  useEffect(() => {\n    if (!hasViewModeFromStorage()) {\n      setViewMode(\n        {\n          bundleAlerts:\n            bundleAlerts.length >= 5 ? ViewMode.Group : ViewMode.List,\n        },\n        false,\n      );\n    }\n  }, []);\n\n  return (\n    <ConfigProvider\n      theme={{\n        components: {\n          Alert: {\n            colorInfoBg: 'var(--color-accent-subtle)',\n            colorInfoBorder: 'transparent',\n          },\n        },\n        token: {\n          padding: 16,\n        },\n      }}\n    >\n      <BundleAlert\n        title={t('Bundle Alerts')}\n        dataSource={dataSource}\n        extraData={{\n          cwd,\n          getPackageRelationContentComponent: (res) => (\n            <PackageRelationReasonsWithServer\n              body={{ id: res.data.id, target: res.package.target }}\n              cwd={cwd}\n            />\n          ),\n        }}\n        viewMode={viewMode.bundleAlerts}\n        setViewMode={setBundleAlertsViewMode}\n        cwd={cwd}\n      />\n    </ConfigProvider>\n  );\n};\n\nexport const BundleAlerts = withServerAPI({\n  api: SDK.ServerAPI.API.GetProjectInfo,\n  responsePropName: 'project',\n  Component: BundleAlertsBase,\n});\n"],"names":["BundleAlertsBase","filter","project","errors","cwd","bundleAlerts","setBundleAlertsViewMode","viewMode","setViewMode","useViewMode","t","useI18n","dataSource","useEffect","hasViewModeFromStorage","ViewMode","ConfigProvider","BundleAlert","res","PackageRelationReasonsWithServer","BundleAlerts","withServerAPI","SDK"],"mappings":";;;;;;;;;AAcO,MAAMA,mBAAgD,CAAC,EAC5DC,MAAM,EACNC,OAAO,EACR;IACC,MAAM,EAAEC,MAAM,EAAE,MAAMC,GAAG,EAAE,GAAGF;IAC9B,MAAMG,eAAeF;IACrB,MAAM,EAAEG,uBAAuB,EAAEC,QAAQ,EAAEC,WAAW,EAAE,GAAGC;IAC3D,MAAM,EAAEC,CAAC,EAAE,GAAGC;IAEd,MAAMC,aAAaX,SAASI,aAAa,MAAM,CAACJ,UAAUI;IAE1DQ,UAAU;QACR,IAAI,CAACC,0BACHN,YACE;YACE,cACEH,aAAa,MAAM,IAAI,IAAIU,SAAS,KAAK,GAAGA,SAAS,IAAI;QAC7D,GACA;IAGN,GAAG,EAAE;IAEL,OAAO,WAAP,GACE,IAACC,gBAAcA;QACb,OAAO;YACL,YAAY;gBACV,OAAO;oBACL,aAAa;oBACb,iBAAiB;gBACnB;YACF;YACA,OAAO;gBACL,SAAS;YACX;QACF;kBAEA,kBAACC,aAAWA;YACV,OAAOP,EAAE;YACT,YAAYE;YACZ,WAAW;gBACTR;gBACA,oCAAoC,CAACc,MAAAA,WAAAA,GACnC,IAACC,kCAAgCA;wBAC/B,MAAM;4BAAE,IAAID,IAAI,IAAI,CAAC,EAAE;4BAAE,QAAQA,IAAI,OAAO,CAAC,MAAM;wBAAC;wBACpD,KAAKd;;YAGX;YACA,UAAUG,SAAS,YAAY;YAC/B,aAAaD;YACb,KAAKF;;;AAIb;AAEO,MAAMgB,eAAeC,cAAc;IACxC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,cAAc;IACrC,kBAAkB;IAClB,WAAWtB;AACb"}