{"version":3,"file":"components/Alerts/collapse-module-mixed-chunks.mjs","sources":["../../../src/components/Alerts/collapse-module-mixed-chunks.tsx"],"sourcesContent":["import Icon from '@ant-design/icons';\nimport { Collapse, Space, Tag, Typography } from 'antd';\n\nimport Overview from '../Overall/overview';\nimport styles from './collapse.module.scss';\nimport utilStyles from './index.module.scss';\nimport TotalSizeSvg from '../../common/svg/total-size.svg';\nimport { beautifyPath } from '../../utils/file';\nimport { LabelComponent } from './collapse-shared';\n\nimport type { Rule } from '@rsdoctor/types';\nimport type { AlertProps } from '../Alert/types';\n\nconst { Text } = Typography;\nconst { innerWidth } = window;\n\nexport const ModuleMixedChunksAlertCollapse = (props: {\n  data: Array<Rule.RuleStoreDataItem>;\n  extraData: Omit<AlertProps, 'data'>;\n}) => {\n  const { data, extraData } = props;\n  const { cwd } = extraData;\n\n  const items = data.map((d) => {\n    const { module, initialChunks, asyncChunks } =\n      d as Rule.ModuleMixedChunksRuleStoreData;\n\n    const modulePath = beautifyPath(module.path, cwd);\n\n    const ChildComponent = () => {\n      return (\n        <div className={styles.collapseContainer}>\n          <Overview\n            title={\n              <Space>\n                <Icon style={{ fontSize: '18px' }} component={TotalSizeSvg} />\n                <Text style={{ width: innerWidth > 1500 ? 900 : 700 }}>\n                  Module:{' '}\n                  <Text\n                    type=\"secondary\"\n                    style={{\n                      fontSize: 12,\n                      fontWeight: 300,\n                    }}\n                  >\n                    {modulePath}\n                  </Text>\n                </Text>\n              </Space>\n            }\n            description={\n              <div className={styles.collapseChild}>\n                {initialChunks.length > 0 && (\n                  <div style={{ marginBottom: 16 }}>\n                    <div\n                      style={{\n                        marginBottom: 8,\n                        fontWeight: 500,\n                      }}\n                    >\n                      Initial Chunks:\n                    </div>\n                    {initialChunks.map((chunk) => (\n                      <div\n                        key={chunk.id}\n                        style={{ display: 'flex', marginBottom: 4 }}\n                      >\n                        <div className={styles.attribute}>Chunk</div>\n                        <div className={styles.iconContainer}>\n                          <span className={styles.data}>\n                            {chunk.name || `chunk-${chunk.id}`}\n                          </span>\n                        </div>\n                      </div>\n                    ))}\n                  </div>\n                )}\n                {asyncChunks.length > 0 && (\n                  <div>\n                    <div\n                      style={{\n                        marginBottom: 8,\n                        fontWeight: 500,\n                      }}\n                    >\n                      Async Chunks:\n                    </div>\n                    {asyncChunks.map((chunk) => (\n                      <div\n                        key={chunk.id}\n                        style={{ display: 'flex', marginBottom: 4 }}\n                      >\n                        <div className={styles.attribute}>Chunk</div>\n                        <div className={styles.iconContainer}>\n                          <span className={styles.data}>\n                            {chunk.name ||\n                              `(no chunk name, ChunkId: ${chunk.id})`}\n                          </span>\n                        </div>\n                      </div>\n                    ))}\n                  </div>\n                )}\n              </div>\n            }\n          />\n        </div>\n      );\n    };\n\n    return {\n      key: modulePath,\n      label: (\n        <LabelComponent\n          title={\n            <Tag className={utilStyles.tag}>\n              <span className={styles.pkgName}>{modulePath}</span>\n            </Tag>\n          }\n          description={`is included in both initial and async chunks.`}\n        />\n      ),\n      children: <ChildComponent />,\n    };\n  });\n\n  return (\n    <Collapse\n      style={{ width: '100%' }}\n      defaultActiveKey={items.map((item) => item.key)}\n      items={items}\n    />\n  );\n};\n"],"names":["Text","Typography","innerWidth","window","ModuleMixedChunksAlertCollapse","props","data","extraData","cwd","items","d","module","initialChunks","asyncChunks","modulePath","beautifyPath","ChildComponent","styles","Overview","Space","Icon","TotalSizeSvg","chunk","LabelComponent","Tag","utilStyles","Collapse","item"],"mappings":";;;;;;;;;AAaA,MAAM,EAAEA,MAAAA,IAAI,EAAE,GAAGC;AACjB,MAAM,EAAEC,YAAAA,uCAAU,EAAE,GAAGC;AAEhB,MAAMC,iCAAiC,CAACC;IAI7C,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGF;IAC5B,MAAM,EAAEG,GAAG,EAAE,GAAGD;IAEhB,MAAME,QAAQH,KAAK,GAAG,CAAC,CAACI;QACtB,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAC1CH;QAEF,MAAMI,aAAaC,aAAaJ,OAAO,IAAI,EAAEH;QAE7C,MAAMQ,iBAAiB,IACd,WAAP,GACE,IAAC;gBAAI,WAAWC,gBAAAA,iBAAwB;0BACtC,kBAACC,UAAQA;oBACP,qBACE,KAACC,OAAKA;;0CACJ,IAACC,OAAIA;gCAAC,OAAO;oCAAE,UAAU;gCAAO;gCAAG,WAAWC;;0CAC9C,KAACrB,MAAIA;gCAAC,OAAO;oCAAE,OAAOE,0CAAa,OAAO,MAAM;gCAAI;;oCAAG;oCAC7C;kDACR,IAACF,MAAIA;wCACH,MAAK;wCACL,OAAO;4CACL,UAAU;4CACV,YAAY;wCACd;kDAECc;;;;;;oBAKT,2BACE,KAAC;wBAAI,WAAWG,gBAAAA,aAAoB;;4BACjCL,cAAc,MAAM,GAAG,KAAK,WAAL,GACtB,KAAC;gCAAI,OAAO;oCAAE,cAAc;gCAAG;;kDAC7B,IAAC;wCACC,OAAO;4CACL,cAAc;4CACd,YAAY;wCACd;kDACD;;oCAGAA,cAAc,GAAG,CAAC,CAACU,QAAAA,WAAAA,GAClB,KAAC;4CAEC,OAAO;gDAAE,SAAS;gDAAQ,cAAc;4CAAE;;8DAE1C,IAAC;oDAAI,WAAWL,gBAAAA,SAAgB;8DAAE;;8DAClC,IAAC;oDAAI,WAAWA,gBAAAA,aAAoB;8DAClC,kBAAC;wDAAK,WAAWA,gBAAAA,IAAW;kEACzBK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAEA,MAAM,EAAE,EAAE;;;;2CANjCA,MAAM,EAAE;;;4BAapBT,YAAY,MAAM,GAAG,KAAK,WAAL,GACpB,KAAC;;kDACC,IAAC;wCACC,OAAO;4CACL,cAAc;4CACd,YAAY;wCACd;kDACD;;oCAGAA,YAAY,GAAG,CAAC,CAACS,QAAAA,WAAAA,GAChB,KAAC;4CAEC,OAAO;gDAAE,SAAS;gDAAQ,cAAc;4CAAE;;8DAE1C,IAAC;oDAAI,WAAWL,gBAAAA,SAAgB;8DAAE;;8DAClC,IAAC;oDAAI,WAAWA,gBAAAA,aAAoB;8DAClC,kBAAC;wDAAK,WAAWA,gBAAAA,IAAW;kEACzBK,MAAM,IAAI,IACT,CAAC,yBAAyB,EAAEA,MAAM,EAAE,CAAC,CAAC,CAAC;;;;2CAPxCA,MAAM,EAAE;;;;;;;QAqBjC,OAAO;YACL,KAAKR;YACL,OAAO,WAAP,GACE,IAACS,gBAAcA;gBACb,qBACE,IAACC,KAAGA;oBAAC,WAAWC,aAAAA,GAAc;8BAC5B,kBAAC;wBAAK,WAAWR,gBAAAA,OAAc;kCAAGH;;;gBAGtC,aAAa;;YAGjB,UAAU,WAAV,GAAU,IAACE,gBAAAA,CAAAA;QACb;IACF;IAEA,OAAO,WAAP,GACE,IAACU,UAAQA;QACP,OAAO;YAAE,OAAO;QAAO;QACvB,kBAAkBjB,MAAM,GAAG,CAAC,CAACkB,OAASA,KAAK,GAAG;QAC9C,OAAOlB;;AAGb"}