{"version":3,"file":"pages/WebpackPlugins/index.mjs","sources":["../../../src/pages/WebpackPlugins/index.tsx"],"sourcesContent":["import { ApiOutlined, PartitionOutlined } from '@ant-design/icons';\nimport { SDK } from '@rsdoctor/types';\nimport { Button, Card, Input, Select, Space, Typography } from 'antd';\nimport React, { useState } from 'react';\nimport { WebpackConfigurationViewer } from '../../components/Configuration';\nimport { ServerAPIProvider } from '../../components/Manifest';\nimport { WebpackPluginsDataTable } from '../../components/Plugins/webpack';\nimport { Size } from '../../constants';\nimport './index.scss';\n\nexport const Page: React.FC = () => {\n  const [selectedTapNames, setSelectedTapNames] = useState([]);\n  const [selectedHooks, setSelectedHooks] = useState([]);\n\n  return (\n    <div>\n      <Card\n        title=\"Plugins Overall\"\n        bodyStyle={{ paddingTop: Size.BasePadding / 3 }}\n        extra={<WebpackConfigurationViewer defaultKeys={['plugins']} />}\n      >\n        <Space\n          direction=\"vertical\"\n          style={{ width: '100%', padding: '0 30px' }}\n        >\n          <ServerAPIProvider api={SDK.ServerAPI.API.GetPluginSummary}>\n            {({ hooks, tapNames }) => (\n              <Space style={{ marginBottom: Size.BasePadding / 2 }}>\n                <Input.Group compact>\n                  <Button>\n                    <ApiOutlined />\n                    <Typography.Text>Plugin Tap Names</Typography.Text>\n                  </Button>\n                  <Select\n                    mode=\"multiple\"\n                    allowClear\n                    className=\"plugin-select\"\n                    style={{ width: 300 }}\n                    popupMatchSelectWidth\n                    onChange={(e) => {\n                      setSelectedTapNames(e);\n                    }}\n                  >\n                    {tapNames.map((e) => {\n                      return (\n                        <Select.Option key={e} label={e} value={e}>\n                          {e}\n                        </Select.Option>\n                      );\n                    })}\n                  </Select>\n                </Input.Group>\n                <Input.Group compact>\n                  <Button>\n                    <PartitionOutlined />\n                    <Typography.Text>Hooks</Typography.Text>\n                  </Button>\n                  <Select\n                    mode=\"multiple\"\n                    allowClear\n                    className=\"plugin-select\"\n                    style={{ width: 300 }}\n                    popupMatchSelectWidth\n                    onChange={(e) => {\n                      setSelectedHooks(e);\n                    }}\n                  >\n                    {hooks.map((e) => {\n                      return (\n                        <Select.Option key={e} label={e} value={e}>\n                          {e}\n                        </Select.Option>\n                      );\n                    })}\n                  </Select>\n                </Input.Group>\n              </Space>\n            )}\n          </ServerAPIProvider>\n          <ServerAPIProvider\n            api={SDK.ServerAPI.API.GetPluginData}\n            body={{ hooks: selectedHooks, tapNames: selectedTapNames }}\n          >\n            {(res) => <WebpackPluginsDataTable dataSource={res} />}\n          </ServerAPIProvider>\n        </Space>\n      </Card>\n    </div>\n  );\n};\n\nexport * from './constants';\n"],"names":["Page","selectedTapNames","setSelectedTapNames","useState","selectedHooks","setSelectedHooks","Card","Size","WebpackConfigurationViewer","Space","ServerAPIProvider","SDK","hooks","tapNames","Input","Button","ApiOutlined","Typography","Select","e","PartitionOutlined","res","WebpackPluginsDataTable"],"mappings":";;;;;;;;;;;AAUO,MAAMA,OAAiB;IAC5B,MAAM,CAACC,kBAAkBC,oBAAoB,GAAGC,SAAS,EAAE;IAC3D,MAAM,CAACC,eAAeC,iBAAiB,GAAGF,SAAS,EAAE;IAErD,OAAO,WAAP,GACE,IAAC;kBACC,kBAACG,MAAIA;YACH,OAAM;YACN,WAAW;gBAAE,YAAYC,KAAK,WAAW,GAAG;YAAE;YAC9C,qBAAO,IAACC,4BAA0BA;gBAAC,aAAa;oBAAC;iBAAU;;sBAE3D,mBAACC,OAAKA;gBACJ,WAAU;gBACV,OAAO;oBAAE,OAAO;oBAAQ,SAAS;gBAAS;;kCAE1C,IAACC,mBAAiBA;wBAAC,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,gBAAgB;kCACvD,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAE,iBACnB,KAACJ,OAAKA;gCAAC,OAAO;oCAAE,cAAcF,KAAK,WAAW,GAAG;gCAAE;;kDACjD,KAACO,MAAM,KAAK;wCAAC,SAAO;;0DAClB,KAACC,QAAMA;;kEACL,IAACC,aAAWA,CAAAA;kEACZ,IAACC,WAAW,IAAI;kEAAC;;;;0DAEnB,IAACC,QAAMA;gDACL,MAAK;gDACL,YAAU;gDACV,WAAU;gDACV,OAAO;oDAAE,OAAO;gDAAI;gDACpB,uBAAqB;gDACrB,UAAU,CAACC;oDACTjB,oBAAoBiB;gDACtB;0DAECN,SAAS,GAAG,CAAC,CAACM,IACN,WAAP,GACE,IAACD,OAAO,MAAM;wDAAS,OAAOC;wDAAG,OAAOA;kEACrCA;uDADiBA;;;;kDAO5B,KAACL,MAAM,KAAK;wCAAC,SAAO;;0DAClB,KAACC,QAAMA;;kEACL,IAACK,mBAAiBA,CAAAA;kEAClB,IAACH,WAAW,IAAI;kEAAC;;;;0DAEnB,IAACC,QAAMA;gDACL,MAAK;gDACL,YAAU;gDACV,WAAU;gDACV,OAAO;oDAAE,OAAO;gDAAI;gDACpB,uBAAqB;gDACrB,UAAU,CAACC;oDACTd,iBAAiBc;gDACnB;0DAECP,MAAM,GAAG,CAAC,CAACO,IACH,WAAP,GACE,IAACD,OAAO,MAAM;wDAAS,OAAOC;wDAAG,OAAOA;kEACrCA;uDADiBA;;;;;;;kCAUlC,IAACT,mBAAiBA;wBAChB,KAAKC,IAAI,SAAS,CAAC,GAAG,CAAC,aAAa;wBACpC,MAAM;4BAAE,OAAOP;4BAAe,UAAUH;wBAAiB;kCAExD,CAACoB,MAAAA,WAAAA,GAAQ,IAACC,yBAAuBA;gCAAC,YAAYD;;;;;;;AAM3D"}